Table of Contents
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://
...
...
...
net/wiki/pages/viewpage.action?pageId=
...
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
Slot | Module Name | EDS File |
---|---|---|
0 | 1734-AENT | 0001000C006C0300.eds |
2 | 1734-IB8 | 0001000700D80300.eds |
3 | 1734-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:
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”.
The following dialog window:
...
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 04 | 24 67 | 2C BE | 2C 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
RPI | Size | Format |
---|---|---|
empty | empty | Assem127 |
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 Size | Member Reference | |
---|---|---|
1st Member | empty | empty |
2nd Member | 32 | empty |
3rd Member | empty | Assem4 |
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 Size | Member Reference | Size in Byte | |
---|---|---|---|
First Member | empty | empty | |
Second Member | 32 | empty | 4 |
Third Member | empty | Assem4 | 1 |
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,,
RPI | Size | Format |
---|---|---|
empty | 0 | empty |
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 Size | Member Reference | |
---|---|---|
1st Member | 16 | Param101 |
2nd Member | 16 | empty |
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 Size | Member Reference | Data (Hex) | Swap | |
---|---|---|---|---|
1st Member | 16 | Param101 | 01 00 | 01 00 |
2nd Member | 16 | empty | 00 00 | 00 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:
Member | Member Size | Member Reference | Data (Hex) | Swap |
---|---|---|---|---|
1 | 16 | Param9 | 03 E8 | E8 03 |
2 | 16 | Param10 | 03 E8 | E8 03 |
3 | 16 | Param11 | 03 E8 | E8 03 |
4 | 16 | Param12 | 03 E8 | E8 03 |
5 | 16 | Param13 | 03 E8 | E8 03 |
6 | 16 | Param14 | 03 E8 | E8 03 |
7 | 16 | Param15 | 03 E8 | E8 03 |
8 | 16 | Param16 | 03 E8 | E8 03 |
9 | 16 | Param17 | 03 E8 | E8 03 |
10 | 16 | Param18 | 03 E8 | E8 03 |
11 | 16 | Param19 | 03 E8 | E8 03 |
12 | 16 | Param20 | 03 E8 | E8 03 |
13 | 16 | Param21 | 03 E8 | E8 03 |
14 | 16 | Param22 | 03 E8 | E8 03 |
15 | 16 | Param23 | 03 E8 | E8 03 |
16 | 16 | Param24 | 03 E8 | E8 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 04 | 24 67 | 2C 22 | 2C 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
...
RPI | Size | Format |
---|---|---|
empty | empty | Assem127 |
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 Size | Member Reference | |
---|---|---|
1st Member | empty | empty |
2nd Member | 32 | empty |
3rd Member | empty | Assem44 |
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 Size | Member Reference | Size in Byte | |
---|---|---|---|
1st Member | empty | empty | |
2nd Member | 32 | empty | 4 |
3rd Member | empty | Assem44 | 1 |
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,
RPI | Size | Format |
---|---|---|
empty | empty | Assem126 |
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 Size | Member Reference | |
---|---|---|
1st Member | empty | empty |
2nd Member | empty | Assem34 |
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 Size | Member Reference | Size in Byte | |
---|---|---|---|
1st Member | empty | empty | |
2nd Member | empty | Assem34 | 1 |
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 Size | Member Reference | |
---|---|---|
1st Member | 16 | Param121 |
2nd Member | 16 | empty |
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 Size | Member Reference | Data (Hex) | Swap | |
---|---|---|---|---|
1st Member | 16 | Param101 | 01 00 | 01 00 |
2nd Member | 16 | empty | 00 00 | 00 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:
Member | Member Size (Bit / Boolien) | Member Reference | Data (Hex) | Swap |
---|---|---|---|---|
1 | 1 | Param43 | 0 | |
2 | 1 | Param45 | 0 | |
3 | 1 | Param47 | 0 | |
4 | 1 | Param49 | 0 | |
5 | 1 | Param51 | 0 | |
6 | 1 | Param53 | 0 | |
7 | 1 | Param55 | 0 | |
8 | 1 | Param57 | 0 | |
9 | 1 | Param44 | 0 | |
10 | 1 | Param46 | 0 | |
11 | 1 | Param48 | 0 | |
12 | 1 | Param50 | 0 | |
13 | 1 | Param52 | 0 | |
14 | 1 | Param54 | 0 | |
15 | 1 | Param56 | 0 | |
16 | 1 | Param58 | 0 | |
00 00 | 00 00 | |||
17 | 1 | Param59 | 0 | |
18 | 1 | Param61 | 0 | |
19 | 1 | Param63 | 0 | |
20 | 1 | Param65 | 0 | |
21 | 1 | Param67 | 0 | |
22 | 1 | Param69 | 0 | |
23 | 1 | Param71 | 0 | |
24 | 1 | Param73 | 0 | |
25 | 1 | Param60 | 0 | |
26 | 1 | Param62 | 0 | |
27 | 1 | Param64 | 0 | |
28 | 1 | Param66 | 0 | |
29 | 1 | Param68 | 0 | |
30 | 1 | Param70 | 0 | |
31 | 1 | Param72 | 0 | |
32 | 1 | Param74 | 0 | |
00 00 | 00 00 | |||
33 | 1 | Param83 | 1 | |
34 | 1 | Param84 | 1 | |
35 | 1 | Param85 | 1 | |
36 | 1 | Param86 | 1 | |
37 | 1 | Param87 | 1 | |
38 | 1 | Param88 | 1 | |
39 | 1 | Param89 | 1 | |
40 | 1 | Param90 | 1 | |
41 | 1 | Param91 | 0 | |
42 | 1 | Param92 | 0 | |
43 | 1 | Param93 | 0 | |
44 | 1 | Param94 | 0 | |
45 | 1 | Param95 | 0 | |
46 | 1 | Param96 | 0 | |
47 | 1 | Param97 | 0 | |
48 | 1 | Param98 | 0 | |
FF00 | 00FF | |||
49 | 1 | Param75 | 0 | |
50 | 1 | Param76 | 0 | |
51 | 1 | Param77 | 0 | |
52 | 1 | Param78 | 0 | |
53 | 1 | Param79 | 0 | |
54 | 1 | Param80 | 0 | |
55 | 1 | Param81 | 0 | |
56 | 1 | Param82 | 0 | |
00 00 | 00 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 04 | 24 66 | 2C 64 | 2C 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 Size | Member Reference | |
---|---|---|
1st Member | 32 | 1 |
2nd Member | 16 | Param 200 |
3rd Member | 8 | Param 204 |
4th Member | 8 | Param 205 |
5th Member | 8 | Param 206 |
6th Member | 8 | Param 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 Size | Member Reference | Data (Hex) | Swap | |
---|---|---|---|---|
1st Member | 32 | 1 | 0000 0001 | 0100 0000 |
2nd Member | 16 | Param 200 | 00 03 | 03 00 |
3rd Member | 8 | Param 204 | 00 | 00 |
4th Member | 8 | Param 205 | 01 | 01 |
5th Member | 8 | Param 206 | 00 | 00 |
6th Member | 8 | Param 207 | 01 | 01 |
Total | 0100 0000 0300 0001 0001 |