VISA control of oscilloscope
s.r.chinn
Configuration: PC with WindowsXP, IP6.04; IP set to 128.181.240.131
subnet 255.255.248.0
Scope - TEK TDS 3054B; IP set to 128.181.240.130
subnet 255.255.248.0
peer-to-peer LAN connection with cross-over CAT5 Ethernet cable. No other internet, switch, or router connections.
Using the DOS command window, I can successfully ping the scope (send and receive test packets).
When I try the Igor example experiment to test the VISA XOP, the scope is not recognized.
I would appreciate any ideas on how to proceed.
September 15, 2008 at 03:50 pm - Permalink
NI VISA did support TCP/IP.
And of course you need to get the resourceName string right.
September 16, 2008 at 08:18 pm - Permalink
I believe Howard's comment about TCP/IP is no longer valid. Tek provides an "OpenChoice" application that gives a GUI to control the scope through a LAN connection, using TekVISA ( and NI VISA, they claim). I have just successfully tried this with TekVISA; OpenChoice provides a search option that comes up with two addresses (using the LAN cross-over connection):
TCPIP::128.121.240.130::gpib0,1::INSTR
TCPIP::128.121.240.130::INSTR
Both addresses seem to work, and waveform data transfer using their application is remarkably easy.
I was under the impression that the Igor demo pxp had a function that was supposed to discover connected instruments. In view of the findings above, are there reasons this should not work?
Stephen R. Chinn
September 22, 2008 at 06:02 am - Permalink
The "test()" function also works, after using the string resourcename = "TCPIP::128.181.240.130::INSTR"
The rest of the functions still generate errors. My guess is that this relates to the constants defined in VISA.ipf. Either some need to be added to refer to the proper TCPIP instrument resource, or I need to edit the existing calls in the demo functions.
Any suggestions?
Stephen R. Chinn
September 22, 2008 at 08:06 am - Permalink
There are data formatting issues that may differ from scope to scope. I pass on the following general observations:
(1) Use binary waveform data transfer. ASCII is unacceptably slow.
(2) I used TekVISA, which comes with a nice utility called OpenChoice Call Monitor for background recording of all VISA calls and data transfers. Tek claims that NI VISA should also work (but perhaps with a limited set of functions).
(3) Igor Tech Note #19 about GPIB is useful in understanding the Igor VISA programming structure, with the GPIB functions getting replaced with VISA functions, or their closest equivalent.
My code is presently not user friendly, but I would be happy to provide more details to those interested (stephen.r.chinn@us.army.mil).
Stephen R. Chinn
September 26, 2008 at 05:21 am - Permalink