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 |
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. |
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. |