Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

GPIB-ENET/100 - Control via Custom TCP/IP Program?

Hello -
 
Seeing that we have several different workstations running different operating systems, I decided that I might go about trying to figure out exactly what bits get sent in a packet to the GPIB-ENET/100 controller.
 
First, on a Windows XP machine - with NI 488.2 drivers (XP) installed - I used an already-built Labview application to send a GPIB command to a power supply via the controller.  Using a hub, I used a packet sniffer (Wireshark) to catch the packets being sent to the device.  This particular sniffer has a very good ASCII display tool, to where I can see my very settings in a packet targeting the controller.  Sending more commands, and also reading from the device, I believed that I had found the packet scheme for programming with this device.
 
Next, I went over onto another workstation (running Unix) and attempted to use the Perl IO::Sockets module to send the very same commands (for setting our power supply).  I also sniffed these packets, and found the data structure of the packet to be identical to that coming out of the PC.  The only differences are the sender's IP and port, but the destination (GPIB-ENET/100 controller) IP and port are identical ... there isn't that much going on in one of these packets to get it wrong!  Nonetheless, the power supply was not commanded by the controller.  The controller did not even send a response to the sender.
 
Even stranger, this completely hoses the XP machine's connection - even though it was not active during this time.  Attempting to re-establish connection causes the software to hang, and upon exiting I get an error message in the corner of "Resetting VI ...".  (But it never actually resets, I have to restart the machine!)
 
Doing some more sniffing, I believe I'm missing something that I need to "tell" the GPIB controller before it will accept commands from me.  There is a lot of seemingly random bit patterns exchanged between the XP machine and the controller, long before any commanding is done.
 
Is this communication scheme publicly available, or is this considered proprietary for NI?  I understand that there are NI drivers for a reason, but the ability to program network devices (like the GPIB-ENET/100) via pure TCP/IP programming would be a huge advantage - platforms and OS's being limitless!
 
Thanks,
 
Brett
0 Kudos
Message 1 of 3
(4,021 Views)
Hi Brett,
 
It sounds like one thing that could be causing the problem is an issue with the driver.  I recommend taking a look at the GPIB drivers for your specific system, to make sure that you have a compatible one installed. 
 
In order to read TCP/IP packets sent from the GPIB/ENET 100 in Solaris, you will need to be able to access shared library access files.  If you need help with the specific application, and you are not entirely sure of the data format, let me know exactly what you are trying to do and I can look into it further.
 
Good luck getting everything up and running, but do not hesitate to let me know if you are still having trouble getting it working.
 
Regards,
Lauren L.
 
Applications Engineering
National Instruments
0 Kudos
Message 2 of 3
(3,993 Views)

Hi Brett,

In looking through the posts, I realized that I did not address your last question fully.  In terms of the communication protocol, it is indeed proprietary to National Instruments.  The enet device is only supported for our driver, so I know I am not too helpful in terms of creating your own driver.  It sounds as if you are on the right route, so good luck getting everything to work.

Regards,

Lauren L.

Applications Engineering
National Instruments
0 Kudos
Message 3 of 3
(3,981 Views)