The difference between Rockwell UDT’ s and AOI’s ?

Cydog

Member
Join Date
Feb 2018
Location
Maryland
Posts
313
Good Evening ,

I’m probably entering the most challenging stage of programming I have ever attempted . It is probably easy , and easily picked up by most . Sadly , I have struggled my whole career .

To start with , can you review with me the reason a programmer would use a User Defined Tag ?
How do you create one ?

Add On Instruction ?
How do you create one ?

What about a Add On Profile ?
How do you create one ? Or is that a “canned “written code from a 3rd party?

What about “ Consumed Tags “ ? What are they for ?
Aren’t they used to communicate between processors ?
If so , are they better to use than “ Message Instructions “

What about “ Produced Tags “ ? What are they used for ?

Thanks so much for your advice and sharing your knowledge.
 
All data is stored in Rockwell PLC's via tags. A UDT is a tag structure, where you can bundle multiple tags together. When you create a tag, rather than a DINT, or INT, etc, or it can be your custom data type (UDT). You can think of a TIMER type as a UDT, it is made up of PRE, ACC, TT, EN, DN (mix of DINT and BOOL types). You can make up your own data types. Anywhere you see a ".", you're looking at a UDT. MyTag.Name, MyTag.Count, you're looking at UDT that contains the members "Name" and "Count".

Add-on profiles define devices that go in your I/O tree. These are typically created by Rockwell, but not always. Manufacturers that make hardware that you would add to your I/O tree often will have an Add-On Profile that will let you add the device to your I/O tree, which defines device configuration and connection parameters.

An Add-On instruction allows you to create your own instruction. These are hand for wrapping up repetitive code into your own instruction. If you find yourself copy/pasting chunks of logic, then replacing tags with new unique ones, you may benefit from putting that code into an AOI.

Produced/consumed tags exchange data between PLC's. They go hand in hand. If you want to send information between PLC's, one is the producer (the one that controls the values), the other is the consumer (the one that "reads" the values). If you are sending data both directions, there will be a produced and consumed tag in both PLC's. The data type can be a DINT, or it can be a UDT, everything has to match at both ends (type and tag name).

Whether Producer/consumer is better or not depends on the application. Producer/consumer is sending data at a specified RPI, if you don't need to send data constantly, then a MSG is a better choice. MSG's also handle larger amounts of data, so if you have a large UDT (larger than ~500 bytes), then MSG is ideal, otherwise, you'd have to have multiple producer/consumers with smaller data types.
 
I would add that producer/consumer tags are also used to exchange information between IO such as EtherNet/IP or ControlNet adapters or DeviceNet slaves. These producer or consumer tags are associated to implicit messaging connections, and as in the case of communication in between PLCs, there are some IO devices which may require MSG communication (i.e. explicit messaging) for getting from the device data other than process information such as for diagnostics and parametrization.
 
Good Evening ,

What about “ Consumed Tags “ ? What are they for ?
Aren’t they used to communicate between processors ?
If so , are they better to use than “ Message Instructions “

What about “ Produced Tags “ ? What are they used for ?

Thanks so much for your advice and sharing your knowledge.

When I teach Produced/Consumed tags, I refer to it as "..a poor man's messaging...", or "MESSaging without the mess."

As tempting as they are to use, they come with some very limiting conditions. In my experience, they are a maintenance headache, and are not well suited in the early system development stage, as "editing" is a bit of a pain, since there could be more than one processor involved.

Moreover, it creates another layer of task priority setting that most people ignore. That's an Advanced Chapter of your journey, for sure.

Have fun.
jd
 
When I teach Produced/Consumed tags, I refer to it as "..a poor man's messaging...", or "MESSaging without the mess."

As tempting as they are to use, they come with some very limiting conditions. In my experience, they are a maintenance headache, and are not well suited in the early system development stage, as "editing" is a bit of a pain, since there could be more than one processor involved.

Moreover, it creates another layer of task priority setting that most people ignore. That's an Advanced Chapter of your journey, for sure.

Have fun.
jd


Just to add, if you choose to do so, make it a large array to have extra produce and consume tags for future use. But keep in mind the connection usage that will occur. I’m sure there are some people on here that know off the top of their head x amount of data blocks equals one connection, I’m not one.
 
Just to add, if you choose to do so, make it a large array to have extra produce and consume tags for future use. But keep in mind the connection usage that will occur. I’m sure there are some people on here that know off the top of their head x amount of data blocks equals one connection, I’m not one.

One single Produced tag (to be consumed by other Consumers) is limited to 500 bytes of data.

That's the equivalent of 125 DINTs, 125 REALs, 250 INTs, or 500 SINTs. For UDT tags or arrays of them, check the structure size of the UDTs.

There is no "connection" overhead for making larger UDT or array tags than you actually use in your application.

Messaging overcomes the 500 byte limit by transferring data in multiple "packets", resulting in a much slower transfer rate.
 

Similar Topics

Hello, I have a problem with AO- and AA-Tags. When I use for example the tag AO_Test with the address 200 and type the value 1,2 in, the AA-Tag...
Replies
7
Views
1,403
As per the title. This might seem like a basic question to many, but I'm unclear about the difference between a coil ( ) and an application...
Replies
28
Views
4,007
Good Morning , I have 2 Frequency Drive panels to build and commission . It is for 2 pump systems . Just wondering , what is the...
Replies
4
Views
1,958
Hi Experts, Good day! What are the differences between PCS7 SIMATIC Batch and PM Control? Do you have any manual like "Getting Started "...
Replies
0
Views
802
I have a Automation Direct Click Plus that you can buy option CPU slot modules for input/outputs. The slot modules have the options of sinking...
Replies
9
Views
2,806
Back
Top Bottom