CODESYS.EthernetIP-Assembly size

lostcontrol

Lifetime Supporting Member
Join Date
May 2009
Location
NeverSayNever
Posts
1,071
Hi,
I am experimenting with different devices & am battling the connection sizes.
At present, have a 1734-AENT/C, 1xOB8 & 1xIB8

I have tried following the examples, but keep getting invalid connection size.
Something I tried, was monitoring the web server IO connections when connected to a 1769 PLC using the EDS file. It told me 11 (out)/15(in) bytes

there is an example on the CodeSys site, but it is not as clear how to calculate exactly unfortunately.

is there a simpler way/template for doing this..?
 
Can you get a Wireshark trace.
Using the Molex/ODVA EtherNet/IP tools, using the explicit messaging, GetAttributeSingle command to class ID 0x04 (Assembly Object), Attribute ID 0x03 (Data) you get the assembly size in the response.
 
ahh,
so I get 8E 00 05 00.
Does that indicate 142 bytes as the total size, or 05 .?

also, is this a command that is supposed to be supported on all devices..?
The other device does not appear to be responding.
 
No, this means that this particular assembly is 2-bytes long and the process value us 0x0005. The 0x8F is the response to the GetAttributeSingle command (0x0E). The response always returns the service code (in case of 8-bit service such as GetAttributSingle service) with the 7th bit set.
 
Sorry my bad, it was 8E 00 05 00
So first Byte is the response to the request, bytes 2&3 the process value.?
byte 4 .?

On another device we have, the response is 8E 00 05 01 00 00.
Does this indicate 4x bytes.?

Does anyone have a link to the class/instances descriptions.?
ie. What is this assembly class & instance.? Is it the input or output?


thanks so far..
 
So use the latest Ethernet/IP addon in codesys.


Install the latest 1734-AENT/C EDS from Rockwell website (CODESYS > Tools > Device Repository..). Update the firmware of the 1734-AENT/C to match the EDS.


Now when you add the 1734-AENT/C to your Devices Tree, you get 0bytes out, 8 bytes in, chassis size of 1.


In your case, I would edit the connection, and change the output size to 1 and the input size to 10. This is because the two modules you have in Table 17 of 1734-UM016B-EN-P Assembly Connections for POINT I/O and ArmorPOINT I/O EtherNet/IP Adapters User Manual (rockwellautomation.com) use 1byte in (IB8) or 1byte in 1 byte out (OB8).


Make sure you change the chassis size in the config structure to 3 (2 modules + adapter).
 
So use the latest Ethernet/IP addon in codesys.


Install the latest 1734-AENT/C EDS from Rockwell website (CODESYS > Tools > Device Repository..). Update the firmware of the 1734-AENT/C to match the EDS.


Now when you add the 1734-AENT/C to your Devices Tree, you get 0bytes out, 8 bytes in, chassis size of 1.


In your case, I would edit the connection, and change the output size to 1 and the input size to 10. This is because the two modules you have in Table 17 of 1734-UM016B-EN-P Assembly Connections for POINT I/O and ArmorPOINT I/O EtherNet/IP Adapters User Manual (rockwellautomation.com) use 1byte in (IB8) or 1byte in 1 byte out (OB8).


Make sure you change the chassis size in the config structure to 3 (2 modules + adapter).
🍺:geek::geek:
this kywi salutes you.!!
That was the exact solution to what was required.

Now to get back to the Crevis unit...
 
I understand your explanation, but is different to the results I get..

for Get Attribute Single, Class #4 & Instance #3, the send request is '0E 02 20 04 24 03'
The response to this is '8E 00 05 00'


Now I do it to another device & the response is '8E 00 05 01 00 00', which I would interpret as 4x bytes based on the above explanation...
 
Can you get the Wireshark trace. I need to understand this device.
If you can filter the data it will be helpful. In the Wireshark address bar you can type "cip" without the quotation marks, and select the packets and only extract the require packets. I need to see all the overheads.
 
I understand your explanation, but is different to the results I get..

for Get Attribute Single, Class #4 & Instance #3, the send
By the way, the service 0x0E GdetAttribute single should be sent to Class 4, Attribute 3 (data) and instance number is the desired instance number.


This '0E 02 20 04 24 03' request is incorrect.
it should be '0E 03 20 04 24 03 30 03' if you need instance 3.
 
Last edited:
Hi Alfredo,
Thanks for your help so far. I’ve given up on the other adaptor as it not really something will use again, was just lying about.
Going to focus on getting some other devices function with the rPi.

No doubt will be back..
 

Similar Topics

Hello, I am using a Hitachi Micro EHV+ for a small project, and I wanted to have a Web visu, done with Codesys V3.5 SP13 Patch 2. I test the...
Replies
6
Views
294
Hello, I have a requirement to manage the text alignment dynamically. So, for example: 1. English Texts should be displayed from Left in...
Replies
0
Views
90
Hello, I am new to Codesys, and am trying to learn about it for a project we're developing. I've got a couple questions, but first a little...
Replies
1
Views
152
Hi everyone, as this is my first experience with Rockwell Software i would like to know what's the best way to make Enumerations?
Replies
10
Views
504
I am trying to get Codesys to work with a couple of Moxa ioLogik E1200 series DIO devices (E1210 and E1211). I am able to write to the E1211 DOs...
Replies
2
Views
170
Back
Top Bottom