10-26-2008 07:59 AM - edited 10-26-2008 08:05 AM
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
10-26-2008 09:13 AM
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.).
10-26-2008 09:40 AM
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
10-26-2008 09:58 AM
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?
10-26-2008 10:06 AM - edited 10-26-2008 10:07 AM
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
10-26-2008 10:23 AM
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.
10-26-2008 10:28 AM
10-26-2008 12:53 PM
10-26-2008 03:41 PM
10-26-2008 04:09 PM
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.