CODESYS.EthernetIP-Assembly size

lostcontrol

Lifetime Supporting Member
Join Date
May 2009
Location
NeverSayNever
Posts
1,075
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, there are problems with Codesis Gateway, the default codesis gateway crashes in the codesis installer, because of this the gateway itself...
Replies
4
Views
157
Hello, I would like to execute code saved in initialization FB on the first start of the PLC. It is basically something like OB100 in the Siemens...
Replies
6
Views
286
Hi! What is the way to convert the code from the Codesys code to the Tia Portal? Regards, WK
Replies
4
Views
300
Hello to all, can you please provide an example of obtaining a current working directory as a string in CodeSys? For example, during starting the...
Replies
7
Views
323
Hello to all, I'm just starting with using CodeSys. Immediately, I have noticed that Codesys doesn't use data blocks like for example S7 does...
Replies
11
Views
296
Back
Top Bottom