Tim Ganz said:
...On the compact to SLC it will be over a message instruction read and write...
Here is a very simple Heartbeat between a CompactLogix L32E and a MicroLogix 1100, but it can be used between any controllers. It uses a Message in the CompactLogix and a timer in the MicroLogix. This example lets the MicroLogix
only know that comms have been lost...
38513 - Heartbeat Logic to verify communications between a pair of processors
Access Level: TechConnect
If you want
both controllers to know that comms have been lost then the following Heartbeat method uses a Message instruction in both controllers. Using toggling comms, if either fails, then both Message instructions will error, informing both controllers. There are two attached examples in the Technote...
43029 - Heartbeat logic for message instructions
Access Level: TechConnect
Tim Ganz said:
...in the compact to compact setup it will be done over a produced /consumed array...
For a Heartbeat between two Logix based controllers using Produced/Consumed data...
62140 - Produced/consumed tags lost connection status
Access Level: Everyone
This is a tried and tested method. It utilizes the predefined "Connection Status" data type. You must pack your intended data to be communicated, in this case your array, into a User Defined Type (UDT), but make sure that the first member of the UDT is a tag of the data type "Connection Status". This will then transmit connection status information over and back with the Produced/Consumed data. It provides both a "RunMode" and "ConnectionFaulted" BOOL. You can then use this status data in both controllers to monitor if the connection is healthy.
Regards,
George