Data Swaps in Veristand While Using the GE cPCI5565PIORC Reflective Memory Card

Updated Sep 5, 2018

Reported In

Hardware

  • cPCI-5565PIORC

Software

  • VeriStand
  • LabVIEW

Issue Details

I am using the GE cPCI-5565PIORC and notice that the data I am getting is incorrect. It looks like with our Reflective Memory card, 16 bit data is being swapped. The data is being sent as little endian byte order, but the system is putting out data in different byte order. How do we go about this in the LabVIEW Real-Time environment?

 

Solution

If you are using the native Reflective Memory implementation in  VeriStand, you can only pass the data as big-endians which is what LabVIEW uses by default.

To be able to read your data correctly you will need to use a Custom Device to communicate with your reflective memory card. This way you will be able to edit the source code and manage your little endian formated data. This swap can be done using the Flatten and Unflatten from string functions.
 

Additional Information

The GE Reflective Memory card uses LabVIEW and VISA to interact with it programmatically and both LabVIEW and NI-VISA are configured as big-endian natively. In Big Endian format, the most significant byte (MSB) of a multi-byte number is written first, then the second MSB, and so on down to the least significant byte (LSB). However in Little Endian, it is reversed such that the LSB is written first, then the second LSB on up to the MSB.

WAS THIS ARTICLE HELPFUL?

Not Helpful