1 modbus register coming in as garbage

I’ve gone over this forever and can’t seem to find the issue. I have a single register, well, at least a single one, that seems to be coming in as garbage. Here’s some info on it:

opc item path: [{VoltageMonitor}]1.HRUI531
data type: float
scale mode: linear
raw: 0 - 4,294,967,295
scaled: 0.0 - 42,949,672.95

There’s items on both sides with virtually identical configurations that seem to come in just fine. The value bounces from like 12k to 150k. Any help will be much appreciated. I know this value is a problem as it makes no sense and there’s a plc local getting the data correctly from the same register.


HRUI means 32-bit unsigned integer. For a float, you probably want HRF.

It’s fixed point.

Anyone else have any thoughts? I’ve tried deleting the tag and copy paste and mod one of the ones that works without any luck.Thanks, jake

There’s a Modbus driver logger (drivers.ModbusDriver2?) you can set to TRACE to see the actual content being received by the driver. You could put that into a modbus decoder and see the actual value Ignition is receiving from your device. Or you could use Wireshark, which should have Modbus decoding built in.
It’s basically impossible for the device to ‘make up’ values, but that would be the way to prove where these incorrect values are coming from.

My guess would be a word/byte swapping issue… shakes fist at varied modbus implementations across space and time

It is getting data, the modbus registers from around it come in okay, I’ll see if there’s some odd conversion of the data from the logs.

I’ll bcd as well

the documentation for the voltage monitor has to be off, there seems to be a couple registers holding phantom data. If I slide the addresses around the phantom the data before and after seem right. Thx everyone