Edit boxes in HMI software

Recommended Posts

Using edit boxes on the main pages of your HMI screens is a bad idea. It doesn't matter whether you use DAQFactory or another tool. The problem is feedback.

(An edit box is a rectangle on the screen that you type new values directly into, an HMI is a screen or set of screens that allow you to control a real world device or at least view its status).

Let's say you have an edit box on your overview screen that changes the set point on the boilers. You type in a lower value into the edit box and then get distracted by your boss who wants a full accounting of your SCADA system expenses because they are too low. Unfortunately, you got pulled away before you moved the cursor away from the edit box. While you were gone, a coworker comes in and looks at the overview screen to make sure everything is ok. He looks at the edit box and sees you have a setpoint of 200C, but the system is showing things at 500C. He panics because something must be wrong, hits the Estop and shuts the whole system down. The boss, who was just about to give you a raise for saving so much money using DAQFactory instead of the expensive alternatives on the SCADA system, changes his mind because you just cost him down time.

So hopefully you see the problem. Edit boxes alone can cause current values to be misrepresented if the values are typed in but never submitted. Its even worse if you don't use the "Submit on Exit" option and a submit or set button instead. Just looking at the screen you don't know if the value is actually set without secondary feedback.

The better way to change values is with a popup. This is actually the only place, I believe, an edit box should be used. If you just have a single value to change, use a variable value component (or button, or descriptive text, etc), with the Set To action. This will create the popup for you. If you want to change several values or provide additional information, create your own popup and make sure and pop it up modally. This means the the window has to be dismissed before the rest of the program can be used. What this does is provide positive feedback that the value is changed or not. If the popup is visible, then the value hasn't been set. You can also create configuration pages that aren't popups, but they shouldn't have any real-time values being displayed. The user must dismiss the window, either saving or canceling to get back to the real-time display.

"But so many other Window's programs use editboxes..." Yes, but they are not real-time. They don't refresh the screen constantly with updating values.

So, only use edit boxes in a popup window, or on a screen that has no real-time display and has to be dismissed with a Save or Cancel type button.

Link to comment
Share on other sites

It's really good that you add this post, but i have a remark on this. I don't like it to be negative at DAQ but i maybe this will helps you guys optimizing the application.

First point:

DAQ is a bit confusing with the control elements, "edit box" suggest that this is the best element for changing values, but as you explained in your post this is not!

Seconds point:

We put a lot of effort optimizing the layout of our DAQ application, even a graphical designer optimized our screen layout. Now we are really satisfied with the result, but....

"Variable value component" contains the possibility to fill in "Caption" and "units". But we cannot use this because it doesn't bring us what we want (layout). It would be great when DAQ optimize the layout possibilities with the following details:

- align options for Caption, Value and Units. (or set them fixed). Especially the Value is should be "right aligned"!!!

- Add a white square background behind the value. See our picture what i mean with that. This white square signify better that's the value is a variable! This white background is standard for the element "edit box"


Link to comment
Share on other sites

Thanks for the comments and don't worry about being a little negative about DAQFactory. We welcome user comment and critique because it helps us make DAQFactory better. DAQFactory is used in such a wide variety of applications that we can't possibly predict all the ways our customers might like to use it.

As for your items:

1) I actually never thought about this. The tutorials talk about variable value components and don't mention edit boxes, but for those that just start developing without reading the manual, I could see where Edit box might be seen as the only option. I'm not exactly sure how to improve this and welcome any suggestions.

2) This is a definite need, I agree. You can actually do a white background now, but the component is not a fixed size, and the background only covers where the text is. We'll look into this for the next release.

Link to comment
Share on other sites

distracted by your boss who wants a full accounting of your SCADA system expenses because they are too low


I'll have to add that Set To popup to add the starting variables!

Link to comment
Share on other sites

  • 11 months later...

When I used my edit box, I checked set with button press. Obviously this doesn't give me much feedback like you said. Do you all have ways to maybe change the color of the button when it has been clicked so that we can know that we changed the current value???

Link to comment
Share on other sites

That's an interesting solution, but it requires the users to know which color means that the value is current or not. Someone who uses the app often will recognize the colors, but some who just occasionally views the screens may not know, or is likely to forget. HMI's should be designed to avoid confusion.

I'm unclear why you would want an edit box anyway. I suppose its because its a pretty standard way of presenting data on windows, however, windows isn't an HMI. If you really want to make it look like an edit box, use a white Panel component with a Variable Value component with the Set To action on top of it. Then, when a user tries to click on your psuedo-editbox, a popup will appear.

Link to comment
Share on other sites

  • 1 month later...

Is there a way to clear the edit boxes out, but keep the data that was inserted into the edit box?

I tried making the channel I set the box to =0 after an event happens, but the value still stays in the box.

Not a big deal, just trying something out. :lol:

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.