Hung pushbutton on HMI

Jim G.

Member
Join Date
Nov 2007
Location
Georgia
Posts
187
I have a 1756-L73 controller hooked to a C-More T15CL HMI. On one of the screens, there is a momentary push button to activate a process.This button was hung in the “pushed” condition and verified by the bit in theprogram.
I thought there might be a bad place on the screen, so Imoved the button to a different location to check. Upon reloading, the button remainedin the “pushed” condition. I then went into the program and toggled the bitassociated with this pushbutton. Everything cleared so I returned the HMI screento its original condition. Operation was normal after several test cycles.
Assuming my issue was in the HMI to begin with, what causesa pushbutton to hang up on a screen? (Side note: This push button also has a 2second delay before going true.)
I guess if this problem re-occurs, I will swap out the HMI.Is there a fail-safe method to prevent this from happening?
What would Space-X do if this happened on their rocket touchscreen?

Thanks,
 
Search the forum for "Stuck Button"
I "think" it can be caused by communications.
I've placed an unconditioned (U) for the HMI button for this reason.

HTH
 
When you define an HMI pushbutton object as "momentary", the HMI writes a value of 1 to the associated PLC tag when you touch or click the object (mouse down) on the HMI screen and it writes a 0 to the tag when you release it (mouse up). Sometimes, because of either traffic or noise on the communications link between the HMI and the PLC one of the write actions gets lost. When the one that gets lost is the act of writing the value of 1, the operator just touches the button a second time. When the one that gets lost is the act of writing 0, there generally isn't any feed back telling the operator that something went wrong, leading to the situation you describe.
One solution is to turn off all HMI-controlled bits at the end of the ladder logic using a -(R)- or -(U)- instruction. Another is to give the operator feedback by using illuminated PB objects that change color when the PLC bit is true.
 
do other PBs and data on the C-more screen have have this 2 second delay???


Check the PLC program, is the PB bit used somewhere else ??
 
.. Sometimes, because of either traffic or noise on the communications link between the HMI and the PLC one of the write actions gets lost. ...




Is this Ethernet/IP? Because with non-deterministic nature of Ethernet, even attenuated by the Ethernet/IP protocol, I think with a momentary that the 1 can be received after the 0, leaving it in the 1 position; it would be rare event but possible. Is the 2s delay done on the HMI or PLC side? If the HMI side, I wonder if adding another 2s (or even a few hundred ms) delay after the false-to-true transition to do the true-to-false transition might take care of this, or at least make it more rare.
 
I then went into the program and toggled the bitassociated with this pushbutton. Everything cleared so I returned the HMI screento its original condition. Operation was normal after several test cycles.
Assuming my issue was in the HMI to begin with, what causesa pushbutton to hang up on a screen? (Side note: This push button also has a 2second delay before going true.)

I have never worked with C-More, but I do have plenty of experience with AB and Red Lion. I don't think the HMI is the issue here. If you got into the program and toggled the bit off to release the push button, I would start looking there. What else can toggle that bit? Could somebody else have gotten into the program and toggled that bit manually? Is there logic in the PLC to make sure the push button is released?

We had an electrician here at our plant toggle a start bit in the PLC, but forgot to toggle it back off. The rung was a simple start/stop rung where the output latched around the HMI start input. After two hours and three replacement HMIs trying to get the button "unstuck", he finally figured out his mistake, toggled the bit back off, and everything was working the way it was supposed to.
 
I have never worked with C-More, but I do have plenty of experience with AB and Red Lion. I don't think the HMI is the issue here. If you got into the program and toggled the bit off to release the push button, I would start looking there. What else can toggle that bit? Could somebody else have gotten into the program and toggled that bit manually? Is there logic in the PLC to make sure the push button is released?

We had an electrician here at our plant toggle a start bit in the PLC, but forgot to toggle it back off. The rung was a simple start/stop rung where the output latched around the HMI start input. After two hours and three replacement HMIs trying to get the button "unstuck", he finally figured out his mistake, toggled the bit back off, and everything was working the way it was supposed to.

I would disagree that the HMI couldn't be the problem. RSView32, FactoryTalk, Wonderware all have this issue and it's commonly because the window that the momentary button is on loses focus, and so the 'off' event of the momentary action never happens. You can replicate this in Wonderware by having a momentary button on a window that closes through a script when the button is pushed. The push event sets the tag value to 1, the window closes and loses focus, and the release event of the button never happens and so the tag stays at a value of 1.

For this reason, I will code in an OTU of that HMI button in the PLC. Either at the end of scan, or the end of the action. Another method is to do the following in code:

XIC Button, ONS, OTU Button - this enforces a single true scan of the button, so if you're trying to JOG (which not a fan from HMIs) or relying on the button to be held in a period of time, it won't work.
 
I would disagree that the HMI couldn't be the problem. RSView32, FactoryTalk, Wonderware all have this issue and it's commonly because the window that the momentary button is on loses focus, and so the 'off' event of the momentary action never happens. You can replicate this in Wonderware by having a momentary button on a window that closes through a script when the button is pushed. The push event sets the tag value to 1, the window closes and loses focus, and the release event of the button never happens and so the tag stays at a value of 1.

For this reason, I will code in an OTU of that HMI button in the PLC. Either at the end of scan, or the end of the action. Another method is to do the following in code:

XIC Button, ONS, OTU Button - this enforces a single true scan of the button, so if you're trying to JOG (which not a fan from HMIs) or relying on the button to be held in a period of time, it won't work.

+1, all platforms will suffer from "stuck bits". I always unlatch the commands as stated. Some guys will preach to never use momentary in the first. There are some heated conversations over on the Inductive Automation forum on this very matter.
 
Someone on this forum posted something like this a while back:

XIC HMI_PB_Start OTE HMI_Start OTU HMI_PB_Start

Use HMI_Start everywhere in your logic. It will be high for one scan and HMI_PB_Start can't stick because it was unlatched. This is called "catch and release."
 
Someone on this forum posted something like this a while back:

XIC HMI_PB_Start OTE HMI_Start OTU HMI_PB_Start

Use HMI_Start everywhere in your logic. It will be high for one scan and HMI_PB_Start can't stick because it was unlatched. This is called "catch and release."
It was probably me that posted that, or at least, that's exactly what I do. Whether you use momentary or "set" pushbuttons on your HMI or SCADA is irrelevant if you use this approach. The thing to remember is that a momentary button on a HMI is not the same as a hardwired momentary button. A hardwired momentary button conducts electricity only as long as it is pressed. It's continuously "setting" the digital input to true, as long as the current path exists (button is pressed). On the HMI, it's not doing the same thing. When you first press the button, it sets the target tag to 1. When you release it, it sets the target tag back to zero. In between, it's doing nothing. If something else acts on that tag while you've got your finger holding the button down, the button/HMI will not know or care, and the tag can be changed to on, off, or flashing in a mexican polka dance sequence by any external process. This is not possible with your physical pushbutton. In HMI world, the only difference between a "momentary" button, and a "set" button, is that the momentary button sends a "set to zero" command when it's released, and the set button doesn't. So if you take the approach above, it's irrelevant which one you use - the HMI can send a "set to zero" signal upon button release or it can not - it makes no difference if the PLC has already received the command and set the tag back to zero anyway.

One possibility for the root cause, particularly with C-More HMI's, is visibility animation. Often a programmer will create a situation where a button turns invisible after it's pressed. For example, you press a start button, once the HMI sees that the machine is running, it makes the start button invisible and replaces it with a pause button. The problem is, on some HMI's (and I can categorically say that C-More HMI's are one of them - or at least they were last time I used one) - once a button is invisible, it no longer does anything. So, if you quickly press and release the start button, no problems. Tag in your PLC gets set to 1, PLC sends an output to start the motor, HMI button is released, tag in your PLC is set to zero, motor starter feedback is received, start button turns invisible. But if you hold the button a bit longer, you get a situation where the starter feedback is received and the button turns invisible before the operator releases it. Once the button turns invisible, the "release" will no longer be performed, and voila, stuck button!
 
I still use hardwired start, stop, and jog buttons for this exact reason. I also don’t use any momentary buttons for anything except basic things like timer resets or part counters.

On any manual or jog screens I use the button to latch the command, say jog fwd. the operator then presses the physical hardwired jog button to make the actuator or motor move. If a new command is pushed, say jog rev, jog forward is reset. Furthermore, I monitor the screen numbers in the hmi. If the operator leaves a screen ALL commands on that screen are reset. I monitor the seconds clock on the hmi, if I don’t see a numerical change within 5 seconds then an alarm triggers preventing motion.

“Stuck” momentary buttons on hmi’s have been a problem for a long time and is nothing new. If there is any sort of hazard involved for operators and or machine damage then they should be avoided.
 
I have to say, I have never had this problem with a Pro-face HMI in more than 20 years.

I have never had the issue personally on all either, but I have heard others have. Example, the worst I have seen it was using WonderWare. I don't recall seeing it on a C-More, but I heard other users have. Sounds like this post is one. Whether you personally see it or not, it should be best practice to clear commands.

To add, a lot of it will have to do with the complexity of the application. How many clients, the size of the network, how much data traffic, etc. I'd be willing to bet a single HMI with a few pushbuttons will probably be fine and won't exhibit issues.
 

Similar Topics

So I'm running a couple of VM's in VMWare. VM1(Windows 7 Ultimate): RSLinx Classic 3.74 with RS Emulate 500 and I have an OPC topic set up for...
Replies
5
Views
2,681
Dear All, I use PID Compact in PLC S7-1200 to control Motorized Valve (Danfoss) has Analong input 0-20mA this PID work for example for three, day...
Replies
4
Views
1,895
Hey guys ! How do I use the pushbutton fucntion block and test it ? I put the FB on the worksheet, put the signal tags, but I dont know how to...
Replies
5
Views
611
Sorry for the basic question: On my HMI, I've created a button labelled SAVE to save the current values (distances in mm). It's not linked to any...
Replies
22
Views
2,130
Hi all, (This is with FTV SE v12) I am trying to use the Push Button -> Button and I would like to have the same color for the border and the...
Replies
9
Views
1,579
Back
Top Bottom