EasyBuilderPro ReUsing Screens

PLC Pie Guy

Member
Join Date
Jun 2013
Location
Halifax
Posts
1,144
Hey All.

I have a series of screens I use in EasyBuilder Pro. I made set for a UDT and AOI that I use in my Compact Logix processors.

The screens all look at the same UDT. Its big and has a lot of moving parts, but EasyBuilder is fine with the UDT and everything works very nicely as I intended it.

Now I want to add more drives.

I don't want to have to re-create the PopUps and re-configure all my direct/indirect window settings and commands. It could make for a lot of screens in the project to manage as motor count creeps up.

Preferably. I would use the same set of screens over but make the button that selects which motor I'm selecting push the UDT tag name to the PopUp screens. One button would make the set of screens look at VFD_E_004, the next button would make the screens look at VFD_E_104. Both of the same tag type.

Has anybody done something similar they might be willing to share? Or have a theory on how one might accomplish such a task... I'm not seeing any such objects in EasyBuilder to make this happen for me.

Thanks for any interest!
 
I have not done anything similar, but I have a thought.

You would have to change your screen to use all HMI variables.
When the button is pressed, set the name of the UDT to an HMI variable and run a script.
The script would get the name of the UDT first and then use it for the GetData.
In the script, you would do as many GetData and SetData as necessary for your UDT.
You would need to get the data for the current UDT and then set that data to the HMI variables.

You might look through the example screens and see if there is anything similar as well.
 
I have many popups that do similar. I am actually connecting the HMI to 13 different compactlogix processors. What I did is to create dedicated UDT and AOIs in the plc. I then utilize a DINT to assign a specific device. For example if the MotorSelDINT = 1, that may mean that I want to interact/look at condenser pump. So in the PLC code, I call the AOI to map Cond Pump tag to/from HMI tag.
In the HMI, I have big scripts taht set system selection and device number. So for example if the user clicks on a chilled water pump, I set the system = 1 and device = 2. I have a script that will then write to the chilled water PLC a 2 to MotorSelDINT. There is then another script on the HMI that looks to see which system ID and reads/writes data to/from the specific PLC HMI tag. Does any of that make sense?
 
I have not done anything similar, but I have a thought.

You would have to change your screen to use all HMI variables.
When the button is pressed, set the name of the UDT to an HMI variable and run a script.
The script would get the name of the UDT first and then use it for the GetData.
In the script, you would do as many GetData and SetData as necessary for your UDT.
You would need to get the data for the current UDT and then set that data to the HMI variables.

You might look through the example screens and see if there is anything similar as well.


This is pretty much what I had in mind, probably with a mix of the suggestions from g.mccormick in his reply as well.

Il have some head scratching to do to get this to work I'm sure. But will make so much more sense at the end of the day on a grander scale in our facilities. This is simply for the machines that I cant use A PanelView on. There I already have all this done. But I want to get it working on EasyBuilder as well.

Thanks
 
I have many popups that do similar. I am actually connecting the HMI to 13 different compactlogix processors. What I did is to create dedicated UDT and AOIs in the plc. I then utilize a DINT to assign a specific device. For example if the MotorSelDINT = 1, that may mean that I want to interact/look at condenser pump. So in the PLC code, I call the AOI to map Cond Pump tag to/from HMI tag.
In the HMI, I have big scripts taht set system selection and device number. So for example if the user clicks on a chilled water pump, I set the system = 1 and device = 2. I have a script that will then write to the chilled water PLC a 2 to MotorSelDINT. There is then another script on the HMI that looks to see which system ID and reads/writes data to/from the specific PLC HMI tag. Does any of that make sense?


It does make sense. I just have to figure out he to make it work. I have not done a lot of scripting in the HMI... Only very basic operations but using the GET/SET function was how I was thinking it would go.
 
It does make sense. I just have to figure out he to make it work. I have not done a lot of scripting in the HMI... Only very basic operations but using the GET/SET function was how I was thinking it would go.


That is exactly how I did it (Get/Set). I will try to get a bit of time this evening to reply with some examples.
 
Scripting may net be needed depending on how flexible you can be with the addressing on the PLC side. EZBuilder Pro has an index feature which lets you offset the address using an index value. base address + index = used register. Lookup "Index register" in help and you will get a good explanation. Use a standard common popup screen and use the index register to determine which addresses the objects reference. The downside is that you need to do a bit of planning for your addresses so you don't run into another address when using the offset.



Cheers
 
I have many popups that do similar. I am actually connecting the HMI to 13 different compactlogix processors. What I did is to create dedicated UDT and AOIs in the plc. I then utilize a DINT to assign a specific device. For example if the MotorSelDINT = 1, that may mean that I want to interact/look at condenser pump. So in the PLC code, I call the AOI to map Cond Pump tag to/from HMI tag.
In the HMI, I have big scripts taht set system selection and device number. So for example if the user clicks on a chilled water pump, I set the system = 1 and device = 2. I have a script that will then write to the chilled water PLC a 2 to MotorSelDINT. There is then another script on the HMI that looks to see which system ID and reads/writes data to/from the specific PLC HMI tag. Does any of that make sense?

Iv been toing with some of this.
I created an AOI to move to the UDT to an HMI Tag that I should be able to use without a lot of scripting at all. Using a button to select which AOI I run in respect to the VFD I select. It seems to be working ok at this point but I have a long way to go to get to where I want to be with it. Lots of work, but once set up, it should mean I only need to change the address of the UDT going into the AOI.
 
I got this man!!

I spent many many hours making this all work as I wish, amongst the rest of the weeks chaos. But the main pages are complete! I can switch between motor objects just as smoothly as I would do with my global objects/parameter files in AB and it looks even better with the EasyBuilder graphics. I'm pumped as it has simply turned out nicer than I expected. There was only a few lines that I had scripting to do in the Macro, I did most of the work in the PLC AOI.

The only snag I see or had to fix rather, Is since the tag in the HMI that looks at the VFD that is currently selected is only the object selected and does not remember the last object to be selected, I have to add a small array in the PLC to hold the VFD names and current state as I want to display them on the main screen before the user is to select a motor Popup to open. Versus the Ab parameter file that would all still be available while another pop up was open to display all the VFD names at the same time. Very minor detail indeed....

Now I need to set up the last couple screens for the motor interlocks and alarm / fault definitions, then move on to making the same HMI screens work in my Micro850!

Just in case anybody was interested..:whistle:
 
Good job. I apologize for not getting the info to you. Ive not had the time at home. I still plan to respond with my info in case it gives a different option to someone.
 
Good job. I apologize for not getting the info to you. Ive not had the time at home. I still plan to respond with my info in case it gives a different option to someone.

No worries man.
Self learning, trial and error is the best way to learn anyway. I'm so happy with how this little project turned out. I have a bit of polishing to do on the VFD faceplate to properly display not only a possible fault code, but the fault description as well, for the common faults anyway. Also, amount of starts, run time, ect. Then I'm going to modify it slightly and do one for contactor motor, as well as one for a digital input and output. Build in delay on, delay off Input status. counters and configurable alarms.
It will take some time of course.
 
Good job. I apologize for not getting the info to you. Ive not had the time at home. I still plan to respond with my info in case it gives a different option to someone.

Good Morning,

I am also looking for a solution to this, but without modifying the PLC Code

Any Chance you could share your solution

Thanks - Neil
 

Similar Topics

When using the Siemens S7-1200 Symbolic Addressing driver, there is no Offset Tag or Index Option I wish to be able to read an array tag for...
Replies
0
Views
691
I'm working with a Panelview for the first time in a long while, and I'm thinking through how I'm going to reuse a file from a machine the...
Replies
2
Views
1,160
I have a FactoryTalk View ME program that has about 20 screens. The connections are linked to the plc program via the 'shortcut' method. I now...
Replies
6
Views
2,710
I am a newbie to VB Scripting but looking around threads I found a code to help me out reusing a Sub I have already written in another display. To...
Replies
3
Views
4,258
I have just replaced an aged S5 150U with extension racks and have found a perfect use for the old racks.
Replies
1
Views
1,213
Back
Top Bottom