You are not registered yet. Please click here to register!


 
 
plc storereviewsdownloads
This board is for PLC Related Q&A ONLY. Please DON'T use it for advertising, etc.
 
Try our online PLC Simulator- FREE.  Click here now to try it.

New Here? Please read this important info!!!


Go Back   PLCS.net - Interactive Q & A > PLCS.net - Interactive Q & A > LIVE PLC Questions And Answers

Reply
 
Thread Tools Display Modes
Old July 31st, 2020, 08:48 AM   #1
N20D5OH
Member
United States

N20D5OH is offline
 
Join Date: Jul 2014
Location: Seminole, FL
Posts: 19
FactoryTalk View Tag Addressing

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.
Attached Images
File Type: png COL Tag Links.png (9.4 KB, 62 views)

Last edited by N20D5OH; July 31st, 2020 at 09:32 AM.
  Reply With Quote
Old July 31st, 2020, 09:04 AM   #2
N20D5OH
Member
United States

N20D5OH is offline
 
Join Date: Jul 2014
Location: Seminole, FL
Posts: 19
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.
Attached Images
File Type: png COL Tag Links 2.png (14.0 KB, 62 views)

Last edited by N20D5OH; July 31st, 2020 at 09:38 AM.
  Reply With Quote
Old July 31st, 2020, 09:49 AM   #3
spartacus06
Member
United States

spartacus06 is offline
 
Join Date: Jul 2017
Location: MI
Posts: 38
You're on the right track. Right-click and select 'Global Object Parameter Values' to view the assigned tag reference.
  Reply With Quote
Old July 31st, 2020, 09:55 AM   #4
N20D5OH
Member
United States

N20D5OH is offline
 
Join Date: Jul 2014
Location: Seminole, FL
Posts: 19
Quote:
Originally Posted by spartacus06 View Post
You're on the right track. Right-click and select 'Global Object Parameter Values' to view the assigned tag reference.
Thanks for the reply. If you look at my second post, I uploaded a picture of the Global Object Parameter Values. This makes no sense to me. lol
  Reply With Quote
Old July 31st, 2020, 10:22 AM   #5
spartacus06
Member
United States

spartacus06 is offline
 
Join Date: Jul 2017
Location: MI
Posts: 38
I am not sure where the placeholders {#xx} are being assigned in your project. Have you checked the Parameter files in the explorer window?
  Reply With Quote
Old July 31st, 2020, 10:30 AM   #6
mylespetro
Supporting Member
Canada

mylespetro is offline
 
mylespetro's Avatar
 
Join Date: Dec 2015
Location: NS
Posts: 229
Is there any VBA code for the screen you're in currently?
  Reply With Quote
Old July 31st, 2020, 10:37 AM   #7
N20D5OH
Member
United States

N20D5OH is offline
 
Join Date: Jul 2014
Location: Seminole, FL
Posts: 19
Quote:
Originally Posted by spartacus06 View Post
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.

Quote:
Originally Posted by mylespetro View Post
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.
  Reply With Quote
Old July 31st, 2020, 10:41 AM   #8
ElectroRazr
Member
United States

ElectroRazr is offline
 
Join Date: Sep 2012
Location: Florida
Posts: 29
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.
  Reply With Quote
Old July 31st, 2020, 10:47 AM   #9
ElectroRazr
Member
United States

ElectroRazr is offline
 
Join Date: Sep 2012
Location: Florida
Posts: 29
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".
  Reply With Quote
Old July 31st, 2020, 10:49 AM   #10
ElectroRazr
Member
United States

ElectroRazr is offline
 
Join Date: Sep 2012
Location: Florida
Posts: 29
Quote:
Originally Posted by N20D5OH View Post
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
  Reply With Quote
Old July 31st, 2020, 10:49 AM   #11
N20D5OH
Member
United States

N20D5OH is offline
 
Join Date: Jul 2014
Location: Seminole, FL
Posts: 19
Quote:
Originally Posted by ElectroRazr View Post
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.
  Reply With Quote
Old July 31st, 2020, 10:54 AM   #12
ElectroRazr
Member
United States

ElectroRazr is offline
 
Join Date: Sep 2012
Location: Florida
Posts: 29
Quote:
Originally Posted by N20D5OH View Post
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.
  Reply With Quote
Old July 31st, 2020, 10:58 AM   #13
ElectroRazr
Member
United States

ElectroRazr is offline
 
Join Date: Sep 2012
Location: Florida
Posts: 29
Quote:
Originally Posted by N20D5OH View Post
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.
  Reply With Quote
Old July 31st, 2020, 11:22 AM   #14
drbitboy
Lifetime Supporting Member
United States

drbitboy is offline
 
drbitboy's Avatar
 
Join Date: Dec 2019
Location: Rochester, NY
Posts: 1,236
"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.
  Reply With Quote
Old July 31st, 2020, 12:42 PM   #15
N20D5OH
Member
United States

N20D5OH is offline
 
Join Date: Jul 2014
Location: Seminole, FL
Posts: 19
Quote:
Originally Posted by drbitboy View Post
"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.
  Reply With Quote
Reply
Jump to Live PLC Question and Answer Forum

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Topics
Thread Thread Starter Forum Replies Last Post
FactoryTalk View Tag Import colemaj1 LIVE PLC Questions And Answers 4 October 5th, 2017 11:54 AM
FactoryTalk View "System\Time" tag rleon LIVE PLC Questions And Answers 2 August 16th, 2017 12:51 PM
FactoryTalk View Studio 8.10 - HMI Tag Window problem JohanM LIVE PLC Questions And Answers 1 November 4th, 2015 06:29 AM
RSLogix 5000 Multiple Aliases to Same Tag davidc100 LIVE PLC Questions And Answers 10 May 27th, 2014 09:04 PM
RS View tag addressing wrongboy LIVE PLC Questions And Answers 5 April 25th, 2007 11:45 AM


All times are GMT -4. The time now is 07:57 PM.


.