Modbus Function 16

R

Thread Starter

RaseinHicham

Hi, I'm new to modbus world.

Thank you in advance, I know that this some have a solution to my problem.

I have two slaves that communicate with a twido plc using Modbus RTU, and i want to read and write some registers in those slaves. the problem is that those registers are Float, like temperation and setpoint.

<b>Moderator's Note:</b> <i>I think temperation maybe temperature.</i>

for example, in the list of the modbus registers, i want to read the temperation that has two registers 0x3 and 0x4 and they say it's a float register. also i want to write a setpoint that has also two registers 0x101 and 0x102.

for reading the registers, i configure the macros and everything. i thought that, if the registers are float and the response are words, i have to use the function ''CONCATW'' to concatenate two words to a single doubleword. then convert this doubleword to floatword. Am i doing it right? if not how can i do that in twidosuite?

Thank you in advance

Best regards,
Hicham.
 
C
Hi Hicham,

We are not experts in twidosuite so we would not be able to help you out in that regard, but we can help you with Modbus questions. If this interests you and you are willing to purchase Modbus support hours, please contact us.
 
A(n IEEE 764) 32 bit floating point value has
- a sign bit
- 8 bits representing an exponent
- 23 bits representing the mantissa

A first step in dealing with 32 bit floating point is to assemble two 16 bit Modbus words in the proper high/low byte and word order (concatenation), but that is only the first step in interpreting the 32 bits as floating point value. The remaining interpretation is not trivial.

Does TwidoSuite support floating point?
 
Top