Was developing an HMI with Connectivity Explorer running to observe and manipulate tag values. App was running great. Once I shut off Connectivity Explorer, my HMI wouldn't respond to tag changes.
Modified the logging system to dump all incoming data from the ReadMultipleItems method, and it looks like the timestamps for incoming data are static, indicating that the incoming tag data is stale. If I launch Connectivity Explorer and watch the tags I'm using, then I get live data from the ReadMultipleItems method.
Here's a snippet of the log without Connectivity Explorer running. Polling every ~2.5 seconds. First tag is the PLC system time. It's updating properly, and on the right, the time stamp (and time value) is changing properly. The second value is a boolean status tag. The value of the tag remains 'False' despite the actual value of the tag. Also, on the right, note the timestamp of the boolean value is always 00:0:40.137.
Again, if I launch Connectivity Explorer and watch the boolean tag, the tag updates properly in both the Connectivity Explorer and in my HMI application. Close Connectivity Explorer and the value in my HMI never updates again (except the system time, for some reason.)
19:02:37 - OPCClient.*************************************Value Dump Start******************************
19:02:37 - OPCClient.**** Value Dump: Tag:Success; 2022-02-04 12:12:05 AM {System.DateTime} @2022-02-04T00:12:05.797 @@2022-02-04T00:12:05.797; Good
19:02:37 - OPCClient.**** Value Dump: Tag:Success; False {System.Boolean} @2022-02-04T00:09:40.137 @@2022-02-04T00:09:40.137; Good
19:02:40 - OPCClient.*************************************Value Dump Start******************************
19:02:40 - OPCClient.**** Value Dump: Tag:Success; 2022-02-04 12:12:07 AM {System.DateTime} @2022-02-04T00:12:07.798 @@2022-02-04T00:12:07.798; Good
19:02:40 - OPCClient.**** Value Dump: Tag:Success; False {System.Boolean} @2022-02-04T00:09:40.137 @@2022-02-04T00:09:40.137; Good
19:02:42 - OPCClient.*************************************Value Dump Start******************************
19:02:42 - OPCClient.**** Value Dump: Tag:Success; 2022-02-04 12:12:10 AM {System.DateTime} @2022-02-04T00:12:10.800 @@2022-02-04T00:12:10.800; Good
19:02:42 - OPCClient.**** Value Dump: Tag:Success; False {System.Boolean} @2022-02-04T00:09:40.137 @@2022-02-04T00:09:40.137; Good
19:02:45 - OPCClient.*************************************Value Dump Start******************************
19:02:45 - OPCClient.**** Value Dump: Tag:Success; 2022-02-04 12:12:12 AM {System.DateTime} @2022-02-04T00:12:12.802 @@2022-02-04T00:12:12.802; Good
19:02:45 - OPCClient.**** Value Dump: Tag:Success; False {System.Boolean} @2022-02-04T00:09:40.137 @@2022-02-04T00:09:40.137; Good
19:02:47 - OPCClient.*************************************Value Dump Start******************************
19:02:47 - OPCClient.**** Value Dump: Tag:Success; 2022-02-04 12:12:15 AM {System.DateTime} @2022-02-04T00:12:15.803 @@2022-02-04T00:12:15.803; Good
19:02:47 - OPCClient.**** Value Dump: Tag:Success; False {System.Boolean} @2022-02-04T00:09:40.137 @@2022-02-04T00:09:40.137; Good
19:02:50 - OPCClient.*************************************Value Dump Start******************************
19:02:50 - OPCClient.**** Value Dump: Tag:Success; 2022-02-04 12:12:17 AM {System.DateTime} @2022-02-04T00:12:17.805 @@2022-02-04T00:12:17.805; Good
19:02:50 - OPCClient.**** Value Dump: Tag:Success; False {System.Boolean} @2022-02-04T00:09:40.137 @@2022-02-04T00:09:40.137; Good
19:02:52 - OPCClient.*************************************Value Dump Start******************************
19:02:52 - OPCClient.**** Value Dump: Tag:Success; 2022-02-04 12:12:20 AM {System.DateTime} @2022-02-04T00:12:20.791 @@2022-02-04T00:12:20.791; Good
19:02:52 - OPCClient.**** Value Dump: Tag:Success; False {System.Boolean} @2022-02-04T00:09:40.137 @@2022-02-04T00:09:40.137; Good
19:02:55 - OPCClient.*************************************Value Dump Start******************************
19:02:55 - OPCClient.**** Value Dump: Tag:Success; 2022-02-04 12:12:22 AM {System.DateTime} @2022-02-04T00:12:22.792 @@2022-02-04T00:12:22.792; Good
19:02:55 - OPCClient.**** Value Dump: Tag:Success; False {System.Boolean} @2022-02-04T00:09:40.137 @@2022-02-04T00:09:40.137; Good
19:02:58 - OPCClient.*************************************Value Dump Start******************************
19:02:58 - OPCClient.**** Value Dump: Tag:Success; 2022-02-04 12:12:25 AM {System.DateTime} @2022-02-04T00:12:25.794 @@2022-02-04T00:12:25.794; Good
19:02:58 - OPCClient.**** Value Dump: Tag:Success; False {System.Boolean} @2022-02-04T00:09:40.137 @@2022-02-04T00:09:40.137; Good
19:03:00 - OPCClient.*************************************Value Dump Start******************************
19:03:00 - OPCClient.**** Value Dump: Tag:Success; 2022-02-04 12:12:27 AM {System.DateTime} @2022-02-04T00:12:27.796 @@2022-02-04T00:12:27.796; Good
19:03:00 - OPCClient.**** Value Dump: Tag:Success; False {System.Boolean} @2022-02-04T00:09:40.137 @@2022-02-04T00:09:40.137; Good
19:03:03 - OPCClient.*************************************Value Dump Start******************************
19:03:03 - OPCClient.**** Value Dump: Tag:Success; 2022-02-04 12:12:30 AM {System.DateTime} @2022-02-04T00:12:30.796 @@2022-02-04T00:12:30.796; Good
19:03:03 - OPCClient.**** Value Dump: Tag:Success; False {System.Boolean} @2022-02-04T00:09:40.137 @@2022-02-04T00:09:40.137; Good
19:03:05 - OPCClient.*************************************Value Dump Start******************************
19:03:05 - OPCClient.**** Value Dump: Tag:Success; 2022-02-04 12:12:32 AM {System.DateTime} @2022-02-04T00:12:32.797 @@2022-02-04T00:12:32.797; Good
19:03:05 - OPCClient.**** Value Dump: Tag:Success; False {System.Boolean} @2022-02-04T00:09:40.137 @@2022-02-04T00:09:40.137; Good