FactoryTalk View SE Popup confirmation screen

Join Date
Aug 2016
Location
Sorel
Posts
5
Hi, i'm trying to create a popup screen which will appear only when a certain tag in the plc is active. With ME, it'S pretty easy with Global Connections but with SE, I have no idea how I could do that and I don't want to use visibility for this matter...

Thanks in advance!
 
SE is Client/Server based so it's a bit more difficult but doable. From the knowledgebase:

Complete the following steps:

Use an Event Detector to set a memory tag to 1. Alternately, create an object (for example a button or an object with Touch animation) that sets the tag.
Create a numeric display that monitors the tag in step 1.
Right-click the new numeric display and select Property Panel.
Make sure the ExposedToVBA property is set to VBA Control.
Close the Property Panel.
Right-click the numeric display. Select VBA Code.
In the Change event for this numeric display, add the following code:
Private Sub NumericDisplay1_Change()
On Error GoTo ErrorHandler
If Not IsError(NumericDisplay1.Value) Then
If NumericDisplay1.Value = 1 Then
ExecuteCommand "command string"
End If
End If
Exit Sub

ErrorHandler:
LogDiagnosticsMessage Err.Description, FTDiagSeverityError
End Sub



For example, to display a graphic called "Popup", the syntax would be:


ExecuteCommand "Display Popup"
Since this will execute on the client, no error will occur. Other FactoryTalk View SE commands or macros can also be called in this way.

This approach requires the graphic to be loaded at all times. This can easily be achieved by adding the following command to your client's startup macro, not the HMI server startup macro:

Display MyScreenName /ZA
If tag parameters are to be included in the Display command, they must be concatenated to the command string using Me.TagParameters(<index>) The following subroutine call will not execute correctly:

ExecuteCommand "Display MyScreenName /T#1"
Call the subroutine with the syntax below. Refer to : 26950 - Text Parameters/Invoke Method to Assign Text.

ExecuteCommand "Display MyScreenName /T" & Me.TagParameters(1)
Verify the VBA Code NumericDisplay1 number matches the NumericDisplay1 number of the object. If the object is NumericDisplay3 then the VBA code needs to be modified. NumericDisplay1 would have to be replaced with NumericDisplay3 for the code to work correctly. To verify the number of the object right-click on the Numeric Display inside FactoryTalk View Stuido and click Property Panel.

Note:To display an alarm screen whenever an HMI alarm occurs, change the memory tag in step 1 to System\ AlarmSummaryItemsUnacked and change the VBA code from: If NumericDisplay1.Value = 1 Then to If NumericDisplay1.Value <> 0 Then
For more VBA examples, you may check: 459824 - FactoryTalk View SE VBA - All You Need To Know - TOC
 
Here's a thread that I started a while back trying to do the exact same thing. Between robert's post above and the answers on that thread, you should be able to make something work :)
 
This thread was very helpful to me. I have been searching to find a way to popup a display based on a tag in a PLC.

I did have to play with the VB script a bit, this is how I had to change it to make it work for me:

ExecuteCommand ("Display PWLeafFilterWTLow /U")

I wanted the popup to close when the condition went back to zero, so I modified it a bit more. My entire script is:

Private Sub NumericDisplay3_Change()
If NumericDisplay3.Value = 1 Then
ExecuteCommand ("Display PWLeafFilterWTLow /U")
End If
If NumericDisplay3.Value = 0 Then
ExecuteCommand ("Abort PWLeafFilterWTLow")
End If
End Sub

THANKS AGAIN for this solution!!
 
this is the exact thread I've been looking for but I can't seem to find events or Visual basics in any of the windows. I'm using Factorytalk version 11. I would appreciate it if you could help me locate these taps. thanks.
 
I would use an Event. Events is under Logic and Control in the project tree.
First I would create a macro called OpenScreenXMacro with the two lines:
Display ScreenX
&Set ScreenXOpen 1 'setting this memory tag will keep the event from continuously trying to open the screen.


Then in the event,
Action: OpenScreenXMacro

Expression: If ScreenXPLCTrigger == 1 AND not ScreenXOpen Then 1 else 0


Where ScreenXPLCTrigger is your PLC trigger.



On the ScreenX display have it turn off the ScreenXOpen tag when it closes.
 
Last edited:

Similar Topics

Hi, When I open a property configuration popup, it is zoomed in so I cannot see all the configuration options. I don't know if this a Windows...
Replies
7
Views
2,626
Here we are in v12 of FactoryTalk View and from what I can tell, we still don't have a quick and easy way to close a popup after opening a new...
Replies
9
Views
4,001
Hi all, i'm new working on FactoryTalk SE. I need some help with this little thing. I have a popup wich should be closed if i click outside the...
Replies
2
Views
1,553
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
8
Views
137
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
97
Back
Top Bottom