New to Modbus comms - Need help PLEASE

Hello i am new to modbus communication and have been trying to learn it and have now got stuck. I have a Honeywell PLC talking to a Redlion HMI via Modbus TCP and just have a couple questions. Equipment is a zurn steam boiler


How is aux_fan_clutch_SW tagged 8395 Modbus address in the PLC but you can’t find the address in the fixed Modbus map created. But in the HMI it is BIT 0 out of 16 of PLC Modbus address 45174- MPLX_DI_01_11 - data type unsigned 16 READ.
You have 16 different tags from the PLC being used in the HMI as bits but how does it know what bit to look at since it is just calling the 45174? Just a little confused trying to learn it. Any help would be appreciated and even a phone call would be awesome! Please and thank you.

God bless
 

Attachments

There may be multiple tags at work here mapping to different Modbus registers. It is entirely possible, and somewhat common, to map the same data to multiple registers, coils, etc. in Modbus. One common example (though this is not what's being done here) is mapping digital outputs to both coils and bits within a register. So you could have DO 1 - 16 mapped to Coils 1001 - 1016, but also have those same 16 digital outputs mapped to Holding Register 2101, bits 0 - 15, respectively (note that those coil and register numbers are arbitrary and are simply for the sake of this example).

It is common in Modbus to pack 16 digital inputs or outputs into a single register, 1 per bit, since standard Modbus registers are 16-bits. There is probably a block of 16 digital inputs or outputs that is mapped to register 45174, where the individual connections (1 - 16) dictate which bit in the register each digital input or output is mapped to.

The window you show that has a Modbus Address of 8395 [0x20CA] and Data Type of float 32 does not make any sense for a digital signal. Why would a digital signal map to a floating point value?

In any case, all of this equipment is more than likely user configurable, so someone mapped the tags this way and people can, and do, make mistakes, especially when they are unsure of what they're doing. This 32-bit floating point register 8395 may simply just be an extra, unused register that is also mapped to the AUX_FAN_CLUTCH_SW signal.
 
Top