Explicit Communication
Explicit communication can be used in the EtherNet/IP Device Service. This form of messaging functions as a Client-Server relationship where the Client and Server will send and receive messages asynchronously. This works best for non-real-time messaging where communication is not time critical.
Explicit Device Profile
Explicit communication over EtherNet/IP requires specific attributes to be set within resources in the device profile.
To create a device resource for explicit messaging, the following attributes are required:
Attribute | Description | Valid Values |
---|---|---|
type | The type identifier telling the device service that this is an EM resource | EM |
objClass | CIP object class number | 0 to 65536 |
instID | CIP object instance ID | 0 to 65536 |
attrID | CIP attribute ID (only required depending on service code used) | 0 to 65535 |
serviceCode | CIP service command code | 0 to 31 |
The serviceCode
determines whether the attrID
attribute is required, as some service code commands are not attribute-specific. The table below lists attribute and data type requirements for the current service codes supported:
Service Code Command | Call Type | Description | Required Attributes | Device Resource Properties |
---|---|---|---|---|
Get Attributes All | Get | Retrieves all attributes for the specified object class and instance ID When invoking this command for the Identity object, the String data type can parse the received data and label each element The Uint8Array data type splits all data in the message into separate bytes |
|
|
Get Attribute Single | Get | Retrieves a single attribute value |
|
|
Set Attribute Single | Put | Writes to a single attribute value |
|
|
Reset | Put | Resets the device Only supported by the identity object class |
|
|
Generic | Get/Put | Using the Uint8Array, any service code can be used |
|
|
Explicit Protocol Properties
ExplicitConnected Protocol Properties
The following ExplicitConnected protocol properties are required if an explicit connection type is set to "connected". In order to keep an explicit connection alive, an explicit request will be periodically made to a resource.
Property | Description | Valid Values |
---|---|---|
DeviceResource | When using explicit communication, a request must be made to the device at a configured interval to keep the connection alive Allows you to choose the device resource from a profile to use as the periodic request |
Explicit device resource name that uses the service code of either:
|
SaveValue | Defines whether the received data is pushed to Edge Xpert on each periodic request Set to true to push the received data to Edge Xpert |
|
RPI | The interval at which the periodic request is sent to keep the class 3 connection alive | Interval in milliseconds |