Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

VISA USB viGpibControlREN() with VI_GPIB_REN_ASSERT_LLO

I am wondering if the NI-VISA 3.6 implementation of viGpibControlREN() on USB::INSTR resources is correct or not.  As my test operation, viGpibControlREN( vi, VI_GPIB_REN_ASSERT_LLO) call on USB:INSTR (USBTMC-USB488 class device) generates the following two class requests on the USB trafic:
 
A1 A0 01 00 00 00 01 00
(REN_CONTROL request, commanding Assert REN)

A1 A2 00 00 00 00 01 00
(LOCAL_LOCKOUT request)
 
The VISA 3.0 spec Table 6.5.1 says VI_GPIB_REN_ASSERT_LLO with the description, "Send LLO to any devices that are addressed to listen."   The operation symbol name VI_GPIB_REN_ASSERT_LLO includes "ASSERT" therefore seems like it should assert the virtual REN line too.  However, the action description says "Send LLO..." and does not say about asserting REN line. 
 
In this case, which of the followings is correct?
1) NI-VISA 3.6 implementation (VI_GPIB_REN_ASSERT_LLO asserts REN and sends LLO) is right, and Table 6.5.1 description is insufficient.
2) Table 6.5.1 description (Send LLO to any devices that are addressed to listen) is right, and NI-VISA 3.6 implementation is not right.
 
Thanks and best regards,
Makoto Kondo, KIKUSUI
 
0 Kudos
Message 1 of 3
(3,538 Views)
Don't confuse listen-address with REN line.

I would look at the implementation of NI-VISA for GPIB, but I would assume that it asserts REN and then sends the LLO command byte across the bus.If it does not, there could be an indication of a difference between GPIB and USB, but I would say that sending REN does not violate the ""Send LLO to any devices that are addressed to listen." since the listen-address of the device has not been sent (i.e., via a device-dependent message or trigger).
0 Kudos
Message 2 of 3
(3,524 Views)

Thanks for the reply.  I now confirmed that the NI-VISA GPIB implementation with GPIB-USB-B also did the same --  Assert REN line then send an LLO byte.  For operational consistency, it looks like correct that the VI_GPIB_REN_ASSERT_LLO operation on USBTMC sends REN_CONTROL request (asseting virtual REN line) then sends LOCAL_LOCKOUT request.

 

0 Kudos
Message 3 of 3
(3,519 Views)