FactoryTalk View Tag Addressing

N20D5OH

Member
Join Date
Jul 2014
Location
Seminole, FL
Posts
19
I'm working with a FactoryTalk View program that I've never worked with before. I'm trying to find where the tag is linked for a button that is used in multiple places. After doing some research I'm seeing that these buttons are global objects. My question is I'm not seeing where the specific tag that this button is resetting in the PLC is referenced. No matter where the button is used in the program, under the connection properties, the tag link/expression is the same as in the picture I attached. All I'm trying to do is add another of the same button and reference one of my spare tags I have in the PLC.

COL Tag Links.png
 
Last edited:
Also, if I right click on the button that is being used in a screen and click Global Object Parameter Values, this is what I see.

COL Tag Links 2.png
 
Last edited:
You're on the right track. Right-click and select 'Global Object Parameter Values' to view the assigned tag reference.
 
I am not sure where the placeholders {#xx} are being assigned in your project. Have you checked the Parameter files in the explorer window?
 
I am not sure where the placeholders {#xx} are being assigned in your project. Have you checked the Parameter files in the explorer window?

I just did. Nothing in there looks to have anything to do with the displays I'm working with.

Is there any VBA code for the screen you're in currently?

Where would I find that? I apologize, I just have very limited exposure to this software. Most of my HMI experience is in Zenon, ProFace or Omron.
 
I'll take a stab at trying to explain this to you.

So you have [#1]#4. The #1 represents your global object parameter #1. The #4 represents of course global object parameter #4.

the [#1] says that it is the topic name in; with that bracket around it I would say your topic is your PLC Name. For instance lets say your controller name is MyPLC. You would then goto the global object parameter #1 and type in MyPLC.

The #4 is your pushbutton tag. So in the controller tags lets say your tag name is pushButton1. You would then go to #4 global object parameter and enter pushButton1.

The global objects are designed so you can horizontally deploy a bunch of object and do not have to go create the wheel every time. You just fill in the global object information and it works.

Essentially from the explanation I gave above [#1]#4 would be [MyPLC]pushbutton1.

Hope this helps.
 
Those Global Object # are defined at the global object. I assume you are using PlantPax if you are using global objects. Essentially if you change the base object you change it for all of the objects that were made from that base object "globally".
 
I just did. Nothing in there looks to have anything to do with the displays I'm working with.



Where would I find that? I apologize, I just have very limited exposure to this software. Most of my HMI experience is in Zenon, ProFace or Omron.

See my comments below; these # are not defined in a parameter file anywhere. They are defined at the global object "Base Object" level
 
I'll take a stab at trying to explain this to you.

So you have [#1]#4. The #1 represents your global object parameter #1. The #4 represents of course global object parameter #4.

the [#1] says that it is the topic name in; with that bracket around it I would say your topic is your PLC Name. For instance lets say your controller name is MyPLC. You would then goto the global object parameter #1 and type in MyPLC.

The #4 is your pushbutton tag. So in the controller tags lets say your tag name is pushButton1. You would then go to #4 global object parameter and enter pushButton1.

The global objects are designed so you can horizontally deploy a bunch of object and do not have to go create the wheel every time. You just fill in the global object information and it works.

Essentially from the explanation I gave above [#1]#4 would be [MyPLC]pushbutton1.

Hope this helps.

Thanks for the reply. I completely understand what you're explaining. Where I'm getting confused is every instance of the button has the same [#1]#4 referenced. But in my PLC, I can see different bits being toggled based on which screen I'm in. Hopefully I'm not seeming dense, or maybe this is what the developer was going for, keeping our hands out of it.
 
Thanks for the reply. I completely understand what you're explaining. Where I'm getting confused is every instance of the button has the same [#1]#4 referenced. But in my PLC, I can see different bits being toggled based on which screen I'm in. Hopefully I'm not seeming dense, or maybe this is what the developer was going for, keeping our hands out of it.

Yes that is the idea of a global object. Every instance will have the [#1]#4. You define what #1 is by changing that Global Object Parameter Value. Same thing applies to the #4.

I can have that same Global Object duplicated out and not have to go recreate that object individually. I just use a copy of the base object and define my values and it works. Again if you are using global objects I'm assuming this is a PlantPax FactoryTalk View Site Edition not Machine Edition.
 
Thanks for the reply. I completely understand what you're explaining. Where I'm getting confused is every instance of the button has the same [#1]#4 referenced. But in my PLC, I can see different bits being toggled based on which screen I'm in. Hopefully I'm not seeming dense, or maybe this is what the developer was going for, keeping our hands out of it.

So to expand on what I was talking about earlier.
Lets say you have 5 push buttons on 5 different screens
Instance 1 on Screen 1: [#1]#4 = [MyPLC]pushButton1
Instance 1 on Screen 2: [#1]#4 = [MyPLC]pushButton2
Instance 1 on Screen 3: [#1]#4 = [MyPLC]pushButton3
Instance 1 on Screen 4: [#1]#4 = [MyPLC]pushButton4
Instance 1 on Screen 5: [#1]#4 = [MyPLC]pushButton5

You will define that #1 and #4 for each instance on each screen.
 
"There is no problem that cannot be solved in software with another layer of indirection."


Maybe the OP has it figured out now, but I like understanding things by analogy; this is a long post but feel free to ignore it.



Think of the Levittown houses of post-WWII America. All of the houses are essentially the same house: you come in the front door, and the door opens to the right; in front of you is the coat closet; take a left and you are in the living room. On the other side of the living room is a hallway; the hallway has a bedroom on the right and past that another bedroom at the end of the hall on the right; the first door on the left is a bathroom,; the second door on the left is the master bedroom with a en suite bathroom; etc.


The relevance here is that you go into each house and the color schemes may change, the appliances may be Maytag or Whirlpool or GE, but the layout is the same, and all of the basic functionality (living room, bedrooms, bathrooms, kitchen, etc.) is in the same place in each house. The only thing that changes is the starting address.



The same thing with this addressing scheme: a different address - location, front door - of a global object is passed to the code that implements the buttons and other controls of a single screen, and at every address passed there is a global object that is laid out in the same way as every other global object at an address passed to that screen. So the first # refers to the street address, and the second # refers to a different room or object in a room; e.g. so when you push a button that is tied to e.g. [#1]#4, the light goes on in the kitchen (#4) of the global object in the house address 1 Levittown Rd. (#1). If you have another instance of that screen that passed [#2], 2 Levittown Rd, then [#2]#4 controls on the light in that kitchen.



80% of programming is bookkeeping.
 
"There is no problem that cannot be solved in software with another layer of indirection."


Maybe the OP has it figured out now, but I like understanding things by analogy; this is a long post but feel free to ignore it.



Think of the Levittown houses of post-WWII America. All of the houses are essentially the same house: you come in the front door, and the door opens to the right; in front of you is the coat closet; take a left and you are in the living room. On the other side of the living room is a hallway; the hallway has a bedroom on the right and past that another bedroom at the end of the hall on the right; the first door on the left is a bathroom,; the second door on the left is the master bedroom with a en suite bathroom; etc.


The relevance here is that you go into each house and the color schemes may change, the appliances may be Maytag or Whirlpool or GE, but the layout is the same, and all of the basic functionality (living room, bedrooms, bathrooms, kitchen, etc.) is in the same place in each house. The only thing that changes is the starting address.



The same thing with this addressing scheme: a different address - location, front door - of a global object is passed to the code that implements the buttons and other controls of a single screen, and at every address passed there is a global object that is laid out in the same way as every other global object at an address passed to that screen. So the first # refers to the street address, and the second # refers to a different room or object in a room; e.g. so when you push a button that is tied to e.g. [#1]#4, the light goes on in the kitchen (#4) of the global object in the house address 1 Levittown Rd. (#1). If you have another instance of that screen that passed [#2], 2 Levittown Rd, then [#2]#4 controls on the light in that kitchen.



80% of programming is bookkeeping.

I totally understand this methodology of programming, I use it often with Siemens Functions. I'm still struggling to understand WHERE the 2nd part of the address is called. #1 is obvious to me, it's basically the driver/link to the PLC. The #4 is where I'm still confused. I understand you can have multiple instances of the same global object, I'm just not seeing where the bit that it's toggling is called out. I really hope I don't seem as stupid as I feel right now, I'm just not seeing where that tag is set per instance.

Thank you guys for all the help. It's been a while since I've been out of my comfort zone, hence the lack of posts over the years.
 

Similar Topics

I have a FactoryTalk View Se project, Is it possible to export Direct Reference tags to edit in a CSV file or Excel? I know I can export HMI...
Replies
1
Views
266
Hi All, I'm trying to look into if it's possible to get FactoryTalk SE to build a process log report, recording various tag values at a poll rate...
Replies
1
Views
565
We are cutting over a PLC5 to ControlLogix and we ran into some issues with the HMI (FTView v10, Network Distributed). We found that after...
Replies
0
Views
922
RE: FactoryTalk View Tag Browser Datatype - UNRECOGNIZED Hi All I have a new install of FactoryTalk View SE 12 with the May 2022 patch rollup...
Replies
6
Views
3,214
Hi All, Does anyone know that how to monitor tag value during the client file is running? I don't want to create button with animation to find...
Replies
2
Views
1,424
Back
Top Bottom