Cyclic Channel Interface

The channel interface is responsible for the cyclic data exchange between the PLC and the NCI.

From the NCI to the PLC (160 bytes)

TYPE NCTOPLC_NCICHANNEL_REF : 
STRUCT
BlockNo            : UDINT;
FastMFuncMask      : ARRAY [1..5] OF DWORD;
HskMFuncNo         : UINT;
HskMFuncReq        : WORD;
HFuncValue         : UDINT;
SpindleRpm         : UINT;
Tool               : UINT;
ChnState           : NCTOPLC_NCICHANNEL_REF_CHN_STATE;
IntParams          : ARRAY [0..3] OF UDINT;
DoubleParams       : ARRAY [0..3] OF LREAL;
PathVelo           : LREAL;
LoadedProg         : UDINT;
ItpMode            : WORD;
ItpState           : UINT;
ErrorCode          : UDINT;
ChnId              : UINT;
GrpId              : UINT;
ItfVersion         : UINT;
_reserved1         : UINT;
ChnOperationState  : UDINT;
McsAxisIDs         : ARRAY [0..7] OF USINT;
AcsAxisIDs         : ARRAY [0..7] OF USINT;
_reserved2         : ARRAY [1..24] OF USINT;
END_STRUCT
END_TYPE

Variable name

Data type

Description

BlockNo

UDINT

block number

FastMFuncMask

ARRAY OF DWORD

Bit mask for evaluation of the fast M-functions

HskMFuncNo

UINT

Number of synchronous M-function present (M-function with handshake)

HskMFuncReq

WORD

Flag indicating that a synchronous M-function is present
0: no synchronous M-function is present
1: a synchronous M-function is present

HFuncValue

DINT

Value of the auxiliary function

SpindleRpm

WORD

Spindle rotation speed

Tool

WORD

Tool number

ChnState

NCTOPLC_NCICHANNEL_REF_CHN_STATE

DWORD with status information for the channel (see status information for the channel (ChnState)

IntParams

ARRAY [0..3] OF UDINT

Data of the freely configurable channel interface (see ItpSetCyclicUDintOffsets)

DoubleParams

ARRAY [0..3] OF LREAL

Data of the freely configurable channel interface (see ItpSetCyclicLrealOffsets)

PathVelo

LREAL

Current path set velocity

LoadedProg

UDINT

Name of the currently executed NC program. If the name is not a UDINT, this value is 0.

ItpMode

WORD

Bit mask that indicates execution in interpreter mode.

ItpState

UINT

Status of the interpreter

ErrorCode

UDINT

Error code of the interpreter channel

ChnId

UINT

Channel ID

GrpId

UINT

group ID

ItfVersion

UINT

Version of this cyclic channel interface

ChnOperationState

UDINT

Channel state for a channel of the kinematic transformation; has no purpose for an interpolation channel.

McsAxisIDs

ARRAY [0..7] OF USINT

IDs of the MCS axes for a kinematic transformation channel; has no purpose for an interpolation channel.

AcsAxisIDs

ARRAY [0..7] OF USINT

IDs of the ACS axes for a kinematic transformation channel; has no purpose for an interpolation channel.

Channel status information (ChnState)

In the XAE the channel status information can only be read with a plain text name, from the PLC only via the bit number.

Name

Bit number (zero based)

Description

bIsInterpolationChannel

0

Indicates that the linked channel is an interpolation channel.

bIsKinematicChannel

1

Indicates that the structure is linked to a channel for the kinematic transformation.

bIsEStopRequested

8

Indicates that an ItpEStop was called, without checking whether the axes are already at standstill.

bIsFeedFromBackupList

10

For retracing the current entries from the interpreter backup list are sent.

bIsMovingBackward

11

Indicates that the current motion is a reversing motion.

bRetraceStartPosReached

12

Indicates that the program start was reached during reversing.

From PLC to NCI (128 bytes)

TYPE PLCTONC_NCICHANNEL_REF :
STRUCT
SkipLine           : WORD; (* Mask to skip lines *)
ItpMode            : WORD;
MFuncGranted       : WORD; (* granted signal of the M-function *)
_reserved1         : UINT;
ChnAxesOvr         : UDINT; (* Channel override in percent * 100 *)
ChnSpindleOvr      : UDINT;
_reserved2         : ARRAY [1..112] OF USINT;
END_STRUCT
END_TYPE

Variable name

Data type

Description

SkipLine

WORD

Bit mask with which block skipping of the NCI is parameterized from the PLC

ItpMode

WORD

Bit mask with which the interpreter execution mode can be altered. This is, for instance, required if the interpreter is to operate in single block mode.

MFuncGranted

WORD

Flag with which an M-function of type 'Handshake' is confirmed.
0: Not acknowledged
1: Acknowledgement

ChnAxesOvr

UDINT

Channel override for the axes from 0...1000000 (corresponds to 0 - 100%)

ChnSpindleOvr

UDINT

Channel override for the spindle between 0 and 1000000 (corresponds to 0 - 100%); currently not supported.