daba did not mean no timers, at all...
Phrog30 said:
...I didn't agree with his post, you will need some kind of timer or counter to complete the process. Without it, his solution is basically useless.
daba said:
Simple method for heartbeat, no timers needed for generation, cannot get "in sync"...
All daba is saying is that this method does not require timers to generate the logic that will toggle over and back between the 2 PLCs. He is not saying that no timers are required at all for the entire Heartbeat option...
daba said:
...Simply monitor any bit in both PLCs for "stuck" high or low for a period...
How do we usually monitor something for a period in a PLC? - A timer.
So this option is not "without" mention of using something to monitor the status of the toggling bits, such as a timer, so as to "complete the process" i.e. flag a comms loss condition. He is saying exactly what you are saying he has not said, by my reading of it.
Can you derive the same meaning as I am from the quoted statements?
If so, would you now agree with his post, if what I am saying is correct?
Besides attempting to decipher daba's concise option, which to be honest reads quite clearly to me, it is a tried and tested method. He did not just dream it up when he read the thread. He has successfully used it many times over, I would be sure. Hence the statement...
daba said:
That does not mean just in his head and untested the other day as if he had never considered creating Heartbeat logic before he read this thread. It of course also does not mean it is magic. It means it has worked in practice, many times. Again, if my reading of his meaning is correct.
daba's option by my reckoning...
Continuously execute Bit_A TRUE in PLC_1 by Bit_B from PLC_2 that is being continuously executed TRUE by Bit_A from PLC_1 - this results in a "round robin" or "toggle" effect. No timers or counters are required here. The healthy communications will keep them toggling over and back.
Then, in each PLC, monitor the Bits that are being executed TRUE, say with a relatively short delay timer, and if timed out, flag the comms loss condition.
Again, I'll simplify it - daba's option suggests no timers required at the front end; but yes timers or "something" monitoring at the back end.
Far from useless, in my opinion.
G.