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>pre-release</version>
</dependency>

Default Transport

tcp

Supported Transports

  • tcp

Config options:

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

request-timeout

INT

10000

Default timeout for all types of requests.

communication-path

STRING

The communication path allows for connection routing across multiple backplanes. It uses a common format found in Logix controllers.
It consists of pairs of values, each pair begins with either 1 (Backplane) or 2 (Ethernet), followed by a slot in the case of a backplane address, or if using Ethernet an ip address. e.g. [1,4,2,192.168.0.1,1,1] - Routes to the 4th slot in the first rack, which is an Ethernet module, it then connects to the address 192.168.0.1, then finds the module in slot 1.

Transport config options:

tcp

tcp.connect-timeout

INT

5000

tcp.read-timeout

INT

0

tcp.write-timeout

INT

0

tcp.tcp-no-delay

BOOLEAN

true

tcp.keep-alive

BOOLEAN

false

tcp.send-buffer-size

INT

81920

tcp.receive-buffer-size

INT

81920

tcp.local-address

STRING

tcp.local-port

INT

0

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