heartbeat between Siemens s7200 and s7300

jeramiah

Member
Join Date
Mar 2009
Location
Texas
Posts
53
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 communicating via wireless and i need to be able to have an alarm light come on at the s7-200 if the signal is lost.

I am still new to plc programming and would like some help on this.

Thanks
 
One easy way is to have a timer or counter in one PLC
The other PLC looks at the count (time) if it stops updating raise an alarm.
This requires at least one word in the communication, 2 if you want to alarm at both ends

Another way I have seen it done
A N/C contact in PLC 1 turns on a bit
PLC 1
!--|/|------( )
___Y_______X

PLC 2
|--| |------( )
|__X______ Y
PLC 2 looks at bit X and turns on coil Y which turns off coil X back in PLC 1
So these two bits flip/flop with each communication cycle
Thaen you add a couple of timers one for Off state, 1 for On state|
|--|/|------(Timer 1)
|___Y
|--| |------(Timer 2)
____Y

|--|DN|--|----(Alarm)
| Timer 1 |
|--|DN|--|
| Timer 2

(ignore the underscore____ I had to add it to stop the tags from moving)

If either Timer 1 or Timer 2 time out then sound the alarm
This requires only 1 bit in each direction. PLC 1 can also have the 2 timers using bit X
Sorry I haven't used Siemens for a while so my representation won't be the same but you should get the idea.
Regards
Roy
 
Last edited:
The Comm blocks on both sides provide status. It's all built in.

Issue with a comm block, the target PLC could be in program mode or CPU crash, yet registers would still be updated. This is why it is best to read the status of a bit under program control.

I usually have a toggle bit set up , where if the source PLC senses the bit is in one state or another for XXXX milliseconds, this indicates that the target PLC program has stopped.
 
I have used both method's what Roy described, both works very well with any plc.

But there is Another variant, first make counter, which is incremended every 1 second (PLC1). On the other PLC make rung, where you write value zero to same variable as on the PLC1. After that make PLC1 to read variable's value from second PLC.
If exchance is succesful, you counter value is changed back to zero and alarm isn't raised.
(Your counter counts maybe to 1 or 2 second, but after that it's value is changed back to zero as soon as correct exchange is made. Of course, count time depends of how often you read/write variables from second PLC)


If communications is lost, counter is incremended and eventually, you get alarm.


PLC1


1_sec_pls
-|P|---------------------------| COUNTER:=COUNTER + 1 |



---| COUNTER>=600 |------------------( alarm )




PLC2

-------------------------------| COUNTER:= 0 |



If you want to alarm in the both ends you will need two counters, as Roy described earlier...



Lare
 

Similar Topics

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...
Replies
8
Views
1,219
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,889
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
416
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,513
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,909
Back
Top Bottom