EPIC Watchdog set all outputs to default


I am trying to implement a watchdog to check if my control program which is written in python using optoMMP protocol is running. What I want to achieve is to cyclically change the state of a digital output (which is connected to nothing) or a value on the memory map using my control program. As soon as it is not longer updated within a period of time, the EPIC controller should set all the outputs to a default value.

I know I can apply this idea to individual channels but it does not fit with my requirements.

Is there a way to achieve this?

Best regards

The watchdog is all-or-nothing and does not quite work on a point-to-point basis like I suspect you are thinking. What happens is if there is no communication over OptoMMP for the watchdog timeout period, then ALL watchdog values are set on all points that have them configured.

If you have other devices that also read/write over OptoMMP, then your watchdog may not get triggered when you want it to (like groov view reading I/O points directly).

If your python program is the only thing using the OptoMMP protocol, then you should be good to go. If your program reads on a periodic interval while it is running, then that is sufficient to reset the watchdog timer.


Perhaps you could run a chart in PAC Control that looks for your MMP address change (as set by your Python code), if the chart does not see the change after its timeout, then it can set the outputs to your desired state.

Dear Philip and Beno,

Thank you as always for the insights!

I was getting the concept completely wrong. Good news is that I have only my python script connected to OptoMMP so it is a straight forward solution as Philip suggested.