FactoryTalk View SE slash screen/pop up?

jmveerkamp

Member
Join Date
May 2012
Location
OH
Posts
23
Hi, forgive me if this is a double post, I tried using the search feature and did not see anything come up.

I have a customer who is wanting a splash screen/pop up when their application starts using FactoryTalk View Site Edition. Is this possible using VBA or otherwise?

I know you set a display that shows when the runtime starts up but I was not sure about setting a timer to change to a different screen after so many seconds.

Thanks in advance,

Johnny
 
Look in Global Parameters for Display and Click help. This will explain how to do what you want. You'll basicaly set up a tag to write a screen number to and use the plc to change screen. You have to ID Screens with numbers (Right click on screen goto Display Settings) and don't leave plc write on all the time. The Help file will explain it best.
 
Look in Global Parameters for Display and Click help. This will explain how to do what you want. You'll basicaly set up a tag to write a screen number to and use the plc to change screen. You have to ID Screens with numbers (Right click on screen goto Display Settings) and don't leave plc write on all the time. The Help file will explain it best.

None of which applies for FTView SE.

Yes, you can set a timer, but I'd probably just make it stay there until a user touches anywhere, and then kill it with the VBA command:
UnloadDisplay "SplashScreen.gfx"

Stick that command in the display sub "Display_Deactivate()", and it will unload whenever the user clicks anywhere else on the screen. Also, make a full window group of all elements on the display, expose to VBA, and in the "OnRelease()" action for that group, also call UnloadDisplay.

Again, you probably could use a timer, but the VBA timers and FTView can get wonky at times.
 
Thank you rdast, it looks like the unload command works well. However, once the splash screen is gone the main screen does not load as I hoped. Here is the VBA code I am currently using. When the user clicks on the screen it calls Display_Deactivate.

Private Sub Display_Click()
Display_Deactivate
End Sub

Private Sub Display_Deactivate()
UnloadDisplay ("Splash.gfx")
LoadDisplay ("Main.gfx")
End Sub

Any help on where I am going wrong would be appreciated. Thanks.
 
Because you are just loading the display into memory. You need to "Display" it.

Could you explain what VBA syntax I could use?
I tried using:
Me.Application.LoadDisplay ("Main.gfx")

although this doesn't seem to accomplish anything.

Edit:
Never mind,
Application.ShowDisplay ("Main.gfx") appears to be what I was looking for. Thanks for the help all!
 
Last edited:
One way: Application.ShowDisplay "Wait", "/T1. There's other ways to do it too. This is just an example.

Loads, animates, makes visible, and gives focus to the specified display. Returns a Display object that represents the display that was shown.
This method is equivalent to issuing the Display command.
When this method is called the following events will occur in this order:
Application_DisplayLoad
Display_Load
Display_AnimationStart
Display_Activate
Syntax

Application.ShowDisplay Name, [Options]
or
Set oDisplay = Application.ShowDisplay(Name, [Options])
where
oDisplay – is the name of a Display object variable.
Application – is the name of a FactoryTalk View SE Client Application object or an expression that evaluates to a FactoryTalk View SE Client Application object.
Name – is a string that specifies the name of the display. In a distributed system, the name may be fully qualified. If it is not, the Current Area will be used to resolve the display name.
Options – is an optional string containing any of the command line parameters that can be used with the Display command. Because this method makes the specified display visible, the /Z and /ZA parameters are ignored.
Remarks

If a display with the specified Name is not found, an error is raised with Err.Number equal to gfxErrorDisplayNotFound.
If a display with the specified name is already loaded and multiple running copies are allowed, a new instance of the display is shown and returned. If multiple running copies are not allowed, the previously loaded display is made visible.
If the current user does not have the security code to access the display or to access the Display command, the display will not be loaded and an error is raised with Err.Number equal to gfxErrorSecurityAccess.
When testing the animation in displays in the Graphics editor, calls to this method raise an error with Err.Number equal to gfxErrorTestAnimation.
 
Last edited:
Application.ShowDisplay Name, [Options]

I ended up finding and making this way work when the screen is clicked. Thanks for the rest of the info.


One way: Application.ShowDisplay "Wait", "/T1. There's other ways to do it too. This is just an example.

I am going to try and make this way work as well, I think a time wait is what I am really looking for in the end.
 
I did this with a "Wait" screen to wait for somehting to complete first. I used:

Sleep 2000 This needs the following code placed in the General Module:

Option Explicit
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

I think this is in a technote somewhere.
 
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Found an answer in ID 31894 about using Sleep.

In the article it was mentioned use:
Private Declare Sub Sleep Lib "Kernel32.dll" (ByVal ms As Long)

Not sure how this differs from dwMilliseconds, but it seems to work. I ended up setting up sleep and then after the preset time it calls Display_Deactivate wherein the Main screen is called.
 

Similar Topics

Hi, I wanted to ask is there a way to have a visibility expression use the IP address of the HMI (Dynics, not PV) to show certain elements? The...
Replies
3
Views
167
This is admittedly a pretty obscure problem, but maybe someone else has run into it, or at least something similar. For reasons I won't get into...
Replies
3
Views
104
Hey everyone and anyone that can lend a helping hand. I have a project that I am being asked to add some animations of Solidworks or "3D" models...
Replies
9
Views
301
I can't seem to get the Panel View Plus 7 standard edition to downgrade to V_11, when I check the AB downloads and compatibility websites for this...
Replies
1
Views
123
Hi, I'm trying to export data from a DataGrid to Excel using VBA, but I'm getting an error "Object doesn't support this property or method". The...
Replies
0
Views
72
Back
Top Bottom