I have a computer-controlled instrument that NI-MAX doesn't recognize. I need to communicate with it over ethernet, so I decided to implement a HiSLIP server. I chose HiSLIP, since according to Wikipedia, is intended to replace VXI-11 (also, it looked a lot simpler to implement than VXI-11 did).
I was able to get a server to handle the synchronous and asynchronous channel setup for a single client (NI-MAX). I have the server running on a different computer, listening on port 4880 (the HiSLIP server port). I set up a manual VISA TCP/IP resource on the client machine: "TCPIP0::192.168.0.4::hislip0::INSTR" - I then tried to validate the instrument in NI-MAX. On the server, I reported all of the packets to debug the connection process:
<< synchronous session >>
NI-MAXYN
ServerYN-ACK
NI-MAX:ACK
NI-MAX: HiSLIP Initialize message. client protocol version: 0xffff, client vendor id: 0xfefe (NOTE: this appears to be an error in NI's client code: the protocol version should very likely be 1, the vendor id should be 0x4e49 - )
Server: HiSLIP InitializeResponse message. overlap mode: synchronous, protocol version: 1.0, session id: 1
<< asynchronous session >>
SYN, SYN-ACK, ACK
NI-MAX: HiSLIP AsyncInitialize, session id: 1 (which is what it should be)
Server: HiSLIP AsyncInitializeResponse. server vendor id: <I supplied a correct code, extracted from a Wireshark pcap file.>
NI-MAX: HiSLIP AsyncMaxMessageSize. (NOTE: there appears to be a malformed packet sent by NI. The standard specifies that there be an 8-byte size sent)
Server: HiSLIP AsyncMaxMessageSizeResponse max message size: 272 (which is 256 + 16).
... after this, everything becomes strange. NI-MAX reports that the "instrument" is successfully opened, but the icon still shows a red disconnected icon.
We have an instrument that has a HiSLIP interface, but right now I don't have access to it. Has anyone else had any experience with communication over HiSLIP with NI-VISA/NI-MAX? The NI end of the communication appears to be strange, and does not conform to standards?
http://ivifoundation.org/downloads/Class%20Specifications/IVI-6.1_HiSLIP-1.1-2011-02-24.pdf