Obrácení pořadí bytů pro komunikaci

Tuto operaci je třeba provést např. při komunikaci s vizualizací InTouch, popř. jinou, která u MODBUSU nepodporuje formát swapet-long / swapet-float. Obrácení pořadí bytů se pak provede takhle nějak (v případě proměnných LONG; nutno ověřit funkci!):

Let LONG = ((SwLONG & 0x0000FFFF) << 16) | (SwLONG >> 16)

Pro float je to trochu složitější, kód pro matici jsem vytvořil takto:

For iter01, 0.000, 10.000, 1.000
    Let CH_COM  SwFLOATs[iter01,0]
    StrFormat CH_COM_O, 0, NONE, "", 6, -1, -1, -1CH_COM, NONE.0
    Let FLOATs[2*iter01,0] = CH_COM_O[0,0]|(CH_COM_O[0,1]<<8)
    Let FLOATs[2*iter01+1,0] = CH_COM_O[0,2]|(CH_COM_O[0,3]<<8)
EndFor