Modbust TCP Issue

Having an issue where I cannot get every data point from a RedLion DSP to read at once. I have 4 blocks setup to account for 4 different types of data points. I am finding that I can only get half the values to come in. They read fine on my OPC Client.

Is there something setup-wise I need to correct?

Floats set to 500ms polled. Others at default.

Change polling on an INT16 to 500ms.

Can read all values on OPC Quick Client.

ModbusTCP Addresses setup.

Try turning off the "Span Gaps" setting on the Modbus driver.

1 Like

I think that fixed it! My hero!

Great. Unfortunately that means RedLion has contributed yet another broken Modbus implementation to the world.

3 Likes

That might be a bit harsh. The lame Modbus spec permits implementers to report an error for any data address they don't want to support.

In place of broken, I would use lame, stupid, brain-dead, or lobotomized. Or even [expletive] or [expletive] or [expletive]-upped.

:innocent:

3 Likes

The way I read this was that there's no error, but rather reading too many registers or reading across a certain boundary changes the value returned for the same registers on one end or the other.

What I see with devices like this is that addresses in between published/supported registers return a data address error instead of returning zeros like well-behaved devices. If you span across such an address, the whole request gets rejected without any way to indicate which address is the problem.

I see. Not for this case.

Yeah I've seen that before too, and certainly more commonly. I just can't tell from his screenshots if that is what's happening - all the tags look good quality to me, just with values going to 0 in some of them.

I recall someone reporting that reading addresses of 16-bit ints adjacent to 32-bit floats broke things. Might be something like that.

1 Like