Jump to content

​🪟​ Custom pop-up windows in Unilogic HMI


Recommended Posts

Hi all,

in Unilogic there's the option to add a pop-up window on a button press, that window is customizable but only within some predefined models.

I'd like to have a custom pop-up window to open for some specific tasks (example a motor control or a setpoint definition for an analog instrument), is there any hope that this will be considered by Unitronics team?

On some other PLC brands there is already this functionality, an HMI screen can be defined to open as a pop-up over the current displayed one.

 

Thanks, regards.

Link to comment
Share on other sites

20 hours ago, Gabriel Franco said:

This task can be accomplished by use of "HMI Custom controls" The advantage: you design it just one time and re-use it as many times as needed.

Please be more specific, I don't understand the correct way to achieve this using custom controls.

I've created a custom control, a simple window with 3 buttons, now what? I don't see any option to 'attach' this custom control window to a button, how do I make it appear on button press?

Does it need to be positioned over the HMI screen and then use a bit to hide/unhide the custom control at the press of the button?

 

If there is another way to do this please explain.

 

Thanks.

Link to comment
Share on other sites

  • MVP 2023

I did some experimenting in UniLogic with this question and reached the following conclusions:

1.  You can't change the size of the HMI screen.  Therefore there is no "pop-up" window functionality at this time.  You can't drop a Custom Control onto a new display that is only the size of the Custom Control.

2.  When you press a button one of the options available is "Message Box".  This is like a Visual Basic dialog box asking a basic Yes/No question.  You can't really change it.

3.  You can add a Custom Control to it's own Layer, and then play with the Visibility property to make it appear and disappear.

Those are my observations.  If anyone has concrete experience on this feel free to chime in.

Joe T.

Link to comment
Share on other sites

1 hour ago, Joe Tauser said:

I did some experimenting in UniLogic with this question and reached the following conclusions:

1.  You can't change the size of the HMI screen.  Therefore there is no "pop-up" window functionality at this time.  You can't drop a Custom Control onto a new display that is only the size of the Custom Control.

2.  When you press a button one of the options available is "Message Box".  This is like a Visual Basic dialog box asking a basic Yes/No question.  You can't really change it.

3.  You can add a Custom Control to it's own Layer, and then play with the Visibility property to make it appear and disappear.

Those are my observations.  If anyone has concrete experience on this feel free to chime in.

Joe T.

I think it should be of minor effort for Unitronics staff to introduce the action to load a custom control on a button press.
Custom control window could be loaded centered on screen press coordinates and in case moved to avoid falling outside of the HMI area.

Maybe introduce a new action to close/hide the custom control window opened this way.

Link to comment
Share on other sites

I designed this Custom Control to control reversible motor. It has motor name, modes (O, P, M) , fwd start, rev start, alarm messages, alarm reset, interlocks status, motor status, close button.

image.png.21340bdb37bb3b184907023065d66947.png

Every part is attached to a tag (part of a struct defined to control a motor). e.g,  up button:

image.png.cb6525e31141e6154d774c8065d7c3b7.png.

 

Then, add the custom control to the screen (in this step, you cannot modify its size), set the specific motor tag (e.g. input conveyor #1)  and use a tag visibility to show the control. Set that tag when pressing the device you want to control.

 

image.png

Link to comment
Share on other sites

I see, thanks.

So if I need to add a pop-up window on every motor on a synoptic screen I'll have to place all the custom controls on screen and associate tags for animation/logic.

In this case, to avoid an over crowded HMI screen in the Unilogic editor what's the best strategy?
Place all the pop-ups on a dedicated layer as suggested by @Joe Tauser to show/hide on necessity while editing the regular HMI elements?

Link to comment
Share on other sites

28 minutes ago, Fotonic said:

So if I need to add a pop-up window on every motor on a synoptic screen I'll have to place all the custom controls on screen and associate tags for animation/logic.

Correct.

28 minutes ago, Fotonic said:

In this case, to avoid an over crowded HMI screen in the Unilogic editor what's the best strategy?
Place all the pop-ups on a dedicated layer as suggested by @Joe Tauser to show/hide on necessity while editing the regular HMI elements?

I place all the controls stacked on top of each other. By pressing the motor image (or the button or whatever you use to pop-up the control), reset all visibility tags and set the desired one.

 

 

Link to comment
Share on other sites

Yes, it's clear how it works on the PLC at runtime, I was referring to the editor, how to manage all the pop-up windows since they'll be placed over other HMI elements (at least in my case) and in the Unilogic editor that would cause some trouble in case the underneath HMI elements need to be accessed for editing.

I have made a quick test and placing pop-ups on a dedicated layer seems to be a nice practice, if that layer is hidded then the "regular" HMI screen is all accessible for editing.

 

Said so, this solution is a workaround for my initial quesion, I still hope that Unilogic staff will introduce native supporto for pop-ups one day...

Link to comment
Share on other sites

14 hours ago, Fotonic said:

how to manage all the pop-up windows since they'll be placed over other HMI elements (at least in my case) and in the Unilogic editor that would cause some trouble in case the underneath HMI elements need to be accessed for editing.

I have a lot of instances with overlapped elements / graphics  where hide visibility and pop up graphics are used throughout program depending on state / button presses
Right click and use the send to back / bring to front I find easiest to work when using layers of elements

image.png.864501f4c7d5054a5a468b3181a57ee6.png

Also can copy top element delete, work on bottom element and paste deleted one back when your done

I find sometimes Copy / Paste and a couple blank HMI Editing pages is useful in keeping all elements in proper location for building and troubleshooting
deleting top layered elements Copy / Paste some more and mesh it back up together
Sometimes using coordinates to mark exact location of elements if you want to move something out of the way and place it back later

All of this is easy when its your project and you're the builder, but I do see this being a bit of a pain for the next person dealing with hidden elements in some one else's program
(but that's what "find tag" is used for) 

Link to comment
Share on other sites

On 4/24/2024 at 1:31 AM, Saragani said:

Why aren't you using Layers?

You can hide an entire layer while editing the HMI, so you won't have to send to back or bring to front.

For me, layers introduce another variable to need to keep track of when editing
Also, I would now want to name all elements in the title section to keep the layer section organized  
I keep all my elements titles at default (button 6 / fixed text 14 /  binary image variable 4 / etc.) 

I can see the benefit of using layers depending on the page being created, I mean it would keep all elements better organized
Most of my HMI pages don't have enough overlapping images to justify setting layers vs. send to back / bring to front

I may try using layers going forward at some point for a screen with lots of overlapping elements

Link to comment
Share on other sites

  • 2 weeks later...
On 4/22/2024 at 1:00 AM, Gabriel Franco said:

I designed this Custom Control to control reversible motor. It has motor name, modes (O, P, M) , fwd start, rev start, alarm messages, alarm reset, interlocks status, motor status, close button.

This is a very interesting idea!

Can I ask you: how much is adding these extra controls and on/off visibility introducting lag into UniStream screens? Have you ever reached a point where a screen becomes unresponsive due to large number of elements?

Link to comment
Share on other sites

On 5/4/2024 at 6:23 PM, kvlada said:

This is a very interesting idea!

Can I ask you: how much is adding these extra controls and on/off visibility introducting lag into UniStream screens? Have you ever reached a point where a screen becomes unresponsive due to large number of elements?

Well, consider that usually there's only one pop-up open at a time so there should be no lag since you're not going to open many windows.

The only problem is during desigh phase that you have to organize pop-ups on their dedicated layer...

Link to comment
Share on other sites

On 5/4/2024 at 11:23 AM, kvlada said:

This is a very interesting idea!

Can I ask you: how much is adding these extra controls and on/off visibility introducting lag into UniStream screens? Have you ever reached a point where a screen becomes unresponsive due to large number of elements?

I haven´t noticed any lag when loading those screens or interacting within them.

What I´ve gotten are compile warnigs about exceding HMI elements, but this can be fixed by making some changes to the Unilogic configuration file.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...