Tektronix Technical Forums are maintained by community involvement. Feel free to post questions or respond to questions by other members. Should you require a time-sensitive answer, please contact your local Tektronix support center here.
I would like to get a clear recommendation of LabView design pattern for simultaneous control of multiple instruments over VISA (GPIB) ensuring safe PC-instrument communication without any conflicts.
In my particular case I have a following instrument setup:
SMU 2636A + KUSB-488B controller
Scanner 707B + KUSB-488B controller
After getting at least a bit familiar with TSP scripting and message based control of both instruments individually, I am now facing the need for setting up both their HW synchronization (TSP-link) and SW synchronization (LabView). The fundamental issue is how to communicate with both instrument over VISA GPIB in parallel. I have started with the most straightforward way in Labview: simply create two completely independent *IDN? queries to both instruments in one VI (each instrument with it's own GPIB controller separately addressed by VISA resource, see the - below).
The individual query chains work well with each instrument, when run separately. But in parallel within one VI, only one branch is completed reading the instrument identification string, while the other branch doesn't work at all (the MAV bit determined by VISA STB query stays 0 all the time, the VI ends with the VISA Read timeout occured in the malfunctioning branch).
I haven't found any clear communication pattern for this (I think pretty standard) multiple instrument control task at NI forum. Therefore I kindly ask for the recommendation from KEI engineers. By all means, I would prefer any generally reliable solution at the VISA level of abstraction without diving into low-level GPIB commands.
Thank you for any help.
'real' parallel operation of two GPIB instruments is possible by addressing both as listeners and sending the same (!) command
to both units.
This is of no help for different instruments. Programming will be interleaved, e.g. sending a command to one unit first and
to the second unit later.
(But ... you may want to use a group execute trigger for synchronization in the manner stated in the first sentence - but I am not sure
if VISA supports this.)
- Keithley Applications
- Posts: 1287
- Joined: October 15th, 2010, 10:35 am
- Country: United States
I have a comment/questions:
Is the 707B switch used in conjunction with the 2636A for the same application?
Why is it necessary to have two GPIB controllers?
If the 707B switch is being used to connect the SMU to different DUT, then you need coordinated use of the two instruments rather than simultaneous and independent use.
If it is coordinated use, the availability of the TSP-Link on each of these instruments gives you both communication and handshaking.
You'd be able to have a single GPIB controller. Connect to just one of the instruments. And over TSP-Link you could communicate with whichever one is configured to be the subordinate node.
Check out the User Manual for the 707B. There are some examples for use of the TSP-Link to coordinate the use of a SMU with the switch.
If that approach seems viable, you can still use VISA IO to send the TSP commands to the each instrument.
thank you for replies.
I have spent some more hours trying to correctly set up the communication and I finally get it work both with single GPIB-USB + GPIB cable between instrument and also with two separate GPIB-USB controllers. The bad thing is that I was unable to exactly define the source of trouble. I think it helped to adjust the setting in NI MAX / My system / IVI Drivers / Driver sessions, where I changed the Resource Descriptor under Hardware Assets. I have also added VISA Open function in the program sequence for both VISA resources. As I am quite new in instrument control, I am still not fully confident about all the abstract layers of instrument drivers. I am also quite dissatisfied with all the incompatibilites between components from different vendors, eg. NI MAX does not recognize KUSB-GPIB controller at all.
I would really appreciate if you could recommend me some technical note from Keithley with complete description of proper VISA-GPIB setting in order to facilitate correct software control of Keihtley TSP instruments (i.e. the complete instructions from driver installation, HW connection, neccessary SW settings etc) using up-to-date tools (both Keithley and NI).
Two GPIB controllers are not functionally neccessary, but practically are more convenient in our setup taking into account spatial arrangement of instruments and neccessary cable routing.
I am familiar with reference manuals of both TSP instruments. 707B and 2636A are intended to work together in one application (classic switch-meas loop task). I am aware of the optimal operation orchestrated by autonomous TSP scripts running in the instrument runtime engine with direct HW synchronization (using TSP-link triggering). But at this moment I need to learn and test the particular scripting concepts step-by-step, therefore I prefer direct access to both instruments from LabView. Besides that, I still need to read the output buffer of 2636A from LabView after specific script sequences in order to process and save the data.
As I said, I am new in this field, so I learn both LabView, TSP scripting and all the instrument control issues in parallel.
Who is online
Users browsing this forum: No registered users and 1 guest