I tend to prefer encapsulating this type of functionality into a UDT. This way I can easily instantiate another “heartbeat” object when it is time to monitor another device (in this example). Attached is a tag JSON that will create the structure shown here:
You’d obviously change the heartbeat tags to OPC tags and then set the address accordingly–the example here uses memory tags.
heartbeat_objects.json (5.0 KB)