There is a way to do this if you have the pre-defined 'Banner' on every page
1. Create one or more pop-up pages
2. On the 'Banner' page add a text display, I called mine '1s Cyclic Task'. This text can be out of the bounds of the page limits if you like, so that you never see it on the HMI
3. Add a 'StateTable' animation to the text display, add two expression values to this table, 0 - OFF and 1 - ON. It doesn't matter what you put in the text column.
4. Put a PLC 1 second clock BOOL var in the animation Expression.
5. Add a StateEnter Event. StateName will be ON.Command will be VALUE WRITE. I wrote to a PLC STRING the value of ::Local:HMIDevice.Display.CurrentScreenName so that the PLC will know the current screen name.
In a very similar way, I added more texts with animation and events for things like;
'diPage Change'
'diPop-up Show'
'xPower-Up tasks'
One thing I do with the power-up task is turn on the VNC server, which is always off when you power up.
The pop-ups work like so;
1. Create one or more pop-up pages
2. On the 'Banner' page add a text display, I called mine 'Pop-Up show'. This text can be out of the bounds of the page limits if you like, so that you never see it on the HMI
3. Add a 'StateTable' animation to the text display, add as many expression values to this table as you have pop-ups, plus a zero state, I had ExpressionValues/StateNames of 0/PopUpClose, 1/PopUp1, 2/PopUp2 etc. It doesn't matter what you put in the text column.
4. Put a PLC DINT var in the animation Expression, a PLC value of 0 will close pop-ups, 1 will show PopUp1 etc.
5. Add a StateEnter Event. StateName will be PopUpClose. Command will be 'Popup Close'
6. Add another StateEnter Event for every pop-up you need. StateName will be PopUp1, PopUp2 etc. Command will be 'Open Popup', then select the pop-up that you created in step 1
That's the basics of it. I put buttons on my pop-up that (a) wrote a zero to the PLC DINT, and therefore closed the pop-up and (b) set some other PLC BOOL for use in the PLC logic.
If you don't have the banner everywhere, I suppose you could just copy/paste the texts onto all the relevant pages, but maintaining this would become a PIA.
I've done and tested this without much help from the crappy rockwell manual. There's not much help online for these HMI's yet either. If anyone knows a better way to do this, do tell!
I have a question of my own that follows on here. I have two identical PV5500s on my machine and would like to use the same project in ViewDesigner for both of them, however I would like to drive the four text displays mentioned above individually on each HMI. i.e. have the PLC change the page on one HMI only. I had thought to include the system var for IP address in the expressions somehow, so that the HMI can choose the appropriate var (i.e. HMI.System[1].diPageChange will control HMI 1). If the HMI had local user VARs, I could use one for a HMI ID unique to each HMI, but I don't think local user VARs exist.
Anyone help?