N5 EtherNet/IP Online Manual

EtherNet/IP

With EtherNet/IP™, it is possible to use the most important CiA402 operating modes of the controller. The use of the cyclical modes described in the CiA402 standard (interpolated position mode, cyclic synchronous torque, velocity and position) is not currently possible.

The following message types are supported:

  • CIP™ messages (CIP UCMM, CIP class 3 and others)
  • I/O data transfer (CIP class 1)

EtherNet/IP™ references: www.odva.org.

  • THE CIP NETWORKS LIBRARY Volume 1: Common Industrial Protocol (CIP), Date: April.2014,Edition: 3.16
  • THE CIP NETWORKS LIBRARY Volume 2: EtherNet/IP Adaptation of CIP, Date: April.2015,Edition: 1.19
  • Network Infrastructure for EtherNet/IP™: Introduction and Considerations
Note:

Nanotec controllers are always based on CANopen standard CiA402. All attributes are therefore stored in a so-called object dictionary. These can be addressed with an index and a subindex, e. g. 1018h:01h. The index is a 16-bit value and the subindex is an 8-bit value.

The controller offers EtherNet/IP™, but this protocol uses a different procedure: all attributes are stored on the basis of objects. For this reason, the controller uses an assignment to create a bridge between EtherNet/IP™ and CANopen. As a consequence, the configuration of this controller is somewhat different that with normal EtherNet/IP™ devices.

Device profile

The Nanotec EtherNet/IP™ implementation contains a manufacturer-specific device profile for accessing manufacturer-specific controller properties and motor control.

With the following three services, it is possible to access each attribute for reading or writing. Each attribute listed in chapter Description of the object dictionary can be accessed.

Name Service Class Instance
Get object dictionary entry 0x32 0x64 1
Set object dictionary entry 0x33 0x64 1
Get object dictionary entry Rockwell 0x34 0x64 1

In addition to the manufacturer-specific profile, the following standard services are also offered:

  • Message Router Object
  • Connection Manager
  • Connection Configuration
  • Port
  • Ethernet Link Object
  • TCP/IP Object
  • Assembly

Service: Get object dictionary entry

The following table shows the assignment of the data for reading an attribute. The length of the data is dependent on the attribute.

Name Service Class Instance Data
GetOD entry 0x32 0x64 1 Index (16-bit) Subindex (8-Bit)

Example

The example below shows how to read the value of object 2014h:00h (current IPv4 address):

Request
32 02 20 64 24 01 14 20 00
Reply
B2 00 00 00 F4 00 A8 C0

Service: Set object dictionary entry

The following table shows the assignment of the data for writing a value in an attribute. The length of the data is dependent on the attribute. It is at least 1 byte and no more than 4 bytes long.

Name Service Class Instance                Data
SetOD entry 0x33 0x64 1 Index (16-bit) Subindex (8-Bit) Value

Example

Below is an example showing how to write the value 00000304h in object 2031h:00h (Max Motor Current):

Request
33 02 20 64 24 01 31 20 00 04 03 00 00
Reply
B3 00 00 00

Service: Get object dictionary entry Rockwell

The following table shows the assignment of the data for reading an attribute. The response contains a 16-bit object type, a 16-bit data length and the data. The response to this is: Object type (16-bit), followed by the data length (16-bit) and the data itself.

Name Service Class Instance Data
GetOD entry 0x34 0x64 1 Index (16-bit) Subindex (8-Bit)

Example

The example below shows a read request and reply for object 2014h:00h (current IPv4 address):

Request
34 02 20 64 24 01 14 20 00
Reply
B4 00 00 00 07 00 04 00 F4 00 A8 C8

Assembly objects

There is a set of producer/consumer groups (I/O Common) that contain the following:

  • Objects for operating the Plug & Drive interface which enable you

    • to use the supported operating modes,
    • to monitor the state of the controller
    • and to access the objects of the object dictionary.

    You can find additional information on the Plug & Drive interface in document Function description Plug & Drive interface on us.nanotec.com.

  • NanoJ inputs and outputs. They are used to pass values to the NanoJ program and to read out values.
  • Inputs and outputs
  • Current actual values such as position, speed, torque, following errors
  • the error code of the last error that occurred

An additional set (I/O PDI) contains only the input and output objects for the Plug & Drive interface (PDI), see PDI assemblies.

Note:

It is not possible to use the I/O Common assembly set and PDI assemblies (I/O PDI) simultaneously.

Select only one connection; either I/O Common or I/O PDI.

A configuration assembly is not supported. The attributes that are not included in the assemblies must be read and written via the manufacturer-specific device profile.

Assembly Path
Assem100: Target -> Originator Assembly - Common 20 04 24 64 30 03
Assem101: Originator -> Target Assembly - Common 20 04 24 65 30 03
Configuration - Common

Assembly - Common Target -> Originator - Data assignment

Offset (bytes) Object dictionary entry Size (bits)
0 2292h:01h PDI Status 16
2 603Fh:00h Error Code 16
4 2292h:02h PDI Return Value 32
8 6064h:00h Position Actual Value 32
12 606Ch:00h Velocity Actual Value 32
16 60FDh:00h Digital Inputs 32
20 6077h:00h Torque Actual Value 16
22 3220h:01h Analog Input 1 16
24 60F4h:00h Following Error Actual Value 32
28 2500h:01h NanoJ Output #1 32
32 2500h:02h NanoJ Output #2 32
32
116 2500h:17h NanoJ Output #23 32
120 Reserved for future use 64 (2 x 32)

Assembly - Common Originator -> Target - Data assignment

Offset (bytes) Object dictionary entry Size (bits)
0 2291h:01h PDI Set Value 1 32
4 2291h:02h PDI Set Value 2 16
6 2291h:03h PDI Set Value 3 8
7 2291h:04h PDI Command 8
8 60FEh:01h Digital Output 32
12 2400h:01h NanoJ Input #1 32
16 2400h:02h NanoJ Input #2 32
32
116 2400h:1Bh NanoJ Input #27 32
120 Reserved for future use 64 (2 x 32)

PDI assemblies

The assemblies for the Plug & Drive interface contain the input or output object of the PDI. You can find additional information on the Plug & Drive interface in document Function description Plug & Drive interface on us.nanotec.com.

Assembly Path
Assem104: Target -> Originator Assembly - Common 20 04 24 68 30 03
Assem105: Originator -> Target Assembly - Common 20 04 24 69 30 03

Assembly - Common Target -> Originator - Data assignment

Offset (bytes) Object dictionary entry Size (bits)
0 2292h:01h PDI Status 16
2 603Fh:00h Error Code 16
4 2292h:02h PDI Return Value 32

Assembly - Common Originator -> Target - Data assignment

Offset (bytes) Object dictionary entry Size (bits)
0 2291h:01h PDI Set Value 1 32
4 2291h:02h PDI Set Value 2 16
6 2291h:03h PDI Set Value 3 8
8 2291h:04h PDI Command 8

Configuring the assembly objects

The assembly objects in the controller are static and do not support dynamic assemblies. The size of the static assemblies is always 128 bytes. The most important data for the various operating modes are already configured; it is, however, possible to append additional data.

The mapped data can only be changed with the SetOD entry command. If changing the configuration, note that the EDS file must also be adapted. It is recommended that the new data be appended to the end of the current mapping. As listed in chapter Assembly objects, there is a data range provided for future use.

Note: The PDI assemblies cannot be modified.

The data are organized successively without gaps. If an 8-bit data value is to have, e.g., 32-bit alignment, it is possible to use so-called dummy objects. Use can also be viewed in the standard configuration for objects 3501h and 3601h.

Note:

To be able to change the mapping, you must first deactivate it by setting the corresponding subindex 0h to "0".

After writing the objects to the respective subindices, enter the number of mapped objects in subindex 0h.

The following table lists all available dummy objects:

Index Data type
0002h Signed integer (8 bit)
0003h Signed integer (16 bit)
0004h Signed integer (32 bit)
0005h Unsigned integer (8 bit)
0006h Unsigned integer (16 bit)
0007h Unsigned integer (32 bit)

Rockwell Studio 5000

Restrictions

The controller operates with all possible data formats; it can handle the data formats in the following list.

Abbreviation
Size in bytes Signed Unsigned
8 SINT USINT
16 INT UINT
32 DINT UDINT

Rockwell PLCs only support signed number formats. Thus, all attributes are converted to a DINT (32 byte, signed). This can cause problems when converting an unsigned 32-bit integer to one with a sign if the highest bit is set. In this case, the number becomes a negative – instead of a positive – number. Currently, such UDINT attributes – which may likely have the highest bit set – are usually a status and it is possible to reference the individual bits with a BOOL type.

Panasonic PLC

Note:
  • Connection problems when importing the EDS file in the case of the Panasonic PLC.
  • The Panasonic PLC does not support the "ZERO" connection type.
  • ► Before importing, remove the "ZERO" connection type from the EDS file.
▶   next

Contents