EtherNet/IP

EtherNet/IP is an industrial network protocol that adapts the Common Industrial Protocol to standard Ethernet. EtherNet/IP is one of the leading industrial protocols in the United States and is widely used in a range of industries including factory, hybrid and process.

Connection Properties

Endpoint Properties

Input Format on Write

When writing data, a JSON object with the following structure should be sent to a write Endpoint (/set):

{ 'id': '<correlation id>', 'value': '<value>' }

Output Format on Write

When writing data, the result of the operation will be published to a /res topic with the following structure:

{ 'id': '<correlation id>', 'timestamp': '<msSinceEpoch>', 'result': '<result>' }

Output Format on Read

When data is read from a read Endpoint (/req) the following JSON is returned as a response in a /res topic:

{ 'id': '<correlation id>', 'timestamp': '<msSinceEpoch>', 'value': '<value>' }

Output Format on Subscribe

When data is read by means of a subscription Endpoint, the following JSON is returned as response:

{ 'id': '<correlation id>', 'timestamp': '<msSinceEpoch>', 'oldValue': '<old value>', 'value': '<value>' }

Service Commissioning File Example

ethernetIp-example.yml
description: >
  Sample EtherNet/IP service commissioning file

metadata:
  name: Sample EtherNet/IP service
  icon: https://www.cybus.io/wp-content/uploads/2017/10/for-whom1.svg
  provider: cybus
  homepage: https://www.cybus.io
  version: 1.0.0

parameters:
  host:
    type: string
    default: 127.0.0.1
  initialReconnectDelay:
    type: integer
    default: 1000
  maxReconnectDelay:
    type: integer
    default: 30000
  factorReconnectDelay:
    type: integer
    default: 2

resources:
  ethernetIpConnection:
    type: Cybus::Connection
    properties:
      protocol: EthernetIp
      connection:
        host: !ref host
        connectionStrategy:
          initialDelay: !ref initialReconnectDelay
          maxDelay: !ref maxReconnectDelay
          incrementFactor: !ref factorReconnectDelay

  sampleSubscription:
    type: Cybus::Endpoint
    properties:
      protocol: EthernetIp
      connection: !ref ethernetIpConnection
      subscribe:
        tagName: dn_count
        programName: SimulationMain

  sampleRead:
    type: Cybus::Endpoint
    properties:
      protocol: EthernetIp
      connection: !ref ethernetIpConnection
      subscribe:
        tagName: dn_count
        programName: SimulationMain

  sampleWrite:
    type: Cybus::Endpoint
    properties:
      protocol: EthernetIp
      connection: !ref ethernetIpConnection
      subscribe:
        tagName: dn_count
        programName: SimulationMain
        tagType: DINT

Last updated

Was this helpful?