Instrument Control (INSTR) Resource
This section contains information that applies to both Windows and Linux.
This topic describes the Instrument Control (INSTR) Resource that is provided to encapsulate the various operations of a device (reading, writing, triggering, etc.). It contains the following sections:
- INSTR Resource Overview
- INSTR Resource Attributes and the corresponding INSTR Resource Attribute Descriptions
- INSTR Resource Operations
Related to this topic, see the Instrument Control (INSTR) Resource Events topic in the Using Events and Handlers book in this help file.
INSTR Resource Overview
The Instrument Control (INSTR) Resource, like any other resource, defines the basic operations and attributes of the VISA Resource Template. For example, modifying the state of an attribute is done via the operation viSetAttribute, which is defined in the VISA Resource Template.
Although the INSTR resource does not have viSetAttribute listed in its operations, it provides the operation because it is defined in the VISA Resource Template. From this basic set, each resource adds its specific operations and attributes that allow it to perform its dedicated task, such as sending a string to a message-based device.
The INSTR Resource lets a controller interact with the device associated with this resource, by providing the controller with services to send blocks of data to the device, request blocks of data from the device, send the device clear command to the device, trigger the device, and find information about the device's status. In addition, it allows the controller to access registers on devices that reside on memory-mapped buses.
INSTR Resource Attributes
ASRL Specific INSTR Resource Attributes
Attribute Name |
Attribute Value |
Access |
Privilege |
Type |
Range |
Default |
---|---|---|---|---|---|---|
0x3FFF00ACUL |
RO |
Global |
ViUInt32 |
0 to FFFFFFFFh |
0 |
|
0x3FFF0021UL |
RW |
Global |
ViUInt32 |
0 to FFFFFFFFh |
9600 |
|
0x3FFF00AEUL |
RO |
Global |
ViUInt16 |
VI_STATE_ASSERTED |
N/A |
|
0x3FFF0022UL |
RW |
Global |
ViUInt16 |
5 to 8 |
8 |
|
0x3FFF00AFUL |
RO |
Global |
ViUInt16 |
VI_STATE_ASSERTED |
N/A |
|
0x3FFF00B1UL |
RO |
Global |
ViUInt16 |
VI_STATE_ASSERTED |
N/A |
|
0x3FFF00B2UL |
RW |
Global |
ViUInt16 |
VI_STATE_ASSERTED |
N/A |
|
0x3FFF00B3UL |
RW |
Local |
ViUInt16 |
VI_ASRL_END_NONE |
VI_ASRL_END_TERMCHAR |
|
0x3FFF00B4UL |
RW |
Local |
ViUInt16 |
VI_ASRL_END_NONE |
VI_ASRL_END_NONE |
|
0x3FFF0025UL |
RW |
Global |
ViUInt16 |
VI_ASRL_FLOW_NONE |
VI_ASRL_FLOW_NONE |
|
0x3FFF0023UL |
RW |
Global |
ViUInt16 |
VI_ASRL_PAR_NONE |
VI_ASRL_PAR_NONE |
|
0x3FFF00BEUL |
RW |
Local |
ViUInt8 |
0 to FFh |
0 |
|
0x3FFF00BFUL |
RO |
Global |
ViUInt16 |
VI_STATE_ASSERTED |
N/A |
|
0x3FFF00C0UL |
RW |
Global |
ViUInt16 |
VI_STATE_ASSERTED |
N/A |
|
0x3FFF0024UL |
RW |
Global |
ViUInt16 |
VI_ASRL_STOP_ONEVI_ASRL_STOP_TWO |
VI_ASRL_STOP_ONE |
|
0x3FFF00C2UL |
RW |
Local |
ViUInt8 |
0 to FFh |
<Ctrl+S>(13h) |
|
0x3FFF00C1UL |
RW |
Local |
ViUInt8 |
0 to FFh |
<Ctrl+Q>(11h) |
Generic INSTR Resource Attributes
Attribute Name |
Attribute Value |
Access |
Privilege |
Type |
Range |
Default |
---|---|---|---|---|---|---|
0x3FFF001EUL |
RW |
Local |
ViBoolean |
VI_TRUE |
VI_TRUE |
|
0xBFFF00E9UL |
RO |
Global |
ViString |
N/A |
N/A |
|
0x3FFF0176UL |
RO |
Global |
ViUInt16 |
0 to FFFFh |
0 |
|
0x3FFF0171UL |
RO |
Global |
ViUInt16 |
VI_INTF_VXI |
N/A
|
|
0x3FFF001AUL |
R/W |
Local |
ViUInt32 |
VI_TMO_IMMEDIATE |
2000 msec |
|
0x3FFF0177UL |
R/W* |
Local |
ViInt16 |
VI_TRIG_SW |
VI_TRIG_SW |
*The attribute VI_ATTR_TRIG_ID is RW (readable and writable) when the corresponding session is not enabled to receive trigger events. When the session is enabled to receive trigger events, the attribute VI_ATTR_TRIG_ID is RO (read only).
GPIB and GPIB-VXI Specific INSTR Resource Attributes
Attribute Name |
Attribute Value |
Access |
Privilege |
Type |
Range |
Default |
---|---|---|---|---|---|---|
VI_ATTR_GPIB_PRIMARY_ADDR |
0x3FFF0172UL |
RO |
Global |
ViUInt16 |
0 to 30 |
N/A |
VI_ATTR_GPIB_READDR_EN |
0x3FFF001BUL |
R/W |
Local |
ViBoolean |
VI_TRUE |
VI_TRUE |
VI_ATTR_GPIB_REN_STATE |
0x3FFF0181UL |
RO |
Global |
ViInt16 |
VI_STATE_ASSERTED |
N/A |
VI_ATTR_GPIB_SECONDARY_ADDR |
0x3FFF0173UL |
RO |
Global |
ViUInt16 |
0 to 31 |
N/A |
VI_ATTR_GPIB_UNADDR_EN |
0x3FFF0184UL |
R/W |
Local |
ViBoolean |
VI_TRUE |
VI_FALSE |
GPIB-VXI Specific INSTR Resource Attribute
This section contains information specific to the Windows product.
Attribute Name |
Attribute Value |
Access |
Privilege |
Type |
Range |
Default |
---|---|---|---|---|---|---|
0x3FFF0101UL |
RO |
Global |
ViUInt16 |
0 to FFFFh |
VI_ATTR_INTF_PARENT_NUM |
HiSLIP Specific INSTR Resource Attributes
Attribute Name |
Attribute Value |
Access |
Privilege |
Type |
Range |
Default |
---|---|---|---|---|---|---|
0x3FFF0300UL |
R/W |
Local |
ViBoolean |
VI_TRUE, VI_FALSE |
Preference returned by device |
|
0x3FFF0301UL |
RO |
Local |
ViVersion |
N/A |
N/A |
|
0x3FFF0302UL |
R/W |
Local |
ViUInt32 |
0h -0 FFFFFFFFh |
1024 |
|
0x3FFF0304UL |
R/W |
Local |
ViBoolean |
VI_TRUE, VI_FALSE |
VI_FALSE |
Message-Based INSTR Resource Attributes
Attribute Name |
Attribute Value |
Access |
Privilege |
Type |
Range |
Default |
---|---|---|---|---|---|---|
0x3FFF0192UL |
RW |
Local |
ViBoolean |
VI_TRUE |
VI_False |
|
0x3FFF001CUL |
R/W |
Local |
ViUInt16 |
VI_PROT_NORMAL |
For most devices: For ASRL devices: |
|
0x3FFF002AUL |
R/W |
Local |
ViUInt16 |
VI_FLUSH_ON_ACCESS |
VI_FLUSH_DISABLE |
|
0x3FFF002BUL |
RO |
Local |
ViUInt32 |
N/A |
N/A |
|
0x3FFF0016UL |
R/W |
Local |
ViBoolean |
VI_TRUE |
VI_TRUE |
|
0x3FFF0036UL |
R/W |
Local |
ViBoolean |
VI_TRUE |
VI_TRUE
|
|
0x3FFF0018UL |
R/W |
Local |
ViUInt8 |
0 to FFh |
0ah (newline) |
|
0x3FFF0038UL |
R/W |
Local |
ViBoolean |
VI_TRUE |
VI_FALSE |
|
0x3FFF002DUL |
R/W |
Local |
ViUInt16 |
VI_FLUSH_ON_ACCESS |
VI_FLUSH_WHEN_FULL |
|
0x3FFF002EUL |
RO |
Local |
ViUInt32 |
N/A |
N/A |
PXI Specific INSTR Resource Attributes
This section contains information specific to the Windows product.
TCPIP Specific INSTR Resource Attributes
USB Specific INSTR Resource Attributes
Attribute Name |
Attribute Value |
Access |
Privilege |
Data Type |
Range |
Default |
---|---|---|---|---|---|---|
0x3FFF01A1UL |
RO |
Global |
ViInt16 |
0 to 254 |
0 |
|
0x3FFF01AFUL |
RW |
Local |
ViUInt16 |
0 to FFFFh |
N/A |
|
0x3FFF01A7UL |
RO |
Global |
ViInt16 |
0 to 255 |
N/A |
|
0xBFFF01A0UL |
RO |
Global |
ViString |
N/A |
N/A |
VXI and GPIB-VXI Specific INSTR Resource Attributes
This section contains information specific to the Windows product.
Attribute Name |
Attribute Value |
Access |
Privilege |
Data Type |
Range |
Default |
|
---|---|---|---|---|---|---|---|
0x3FFF006BUL |
RO |
Global |
ViInt16 |
0 to 255; |
N/A |
||
0x3FFF0039UL |
RW |
Local |
ViUInt16 |
VI_DATA_NPRIV |
VI_DATA_PRIV |
||
0x3FFF003AUL |
RW |
Local |
ViUInt16 |
VI_BIG_ENDIAN |
VI_BIG_ENDIAN |
||
0x3FFF000DUL |
RW |
Local |
ViUInt16 |
0 to 7 |
N/A |
||
0x3FFF0011UL |
RW |
Local |
ViBoolean |
VI_TRUE |
VI_FALSE |
||
0x3FFF000FUL |
RW |
Local |
ViUInt16 |
VI_FDC_NORMAL VI_FDC_STREAM |
VI_FDC_NORMAL |
||
0x3FFF0013UL |
RW |
Local |
ViBoolean |
VI_TRUE |
VI_FALSE |
||
0x3FFF0100UL |
RO |
Global |
ViBoolean |
VI_TRUE |
N/A |
||
0x3FFF0070UL |
RO |
Global |
ViInt16 |
0 to 255; |
N/A |
||
0x3FFF00ADUL |
RO |
Global |
ViBusAddress |
N/A |
N/A |
||
0x3FFF00D0UL |
RO |
Global |
ViBusAddress64 |
N/A |
N/A |
||
0x3FFF00DDUL |
RO |
Global |
ViBusSize |
N/A |
N/A |
||
0x3FFF00D1UL |
RO |
Global |
ViBusSize64 |
N/A |
N/A |
||
0x3FFF00DEUL |
RO |
Global |
ViUInt16 |
VI_A16_SPACE |
VI_A16_SPACE |
||
0x3FFF003CUL |
RW |
Local |
ViUInt16 |
VI_DATA_NPRIV |
VI_DATA_PRIV |
||
0x3FFF003DUL |
RW |
Local |
ViUInt16 |
VI_BIG_ENDIAN |
VI_BIG_ENDIAN |
||
0x3FFF006CUL |
RO |
Global |
ViUInt16 |
VI_VXI_CLASS_MEMORY |
N/A |
||
0x3FFF00D5UL |
RO |
Global |
ViInt16 |
0 to 511 |
N/A |
||
0x3FFF0194UL |
RO |
Global |
ViUInt32 |
N/A |
N/A |
||
0x3FFF0045UL |
RW* |
Local |
ViUInt16 |
VI_DATA_NPRIV |
VI_DATA_PRIV |
||
0x3FFF0047UL |
RW* |
Local |
ViUInt16 |
VI_BIG_ENDIAN |
VI_BIG_ENDIAN |
*For VISA 2.2, the attributes VI_ATTR_WIN_BYTE_ORDER and VI_ATTR_WIN_ACCESS_PRIV are R/W (readable and writeable) when the corresponding session is not mapped (VI_ATTR_WIN_ACCESS == VI_NMAPPED). When the session is mapped, these attributes are RO (read only).
VXI and GPIB-VXI and PXI Specific INSTR Resource Attributes
This section contains information specific to the Windows product.
Attribute Name |
Attribute Value |
Access |
Privilege |
Data Type |
Range |
Default |
---|---|---|---|---|---|---|
0x3FFF0041UL |
RW |
Local |
ViInt32 |
0 to 1 |
1 |
|
0x3FFF00E8UL |
RO |
Global |
ViInt16 |
0 to 18; |
N/A |
|
0x3FFF0040UL |
RW |
Local |
ViInt32 |
0 to 1 |
1 |
|
0x3FFF00C3UL |
RO |
Local |
ViUInt16 |
VI_NMAPPED |
VI_NMAPPED |
|
0x3FFF0098UL |
RO |
Local |
ViBusAddress |
N/A |
N/A |
|
0x3FFF009BUL |
RO |
Local |
ViBusAddress64 |
N/A |
N/A |
|
0x3FFF009AUL |
RO |
Local |
ViBusSize |
N/A |
N/A |
|
0x3FFF009CUL |
RO |
Local |
ViBusSize64 |
N/A |
N/A |
VXI and GPIB-VXI and USB Specific INSTR Resource Attributes
Attribute Name |
Attribute Value |
Access Privilege |
Data Type |
Range |
Default |
||
---|---|---|---|---|---|---|---|
0x3FFF019FUL |
RO |
Global |
ViBoolean |
VI_TRUE, VI_FALSE |
N/A |
VXI and GPIB-VXI and USB and PXI Specific INSTR Resource Attributes
Attribute Name |
Attribute Name |
Access Privilege |
Data Type |
Range |
Default |
|
---|---|---|---|---|---|---|
0x3FFF00D9UL |
RO |
Global |
ViUInt16 |
0 to FFFFh |
N/A | |
0xBFFF0072UL |
RO |
Global |
ViString |
N/A |
N/A | |
0x3FFF00DFUL |
RO |
Global |
ViUInt16 |
0 to FFFFh |
0 | |
0xBFFF0077UL |
RO |
Global |
ViString |
N/A |
N/A |
INSTR Resource Attribute Descriptions
These descriptions apply to the above attributes. If a section or attribute was marked Windows-only above, that classification will apply to these descriptions as well.
Attribute Name |
Description |
|
---|---|---|
ASRL Specific INSTR Resource Attributes |
||
VI_ATTR_ASRL_AVAIL_NUM |
This attribute shows the number of bytes available in the global receive buffer. |
|
VI_ATTR_ASRL_BAUD |
This is the baud rate of the interface. It is represented as an unsigned 32-bit integer so that any baud rate can be used, but it usually requires a commonly used rate such as 300, 1200, 2400, or 9600 baud. |
|
VI_ATTR_ASRL_CTS_STATE |
This attribute shows the current state of the Clear To Send (CTS) input signal. |
|
VI_ATTR_ASRL_DATA_BITS |
This is the number of data bits contained in each frame (from 5 to 8). The data bits for each frame are located in the low-order bits of every byte stored in memory. |
|
VI_ATTR_ASRL_DCD_STATE |
This attribute shows the current state of the Data Carrier Detect (DCD) input signal. The DCD signal is often used by modems to indicate the detection of a carrier (remote modem) on the telephone line. The DCD signal is also known as "Receive Line Signal Detect (RLSD)." |
|
VI_ATTR_ASRL_DSR_STATE |
This attribute shows the current state of the Data Set Ready (DSR) input signal. |
|
VI_ATTR_ASRL_DTR_STATE |
This attribute is used to manually assert or unassert the Data Terminal Ready (DTR) output signal. |
|
VI_ATTR_ASRL_END_IN |
This attribute indicates the method used to terminate read operations. If it is set to VI_ASRL_END_NONE, the read will not terminate until all of the requested data is received (or an error occurs). If it is set to VI_ASRL_END_TERMCHAR, the read will terminate as soon as the character in VI_ATTR_TERMCHAR is received. If it is set to VI_ASRL_END_LAST_BIT, the read will terminate as soon as a character arrives with its last bit set. For example, if VI_ATTR_ASRL_DATA_BITS is set to 8, then the read will terminate when a character arrives with the 8th bit set. |
|
VI_ATTR_ASRL_END_OUT |
This attribute indicates the method used to terminate write operations. If it is set to VI_ASRL_END_NONE, the write will not append anything to the data being written. If it is set to VI_ASRL_END_BREAK, the write will transmit a break after all the characters for the write have been sent. If it is set to VI_ASRL_END_LAST_BIT, the write will send all but the last character with the last bit clear, then transmit the last character with the last bit set. For example, if VI_ATTR_ASRL_DATA_BITS is set to 8, the write will clear the 8th bit for all but the last character, then transmit the last character with the 8th bit set. If it is set to VI_ASRL_END_TERMCHAR, the write will send the character in VI_ATTR_TERMCHAR after the data being transmitted. |
|
VI_ATTR_ASRL_FLOW_CNTRL |
If this attribute is set to VI_ATTR_ASRL_FLOW_NONE, the transfer mechanism does not use flow control, and buffers on both sides of the connection are assumed to be large enough to hold all data transferred. If this attribute is set to VI_ATTR_ASRL_FLOW_XON_XOFF, the transfer mechanism uses the XON and XOFF characters to perform flow control. The transfer mechanism controls input flow by sending XOFF when the receive buffer is nearly full, and it controls the output flow by suspending transmission when XOFF is received. If this attribute is set to VI_ATTR_ASRL_FLOW_RTS_CTS, the transfer mechanism uses the RTS output signal and the CTS input signal to perform flow control. The transfer mechanism controls input flow by unasserting the RTS signal when the receive buffer is nearly full, and it controls output flow by suspending the transmission when the CTS signal is unasserted. If this attribute is set to VI_ASRL_FLOW_DTR_DSR, the transfer mechanism uses the DTR output signal and the DSR input signal to perform flow control. The transfer mechanism controls input flow by unasserting the DTR signal when the receive buffer is nearly full, and it controls output flow by suspending the transmission when the DSR signal is unasserted. This attribute can specify multiple flow control mechanisms by bit-ORing multiple values together. However, certain combinations may not be supported by all serial ports and/or operating systems. See ASRL Flow Control Combinations for details. |
|
VI_ATTR_ASRL_PARITY |
This is the parity used with every frame transmitted and received. VI_ASRL_PAR_MARK means that the parity bit exists and is always 1. VI_ASRL_PAR_SPACE means that the parity bit exists and is always 0. |
|
VI_ATTR_ASRL_REPLACE_CHAR |
This attribute specifies the character to be used to replace incoming characters that arrive with errors (such as parity error.) |
|
VI_ATTR_ASRL_RI_STATE |
This attribute shows the current state of the Ring Indicator (RI) input signal. The RI signal is often used by modems to indicate that the telephone line is ringing. |
|
VI_ATTR_ASRL_RTS_STATE |
This attribute is used to manually assert or unassert the Request To Send (RTS) output signal. When the VI_ATTR_ASRL_FLOW_CNTRL attribute is set to VI_ASRL_FLOW_RTS_CTS, this attribute is ignored when changed, but can be read to determine whether the background flow control is asserting or unasserting the signal. |
|
VI_ATTR_ASRL_STOP_BITS |
This is the number of stop bits used to indicate the end of a frame. The value VI_ASRL_STOP_ONE5 indicates one-and-one-half (1.5) stop bits. |
|
VI_ATTR_ASRL_XOFF_CHAR |
This attribute specifies the value of the XOFF character used for XON/XOFF flow control (both directions). If XON/XOFF flow control (software handshaking) is not being used, the value of this attribute is ignored. |
|
VI_ATTR_ASRL_XON_CHAR |
This attribute specifies the value of the XON character used for XON/XOFF flow control (both directions). If XON/XOFF flow control (software handshaking) is not being used, the value of this attribute is ignored. |
|
Generic INSTR Resource Attributes |
||
VI_ATTR_DMA_ALLOW_EN |
This attribute specifies whether I/O accesses should
use DMA (VI_TRUE) |
|
VI_ATTR_INTF_INST_NAME |
Human-readable text describing the given interface. |
|
VI_ATTR_INTF_NUM |
Board number for the given interface. |
|
VI_ATTR_INTF_TYPE |
Interface type of the given session. |
|
VI_ATTR_TMO_VALUE |
Minimum timeout value to use, in milliseconds. A timeout value of VI_TMO_IMMEDIATE means that operations should never wait for the device to respond. A timeout value of VI_TMO_INFINITE disables the timeout mechanism. |
|
VI_ATTR_TRIG_ID |
Identifier for the current triggering mechanism. |
|
GPIB and GPIB-VXI Specific INSTR Resource Attributes |
||
VI_ATTR_GPIB_PRIMARY_ADDR |
Primary address of the GPIB device used by the given session. |
|
VI_ATTR_GPIB_READDR_EN |
This attribute specifies whether to use repeat addressing before each read or write operation. |
|
VI_ATTR_GPIB_REN_STATE |
This attribute returns the current state of the GPIB REN interface line. |
|
VI_ATTR_GPIB_SECONDARY_ADDR |
Secondary address of the GPIB device used by the given session. |
|
VI_ATTR_GPIB_UNADDR_EN |
This attribute specifies whether to unaddress the device (UNT and UNL) after each read or write operation. |
|
GPIB-VXI Specific INSTR Resource Attribute |
||
VI_ATTR_INTF_PARENT_NUM |
Board number of the GPIB board to which the GPIB-VXI is attached. |
|
HiSLIP Specific INSTR Resource Attributes |
||
VI_ATTR_TCPIP_HISLIP_OVERLAP_EN |
This enables HiSLIP overlap mode and its value defaults to the mode suggested by the instrument on HiSLIP connection. If enabled, the connection uses overlap mode to allow overlapped responses. If disabled, the connection uses synchronous mode to detect and recover from interrupted errors. If changed, VISA will do a Device Clear operation to change the mode. |
|
VI_ATTR_TCPIP_HISLIP_VERSION |
This is the HiSLIP protocol version used for a particular HiSLIP connection. For example, HiSLIP version 1.0 returns a ViVersion value of 0x00100000. |
|
VI_ATTR_TCPIP_HISLIP_MAX_MESSAGE_KB |
This is the maximum HiSLIP message size VISA will accept from a HiSLIP system in units of kilobytes (1024 bytes). Defaults to 1024 (a 1 MB maximum message size). |
|
VI_ATTR_TCPIP_HISLIP_ENCRYPTION_EN |
This is used to control and indicate if the communication is encrypted. True indicates communication is currently encrypted, false unencrypted. If encryption is not enabled and the attribute is set to true, encryption is turned on. If encryption is enabled and the attribute is set to false, encryption is turned off. If the connection does not support encryption, the attribute will always be false. |
|
Message-Based INSTR Resource Attributes |
|
|
VI_ATTR_FILE_APPEND_EN |
This attribute specifies whether viReadToFile will overwrite (truncate) or append when opening a file. |
|
VI_ATTR_IO_PROT |
Specifies which protocol to use. In VXI systems, for
example, you can choose between normal word serial or fast data channel
(FDC). |
|
VI_ATTR_RD_BUF_OPER_MODE |
Determines the operational mode of the read buffer. When the operational mode is set to VI_FLUSH_DISABLE (default), the buffer is flushed only on explicit calls to viFlush. If the operational mode is set to VI_FLUSH_ON_ACCESS, the buffer is flushed every time a viScanf operation completes. |
|
VI_ATTR_RD_BUF_SIZE |
This attribute specifies the size of the formatted I/O read buffer. The user can modify this value by calling viSetBuf. |
|
VI_ATTR_SEND_END_EN |
Whether to assert END during the transfer of the last byte of the buffer. |
|
VI_ATTR_SUPPRESS_END_EN |
Whether to suppress the END indicator termination. If this attribute is set to VI_TRUE, the END indicator does not terminate read operations. If this attribute is set to VI_FALSE, the END indicator terminates read operations. |
|
VI_ATTR_TERMCHAR |
Termination character. When the termination character is read and VI_ATTR_TERMCHAR_EN is enabled during a read operation, the read operation terminates. |
|
VI_ATTR_TERMCHAR_EN |
Flag that determines whether the read operation should terminate when a termination character is received. |
|
VI_ATTR_WR_BUF_OPER_MODE |
Determines the operational mode of the write buffer. When the operational mode is set to VI_FLUSH_WHEN_FULL (default), the buffer is flushed when an END indicator is written to the buffer or when the buffer fills up. If the operational mode is set to VI_FLUSH_ON_ACCESS, the write buffer is flushed under the same conditions, and also every time a viPrintf operation completes. |
|
VI_ATTR_WR_BUF_SIZE |
This attribute specifies the size of the formatted I/O write buffer. The user can modify this value by calling viSetBuf. |
|
PXI Specific INSTR Resource Attributes |
||
VI_ATTR_PXI_ACTUAL_LWIDTH |
Specifies the negotiated link width that this device is using. |
|
VI_ATTR_PXI_ALLOW_WRITE_COMBINE |
Specifies whether the implementation should attempt to combine bus write transfers into a larger transfer before bursting over the PCI bus. |
|
VI_ATTR_PXI_BUS_NUM |
PCI bus number of this device. |
|
VI_ATTR_PXI_CHASSIS |
Chassis number in which this device is located. |
|
VI_ATTR_PXI_DEV_NUM |
PCI device number of this device. |
|
VI_ATTR_PXI_DSTAR_BUS |
Number of the DSTAR bus connected to this device in the chassis. |
|
VI_ATTR_PXI_DSTAR_SET |
Specifies the set of PXI_DSTAR lines connected to this device. |
|
VI_ATTR_PXI_FUNC_NUM |
PCI function number of the device. All devices have a function 0. Multifunction devices will also support other function numbers. |
|
VI_ATTR_PXI_IS_EXPRESS |
Specifies whether this device is PXI Express. |
|
VI_ATTR_PXI_MAX_LWIDTH |
Specifies the maximum link width that this device can use. |
|
VI_ATTR_PXI_MEM_BASE_BARn |
Memory base address assigned to the specified BAR for this device. |
|
VI_ATTR_PXI_MEM_SIZE_BARn |
Size of the memory assigned to the specified BAR for this device. |
|
VI_ATTR_PXI_MEM_TYPE_BARn |
Memory type (memory mapped or I/O mapped) used by the device in the specified BAR. |
|
VI_ATTR_PXI_SLOT_LBUS_LEFT |
Slot number or special feature connected to the local bus left lines of this device. |
|
VI_ATTR_PXI_SLOT_LBUS_RIGHT |
Slot number or special feature connected to the local bus right lines of this device. |
|
VI_ATTR_PXI_SLOT_LWIDTH |
Specifies the link width used by the slot in which this device is located. |
|
VI_ATTR_PXI_SLOT_OFFSET | The number of slots a module occupies adjacent to the slot where the device connects to the PXI backplane. The value for non-PXI Express devices is always 0. | |
VI_ATTR_PXI_SLOT_WIDTH | The number of slots the device occupies. The value for non-PXI Express devices is always 1. | |
VI_ATTR_PXI_SLOTPATH |
Slot path of this device. PXI slot paths are a sequence of values representing the PCI device number and function number of a PCI module and each parent PCI bridge that routes the module to the host PCI bridge. The string format of the attribute value is device1[.function1][,device2[.function2]][,...]. |
|
VI_ATTR_PXI_STAR_TRIG_BUS |
Number of the star trigger bus connected to this device in the chassis. |
|
VI_ATTR_PXI_STAR_TRIG_LINE |
PXI_STAR line connected to this device. |
|
VI_ATTR_PXI_TRIG_BUS |
Number of the trigger bus connected to this device in the chassis. |
|
TCPIP-Specific INSTR Resource Attributes |
||
VI_ATTR_TCPIP_ADDR |
This is the TCPIP address of the device to which the session is connected. This string is formatted in dot-notation. |
|
VI_ATTR_TCPIP_DEVICE_NAME |
This specifies the LAN device name used by the VXI-11 protocol during connection. |
|
VI_ATTR_TCPIP_HOSTNAME |
This specifies the host name of the device. If no host name is available, this attribute returns an empty string. |
|
VI_ATTR_TCPIP_IS_HISLIP |
This specifies whether this resource uses the HiSLIP protocol. |
|
VI_ATTR_TCPIP_SASL_MECHANISM |
Returns a string that indicates the SASL mechanism used to authenticate the client. The string is as defined by IANA in: https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml. |
|
VI_ATTR_TCPIP_SERVER_CERT | It is the full text of the server certificate in the RFC 5652 PEM format. | |
VI_ATTR_TCPIP_SERVER_CERT_EXPIRATION_DATE |
The expiration date of the server certificate. The form is ASN.1 UTCTime “YYMMDDhhmm[ss]Z”. |
|
VI_ATTR_TCPIP_SERVER_CERT_IS_PERPETUAL |
Indicates the certificate does not expire. Note that this may indicate that the certificate is from an IDevID. |
|
VI_ATTR_TCPIP_SERVER_CERT_SIZE | It is the buffer size required to hold the full text of the server certificate in RFC 5652 PEM format. | |
VI_ATTR_TCPIP_SERVER_CERT_SUBJECT_NAME |
The subject field from the certificate. That is, the entity associated with the public key in the certificate. |
|
VI_ATTR_TCPIP_SERVER_CERT_ISSUER_NAME |
The name of the CA that signed the certificate . For an LDevId, this will indicate the name of the PKI CA. |
|
VI_ATTR_TCPIP_TLS_CIPHER_SUITE |
Returns a string that indicates the cipher suite used by TLS, which tells the user something about the security of the connection. For details, refer to https://www.iana.org/assignments/tls-parameters/tls-parameters.xml. For example, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384. |
|
USB Specific INSTR Resource Attributes |
||
VI_ATTR_USB_INTFC_NUM |
Specifies the USB interface number of this device to which this session is connected. |
|
VI_ATTR_USB_MAX_INTR_SIZE |
Specifies the maximum number of bytes that this USB device will send on the interrupt IN pipe. The default value is the same as the maximum packet size of the interrupt IN pipe. |
|
VI_ATTR_USB_PROTOCOL |
Specifies the USB protocol number. |
|
VI_ATTR_USB_SERIAL_NUM |
This string attribute is the serial number of the USB instrument. The value of this attribute should be used for display purposes only and not for programmatic decisions. |
|
VXI and GPIB-VXI Specific INSTR Resource Attributes |
||
VI_ATTR_CMDR_LA |
Logical address of the commander of the VXI device used by the given session. |
|
VI_ATTR_DEST_ACCESS_ |
This attribute specifies the address modifier to be used in high-level access operations, such as viOutXX and viMoveOutXX, when writing to the destination. |
|
VI_ATTR_DEST_BYTE_ORDER |
This attribute specifies the byte order to be used in high-level access operations, such as viOutXX and viMoveOutXX, when writing to the destination |
|
VI_ATTR_FDC_CHNL |
This attribute determines which FDC channel will be used to transfer the buffer. |
|
VI_ATTR_FDC_GEN_SIGNAL_EN |
Setting this attribute to VI_TRUE lets the servant send a signal when control of the FDC channel is passed back to the commander. This action frees the commander from having to poll the FDC header while engaging in an FDC transfer. |
|
VI_ATTR_FDC_MODE |
This attribute determines which FDC mode to use (Normal mode or Stream mode). |
|
VI_ATTR_FDC_USE_PAIR |
If set to VI_TRUE, a channel pair will be used for transferring data. Otherwise, only one channel will be used. |
|
VI_ATTR_IMMEDIATE_SERV |
Specifies whether the given device is an immediate servant of the controller running VISA. |
|
VI_ATTR_MAINFRAME_LA |
This is the logical address of a given device in the mainframe, usually the device with the lowest logical address. Other possible values include the logical address of the Slot 0 controller or of the parent-side extender. Often, these are all the same value. The purpose of this attribute is to provide a unique ID for each mainframe. A VISA manufacturer can choose any of these values, but must be consistent across mainframes. If this value is not known, the attribute value returned is VI_UNKNOWN_LA. |
|
VI_ATTR_MEM_BASE_32 |
Base address of the device in VXIbus memory address space. This base address is applicable to A24 or A32 address space. |
|
VI_ATTR_MEM_SIZE_32 |
Size of memory requested by the device in VXIbus address space. |
|
VI_ATTR_MEM_SPACE |
VXIbus address space used by the device. The four types are A16 only, A16/A24, A16/A32, or or A16/A64 memory address space. |
|
VI_ATTR_SRC_ACCESS_PRIV |
This attribute specifies the address modifier to be used in high-level access operations, such as viInXX and viMoveInXX, when reading from the source. |
|
VI_ATTR_SRC_BYTE_ORDER |
This attribute specifies the byte order to be used in high-level access operations, such as viInXX and viMoveInXX, when reading from the source. |
|
VI_ATTR_VXI_DEV_CLASS |
This attribute represents the VXI-defined device class
to which
VME devices are usually either register based or belong to a miscellaneous class (VI_VXI_CLASS_OTHER) |
|
VI_ATTR_VXI_LA |
Logical address of the VXI or VME device used by the given session. For a VME device, the logical address is actually a pseudo-address in the range 256 to 511. |
|
VI_ATTR_VXI_TRIG_SUPPORT |
This attribute shows which VXI trigger lines this implementation supports. This is a bit vector with bits 0-9 corresponding to VI_TRIG_TTL0 through VI_TRIG_ECL1. |
|
VI_ATTR_WIN_ACCESS_PRIV |
This attribute specifies the address modifier to be used in low-level access operations, such as viMapAddress, viPeekXX and viPokeXX, when accessing the mapped window. |
|
VI_ATTR_WIN_BYTE_ORDER |
This attribute specifies the byte order to be used in low-level access operations, such as viMapAddress, viPeekXX and viPokeXX, when accessing the mapped window. |
|
VXI and GPIB-VXI and PXI Specific INSTR Resource Attributes |
||
VI_ATTR_DEST_INCREMENT |
This is used in the viMoveOutXX operation to specify how much the destination offset is to be incremented after every transfer. The default value of this attribute is 1 (that is, the destination address will be incremented by 1 after each transfer, and the viMoveOutXX operation moves into consecutive elements. If this attribute is set to 0, the viMoveOutXX operation will always write to the same element, essentially treating the destination as a FIFO register. |
|
VI_ATTR_SLOT |
Physical slot location of the device. If the slot number is not known, VI_UNKNOWN_SLOT is returned. |
|
VI_ATTR_SRC_INCREMENT |
This is used in the viMoveInXX operation to specify how much the source offset is to be incremented after every transfer. The default value of this attribute is 1 (that is, the source address will be incremented by 1 after each transfer), and the viMoveInXX operation moves from consecutive elements. If this attribute is set to 0, the viMoveInXX operation will always read from the same element, essentially treating the source as a FIFO register. |
|
VI_ATTR_WIN_ACCESS |
Modes in which the current window may be accessed: not currently mapped, through operations viPeekXX and viPokeXX only, or through operations and/or by directly dereferencing the address parameter as a pointer. |
|
VI_ATTR_WIN_BASE_ADDR_32 |
Base address of the interface bus to which this window is mapped. |
|
VI_ATTR_WIN_SIZE_32 |
Size of the region mapped to this window. |
|
VXI, GPIB-VXI, and USB Specific INSTR Resource Attributes |
||
VI_ATTR_4882_COMPLIANT |
Specifies whether the device is 488.2 compliant. |
|
VXI and GPIB-VXI and USB and PXI Specific INSTR Resource Attributes |
||
VI_ATTR_MANF_ID |
Manufacturer identification number of the device. For PXI, if Subsystem ID and Subsystem Vendor ID are defined for the device, this attribute value is the Subsystem Vendor ID. If Subsystem ID and Subsystem Vendor ID are not defined for the device, this attribute value is the PCI Vendor ID. |
|
VI_ATTR_MANF_NAME |
This string attribute is the manufacturer’s name. The value of this attribute should be used for display purposes only and not for programmatic decisions, as the value can be different between VISA implementations and/or revisions. |
|
VI_ATTR_MODEL_CODE |
Model code for the device. For PXI, If Subsystem ID and Subsystem Vendor ID are defined for the device, then this attribute value is the Subsystem ID. If Subsystem ID and Subsystem Vendor ID are not defined for the device, this attribute value is the PCI Device ID. |
|
VI_ATTR_MODEL_NAME |
This string attribute is the model name of the device. The value of this attribute should be used for display purposes only and not for programmatic decisions, as the value can be different between VISA implementations and/or revisions. |
INSTR Resource Operations
viAssertTrigger (vi, protocol)
viBufRead (vi, buf, count, retCount)
viBufWrite (vi, buf, count, retCount)
viIn8 (vi, space, offset, val8)
viIn16 (vi, space, offset, val16)
viIn32 (vi, space, offset, val32)
viIn64 (vi, space, offset, val64)
viMapAddress (vi, mapSpace, mapBase, mapSize, access, suggested, address)
viMapAddressEx (vi, mapSpace, mapBase64, mapSize, access, suggested, address)
viMemAllocEx (vi, size, offset64)
viMove (vi, srcSpace, srcOffset, srcWidth, destSpace, destOffset, destWidth, length)
viMoveEx (vi, srcSpace, srcOffset64, srcWidth, destSpace, destOffset64, destWidth, length)
viMoveAsync (vi, srcSpace, srcOffset, srcWidth, destSpace, destOffset, destWidth, length, jobId)
viMoveAsyncEx (vi, srcSpace, srcOffset64, srcWidth, destSpace, destOffset64, destWidth, length, jobId)
viMoveIn8 (vi, space, offset, length, buf8)
viMoveIn16 (vi, space, offset, length, buf16)
viMoveIn32 (vi, space, offset, length, buf32)
viMoveIn64 (vi, space, offset, length, buf64)
viMoveIn8Ex(vi, space, offset64, length, buf8)
viMoveIn16Ex(vi, space, offset64, length, buf16)
viMoveIn32Ex(vi, space, offset64, length, buf32)
viMoveIn64Ex(vi, space, offset64, length, buf64)
viMoveOut8 (vi, space, offset, length, buf8)
viMoveOut16 (vi, space, offset, length, buf16)
viMoveOut32 (vi, space, offset, length, buf32)
viMoveOut64 (vi, space, offset, length, buf64)
viMoveOut8Ex(vi, space, offset64, length, buf8)
viMoveOut16Ex(vi, space, offset64, length, buf16)
viMoveOut32Ex(vi, space, offset64, length, buf32)
viMoveOut64Ex(vi, space, offset64, length, buf64)
viOut8 (vi, space, offset, val8)
viOut16 (vi, space, offset, val16)
viOut32 (vi, space, offset, val32)
viOut64 (vi, space, offset, val64)
viPrintf (vi, writeFmt, arg1, arg2, ...)
viQueryf (vi, writeFmt, readFmt, arg1, arg2, ...)
viRead (vi, buf, count, retCount)
viReadAsync (vi, buf, count, jobId)
viReadToFile (vi, fileName, count, retCount)
viScanf (vi, readFmt, arg1, arg2, ...)
viSPrintf (vi, buf, writeFmt, arg1, arg2, ...)
viSScanf (vi, buf, readFmt, arg1, arg2, ...)
viUsbControlIn(vi, bmRequestType, bRequest, wValue, wIndex, wLength, buf, retCnt)
viUsbControlOut(vi, bmRequestType, bRequest, wValue, wIndex, wLength, buf)
viVPrintf (vi, writeFmt, params)
viVQueryf (vi, writeFmt, readFmt, params)
viVScanf (vi, readFmt, params)
viVSPrintf (vi, buf, writeFmt, params)
viVSScanf (vi, buf, readFmt, params)
viVxiCommandQuery (vi, mode, cmd, response)
viWrite (vi, buf, count, retCount)
viWriteAsync (vi, buf, count, jobId)
viWriteFromFile (vi, fileName, count, retCount)