Heartbeat Between CLX & CLX

Jmeadows7676

Member
Join Date
Oct 2013
Location
Alabama
Posts
158
In studio 5000 is there an easy way to do a Heartbeat between two Control Logix PLCs? Say you have Produced and Consumed from both is there even a need to do a heartbeat? Can you just use the ConnectionStatus Data types.


I know these questions are kind of open ended but I'm Just looking for some advice.

Thanks,
 
Someone more familiar with produced/consumed tags can elaborate a bit further as I've never actually used produced/consumed tags, but my understanding is that the ConnectionStatus performs the function of a heartbeat. I have programmed comms heartbeats for applications where I used MSG instructions over a non-deterministic network connection and it's worked well.
 
In studio 5000 is there an easy way to do a Heartbeat between two Control Logix PLCs? Say you have Produced and Consumed from both is there even a need to do a heartbeat? Can you just use the ConnectionStatus Data type.

You are correct that you can use the Data Type CONNECTION_STATUS. RA suggests that produced/consumed is creating an UDT with that data type which will create the two BOOL elements of RunMode and ConnectionFaulted.

https://rockwellautomation.custhelp.com/app/answers/answer_view/a_id/470686/loc/en_US#__highlight
 
RA suggests that produced/consumed is creating an UDT with that data type which will create the two BOOL elements of RunMode and ConnectionFaulted.


That's certainly the easier option but for what it's worth I've encountered an issue where the RunMode tag always showed true even when the other PLC was faulted/ in program mode. So even this method isn't full-proof.

Instead, I prefer to use an incrementing number in the sending PLC, and having the reading PLC verify that it is changing as proof of both good comms and run mode.
 
Presumably that would be 200 proof, can't get any more proof than that at least in the US


US or anywhere else (on earth). 200 proof = 100% alcohol. Only Romulin Grog has more than 100% alcohol and it can't be exported to earth under the current export restrictions.🍺


For the OP what I always do is have one PLC constantly increment a number and the other PLC do 2 things with it.


1 - make sure it has changed in the past second or trip a comm's loss fault
2 - MOV the new value to another tag for the originating PLC to read back.
Then the originating PLC read that tag and make sure it has changed or set its comm's fault.


As the OP has stated, relying on the Running or ConnectionStatus isn't reliable as there will still be a connection when faulted, and if the Running was set in an AOI or program then it's not running to clear the bit and will always be on.
 

Similar Topics

I was wondering if anyone knew a way to go about creating a heartbeat between a PLC and an iFix HMI screen so that you can see when the PLC is out...
Replies
2
Views
1,894
Hi I need to set up a comm loss heartbeat between a Siemens s7-200 226 plc (Slave) and a Siemens s7-300 314c-2dp PLC (Master). They are...
Replies
5
Views
3,149
Hi everyone, I have a task at work that I'm hoping someone will be able to help me find a solution for. Here is the background info: I have a...
Replies
10
Views
420
Hi everyone I've created an FC that includes the blocks TCON, TDISCON, TSEND and TRCV. This block has to be as generic as possible across...
Replies
15
Views
1,527
Hi all, I have an application where there is a Control Logix PLC connecting to a B&R remote I/O station over Modbus TCP via a prosoft MNETC...
Replies
5
Views
1,916
Back
Top Bottom