FactoryTalk View Studio ME Confirm Button

PCs1987

Member
Join Date
Jan 2018
Location
Iowa
Posts
6
Ok, so, I'm a complete newbie to this software, and I've been tasked with editing an existing program to add an "are you sure?" dialogue to several on/off push buttons on a machine. I've looked at a few threads on similar subjects, but haven't really managed to gather enough info to actually do it, myself, as I'm not that familiar with the software. Nearly all of my experience is with structured text, so... I'm a bit lost, here.

I'm running version 10 of the software. In short, all I want to do it set up a button to give me a pop-up "are you sure?" confirmation dialogue instead of just toggling on/off with a single press.

Rookie says "HELP!" :)
 
Welcome to the forum!


The first link that Garry shared has a post by me at the end that details how I do it. Nice and simple!
 
Ok, I've read through the two links, but I'm not completely understanding the process... Would you mind breaking down those steps and explaining how they're done, as well as how they work? I was kind of thrown headlong into new territory and could use some help getting my bearings. While I await a reply, I'll try messing around with a few things and see what happens.
 
It's much easier in SE, but you should be able to do it in ME in a similar way...

Every button requiring confirmation is a go to display button, which calls a pop up window. The pop up window has four components:

1. Generic "Confirm Operation" header
2. Local message display, with the Value connection set to #1
3. Confirm button, which is a macro button. The macro writes 1 to #2, and also writes 1 to your "close all on top displays" global connection tag
4. Cancel button, which is actually a Close Display button

Then for each of your go to display buttons that call the popup, you assign a parameter file which gives the message number for #1, and the pushbutton tag in the PLC to #2.

Two gotchas: make sure you reset both the PB tag in the PLC, and the "close all on top displays" global connection back to zero afterward. The HMI will not do that for you.

Ok, perhaps this would be easier (for myself, at least). I understand what you mean by making the button into a go to display button. However, I have a few questions about the rest of the process.

Step 1: Generic header. Seems simple enough. Irrelevant, even.

Step 2: Local message display... I'm clearly misunderstanding you, here, because that seems redundant if the header already says "Are you sure?" or whatever. More confusing, to me, is the "Value connection set to #1" part. I'm not sure I understand what you mean.

Step 3: The confirm button... Ok, so I get the whole use of a macro bit, and I assume that "writes 1 to #2" means it changes the value to a binary "1"...But... What is "#2"? As in step 2, where you referred to "Set to #1", I'm not sure I understand what you're referring to when you say "#1 and #2" here. The "Writes 1 to close all on top windows" I get. You're simply saying it needs to not only toggle the "on/off" function, but also close the pop-up window.

Step 4: The "cancel" button just closes the pop-up without doing anything. Easy enough.

And finally, "make sure you reset both the PB tag in the PLC, and the "close all on top displays" global connection back to zero afterward."... How would I go about doing this? Additional instructions in the "confirm" button macro? Or am I overlooking something else, here?

Thank you so much for your help.
 
Every button requiring confirmation is a go to display button, which calls a pop up window.
Pretty straightforward. Every button that requires a "are you sure" popup is not a momentary button, instead it's a Go To Display button. It calls a popup that you create as follows...


The pop up window has four components:
1. Generic "Confirm Operation" header
Literally just a header that says something like "Are You Sure?" or "Please Confirm Action". If you want, you could include a warning symbol of some sort to draw attention to it.
2. Local message display, with the Value connection set to #1
The "Local Message Display" object is a pane that displays any number of pre-defined messages. You create a message list in FTView, which consists of a series of "Message Number" and "Message Text" definitions. For example, message 1 might be "are you sure you want to start the dinglehopper pump". Message 2 might be "have you asked permission to unload the chickens". And so on. In the Local Message Display properties, you point it to a Connection tag, which the Local Message Display will check to see which message should be displayed. If the connection tag is 1, it will display "are you sure you want to start the dinglehopper pump". If the connection tag is 2, it will display "have you asked permission to unload the chickens". And so on. But in this case, you're not going to point the Local Message Display to a tag, you're going to point it to a tag placeholder: #1.

3. Confirm button, which is a macro button. The macro writes 1 to #2, and also writes 1 to your "close all on top displays" global connection tag
Reasonably self explanatory. Create a "confirm" button which is a macro button. Then you will need to create a macro for it to run. The macro will set two tags to 1. The first is again a placeholder (#2), and the second is a tag that you have assigned to the "close all on top displays" global connection (look for global connections and read up on them if necessary). This way, when you press "confirm", it writes a 1 to a tag so you record the "confirm" action, and then closes all on top displays, including itself.

4. Cancel button, which is actually a Close Display button
Should be straightforward


Then for each of your go to display buttons that call the popup, you assign a parameter file which gives the message number for #1, and the pushbutton tag in the PLC to #2.
Read up on parameter files. Basically, each button that you changed from a momentary button to a Go To Display button will call the same display, but with a different parameter file, according to which action you want confirming. Inside that parameter list, you determine which message you want your Local Message Display to show (e.g. if you want the "chickens" message, you'd set placeholder #1 to a value of 2) and which tag is set to 1 in your PLC if the operator presses confirm (i.e. set placeholder #2 to {[PLC]Unload_Chickens_HMI_Button}). Then your "unload chickens" pushbutton calls the popup you created, with the specific parameter file that relates to it.


Two gotchas: make sure you reset both the PB tag in the PLC, and the "close all on top displays" global connection back to zero afterward. The HMI will not do that for you.
Since you don't have a momentary button any more, there's nothing to set your PLC tag (or your "close displays" tag) back to zero. You'll have to unlatch them both in the PLC once you've received whatever confirmation was just given.


Hope that helps - if you can't get it to work, give us some more specific detail on where you get stuck and we'll try to help further
 
Thank you so much! This makes a lot more sense to me. I'll give it a shot and report back with the outcome (or more questions, if the outcome is undesirable).

One more quick question in the meantime, though: What do I do if I accidentally unload my chickens into the dinglehopper pump?

Thanks again!
 
I think that's how chicken nuggets are made?

Makes sense!

So, I got it working the way I wanted to! Thank you so much for the help! I made the "go to screen" button transparent, so the original button behind there still acts as an on-off indicator. I'm curious, though... For future use, how would I go about making a button like this only ask for confirmation when being turned on, and not when being turned off? Is there a way to make a button that acts as a momentary switch in one state, and as a goto in the other state?? Possibly a conditional button? I'm not really sure how that would work... I tend to get a bit over-ambitious. ;)
 
Makes sense!

So, I got it working the way I wanted to! Thank you so much for the help! I made the "go to screen" button transparent, so the original button behind there still acts as an on-off indicator. I'm curious, though... For future use, how would I go about making a button like this only ask for confirmation when being turned on, and not when being turned off? Is there a way to make a button that acts as a momentary switch in one state, and as a goto in the other state?? Possibly a conditional button? I'm not really sure how that would work... I tend to get a bit over-ambitious. ;)

Use the Visibility animation to toggle whether the 'GoTo Confirmation' button is visible or not.

eg. IF MotorRunning = 1, Visiblity = 1

Visibility animation in FTV is basically also 'Enabled' for buttons, etc.
 
Use the Visibility animation to toggle whether the 'GoTo Confirmation' button is visible or not.

eg. IF MotorRunning = 1, Visiblity = 1

Visibility animation in FTV is basically also 'Enabled' for buttons, etc.

Oh, ok, I remember seeing that when I was changing the dimensions and location of the button (Perfectionist, here... It had to match the button it was laying on top of exactly...). So the visibility option actually determines whether or not it even exists on that screen (from an end-user standpoint) at that time... Cool.
 
Yes, that's correct. The "visible" property is not really a "visible" property so much as a "is it there at all" property.
 

Similar Topics

Hello, I made a change in alarm setup in factory view studio, where I changed a alarm message text. After that I made a run application and...
Replies
0
Views
70
Hi all, I'm having an issue with connecting View Studio emulation to a real PLC. I am running View Studio 8.01 on a Hyper-V virtual machine...
Replies
0
Views
233
Hello. I have a Project I'm doing in Factorytalk View Studio. One of my displays I created has a bunch of red x's on all of the objects I created...
Replies
5
Views
510
So, I'm new to the PLC world (fresh graduate) and at my job I've been pretty much only helping out the other programmers with simpler tasks while...
Replies
1
Views
583
Good morning, I have a project coming up that will require my HMI runtime to toggle from English to Spanish via selector switch. What is the...
Replies
0
Views
433
Back
Top Bottom