Modbus TCP Uncertain last value

Hi
I have had some stability issue with some modbus TCP connections, i get the Uncertain Last Value error.

I can resolve it by restarting the gateway as mentiond in other posts.

I find this a bit brutal to do in an running industrial enviroment(restarting the whole gateway) while production are ongoing, are there softer ways of just getting data to flow again without stopping everything ?

Restart just the device. There's even a script function to do it programmatically.

1 Like

How about some actual troubleshooting and diagnoses before turning the world off and on again?

1 Like

Agreed.

To that end, I believe obtaining more information from OP would be beneficial. When troubleshooting fieldbus issues like this, it's helpful to identify isolated zones where individual issues could occur, leading to the observed problem.

Could you provide more details about your architecture? Are the end devices communicating via Modbus TCP directly, or is there a Modbus TCP gateway managing communication with Modbus RTU devices?

Ahh yes thank you for that insightful and competent anwer

Im testing against a omron plc right now before deploying it, seems like it has an issue with the last adress , i have tested with 100 adresser, 99 is fine, 100 gives me a bad request and times out all other requests, 101 gives me just a error on that given request

Can you read that address in isolation with a modbus client ?

That is one and one request, not a group/multiple requests. So if im pulling 1...100 it fails on all adresses, 1...99 its ok. But if im pulling 1..99 and 101, its ok on 1..99 and just gives me an error lon 101, something is happening on the last adress

Try reading just address 99, then just 100, then just 101. The latter addresses might just be invalid. (Misconfigured on the PLC side, or something is misunderstood.) Share more details.

If possible share ModPoll results, or some other independent client. Also consider capturing packets with wireshark for good and bad operations.

That is what i have done, thats beside the point, i want to resume data exchange when receiving a 'unceirten last value', the gateway wont resume and other topics says just reboot the gateway, so to be spesific im not asking fore help with the modbus exchange.

I want to get the gateway to updete when it says 'unceirtein of last value'; without restarting the whole gateway

You'll have to write a script, either a timer event, or a tag change event, to check the quality of a tag that reflects the problem. The script can trigger a device restart using system.device.restart(). You will likely want to record in a memory tag a timestamp of the last scripted restart, so that you don't try to restart multiple times in a row.

Unless I'm misunderstanding this sounds contradictory. If you're optimizing for the number of requests you are making to the device, you must be reading more data per request. Ignition optimizes for just that with the Span Gaps advanced option.

I echo the sentiment that it may be an issue with the field device. As mentioned a Wireshark capture could tell you exactly what you are requesting from the device when you observe this error and would give you more actionable data to go off of.

Another troubleshooting step could be to disable the span gap options, and reduce the maximum registers per request to see if that helps at all.