Momentary Button, or similar

I'm new to Ignition, but not HMI/SCADA. I’ve created a reusable view and embedded it into another view with several Buttons that I’d like the operator to click to display different evaporators.

I understand that I can use a Button component and dig into the onActionPerformed event to load a new value into my a PARAM to display that specific evaporator. But component events require too many clicks to quickly edit or view the value. A dropdown is too clunky for my liking here. Is there a way to bind a Button PROP or CUSTOM to a value that doesn’t require the component events?

edit: Clarified "Button" PROP or CUSTOM. I want to do this with a Button or similar. I want to minimize events and scripts.

I would use a dropdown with its value bi-directionally bound to a custom prop at the view level. Then bind your embedded view's param to the same custom prop.

Unless I'm missing something, the dropdown solution would require 2 mouse clicks per selection. I'd like the operator to be able to just click the button corresponding to the evaporator they wish to select.

Then you'll need a script, how else would the button do anything? A button for each evap would be far more clunkier IMO, since it will take up more UI space. If you need to add more Evaps, then add yet another button.

You could use a table component where each row is a single column with your Evap ID. Then bind the embedded view's param to the selected row data on the table.

This would act like a dropdown that is always expanded.

Terrible topic title, FWIW.

Sadly, not a terrible title.

Labview, AVEVA Edge, C-more HMI, CCW, etc. all manage button functions without the need to write a script. They take the "pressed" value and apply it to a boolean tag, pressed for 1, unpressed for 0. To view the assigned tag, you simply view the properties of the component, and you can rapidly click them with the properties open to view their assignments without drilling into dozens of potential events.

I like your workaround idea with the table. Though I am stunned Ignition requires such ingenuity while seemingly every other HMI solution on the planet does this with simple buttons.

I searched 10 topics or so using my terrible search terms and found nothing suitable. The title mattered less to me than you reading it. Job done.

Perspective very deliberately does not have this, as you cannot make it reliable in web browsers. (And difficult in most other cases.) Search this forum for "stuck momentary button" for many arguments and rants about the underlying causes.

I would love the problem of a stuck momentary button. I can solve that. I'm just trying to figure out a regular momentary button for now.

Perspective does not have one. And you won't be able to reliably fix it.

Why not just use a Menu Tree? As long as you don't provide a Sub Menu, this is pretty much exactly what it is ment for.

Got it. It's strange to me that what I'm trying to do doesn't even touch a PLC, but all the arguments against it seem to use a PLC or OPC server as the reasoning.

I'm assuming also that there is no way to use a OneShotButton to accomplish this either...

If you only care about setting a target tag/prop to a constant on one press, then the one-shot button is very likely exactly what you want. (I don't use it because I don't like its visuals.)

Ah, but the same fundamental comms problem (TCP/IP stalls/breakage) exists between the client UI and the gateway where props/tags are processed.

The problem is more obvious in SCADA where there are two hops (client <-> gateway and gateway <-> PLC).

Perspective requires a slight shift in....perspective....when it comes to SCADA GUIs. It doesn't shine as a machine control solution. It can certainly act as one but you will have to figure out workarounds to some functions like youve discovered.

What Ignition can't do compared to its competitors is a much shorter list than what it can do. If this functionality is critical for you then I would use Vision.

You can build a momentary button, using mouse events, but be prepared for issues.