Ethernet/IP Adapter

Introduction

This section describes the configuration of the TM3 Ethernet bus coupler as an Ethernet/IP adapter.

For further information about Ethernet/IP, refer to the www.odva.org website.

Ethernet/IP Adapter Configuration

To configure your TM3 Ethernet bus coupler as an EtherNet/IP adapter, add the bus coupler to your project and select EtherNet IP Scanner > TM3BCEIP.

EtherNet/IP Parameters Configuration

To configure the Ethernet/IP parameters, double-click the bus coupler node in the Devices tree.

In the Target Settings tab, you can configure the following parameters:

Element

Description

Address Settings

IP Address by DHCP

IP address is obtained via DHCP.

Device name used to retrieve IP address through DHCP, maximum 15 characters.

IP Address by BOOTP

MAC address of the bus coupler.

Fixed IP Address

IP address of the bus coupler.

Electronic Keying

Check Device Type

Type of the bus coupler.

Check Vendor Type

Vendor code of the bus coupler.

Check Product Type

Product code of the bus coupler.

Check Major Revision

Firmware major version.

Check Minor Revision

Firmware minor version.

Protocol on the fieldbus

Protocol used by the device

Protocol used. You cannot edit this field.

Electronic Keying signatures are used to identify the bus coupler.

Electronic Keying is information contained in the firmware of the bus coupler (Vendor Code, Product Code, …).

When the controller scanner starts, it compares each selected electronic keying value with the corresponding information in the TM3 Ethernet bus coupler.

If the TM3 Ethernet bus coupler values are not the same as the application values, the controller no longer communicates with the TM3 Ethernet bus coupler.

Connections on Ethernet/IP Adapter

To access a target device, an Originator opens a connection which can include several sessions that send requests.

One explicit connection uses one session (a session is a TCP or UDP connection).

One I/O connection uses one session.

The following table shows the Ethernet/IP connections limitations:

Characteristic

Maximum

Explicit connections

16 (Class 3)

I/O connections

1 (Class 1) Exclusive Owner

15 (Class 1) Listen Only

Sessions

16

NOTE: The TM3 bus coupler supports cyclic connections. If an Originator opens a connection using a change of state as a trigger, packets are sent at the RPI rate.

EtherNet/IP I/O Mapping Tab

When the data exchanges are configured, you can map variables to be used by the program.

Defined variables are listed in the EtherNet/IP I/O Mapping tab.

For more information on this tab, refer to I/O Mapping Dialog.

Bus Cycle Options

Select the Bus cycle task to synchronize the EtherNet/IP adapter data:

oUse parent bus cycle setting (the default),

oMAST

oAny task of the application

NOTE: This parameter defines the task responsible for copying the %IW and %QW registers from/to the bus coupler.

EtherNet/IP Objects

The TM3 bus coupler supports the following objects:

Object class

Class ID (hex)

Effect on Interface Behavior

TM3 bus coupler configuration object

65

Stores TM2/TM3 module configurations.

TM3 bus coupler feature configuration object

64

Used to prepare/apply configuration.

Profile

The controller supports the following objects:

Object class

Class ID (hex)

Cat.

Number of Instances

Effect on Interface Behavior

Identity Object

01

1

1

Supports the reset service

Message Router Object

02

1

1

Explicit message connection

Assembly Object

04

2

2

Defines I/O data format

Connection Manager Object

06

 

1

TCP/IP Interface Object

F5

1

1

TCP/IP configuration

Ethernet Link Object

F6

1

1

Counter and status information

Interface Diagnostic Object

350

1

1

Connection Diagnostic Object

352

1

1

Explicit Connection Diagnostic Object

353

1

1

TM3 Bus Coupler Feature Configuration Object

64

1

2

Identity Object (Class ID = 01 hex)

The following table describes the class attributes of the Identity Object:

Attribute ID (hex)

Access

Name

Data Type

Value (hex)

Details

1

Get

Revision

UINT

01

Implementation revision of the Identity Object

2

Get

Max Instances

UINT

01

The largest instance number

3

Get

Number of Instances

UINT

01

The number of object instances

6

Get

Max Class Attribute

UINT

07

The largest class attributes value

7

Get

Max Instance Attribute

UINT

07

The largest instance attributes value

The following table describes the Class Services:

Service Code (hex)

Name

Description

01

Get Attribute All

Returns the value of all class attributes

0E

Get Attribute Single

Returns the value of the specified attribute

The following table describes the Instance Services:

Service Code (hex)

Name

Description

01

Get Attribute All

Returns the value of all class attributes

05

Reset (1)

Initializes EtherNet/IP component (controller reboot)

0E

Get Attribute Single

Returns the value of the specified attribute

(1) Reset Service description:

When the Identity Object receives a Reset request, it:

odetermines whether it can provide the type of reset requested

oresponds to the request

oattempts to perform the type of reset requested

The Reset common service has one specific parameter, Type of Reset (USINT), with the following values:

Value

Type of Reset

0

Reboots the controller

NOTE: This is the default value if this parameter is omitted.

1

Not supported

2

Not supported

3...99

Reserved

100...199

Vendor specific

200...255

Reserved

The following table describes the Instance attributes:

Attribute ID (hex)

Access

Name

Data Type

Value (hex)

Details

1

Get

Vendor ID

UINT

F3

Schneider Automation ID

2

Get

Device type

UINT

0C

EIP Adapter

3

Get

Product code

UINT

1009

Bus coupler product code

4

Get

Revision

Struct of USINT, USINT

Product revision number of the bus coupler (1).

Equivalent to the 2 low bytes of the bus coupler version

5

Get

Status

WORD

Status word(2)

6

Get

Serial number

UDINT

Serial number of the bus coupler

7

Get

Product name

Struct of USINT, STRING

TM3BCEIP

(1) Mapped in a WORD:

oMSB: minor revision (second USINT)

oLSB: major revision (first USINT)

Example: 0205 hex means revision V5.2.

(2) Status word (Attribute 5):

Bit

Name

Description

0

Owned

TRUE indicates that the device is a owner.

1

Reserved

2

Configured

TRUE indicates that the device application has been configured.

3

Reserved

4...7

Extended Device Status

o0: Self-testing or undetermined

o1: Firmware update in progress

8

Minor Recoverable Fault

TRUE indicates that the device detected an error, which, under most circumstances, is recoverable.

This type of event does not lead to a change in the device state.

9

Minor Unrecoverable Fault

TRUE indicates that the device detected an error, which, under most circumstances, is unrecoverable.

This type of event does not lead to a change in the device state.

10

Major Recoverable Fault

TRUE indicates the device detected an error, which requires the device to report an exception and enter into the HALT state.

This type of event leads to a change in the device state, but, under most circumstances, is recoverable.

11

Major Unrecoverable Fault

TRUE indicates the device detected an error, which requires the device to report an exception and enter into the HALT state.

This type of event leads to a change in the device state, but, under most circumstances, is not recoverable.

12...15

Reserved

Message Router Object (Class ID = 02 hex)

The following table describes the class attributes of the Message Router object:

Attribute ID (hex)

Access

Name

Data Type

Value (hex)

Details

1

Get

Revision

UINT

01

Implementation revision number of the Message Router Object

2

Get

Max Instances

UINT

01

The largest instance number

3

Get

Number of Instance

UINT

01

The number of object instances

4

Get

Optional Instance Attribute List

Struct of UINT, UINT [ ]

The first 2 bytes contain the number of the optional instance attributes. Each following pair of bytes represents the number of other optional instance attributes (from 100 to 119).

5

Get

Optional Service List

UINT

0A

The number and list of any implemented optional services attribute (0: no optional services implemented)

6

Get

Max Class Attribute

UINT

07

The largest class attributes value

7

Get

Max Instance Attribute

UINT

02

The largest instance attributes value

The following table describes the Class Services:

Service Code (hex)

Name

Description

01

Get_Attribute_All

Returns the value of all class attributes

0E

Get_Attribute_Single

Returns the value of the specified attribute

The following table describes the Instance Services:

Service Code (hex)

Name

Description

01

Get_Attribute_All

Returns the value of all class attributes

0E

Get_Attribute_Single

Returns the value of the specified attribute

The following table describes the Instance attributes:

Attribute ID (hex)

Access

Name

Data Type

Value

Description

1

Get

Implemented Object List

Struct of UINT, UINT [ ]

Implemented Object list. The first 2 bytes contain the number of implemented objects. Each 2 bytes that follow represents another implemented class number.

This list contains the following objects:

oIdentity

oMessage Router

oAssembly

oConnection Manager

oQoS

oPort

oTCP/IP Interface

oEthernet Link

2

Get

Number available

UINT

16

Maximum number of concurrent CIP (Class 1 or Class 3) connections supported

Assembly Object (Class ID = 04 hex)

The following table describes the class attributes of the Assembly object:

Attribute ID (hex)

Access

Name

Data Type

Value (hex)

Details

1

Get

Revision

UINT

02

Implementation revision of the Assembly Object

2

Get

Max Instances

UINT

65

The largest instance number

3

Get

Number of Instances

UINT

03

The number of object instances

4

Get

Optional Instance Attribute List

Struct of:

UINT

UINT [ ]

01

04

The first 2 bytes contain the number of optional instance attributes. Each following pair of bytes represents the number of other optional instance attributes.

5

Get

Optional Service List

UINT

Not supported

The number and list of any implemented optional services attribute (0: no optional services implemented)

6

Get

Max Class Attribute

UINT

07

The largest class attributes value

7

Get

Max Instance Attribute

UINT

04

The largest instance attributes value

The following table describes the Class Services:

Service Code (hex)

Name

Description

0E

Get Attribute Single

Returns the value of the specified attribute

The following table describes the Instance Services:

Service Code (hex)

Name

Description

0E

Get Attribute Single

Returns the value of the specified attribute

10

Set Attribute Single

Modifies the value of the specified attribute

Instances Supported

The bus coupler supports 2 Assemblies:

Name

Instance

Data Size

TM3BC IO Modules Output Data

100

2...64 words

TM3BC IO Modules Input Data

101

2...64 words

Assembly assignment

The following table describes the Instance attributes:

Attribute ID (hex)

Access

Name

Data Type

Value

Description

3

Get/Set

Instance Data

ARRAY of Byte

Data Set service only available for the controller output

4

Get

Instance Data Size

UINT

128

Size of data in byte

Connection Manager Object (Class ID = 06 hex)

The following table describes the class attributes of the Assembly Object:

Attribute ID (hex)

Access

Name

Data Type

Value (hex)

Details

1

Get

Revision

UINT

01

Implementation revision of the Connection Manager Object

2

Get

Max Instances

UINT

01

The largest instance number

3

Get

Number of Instances

UINT

01

The number of object instances

4

Get

Optional Instance Attribute List

Struct of:

UINT

UINT [ ]

The number and list of the optional attributes. The first word contains the number of attributes to follow and each following word contains another attribute code.

Following optional attributes include:

ototal number of incoming connection open requests

othe number of requests rejected due to non-conforming format of the Forward Open

othe number of requests rejected because of insufficient resources

othe number of requests rejected due to parameter value sent with the Forward Open

othe number of Forward Close requests received

othe number of Forward Close requests with an invalid format

othe number of Forward Close requests that could not be matched to an active connection

othe number of connections that have timed out because the other side has stopped producing, or a network was disconnected

6

Get

Max Class Attribute

UINT

07

The largest class attributes value

7

Get

Max Instance Attribute

UINT

08

The largest instance attributes value

The following table describes the Class Services:

Service Code (hex)

Name

Description

01

Get Attribute All

Returns the value of all class attributes

0E

Get Attribute Single

Returns the value of the specified attribute

The following table describes the Instance Services:

Service Code (hex)

Name

Description

01

Get Attribute All

Returns the value of all instance attributes

0E

Get Attribute Single

Returns the value of the specified attribute

4E

Forward Close

Closes an existing connection

52

Unconnected Send

Sends a multi-hop unconnected request

54

Forward Open

Opens a new connection

The following table describes the Instance attributes:

Attribute ID (hex)

Access

Name

Data Type

Value

Description

1

Get

Open Requests

UINT

Number of Forward Open service requests received

2

Get

Open Format Rejects

UINT

Number of Forward Open service requests which were rejected due to invalid format

3

Get

Open Resource Rejects

ARRAY of Byte

Number of Forward Open service requests which were rejected due to lack of resources

4

Get

Open Other Rejects

UINT

Number of Forward Open service requests which were rejected for reasons other than invalid format or lack of resources

5

Get

Close Requests

UINT

Number of Forward Close service requests received

6

Get

Close Format Requests

UINT

Number of Forward Close service requests which were rejected due to invalid format

7

Get

Close Other Requests

UINT

Number of Forward Close service requests which were rejected for reasons other than invalid format

8

Get

Connection Timeouts

UINT

Total number of connection timeouts that have occurred in connections controlled by this Connection Manager

TCP/IP Interface Object (Class ID = F5 hex)

This object maintains link specific counters and status information for an Ethernet 802.3 communication interface.

The following table describes the class attributes of the TCP/IP Interface Object:

Attribute ID (hex)

Access

Name

Data Type

Value

Details

1

Get

Revision

UINT

4

Implementation revision of the TCP/IP Interface Object

2

Get

Max Instances

UINT

1

The largest instance number

3

Get

Number of Instances

UINT

1

The number of object instances

4

Get

Optional

Struct of:

UINT

UINT [ ]

The first 2 bytes contain the number of optional instance attributes. Each following pair of bytes represents the number of other optional instance attributes.

The following table describes the Class Services:

Service Code (hex)

Name

Description

01

Get Attribute All

Returns the value of all class attributes

0E

Get Attribute Single

Returns the value of the specified attribute

Instance Codes

Only instance 1 is supported.

The following table describes the Instance Services:

Service Code (hex)

Name

Description

01

Get Attribute All

Returns the value of all instance attributes

0E

Get Attribute Single

Returns the value of the specified instance attribute

The following table describes the Instance Attributes:

Attribute ID (hex)

Access

Name

Data Type

Value

Description

1

Get

Status

DWORD

Bit level

o0: The interface configuration attribute has not been configured.

o1: The interface configuration contains a valid configuration.

o2...15: Reserved.

2

Get

Configuration Capability

DWORD

Bit level

o0: BOOTP Client

o2: DHCP Client

o4: Configuration Settable

o6: Interface Configuration change requires reset

o7: Acd Capable

All other bits are reserved and set to 0.

3

Get

Configuration

DWORD

Bit level

o0: The interface configuration is valid.

o1: The interface configuration is obtained with BOOTP.

o2: The interface configuration is obtained with DHCP.

o3: Reserved

All other bits are reserved and set to 0.

4

Get

Physical Link

UINT

Path size

Number of 16 bits word in the element path

5

Get

Interface configuration

UDINT

IP Address

UDINT

Network Mask

UDINT

Gateway Address

UDINT

Primary Name

UDINT

Secondary Name

0: No secondary name server address has been configured.

STRING

Default Domain Name

0: No Domain Name is configured

6

Get

Host Name

STRING

ASCII characters.

0: No host name is configured

Ethernet Link Object (Class ID = F6 hex)

This object provides the mechanism to configure a TCP/IP network interface device.

The following table describes the class attributes of the Ethernet Link object:

Attribute ID (hex)

Access

Name

Data Type

Value (hex)

Details

1

Get

Revision

UINT

4

Implementation revision of the Ethernet Link Object

2

Get

Max Instances

UINT

3

The largest instance number

3

Get

Number of Instances

UINT

3

The number of object instances

The following table describes the Class Services:

Service Code (hex)

Name

Description

01

Get Attribute All

Returns the value of all class attributes

0E

Get Attribute Single

Returns the value of the specified attribute

Instance Codes

Only instance 1 is supported.

The following table describes the Instance Services:

Service Code (hex)

Name

Description

01

Get Attribute All

Returns the value of all instance attributes

0E

Get Attribute Single

Returns the value of the specified instance attribute

The following table describes the Instance attributes:

Attribute ID (hex)

Access

Name

Data Type

Value

Description

1

Get

Interface Speed

UDINT

Speed in Mbit/s (10 or 100)

2

Get

Interface Flags

DWORD

Bit level

o0: Link status

o1: Half/full duplex

o2...4: Negotiation status

o5: Manual setting / requires reset

o6: Local hardware error detected

All other bits are reserved and set to 0.

3

Get

Physical Address

ARRAY of 6 USINT

This array contains the MAC address of the product.

Format: XX-XX-XX-XX-XX-XX

EtherNet/IP Interface Diagnostic Object (Class ID = 350 hex)

The following table describes the class attributes of the EtherNet/IP Interface Diagnostic object:

Attribute ID (hex)

Access

Name

Data Type

Value (hex)

Details

1

Get

Revision

UINT

01

Increased by 1 on each new update of the object

2

Get

Max Instance

UINT

01

Maximum instance number of the object

The following table describes the instance attributes of the EtherNet/IP Interface Diagnostic object:

Attribute ID (hex)

Access

Name

Data Type

Details

1

Get

Protocols supported

UINT

Protocol(s) supported (0=not supported, 1=supported):

oBit 0: EtherNet/IP

oBit 1: Modbus TCP

oBit 2: Modbus Serial

oBits 3...15: Reserved, 0

2

Get

Connection Diag

STRUCT of

Max CIP IO Connections opened

UINT

Maximum number of CIP I/O connections opened.

Current CIP IO Connections

UINT

Number of CIP I/O connections currently opened.

Max CIP Explicit Connections opened

UINT

Maximum number of CIP explicit connections opened.

Current CIP Explicit Connections

UINT

Number of CIP explicit connections currently opened

CIP Connections Opening Errors

UINT

Incremented on each unsuccessful attempt to open a CIP connection.

CIP Connections Timeout Errors

UINT

Incremented when a CIP connection is timed out.

Max EIP TCP Connections opened

UINT

Maximum number of TCP connections opened and used for EtherNet/IP communication.

Current EIP TCP Connections

UINT

Number of TCP connections currently open and being used for EtherNet/IP communication.

3

Get Clear

IO Messaging Diag

STRUCT of

IO Production Counter

UDINT

Incremented each time a Class 0/1 CIP message is sent.

IO Consumption Counter

UDINT

Incremented each time a Class 0/1 CIP message is received.

IO Production Send Errors Counter

UINT

Incremented each Time a Class 0/1 message is not sent.

IO Consumption Receive Errors Counter

UINT

Incremented each time a consumption is received that contains an error.

4

Get Clear

Explicit Messaging Diag

STRUCT of

Class3 Msg Send Counter

UDINT

Incremented each time a Class 3 CIP message is sent.

Class3 Msg Receive Counter

UDINT

Incremented each time a Class 3 CIP message is received.

UCMM Msg Send Counter

UDINT

Incremented each time a UCMM message is sent.

UCMM Msg Receive Counter

UDINT

Incremented each time a UCMM message is received.

IO Connection Diagnostic Object (Class ID = 352 hex)

The following table describes the class attributes of the IO Connection Diagnostic object:

Attribute ID (hex)

Access

Name

Data Type

Value (hex)

Details

1

Get

Revision

UINT

01

Increased by 1 on each new update of the object.

2

Get

Max Instance

UINT

01

Maximum instance number of the object

0...n

where n is the maximum number of CIP I/O connections.

NOTE: There is an IO Connection Diagnostic object instance for both O->T and T->O paths.

The following table describes the instance attributes of the I/O Connection Diagnostic object:

Attribute ID (hex)

Access

Name

Data Type

Details

1

Get Clear

IO Com Diag

STRUCT of

IO Production Counter

UDINT

Incremented each time a production is sent.

IO Consumption Counter

UDINT

Incremented each time a consumption is received.

IO Production Send Errors Counter

UINT

Incremented each time a production is not sent due to an error.

IO Consumption Receive Errors Counter

UINT

Incremented each time a consumption is received that contains an error.

CIP Connection TimeOut Errors

UINT

Incremented each time a connection is timed out.

CIP Connection Opening Errors

UINT

Incremented on each unsuccessful attempt to open a connection.

CIP Connection State

UINT

State of the CIP IO connection.

CIP Last Error General Status

UINT

General status of the last error detected on the connection.

CIP Last Error Extended Status

UINT

Extended status of the last error detected on the connection.

Input Com Status

UINT

Communication status of the inputs.

Output Com Status

UINT

Communication status of the outputs.

2

Get

Connection Diag

STRUCT of

Production Connection ID

UDINT

Connection ID for production.

Consumption Connection ID

UDINT

Connection ID for consumption.

Production RPI

UDINT

Requested Packet Interval (RPI) for productions, in μs.

Production API

UDINT

Actual Packet Interval (API) for productions.

Consumption RPI

UDINT

RPI for consumptions.

Consumption API

UDINT

API for consumptions.

Production Connection Parameters

UDINT

Connection parameters for productions.

Consumption Connection Parameters

UDINT

Connection parameters for consumptions.

Local IP

UDINT

Local IP address for I/O communication.

Local UDP Port

UINT

Local UDP port number for I/O communication.

Remote IP

UDINT

Remote IP address for I/O communication.

Remote UDP Port

UINT

Remote UDP port number for I/O communication.

Production Multicast IP

UDINT

Multicast IP address for productions, or 0 if multicast is not used.

Consumption Multicast IP

UDINT

Multicast IP address for consumptions, or 0 if multicast is not used.

Protocols supported

UINT

Protocol(s) supported (0 = not supported, 1=supported):

oBit 0: EtherNet/IP

oBit 1: Modbus TCP

oBit 2: Modbus Serial

oBits 3...15: Reserved, 0

Instance Attributes

The following table describes the Class Services:

Service Code (hex)

Name

Description

01

Get_Attributes_All

Returns the value of all class attributes.

0E

Get_Attribute_Single

Returns the value of a specified attribute.

4C

Get_and_Clear

Gets and clears a specified attribute.

Explicit Connection Diagnostic Object (Class ID = 353 hex)

The following table describes the class attributes of the Explicit Connection Diagnostic object:

Attribute ID (hex)

Access

Name

Data Type

Value (hex)

Details

1

Get

Revision

UINT

01

Increased by 1 at each new update of the object.

2

Get

Max Instance

UINT

0...n (maximum number of CIP IO connections)

Maximum instance number of the object.

The following table describes the instance attributes of the Explicit Connection Diagnostic object:

Attribute ID (hex)

Access

Name

Data Type

Details

1

Get

Originator Connection ID

UDINT

O to T Connection ID

2

Get

Originator IP

UDINT

3

Get

Originator TCP Port

UINT

4

Get

Target Connection ID

UDINT

T to O Connection ID

5

Get

Target IP

UDINT

6

Get

Target TCP Port

UINT

7

Get

Msg Send Counter

UDINT

Incremented each time a Class 3 CIP Message is sent on the connection

8

Get

Msg ReceiveCounter

UDINT

Incremented each time a Class 3 CIP Message is received on the connection

Explicit Connections Diagnostic List Object (Class ID = 354 hex)

The following table describes the class attributes of the Explicit Connections Diagnostic List object:

Attribute ID (hex)

Access

Name

Data Type

Value (hex)

Details

1

Get

Revision

UINT

01

Increased by 1 at each new update of the object.

2

Get

Max Instance

UINT

02

Maximum number of concurrent list accesses supported.

The following table describes the instance attributes of the Explicit Connections Diagnostic List object:

Attribute ID (hex)

Access

Name

Data Type

Details

1

Get

Number of Connections

UINT

Total number of open Explicit connections

2

Get

Explicit Messaging Connections Diagnostic List

ARRAY of STRUCT

Contents of instantiated Explicit Connection Diagnostic objects

Originator Connection ID

UDINT

Originator to Target connection ID

Originator IP

UDINT

Originator to Target IP address

Originator TCP Port

UINT

Originator to Target port number

Target Connection ID

UDINT

Target to Originator connection ID

Target IP

UDINT

Target to Originator IP address

Target TCP Port

UINT

Target to Originator port number

Msg Send Counter

UDINT

Incremented each time a Class 3 CIP message is sent on the connection

Msg Receive Counter

UDINT

Incremented each time a Class 3 CIP message is sent on the connection

The following table describes the Class Services:

Service Code (hex)

Name

Description

08

Create

Creates an instance of the Explicit Connections Diagnostic List object.

09

Delete

Deletes an instance of the Explicit Connections Diagnostic List object.