Modbus TCP module issues with Discrete Inputs

Hello,

Having issues with bad tag quality for tags coming from modbus tcp module, specifically discrete inputs. I have other holding registers from the same device and those tags are fine and good quality. I have tried changing settings such as disabling span gaps and messed around with the tag group settings. Nothing works. I’m hoping someone else has seen this before and has some advice. If I go to opc quick and do a read for one of the bad tag addresses it says good, if I subscribe in quick client is shows bad.

Thanks,

Frank

Wireshark will reveal all.

I don’t claim to know the ins and outs of wireshark. What exactly would I be looking for in trace?

Frank

Record a single successful read, then a subscribe that fails. Feel free to post it here with info about what addresses you’re testing, IP addresses, etc…

1 Like

Has there been anything found out on this? This is currently happening to me as well. It's a new project, so I don't know if it worked prior.

No, but if you want to follow through on the same advice I gave OP you can do so.

Easy workaround, I unchecked "Span Gaps" in the modbus device connection setting and they are reading now. I quickly got this answer by searching the forums more. Not sure if there will be any affect on performance. Seems it has not worked for some people, but for mine it did.

Probably not a work around, just the required solution.

It means you were, e.g. requesting register 1 and 10, and the driver was sending a single request to read all of registers 1 through 10.

Many devices, if nothing is defined at one of those intermediate registers, will balk and fail the entire request, either by responding with an error code or by not responding at all.

You must disable "Span Gaps" in this case, because the device you're talking to does not allow you to read undefined registers.

The alternative is to reorganize all the data you need in that device to be at contiguous addresses.

2 Likes