Parameter List Limitations in FactoryTalk Studio

cdwilliams496

Member
Join Date
Apr 2018
Location
Aiken, SC
Posts
19
All,

Thanks for reading this post and for any ideas and suggestions. As stated on one of my previous post, I am in the process of upgrading an existing HMI system. I am needing to change over from the normal tag configuration of (i.e. Start Motor = B3:1/2) over to a parameter list configuration of (i.e. Start Motor = {2} and {2} = ::[Presses]Program:pROGRAM_1.B3[1].2)

In the correct configuration, it is a 1 to 1 PLC to HMI ratio. But I am going over to a 1 PLC controlling 23 HMIs. All HMI will have the same screens so this is why I am using the parameter list functionality so I can just create one Studio program and have just one runtime file.

Problem I am starting to see (and read) about is that there a 500 parameter limit when using parameter list. And the old HMI tags have a count of about 780.

I can trim some tags down but I will still be over the 500 count. Any suggestions how I can get around this and/or do this another way to accommodate these tags?

Thanks for all the help!!
 
You don't need to replace the entire tag with a parameter. You can just change the root reference and then all the sub tags change automatically. The parameters are substituted into the tag reference and then evaluated as a new tag name.

This is easy to do in Logix where you can just change the program reference or put all the stuff into structures. It looks like you are simulating SLC structures in a Logix processor. If each PROGRAM_n has the same structure then all you need to do is substitute the program name:
{::[Presses]Program:pROGRAM_#1.B3[1].2)}
Then you can substitute #1 with the program number. If you do this when opening a page then all the objects on the page will inherit it.
 
I am sorry, I am not completely following your advice. I have the 1 PLC controlling 20 identical machines. What I am trying to accomplish is when you are at machine #2's, that HMI is only pulling tags from the task "Program_2" (which will be added later in Logix). All tasks in the PLC will be identical with its own local tags.

The way I was going to do it was to make an HMI page on that you choose with machine that HMI is attached. So if you was at machine 1, once you pressed button 1 on the HMI, it would pull tags from the parameter list

Parameter list 1 Tags:
#2 = ::[Presses]Program:pROGRAM_1.B3[6].2
#125 = ::[Presses]Program:pROGRAM_1.ST254[8]
#126 = ::[Presses]Program:pROGRAM_1.ST254[9]
#152 = ::[Presses]Program:pROGRAM_1.N252[71]


Parameter list 2 Tags:
#2 = ::[Presses]Program:pROGRAM_2.B3[6].2
#125 = ::[Presses]Program:pROGRAM_2.ST254[8]
#126 = ::[Presses]Program:pROGRAM_2.ST254[9]
#152 = ::[Presses]Program:pROGRAM_2.N252[71]

And so on...... Issue is that I can only put in 500 tags in a parameter list and I need more than the 500 limit.

Logix Designer.png
 
So I think your are confused about the limit. The Parameter Files are limited to 500 Parameters per Parameter file created. Not 500 total per project. So unless your using more than 500 tags on one single display page your not limited.

edit: Not sure about giving someone 22 out of 23 chances to pick the wrong machine, So you might want to rethink that approach.
 
Last edited:
Yes. That is what I meant, I have more than 500 entries per parameter file.

Per my example above, currently, I have (1) Factory Talk Studio HMI program now that has 700 tags (not in parameter files). This (1) HMI file is used at each machine's HMI.

Now, I am converting over 20 machines that has 1 SLC processor to 1 HMI ratio over to a system that will have 1 Logix processor controlling the 20 machines. So this 1 Logix processor will be connected to 20 HMIs and 20 SLC remote racks.

Each HMI is located on its individual but completely identical machine.

All tags from machine to machine are identically addressed. So in the Logix processor, I have separated out each machine to individual "Program_1", "Program_2", etc… files running under the main routine. All tags needed for the HMIs will be local variables within that machines program file instead of global variables.

This was done so that each address would be the same from program to program. To help with troubleshooting.

So for example:
[Presses]Program:pROGRAM_1.B3[6].2 = Machine Start Pushbutton (for machine 1)
[Presses]Program:pROGRAM_2.B3[6].2 = Machine Start Pushbutton (for machine 2)
.
.
.

I wanted to do a parameter list groups in Factory Talk Studio for each machine. So each machine would have its own separate parameter list. So that if you are standing at machine 2, that HMI will be pulling data points from "Program_2" in the processor and so on.

But with more than 500 tags, I can’t do a parameter list per machine because I am over the internal 500 tag limit for a parameter file.

Are there any advice to overcome this limitation or another way to do this?
 
Export your tags from the original HMI. Its under Tools>Tag Import/Export Wizard. Then use Excel to search and replace Tag names to new Programs. Rinse and repeat 23 times.

I am confused about making 1 parameter file for the whole HMI program. Are trying to use the Global Connection Parameter file tag?
 
So just to be clear. It sounds like you want to make 1 parameter file with 750 tags. Then call the same parameter for every display selected. That is to say page 1 uses 1-100 parameter, page 2 uses 101-200 parameter, page 3 uses 201-300 parameter, etc.

Where if page 1 required 100 tags you make a parameter file named "Press1_pg1" and use parameter {#1} thru {#100}

page 2 requires 100 tags you make a parameter file named "Press1_pg2" and use parameter {#1} thru {#100}

page 3 requires 100 tags you make a parameter file named "Press1_pg3" and use parameter {#1} thru {#100}

Then call the page # parameter file when each display page is opened.

If your display page is displaying 700+ tags of information that's one busy display.
 
You know that you can just pass the program name as a parameter and then use it in every tag?
#1=PROGRAM_1

{::[Presses]Program:#1.B3[6].2}
 
Last edited:
Ok... Thanks to all for the feedback. I am new to using parameter lists so I am trying to learn this feature as I go alone. Sorry for any confusion in my responses.

CWAL61 - After finally able to get back on this project (from working on other things) I see what you are saying. That by calling a parameter list, it is only a HMI page specific. I was under the impressing that I could call a parameter list and it would be used across all 20 pages I have in the HMI project. I would not have 700 tags called on one page.

I have attached what I was trying to do (that was not working)

Basically, I am trying to make it so I can have just one (1) HMI program (just 1 runtime file) that I can load on all 20 HMIs.

Press Button Attachment:
Here is a page I was making that would have a button page to select which press this HMI is attached.


Press Button Info:
Here is the setup for the button (What I have just noticed is that this button is only good for one page and not for the whole project). This is where the confusion was coming in to play. I was using this button to choose with parameter list to pull the tags from

Parameter List Info:
Here is how I was setting up the parameter list. Where I was just going to change the root reference of the tag.


Geoff White - Can you explain in a little more detail your idea on this:

This is easy to do in Logix where you can just change the program reference or put all the stuff into structures. It looks like you are simulating SLC structures in a Logix processor. If each PROGRAM_n has the same structure then all you need to do is substitute the program name:
{::[Presses]Program:pROGRAM_#1.B3[1].2)}
Then you can substitute #1 with the program number. If you do this when opening a page then all the objects on the page will inherit it.

Thanks again for everyone's help

press buttons info.jpg parameter list info.jpg press buttons.jpg
 
Why don't you split your application in several screens? I'm not sure what you're building here, but 700 tags on a single screen seem very excessive. To elaborate further, build a "screen 1" which will have 300 tags with parameter files mach1_1, mach2_1, mach3_1, etc. Create a second screen which will have all the other elements (400 tags) whic references parameters files mach1_2, mach2_2, etc.

Does that make sense? The parameter file is used for a single screen, but you can split that screen into two screens and have 2 files which will have less than 500 tags each.
 
There will not be 700 tags on a screen. I didn't know that all tags had to be used on one screen using a parameter file until yesterday. That is what I was confused about.
 
FYI,

1. You can double click inside the parameter file to open the Tag database to select tags for the parameters.
2. You can copy the entire parameter file and paste in notepad or excel to search and replace to create duplicates.
 
The link has an apa with two screens in it. The first allows part of the machine to be selected with goto buttons. The goto buttons use parameter lists that pass the program name.

The second screen is opened with the parameter list and the program name is used as a parameter in all the objects on it.

You can certainly have one hmi project that will work on all n programs but you will need some mechanism to select which program the screen will be talking to. Maybe a landing page with selector buttons. This is not ideal as the operators will definitely end up controlling the wrong machine!

https://fibreking-my.sharepoint.com...ents/Public/parameter_demo.zip?csf=1&e=pi4nPF
 

Similar Topics

Hi All, I was wondering if it is possible to use parameter files that can be passed to a second page eg: --HOME ---PUMP 1 FACEPLATE (With...
Replies
4
Views
1,135
Hello, So I have a 1769-L16ER AB controller (firmware 32) connected to a PanelView Plus 7 Standard (firmware 12). When I change to a screen with...
Replies
3
Views
2,511
I have a screen that can be opened by 4 different buttons. Each button loads a different parameter file for that screen. I am passing a constant...
Replies
3
Views
2,242
Is there a way I can get a parameter list value passed back to the logic? I'm using FactoryTalk Studio 9.0 ME and RSLogix 5000 v30. I have 2...
Replies
6
Views
8,348
Hi all, I have an ME project (not my code) that I have to modify. The original programmer has used parameter lists (not parameter files)...
Replies
3
Views
2,965
Back
Top Bottom