EtherNet/IP

Connection String Options

Name

Type

Default Value

Required

Description

Name

EthernetIP

Code

eip

Maven Dependency

<dependency>
  <groupId>org.apache.plc4x</groupId>
  <artifactId>plc4j-driver-eip</artifactId>
  <version>0.12.0</version>
</dependency>

Default Transport

tcp

Supported Transports

  • tcp

Config options:

backplane

INT

1

Without using routing information the backplane defaults to 1. This is overridden if communicationPath is provided.

slot

INT

0

The slot within the backplane the CPU is located.

big-endian

BOOLEAN

true

Configure if the connection should be set to transport data in Big-Endian format, or not.

force-unconnected-operation

BOOLEAN

false

Forces the driver to use unconnected requests.
Since: 0.13.0

Transport config options:

tcp

tcp.keep-alive

BOOLEAN

false

Should keep-alive packets be sent?

tcp.no-delay

BOOLEAN

true

Should packets be sent instantly or should we give the OS some time to aggregate data.

tcp.default-timeout

INT

1000

Timeout after which a connection will be treated as disconnected.

Address Format

To read and write data to a PLC4X device, the EtherNet/IP driver uses symbolic segments. This is used to refer to objects through their symbolic names. This makes reading data a lot easier, as you do not need to specify the Datatype for reading.

%{tagname}[{startIndex}]:{numberOfElements}
%{tagname}[{startIndex}]:{numberOfElements}:{DataType}
Name Description

Tagname

symbolic name of the Data

Start Index (optional)

if the data is an array, we can specify a starting index from where we want to read

Number of elements (optional)

if the data is an array, we can specify the number of elements we want to read. Use this in combination with the starting index to get the exact scope you want.

DataType (writing)

Specify the Data-type of the value you want to write (mandatory)

Data Types

To store Use this data type

Bit

BOOL

Bit array

DWORD (32-bit boolean array)

8-bit integer

SINT

16-bit integer

INT

32-bit integer

DINT

64-bit integer

LINT

32-bit float

REAL