Zyklisches Kanal-Interface

Das Kanal-Interface ist für den zyklischen Datenaustausch zwischen der PLC und der NCI zuständig.

Zyklisches Kanal-Interface 1:

Die Variablennamen unterscheiden sich teilweise bei den NC Ein- und Ausgängen von den SPS Ein- und Ausgängen. Dies ist aber nicht weiter von Bedeutung. Diese Beschreibung bezieht sich auf die Namensgebung in der SPS.

Von der NCI zur SPS (150 Bytes)

TYPE NciChannelToPlc :
STRUCT
nJobNo             : DWORD;
nFastMFuncMask     : ARRAY[1..5] OF DWORD; (* Mask to evaluate fast M-unctions *)
nHskMFuncNo        : WORD; (* evaluate M-function with handshake *)
nHskMFuncReq       : WORD;
nHFuncValue        : DINT;
nSpindleRpm        : WORD;
nTool              : WORD;
nReserved1         : ARRAY[37..132] OF BYTE;
nLoadedProg        : DWORD; (* loaded program number if exist *)
nItpMode           : WORD; (* Interpreter mode *)
nItpState          : WORD; (* Interpreter status *)
nItpErrCode        : WORD; (* Interpreter-Channel Error Code *)
nReserved2         : ARRAY[143..150] OF BYTE;
END_STRUCT
END_TYPE

Variablenname

Datentyp

Beschreibung

nJobNo

DWORD

Job Nummer

nFastMFuncMask

ARRAY OF DWORD

Bitmaske zur Auswertung der schnellen M-Funktionen

nHskMFuncNo

WORD

Nummer der anliegenden synchronen M-Funktion (M-Funktion mit Handshake)

nHskMFuncReq

WORD

Flag, mit dem angezeigt wird, dass eine synchrone M-Funktion anliegt
0: es liegt keine synchrone M-Funktion an
1: es liegt eine synchrone M-Funktion an

nHFuncValue

DINT

Wert der Hilfsfunktion

nSpindleRpm

WORD

Spindeldrehzahl

nTool

WORD

Werkzeugnummer

nLoadedProg

DWORD

Name des z.Zt. abgearbeiteten NC-Programms. Falls der Name kein DWORD ist, so ist dieser Wert 0.

nItpOpMode

WORD

Bitmaske, die den Interpreter-Bearbeitungsmodus anzeigt.

nItpState

WORD

Status des Interpreters

nItpErrorCode

WORD

Error Code des Interpreterkanals

Die obige Struktur enthält einige reservierte Bereiche. In neueren TwinCAT Versionen werden diese Bereiche teilweise verwendet. Auf der SPS Seite wurde die Struktur nicht umbenannt, so dass relevante Daten mit der SPS Funktion ausgelesen werden können.

NCI zur SPS (Struktur aus der NC Sicht)

Variablenname

Datentyp

Beschreibung

mJobNr

 

s. Tabelle oben nJobNo

mDWORD

 

s. Tabelle oben nFastMFuncMask

sHandshake.nFunc

 

s. Tabelle oben nHskMFuncNo

sHandshake.nRequested

 

s. Tabelle oben nHskMFuncReq

sHandshake.nHFuncValue

 

s. Tabelle oben nHFuncValue

sHandshake.nSpindelRPM

 

s. Tabelle oben nSpindleRpm

sHandshake.nTool

 

s. Tabelle oben nTool

nChnState

DWORD

 

nChnState.bIsEStopRequested

Bit 8 (zero based)

Zeigt an, dass ein ItpEStop aufgerufen wurde - ohne eine Prüfung, ob sich die Achsen bereits im Stillstand befinden.

nChnState.bIsFeedFromBackupList

Bit 10 (zero based)

Im Falle des Rückwärtsfahrens werden die aktuellen Einträge aus der Interpreter Backup Liste versendet

nChnState.bIsMovingBackward

Bit 11 (zero based)

Gibt an, dass die derzeitige Bewegung eine Rückwärtsbewegung ist (ab TC 2.11 Build 1550)

nParams

Array of DWORD

Daten des frei konfigurierbaren Kanalinterfaces (s. ItpSetCyclicUDintOffsets)

fParams

Array of LREAL

Daten des frei konfigurierbaren Kanalinterfaces (s. ItpSetCyclicLrealOffsets)

mProgNr

 

s. Tabelle oben nLoadedProg

mItpOpMode

 

s. Tabelle oben nItpOpMode

mItpOpState

 

s. Tabelle oben nItpState

mErrorCode

 

s. Tabelle oben nItpErrorCode

nChnId

WORD

Kanal ID

nGrpId

WORD

Gruppen ID

nItfVersion

WORD

Version dieses zyklischen Kanal Interfaces

Von der SPS zur NCI (150 Bytes)

TYPE NciChannelFromPlc :
STRUCT
nSkipLine          : WORD; (* Mask to skip lines *)
nItpMode           : WORD;
nMFuncGranted      : WORD; (* granted signal of the M-function *)
nReserved1         : ARRAY[7..14] OF BYTE;
nChaAxesOvr        : DWORD; (* Channel override in percent * 100 *)
nChaSpindleOvr     : DWORD;
nReserved2         : ARRAY[23..150] OF BYTE;
END_STRUCT
END_TYPE

Variablenname

Datentyp

Beschreibung

nSkipLine

WORD

Bitmaske mit der aus der PLC die Satzunterdrückung der NCI parametriert wird.

nItpMode

WORD

Bitmaske mit der der Interpreter-Bearbeitungsmodus geändert werden kann. Dies wird z.B. dann benötigt, wenn der Interpreter im Einzelsatz arbeiten soll.

nMFuncGranted

WORD

Flag, mit dem eine M-Funktion vom Typ 'Handshake' bestätigt wird
0: nicht quittiert
1: Quittierung

nChaAxesOvr

DWORD

Kanal-Override für die Achsen von 0...1000000 (entspricht 0 - 100%)

nChaSpindleOvr

DWORD

Kanal-Override für die Spindel von 0...1000000 (entspricht 0 - 100%)