My question: Is there a way to configure the robot I/O to return to their normal states (OFF) whenever I lose communication with the PLC?
Using a heartbeat signal from the PLC, it is relatively simple to write a BG Logic that will detect communication timeout.
However, I hardly can imagine resetting EIP inputs programmatically.
Would say impossible, but probably altering the adapter status by writing to some system variable(s) will reset the adapter.