RSLogix CIP Datatable Write

allenz2123

Member
Join Date
Jan 2014
Location
Auckland
Posts
5
Hi

I am working a project with several CLX PLC on one network. Our PLC is the master PLC and will be writing data to the rest of the PLCs on the network. To make things simple, uniform and manageable I created a large UDT with mainly DINTs, Timers and BOOLs.

Now I can do a CIP Data Table Write of the whole UDT to another PLC. That works fine.

However If i am trying to write part of the UDT to a PLC it doesn't quite work. E.G

UDT Structure

A DINT
B DINT
C DINT
D DINT
E DINT
F BOOL
G BOOL
H TIMER

I could write the tag of this UDT type as a whole, but if I specify the source as TAG.C and write 3 elements into another PLC with the same Tag of UDT type it gives me a general error.

Any idea why? Seems to me you can write the whole UDT tag to another PLC but you can write parts of it.

Seem strange to me

Hope I explained it properly

Allen
 
Try the CIP Generic Mode. It uses bytes instead of elements.
 
Last edited:
You will not "gain" anything in terms of efficiency by trying to write parts of a UDT tag to another controller.

Much simpler to just copy the UDT to all the controllers, and write the whole tag to them anyway, and let them pick and choose which elements they want to use.

A couple of other points....

1. I personally wouldn't use "Writes" - I would let the other controllers "Read" the data - this allows a degree of cross-referencing where data that is changing is being sourced from. If you cross-reference a tag that is changing due to a MSG Write from another controller, you have no idea where the data is originating from.

2. If your UDT is less that 500 bytes (see its definition), you could consider using Produced/Consumed tags to transfer the data. In the later versions of Logix5000, you can include the "Connection Status" as part of the Prod/Cons data, giving you a validation that the data is valid and that the producer-controller is in "Run" mode.
 
You will not "gain" anything in terms of efficiency by trying to write parts of a UDT tag to another controller.

Much simpler to just copy the UDT to all the controllers, and write the whole tag to them anyway, and let them pick and choose which elements they want to use.

A couple of other points....

1. I personally wouldn't use "Writes" - I would let the other controllers "Read" the data - this allows a degree of cross-referencing where data that is changing is being sourced from. If you cross-reference a tag that is changing due to a MSG Write from another controller, you have no idea where the data is originating from.

2. If your UDT is less that 500 bytes (see its definition), you could consider using Produced/Consumed tags to transfer the data. In the later versions of Logix5000, you can include the "Connection Status" as part of the Prod/Cons data, giving you a validation that the data is valid and that the producer-controller is in "Run" mode.

I agree with this completely. In theory and in practice those two points have always served me well :)
 

Similar Topics

Hi All, In RSLogix 500, under Controller Properties, in the Controller Communications tab, the "CIP Path" is stored for my controller. This path...
Replies
1
Views
1,348
I have a question on a subject of etherent nodes in rslogix 5000 project tree for a project that I am working on. I am trying to read if read...
Replies
5
Views
4,661
I am trying to send an CIP MSG from a RSlogix 5000 to a 485/ethernetIp device. I have connected and got a response back giving me the vendor...
Replies
5
Views
2,956
Hi folks, in the alarm manager of Rslogix 5000, the tag-based alarm has been created. But when I tried to change the condition, it was found the...
Replies
0
Views
21
I have a little bit of experience with Allen-Bradley. I have a Micrologix 1500 (RSLogix 500) and a PanelView Plus 7 (FactoryTalk View Studio ME)...
Replies
3
Views
111
Back
Top Bottom