Modbus, send REAL data
-
Hi,
I have some real values to send via modbus from Mervis.
Since REAL take 4 bytes, REAL should take two registers.
How can I combine the two registers values to make one real value in C program ?regards.
-
I find it!
Modbus data order: 1234.
Example:
In C program header:typedef unsigned long DWORD; typedef unsigned short WORD; union u_DWORD_TO_FLOAT{ DWORD i; float f; };
and in the code:
union u_DWORD_TO_FLOAT AI01; ... AI01.i = (mb_mapping->tab_registers[20] << 16) + mb_mapping->tab_registers[21]; float value = AI01.f;
Hope this help someone !