How to implement "Momentary Button" function in Perspective View

The technique uses a fast timer tightly bound to the button in the UI to check and send "I'm still pressed" messages through the full comms path, with a PLC timeout catching any hiccups to release the button. Also requires some metadata to prevent re-activation if a UI script stalls and resumes.

Perspective cannot do this because its scripts run in the gateway, not in the UI. It might be possible to do with javascript in a custom Perspective component, but I haven't figured out how, and nobody else wants to touch it with a ten-foot pole.

For Vision, my EtherNet/IP module offers a Momemtary I/O Button, that pairs with a class 1 Host device in adapter mode (typically). It does the tight-coupled messaging internally from Vision Client to gateway, and relies on class 1 I/O status automatic monitoring in PLCs. Class 1 I/O is also a repeating message technology, and PLC provide native monitoring of connection/module status.

Latest:

Older description of the technique one would use here: