convert real to word
I have small problem , I have ABB AC 900F and I want to send the real value (for ex. PIT 0-6 Mpa) by mod slave to another DCS
the mod slave accept only word value and no convert from real to word directly only (int,dint and STR) since the mention type didn't send the point value (for ex. The pressure arrived to 2.7 ) The INT Shown >> 3 , DINT >> 3 and STR >> 0
I want your advice how can change the real to word without loss the point
Voted best answer
It is not possible to keep the point value in word's. A basic attribute of word ist to have no point. Word also have value range from only 0 to 65535.
I would also avoid the string convertation, since it use more memory and calculaton power than other convertations.
I suggest to scale the value before converting to word, and use the detour over uint.
you need a two step process on both ends:
Convert the REAL to a DWORD with TO_DW, then split it into two WORDs with UPDWWO.
Now transfer the two WORDs.
On the other side: PWODW, then TO_RE. Don't know how this works in other DCS ...
Make sure the two WORDs are from the same REAL after transfer via MODBUS.
As ordoban replied use default convertor blocks or RTOME FB, add those block at ABB side and you can convert whatever datatype into words and can send it via modbus to thidparty device, Now it depends on thirdparty device in which data type format it recieves...
Check image here there are two possible ways you can send real data over modbus from AC900F, may be need to swap a bytes depending on receiving side...