Optimizing EDSs for EtherNet/IP™ I/O
Connection Target Devices

Viktor Schiffer
Ingenieurbüro Schiffer
October 14, 2015

Agenda•••Introduction
Methodology
EDS Details under Investigation
–
–
–
–
–
–

•

Basic Functionality EDS Group
General Extensions of Basic Functionality EDS GroupI/O Assemblies EDS Group
Direct Parameters EDS Group
Configuration Assemblies EDS Group
Miscellaneous Functionality EDS Group

Conclusion

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

2

Introduction
•
•
•
•
•

EDSs have been around from the very beginning of CIP
They have been in very common use for DeviceNet
When ControlNet was introduced a few years later, EDSs were still the preferredconfiguration method, but the technology leader later decided to go forproprietary configuration methods
The same happened for EtherNet/IP
It is good to see the situation is changing by now, yet the overall situation is lessthan perfect:– EDS support varies from company to company and from tool to tool
– EDSs of existing product often are very basic– EDSs of existing products sometimes have to be adapted on a tool by tool basis to
give reasonable results•

This presentation give a summary of the current situation and shows a pathforward how the situation can be improved

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

3Motivation
•
•
•

•
•

When EDSs for CIP were invented, they were far superior to device
descriptions of competing networks
Configuration tools for DeviceNet made good use of the EDS functionality
Unfortunately, the use of EDSs on EtherNet/IP is less common with(typically) less functionality than with the device descriptions of competing
Ethernet-based networks
Device developers have no guidance how to create “good” EDSs, i.e. EDSs
that work well with many (ideally all) configuration tools
Chapter 7 of Volume 1 of the CIP Specifications defines all EDS constructs,
yet offers little or no guidance on their use

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

4Methodology
•
•
•
•

•

A number of EDS files were created and installed in various EDS-based
scanner configuration tools for EtherNet/IP
These EDS files started as very simple ones with increasing functionality
added to test various aspects of the EDS system
In a few cases certain EDS details would lead to install issues and evensoftware crashes
Therefore, instead of including a lot of functionality in one single EDS, akind of “single functionality” approach was taken to make sure the observed
effects could be isolated and separated
Thus, various groups of EDSs were created and tested.

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

5

Tools in the Investigation
The following vendors and their tools have been included in the investigation:– Rockwell Automation (RSNetWorx for EtherNet/IP, Logix Designer)– Omron (Network Configurator, part of the CX-One package)– 3S-Smart Software Solutions (Codesys); this technology is also used in
Schneider Electric and Bosch Rexroth PLCs
– Molex (EIP-CT); this technology is also used in Schneider Electric PLCs)– Hilscher (SYCON.net)– Mitsubishi Electric (EIP4CCPU)

All publicly shown results are “neutralized”, i.e. no “finger-pointing” takes place
Additional tools may be included in the future if there is sufficient support fromthe tool vendors

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

6

Family of EDS Files
DirectParameters

Basic
Functionality

Extensions of
Basic
Functionality

I/O Assemblies

Miscellaneous
Functionality
Configuration
Assemblies

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

7

Details shown in this Presentation•••

More than 100 EDS files were created in the course of this investigation,
covering some 200 to 300 individual aspects (estimated)
Showing all of them and explaining all details would go far beyond thescope of this presentation
Therefore, the approach taken in this presentation is to show the Basic
Functionality group of EDS files in reasonable detail and then show theConfiguration Assemblies group in more detail as an example of what thisinvestigation has revealed

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

8

Most Basic EDS File - 1

Decoded details[Connection Manager]
Connection1 =shown in the next two
0x04030002,
slides using EZ-EDS
0x66640405,,8,,
Only I/O sizes,,16,,,,,,
no formats"Exclusive Owner Connection","","20 04 24 01 2C 02 2C 03";

Connection Manager Section, other required EDS details omitted

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

9

Most Basic EDS File - 2

Typical settings
for a Class 1
connection

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

10

Most Basic EDS File - 3

Typical settings
for a Class 1
connection

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

11Basic EDS File - Extensions

The following extensions were used to add more content
to the most basic EDS:
• Input Only and Listen Only connections in addition to the Exclusive
Owner connection• OT zero length idle indication instead of 32-bit real-time header• 32-bit header in both directions• Embedded icon to check its automatic extraction.

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

12

Exclusive Owner, Input Only and Listen Only connections[Connection Manager]
Connection1 =0x04030002,
0x66640405,,8,,,16,,,,,,"Exclusive Owner Connection","","20 04 24 01 2C 02 2C 03";
[Connection Manager]
Connection1 =0x02030002,
0x66640305,,0,,,16,,,,,,"Input Only Connection","","20 04 24 01 2C 64 2C 03";

Different paths,
OT size = 0, othersettings similar[Connection Manager]
Connection1 =0x01030002,
0x66640305,,0,,,16,,,,,,"Listen Only Connection","","20 04 24 01 2C 65 2C 03";

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

13

OT 32-bit real-time header vs. zero length idle indication

Not okOk

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

14

Results of the Basic EDS File Group
•
•
•
•
•
•
•
•

All common application types (Exclusive Owner, Input Only, Listen Only) were generally
understood
One tool requires more than the bare minimum for the connection to become usable, all others
had no problems
The 32-bit real-time header in OT direction is supported in all cases, some tools do not seem tosupport it in the TO direction
Zero length data format to indicate idle is only understood and supported by the scanners in sometools, but they support such connections with “fixed size” settings even though “variable size” isrequiredSome tools are not “immune” against incorrectly formatted Input Only or Listen Only Connections,i.e. they accept these connections with OT size > 0
The majority of tools use the “Product Name” field to represent a product in the resources list, only
one of them gives preference to the “Catalog Number” field, if available
Icons are used in some of the tools; most of those tools support automatic extraction of the iconfrom the EDS
The fixed I/O size values in this EDS type are not always interpreted as fixed; some tools requirea ParamN entry limited to just one value instead of the I/O size value to make sure the I/O size
cannot be modified

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

15

Conclusion for Developers, Basic EDS File Group
•
•
•
•
•
•
•
•

Make sure your Input Only and Listen Only connections are correctly formatted for OTsize; EZ-EDS does not catch this error
Make sure both the “Product Name” and “Catalog Number” fields are filled with meaningfulstrings
Do include an icon in the EDS, but be also prepared to supply a separate icon; make surethe icon meets the recommendations spelled out in Section 7-3.6.3 of Volume 1
Be careful with the 32-bit real-time header in the TO direction, it may not be understoodby some of the tools; if you do not need it, remove it
If zero length data format to indicate idle is required, then this should be defined inConnectionN entries in addition to the 32-bit real-time header connections
If you want the EDS to be understood by all tools in the market, make sure I/O assembly
details are included; see also the appropriate section of the paper
If you want to make sure your I/O sizes cannot be modified, use a ParamN entry limited tothe desired number of bytes instead of the I/O size value
All common application types (Exclusive Owner, Input Only, Listen Only) were generally
understood

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

16

Configuration Assembly, Principle
EDS
PC with appropriate tool

Create Connection with Configuration

Communicate

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

17

The Configuration Assembly
•

•
•

•

•

The Configuration Assembly discussed in these slides is a chunk of datathat is sent to the connection target as a simple data segment sent with the
Forward_Open request
This simple data segment contains a collection of parameters in packed
form, i.e. only the parameter values
The individual parameters are described in full in the Parameter Section of
the EDS
Due to the nature of the simple data segment (up to 255 words of data) andother factors that might limit the length of the Forward_Open request, theamount of data is somewhat limited, but data may be packed
Larger amounts of configuration data can be transmitted by a series of set
requests before the connection is establishedTechnical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

18

General Structure of a (Configuration) Assembly
Parameter 1
Parameter 2

Parameter 3
Parameter 4…

Parameter N

Technical Track© 2015 ODVA, Inc.

[Assembly]
Assem1 ="",,,0x0000,,,
32,Param1,
16,Param2,
16,Param3,
16,Param4,...
16,ParamN;2015 Industry Conference & 17th Annual Meeting
All rights reserved.

[Params]
Param1 = …
Param2 = …
Param3 = …
Param4 = …
...
ParamN = …

www.odva.org

19

Configuration Assemblies EDS File Group, EDS Detail[Params]
Param6 = …
Param7 = …
Param8 = …
[Assembly]
Assem3 ="",,,0x0000,,,
32,Param6,16,Param7,16,Param8;[Connection Manager]
Connection1 =0x04030002,
0x66640405,,8,,,16,,,,,Assem3,"EO Connection","","20 04 24 01 2C 02 2C 03";

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

Typical example of a configurationassembly defined throughparameters
Assem3 is made up of the threeparameters defined by Param5,
Param7 and Param8, in eachcase with a bit size that matches
the natural size of the parameters

www.odva.org

20Things to Consider when Creating the Configuration Assembly••••

Every element (member) of the assembly needs to be described in the EDS
Typically, an assembly member is a parameter (described in the [Params]
Section of the EDS), a constant value or padding (bits to fill space)
Assembly members can have the natural bit size of what they consist of or an
explicitly stated size (in bits) can be defined; size conflicts are resolved per
spec, i.e. size definition overrides natural size
The ParamN entries of the EDS allow a detailed description of each parameter:
–
–
–
–
–
–

•

Name, unit, help string, may also be given as international strings
Data type, data size (in bytes)
Min/max/default values
Scaling information, if allowed by data type
Enumeration, if allowed by data type
Parameter properties, e.g. “read only”

All of the above should be handled correctly by the configuration tool as long as
legal constructs per spec are used

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

21

User Expectation•

Padding and constants do not need to be visible in the tool, but every parametershould be well represented:– By its name; unit and help string will help understanding the meaning without the needto access the product manual– By data type; the tool should automatically handle the parameter according to thepossibilities and limitations of the data type; incorrectly formatted data is to be rejected– Min/max/default values should be visible and data entry outside the allowed range
should be prohibited– Scaling should be applied correctly and the displayed value should indicate whether it
is raw or scaled– Enumeration should be available whenever it is defined– Parameter properties should be adhered to, e.g. a “read only” parameter should not
be modifiable

But what does the user get in reality?
Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

22Name, Units, Help String
Value

EncounteredSupport/Deficiencies

Workarounds

Name

Displayed in all tools,
may get truncatedNone required, at least
40 characters available

Units

Only displayed insome tools

None

Help String, may
only be displayedon demand

Only displayed insome toolsNone2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

Technical Track© 2015 ODVA, Inc.

23

Data Types and their Limitations
Data Type

Encountered Support/Deficiencies

Workarounds

Integer

Missing support for 64-bit data types,
None, try to avoid LINT
incorrect/incomplete handling of negative and ULINT
values, no support for hex notation/entry

Bit string

Missing support for LWORD, not support
for hex/binary notation/entry

None, try to avoid
LWORD and hex/binary

Real

Missing support for LREAL

None, try to avoid
LREAL

StringOnly some string data types supported;
there is no string data type that is
supported by all tools

None

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

24

Min/Max/Default Values
Value

Encountered Support/Deficiencies

Workarounds

Min/Max

Missing values may be interpreted as “0”;values may be completely ignored,
incorrect interpretation of min/max values
for bit string data types

Always use min/max
values, no workaroundfor ignoring min/max
valuesDefault

Supported by all tools, but may beinterpreted incorrectly, e.g. no hex
notation supported, incorrect/incomplete
support for Real data types

Use only decimal
notation; not always
practical

Value
Range

Incorrect/incomplete support of value
range, e.g. no negative values allowed

NoneTechnical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

25

Scaling
Property

EncounteredSupport/Deficiencies

Scaling as
such

Only supported by some tools

Workarounds
None

Correctness Displayed values may be incorrect,of scalinge.g. for large scaled values
Scaling
indication

Technical Track© 2015 ODVA, Inc.

None

A scaled value may look no different None
form an unscaled one

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

26

Enumeration
Property

EncounteredSupport/Deficiencies

Workarounds

Enumeration as Only supported by some tools
such

None

Enumeration
for bit string
data types

Enumeration may be handledincorrectly, e.g. like for an
integer data type

None

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

27

Parameter Properties (Descriptor), Incomplete List
Property

Encountered Support/Deficiencies Workarounds

Read Only (Bit 4) Only supported by some tools

None

Scaling (Bit 2, 3)

None

Scaling may not be supported at all

Enumeration and Only the enumerated values may be
Min/Max Range used, data entry / enumerated value
Values (Bit 8)
selection may be screwed up

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

Try to avoid
combinationof enumerated
and min/max
range values

28Conclusion for Developers, Configuration Assemblies EDS File Group
•
•
•
•
•
•
•
•
•
•

Always fill in min and max values of the ParamN entry
For bit string min and max values, only set one bit in each of the values, i.e. set the lowest
supported bit in the min value and the highest supported bit in the max value
Try to avoid 64-bit data types
For string data types, check with the configuration tool for the planned application which string
data types are supported; unfortunately, there is no string data type supported by all tools, some
support SHORT_STRING but not STRING and vice versa
Try to avoid large scaling and/or check with the configuration tool for the planned application towhat extent scaling is supported
Try to avoid enumerations outside the min/max value range
Do not rely on correct interpretation of bit 8 of the parameter descriptor (enumerations & values)
Try to avoid hex and binary notation for min/max/default values (even where allowed); for bit string
data types this is not really practical
Try to keep parameter names as short as possible (no longer than 40 characters), but stillreadable
Try to limit the positive value range of unsigned integer parameters to the value range of theequivalent signed data typeTechnical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

29

Recommendations for Tool Vendors, Configuration Assemblies EDS File Group•

Some of the bugs encountered in this group are severe; they should be
fixed by the tool vendors ASAP:– Make sure all empty non-mandatory fields in parameters are interpreted correctly– Make sure min/max values are interpreted correctly, some tools simply ignorethem– Make sure enumeration is supported, some tools simply ignore it– Make sure enumeration is supported correctly for bit string data types– Make sure hex or binary values in the EDS (where allowed) are understood– …

•

Consider adding support for more EDS features to improve user experience

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

30

General Conclusions
•

•
•

•

The functional capabilities for the configuration of EtherNet/IP devices andtheir connections provided by the CIP Specifications are excellent and well
adapted to the requirements in the market
However, their “translation” into scanner configuration tools is sometimes
faulty and/or poor
EDS authors can circumnavigate some of these deficiencies, but not all ofthem
As a way forward, the following general recommendations are compiled for
EDS authors, tool vendors and ODVATechnical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

31

Conclusions for EDS Authors••

Try to keep your EDSs simple and fill in all optional fields whenever this ispossible with respect to functionality of the EDS
Unfortunately, EDSs have to be tested in all tools under which they are to
be used;– In some cases, tool-specific EDSs may have to be published– While this is a perversion of the intent of the CIP Specification, there is no shortterm fix– This should be used as a hammer by the device maker to pressure the tool
provider to cleanup his toolTechnical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

32

Conclusions for Tool Vendors• Fix your bugs and deficiencies ASAP!
••

For the time being: Make your tool available to all device suppliers on a nocharge basis on request so they can understand your deficiencies and haveapp notes, work-arounds and/or alternate EDSs available
For verification, test your tools with test EDS files that check most or (better)all of the aspects outlined above

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

33

Conclusions for ODVA•While EDSs offer excellent functionality in principle, the lack of support bytool vendors results in bad user experience– This has led to competitive disadvantages– Massive variation in user guidance and experience between configuration tools•

To improve the situation in the future, try to establish guidelines and tests forscanner configuration tools; this could include multiple compliance levels– The test EDS files created for this investigation could serve as a starting point

Technical Track© 2015 ODVA, Inc.

2015 Industry Conference & 17th Annual Meeting
All rights reserved.

www.odva.org

34

THANK YOU