Industry Online Support
Technical Forum
4/12/2019 12:40 PM  
Joined: 3/28/2010 Last visit: 5/22/2019 Posts: 458 Rating: (110) 
Mag6000 Modbus manual: search Siemens site for document A5E00753974 You can read the Absolute Volume flow in m3/s units in register (4)03003 as a floating point value using Modscan, but you need to get away from displaying single register values in decimal, because single register decimal values are meaningless when the value is a floating point. Modscan will convert the value into binary, decimal (integer), hexadecimal or 32/64 bit floating point decimal values, by using the buttons. In fact, it allows you to see the value in either one of two floating point formats; one will be correct, the other will be an incredibly outofrange value (doesn't make sense)  it's same bits, but interpreted differently. To read the flow value in floating point, you need to read 2 Modbus registers to get the full 32 bits. The graphic below highlights (circled in red) the two buttons used for displaying either of the two formats for floating point alues. Use the button that gives you the correct (makessense readable) value in floating point for register 3023, a holding register. Use your correct device ID and read two registers. [snip] 32 bit Floating point has a known problem dealing with when (relatively) small incremental values being added to a large number, which what happens with totalizers. I haven't worked with fractional numbers like the totalizer value in m3/s 0.000xxxx, so I don't know where the issue arises with fractional values. When working with whole numbers, values over 16,000,000 are recognized as error prone in 32 bit floating point. Up to 16,000,000 is OK, but above that is problematic. A 64 bit (8 byte, 4 Modbus register) long integer totalizer value does not have the issues that 32 bit floating point has, dealing with adding incrementally small numbers to a large value. So the totalizer value is also available in register (4)03023 as a 64 bit long integer. But you'll need to keep track of the decimal point, which is in register (4)02914 to know how to interpret the long integer. And to interpret a long integer, you need to know its format. Is it big endian or little endian? I don't know and Modscan does not offer a 64 bit long integer display mode to find out. Siemens did not include the 64 bit long integer in its list of data formats in Table B7 on page 73 (pdf). Maybe someone here on the forum knows from experience. 
Last edited by: Jen_Moderator at: 4/12/2019 12:51:07 PMRemoved link and added file as an attachment. 

Follow us on