FactoryTalk SE

amx701

Member
Join Date
Jul 2018
Location
united states
Posts
5
Hi,

I am migrating a project from FactoryTalk ME to FactoryTalk SE. On this project we use Global Connections: Replace Display Number to update a Tag in the PLC when the operator changed HMI screens. This prevents a few things from happening unless a particular HMI screen is active.

Based on my google searches it sounds like I may need to use VBA to implement something similar in FactoryTalk SE. Is this true or did I just overlook where a similar feature is in SE?

If this is true can you give me an example on how to do this? All the examples I have been able to find require an event (button push) and it doesn't seem like changing the active HMI screen is considered an event that will trigger a VBA script.

Thanks
 
Welcome to the forum!


You will need to use VBA. In SE, events happen at the server level, but the VBA runs at the client level. The server has no idea what display is currently being displayed - you could have 20 clients all displaying different screens, the server just stores the data and hands it out to any client that comes asking.


I'd suggest that the BeforeAnimationStart VBA sub for the relevant display is probably a good place to start. When you first load a screen, it will execute this code before starting animation on the display. However one thing to check would be whether this is affected by the display cache setting. Each display has a setting as to whether it is stored in the local cache once loaded (so it loads faster the next time), or retrieves it from the server each and every time it's used. If it's cached, I'm not sure whether it would run the BeforeAnimationStart sub after the first display. Worth experimenting with.


If it doesn't you could still use that approach, you'd just have to not cache the specific displays relevant to your application. If they're large and complex displays, this might be a pain as the load time for the display will be noticeably long every time. But if they're simple displays, it's probably not an issue. In that case you could just set a PLC tag on BeforeAnimationStart and reset it on BeforeAnimationStop (when the display is closed/replaced).



Another option might be to set a bit in the PLC when you call that display. So instead of using a Go To Display button, just use a regular button that has two commands: set [PLC bit], and Display [relevant display]. Then, all the buttons that navigate away from that display reset the PLC bit before calling the other display.
 
There is another option.

We use the startup command of the displays.
Display settings -> Behavior -> Commands -> Startup

A startup command like "&Set DisplayNr 7" will set your Tag to 7, and if the Tag is a PLC Tag you can read that in the plc.

But take special care if you run multiple SE HMI's at the same time, as one could set this Tag with another display being onother Display (as ASF said).
 

Similar Topics

how to communicate FactoryTalk Optix and Mitsubishi Q Series. I want to know the details of that
Replies
0
Views
22
Hoping someone can give me some guidance or confirmation of what I need to do. We have a FactoryTalk SE program that I need to change the IP...
Replies
0
Views
28
We are a water/wastewater plant, collecting realtime and manually entered data. We have been using FactoryTalk Historian (OSI PI) for real time...
Replies
1
Views
57
Good morning! Let me start by saying, I am still learning about this type of HMI programming. I recently watched a video about recipes and how it...
Replies
0
Views
53
Hello, I'm using FactoryTalk View ME V10. I created a valve as a global object with multiple parameters and when the object is being used at the...
Replies
2
Views
106
Back
Top Bottom