Discovery Interferes with Running Programs
Problem:
When you are using Connection Expert to discover and identify GPIB instruments over a local area network (LAN), other programs that use devices on the same subnet are perturbed.
Probable Cause:
Connection Expert can discover and identify instruments that are connected to your LAN local subnet, either directly or via a remote I/O server or a gateway (such as the E5810 LAN/GPIB Gateway). When instruments are connected to a server or gateway via GPIB connection, Connection Expert must address them to listen in order to discover them.
If other test programs are using these same GPIB instruments – either across the LAN, or on the remote I/O server PC – and if these programs are written with the assumption that the instruments' addressing state will not be perturbed by outside influences – then Connection Expert's discovery feature can cause these programs to behave erroneously.
For example, suppose that a SICL test program addresses a particular device "A" to listen, then assumes there is only one listener (the addressed device) and proceeds to talk to that device. In the meantime, Connection Expert has momentarily addressed a different device "B" to listen, as part of its discovery algorithm. The traffic intended for device "A" may go to device "B" instead, causing the test program to become confused.
Suggested Steps:
- When your test instruments are connected to a network (directly, or indirectly via remote I/O servers and gateways), it is best to program as if others on the network may address your instruments at arbitrary times. You can use the exclusive locking features built into VISA and SICL to accomplish this security.
- Place your instruments behind a network address translation (NAT) router, or on a private subnet utilizing a separate LAN card in your PC. This will make your LAN devices invisible and inaccessible to other machines on your local area network.
More Information:
This problem is more likely to arise if the test program in question is written with SICL. Typical VISA programs use functions, such as viRead and viWrite, that address the appropriate devices to talk and listen, then perform the write or read automatically. SICL programs are more likely to leave devices in the listening state in between calls. However, if your VISA program employs GPIB INTFC sessions, it may encounter similar difficulties.
In all cases, it is best to employ resource locking if programs are to use shared devices.