What a mysterious answer from Ben! The suspense is killing me.
This actually brings up an interesting point on the reliability of data commands from wireless devices. For any safety related issues the question should always be asked “what happens if my data connection fails right NOW”.
Its fine to have a start button and a stop button for a pump, but what if your wireless data-link fails just when you want to stop the pump. Of course wireless communication is 99% reliable, but what about that other 1%? Once you ask yourself that question, software design becomes a different ballgame.
I.e. if the controller does not receive a confirmation of operator presence, should the PAC automatically activates safe state logic at the controller level?
Instead of a button, I prefer to use an horizontal slider which writes to a float or integer value to the controller. A value greater than zero is considered as a ON command. PAC logic must be added to internally ramp the value down to zero, which is then considered as an OFF command. (Writing directly to Downtimers is currently not supported in [I][B]groov :mad:[/B][/I])
If the operator wants to an output as ON, he slides the value to required runtime value.
If the operator wants to an output as OFF, he slides the value to zero.
If the operator wants the output ON longer, he slides the value again before the value reaches zero.
If the operator forgets to slide the value to maximum, output will automatically go OFF when value reaches zero.
That way, even if the wireless connection is lost, process safety is still ensured. The concept is that of a “Dead man’s switch” http://en.wikipedia.org/wiki/Dead_man’s_switch but in addition to checking for dead operators, you are also adding security in the unlikely event of communications infrastructure failure.
If you consider that for offsite remote mobile connections , your [I][B]groov[/B][/I] connection may pass through several cell towers, phone companies, states or even countries, not to mention your own site infrastructure, its well worth thinking about before implementing remote control functionality to the mobile interface. Just saying