Ethernet/IP - Configuration of Generic Modular Adapter [EN]


Introduction

This Application note explains, how to configure a generic modular adapter, when the entry for "ProxyConnect" is not described in the Ethernet/IP Slave Device Description (EDS).

Please refer to the following FAQ: "Why does my modular EDS file not work?" → https://hilscher.atlassian.net/wiki/pages/viewpage.action?pageId=113541135

As an example the Allen Bradley Point I/O Module Adapter "1734 AENT" is used, together with the fitting Point I/O Modules "1734 IB8" and "1734 OB8E".

Hardware configuration

SlotModule NameEDS File
01734-AENT0001000C006C0300.eds
21734-IB8        0001000700D80300.eds
31734-OB8E    0001000700DA0300.eds

The EDS File of each module is needed for further configuration of the Generic Modular Adapter.

These can be found on the Rockwell Automation Page:

https://www.rockwellautomation.com/de_DE/detail.page?pagetitle=Electronic-Data-Sheets&content_type=overview&docid=11432fc64a2a887b85011582be53806b

Software Configuration

Add Modules

In SYCON.net, add an EtherNet/IP Scanner (e.g. CIFX RE/EIM) and then an ENIP Modular Generic Adapter to the network.

Open the Configuration Window of the Modular Generic Adapter and choose "Module" in the Navigation Area.

Change “Slots in Rack” to "4" and add the modules.

Since 1734-AENT covers 2 Slots, skip one slot between 1734-AENT and 1734-IB8:

Configure 1734-IB8

Specify Connection

EtherNet/IP is a connection-oriented protocol, therefore the connection should always be specified first.

Open the EDS for 1734-IB8 and go to the section [Connection Manager], assuming that Connection23 (Input only) will be used:

Configure connection settings

Please choose "Connection" in the Navigation Area of the Modular Generic Adapter. Select  the Module “Slot<1> 1734-IB8”.

Decode the fields "trigger & transport" and "realtime format", which are defined in Connection23.

These parameters describe the connection variables, which have to be filled in the Connection configuration window in Sycon.net.


The free Tool "EZ-EDS" from ODVA (https://www.odva.org/software/EZ-EDS-Download), can be used to decode the parameters easier.

Therefore, open the EDS by selecting "File → Open…”.  Select "Generic EDS" as EDS type and ignore the upcoming error messages.

When the file is successfully opened, select “Connection1” in the left tree view.

The name “Connection23” in EDS file is automatically converted to “Connection1”.

Configure the Connection Area in Sycon.net, based on the shown informations:

Don't forget, to set the Connection name to "Connection23".

Configure assembly instance ID

Choose "Assembly" in the Navigation Area of the Modular Generic Adapter now. Select  the Module “Slot<1> 1734-IB8”.

Now the Connection Path has to be filled in. The Connection Path is described in Connection23 in the EDS-File:

Switch back to EZ-EDS, select “Connection1”  in the left tree view.

Click the Button "Decode Path". A new Window will pop up. Select decimal format in this dialog.

Now the instance ID can be read out for Configuration in Sycon.net.

Based on the above informations, the assembly Instance ID can be specified:

The instance "20 04 24 67 2C BE 2C 04" can also be decoded manually as follows:

20 0424 672C BE2C 04

Logical  Segment, 

Class ID 0x04(4)

Configuration path,

instance ID 0x67 (103)

O2T Connection Point,

output Assembly instance ID 0xBE (190)

T2O Connection Point,

input Assembly instance ID 0x04 (4).

Configure Input assembly length

The input assembly length is defined in the field “T->O size” and field  “T->O format” of Connection23:

It can be decoded as follows:

T → O 

, , Assem127

RPISizeFormat
emptyemptyAssem127

When the "Size" of the T=>O default description is empty, the format has to be evaluated.


In this case, Assem127 is used to define the format. Go to the definition of Assem127, in the EDS.

Since the field for the length is empty ($ Length in bytes), the Member fields should be evaluated:

The Assemblys Members can be decoded as follows:

,,

32,,

,Assem4;


Member SizeMember Reference
1st Memberemptyempty
2nd Member32empty
3rd MemberemptyAssem4

This means, the first Member is reserved, the second one has a size of 4Byte (32Bit) and the third one references to Assem4.

Go to Assem4:

The "total length in bytes" is defined as "1".

Now the total size of Assem127 can be defined:


Member SizeMember ReferenceSize in Byte
First Memberemptyempty
Second Member32empty4
Third MemberemptyAssem41
Total length of Input Assembly Assem127

5

Configure Output assembly length

The output assembly length is defined in the field “O->T size” and field  “O->T format” of Connection23:

It can be decoded as follows:

O → T

,0,,

RPISizeFormat
empty0empty

Since the field “O->T size” is not empty, it can directly be read – 0 Byte.

In this case no further evaluation is needed.

In case this field is refered to a Parameter or Assembly, please use the steps mentioned in the example above: "Configure Input assembly length".

Configure configuration assembly length

The configuration assembly length is automatically calculated by the data length of the cfg. #1 and cfg. #2 data segment. 

The user is not allowed to directly edit this length.

Configure cfg. #1 data segment

The cfg #1 data segment is defined in field "$ config part 1" of Connection23:

Here Assem124 is used to define the format. Go to the definition of Assem124:

In this case, both Values ("Member Size" and "Member Reference" have to be evaluated.

The Assemblys Member informations can be read as follows:


Member SizeMember Reference
1st Member16Param101
2nd Member16empty

The field of the first Member indicates, that it has a data length of 16 bit. It also has a Reference to Param101.

Go to the definition of Param101.

The "data size in Byte" has a size of 2 Byte, with a default value of 1.

Therefore the default data of Param101 is 0x0001.

The user can also define a value between min. value and max. value.

Go back to the definition of Assem124, the Second Member has a length of 16 and has no Reference entry. This means, it's defined with value 0.


Member SizeMember ReferenceData (Hex)Swap
1st Member16Param10101 00

01 00

2nd Member16empty00 0000 00
Total


01 00 00 00

Configure cfg. #2 data segment

The cfg #2 data segment is defined in field "$ config part 2" of Connection23:

Here Assem103 is used to define the format. Go to the definition of Assem103:

This Assembly has a few more Members.

Please repeate the procedure mentioned in the first data segment for each Member.

For example the first Member:

The Size of this Member is definded with 16 Bit and has a Reference to Param9.

Param9 has a size of 2 Bytes, the Default Value is 1000 (Hex 03E8):

When analyzing all Members and Parameters, the following table can be created:

MemberMember SizeMember ReferenceData (Hex)Swap
116Param903 E8E8 03
216Param1003 E8E8 03
316Param1103 E8E8 03
416Param1203 E8E8 03
516Param1303 E8E8 03
616Param1403 E8E8 03
716Param1503 E8E8 03
816Param1603 E8E8 03
916Param1703 E8E8 03
1016Param1803 E8E8 03
1116Param1903 E8E8 03
1216Param2003 E8E8 03
1316Param2103 E8E8 03
1416Param2203 E8E8 03
1516Param2303 E8E8 03
1616Param2403 E8E8 03

Therefore the cfg #2 data segment results in:

E803 E803 E803 E803 E803 E803 E803 E803 E803 E803 E803 E803 E803 E803 E803 E803

Final assembly configuration of 1734-IB8

Configure 1734-OB8E

Open the EDS for 1734-OB8E and go to the section [Connection Manager], assuming that Connection9 (Exclusive Owner) will be used:

Configure connection settings

Please choose "Connection" in the Navigation Area of the Modular Generic Adapter. Select  the Module “Slot<2> 1734-OB8E”.

Decode the fields "trigger & transport" and "realtime format", which are defined in Connection9.

These parameters describe the connection variables, which have to be filled in the Connection configuration Window in Sycon.net.


Open the Tool "EZ-EDS" to decode the parameters.

Open the EDS by selecting "File → Open…”.  Select "Generic EDS" as EDS type and ignore the upcoming error messages.

When the file is successfully opened, select “Connection1” in the left tree view.

The name “Connection9” in EDS file is automatically converted to “Connection1”.

Now configure the Connection Area in Sycon.net, based on these informations:

Don't forget, to set the Connection name to "Connection9".

Configure assembly instance ID

Choose "Assembly" in the Navigation Area of the Modular Generic Adapter now. Select  the Module “Slot<2> 1734-OB8E”.

Now the Connection Path has to be filled in. The Connection Path is described in the EDS-File:

Switch back to EZ-EDS, select “Connection1” in the left tree view.

Click the Button "Decode Path". A new Window will pop up. Select decimal format in this dialog.

Now the instance ID can be read out for Configuration in Sycon.net.

Based on the above informations, the assembly Instance ID can be specified.

The instance "20 04 24 7B 2C 22 2C 2C" can also be decoded manually as follows:

20 0424 672C 222C 2C

Logical  Segment, 

Class ID 0x04(4)

Configuration path,

instance ID 0x7B (123)

O2T Connection Point,

output Assembly instance ID 0xBE (34)

T2O Connection Point,

input Assembly instance ID 0x04 (44).

Configure Input assembly length

The input assembly length is defined in the field “T->O size” and field  “T->O format” of Connection9:

It can be decoded as follows:

T → O 

, , Assem127

RPISizeFormat
emptyemptyAssem127

When the "Size" of the T=>O default description is empty, the "Format" has to be evaluated.

In this case, Assem127 is used to define the format. Go to the definition of Assem127, in the EDS.

Since the field for the length is empty ($ Length in bytes), the Member fields should be evaluated:

The Assemblys Members can be decoded as follows:

,,

32,,

,Assem44;


Member SizeMember Reference
1st Memberemptyempty
2nd Member32empty
3rd MemberemptyAssem44

This means, the first Member is reserved, the second one has a size of 4Byte (32Bit) and the third one references to Assem44.

Go to Assem44:

The "total length in bytes" is defined as "1".

Now the total size of Assem44 can be defined:


Member SizeMember ReferenceSize in Byte
1st Memberemptyempty
2nd Member32empty4
3rd MemberemptyAssem441
Total length of Input Assembly Assem127

5

Configure Output assembly length

The output assembly length is defined in the field “O->T size” and field  “O->T format” of Connection9:

It can be decoded as follows:

O → T

,,Assem126,

RPISizeFormat
emptyemptyAssem126

When the "Size" of the O=>T default description is empty, the "Format" has to be evaluated.

In this case, Assem126 is used to define the format. Go to the definition of Assem126, in the EDS.

Since the field for the length is empty ($ Length in bytes), the Member fields fields should be evaluated:

The Assemblys Member can be decoded as follows:

,,

,Assem34;


Member SizeMember Reference
1st Memberemptyempty
2nd MemberemptyAssem34

This means, the first Member is reserved, the second one references to Assem34.

Go to Assem34:

The "total length in bytes" is defined as "1".

Now the total size of Assem126 can be defined:


Member SizeMember ReferenceSize in Byte
1st Memberemptyempty
2nd MemberemptyAssem341
Total length of Input Assembly Assem126

1

Configure configuration assembly length

The configuration assembly length is automatically calculated by the data length of cfg. #1 and cfg. #2 data segment. 

The user is not allowed to directly edit this length.

Configure cfg. #1 data segment

The cfg #1 data segment is defined in field "$ config part 1" of Connection9:

Here Assem124 is used to define the format. Go to the definition of Assem124:

In this case, both Values ("Member Size" and "Member Reference") have to be evaluated.

The Assemblys Member informations can be read as follows:


Member SizeMember Reference
1st Member16Param121
2nd Member16empty

The field of the first Member indicates, that it has a data length of 16 bit. It also has a Reference to Param121.

Go to the definition of Param121.

The "data size in Byte" defines a size of 2 Byte, with a default value of 1.

So the default data of Param121 is 0x0001.

The user can also define a value between min. value and max. value.


Go back to the definition of Assem124.

The Second Member has a length of 16 and has no Reference entry. This means, all data is defined with value 0.


Member SizeMember ReferenceData (Hex)Swap
1st Member16Param10101 0001 00
2nd Member16empty00 0000 00
Total


01 00 00 00

Configure cfg. #2 data segment

The cfg #2 data segment is defined in field "$ config part 2" of Connection9:

Here Assem123 is used to define the format. Go to the definition of Assem123:

Please repeate the procedure mentioned in the first data segment for each Member.

For example the first Member:

The Size of this Member is definded with 1Bit and has a Reference to Param43.

The Size is defined with 1Bit (Boolean), the Default Value is 0 (Hex 0000):


When analyzing all Members and Parameters, the following table can be created:

MemberMember Size (Bit / Boolien)Member ReferenceData (Hex)Swap
11Param430
21Param450
31Param470
41Param490
51Param510
61Param530
71Param550
81Param570





91Param440
101Param460
111Param480
121Param500
131Param520
141Param540
151Param560
161Param580



00 0000 00





171Param590
181Param610
191Param630
201Param650
211Param670
221Param690
231Param710
241Param730





251Param600
261Param620
271Param640
281Param660
291Param680
301Param700
311Param720
321Param740



00 0000 00





331Param831
341Param841
351Param851
361Param861
371Param871
381Param881
391Param891
401Param901





411Param910
421Param920
431Param930
441Param940
451Param950
461Param960
471Param970
481Param980



FF0000FF





491Param750
501Param760
511Param770
521Param780
531Param790
541Param800
551Param810
561Param820



00 0000 00

Therefore the cfg #2 data segment results in:

0000 0000 FF00 0000

Final assembly configuration of 1734-OB8E

Configure 1734-AENT

Specify Connection

Open the EDS for 1734-AENT and go to the section [Connection Manager], assuming that Connection1 (Exclusive Owner) will be used:

Configure connection settings

Please choose "Connection" in the Navigation Area of the Modular Generic Adapter. Select  the Module “Slot<0> 1734-AENT”.

Decode the field "trigger & transport" and "realtime format", which are defined in Connection1.

These parameters describe the connection variables, which have to be filled in the Connection configuration Window in Sycon.net.


Open the Tool "EZ-EDS" to decode the parameters.

Open the EDS by selecting "File → Open…”.  Select "Generic EDS" as EDS type and ignore the upcoming error messages.

When the file is successfully opened, select “Connection1” in the left tree view.

Now configure the Connection Area in Sycon.net, based on these informations:

Don't forget, to set the Connection name to "Connection1".

Configure assembly instance ID

Choose "Assembly" in the Navigation Area of the Modular Generic Adapter now. Select  the Module “Slot<0> 1734-AENT”.

Now the Connection Path has to be filled in. The Connection Path is described in the EDS-File:

Switch back to EZ-EDS and select “Connection1” in the left tree view.

Click the Button "Decode Path". A new Window will pop up. Select decimal format in this dialog. Now the instance ID can be read out for Configuration in Sycon.net.

Based on the above information, the assembly Instance ID can be specified.

The instance "20 04 24 66 2C 64 2C 65" can also be decoded manually as follows:

20 0424 662C 642C 65

Logical  Segment, 

Class ID 0x04(4)

Configuration path,

instance ID 0x66 (102)

O2T Connection Point,

output Assembly instance ID 0x64 (100)

T2O Connection Point,

input Assembly instance ID 0x65 (101).

Configure Input assembly length

The Input assembly lengts results in the total length of all Modules (in this case the input assembly length of 1734-IB8 + 1734-OB8E).

Since these are already filled in, you can can just summ up the two assemby length 5 + 5 = 10.

Configure Output assembly length

The Input assembly lengts results in the total length of all Modules (in this case the input assembly length of 1734-IB8 + 1734-OB8E).

Since these are already filled in, you can can just summ up the two assemby length 0 + 1 = 1.

Configure configuration assembly length

The configuration assembly length is automatically calculated by the data length of cfg. #1 and cfg. #2 data segment. 

The user is not allowed to directly edit this length.

Configure cfg. #1 data segment

The cfg #1 data segment is defined field "$ config part 1" of Connection1:

Since this area is empty, no cfg. #1 data segment has to be defined.

Configure cfg. #2 data segment

The cfg #2 data segment is defined field "$ config part 2" of Connection1:

Here Assem9 is used to define the format. Go to the definition of Assem9:

The Assemblys Member informations can be read as follows:


Member SizeMember Reference
1st Member321
2nd Member16Param 200
3rd Member8Param 204
4th Member8Param 205

5th Member

8Param 206
6th Member8Param 207


The "data size in Byte" has a size of 2 Byte, with a default value of 1.

Since this describes the Chassis Size, the value should be set to 3 (See parameter description: "Enter the number of I/O modules plus 1 additional slot for the adapter").

So the data of Param200 is 0x0003.


When analyzing all Members and Parameters, the following table can be created:


Member SizeMember ReferenceData (Hex)Swap
1st Member3210000 00010100 0000
2nd Member16Param 20000 0303 00
3rd Member8Param 2040000
4th Member8Param 2050101
5th Member8Param 2060000
6th Member8Param 2070101
Total


0100 0000 0300 0001 0001

Final assembly configuration of 1734-AENT