LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW: VISA Open

Hi all!

I am writing VXI devices simulation software, so users could test their LabVIEW applications without using real devices. I am in very early stage. At the moment I am trying to establish what happens when VISA Open is executed by LabVIEW. In my imagination was that it tryes to connect to some port, but I cannot establish which one. Or maybe I am wrong?


When I try "TCPIP::addr::port::SOCKET" I got error of "Insufficient location information or the device or resource is not present in the system". Is it possible that raw TCPIP socket may not be installed? (addr is address of another computer I am using and I monitor my TCP/IP ports, but no communication was detected)

Please help...

tomm10

Message Edited by tomm10 on 10-26-2008 08:05 AM
0 Kudos
Message 1 of 19
(6,461 Views)

First, you must be talking about either LXI or VXI-11, not the old VXI (entirely different communication). Based on your using the SOCKET type, I'm going to guess it's LXI. VXI-11 uses the INSTR type of connection.

 

You get a resource not found because you don't have an LXI (or VXI-11) present at the port and ip address you specify. Before you can use a VISA resource, it must be detected in MAX. VISA has no simulation capability so I'm not sure what you are trying to do and how you are going to accomplish it.

 

The only instrument API with a simulation capability is IVI. In order to really use IVI, your instrument must have an IVI driver and the program must use IVI class drivers (i.e. IVIScope, IVIFgen, etc.).
0 Kudos
Message 2 of 19
(6,447 Views)

Hi,

Thank you for realy fast response.

I was going to establish what is sent to device while making the connection. I was using MAX with the same results

 

tomm10 

0 Kudos
Message 3 of 19
(6,439 Views)

I don't know what that means.

 

Do you have an actual instrument connected to the pc's ethernet port? If so, is it VXI-11 compliant or not? Is the instrument on the same subnet as the pc? Can you ping the instrument?

0 Kudos
Message 4 of 19
(6,437 Views)

No, at the moment I do not have any instrument. I am using secound PC with open port instead. All I need to know at this stage is what kind of data is transmitted between PC and devices.

 

tomm10 

Message Edited by tomm10 on 10-26-2008 10:07 AM
0 Kudos
Message 5 of 19
(6,432 Views)

In order to work, you are going to have to write some software on the other pc that emulates a VXI-11 or LXI instrument. You can find details on LXI-11 here. I don't know who keeps the LXI standard. Try google.

0 Kudos
Message 6 of 19
(6,421 Views)
Exactly, that is the goal of my project! The problem is that there is no data sent to secound PC. All I get is error mentioned before.

tomm10
0 Kudos
Message 7 of 19
(6,413 Views)
You are not going to get any data sent anywhere until you get the emulator up and working on the second pc and get it recognized in MAX as an instrument. Otherwise it is just an ip address with nothing there. It sounds like you are trying step 2 before step 1 is done.
0 Kudos
Message 8 of 19
(6,401 Views)
Aparently I see it diferent way. IMHO if PC makes connection to device it must send some data, am I wrong? All I am trying to do now is to fetch that data.
0 Kudos
Message 9 of 19
(6,391 Views)

Frankly, I don't understand what you are trying to do. You said before that you are trying to simulate an ethernet instrument and use VISA. VISA expects a very specific comunication protocol for VXI-11 instruments. If the discovery of a VXI-11 compliant instrument fails when you try to add one in MAX, then there can be no VISA resource created. Without a VISA resource created, you cannot open a VISA session. Without a valid session, you cannot do a VISA Write. There has to be some program at the remote pc that does the same thing as an actual instrument. It is a lot more than having a remote port. It requires two way communication. In your setup, all that you have is a physical link - the actual ethernet cable. The specific communication link fails as you have alread said. Since a lot of the messaging of VXI-11 is based on IEEE-488 communication, you might want to first study the handshaking that requires for a valid connection to be established. Have you even looked at the VXI-11 standard that I linked?

 

If you simply want to send data from one pc to another, then use the basic TCP/IP functions. You can use a TCP Write on one pc and capture it at the other end with a TCP Read.

Message 10 of 19
(6,388 Views)