AOI UDT tags access issue

Yashka

Member
Join Date
Nov 2019
Location
WV
Posts
91
Hi All!

I've created some AOI and have added a local tag of my UDT. I've set external access to Read/Write in AOI's tag browser. So, I've created the instance of this AOI, but I can't see my UDT member when I'm expanding the AOI's instance tag in the tags browser.

What I'm doing wrong? Is it possible in general?

Thanks in advance!
 
Try setting your scope in the tag browser to be the AOI in question (and then set your Data Context if you want to look at any specific usage of the AOI).

It looks like the AOI tag in the Controller/Program scope only shows Input and Output parameters, not Local Tags or In/Out parameters.
 
Try setting your scope in the tag browser to be the AOI in question (and then set your Data Context if you want to look at any specific usage of the AOI).
I don't need to browse something inside AOI. I need access to elements of the UDT tag that is inside of AOI.

[/QUOTE]
It looks like the AOI tag in the Controller/Program scope only shows Input and Output parameters, not Local Tags or In/Out parameters.[/QUOTE]
I also have such suspicions...
 
I don't need to browse something inside AOI.
Your problem as you stated it was "I can't see my UDT member when I'm expanding the AOI's instance tag in the tags browser." How is looking at in the tags browser not 'browsing'?

Regardless, per the manual, "[Local tags] are used by the logic within the Add-On Instruction and are not visible outside the instruction. Other Add-On Instructions or programs in the project cannot access these tags. The only way to make a local tag or one of its members accessible from outside the instruction is by defining an alias parameter."
 
External access for Local tags are for HMI only.
If you need to access the Local UDT tag then you need to make it In/Out parameter instead. Another way is to use Parameter as an Alias to the Local Tag.
There are other methods, but way more complicated than use of Parameters.
 
Your problem as you stated it was "I can't see my UDT member when I'm expanding the AOI's instance tag in the tags browser." How is looking at in the tags browser not 'browsing'?

Regardless, per the manual, "[Local tags] are used by the logic within the Add-On Instruction and are not visible outside the instruction. Other Add-On Instructions or programs in the project cannot access these tags. The only way to make a local tag or one of its members accessible from outside the instruction is by defining an alias parameter."

But why they have introduced those access for AOI tags (see screenshot)? If those tags aren't available outside at all why is it needed? Meanwhile, I can set up external R/W access for any tag without warnings or errors.

access.png
 
AOI local parameters are not accessible by the PLC outside the AOI. Changing the "external access" setting allows a SCADA system to read/write those local parameters, but the PLC can't.
 
AOI local parameters are not accessible by the PLC outside the AOI. Changing the "external access" setting allows a SCADA system to read/write those local parameters, but the PLC can't.

Thanks. Got it.
 
No problem. In case it's of interest, I do use that functionality from time to time. I build AOI's for all different types of VSD's, and I usually try to read the fault code from the drive. Then I store a table in the PLC to match fault codes (integers) to fault descriptions (strings). I pass that table into the AOI by reference, and when a VSD faults, I populate a string tag with the relevant fault information, so that when the operator looks at their HMI, instead of just seeing "Motor ABC VSD Fault" they see "Motor ABC Drive Fault. Fault code: 123, Phase 2 Short to Ground" or something. With an AOI, you can't set a string as an input or output parameter - you can only use an InOut parameter (which passes by reference and therefore needs a separate string tag in the PLC for me to attach it to, defeating the self-contained nature of an AOI), or a local parameter. So I use a local parameter, set the external access to Read Only, and then I can do exactly what I described. The PLC has no need to view that string; it's only relevant to humans.
 
AOI local parameters are not accessible by the PLC outside the AOI. Changing the "external access" setting allows a SCADA system to read/write those local parameters, but the PLC can't.

I have not found this to be true. I'm wondering if we are confusing Local Tags (what we used to call Program Tags) that are part of a Program, with Local tags that are part of an AOI.

Local Tags defined within an AOI in my experience are never accessible outside of the AOI itself, regardless of the External Access setting. I am trying this with FTV ME right now and I am unable to see any AOI Local tags even though I have set them to R/W access. I am however able to see Local Tags that are defined as part of a Program. I see the same result in the RSLinx Data Monitor.

Within the AOI, Input and Output parameters are affected by the External Access setting. But I cannot see where that setting has any impact on AOI Local Tags. So yes, if I absolutely needed access to an AOI Local Tag I would probably change it to a parameter or create a new parameter as an alias to the AOI Local Tag.

I'm certainly open to being corrected if I am missing something.

OG
 
Local Tags defined within an AOI in my experience are never accessible outside of the AOI itself, regardless of the External Access setting.

"External Access" refers to the ability to read the data outside of the PLC. It has nothing to do with whether the tag elements are exposed to the rest of the programming environment outside of the AOI.

There are several options for exposing an embedded UDT in an AOI to the PLC.

(a) Change the UDT from a Local Tag to an In/Out.

(b) Create an Input tag in the AOI that are aliased to each individual "native" elements (DINT, Real, Bool, etc) in the AOI.

(c) Create an alias to the very first "native" element of the UDT as an Input tag. Outside of the AOI, you can do a COP (AliasedFirstWord, UDT_TypeTag; LEN 1) and, since COP takes the number of bytes to be copied by the destination, it will extract the entire data from the UDT to a tag with the same data structure outside the UDT. Particularly useful for strings.
 
Local UDT tags are accessible from outside PLC< just not exposed in browsers

Local Tags defined within an AOI in my experience are never accessible outside of the AOI itself, regardless of the External Access setting. I am trying this with FTV ME right now and I am unable to see any AOI Local tags even though I have set them to R/W access. I am however able to see Local Tags that are defined as part of a Program. I see the same result in the RSLinx Data Monitor.
OG


The AOI local tags (where you have to put UDT's and non-atomic - ie string tags) are exposed to HMI and OPC servers, but they aren't included in the browse response. Rockwell's PlantPAx config tool writes to them using OPC, but none of those tags appear in a tag browser in FTView ME/SE. You have to manually configure/address them in the tool/display.


They do follow the External Access setting though - so if you turn that off, then even manually configured refs will no longer work.
 
The AOI local tags (where you have to put UDT's and non-atomic - ie string tags) are exposed to HMI and OPC servers, but they aren't included in the browse response. Rockwell's PlantPAx config tool writes to them using OPC, but none of those tags appear in a tag browser in FTView ME/SE. You have to manually configure/address them in the tool/display.


They do follow the External Access setting though - so if you turn that off, then even manually configured refs will no longer work.

Gotcha. I can see that working when I manually enter one and it does follow the external access setting.

OG
 
I have not found this to be true. I'm wondering if we are confusing Local Tags (what we used to call Program Tags) that are part of a Program, with Local tags that are part of an AOI.

Local Tags defined within an AOI in my experience are never accessible outside of the AOI itself, regardless of the External Access setting. I am trying this with FTV ME right now and I am unable to see any AOI Local tags even though I have set them to R/W access. I am however able to see Local Tags that are defined as part of a Program. I see the same result in the RSLinx Data Monitor.

Within the AOI, Input and Output parameters are affected by the External Access setting. But I cannot see where that setting has any impact on AOI Local Tags. So yes, if I absolutely needed access to an AOI Local Tag I would probably change it to a parameter or create a new parameter as an alias to the AOI Local Tag.

I'm certainly open to being corrected if I am missing something.

OG
Seems like you've got it working now, but yes, it's definitely an AOI local parameter that I'm reading. I've never tried browsing them using the FTView Tag Browser because the only place they're used is in a faceplate, which is set up as an indirect tag anyway - so tag browsing isn't possible.
 

Similar Topics

Hi all, We have been using an UDT that contains tag-based alarms as an In/Out parameter for an AOI. (V31-V32) Unfortunately, V33, they have...
Replies
0
Views
1,104
Good Evening , I’m probably entering the most challenging stage of programming I have ever attempted . It is probably easy , and easily...
Replies
8
Views
4,127
I want to create an AOI to take modbus data and put it together as needed. The data is going to be coming from an RTA gateway and will be 32...
Replies
4
Views
3,592
I am going to change some code in the near future. We have a lot of conveyors that use pushbutton stations wired to real world inputs. Do you...
Replies
5
Views
2,101
Good Evening , I still have many "Mental Blocks" when it comes down to programming. Could you tell me the difference between a UDT and a AOI ...
Replies
26
Views
16,889
Back
Top Bottom