Sign in to follow this  
Followers 0
queenslandpommie

PanelView Visibility Animation Delay

9 posts in this topic

FactoryTalk View Studio - Machine Edition Version 7.00.00(CPR 9 SR 6) PanelView Plus600 I have created a few small PanelView projects and often use the Animation feature to make certain objects visible or invisible. I notice that often when a new display is opened in Runtime, that for a brief moment the object is sometimes visible before disappearing when the conditions are such that the object should be invisible. I have two questions regarding this. 1. If the object is a Pushbutton, during the brief moment that it is visible (when it should be invisible), would pressing it during that brief moment of visibility cause the Pushbutton tag to be written to? 2. Are there any settings (either in FactoryTalk or the PanelView Plus configuration inbuilt Utility) that can allow a display to refresh before deciding to make objects visible or maybe to delay displaying objects that have visibility clauses attached to them? Whilst the brief appearance of objects that should be invisible is irritating and makes the finished project look unprofessional, what is of more concern is that incorrect operation of a PLC program or PanelView Display navigation could occur. I understand that careful PLC programming should avert machinery disasters but would appreciate any advice about this issue, Thanks Neil

Share this post


Link to post
Share on other sites
Check your screen update rate, right click the display and look at it's properties, the standard setting is quite slow, set it to 0.1s and see how it performs.

Share this post


Link to post
Share on other sites
You can also do your visibility in reverse - make the items invisible by default and use the animation to make the item visible. That way it'll happen the other way around, tags that need to be visible will be invisible for that split second, and then visible. Not sure about your first question Edited by ASForrest

Share this post


Link to post
Share on other sites
It's been a while ago but I believe I've seen this issue resolved by changing the Display Type under Display Settings. By default, a new screen is of type 'Replace'. If you choose type 'On Top', the display will not need to refresh when it is displayed again. Beware if you are using pop up windows this may cause you some other issues though.

Share this post


Link to post
Share on other sites
Thanks for the replies, I really appreciate it. The refresh rate when I checked it is set to 0.05 seconds. After posting my original questions, I came across the info in the User Manual about making the expression to be invisible when true rather than visible. Haven't fully tested it, but have rewritten the expressions for invisibility and done some testing by running on the laptop rather than the actual PanelView. I have a few conditions so have to use some If Else Then expressions. I'm new to writing expressions, so need to make sure that I get them right. I find sometimes my expressions pass the syntax check but don't always work as I expect. Not really sure what the Display Type of 'On Top' means but will also give that a go. Does that mean once it is opened the first time, it remains active in the background until you reopen it?

Share this post


Link to post
Share on other sites
I believe that is correct. It's easy enough to try. The downfall is that if you require a pop up (smaller screen) then it may not be guaranteed to always be 'On Top' even if it is an On Top window. I hope that makes sense. For instance, you have a pop up where the operator is required to select something to continue the process. If they accidentally touch outside of the pop up then the pop up may be lost in the background. The Help section explains this somewhat but testing it really does it justice. You may have to experiment.

Share this post


Link to post
Share on other sites
Hi Neil. (1) No, I believe the object is not usable for that brief moment. You can try it, be quick and press the button. The first time you load a display is slower than subsequent loads. You may notice that delay is nearly gone the 2nd time you visit that display. (2) ASForrest mentioned using invisible by default. Try that. Open the Properties Panel, select your object, and set the Visible property to false (uncheck it). By default, that object will be invisible. After that it should process the visibility animation to determine to show or not show. 0.05 update rate is generally not possible. If the controller cannot keep up, the PVP will just keep the controller busy trying to service all those tag update requests. The 100 msec setting is the fastest practical rate that you can get the PanelView Plus to pull data from a Logix controller over ethernet. The exception to that is if all your tag data is within arrayed tags, which is not common. I would recommend using 500 msec, no faster. When the display loads it gets the first tag data as quickly as it can. Try it. Set the display update rate to 1 second and you will see the display load with data just as quickly (data after that will be at the slower 1 second though). Yes, you could use the display as an "OnTop". But as IO_Rack points out, the display will always be running in the background. Meaning, it will continue to poll across your network to the controller every 0.05 seconds. Too fast. Consumes too much of the Logix controller system overhead timeslice (background tasks) which will cause data update rate issues on other screens, terminals, or computers reading from the same controller. I would avoid using the OnTop for that purpose, unless everything I just said made sense. Let us know how it works out.

Share this post


Link to post
Share on other sites
Thanks again for the info. I opted to change the objects to be invisible if the expression is true (which took a bit of figuring out) and I also set the refresh rate to the fastest time of 0.05 seconds. I should have tried one at a time to see which was the successful one, but was keen to just eradicate the problem. I will increase the refresh rate to 500 msec as advised by Arlen particularly as we have some issues with slow SCADA update times. Also the Controllers are SLC 5/05. I do not have any displays set to On Top. The objects do not appear as they did, maybe just a hint of the outline of the object, but only for a fraction of a second. Before there was time to read the attached text on the objects. We have a PanelView connected to an SLC500 we use only for testing and training so I may try to set that up with an invisilbe object and set the refresh to the slowest and see if it will operate. Edited by queenslandpommie

Share this post


Link to post
Share on other sites
I have the same issue. The only way I found to improve the button visibility behaviour was switching from indirect addressing (HMI taglist) to direct addressing (for example {::[shortcut]N10/0}. This improves update speed of the button and it no longer blinks after changing displays while navigating the HMI.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0