FTView does it a couple of ways, parameter files (ME or SE) and direct tag calling (SE only).
Parameter files works like this...
I have a popup that controls a motor. So it has a start button, a stop button, a reset button, a multistate indicator that shows running/stopped/faulted/auto/manual based on an integer, and a few other things. The motor is controlled by an add-on instruction in the PLC called "Motor_1".
I develop my display. There are two lines of text at the top that are set to display "#1" and "#2".
My start button doesn't act on "Motor_1.StartButton", it works on "#3.StartButton". Likewise, the stop button acts on "#3.StopButton" and the multistate indicator points to {#3.Status}.
Then I create a parameter file that looks like this:
#1=Widget Packaging
#2=Conveyor
#3={[PLC]Motor_1}
At runtime, I click on a button which calls my motor control display, with the parameter file above. The display replaces all instances of #1, #2 and #3 with what's in the parameter file. So when the display pops up, the top two lines which are directed to display #1 and #2 display "Widget Packaging Conveyor". The buttons are now addressed to Motor_1.StartButton and Motor_1.StopButton, and the status display looks at Motor_1.Status.
So now I can create a single display, and call it with literally 500 different motors. That's an overwhelming time saving, especially if I need to add an extra button or an extra value to the status display.
If I didn't have an AOI behind all this, I could still do the same thing, I'd just need more parameters. Instead of being able to go #3.StartButton and #3.StopButton I'd just have to use #3 and #4, and then have the parameter file refer specifically to each individual tag in the PLC instead of pointing at a single tag structure and calling out individual elements. But being able to do it with one tag is a huge benefit - again if I need a small change, I don't have to update 500 parameter files with the additional element, I just have to update the AOI and then call out that additional element from the same #3 placeholder on the popup.
The direct tag reference works the same way, except you don't use a parameter file, you just literally define the parameters as you call the display. So my button code looks something like:
The /T flag means that what comes next are the tags references by the display, separated by commas, in numerical order (#1, #2, #3...).
Even easier again!
Parameter files works like this...
I have a popup that controls a motor. So it has a start button, a stop button, a reset button, a multistate indicator that shows running/stopped/faulted/auto/manual based on an integer, and a few other things. The motor is controlled by an add-on instruction in the PLC called "Motor_1".
I develop my display. There are two lines of text at the top that are set to display "#1" and "#2".
My start button doesn't act on "Motor_1.StartButton", it works on "#3.StartButton". Likewise, the stop button acts on "#3.StopButton" and the multistate indicator points to {#3.Status}.
Then I create a parameter file that looks like this:
#1=Widget Packaging
#2=Conveyor
#3={[PLC]Motor_1}
At runtime, I click on a button which calls my motor control display, with the parameter file above. The display replaces all instances of #1, #2 and #3 with what's in the parameter file. So when the display pops up, the top two lines which are directed to display #1 and #2 display "Widget Packaging Conveyor". The buttons are now addressed to Motor_1.StartButton and Motor_1.StopButton, and the status display looks at Motor_1.Status.
So now I can create a single display, and call it with literally 500 different motors. That's an overwhelming time saving, especially if I need to add an extra button or an extra value to the status display.
If I didn't have an AOI behind all this, I could still do the same thing, I'd just need more parameters. Instead of being able to go #3.StartButton and #3.StopButton I'd just have to use #3 and #4, and then have the parameter file refer specifically to each individual tag in the PLC instead of pointing at a single tag structure and calling out individual elements. But being able to do it with one tag is a huge benefit - again if I need a small change, I don't have to update 500 parameter files with the additional element, I just have to update the AOI and then call out that additional element from the same #3 placeholder on the popup.
The direct tag reference works the same way, except you don't use a parameter file, you just literally define the parameters as you call the display. So my button code looks something like:
Code:
Display MotorPopup /T "Widget Packaging", "Conveyor", {[PLC]Motor_1}
Even easier again!