Logix

Connection String Options

Name

Type

Default Value

Required

Description

Name

Logix CIP

Code

logix

Maven Dependency

<dependency>
  <groupId>org.apache.plc4x</groupId>
  <artifactId>plc4j-driver-eip</artifactId>
  <version>1.0.0</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.

connection-serial-number

INT

0

Connection serial number to use in Forward_Open. CIP wants this unique per connection, so the default of 0 means 'pick a random one per connection'. Set it explicitly only when the exchange has to be reproducible, e.g. in recorded tests.
Since: 1.0.0

force-unconnected-operation

BOOLEAN

false

Forces the driver to use unconnected requests.
Since: 0.13.0

request-timeout-ms

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-ms

INT

5000

tcp.read-timeout-ms

INT

0

tcp.write-timeout-ms

INT

0

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

Individual Resource Address Format

Connection String

Logix has the following connection string format:-

logix:tcp://{ip-address}:{port}?{options}

An example connection string would look like:-

logix:tcp://127.0.0.1:44818?communication-path=[1,1]

Note the port and option fields are optional.

General Format

In general all Logix addresses have this format:

{tagname}
{tagname}:{DataType}
{tagname}:{numberOfElements}
{tagname}[{startIndex}]:{DataType}:{numberOfElements}

The tag name matches that found in the controller and may optionally be prefixed with %. An array index is appended to the tag name and has to be its last part.

If the number-of-elements part is omitted, 1 is assumed. If the data type is omitted it defaults to DINT, so for anything that is not a 32-bit integer it has to be given explicitly - also when reading.

The data type comes before the number of elements. Reading four DINTs starting at index 0 is myArray[0]:DINT:4.

Data Types

The following data types are supported

  • BOOL (boolean)

  • SINT (int 8)

  • INT (int 16)

  • DINT (int 32)

  • LINT (int 64)

  • REAL (float)

  • LREAL (double)

  • STRING (character string)

Other CIP data types are accepted by the address parser but are not encoded or decoded by the driver; reading such a tag results in a response code of INTERNAL_ERROR rather than a value.