viVxiCommandQuery

NI-VISA

viVxiCommandQuery

Purpose

Sends the device a miscellaneous command or query and/or retrieves the response to a previous query.

C Syntax

ViStatus viVxiCommandQuery(ViSession vi, ViUInt16 mode, ViUInt32 cmd, ViPUInt32 response)

Visual Basic Syntax

viVxiCommandQuery&(ByVal vi&, ByVal mode%, ByVal cmd&, response&)

Resource Classes

GPIB-VXI INSTR, VXI INSTR

Parameters

Name Direction Description

vi

IN

Unique logical identifier to a session.

mode

IN

Specifies whether to issue a command and/or retrieve a response. Refer to the Description section for actual values.

cmd

IN

The miscellaneous command to send.

response

OUT

The response retrieved from the device. If the mode specifies to send a command rather than retrieve a response, you can use VI_NULL for this parameter.

Return Values

Completion Codes Description

VI_SUCCESS

The operation completed successfully.

 

Error Codes Description

VI_ERROR_INV_OBJECT

The given session reference is invalid.

VI_ERROR_NSUP_OPER

The given vi does not support this operation.

VI_ERROR_RSRC_LOCKED

Specified operation could not be performed because the resource identified by vi has been locked for this kind of access.

VI_ERROR_TMO

Timeout expired before operation completed.

VI_ERROR_RAW_WR_PROT_VIOL

Violation of raw write protocol occurred during transfer.

VI_ERROR_RAW_RD_PROT_VIOL

Violation of raw read protocol occurred during transfer.

VI_ERROR_OUTP_PROT_VIOL

Device reported an output protocol error during transfer.

VI_ERROR_INP_PROT_VIOL

Device reported an input protocol error during transfer.

VI_ERROR_BERR

Bus error occurred during transfer.

VI_ERROR_RESP_PENDING

A previous response is still pending, causing a multiple query error.

VI_ERROR_INV_MODE

The value specified by the mode parameter is invalid.

Description

The viVxiCommandQuery() operation can send a command or query, or receive a response to a query previously sent to the device. The mode parameter specifies whether to issue a command and/or retrieve a response, and indicates the type or size of command and/or response to use. The following table defines the values for the mode parameter.

Mode Action Description

VI_VXI_CMD16

Send 16-bit Word Serial command.

VI_VXI_CMD16_RESP16

Send 16-bit Word Serial query; get 16-bit response.

VI_VXI_RESP16

Get 16-bit response from previous query.

VI_VXI_CMD32

Send 32-bit Word Serial command.

VI_VXI_CMD32_RESP16

Send 32-bit Word Serial query; get 16-bit response.

VI_VXI_CMD32_RESP32

Send 32-bit Word Serial query; get 32-bit response.

VI_VXI_RESP32

Get 32-bit response from previous query.

Notice that the mode you specify can cause all or part of the cmd or response parameters to be ignored.

  • If mode specifies sending a 16-bit command, the upper half of cmd is ignored.
  • If mode specifies retrieving a response only, cmd is ignored.
  • If mode specifies sending a command only, response is ignored. You can use VI_NULL for the value of response.
  • If mode specifies to retrieve a 16-bit value, the upper half of response is set to 0.

Refer to the VXI Specification for defined Word Serial commands.

Related Topics

INSTR Resource