When communicating between devices from different manufacturers, there could be different conventions for how data is stored in each device. This might result in a situation where one device stores a floating point value with a byte order AB CD but if the second device stores the value with a byte order BA CD, it will result in seemingly garbage data.
For example, start with a device that has a floating point 12345.6 stored in a byte order AB CD. If another device is used to handling floating points as BA DC, then the same 4 bytes (32-bits) would now give a floating point value of -4.07227e-23
In a situation like this, a word swap would be needed so that the data is placed in the correct order to be understood in the SCADAPack.
This sample program takes a floating point value from Registers 42000-42001 in the form AB CD, swaps the Byte order to BA CD and stores the result in registers 42002-42003
Registers 41000-41006 are temporarily used as the contents of 42000 are rotated one bit at a time, before ending in 42002
Similarly, registers 41010-41016 are temporarily used as the contents of 42001 are rotated one bit at a time, before ending in 42003
As seen in the screenshot, registers 42000-42001 have now had their byte order swapped in 42002-42003, going from a value of 449A 51EC to 9A44 EC51
Released for: Schneider Electric Hong Kong


Need help?
Product Selector
Quickly and easily find the right products and accessories for your applications.
Get a Quote
Start your sales enquiry online and an expert will connect with you.
Where to buy?
Easily find the nearest Schneider Electric distributor in your location.
Help Centre
Find support resources for all your needs, in one place.