Zyklisches Kanal-Interface
Das Kanal-Interface ist für den zyklischen Datenaustausch zwischen der PLC und der NCI zuständig.
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 |
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 |
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%) |