7 hours ago
Hi,
I have a LΜ5 Lite (Version: 20240426) polling 33 Modbus TCP servers (Siemens LOGO! OBA8), each on a 10-second polling interval.
I'm having a problem with the Modbus status object for these devices. It gets set to 0 at some point, but then it is never set back to 1 when communication is restored (if ever lost) — even though the device is clearly communicating as indicated in Modbus tab.
If I manually reset the status object to 1, it stays at whatever I set it to — it does not get corrected by the driver on the next successful poll. This suggests the driver only writes to it on a state change (communication lost / restored), not on every poll cycle.
In addition, I noticed that the status object drops to 0 exactly at the moment another mapped value on the same server changes, even though that data object is unrelated to the status object. In other words, receiving new data from the device seems to coincide with the status going down.
In my own scripts I never write to these status objects — I only read them.
My questions:
Is there a known issue where the Modbus device status object goes to 0 when new data is received from the server, or when a mapped value changes?
Since the status appears to be updated only on lost/restored events, what happens if a "restored" event is somehow missed — is the object then left permanently at 0?
What is the recommended way to obtain a reliable, real-time connection status for each Modbus TCP device?
Thanks
I have a LΜ5 Lite (Version: 20240426) polling 33 Modbus TCP servers (Siemens LOGO! OBA8), each on a 10-second polling interval.
I'm having a problem with the Modbus status object for these devices. It gets set to 0 at some point, but then it is never set back to 1 when communication is restored (if ever lost) — even though the device is clearly communicating as indicated in Modbus tab.
If I manually reset the status object to 1, it stays at whatever I set it to — it does not get corrected by the driver on the next successful poll. This suggests the driver only writes to it on a state change (communication lost / restored), not on every poll cycle.
In addition, I noticed that the status object drops to 0 exactly at the moment another mapped value on the same server changes, even though that data object is unrelated to the status object. In other words, receiving new data from the device seems to coincide with the status going down.
In my own scripts I never write to these status objects — I only read them.
My questions:
Is there a known issue where the Modbus device status object goes to 0 when new data is received from the server, or when a mapped value changes?
Since the status appears to be updated only on lost/restored events, what happens if a "restored" event is somehow missed — is the object then left permanently at 0?
What is the recommended way to obtain a reliable, real-time connection status for each Modbus TCP device?
Thanks