Process image

The process image (cyclic interface) of an axis is used to connect it to different drive components. In the simplest case, a link is established between the axis and the drive and the necessary links between the process images are made automatically. In individual cases, in particular when unknown hardware components are integrated in the system, these links must be established manually.

Notice The data structures described here form an internal interface between NC drivers and connected drive hardware. This interface is constantly under development and can change in the future.

Encoder process image of an axis

Various encoder hardware or the corresponding Bus Terminals for detecting the position of an axis are connected via the encoder process image (cyclic data exchange). Insofar as this hardware is directly supported by the system, no manual configuration of individual variables is necessary.

Depending on the encoder/drive, the NC variables can be interpreted as signed or unsigned. In addition, the nDataIn variables can be linked with 2 or 4 byte references. (In the special case not discussed here also with 8 byte references)

Process image 1:

Input data to the encoder process image of an axis

NC-In variable

Data type

Description

nDataIn1

or

nDataIn1[0]

UDINT / DINT (4 byte)

or

UINT or INT (2 byte)

Current actual position of the encoder or the drive in increments. The number of allowed increments is defined in the encoder parameter Encoder Mask (maximum encoder value).

The incremental value is processed by the NC and converted to the actual position in physical units, e.g. mm or degrees. Overflows of the incremental values are also counted by the NC. The system normally makes no distinction between incremental and absolute encoders, see encoder parameter Reference System.

Mapping with:

  • SoE: S-0-0051 Position feedback 1 value
  • CoE: 0x6064 Position actual value

nDataIn2

or

nDataIn2[0]

UDINT / DINT (4 byte)

or

UINT / INT (2 byte)

Optional actual latch position of the encoder or the drive in increments.

The incremental value is processed by the NC and converted to the actual position in physical units, e.g. mm or degrees.

(See function block MC_TouchProbe.)

nState1

USINT

Optional status information

For example Participant in Data Exchange, Encoder Error, communication to Position Latch or Register Communication.

nState2

USINT

Additional optional status information

For example, communication to Position Latch, communication Encoder Reset, communication to Read an Absolute Position.

nState3

USINT

reserved

nState4

USINT

Optional fieldbus-dependent I/O status such as WcState (Working Counter) in the case of EtherCAT or CdlState in the case of Beckhoff Lightbus.

Meaning:
0 = I/O data valid
1 = I/O data invalid

nDataIn3

UDINT / DINT (4 byte)

or

UINT / INT (2 byte)

Mapping with:

  • SoE: S-0-0130 Touch probe position 1 (positive edge)
  • CoE: 0x60BA Touch probe position 1 (positive edge)

nDataIn4

UDINT / DINT (4 byte)

or

UINT / INT (2 byte)

Mapping with:

  • SoE (S-0-0131): Touch probe position 1 (negative edge)
  • CoE (0x60BB): Touch probe position 1 (negative edge)

nDataIn5

UDINT / DINT (4 byte)

or

UINT / INT (2 byte)

Mapping with:

  • SoE: S-0-0132 Touch probe position 2 (positive edge)
  • CoE: 0x60BC Touch probe position 2 (positive edge)

nDataIn6

UDINT / DINT (4 byte)

or

UINT / INT (2 byte)

Mapping with:

  • SoE: S-0-0133 Touch probe position 2 (negative edge)
  • CoE: 0x60BD Touch probe position 2 (negative edge)

nState5

USINT

Mapping with:

  • SoE: S-0-0409 Probe 1 positive edge latched
  • CoE: 0x60B9 (low byte) Status touch probe 1 + 2

nState6

USINT

Mapping with:

  • SoE: S-0-0410 Probe 1 negative edge latched
  • CoE (0x60B9, high byte): Status touch probe 1 + 2

nState7

USINT

Mapping with:

  • SoE: S-0-0411 Probe 2 positive edge latched
nState8

USINT

Mapping with:

  • SoE: S-0-0412 Probe 2 negative edge latched

nDcInputTime

DINT

Optional: Used for NC dead time compensation of the encoder.

nDataIn7

UDINT / DINT (4 byte)

or

UINT / INT (2 byte)

Actual drive velocity from the drive device or from the encoder/feedback.

Mapping with:

  • SoE: S-0-0040 Velocity feedback 1 value
  • CoE:
    • 0x606C Actual velocity value (4 Byte)
    • 0x6044 Actual velocity for velocity mode (2 bytes), alternative if 0x606C is not available.

Output data from the encoder process image of an axis

I/O variable

Data type

Description

nOutData1

UDINT / DINT (4 byte)

or

UINT / INT (2 byte)

Current actual position of the encoder or drive in increments, which the NC copies directly from the input variable nInData1 to the output variable nOutData1.

nOutData2

UDINT / DINT (4 byte)

or

UINT / INT (2 byte)

reserved

nCtrl1

USINT

Optional control information

For example, communication to Position Latch, communication Encoder Reset, Register Communication

nCtrl2

USINT

Additional optional control information

For example, communication to Position Latch, communication Encoder Reset, communication to Read an Absolute Position

nCtrl3

USINT

reserved

nCtrl4

USINT

reserved

nOutData3

UDINT / DINT (4 byte)

or

UINT / INT (2 byte)

reserved

nOutData4

UDINT / DINT (4 byte)

or

UINT / INT (2 byte)

reserved

nOutData5

UDINT / DINT (4 byte)

or

UINT / INT (2 byte)

reserved

nOutData6

UDINT / DINT (4 byte)

or

UINT / INT (2 byte)

reserved

nCtrl5

USINT

Mapping with:

  • SoE: S-0-0405 (low byte) Probe 1 enable
  • CoE: 0x60B8 (low byte) Control Touch probe 1+2

nCtrl6

USINT

Mapping with:

  • SoE: S-0-0406 (low byte) Probe 2 enable
  • CoE: 0x60B8 (high byte) Control Touch probe 1+2

nCtrl7

USINT

reserved

nCtrl8

USINT

reserved