Since last year I'm using remote control of PNA N5232A with python-implementation of HiSLIP. Nowadays our laboratory has bought two new PNA N5231A, and usage of the remote control cause next problem with data transfers messages from Server (N523xA) to client:
1. If data is short (length of data is smaller than Maximum Message Size) everything works the same on all devices.
2. If data is large, reading of data from N5231A cause error, because the server returns incorrect MessageID.
I checked <InitializeResponse> messages from servers, it returns overlap-mode of working.
Following HiSLIP description, in overlap-mode with every data transaction MessageID is incremented by 2 with every data transfer message sent. Before sending data request, i send Device Clear transaction, what should reset MessageID to 0xffff fff0, After sending data request to server, clients start to ask in the loop Status Query, with MessageID is 0xffff fff0, because data request is the first message after Device Clear transaction. When MAV turns to 1, i start to read message from server. In case of short messages, server sends <DataEND> transaction, with MessageID is equal 0xffff fff0. In case of long message, MessageID is equal 0xffff ffff in the very first <Data> transaction.
What does realization of HiSLIP server on PNA depends of?
How can i use the same version of HiSLIP server on my devices.
I have a mistake in the problem description. I wrote that PNA set overlap-mode of working, but it works in synchronized. So MessageID in <Data> transactions from the sever either can be 0xffff ffff OR equal to the client's most recent Data, DataEND or Trigger MessageID. Therefore PNA's HiSLIP severs' behavior was absolutely correct for all devices, i was mixed that servers' behaviors were different.