I am using Ignition Perspective 8.1 and we are starting to use this for some of our equipment as HMI's with a touchscreen PC.
With that being said I was trying to use a "BUTTON" for starting a system and it appears that there is not an option for momentary. The button only has the ability to write to the tag and then needs to be reset.
Does anyone know if this is correct. If so has anyone developed some reliable scripting to "create" a momentary button function. Currently we are using some PLC logic to verify and then return the value to "0" but this will be very time consuming when we have to do this many times throughout the project.
There are many topics on this already discussing the pitfalls of trying to implement momentary buttons in any scada platform. Instead of me regurgitating, best to just search
I already have..... all I find is options that that use Off Delay or On Click/Off Click and they both have flaws that don't work well with our running process.
Also we are not using this on a SCADA system it is a machine HMI system to run a manufacturing machine.
The PLC logic works well but it is just very time consuming in a large mass quantity of PB's. Just hoping that someone has found a better way to do this in ignition itself instead of the PLC.
Thanks for the link to the Ignition post. After reading that I have a much better appreciation for the system design and will most likely continue to use our PLC and a verification system to ensure the button/plc function maintains comms as described in the post you shared.
Not in Perspective. Since Perspective scripting runs in the gateway, there's absolutely no way to use scripting to make the Client => Gateway signalling reliable on release. It is possible with Vision.
However, you also need to secure the path from the Ignition gateway to the PLC. PLC's normally use I/O protocols to monitor a live connection and ensure the corresponding buttons are ignored when the connection is broken. The only I/O protocol driver for Ignition, at this time, is my EtherNet/IP communications suite, via its Adapter and Scanner options.
Without an I/O driver, you need a signalling method that rapidly tells the PLC "still pressed", "still pressed".... so that any comms or computing breakage outside the PLC will be detected. See the linked topics for ideas.
{ Give up hope for a Perspective solution any time soon. It's a browser. It don't do this. }
The safety this provides will always outweigh the time it takes to implement. We've had a few cases where our AB HMI's were holding a bit state high (even though it was a momentary button), and the verification logic prevented anything really bad from happening (other than the button appearing to not work).
Consider making a template for your PLC code if it's something you are going to be implementing often.
That's the way to do it. Have the HMI turn the PLC bit on. Have the PLC latch whatever the button is supposed to switch on and then have the PLC reset the button bit. Have the button status bound to the latched bit if that's what the HMI requires.