Handbuch TwinCAT 3 NC I -...

435
Handbuch TwinCAT 3 NC I TwinCAT 3 1.0 20.04.2017 Version: Datum:

Transcript of Handbuch TwinCAT 3 NC I -...

Handbuch

TwinCAT 3 NC I

TwinCAT 3

1.020.04.2017

Version:Datum:

Inhaltsverzeichnis

TwinCAT 3 NC I 3Version: 1.0

Inhaltsverzeichnis1 Einleitung ................................................................................................................................................... 7

2 Benutzerschnittstelle in der TwinCAT Engineering Umgebung ........................................................... 82.1 Überblick.........................................................................................................................................  82.2 Interpolationskanal..........................................................................................................................  92.3 Interpreter-Element.......................................................................................................................  11

2.3.1 Interpreter Online-Fenster................................................................................................ 122.3.2 Karteireiter "Interpreter" ................................................................................................... 142.3.3 Karteireiter "M-Functions" ................................................................................................ 152.3.4 Karteireiter "R-Parameter" ............................................................................................... 162.3.5 Karteireiter "Nullpunkte" ................................................................................................... 172.3.6 Karteireiter "Werkzeuge".................................................................................................. 182.3.7 Karteireiter "Editor“........................................................................................................... 192.3.8 Karteireiter "MDI" ............................................................................................................. 20

2.4 Gruppenelement ...........................................................................................................................  202.4.1 Karteireiter "Allgemein" .................................................................................................... 212.4.2 Karteireiter "DXD" ............................................................................................................ 222.4.3 Karteireiter „Einstellungen“ .............................................................................................. 262.4.4 Karteireiter "Online".......................................................................................................... 272.4.5 Karteireiter "3D-Online".................................................................................................... 28

3 Interpreter (DIN 66025/G-Code) .............................................................................................................. 293.1 Grundlagen der NC-Programmierung...........................................................................................  29

3.1.1 Aufbau eines NC-Programms .......................................................................................... 293.1.2 Satzunterdrückung........................................................................................................... 303.1.3 Look-Ahead...................................................................................................................... 303.1.4 Glättung von Segmentübergängen .................................................................................. 323.1.5 Koordinatensystem .......................................................................................................... 333.1.6 Maßangaben.................................................................................................................... 333.1.7 Arbeitsebene und Zustellrichtung .................................................................................... 343.1.8 Maßangaben Inch / metrisch ........................................................................................... 353.1.9 Einzelsatzbetrieb.............................................................................................................. 363.1.10 Rechenparameter ............................................................................................................ 37

3.2 Programmierung von Bewegungsätzen........................................................................................  403.2.1 Referenzierung ................................................................................................................ 403.2.2 Eilgang ............................................................................................................................. 403.2.3 Linearinterpolation ........................................................................................................... 413.2.4 Kreisinterpolation ............................................................................................................. 423.2.5 Helix ................................................................................................................................. 443.2.6 Verweilzeit........................................................................................................................ 453.2.7 Genauhalt ........................................................................................................................ 453.2.8 Vorschubinterpolation ...................................................................................................... 453.2.9 Nullpunktverschiebungen................................................................................................. 473.2.10 Zielpositionsüberwachung ............................................................................................... 493.2.11 Konturzüge....................................................................................................................... 513.2.12 Rotation............................................................................................................................ 523.2.13 Spiegeln ........................................................................................................................... 553.2.14 Verschleifung von Segmentübergängen.......................................................................... 563.2.15 Verrundung mit Kreissegmenten ..................................................................................... 623.2.16 Automatischer Genauhalt ................................................................................................ 623.2.17 Restweglöschen............................................................................................................... 633.2.18 Modulo Bewegungen ....................................................................................................... 633.2.19 Hilfsachsen....................................................................................................................... 65

Inhaltsverzeichnis

TwinCAT 3 NC I4 Version: 1.0

3.3 Zusatzfunktionen ..........................................................................................................................  683.3.1 M-Funktionen ................................................................................................................... 683.3.2 H-, T- und S-Parameter.................................................................................................... 723.3.3 Dekodierstopp.................................................................................................................. 733.3.4 Sprünge............................................................................................................................ 753.3.5 Schleifen .......................................................................................................................... 763.3.6 Unterprogrammtechnik..................................................................................................... 783.3.7 Dynamischer Override ..................................................................................................... 793.3.8 Änderung der Bahndynamik ............................................................................................ 803.3.9 Änderung der Reduktionsparameter ................................................................................ 813.3.10 Änderung der Mindestgeschwindigkeit ............................................................................ 833.3.11 Lese Achsen-Istwert......................................................................................................... 833.3.12 Überspringe virtuelle Bewegung ...................................................................................... 843.3.13 Meldungen aus dem NC-Programm ................................................................................ 85

3.4 Werkzeugkorrekturen ...................................................................................................................  853.4.1 Werkzeugdaten................................................................................................................ 853.4.2 An- und Abwahl der Längenkorrektur .............................................................................. 883.4.3 Kartesische Werkzeugverschiebung................................................................................ 883.4.4 Fräserradiuskorrektur....................................................................................................... 913.4.5 Orthogonales An- bzw. Abfahren der Kontur ................................................................... 963.4.6 Bahngeschwindigkeit bei Kreisen .................................................................................... 963.4.7 Flaschenhalserkennung................................................................................................... 97

3.5 Befehlsübersicht ...........................................................................................................................  993.5.1 Allgemeine Kommandoübersicht ..................................................................................... 993.5.2 @-Kommando Übersicht................................................................................................ 103

4 PLC NCI Libraries .................................................................................................................................. 1064.1 PLC Library: Tc2_NCI.................................................................................................................  106

4.1.1 Konfiguration.................................................................................................................. 1064.1.2 NCI POUs ...................................................................................................................... 1134.1.3 Teileprogramm-Generator.............................................................................................. 1694.1.4 Bausteine zur Kompatibilität mit bestehenden Programmen ......................................... 1774.1.5 Obsolete......................................................................................................................... 202

4.2 PLC Library: Tc2_PlcInterpolation ..............................................................................................  2044.2.1 FB_NciFeedTablePreparation ....................................................................................... 2064.2.2 FB_NciFeedTable .......................................................................................................... 2074.2.3 Typen und Enums.......................................................................................................... 208

5 Beispiele................................................................................................................................................. 221

6 Anhang ................................................................................................................................................... 2226.1 Anzeige des Teileprogramms .....................................................................................................  2226.2 Anzeige von Technologiedaten ..................................................................................................  2246.3 Anzeige der verbleibenden Bahnlänge.......................................................................................  2296.4 Parametrierung ...........................................................................................................................  229

6.4.1 Bahnoverride (Interpreter-Overridetypen) ...................................................................... 2326.5 Zyklisches Kanal-Interface..........................................................................................................  2346.6 ADS Return Codes .....................................................................................................................  2366.7 Übersicht NC-Fehler ...................................................................................................................  240

6.7.1 Allgemeine Fehler .......................................................................................................... 2416.7.2 Kanalfehler ..................................................................................................................... 2446.7.3 Gruppenfehler ................................................................................................................ 2496.7.4 Achsfehler ...................................................................................................................... 2706.7.5 Geberfehler .................................................................................................................... 2776.7.6 Reglerfehler.................................................................................................................... 286

Inhaltsverzeichnis

TwinCAT 3 NC I 5Version: 1.0

6.7.7 Antriebfehler................................................................................................................... 2916.7.8 Tabellenfehler ................................................................................................................ 2966.7.9 NC-SPS-Fehler .............................................................................................................. 3006.7.10 Kinematische Transformation ........................................................................................ 3076.7.11 Bode Return Codes ....................................................................................................... 3076.7.12 Weitere Fehler................................................................................................................ 310

6.8 Spezifikation "Index-Group" für NC ( ID [0x01...0xFF] ) .............................................................  3126.8.1 Spezifikation Ring-0-Manager........................................................................................ 3156.8.2 Spezifikation Kanäle ...................................................................................................... 3176.8.3 Spezifikation Gruppen.................................................................................................... 3276.8.4 Spezifikation Achsen...................................................................................................... 3436.8.5 Spezifikation Encoder .................................................................................................... 3876.8.6 Spezifikation Regler ....................................................................................................... 4026.8.7 Spezifikation Drive ......................................................................................................... 4106.8.8 Spezifikation Tabellen.................................................................................................... 4186.8.9 Anhang........................................................................................................................... 423

Inhaltsverzeichnis

TwinCAT 3 NC I6 Version: 1.0

Einleitung

TwinCAT 3 NC I 7Version: 1.0

1 EinleitungTwinCAT NCI steht für 'numerical control interpolation' und ist das NC-System für interpolierendeBahnbewegungen. TwinCAT NCI bietet eine 3D-Interpolation (Interpreter, Sollwertgenerierung, Lageregler), eine integrierteSPS mit NC-Schnittstelle und eine E/A-Anbindung für Achsen über den Feldbus.

Mit der NCI können 3 Bahnachsen und bis zu 5 Hilfsachsen pro Kanal verfahren werden. Zusätzlich könnennoch Master/Slave Kopplungen gebildet werden. In Kombination mit TwinCAT Kinematic Transformation (TF511x) lassen sich auch komplexe Kinematiken aus der NCI heraus ansteuern.

Die Programmierung erfolgt aus einem eigenen NC-Programm nach DIN 66025 mit eigenenSpracherweiterungen (vgl. Interpreter (DIN 66025/G-Code) [} 29]) oder direkt aus der SPS mit derBibliothek PLC Library: Tc2_PlcInterpolation [} 204].

Installationsvoraussetzung

TwinCAT NCI ist in die TwinCAT 3-Installation integriert.

Übersicht

Kapitel InhaltXAE - Benutzerschnittstelle [} 8] Beschreibung der Parameter und Funktionalitäten für

den Interpreter in der TwinCAT EngineeringUmgebung (XAE)

Interpreter [} 29] Programmieranleitung des Interpreters

PLC NCI Libraries [} 106] Beschreibung der speziellen NCI Bibliotheken

Beispiele [} 221] Beispiele zur Verwendung von TwinCAT NCI mitSPS und Teileprogramm, sowie zur direktenBewegungssteuerung aus der SPS mit derTc2_PlcInterpolation-Bibliothek

Anhang [} 229] Parametrierung, Zyklisches Kanalinterface

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I8 Version: 1.0

2 Benutzerschnittstelle in der TwinCATEngineering Umgebung

2.1 ÜberblickUm die Interpolation nutzen zu können, fügen Sie einen Interpolationskanal im XAE ein. Dies gilt sowohl fürdie Verwendung des Interpreters als auch der PLC Library: Tc2_PlcInterpolation [} 204].

1. Legen Sie einen NC-Kanal an.

2. Wählen Sie in der Auswahlbox den NC Kanal für die Interpolation an.

3. Ordnen Sie diesem aus der SPS per Funktionsbaustein PTP-Achsen zu.ð Der angelegte Kanal besteht aus folgenden Elementen:

Interpolationskanal [} 9] Beschreibung der Eigenschaftsseiten, die sich hinterdem Element 'Interpolation' befinden

Interpreter Element [} 11] Beschreibung der Eigenschaftsseiten, die sich hinterdem Element 'Interpreter' befinden

Gruppenelement [} 20] Beschreibung der Eigenschaftsseiten, die sich hinterdem Element 'Gruppe' befinden

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I 9Version: 1.0

HINWEIS! Achsspezifische Parameter für die NCI befinden sich in der Achsparametrierung unterdem Unterpunkt 'NCI Parameter'.

2.2 Interpolationskanal

Mit einem Klick auf den Interpolationskanal werden folgende Dialoge sichtbar:

Karteireiter "Online"

Hier werden alle Achsen der aktuellen Interpolationsgruppe [} 20] aufgelistet. Dabei werden aktuelldargestellt:

• Istpositionen• Sollpositionen• Schleppabstände• Sollgeschwindigkeiten und• Fehlercodes

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I10 Version: 1.0

Karteireiter "Override"

Auf der Seite 'Override' ist der Kanal-Override für die Achsen abzulesen und zu setzen. Falls die SPS läuftund dort das zyklische Kanal-Interface [} 234] beschrieben wird, dann wird der hier gesetzte Override durchdie SPS wieder überschrieben.

Nähere Information zur Wirkungsweise des Overrides sind unter Bahnoverride (Interpreter-Overridetypen)[} 232] zu finden.

Der Spindel-Override wird zwar durch das zyklische Kanal-Interface beschrieben, aber derzeit nichtunterstützt.

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I 11Version: 1.0

2.3 Interpreter-Element

Mit einem Klick auf „Interpreter“ werden folgende Eigenschaftsseiten und das Online Fenster sichtbar:

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I12 Version: 1.0

2.3.1 Interpreter Online-Fenster

Achsen

Wie auch auf der Eigenschaftsseite „Online“ im Interpolationskanal, werden in diesem Fenster alle Achsen,die sich aktuell in der Interpolationsgruppe befinden, aufgelistet. Dabei werden die Werte für

• Istpositionen• Sollpositionen• Schleppabstände• Sollgeschwindigkeiten und• aktuelle Fehlercodes

dargestellt.

Actual Program Line

Die Actual Program Line stellt den z. Zt. in der Satzausführung abzuarbeitenden NC Satz dar. Dabei ist dieletzte Zeile in dem Fenster der aktuelle Satz.

Wie nahezu alle Parameter, lässt sich auch die Programmanzeige via ADS auslesen. Dies können Sie z.B.dazu verwenden, in einer Visual Basic Applikation die aktuellen NC-Sätze anzuzeigen (vergl. ADS-Device-Dokumentation - ADS Interface NC [} 236]).

Programmname

Zeigt den Namen des z.Zt. geladenen Programms. Dies muss nicht unbedingt das Programm sein, das imEditor dargestellt ist.

Interpreterstatus

Der Interpreterstatus gibt den aktuellen Status der Interpreter State Maschine wieder. Die vollständige Listeist unten aufgeführt. Da für die Auswertung in der SPS nicht alle Zustände relevant sind, sollen nur diewichtigsten erläutert werden.

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I 13Version: 1.0

Status BeschreibungITP_STATE_IDLE Der Interpreter befindet sich im Idle-Zustand, wenn

noch kein NC Programm geladen ist oder wenn einGruppen-Reset ausgeführt wird. Beim Stoppen eineslaufenden Programms, geht der Interpreter ebenfallsin den Idle State. In diesem Fall ist ein Gruppen-Reset unbedingt erforderlich, da sonst Fehler 0x42C5ausgegeben wird. Es empfiehlt sich daher nacheinem Stopp aus der SPS direkt ein Gruppen-Resetdurchzuführen.

ITP_STATE_READY Nach dem erfolgreichen Laden eines NC-Programmsbefindet sich der Interpreter im Ready State. Wennein Programm erfolgreich abgearbeitet und beendetwird, befindet sich der Interpreter anschließendebenfalls im Ready State. Zwischenzeitlich werdenaber andere Zustände angenommen.

ITP_STATE_ABORTED Tritt während der Abarbeitung des NC-Programmsein Laufzeitfehler auf, so geht der Interpreter in denAborted State. Der eigentliche Fehlercode ist demKanalstatus zu entnehmen.

ITP_STATE_SINGLESTOP Dieser Status wird nur im Einzelsatzbetrieb [} 36]angenommen. Sobald der Eintrag aus demInterpreter an den NC-Kern gesendet wird, geht derInterpreter in diesen Zustand.

Hinweis

Abfrage des Interpreterstatus während der Ausführung des ProgrammsDa der Interpreterstatus während der Ausführung des Programms zwischen verschiedenenZuständen wechseln kann, wird empfohlen, ihn mit einer negativen Logik abzufragen. Wäh-rend der Abarbeitung des Programms ist der Interpreter nicht zwingend im StateITP_STATE_RUNNING. Wurde das Programm erfolgreich ausgeführt, ist der Interpreteranschließend immer im Ready State (siehe auch Beispiele [} 221]).

Rückgabewerte Interpreterstatus0 ITP_STATE_INITFAILED1 ITP_STATE_IDLE2 ITP_STATE_READY3 ITP_STATE_STARTED4 ITP_STATE_SCANNING5 ITP_STATE_RUNNING6 ITP_STATE_STAY_RUNNING7 ITP_STATE_WRITETABLE8 ITP_STATE_SEARCHLINE9 ITP_STATE_END10 ITP_STATE_SINGLESTOP11 ITP_STATE_ABORTING12 ITP_STATE_ABORTED13 ITP_STATE_FAULT14 ITP_STATE_RESET15 ITP_STATE_STOP16 ITP_STATE_WAITFUNC17 ITP_STATE_FLUSHBUFFERS

Kanalstatus

Der Kanalstatus gibt den aktuellen Fehlerstatus des Kanals wieder. D.h. tritt zur Lade- oder Laufzeit des NC-Programms ein Fehler auf, so wird hier der dazugehörige Fehlercode [} 240] angezeigt. Geht z.B. eineAchse während der Bearbeitung in einen Schleppfehler, so wird das NC-Programm gestoppt und derKanalstatus hat einen Wert ungleich 0. Deshalb sollte der Kanalstatus unbedingt in der SPS überprüftwerden, damit auf Fehler reagiert werden kann. Im fehlerfreien Betrieb ist der Kanalstatus immer 0.

Ladepuffer

Hier wird die aktuelle Größe des Ladepuffers für den Interpreter angezeigt. Um den Wert zu verändern,muss der Karteireiter „Interpreter“ angewählt werden.

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I14 Version: 1.0

2.3.2 Karteireiter "Interpreter"

Typ

In der Auswahlbox „Typ“ kann der Interpretertyp ausgewählt werden. Zurzeit steht nur der NC-Interpreterbasierend auf DIN 66025 zur Verfügung.

Ladepuffergröße

Hier kann die Ladepuffergröße für den Interpreter editiert werden. Dabei ist zu beachten, dass der benötigteSpeicher im Interpreter wesentlich größer ist, als die Größe der NC Datei. Die maximal erlaubteLadepuffergröße ist auf 64MB begrenzt.

Hinweis

Änderung der LadepuffergrößeWenn die Ladepuffergröße verändert wird, ist unbedingt ein TwinCAT Restart notwendig.

G70 / G71 Faktor

Wird im Teileprogramm von G71 [} 35] (Millimeter - default) auf G70 umgeschaltet, so ist hier derUmrechnungsfaktor hinterlegt. Dieser muss nur dann editiert werden, wenn das Basisbezugssystem nichtMillimeter ist.

Ist die Maschine z.B. auf Inch eingemessen und im Teileprogramm wird G70 aktiv geschaltet, dann mussder G70-Faktor gleich 1 und der G71-Faktor gleich 1/25.4 gesetzt werden.

Save/Restore

Mit der Save-Funktion kann zur Laufzeit ein „Schnappschuss“ von den gerade aktuellen Parameterngesichert werden. Welche Parameter dabei berücksichtig werden sollen, wird mit den Checkboxenfestgelegt. Die Save-Funktion generiert dabei die Datei 'SnapShot.bin' im TwinCAT\CNC-Verzeichnis.

Die Restore-Funktion lädt die mit Save beschriebene Datei.

Diese Funktion ist ausschließlich für Debugzwecke vorgesehen

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I 15Version: 1.0

2.3.3 Karteireiter "M-Functions"

Hinweis

Verwendung ausschließlich mit InterpreterDieser Karteireiter hat für den Betrieb mit der Library Tc2_PlcInterpolation keine Bedeu-tung.

Hier werden die aktuell parametrierten M-Funktionen dargestellt. Auf dieser Seite können neue M-Funktionen hinzugefügt bzw. bestehende anders parametriert werden.

Eine nähere Beschreibung der möglichen Parameter ist der Interpreterbeschreibung unter M-Funktionen[} 68] zu entnehmen.

Hinweis

Parametrierung von M-FunktionenWenn M-Funktionen umparametriert werden, sind anschließend eine Aktivierung der Konfi-guration und ein TwinCAT Neustart erforderlich.

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I16 Version: 1.0

2.3.4 Karteireiter "R-Parameter"

Auf der Eigenschaftsseite „R-Parameter“ werden die zurzeit gültigen R-Parameter angezeigt. Während derTestphase ist es hier z.B. möglich, R-Parameter zu initialisieren oder zu verändern. Das Editieren der R-Parameter sollte allerdings im Regelfall aus dem NC-Programm oder ggf. aus der SPS erfolgen.

Näheres zur Verwendung von R-Parametern ist in der Interpreterbeschreibung unter R-Parameter [} 37] zufinden.

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I 17Version: 1.0

2.3.5 Karteireiter "Nullpunkte"

Hier werden die aktuellen Nullpunktverschiebungen für die Achsen, die sich in der Interpolationsgruppebefinden, dargestellt. Die Parameter P54..P59 stehen für den entsprechenden G Code. Wie auch bei den R-Parametern, lassen sich an dieser Stelle die Nullpunktverschiebungen editieren.

HINWEIS! Die Spalten F & G (z.B. P54 F & P54 G) sind historisch bedingt und werden jeweils füreinen Parameter addiert.

Näheres zur Wirkungsweise ist in der Interpreterbeschreibung unter Nullpunktverschiebungen [} 47] zufinden.

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I18 Version: 1.0

2.3.6 Karteireiter "Werkzeuge"

Auf der Eigenschaftsseite „Werkzeuge“ können Sie die Daten für die Werkzeugkorrektur editieren.

Eine nähere Beschreibung der Parameter ist in der Interpreterbeschreibung unter Werkzeugkorrekturen[} 85] zu finden.

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I 19Version: 1.0

2.3.7 Karteireiter "Editor“

Mit dem Editor können NC-Programme dargestellt und editiert werden.

• Browse...öffnet einen Dialog, mit dem vorhandene NC-Programme ausgewählt und dargestellt werden können

• F5Startet das aktuell geladene NC-Programm

HINWEIS! Das im Editor dargestellte NC-Programm muss nicht unbedingt das aktuellgeladene Programm sein

• F6Stoppt das aktuell laufende NC-Programm

• F7lädt das im Editor dargestellte NC-Programm

• F8führt einen Gruppen-Reset durch

• F9speichert das aktuell im Editor dargestellte NC-Programm unter dem gleichen Namen

• Editor...öffnet ein größeres Fenster, in dem das NC-Programm dargestellt wird

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I20 Version: 1.0

2.3.8 Karteireiter "MDI"

MDI steht für „Manual Data Interface“. Hiermit lassen sich aus der TwinCAT Engineering Umgebung (XAE)einzelne NC-Sätze direkt eingeben. Mit F5 und F6 wird die Abarbeitung gestartet bzw. gestoppt.

2.4 Gruppenelement

Allgemein [} 21]

DXD [} 22]

Einstellungen [} 26]

Online [} 27]

3D-Online [} 28]

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I 21Version: 1.0

2.4.1 Karteireiter "Allgemein"

Gruppen-ID

Auf der Seite „Allgemein“ kann die Gruppen-ID ermittelt werden. Diese wird für gruppenspezifische ADSKommandos benötigt.

Symbole erzeugen

Um symbolisch auf Bahnvariablen etc. zugreifen zu können, muss an dieser Stelle die Generierung vonSymbolen für die Gruppe angewählt werden.

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I22 Version: 1.0

2.4.2 Karteireiter "DXD"

Auf der Eigenschaftsseite „DXD“ werden die NCI-Gruppenparameter beschrieben.

Kurvengeschwindigkeitsreduktionsmethode

Die Kurvengeschwindigkeitsreduktionsmethode wirkt ausschließlich für C0-Übergänge (Siehe Klassifikationder Segmentübergänge [} 229]).

Defines der Kurvengeschwindigkeitsreduktionsmethoden0 Coulomb1 Cosinus2 VeloJump3 DeviationAngle (not yet released)

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I 23Version: 1.0

Methode BeschreibungCoulomb Die Coulomb-Reduktionsmethode ist ein dynamisches Verfahren in Analogie

zur Coulombstreuung.Der Ablenkungswinkel φ im Übergangspunkt ist der Winkel zwischen derTangente der Bahn am Ende des Segments S1 und der Tangente der Bahnam Anfang des Segments S2.Die Geschwindigkeit wird in Analogie zur Coulombstreuung proportional zurGeschwindigkeit im Unendlichen angesetztVk ∝ ( tan(0.5(π-φ)) )1/2

und dann per C0-Faktor reduziert.Vk ← C0 Vk.Bei Bewegungsumkehr (φ=180) wird damit auf jeden Fall auf Vk = C0reduziert. Da die Reduktion jedoch bei kleinen Ablenkungswinkeln drastischist, gibt es einen Winkel φlow∈ [0,180] ab dem die Reduktion voll einsetzt.Wollen Sie nicht reduzieren, dann setzen Sie φlow = 180. Wollen Sie (bis auf φ= 0) vollständig reduzieren, dann setzen Sie C0 = 0.0 und φlow = 0.

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I24 Version: 1.0

Methode BeschreibungCosinus Die Cosinus-Reduktionsmethode ist ein rein geometrisches Verfahren.

Hier gibt es• den C0-Faktor ∈ [0,1],• einen Winkel φlow ∈ [0,180],• einen Winkel φhigh ∈ [0,180], sodas φlow < φhigh

Reduktionsschema:• φ < φlow: keine Reduktion: Vk←Vk,

• φhigh < φ: Reduktion um den C0-Faktor: Vk← C0 Vk

• φlow < φ <φhigh: partielle Reduktion stetig interpolierend zwischen denFällen 1 und 2, proportional zur cos-Funktion im Bereich [0,π/2].

Wollen Sie (bis auf φ = 0) vollständig reduzieren, dann setzen Sie C0 = 0.0,φlow=0 und φhigh sehr klein aber ungleich 0 (z.B. 1.0E-10)

VeloJump Hierbei handelt es sich um ein geometrisches Verfahren zur Bestimmung derSegmentübergangsgeschwindigkeit bei einem C0-Übergang. Bei diesemVerfahren wird die Bahngeschwindigkeit ggf. so reduziert, dass derauftretende Geschwindigkeitssprung nicht grösser wird, als max. erlaubt.Dieser berechnet sich nach der Formel: VeloJump-Faktor * Zykluszeit *min(Beschleunigung; Verzögerung). Weitere Information [} 229]

Geschwindigkeitsreduktionsfaktor C0-Übergang

Reduktionsfaktor für C0-Übergänge. Die Wirkungsweise ist von der Reduktionsmethode abhängig.

C0 ∈ [0.0, 1]

Geschwindigkeitsreduktionsfaktor C1-Übergang

Zuerst wirdV_link gleich dem Minimum der beiden Segmentsollgeschwindigkeiten gesetzt: V_link = min(V_in,V_out).

In Abhängigkeit von den Geometrietypen G_in und G_out auf den zu verbindenden Segmenten und denEbenenanwahlen auf G_in und G_out wird der geometrisch induzierte absolute BeschleunigungssprungAccJump im Segentübergang unter der Geschwindigkeit V_link berechnet.

Ist dieser größer als C1 mal der für die Geometrien und Ebenen zulässigen Bahn-Beschleunigung /(absolute)Verzögerung AccPathReduced, dann wird die Geschwindigkeit V_link so reduziert, dass der sichergebende Beschleunigungssprung gleich AccPathReduced ist.

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I 25Version: 1.0

Ist dieser Wert kleiner als V_min, dann hat V_min Priorität.

HINWEIS! Bei Wechsel der Dynamikparameter ändert sich automatisch die für die Geometrien undEbenen zulässige Bahn-Beschleunigung und damit das Verhalten der Reduktion.

Reduktionsfaktor für C1-Übergänge: C1 ≥ 0.0

Kritischer Winkel Segementübergang 'Low'

Paramter für φlow (Siehe: Kurvengeschwindigkeitsreduktionsmethode [} 22]).

Kritischer Winkel Segementübergang 'High'

Paramter für φhigh (Siehe: Kurvengeschwindigkeitsreduktionsmethode [} 22]).

Mindestgeschwindigkeit an Segmentübergängen

Jede NCI-Gruppe hat eine Mindestbahngeschwindigkeit V_min≥ 0.0 die niemals unterschritten werden sollte.Vom Benutzer vorgegebene Ausnahmen sind: programmierter Halt am Segmentübergang, Bahnende undOverride-Anforderungen die unter die Mindestgeschwindigkeit führen. Systembedingte Ausnahme ist eineBewegungsumkehr.

Bei der Reduktionsmethode DEVIATIONANGLE gilt für den Ablenkungswinkel φ ≥ φ_h, dann wird dieMindestgeschwindigkeit nicht beachtet. V_min muss kleiner als die Bahnsollgeschwindigkeit (F-Wort) jedesSegments sein.

Die Mindestgeschwindigkeit kann jederzeit im NC-Programm auf einen neuen Wert V_min≥ 0.0 in Einheitenmm/sec gesetzt werden.

Global Soft Position Limits (für x,y,z-Achsen)

Parameter zum Einschalten der Software-Endlagen der Bahn (Siehe: Parametrierung [} 232]).

Interpreter Override Typ

Parameter zur Auswahl des Overridetyps der Bahn (Siehe Bahnoverride (Interpreter-Overridetypen) [} 232]).

SAF cycle time divisor

Die Zykluszeituntersetzung sorgt dafür, dass die Sollwertberechnung in der SAF nicht mit der SAF-Zykluszeit, sondern mit einer durch den hier angegebenen Wert dividierten Zeit berechnet wird. BeimVerfahren mit sehr großer Dynamik kann es sinnvoll sein, den Parameter auf einen Wert größer 1 zu setzenum Diskretisierungsungenauigkeiten zu minimieren. Die Erhöhung des SAF cycle time divisor führt dazu,dass der Sollwertgenerator intern häufiger aufgerufen wird.

User defined SAF table length

Parameter, der die Größe der SAF-Tabelle und somit die maximale Anzahl der gepufferten SAF-Einträge(Look-Ahead) definiert. Werden in einem NC-Programm viele sehr kurze Segmente nacheinander verfahren,so kann durch Vergrößerung dieses Wertes eine ungewollte Geschwindigkeitsreduktion amSegmentübergang vermieden werden.

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I26 Version: 1.0

2.4.3 Karteireiter „Einstellungen“

Unter dem Karteireiter „Einstellungen“ können Sie die Zykluszeit für die Interpolation einstellen. Die hiereingestellte Zykluszeit ist hierbei ein Vielfaches der Zykluszeit der SAF-Task.

Hinweis

Verwendung der Zykluszeit im Karteireiter „Einstellungen“Die Einstellung der Zykluszeit können Sie nutzen, wenn Sie eine von der SAF-Task ver-schiedene Zykluszeit für die Interpolation wählen müssen. Im Allgemeinen sollte zum Ein-stellen der Zykluszeit die Zykluszeit der SAF-Task angepasst werden.

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I 27Version: 1.0

2.4.4 Karteireiter "Online"

Fehlercode

Hier wird der aktuelle Fehlercode des Kanals dargestellt. Der Wert ist der gleiche, wie er im Online-Fensterdes Interpreters unter 'Kanalstatus [} 11]' angezeigt wird.

SVB-Status

Der SVB-Status stellt den aktuellen Zustand der SVB (Satzvorbereitung) dar. Mögliche SVB-Zustände sind:ERRORIDLEREADYSTARTDRIVEOUTCALIBRATEMFUNCSYNCRECDELAYMFUNCWAITSPINDLEWAIT

Für gewöhnlich ist es nicht erforderlich, dass der SVB-Status von der SPS ausgewertet wird.

SAF-Status

Der SAF-Status stellt den aktuellen Zustand der SAF (Satzausführung) dar. Mögliche SAF-Zustände sind:ERRORIDLECONTROLRUNRUN_DRIVEOUTWAIT

Für gewöhnlich ist es nicht erforderlich, dass der SAF-Status von der SPS ausgewertet wird.

Benutzerschnittstelle in der TwinCAT Engineering Umgebung

TwinCAT 3 NC I28 Version: 1.0

SVB-Einträge

Anzahl der momentanen SVB-Einträge

SAF-Einträge

Anzahl der momentanen SAF-Einträge

2.4.5 Karteireiter "3D-Online"

Soll-Belegung

An dieser Stelle wird die Interpolationsgruppe gebildet. D.h. die PTP Achsen, die den Bahnachsen X, Yund Z zugewiesen werden, können anschließend interpolierend verfahren werden.

Mit Hilfe der Auswahllisten können Sie für die Bahnachsen X, Y und Z beliebige PTP Achsen auswählen.Wenn Sie den Button 'Übernehmen' drücken, wird die 3D-Gruppe gebildet.

Ein vergleichbarer SPS Baustein steht in der PLC Library: Tc2_NCI [} 106] zur Verfügung. (SieheCfgBuildExt3DGroup [} 107])

Ist-Belegung

Hier wird die aktuelle Belegung der Bahnachsen angezeigt. Wenn Sie einzelne Achsen aus der 3D-Gruppeentfernen möchten, können Sie dies über 'Löschen' machen.

Belegung komplett löschen

Löst die komplette 3D-Gruppe auf. Auch hierfür steht ein SPS Baustein in der PLC Library: Tc2_NCI [} 106]zur Verfügung. (Siehe CfgReconfigGroup [} 109])

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 29Version: 1.0

3 Interpreter (DIN 66025/G-Code)

3.1 Grundlagen der NC-Programmierung

3.1.1 Aufbau eines NC-ProgrammsEin NC-Programm ist ein Text, der normalerweise als Kette von ASCII-Codes in einer Datei auf derFestplatte abgelegt ist. Es besteht aus einer Reihe von NC-Sätzen, die jeweils durch eine Zeilenschaltung(Return) getrennt sind. In der Regel wird es bei der Abarbeitung Zeichen für Zeichen und Zeile für Zeileinterpretiert und abgearbeitet.

Programmaufbau

Dabei ist das NC-Programm aus drei Teilen zusammengesetzt

• Programmanfang (optional)·• Anzahl von Sätzen• Programmende

Programmanfang

Am Anfang eines NC-Programms kann das Zeichen „%“ für den Programmanfang stehen. Hinter diesemZeichen befindet sich dann der Name des Programms. Der Satz für den Programmanfang muss nichtzwingend programmiert werden.

Beispiel:% Test1 (program start)N10 G0 X100 Y100 Z0M30 (program end)

NC-Satz

Jeder der NC-Sätze besteht aus keinem (Leerzeile), einem oder mehreren NC-Worten, die durchLeerzeichen oder Tabulator getrennt sind. Daher darf innerhalb eines Wortes kein Leerzeichen verwendetwerden.

Beispiel:N10 G0 X100 Y100 Z0

NC-Wort

Das erste Zeichen des NC-Wortes legt seine Bedeutung fest. Es handelt sich dabei um einen Buchstabenoder ein Sonderzeichen.

Groß- / Kleinschreibung ist in der Regel nicht von Bedeutung. Allerdings ist eine einheitliche Großschreibungwegen der besseren Lesbarkeit empfehlenswert. Die optional folgenden Zeichen spezifizieren dieBedeutung genauer oder liefern Parameter für die Ausführung.

Um mit dem begrenzten Vorrat an Zeichen auszukommen, ist nicht für jede Variante jeder Funktion eineigener Ausdruck verfügbar. Vielmehr wird die Bedeutung und Wirkung vieler NC-Worte durch denZusammenhang mitbestimmt. Das kann sich auf die im Satz vorausgehenden NC-Worte beziehen, aberauch auf die vorausgehenden NC-Sätze. In einigen Fällen wird die Wirkung von NC-Worten sogar durchMaschinendaten beeinflusst.

Programmende

Das Programmende wird durch eine M-Funktion gekennzeichnet. Hierfür wird entweder M2 oder M30verwendet.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I30 Version: 1.0

Wirkungsdauer von Wörtern

Befehle, wie z.B. G0 [} 40], G17 [} 34] die über das Satzende hinaus wirken, werden laut DIN 66025 alsmodal bezeichnet. Diese Befehle wirken solange, bis sie durch einen anderen Befehl aufgehoben odergeändert werden.

Kommentare

Sollen Teilbereiche eines NC-Satzes oder der ganze Satz nicht interpretiert werden, ist der Bereich in rundeKlammern zu setzen.

Beispiel:N10 G0 X100 (comment)

HINWEIS! Ein Kommentar endet mit der schließenden Klammer, spätestens jedoch am Satzende.Ein Kommentar kann sich also nicht über mehrere Zeilen erstrecken. Eine Schachtelung vonKommentaren ist ebenfalls nicht möglich.

Satznummer

Jeder Satz kann mit einer Satznummer gekennzeichnet werden. Die Satznummer wird mit einem "N" fürNebensätze und mit ":" für Hauptsätze gekennzeichnet.

HINWEIS! Die Satznummer ist nicht zwingend erforderlich. Ein nicht mit einer Satznummergekennzeichneter Satz kann jedoch nicht als Ziel für Sprungbefehle dienen. Außerdem kann bei einerFehlermeldung der Ort des Fehlers nur ungenau (letzte Satznummer) angegeben werden.

3.1.2 SatzunterdrückungOft ist es nützlich, nicht immer alle Sätze eines Programms auszuführen. Dadurch ist es möglich, ähnlicheBearbeitungen mit einem einzigen Programm zu verwirklichen.

In einem solchen Fall werden die Sätze, die zu einer Variante gehören mit einer Satzausblendungs-Kennungversehen. Diese muss an den Satzanfang geschrieben werden und besteht aus einem Schrägstrich "/".

Sind mehrere Varianten erforderlich, so wird der Schrägstrich um eine Zahlenangabe (0..15) ergänzt, alsoz.B. "/12". Die Zahlenangabe (dabei ist "/" gleichzusetzen mit "/0") wählt ein Bit aus einem Wort desKanalinterface von der SPS zur NC aus. Ist dieses Bit gesetzt, wird der Satz nicht interpretiert.

In der NC wird hierfür die Variable 'mSkipLine' ausgewertet, die sich unter den Eingängen im zyklischenKanalinterface befindet. Das entsprechende Gegenstück in der SPS ist bei den Ausgängen unter'nSkipLine' [} 234] (früher: nSatzunterdrückung) zu finden (vergl. TwinCAT PLC Library: NCI Interpreter).

Soll eine bestimmte von mehreren Varianten aktiv sein, sind alle anderen Unterdrückungen zu setzen. Dannsind nur noch Sätze aktiv, die keine oder die gewünschte Kennung tragen.

Hinweis

Wirkzeitpunkt der SatzunterdrückungDer Interpreter läuft gegenüber der Ausführung eine variable Anzahl von Sätzen voraus.Die Satzunterdrückung kann nur dann korrekt wirken, wenn sie früh genug (eventuell schonvor Programm-Start) gesetzt wird oder der Interpreter an einer geeigneten Stelle des Pro-gramms mit der Ausführung synchronisiert wird (Dekodierstopp [} 73]).

3.1.3 Look-AheadDie tatsächliche Geschwindigkeit im Segmentübergang ist von vielen Parametern abhängig. Dazu zählenu.a. Bahnrestweg, Dynamikparameter des aktuellen Segments und indirekt der geometrische Winkel imSegmentübergang.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 31Version: 1.0

Der Dynamik-Look-Ahead (im Folgenden einfacher als Look-Ahead bezeichnet) sorgt dafür, dass dieGeschwindigkeit an Segmentübergängen möglichst hoch bleiben kann. Dabei werden in derStandardkonfiguration 128 Geometrie-Einträge berücksichtigt.

Ohne Look-Ahead wird die Geschwindigkeit an jedem Segmentübergang auf 0 reduziert (G60).

Die Anzahl der berücksichtigten Geometrie-Einträge kann in den DXD-Parametern [} 25] eingestellt werden.

Segmente mit unterschiedlichen Zielgeschwindigkeiten

Ändert sich die Zielgeschwindigkeit von einem hohen Geschwindigkeitsniveau auf ein niedrigeres (N10 ->N20), so ist die niedrigere Geschwindigkeit zu Beginn des Segments bereits erreicht.

Ändert sich die Zielgeschwindigkeit von einem niedrigen Geschwindigkeitsniveau auf ein höheres (N20 ->N30), so wird die höhere Geschwindigkeit mit dem Segmentübergang eingeleitet. D.h. es ist immersichergestellt, dass auch am Rande des Segments die aktuelle Geschwindigkeit nicht höher wird, als dieprogrammierte.

grün: Bahngeschwindigkeitblau: Positionorange: SatznummerN10 G01 X600 F30000N20 G01 X700 F15000N30 G01 X900 F30000M30

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I32 Version: 1.0

grün: Bahngeschwindigkeitblau: Positionorange: SatznummerN40 G01 X200 F15000N50 G01 X800 F30000N60 G01 X900 F15000M30

3.1.4 Glättung von Segmentübergängen

Übersicht

Segmentübergänge die nicht zweimal stetig differenzierbar sind, führen zu Unstetigkeiten in der Dynamik,wenn die Bahngeschwindigkeit dort nicht auf 0 abgesenkt wird. Um mit endlicher Geschwindigkeit ohnedynamische Unstetigkeiten den Segmentübergang zu passieren, gibt es die Möglichkeit, dieSegmentübergänge mittels Bezier-Splines so zu glätten, dass die Geometrie lokal verändert und damit dieGesamtbahn zweimal stetig differenzierbar wird.

Toleranzkugel

Zur Glättung wird um jeden Segmentübergang eine Toleranzkugel gelegt, innerhalb der die Bahn von ihrervorgegebenen Geometrie abweichen darf, jedoch nur soweit, dass sie in der Toleranzkugel bleibt. DerRadius der Toleranzkugel (Parametrierung [} 229]) wird durch den Benutzer vorgegeben und gilt modal füralle Segmentübergänge die keinen Genauhalt oder Stopp im Segmentübergang implizieren. Die Radien derToleranzkugeln werden automatisch adaptiv gesetzt indem verhindert wird, dass sich - bei kleinenSegmenten - Toleranzkugeln überlappen.

Dynamikparameter

Die Glättung erlaubt eine schnellere Dynamik. Die vom System vorberechnete maximaleSegmentübergangsgeschwindigkeit VeloLink kann vom Benutzer insofern beeinflusst werden, als derSystemparameter C2-Geschwindigkeitsreduktion C2 (Parametrierung [} 229]) dieSegmentübergangsgeschwindigkeit auf C2x VeloLink setzt. Der Faktor ist online änderbar.

Verhalten an Segmentübergängen

Bei Eintritt in die Toleranzkugel ist die Bahnbeschleunigung 0 und die Bahngeschwindigkeit gleich derSegmentüberganggeschwindigkeit. Das wird innerhalb der Toleranzkugel beibehalten. In der Toleranzkugelist der Override nicht aktiv, d.h. die durch den Override bedingte Änderung des Geschwindigkeitsniveauswird in der Toleranzkugel unterbrochen und nach dem Austritt aus der Toleranzkugel fortgesetzt.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 33Version: 1.0

3.1.5 KoordinatensystemDie Bezeichnungen für die Achsen einer Werkzeugmaschine werden durch die DIN 66217 festgelegt. Dabeiwerden die Buchstaben X, Y und Z für Achsen vergeben. Diese bilden ein rechtsdrehendes undrechtwinkliges (kartesisches) Koordinatensystem. Bei vielen Maschinen sind nicht in jeder Einrichtung dreiAchsen vorhanden. In diesen Fällen werden einzelne dieser Buchstaben sinngemäß vergeben und nichtvorhandene Achsen übersprungen.

3.1.6 MaßangabenMaßangaben können sich wahlweise auf einen absoluten Punkt oder auf den aktuellen Sollwert beziehen.

Absolutmaßangabe

Befehl G90Aufhebung G91

Bei der Absolutmaßangabe beziehen sich alle Positionsangaben immer auf den gerade gültigen Nullpunkt.

Für die Werkzeugbewegung bedeutet das, dass mit der Absolutmaßangabe die Positionen beschriebenwerden, die das Werkzeug anfahren soll.

Kettenmaß

Befehl G91Aufhebung G90

Bei der Kettenmaßangabe bezieht sich eine Positionsangabe auf den jeweils vorherigen Punkt. Dabeiwerden neben den Bahnachsen auch die Hilfsachsen (Q1..Q5) berücksichtigt.

Für die Werkzeugbewegung bedeutet das, dass mit der Kettenmaßangabe beschrieben wird, um wie vieldas Werkzeug verfahren werden soll.

Einheiten

In der folgenden Tabelle werden die Einheiten für Längen, Winkel etc. beschrieben:

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I34 Version: 1.0

EinheitPositionen und Längen mmWinkel GradZeiten secVorschub mm/min

3.1.7 Arbeitsebene und ZustellrichtungFür die Beschreibung von Kreisen (außer CIP [} 42]), sowie für die Fräserradius [} 91]- undWerkzeuglängenkorrektur [} 88] ist eine Festlegung der Arbeitsebene erforderlich.

Arbeitsebene XY

Befehl G17Aufhebung G18 oder G19

Die Funktion G17 legt die Arbeitsebene auf die XY-Ebene und die Zustellrichtung in Z-Richtung fest.

Die Funktion wirkt als:

• Ebene für Werkzeugradiuskorrektur [} 91]

• Zustellrichtung für Werkzeuglängenkorrektur [} 88] (Offset)• Ebene für die Kreisinterpolation

Hinweis

Wechsel der ArbeitsebeneBei aktiver Werkzeugkorrektur kann die Arbeitsebene nicht gewechselt werden.

Arbeitsebene ZX

Befehl G18Aufhebung G17 oder G19

Die Funktion G18 legt die Arbeitsebene auf die ZX-Ebene und die Zustellrichtung in Y-Richtung fest.

Arbeitsebene YZ

Befehl G19Aufhebung G17 oder G18

Die Funktion G19 legt die Arbeitsebene auf die YZ-Ebene und die Zustellrichtung in X-Richtung fest.

Festlegung der Zustellrichtung

Befehl PParameter +Zustellrichtung positiv (default)

- Zustellrichtung negativ

Die Parametrierung der Zustellrichtung ist für die Werkzeuglängenkorrektur erforderlich. Damit wirdfestgelegt, ob das Werkzeug oberhalb oder unterhalb des Werkstücks arbeiten soll.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 35Version: 1.0

Beispiel:N10 G0 X0 Y0 Z0 F6000N20 D2 P- ZN30 G01 X100N40 D0 ZN50 M30

In diesem Beispiel arbeitet die Längenkorrektur unterhalb des Werkstücks.

3.1.8 Maßangaben Inch / metrischG70 Maßangabe in InchG71 Maßangabe in Millimetern (default)G700 Maßangabe in Inch mit Verrechnung des VorschubsG710 Maßangabe in Millimetern mit Verrechnung des

Vorschubs

Standardmäßig ist die Maßangabe in Millimetern (G71) aktiviert. Ob dafür die Koordinaten umgerechnetwerden müssen, ist in den Maschinenparametern [} 11] (Karteireiter: Interpreter) hinterlegt. Auch hier iststandardmäßig das Basismaßsystem auf Millimeter eingestellt.

Auswirkungen der Umschaltung

Für den Fall, dass das Basismaßsystem ungleich dem aktuellen Maßsystem (mit G70 bzw. G71eingestellten) ist, so müssen bestimmte Parameter und Koordinaten umgerechnet werden. Der hierfürbenötigte Umrechnungsfaktor ist, wie das Basismaßsystem, in Maschinenparametern hinterlegt. DieUmschaltung hat auf folgende Parameter Auswirkungen:

• Weginformationen der Bahnachsen (X, Y & Z)• Weginformationen der Hilfsachsen (Q1..Q5)• Zwischenpunktkoordinaten (I, J, K)• Kreisradius (B bzw. U)

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I36 Version: 1.0

• Programmierbare Nullpunktverschiebung• Verrundungsradius (Kreis - und Spline-Smooting)

Des Weiteren gibt es Parameter, die grundsätzlich im Basismaßsystem verbleiben und nicht umgerechnetwerden. Dazu zählen die

• Einstellbare Nullpunktverschiebung• Werkzeugdaten• Vorschübe (außer G700 bzw. G710)

Beispiel 1:

Basismaßsystem: Inch...N10 G71      (metric dimensions) N20 G01 X100 (conversion is carried out)N30 G70      (dimensions in inches)N40 G01 Y100 (conversion is not necessary, because)....         (the basic dimensions are also inches)

Beispiel 2:

Basismaßsystem: Millimeter...N10 G71 (metric dimensions)N20 G01 X100 (conversion is not necessary, because)    (the basic dimensions are also metric)N30 G70 (dimensions in inches)N40 G01 Y100 (conversion is carried out)

Nullpunktverschiebungen (NPV)

Einstellbare Nullpunktverschiebungen (G54-G57) verbleiben grundsätzlich im Basismaßsystem und werdennicht umgerechnet. Bei den programmierbaren Nullpunktverschiebungen (G58 & G59) ist die Wirkungsweisevon dem aktuellen Maßsystem bei der Anwahl der Verschiebung abhängig.

Beispiel 3:

Basismaßsystem: Millimeter...N10 G71    (mm - default)N20 G54    (activates adjustable zero offset shift)N30 G58 X100 (programmable zero offset shift)N40 G01 X0 F6000 (the axis travels to 100 in the machine co-ordinate system)N50 G70    (inch)N60 G01 X0   (zero offset shift is programmed under G71 => zero offset shift remains unchanged)       (i.e. the axis does not move)N70 G58 X100 (new programmable zero offset shift - now in inches)N80 G01 X0   (axis moves out by zero offset shift - to 2540 in the machine co-ordinate system)

3.1.9 EinzelsatzbetriebZum Testen eines neuen NC-Programms gibt es die Möglichkeit, die NC I mit dem FunktionsbausteinItpSingleBlock [} 152] auf Einzelsatzbetrieb umzuschalten. Bei aktivem Einzelsatzbetrieb wird das NC-Programm nach jeder Zeile gestoppt. Die Ausführung der nächsten Zeile muss vom Anwender bestätigtwerden. Dies können Sie tun, indem Sie im XAE unter dem Reiter Editor auf 'NC Start (F5)' drücken oder imSPS-Funktionsbaustein ItpSingleBlock [} 152] den Eingang 'bTriggerNext' setzen.

Es werden zwei Modi unterschieden:

• Interpreter-Einzelsatzbetrieb• Nc-Kern-Einzelsatzbetrieb

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 37Version: 1.0

Interpreter-Einzelsatzbetrieb

Bei aktivem Interpreter-Einzelsatzbetrieb wird das NC-Programm im Interpreter nach jeder Zeile gestoppt.Dies ist auch dann der Fall, wenn in der Zeile lediglich Berechnungen und kein Geometriesatz programmiertwurden.Damit ist es zum Beispiel grundsätzlich möglich, R-Parameter neu zu beschreiben.

Die Aktivierung des Interpreter-Einzelsatzbetriebes sollten Sie vor dem Start des NC-Programmsdurchführen. Ist dies nicht möglich, so können Sie auch eine M-Funktion für die Aktivierung reservieren unddiese mit einem Dekodierstopp kombinieren. Wird der Interpreter-Einzelsatzbetrieb während der Abarbeitung des NC-Programms ohne M-Funktion undDekodierstopp eingeschaltet, so kann nicht vorausgesagt werden, wann er aktiv sein wird. Theoretisch ist esmöglich, dass die Speicher im NC-Kern (SVB & SAF) gefüllt sind und mehr als 100 Geometrie-Einträgebeinhalten. Erst wenn diese Speicher komplett abgearbeitet sind, kann der Einzelsatz wirken.

NC-Kern-Einzelsatzbetrieb

Wie im Interpreter-Einzelsatzbetrieb werden im NC-Kern-Einzelsatzbetrieb die NC-Sätze einzeln ausgeführt.Allerdings mit dem Unterschied, dass im NC-Kern-Einzelsatzbetrieb bereits alle Einträge (z.B. Geometrie-Einträge) den Interpreter durchlaufen haben. Hier ist es also nicht möglich, z. B. R-Parameter nachträglichzu überschreiben.

Diese Betriebsart hat den Vorteil, dass der Einzelsatzbetrieb während der Bearbeitung des NC-Programmsaktiviert werden kann. Wird während der Aktivierung ein Geometrie-Eintrag ausgeführt (d.h. die Achsenverfahren), so wird am nächstmöglichen Segmentende angehalten. Dies ist in der Regel das aktuelleSegment. Für die Aktivierung nach Programmstart ist hier keine M-Funktion mit Dekodierstopp erforderlich.

Wird der NC-Kern-Einzelsatzbetrieb in Verbindung mit den Verschleifungen eingesetzt, so erfolgt dieSatzweiterschaltung in der Verschleifungskugel. Die programmierte Verschleifung wird weiterhin ausgeführt(ab TwinCAT V2.10 Build 1301).

Alternativen zur Aktivierung

Es wird empfohlen, den Einzelsatzbetrieb mit ItpSingleBlock [} 152] zu aktivieren.

Aus Kompatibilitätsgründen zu früheren TwinCAT-Versionen kann der Einzelsatzbetrieb über das zyklischeKanalinterface aktiviert werden.

Den Einzelsatzbetrieb können Sie im zyklischen Kanalinterface der SPS an- bzw. abwählen. Dazu müssenSie im Kanalinterface SPS/NC die Variable 'nItpMode' richtig maskieren.

Um den Interpreter-Einzelsatzbetrieb einzuschalten, muss Bit 14 (0x4000) gesetzt werden. DasZurücksetzen schaltet den Einzelsatzbetrieb wieder aus.

Über dieses Interface ist es auch möglich, den Einzelsatz aus der SPS zu triggern. Dafür muss das Bit 15gesetzt werden. Die Wirkungsweise ist dabei die gleiche, wie wenn NC-Start im XAE betätigt wird.

3.1.10 RechenparameterBei den Rechenparametern (kurz R-Parameter) handelt es sich um Interpreter-Variablen, die mit einemAusdruck der Form "R<n>" genannt werden. Da es sich bei 'n' um eine Ganzzahl im Wertebereich 0..999handelt, stehen insgesamt 1000 R-Parameter zur Verfügung. Davon sind die ersten 900 (R0..R899) Wertelokale Variablen des NC-Kanals. Sie sind nur durch den Interpreter des Kanals zugreifbar. Die R-ParameterR900..R999 sind global angelegt. Sie existieren nur einmal pro NC und die Zugriffe aller Kanäle erfolgen aufdenselben Speicher. Dadurch ist ein Datenaustausch (z.B. für eine Teileverfolgung, Kollisionsvermeidungetc.) über die Kanalgrenze hinweg möglich.

Mathematische Berechnungen

Die R-Parameter (wie auch die Achs-Koordinaten, Vorschübe etc.) sind als Variablen des Typs „double“angelegt. Dadurch ist die Rechenfähigkeit des Rechners voll nutzbar. Die Zahl der Vor- undNachkommastellen ist nicht durch eine Format-Vorschrift festgelegt. Allerdings ist die Auflösung und

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I38 Version: 1.0

Rechengenauigkeit begrenzt. Dies wird in der Praxis aber nur in besonders kritischen Fällen sichtbar.Beispiele dafür können Differenzen von fast gleichen sehr großen Zahlen oder trigonometrische Funktionenin bestimmten Winkelbereichen sein.

Zuweisung von R-ParameternN100 R5=17.5N110 R6=-4N120 R7=2.5 R8=1

Wie die dritte Zeile zeigt, ist es ohne weiteres möglich, mehr als eine Zuweisung in einem Satz anzugeben.Dadurch wird die Interpretation ein wenig beschleunigt, aber ein Fehler in der Zeile kann schwieriger zulokalisieren sein.

Rechenformeln

Eine Rechenformel ist eine Erweiterung der Zuweisung. Sie besteht aus einem Ziel-Parameter, einemZuweisungszeichen und einer Kette von Werten (R-Parameter und Konstanten), die durchRechenanweisungen getrennt sind.N100 R1=R2+R3-17.5*R9/2.5

Diese Formel wird (entgegen der mathematischen Vorgehensweise) strikt von links nach rechtsabgearbeitet.

Die gezeigte Formel wird wie folgt gerechnet:

1. Der Inhalt von R2 wird in das Rechenwerk geladen2. Der Inhalt von R3 wird in das Rechenwerk geladen3. Das Rechenwerk führt die Anweisung + aus4. Der Wert 17.5 wird in das Rechenwerk geladen5. Das Rechenwerk führt die Anweisung - aus6. Der Inhalt von R9 wird in das Rechenwerk geladen7. Das Rechenwerk führt die Anweisung * aus8. Der Wert 2.5 wird in das Rechenwerk geladen9. Das Rechenwerk führt die Anweisung / aus

10. Der Inhalt des Rechenwerks wird im R-Parameter R1 gespeichert

Mathematische Funktionen

Der Interpreter stellt Standard-Rechenfunktionen zur Verfügung. Die DIN 66025 legt in dieser Hinsicht keineSyntax fest. Der Aufruf der Rechenfunktionen erfolgt über @6xx (vergl. Anhang - @-Kommando Übersicht[} 103]).

Die trigonometrischen Funktionen werden dabei grundsätzlich in Grad berechnet.

Beispiel:N10 R2=0 R3=45N20 @630 R2 R3

In diesem Beispiel wird der Sinus von R3 in Grad berechnet. Das Ergebnis wird anschließend in R2geschrieben.

R-Parameter Zugriff aus der SPS

Sie können die R-Parameter in die SPS einlesen, bzw. aus der SPS die R-Parameter beschreiben. Hierfürgibt es spezielle SPS-Bausteine, die dies ermöglichen

• ItpReadRParams [} 185]

• ItpWriteRParams [} 198]

Achten Sie beim Beschreiben der R-Parameter darauf, dass der Interpreter der Satzausführung vorauseilt.D. h. das Schreiben der R-Parameter aus der SPS sollte vor dem NC-Programmstart erfolgen oder miteinem Dekodierstopp [} 73] verbunden sein.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 39Version: 1.0

Zu Debug-Zwecken können Sie sämtliche R-Parameter zu beliebiger Zeit in eine Datei schreiben. Anstoßenkönnen Sie diesen Prozess via ADS (vergl. ADS-Interface - Kanalfunktionen IndexOffset 0x24 & 0x25[} 317]).

Sonstige Funktionen

RToDwordGetBit

Diese Funktion wandelt einen R-Parameter in ein DWord und überprüft dann, ob ein bestimmtes Bit gesetztist. Das Ergebnis wird wieder in einem R-Parameter hinterlegt.

Befehl RToDwordGetBit[<dest>; <src>; <bit> ]Parameter <dest> R-Parameter in dem das Ergebnis eingetragen wirdParameter <src> R-Parameter, der die Zahl enthält die gewandelt und

überprüft werden sollParameter <bit> Bit, das überprüft werden soll (0..31)

Beispiel:N10 R1=7N20 RToDwordGetBit[R2;R1;0]R10=31N30 RToDwordGetBit[R3;R1;R10]

In R2 wird hier eine 1 und in R3 eine 0 eingetragen.

Initialisierung von R-Parametern

Mit 'set RParam' wird einem zusammenhängenden Block von R-Parametern ein Wert zugewiesen.

Befehl #set RParam(<start index>; <count>; <value> )#Parameter <start index> Beschreibt den ersten zu beschreibenden R-

ParameterParameter <count> Anzahl der R-Parameter, die beschrieben werden

sollenParameter <value> Wert der zugewiesen wird

Beispiel:N10 G01 X100 Y200 F6000N15 R2=3000N20 #set RParam( 1; 2; 0.0 )# (R2 is overwritten again here)N30 G01 X500

Retten von R-Parametern

Wenn Sie den Inhalt von R-Parametern [} 37] für eine spätere Verwendung noch brauchen, die R-Parameteraber zwischenzeitlich für einen anderen Zweck benutzt werden sollen, kann er zeitweise im Werte-Stapeldes Rechenwerks hinterlegt werden.

Hierfür existieren zwei Möglichkeiten:

• Aufzählung der R-Parameter• Bereichsangabe der R-Parameter

Retten der Werte:

Befehl @40 <Anzahl> R<n> R<m>...@41 <1. R-Parameter> <letzter R-Parameter>

Restauration der Werte:

Befehl @42 <Anzahl> R<n> R<m>@43 <letzter R-Parameter> <1. R-Parameter>

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I40 Version: 1.0

Beim Restaurieren der Werte nennen Sie die Parameter in umgekehrter Reihenfolge.

Beispiel 1:(saving the data) N100 @40 K4 R800 R810 R823 R4

N110 R800=4711N120 ...

(restoring the data)N200 @42 K4 R4 R823 R810 R800

Beispiel 2:(saving the data)N100 @41 R800 R805

N110 R800=4711N120 ...

(restoring the data)N200 @43 R805 R800

Hinweis

Größe des StacksDer Wertestapel des Rechenwerks hat eine begrenzte Kapazität. Läuft er über, so wird dasNC-Programm mit einer Fehlermeldung abgebrochen. Das kann beim Retten von Wertenauftreten, kann aber auch bei einer daran anschließenden Rechenformel vorkommen.

3.2 Programmierung von Bewegungsätzen

3.2.1 ReferenzierungReferenzieren (Homing) Sie die Achsen standardmäßig vor dem Bilden der 3D-Gruppe aus dem PTP-Kanal.Sie können dies aber auch noch aus dem NC-Programm heraus machen.

Wenn Sie die Achsen im PTP-Mode referenzieren, können Sie dies für mehrere Achsen gleichzeitigdurchführen. Aus dem NC-Programm können Sie nur eine Achse zeitgleich referenzieren.

Befehl G74Aufhebung Satzende

Beispiel:N10 G74 XN20 G74 Y

Hinweis

Referenzierung im eigenen SatzDie Referenzierung muss in einem eigenen Satz erfolgen. Dabei dürfen Sie mit G74 nur ei-ne Achse nennen. Dieses Kommando ist nur auf die Hauptachsen (X,Y,Z) anwendbar.

3.2.2 EilgangBefehl G0Aufhebung G1 [} 41], G2 [} 42] oder G3 [} 42]

Der Eilgang wird zum schnellen Positionieren des Werkzeugs eingesetzt und ist nicht für die Bearbeitungdes Werkstücks vorgesehen. Die Achsen werden mit maximaler Geschwindigkeit verfahren.

Wenn mehrere Achsen im Eilgang verfahren werden sollen, dann wird die Geschwindigkeit von der Achsebestimmt, die für ihren Bahnweg die längste Zeit benötigt.

Mit G0 wird ein Genauhalt (G60 [} 45]) aufgehoben.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 41Version: 1.0

Die Geschwindigkeit für den Eilgang wird für jede Achse individuell eingestellt. Editieren können Sie dies inden Parametern der Achse im XAE unter dem Punkt NCI-Parameter.

3.2.3 LinearinterpolationBefehl G1 bzw. G01 (Standardeinstellung)Aufhebung G0 [} 40], G2 [} 42] oder G3 [} 42]

Bei der Linearinterpolation verfährt das Werkzeug mit dem Vorschub F eine Gerade, die frei im Raum liegenkann. Dabei wird die Bewegung der betroffenen Achsen zeitgleich abgeschlossen.

Mit dem Vorschub F wird die Bahngeschwindigkeit in Millimeter pro Minute beschrieben. Dieser Wert istmodal wirksam, d.h. er muss nicht neu programmiert werden, wenn später für andere Geometrieeinträge dergleiche Vorschub verwendet werden soll.

Beispiel:

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I42 Version: 1.0

N10 G90N20 G01 X100.1 Y200 F6000

In diesem Beispiel werden die Achsen linear auf die beschriebene Position gefahren. Die Z-Achse wird indiesem Programm nicht erwähnt und bleibt deshalb auf ihrer alten Position.

3.2.4 KreisinterpolationDie Programmierung von Kreisen kann auf unterschiedliche Weise erfolgen. Dabei muss zwischen zweiArten unterschieden werden. Dies ist zum einen ein Kreis in der Arbeitsebene [} 34] (z.B. XY-Ebene) undzum anderen ein Kreis, der frei im Raum liegen kann (CIP-Kreis).

Kreisinterpolation im Uhrzeigersinn

Befehl G2 bzw. G02Aufhebung G0 [} 40], G1 [} 41] oder G3 [} 43]

Mit der Funktion G2 wird eine Kreisbahn im Uhrzeigersinn beschrieben. Hierfür ist es allerdings erforderlich,dass die Arbeitsebene [} 34] zuvor bestimmt wird (standardmäßig G17 [} 34]).

Um den Kreis eindeutig zu beschreiben, sind neben dem Endpunkt noch weitere Parameter notwendig.Dabei kann zwischen einer Mittelpunktprogrammierung und einer Radiusprogrammierung gewählt werden.

Radiusprogrammierung

Bei der Radiusprogrammierung wird neben dem Endpunkt noch der Radius des Kreises programmiert. Fürden Radius können wahlweise die Buchstaben 'B' bzw. 'U' verwendet werden.

Da mit G2 die Richtung vorgegeben ist, ist auch der Kreis eindeutig bestimmt. Die Anfangskoordinatenergeben sich aus der vorangegangenen Geometrie.

Beispiel 1:N10 G01 G17 X100 Y100 F6000N20 G02 X200 B200

Hinweis

Winkelprogrammierung für Winkel >180°Wenn ein Winkel größer als 180° gefahren werden soll, so muss der Radius negativ ange-geben werden.

Hinweis

VollkreisprogrammierungStart- und Endpunkt müssen sich voneinander unterscheiden, damit der Mittelpunkt bere-chenbar ist. Somit ist mit der Radiusprogrammierung kein Vollkreis programmierbar. Hierfürkann die Mittelpunktprogrammierung verwendet werden.

Mittelpunktprogrammierung

Die Mittelpunktprogrammierung stellt eine Alternative zu der gerade beschriebenen Methode dar. Der Vorteilder Mittelpunktprogrammierung ist, dass hier auch Vollkreise beschrieben werden können.

In der Standardeinstellung wird der Mittelpunkt immer relativ zum Anfangspunkt des Kreises angegeben.Hierfür werden die Parameter I, J und K verwendet. Dabei steht

• I für den X-Anteil• J für den Y-Anteil und• K für den Z-Anteil.

Mindestens einer dieser Parameter ist 0 und es ist deshalb nicht erforderlich diese mit zu programmieren.

Beispiel 2:N10 G01 G17 X100 Y100 F6000N20 G02 I50 J0 (J is optional) X200N30 M30 (program end)

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 43Version: 1.0

Beispiel 3:N10 G01 G18 X100 Y100 Z100 F6000N20 G02 I0 K50 X150 Z150 (quarter circle in ZX plane)N30 M30

Über die Programmierung eines Maschinendatums ist es aber auch möglich, den Mittelpunkt absoluteinzugeben. Um auf ein Maschinendatenbit schreibend zuzugreifen, wird der Befehl @402 benötigt.

Im folgenden Beispiel wird der Kreis aus dem 1. Beispiel mit dem absoluten Kreismittelpunkt programmiert.

Beispiel 4:N10 G01 G17 X100 Y100 F6000N20 @402 K5003 K5 K1 (centre point programming on)N30 G02 I150 J100 X200N40 @402 K5003 K5 K0 (centre point programming off)N50 M30

Kreisinterpolation gegen Uhrzeigersinn

Befehl G3 bzw. G03Aufhebung G0 [} 40], G1 [} 41] oder G2 [} 42]

Mit der Funktion G3 wird eine Kreisbahn gegen den Uhrzeigersinn gefahren. Die Parameter und auch dieEingabemöglichkeiten sind die gleichen, wie unter G2.

Kreisgenauigkeit

Befehl #set paramRadiusPrec(<param>)#Parameter param: maximal erlaubte Radiustoleranz

0.001 < param < 1.0 (default 0.1)

Mit der Funktion 'set paramRadiusPrec' wird die erforderliche Kreisgenauigkeit parametriert. DieserParameter wirkt auf Kreise, die mit G02 bzw. G03 programmiert werden.

Ist bei der Mittelpunkprogrammierung die Differenz der Radienlänge grösser als <param>, so wird ein Fehlergeneriert.

Mittelpunktskorrektur

Befehl CPCON (Standardeinstellung)Aufhebung CPCOF

Bei der Mittelpunktsprogrammierung ist der Kreis überbestimmt. Damit die Daten konsistent sind, wird imStandardfall der Mittelpunkt korrigiert. In der Regel ist dafür nur eine marginale Änderung des Mittelpunktsnotwendig. Nach der Mittelpunktskorrektur ist der Betrag des Eingangsradius gleich dem Ausgangsradius.

Liegen Start- und Endpunkt sehr dicht beieinander, so kann der Mittelpunkt massiv verschoben werden. Dieskann bei automatisch generierten G-Code (Postprozessor) zu Problemen führen. Für manuell geschriebenenG-Code wird die Einstellung CPCON (center point correction on) empfohlen.

CIP-Kreis

Befehl CIPAufhebung Satzende

Die bislang besprochenen Kreise können nur in den Hauptebenen verfahren. Mit dem CIP-Kreis ist es auchmöglich, einen Kreis frei im Raum zu programmieren. Hierfür muss neben dem Endpunkt auch noch einPunkt auf der Bahn programmiert werden.

Damit der Kreis eindeutig beschrieben werden kann, dürfen alle 3 Punkte (Anfangspunkt ist implizitvorgegeben) nicht kollinear sein. Es lässt sich also auf diese Weise kein Vollkreis programmieren.

Als Parameter für den Bahnpunkt stehen I, J und K zur Verfügung, die standardmäßig relativ zumKreisanfangspunkt beschrieben werden.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I44 Version: 1.0

Beispiel 5:N10 G01 X100 Y100 F6000N20 CIP X200 Y200 I50 J50 K50

HINWEIS! Um den CIP-Kreis verfahren zu können, darf die Fräserradiuskorrektur [} 91] nicht aktivsein.

3.2.5 HelixWird einer Kreisbewegung eine senkrechte Linearbewegung überlagert, so erhält man eine Helix. DieProgrammierung einer Helix ist nur in den Hauptebenen möglich. Es werden dabei die gleichen Parameterwie bei der Kreisbewegung in den Hauptebenen verwendet. Zusätzlich wird noch die Achse, die senkrechtzur Ebene steht, verfahren.

Die Helix kann zusammen mit der Fräserradiuskorrektur [} 91] verwendet werden.

Beispiel:N10 G01 G17 X100 Y0 Z0 F6000N20 G03 I-50 Z100M30

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 45Version: 1.0

3.2.6 VerweilzeitBefehl G4 bzw. G04Aufhebung SatzendeParameter F oder X

Mit G4 wird die Verweilzeit eingeschaltet. Sie dient dazu, zwischen zwei NC-Sätzen für eine programmierteZeit in Sekunden, die Werkstückbearbeitung zu unterbrechen.

Beispiel:N10 G01 X100 F6000N20 G04 X0.5 (pause in sec)N30 G02 X300...

HINWEIS! Die Programmierung der Verweilzeit muss in einem eigenen Satz erfolgen und dieParameter (X bzw. F) müssen nach dem G04 programmiert werden.

3.2.7 Genauhalt

satzweise

Befehl G9 bzw G09Aufhebung Satzende

Die Genauhaltanweisung wird z.B. dann benutzt, wenn scharfe Konturecken hergestellt werden müssen.Dabei wird die Sollgeschwindigkeit der Bahn im Konturübergang bis auf null reduziert und anschließendwieder erhöht. Auf diese Weise wird sichergestellt, dass die programmierte Position genau angefahren wird.

HINWEIS! G09 wirkt nur sollwertseitig. Eine Überprüfung der Istwerte kann z.B. mit TPM(Zielpositionsüberwachung) vorgenommen werden.

modal

Befehl G60Aufhebung G0 [} 40]

Beschreibung:

s.o.

vergl. auch Zielpositionsüberwachung [} 49] (TPM)

3.2.8 Vorschubinterpolation

Konstante Vorschubinterpolation

Befehl FCONST (Standardeinstellung)Aufhebung FLIN

Mit der konstanten Vorschubinterpolation (default) wird die programmierte Geschwindigkeit so schnell wiemöglich angefahren.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I46 Version: 1.0

Beispiel 1:N05 FCONSTN10 G01 X1000 F50000N20 G01 X2500 F80000N30 G01 X3500 F60000...

Lineare Vorschubinterpolation

Befehl FLINAufhebung FCONST

Die lineare Vorschubinterpolation überführt die Geschwindigkeit von v_start nach v_end linear über denBahnweg.

Beispiel 1:N05 FCONSTN10 G01 X1000 F50000N15 FLINN20 G01 X2500 F80000N30 G01 X3500 F60000...

HINWEIS! Wenn aufgrund der Geometrie oder z.B. einer M-Funktion die Geschwindigkeit amSegmentübergang stärker reduziert werden muss, als die programmierteSegmentendgeschwindigkeit, so wird der lineare Geschwindigkeitsverlauf so lange wie möglicheingehalten. Erst wenn es dynamisch erforderlich ist, wird auf die reduzierteSegmentendgeschwindigkeit verzögert.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 47Version: 1.0

3.2.9 NullpunktverschiebungenIn TwinCAT NC I stehen eine Reihe von Nullpunktverschiebungen zur Verfügung. Hiermit wird der Abstandzwischen dem Werkstück- und dem Maschinennullpunkt beschrieben.

Unterdrückung der Nullpunktverschiebung

Befehl G53Aufhebung G54 [} 47] bis G59 [} 48]

Mit G53 wird die Nullpunktverschiebung modal unterdrückt. Dabei wirkt sich die Unterdrückung sowohl aufdie einstellbare, wie auch auf die programmierbare Nullpunktverschiebung aus.

Einstellbare Nullpunktverschiebung

Befehl G54G55G56G57

Aufhebung G53 [} 47]oder Anwahl einer anderen einstellbarenNullpunktverschiebung

Im NC-Programm kann über die Befehle G54 bis G57 zwischen den Nullpunktverschiebungen hin- undhergeschaltet werden.

Parametrierung

Die einstellbare Nullpunktverschiebung kann auf unterschiedliche Weise parametriert werden

1. SPS-Funktionsbaustein ItpWriteZeroShiftEx [} 157] (empfohlener Standard)2. XAE Interpreter-Element [} 11]3. aus dem DIN-Programm

Die Parameter werden für jeden Interpolationskanal einzeln gesichert. D.h. die einstellbarenNullpunktverschiebungen sind kanalabhängig.

HINWEIS! Die Anwahl der einstellbaren Nullpunktverschiebung muss in einem eigenen Satzerfolgen. Damit die Verschiebung auch wirklich herausgefahren wird, müssen in einem folgendenGeometriesatz wenigstens die betroffenen Achsen genannt werden.

Beispiel 1:N10 G01 X100 Y0 Z0 F6000N20 G54 (activates adjustable zero offset shift (NPV))N30 G01 X Y ZN40 M30

In Beispiel 1 werden in Zeile 30 alle beteiligten Achsen genannt. Dies bewirkt, dass dieNullpunktverschiebungen für alle Achsen herausgefahren werden.

Beispiel 2:N10 G01 X100 Y0 Z0 F6000N20 G54 (activates adjustable zero offset shift (NPV))N30 G01 X200 Y

In Beispiel 2 wird in Zeile 30 die X-Achse an die Position 200 + Verschiebung in X-Richtung verfahren. Beider Y-Achse wird lediglich die Verschiebung herausgefahren und die Z-Achse wird nicht bewegt.

Parametrierung aus dem DIN-Programm

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I48 Version: 1.0

Befehl #set paramZeroShift( G<n>; <value x>; <value y>;<value z> )#

Parameter G<n> Nullpunktverschiebung die parametriert werden soll(G54..G59)

Parameter <value> Koordinaten der Nullpunktverschiebung

Mit '#set paramZeroShift(..)#' wird die NPV parametriert aber noch nicht aktiviert. Dafür muss der G-Codenoch explizit programmiert werden.

Beispiel 3:N10 G01 X100 Y0 Z0 F6000N20 R12=200N30 #set paramZeroShift( G54; 100.0; R12; -20)#N40 G54 (activates adjustable zero offset shift (NPV))N50 G01 X200 Y Z

Programmierbare Nullpunktverschiebung

Befehl G58 oder G59Aufhebung G53 [} 47]

Neben der einstellbaren existieren auch noch programmierbare Nullpunktverschiebungen. Diese Art derNullpunktverschiebung wird direkt aus dem NC-Programm beschrieben.

Hinweis

Addition der NullpunktverschiebungenDie programmierbare Nullpunktverschiebung wirkt nur bei aktiver einstellbarer Nullpunkt-verschiebung. D.h. die gesamte Verschiebung ist die Summe aus• eingestellter Nullpunktverschiebung(G54, G55, G56 oder G57)• erster programmierbarer Nullpunktverschiebung (G58)• zweiter programmierbarer Nullpunktverschiebung (G59)

Beispiel 4:N10 G01 X100 Y0 Z0 F6000N20 G54 (activates adjustable zero offset shift (NPV))N30 G58 X0.5 Y0.5 Z0.5 (1st prg. zero offset shift)N50 X Y Z (movements for the zero offset shift)...M30

Verhalten bei Kettenmaßangabe

Standardverhalten

Eine Veränderung des Nullpunktes wirkt sich auch im Kettenmaß aus.

Beispiel 5:N10 G01 X100 Y0 Z0 F6000N20 G54 (activates adjustable zero offset shift (NPV))N25 G58 X10 Y10 Z0N30 G91 (Incr. dimensions)N40 G01 X200 Y0N50 ...

In N40 verfährt Y im Basis-Koordinatensystem auf 10. Mit der Verschiebung des Nullpunktes, verschiebt sichauch der Bezugspunkt für die Kettenmaßprogrammierung, womit sich für Y dann ein Verfahrweg ergibt.

Auf diese Weise kann eine Kontur, die komplett im Kettenmaß programmiert ist, durch eineNullpunktverschiebung an beliebiger Stelle abgefahren werden.

Das Verhalten von G91 ist parametrierbar.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 49Version: 1.0

Befehl BeschreibungZeroShiftIncOn Auch unter G91 werden die Nullpunktverschiebungen

herausgefahren, wenn die Achse genannt wirdZeroShiftIncOff Unter G91 wird die Nullpunktverschiebung nicht

herausgefahren

Beispiel 6:N10 G01 X100 Y0 Z0 F6000N15 ZeroShiftIncOffN20 G54 (activates adjustable zero offset shift (NPV))N25 G58 X10 Y10 Z0N30 G91 (Incr. dimensions)N40 G01 X200 YN50 ...

Da im Beispiel 6 'ZeroShiftIncOff' eingestellt ist, wird die X-Achse in N40 um 200mm unabhängig von derneuen Nullpunktverschiebung verfahren. Für die Y-Achse wurde keine Zielkoordinate programmiert, dieAchse bleibt also stehen.

Vergl. auch ToolOffsetIncOn/Off [} 88]

3.2.10 ZielpositionsüberwachungBefehl TPMAufhebung Satzende

Mit dem Befehl 'TPM' wird die Zielpositionsüberwachung aus dem NC-Programm angestoßen. Dies führt amGeometrieende immer zu einem sollwertseitigen Genauhalt und einer anschließenden Kontrolle desZielpositionsfensters. Wenn für alle Achsen der Gruppe die Überwachungsbedingungen erfüllt sind, erfolgtdie Satzweiterschaltung.

Wie bei der PTP wird diese Funktion für jede Achse einzeln aktiviert und parametriert. Somit können z.B. fürHilfsachsen andere Grenzwerte als für die Bahnachsen gewählt werden.

Beispiel 1:N10 G01 X100 Y100 F6000N20 G01 X300 Y100 TPM...

Am Ende der Bewegung von N20 wird sowohl für die X-Achse, als auch für Y die Zielpositionsüberwachungdurchgeführt (vorausgesetzt, beide Achsen haben die Zielpositionsüberwachung aktiviert).

Beispiel 2:N10 G01 X100 Y100 F6000N20 G01 X300 Y100N30 M61 (Type Handshake)N40 TPM...

TPM kann auch in einem eigenen Satz programmiert werden. Dabei wird dann die letzte Positionierungüberprüft (hier von N20).

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I50 Version: 1.0

HINWEIS! Wenn die Zielpositionsüberwachung für eine Achse aktiviert ist, sollte auch derZielpositionsalarm (PEH) aktiv sein. Die Zeitüberwachung bewirkt, dass spätestens nach dem Timeoutein Kanalfehler generiert wird, falls sich die Achse noch nicht im Zielpositionsfenster befindet. Damitkeine unnötigen Kanalfehler generiert werden, sollte der Timeout-Wert genügend groß gewähltwerden (z.B. 5 - 10s). Für den Fall, dass keine PEH-Zeitüberwachung aktiv ist und sich die Achsedauerhaft außerhalb des Positionsfensters befindet, erfolgt keine Satzweiterschaltung und die NCbleibt von außen betrachtet stehen. Dabei befindet sich die SAF im Waiting-Zustand (nicht zuverwechseln mit dem Interpreterstatus).

Vergl. auch Genauhalt [} 45] (G09).

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 51Version: 1.0

3.2.11 Konturzüge

Winkel und Segmentlänge

Bei dieser Art der Programmierung werden ähnlich wie bei Polarkoordinaten immer der Winkel und derBetrag (Segmentlänge) angegeben.

Parameter BeschreibungANG Winkel in Grad relativ zur Abszisse ( -360 ≤ ang ≤

360 )SEG Betrag der Segmentlänge

Beispiel 1:

N10 G01 ANG=45  SEG=424.264 F60000N20 G01 ANG=0   SEG=400N30 G01 ANG=-45 SEG=282.843

oderN10 G01 ANG=45  SEG=424.264 F60000N20 G01 X700 Y300N30 G01 ANG=-45 SEG=282.843

Einschränkungen:

• Die Programmierung darf nur in der angewählten Hauptebene erfolgen.• Die Segmentlänge muss echt größer Null sein und bezieht sich auf die Projektion der Hauptebene.

HINWEIS! Eine Verrundung bzw. Fase kann zusätzlich noch programmiert werden. Die ParameterANG und SEG müssen in jedem Satz programmiert werden. Bei der Zuweisung dürfen R-Parameter,aber keine Formel programmiert werden.

Winkel und eine Komponente in der Ebene

Wie oben wird ein Winkel programmiert, aber die Länge des Segments wird nicht mehr direkt vorgegeben.Sie wird aus einer Komponente der angewählten Hauptebene berechnet.

Beispiel 2:

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I52 Version: 1.0

N10 G01 ANG=45 X300

N20 G01 ANG=0 Z700R10=100N30 G01 ANG=315X=R10

Hinweis

LaufzeitfehlerWerden zwei Komponenten der Ebene oder keine angegeben, so führt dieses zu einemLaufzeitfehler. Des Weiteren wird ein Laufzeitfehler generiert, wenn die Bewegung parallelzur Abszisse bzw. Ordinate programmiert wird und es keinen Schnittpunkt damit gibt.

3.2.12 RotationNeben der Nullpunktverschiebung [} 47] ist es auch möglich, eine Rotation (Drehung) zu programmieren.Dabei wird zwischen einer absoluten und einer additiven Rotation unterschieden.

Mit der Rotation können im Werkstückkoordinatensystem die Koordinatenachsen (X, Y und Z) gedrehtwerden.

Damit ist es möglich, schräg liegende Flächen (in der Ebene oder auch im Raum) zu bearbeiten.

Absolute Rotation

Befehl ROT X<Wert(x)> Y<Wert(y)> Z<Wert(z)>Aufhebung ROT (ohne Parameter)

Die Anweisungen zur Rotation müssen in einem eigenen Satz programmiert werden. Dabei sind dieWinkelangaben grundsätzlich in Grad vorzunehmen.

Drehrichtung

Ein positiver Winkel beschreibt die Drehung in Richtung der positiven Koordinatenachse und Drehung gegenden Uhrzeigersinn.

Durchführung der Drehung

Bei der Drehung eines Koordinatensystems ist die Reihenfolge der Drehung von entscheidender Bedeutung.In TwinCAT NC I wird die Rotation immer in folgender Reihenfolge durchgeführt:

1. Drehung um die Z-Achse2. Drehung um die Y-Achse3. Drehung um die X-Achse

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 53Version: 1.0

Diese Reihenfolge wird auch dann eingehalten, wenn die Parameter in einer anderen Reihenfolgeprogrammiert werden.

Als Drehpunkt wird immer der Ursprung des Werkstückkoordinatensystems verwendet. D.h. die geradeaktive gesamte Nullpunktverschiebung beschreibt den Drehpunkt.

Additive Rotation

Neben der absoluten Programmierung der Rotation, ist es auch möglich diese additiv durchzuführen. Dabeigelten die gleichen Bedingungen wie bei der absoluten Rotation.

Befehl AROT X <Wert(x)> Y<Wert(y)> Z<Wert(z)>Aufhebung ROT (ohne Parameter)

Beispiel:N10 G01 G17 X0 Y0 Z0 F60000N20 G55N30 G58 X200 Y0N50 L47N60 G58 X200 Y200N65 ROT Z30N70 L47N80 G58 X0 Y200N90 AROT Z15N100 L47N110 M30

L47N47000 G01 X0 Y0 Z0 (movements for zero shift & rotation)N47010 G91 (incremental dimensions)N47020 G01 X100N47030 G01 Y80N47040 G03 X-20 Y20 I-20 J0N47050 G01 X-40N47060 G01 Y-40N47070 G01 X-40 Y-30N47080 G01 Y-30N47090 G90N47100 M17

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I54 Version: 1.0

In diesem Beispiel wird die gleiche Kontur unter verschiedenen Drehwinkeln verfahren. Da die Kontur (L47)im Kettenmaß programmiert ist und der Anfangspunkt über die programmierte Nullpunktverschiebungbeschrieben wird, ist die Drehung recht anschaulich.

Hinweis:

Nach der Programmierung des ROT- bzw. AROT-Kommandos muss immer der komplette Bahnvektor (X, Y& Z) zugewiesen werden.

Erweiterungen der Rotation

In der Default-Konfiguration muss nach einem ROT-Kommando immer der komplette Bahnvektorprogrammiert werden. Da dies in einigen Applikation schwer zu realisieren ist, kann optional dieseBerechnung automatisch im Interpreter erfolgen. Möchte man diese Option nutzen, so sollte zu Beginn desNC-Programms 'RotExOn' programmiert werden.

Befehl RotExOnAufhebung RotExOff

Beispiel:N10 RotExOn...N100 G54 (activate zero point & point of rotation)N110 ROT X90N120 G0 Z3 (preposition the tool)N130 G01 Z-10 F6000 (lower to cutting depth)N140 G01 X100N150 G01 Z3 (raise to preposition)...N1000 RotExOffN1010 M30

Berechne Rotation

Befehl CalcRot[ R<s>; R<t>; R<u>]CalcInvRot[ R<s>; R<t>; R<u>]

Parameter Die 3 R-Parameter beschreiben den zuberechnenden Vektor. Mit der Berechnung wird dasErgebnis in diese R-Parameter eingetragen und derursprüngliche Wert damit überschrieben

Die Funktion CalcRot rotiert einen dreidimensionalen Vektor um die aktuellen Rotationswinkel. Dabeiwurden die Rotationswinkel zuvor mit ROT bzw. AROT beschrieben. Die Reihenfolge der Berechnung ist diegleiche wie bei der eigentlichen Rotation, also Z, Y und X.

Die Funktion CalcInvRot verhält sich genau umgekehrt. Dabei werden die Vorzeichen der aktuell gültigenRotationswinkel invertiert und die Reihenfolge der Berechnung ist X, Y und Z. Der Vektor wird also quasizurückgedreht.

CalcRot und CalcInvRot generieren keine Geometrie, sondern führen lediglich die Berechnung des Vektorsaus.

Beispiel:N10 G01 X40 Y10 Z0 F6000 (the axes are movedwithout rotation)N20 R1=40 R2=10 R3=0

N30 ROT Z45

(What is the position to which X, Y, must be taken so that nomovement is executed?)N40 CalcInvRot[R1; R2; R3]N50 G01 X=R1 Y=R2 Z=R3 (R1=35.35 R2=-21.21 R3=0)N60 ...

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 55Version: 1.0

Befehl RotVec[ R<x>; R<y>; R<z>; R<α>; R<β>; R<γ>]Parameter Die 3 R-Parameter (x..z) beschreiben den zu

drehenden Vektor. Mit der Berechnung wird dasErgebnis in diese R-Parameter eingetragen und derursprüngliche Wert damit überschriebenDie letzten 3 R-Parameter beschreiben die Winkel.

Die Funktion RotVec rotiert einen dreidimensionalen Vektor um die mitgegebenen Winkel. Dabei ist dieReihenfolge der Drehung wie beim ROT Z, Y und X. RotVec ist eine reine Berechnungsroutine zum Dreheneines Vektors und hat keine Auswirkungen auf ROT bzw. AROT.

3.2.13 SpiegelnDie Spiegeln-Funktionalität (Mirror) ändert das Vorzeichen benannter Achsen. Auf diese Art könnenSubroutinen nochmal verwendet werden.

Spiegeln

Command Mirror <opt. X> <opt. Y> <opt. Z>Cancellation Mirror (without parameters)

Die Spiegeln-Anweisungen müssen in ihrem eigenen Block programmiert werden. Gespiegelte Achsenmüssen ohne weitere Parameter benannt werden.

Beispiel:N20 G54N30 G58 X100 Y100N40 L100

N50 G58 X-100 Y100N60 Mirror XN70 L100

N80 G58 X-50 Y-50N90 Mirror X YN100 L100

N110 G58 X10 Y-10N120 Mirror YN130 L100

N140 Mirror (turn off mirror)N150 G0 X0 y0M02

L100N1000 G0 X200 Y0 Z10 F60000 (move to start pos)N1020 G01 Z0N1030 G03 X200 Y100 J50N1040 G01 X50N1050 G01 Y400N1060 G01 X0N1070 G01 Y0N1080 G01 X200N1090 G01 Z10M17

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I56 Version: 1.0

Falls eine Nullpunktverschiebung vorliegt (G54...G59) ist die Spiegeln-Funktionalität abhängig vom derzeitigprogrammierten Koordinatensystem.

3.2.14 Verschleifung von Segmentübergängen

3.2.14.1 Übersicht

Übersicht

Polygonzüge (G01-Sätze) bestehen in der Regel nicht aus stetig differenzierbaren Segmentübergängen,sondern es gibt „Knicke“ in der Kontur. Eine instantane Geschwindigkeitsänderung ist im Allgemeinen nichtmöglich. Soll die Bahngeschwindigkeit an solchen Übergängen nicht auf 0 reduziert werden, kann die Konturim Bereich des Segmentübergangs durch eine Verschleifung verändert werden.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 57Version: 1.0

Ausführung UnterstützteSegment-übergänge

Beschleuni-gung derAchskompo-nenten

max. Tole-ranzgröße

adaptiverToleranzra-dius

Befehl

Kreisverrundung [} 62]

Interpreter Gerade-Gerade

Beschleunigungssprung(Höhe mitdem C1-Faktorparametrierbar)

1/2 des Ein-bzw.Ausgangssegments

nein paramCircularSmoothing(...)

Parabel-Verschleifung[} 58]

NC-Kern Gerade-Gerade

Beschleunigungssprungauf einkonstantesNiveau (Höhemit dem C1-Faktorparametrierbar)

1/3 des Ein-bzw.Ausgangssegments

kannangewähltwerden

paramVertexSmoothing(...)

Bi-Quadratische-Verschleifung[} 58]

NC-Kern Gerade-Gerade

StetigeBeschleunigung - beimEin- undAustritt ist dieBeschleunigung 0 - es istkeinZwischenpunkt erforderlich

1/3 des Ein-bzw.Ausgangssegments

kannangewähltwerden

paramVertexSmoothing(...)

Bezier-Verschleifung3-terOrdnung[} 58]

NC-Kern alle Beschleunigungssprungauf einlinearesNiveau (Höhemit dem C1-Faktorparametrierbar)

1/3 des Ein-bzw.Ausgangssegments

kannangewähltwerden, wirktbei Gerade-Geraden-Übergängen

paramVertexSmoothing(...)

Bezier-Verschleifung5-terOrdnung[} 59]

NC-Kern alle StetigeBeschleunigung - beimEin- undAustritt ist dieBeschleunigung 0 - es istkeinZwischenpunkt erforderlich

1/3 des Ein-bzw.Ausgangssegments

kannangewähltwerden, wirktbei Gerade-Geraden-Übergängen

paramVertexSmoothing(...)

'Alte' Bezier-Verschleifung[} 59]

NC-Kern alle StetigeBeschleunigung - beimEin- undAustritt,sowie imsymmetrischenZwischenpunkt ist dieBeschleunigung 0

1/4 des Ein-bzw.Ausgangssegments

nein paramSplineSmoothing(...)paramVertexSmoothing(...)

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I58 Version: 1.0

Eine Verschleifung wirkt ab dem Übergang zwischen den nachfolgenden zwei Segmenten.

Hinweis

Wirkungsweise der VerschleifungDer Radius der Toleranzkugel ist jederzeit im NC-Programm veränderbar und kann mitdem Radius 0 wieder ausgeschaltet werden. Eine Verschleifung bleibt bis zum nächstenReset des Interpreters oder TwinCAT-Restart aktiv.

3.2.14.2 Parabel-Verschleifung

Parabel-Verschleifung

Befehl #set paramVertexSmoothing(<type>; <subtype>;<radius> )#

Parameter <type> für die Parabel-Verschleifung: 2Parameter <subtype> 1: konstanter Toleranzradius [} 61]

2: Abstand Schnittpunkt zum Scheitelpunkt [} 61]3: adaptiver Toleranzradius [} 61]

Parameter <radius> max. Radius der Toleranzkugel

Bei der Parabel-Verschleifung wird geometrisch eine Parabel im Segmentübergang eingefügt. Dadurch wirddie Geschwindigkeit innerhalb des Toleranzradius stetig überführt.

Die Parabel wird lediglich bei Geraden-Geraden-Übergängen eingefügt.

3.2.14.3 Bi-Quadratische-Verschleifung

Bi-Quadratische-Verschleifung

Befehl #set paramVertexSmoothing(<type>; <subtype>;<radius> )#

Parameter <type> für die Parabel-Verschleifung: 3Parameter <subtype> 1: konstanter Toleranzradius [} 61]

2: Abstand Schnittpunkt zum Scheitelpunkt [} 61]3: adaptiver Toleranzradius [} 61]

Parameter <radius> max. Radius der Toleranzkugel

Bei der Bi-Quadratischen-Verschleifung tritt kein Beschleunigungssprung in den Achskomponenten auf. Beigleichem Radius ist deshalb evtl. eine kleinere Eingangsgeschwindigkeit als bei der Parabel notwendig.

Die Wirkungsweise der Subtypen ist mit den Subtypen der Parabel identisch.

3.2.14.4 Bezier-Verschleifung 3-ter Ordnung

Bezier-Verschleifung 3-ter Ordnung

Befehl #set paramVertexSmoothing(<type>; <subtype>;<radius> )#

Parameter <type> für die Bezier-Verschleifung 3-ter Ordnung: 4Parameter <subtype> 1: konstanter Toleranzradius [} 61]

2: Abstand Schnittpunkt zum Scheitelpunkt [} 61]3: adaptiver Toleranzradius [} 61]

Parameter <radius> max. Radius der Toleranzkugel

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 59Version: 1.0

Bei der Bezier-Verschleifung 3-ter Ordnung tritt mit dem Eintritt in die Toleranzkugel einBeschleunigungssprung in den Achskomponenten auf. Die max. Größe wird durch die Beschleunigungender Achskomponenten und den C1-Faktor begrenzt.

Diese Verschleifung ist für alle Segmentübergänge einsetzbar. Die Subtypen 2 und 3 wirken nur fürGeraden-Geraden-Übergänge.

Hinweis

Spitze Winkel am SegmentübergangDie Bezier-Splines werden standardmäßig auch bei sehr spitzen Winkeln generiert. Damitdie Dynamikwerte nicht überschritten werden, ist für diesen Fall eine erhebliche Geschwin-digkeitsreduktion erforderlich. Da im Spline die Dynamik konstant gehalten wird, dauert esentsprechend lange, bis der Spline durchfahren wird. Für diesen Fall ist es häufig sinnvoll,den Segmentübergang mit einem Genauhalt anzufahren. Damit die Winkel nicht manuellberechnet werden müssen, gibt es den Befehl AutoAccurateStop [} 62].

3.2.14.5 Bezier-Verschleifung 5-ter Ordnung

Bezier-Verschleifung 5-ter Ordnung

Befehl #set paramVertexSmoothing(<type>; <subtype>;<radius> )#

Parameter <type> für die Bezier-Verschleifung 5-ter Ordnung: 5Parameter <subtype> 1: konstanter Toleranzradius [} 61]

2: Abstand Schnittpunkt zum Scheitelpunkt [} 61]3: adaptiver Toleranzradius [} 61]

Parameter <radius> max. Radius der Toleranzkugel

Bei der Bezier-Verschleifung 5-ter Ordnung tritt mit dem Eintritt in die Toleranzkugel keinBeschleunigungssprung in den Achskomponenten auf. D. h. bei angewählter Verschleifung, ist derBeschleunigungsverlauf für die Bahnachsen immer stetig.

Diese Verschleifung ist für alle Segmentübergänge einsetzbar. Die Subtypen 2 und 3 wirken nur fürGeraden-Geraden-Übergänge.

Hinweis

Spitze Winkel am SegmentübergangDie Bezier-Splines werden standardmäßig auch bei sehr spitzen Winkeln generiert. Damitdie Dynamikwerte nicht überschritten werden, ist für diesen Fall eine erhebliche Geschwin-digkeitsreduktion erforderlich. Da im Spline die Dynamik konstant gehalten wird, dauert esentsprechend lange, bis der Spline durchfahren wird. Für diesen Fall ist es häufig sinnvoll,den Segmentübergang mit einem Genauhalt anzufahren. Damit die Winkel nicht manuellberechnet werden müssen, gibt es den Befehl AutoAccurateStop [} 62].

3.2.14.6 Alte Bezier-Verschleifungen

Hinweis

Funktionen zur Kompatibilität mit bestehenden ProjektenDiese Funktionen werden aus Kompatibilitätsgründen noch zur Verfügung gestellt. Fürneue Projekte sollte die Bezier-Verschleifung 3-ter Ordnung [} 58] oder die Bezier-Ver-schleifung 5-ter Ordnung [} 59] verwendet werden.

Alte Bezier-Verschleifung mit paramVertexSmoothing

Befehl #set paramVertexSmoothing(<type>; <subtype>;<radius> )#

Parameter <type> für die Bezier-Spline-Verschleifung: 1Parameter <subtype> für die Bezier-Spline-Verschleifung: 1Parameter <radius> Radius der Toleranzkugel

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I60 Version: 1.0

Beispiel 1:N10 R57=100#set paramVertexSmoothing(1; 1;R57)#

Alte Bezier-Verschleifung mit paramSplineSmoothing

Mit Hilfe der Glättung ist es möglich, zwischen zwei Geometrieeinträgen automatisch ein Bezier-Splineeinzufügen. Hierfür muss lediglich der Radius der Toleranzkugel programmiert werden. Dieser beschreibt diemaximal erlaubte Abweichung von der programmierten Kontur im Segmentübergang. Der Vorteil bei dieserArt der Glättung gegenüber der Verrundung mit Kreiselement ist, dass hier an den Segmentübergängenkeine Beschleunigungssprünge entstehen.

Der Radius der Toleranzkugel ist jederzeit im NC-Programm veränderbar und kann mit dem Radius 0 wiederausgeschaltet werden. Wird der Radius nicht auf 0 zurückgesetzt, bleibt er bis zum nächsten Reset desInterpreters oder TwinCAT-Restart aktiv.

Befehl #set paramSplineSmoothing( <radius> )#Parameter <radius> Radius der Toleranzkungel

oder Alternativ

#set paramVertexSmoothing(...)

Beispiel 1:N10 R57=100#set paramSplineSmoothing(R57)#

Beispiel 2:N10 G01 X0 Y0 F6000N20 X1000#set paramSplineSmoothing(100)#N30 X2000 Y1000N40 X3000 Y0M30

Der neue Parameter ist ab dem Übergang zwischen den nachfolgenden zwei Segmenten gültig. D.h. inBeispiel 2 ist der neue Wert für die Toleranzkugel im Segmentübergang von N30 zu N40 gültig. Im folgendenBild sehen Sie eine Kontur mit und ohne Spline im Segmentübergang.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 61Version: 1.0

Die Splines werden standardmäßig auch bei sehr spitzen Winkeln generiert. Damit die Dynamikwerte nichtüberschritten werden, ist für diesen Fall eine erhebliche Geschwindigkeitsreduktion erforderlich. Da aber imSpline die Dynamik konstant gehalten wird, dauert es entsprechend lange, bis der Spline durchfahren wird.Für diesen Fall ist es häufig sinnvoll, den Segmentübergang mit einem Genauhalt anzufahren. Damit dieWinkel nicht manuell berechnet werden müssen, gibt es den Befehl 'AutoAccurateStop [} 62]', der ebenfallsaus dem NC-Programm aufgerufen werden kann.

3.2.14.7 Subtypen

Konstanter Toleranzradius (Subtyp 1)

Ist Subtyp 1 angewählt, so wird immer der maximale Toleranzradius (RTB) für die Verschleifung verwendet.Eine Verkleinerung von RTB erfolgt genau dann, wenn das Ein- bzw. Ausgangssegment kleiner als 3*RTB ist.

Abstand vom Schnittpunkt zum Scheitelpunkt (Subtyp 2)

Mit dem Subtyp 2 wird der Abstand vom programmierten Segmentübergang zum Scheitelpunkt der Parabelvorgegeben. Anhand dessen ergibt sich dann der Toleranzradius (RTB). Ist ein Segment zu kurz, so wird derAbstand so verkürzt, dass der Toleranzradius max. 1/3 einnimmt.

Adaptiver Toleranzradius (Subtyp 3)

Innerhalb des Toleranzradius (auch beim konstanten Toleranzradius) wird immer sichergestellt, dass diemaximal zulässige Beschleunigung nicht überschritten wird. Je nach Ablenkungswinkel und Geschwindigkeitkann damit die maximal auftretende Achsbeschleunigung im Verrundungssegment unterschiedlich ausfallen.Ziel beim adaptiven Toleranzradius ist eine maximale Beschleunigung innerhalb der Verschleifung. Um dies

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I62 Version: 1.0

zu erreichen, wird der Verrundungsradius unter Berücksichtigung der programmierten Geschwindigkeit undDynamik entsprechend verkleinert. D.h. wird die programmierte Geschwindigkeit verändert, so kann sichauch der Toleranzradius ändern. Der Override hat keinen Einfluss auf den Radius.

3.2.15 Verrundung mit KreissegmentenMit Hilfe der Verrundung ist es möglich, zwischen zwei Geradenelementen automatisch ein Kreiselementeinzufügen. Hierfür muss lediglich der Radius des Kreiselements programmiert werden.

Der Radius der Verrundung ist jederzeit im NC-Programm veränderbar und kann mit dem Radius 0 wiederausgeschaltet werden. Vor dem Programmende oder einem Dekodierstopp [} 73] ist es erforderlich dieVerrundung auszuschalten.

Befehl #set paramCircularSmoothing( <radius> )#Parameter <radius> Radius des Kreiselements der Verrundung

Beispiel:N10 R57=4.5#set paramCircularSmoothing(R57)#…#set paramCircularSmoothing(0)#N1000 M02

HINWEIS! In Kombination mit der Fräserradiuskorrektur ist zu beachten, dass zuerst dieRadiuskorrektur berechnet und anschließend die Kreisverrundung eingefügt wird. Somit bezieht sichder Verrundungsradius auf den TCP.

HINWEIS! Das alte Kommando paramGroupVertex wird weiterhin unterstützt. Es ist hier allerdingsnicht möglich R-Parameter zu übergeben.

Syntax:#set paramGroupVertex(<grp>,<radius>)#

Der erste Parameter beschreibt die Gruppe, auf den sich die Verrundung bezieht. Dieser Wert ist zurzeitimmer 1. Mit dem zweiten Parameter wird der Radius der Verrundung festgelegt.

3.2.16 Automatischer GenauhaltBefehl #set paramAutoAccurateStop(<winkel>)#Parameter <winkel> Grenzwinkel (in Grad) ab dem ein Genauhalt

eingefügt wirdAbwahl #set paramAutoAccurateStop( 0 )#

Mit dem Kommando 'AutoAccurateStop' wird ab einem definierten Grenzwinkel ein Genauhalt zwischen 2Segmenten eingefügt.

Bei Kreissegmenten errechnet sich der Winkel aus den Eingangs- bzw. Ausgangstangenten.

Beispiel:#set paramAutoAccurateStop(45)# (angle indegrees)N10 G01 X1000 Y0 Z0 F60000 (start position: X0 Y0 Z0)N20 X0 Y500...

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 63Version: 1.0

Für dieses Beispiel wird zwischen den Segmenten A & B ein Genauhalt eingefügt.

Anwendungsgebiet:

Dieses Kommando sollte in Verbindung mit Bezier-Verschleifungen verwendet werden, wenn im NC-Programm spitze Winkel programmiert werden.

Siehe auch:

• Bezier-Verschleifung 3-ter Ordnung [} 58]

• Bezier-Verschleifung 5-ter Ordnung [} 59]

• 'Alte' Bezier-Verschleifung [} 59]

HINWEIS! Für Segmentübergänge mit einer Helix ist diese Funktion noch nicht implementiert.

3.2.17 RestweglöschenBefehl DelDTGAufhebung Satzende

DelDTG ( delete distance to go ) wird aus dem NC-Programm satzweise aktiviert. Dieses Kommandoermöglicht es, aus der SPS mit dem Funktionsbaustein ItpDelDtgEx [} 116] den Restweg der aktuellenGeometrie zu löschen. D.h. trifft das Kommando während der Abarbeitung des Satzes ein, so wird mit denüblichen Verzögerungsrampen die Bewegung angehalten. Anschließend wird mit dem nächsten Satz im NC-Programm fortgefahren. Falls das SPS-Kommando nicht während der Ausführung eines Satzes mitangewähltem Restweglöschen eintrifft, wird dieses mit einer Fehlermeldung beantwortet.

Das Restweglöschen bewirkt immer einen impliziten Dekodierstop, d.h. es erfolgt am Satzende immer einGenauhalt.

Beispiel:N10 G01 X0 Y0 F6000N20 DelDTG G01 X2000N30 G01 X0

HINWEIS! DelDTG darf nicht bei aktiver Fräserradiuskorrektur aktiv sein.

3.2.18 Modulo BewegungenBefehl MOD[<axis and target modulo position>]Aufhebung SatzendeParameter 1 Achse die modulo verfahren werden sollParameter 2 Vorzeichen für die Drehrichtung (optional)Parameter 3 Modulo Position

Die Programmierung der Moduloposition erfolgt auf gleiche Weise, wie bei einer gewöhnlichenPositionierung.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I64 Version: 1.0

Das MOD-Kommando gilt satzweise und muss für jede Achse, die Modulo verfahren werden soll, explizitprogrammiert werden. Dabei bestimmt das Vorzeichen der Moduloposition die Drehrichtung.

• Positives Vorzeichen: Die Achse fährt in Richtung 'größer'• Negatives Vorzeichen: Die Achse fährt in Richtung 'kleiner'• Ausnahme: Modulo -0 kann nicht angefahren werden, da 0 vorzeichenlos ist

Beispiel 1:N10 G90N20 G01 MOD[X200] Y30 F600N30 G01 X200

In N20 wird in positiver Richtung für X die Moduloposition 200 angefahren. Y verfährt auf die absolutePosition 30. Im Satz N30 wird X absolut auf Position 200 verfahren, also nicht modulo.

Modulobewegungen mit mehr als 360 Grad

Mit dem MOD-Kommando lassen sich auch Bewegungen mit mehr als 360 Grad verfahren.

Moduloposition = Anzahl der erforderlichen Umdrehungen * 360 + Moduloposition

Beispiel 2:N10 G90N20 G01 X3610 F6000N30 R1=360N40 G01 MOD[X=R1+20]

In diesem Beispiel verfährt die X Achse um 370 Grad auf die Moduloposition 20.

Einschränkungen und Hinweise bei Modulobewegungen:• Es darf keine Radiuskorrektur für die Moduloachse aktiv sein.• Es darf keine Nullpunktverschiebung für die Moduloachse aktiv sein.

• Bei Relativprogrammierung (G91 [} 33]) wird das Modulokommando nicht ausgewertet, d.h. die in deneckigen Klammern aufgerufene Achse wird so behandelt, als ob das MOD-Kommando nichteingegeben wurde.

Modulofaktor

Der Modulofaktor ist konstant und beträgt 360.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 65Version: 1.0

3.2.19 HilfsachsenHilfsachsen (auch Auxiliary oder Q-Achsen genannt) können zusätzlich zu den eigentlichen Bahnachsen (X,Y & Z) einer Interpolationsgruppe angefügt werden. Dabei muss man sich die Hilfsachse als eine Art Slavezur Bahn vorstellen. D.h. sie haben keinen direkten Einfluss auf die Bahngeschwindigkeit. Insgesamt könnenneben den 3 Bahnachsen noch 5 Hilfsachsen pro Kanal mit interpoliert werden.

Das Anfügen in die Interpolationsgruppe aus der SPS kann z.B. mit dem FunktionsbausteinCfgBuildExt3DGroup [} 107] aus der Bibliothek Tc2_NCI erfolgen.

Syntax

Aus dem Teileprogramm werden die Hilfsachsen mit Q1..Q5 angesprochen. Es kann dabei entweder direktder Zahlenwert oder ein R-Parameter zugewiesen werden.

Beispiel 1:(start position X=Y=Z=Q1=0) N10 G01 X100 Q1=47.11 F6000...

Wird ein NC-Satz mit Bahnachse(n) und einer Hilfsachse programmiert, so starten beide Achsengleichzeitig und kommen auch gemeinsam ins Ziel.

Schwenken der Hilfsachsen

Von einem Schwenken der Hilfsachsen wird dann gesprochen, wenn der Bahnweg in einem Verfahrsatz nullist. Dies ist häufig beim 'Schwenken' eines Werkzeugs der Fall, wo der Zustellwinkel zur Kontur geändertwird.

Da es hier keinen Bezug mehr zur Bahn gibt, da der Bahnweg null ist, werden die Bewegungen derHilfsachsen mit einer virtuellen Bahn berechnet. Dies hat aber keinen Einfluss auf die reale Bahn von X, Yund Z, sondern bewirkt auch hier, dass alle Hilfsachsen gleichzeitig gestartet werden und ebenfalls zeitgleichim Ziel ankommen.

Die Geschwindigkeit wird auch hier mit dem F-Parameter vorgegeben und bezieht sich jetzt auf dieHilfsachse mit dem größten Verfahrweg.

Beispiel 1:(start position X=Y=Z=Q1=Q1=0)N10 G01 X100 F6000N20 Q1=100 Q2=200 F3000...

In N20 ist die Geschwindigkeit von Q2 nun 3000 und von Q1 1500, da der Verfahrweg von Q1=Q2/2 ist.

3.2.19.1 Berechnung der Geschwindigkeit

Für die Berechnung der Bahngeschwindigkeit werden zunächst nur die Bahnachsen (X, Y und Z)berücksichtigt.Anhand des Bahnweges und der zu verfahrenden Distanz der einzelnen Hilfsachsen ergibt sich ein festesKopplungsverhältnis für jede Hilfsachse in einem Segment. Damit ist auch die Sollgeschwindigkeit derHilfsachse bekannt. Falls diese Geschwindigkeit größer ist, als die zulässige maximale Geschwindigkeitdieser Hilfsachse, so wird die Bahngeschwindigkeit soweit reduziert, bis die obere Geschwindigkeitsgrenzeeingehalten wird. D.h. wenn die Geschwindigkeitsgrenzwerte der Hilfsachsen überschritten werden, hat dasauch indirekt einen Einfluss auf die Bahngeschwindigkeit.

3.2.19.2 Bahngeschwindigkeit an Segmentübergängen

Im Folgenden soll die Reduzierung der Bahngeschwindigkeit anhand eines Beispiels näher erläutert werden.Dazu eignet sich besonders gut die Kontur eines Stadions. Ziel ist es, den Zustellwinkel eines Werkzeugszur Bahntangente konstant zu halten.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I66 Version: 1.0

Befindet man sich auf der Geraden des Stadions, so bleibt die Orientierung des Werkzeugs konstant, d.h.das Werkzeug wird nicht gedreht. Im Kreis dagegen muss die Orientierung in Bezug auf dasBasiskoordinatensystem ständig geändert werden. Angenommen die Bahngeschwindigkeit wird im Geraden-Kreis-Übergang nicht bis auf null reduziert, so entsteht zwangsläufig ein Geschwindigkeitssprung für dieDrehachse (nicht aber für die Bahnachsen!).

Dieser Geschwindigkeitssprung der Hilfsachse ist frei parametrierbar und von der Maschine abhängig. Inden beiden Extremfällen wird einmal die Bahngeschwindigkeit an derartigen Segmentübergängen bis aufnull reduziert oder im anderen Fall die Geschwindigkeit gar nicht reduziert.

Die Parametrierung erfolgt mit dem globalen Achsparameter 'VeloJumpFactor', der für jede Achse individuelleingestellt werden kann. Die daraus resultierende Geschwindigkeit und die Berechnung ist im TwinCAT NCIAnhang auf der Seite Parametrierung [} 229] näher beschrieben.

Glättung der Geschwindigkeit an Segmentübergängen

Wie oben beschrieben, können an den Segmentübergängen Geschwindigkeitssprünge auftreten. Die Größedieses Sprunges kann mit dem VeloJump-Parameter beeinflusst werden.

Zusätzlich kann für jede Hilfsachse eine Toleranzkugel bestimmt werden, die im Segmentübergangsymmetrisch mit dem Bahnweg ist. Mit dem Eintritt in diese Kugel wird dann die Geschwindigkeit derHilfsachse stetig in die neue Sollgeschwindigkeit am Kugelausgang überführt. D.h. dieGeschwindigkeitssprünge werden damit eliminiert. Dabei wird innerhalb der Kugel eine Positionsabweichungfür die Hilfsachse in Kauf genommen. Mit dem Eintritt in die Kugel wird schon damit begonnen die Achse aufdie neue Zielgeschwindigkeit zu bringen. Damit wird ein Überschwingen der Position verhindert und an denKugelgrenzen ist die Position dann wieder genau.

Für den Fall, dass die vorgegebene Kugel größer als 1/3 des Bahnweges ist, so wird der Radiusautomatisch auf diesen Wert begrenzt.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 67Version: 1.0

An- und Abwahl

Die Toleranzkugel der Hilfsachse ist ein Achsparameter (IO: 0x108). Sie kann im Achsinterface im XAE odervia ADS [} 343] eingestellt werden.

Hinweis

Parametrierung der AchsparameterDie hier beschriebenen Parameter wirken nur für Achsen, die sich als Hilfsachsen (Q1..Q5)in der Interpolationsgruppe befinden. Für Bahnachsen (x,y,z) haben die Parameter 'Ge-schw. Sprung Faktor'‚'Toleranzkugel Hilfsachse' und 'Max. Positionsabweichung, Hilfsach-se' keinen Einfluss.

Diagnose

Zu Diagnosezwecken kann für jede Hilfsachse die Toleranzkugel und der sich ergebene Positionsfehler derHilfsachse aufgezeichnet werden. Auf die Variablen kann ebenfalls via ADS zugegriffen werden undbefinden sich im Gruppenzustand [} 332] (IO: 0x54n und 0x56n).

Rückwirkung auf VeloJump, falls die Toleranzkugel verkleinert wird

Wenn aufgrund der gegebenen Geometrie die Toleranzkugel verkleinert werden muss, so wird nun auch fürdiesen Segmentübergang der VeloJump-Parameter automatisch angepasst. D.h. falls notwendig wird dieBahngeschwindigkeit im Übergang stärker reduziert. Damit wird erreicht, dass bei kleineren Toleranzkugeldie Dynamik der Hilfsachse nicht überschritten wird.

Positionsabweichung der Hilfsachse, falls die Toleranzkugel verkleinert werden müsste

Der Parameter 'maximal erlaubte Positionsabweichung der Hilfsachse' wirkt nur dann, wenn dieToleranzkugel aufgrund der Geometrie verkleinert werden müsste.

Ziel ist es, dass die Bahngeschwindigkeit trotz der verkleinerten Toleranzkugel hoch gehalten werden kann,wenn der daraus resultierende Positionsfehler einen Schwellwert nicht überschreitet. Dafür wird dieGeschwindigkeit der Hilfsachse konstant gehalten und der Positionsfehler berechnet. Ist dieser kleiner alsdie maximale Positionsabweichung, dann wird für diesen Segmentübergang die Geschwindigkeitbeibehalten und der entstandene Positionsfehler im nächsten Segment wieder ausgefahren (dieToleranzkugel wird dann für diesen Segmentübergang überflüssig).

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I68 Version: 1.0

Für den Fall, dass der Positionsfehler die max. Abweichung überschreiten würde, greift die verkleinerteToleranzkugel mit der Rückwirkung auf den VeloJump-Faktor. Dabei wird dann ggf. die Bahngeschwindigkeitreduziert.

Beispiel 1:

Anfangsbedinungen:

• eingestellte Toleranzkugel: 5• max. Positionsabweichung: 1• aufgrund der Geometrie ergibt sich z.B. eine effektive Toleranzkugel von 0.2• die potenzielle Positionsabweichung beträgt 0.3

Resultierendes Verhalten:

• Bahngeschwindigkeit bleibt auf konstant hohen Niveau• Geschwindigkeit der Hilfsachse wird konstant gehalten• für diesen Übergang ist keine Toleranzkugel erforderlich• die entstandene Positionsabweichung wird im darauffolgenden Segment ausgeglichen

Beispiel2:

Anfangsbedingungen:

• eingestellte Toleranzkugel: 5• max. Positionsabweichung: 1• aufgrund der Geometrie ergibt sich z.B. eine effektive Toleranzkugel von 1.2• die potenzielle Positionsabweichung beträgt 1.1

Resultierendes Verhalten:

• Toleranzkugel wird angepasst• VeloJump-Parameter wird angepasst• die Bahngeschwindigkeit wird im Segmentübergang reduziert• es entsteht keine Positionsabweichung, die ausgeglichen werden muss

Parametrierung

Die Parametrierung der maximal erlaubten Positionsabweichung ist ein Achsparameter [} 343].Standardmäßig ist diese Eigenschaft ausgeschaltet (Abweichung = 0.0)

3.3 Zusatzfunktionen

3.3.1 M-Funktionen

Aufgabe: Signalaustausch zwischen NC und PLC

Eine Reihe von Einrichtungen, wie z.B. Spannzangen, Bohrantrieben, Transporteinrichtungen etc. werdenvorteilhaft nicht von der NC direkt, sondern indirekt unter Nutzung der SPS als Anpass- undVerknüpfungssteuerung kontrolliert. Dadurch ist es leicht möglich, Rückmeldungen oderSicherheitsbedingungen zu berücksichtigen, ohne das NC-Programm oder sogar das NC-System anpassenzu müssen. Bei den M-Funktionen der NC handelt es sich um einen Signalaustausch mit digitalemCharakter: Es werden Funktionen ein- oder ausgeschaltet, aktiviert oder deaktiviert. Die Übergabe vonZahlenwerten als Arbeitsparameter ist dabei nicht vorgesehen, lässt sich aber auf anderem Wege (H-Funktion [} 72], T-Nummer [} 72] etc.) verwirklichen.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 69Version: 1.0

3.3.1.1 Verfügbare M-Funktionen

Anzahl M-Funktionen

Es stehen insgesamt 160 M-Funktionen pro Kanal zur Verfügung

M-Funktion Bedeutung0..159 Frei definierbare M-Funktionen (außer 2, 17, 30)2 Programmende17 Unterprogrammende30 Programmende mit ablöschen von allen schnellen M-

Funktionen

Abgesehen von den 3 fest vorbelegten M-Funktionen (M2, M17, M30) kann über die Bedeutung derrestlichen M-Funktionen frei verfügt werden. D.h. je nach Maschinentyp kann z.B. mit M8 ein Kühlmitteleingeschaltet werden, es lässt sich aber auch eine andere Funktionalität damit ausführen. Dies ist soweitvom Maschinenbauer frei wählbar.

Die Regeln für die reservierten M-Funktionen werden wie alle anderen beim TwinCAT Start eingelesen.Zusätzlich wird im Interpreter bei diesen Funktionen noch ein interner Code generiert, der für dasbeschriebene Verhalten sorgt. Somit müssen diese 3 M-Funktionen nicht in der Tabelle beschrieben werden.Wenn M-Funktionen verwendet werden, ist es dennoch sinnvoll, dass M2 und M30 parametriert werden.

Typen von M-Funktionen

Grundsätzlich stehen zwei Varianten des Signalaustausches zur Verfügung: Schnelle Signalbits oder perHandshake gesicherte Übermittlung.

Gesicherter Handshake

M-Funktionen mit Rückmeldungsbedarf müssen mit einem bidirektionalen Signalaustausch zwischen NCund SPS abgearbeitet werden. Wird eine M-Funktion vom Typ Handshake programmiert, so wird dieGeschwindigkeit an dieser Stelle auf 0 reduziert. In der PLC wird mit der Funktion ItpIsHskMFunc [} 135]geprüft, ob eine M-Funktion mit Handshake anliegt. Die M-Funktionsnummer wird dann mit ItpGetHskFunc[} 135] ermittelt. Solange keine Bestätigung der M-Funktion aus der PLC erfolgt, ist die NC im Wartezustandund arbeitet keine weiteren NC-Kommandos ab. Erst mit der Quittierung aus der PLC (ItpConfirmHsk[} 116]) wird die Abarbeitung des NC-Programms fortgeführt.

Diese Arbeitsweise ermöglicht es, die Arbeit der NC-kontrollierten und der SPS-kontrollierten Einrichtungenin der Maschine sicher zu koordinieren. So wird sinnvollerweise die M-Funktion zum Einschalten der Spindel(z.B. M3) dann quittiert, wenn eine Mindestdrehzahl erreicht ist.

Da es sich bei dieser Art der M-Funktionen um synchrone Funktionen handelt, kann immer nur eine M-Funktion mit Handshake im NC-Programm aktiv sein.

Schnelle Signal-Bits

Wenn keine Rückmeldung von der PLC erforderlich ist, so können schnelle Signal-Bits zum Aktivieren vonM-Funktionen eingesetzt werden. Da die NC für diese M-Funktionen nicht auf die SPS warten muss, kannder Look-Ahead [} 30] die Segmente miteinander verbinden. So ist es möglich, ohneGeschwindigkeitsreduzierung eine M-Funktion zu schalten.

Diese Art der M-Funktion eignet sich z.B. wenn während einer Bewegung eine Düse zum Auftragen vonKlebstoff aktiviert werden muss.

Eine Kombination von schnellen Signalbits und Handshake ist ebenfalls möglich. Da mit dem Handshakeimmer auf die PLC gewartet wird, muss für diesen Fall auch die Geschwindigkeit auf 0 reduziert werden.

3.3.1.2 Zurücksetzen von M-Funktionen

Schnelle Signal-Bits zurücksetzen

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I70 Version: 1.0

Die Signal-Bits liegen solange an, bis sie entweder explizit zurückgesetzt, ein M30 (Programmende) oder einKanal-Reset durchgeführt wird.

Zurücksetzen mit Reset-Liste

Jede M-Funktion kann bis zu 10 schnelle M-Funktionen zurücksetzen. Wird z.B. mit M8 das Kühlmitteleingeschaltet, so kann mit M9 das Kühlmittel wieder ausgeschaltet werden. Dazu muss lediglich M8 in dieReset-Liste von M9 eingetragen werden.

Automatisches Zurücksetzen

Bei der Parametrierung der M-Funktion kann ein 'Auto-Reset-Flag' gesetzt werden. Damit wird die M-Funktion am Ende des Satzes automatisch wieder zurückgesetzt.

Damit die PLC die Möglichkeit hat, das Signal zu sehen, muss der Verfahrsatz zeitlich lang genug sein oderdiese M-Funktion wird mit einem Handshake kombiniert. Dabei kann der Handshake von der gleichen odereiner anderen M-Funktionsnummer sein.

Zurücksetzen aus der PLC

Möchte man die schnellen M-Funktionen aus der PLC zurücksetzen, so ist das mit dem FunktionsbausteinItpResetFastMFunc [} 190] möglich. Aus Gründen der Übersichtlichkeit, sollte ein Mischbetrieb zwischenZurücksetzen aus der SPS und NC vermieden werden.

Löschen aller anstehenden M-Funktionen

Mit einem Kanalstopp und einem Kanalreset werden alle anstehenden M-Funktionen zurückgesetzt. Das giltfür die M-Funktionen vom Typ 'Handshake' und auch für die schnellen Signal Bits. Wird das NC-Programmordnungsgemäß mit M30 beendet sind ebenfalls alle M-Funktionen abgelöscht.

3.3.1.3 Parametrierung von M-Funktionen

Die Parametrierung der M-Funktionen erfolgt im TwinCAT XAE. Dabei wird für jeden Interpolationskanal eineeigene M-Funktionstabelle beschrieben.

Um eine Konfiguration von M-Funktionen wirksam zu schalten, ist ein Neustart der TwinCAT-Konfigurationerforderlich.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 71Version: 1.0

No

Nummer der zu parametrierenden M-Funktion. Der Wert muss zwischen 0 und 159 liegen

HShake

Ist hier ein Wert ungleich 'None' eingetragen, so ist die M-Funktion vom Type 'Handshake'

• None: es wird kein Handshake ausgeführt• BM (Before Move): Falls im gleichen Satz eine Bewegung programmiert ist, erfolgt der Handshake vor

der Bewegung• AM (After Move): Falls im gleichen Satz eine Bewegung programmiert ist, erfolgt der Handshake nach

der Bewegung

Fast

Wird hier ein Wert ungleich 'None' eingetragen, so wird eine M-Funktion vom Type 'Schnelle-Signal-Bit'ausgeführt

• None: es wird keine schnelle M-Funktion ausgeführt• BM (Before Move): Falls im gleichen Satz eine Bewegung programmiert ist, erfolgt die Ausgabe vor

der Bewegung.• AM (After Move): Falls im gleichen Satz eine Bewegung programmiert ist, erfolgt die Ausgabe nach

der Bewegung.• BMAutoReset (Before Move & automatisches Zurücksetzen): Falls im gleichen Satz eine Bewegung

programmiert ist, erfolgt die Ausgabe vor der Bewegung. Zusätzlich wird die M-Funktion am Ende desSatzes automatisch wieder gelöscht. D.h. die M-Funktion ist nur satzweise wirksam. Umsicherzustellen, dass die PLC die M-Funktion auf jeden Fall erkennt, muss der der damitprogrammierte Verfahrsatz zeitlich lang genug sein (min. 2 PLC-Zyklen) oder zusätzlich eine M-Funktion mit Handshake programmiert werden.

• AMAutoReset (After Move & automatisches Zurücksetzen): Diese Parametrierung ist nur dann sinnvoll,wenn entweder eine M-Funktion vom Typ Handshake mit programmiert (bzw. parametriert) wird, oderdie M-Funktion lediglich zum Zurücksetzen von anderen M-Funktionen genutzt wird. Ohne einenzusätzlichen Handshake, wird diese M-Funktion in der Regel nicht von der PLC erkannt.

• alle anderen Kombinationen sind aus Kompatibilitätsgründen anwählbar.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I72 Version: 1.0

Reset

Hier können bis zu 10 M-Funktionen eingetragen werden, die mit dem Aufruf gelöscht werden.

HINWEIS! Für den Fall, dass kein Reset-Signal-Bit gesetzt wird, werden die abzulöschenden Bitsunmittelbar vor dem Setzen der neuen Signal-Bits zurückgesetzt.

Import/Export

Die M-Funktionen werden für jeden Kanal einzeln parametriert. Mit der Im- und Exportfunktion kann dieParametrierung auf andere Kanäle übertragen werden.

3.3.1.4 Kombination von M-Funktionen• Es darf pro Zeile nur eine M-Funktion vom Typ 'Handshake' programmiert werden!• Es dürfen bis zu 10 M-Funktionen vom Typ 'Signal-Bit' in einer Zeile programmiert werden• Eine Kombination von Punkt 1 & 2 ist erlaubt

Beispiel:N10 G01 X1000 F60000N20 M10 M11 M12 X2000 (M10 & M11 are signal bits)(M12 is of type handshake)M30

Beispiele für sinnvolle und praktisch einsetzbare Regelkombinationen:

• Eine M-Funktion soll für die Dauer einer Bewegung anstehen und dann automatisch gelöscht werden.Dazu ist in der Spalte HShake 'None' und in der Spalte Fast 'BMAutoReset' anzuwählen. Mit demerzeugten Signal-Bit kann z.B. ein Beleimungsventil gesteuert werden.

• Eine M-Funktion startet einen Bohrantrieb und die folgenden Bewegungen dürfen erst nach einerAnlaufzeit und nur bei Betriebsbereitschaft ausgelöst werden. Hier muss in der Spalte HShake 'BM'ausgewählt werden. Die SPS quittiert die Anforderung erst nach einer Verzögerungszeit und nur, wennder Frequenzumrichter betriebsbereit ist.

• Ein Bohrantrieb wird mit einer M-Funktion gestartet. Um nicht auf die Hochlaufzeit des Antriebs wartenzu müssen, soll die M-Funktion bereits im Satz vor der Bohrbewegung programmiert werden. In dernächsten Bewegung (der eigentlichen Bohrbewegung) muss trotzdem sichergestellt sein, dass derAntrieb seine Drehzahl erreicht hat. Für diese Variante müssen entweder zwei verschiedene M-Funktionen verwendet werden (Vorlaufsignal als Signal-Bit, Sicherheitsabfrage als Handshake) oderaber es wird eine M-Funktion Fast 'BMAutoReset' und HShake 'AM' verwendet.

3.3.1.5 Verhalten im Fehlerfall

Tritt während der Abarbeitung eines NC-Programms ein Laufzeitfehler (z.B. Schleppabstandsüberwachungschlägt zu) auf, so wird das NC-Programm abgebrochen. Für diesen Fall bleiben die M-Funktionen, falls siegesetzt sind, anliegen. D.h. das PLC-Programm hat für diesen Fall dafür Sorge zu tragen, dass ggf. M-Funktionen nicht bearbeitet werden.

3.3.2 H-, T- und S-ParameterH-, T- und S-Parameter werden verwendet, um Parameter aus dem NC-Interpreter zur SPS zu übertragen.

Der H-Parameter steht in diesem Zusammenhang für Hilfsparameter und ist vom Type DINT (32 bit signed).

Die T- und S-Parameter sind vom Typ WORD und stehen für Tool (Werkzeug) und Spindel.

Beispiel:H=4711R1=23S=R1T4711

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 73Version: 1.0

HINWEIS! Bei dem T-Parameter kann kein R-Parameter zugewiesen werden. Des Weiteren erfolgtdie Zuweisung ohne Zuweisungsoperator ('=').

T- und S-Parameter wirken jeweils am Satzanfang, H-Parameter wirken am Ende des programmiertenSatzes.

3.3.3 DekodierstoppCode Funktion@714 [} 73] Dekodierstopp

@716 [} 73] Dekodierstopp mit Rescan der Achspositionen

@717 [} 74] Dekodierstopp mit Triggerevent, bedingterDekodierstopp

3.3.3.1 Dekodierstopp (@714)

Der Interpreter bietet die Möglichkeit einen Dekodierstopp im NC-Programm auszuführen. D.h. wenn derInterpreter auf diesen Befehl läuft, wartet er solange, bis von außen ein bestimmtes Ereignis eintrifft. Erstwenn dieses Ereignis eingetroffen ist, wird mit der Bearbeitung des NC-Programms fortgefahren.

Ein Dekodierstopp kann z.B. dafür verwendet werden die Satzunterdrückung [} 30] aus der SPS ein- bzw.auszuschalten oder aber auch um R-Parameter [} 37] neu zuzuweisen.

Es existieren zwei Ereignisse um mit der Bearbeitung fortzufahren:

• Quittierung einer M-Funktion [} 68]• SAF-Task ist leer

Quittierung einer M-Funktion

Die Dekodierung des NC-Programms wird solange unterbrochen, bis die M-Funktion [} 68], die unmittelbarvor dem Dekodierstopp programmiert ist, bestätigt wird. D.h. die M-Funktion muss vom Typ "Handshake"sein.

Beispiel 1:N10...N20 M43 (M-function with handshake)N30 @714 (decoder stop)N40 ...

SAF-Task ist leer

Der Dekodierstopp muss nicht unbedingt in Verbindung mit einer M-Funktion programmiert werden. Wenndie SAF-Task leer läuft, d.h. es existieren keine Fahraufträge mehr, wird ebenfalls ein Event an denInterpreter geschickt. Dieses Event bewirkt, dass der Interpreter wieder anläuft.

HINWEIS! Der Dekodierstopp darf nicht bei aktiver Werkzeugkorrektur oder Kreisverrundungprogrammiert werden, da diese dann nicht mehr funktionieren.

3.3.3.2 Dekodierstopp mit Rescan der Achspositionen (@716)

Neben dem gewöhnlichen Dekodierstopp (siehe Dekodierstopp (@714) [} 73]) existiert auch einDekodierstopp, bei dem die Achspositionen des Interpolationskanals neu eingelesen werden. Dieser Stoppwird dann benötigt, wenn z.B. während eines Werkzeugwechsels Achsen via PTP verfahren undanschließend die Achsen nicht auf die alte Position zurückgefahren werden. Ein weiterer Anwendungsfallbesteht dann, wenn in einer M-Funktion (mit Handshake) die Achskonfiguration geändert wird.

Wird ein Dekodierstopp mit Rescan programmiert, ist es unbedingt erforderlich unmittelbar davor eine M-Funktion mit Handshake zu programmieren.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I74 Version: 1.0

Beispiel 2:N10... N20 M43 (M function with handshake carries out a tool change, forexample)N30 @716 (Decoder stop with rescan)N40 ...

HINWEIS! Der Dekodierstopp darf nicht bei aktiver Werkzeugkorrektur oder Kreisverrundungprogrammiert werden, da diese dann nicht mehr funktionieren.

3.3.3.3 Dekodierstopp mit externem Triggerevent (@717)

In manchen Fällen kann es z.B. von Ereignissen in der SPS abhängen, ob das NC-Teileprogramm wartenmuss oder fortgesetzt werden kann. Mit den 2 Typen von M-Funktionen [} 68] gibt es dabei folgendeProbleme:

• Handshake: Aufgrund des Handshakes der M-Funktion muss die Bahngeschwindigkeit an der Stelle,wo die M-Funktion programmiert wurde immer auf 0 gezogen werden und anschließend wird auf dieBestätigung aus der SPS gewartet.

• On The Fly (oder auch schnelle M-Funktion genannt): Da keine Bestätigung von der SPS erwartetwird, gibt es auch keine Möglichkeit, dass das Teileprogramm auf die SPS wartet.

• Auch eine Kombination der beiden M-Funktionstypen hilft hier erst mal nicht weiter.

Beispiel:

Aus dem NC-Teileprogramm wird während einer Positionierung mit einer fliegenden M-Funktion ein ProzessA angestoßen. Dabei wird vorausgesetzt, dass der Verfahrsatz im NC-Programm für gewöhnlich lang genugist, so dass der Prozess A in der SPS fertig gestellt werden kann. Ist A fertig, so soll das NC-Teileprogrammmit Lookahead das nächste Segment abfahren. Für den Fall, dass A allerdings nicht fertig geworden ist, solldie NC am Segmentende anhalten und warten, bis der Prozess A beendet ist. Genau dieses Szenario kannmit dem Befehl @717 realisiert werden. Dabei schickt die SPS das sogenannte 'GoAhead [} 133]'-Kommando, wenn Prozess A beendet ist.N10 ... N20 G0 X0 Y0 Z0N30 G01 X500 F6000N40 M70 (flying M-function that triggers process A)N50 G01 X700N60 @717 (decoder stop with external trigger event)N70 G01 X1000N80 ...

Trifft das Go-Ahead Signal früh genug aus der SPS ein, so werden die Sätze N50 & N70 vom Lookaheadverbunden und die Bahngeschwindigkeit wird dann nicht reduziert. Falls das Signal in derVerzögerungsphase von N50 eintrifft, so wird die Geschwindigkeit dann wieder aufgebaut. Ansonsten wirdgewartet, bis das Signal aus der SPS eintrifft.

HINWEIS! Der Dekodierstopp darf nicht bei aktiver Werkzeugkorrektur oder Kreisverrundungprogrammiert werden, da diese dann nicht mehr funktionieren.

Der Funktionsbaustein 'ItpGoAheadEx' liefert den Fehlercode 0x410A, wenn zum Zeitpunkt des Aufrufs kein@717 im Interpreter anliegt.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 75Version: 1.0

3.3.4 SprüngeCode Funktion@100 [} 75] Unbedingter Sprung

@121 [} 75] Springe wenn ungleich

@122 [} 75] Springe wenn gleich

@123 [} 75] Springe wenn kleiner gleich

@124 [} 75] Springe wenn kleiner

@125 [} 75] Springe wenn größer gleich

@126 [} 76] Springe wenn größer

@111 [} 76] Case-Anweisung

Unbedingter Sprung

Befehl @100Parameter K oder R

Der Parameter beschreibt das Sprungziel. Dieses muss mit einer Richtungsangabe ('+' oder '-') versehensein.

Beispiel 1:N10 .. ... N120 @100 K-10

In diesem Beispiel wird nach dem interpretieren von Zeile 110 wieder mit Zeile 10 fortgefahren. Dabei gibtdas Vorzeichen die Richtung an, in der die zu suchende Zeile zu finden ist.

Springe wenn ungleich

Befehl @121Parameter 1 R<n> Wert mit dem verglichen wirdParameter 2 K oder R<m> VergleichswertParameter 3 K Sprungziel mit Richtungsangabe

Beispiel 2:N10 .....R1=14N120 @121 R1 K9 K-10N130 ...

Springe wenn gleich

vergl. Springe wenn ungleich [} 75]

Springe wenn kleiner gleich

vergl. Springe wenn ungleich [} 75]

Springe wenn kleiner

vergl. Springe wenn ungleich [} 75]

Springe wenn größer gleich

vergl. Springe wenn ungleich [} 75]

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I76 Version: 1.0

Springe wenn größer

vergl. Springe wenn ungleich [} 75]

Case-Anweisung

Befehl @111Parameter 1 R<n> Wert mit dem verglichen wirdParameter 2 K oder R<m> 1. VergleichswertParameter 3 K 1. SprungzielParameter 4 K oder R<m> 2. Vergleichswert...

Beispiel 3:N100 R2=12 (R2=13) (R2=14)N200 @111 R2 K12 K300K13 K400K14 K500

N300 R0=300N310 @100 K5000

N400 R0=400N410 @100 K5000

N500 R0=500N510 @100 K5000

N5000 M30

In der Zeile 200 wird eine Case-Anweisung aufgerufen. Für den Fall, dass R2 = 12 ist, wird zu der Zeile 300gesprungen.

Ist R2 = 13, wird zu der Zeile 400 gesprungen. Wenn R2 = 14 ist, wird folglich zu der Zeile 500 gesprungen.

Für den Fall, dass keine der Bedingungen erfüllt ist, wird einfach mit der nächsten Zeile (hier 300)fortgefahren.

3.3.5 SchleifenIm Folgenden werden die unterschiedlichen Schleifentypen beschrieben.

Code Schleifentyp Abbruchbedingung@131 While-Schleife [} 77] Schleife solange gleich@132 While-Schleife [} 77] Schleife solange ungleich@133 While-Schleife [} 77] Schleife solange grösser@134 While-Schleife [} 77] Schleife solange grösser oder

gleich@135 While-Schleife [} 77] Schleife solange kleiner@136 While-Schleife [} 77] Schleife solange kleiner oder gleich@141 Repeat-Schleife [} 77] Wiederhole bis gleich@142 Repeat-Schleife [} 77] Wiederhole bis ungleich@143 Repeat-Schleife [} 77] Wiederhole bis grösser@144 Repeat-Schleife [} 77] Wiederhole bis grösser oder gleich@145 Repeat-Schleife [} 77] Wiederhole bis kleiner@146 Repeat-Schleife [} 77] Wiederhole bis kleiner oder gleich@151 For-To-Schleife [} 77]@161 For-DownTo-Schleife [} 78]

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 77Version: 1.0

Eine Verschachtelung der Schleifen ist grundsätzlich möglich.

While-Schleife

Befehl @13<n> mit 1 <= n <= 6Parameter 1 R<m> Wert mit dem verglichen wirdParameter 2 K oder R<k> VergleichswertParameter 3 K Sprungziel für den Fall, dass die

Bedingung nicht erfüllt ist

Die While-Schleife wird solange ausgeführt, wie die Bedingung erfüllt ist. Dabei findet die Überprüfung amSchleifenanfang statt. Wenn die Bedingung nicht oder nicht mehr erfüllt ist, wird zu der angegebenen Zeilegesprungen (Parameter 3).

Am Ende der While-Schleife muss ein unbedingter Sprung (@100 [} 75]) programmiert werden. Dabei ist alsSprungziel die Zeilennummer der While-Schleife anzugeben.

Mit <n> wird die Abbruchbedingung der Schleife spezifiziert.

Beispiel 1:N100 R6=4N200 @131 R6 K4 K600 (K600 is the target of the jump, when the condition is no longer satisfied)N210 ...N220 @100 K-200

N600 ...

N5000 M30

Solange R6 = 4 ist, wird die Schleife (Zeile 200 bis 220) wiederholt. Wenn die Bedingung nicht mehr erfülltist, wird zu der Zeile 600 gesprungen.

Repeat-Schleife

Befehl @14<n> mit 1 <= n <= 6Parameter 1 R<m> Wert mit dem verglichen wirdParameter 2 K oder R<k> VergleichswertParameter 3 K Sprungziel zum Schleifenanfang

Bei der Repeat-Schleife erfolgt die Abfrage am Ende der Schleife. D.h. die Schleife wird mindestens einmaldurchlaufen. Erst wenn die Bedingung erfüllt ist, wird die Schleife beendet und mit dem Programmfortgefahren.

Beispiel 2:N200 ...N210 ...

N300 @141 R6 K25 K200

Die Schleife wird solange wiederholt, bis R6 = 25 ist. Die zweite Konstante in Zeile 300 gibt das Sprungziel(Schleifenanfang) an.

For-To-Schleife

Befehl @151 <Variable> <Wert> <Konstante>

Die For-To-Schleife ist eine Zählschleife, die solange ausgeführt wird, bis Variable gleich Wert ist. Dabeifindet die Überprüfung am Anfang der Schleife statt. Falls die Bedingung erfüllt ist, wird zu der unterKonstante angegebenen Zeile gesprungen.

Am Ende der Schleife muss die Variable inkrementiert (@620) und mit einem unbedingten Sprung an denSchleifenanfang gesprungen werden.

Beispiel 3:

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I78 Version: 1.0

N190 R6=0N200 @151 R6 K20 K400N210 ...N290 @620 R6 (increment R6)N300 @100 K-200

For-Downto-Schleife

Befehl @161 <Variable> <Wert> <Konstante>

Die For-Downto-Schleife ist eine Zählschleife. Die Verhaltensweise ist vergleichbar mit der For-To-Schleife.Es besteht lediglich der Unterschied, dass die Variable am Schleifenende um 1 dekrementiert (@621) wird.

3.3.6 UnterprogrammtechnikAuch in der NC-Programmierung ist es sinnvoll, häufig benutzte Befehlsfolgen als Unterprogramm zugestalten. Auf diese Weise ist es möglich, aus verschiedenen Werkstückprogrammen auf eine vorgefertigteund ausgetestete Funktion zurückzugreifen.

Innerhalb eines Programms werden Unterprogramme über eine Nummer identifiziert. Diese muss eindeutigsein: Es kann nur ein Unterprogramm mit einer bestimmten Nummer (1..>2.000.000.000) geben.

Bei der Interpretation wird das aufrufende Programm unterbrochen. Der Text des Unterprogramms wird (beiBedarf mehrmals) abgearbeitet. Anschließend wird die Abarbeitung im aufrufenden Programm hinter derAufrufstelle fortgesetzt.

Selbstverständlich kann auch aus einem Unterprogramm ein anderes Unterprogramm aufgerufen werden. Indiesem Fall wird sinngemäß verfahren. Dabei bildet sich ein Stapel von Rücksprunginformationen. Zurzeit istdiese Unterprogramm-Schachtelung aus technischen Gründen auf 20 Ebenen begrenzt.

Definition eines Unterprogramms

Der Code eines Unterprogramms kann in derselben Datei geschrieben werden, in der sich auch dasaufrufende Programm befindet. In diesem Fall wird das Unterprogramm direkt gebunden: Es wird beimLaden der Datei automatisch mitgeladen. Soll es allgemein verfügbar sein, muss es in eine eigene Dateigeschrieben werden, die sich im CNC-Verzeichnis befinden muss.

Der Name der Datei beginnt mit dem Buchstaben 'L' und es folgt eine Ziffernkette. Diese Ziffernkette mussdie Unterprogramm-Nummer ohne führende '0' wiedergeben.

Der Startpunkt des Unterprogramms ist im Code mit einem Unterprogramm-Label zu markieren. Diesesbesteht wie der Dateiname aus dem Buchstaben 'L' und der beschriebenen Ziffernfolge.

Unmittelbar hinter diesem Label setzt der Interpreter auf.

Syntax Unterprogramm:(Datei L2000.NC)L2000N100...N110......N5000 M17 (return command)

Aufruf eines Unterprogramms

Um in einem beliebigen Satz des NC-Programms ein Unterprogramm aufzurufen, ist folgende Syntax zubenutzen. Wichtig ist, dass der Ausdruck "L2000" nicht am Zeilenanfang steht, um eine Verwechslung miteinem Unterprogramm-Label zu vermeiden.(syntax of the subroutine call)N100 L2000

Im folgenden Beispiel wird mit dem Ausdruck "P5" eine 5-fache Wiederholung des Unterprogrammsveranlasst.(n-fold subroutine call (here: 5- fold))N100 L2000 P5

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 79Version: 1.0

Dynamischer Unterprogrammaufruf

Manchmal steht erst zur Laufzeit fest, welches Unterprogramm aufgerufen werden soll. Um sich für diesenFall die CASE-Anweisung zu sparen, ist es auch möglich, das Unterprogramm mit einem R-Parameteraufzurufen. Dabei muss der Wert für R aber in einer eigenen Zeile zugewiesen bzw. berechnet werden.(Dynamic call of a subroutine)N099 R47=R45+1N100 L=R47

Parameterübergabe

Die Übergabe von Parametern an Unterprogramme ist mit Hilfe der R-Parameter [} 37] zu verwirklichen.Dabei ist zu beachten, dass R-Parameter nicht automatisch gesichert werden (vergl. Retten von R-Parametern [} 37]) .

Parameterverwendung

In einem NC-Unterprogramm können R-Parameter im Prinzip frei verwendet werden. Das hat eine Reihe vonKonsequenzen, die zu Fehlern führen können, wenn sie nicht beachtet werden. Auf der anderen Seite ist eingezielter Einsatz möglich, der dem NC-Programmierer eine Reihe von Arbeitstechniken zur Verfügung stellt.

Ergebnisse von Unterprogrammen

Wird ein R-Parameter verändert, ohne dass sein Inhalt gerettet und restauriert wurde, ist die Veränderungnach einem Unterprogrammrücksprung wirksam. Wenn dies unbeabsichtigt war, kann es in der Folge zueinem nicht geplanten Verhalten der Maschine kommen.

Dies kann jedoch auch bewusst dazu ausgenutzt werden, den weiteren Verlauf der Bearbeitung von denErgebnissen eines Unterprogramms abhängig zu machen. Dabei ist keinerlei Einschränkung außer denender R-Parameter zu beachten.

Beispiel:N100 L2000N110 R2=R3+R4...N999 M30L2000N10 R3=17.5N20 R4=1N99 M17

Hier werden in einem Unterprogramm Werte festgelegt. Die Werte werden im aufrufenden Programm weiterverwendet.

Beenden eines Unterprogramms

Ein Unterprogramm wird mit M17 beendet.

3.3.7 Dynamischer OverrideBefehl DynOvr=<value>

oderDynOvr = R<n>

Aufhebung DynOvr=1

Beispiel:N10 G01 X100 Y200 F6000N20 DynOvr=0.4N30 G01 X500

Mit 'DynOvr' können zur Laufzeit des NC Programms die Dynamikparameter der Achsen in der Gruppeprozentual verändert werden. Daraus ergeben sich ebenfalls neue Werte für die Bahndynamik. Die neuenDynamikwerte werden ohne Stopp mit der Ausführung der Zeile gültig. Für das oben dargestellte Beispielbedeutet das, dass in Satz 10 noch mit den alten Werten verzögert und in Satz 20 mit den neuen Wertenbeschleunigt wird.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I80 Version: 1.0

Definitionsbereich

0 < DynOvr ≤ 1

Vergl. auch Änderung der Bahndynamik [} 80].

3.3.8 Änderung der BahndynamikBefehl #set paramPathDynamicsParameter <acc> Wert für die maximal erlaubte Bahnbeschleunigung in

mm/s^2Parameter <dec> Wert für die maximal erlaubte Verzögerung in mm/

s^2Parameter <jerk> Wert für den maximal erlaubten Ruck in mm/s^3.

Beispiel:N10 G01 X100 Y200 F6000N15 R4=3000N20 #set paramPathDynamics( 700; 700; R4 )#N30 G01 X500

Mit 'paramPathDynamics' kann zur Laufzeit des NC Programms die Bahndynamik verändert werden. Dieneuen Dynamikwerte werden mit der programmierten Zeile wirksam. Für das oben dargestellte Beispielbedeutet das, dass Satz 10 auch am Satzende mit den Default-Werten behandelt wird. Für Satz 30 werdenam Segmentanfang die neuen Parameter verwendet.

Dieses Kommando limitiert alle Bahnachsen auf die parametrierten Dynamikwerte. Die Bahn selber kannaber in Abhängigkeit ihrer Orientierung eine höhere Dynamik aufweisen. Die Dynamik von Hilfsachsen wirdnicht verändert.

Vergl. auch Dynamischer Override [} 79].

HINWEIS! Die aus dem NC Programm geänderten Dynamikwerte bleiben bis zum nächsten Resetdes Interpreters bzw. Restart von TwinCAT aktiv.

HINWEIS! Das alte Kommando 'paramGroupDynamics' bleibt weiterhin wirksam. Es ist dabeiallerdings nicht möglich, R-Parameter zu übergeben.

Befehl #setparamGroupDynamics(<grp>,<acc>,<dec>,<jerk>)#

Parameter <grp> Gruppe für die die Dynamikänderung wirksam seinsoll. Z. Zt. immer 1.

Parameter <acc> Wert für die maximal erlaubte Bahnbeschleunigung inmm/s^2

Parameter <dec> Wert für die maximal erlaubte Verzögerung in mm/s^2

Parameter <jerk> Wert für den maximal erlaubten Ruck in mm/s^3.

Beispiel:N10 G01 X100 Y200 F6000N20 #set paramGroupDynamics( 1, 700, 700, 3000 )#N30 G01 X500

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 81Version: 1.0

Änderung der Achsdynamik

Befehl #set paramAxisDynamicsParameter <axis> Achse in der Interpolationsgruppe:

X: 0Y: 1Z: 2Q1: 3...Q5: 7

Parameter <acc> Wert für die maximal erlaubte Beschleunigung in mm/s^2

Parameter <dec> Wert für die maximal erlaubte Verzögerung in mm/s^2

Parameter <jerk> Wert für den maximal erlaubten Ruck in mm/s^3.

Beispiel:N10 G01 X100 Y200 F6000N15 R4=30000N20 #set paramAxisDynamics( 0; 1500; 1400; R4 )#N30 G01 X500

Mit 'paramAxisDynamics' kann zur Laufzeit die Dynamik einer Achse geändert werden. Grundsätzlich ist dieVerhaltensweise die gleiche wie bei 'paramPathDynamics', allerdings mit dem Unterschied, dass hiermit fürjede Achse individuell die Dynamik vorgegeben werden kann.

3.3.9 Änderung der Reduktionsparameter

C0 Reduktion [} 81]

C1 Reduktion [} 82]

C2 Reduktion [} 82]

C0 Reduktion

Bei manchen Maschinentypen ist es nicht unbedingt erforderlich, an Knicken die Bahngeschwindigkeit bisauf 0 zu reduzieren. Dazu werden 2 Reduktionsmethoden angeboten

• VeloJump• DeviationAngle

VeloJump

Befehl #set paramVeloJump( <C0X>; <C0Y>; <C0Z> )#Parameter <C0X> Reduktionsfaktor für C0-Übergänge: X-Achse: C0X ≥

0.0Parameter <C0Y> Reduktionsfaktor für C0-Übergänge: Y-Achse: C0Y ≥

0.0Parameter <C0Z> Reduktionsfaktor für C0-Übergänge: Z-Achse: C0Z ≥

0.0

Mit 'paramVeloJump' können zur Laufzeit des NC-Programms die Faktoren für die Geschwindigkeitssprüngeverändert werden. Die neuen Werte werden aus der Satzausführung in der programmierten Zeile wirksam.Näheres zu der Wirkungsweise ist im Anhang unter Parametrierung [} 229] zu finden.

Beispiel:N10 G01 X100 Y200 F6000N20 R2=4.5N30 #set paramVeloJump( 1.45; R2; R2 )#N40 G01 X500

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I82 Version: 1.0

Hinweis

Zurücksetzen der ParameterDie aus dem NC Programm geänderten VeloJump Parameter bleiben bis zum nächstenReset des Interpreters bzw. Restart von TwinCAT aktiv.

DeviationAngle (noch nicht freigegeben)

Befehl #set paramDevAngle( <C0Factor>; <AngleLow>;<AngleHeigh> )#

Parameter <C0Factor> Bahn-Reduktionsfaktor für C0-Übergänge: 1.0 ≥ C0 ≥0.0

Parameter <AngleLow> Winkel in Grad ab dem die Reduktion einsetzt: 0 ≤φ_l < φ_h ≤ π

Parameter <AngleHeigh> Winkel in Grad ab dem auf v_link = 0.0 reduziert wird:0 ≤ φ_l < φ_h ≤ π

Mit 'paramDevAngle' werden die Parameter für die C0 Reduktion beschrieben. Im Gegensatz zu derReduktionsmethode VeloJump, wo der Geschwindigkeitssprung direkt beeinflusst wird, ergibt sich bei derMethode DeviationAngle, der Geschwindigkeitssprung in Abhängigkeit vom Winkel. Näheres zu derWirkungsweise ist im Anhang unter Parametrierung [} 229] zu finden.

Beispiel:N10 G01 X100 Y200 F6000N20 #set paramDevAngle(0.15; 5; 160 )#N30 G01 X500

Hinweis

Zurücksetzen der ParameterDie aus dem NC-Programm geänderten DeviationAngle Parameter bleiben bis zum nächs-ten Reset des Interpreters bzw. Restart von TwinCAT aktiv.

C1 Reduktionsfaktor

Befehl #set paramC1ReductionFactor( <C1Factor> )#Parameter <C1Factor> C1 Reduktionsfaktor

Mit 'paramC1ReductionFactor' kann zur Laufzeit des NC Programms der C1 Reduktionsfaktor verändertwerden.

Der neue Parameter ist in dem Segmentübergang, in dem der Reduktionsfaktor programmiert wird, gültig.D.h. in dem angefügten Beispiel ist der neue Wert für die C1 Reduktion im Segmentübergang von N10 zuN30 bereits gültig.

Als Parameter kann ein Floating-Point-Wert oder ein R-Parameter übergeben werden.

Näheres zu der Wirkungsweise ist im Anhang unter Parametrierung [} 229] zu finden.

Beispiel:N10 G01 X100 Y200 F6000N20 #set paramC1ReductionFactor( 0.45 )#N30 G01 X500

Hinweis

Zurücksetzen der ParameterDer aus dem NC-Programm geänderte C1 Reduktionsfaktor bleibt bis zum nächsten Resetdes Interpreters bzw. Restart von TwinCAT aktiv.

C2 Reduktionsfaktor

Befehl #set paramC2ReductionFactor( <C2Factor> )#Parameter <C2Factor> C2 Reduktionsfaktor

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 83Version: 1.0

Mit 'paramC2ReductionFactor' kann zur Laufzeit des NC-Programms der C2 Reduktionsfaktor verändertwerden.

Der Befehl wirkt in dem Segmentübergang, in dem der Reduktionsfaktor programmiert wird. D.h. in demangefügten Beispiel ist der neue Wert für die C2 Reduktion im Segmentübergang von N10 zu N30 bereitsgültig.

Als Parameter kann ein Floating-Point-Wert oder ein R-Parameter übergeben werden.

Beispiel:N10 G01 X100 Y200 F6000N20 #set paramC2ReductionFactor( 1.45 )#N30 G01 X500

Hinweis

Zurücksetzen der ParameterDer aus dem NC-Programm geänderte C2 Reduktionsfaktor bleibt bis zum nächsten Resetdes Interpreters bzw. Restart von TwinCAT aktiv.

3.3.10 Änderung der MindestgeschwindigkeitBefehl #set paramVeloMin( <VeloMin> )#Parameter <VeloMin> Minimale Bahngeschwindigkeit

Mit 'paramVeloMin' kann zur Laufzeit des NC-Programms die Mindestgeschwindigkeit an der Bahn verändertwerden. Die neue Geschwindigkeit wird aus der Satzausführung in der programmierten Zeile wirksam.

Als Parameter kann ein Floating-Point-Wert oder ein R-Parameter übergeben werden.

Beispiel:N10 G01 X100 Y200 F6000N20 #set paramVeloMin( 2.45 )#N30 G01 X500

Hinweis

Zurücksetzen der ParameterDie aus dem NC-Programm geänderte Mindestgeschwindigkeit bleibt bis zum nächstenReset des Interpreters bzw. Restart von TwinCAT aktiv.

Hinweis

Programmierung der GeschwindigkeitDie Einheit der Geschwindigkeit ist mm/sec und damit äquivalent mit den üblichen Einhei-ten im XAE.

3.3.11 Lese Achsen-IstwertBefehl @361Parameter 1 R<n> R Parameter, dem der Achsen-

Istwert zugewiesen wirdParameter 2 K<m> Konstante für die zu lesende

Achskoordinate0: X-Achse1: Y-Achse2: Z-Achse3: Q1-Achse4: Q2-Achse. . .7: Q5-Achse

Beispiel 1:

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I84 Version: 1.0

N10 G0 X0 Y0 Z0 F24000N30 G01 X1000N40 @361 R1 K0 (read position of x axis)N50 R0=XN60 G01 X=R0+R1N70 M30

Mit dem Befehl @361 wird implizit ein Dekodierstopp ausgeführt. Damit wird sichergestellt, dass in diesemBeispiel die Position gelesen wird, wenn Satz N30 abgearbeitet ist.

Eine mögliche Anwendung ist z.B. die Kombination mit dem Restweglöschen.

Lese Achsen-Istwert ohne Dekodierstopp

Befehl #get PathAxesPos( R<a>; R<b>;R<c> )#

Parameter 1 R<a> R Parameter, dem der Achsen-Istwert der X-Achse zugewiesenwird

Parameter 2 R<b> R Parameter, dem der Achsen-Istwert der Y-Achse zugewiesenwird

Parameter 3 R<c> R Parameter, dem der Achsen-Istwert der Z-Achse zugewiesenwird

Der Befehl #get PathAxesPos( )# liest die aktuellen Ist-Positionen der Bahnachsen (X, Y &Z) aus. Er verhältsich ähnlich wie @361 mit dem Unterschied, dass mit diesem Kommando kein impliziter Dekodierstoppausgelöst wird. D.h. der Programmierer muss selber sicherstellen, dass sich beim Abarbeiten desKommandos im Interpreter die Achsen noch nicht bewegt haben oder im Satz vor dem Befehl muss einDekodierstopp (@714) programmiert werden.

#get PathAxesPos( )# ist eine Alternative zu @361, die aber an bestimmte Bedingungen geknüpft ist.

Beispiel 2:@714(optional)N27 #get PathAxesPos( R0; R1; R20 )#

HINWEIS! Wenn eine Bahnachse nicht zugewiesen ist (z.B. Z hat keine zugewiesene Achse), wirddem dazugehörigen R-Parameter der Wert 0 übergeben.

3.3.12 Überspringe virtuelle BewegungBefehl #skip VirtualMovements(<parameter>)#Parameter 0 (default): virtuelle Bewegungen werden

„ausgefahren“1: virtuelle Bewegungen werden übersprungen

Bewegungen von nicht vorhandenen aber dennoch programmierten Hauptachsen (X, Y & Z) können mitdem Befehl „skip VirtualMovements“ übersprungen werden.

Beispiel:

Die Interpolationsgruppe (CfgBuildGroup) beinhaltet nur Zuweisungen für die X- und Y-Achse. Die Z-Achseist nicht zugewiesen, aber im Teileprogramm programmiert.(Startposition X0 Y0 Z0) N10 #skip VirtualMovements(1)#N20 G01 X100 Y200 F6000N30 G01 Z1000 (virtual movement, because z is not assigned)N40 G01 X500

Die Ausführung dieses Programms überspringt das Segment N30.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 85Version: 1.0

3.3.13 Meldungen aus dem NC-ProgrammBefehl #MSG (<message level>; <mask>; "<text>" )#<message level> • ITP

Die Meldung wird aus dem Interpreterabgesetzt. Damit erscheint die Meldung in derRegel deutlich vor der Abarbeitung im NC-Kern.

• NCKDie Meldung wird mit der Ausführung des NC-Satzes aus dem NC-Kern abgesetzt. Damiterscheint sie synchron mit der Satzausführung(SAF)

<mask> STRING<text> der darzustellende Text

N10 G0 X0 Y0N20 G01 X100 Y0 F6000

N30 #MSG( NCK; STRING; "this is a text")#

N40 G01 X200 Y-100

Mit dem Text können keine weiteren Parameter (z.B. R-Parameter) übergeben werden.

Die Meldung wird intern wie ein Hinweis gehandhabt.

3.4 Werkzeugkorrekturen

3.4.1 WerkzeugdatenFür die Werkzeugdaten stehen in der NC 255 Speicherplätze (D1..D255) pro Kanal zur Verfügung. DieParameter für die Werkzeugdaten können direkt im XAE beschrieben werden. Die Sicherung der Datenerfolgt als ASCII-Datei (<Kanal ID>.wz) und wird im TwinCAT\CNC Verzeichnis hinterlegt. Beim Start vonTwinCAT werden diese Daten automatisch geladen.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I86 Version: 1.0

Zurzeit werden zwei Werkzeugtypen unterstützt:

• Bohrer• Schaftfräser

Im Folgenden werden die relevanten Spalten (Parameter) für diesen Werkzeugtyp beschrieben.

Bohrer

Parameter Bedeutung0 Tool-Nummer

Mit dem Aufruf dieses D-Worts kann gleichzeitig eineTool-Nummer angegeben werden, die hier festgelegtwird.

1 WerkzeugtypBeim Bohrer handelt es sich um Typ 10

2 Geometrie: LängeBeschreibt die Länge des Bohrers

5 Verschleiß: LängeBeschreibt den Verschleiß des Bohrers. Dabei mussder Verschleiß negativ angegeben werden, da er zurLänge hinzuaddiert wird.

8 kartesische Werkzeugverschiebung [} 88] in X-Richtung

9 kartesische Werkzeugverschiebung in Y-Richtung10 kartesische Werkzeugverschiebung in Z-Richtung

Schaftfräser

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 87Version: 1.0

Parameter Bedeutung0 Tool-Nummer

Mit dem Aufruf dieses D-Worts kann gleichzeitig eineTool-Nummer angegeben werden, die hier festgelegtwird.

1 WerkzeugtypBeim Schaftfräser handelt es sich um Typ 20

2 Geometrie: LängeLänge des Schaftfräsers

4 Geometrie: Radius5 Verschleiß: Länge7 Verschleiß: Radius8 kartesische Werkzeugverschiebung [} 88] in X-

Richtung9 kartesische Werkzeugverschiebung in Y-Richtung10 kartesische Werkzeugverschiebung in Z-Richtung

Schreiben der Werkzeugdaten

Werkzeugdaten mit dem XAE editieren

Wie bereits erwähnt ist es möglich, die Werkzeugdaten direkt aus dem XAE zu beschreiben. Editieren Siedazu das oben abgebildete Fenster.

Werkzeugdaten mit der SPS parametrieren

Des Weiteren können Sie Werkzeugdaten mit dem Funktionsbaustein ItpWriteToolDescEx [} 156] aus derSPS lesen und schreiben.

Werkzeugdaten aus dem Teileprogramm schreiben

Bei manchen Applikationen ist es komfortabler, wenn man die Werkzeugdaten direkt aus demTeileprogramm beschreiben kann.

Der zu beschreibende Werkzeugsatz darf nicht aktiv sein, wenn er beschrieben wird. D.h. wenn z.B. dieWerkzeugradiuskorrektur mit dem Parametersatz D10 aktiv ist, darf dieser nicht überschrieben werden,solange D10 noch angewählt ist.

Befehl #set ToolParam(<Zeile>; <Spalte>;<Wert>)#Parameter <Zeile> Beschreibt die Zeile des Werkzeugparameters

(1..255)Dies entspricht der D-Nummer

Parameter <Spalte> Spalte die beschrieben werden soll (0..15)Parameter <Wert> zu übertragender Parameterwert

Beispiel:N10 G0 X0 Y0 Z0N20 G01 X100 F60000N30 R1=10 R2=4 R3=20.3N40 #set ToolParam(10; 0; 5)# #set ToolParam(10;1;20)#N50 #set ToolParam(R1; R2; R3)#N60 G41 X200 Y D10...

HINWEIS! Als Parameter dürfen keine Formeln übergeben werden. Für das Beschreiben derWerkzeugdaten ist kein Dekodierstopp erforderlich.

Werzeugdaten aus dem Teileprogramm lesen

Mit diesem Kommando können Werkzeugdaten einem R-Parameter zugewiesen werden.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I88 Version: 1.0

Befehl #get ToolParam(<Zeile>; <Spalte>;<R-Param>)#Parameter <Zeile> Beschreibt die Zeile des Werkzeugparameters

(1..255), dies entspricht der D-NummerParameter <Spalte> Spalte die beschrieben werden soll (0..15)Parameter <R-Param> R-Parameter, in dem das Datum eingetragen wird

Beispiel:N10 G0 X0 Y0 Z0N20 G01 X100 F60000N30 R1=10 R2=4N40 #get ToolParam(10; 0; R5)# #getToolParam(10;1;R20)#N50 #get ToolParam(R1; R2; R3)#N60 G41 X200 Y D10...

Hinweise:

HINWEIS! Als Parameter dürfen keine Formeln übergeben werden. Für das Lesen derWerkzeugdaten ist kein Dekodierstopp erforderlich.

3.4.2 An- und Abwahl der LängenkorrekturDie Anwahl der Längenkorrektur kann nur bei wirksamen G0 [} 40] bzw. G1 [} 41] erfolgen. Dabei muss dieArbeitsebene [} 34] angewählt sein, auf der die Längenkorrektur senkrecht steht.

Die Zustellrichtung wird mit P festgelegt (vergl. Arbeitsebene und Zustellrichtung [} 34]).

Damit die Längenkorrektur herausgefahren wird, muss die betroffene Achse wenigstens genannt werden.

Beispiel:N10 G17 G01 X0 Y0 Z0 F6000N20 D1 X10 Y10 ZN30 ...N90 M30

HINWEIS! Mit der Anwahl der Fräserradiuskorrektur [} 91] wird die Längenkorrektur automatischangewählt.Um die Längenkorrektur wieder abzuwählen, muss D0 programmiert werden. Auch hier istes wieder erforderlich, die betroffenen Achsen zu nennen, um die neue Position anzufahren.

3.4.3 Kartesische WerkzeugverschiebungMit der kartesischen Werkzeugverschiebung wird der Offset zwischen dem Bezugspunkt desWerkzeugträgers und dem Bezugspunkt des eigentlichen Werkzeugs beschrieben. In vielen Fällen liegendiese Bezugspunkte übereinander, sodass für die kartesische Werkzeugverschiebung 0 eingetragen werdenkann.

Parameter

Die Parameter für die Verschiebung werden wie die Werkzeuglänge etc. bei den Werkzeugdaten [} 85]eingetragen. Hierfür stehen die Parameter 8 bis 10 zur Verfügung. Dabei beschreibt

• P8 immer die X-Komponente• P9 immer die Y-Komponente• P10 immer die Z-Komponente

unabhängig von der Ebenenanwahl.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 89Version: 1.0

An- und Abwahl der kartesischen Werkzeugverschiebung

Wie auch die Längenkorrektur, wird die Werkzeugverschiebung mit D<n> (n>0) eingeschaltet. Um dieVerschiebung herauszufahren, müssen die Achsen wenigstens genannt werden. D.h. die Verschiebung wirddann herausgefahren, wenn die Achse das erste Mal aufgerufen wird. Zusätzlich kann eine neueEndposition für die Achse eingegeben werden.

Ausgeschaltet wird die Funktion mit D0. Auch hier müssen die Achsen wenigstens genannt werden, damitdie Achsen auf die neuen Koordinaten fahren.

Beispiel 1:N10 G17 G01 X0 Y0 Z0 F6000N20 D1 X10 Y10 Z (Z-Axis is repositioned)N30 ...N90 M30

Beispiel 2:N10 G17 G01 X0 Y0 Z0 F6000N20 D1 X10 Y10 (Z-Axis is not moved)N30 ...N90 M30

Hinweis

Verwendung von Werkzeugverschiebung und RotationWird die kartesische Werkzeugverschiebung in Verbindung mit der Rotation [} 52] verwen-det, so wird nur dann richtig kompensiert, wenn das Aggregat (Werkzeugträger) ebenfallsum den gleichen Winkel rotiert wird.

Anwendungsbeispiel

Bei Bearbeitungsmaschinen kommt es häufig vor, dass sich an einem Werkzeugträger mehrere Werkzeugebefinden. Je nachdem welche Bearbeitung anliegt, wird das jeweilige Werkzeug pneumatisch zugeschaltet.Da sich die Werkzeuge nun einmal an unterschiedlichen Orten befinden, wird eine kartesischeWerkzeugverschiebung benötigt.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I90 Version: 1.0

Werkzeugparameter

Parameter Wert0 0..655351 102 405 08 100.09 0.010 50

Verhalten bei Kettenmaßangabe

Default-Verhalten

Wird im Kettenmaß (G91) ein neuer Werkzeugversatz (und auch Längenkorrektur) angewählt, so wird mitdem Nennen der Achse der neue Korrekturwert herausgefahren.

Beispiel 3:(Tooloffset D1: X10 Y20 Z30)N10 G01 D1 X100 Y0 Z0 F6000N20 G91 (incremental dimension)N30 D2 (Tooloffset D2: X100Y200 Z300)N30 Z10N40 ...

Befehl BeschreibungToolOffsetIncOn Auch unter G91 werden die

Werkzeugverschiebungen und Längenkorrekturherausgefahren, wenn die Achse genannt wird

ToolOffsetIncOff Unter G91 werden die Werkzeugverschiebung undLängenkorrektur nicht herausgefahren

Beispiel 4:(Tooloffset D1: X10 Y20 Z30)N05 ToolOffsetIncOffN10 G01 D1 X100 Y0 Z0 F6000N20 G91 (incremental dimension)N30 D2 (Tooloffset D2: X100Y200 Z300)N30 Z10N40 ...

In N10 wird der Tooloffset für alle 3 Achsen herausgefahren. D.h. die Achsen fahren im Maschinen-Koordinaten-System (MCS) auf X110 Y10 Z30.

In N30 wird der neue Tooloffset der Z-Achse nicht herausgefahren. Dadurch ergibt sich im MCS X110 Y10Z40.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 91Version: 1.0

Vergl. auch ZeroShiftIncOn/Off [} 47]

3.4.4 Fräserradiuskorrektur

3.4.4.1 Fräser-/Schneidenradiuskorrektur aus

Fräser-/Schneidenradiuskorrektur aus

Befehl G40Aufhebung G41 [} 91] oder G42 [} 92]

Die Funktion G40 schaltet die Fräser-/Schneidenradiuskorrektur aus. Dabei bleibt die Längenkorrektur [} 88]noch solange aktiv, bis sie mit D0 ausgeschaltet wird.

3.4.4.2 Fräser-/Schneidenradiuskorrektur links

Fräser-/Schneidenradiuskorrektur links

Befehl G41Aufhebung G40 [} 91]

Die Funktion G41 schaltet die Fräser-/Schneidenradiuskorrektur ein. Dabei befindet sich das Werkzeug inBewegungsrichtung links vom Werkstück.

Wie schon bei der Längenkorrektur [} 88] kann die Fräserradiuskorrektur nur bei wirksamen G0 [} 40] oderG1 [} 41] aktiviert werden. Mit der Anwahl der Fräserradiuskorrektur müssen die Achsen der Ebeneverfahren werden.

Beispiel:N10 G17 G01 X0 Y0 Z0 F6000 N20 G41 X10 Y20 Z D1 N30 X30 N40 G40 X10 Y10 ZN50 M30

Hinweis

Fräserradiuskorrektur gilt nicht für VollkreiseEs werden keine Vollkreise bei der Fräserradiuskorrektur unterstützt, Sie müssen diesez.B. in Halbkreise aufteilen.

Hinweise:

• Damit das NC-Programm ordnungsgemäß beendet werden kann, ist vor dem Programmende dieFräserradiuskorrektur zu deaktivieren.

• Wird ein Dekodierstopp [} 73] programmiert, muss die Fräserradiuskorrektur zuvor deaktiviert werden.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I92 Version: 1.0

• Durch die Radiuskorrektur kann sich bei Kreisen die Bahngeschwindigkeit an der Kontur verändern,vergl. Sie hierzu 'Bahngeschwindigkeit bei Kreisen [} 96]'.

• vergl. Orthogonales An- bzw. Abfahren an der Kontur [} 96].

3.4.4.3 Fräser-/Schneidenradiuskorrektur rechts

Fräser-/Schneidenradiuskorrektur rechts

Befehl G42Aufhebung G40 [} 91]

Die Funktion G42 schaltet die Fräser-/Schneidenradiuskorrektur ein. Dabei befindet sich das Werkzeug inBewegungsrichtung rechts vom Werkstück.

Hinweis

Fräserradiuskorrektur gilt nicht für VollkreiseEs werden keine Vollkreise bei der Fräserradiuskorrektur unterstützt, Sie müssen diesez.B. in Halbkreise aufteilen.

HINWEIS! Für den Fall, dass von G41 nach G42 geschaltet werden soll, so ist zwischen denGeometrien ein G40 zu programmieren.

3.4.4.4 An- und Abfahrverhalten der Fräserradiuskorrektur

Dieses Kapitel beschreibt das An- und Abfahrverhalten beim Einschalten bzw. Ausschalten derFräserradiuskorrektur. Dieses Verhalten ist abhängig von der Startposition und kann ansonsten nichtbeeinflusst werden.

Nach dem Einschalten der Radiuskorrektur muss diese noch herausgefahren werden. D.h. der Fräser stehtan einem Punkt P1 (ohne Radiuskorrektur) und verfährt zu einem Punkt P2', wobei der Fräserradius imPunkt P2' kompensiert wird.

Der Punkt P2' ist dabei von der Startposition P1 in der Ebene abhängig, wobei grundsätzlich 3 Fälleunterschieden werden. Diese Fälle werden im Folgenden exemplarisch beim Herausfahren derRadiuskorrektur mit einem programmierten G42 (Korrektur rechts) gezeigt.

Beim Deaktivieren der Korrektur gelten ähnliche Regeln, mit dem Unterschied, dass die Tangente t am Endedes Bahnsegments ermittelt wird und daraus werden die gleichen Bedingungen hergeleitet.

Fall 1: P1 rechts von der Bahntangente t

Befindet sich der Startpunkt P1 rechts von der Bahntangente t, so ist P2' orthogonal zur Tangente. DiesesAnfahrverhalten trifft auf den grün schraffierten Bereich zu.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 93Version: 1.0

Fall 2: P1 rechts von der Normalen n und links von der Bahntangente t

Für den Fall, dass sich die Startposition P1 rechts von der Normalen n und links von der Bahntangente tbefindet, so wird P2' verschoben. Dabei ergibt sich P2' aus dem Schnittpunkt der Parallelen von P1P2 undder verschobenen Strecke P2P3. Beide Geraden werden um den Radius R verschoben.

Diese Verhaltensweise gilt für den grün schraffierten Bereich.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I94 Version: 1.0

Fall 3: P1 links von der Normalen n und links von der Bahntangente t

Befindet sich die Startposition P1 links von der Normalen n und auch links von der Bahntangente t, so wirdbeim Anfahren von P2' ein zusätzliches Kreissegment eingefügt. Damit in P2 kein Freischneidendurchgeführt wird, befindet sich P2' nicht orthogonal zur Anfangstangente der Strecke P2P3.

Das zusätzliche Kreissegment wird für alle Startpositionen im grün schraffierten Bereich eingefügt.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 95Version: 1.0

Nach dem Herausfahren folgt ein Kreissegment

Die Radiuskorrektur wird immer mit einer Geraden herausgefahren. (Dies muss im Teileprogrammsichergestellt werden, da sonst ein Laufzeitfehler generiert wird). Danach kann die Kontur mit einem Kreisbeginnen. Die Regeln für das An- und Abfahren sind dabei die gleichen wie zuvor. D.h. auch hier wird dieBahntangente der Kontur zu P2 ermittelt und dann die 3 beschriebenen Fälle unterschieden.

Falls P2' immer unabhängig vom Startpunkt orthogonal zur Bahntangente von P2 angefahren werden soll, istdas mit einem zusätzlichen Kommando zu realisieren (vergl. Orthogonales An- bzw. Abfahren an der Kontur[} 96]).

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I96 Version: 1.0

3.4.5 Orthogonales An- bzw. Abfahren der Konturab TwinCAT V2.7 Build 427

Befehl NORMAufhebung SatzendeProgrammierbar mit G40 [} 91]

G41 [} 91] G42 [} 91]

Der Befehl 'NORM' bewirkt, dass beim Einschalten der Fräserradiuskorrektur orthogonal zur Konturangefahren wird. Dabei spielt die aktuelle Position des Fräsers keine Rolle. Bei der Abwahl wird das letzteSegment mit aktiver Korrektur ebenfalls orthogonal verlassen.

Beispiel:N10 G17 N20 G01 X0 Y0 Z0 F6000N30 G42 NORM X100 Y0 D5N40 X200 N50 G40 NORM X220 Y0N60 M30

HINWEIS! Der Norm-Befehl ist bislang nur für Geraden-Geraden-Übergänge implementiert.

3.4.6 Bahngeschwindigkeit bei KreisenBei eingeschalteter Fräserradiuskorrektur [} 91] ändert sich bei Kreisen der programmierte Kreisradius.Damit verändert sich ebenfalls die Vorschubgeschwindigkeit. Mit den folgenden Befehlen wird festgelegt, obsich die Vorschubangabe auf die Kontur bezieht oder auf den Werkzeugmittelpunkt.

Konstanter Vorschub an der Kontur

Befehl CFCAufhebung CFIN oder CFTCP

Mit CFC (constant feed contour) wird der Vorschub an der Kontur konstant gehalten.

Konstanter Vorschub an Innenkreisen

Befehl CFINAufhebung CFC oder CFTCP

Mit CFIN (constant feed internal radius) wird der Vorschub an Innenkreisen reduziert. Dadurch ergibt sich ander Kontur eine konstante Geschwindigkeit. Am Außenkreis wird die Geschwindigkeit nicht erhöht.

Konstanter Vorschub des Werkzeugmittelpunkts

Befehl CFTCPAufhebung CFC oder CFIN

Mit CFTCP (constant feed tool center point) wird der Vorschub des Werkzeugmittelpunkts konstant gehalten.D.h. an Innenkreisen wird die Geschwindigkeit an der Kontur erhöht und an Außenkreisen entsprechendverringert.

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 97Version: 1.0

3.4.7 FlaschenhalserkennungWird bei der Erstellung von Teileprogrammen der Radius des Fräsers nicht berücksichtigt, so kann esvorkommen, dass der Fräser z.B. ungewollt die gegenüberliegende Seite des Werkstücks bearbeitet. D.h. esresultiert eine Konturkollision mit dem Werkstück oder anders ausgedrückt, es wurde ein Flaschenhalsprogrammiert.

Befehl CDONAufhebung CDOF

Dieses Verhalten kann in dieser Form nur in Verbindung mit der Fräserradiuskorrektur (G41/G42) auftreten.Um derartige Konturkollisionen zu verhindern, kann aus dem Teileprogramm mit CDON die Überwachungeingeschaltet werden. Damit sie auch wirklich aktiv ist, muss auch die Fräserradiuskorrektur angewählt sein.

Die Reaktion der NCI, wenn ein Flaschenhals erkannt wird, kann mit Hilfe der SPS parametriert werden.Dabei werden 3 Fälle unterschieden:

• Fehler und AbbruchWird ein Flaschenhals erkannt, so generiert die NC einen Laufzeitfehler und bricht die Bearbeitung desProgramms ab.

• Hinweis und Modifizierung der KonturWenn ein Flaschenhals erkannt wird, dann wird die Kontur so modifiziert, dass keine Konturkollisionauftritt (vergl. Bild 1: blaue Linie). D.h. aber auch, dass je nach Programm Segmente ausgelassenwerden. Außerdem wird ein Hinweis im Applikationsviewer eingetragen, dass ein Flaschenhals erkanntwurde.

• Hinweis und KonturkollisionWird ein Flaschenhals erkannt, so wird bei dieser Einstellung weder die Kontur verändert noch einFehler generiert. Es wird lediglich eine Meldung in den Applikation Viewer eingetragen.

Für die Konturkollisionsüberwachung wird eine gewisse Rechner-Performance benötigt. Deshalb sollte sienur dann angewählt werden, wenn auch wirklich Bedarf besteht. Des Weiteren sollte noch die Größe desLook-Aheads für die Flaschenhalserkennung festgelegt werden. Dabei wird die Anzahl der Segmentebestimmt, die relativ vom n-ten Segment in die Zukunft geschaut wird, um sie auf Flaschenhälse zuüberprüfen. Hier sollte die Anzahl der Segmente nicht unnötig groß gewählt werden, da ansonsten dasSystem belastet wird. Der Wert für den Look-Ahead wird ebenfalls aus der SPS parametriert.

Funktionsbausteine zum Parametrieren der Flaschenhalserkennung:

• ItpSetBottleNeckModeEx [} 145]

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I98 Version: 1.0

• ItpGetBottleNeckModeEx [} 121]

• ItpSetBottleNeckLookAheadEx [} 144]

• ItpGetBottleNeckLookAheadEx [} 120]

Beispiel:N10 G0 X0 Y0 Z0N20 CDONN30 G01 G41 D3 X100 F6000 (cutter radius 30mm)...N40 G01 X200N50 G02 X220 Y-74.641 I0 J-40N60 G01 X300 Y-104N70 G01 X230 Y120N80 G40 D0 Y200N90 CDOF...M30

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 99Version: 1.0

3.5 Befehlsübersicht

3.5.1 Allgemeine Kommandoübersicht

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I100 Version: 1.0

Kommando Beschreibung satzweise / modal

Default

ANG [} 51] Konturzugprogrammierung (Winkel)

s

AROT [} 52] Rotation additiv m

CalcInvRot [} 52] Berechnet die inverseRotation eines Vektors

s

CalcRot [} 52] Berechnet die Rotationeines Vektors

s

CDOF [} 97] Flaschenhalserkennungaus

m Default

CDON [} 97] Flaschenhalserkennungein

m

CFC [} 96] KonstanteGeschwindigkeit an derKontur

m Default

CFIN [} 96] KonstanteGeschwindigkeit imInnenkreis

m

CFTCP [} 96] KonstanteGeschwindigkeit desWerkzeugmittelpunkts

m

CIP [} 42] Kreisinterpolation s

CPCOF [} 42] Mittelpunktskorrektur aus m

CPCON [} 42] Mittelpunktskorrektur ein m Default

DelDTG [} 63] Restweglöschen s

DYNOVR [} 79] Dynamischer Override m

FCONST [} 45] KonstanteVorschubprogrammierung

m Default

FLIN [} 45] LineareVorschubprogrammierung

m

G00 [} 40] Eilgang m

G01 [} 41] Geradeninterpolation m Default

G02 [} 42] Kreisinterpolation imUhrzeigersinn

m

G03 [} 42] Kreisinterpolation imGegenuhrzeigersinn

m

G04 [} 45] Verweilzeit s

G09 [} 45] Genauhalt s

G17 [} 34] Ebenenanwahl XY m Default

G18 [} 34] Ebenenanwahl ZX m

G19 [} 34] Ebenenanwahl YZ m

G40 [} 91] Keine Fräser-/Schneidenradiuskorrektur

m Default

G41 [} 91] Fräser-/Schneidenradiuskorrekturlinks

m

G42 [} 91] Fräser-/Schneidenradiuskorrekturrechts

m

G53 [} 47] Unterdrückung derNullpunktverschiebung

m Default

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 101Version: 1.0

Kommando Beschreibung satzweise / modal

Default

G54 [} 47] 1. einstellbareNullpunktverschiebung

m

G55 [} 47] 2. einstellbareNullpunktverschiebung

m

G56 [} 47] 3. einstellbareNullpunktverschiebung

m

G57 [} 47] 4. einstellbareNullpunktverschiebung

m

G58 [} 47] 1. programmierbareNullpunktverschiebung

m

G59 [} 47] 2. programmierbareNullpunktverschiebung

m

G60 [} 45] Genauhalt m

G70 [} 35] Maßangaben inch m

G71 [} 35] Maßangabe metrisch m Default

G74 [} 40] Referenzpunktanfahrenper Programm

s

G90 [} 33] Bezugsmaßangabe m Default

G91 [} 33] Kettenmaßangabe m

G700 [} 35] Maßangabe inch mitVerrechnung desVorschubs

m

G710 [} 35] Maßangabe metrisch mitVerrechnung desVorschubs

m

Mirror [} 55] Koordinatensystemspiegeln

m

MOD [} 63] Modulobewegung s

MSG [} 85] Meldungen aus dem NC-Programm

s

NORM [} 96] orthogonales An-Abfahren an der Kontur

s

P+ [} 34] Zustellrichtung positiv m Default

P- [} 34] Zustellrichtung negativ m

paramAutoAccurateStop[} 62]

Automatischer Genauhalt m

paramAxisDynamics [} 80] Parametrierung derAchsdynamik

m

paramC1ReductionFactor[} 81]

C1 Reduktionsfaktor m

paramC2ReductionFactor[} 81]

C2 Reduktionsfaktor m

paramCircularSmoothing[} 62]

Verrundung m

paramDevAngle [} 81] C0 Reduktion -Ablenkungswinkel

m

paramGroupVertex [} 62] Verrundung (alt) m

paramGroupDynamic[} 80]

Bahndynamik (alt) m

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I102 Version: 1.0

Kommando Beschreibung satzweise / modal

Default

paramPathDynamics[} 80]

Bahndynamik m

paramRadiusPrec [} 43] Kreisgenauigkeit m

paramSplineSmoothing[} 59]

Glättung mit Bezier-Splines

m

paramVertexSmoothing[} 56]

Glättung vonSegmentübergängen

m

paramVeloJump [} 81] C0 Reduktion - max.Geschwindigkeitssprung

m

paramVeloMin [} 83] Mindestgeschwindigkeit m

paramZeroShift [} 47] Parametrierung dereinstellbarenNullpunktverschiebung

m

PathAxesPos [} 84] Liest aktuelle Ist-Position s

ROT [} 52] Rotation absolut m

RotExOff [} 52] ErweiterteRotationsfunktion aus

m Default

RotExOn [} 52] ErweiterteRotationsfunktion ein

m

RotVec [} 52] Berechnungsroutine zumDrehen eines Vektors

s

RParam [} 37] Initialisierung von R-Parametern

s

RToDwordGetBit [} 37] Wandelt einen R-Parameter zum DWordund prüft, ob eindefiniertes Bit gesetzt ist

m

SEG [} 51] Konturzugprogrammierung (Segmentlänge)

s

skip VirtualMovements[} 84]

Virtuelle Bewegungenüberspringen

m

ToolOffsetIncOff [} 88] KartesischeWerkzeugverschiebungund Längenkorrektur wirdunter G91 nichtherausgefahren

m

ToolOffsetIncOn [} 88] KartesischeWerkzeugverschiebungund Längenkorrektur wirdunter G91 herausgefahren

m Default

ToolParam [} 85] Schreiben und lesen vonWerkzeugparametern

m

TPM [} 49] Zielpositionsüberwachung s

ZeroShiftIncOff [} 47] Nullpunktverschiebungwird unter G91 nichtherausgefahren

m

ZeroShiftIncOn [} 47] Nullpunktverschiebungwird unter G91herausgefahren

m Default

Adresse BeschreibungQ<n> [} 65] Achsbezeichner der Hilfsachse ( 1 <= n <= 5)

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 103Version: 1.0

3.5.2 @-Kommando ÜbersichtBei diesen Befehlen sind oft mehrere Varianten möglich, die dadurch entstehen, dass für einen Parametermit K eine Konstante, mit R ein R-Parameter und mit P ein als Pointer verwendeter R-Parameter angegebenwerden kann. Beispielsweise ist die Schreibweise K/R/Pn zu verstehen als "entweder eine Zahl oder ein R-Parameter oder ein Pointer".

Die folgenden @-Befehle stehen zur Verfügung:

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I104 Version: 1.0

Kommando Varianten Funktion@40 [} 37] @40 Kn Rn Rm .... Rette Register auf dem Stack

@41 [} 37] @41 Rn Rm Rette Register auf dem Stack

@42 [} 37] @42 Kn .... Rm Rn Restauriere Register vom Stack

@43 [} 37] @43 Rm Rn Restauriere Register vom Stack

@100 [} 75] @100 K±n @100 Rm Unbedingter Sprung

@111 [} 75] @111 Rn K/Rn Km ... Case-Anweisung

@121 [} 75] @121 Rn K/Rn Kn Springe wenn ungleich

@122 [} 75] @122 Rn K/Rn Kn Springe wenn gleich

@123 [} 75] @123 Rn K/Rn Kn Springe wenn kleiner gleich

@124 [} 75] @124 Rn K/Rn Kn Springe wenn kleiner

@125 [} 75] @125 Rn K/Rn Kn Springe wenn größer gleich

@126 [} 75] @126 Rn K/Rn Kn Springe wenn größer

@131 [} 76] @131 Rn K/Rn Kn Schleife solange gleich

@132 [} 76] @132 Rn K/Rn Kn Schleife solange ungleich

@133 [} 76] @133 Rn K/Rn Kn Schleife solange grösser

@134 [} 76] @134 Rn K/Rn Kn Schleife solange grösser odergleich

@135 [} 76] @135 Rn K/Rn Kn Schleife solange kleiner

@136 [} 76] @136 Rn K/Rn Kn Schleife solange kleiner oder gleich

@141 [} 76] @141 Rn K/Rn Kn Wiederhole bis gleich

@142 [} 76] @142 Rn K/Rn Kn Wiederhole bis ungleich

@143 [} 76] @143 Rn K/Rn Kn Wiederhole bis grösser

@144 [} 76] @144 Rn K/Rn Kn Wiederhole bis grösser oder gleich

@145 [} 76] @145 Rn K/Rn Kn Wiederhole bis kleiner

@146 [} 76] @146 Rn K/Rn Kn Wiederhole bis kleiner oder gleich

@151 [} 76] @151 Rn K/Rn Kn FOR_TO-Schleife

@161 [} 76] @161 Rn K/Rn Kn FOR_DOWNTO-Schleife@200 @200 Rn Löschen einer Variablen@202 @202 Rn Rm Vertauschen von zwei Variablen@302 @302 K/R/Pn K/R/Pn R/Pn Lese Maschinendatenbit@361 [} 83] @361 Rn Km Lese maschinenbezogenen

Achsen-Istwert@372 @372 Rn Nummer des NC-Kanals in

Variable einstellen@402 [} 42] @402 K/R/Pn K/R/Pn K/R/Pn Schreibe Maschinendatenbit@610 @610 Rn Rn Absolutwert einer Variablen

ermitteln@613 @613 Rn Rn Quadratwurzel einer Variablen

ermitteln@614 @614 Rn Rm Rm Quadratwurzel der Summe der

Quadrate von zwei Variablenermitteln x = sqrt( a^2 + b^2)

@620 [} 76] @620 Rn Variable inkrementieren@621 @621 Rn Variable dekrementieren@622 @622 Rn Ganzzahl einer Variablen ermitteln@630 [} 38] @630 Rn Rm Sinus einer Variablen ermitteln

Interpreter (DIN 66025/G-Code)

TwinCAT 3 NC I 105Version: 1.0

Kommando Varianten Funktion@631 [} 38] @631 Rn Rm Cosinus einer Variablen ermitteln

@632 [} 38] @632 Rn Rm Tangens einer Variablen ermitteln

@633 [} 38] @633 Rn Rm Cotangens einer Variablenermitteln

@634 [} 38] @634 Rn Rm Arcus Sinus einer Variablenermitteln

@635 [} 38] @635 Rn Rm Arcus Cosinus einer Variablenermitteln

@636 [} 38] @636 Rn Rm Arcus Tangens einer Variablenermitteln

@714 [} 73] @714 Dekodier-Stop

@716 [} 73] @716 Dekodier-Stop mit Rescan derAchspositionen

@717 [} 73] @717 Dekodier-Stop mit externenTriggerevent

Maschinendaten

Zugriffe auf folgende Maschinendaten werden unterstützt:

Byte Bit Wirkungsweise5003 [} 42] 5 0: IJK-Worte legen den Abstand

des Kreismittelpunktes vomAnfangspunkt fest. 1: IJK sindAbsolutangaben desKreismittelpunktes.

PLC NCI Libraries

TwinCAT 3 NC I106 Version: 1.0

4 PLC NCI LibrariesVoraussetzungen

Übersicht der PLC NCI Libraries BeschreibungPLC Library: Tc2_NCI [} 106] Bausteine für die Konfiguration der

Interpolationsgruppe (z.B. Bilden der 3D Gruppe) undfür die Bedienung des Interpreters (G-Codes (DIN66025)) wie z.B. Laden und Starten des NC-Programms.

PLC Library: Tc2_PlcInterpolation [} 204] Programmierung von mehrdimensionalenBewegungen aus der SPS (Alternative zurBenutzung des G-Codes (DIN 66025))

4.1 PLC Library: Tc2_NCI

4.1.1 KonfigurationDie Bibliothek Tc2_NCI stellt Funktionsbausteine zur allgemeinen NC Achskonfiguration bereit. Damit ist esmöglich, direkt aus der SPS heraus Achsen auf einfache Art und Weise zu konfigurieren bzw.umzukonfigurieren.

Funktionsbaustein BeschreibungCfgBuild3DGroup [} 106] Gruppiert bis zu 3 PTP-Achsen in einer 3D-Gruppe

CfgBuildExt3DGroup [} 107] Gruppiert bis zu 3 PTP-Achsen und 5 Hilfsachsen ineiner 3D-Gruppe

CfgAddAxisToGroup [} 109] Konfiguriert eine einzelne Achse an einenbestimmten Platz innerhalb einer Gruppe (PTP, 3D,FIFO)

CfgReconfigGroup [} 109] Auflösen einer 3D- (FIFO-) Achsbelegung undRückführung der Achsen in ihre persönliche PTP-Gruppe

CfgReconfigAxis [} 110] Rückführung einer einzelnen Achse z.B. aus einer3D-Gruppe in ihre persönliche PTP-Gruppe

CfgRead3DAxisIds [} 111] Lesen der Achs-IDs (Achsbelegung) einer 3D-Gruppe

CfgReadExt3DAxisIds [} 112] Lesen der Achs-IDs (Achsbelegung) einer 3D-Gruppe mit Hilfsachsen

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.1.1 CfgBuild3DGroup

Dieser Baustein konfiguriert eine 3D-Gruppe mit bis zu 3 PTP-Achsen (X, Y und Z).

PLC NCI Libraries

TwinCAT 3 NC I 107Version: 1.0

VAR_INPUTVAR_INPUTbExecute       : BOOL;nGroupId       : UDINT;nXAxisId       : UDINT;nYAxisId       : UDINT;nZAxisId       : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nGroupId: ID der 3D-Gruppe

nXAxisId: ID der PTP-Achsen

nYAxisId: ID der PTP-Achsen

nZAxisId: ID der PTP-Achsen

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.1.2 CfgBuildExt3DGroup

Dieser Baustein konfiguriert eine 3D-Gruppe mit bis zu 3 Bahnachsen (X, Y und Z). Zusätzlich können bis zu5 Hilfsachsen (Q1..Q5) konfiguriert werden.

An den Eingängen nXAxisId bis nQ5AxisId werden die Achs-IDs der PTP-Achsen angelegt, die in derInterpolationsgruppe aufgenommen werden sollen.

PLC NCI Libraries

TwinCAT 3 NC I108 Version: 1.0

HINWEIS! Bei der Zuweisung der Hilfsachsen muss mit nQ1AxisId begonnen werden und es dürfenkeine Plätze zwischen Hilfsachsen freigelassen werden. D.h. wenn z.B. nQ3AxisId belegt werden soll,dann muss auch nQ2AxisId eine gültige Achs-ID zugewiesen werden.

VAR_INPUTVAR_INPUTbExecute       : BOOL;nGroupId       : UDINT;nXAxisId       : UDINT;nYAxisId       : UDINT;nZAxisId       : UDINT;nQ1AxisId      : UDINT;nQ2AxisId      : UDINT;nQ3AxisId      : UDINT;nQ4AxisId      : UDINT;nQ5AxisId      : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Bei einer positiven Flanke wird der Befehl ausgeführt.

nGroupId: ID der 3D-Gruppe

nXAxisId: Achs-IDs der PTP-Achsen, die in der Interpolationsgruppe aufgenommen werden sollen

nYAxisId: Achs-IDs der PTP-Achsen, die in der Interpolationsgruppe aufgenommen werden sollen

nZAxisId: Achs-IDs der PTP-Achsen, die in der Interpolationsgruppe aufgenommen werden sollen

nQ1AxisId: Achs-IDs der PTP-Achsen, die in der Interpolationsgruppe aufgenommen werden sollen

nQ2AxisId: Achs-IDs der PTP-Achsen, die in der Interpolationsgruppe aufgenommen werden sollen

nQ3AxisId: Achs-IDs der PTP-Achsen, die in der Interpolationsgruppe aufgenommen werden sollen

nQ4AxisId: Achs-IDs der PTP-Achsen, die in der Interpolationsgruppe aufgenommen werden sollen

nQ5AxisId: Achs-IDs der PTP-Achsen, die in der Interpolationsgruppe aufgenommen werden sollen

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

PLC NCI Libraries

TwinCAT 3 NC I 109Version: 1.0

4.1.1.3 CfgAddAxisToGroup

Der Baustein CfgAddAxisToGroup konfiguriert eine einzelne Achse an einen bestimmten Platz innerhalbeiner bestehenden Gruppe (PTP, 3D, FIFO).

VAR_INPUTVAR_INPUTbExecute       : BOOL;nGroupId       : UDINT;nAxisId        : UDINT;nIndex         : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nGroupId: ID der Ziel-Gruppe

nAxisId: ID der zu konfigurierenden Achse

nIndex: Platz der Achse innerhalb der Gruppe, kann Werte von 0...n-1 annehmen. Dabei hat n je nachGruppentyp folgende Wertigkeit: PTP: n = 1, 3D: n = 3, FIFO: n = 8

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.1.4 CfgReconfigGroup

Der Baustein CfgReconfigGroup löst die Achsbelegung einer bestehenden Gruppe (NCI oder FIFO) auf undführt die Achsen in ihre persönliche PTP-Gruppe zurück.

PLC NCI Libraries

TwinCAT 3 NC I110 Version: 1.0

VAR_INPUTVAR_INPUTbExecute       : BOOL;nGroupId       : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nGroupId: ID der aufzulösenden Gruppe

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.1.5 CfgReconfigAxis

Der Baustein CfgReconfigAxis führt eine einzelne Achse aus z.B. einer 3D-Gruppe in ihre persönliche PTP-Gruppe zurück.

InterfaceVAR_INPUTbExecute       : BOOL;nAxisId        : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nAxisId: ID der rückzuführenden Achse

tTimeOut: ADS Timeout-Delay

PLC NCI Libraries

TwinCAT 3 NC I 111Version: 1.0

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.1.6 CfgRead3DAxisIds

Der Baustein CfgRead3DAxisIds liest die Achskonfiguration einer 3D-Gruppe.

VAR_INPUTVAR_INPUTbExecute       : BOOL;nGroupId       : UDINT;pAddr          : PVOID;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nGroupId: ID der 3D-Gruppe

pAddr: Adresse der Variablen, in die der Baustein die Achs-Ids der Gruppenbelegung schreibt (Array mitdrei Elementen vom Typ UDINT)

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

PLC NCI Libraries

TwinCAT 3 NC I112 Version: 1.0

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Beispiel:VAR(* instance *)ReadAxIds : CfgRead3DAxisIds;AxIds : ARRAY[1..3] OF UDINT;END_VAR

ReadAxIds( bExecute := TRUE,nGroupId := 4,pAddr := ADR( AxIds ),tTimeOut := T#1s );

AxIds enthält nun die drei Achs-IDs der 3D-Gruppe mit der Gruppen-ID 4.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.1.7 CfgReadExt3DAxisIds

Der Baustein CfgReadExt3DAxisIds liest die Achskonfiguration der erweiterten 3D-Gruppe.

VAR_INPUTVAR_INPUTbExecute       : BOOL;nGroupId       : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nGroupId: ID der 3D-Gruppe

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTstExt3dGroup   : NCI_EXT3DGROUP;END_VAR

stExt3dGroup: Instanz der Struktur NCI_EXT3DGROUP (hier die Achs-IDs der aktuellenInterpolationsgruppe eintragen)

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

PLC NCI Libraries

TwinCAT 3 NC I 113Version: 1.0

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.TYPE NCI_EXT3DGROUP :STRUCTnXAxisId       : UDINT;nYAxisId       : UDINT;nZAxisId       : UDINT;nQ1AxisId      : UDINT;nQ2AxisId      : UDINT;nQ3AxisId      : UDINT;nQ4AxisId      : UDINT;nQ5AxisId      : UDINT;END_STRUCTEND_TYPE

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2 NCI POUsDie TwinCAT-Bibliothek Tc2_NCI enthält Funktionsbausteine zur Bedienung des NC-Interpreters aus derSPS heraus.

Die folgenden Funktionsbausteine sind in der Bibliothek Tc2_NCI enthalten.

PLC NCI Libraries

TwinCAT 3 NC I114 Version: 1.0

Funktionsbaustein BeschreibungItpConfirmHsk [} 116] Bestätigt eine M-Funktion vom Typ Handshake

ItpDelDtgEx [} 116] Triggert das Restweglöschen in der NC

ItpEnableDefaultGCode [} 117] Führt vor dem Start jedes NC-Programms einen vomAnwender definierten Standard G-Code aus

ItpEStopEx [} 118] Triggert den NCI EStop

ItpGetBlockNumber [} 119] Liefert die Blocknummer des NC Programms deszyklischen Interfaces

ItpGetBottleNeckLookAheadEx [} 120] Liefert die Größe des Look-Aheads für dieFlaschenhalserkennung

ItpGetBottleNeckModeEx [} 121] Liefert den Reaktionsmode für dieFlaschenhalserkennung

ItpGetChannelId [} 122] Liefert die Kanal ID

ItpGetChannelType [} 122] Liefert den Kanaltyp des zyklischen Interfaces

ItpGetCyclicLRealOffsets [} 123] Liefert die Index Offsets der im zyklischenKanalinterface verwendeten LREAL Variablen

ItpGetCyclicUdintOffsets [} 124] Liefert die Index Offsets der im zyklischenKanalinterface verwendeten UDINT Variablen

ItpGetError [} 125] Liefert die Fehlernummer

ItpGetGeoInfoAndHParamEx [} 126] Liest Informationen über das gerade aktive Segment,vergangene und zukünftige Segmente aus.

ItpGetGroupAxisIds [} 127] Liefert die Achs-IDs die für die Gruppe konfiguriertworden sind

ItpGetGroupId [} 128] Liefert die Gruppen ID

ItpGetHParam [} 128] Liefert den aktuellen H-Parameter aus der NC

ItpGetHskMFunc [} 129] Liefert die aktuell anliegende M-Funktionsnummervom Typ Handshake

ItpGetItfVersion [} 129] Liefert die aktuelle Version des zyklischen Interfaces

ItpGetOverridePercent [} 130] Liefert den Kanaloverride in Prozent

ItpGetSetPathVelocity [} 130] Liefert die momentane Bahnsollgeschwindigkeit

ItpGetSParam [} 131] Liefert den aktuellen S-Parameter aus der NC

ItpGetStateInterpreter [} 131] Liefert den aktuellen Status des Interpreters

ItpGetTParam [} 132] Liefert den aktuellen T-Parameter aus der NC

ItpGoAheadEx [} 133] Triggert die GoAhead Funktion (Dekodierstopp mitexternem Triggerevent)

ItpHasError [} 133] Ermittelt, ob ein Fehler anliegt

ItpIsFastMFunc [} 134] Ermittelt, ob die mitgegebene M-Funktionsnummerals schnelle M-Funktion anliegt

ItpIsEStopEx [} 135] Ermittelt, ob ein EStop ausgeführt wird bzw. ob einEStop anliegt

ItpIsHskMFunc [} 135] Ermittelt, ob eine M-Funktion vom Typ Handshakeanliegt

ItpLoadProgEx [} 136] Lädt ein NC-Programm via Programmnamen

ItpReadCyclicLRealParam1 [} 137] Liest den ersten LReal Parameter aus demzyklischen Kanalinterface

ItpReadCyclicUdintParam1 [} 138] Liest den ersten UDint Parameter aus demzyklischen Kanalinterface

ItpReadRParamsEx [} 138] Liest Rechenparameter

ItpReadToolDescEx [} 139] Liest die Werkzeugbeschreibung aus der NC

ItpReadZeroShiftEx [} 141] Liest die Nullpunktverschiebung aus der NC

PLC NCI Libraries

TwinCAT 3 NC I 115Version: 1.0

Funktionsbaustein BeschreibungItpResetEx2 [} 142] Führt einen Reset des Interpreters, bzw. des NC-

Kanals ausItpResetFastMFuncEx [} 143] Setzt ein schnelles Signal-Bit zurück

ItpSetBottleNeckLookAheadEx [} 144] Setzt die Größe des Look-Ahead für dieFlaschenhalserkennung

ItpSetBottleNeckModeEx [} 145] Setzt den Reaktionsmode bei eingeschalteterFlaschenhalserkennung

ItpSetCyclicLRealOffsets [} 146] Setzt die Index Offsets der im zyklischenKanalinterface verwendeten LREAL Variablen

ItpSetCyclicUdintOffsets [} 147] Setzt die Index Offsets der im zyklischenKanalinterface verwendeten UDINT Variablen

ItpSetOverridePercent [} 148] Setzt den Kanaloverride in Prozent

ItpSetSubroutinePathEx [} 149] Setzt optional den Suchpfad für Unterprogramme

ItpSetToolDescNullEx [} 150] Setzt alle Toolparameter (inkl. Nummer und Type)auf Null

ItpSetZeroShiftNullEx [} 151] Setzt alle Nullpunktverschiebungen auf Null

ItpSingleBlock [} 152] Aktiviert bzw. deaktiviert die Einzelsatzausführung inder NCI.

ItpStartStopEx [} 153] Startet bzw. stoppt den Interpreter (NC-Kanal)

ItpStepOnAfterEStopEx [} 154] Ermöglicht die Weiterbearbeitung desTeileprogramms nach einem NCI EStop

ItpWriteRParamsEx [} 155] Schreibt Rechenparameter

ItpWriteToolDescEx [} 156] Schreibt die Werkzeugbeschreibung in die NC

ItpWriteZeroShiftEx [} 157] Schreibt die Nullpunktverschiebung in die NC

Blocksearch (Funktionalitätsbeschreibung siehe Blocksearch [} 159])ItpBlocksearch [} 159] Setzt den Interpreter auf eine vom Anwender

definierte Stelle, sodass das NC-Programm ab dieserStelle weiter abgearbeitet wird.

ItpGetBlocksearchData [} 162] Liest nach der Unterbrechung eines NC-Programmsden aktuellen Zustand aus.

ItpStepOnAfterBlocksearch [} 163] Startet die Bewegung nachdem ein Blocksearchausgeführt wurde.

RückwärtsfahrenItpEnableFeederBackup [} 164] Aktiviert die Backup-Liste für das Rückwärtsfahren

ItpIsFeederBackupEnabled [} 165] Liest aus, ob die Backup-Liste zum Rückwärtsfahrenaktiv ist

ItpIsFirstSegmentReached [} 166] Liest aus, ob beim Rückwärtsfahren die Startpositionerreicht ist

ItpIsFeedFromBackupList [} 166] Liest aus, ob Feeder-Einträge aus der Backuplistegesendet werden

ItpIsMovingBackwards [} 167] Liest aus, ob rückwärts auf der aktuellen Bahnverfahren wird

ItpRetraceMoveBackward [} 167] Führt eine Rückwärtsbewegung auf der Bahn aus

ItpRetraceMoveForward [} 168] Führt eine Vorwärtsbewegung auf der Bahn aus, wirdaufgerufen um das Rückwärtsfahren abzubrechen.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

PLC NCI Libraries

TwinCAT 3 NC I116 Version: 1.0

4.1.2.1 ItpConfirmHsk

Der Funktionsbaustein ItpConfirmHsk bestätigt die aktuell anliegende M-Funktion.

Wenn der Kanaloverride auf 0 gesetzt oder ein E-Stop aktiv ist, werden für diese Zeit keine M-Funktionenbestätigt. Somit bleibt das Busy-Signal von ItpConfirmHsk anliegen und muss weiterhin aufgerufen werden.

VAR_INPUTVAR_INPUTbExecute  : BOOL;END_VAR

bExecute: durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

VAR_IN_OUTVAR_IN_OUTsNciToPlc : NCTOPLC_NCICHANNEL_REF;sPlcToNci : PLCTONC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

sPlcToNci: Struktur des zyklischen Kanalinterfaces von der SPS zur NCI. (Typ:PLCTONC_NCICHANNEL_REF [} 236])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.2 ItpDelDtgEx

Der Baustein ItpDelDtgEx triggert das Restweglöschen. Eine ausführlichere Beschreibung ist in derInterpreter [} 63] Dokumentation zu finden.

PLC NCI Libraries

TwinCAT 3 NC I 117Version: 1.0

VAR_INPUTVAR_INPUTbExecute  : BOOL;tTimeOut  : TIME;END_VAR

bExecute: durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.3 ItpEnableDefaultGCode

Der Funktionsbaustein ItpEnableDefaultGCode ermöglicht es, aus der SPS einen vom Anwender definiertenG-Code vor dem Start jedes NC-Programms auszuführen. Das Defaultprogramm wird beim Start deseigentlichen NC-Programms vor dem geladenen Programm ausgeführt.

Mit diesem Funktionsbaustein ist es zum Beispiel möglich, das Koordinatensystem für alle auszuführendenNC-Programme zu drehen.

Der Standard-G-Code muss als „DefaultGCode<Channel-Number>.def“ im TwinCAT\Mc\Nci Verzeichnisgespeichert werden.

PLC NCI Libraries

TwinCAT 3 NC I118 Version: 1.0

VAR_INVAR_INbExecute            : BOOL;bUseDefaultGCode    : BOOL;tTimeOut            : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

bUseDefaultGCode: Ist diese Variable TRUE, wird durch eine steigende Flanke an bExecute der Default G-Code aktiviert. Ist die Variable FALSE, wird der Default G-Code deaktiviert.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.4 ItpEStopEx

Der Baustein ItpEStopEx triggert den NCI EStop und ermöglicht so ein kontrolliertes Anhalten auf der Bahn.Dabei werden die Grenzwerte für die Verzögerung und den Ruck als Parameter übertragen. Falls diesekleiner sein sollten, als die z.Zt. wirkenden Dynamikparameter, so werden die übertragenen Parameterverworfen.

VAR_INPUTVAR_INPUTbExecute       : BOOL;fDec           : LREAL;

PLC NCI Libraries

TwinCAT 3 NC I 119Version: 1.0

fJerk          : LREAL;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

fDec: max. Verzögerung mit der angehalten werden soll. Ist fDec kleiner als die z.Zt. aktive Verzögerung, sowird fDec nicht übernommen. Es wird so also sichergestellt, dass mindestens mit der Standard-Rampeverzögert wird.

fJerk: max. Ruck mit dem angehalten werden soll. Ist fJerk kleiner als der z.Zt. akive Ruck, so wird fJerknicht übernommen.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Siehe auch ItpStepOnAfterEStopEx [} 154].

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.5 ItpGetBlockNumber

ItpGetBlockNumber ist eine Funktion, die die Blocknummer des NC-Programms des zyklischen Interfaceszurückliefert.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

PLC NCI Libraries

TwinCAT 3 NC I120 Version: 1.0

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

ItpGetBlockNumber: Blocknummer des aktiven Geometriesegments

BeispielVARnBlockNumber       : UDINT;sNciToPlc AT%I*    : NCTOPLC_NCICHANNEL_REF;END_VARnBlockNumber := ItpGetBlockNumber(sNciToPlc);

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.6 ItpGetBottleNeckLookAheadEx

Der Baustein ItpGetBottleNeckLookAheadEx ermittelt die maximale verwendete Größe des LookAheads fürdie Falschenhalserkennung (Kontur-Kollisions-Überwachung).

Eine weitere Beschreibung ist in der Interpreter [} 97] Dokumentation zu finden.

VAR_INPUTVAR_INPUTbExecute       : BOOL;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy          : BOOL;bErr           : BOOL;nErrId         : UDINT;nLookAhead     : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der, an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

PLC NCI Libraries

TwinCAT 3 NC I 121Version: 1.0

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wenn der Baustein einenTimeout-Fehler hat, so ist 'Error' = TRUE und 'nErrId' = 1861 (Hexadezimal 0x745). Wird durch dasAusführen eines Befehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

nLookAhead: Größe des Look-Aheads für die Flaschenhalserkennung

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.7 ItpGetBottleNeckModeEx

Der Baustein ItpGetBottleNeckModeEx liest die Verhaltensweise bei einer auftretenden Kontur-Kollision(Flaschenhals) aus.

Eine weitere Beschreibung ist in der Interpreter [} 97] Dokumentation zu finden.

VAR_INPUTVAR_INPUTbExecute        : BOOL;tTimeOut        : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy           : BOOL;bErr            : BOOL;nErrId          : UDINT;eBottleNeckMode : E_ItpBnModeEND_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der, an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

PLC NCI Libraries

TwinCAT 3 NC I122 Version: 1.0

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation oder in der NC Fehlerdokumentation (Fehlercodes ab 0x4000) nachgeschlagenwerden.

eBottleNeckMode: Enum für die Verhaltensweise bei einer auftretenden Kontur-KollisionTYPE E_ItpBnMode:(ItpBnm_Abort := 0,ItpBnm_Adjust := 1,ItpBnm_Leave := 2);END_TYPE

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.8 ItpGetChannelId

ItpGetChannelId ist eine Funktion, die aus dem zyklischen Interface die Kanal ID ermittelt.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

ItpGetChannelId: Kanal ID (Typ: UDINT)

BeispielVARnChnId         : UINT;sNciToPlc AT%I*: NCTOPLC_NCICHANNEL_REF;END_VARnChnId := ItpGetChannelId( sNciToPlc );

siehe auch: ItpGetGroupId [} 128]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.9 ItpGetChannelType

ItpGetChannelType ist eine Function, die den Kanaltyp des zyklischen Interfaces zurückliefert.

PLC NCI Libraries

TwinCAT 3 NC I 123Version: 1.0

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

ItpGetChannelType: Kanaltyp (Typ: E_ItpChannelType)TYPE E_ItpChannelType :(ItpChannelTypeNone,ItpChannelTypeInterpreter,ItpChannelTypeKinematic,ItpChannelType_InvalidItfVer := 16#4B14 (*ErrTcNciItp_ItfVersion the cyclic channel inter-face does not match to the requested function/fb *));END_TYPE

BeispielVARnChannelType    : E_ItpChannelType;sNciToPlc AT%I* : NCTOPLC_NCICHANNEL_REF;END_VAR

nChannelType := ItpGetChannelType( sNciToPlc );

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.10 ItpGetCyclicLrealOffsets

Mit dem Funktionsbaustein ItpGetCyclicLRealOffsets wird die aktuelle Konfiguration des zyklischenKanalinterface für LREAL Variablen ausgelesen.

VAR_INPUTVAR_INPUTbExecute           : BOOL;tTimeOut           : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

PLC NCI Libraries

TwinCAT 3 NC I124 Version: 1.0

VAR_OUTPUTVAR_OUTPUTbBusy              : BOOL;bErr               : BOOL;nErrId             : UDINT;nIndexOffsetParam1 : UDINT;nIndexOffsetParam2 : UDINT;nIndexOffsetParam3 : UDINT;nIndexOffsetParam4 : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der, an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

nIndexOffsetParam1: Gruppenzustand (Index Offset) für Parameter 1

nIndexOffsetParam2: Gruppenzustand (Index Offset) für Parameter 2

nIndexOffsetParam3: Gruppenzustand (Index Offset) für Parameter 3

nIndexOffsetParam4: Gruppenzustand (Index Offset) für Parameter 4

siehe auch:

• ItpReadCyclicLRealParam1 [} 137]

• ItpSetCyclicLRealOffsets [} 146]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.11 ItpGetCyclicUDintOffsets

Mit dem Funktionsbaustein ItpGetCyclicUDintOffsets wird die aktuelle Konfiguration des zyklischenKanalinterface für UDINT Variablen ausgelesen.

VAR_INPUTVAR_INPUTbExecute                : BOOL;tTimeOut                : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

tTimeOut: ADS Timeout-Delay

PLC NCI Libraries

TwinCAT 3 NC I 125Version: 1.0

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy              : BOOL;bErr               : BOOL;nErrId             : UDINT;nIndexOffsetParam1 : UDINT;nIndexOffsetParam2 : UDINT;nIndexOffsetParam3 : UDINT;nIndexOffsetParam4 : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der, an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

nIndexOffsetParam1: Gruppenzustand (Index Offset) für Parameter 1

nIndexOffsetParam2: Gruppenzustand (Index Offset) für Parameter 2

nIndexOffsetParam3: Gruppenzustand (Index Offset) für Parameter 3

nIndexOffsetParam4: Gruppenzustand (Index Offset) für Parameter 4

siehe auch:

• ItpReadCyclicUDintParam1 [} 138]

• ItpSetCyclicUdintOffsets [} 147]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.12 ItpGetError

ItpGetError ist eine Funktion, die die Fehlernummer zurückliefert. Eine Beschreibung der NC Fehlercodes isthier [} 240] zu finden.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

PLC NCI Libraries

TwinCAT 3 NC I126 Version: 1.0

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

ItpGetError: Fehlernummer

HINWEIS! ItpGetError wertet aus dem zyklischen Interface die Variable 'nItpErrCode' aus.

BeispielVARbItpError      : BOOL;nErrId         : UINT;sNciToPlc AT%I*: NCTOPLC_NCICHANNEL_REF;END_VAR

bItpError := ItpHasError( sNciToPlc );IF bItpError THENnErrId := ItpGetError( sNciToPlc );…END_IF

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.13 ItpGetGeoInfoAndHParamEx

Der Funktionsbaustein ItpGetGeoInfoAndHParamEx liest Informationen über das gerade aktive Segment,vergangene und zukünftige Segmente aus. Hierzu gehören Blocknummer, H-Parameter und Bahnrestwegauf dem Segment.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTstTab               : ST_ItpPreViewTabEx;nErrId              : UDINT;END_VAR

stTab: Struktur, die die Segmentdaten enthält. siehe ItpGetGeoInfoAndHParamEx [} 126]

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.TYPE ST_ItpPreViewTabEx :STRUCTnDcTime               : UDINT := 0nReserved             : UDINT := 0;arrLines              : ARRAY[1..NCI_MAX_PREVIEWTABLINES] OF ST_ItpPreViewTabLine; END_STRUCTEND_TYPE

PLC NCI Libraries

TwinCAT 3 NC I 127Version: 1.0

nDcTime: aktueller Zeitstempel in ns. Dieser kann z. B. im Zusammenspiel mit der Bibliothek Tc2_NciXFCverwendet werden.

arrLines: Array von Segmentbezogene Informationen (Größe 20). Der Eintrag an Stelle 11 des Arraysentspricht dem gerade aktiven Segment. An Stelle 1-10 des Arrays werden bereits bearbeitete Segmenteangezeigt, an Stelle 12-20 zukünftige Segmente. Siehe ItpGetGeoInfoAndHParamEx [} 127]TYPE ST_ItpPreViewTabLine :STRUCTfLength               : LREAL := 0.0;nBlockNo              : UDINT := 0;nHParam               : UDINT := 0;nEntryID              : UDINT := 0;nReserved             : UDINT := 0;END_STRUCTEND_TYPE

fLength: Verbleibende Segmentlänge. Für Segmente, die noch nicht aktiv sind, entspricht dies derGesamtsegmentlänge. Für vergangene Segmente wird die verfahrene Distanz seit dem Segmentendeangegeben.

nBlockNo: vom Anwender programmierte Blocknummer

nHParam: Wert des H-Parameters [} 72], der ab Beginn des nächsten Segments aktiv ist

nEntryID: vom System generierte Kommando-ID

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.14 ItpGetGroupAxisIds

ItpGetGroupAxisIds ist eine Funktion, die ein Array von Achsen-IDs liefert, die für die Gruppe konfiguriertworden sind.

VAR_IN_OUTFUNCTION ItpGetGroupAxisIds

VAR_IN_OUTsNciToPlc AT%I*  : NCTOPLC_NCICHANNEL_REF;nNciAxisIds      : ARRAY[1..8] OF DWORD;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ NCTOPLC_NCICHANNEL_REF [} 234])

sNciAxisIds: Array der Achsen-IDs

Rückgabewert

ItpGetGroupAxisIds: Fehlernummer

HINWEIS! ItpGetGroupAxisIds wertet die Informationen der Variable 'nAcsAxisIDs[8]' aus demzyklischen Interface aus.

PLC NCI Libraries

TwinCAT 3 NC I128 Version: 1.0

BeispielVARnNciAxisIds     : ARRAY[1..8] OF DWORD;sNciToPlc AT%I* : NCTOPLC_NCICHANNEL_REF;nVersionErr     : DWORD;END_VAR

nVersionErr := ItpGetGroupAxisIds(nNciAxisIds, sNciToPlc );

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.15 ItpGetGroupId

ItpGetGroupId ist eine Funktion, die aus dem zyklischen Interface die Group ID ermittelt.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

ItpGetGroupId: Group ID

BeispielVARnGrpId         : UINT;sNciToPlc AT%I*: NCTOPLC_NCICHANNEL_REF;END_VAR

nGrpId := ItpGetGroupId( sNciToPlc );

Siehe auch: ItpGetChannelId [} 122]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.16 ItpGetHParam

ItpGetHParam ist eine Funktion, die den aktuellen H-Parameter zurückliefert.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

PLC NCI Libraries

TwinCAT 3 NC I 129Version: 1.0

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

ItpGetHParam: H-Parameter

HINWEIS! ItpGetHParam wertet aus dem zyklischen Interface die Variable 'nHFuncValue' aus.

BeispielVARnHParam        : DINT;sNciToPlc AT%I*: NCTOPLC_NCICHANNEL_REF;END_VAR

nHParam := ItpGetHParam( sNciToPlc );

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.17 ItpGetHskMFunc

ItpGetHskMFunc liefert die Nummer der M-Funkion vom Typ Handshake.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

ItpGetHskMFunc: Nummer der M-Funktion

HINWEIS! ItpGetHskMFunc wertet aus dem zyklischen Interface die Variable 'nHskMFuncNo' aus.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.18 ItpGetItfVersion

ItpGetItfVersion ist eine Funktion, die die Versionsnummer des zyklischen Interfaces ermittelt.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

PLC NCI Libraries

TwinCAT 3 NC I130 Version: 1.0

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

ItpGetItfVersion: Versionsnummer des zyklischen Interfaces

BeispielVARnItfVer        : UINT;sNciToPlc AT%I*: NCTOPLC_NCICHANNEL_REF;END_VAR

nItfVer := ItpGetItfVersion( sNciToPlc );

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.19 ItpGetOverridePercent

Die Funktion ItpGetOverridePercent liefert den Achsen-Kanal-Override in Prozent. Dabei muss unbedingtbeachtet werden, dass es sich hierbei nicht um einen Wert von der NC handelt. Es wird der Wertausgewertet, der sollwertseitig an die NC weitergegeben wird.

VAR_IN_OUTVAR_IN_OUTsPlcToNci        : PLCTONC_NCICHANNEL_REF;END_VAR

sPlcToNci: Struktur des zyklischen Kanalinterfaces von der SPS zur NCI (Typ: PLCTONC_NCICHANNEL_REF[} 236])

Rückgabewert

ItpGetOverridePercent: Override in Prozent

BeispielVARsPlcToNci AT%Q*: PLCTONC_NCICHANNEL_REF;fOverride      : LREAL;END_VAR

fOverride := ItpGetOverridePercent( sPlcToNci );

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.20 ItpGetSetPathVelocity

PLC NCI Libraries

TwinCAT 3 NC I 131Version: 1.0

ItpGetSetPathVelocity ist eine Funktion, die aus dem zyklischen Interface die aktuelleBahnsollgeschwindigkeit ausliest.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

ItpGetSetPathVelocity: Momentane Bahnsollgeschwindigkeit

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.21 ItpGetSParam

ItpGetSParam ist eine Funktion, die den aktuellen S-Parameter zurückliefert.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

ItpGetSParam: S-Parameter

HINWEIS! ItpGetSParam wertet aus dem zyklischen Interface die Variable 'nSpindleRpm' aus.

BeispielVARnSParam        : UINT;sNciToPlc AT%I*: NCTOPLC_NCICHANNEL_REF;END_VAR

nSParam := ItpGetSParam( sNciToPlc );

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.22 ItpGetStateInterpreter

ItpGetStateInterpreter ist eine Funktion, die den Interpreter Status zurückliefert.

PLC NCI Libraries

TwinCAT 3 NC I132 Version: 1.0

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

ItpGetStateInterpreter: Aktueller Status des Interpreters

HINWEIS! ItpGetStateInterrpreter wertet aus dem zyklischen Interface die Variable 'nItpState' aus.

BeispielVARnItpState      : UDINT;sNciToPlc AT%I*: NCTOPLC_NCICHANNEL_REF;END_VAR

nItpState := ItpGetStateInterpreter( sNciToPlc );

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.23 ItpGetTParam

ItpGetTParam ist eine Funktion, die den aktuellen T-Parameter zurückliefert.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

ItpGetTParam: T-Parameter

HINWEIS! ItpGetTParam wertet aus dem zyklischen Interface die Variable 'nTool' aus.

BeispielVARnTParam        : UINT;sNciToPlc AT%I*: NCTOPLC_NCICHANNEL_REF;END_VAR

nTParam := ItpGetTParam( sNciToPlc );

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

PLC NCI Libraries

TwinCAT 3 NC I 133Version: 1.0

4.1.2.24 ItpGoAheadEx

Der Baustein ItpGoAheadEx darf nur in Verbindung mit dem Dekodierstopp '@717' [} 73] verwendet werden.Eine ausführlichere Beschreibung dieses Dekodierstopps ist in der Interpreter-Dokumentation [} 29] zufinden.

VAR_INPUTVAR_INPUTbExecute       : BOOL;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.25 ItpHasError

ItpHasError ist eine Funktion, die ermittelt, ob der Interpreter im Fehlerzustand ist.

PLC NCI Libraries

TwinCAT 3 NC I134 Version: 1.0

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

Die Funktion liefert im Fehlerfall ein TRUE.

HINWEIS! ItpHasError wertet aus dem zyklischen Interface die Variable 'nItpErrCode' aus. Ist dieserWert ungleich 0, so wird TRUE zurückgegeben.

BeispielVARbItpError      : BOOL;sNciToPlc AT%I*: NCTOPLC_NCICHANNEL_REF;END_VAR

bItpError := ItpHasError( sNciToPlc );

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.26 ItpIsFastMFunc

ItpIsFastMFunc ist eine Funktion, die ermittelt, ob bei der mitgegebenen M-Funktionsnummer die schnelleM-Funktion gesetzt ist.

VAR_INFUNCTION ItpIsFastMFunc

VAR_INnFastMFuncNo   : INT;END_VAR

nFastMFuncNo: Nummer der M-Funktion, die überprüft werden soll.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

Die Funktion liefert TRUE, wenn das schnelle Bit der M-Funktion gesetzt ist.

HINWEIS! ItpIsFastMFunc wertet aus dem zyklischen Interface die Variable 'nFastMFuncMask' aus.

Beispiel(*this enum is defined by the user *)

TYPE FastMFuncs:

PLC NCI Libraries

TwinCAT 3 NC I 135Version: 1.0

(M10_CoolingFluidOn := 10, (*fast M-Funktion M10*)M11_CoolingFluidOff := 11,M12_FanOn := 12,M13_FanOff := 13);END_TYPE

VARsNciToPlc AT%I*: NCTOPLC_NCICHANNEL_REFenFastMFuncs   : FastMFuncs;bTurnFanOn    : BOOL;END_VAR

bTurnFanOn := ItpIsFastMFunc( M12_FanOn,sNciToPlc );

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.27 ItpIsEStopEx

Die Funktion ItpIsEStopEx liefert die Information, ob ein EStop-Kommando angestoßen wurde.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

Ist der Rückgabewert TRUE, dann wurde zuvor ein EStop ausgeführt (z.B. ItpEStopEx). Dabei liefert dasFlag keine Information darüber, ob die Achsen bereits stehen oder sich noch auf der Bremsrampe befinden.

Nach der Ausführung von ItpStepOnAfterEStopEx, liefert ItpIsEStopEx wieder ein FALSE zurück.

HINWEIS! ItpIsEStopEx wertet das zyklische Interface aus.

siehe auch:

ItpEStopEx [} 118]

ItpStepOnAfterEStopEx [} 154]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.28 ItpIsHskMFunc

ItpIsHskMFunc ermittelt, ob eine M-Funktion vom Typ Handshake anliegt.

PLC NCI Libraries

TwinCAT 3 NC I136 Version: 1.0

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

Die Funktion liefert TRUE, wenn eine M-Funktion vom Typ Handshake ansteht.

HINWEIS! ItpIsHskFunc wertet aus dem zyklischen Interface die Variable 'nHskMFuncReq ' aus.

BeispielVARbMFuncRequest   : BOOL;sNciToPlc AT%I* : NCTOPLC_NCICHANNEL_REF; END_VAR

bMFuncRequest := ItpIsHskMFunc( sNciToPlc );

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.29 ItpLoadProgEx

VAR_INPUTVAR_INPUTbExecute       : BOOL;sPrg           : STRING(255);nLength        : UDINT;tTimeOut       : TIME;END_VAR

bExecute: bei einer steigenden Flanke lädt der Baustein das NC-Programm

sPrg: Name des NC-Programms das geladen wird

nLength: Stringlänge des Programmnamens

tTimeOut: ADS Timeout-Delay

Das NC-Programm wird im Verzeichnis "TwinCAT\Mc\Nci " gesucht, wenn keine weiteren Angaben gemachtwerden. Es kann jedoch auch ein absoluter Pfad angegeben werden.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

PLC NCI Libraries

TwinCAT 3 NC I 137Version: 1.0

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

BeispielVARin_stItpToPlc AT %I*         : NCTOPLC_NCICHANNEL_REF;fbLoadProg                   : ItpLoadProgEx;sProgramPath                 : STRING (255):= 'TestIt.nc';END_VAR

fbLoadProg(bExecute := TRUE,sPrg := sProgramPath,nLength := LEN(sProgramPath),tTimeOut := t#200ms,sNciToPlc := in_stItpToPlc );

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.30 ItpReadCyclicLRealParam1

Diese Funktion liest aus dem zyklischen Kanalinterface den ersten LREAL Parameter aus. Dieser Parameterwird zuvor mit ItpSetCyclicLRealOffsets [} 146] konfiguriert.

Die Parameter 2 bis 4 werden über den gleichen Mechanismus ausgelesen (z.B.ItpReadCyclicLRealParam2).

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

Parameter 1 vom Type LREAL.

Siehe auch:

PLC NCI Libraries

TwinCAT 3 NC I138 Version: 1.0

• ItpReadCyclicUdintParam1 [} 138]

• ItpSetCyclicLRealOffsets [} 146]

• ItpGetCyclicLRealOffsets [} 123]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.31 ItpReadCyclicUdintParam1

Diese Funktion liest aus dem zyklischen Kanalinterface den ersten UDINT Parameter aus. Dieser Parameterwird zuvor mit ItpSetCyclicUdintOffsets [} 147] konfiguriert.

Die Parameter 2 bis 4 werden über den gleichen Mechanismus ausgelesen (z.B.ItpReadCyclicUdintParam2).

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

Parameter 1 vom Type UDINT

Siehe auch:

• ItpReadCyclicLRealParam1 [} 137]

• ItpSetCyclicUdintOffsets [} 147]

• ItpGetCyclicUdintOffsets [} 124]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.32 ItpReadRParamsEx

Der Baustein ItpReadRParamsEx liest Rechenparameter, kurz R-Parameter, der NC. Eine genaueBeschreibung der Rechenparameter ist hier [} 37] zu finden. Insgesamt stehen 1000 R-Parameter zurVerfügung, wovon die ersten 900 (0..899) lokal, d.h. nur im aktuellen NC-Kanal, sichtbar sind. Die letzten100 (900..999) R-Parameter sind global und somit NC-weit sichtbar.

PLC NCI Libraries

TwinCAT 3 NC I 139Version: 1.0

VAR_INPUTVAR_INPUTbExecute       : BOOL;pAddr          : PVOID;nIndex         : DINT;nCount         : DINT;tTimeOut       : TIME;END_VAR

bExecute: Mit einer steigenden Flanke wird der Lesevorgang gestartet.

pAddr: Adresse der Zielvariablen der zu lesenden Daten. Dabei werden die Daten direkt ab derangegebenen Adresse beschrieben. D.h. nIndex ist nicht als Offset zu pAddr zu sehen. Die Daten werdengewöhnlich in einem Array vom Typ LREAL abgelegt, das vom Anwender definiert werden muss.

nIndex: Beschreibt den Index des R-Parameters der aus NC Sicht gelesen werden soll.

nCount: Anzahl der zu lesenden R-Parameter

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.33 ItpReadToolDescEx

Der Baustein ItpReadToolDescEx liest für das mitgegebene D-Wort die Werkzeugparameter.

PLC NCI Libraries

TwinCAT 3 NC I140 Version: 1.0

VAR_INPUTVAR_INPUTbExecute       : BOOL;nDNo           : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

nDNo: D-Wort für das die Werkzeugparameter ausgelesen werden sollen. nDNo kann Werte von 1 biseinschließlich 255 annehmen.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc      : NCTOPLC_NCICHANNEL_REF;sToolDesc      : ToolDesc;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen.

sToolDesc: Struktur, in der die Werkzeugparameter von nDNo geschrieben werden. Die Bedeutung derParameter ist vom Werkzeugtyp abhängig und kann den Werkzeugdaten [} 85] entnommen werden. (Typ:NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.TYPE ToolDesc:STRUCTnToolNumber    : UDINT; (*valid range from 0 .. 65535*)nToolType      : UDINT;fParam         : ARRAY [2..15] OF LREAL;END_STRUCTEND_TYPE

Siehe auch:

ItpWriteToolDescEx [} 156]

ItpSetToolDescNullEx [} 150]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

PLC NCI Libraries

TwinCAT 3 NC I 141Version: 1.0

4.1.2.34 ItpReadZeroShiftEx

Der Baustein ItpReadZeroShiftEx liest für die angegebene Nullpunktverschiebung dieVerschiebungskomponenten X, Y und Z.

VAR_INPUTVAR_INPUTbExecute       : BOOL;nZsNo          : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

nZsNo: Nummer der Nullpunktverschiebung. NC-seitig sind G54 bis G59 Nullpunktverschiebungen. Dergültige Wertebereich für 'nZsNo' ist deshalb von 54 bis 59.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc      : NCITOPLC_NCICHANNEL_REF;sZeroShiftDesc : ZeroShiftDesc;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Type: NCTOPLC_NCICHANNEL_REF [} 234])

sZeroShiftDesc: Struktur mit den Komponenten der Nullpunktverschiebung.

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.TYPE ZeroShiftDesc:STRUCTfShiftX        : LREAL;fShiftY        : LREAL;fShiftZ        : LREAL;END_STRUCTEND_TYPE

HINWEIS! Aus Kompatibilitätsgründen gibt es pro Nullpunktverschiebung (z.B. G54) für jede Achsezwei Einträge (grob & fein), die addiert werden. Dieser Funktionsbaustein wertet beide Einträge ausund addiert sie automatisch.

PLC NCI Libraries

TwinCAT 3 NC I142 Version: 1.0

Siehe auch:

ItpWriteZeroShiftEx [} 157]

ItpSetZeroShiftNullEx [} 151]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.35 ItpResetEx2

Der Baustein 'ItpResetEx2' führt einen Kanal-Reset aus und löscht damit alle vorhandenen Tabellen des NC-Kanals. Im Gegensatz zum veralteten Baustein ItpReset wird ein aktiver Kanal erst gestoppt, bevor derReset ausgeführt wird. Damit wird die Programmierung in der SPS vereinfacht, da nicht explizit überprüftwerden muss, ob die Achsen noch in Bewegung sind.

VAR_INPUTVAR_INPUTbExecute       : BOOL;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

tTimeOut: ADS Timeout-Delay ( das bBusy-Signal kann länger anliegen als tTimeOut )

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

PLC NCI Libraries

TwinCAT 3 NC I 143Version: 1.0

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.36 ItpResetFastMFuncEx

Mit einer steigenden Flanke am Eingang bExecute wird die schnelle M-Funktion [} 68] nMFuncNozurückgesetzt. Für den Fall, dass die M-Funktion nicht anliegt, wird kein Fehler zurückgegeben.

Dieser Funktionsbaustein stellt eine Alternative zum Autoreset bzw. dem Zurücksetzen mit einer anderen M-Funktion dar (Resetliste bei der Parametrierung der M-Funktion). Aus Gründen der Übersichtlichkeit sollteein Mischbetrieb zwischen dem Zurücksetzen mit einer M-Funktion und diesem Funktionsbausteinvermieden werden.

VAR_INPUTVAR_INPUTbExecute       : BOOL;nMFuncNo       : UINT; tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

nMFuncNo: Fliegende M-Funktion, die zurückgesetzt werden soll

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

PLC NCI Libraries

TwinCAT 3 NC I144 Version: 1.0

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.37 ItpSetBottleNeckLookAheadEx

Der Baustein ItpSetBottleNeckLookAheadEx legt fest, wie viel Segmente maximal für dieFlaschenhalserkennung (Kontur-Kollisions-Überwachung) in die Zukunft geschaut darf. Dabei ist zubeachten, dass Segmente, die aufgrund der Radiuskorrektur eingefügt wurden (z.B. Zusatzsegmente anspitzen Winkeln) mit berücksichtigt werden.

Eine weitere Beschreibung ist in der Interpreter [} 97]-Dokumentation zu finden.

VAR_INPUTVAR_INPUTbExecute       : BOOL;nLookAhead     : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

nLookAhead: Legt die Größe des Look-Aheads fest

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

PLC NCI Libraries

TwinCAT 3 NC I 145Version: 1.0

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.38 ItpSetBottleNeckModeEx

Der Baustein ItpSetBottleNeckModeEx legt die Verhaltensweise bei einer auftretenden Kontur-Kollision(Flaschenhals) fest.

Eine weitere Beschreibung ist in der Interpreter [} 97]-Dokumentation zu finden.

VAR_INPUTVAR_INPUTbExecute       : BOOL;eBottleNeckMode: E_ItpBnModetTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

eBottleNeckMode: Enum für die Verhaltensweise bei einer auftretenden Kontur-Kollision

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.TYPE E_ItpBnMode: (ItpBnm_Abort   := 0,ItpBnm_Adjust  := 1,ItpBnm_Leave   := 2);END_TYPE

PLC NCI Libraries

TwinCAT 3 NC I146 Version: 1.0

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.39 ItpSetCyclicLrealOffsets

Mit dem Funktionsbaustein ItpSetCyclicLrealOffsets wird das zyklische Kanalinterface für die 4 freikonfigurierbaren LREAL Variablen beschrieben. Dabei können Variablen (Index Offsets) aus demGruppenzustand [} 332] ausgewählt werden.

Die Funktionalität ist nur dann aktiv, wenn nIndexOffsetParam1 ungleich 0 ist.

VAR_INPUTVAR_INPUTbExecute           : BOOL;tTimeOut           : TIME;nIndexOffsetParam1 : UDINT;nIndexOffsetParam2 : UDINT;nIndexOffsetParam3 : UDINT;nIndexOffsetParam4 : UDINT;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

tTimeOut: ADS Timeout-Delay

nIndexOffsetParam1: Gruppenzustand (Index Offset) für Parameter 1

nIndexOffsetParam2: Gruppenzustand (Index Offset) für Parameter 2

nIndexOffsetParam3: Gruppenzustand (Index Offset) für Parameter 3

nIndexOffsetParam4: Gruppenzustand (Index Offset) für Parameter 4

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

PLC NCI Libraries

TwinCAT 3 NC I 147Version: 1.0

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Siehe auch:

• ItpReadCyclicLRealParam1 [} 137]

• ItpGetCyclicLRealOffsets [} 123]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.40 ItpSetCyclicUDintOffsets

Mit dem Funktionsbaustein ItpSetCyclicUDintOffsets wird das zyklische Kanalinterface für die 4 freikonfigurierbaren UDINT Variablen beschrieben. Dabei können Variablen (Index Offsets) aus demGruppenzustand [} 332] ausgewählt werden.

Die Funktionalität ist nur dann aktiv, wenn nIndexOffsetParam1 ungleich 0 ist.

VAR_INPUTVAR_INPUTbExecute           : BOOL;tTimeOut           : TIME;nIndexOffsetParam1 : UDINT;nIndexOffsetParam2 : UDINT;nIndexOffsetParam3 : UDINT;nIndexOffsetParam4 : UDINT;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

tTimeOut: ADS Timeout-Delay

nIndexOffsetParam1: Gruppenzustand (Index Offset) für Parameter 1

nIndexOffsetParam2: Gruppenzustand (Index Offset) für Parameter 2

nIndexOffsetParam3: Gruppenzustand (Index Offset) für Parameter 3

nIndexOffsetParam4: Gruppenzustand (Index Offset) für Parameter 4

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

PLC NCI Libraries

TwinCAT 3 NC I148 Version: 1.0

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Siehe auch:

• ItpReadCyclicUDintParam1 [} 138]

• ItpGetCyclicUdintOffsets [} 124]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.41 ItpSetOverridePercent

Die Funktion ItpSetOverridePercent schreibt den Achsen-Kanal-Override in das zyklische Interface zur NCI.Dabei wird der Override in Prozent übergeben.

VAR_INPUTFUNCTION ItpSetOverridePercent

VAR_INPUTfOverridePercent : LREAL;END_VAR

fOverridePercent: Achsen-Kanal-Override in Prozent

VAR_IN_OUTVAR_IN_OUTsPlcToNci        : PLCTONC_NCICHANNEL_REF;END_VAR

sPlcToNci: Struktur des zyklischen Kanalinterfaces von der SPS zur NCI (Typ: PLCTONC_NCICHANNEL_REF[} 236])

Rückgabewert

ItpSetOverridePercent: immer True

PLC NCI Libraries

TwinCAT 3 NC I 149Version: 1.0

BeispielVARsPlcToNci AT%Q*: PLCTONC_NCICHANNEL_REF;fOverride      : LREAL;END_VAR

fOverride := 47.11;ItpSetOverridePercent( fOverride, sPlcToNci );

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.42 ItpSetSubroutinePathEx

Mit dem Baustein ItpSetSubroutinePathEx wird optional der Suchpfad für Unterprogramme gesetzt.

Wenn ein Unterprogramm noch eingebunden werden muss, wird in folgender Reihenfolge nach der Dateigesucht:

1. optionaler Suchpfad (ItpSetSubroutinePath)2. Pfad aus dem das Hauptprogramm geladen wurde3. TwinCAT\Mc\Nci -Verzeichnis

Es kann immer nur ein optionaler Pfad wirken und dieser bleibt bestehen, bis er mit einem anderen Pfadoder mit einem Leerstring überschrieben wird.

Nach einem TwinCAT-Restart muss der Pfad neu zugewiesen werden.

VAR_INPUTVAR_INPUTbExecute       : BOOL;sPath          : STRING;nLength        : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

sPath: optionaler Pfad für Unterprogramme. Wird mit einem Leerstring deaktiviert

nLength: Stringlänge

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

PLC NCI Libraries

TwinCAT 3 NC I150 Version: 1.0

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.43 ItpSetToolDescNullEx

Der FB ItpSetToolDescNullEx überschreibt alle Werkzeugparameter (inkl. Nummer & Type) des Kanals mitNull.

VAR_INPUTVAR_INPUTbExecute       : BOOL;tTimeOut       : TIME;END_VAR

bExecute: Mit einer steigenden Flanke werden alle Werkzeugparameter des NC-Kanals mit Nullüberschrieben.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

PLC NCI Libraries

TwinCAT 3 NC I 151Version: 1.0

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Siehe auch:

ItpWriteToolDescEx [} 156]

ItpReadToolDescEx [} 139]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.44 ItpSetZeroShiftNullEx

Der FB ItpSetZeroShiftNullEx überschreibt alle Nullpunktverschiebungen des Kanals mit Null.

VAR_INPUTVAR_INPUTbExecute       : BOOL;tTimeOut       : TIME;END_VAR

bExecute: Mit einer steigenden Flanke werden alle Nullpunktverschiebungen des NC-Kanals mit Nullüberschrieben.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Siehe auch:

PLC NCI Libraries

TwinCAT 3 NC I152 Version: 1.0

• ItpWriteZeroShiftEx [} 157]

• ItpReadZeroShiftEx [} 141]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.45 ItpSingleBlock

Der Baustein ItpSingleBlock aktiviert bzw. deaktiviert die Einzelsatzausführung in der NCI. DieSatzweiterschaltung kann direkt aus der SPS mit dem Eingang 'bTriggerNext' angestoßen werden, alternativkann im XAE der Startbutton des Interpreters (F5) genutzt werden.

Eine weiterführende Beschreibung ist in der Interpreter-Dokumentation [} 36] zu finden.

VAR_INPUTVAR_INPUTbExecuteModeChange  : BOOL;nMode               : E_ItpSingelBlockMode;bTriggerNext        : BOOLtTimeOut            : TIME;END_VAR

bExecuteModeChange: Durch eine steigende Flanke an diesem Eingang wird der Single Block Mode, deran nMode anliegt, aktiviert.

nMode: Betriebsart für den Einzelsatz (vgl. Einzelsatzbetrieb):

• ItpSingleBlockOff: Einzelsatz aus• ItpSingleBlockNck: Einzelsatz im NC-Kern• ItpSingleBlockIntp: Einzelsatz im Interpreter

bTriggerNext: Durch eine steigende Flanke an diesem Eingang wird die Satzweiterschaltung getriggert.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

PLC NCI Libraries

TwinCAT 3 NC I 153Version: 1.0

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.TYPE E_ItpSingleBlockMode:(ItpSingleBlockOff   := 0,ItpSingleBlockNck   := 1,ItpSingleBlockIntp  := 16#4000);END_TYPE

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.46 ItpStartStopEx

Der Baustein ItpStartStopEx startet bzw. stoppt den NC-Kanal.

VAR_INPUTVAR_INPUTbStart         : BOOL;bStop          : BOOL;tTimeOut       : TIME;END_VAR

bStart: eine positive Flanke startet den NC-Kanal

bStop: eine positive Flanke stoppt den NC-Kanal. Bei einem Stop-Befehl werden alle Tabellen in der NCgelöscht und die Achsen geregelt angehalten.

HINWEIS! Der Eingang bStop hat eine höhere Priorität als der Eingang bStart, d.h. wenn beideEingänge eine positive Flanke haben, wird ein Kanal-Stop ausgeführt.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

PLC NCI Libraries

TwinCAT 3 NC I154 Version: 1.0

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.47 ItpStepOnAfterEStopEx

Der Baustein ItpStepOnAfterEStopEx ermöglicht die weitere Abarbeitung des Teileprogramms nach einemprogrammierten EStopEx.

VAR_INPUTVAR_INPUTbExecute       : BOOL;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Siehe auch:

PLC NCI Libraries

TwinCAT 3 NC I 155Version: 1.0

ItpEStopEx [} 118]

ItpIsEStopEx [} 135]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.48 ItpWriteRParamsEx

Der Baustein ItpWriteRParamsEx schreibt R-Parameter in die NC.

VAR_INPUT

VAR_INPUTbExecute       : BOOL;pAddr          : DWORD;nIndex         : DINT;nCount         : DINT;tTimeOut       : TIME;END_VAR

bExecute: Mit einer steigenden Flanke wird der Schreibvorgang gestartet.

pAddr: Adresse der Variablen, die die zu schreibenden Daten enthält. Dabei werden die Daten direkt ab derangegebenen Adresse verwendet. D.h. nIndex ist nicht als Offset zu pAddr zu sehen. Die Daten werdengewöhnlich aus einem Array vom Typ LREAL gelesen, das vom Anwender definiert werden muss.

nIndex: Beschreibt den Index des R-Parameters der aus NC Sicht beschrieben werden soll.

nCount: Anzahl der zu beschreibenden R-Parameter

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

PLC NCI Libraries

TwinCAT 3 NC I156 Version: 1.0

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

BeispielVARarrfRParam90to99 : ARRAY[0..9] OF LREAL;fbWriteRParamEx  : ItpWriteRParamsEx;n                : INT := 0;bWriteParam      : BOOL := FALSE;sNciToPlc AT%I*  : NCTOPLC_NCICHANNEL_REF;END_VAR

FOR n:=0 TO 9 DOarrfRParam90to99[n] := 90 + n;END_FOR

fbWriteRParam( bExecute := bWriteParam, pAddr := ADR( arrfRParam90to99[0] ), nIndex := 90, nCount := 10, tTimeOut := T#200ms, sNciToPlc := sNciToPlc );

In diesem Beispiel werden aus NC Sicht die Parameter R90 bis R99 beschrieben.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.49 ItpWriteToolDescEx

Der Baustein ItpWriteToolDescEx schreibt einen Block von Werkzeugparametern.

VAR_INPUTVAR_INPUTbExecute       : BOOL;nDNo           : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

nDNo: D-Wort für das die Werkzeugparameter ausgelesen werden sollen. nDNo kann Werte von 1 biseinschließlich 255 annehmen.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc      : NCTOPLC_NCICHANNEL_REF;sToolDesc      : ToolDesc;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

PLC NCI Libraries

TwinCAT 3 NC I 157Version: 1.0

sToolDesc: Struktur, die die neuen Werkzeugparameter enthält. Auf diese Struktur wird nur lesendzugegriffen. Die Bedeutung der Parameter ist vom Werkzeugtyp abhängig und kann den Werkzeugdaten[} 85] entnommen werden.

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.TYPE ToolDesc:STRUCTnToolNumber    : UDINT; (*valid range from 0 .. 65535*)nToolType      : UDINT;fParam         : ARRAY [2..15] OF LREAL;END_STRUCTEND_TYPE

Siehe auch:

ItpReadToolDescEx [} 139]

ItpSetToolDescNullEx [} 150]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.50 ItpWriteZeroShiftEx

Der Baustein ItpWriteZeroShiftEx schreibt für die angegebene Nullpunktverschiebung dieVerschiebungskomponenten X, Y und Z.

VAR_INPUTVAR_INPUTbExecute       : BOOL;nZsNo          : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

nZsNo: Nummer der Nullpunktverschiebung

PLC NCI Libraries

TwinCAT 3 NC I158 Version: 1.0

NC-seitig sind G54 bis G59 Nullpunktverschiebungen. Wobei G58 und G59 nur aus dem NC-Programmeditiert werden können. Der gültige Wertebereich für 'nZsNo' ist deshalb von 54 bis 57.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc AT%I*: NCTOPLC_NCICHANNEL_REF;sZeroShiftDesc : ZeroShiftDesc;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

sZeroShiftDesc: Struktur mit den Komponenten der Nullpunktverschiebung. Auf diese Struktur wird nurlesend zugegriffen.

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.TYPE ZeroShiftDesc:STRUCTfShiftX        : LREAL;fShiftY        : LREAL;fShiftZ        : LREAL;END_STRUCTEND_TYPE

HINWEIS! Aus Kompatibilitätsgründen gibt es für jede einstellbare Nullpunktverschiebung proAchse zwei Parameter (grob & fein). Beim Schreiben einer neuen Nullpunktverschiebung mit diesemBaustein, wird der neue Wert in den 'Fein-Parameter' geschrieben. In den 'Grob-Parameter' wird eine0.0 eingetragen.

Auf diese Weise ist es möglich, dass z.B. mit dem ItpReadZeroShiftEx [} 141] Baustein dieNullpunktverschiebung gelesen, modifiziert und erneut der NC übergeben wird.

Siehe auch:

• ItpReadZeroShiftEx [} 141];

• ItpSetZeroShiftNullEx [} 151]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

PLC NCI Libraries

TwinCAT 3 NC I 159Version: 1.0

4.1.2.51 Blocksearch

Blocksearch kann dazu benutzt werden, ein Programm für einen Werkzeugwechsel oder am Ende einerSchicht zu unterbrechen. Nach der Unterbrechung kann wieder auf der vorherigen Position aufgesetztwerden.

Das Schema stellt dar, wie der Blocksearch verwendet wird.

4.1.2.51.1 ItpBlocksearch

Der Funktionsbaustein ItpBlocksearch setzt den Interpreter auf die an den Eingängen definierte Stelle. DieEingangswerte können vom Funktionsbaustein ItpGetBlocksearchData [} 162] übernommen oder manuellgesetzt werden. Nachdem der Interpreter mit ItpBlocksearch auf die definierte Stelle gesetzt worden ist,kann die Bewegung an der Position, die am Ausgang sStartPosition ausgegeben wird, mitItpStepOnAfterBlocksearch [} 163] fortgesetzt werden.

VAR_INPUTVAR_INPUTbExecute          : BOOL;nBlockId          : UDINT;eBlockSearchMode  : E_ItpBlockSearchMode;eDryRunMode       : E_ItpDryRunMode;fLength           : LREAL;sPrgName          : STRING(255);nPrgLength        : UDINT;tTimeOut          : TIME;sAxesList         : ST_ItpAxes;sOptions          : ST_ItpBlockSearchOptions;END_VAR

bExecute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.

PLC NCI Libraries

TwinCAT 3 NC I160 Version: 1.0

nBlockId: Blocknummer oder EntryCounter des Segments im NC-Programm, ab der gestartet werden soll.

eBlockSearchMode: Definiert, ob die angegebene nBlockId eine Blocknummer (z.B. N4711) oder einfortlaufender EntryCounter ist. Voraussetzung für die Verwendung der Blocknummer ist, dass dieseeindeutig ist. Vgl. E_ItpBlockSearchMode [} 160]

eDryRunMode: Definiert, welche Zeilen des Programms ausgeführt und welche übersprungen werden. Vgl.E_ItpDryRunMode [} 161]

fLength: Verbleibende Länge innerhalb des mit nBlockId ausgewählten Segments in Prozent.

sPrgName: Name bzw. Dateipfad des Programms, das ausgeführt werden soll.

nPrgLength: Gibt die Länge des Strings sPrgName an.

tTimeOut: ADS-Timeout-Delay

sAxesList: Definition der Achsen, die sich in der NCI-Gruppe befinden. Vgl. ST_ItpAxes [} 161]

sOptions: Gibt Informationen zum Retrace (Rückwärtsfahren) an.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy             : BOOL;bErr              : BOOL;nErrId            : UDINT;bDone             : BOOL;sStartPosition    : ST_ItpBlockSearchStartPosition;END_VAR

bBusy: Bleibt TRUE, bis der Baustein eine Befehlsanforderung ausgeführt hat, längstens aber für die Dauerder an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird an den Eingängen kein neuerBefehl angenommen.

bErr: Wird TRUE, wenn bei der Ausführung des Befehls ein Fehler aufgetreten ist. Der befehlsspezifischeFehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen eines Befehls an den Eingängen auf FALSEzurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS-Fehlerdokumentation [} 236] oder in der NC-Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

bDone: Der Ausgang wird TRUE, wenn der Befehl erfolgreich ausgeführt wurde.

sStartPosition: Gibt die Startposition aus, von der das NC-Programm weiterläuft. Die einzelnen Achsenmüssen vor dem Ausführen von ItpStepOnAfterBlocksearch [} 163] an diese Positionen verfahren werden.Vgl. ST_ItpBlockSearchStartPosition [} 161]

E_ItpBlockSearchMode

Über E_ItpBlockSearchMode wird definiert, auf welche Art die Blocksuche beim Blocksearch ausgeführtwird.TYPE E_ItpBlockSearchMode :(ItpBlockSearchMode_Disable        := 0,ItpBlockSearchMode_BlockNo        := 1,

PLC NCI Libraries

TwinCAT 3 NC I 161Version: 1.0

ItpBlockSearchMode_EntryCounter   := 2);END_TYPE

ItpBlockSearchMode_Disable: Blocksearch deaktiviert (Initialwert).

ItpBlockSearchMode_BlockNo: Der Blocksearch wird über die vom Anwender im NC-Programmprogrammierte Blocknummer (z.B. N4711) ausgeführt. Voraussetzung ist, dass die Blocknummer vomAnwender eindeutig vergeben wurde.

ItpBlockSearchMode_EntryCounter: Der Blocksearch wird über einen eindeutigen EntryCounterausgeführt. Dieser EntryCounter ist implizit eindeutig, kann jedoch vom Anwender im NC-Programm nichteingesehen werden.

E_ItpDryRunMode

Der E_ItpDryRunMode definiert, wie mit programmierten Sätzen umgegangen wird, die sich bei Abarbeitungdes gesamten Programms vor dem Satz, von dem im Blocksearch gestartet wird, befinden.TYPE E_ItpDryRunMode :(ItpDryRunMode_Disable             := 0,ItpDryRunMode_SkipAll             := 1,ItpDryRunMode_SkipMotionOnly      := 2,ItpDryRunMode_SkipDwellAndMotion  := 3);END_TYPE

ItpDryRunMode_Disable: DryRun deaktiviert (Initialwert).

ItpDryRunMode_SkipAll: Alle vorherigen Sätze werden übersprungen. R-Parameter werden geschrieben.

ItpDryRunMode_SkipMotionOnly: Nur Bewegungssätze werden übersprungen. R-Parameter werdengeschrieben und Verweilzeiten und M-Funktionen ausgeführt.

ItpDryRunMode_SkipDwellAndMotion: Bewegungssätze und Verweilzeiten werden übersprungen. R-Parameter werden geschrieben und M-Funktionen ausgeführt.

ST_ItpAxes

Die Struktur ST_ItpAxes beinhaltet die Achsen, die sich bei der Abarbeitung des Programms in der NCI-Gruppe befunden haben.TYPE ST_ItpAxes :STRUCTnAxisIds          : ARRAY[1..8] OF UDINT;END_STRUCTEND_TYPE

nAxisIds: Array der Achen, die sich in der NCI-Gruppe befunden haben. Dabei ist die ReihenfolgenAxisIds[1]=X, nAxisIds[2]=Y, nAxisIds[3]=Z, nAxisIds[4]=Q1, nAxisIds[5]=Q2… Die Achs-Id kann aus demzyklischen Achsinterface ausgelesen werden.

St_ItpBlockSearchOptions

Die Struktur beinhaltet Informationen zur Retrace-Funktionalität.TYPE ST_ItpBlockSearchOptions :STRUCTbIsRetrace        : BOOL:= FALSE;bRetraceBackward  : BOOL:= FALSE;END_STRUCTEND_TYPE

bIsRetrace: Zeigt an, ob die Retrace-Funktionalität aktiv ist.

bRetraceBackward: Zeigt an, ob rückwärts auf der Bahn verfahren wurde.

ST_ItpBlockSearchStartPosition

Die Struktur gibt die Position an, an der das NC-Programm nach einem Blocksearch fortgesetzt wird. DerAnwender ist dafür verantwortlich, die Achsen an die entsprechenden Positionen zu verfahren.

PLC NCI Libraries

TwinCAT 3 NC I162 Version: 1.0

TYPE ST_ItpBlockSearchStartPosition :STRUCTfStartPosition    : ARRAY[1..8] OF LREAL;END_STRUCTEND_TYPE

fStartPosition: Array der Achspositionen, an der das NC-Programm fortgesetzt wird

Dabei ist die Reihenfolge fStartPosition[1]=X, fStartPosition [2]=Y, fStartPosition [3]=Z, fStartPosition [4]=Q1,fStartPosition [5]=Q2…

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.51.2 ItpGetBlocksearchData

Der Funktionsbaustein ItpGetBlocksearchData liest die aktuelle Position auf der Bahn aus. Üblicherweisewird dieser Befehl im Stillstand aufgerufen. Anschließend kann mit ItpBlockSearch [} 159] der Interpreterwieder an die in sBlockSearchData gespeicherte Position aufgesetzt werden.

VAR_INPUTVAR_INPUTbExecute          : BOOL;tTimeOut          : TIME;END_VAR

bExecute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.

bTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy             : BOOL;bErr              : BOOL;nErrId            : UDINT;sBlockSearchData  : ST_ItpBlockSearchData;END_VAR

bBusy: Bleibt TRUE, bis der Baustein eine Befehlsanforderung ausgeführt hat, längstens aber für die Dauerder an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird an den Eingängen kein neuerBefehl angenommen.

bErr: Wird TRUE, wenn bei der Ausführung des Befehls ein Fehler aufgetreten ist. Der befehlsspezifischeFehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen eines Befehls an den Eingängen auf FALSEzurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS-Fehlerdokumentation [} 236] oder in der NC-Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

PLC NCI Libraries

TwinCAT 3 NC I 163Version: 1.0

sBlockSearchData: Enthält Informationen zur aktuellen Position auf der Bahn.TYPE ST_ItpBlockSearchData :STRUCTfLength           : LREAL;(* remaining distance of actual movement block in percent*)nBlockNo          : UDINT;(* number of the actual block *)nBlockCounter     : UDINT;(* counter value of the actual block *)bIsRetrace        : BOOL;(* e.g. by activ Retrace *)bRetraceBackward  : BOOL;(* e.g. by activ Retrace Backward *)END_STRUCTEND_TYPE

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.51.3 ItpStepOnAfterBlocksearch

Startet die Bewegung, nachdem ein Blocksearch ausgeführt wurde.

Die Achsen müssen zuvor an die am Ausgang von ItpBlocksearch [} 159] ausgegebenen Positionenverfahren worden sein.

VAR_INPUTVAR_INPUTbExecute          : BOOL;tTimeOut          : TIME;END_VAR

bExecute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.

bTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

PLC NCI Libraries

TwinCAT 3 NC I164 Version: 1.0

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.52 Rückwärtsfahren

4.1.2.52.1 ItpEnableFeederBackup

Der Funktionsbaustein ItpEnableFeederBackup aktiviert die Speicherung der abgefahrenen Bahn für dasRückwärtsfahren. Er muss einmal aktiviert werden, bevor das NC-Programm (G-Code) gestartet ist. Falls dieFunktionalität Blocksearch [} 159] verwendet wird, muss ItpEnableFeederBackup vor dem Aufruf vonItpBlocksearch [} 159] aktiviert werden. Das Feeder-Backup wird solange ausgeführt, bis ein TwinCATNeustart oder bEnable = FALSE mit steigender Flanke auf bExecute ausgelöst wird.

Wenn das Feeder-Backup nicht aktiviert ist, funktioniert das Rückwärtsfahren nicht. Dies lässt sich überItpIsFeederBackupEnabled [} 165] überprüfen.

VAR_INPUTVAR_INPUTbEnable        : BOOL;bExecute       : BOOL;tTimeOut       : TIME;END_VAR

bEnable: TRUE: aktiviert Feeder-Backup, FALSE: deaktiviert Feeder-Backup

bExecute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

PLC NCI Libraries

TwinCAT 3 NC I 165Version: 1.0

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.52.2 ItpIsFeederBackupEnabled

Der Funktionsbaustein ItpIsFeederBackupEnabled gibt an, ob das Feeder-Backup aktiviert ist. Um rückwärtszu fahren, muss das Feeder-Backup zuvor aktiviert werden. Hierdurch wird die abgefahrene Bahngespeichert.

VAR_INPUTVAR_INPUTbExecute       : BOOL;tTimeOut       : TIME;END_VAR

bExecute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy          : BOOL;bEnabled       : BOOL;bErr           : BOOL;nErrId         : UDINT;END_VAR

bBusy: Der Ausgang bBusy bleibt solange auf TRUE, bis der Baustein einen Befehl ausgeführt hat,längstens aber für die Dauer der an dem ‚Timeout’-Eingang angelegten Zeit. Während bBusy = TRUE wirdan den Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bEnabled: TRUE: Backupliste für Rückverfolgung ist aktiviert, FALSE: Backupliste für Rückverfolgung istdeaktiviert

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in ‚nErrId’ enthalten. Wenn der Baustein einenTimeout-Fehler hat, ist ‚Error’ = TRUE und ‚nErrId’ = 1861 (Hexadezimal 0x745). Wird durch das Ausführeneines Befehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

PLC NCI Libraries

TwinCAT 3 NC I166 Version: 1.0

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.52.3 ItpIsFeedFromBackupList

Die Funktion ItpIsFeedFromBackupList wird TRUE, wenn die Zufuhr-Einträge (SAF & SVB) von derBackupliste gesendet werden. Bei der Rückwärtsbewegung werden alle Einträge von der Backuplistegesendet. Wird das Programm vorwärts ausgeführt, dann stammen die ersten Einträge in der Regel auchvon der Backupliste. Dies ist abhängig von der Anzahl zurückverfolgter Einträge sowie der Anzahl Einträgein der SVB- und SAF-Tabelle zu dem Zeitpunkt, als die Rückverfolgung aufgerufen wurde. Alle weiterenBefehle stammen vom ‚Original’-Code.

Während die NCI an der Backupliste arbeitet, sind nicht alle Funktionen verfügbar oder sinnvoll. Hier einigeBeispiele:

• Dekodierstopps wie @714 werden nicht ausgewertet• R-Parameter die verändert werden, haben keinen Einfluss solange auf der Backup-Bahn verfahren

wird (vorwärts und rückwärts). Sobald die Bahndaten nicht mehr aus der Backup-Liste kommen, wirkenauch R-Parameter-Änderungen wieder.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.52.4 ItpIsFirstSegmentReached

ItpIsFirstSegmentReached ist eine Funktion, die aus dem zyklischen Kanalinterface ermittelt, ob beimRückwärtsfahren die Startposition des Programms erreicht ist.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

Die Funktion liefert TRUE, wenn die Startposition des G-Code-Programms erreicht ist. Ist die Version deszyklischen Kanalinterface kleiner 6, ist der Rückgabewert immer FALSE.

PLC NCI Libraries

TwinCAT 3 NC I 167Version: 1.0

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.52.5 ItpIsMovingBackwards

ItpIsMovingBackwards ist eine Funktion, die aus dem zyklischen Kanalinterface ermittelt, ob rückwärts aufder Bahn des aktuellen G-Code Programms verfahren wird.

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

Rückgabewert

Die Funktion liefert TRUE, wenn rückwärts auf der Bahn verfahren wird. Ist die Version des zyklischenKanalinterface kleiner 6, ist der Rückgabewert immer FALSE.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.52.6 ItpRetraceMoveBackward

Der Funktionsbaustein ItpRetraceMoveBackward führt die geometrischen Einträge von der Istposition zumBeginn des Teilprogramms (G-Code).

VAR_INPUTVAR_INPUTbExecute       : BOOL;tTimeOut       : TIME;END_VAR

bExecute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

PLC NCI Libraries

TwinCAT 3 NC I168 Version: 1.0

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Vorgehensweise1. Feeder-Backupliste aktivieren (siehe ItpEnableFeederBackup [} 164])

ð Das NC-Programm wird mit ItpEStopEx [} 118] gestoppt2. Warten und sichergehen, dass alle Achsen in der Gruppe still stehen3. ItpRetraceMoveBackward aufrufen4. Rückwärtsbewegung mit ItpEStop stoppen, ansonsten kehrt das Programm wieder zum Anfang zurück

5. ItpRetraceMoveForward [} 168] aufrufen, um wieder nach vorne zu gehen6. Gegebenenfalls ItpEStopEx und ItpRetraceMoveBackward aufrufen usw.

HINWEIS! Nicht in Verbindung mit Vertex-Verschleifung verwenden. M-Funktionen werden beiRückwärtsbewegung unterdrückt.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.2.52.7 ItpRetraceMoveForward

Der Funktionsbaustein ItpRetraceMoveForward führt alle Einträge vom Istblock (z.B. Position) inVorwärtsrichtung zum NC-Kernel. Er wird dazu aufgerufen, die Richtung wieder umzukehren, nachdemItpRetraceMoveBackward [} 167] aufgerufen wurde.

VAR_INPUTVAR_INPUTbExecute       : BOOL;tTimeOut       : TIME;END_VAR

bExecute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.

tTimeOut: ADS Timeout-Delay

PLC NCI Libraries

TwinCAT 3 NC I 169Version: 1.0

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

siehe auch: ItpRetraceMoveBackward [} 167]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.3 Teileprogramm-GeneratorDie Bausteine ItpPpg* stellen eine Möglichkeit dar, um aus der SPS ein Teileprogramm (G-Code-File) zuerstellen. Dabei wird beim Generieren grundsätzlich zwischen einem Hauptprogramm (ItpPpgCreateMain[} 175]) und einem Unterprogramm (ItpPpgCreateSubroutine [} 176]) unterschieden.

Anschließend können mit ItpPpgAppend* verschiedene NC-Zeilen hinzugefügt werden. Dabei stehenfolgende FBs zur Verfügung:

• ItpPpgAppendGeoLine [} 172] fügt eine Linearbewegung hinzu.

• ItpPpgAppendGeoCircleByRadius [} 171] fügt einen Kreis mit Radiusangabe hinzu.

• ItpPpgAppendGenericBlock [} 170] fügt eine selbstdefinierte Zeile, wie z.B. Einschalten derVerrundung oder M-Funktionen hinzu.

Ist das Teileprogramm soweit fertig gestellt, wird es mit den Routinen ItpPpgCloseMain [} 173] bzw.ItpPpgCloseSubroutine [} 174] geschlossen.

PLC NCI Libraries

TwinCAT 3 NC I170 Version: 1.0

Folgende Funktionsblöcke können verwendet werden:

Funktionsbaustein BeschreibungItpPpgAppendGenericBlock [} 170] Hängt eine generische NC-Zeile an ein spezifiziertes

TeileprogrammItpPpgAppendGeoCircleByRadius [} 171] Fügt einen Kreis an ein spezifiziertes Teileprogramm

anItpPpgAppendGeoLine [} 172] Fügt eine Linearbewegung an ein spezifiziertes

Teileprogramm anItpPpgCloseMain [} 173] Schließt ein zuvor geöffnetes Teileprogramm

ItpPpgCloseSubroutine [} 174] Schließt ein zuvor geöffnetes Unterprogramm

ItpPpgCreateMain [} 175] Öffnet bzw. generiert ein Teileprogramm

ItpPpgCreateSubroutine [} 176] Öffnet bzw. generiert ein Unterprogramm

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.3.1 ItpPpgAppendGenericBlock

Der Baustein ItpPpgAppendGenericBlock fügt eine generische Zeile ans Teileprogramm an. Er kann z.B.dazu verwendet werden, um eine M-Funktion oder die Verrundung einzuschalten.

PLC NCI Libraries

TwinCAT 3 NC I 171Version: 1.0

Vor dem Aufruf rufen Sie ItpPpgCreateMain [} 175] oder ItpPpgCreateSubroutine [} 176] auf.

VAR_INPUTVAR_INPUT    bExecute       : BOOL;    sPathName      : STRING;    sBlock         : STRING;     tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

sPathName: Name des Teileprogramms mit Pfadangabe

sBlock: Generische Zeile des Teileprogramms, die hinzugefügt werden soll

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.3.2 ItpPpgAppendGeoCircleByRadius

Der Baustein ItpPpgAppendGeoCircleByRadius fügt eine Kreisbewegung ans Teileprogramm an. Dabei wirdder Kreis mit dem Radius parametriert.

Vor dem Aufruf rufen Sie ItpPpgCreateMain [} 175] oder ItpPpgCreateSubroutine [} 176] auf.

VAR_INPUTVAR_INPUT    bExecute       : BOOL;    sPathName      : STRING;

PLC NCI Libraries

TwinCAT 3 NC I172 Version: 1.0

    bClockWise     : BOOL;    fTargetXPos    : LREAL;    fTargetYPos    : LREAL;    fTargetZPos    : LREAL;    fRadius        : LREAL;    fPathVelo      : LREAL;    nBlockNo       : UDINT;    tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

sPathName: Name des Teileprogramms mit Pfadangabe

bClockwise: Wenn TRUE, wird der Kreis im Uhrzeigersinn abgefahren, andernfalls gegen denUhrzeigersinn

fTargetXPos: Zielposition der X-Achse

fTargetYPos: Zielposition der Y-Achse

fTargetZPos: Zielposition der Z-Achse

fRadius: Kreisradius

fPathVelo: Bahngeschwindigkeit

nBlockNo: Zeilennummer im Teileprogramm

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.3.3 ItpPpgAppendGeoLine

PLC NCI Libraries

TwinCAT 3 NC I 173Version: 1.0

Der Baustein ItpPpgAppendGeoLine fügt eine Linearbewegung ans Teileprogramm an. Neben dereigentlichen Zielposition werden die vorgesehene Bahngeschwindigkeit und die Zeilennummer übergeben.

Vor dem Aufruf rufen Sie ItpPpgCreateMain [} 175] oder ItpPpgCreateSubroutine [} 176] auf.

VAR_INPUTVAR_INPUTbExecute       : BOOL;sPathName      : STRING;fTargetXPos    : LREAL;fTargetYPos    : LREAL;fTargetZPos    : LREAL;fPathVelo      : LREAL;nBlockNo       : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

sPathName: Name des Teileprogramms mit Pfadangabe

fTargetXPos: Zielposition der X-Achse

fTargetYPos: Zielposition der Y-Achse

fTargetZPos: Zielposition der Z-Achse

fPathVelo: Bahngeschwindigkeit

nBlockNo: Zeilennummer im Teileprogramm

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.3.4 ItpPpgCloseMain

PLC NCI Libraries

TwinCAT 3 NC I174 Version: 1.0

Der Baustein ItpPpgCloseMain schließt das Hauptprogramm mit dem entsprechenden Code für denInterpreter (M02) ab.

Vor dem Aufruf rufen Sie ItpPpgCreateMain [} 175] auf.

VAR_INPUTVAR_INPUTbExecute       : BOOL;sPathName      : STRING;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

sPathName: Name des Teileprogramms mit Pfadangabe

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.3.5 ItpPpgCloseSubroutine

Der Baustein ItpPpgCloseSubroutine schließt das Unterprogramm mit dem entsprechenden Code für denInterpreter (M17) ab.

Vor dem Aufruf rufen Sie ItpPpgCreateSubroutine [} 176] auf.

VAR_INPUTVAR_INPUTbExecute       : BOOL;sPathName      : STRING;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

sPathName: Name des Teileprogramms mit Pfadangabe

PLC NCI Libraries

TwinCAT 3 NC I 175Version: 1.0

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.3.6 ItpPpgCreateMain

Der Baustein ItpPpgCreateMain generiert eine neue Datei, die später als Hauptprogramm abgearbeitetwerden kann. Falls die Datei noch nicht existiert, wird sie erzeugt, andernfalls überschrieben.

VAR_INPUTVAR_INPUTbExecute       : BOOL;sPathName      : STRING;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

sPathName: Name des Teileprogramms mit Pfadangabe

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

PLC NCI Libraries

TwinCAT 3 NC I176 Version: 1.0

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.3.7 ItpPpgCreateSubroutine

Der Baustein ItpPpgCreateSubroutine generiert eine neue Datei, die später als Unterprogramm abgearbeitetwerden kann. Falls die Datei noch nicht existiert, wird sie erzeugt, andernfalls überschrieben.

VAR_INPUTVAR_INPUTbExecute       : BOOL;sPathName      : STRING;nSubroutineId  : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

sPathName: Name des Unterprogramms mit Pfadangabe

nSubroutineId: Nummer des Unterprogramms

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

PLC NCI Libraries

TwinCAT 3 NC I 177Version: 1.0

4.1.4 Bausteine zur Kompatibilität mit bestehenden Programmen

Hinweis

Funktionsbausteine zur KompatibilitätDie unten aufgeführten Funktionsbausteine existieren zur Kompatibilität mit bestehendenProjekten. Für neue Projekte wird empfohlen, diese Bausteine nicht zu verwenden undstattdessen die äquivalenten Bausteine in der oberen Tabelle zu benutzen.

Funktionsbaustein BeschreibungItpDelDtg [} 177] Triggert das Restweglöschen in der NC

ItpEStop [} 178] Triggert den NCI EStop

ItpGetBottleNeckLookAhead [} 179] Liefert die Größe des Look-Aheads für dieFlaschenhalserkennung

ItpGetBottleNeckMode [} 180] Liefert den Reaktionsmode für dieFlaschenhalserkennung

ItpGetGeoInfoAndHParam [} 181] Liest Informationen über das gerade aktive Segment,vergangene und zukünftige Segmente aus

ItpGoAhead [} 182] Triggert die GoAhead Funktion

ItpIsEStop [} 183] Ermittelt, ob ein EStop ausgeführt wird bzw. ob einEStop anliegt

ItpLoadProg [} 184] Lädt ein NC-Programm via Programmnamen

ItpReadRParams [} 185] Liest Rechenparameter

ItpReadToolDesc [} 186] Liest die Werkzeugbeschreibung aus der NC

ItpReadZeroShift [} 187] Liest die Nullpunktverschiebung aus der NC

ItpReset [} 189] Führt einen Reset des Interpreters, bzw. des NC-Kanals aus

ItpResetEx [} 189] Führt einen Reset des Interpreters, bzw. des NC-Kanals aus.

ItpResetFastMFunc [} 190] Setzt ein schnelles Signal-Bit zurück

ItpSetBottleNeckLookAhead [} 191] Setzt die Größe des Look-Ahead für dieFlaschenhalserkennung

ItpSetBottleNeckMode [} 192] Setzt den Reaktionsmode bei eingeschalteterFlaschenhalserkennung

ItpSetSubroutinePath [} 193] Setzt optional den Suchpfad für Unterprogramme

ItpSetToolDescNull [} 195] Setzt alle Toolparameter (inkl. Nummer und Type)auf Null

ItpSetZeroShiftNull [} 196] Setzt alle Nullpunkte auf Null

ItpStartStop [} 197] Startet bzw. Stoppt den Interpreter (NC-Kanal)

ItpStepOnAfterEStop [} 197] Ermöglicht die Weiterbearbeitung desTeileprogramms nach einem NCI EStop

ItpWriteRParams [} 198] Schreibt Rechenparameter

ItpWriteToolDesc [} 200] Schreibt die Werkzeugbeschreibung in die NC

ItpWriteZeroShift [} 201] Schreibt die Nullpunktverschiebung in die NC

4.1.4.1 ItpDelDtg

Der Baustein ItpDelDtg triggert das Restweglöschen. Eine ausführlichere Beschreibung ist in der Interpreter[} 63]-Dokumentation zu finden.

PLC NCI Libraries

TwinCAT 3 NC I178 Version: 1.0

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpDelDtgEx[} 116].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nChnId: Kanal-ID

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.2 ItpEStop

Der Baustein ItpEStop triggert den NCI EStop und ermöglicht so ein kontrolliertes Anhalten auf der Bahn.Dabei werden die Grenzwerte für die Verzögerung und den Ruck als Parameter übertragen. Falls diesekleiner sein sollten, als die zurzeit wirkenden Dynamikparameter, so werden die übertragenen Parameterverworfen.

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpEStopEx[} 118].

PLC NCI Libraries

TwinCAT 3 NC I 179Version: 1.0

VAR_INPUTVAR_INPUTbExecute       : BOOL;nGrpId         : UDINT;fDec           : LREAL;fJerk          : LREAL;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nGrpId: Gruppen-ID

fDec: max. Verzögerung mit der angehalten werden soll. Ist fDec kleiner als die zurzeit aktive Verzögerung,so wird fDec nicht übernommen. Es wird so also sichergestellt, dass mindestens mit der Standard-Rampeverzögert wird.

fJerk: max. Ruck mit dem angehalten werden soll. Ist fJerk kleiner als der zurzeit aktive Ruck, so wird fJerknicht übernommen.

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Siehe auch:

ItpStepOnAfterEStop [} 197]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.3 ItpGetBottleNeckLookAhead

Der Baustein ItpGetBottleNeckLookAhead ermittelt die maximale verwendete Größe des LookAheads für dieFalschenhalserkennung (Kontur-Kollisions-Überwachung).

Eine weitere Beschreibung ist in der Interpreter [} 97]-Dokumentation zu finden.

PLC NCI Libraries

TwinCAT 3 NC I180 Version: 1.0

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpGetBott-leNeckLookAheadEx [} 120].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nChnId: Kanal-ID

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy          : BOOL;bErr           : BOOL;nErrId         : UDINT;nLookAhead     : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der, an dem 'Timeout'-Eingang angelegten, Zeit. Während Busy = TRUE wirdan den Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wenn der Baustein ein Timeout-Fehler hat, so ist 'Error' = TRUE und 'nErrId' = 1861 (Hexadezimal 0x745). Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

nLookAhead: Größe des Look-Aheads für die Flaschenhalserkennung

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.4 ItpGetBottleNeckMode

Der Baustein ItpGetBottleNeckMode liest die Verhaltensweise bei einer auftretenden Kontur-Kollision(Flaschenhals) aus.

Eine weitere Beschreibung ist in der Interpreter [} 97]-Dokumentation zu finden.

PLC NCI Libraries

TwinCAT 3 NC I 181Version: 1.0

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpGetBott-leNeckModeEx [} 121].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nChnId: Kanal-ID

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy          : BOOL;bErr           : BOOL;nErrId         : UDINT;eBottleNeckMode: E_ItpBnModeEND_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der, an dem 'Timeout'-Eingang angelegten, Zeit. Während Busy = TRUE wirdan den Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wenn der Baustein ein Timeout-Fehler hat, so ist 'Error' = TRUE und 'nErrId' = 1861 (Hexadezimal 0x745). Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

eBottleNeckMode: Enum für die Verhaltensweise bei einer auftretenden Kontur-KollisionTYPE E_ItpBnMode:(ItpBnm_Abort  := 0,ItpBnm_Adjust := 1,ItpBnm_Leave  := 2);END_TYPE

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.5 ItpGetGeoInfoAndHParam

Der Funktionsbaustein ItpGetGeoInfoAndHParam liest Informationen über das gerade aktive Segment,vergangene und zukünftige Segmente aus. Hierzu gehören Blocknummer, H-Parameter und Bahnrestwegauf dem Segment.

PLC NCI Libraries

TwinCAT 3 NC I182 Version: 1.0

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpGetGeoIn-foAndHParamEx [} 126].

VAR_IN_OUTVAR_IN_OUTsNciToPlc           : NCTOPLC_NCICHANNEL_REF;END_VAR

sNciToPlc: Struktur des zyklischen Kanalinterfaces von der NCI zur SPS. Auf diese Struktur wird nur lesendzugegriffen. (Typ: NCTOPLC_NCICHANNEL_REF [} 234])

VAR_OUTPUTVAR_OUTPUTstTab               : ST_ItpPreViewTabEx;nErrId              : UDINT;END_VAR

stTab: Struktur, die die Segmentdaten enthält.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.6 ItpGoAhead

Der Baustein ItpGoAhead darf nur in Verbindung mit dem Dekodierstopp '@717' [} 73] verwendet werden.Eine ausführlichere Beschreibung dieses Dekodierstopps ist in der Interpreter-Dokumentation [} 29] zufinden.

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpGoAheadEx[} 133].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nChnId: Kanal-ID

tTimeOut: ADS Timeout-Delay

PLC NCI Libraries

TwinCAT 3 NC I 183Version: 1.0

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.7 ItpIsEStop

Der Funktionsbaustein ItpIsEStop liefert mit bEStop die Information, ob ein EStop-Kommando angestoßenwurde. Ist bEStop TRUE, dann wurde zuvor ein EStop ausgeführt (z.B. ItpEStop). Dabei liefert das Flagkeine Information darüber, ob die Achsen bereits stehen oder sich noch auf der Bremsrampe befinden.

Nach der Ausführung von ItpStepOnAfterEStop, liefert ItpIsEStop wieder ein FALSE zurück.

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpIsEStopEx[} 135].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nGrpId         : UDINTtTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nGrpId: Gruppen-ID

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy          : BOOL;bEStop         : BOOL;bErr           : BOOL;nErrId         : UDINT;END_VAR

PLC NCI Libraries

TwinCAT 3 NC I184 Version: 1.0

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der, an dem 'Timeout'-Eingang angelegten, Zeit. Während Busy = TRUE wirdan den Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bEStop: TRUE: EStop-Kommando wurde ausgeführt, FALSE: Es liegt kein EStop an

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Siehe auch:

ItpEStop [} 178]

ItpStepOnAfterEStop [} 197]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.8 ItpLoadProg

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpLoadProg-Ex [} 136].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;sPrg           : STRING;nLength        : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird das NC-Programm ausgeführt

nChnId: Kanal-ID

sPrg: Name des NC-Programms, das ausgeführt wird

nLength: Stringlänge des Programmnamens

tTimeOut: ADS Timeout-Delay

HINWEIS! Das NC-Programm wird im Verzeichnis "TwinCAT\Mc\Nci " gesucht, wenn keineweiteren Angaben gemacht werden. Es kann jedoch auch ein absoluter Pfad angegeben werden.

PLC NCI Libraries

TwinCAT 3 NC I 185Version: 1.0

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.9 ItpReadRParams

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpReadRPa-ramsEx [} 138].

Der Baustein ItpReadRParams liest Rechenparameter, kurz R-Parameter, der NC. Eine genaueBeschreibung der Rechenparameter ist hier [} 37] zu finden. Insgesamt stehen 1000 R-Parameter zurVerfügung, wovon die ersten 900 (0..899) lokal, d.h. nur im aktuellen NC-Kanal, sichtbar sind. Die letzten100 (900..999) R-Parameter sind global und somit NC-weit sichtbar.

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;pAddr          : PVOID;nIndex         : DINT;nCount         : DINT;tTimeOut       : TIME;END_VAR

bExecute: Mit einer steigenden Flanke wird der Lesevorgang gestartet

nChnId: ID des NC-Kanals dessen R-Parameter gelesen werden sollen

pAddr: Adresse der Zielvariablen der zu lesenden Daten. Dabei werden die Daten direkt ab derangegebenen Adresse von der NC beschrieben. D.h. nIndex ist nicht als Offset zu pAddr zu sehen. DieDaten befinden sich für gewöhnlich in einem Array vom Typ LREAL, das vom Anwender definiert werdenmuss.

PLC NCI Libraries

TwinCAT 3 NC I186 Version: 1.0

nIndex: Beschreibt den Index des R-Parameters der aus NC Sicht gelesen werden soll.

nCount: Anzahl der zu lesenden R-Parameter

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Siehe auch:

ItpWriteRParams [} 198]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.10 ItpReadToolDesc

Der Baustein ItpReadToolDesc liest für das mitgegebene D-Wort die Werkzeugparameter.

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpReadTool-DescEx [} 139].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;nDNo           : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nChnId: Kanal-ID

PLC NCI Libraries

TwinCAT 3 NC I 187Version: 1.0

nDNo: D-Wort für das die Werkzeugparameter ausgelesen werden sollen. nDoNo kann Werte von 1 biseinschließlich 255 annehmen.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsToolDesc      : ToolDesc;END_VAR

sToolDesc: Struktur, in der die Werkzeugparameter von nDNo geschrieben werden. Die Bedeutung derParameter ist vom Werkzeugtyp abhängig und kann den Werkzeugdaten [} 85] entnommen werden.

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.TYPE ToolDesc:STRUCTnToolNumber    : UDINT; (*valid range from 0 .. 65535*)nToolType      : UDINT;fParam         : ARRAY [2..15] OF LREAL;END_STRUCTEND_TYPE

siehe auch:

ItpWriteToolDesc [} 200]; ItpSetToolDescNull [} 195]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.11 ItpReadZeroShift

Der Baustein ItpReadZeroShift liest für die angegebene Nullpunktverschiebung dieVerschiebungskomponenten X, Y und Z.

HINWEIS! Aus Kompatibilitätsgründen gibt es pro Nullpunktverschiebung (z.B. G54) für jede Achsezwei Einträge (grob & fein), die addiert werden. Dieser Funktionsbaustein wertet beide Einträge ausund addiert sie automatisch.

PLC NCI Libraries

TwinCAT 3 NC I188 Version: 1.0

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpReadZe-roShiftEx [} 141].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;nZsNo          : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nChnId: Kanal-ID

nZsNo: Nummer der Nullpunktverschiebung, NC-seitig sind G54 bis G59 Nullpunktverschiebungen. Dergültige Wertebereich für 'nZsNo' ist deshalb von 54 bis 59.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsZeroShiftDesc : ZeroShiftDesc;END_VAR

sZeroShiftDesc: Struktur mit den Komponenten der Nullpunktverschiebung.

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.TYPE ZeroShiftDesc:STRUCTfShiftX        : LREAL;fShiftY        : LREAL;fShiftZ        : LREAL;END_STRUCTEND_TYPE

siehe auch:

ItpWriteZeroShift [} 201]; ItpSetZeroShiftNull [} 196]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

PLC NCI Libraries

TwinCAT 3 NC I 189Version: 1.0

4.1.4.12 ItpReset

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpResetEx2[} 142].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird ein Reset des NC-Kanals durchgeführt

nChnId: Kanal-ID

tTimeOut: ADS Timeout-Delay

HINWEIS! Bei einem Reset werden alle Tabellen in der NC gelöscht. Die Achsen werden instantanabgebremst. Deshalb sollte ein Reset nur im Fehlerfall oder bei stehenden Achsen durchgeführtwerden.

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.13 ItpResetEx

PLC NCI Libraries

TwinCAT 3 NC I190 Version: 1.0

Der Baustein 'ItpResetEx' führt einen Kanal-Reset aus und löscht damit alle vorhandenen Tabellen des NC-Kanals. Im Gegensatz zum herkömmlichen ItpReset [} 189] wird ein aktiver Kanal erst gestoppt, bevor derReset ausgeführt wird. Damit wird die Programmierung in der SPS vereinfacht, da nicht explizit überprüftwerden muss, ob die Achsen noch in Bewegung sind.

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpResetEx2[} 142].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nGrpId         : UDINT;nChnId         : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nGrpId: Gruppen-ID

nChnId: Kanal-ID

tTimeOut: ADS Timeout-Delay ( das bBusy-Signal kann länger anliegen als tTimeOut )

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

siehe auch: ItpStartStop [} 197]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.14 ItpResetFastMFunc

PLC NCI Libraries

TwinCAT 3 NC I 191Version: 1.0

Dieser Funktionsbaustein stellt eine Alternative zum Autoreset bzw. dem Zurücksetzen mit einer anderen M-Funktion dar (Resetliste bei der Parametrierung der M-Funktion). Aus Gründen der Übersichtlichkeitvermeiden Sie einen Mischbetrieb zwischen dem Zurücksetzen mit einer M-Funktion und diesemFunktionsbaustein.

Mit einer steigenden Flanke am Eingang bExecute wird die schnelle M-Funktion [} 68] nMFuncNozurückgesetzt. Für den Fall, dass die M-Funktion nicht anliegt, wird kein Fehler zurückgegeben.

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpReset-FastMFuncEx [} 143].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;nMFuncNo       : UINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nChnId: Kanal-ID

nMFuncNo: Fliegende M-Funktion, die zurückgesetzt werden soll

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.15 ItpSetBottleNeckLookAhead

PLC NCI Libraries

TwinCAT 3 NC I192 Version: 1.0

Der Baustein ItpSetBottleNeckLookAhead legt fest, wie viel Segmente maximal für dieFlaschenhalserkennung (Kontur-Kollisions-Überwachung) in die Zukunft geschaut darf. Dabei ist zubeachten, dass Segmente, die aufgrund der Radiuskorrektur eingefügt wurden (z.B. Zusatzsegmente anspitzen Winkeln) mit berücksichtigt werden.

Eine weitere Beschreibung ist in der Interpreter [} 97]-Dokumentation zu finden.

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpSetBott-leNeckLookAheadEx [} 144].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;nLookAhead     : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nChnId: Kanal-ID

nLookAhead: Legt die Größe des Look-Aheads fest

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.16 ItpSetBottleNeckMode

Der Baustein ItpSetBottleNeckMode legt die Verhaltensweise bei einer auftretenden Kontur-Kollision(Flaschenhals) fest.

PLC NCI Libraries

TwinCAT 3 NC I 193Version: 1.0

Eine weitere Beschreibung ist in der Interpreter [} 97]-Dokumentation zu finden.

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpSetBott-leNeckModeEx [} 145].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;eBottleNeckMode: E_ItpBnModetTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nChnId: Kanal-ID

eBottleNeckMode: Enum für die Verhaltensweise bei einer auftretenden Kontur-Kollision

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.TYPE E_ItpBnMode:(ItpBnm_Abort   := 0,ItpBnm_Adjust  := 1,ItpBnm_Leave   := 2);END_TYPE

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.17 ItpSetSubroutinePath

Mit dem Baustein ItpSetSubroutinePath wird optional der Suchpfad für Unterprogramme gesetzt.

PLC NCI Libraries

TwinCAT 3 NC I194 Version: 1.0

Wenn ein Unterprogramm noch eingebunden werden muss, wird in folgender Reihenfolge nach der Dateigesucht:

• optionaler Suchpfad (ItpSetSubroutinePath)• Pfad aus dem das Hauptprogramm geladen wurde• TwinCAT\Mc\Nci -Verzeichnis

Es kann immer nur ein optionaler Pfad wirken und dieser bleibt bestehen, bis er

• mit einem anderen Pfad oder• mit einem Leerstring

überschrieben wird.

Nach einem TwinCAT-Restart muss der Pfad neu zugewiesen werden.

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpSetSubrou-tinePathEx [} 149].

InterfaceVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;sPath          : STRING;nLength        : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nChnId: Kanal-ID

sPath: optionaler Pfad für Unterprogramme, wird mit einem Leerstring deaktiviert.

nLength: Stringlänge

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

PLC NCI Libraries

TwinCAT 3 NC I 195Version: 1.0

4.1.4.18 ItpSetToolDescNull

Der FB ItpSetToolDescNull überschreibt alle Werkzeugparameter (inkl. Nummer & Type) des Kanals mitNull.

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpSetToolDe-scNullEx [} 150].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Mit einer steigenden Flanke werden alle Werkzeugparameter des NC-Kanals mit Nullüberschrieben.

nChnId: ID des NC-Kanals

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Siehe auch:

• ItpWriteToolDesc [} 200],

• ItpReadToolDesc [} 186]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

PLC NCI Libraries

TwinCAT 3 NC I196 Version: 1.0

4.1.4.19 ItpSetZeroShiftNull

Der FB ItpSetZeroShiftNull überschreibt alle Nullpunktverschiebungen des Kanals mit Null.

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpSetZeroS-hiftNullEx [} 151].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Mit einer steigenden Flanke werden alle Nullpunktverschiebungen des NC-Kanals mit Nullüberschrieben.

nChnId: ID des NC-Kanals

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Siehe auch:

• ItpWriteZeroShift [} 201]

• ItpReadZeroShift [} 187]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

PLC NCI Libraries

TwinCAT 3 NC I 197Version: 1.0

4.1.4.20 ItpStartStop

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpStartSto-pEx [} 153].

InterfaceVAR_INPUTbStart         : BOOL;bStop          : BOOL;nChnId         : UDINT;tTimeOut       : TIME;END_VAR

bStart: eine positive Flanke startet den NC-Kanal

bStop: eine positive Flanke stoppt den NC-Kanal. Bei einem Stop-Befehl werden alle Tabellen in der NCgelöscht und die Achsen geregelt angehalten.

nChnId: Kanal-ID

tTimeOut: ADS Timeout-Delay

HINWEIS! Der Eingang bStop hat eine höhere Priorität als der Eingang bStart, d.h. wenn beideEingänge eine positive Flanke haben, wird ein Kanal-Stop ausgeführt.

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.21 ItpStepOnAfterEStop

PLC NCI Libraries

TwinCAT 3 NC I198 Version: 1.0

Der Baustein ItpStepOnAfterEStop ermöglicht die weitere Abarbeitung des Teileprogramms nach einemprogrammierten EStop.

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpStepOnAf-terEStopEx [} 154].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nGrpId         : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nGrpId: Gruppen-ID

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Siehe auch:

• ItpEStop [} 178]

• ItpIsEStop [} 183]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.22 ItpWriteRParams

Der Baustein ItpWriteRParams schreibt R-Parameter in die NC.

PLC NCI Libraries

TwinCAT 3 NC I 199Version: 1.0

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpWriteRPa-ramsEx [} 155].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;pAddr          : PVOID;nIndex         : DINT;nCount         : DINT;tTimeOut       : TIME;END_VAR

bExecute: Mit einer steigenden Flanke wird der Schreibvorgang gestartet.

nChnId: ID des NC-Kanals dessen R-Parameter beschrieben werden sollen.

pAddr: Adresse der Variablen, die die zu schreibenden Daten enthält. Dabei werden die Daten direkt ab derangegebenen Adresse verwendet. D.h. nIndex ist nicht als Offset zu pAddr zu sehen. Die Daten befindensich für gewöhnlich in einem Array vom Typ LREAL, das vom Anwender definiert werden muss.

nIndex: Beschreibt den Index des R-Parameters der aus NC Sicht beschrieben werden soll.

nCount: Anzahl der zu beschreibenden R-Parameter

tTimeOut: ADS Timeout-Delay

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

Beispiel

In diesem Beispiel werden aus NC Sicht die Parameter R90 bis R99 beschrieben.VARarrfRParam90to99 : ARRAY[0..9] OF LREAL;fbWriteRParam    : ItpWriteRParams;n                : INT := 0;bWriteParam      : BOOL := FALSE;END_VAR

FOR n:=0 TO 9 DOarrfRParam90to99[n] := 90 + n;END_FOR

fbWriteRParam( bExecute := bWriteParam, nChnId := 2, pAddr := ADR( arrfRParam90to99[0] ),

PLC NCI Libraries

TwinCAT 3 NC I200 Version: 1.0

 nIndex := 90, nCount := 10,  tTimeOut := T#200ms );

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.23 ItpWriteToolDesc

Der Baustein ItpWriteToolDesc schreibt einen Block von Werkzeugparametern.

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpWriteTool-DescEx [} 156].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;nDNo           : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nChnId: Kanal-ID

nDNo: D-Wort für das die Werkzeugparameter ausgelesen werden sollen. nDoNo kann Werte von 1 biseinschließlich 255 annehmen.

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsToolDesc      : ToolDesc;END_VAR

sToolDesc: Struktur, die die neuen Werkzeugparameter enthält. Auf diese Struktur wird nur lesendzugegriffen. Die Bedeutung der Parameter ist vom Werkzeugtyp abhängig und kann den Werkzeugdaten[} 85] entnommen werden.

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

PLC NCI Libraries

TwinCAT 3 NC I 201Version: 1.0

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.TYPE ToolDesc:STRUCTnToolNumber    : UDINT; (*valid range from 0 .. 65535*)nToolType      : UDINT;fParam         : ARRAY [2..15] OF LREAL;END_STRUCTEND_TYPE

Siehe auch:

• ItpReadToolDesc [} 186]

• ItpSetToolDescNull [} 195]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.4.24 ItpWriteZeroShift

Der Baustein ItpWriteZeroShift schreibt für die angegebene Nullpunktverschiebung dieVerschiebungskomponenten X, Y und Z.

Aus Kompatibilitätsgründen gibt es für jede einstellbare Nullpunktverschiebung pro Achse zwei Parameter(grob & fein). Beim Schreiben einer neuen Nullpunktverschiebung mit diesem Baustein wird der neue Wert inden 'Fein-Parameter' geschrieben. In den 'Grob-Parameter' wird eine 0.0 eingetragen. Auf diese Weise ist esmöglich, dass z.B. mit dem ItpReadZeroShift [} 187] Baustein die Nullpunktverschiebung gelesen, modifiziertund erneut der NC übergeben wird.

Hinweis

Veraltete VersionDieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mitbestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpWriteZe-roShiftEx [} 157].

VAR_INPUTVAR_INPUTbExecute       : BOOL;nChnId         : UDINT;nZsNo          : UDINT;tTimeOut       : TIME;END_VAR

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt

nChnId: Kanal-ID

nZsNo: Nummer der Nullpunktverschiebung

NC-seitig sind G54 bis G59 Nullpunktverschiebungen, wobei G58 und G59 nur aus dem NC-Programmeditiert werden können. Der gültige Wertebereich für 'nZsNo' ist deshalb von 54 bis 57.

PLC NCI Libraries

TwinCAT 3 NC I202 Version: 1.0

tTimeOut: ADS Timeout-Delay

VAR_IN_OUTVAR_IN_OUTsZeroShiftDesc : ZeroShiftDesc;END_VAR

sZeroShiftDesc: Struktur mit den Komponenten der Nullpunktverschiebung. Auf diese Struktur wird nurlesend zugegriffen.

VAR_OUTPUTVAR_OUTPUTbBusy     : BOOL;bErr      : BOOL;nErrId    : UDINT;END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt,längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird anden Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung desDienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehleraufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen einesBefehls an den Eingängen auf FALSE zurückgesetzt.

nErrId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS Fehlerdokumentation [} 236] oder in der NC Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.TYPE ZeroShiftDesc:STRUCTfShiftX : LREAL;fShiftY : LREAL;fShiftZ : LREAL;END_STRUCTEND_TYPE

Siehe auch:

• ItpReadZeroShift [} 187]

• ItpSetZeroShiftNull [} 201]

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.5 Obsolete

4.1.5.1 F_GetVersionTcNciUtilities

Diese Funktion gibt eine Stelle der dreiteiligen Versionsnummer der TwinCAT 2 SPS-BibliothekTcNciUtilities.lib als UINT zurück.

PLC NCI Libraries

TwinCAT 3 NC I 203Version: 1.0

Hinweis

Veraltete VersionDiese Funktion existiert ausschließlich zur Gewährleistung der Kompatibilität mit bestehen-den Projekten. Für neue Projekte verwenden Sie bitte die globale Struktur stLibVersi-on_Tc2_NCI.

VAR_INPUTFUNCTION F_GetVersionNciUtilities

VAR_INPUTnVersionElement      : UINT;END_VAR

nVersionElement: Stelle der Versionsnummer die ausgelesen werden soll (Wertebereich: [1..3])

Rückgabewert

F_GetVersionNciUtilities: Versionsnummer

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.5.2 Get_TcNcCfg_Version

Diese Funktion gibt die Versionsnummer der TwinCAT 2 SPS-Bibliothek TcNcCfg.lib als String zurück.

Hinweis

Veraltete VersionDiese Funktion existiert ausschließlich zur Gewährleistung der Kompatibilität mit bestehen-den Projekten. Für neue Projekte verwenden Sie bitte die globale Struktur stLibVersi-on_Tc2_NCI.

Rückgabewert

Get_TcNcCfg_Version: Versionsnummer

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.1.5.3 ItpGetVersion

ItpGetVersion ist eine Funktion, die die Versionsnummer der TwinCAT2 SPS-Bibliothek TcNCI.lib als Stringzurückgibt.

PLC NCI Libraries

TwinCAT 3 NC I204 Version: 1.0

Hinweis

Veraltete VersionDiese Funktion existiert ausschließlich zur Gewährleistung der Kompatibilität mit bestehen-den Projekten. Für neue Projekte verwenden Sie bitte die globale Struktur stLibVersi-on_Tc2_NCI.

VAR_INPUTFUNCTION ItpGetVersion

VAR_INPUTEND_VAR

Rückgabewert

ItpGetVersion: Versionsnummer

BeispielVARstrVersion: STRING(20);END_VAR

strVersion := ItpGetVersion();

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_NCI

4.2 PLC Library: Tc2_PlcInterpolationDie Tc2_PlcInterpolation-Bilbliothek bietet eine Alternative zur Verwendung von G-Code (DIN 66025). Mitdieser Bibliothek ist es möglich, interpolierte Fahrbefehle unmittelbar aus der SPS und ohne die Verwendungvon G-Code auszuführen.

In einem ersten Schritt wird eine Tabelle verschiedener Fahrbefehle und Zusatzfunktionen beschrieben.Hierzu werden Strukturen wie zum Beispiel ST_NciGeoLine an den FB NciFeedTablePreparationübergeben. Hierdurch wird der Fahrbefehl an die Tabelle angehängt. Wenn die Tabelle voll ist oder alleerforderlichen Einträge in der Tabelle sind, wird NciFeedTable dazu aufgerufen, den Tabelleninhalt zum NC-Kern zu übertragen. Mit der Datenübertragung wird die Ausführung direkt gestartet.

Funktionsbausteine, die zur Gruppierung von Achsen (oder zur Kanalsteuerung (Kanaloverride) benötigtwerden, befinden sich in der PLC Library: Tc2_NCI [} 106].

Funktionsbaustein BeschreibungFB_NciFeedTablePreparation [} 206] Füllt eine Tabelle mit NCI-Bewegungen in der SPS

FB_NciFeedTable [} 207] Übergibt eine zuvor geschriebene Tabelle an denNC-Kern und startet die Bewegung

Folgende Strukturen können als Eingangsparameter für den Baustein NciFeedTablePreparation benutztwerden:

PLC NCI Libraries

TwinCAT 3 NC I 205Version: 1.0

Strukturen Enum BeschreibungOrganisation

E_NciEntryTypeNone Keine FunktionST_NciGeoStart [} 209] E_NciEntryTypeGeoStart Stellt die Startposition des ersten

Geometrieeintrags einST_NciEndOfTables [} 220] E_NciEntryTypeEndOfTables Signalisiert das Ende der

GeometrietabelleFahrbefehle

ST_NciGeoLine [} 210] E_NciEntryTypeGeoLine Beschreibt eine Gerade

ST_NciGeoCirclePlane [} 211] E_NciEntryTypeGeoCirclePlane Beschreibt einen Kreis in derHauptebene(Mittelpunktprogrammierung)

ST_NciGeoCircleCIP [} 212] E_NciEntryTypeGeoCircleCIP Beschreibt einen frei im Raumliegenden Kreis

ST_NciGeoBezier3 [} 213] E_NciEntryTypeGeoBezier3 Beschreibt einen Bezier 3. Ordnungmit Kontrollpunkten

ST_NciGeoBezier5 [} 213] E_NciEntryTypeGeoBezier5 Beschreibt einen Bezier 5. Ordnungmit Kontrollpunkten

ST_NciDwellTime [} 218] E_NciEntryTypeDwellTime Beschreibt eine VerweilzeitBahnparameter

ST_NciBaseFrame [} 217] E_NciEntryTypeBaseFrame Beschreibt eineNullpunktverschiebung und Rotation

ST_NciVertexSmoothing [} 217] E_NciEntryTypeVertexSmoothing Aktiviert eine Verschleifung anSegmentübergängen

ST_NciTangentialFollowingDesc[} 219]

E_NciEntryTypeTfDesc Aktiviert die tangentiale Nachführungdes Werkzeugs

DynamikST_NciDynOvr [} 216] E_NciEntryTypeDynOvr Verändert den dynamischen

OverrideST_NciAxisDynamics [} 218] E_NciEntryTypeAxisDynamics Limitiert die Dynamik der Achsen

ST_NciPathDynamics [} 218] E_NciEntryTypePathDynamics Limitiert die Bahndynamik

ST_NciFeedrateIpol [} 219] E_NciEntryTypeFeedrateIpol Stellt die Art derVorschubinterpolation ein

ParameterbefehleST_NciHParam [} 215] E_NciEntryTypeHParam Setzt einen H-Parameter (DINT)

ST_NciSParam [} 216] E_NciEntryTypeSParam Setzt einen S-Parameter (WORD)

ST_NciTParam [} 216] E_NciEntryTypeTParam Setzt einen T-Parameter (WORD)

ST_NciMFuncFast [} 215] E_NciEntryTypeMFuncFast Parametriert eine schnelle M-Funktion (kein Handshake)

ST_NciMFuncHsk [} 214] E_NciEntryTypeMFuncHsk Parametriert eine M-Funktion mitHandshake

ST_NciMFuncResetAllFast [} 215] E_NciEntryTypeResetAllFast Setzt alle schnellen M-Funktionenzurück

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_PlcInterpolation

PLC NCI Libraries

TwinCAT 3 NC I206 Version: 1.0

4.2.1 FB_NciFeedTablePreparation

Der Funktionsbaustein FB_NciFeedTablePreparation hängt einen Eintrag eines spezifischen Typs an dieFeed-Tabelle (stFeedGropupTable). Ein angehängter Eintrag kann mehr als eine Zeile in der Tabelleerzeugen. Falls sich nicht genug freie Zeilen in der Tabelle befinden, wird ein Fehler zurückgeliefert und eswird kein Eintrag in der Tabelle hinzugefügt. Dann muss der Eintrag entweder einer anderen Tabellehinzugefügt werden oder derselben, nachdem FB_NciFeedTable ausgeführt wurde. DieserFunktionsbaustein kümmert sich um Modalfunktionen wie die tangentiale Nachführung. Es ist deshalbwichtig, immer dieselbe Instanz dieses Funktionsbausteins zu verwenden. Der Funktionsbaustein kann ineinem SPS-Zyklus mehrfach aufgerufen werden.

VAR_INPUTVAR_INPUTnEntryType       : E_NciEntryType;pEntry           : POINTER TO ST_NciGeoLine;bResetTable      : BOOL;bResetAll        : BOOL;END_VAR

nEntryType: Spezifiziert den Eintragstyp, z.B. Linie, Kreis, tangentiale Nachführung

pEntry: Pointer auf Eintragsstruktur – muss übereinstimmen mit nEntryType

bResetTable: Wenn bResetTable = TRUE dann wird die Tabelle ‚stFeedGroupTable’ auf Null gesetzt undnFilledRows wird ebenfalls auf Null gesetzt. Wenn nErrorId = ErrNciFeedTableFull ist, wird dieser Fehlerzurückgesetzt. Alle Modalflags (wie tangentiale Nachführung) bleiben konstant.

bResetAll: Genau wie bResetTable. Daneben werden alle Modalflags auf ihren Standardwert gesetzt undalle Fehler-IDs zurückgesetzt.

VAR_IN_OUTVAR_IN_OUTstFeedGroupTable : ST_NciFeedGroupTableEND_VAR

stFeedGroupTable: Tabelle, die die Zeilen für den NC-Kernel enthält.

VAR_OUTPUTVAR_OUTPUTnFilledRows      : INT;bError           : BOOL;nErrorId         : UDINT;END_VAR

nFilledRows: Anzahl gefüllter Zeilen.

bError: Wird TRUE, wenn ein Fehler aufgetreten ist.

nErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS-Fehlerdokumentation [} 236] oder in der NC-Fehlerdokumentation [} 240] (Fehlercodes ab 0x4000)nachgeschlagen werden.

HINWEIS! Wenn bResetTable, bResetAll, oder bError TRUE ist, werden keine weiteren Einträgeakzeptiert.

HINWEIS! Der Fehlercode 0x4B72 zeigt an, dass die Tabelle voll ist, und der letzte Eintrag nichtakzeptiert wurde.

PLC NCI Libraries

TwinCAT 3 NC I 207Version: 1.0

Beispiel:stGeoLine.nDisplayIndex := 1;stGeoLine.fEndPosX := 0;stGeoLine.fEndPosY := 400;stGeoLine.fEndPosZ := 100;stGeoLine.fEndPosQ1 :=-90;stGeoLine.fVelo := 1000; (*mm per sec*)

fbFeedTablePrep(nEntryType := E_NciEntryTypeGeoLine,pEntry := ADR(stGeoLine),bResetTable:= FALSE,stFeedGroupTable:= stNciFeedGroupTable,nFilledRows=> nFilledRows,bError => bError,nErrorId => nErrorId);

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_PlcInterpolation

4.2.2 FB_NciFeedTable

Der Funktionsbaustein FB_NciFeedTable übergibt eine gegebene Tabelle zum NC-Kern. Wenn derOverride gesetzt und die Freigaben aktiviert sind, wird die Ausführung sofort gestartet. Nachdem dieÜbergabe abgeschlossen ist, wird bFeedingDone TRUE. Dieses Signal kann für einen erneutesÜberschreiben der Tabelle mit NciFeedTablePreparation [} 206] verwendet werden. InNciFeedTablePreparation muss die Tabelle vorher zurückgesetzt werden.

bChannelDone signalisiert die vollständige Ausführung im NC-Kern der Tabellen. Deshalb muss derIdentifier ST_NciEndOfTables [} 208] an das Ende der letzten Tabelle gesetzt werden.

VAR_INPUTVAR_INPUTbExecute          : BOOL;bReset            : BOOL;bLogFeederEntries : BOOL;END_VAR

bExecute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.

bReset: Löst einen Kanalreset aus und setzt ebenfalls den Funktionsbaustein zurück.

bLogFeederEntries: Wenn TRUE, wird eine Logdatei ‚PlcItpFeed.log’ in den TwinCAT\Mc\Nci-Ordnergeschrieben. Sie enthält alle Einträge, die über ADS an den NC-Kern gesendet werden. WennbLogFeederEntries = TRUE, dann ist mehr Zeit erforderlich, bis bFeedingDone TRUE wird.

VAR_IN_OUTVAR_IN_OUTstFeedGroupTable  : ST_NciFeedGroupTable;stNciToPlc        : NCTOPLC_NCICHANNEL_REF;END_VAR

stFeedGroupTable: Tabelle, die die Zeilen für den NC-Kern enthält.

stNciToPlc: Die Struktur des zyklischen Kanalinterfaces von der NCI zur SPS.

PLC NCI Libraries

TwinCAT 3 NC I208 Version: 1.0

VAR_OUTPUTVAR_OUTPUTbFeedingDone      : BOOL;bChannelDone      : BOOL;bFeedBusy:        : BOOL;bResetBusy:       : BOOL;bError            : BOOL;nErrorId          : UDINT;END_VAR

bFeedingDone: Wird TRUE, wenn alle Zeilen der Tabelle an den NC-Kern gesendet wurden.

bChannelDone: Wird TRUE, wenn alle Einträge der Tabelle im NC-Kern ausgeführt wurden undST_NciEndOfTables erkannt wurde.

bFeedBusy: Wird TRUE, wenn der Funktionsbaustein Einträge an den NC-Kern sendet.

bResetBusy: Wird TRUE, während ein Reset ausgeführt wird.

bError: Wird TRUE, wenn ein Fehler aufgetreten ist.

nErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch dasAusführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in derADS-Fehlerdokumentation [} 236] oder in der NC-Fehlerdokumentation [} 240] nachgeschlagen werden.

Voraussetzungen

Entwicklungsumgebung Zielplattform Einzubindende SPS BibliothekenTwinCAT V3.1.0 PC oder CX (x86 oder x64) Tc2_PlcInterpolation

4.2.3 Typen und Enums

E_NciEntryTypeTYPE E_NciEntryType :(    E_NciEntryTypeNone := 0,    E_NciEntryTypeGeoStart := 1,    E_NciEntryTypeGeoLine := 2,    E_NciEntryTypeGeoCirclePlane := 3,    E_NciEntryTypeGeoCircleCIP := 4,    E_NciEntryTypeGeoBezier3 := 10,    E_NciEntryTypeGeoBezier5 := 11,    E_NciEntryTypeMFuncHsk := 20,    E_NciEntryTypeMFuncFast := 21,    E_NciEntryTypeMFuncResetAllFast := 23,    E_NciEntryTypeHParam := 24,    E_NciEntryTypeSParam := 25,    E_NciEntryTypeTParam := 26,    E_NciEntryTypeDynOvr := 50,    E_NciEntryTypeVertexSmoothing := 51,    E_NciEntryTypeBaseFrame := 52,    E_NciEntryTypePathDynamics := 53,    E_NciEntryTypeAxisDynamics := 55,    E_NciEntryTypeDwellTime := 56,    E_NciEntryTypeFeedrateIpol := 57,    E_NciEntryTypeTfDesc := 100,    E_NciEntryTypeEndOfTables := 1000);END_TYPE

PLC NCI Libraries

TwinCAT 3 NC I 209Version: 1.0

Strukturen Enum BeschreibungOrganisation

E_NciEntryTypeNone Keine FunktionST_NciGeoStart [} 209] E_NciEntryTypeGeoStart Stellt die Startposition des ersten

Geometrieeintrags einST_NciEndOfTables [} 220] E_NciEntryTypeEndOfTables Signalisiert das Ende der

GeometrietabelleFahrbefehle

ST_NciGeoLine [} 210] E_NciEntryTypeGeoLine Beschreibt eine Gerade

ST_NciGeoCirclePlane [} 211] E_NciEntryTypeGeoCirclePlane Beschreibt einen Kreis in derHauptebene(Mittelpunktprogrammierung)

ST_NciGeoCircleCIP [} 212] E_NciEntryTypeGeoCircleCIP Beschreibt einen frei im Raumliegenden Kreis

ST_NciGeoBezier3 [} 213] E_NciEntryTypeGeoBezier3 Beschreibt einen Bezier 3. Ordnungmit Kontrollpunkten

ST_NciGeoBezier5 [} 213] E_NciEntryTypeGeoBezier5 Beschreibt einen Bezier 5. Ordnungmit Kontrollpunkten

ST_NciDwellTime [} 218] E_NciEntryTypeDwellTime Beschreibt eine VerweilzeitBahnparameter

ST_NciBaseFrame [} 217] E_NciEntryTypeBaseFrame Beschreibt eineNullpunktverschiebung und Rotation

ST_NciVertexSmoothing [} 217] E_NciEntryTypeVertexSmoothing Aktiviert eine Verschleifung anSegmentübergängen

ST_NciTangentialFollowingDesc[} 219]

E_NciEntryTypeTfDesc Aktiviert die tangentiale Nachführungdes Werkzeugs

DynamikST_NciDynOvr [} 216] E_NciEntryTypeDynOvr Verändert den dynamischen

OverrideST_NciAxisDynamics [} 218] E_NciEntryTypeAxisDynamics Limitiert die Dynamik der Achsen

ST_NciPathDynamics [} 218] E_NciEntryTypePathDynamics Limitiert die Bahndynamik

ST_NciFeedrateIpol [} 219] E_NciEntryTypeFeedrateIpol Stellt die Art derVorschubinterpolation ein

ParameterbefehleST_NciHParam [} 215] E_NciEntryTypeHParam Setzt einen H-Parameter (DINT)

ST_NciSParam [} 216] E_NciEntryTypeSParam Setzt einen S-Parameter (WORD)

ST_NciTParam [} 216] E_NciEntryTypeTParam Setzt einen T-Parameter (WORD)

ST_NciMFuncFast [} 215] E_NciEntryTypeMFuncFast Parametriert eine schnelle M-Funktion (kein Handshake)

ST_NciMFuncHsk [} 214] E_NciEntryTypeMFuncHsk Parametriert eine M-Funktion mitHandshake

ST_NciMFuncResetAllFast [} 215] E_NciEntryTypeResetAllFast Setzt alle schnellen M-Funktionenzurück

ST_NciGeoStart

Stellt die Startposition des ersten Geometrie-Eintrags ein. Dies ist erforderlich, wenn der erste Geometrie-Eintrag ein Kreis ist oder die tangentiale Nachführung im ersten Segment ON ist. Diese Struktur kannoptional bei jedem Start der ersten Tabelle geschrieben werden.TYPE ST_NciGeoStart :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeGeoStart; (*do not override this parameter *)fPosX: LREAL;fPosY: LREAL;fPosZ: LREAL;

PLC NCI Libraries

TwinCAT 3 NC I210 Version: 1.0

fPosQ1: LREAL;fPosQ2: LREAL;fPosQ3: LREAL;fPosQ4: LREAL;fPosQ5: LREAL;END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

fPosX: Startposition X

fPosY: Startposition Y

fPosZ: Startposition Z

fPosQ1: Startposition Q1

fPosQ2: Startposition Q2

fPosQ3: Startposition Q3

fPosQ4: Startposition Q4

fPosQ5: Startposition Q5

ST_NciGeoLine

Beschreibt eine Gerade mit spezifizierter Geschwindigkeit.TYPE ST_NciGeoLine :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeGeoLine; (*do not override this parameter *)nDisplayIndex: UDINT;fEndPosX: LREAL;fEndPosY: LREAL;fEndPosZ: LREAL;fEndPosQ1: LREAL;fEndPosQ2: LREAL;fEndPosQ3: LREAL;fEndPosQ4: LREAL;fEndPosQ5: LREAL;fVelo: LREAL;bRapidTraverse: BOOL;bAccurateStop: BOOL; (* VeloEnd := 0 *)END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fEndPosX: Zielposition X

fEndPosY: Zielposition Y

fEndPosZ: Zielposition Z

fEndPosQ1: Zielposition Q1

fEndPosQ2: Zielposition Q2

fEndPosQ3: Zielposition Q3

fEndPosQ4: Zielposition Q4

fEndPosQ5: Zielposition Q5

fVelo: Zielbahngeschwindigkeit, wie F in G-Code, allerdings in Basiseinheiten pro Sekunde (z.B. mm/s)

bRapidTraverse: TRUE hat dieselbe Wirkung wie G0, FALSE behandelt diesen Eintrag wie G01

bAccurateStop: Genauhalt (TRUE hat dieselbe Wirkung wie G09)

PLC NCI Libraries

TwinCAT 3 NC I 211Version: 1.0

ST_NciGeoCirclePlane

Beschreibt einen Kreis in der Hauptebene. Der Mittelpunkt ist in absoluten Koordinaten angegeben.

Die orthogonale Komponente beim Mittelpunkt wird intern zugewiesen. Wenn z.B. ein Kreis in der XY-Ebeneprogrammiert wird, so wird ‚fCenterZ‘ intern zugewiesen. Falls der Anwender den Wert explizit zugewiesenhat, wird der Wert dennoch vom Funktionsblock überschrieben. Mit der Programmierung der Höhe, lässt sichauch eine Helix beschreiben. Wird z.B. eine Helix in der XY-Ebene programmiert, wird die Hubhöhe derHelix mit ‚fEndPosZ‘ absolut vorgegeben.TYPE ST_NciGeoCirclePlane :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeGeoCirclePlane; (*do not override this parameter *)nDisplayIndex: UDINT;fEndPosX: LREAL;fEndPosY: LREAL;fEndPosZ: LREAL;fCenterX: LREAL;fCenterY: LREAL;fCenterZ: LREAL;fEndPosQ1: LREAL;fEndPosQ2: LREAL;fEndPosQ3: LREAL;fEndPosQ4: LREAL;fEndPosQ5: LREAL;fVelo: LREAL;bClockwise: BOOL;bAccurateStop: BOOL; (* VeloEnd := 0 *)nPlane: E_NciGeoPlane := E_NciGeoPlaneXY;END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fEndPosX: Zielposition X

fEndPosY: Zielposition Y

fEndPosZ: Zielposition Z

fCenterX: Mittelposition X in absoluten Koordinaten

fCenterY: Mittelposition Y in absoluten Koordinaten

fCenterZ: Mittelposition Z in absoluten Koordinaten

fEndPosQ1: Zielposition Q1

fEndPosQ2: Zielposition Q2

fEndPosQ3: Zielposition Q3

fEndPosQ4: Zielposition Q4

fEndPosQ5: Zielposition Q5

fVelo: Zielbahngeschwindigkeit in Basiseinheiten pro Sekunde (z.B. mm/s), wie F in G-Code

bClockwise: Wenn TRUE, wird der Kreis im Uhrzeigersinn gezogen, ansonsten gegen den Uhrzeigersinn(ähnlich wie G02, G03)

bAccurateStop: Genauhalt [} 45] (TRUE hat dieselbe Wirkung wie G09)

nPlane: Spezifiziert die Ebene: XY, YZ, oder ZX (ähnlich wie G17..G19) (Typ: E_NciGeoPlane [} 212])

Hinweis

Kreissegment als StartsegmentIst das erste Geometrie-Segment ein Kreis, müssen Sie die Startposition mit ST_NciGeo-Start [} 209] setzen.

PLC NCI Libraries

TwinCAT 3 NC I212 Version: 1.0

E_NciGeoPlaneTYPE E_NciGeoPlane :(E_NciGeoPlaneXY := 17,E_NciGeoPlaneZX := 18,E_NciGeoPlaneYZ := 19);END_TYPE

ST_NciGeoCircleCIP

Mit dem CIP-Kreis ist es möglich, einen Kreis frei im Raum zu beschreiben. Er muss sich nicht in derHauptebene befinden. Damit der Kreis eindeutig beschrieben werden kann, dürfen alle 3 Punkte(Anfangspunkt ist implizit vorgegeben) nicht auf einer Geraden liegen. Es lässt sich also auf diese Weisekein Vollkreis programmieren.TYPE ST_NciGeoCircleCIP :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeGeoCircleCIP; (* do not overwrite this parameter *)nDisplayIndex: UDINT;fEndPosX:      LREAL;fEndPosY:      LREAL;fEndPosZ:      LREAL;fCIPPosX:      LREAL;fCIPPosY:      LREAL;fCIPPosZ:      LREAL;fEndPosQ1:     LREAL;fEndPosQ2:     LREAL;fEndPosQ3:     LREAL;fEndPosQ4:     LREAL;fEndPosQ5:     LREAL;fVelo:         LREAL;bAccurateStop: BOOL; (* VeloEnd := 0 *)END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fCIPPosX: X-Position in absoluten Koordinaten (Punkt auf Kreisbahn)

fCIPPosY: Y-Position in absoluten Koordinaten (Punkt auf Kreisbahn)

fCIPPosZ: Z-Position in absoluten Koordinaten (Punkt auf Kreisbahn)

fEndPosX: Zielposition X

fEndPosY: Zielposition Y

fEndPosZ: Zielposition Z

fEndPosQ1: Zielposition Q1

fEndPosQ2: Zielposition Q2

fEndPosQ3: Zielposition Q3

fEndPosQ4: Zielposition Q4

fEndPosQ5: Zielposition Q5

fVelo: Zielbahngeschwindigkeit in Basiseinheiten pro Sekunde (z.B. mm/s), wie F in G-Code

bAccurateStop: Genauhalt [} 45] (TRUE hat dieselbe Wirkung wie G09)

Hinweis

Kreissegment als StartsegmentIst das erste Geometrie-Segment ein Kreis, müssen Sie Startposition mit ST_NciGeoStart[} 209] setzen.

PLC NCI Libraries

TwinCAT 3 NC I 213Version: 1.0

ST_NciGeoBezier3

Beschreibt eine Bezierkurve dritter Ordnung mit Hilfe von Kontrollpunkten. Die Startposition ergibt sich ausdem vorherigen Segment. Der dritte Kontrollpunkt wird durch die Zielposition vorgegeben.TYPE ST_NciGeoBezier3:STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeGeoBezier3; (*do not override this parameter *)nDisplayIndex: UDINT;fControlPoint1X: LREAL;fControlPoint1Y: LREAL;fControlPoint1Z: LREAL;fControlPoint2X: LREAL;fControlPoint2Y: LREAL;fControlPoint2Z: LREAL;fEndPosX: LREAL;fEndPosY: LREAL;fEndPosZ: LREAL;fEndPosQ1: LREAL;fEndPosQ2: LREAL;fEndPosQ3: LREAL;fEndPosQ4: LREAL;fEndPosQ5: LREAL;fVelo: LREAL;bAccurateStop: BOOL; (* VeloEnd := 0 *)END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fControlPoint1X: X Komponente Kontrollpunkt 1

fControlPoint1Y: Y Komponente Kontrollpunkt 1

...

fControlPoint2Z: Z Komponente Kontrollpunkt 2

fEndPosX: Zielposition X

fEndPosY: Zielposition Y

fEndPosZ: Zielposition Z

fEndPosQ1: Zielposition Q1

fEndPosQ2: Zielposition Q2

fEndPosQ3: Zielposition Q3

fEndPosQ4: Zielposition Q4

fEndPosQ5: Zielposition Q5

fVelo: Zielbahngeschwindigkeit in Basiseinheiten pro Sekunde (z.B. mm/s), wie F in G-Code

bAccurateStop: Genauhalt [} 45] (TRUE hat dieselbe Wirkung wie G09)

ST_NciGeoBezier5

Beschreibt eine Bezierkurve 5ter Ordnung mit Hilfe von Kontrollpunkten. Die Startposition ergibt sich ausdem vorherigen Segment. Der fünfte Kontrollpunkt wird durch die Zielposition vorgegeben.TYPE ST_NciGeoBezier5:STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeGeoBezier5; (*do not override this parameter *)nDisplayIndex: UDINT;fControlPoint1X: LREAL;fControlPoint1Y: LREAL;fControlPoint1Z: LREAL;fControlPoint2X: LREAL;fControlPoint2Y: LREAL;

PLC NCI Libraries

TwinCAT 3 NC I214 Version: 1.0

fControlPoint2Z: LREAL;fControlPoint3X: LREAL;fControlPoint3Y: LREAL;fControlPoint3Z: LREAL;fControlPoint4X: LREAL;fControlPoint4Y: LREAL;fControlPoint4Z: LREAL;fEndPosX: LREAL;fEndPosY: LREAL;fEndPosZ: LREAL;fEndPosQ1: LREAL;fEndPosQ2: LREAL;fEndPosQ3: LREAL;fEndPosQ4: LREAL;fEndPosQ5: LREAL;fVelo: LREAL;bAccurateStop: BOOL; (* VeloEnd := 0 *)END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben(Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fControlPoint1X: X Komponente Kontrollpunkt 1

fControlPoint1Y: Y Komponente Kontrollpunkt 1

...

fControlPoint4Z: Z Komponente Kontrollpunkt 4

fEndPosX: Zielposition X

fEndPosY: Zielposition Y

fEndPosZ: Zielposition Z

fEndPosQ1: Zielposition Q1

fEndPosQ2: Zielposition Q2

fEndPosQ3: Zielposition Q3

fEndPosQ4: Zielposition Q4

fEndPosQ5: Zielposition Q5

fVelo: Zielbahngeschwindigkeit in Basiseinheiten pro Sekunde (z.B. mm/s), wie F in G-Code

bAccurateStop: Genauhalt [} 45] (TRUE hat dieselbe Wirkung wie G09)

ST_NciMFuncHsk

Beschreibt eine M-Funktion [} 68] des Typs Handshake. Die M-Funktionsnummer liegt zwischen 0 und 159.TYPE ST_NciMFuncHsk :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeMFuncHsk; (*do not override this parameter *)nDisplayIndex: UDINT;nMFunc: INT;END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

nMFunc: M-Funktionsnummer (0..159)

PLC NCI Libraries

TwinCAT 3 NC I 215Version: 1.0

Hinweis

M-Funktionen in der PlcInterpolation-BibliothekWerden in der PlcInterpolation-Bibliothek M-Funktionen verwendet, müssen diese nicht imUser Interface der XAE eingetragen werden. Eine M-Funktion wirkt immer an der program-mierten Stelle.

ST_NciMFuncFast

Parametriert bis zu 8 schnelle M-Funktionen [} 68]. Die erste M-Funktion muss nMFuncIn0 zugewiesenwerden, die zweite nMFuncIn1 usw. -1 gibt das Ende der Zuweisungen an.TYPE ST_NciMFuncFast :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeMFuncFast; (*do not override this parameter *)nDisplayIndex: UDINT;nMFuncIn0: INT;nMFuncIn1: INT;nMFuncIn2: INT;nMFuncIn3: INT;nMFuncIn4: INT;nMFuncIn5: INT;nMFuncIn6: INT;nMFuncIn7: INT;END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

nMFuncIn0: schnelle M-Funktionsnummer (0..159)

nMFuncIn1: schnelle M-Funktionsnummer (0..159) -1 gibt das Ende der Liste an.

nMFuncIn2: schnelle M-Funktionsnummer (0..159) -1 gibt das Ende der Liste an.

nMFuncIn3: schnelle M-Funktionsnummer (0..159) -1 gibt das Ende der Liste an.

nMFuncIn4: schnelle M-Funktionsnummer (0..159) -1 gibt das Ende der Liste an.

nMFuncIn5: schnelle M-Funktionsnummer (0..159) -1 gibt das Ende der Liste an.

nMFuncIn6: schnelle M-Funktionsnummer (0..159) -1 gibt das Ende der Liste an.

nMFuncIn7: schnelle M-Funktionsnummer (0..159) -1 gibt das Ende der Liste an.

Hinweis

M-Funktionen in der PlcInterpolation-BibliothekWerden in der PlcInterpolation-Bibliothek M-Funktionen verwendet, müssen diese nicht imUser Interface der XAE eingetragen werden. Eine M-Funktion wirkt immer an der program-mierten Stelle.

ST_NciMFuncResetAllFast

Setzt alle schnellen M-Funktionen [} 68] zurück.TYPE ST_NciMFuncResetAllFast :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeMFuncResetAllFast; (*do not override this parameter *)nDisplayIndex: UDINT;END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

ST_NciHParam

Setzt einen H-Parameter [} 72] im zyklischen Kanalinterface.

PLC NCI Libraries

TwinCAT 3 NC I216 Version: 1.0

TYPE ST_NciHParam :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeHParam; (*do not override this parameter *)nDisplayIndex: UDINT;nHParam: UDINT;END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

nHParam: H-Parameter von der NC zur SPS

ST_NciSParam

Setzt einen S-Parameter [} 72] im zyklischen Kanalinterface.TYPE ST_NciSParam :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeSParam; (*do not override this parameter *)nDisplayIndex: UDINT;nSParam: UINT;END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

nSParam: S-Parameter von der NC zur SPS

ST_NciTParam

Setzt einen T-Parameter [} 72] im zyklischen Kanalinterface.TYPE ST_NciTParam :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeTParam; (*do not override this parameter *)nDisplayIndex: UDINT;nTParam: UINT;END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

nTParam: T-Parameter von der NC zur SPS

ST_NciDynOvr

Modalfunktion zur Änderung der Bahndynamik.

Vergleiche DynOvr [} 79] in der Interpreter-Dokumentation [} 29].TYPE ST_NciDynOvr :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeDynOvr; (*do not override this parameter*)nDisplayIndex: UDINT;fDynOvr: LREAL;END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fDynOvr: Wert für dynamischen Override ( 0.01 < fDynOvr <= 1)

PLC NCI Libraries

TwinCAT 3 NC I 217Version: 1.0

ST_NciVertexSmoothing

Modalfunktion zur Aktivierung der Verschleifung am Segmentübergang. Die Verschleifung wirkt, bis siedurch Setzen des Radius auf 0 wieder aufgehoben wird.

Es befindet sich eine detaillierte Beschreibung des Parameters in der Interpreter-Dokumentation [} 29].(paramVertexSmoothing [} 56]).TYPE ST_NciVertexSmoothing :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeVertexSmoothing; (*do not override this parameter *)nDisplayIndex: UDINT;nType: UDINT; (*type of smoothing, e.g. parabola, bi-quad *)nSubtype: UDINT; (*e.g. adaptive, constant radius *)fRadius: LREAL; (*max. radius for tolerance ball *)END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

nType: Verschleifungsart: 2: Parabel, 3: Bi-quadratisch, 4: Bezier 3. Ordnung, 5: Bezier 5. Ordnung

nSubtype: 1: konstanter Toleranzradius, 2: Abstand Schnittpunkt zum Scheitelpunkt, 3: adaptiverToleranzradius

fRadius: Radius der Verschleifungskugel in Basiseinheiten (z.B. mm)

ST_NciBaseFrame

Die Struktur ST_NciBaseFrame beschreibt eine modale Nullpunktverschiebung und Rotation. Dabei ist dieWirkungsweise die gleiche wie die Nullpunktverschiebung und Rotation im Interpreter. D.h. der Punkt umden rotiert wird, ist der aktuelle Nullpunkt (vergl. Rotation [} 52] in der Interpreter-Dokumentation [} 29]).TYPE ST_NciBaseFrame:STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeBaseFrame; (*Do not override this parameter *)nDisplayIndex: UDINT;fShiftX: LREAL;fShiftY: LREAL;fShiftZ: LREAL;fRotX: LREAL;fRotY: LREAL;fRotZ: LREAL;fShiftQ1: LREAL;fShiftQ2: LREAL;fShiftQ3: LREAL;fShiftQ4: LREAL;fShiftQ5: LREAL;END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fShiftX: Nullpunktverschiebung in X-Richtung

fShiftY: Nullpunktverschiebung in Y-Richtung

fShiftZ: Nullpunktverschiebung in Z-Richtung

fRotX: Rotation der X-Achse

fRotY: Rotation der Y-Achse

fRotZ: Rotation der Z-Achse

fShiftQ1: Offset der Q1-Achse

fShfitQ2: Offset der Q2-Achse

PLC NCI Libraries

TwinCAT 3 NC I218 Version: 1.0

fShiftQ3: Offset der Q3-Achse

fShiftQ4: Offset der Q4-Achse

fShiftQ5: Offset der Q5-Achse

ST_NciPathDynamics

Die Struktur ST_NciPathDynamics setzt die Dynamik (Beschleunigung, Verzögerung, Ruck) auf der Bahn.Dabei ist die Wirkungsweise die gleiche wie paramPathDynamics im Interpreter (vergl. paramPathDynamics[} 80] in der Interpreter-Dokumentation [} 29]).TYPE ST_NciPathDynamics:STRUCTnEntryType: E_NciEntryType := E_NciEntryTypePathDynamics; (*do not override this parameter *)nDisplayIndex: UDINT;fAcc: LREAL;fDec: LREAL;fJerk: LREAL;END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fAcc: Maximal erlaubte Bahnbeschleunigung

fDec: Maximal erlaubte Bahnverzögerung

fJerk: Maximal erlaubter Bahnruck

ST_NciAxisDynamics

Die Struktur ST_NciAxisDynamics setzt die Dynamik (Beschleunigung, Verzögerung, Ruck) auf derBahnachsen. Dabei ist die Wirkungsweise die gleiche wie paramAxisDynamics im Interpreter (vergl.paramAxisDynamics [} 80] in der Interpreter-Dokumentation [} 29])TYPE ST_NciAxisDynamics:STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeAxisDynamics; (*Do not override this parameter*)nDisplayIndex: UDINT;nAxis: UDINT;fAcc: LREAL;fDec: LREAL;fJerk: LREAL;END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

nAxis: Achse in der Interpolationsgruppe X:0 Y:1 Z:2 Q1:3 ... Q5:7

fAcc: Maximal erlaubte Achsbeschleunigung

fDec: Maximal erlaubte Achsverzögerung

fJerk: Maximal erlaubter Achsruck

ST_NciDwellTime

Mit der Struktur ST_NciDwellTime wird eine Verweilzeit in Sekunden eingeschaltet (vergl. Verweilzeit [} 45]in der Interpreter-Dokumentation [} 29])TYPE ST_NciDwellTime:STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeDwellTime; (*Do not override this parameter *)nDisplayIndex: UDINT;

PLC NCI Libraries

TwinCAT 3 NC I 219Version: 1.0

fDwellTime: LREAL;END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fDwellTime: Verweilzeit in Sekunden

ST_NciFeedrateIpol

Mit der Struktur ST_NciFeedrateIpol kann die Vorschubinterpolation eingestellt werden (vergl.Vorschubinterpolation [} 45]).TYPE ST_NciFeedrateIpol :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeFeedrateIpol;(*Do not overwrite this parameter*)nDisplayIndex: UDINT;eFeedrateIpol: E_NciFeedrateIpol;(*E_NciFeedrateIpolConstant = FCONST, E_NciFeedrateIpolLinear=FLIN*)END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

eFeedrateIpol: Legt den Vorschubinterpolationstyp fest.TYPE E_NciFeedRateIpol :(E_NciFeedrateIpolConstant,E_NciFeedrateIpolLinear)END_TYPE

ST_NciTangentialFollowingDesc

Dies ist ein Modalbefehl zur Ein-/Ausschaltung der tangentialen Nachführung.TYPE ST_NciTangentialFollowingDesc :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeTfDesc; (*do not override this parameter *)bTangOn: BOOL;nTangAxis: E_NciAxesInGroup; (*axis used for tangential following *)nPathAxis1: E_NciAxesInGroup; (*describing the plane e.g. x*)nPathAxis2: E_NciAxesInGroup; (*e.g. y ==> g17, xy plane*)fOffset: LREAL; (*geo tangent is 0 degree, counting is mathmatical positive *)fCriticalAngle1: LREAL;nTfBehavior: E_TangentialFollowingBehavior; (*what to do if angle becomes bigger than critical angle1 *)END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208]).

bTangOn: Wenn TRUE, wird die tangentiale Nachführung eingeschaltet.

nTangAxis: Achse (Q1..Q5), die als Tangentialachse verwendet wird (Typ: E_NciAxesInGroup [} 219]).

nPathAxis1: Erste Bahnachse, die die Ebene und Ausrichtung zur Berechnung der Tangente beschreibt.

nPathAxis2: Zweite Bahnachse, die die Ebene und Ausrichtung zur Berechnung der Tangente beschreibt.

fOffset: Offset der Tangentialachse

fCriticalAngle1: Kritischer Winkel 1. Die Reaktion, wenn der Winkel zwischen zwei Segmenten größer istals fCriticalAngle1, wird mit nTfBehavior spezifiziert.

nTfBehavior: siehe fCriticalAngle1 (Typ: E_TangentialFollowingBehavior [} 220])

E_NciAxesInGroupTYPE E_NciAxesInGroup :(NoneAxis := 0,

PLC NCI Libraries

TwinCAT 3 NC I220 Version: 1.0

XAxis,YAxis,ZAxis,Q1Axis,Q2Axis,Q3Axis,Q4Axis,Q5Axis);END_TYPE

E_TangentialFollowingBehaviorTYPE E_TangentialFollowingBehavior :(E_TfIngoreAll, (*ignore critical angle *)E_TfErrorOnCritical1 (*if angle becomes bigger than critical angle 1 ==> error *));END_TYPE

E_TfIngoreAll: Der kritische Winkel wird ignoriert.

E_TfErrorOnCritical1: Wird der kritische Winkel überschritten, so wird ein Fehler zurückgegeben.

ST_NciEndOfTables

Gibt den letzten Eintrag der letzten Tabelle an. Wird verwendet zur Signalisierung der bChannelDone-Flag inFB_NciFeedTable [} 207].TYPE ST_NciEndOfTables :STRUCTnEntryType: E_NciEntryType := E_NciEntryTypeEndOfTables; (*do not override this parameter *)END_STRUCTEND_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType [} 208])

Beispiele

TwinCAT 3 NC I 221Version: 1.0

5 BeispieleNCI: NCISimpleSample

Download:

http://infosys.beckhoff.com/content/1031/TF5100_TC3_NC_I/Resources/zip/3438746891.zip

Das Beispiel NCISimpleSample zeigt, wie ein G-Code-Programm aus der SPS geladen und die Abarbeitunggestartet wird.

Voraussetzung ist, dass Sie das beigefügte Teileprogramm TestIt.nc in das TwinCAT\Mc\Nci-Verzeichniskopieren, ansonsten wird das Teileprogramm beim Laden nicht gefunden. Alternativ können Sie den Pfad imSPS-Programm anpassen.

PLC Interpolation: PlcInterpolationSimpleSample

Download:

http://infosys.beckhoff.com/content/1031/TF5100_TC3_NC_I/Resources/zip/9007202198881163.zip

Das Beispiel zeigt, wie eine Bewegung mit der Bibliothek Tc2_PlcInterpolation direkt aus der SPSabgefahren werden kann.

Anhang

TwinCAT 3 NC I222 Version: 1.0

6 Anhang

6.1 Anzeige des Teileprogramms

Auslesen der aktuellen NC-Zeile via ADS

Mit diesem ADS-Read-Befehl werden maximal 3 Zeilen des aktuellen Teileprogramms zurückgegeben.Dabei handelt es sich um die aktuelle Programmzeile und ggf. zwei zuvor abgearbeitete Zeilen.

Funktion ADS-ReadPort 500 (dez)Index Group 0x2300 + Kanal IDIndex Offset 0x2000 0001Daten String (min. 30 byte)

Anhang

TwinCAT 3 NC I 223Version: 1.0

Auslesen des aktuellen Programmnamens

Mit diesem ADS-Read-Befehl wird der Programmname des aktuellen NC-Hauptprogramms zurückgegeben(hier 1_1.nc).

Funktion ADS-ReadPort 500 (dez)Index Group 0x2100 + Kanal IDIndex Offset 0x7Daten String, max. 100 Zeichen

Anhang

TwinCAT 3 NC I224 Version: 1.0

Auslesen der aktuellen Datei-Information

Im Gegensatz zu der Funktion 'Auslesen der aktuellen NC-Zeile' wird hier nicht die Zeile, sondern eineZeileninformation ausgelesen. D.h. als Rückgabewert erhält man den aktuellen Programmnamen (z.B.Dateiname des Unterprogramms) und einen Dateioffset. Die Bedienoberfläche kann mit dieser Informationdie dazugehörige Datei öffnen und die entsprechende Zeile hervorheben. Damit ist man bei der Darstellungnicht mehr auf 3 Zeilen beschränkt, sondern kann beliebig viele Zeile zur Anzeige bringen.

Für den Fall, dass in der NCI ein Lade- bzw. Laufzeitfehler aufgetreten ist, können über diesen WegInformationen zu der dazugehörigen Programmzeile erfragt werden.

Funktion ADS-ReadPort 500 (dez)Index Group 0x2100 + Kanal IDIndex Offset 0x12Daten UINT32 Aktuelle Anzeige von

1: SAF-2: Interpreter3: Fehleroffset

UINT32 Dateioffsetchar[260] Pfad + Programmname

6.2 Anzeige von Technologiedaten

Die aktuell wirkenden Technologiedaten wie G-Funktionen, Nullpunktverschiebungen und Rotation könnenvia ADS ausgelesen werden.

Aktivierung zum Auslesen der Technologiedaten

Um die oben genannten Parameter auszulesen, ist zuvor eine Aktivierung via ADS erforderlich.

Die Funktion muss spätestens vor dem Start des NC-Programms aktiviert werden. Sie bleibt solange aktiv,bis entweder ein TwinCAT Restart durchgeführt oder die Funktion explizit zurückgesetzt wird.

Funktion ADS-WritePort 500 (dez)Index Group 0x2000 + Kanal IDIndex Offset 0x0053Daten DWORD

0: disable (default)1: enable

Anhang

TwinCAT 3 NC I 225Version: 1.0

Auslesen der aktuell wirkenden Nullpunktverschiebung

Mit diesem Befehl wird die wirkende Nullpunktverschiebung (NPV) des aktuell in der Satzausführung (SAF)verfahrenen Segments ausgelesen. Wenn keine NPV aktiv ist (G53), so enthält die Struktur für die einzelnenKomponenten einen Null-Vektor. Diese Daten können z.B. für eine Umschaltung der Anzeige zwischenMaschinen-Koordinaten und Programmierten-Koordinaten verwendet werden.

Die Daten, die z.B. mit dem Funktionsbaustein 'ItpReadZeroShift' ausgelesen werden, können sich vondiesen Werten unterscheiden, da mit dem Funktionsbaustein die Interpreter-Daten ausgelesen werden unddieser ggf. schon neue Verschiebungen berücksichtigt.

Funktion ADS-ReadPort 500 (dez)Index Group 0x2100 + Kanal IDIndex Offset 0x0014Daten {

UINT32 SatzzählerUINT32 dummyLREAL[3] Nullpunktverschiebung G54..G57LREAL[3] Nullpunktverschiebung G58LREAL[3] Nullpunktverschiebung G59}

Auslesen der aktuell wirkenden Rotation

Mit diesem Befehl wird die wirkende Rotation des aktuell in der SAF verfahrenen Segments ausgelesen.

Funktion ADS-ReadPort 500 (dez)Index Group 0x2100 + Kanal IDIndex Offset 0x0015Daten {

UINT32 SatzzählerUINT32 dummyLREAL[3] Rotation in Grad von X, Y & Z}

Auslesen des aktuell wirkenden G-Codes

Der G-Code ist in Gruppen unterteilt. So bilden z.B. die modal wirkenden Geometrietypen (G01, G02...) unddie Ebenenanwahl (G17..G19) eigene Gruppen. Mit dem Auslesen der G-Code Information wird derEnumerator für die Gruppen ausgelesen. Diese können dann applikationsspezifisch zur Anzeige gebrachtwerden.

Da mit dem Read-Befehl eine zu lesende Größe mitgegeben wird, müssen nicht alle Gruppen ausgelesenwerden. Es wird immer von Gruppe 1 der mitgelieferte Speicher gefüllt. Werden z.B. 3x8 Byte alsSpeichergröße übertragen, so werden die Daten des Satzzählers, Gruppe 1 und 2 zurückgeliefert.

Anhang

TwinCAT 3 NC I226 Version: 1.0

Funktion ADS-ReadPort 500 (dez)Index Group 0x2100 + Kanal IDIndex Offset 0x0013Daten {

UINT32 SatzzählerUINT32 Gruppe 1: ModalGeoTypesUINT32 Gruppe 2: BlockwiseGeoTypesUINT32 Gruppe 3: ModalPlaneSelectionUINT32 Gruppe 4:

ModalToolCompensationUINT32 Gruppe 5: ModalToolFeedDirectionUINT32 Gruppe 6: ModalZeroShiftUINT32 Gruppe 7: ModalAccurateStopUINT32 Gruppe 8: BlockwiseAccurateStopUINT32 Gruppe 9:

ModalDesignationAbsIncUINT32 Gruppe 10:

ModalDesignationInchMetricUINT32 Gruppe 11:

ModalFeedRateInCurveUINT32 Gruppe 12: ModalCenterpointCorrUINT32 Gruppe 13: ModalCircleCpAbsIncUINT32 Gruppe 14:

ModalCollisionDetectionUINT32 Gruppe 15: ModalRotationUINT32 Gruppe 16: ModalCalcExRotUINT32 Gruppe 17: ModalDiamUINT32 Gruppe 18: ModalFeedrateIpolUINT32 Gruppe 19: ModalMirror}

#define GCodeOffset 0x1000#define CommonIdentOffset 0x2000 // used for non-g-code commands, like rot, cfc...

Gruppe 1: ModalGeoTypesenum GCodeGroup_ModalGeoTypes{ModalGeoTypeUndefined = 0,ModalGeoTypeG0 = 0 + GCodeOffset, // line - rapid traverseModalGeoTypeG01 = 1 + GCodeOffset, // straight lineModalGeoTypeG02 = 2 + GCodeOffset, // circle clockwiseModalGeoTypeG03 = 3 + GCodeOffset // circle anticlockwise};

Gruppe 2: BlockwiseGeoTypesenum GCodeGroup_BlockwiseGeoTypes{BlockwiseGeoTypeNone = 0,BlockwiseGeoTypeG04 = 4 + GCodeOffset, // dwell timeBlockwiseGeoTypeG74 = 74 + GCodeOffset, // homingBlockwiseGeoTypeCip = 1 + CommonIdentOffset // circle parametrized with 3 points};

Gruppe 3: ModalPlaneSelectionenum GCodeGroup_ModalPlaneSelection{ModalPlaneSelectUndefined = 0,ModalPlaneSelectG17 = 17 + GCodeOffset, // xy-plane

Anhang

TwinCAT 3 NC I 227Version: 1.0

ModalPlaneSelectG18 = 18 + GCodeOffset, // zx-planeModalPlaneSelectG19 = 19 + GCodeOffset // yz-plane};

Gruppe 4: ModalToolCompensationenum GCodeGroup_ModalToolCompensation{ModalToolCompUndefined = 0,ModalToolCompG40 = 40 + GCodeOffset, // tool compensation offModalToolCompG41 = 41 + GCodeOffset, // tool compensation leftModalToolCompG42 = 42 + GCodeOffset // tool compensation right};

Gruppe 5: ModalToolFeedDirectionenum GCodeGroup_ModalToolFeedDirection{ModalToolFeedDirUndefined = 0,ModalToolFeedDirPos = 2 + CommonIdentOffset, // tool feed direction positiveModalToolFeedDirNeg = 3 + CommonIdentOffset // tool feed direction negative};

Gruppe 6: ModalZeroShiftenum GCodeGroup_ModalZeroShift{ModalZeroShiftUndefined = 0,ModalZeroShiftG53 = 53 + GCodeOffset, // zero shift offModalZeroShiftG54G58G59 = 54 + GCodeOffset, // zero shift G54 + G58+ G59ModalZeroShiftG55G58G59 = 55 + GCodeOffset, // zero shift G55 + G58+ G59ModalZeroShiftG56G58G59 = 56 + GCodeOffset, // zero shift G56 + G58+ G59ModalZeroShiftG57G58G59 = 57 + GCodeOffset // zero shift G57 + G58+ G59};

Gruppe 7: ModalAccurateStopenum GCodeGroup_ModalAccurateStop{ModalAccurateStopNone = 0,ModalAccurateStopG60 = 60 + GCodeOffset // modal accurate stop};

Gruppe 8: BlockwiseAccurateStopenum GCodeGroup_BlockwiseAccurateStop{BlockwiseAccurateStopNone = 0,BlockwiseAccurateStopG09 = 9 + GCodeOffset, // common accurate stopBlockwiseAccurateStopTpm = 4 + CommonIdentOffset // target position monitoring};

Gruppe 9: ModalDesignationAbsIncenum GCodeGroup_ModalDesignationAbsInc{ModalDesignAbsIncUndefined = 0,ModalDesignAbsIncG90 = 90 + GCodeOffset, // absolute designationModalDesignAbsIncG91 = 91 + GCodeOffset // incremental designation};

Gruppe 10: ModalDesignationInchMetricenumGCodeGroup_ModalDesignationInchMetric{ModalDesignInchMetricUndefined = 0,ModalDesignInchMetricG70 = 70 + GCodeOffset, // designation inchModalDesignInchMetricG71 = 71 + GCodeOffset, // designation metricModalDesignInchMetricG700 = 700 + GCodeOffset, // designation inch & feedrate recalculatedModalDesignInchMetricG710 = 710 + GCodeOffset // designation metric & feedrate recalculated};

Gruppe 11: ModalFeedRateInCurveenum GCodeGroup_ModalFeedRateInCurve{ModalFeedRateInCurveUndefined = 0,ModalFeedRateInCurveCfc = 5 + CommonIdentOffset, // constant feed contour

Anhang

TwinCAT 3 NC I228 Version: 1.0

ModalFeedRateInCurveCfin = 6 + CommonIdentOffset, // constant feed inner contourModalFeedRateInCurveCftcp = 7 + CommonIdentOffset // constant feed tool center point};

Gruppe 12: ModalCenterpointCorrenum GCodeGroup_ModalCenterpointCorr{ModalCenterpointCorrUndefined = 0,ModalCenterpointCorrOn = 8 + CommonIdentOffset, // circle centerpoint correction onModalCenterpointCorrOff = 9 + CommonIdentOffset // circle centerpoint correction off};

Gruppe 13: ModalCircleCpAbsIncenum GCodeGroup_ModalCircleCpAbsInc{ModalCircleCpUndefined = 0,ModalCircleCpIncremental = 10 + CommonIdentOffset, // circle centerpoint incremental to start pointModalCircleCpAbsolute = 11 + CommonIdentOffset // circle centerpoint absolute};

Gruppe 14: ModalCollisionDetectionenum GCodeGroup_ModalCollisionDetection{ModalCollisionDetectionUndefined = 0,ModalCollisionDetectionOn = 12 + CommonIdentOffset, //collision detection onModalCollisionDetectionOff = 13 + CommonIdentOffset //collision detection off};

Gruppe 15: ModalRotationenum GCodeGroup_ModalRotation{ModalRotationUndefined = 0,ModalRotationOn = 14 + CommonIdentOffset, // rotation is turned onModalRotationOff = 15 + CommonIdentOffset // rotation is turned off};

Gruppe 16: ModalCalcExRotenum GCodeGroup_ModalCalcExRot{ModalCalcExRotUndefined = 0,ModalCalcExRotOn = 16 + CommonIdentOffset, // extended calculation for rotation turned onModalCalcExRotOff = 17 + CommonIdentOffset // extended calculation for rotation turned off};

Gruppe 17: ModalDiamenum GCodeGroup_ModalDiam{ModalDiamUndefined = 0,ModalDiamOn = 18 + CommonIdentOffset, // diameter programming onModalDiamOff = 19 + CommonIdentOffset // diameter programming off};

Group 18: ModalFeedrateIpolenum GCodeGroup_ModalFeedrateIpol{ModalFeedrateIpolUndefined = 0,ModalFeedrateIpolConst = 20 + CommonIdentOffset, // federate interpolation constant (default)ModalFeedrateIpolLinear = 21 + CommonIdentOffset // federate interpoaltion linear to remaining path};

Group 19: ModalMirrorenum GCodeGroup_ModalMirror{// value - (32+CommonIdentOffset) shows the bitmask for mirrored axes// that's why the sequence seems to be strange...//ModalMirrorUndefined = 0,ModalMirrorOff = 32 + CommonIdentOffset,ModalMirrorX = 33 + CommonIdentOffset,ModalMirrorY = 34 + CommonIdentOffset,ModalMirrorXY = 35 + CommonIdentOffset,ModalMirrorZ = 36 + CommonIdentOffset,ModalMirrorZX = 37 + CommonIdentOffset,

Anhang

TwinCAT 3 NC I 229Version: 1.0

ModalMirrorYZ = 38 + CommonIdentOffset,ModalMirrorXYZ = 39 + CommonIdentOffset};

6.3 Anzeige der verbleibenden BahnlängeWenn die Berechnung der verbleibenden Bahnlänge aktiv geschaltet ist, wird diese bis zum nächstenGenauhalt bzw. bis zum letzten Geometriesegment im Speicher (Satzvorbereitung) berechnet. EinGenauhalt wird z.B. mit G09 bzw. G60 generiert. Aber auch M-Funktionen vom Typ Handshake,Dekodierstopps und G04 erzeugen implizit ein Genauhalt.

Aktivierung:

Index Group: 0x3000 + Group IDIndex Offset: 0x0508

vergl. Index Offset Spezifikation für Gruppen-Parameter [} 327]

Auslesen der verbleibenden Bahnlänge:Das Auslesen erfolgt ebenfalls via ADS und kann auch mit dem TwinCAT Scope aufgezeichnet werden.

Index Group: 0x3100 + Group IDIndex Offset: 0x0522

Außerdem kann die verbleibende Bahnlänge durch ItpSetCyclicLrealOffsets [} 146] mit dem zyklischenKanalinterface in die SPS übertragen werden.vergl. Index Offset Spezifikation für Gruppen-Zustand [} 332]

6.4 ParametrierungDie Parametrierung der NCI umfasst die Standard-Dynamikparameter (Beschleunigung, Verzögerung, Ruck)und deren online Wechsel, sowie die Mindestgeschwindigkeit und die Parameter zur Reduktion derBahngeschwindigkeit und deren online Wechsel.

Generelles Verhalten an Segmentübergängen• Geschwindigkeit: Die Segmentsollgeschwindigkeit VS wechselt vom Segmentübergang von VS_in in

VS_out. Am Segmentübergang wird die Geschwindigkeit immer auf den niedrigeren der beiden Wertereduziert.

• Beschleunigung: die aktuelle Bahnbeschleunigung wird am Segmentübergang immer auf a = 0 geführt.• Ruck: der Ruckeinheit J wird in Abhängigkeit von der Geometrie am Segmentübergang gewechselt.

Das kann einen merkbaren Dynamiksprung bedingen.

• Es gibt die Möglichkeit der Glättung von Segmentübergängen. [} 32]

Anhang

TwinCAT 3 NC I230 Version: 1.0

Tab. 1: NCI-Gruppen-Parameter

Parameter Bedeutung und RandbedingungenKurvengeschwindigkeitsreduktionsmodus [} 231] Coulomb, Cosinus oder VELOJUMP

Mindestgeschwindigkeit [} 230] Bahngeschwindigkeit die (bis auf Spitzen mitBewegungsumkehr) nicht unterschritten werden darf:V_min ≥ 0.0

Reduktionsmethode für C1-Übergänge [} 231] Reduktionsfaktor für C1-Übergänge: C1 ≥ 0.0VELOJUMP: C0-Reduktionsfaktoren C0X, C0Y,C0Z

Reduktionsfaktoren für C0-Übergänge für X-, Y-, Z-Achse: C0X ≥ 0.0, C0Y ≥ 0.0, C0Z ≥ 0.0(Achsparameter, Online-Änderung im Interpreter[} 81] möglich).

DEVIATIONANGLE: -Reduktionsfaktor C0 C0 Bahn-Reduktionsfaktor für C0-Übergänge: 1.0 ≥ C0 ≥0.0

DEVIATIONANGLE: Kritischer Winkel (tief) φ_l Winkel ab dem eine Geschwindigkeitsreduktion amSegmentübergang einsetzt: 0 ≤ φ_l < φ_h ≤ π

DEVIATIONANGLE: Kritischer Winkel (hoch) φ_h Winkel ab dem die Geschwindigkeit amSegmentübergang (v_link) auf 0.0 reduziert wird: 0 ≤φ_l < φ_h ≤ π

Toleranzkugelradius [} 59] TBR Radius der Toleranzkugeln: 1000.0 mm ≥TBR ≥ 0.1mm

C2-Reduktionsfaktor [} 81] C2 Reduktionsfaktor für geglättete Übergänge: C2 ≥ 0.0

Globale Software-Endlagen der Bahn [} 232] Schaltet die Überwachung der globalen Software-Endlagen für die Bahnachsen

Mindestgeschwindigkeit

Jede NCI-Gruppe hat eine Mindestbahngeschwindigkeit V_min≥ 0.0 die niemals unterschritten werden sollte.Vom Benutzer vorgegebene Ausnahmen sind: programmierter Halt am Segmentübergang, Bahnende undOverrideanforderungen die unter die Mindestgeschwindigkeit führen. Systembedingte Ausnahme ist eineBewegungsumkehr. Bei der Reduktionsmethode DEVIATIONANGLE: gilt für den Ablenkungswinkel φ ≥ φ_h,dann wird die Mindestgeschwindigkeit nicht beachtet. V_min muss kleiner als die Bahnsollgeschwindigkeit(F-Wort) jedes Segments sein.

Die Mindestgeschwindigkeit kann jederzeit im NC-Programm auf einen neuen Wert V_min≥ 0.0 in Einheitenmm/sec gesetzt werden.

Klassifikation der Segmentübergänge

Im Allgemeinen ist der Übergang von einem Segment zum nächsten nicht beliebig glatt, so dass zurVermeidung von dynamischen Instabilitäten die Geschwindigkeit im Übergangspunkt geeignet reduziertwerden muss. Dazu werden die Übergänge geometrisch klassifiziert und in drei Schritten die effektiveÜbergangsgeschwindigkeit V_link festgelegt.

Segmente - als geometrische Objekte - werden hier als Kurven im Sinne der Differentialgeometrieaufgefasst, die mittels der Bogenlänge parametriert sind.Ein Segmentübergang von einem Segment S_in zu einem Segment S_out heißt vom geometrischen Typ Ck,wobei k eine natürliche Zahl (inklusive 0) ist, wenn jedes Segment k mal stetig nach der Bogenlängedifferenzierbar ist und die k-ten Ableitungen am Übergangspunkt übereinstimmen.

C0-Übergänge haben am Übergangspunkt einen Knick.

C1-Übergänge sehen glatt aus, sind aber dynamisch nicht glatt. Ein Beispiel ist der Übergang Gerade-Halbkreis im Stadion: am Übergangspunkt gibt es einen Sprung in der Beschleunigung.

C2-Übergänge (und natürlich Ck-Übergänge mit k > 2) sind dynamisch glatt (ruckbegrenzt).

Reduktionsmethode für C2-Übergänge

Wie an allen Übergängen wird an C2-Übergängen V_link gleich dem Minimum der beidenSegmentsollgeschwindigkeiten gesetzt: V_link = min(V_in,V_out). Weiter wird nicht reduziert.

Anhang

TwinCAT 3 NC I 231Version: 1.0

Reduktionsmethode für C1-Übergänge

Zuerst wirdV_link gleich dem Minimum der beiden Segmentsollgeschwindigkeiten gesetzt: V_link =min(V_in,V_out). In Abhängigkeit von den Geometrietypen G_in und G_out auf den zu verbindendenSegmenten und den Ebenenanwahlen auf G_in und G_out wird der geometrisch induzierte absoluteBeschleunigungssprung AccJump im Segmentübergang unter der Geschwindigkeit V_link berechnet. Istdieser größer als C1 mal der für die Geometrien und Ebenen zulässigen Bahn-Beschleunigung /(absolute)Verzögerung AccPathReduced, dann wird die Geschwindigkeit V_link so reduziert, dass der sichergebende Beschleunigungssprung gleich AccPathReduced ist. Ist dieser Wert kleiner als V_min, dann hatV_min Priorität.

HINWEIS! Bei Wechsel der Dynamikparameter ändert sich automatisch die für die Geometrien undEbenen zulässige Bahn-Beschleunigung und damit das Verhalten der Reduktion.

Interface: XAE [} 20] und Interpreter [} 81]

Reduktionsmodi für C0-Übergänge

Es gibt für C0-Übergänge mehrere Reduktionsmethoden. Die Reduktionsmethode VELOJUMP reduziert dieGeschwindigkeit nach erlaubten Geschwindigkeitssprüngen pro Achse. Die ReduktionsmethodeDEVIATIONANGLE reduziert die Geschwindigkeit in Abhängigkeit vom Ablenkungswinkel φ (Winkelzwischen der normierten End-Tangente T_in des einlaufenden Segments S_in und der normierten Anfangs-Tangente T_out des auslaufenden Segments S_out). Die Cosinus Reduktionsmethode ist ein reingeometrisches Verfahren (siehe Kurvengeschwindigkeitsreduktionsmethode [} 22]).

Für mechanisch unabhängige Achsen empfiehlt sich die Methode VELOJUMP, während für mechanischgekoppelte Achsen (z.B. ist die Y-Achse auf der X-Achse befestigt) in der Regel die MethodeDEVIATIONANGLE empfehlenswert ist.

Reduktionsmethode für C0-Übergänge: VELOJUMP

SeiV_link = min(V_in,V_out) und für jede Achse V_jump[i] = C0[i] * min(A+[i],-A-[i]) * T der erlaubte absoluteGeschwindigkeitssprung der Achse [i], wobei C0[i] der Reduktionsfaktor und A+[i], A-[i] dieBeschleunigungs-/Verzögerungsbegrenzungen der Achse [i], sowie T die Zykluszeit ist. Die Reduktionsmethode VELOJUMPsorgt dafür, dass die Bahngeschwindigkeit am Segmentübergang V_link soweit reduziert wird, dass derabsolute Sprung in der Achssollgeschwindigkeit der Achse [i] höchstens V_jump[i] ist. Allerdings hat V_minPriorität: ist V_link kleiner als V_min, dann wird V_link = V_min gesetzt. Bei Bewegungsumkehr ohneprogrammierten Halt springt die Achsgeschwindigkeit.

HINWEIS! Bei Wechsel der Dynamikparameter werden die maximal erlaubtenAchsgeschwindigkeitssprünge automatisch mitgewechselt.

Reduktionsmethode für C0-Übergänge: DEVIATIONANGLE

HINWEIS! Bei Wechsel der Dynamikparameter werden die Reduktionsfaktoren nicht automatischmitgewechselt.

Wechsel der Parameter für C0-Übergänge: DEVIATIONANGLE

Tab. 2: Parameter

Parameter Bedeutung und RandbedingungenDEVIATIONANGLE: -Reduktionsfaktor C0 C0 Bahn-Reduktionsfaktor für C0-Übergänge: 1.0 ≥ C0 ≥

0.0DEVIATIONANGLE: Kritischer Winkel (tief) φ_l Winkel ab dem die Reduktion einsetzt: 0 ≤ φ_l < φ_h

≤ πDEVIATIONANGLE: Kritischer Winkel (hoch) φ_h Winkel ab dem auf v_link = 0.0 reduziert wird: 0 ≤ φ_l

< φ_h ≤ π

Interface: Interpreter [} 81]

Anhang

TwinCAT 3 NC I232 Version: 1.0

Reduktionsmethode Cosinus

Siehe hier [} 22].

Toleranzkugelradius und C2-Reduktionsfaktor

Diese Parameter werden unter dem Thema Glättung von Segmentübergängen [} 32] beschrieben.

Globale Software-Endlagen der Bahn

Mit der Funktion 'Globale Software-Endlagenüberwachung der Bahn’ gibt es zwei verschiedene Arten derEndlagenüberwachung.

Endlagenüberwachung der SAF-Task

Diese Art der Endlagenüberwachung ist immer dann aktiv, wenn für die Achse die Endlagen aktiv geschaltetsind (Achsparameter). Die Überprüfung erfolgt Komponentenweise aus der SAF-Task. D.h. tritt eineVerletzung der Endlage auf, so wird die Bahngeschwindigkeit sofort auf 0 gesetzt und die gesamteInterpolationsgruppe hat einen Fehler.

Die Aktivierung dieser Überwachung erfolgt über die Achsparameter und nicht über den hier beschriebenenGruppenparameter.

Software-Endlagen der Bahn

Um zu verhindern, dass bei einer Verletzung der Software-Endlagen die Bahngeschwindigkeit sofort auf 0gesetzt wird, muss die Funktion 'Globale Software-Endlagenüberwachung der Bahn' aktiviert werden. Istdiese aktiv, wird ausschließlich bis zu dem NC-Satz verfahren, in dem die Endlagen verletzt werden. DieGeschwindigkeit wird über eine Rampe abgebremst.

• Damit eine Überprüfung nur für die gewünschten Bahnachsen durchgeführt wird, müssen die Software-Endlagen der Achskomponenten angewählt sein (Achsparameter).

• Die Überprüfung wird für Standardgeometriesegmente durchgeführt. Dazu zählenGeradeKreisHelix

• Verschleifungen mit Splines werden nicht überwacht. Die Splines sind sollwertseitig immer innerhalbder Toleranzkugel. Ansonsten greift noch die Endlagenüberwachung der SAF-Task.

• Da eine sinnvolle und allgemeingültige Überprüfung der Endlagen erst zur Laufzeit des NC-Programmsdurchgeführt werden kann (vor dem Lookahead), ist es möglich, dass die Bahnachsen bisausschließlich zu dem NC-Satz verfahren, wo die Endlagen verletzt werden.

• Befindet man sich aus irgendeinem Grund außerhalb der Software-Endlagen, so kann mit einerGeraden wieder in den gültigen Bereich hineingefahren werden.

Parametrierung:

XAE: Gruppen Parameter [} 20]

6.4.1 Bahnoverride (Interpreter-Overridetypen)Beim Bahnoverride handelt es sich um einen Geschwindigkeitsoverride. D.h. eine Overrideänderung bewirkteine neue Geschwindigkeit, lässt aber dabei die Rampen (Beschleunigung, Ruck) unangetastet. Dieverwendeten Overridetypen unterscheiden sich lediglich in der Bezugsgeschwindigkeit.

Die Parametrierung erfolgt im Interpolationskanal unter den Gruppenparametern [} 22].

Auswahl 'Reduziert' - bezogen auf die reduzierte Geschwindigkeit (default)

Aufgrund der gegebenen Dynamik (Bremsweg, Beschleunigung etc.) kann nicht in jedem Segment dieprogrammierte Geschwindigkeit (blaue Linie) erreicht werden. Deshalb wird für jedes Geometriesegmenteine evtl. reduzierte Geschwindigkeit (rote Linie) errechnet. Im Standardfall bezieht der Override sich aufdiese Segmentgeschwindigkeit.

Anhang

TwinCAT 3 NC I 233Version: 1.0

Dieser Overridetyp hat den Vorteil, dass bei kleineren Overridewerten die Maschine näherungsweise linearlangsamer fährt und ist deshalb die richtige Einstellung für die meisten Anwendungen.

v_res = v_max * Override

Auswahl 'Original' - bezogen auf die programmierte Bahngeschwindigkeit

Der Overridewert wird auf die vom Anwender programmierte Geschwindigkeit bezogen. Die maximaleSegmentgeschwindigkeit hat nur eine begrenzende Wirkung.

Anhang

TwinCAT 3 NC I234 Version: 1.0

Auswahl 'Reduziert [0 ... >100%]' - bezogen auf intern reduzierte Geschwindigkeit mit der Option,einen Wert größer 100% vorzugeben

Der Overridetyp verhält sich wie 'Reduziert' [} 232]. Mit diesem Overridetyp ist es möglich, die Bahnschneller abzufahren, als diese im G-Code programmiert wurde. Es gibt hier keine Limitierung auf z.B.120%. Die maximal mögliche Bahngeschwindigkeit wird durch die maximalen Geschwindigkeiten derAchskomponenten (G0-Geschwindigkeit) und deren Dynamik begrenzt.

Wenn Sie eine Begrenzung auf z.B. 120% wünschen, können Sie dies im PLC-Projekt entsprechendlimitieren.

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

Von der NCI zur SPS (160 Bytes)TYPE NCTOPLC_NCICHANNEL_REF : STRUCTBlockNo            : 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_STRUCTEND_TYPE

Anhang

TwinCAT 3 NC I 235Version: 1.0

Variablenname Datentyp BeschreibungBlockNo UDINT BlocknummerFastMFuncMask ARRAY OF DWORD Bitmaske zur Auswertung der

schnellen M-Funktionen [} 68]HskMFuncNo UINT Nummer der anliegenden

synchronen M-Funktion (M-Funktion mit Handshake)

HskMFuncReq WORD Flag, mit dem angezeigt wird, dasseine synchrone M-Funktion anliegt0: es liegt keine synchrone M-Funktion an1: es liegt eine synchrone M-Funktion an

HFuncValue DINT Wert der HilfsfunktionSpindleRpm WORD SpindeldrehzahlTool WORD WerkzeugnummerChnState NCTOPLC_NCICHANNEL_REF_C

HN_STATEDWORD mitZustandsinformationen des Kanals(siehe Zustandsinformationen desKanals (ChnState) [} 235]

IntParams ARRAY [0..3] OF UDINT Daten des frei konfigurierbarenKanalinterfaces (s. ItpSetCyclicUDintOffsets [} 147])

DoubleParams ARRAY [0..3] OF LREAL Daten des frei konfigurierbarenKanalinterfaces (s. ItpSetCyclicLrealOffsets [} 146])

PathVelo LREAL Aktuelle BahnsollgeschwindigkeitLoadedProg UDINT Name des zurzeit abgearbeiteten

NC-Programms. Falls der Namekein UDINT ist, so ist dieser Wert0.

ItpMode WORD Bitmaske, die den Interpreter-Bearbeitungsmodus anzeigt.

ItpState UINT Status [} 11] des InterpretersErrorCode UDINT Error Code [} 240] des

InterpreterkanalsChnId UINT Kanal-IDGrpId UINT Gruppen-IDItfVersion UINT Version dieses zyklischen Kanal

InterfacesChnOperationState UDINT Kanalzustand für einen Kanal der

Kinematischen Transformation, hatkeine Bedeutung für einenInterpolationskanal.

McsAxisIDs ARRAY [0..7] OF USINT Für einen Kanal der KinematischenTransformation, IDs der MCS-Achsen, hat keine Bedeutung füreinen Interpolationskanal.

AcsAxisIDs ARRAY [0..7] OF USINT Für einen Kanal der KinematischenTransformation, IDs der ACS-Achsen, hat keine Bedeutung füreinen Interpolationskanal.

Zustandsinformationen des Kanals (ChnState)

Anhang

TwinCAT 3 NC I236 Version: 1.0

Die Zustandsinformationen des Kanals sind nur im XAE mit Klarnamen lesbar und aus der SPS nurüber die Bitnummer auslesbar.

Name Bitnummer (zero based) BeschreibungbIsInterpolationChannel 0 Zeigt an, dass der verknüpfte

Kanal ein Interpolationskanal ist.bIsKinematicChannel 1 Zeigt an, dass die Struktur mit

einem Kanal für die KinematischeTransformation verknüpft ist.

bIsEStopRequested 8 Zeigt an, dass ein ItpEStopaufgerufen wurde - ohne einePrüfung, ob sich die Achsen bereitsim Stillstand befinden.

bIsFeedFromBackupList 10 Im Falle des Rückwärtsfahrenswerden die aktuellen Einträge ausder Interpreter Backup Listeversendet.

bIsMovingBackward 11 Gibt an, dass die derzeitigeBewegung eineRückwärtsbewegung ist.

bRetraceStartPosReached 12 Gibt an, dass beimRückwärtsfahren derProgrammanfang erreicht wurde.

Von der SPS zur NCI (128 Bytes)TYPE PLCTONC_NCICHANNEL_REF :STRUCTSkipLine           : 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_STRUCTEND_TYPE

Variablenname Datentyp BeschreibungSkipLine WORD Bitmaske mit der aus der PLC die

Satzunterdrückung [} 30] der NCIparametriert wird.

ItpMode WORD Bitmaske mit der der Interpreter-Bearbeitungsmodus geändertwerden kann. Dies wird z.B. dannbenötigt, wenn der Interpreter imEinzelsatz [} 36] arbeiten soll.

MFuncGranted WORD Flag, mit dem eine M-Funktion vomTyp 'Handshake' bestätigt wird.0: nicht quittiert1: Quittierung

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

ChnSpindleOvr UDINT Kanal-Override für die Spindel von0...1000000 (entspricht 0 - 100%),aktuell nicht unterstützt.

6.6 ADS Return CodesFehlercode: 0x000 [} 237]..., 0x500 [} 237]..., 0x700 [} 237]..., 0x1000 [} 239]......

Anhang

TwinCAT 3 NC I 237Version: 1.0

Globale Fehlercodes

Hex Dec Beschreibung0x0 0 Kein Fehler0x1 1 Interner Fehler0x2 2 Keine Echtzeit0x3 3 Zuweisung gesperrt-Speicherfehler0x4 4 Postfach voll0x5 5 Falsches HMSG0x6 6 Ziel-Port nicht gefunden0x7 7 Zielrechner nicht gefunden0x8 8 Unbekannte Befehl-ID0x9 9 Ungültige Task-ID0xA 10 Kein IO0xB 11 Unbekannter ADS-Befehl0xC 12 Win32 Fehler0xD 13 Port nicht angeschlossen0xE 14 Ungültige ADS-Länge0xF 15 Ungültige AMS Net ID0x10 16 niedrige Installationsebene0x11 17 Kein Debugging verfügbar0x12 18 Port deaktiviert0x13 19 Port bereits verbunden0x14 20 ADS Sync Win32 Fehler0x15 21 ADS Sync Timeout0x16 22 ADS Sync AMS Fehler0x17 23 Keine Index-Map für ADS Sync vorhanden0x18 24 Ungültiger ADS-Port0x19 25 Kein Speicher0x1A 26 TCP Sendefehler0x1B 27 Host nicht erreichbar0x1C 28 Ungültiges AMS Fragment

Router Fehlercodes

Hex Dec Name Beschreibung0x500 1280 ROUTERERR_NOLOCKEDMEMORY Lockierter Speicher kann nicht zugewiesen werden.0x501 1281 ROUTERERR_RESIZEMEMORY Die Größe des Routerspeichers konnte nicht geändert

werden.0x502 1282 ROUTERERR_MAILBOXFULL Das Postfach hat die maximale Anzahl der möglichen

Meldungen erreicht. Die aktuell gesendete Nachricht wur-de abgewiesen.

0x503 1283 ROUTERERR_DEBUGBOXFULL Das Postfach hat die maximale Anzahl der möglichenMeldungen erreicht.Die gesendete Nachricht wird nicht im ADS Monitor an-gezeigt.

0x504 1284 ROUTERERR_UNKNOWNPORTTYPE Der Porttyp ist unbekannt.0x505 1285 ROUTERERR_NOTINITIALIZED Router ist nicht initialisiert.0x506 1286 ROUTERERR_PORTALREADYINUSE Die gewünschte Portnummer ist bereits vergeben.0x507 1287 ROUTERERR_NOTREGISTERED Der Port ist nicht registriert.0x508 1288 ROUTERERR_NOMOREQUEUES Die maximale Anzahl von Ports ist erreicht.0x509 1289 ROUTERERR_INVALIDPORT Der Port ist ungültig.0x50A 1290 ROUTERERR_NOTACTIVATED Der Router ist nicht aktiv.

Allgemeine ADS Fehlercodes

Anhang

TwinCAT 3 NC I238 Version: 1.0

Hex Dec Name Beschreibung0x700 1792 ADSERR_DEVICE_ERROR Gerätefehler0x701 1793 ADSERR_DEVICE_SRVNOTSUPP Service wird vom Server nicht unterstützt0x702 1794 ADSERR_DEVICE_INVALIDGRP Ungültige Index-Gruppe0x703 1795 ADSERR_DEVICE_INVALIDOFFSET Ungültiger Index-Offset0x704 1796 ADSERR_DEVICE_INVALIDACCESS Lesen und schreiben nicht gestattet.0x705 1797 ADSERR_DEVICE_INVALIDSIZE Parametergröße nicht korrekt0x706 1798 ADSERR_DEVICE_INVALIDDATA Ungültige Parameter-Werte0x707 1799 ADSERR_DEVICE_NOTREADY Gerät ist nicht betriebsbereit0x708 1800 ADSERR_DEVICE_BUSY Gerät ist beschäftigt0x709 1801 ADSERR_DEVICE_INVALIDCONTEXT Ungültiger Kontext (muss in Windows sein)0x70A 1802 ADSERR_DEVICE_NOMEMORY Nicht genügend Speicher0x70B 1803 ADSERR_DEVICE_INVALIDPARM Ungültige Parameter-Werte0x70C 1804 ADSERR_DEVICE_NOTFOUND Nicht gefunden (Dateien,...)0x70D 1805 ADSERR_DEVICE_SYNTAX Syntax-Fehler in Datei oder Befehl0x70E 1806 ADSERR_DEVICE_INCOMPATIBLE Objekte stimmen nicht überein0x70F 1807 ADSERR_DEVICE_EXISTS Objekt ist bereits vorhanden0x710 1808 ADSERR_DEVICE_SYMBOLNOTFOUND Symbol nicht gefunden0x711 1809 ADSERR_DEVICE_SYMBOLVERSIONINVALID Symbol-Version ungültig0x712 1810 ADSERR_DEVICE_INVALIDSTATE Gerät im ungültigen Zustand0x713 1811 ADSERR_DEVICE_TRANSMODENOTSUPP AdsTransMode nicht unterstützt0x714 1812 ADSERR_DEVICE_NOTIFYHNDINVALID Notification Handle ist ungültig0x715 1813 ADSERR_DEVICE_CLIENTUNKNOWN Notification-Client nicht registriert0x716 1814 ADSERR_DEVICE_NOMOREHDLS Keine weitere Notification Handle0x717 1815 ADSERR_DEVICE_INVALIDWATCHSIZE Größe der Notification zu groß0x718 1816 ADSERR_DEVICE_NOTINIT Gerät nicht initialisiert0x719 1817 ADSERR_DEVICE_TIMEOUT Gerät hat einen Timeout0x71A 1818 ADSERR_DEVICE_NOINTERFACE Interface Abfrage fehlgeschlagen0x71B 1819 ADSERR_DEVICE_INVALIDINTERFACE Falsches Interface angefordert0x71C 1820 ADSERR_DEVICE_INVALIDCLSID Class-ID ist ungültig0x71D 1821 ADSERR_DEVICE_INVALIDOBJID Object-ID ist ungültig0x71E 1822 ADSERR_DEVICE_PENDING Anforderung steht aus0x71F 1823 ADSERR_DEVICE_ABORTED Anforderung wird abgebrochen0x720 1824 ADSERR_DEVICE_WARNING Signal-Warnung0x721 1825 ADSERR_DEVICE_INVALIDARRAYIDX Ungültiger Array-Index0x722 1826 ADSERR_DEVICE_SYMBOLNOTACTIVE Symbol nicht aktiv0x723 1827 ADSERR_DEVICE_ACCESSDENIED Zugriff verweigert0x724 1828 ADSERR_DEVICE_LICENSENOTFOUND Fehlende Lizenz0x725 1829 ADSERR_DEVICE_LICENSEEXPIRED Lizenz abgelaufen0x726 1830 ADSERR_DEVICE_LICENSEEXCEEDED Lizenz überschritten0x727 1831 ADSERR_DEVICE_LICENSEINVALID Lizenz ungültig0x728 1832 ADSERR_DEVICE_LICENSESYSTEMID Lizenz der System-ID ungültig0x729 1833 ADSERR_DEVICE_LICENSENOTIMELIMIT Lizenz nicht zeitlich begrenzt0x72A 1834 ADSERR_DEVICE_LICENSEFUTUREISSUE Lizenzproblem: Zeitpunkt in der Zukunft0x72B 1835 ADSERR_DEVICE_LICENSETIMETOLONG Lizenz-Zeitraum zu lang0x72c 1836 ADSERR_DEVICE_EXCEPTION Exception beim Systemstart0x72D 1837 ADSERR_DEVICE_LICENSEDUPLICATED Lizenz-Datei zweimal gelesen0x72E 1838 ADSERR_DEVICE_SIGNATUREINVALID Ungültige Signatur0x72F 1839 ADSERR_DEVICE_CERTIFICATEINVALID öffentliches Zertifikat0x740 1856 ADSERR_CLIENT_ERROR Clientfehler0x741 1857 ADSERR_CLIENT_INVALIDPARM Dienst enthält einen ungültigen Parameter0x742 1858 ADSERR_CLIENT_LISTEMPTY Polling-Liste ist leer0x743 1859 ADSERR_CLIENT_VARUSED Var-Verbindung bereits im Einsatz0x744 1860 ADSERR_CLIENT_DUPLINVOKEID Die aufgerufene ID ist bereits in Benutzung0x745 1861 ADSERR_CLIENT_SYNCTIMEOUT Timeout ist aufgetreten0x746 1862 ADSERR_CLIENT_W32ERROR Fehler im Win32 Subsystem0x747 1863 ADSERR_CLIENT_TIMEOUTINVALID Ungültiger Client Timeout-Wert0x748 1864 ADSERR_CLIENT_PORTNOTOPEN ADS-Port nicht geöffnet0x750 1872 ADSERR_CLIENT_NOAMSADDR Interner Fehler in Ads-Sync

Anhang

TwinCAT 3 NC I 239Version: 1.0

Hex Dec Name Beschreibung0x751 1873 ADSERR_CLIENT_SYNCINTERNAL Hash-Tabelle-Überlauf0x752 1874 ADSERR_CLIENT_ADDHASH Schlüssel nicht gefunden im Hash0x753 1875 ADSERR_CLIENT_REMOVEHASH Keine weitere Symbole im Cache0x754 1876 ADSERR_CLIENT_NOMORESYM Ungültige Antwort empfangen0x755 1877 ADSERR_CLIENT_SYNCRESINVALID Sync Port ist gesperrt

RTime Fehlercodes

Hex Dec Name Beschreibung0x1000 4096 RTERR_INTERNAL Interner Fehler im TwinCAT Echtzeit-System.0x1001 4097 RTERR_BADTIMERPERIODS Timer-Wert ist nicht gültig.0x1002 4098 RTERR_INVALIDTASKPTR Task-Pointer hat den ungültigen Wert 0 (null).0x1003 4099 RTERR_INVALIDSTACKPTR Task Stackpointer hat den ungültigen Wert 0.0x1004 4100 RTERR_PRIOEXISTS Die Request Task Priority ist bereits vergeben.0x1005 4101 RTERR_NOMORETCB Kein freies TCB (Task Control Block) zur Verfügung. Ma-

ximale Anzahl von TCBs beträgt 64.0x1006 4102 RTERR_NOMORESEMAS Keine freien Semaphoren zur Verfügung. Maximale An-

zahl der Semaphoren beträgt 64.0x1007 4103 RTERR_NOMOREQUEUES Kein freier Platz in der Warteschlange zur Verfügung.

Maximale Anzahl der Plätze in der Warteschlange be-trägt 64.

0x100D 4109 RTERR_EXTIRQALREADYDEF Ein externer Synchronisations-Interrupt wird bereits an-gewandt.

0x100E 4110 RTERR_EXTIRQNOTDEF Kein externer Synchronisations-Interrupt angewandt.0x100F 4111 RTERR_EXTIRQINSTALLFAILED Anwendung des externen Synchronisierungs- Interrupts

ist fehlgeschlagen0x1010 4112 RTERR_IRQLNOTLESSOREQUAL Aufruf einer Service-Funktion im falschen Kontext0x1017 4119 RTERR_VMXNOTSUPPORTED Intel VT-x Erweiterung wird nicht unterstützt.0x1018 4120 RTERR_VMXDISABLED Intel VT-x Erweiterung ist nicht aktiviert im BIOS.0x1019 4121 RTERR_VMXCONTROLSMISSING Fehlende Funktion in Intel VT-x Erweiterung.0x101A 4122 RTERR_VMXENABLEFAILS Aktivieren von Intel VT-x schlägt fehl.

TCP Winsock-Fehlercodes

Hex Dec Name Beschreibung0x274c 10060 WSAETIMEDOUT Verbindungs Timeout aufgetreten.

Fehler beim Herstellen der Verbindung, da die Gegenstelle nach einer be-stimmten Zeitspanne nicht ordnungsgemäß reagiert hat, oder die hergestellteVerbindung konnte nicht aufrecht erhalten werden, da der verbundene Hostnicht reagiert hat.

0x274d 10061 WSAECONNREFUSED Verbindung abgelehnt.

Es konnte keine Verbindung hergestellt werden, da der Zielcomputer dies ex-plizit abgelehnt hat. Dieser Fehler resultiert normalerweise aus dem Versuch,eine Verbindung mit einem Dienst herzustellen, der auf dem fremden Host in-aktiv ist—das heißt, einem Dienst, für den keine Serveranwendung ausgeführtwird.

0x2751 10065 WSAEHOSTUNREACH Keine Route zum Host

Ein Socketvorgang bezog sich auf einen nicht verfügbaren Host.Weitere Winsock-Fehlercodes: Win32-Fehlercodes

Anhang

TwinCAT 3 NC I240 Version: 1.0

6.7 Übersicht NC-FehlerFehlercode ( Hex ) Beschreibung0x4000 – 0x4FFF: NC Fehlercodebereich0x40nn Allgemeine Fehler [} 241]0x41nn Kanalfehler [} 244]0x42nn Gruppenfehler [} 249]0x43nn Achsfehler [} 270]0x44nn Geberfehler [} 277]0x45nn Reglerfehler [} 286]0x46nn Antriebfehler [} 291]0x4Ann Tabellenfehler [} 296]0x4Bnn NC-SPS-Fehler [} 300]0x4Cnn Kinematik Transformation [} 307]0x8000 – 0x8FFF: Erweiterter NC Fehlercodebereich0x81nn – 0x811F Bode Plot (Diagnose) [} 307]0x8120 – 0x8FFF Weitere Fehler [} 310]

Anhang

TwinCAT 3 NC I 241Version: 1.0

6.7.1 Allgemeine Fehler

Anhang

TwinCAT 3 NC I242 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4000 16384 Intern „Interner Fehler“ Interner Systemfehler der NC auf

Ring 0, nicht näher spezifizierbar.4001 16385 Speicher „Speicher-Fehler“ Die Ring-0-Speicherverwaltung

stellt benötigten Speicher nicht bereit. In der Regel istdies die Folge anderer Fehler und die Steuerung wird(spätestens jetzt) den regulären Betrieb einstellen.

4002 16386 Intern „Nc-Retain-Daten-Fehler (Daten-Persistenz)“ BeimLaden der Nc Retain Daten ist ein Fehler aufgetreten,so dass die betroffenen Achsen nicht mehrreferenziert sind (Status-Bit „Homed" ist FALSE).Dieser Fehler kann folgende Gründe haben:- es wurden keine Nc Retain Daten gefunden- es wurden nur alte Nc Retain Daten gefunden (alterBackup Datensatz)- die Nc Retain Daten sind korrupt oder inkonsistent

4010 16400 Parameter „Kanal-Identifier unzulässig“ Es ist entweder einunzulässiger Wert (nicht 1...255) verwendet wordenoder es ist ein Kanal genannt, der im System nichtexistiert.

4011 16401 Parameter „Gruppen-Identifier unzulässig“ Es ist entwederein unzulässiger Wert (nicht 1...255) verwendetworden oder es ist eine Gruppe genannt, der imSystem nicht existiert.

4012 16402 Parameter „Achsen-Identifier unzulässig“ Es ist entweder einunzulässiger Wert (nicht 1...255) verwendet wordenoder es ist eine Achse genannt, der im System nichtexistiert.

4013 16403 Parameter „Geber-Identifier unzulässig“ Es ist entweder einunzulässiger Wert (nicht 1...255) verwendet wordenoder es ist ein Geber genannt, der im System nichtexistiert.

4014 16404 Parameter „Regler-Identifier unzulässig“ Es ist entweder einunzulässiger Wert (nicht 1...255) verwendet wordenoder es ist ein Regler genannt, der im System nichtexistiert.

4015 16405 Parameter „Antriebs-Identifier unzulässig“ Es ist entweder einunzulässiger Wert (nicht 1...255) verwendet wordenoder es ist ein Antrieb genannt, der im System nichtexistiert.

4016 16406 Parameter „Tabellen-Identifier unzulässig“ Es ist entweder einunzulässiger Wert (nicht 1...255) verwendet wordenoder es ist eine Tabelle genannt, der im System nichtexistiert.

4020 16416 Intern „Fehlendes Prozessabbild“ Kein SPS-Achsen-Interface beim Erzeugen einer Achse

4021 16417 Intern „Fehlendes Prozessabbild“ Kein Achsen- SPS-Interface beim Erzeugen einer Achse

4022 16418 Intern „Fehlendes Prozessabbild“ Kein Geber-IO-Interface beim Erzeugen einer Achse

4023 16419 Intern „Fehlendes Prozessabbild“ Kein IO-Geber-Interface beim Erzeugen einer Achse

4024 16420 Intern „Fehlendes Prozessabbild“ Kein Antrieb-IO-Interface beim Erzeugen einer Achse

4025 16421 Intern „Fehlendes Prozessabbild“ Kein IO-Antrieb-Interface beim Erzeugen einer Achse

4030 16432 Intern „Koppeltyp unzulässig“ Unzulässiger Master/Slave-Koppeltyp

Anhang

TwinCAT 3 NC I 243Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4031 16433 Intern „Achstyp unzulässig“ Unzulässige Typangabe bei

der Achserzeugung4040 16448 Intern „Achse ist inkompatibel“ Achse ist für den

vorgesehenen Zweck nicht geeignet. Zum Beispielkann eine Eil/Schleich-Achse nicht die Rolle desSlaves in einer Achs-Kopplung übernehmen.

4050 16464 Intern „Kanal nicht betriebsbereit“ Der Kanal istunvollständig und somit nicht betriebsbereit. In derRegel ist dies eine Folge von Problemen beimSystem-Start.

4051 16465 Intern „Gruppe nicht betriebsbereit“ Die Gruppe istunvollständig und somit nicht betriebsbereit. In derRegel ist dies eine Folge von Problemen beimSystem-Start.

4052 16466 Intern „Achse nicht betriebsbereit“ Die Achse istunvollständig und somit nicht betriebsbereit. In derRegel ist dies eine Folge von Problemen beimSystem-Start.

4060 16480 Intern „Kanal existiert“ Der zu erzeugende Kanal existiertbereits.

4061 16481 Intern „Gruppe existiert“ Die zu erzeugende Gruppeexistiert bereits.

4062 16482 Intern „Achse existiert“ Die zu erzeugende Achse existiertbereits.

4063 16483 Intern „Tabelle existiert“ Die zu erzeugende Tabelleexistiert bereits bzw. es wird intern versucht eineschon verwendete Tabelle-ID zu benutzen (z.B. fürdie Universelle Fliegende Säge).

4070 16496 Intern „Achsen-Index unzulässig“ Der für eine Achseangegebene Platz innerhalb des Kanals istunzulässig.

4071 16497 Intern „Achsen-Index unzulässig“ Der für eine Achseangegebene Platz innerhalb der Gruppe istunzulässig.

Anhang

TwinCAT 3 NC I244 Version: 1.0

6.7.2 Kanalfehler

Anhang

TwinCAT 3 NC I 245Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4101 16641 Parameter „Gruppen-Index unzulässig“ Der für eine Gruppe

angegebene Platz innerhalb des Kanals istunzulässig.

4102 16642 Adresse „Null-Zeiger“ Der Zeiger auf die Gruppe istungültig. In der Regel ist dies eine Folge einesFehlers beim System-Start.

4103 16643 Intern „Fehlendes Prozess-Abbild“ Es ist keinDatenaustausch mit der SPS möglich. MöglicheUrsachen: n Der Kanal besitzt kein Interface (keinInterpreter vorhanden) n Die Verbindung zur SPSist gestört

4104 16644 Parameter „M-Funktionsindex unzulässig“ Unzulässige M-Funktion (nicht 0...159) in der Ausführungsebeneerkannt.

4105 16645 Speicher „Kein Speicher“ Es steht kein System-Speichermehr zur Verfügung. In der Regel ist dies eineFolge anderer Fehler.

4106 16646 Funktion „Nicht bereit“ Die Funktion ist zur Zeit nichtverfügbar, weil bereits eine gleichartige Funktion inBearbeitung ist. In der Regel ist dies eine Folge vonZugriffs-Konflikten: Mehr als eine Instanz willBefehle an den Kanal geben. Dies kann z.B. dieFolge eines nicht korrekten SPS-Programms sein.

4107 16647 Funktion „Funktion/Kommando nicht unterstützt“ Eineangeforderte Funktion bzw. ein angefordertesKommando wird vom Kanal nicht unterstützt.

4108 16648 Parameter „Unzulässiger Parameter beim Aufstarten“ BeimAufstarten des Kanals (TwinCAT-Start), werdenunzulässige Parameter verwendet. Typischerweisehandelt es sich dabei um eine unzulässigeSpeichergröße des Kanals oder einen unzulässigenKanaltyp.

4109 16649 Funktion „Kanal-Funktion (Kommando) nicht ausführbar“Eine Kanalfunktion wie z.B. Interpreter Start, istabgelehnt worden, da der Kanal entweder bereitsaktiv ist, kein Programm geladen oder aber sich ineinem Fehlerzustand befindet.

410A 16650 Funktion "ItpGoAhead nicht ausführbar" Das Kommandoist nicht ausführbar, da der Interpreter nicht aufeinem Dekodierstopp steht

4110 16656 Parameter „Fehler beim Öffnen einer Datei“ Dieangegebene Datei ist nicht vorhanden. Beispiel:NC-Programm unbekannt.

4111 16657 NC-Programmierung

„Syntax-Fehler beim Laden“ Die NC hat beimLaden eines NC-Programms einen Syntax-Fehlerfestgestellt.

4112 16658 NC-Programmierung

„Syntax-Fehler beim Interpretieren“ Die NC hatbeim Abarbeiten eines NC-Programms einenSyntax-Fehler festgestellt.

4113 16659 NC-Programmierung

„Fehlendes Unterprogramm“ Die NC hat beimLaden ein fehlendes Unterprogramm festgestellt.

4114 16660 Speicher „Ladepuffer des Interpreters zu klein“ DieLadepuffergröße des Interpreters ist überschrittenworden.

4115 16661 Intern „Symbolik“ - reserviert4116 16662 Intern „Symbolik“ - reserviert

Anhang

TwinCAT 3 NC I246 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4117 16663 NC-

Programmierung

„Unterprogramm nicht vollständig“ Kopf desUnterprogramms fehlt

4118 16664 NC-Programmierung

„Fehler beim Laden des NC-Programms“ Diemaximale Anzahl der ladbaren NC-Programme isterreicht.Mögliche Ursache:Aus einem Hauptprogramm wurden zu vieleUnterprogramme geladen.

4119 16665 NC-Programmierung

„Fehler beim Laden des NC-Programms“ Derverwendete Programmname ist zu lang.

4120 16672 NC-Programmierung

„Divide by Zero“ Die NC hat beim Abarbeiteneinen Rechen-Fehler festgestellt: Teilen durch 0.

4121 16673 NC-Programmierung

„Unzulässige Kreis-Parametrierung“ Die NC hatbeim Abarbeiten einen Rechen-fehler festgestellt:Der angegebene Kreis ist nicht rechenbar.

4122 16674 NC-Programmierung

„Unzulässige FPU-Operation“ Die NC hat beimAbarbeiten eine ungültige FPU-Operationfestgestellt. Dieser Fehler tritt z.B. bei derBerechnung der Wurzel einer negativen Zahl auf

4130 16688 NC-Programmierung

„Stack-Überlauf: Unterprogramme“ Die NC hatbeim Abarbeiten einen Stack-Überlauf festgestellt:Zu viele Unterprogramm-Ebenen.

4131 16689 NC-Programmierung

„Stack-Unterlauf: Unterprogramme“ Die NC hatbeim Abarbeiten einen Stack-Unterlauf festgestellt:Zu viele Unterprogramm-Rückkehrbefehle. Hinweis:Ein Hauptprogramm darf nicht mit einemRückkehrbefehle beendet werden.

4132 16690 NC-Programmierung

„Stack-Überlauf: Rechenwerk“ Die NC hat beimAbarbeiten einen Stack-Überlauf festgestellt: DieBerechnung ist zu komplex oder ist nicht korrektgeschrieben.

4133 16691 NC-Programmierung

„Stack-Unterlauf: Rechenwerk“ Die NC hat beimAbarbeiten einen Stack-Unterlauf festgestellt: DieBerechnung ist zu komplex oder ist nicht korrektgeschrieben.

4140 16704 Parameter „Register-Index unzulässig“ Die NC hat beimAbarbeiten einen unzulässigen Register-Indexfestgestellt: Das Programm enthält eineunzulässige Angabe (nicht R0...R999) oder einZeiger-Register enthält einen nicht zulässigen Wert.

4141 16705 NC-Programmierung

„G-Funktions-Index unzulässig“ Die NC hat beimAbarbeiten eine unzulässige G-Funktion festgestellt(nicht 0...159).

4142 16706 NC-Programmierung

„M-Funktions-Index unzulässig“ Die NC hat beimAbarbeiten eine unzulässige M-Funktion festgestellt(nicht 0...159).

4143 16707 NC-Programmierung

„Erweiterte Adress-Angabe unzulässig“ Die NChat beim Abarbeiten eine unzulässige erweiterteAdresse festgestellt (nicht 1...9).

4144 16708 NC-Programmierung

„Index der internen H-Funktion unzulässig“ DieNC hat beim Abarbeiten eine unzulässige interneH-Funktion festgestellt. Dies ist in der Regel eineFolge eines Fehlers beim Laden.

Anhang

TwinCAT 3 NC I 247Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4145 16709 Parameter „Wert für die Maschinendaten unzulässig“ Die

NC hat beim Abarbeiten eine unzulässigen Wert fürdie Maschinendaten (MDB) festgestellt (nicht 0...7).

4150 16720 Parameter "Parameter für die Werkzeugkorrektur könnenhier nicht geändert werden" Die NC hat beimAbarbeiten einen unzulässigen Parameterwechselfür die Werkzeugkorrektur festgestellt. Dies kannz.B. ein veränderter Werkzeugradius sein, währendein Kreis programmiert wurde.

4151 16721 Parameter "Werkzeugkorrektur kann nicht berechnetwerden" Die NC hat bei der Berechnung derWerkzeugkorrektur einen Fehler festgestellt.

4152 16722 NC-Programmierung

Werkzeugkorrektur: Die Ebene für dieWerkzeugkorrektur kann an dieser Stelle nichtgeändert werden. Der Fehler tritt z.B. dann auf,wenn bei der Anwahl oder bei aktiverWerkzeugradiuskorrektur die Ebene geändert wird.

4153 16723 NC-Programmierung

Werkzeugkorrektur: Bei der Anwahl derWerkzeugkorrektur wurde kein bzw. ein nichtgültiges D-Wort programmiert.

4154 16724 NC-Programmierung

Werkzeugkorrektur: Der spezifizierteWerkzeugradius ist nicht zugelassen, da kleinerNull.

4155 16725 NC-Programmierung

Werkzeugkorrektur: Der Werkzeugradius kannhier nicht geändert werden

4156 16726 Intern Werkzeugkorrektur: Collision Detection Table istvoll.

4157 16727 Intern Werkzeugkorrektur: Interner Fehler beimEinschalten der Flaschenhalserkennung

4158 16728 Intern Werkzeugkorrektur: Interner Fehler bei derFlaschenhalserkennung: Update Reversed Geofailed.

4159 16729 NC-Programmierung

Werkzeugkorrektur: Unerwartete Kombination vonGeometrietypen bei eingeschalteterFlaschenhalserkennung

415A 16730 NC-Programmierung

Werkzeugkorrektur: Programmierter Innenkreis istkleiner als der Fräserradius

415B 16731 NC-Programmierung

Werkzeugkorrektur: Flaschenhalserkennung hateine Konturverletzung erkannt

415C 16732 Speicher Tabelle für korrigierte Einträge ist voll415D 16733 Speicher Eingangstabelle für die tangentiale Nachführung ist

voll415E 16734 Speicher Ausführungstabelle für die tangentiale Nachführung

ist voll415F 16735 Intern Geometrie für tangentiale Nachführung kann nicht

berechnet werden4160 16736 Intern reserviert4161 16737 Intern reserviert4162 16738 Parameter Die aktuell wirkenden Interpolationsregeln (G-

Code), Nullpunktverschiebungen oder Rotationkönnen nicht ermittelt werden

Anhang

TwinCAT 3 NC I248 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4170 16752 NC-

Programmierung

"Fehler beim Laden: Ungültiger Parameter" DieNC hat beim Laden eines NC-Programms einenungültigen Parameter festgestellt.

4171 16753 Intern "Unzulässige Kontur-Startposition" Die NC hatbeim Abarbeiten einen Rechenfehler festgestellt:Die angegebene Kontur ist nicht rechenbar, da dieStartposition nicht auf der Kontur liegt.

4172 16754 Intern "Rückwärtsfahren: Invalid Tabellenindex" DieNC hat beim Abarbeiten des Rückwärtsfahrenseinen ungültigen Tabellenindex festgestellt.

Anhang

TwinCAT 3 NC I 249Version: 1.0

6.7.3 Gruppenfehler

Anhang

TwinCAT 3 NC I250 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4200 16896 Parameter „Gruppen-ID unzulässig“

Der Wert für die Gruppen-ID ist unzulässig, da er z. B.bereits vergeben ist, kleiner gleich Null ist oder größer 255ist.Wertebereich: [1 ... 255] Einheit: 1

4201 16897 Parameter „Gruppen-Typ unzulässig“ Der Wert für den Gruppen-Typ ist unzulässig, da er nichtdefiniert ist. Typ 1: PTP-Gruppe mit Slaves (Servo) Typ 4: DxD-Gruppe mit Slaves (3D-Gruppe) Typ 5: Eil/Schleich-Gruppe Typ 6: Schrittmotor-Gruppe Typ 9: Encoder-Gruppe mit Slaves (Servo)…Wertebereich: [1 ... 12] Einheit: 1

4202 16898 Initialisierung

„Masterachsen-Index unzulässig“ Der Wert für denMasterachs-Index innerhalb einer interpolierenden 3D-Gruppe ist unzulässig, da er z. B. den Wertebereichverlassen hat. Index 0: X-Achse (erste Masterachse) Index1: Y-Achse (zweite Masterachse) Index 2: Z-Achse (dritteMasterachse)Wertebereich: [0, 1, 2] Einheit: 1

4203 16899 Initialisierung

„Slaveachsen-Index unzulässig“ (INTERNER FEHLER)Der Wert für den Slaveachs-Index innerhalb einer Gruppeist unzulässig, da er z. B. den Wertebereich verlassen hat,der Slaveplatz beim Einfügen einer neuen Slaveverbindungschon besetzt ist oder beim Aufheben einer solchenSlaveverbindung keine Slaveachse vorhanden ist. Index 0:Erste Slaveachse Index 1: Zweite Slaveachse Index 2: etc.Wertebereich: [0 ... 7] Einheit: 1

4204 16900 Initialisierung

„INTERNER FEHLER“ (GROUPERR_INTERNAL)

4205 16901 Parameter „Zykluszeit für Satzausführungstask (SAF) unzulässig“Der Wert für die Zykluszeit der NC Satzausführungstask(SAF 1/2) ist unzulässig, da er den Wertebereich verlassenhat.Wertebereich: [0.001 ... 0.1] Einheit: s

4206 16902 Initialisierung

„GROUPERR_RANGE_MAXELEMENTSINAXIS “

4207 16903 Parameter „Zykluszeit für Satzvorbereitungstask (SVB)unzulässig“ Der Wert für die Zykluszeit der NCSatzvorbereitungstask (SVB 1/2) ist unzulässig, da er denWertebereich verlassen hat.Wertebereich: [0.001 ... 1.0] Einheit: s

4208 16904 Parameter „Einzelsatzbetrieb (Single Step Mode) unzulässig“ DasFlag für die Aktivierung bzw. Deaktivierung derEinzelsatzbetriebsart ist unzulässig. Wert 0: Passiv(Pufferbetrieb) Wert 1: Aktiv (Einzelsatzbetrieb)Wertebereich: [0, 1] Einheit: 1

4209 16905 Parameter „Deaktivierung Gruppe unzulässig“ (INTERNERFEHLER) Das Flag für die Deaktivierung bzw. Aktivierungder kompletten Gruppe ist unzulässig. Wert 0: Gruppe aktivWert 1: Gruppe passivWertebereich: [0, 1] Einheit: 1

Anhang

TwinCAT 3 NC I 251Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung420A 16906 Initialisierun

g„Satzausführungszustand (SAF-State)unzulässig“ (INTERNER FEHLER) Der Wert für denZustand der Satzausführungsstatemaschine (SAF-State) istunzulässig. Dieser Fehler tritt auf, wenn der Wertebereichverlassen wird oder sich die Statemaschine imFehlerzustand befindet.Wertebereich: [0 ... 5] Einheit: 1

420B 16907 Adresse „Adresse Kanal“ Gruppe besitzt keinen Kanal (Channel)bzw. die Kanaladresse ist nicht initialisiert worden.

420C 16908 Adresse „Adresse Achse (Masterachse)“ Die Gruppe besitzt keineMasterachse (Masterachsen) bzw. die Achsadresse(Achsadressen) ist nicht initialisiert worden.

420D 16909 Adresse „Adresse Masterachse“ Eine neue Master/Slave-Kopplungsoll in die Gruppe eingefügt werden, wobei eine gültigeAdresse auf die führende Masterachse fehlt.

420E 16910 Adresse „Adresse Slaveachse“ Es soll eine Master/Slave-Kopplungin die Gruppe eingefügt werden, der eine gültige Adresseauf die Slaveachse fehlt.

420F 16911 Adresse „Adresse Slave-Sollwertgenerator“ Es soll eine Master/Slave-Kopplung in die Gruppe eingefügt werden, der einegültige Adresse auf den Slave-Sollwertgenerator fehlt.

4210 16912 Adresse „Adresse Geber“ Eine Achse der Gruppe besitzt keinenGeber (Encoder) bzw. die Geberadresse ist nicht initialisiertworden.

4211 16913 Adresse „Adresse Regler“ Eine Achse der Gruppe besitzt keinenRegler (Controller) bzw. die Regleradresse ist nichtinitialisiert worden.

4212 16914 Adresse „Adresse Drive“ Eine Achse der Gruppe besitzt keinenAntrieb (Drive) bzw. die Driveadresse ist nicht initialisiertworden.

4213 16915 Adresse „GROUPERR_ADDR_MASTERGENERATOR“4214 16916 Adresse „Adresse Achsinterface NC zur SPS“ Gruppe/Achse

besitzt kein Achsinterface von der NC zur SPS (NC to PLC)bzw. ist die Achsinterfaceadresse nicht initialisiert worden.

4215 16917 Adresse „Adresse Slaveachse“ Eine bestehende Master/Slave-Kopplung soll innerhalb der Gruppe aufgelöst werden, wobeieine gültige Adresse auf die Slaveachse fehlt.

4216 16918 Adresse „Tabelle unbekannt“ Die Tabelle bzw. die Tabellen-ID istim System unbekannt. Hierbei kann es sich um eine Tabellefür eine Master/Slave Kopplung oder um eine Kennlinien-Tabelle handeln.

4217 16919 Adresse „Adresse NcControl“ Die NcControladresse ist nichtinitialisiert worden.

4218 16920 Initialisierung

"Kommandosperre da persistente NC-Daten zurÜbernahme anstehen" Achse sperrt sich gegenKommandos während sie auf gültige IO Daten wartet um diegepufferten persistenten NC Daten zu übernehmen.

4219 16921 Funktion "Der Skalierungsmode MASTER-AUTOOFFSET istunzulässig, da keine Referenz-Tabelle gefunden werdenkann". Der verwendete Skalierungsmode MASTER-AUTOOFFSET ist in diesem Zusammenhang unzulässig, dakein Bezug auf eine bestehende Referenz-Tabellehergestellt werden kann.Dieser Fehler kann beispielsweise bei der Addition vonTabellen auftreten, wenn kein eindeutiger Bezug zu einerbestehenden Referenz-Tabelle hergestellt werden kann(z.B. weil der Bezug nicht eindeutig ist etc.).

Anhang

TwinCAT 3 NC I252 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung421A 16922 Parameter „Startposition der Masterachse lässt keine

Synchronisation zu“ Die Position der Masterachse beiAnkopplung der Slaveachse lässt keine Synchronisation mitden angegebenen Synchronpositionen zu.

421B 16923 Parameter „Slave-Koppelfaktor (Getriebefaktor) gleich 0.0unzulässig“ Es ist eine Master/Slave-Kopplung mit demGetriebefaktor 0.0 erzeugt worden. Dieser Wert istunzulässig, da er keiner Kopplung entspricht und bei einerDivision eine Exception der FPU generieren würde.

421C 16924 Funktion „Einfügen von Masterachse in Gruppe unzulässig“ Essollte eine Masterachse auf einen Platz innerhalb derGruppe eingefügt werden, der bereits durch eine andereMasterachse belegt ist. Möglicherweise kann dieUmgruppierung auch nicht durchgeführt werden, weil mitdieser Achse eine Slaveverbindung besteht. Diese musszuvor aufgehoben werden.

421D 16925 Funktion „Löschen von Masterachse aus Gruppeunzulässig“ (INTERNER FEHLER) Es sollte eineMasterachse von einem Platz innerhalb der Gruppe heraus-genommen worden, der gar nicht durch eine Masterachsebelegt gewesen ist.

421E 16926 Funktion „Funktion/Eigenschaft wird vom Sollwertgenerator nichtunterstützt Es ist eine Funktion aktiviert worden, die dieSollwertgenerierung (z.B. PTP Sollwertgenerator) generelloder aber in dieser bestimmten Situation nicht unterstützt.

421F 16927 Initialisierung

„Initialisierung Gruppe“ Gruppe ist nicht initialisiertworden. Gruppe wurde zwar erzeugt, allerdings nicht weiterinitialisiert (1. Initialisierung Gruppe-IO, 2. InitialisierungGruppe, 3. Reset Gruppe).

4220 16928 Überwachung

„Gruppe nicht fertig / Gruppe nicht bereit für neuenAuftrag“ Gruppe bekommt einen neuen Auftrag, währendsie sich noch in der Ausführung eines vorhandenenAuftrages befindet. Diese Anforderung ist unzulässig, dahierdurch die Ausführung des bisherigen Auftragesunterbrochen würde. Bei den neuen Aufträgen kann es sichz. B. um einen Positionierbefehl oder um die Funktion„Setze Istposition“ handeln. Für die Funktion „NeueEndposition setzen“ gilt genau der umgekehrte Sachverhalt.Hierbei muss nämlich die Gruppe/Achse noch aktivverfahren werden, um eine Änderung der EndpositionVeranlassen zu können.

4221 16929 Überwachung

„Geforderte Sollgeschwindigkeit ist unzulässig“ DerWert für die geforderte Sollgeschwindigkeit einesPositionierauftrages ist entweder kleiner gleich Null, größerals die "maximal erlaubte Geschwindigkeit" (s.Achsparameter) oder bei Servo-Antrieben größer als die"Bezugsgeschwindigkeit" der Achse (s. Driveparameter).

4222 16930 Überwachung

„Geforderte Zielposition ist unzulässig (Masterachse)“Der Wert für die geforderte Zielposition einesPositionierauftrages befindet sich nicht innerhalb derSoftwareendlagen, d. h. die Software Endlage Minimumbzw. die Software Endlage Maximum würde unterschrittenbzw. überschritten. Diese Überprüfung wird nur danndurchgeführt, wenn die jeweilige Endlagenüberwachungaktiviert ist.

Anhang

TwinCAT 3 NC I 253Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4223 16931 Überwachun

g„Regler- und/oder Vorschubfreigabe nicht vorhanden(Masterachse)“ Die für eine Positionierung benötigtenAchsfreigaben der Masterachse sind nicht vorhanden.Hierbei kann es sich entweder um die Reglerfreigabe und/oder um die jeweilige richtungsabhängige Vorschubfreigabehandeln (s. Achsinterface PlcToNc).

4224 16932 Überwachung

„Verfahrweg kleiner einem Geberinkrement“ (INTERNERFEHLER) Der Verfahrweg einer Gruppe/Achse ist kleinerder physikalischen Gewichtung eines Geberinkrementes, d.h. der Verfahrweg ist kleiner als der Skalierungsfaktor derAchse. Hierauf wird in der Art reagiert, dass die Achselogisch fertig gemeldet wird, ohne aber das sie aktivverfahren worden ist. Somit wird auch für den Anwenderkein externer Fehler generiert. Für Eil-/Schleichachsen wirddieser Fehler ebenfalls ausgegeben, wenn ein ungleich Nullparametrierter Schleifenweg kleiner der Summe ausSchleich- und Bremsweg ist. In diesem Fall kann dieZielposition nicht sinnvoll über- bzw. unterfahren werden.

4225 16933 Überwachung

„Antriebshardware nicht betriebsbereit bei Achsstart“Bei einem Achsstart ist festgestellt worden, dass dieAntriebshardware (Drive) nicht betriebsbereit ist. Hierfürkann es folgende Ursachen geben: - der Antrieb ist imFehlerzustand (Hardwarefehler) - der Antrieb befindet sichin der Aufstartphase (z. B. nach einem Achsreset dem einHardwarefehler voraus ging) - dem Antrieb fehlt dieReglerfreigabe (ENABLE) Anmerkung: Der Zeitbedarf fürdas „Hochfahren“ eines Antriebes nach einemHardwarefehler kann sich im Bereich von mehrerenSekunden bewegen.

4226 16934 Überwachung

"Die Parameter des Not-Stops sind unzulässig."Entweder sind die Verzögerung und der Ruck kleiner gleichNull oder aber einer der beiden Werte ist schwächer als dieoriginalen Startdaten der Positionierung.

4227 16935 Funktion "Der Sollwertgenerator ist nicht aktiv, so dass keineInstruktion angenommen wird."

4228 16936 Überwachung

„Geforderte Verfahrweg/Schleifenweg ist unzulässig“Der Verfahrweg bzw. der Schleifenweg der Achse ist kleinerals der positive oder negative Bremsweg der Eil-/Schleich-Achse.

4229 16937 Überwachung

„Geforderte Zielposition ist unzulässig (Slaveachse)“Der auf die Slaveachse verrechnete Wert für die Zielpositioneines Positionierauftrages befindet sich nicht innerhalb derSoftwareendlagen, d. h. die Software Endlage Minimumbzw. die Software Endlage Maximum würde unterschrittenbzw. überschritten. Diese Überprüfung wird nur danndurchgeführt, wenn die jeweilige Endlagenüberwachungaktiviert ist.

422A 16938 Überwachung

„Regler- und/oder Vorschubfreigabe nicht vorhanden(Slaveachse)“ Die für eine Positionierung benötigtenAchsfreigaben einer oder mehrerer beteiligten Slaveachsensind nicht vorhanden. Hierbei kann es sich entweder um dieReglerfreigabe und/oder um die jeweiligerichtungsabhängige Vorschubfreigabe handeln (s.Achsinterface PlcToNc).

Anhang

TwinCAT 3 NC I254 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung422B 16939 Parameter „Aktivierungsposition (Schwelle) liegt außerhalb des

Bereichs der aktuellen Positionierung“DieAktivierungsposition (Schwelle) eines Kommandos (z.B."neue Geschwindigkeit ab einer Positionsschwelle") liegtaußerhalb des Bereichs der aktuellen Positionierung (z.B. inFahrtrichtung betrachtet vor der aktuellen Position oderhinter der Zielposition der Achse).

422C 16940 Parameter „Start/Aktivierungsdaten der externenSollwertübernahme sind unzulässig“ Es können folgendeFehlersituationen vorliegen: 1. Wenn die externeSollwertgenerierung/Übernahme bereits aktiv ist und diesewiederholt mit einem Starttyp (1: Absolut, 2: Realtiv) aktiviertwird, der dem ursprünglichen Anfangsstarttyp widerspricht.2. Wenn die interne Sollwertgenerierung (z.B. PTP) bereitsaktiv ist und zusätzlich die externe Sollwertgenerierung mitdem Starttyp "Absolut" aktiviert wird (2 mal absolutwiderspricht sich).

422D 16941 Parameter „Geschwindigkeit ist nicht konstant“ Zur Veränderungder Dynamikparameter 'Acceleration' und 'Deceleration'muss die Achse in einem kräftefreien Zustand sein.

422E 16942 Parameter „Ruck kleiner gleich 0.0 unzulässig“ Ein Wert kleinergleich 0.0 für den Ruck (PTP und CNC) ist unzulässig, dader Ruck definitionsgemäß positiv ist und bei Ruck 0.0durch Divisonen eine Exception der FPU generiert wird.

422F 16943 Parameter „Beschleunigung kleiner gleich 0.0 unzulässig“ Ein Wertkleiner gleich 0.0 für die Beschleunigung (PTP und CNC) istunzulässig, da die Beschleunigung definitionsgemäß positivist und bei Beschleunigung 0.0 sich keine Bewegunggenerieren lässt.

4230 16944 Parameter „Absolutwert Verzögerung kleiner gleich 0.0unzulässig“ Ein Wert kleiner gleich 0.0 für den Absolutwertder Verzögerung (PTP und CNC) ist unzulässig, da derAbsolutwert der Verzögerung definitionsgemäß positiv istund bei Absolutwert der Verzögerung 0.0 sich keineBewegung generieren lässt

4231 16945 Parameter „Sollgeschwindigkeit kleiner gleich 0.0 unzulässig“ EinWert kleiner gleich 0.0 bzw. außerhalb des Bereiches von10-3 bis 10+10 ist für die Sollgeschwindigkeit (PTP und CNC)unzulässig, da die Sollgeschwindigkeit definitionsgemäßstrikt positiv ist und bei Sollgeschwindigkeit 0.0 durchDivisionen eine Exception der FPU generiert wird.

4232 16946 Überwachung

„Verlust der Auflösungsgenauigkeit für eineangeforderte Positionierung“ Die Positionierung isträumlich oder zeitlich so lang, dass Nachkommastellenirrelevant werden und es zu Ungenauigkeiten während derPositionierung kommen kann (LOSS_OF_PRECISION).

4233 16947 Parameter „Zykuszeit kleiner gleich 0.0 unzulässig“ Ein Wert kleinergleich 0.0 für die Zykluszeit (PTP und CNC) ist unzulässig,da die Zykluszeit definitionsgemäß strikt positiv ist und beiZykluszeit 0.0 durch Divisionen eine Exception der FPUgeneriert wird.

4234 16948 Intern „PTP Datentyp <intasdouble> Bereichsüberschreitung “Der Startauftrag oder der Override oder die neueZielposition sind so extrem parametriert, dass der interneDatentyp seine Genauigkeit verliert.

Anhang

TwinCAT 3 NC I 255Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4235 16949 Funktion „PTP LHL-Geschwindigkeitsprofil nicht

generierbar“ (INTERNER FEHLER) Der Startauftrag oderder Override oder die neue Zielposition sind so extremparametriert, dass kein Geschwindigkeitsprofil des TypsLHL (Low-High-Low) generierbar ist.

4236 16950 Funktion „PTP HML-Geschwindigkeitsprofil nichtgenerierbar“ (INTERNER FEHLER) Der Override oder dieneue Zielposition sind so extrem parametriert, dass keinGeschwindigkeitsprofil des Typs HML (High-Middle-Low)generierbar ist.

4237 16951 Adresse „Startdaten-Adresse ungültig“ Die Adresse der Startdatenist ungültig.

4238 16952 Parameter „Geschwindigkeits-Override (StartOverride) unzulässig“Der Wert für den Geschwindigkeits-Override ist unzulässig,da er unter 0.0% oder über 100.0% ist (s. AchsinterfacePlcToNc). Hierbei entsprechen 100.0 % dem ganzzahligenWert 1000000 im Achsinterface. Wertebereich: [0 ...1000000]

4239 16953 Parameter „StartTyp unzulässig“ Der angegebene Starttyp existiertnicht

423A 16954 Überwachung

„Geschwindigkeitsüberhöhung (Überschwingen in derGeschwindigkeit)“ Die neue Dynamik ist mit demparametrierten Ruck ist so schwach, dass untervorgegebenen Randbedingungen eineGeschwindigkeitsüberhöhung (Überschwingen in derGeschwindigkeit) droht. Das Kommando wird deshalb nichtausgeführt.

423B 16955 Parameter „Startparameter der Achsstruktur ungültig“ Externe oderinterne Parameter der Startstruktur für einePositionierauftrag sind ungültig. So können z. B.unzulässigerweise der Skalierungsfaktor, die SAF-Zykluszeitoder die geforderte Geschwindigkeit kleiner gleich Null sein.

423C 16956 Parameter „Initialisierungsparameter des Overridegeneratorsungültig“ Einer der (Re)Initialisierungparameter desOverridegenerators ist ungültig

423D 16957 Überwachung

„Slaveachse besitzt keinenSollwertgenerator“ (INTERNER FEHLER) Innerhalb derGruppe ist festgestellt worden, dass eine Slaveachse keinengültigen Slavegenerator (Sollwertgenerator) besitzt.Slaveachse und Slavesollwertgenerator müssen zwingendpaarweise vorhanden sein. Hierbei handelt es sich um eineninternen Fehler.

423E 16958 Funktion „Tabelle ist leer“ Die SVBTabelle oder die SAF-Tabelleenthält keinen Eintrag.

423F 16959 Funktion „Tabelle ist voll“ Die SVBTabelle oder die SAF-Tabelle hatkeine freie Zeile mehr.

4240 16960 Speicher „Kein Speicher verfügbar“ SVB-Speicherallozierung fürdynamischen Eintrag in SAF-Tabelle misslungen .

4241 16961 Funktion „Tabelle enthält schon einen Eintrag“ (INTERNERFEHLER) SAF-Tabelleneintrag abgebrochen, dafälschlicherweise schon ein Eintrag existiert.

4242 16962 Funktion „Stop ist schon aktiv“ Stopauftrag wird nichtweitergeleitet, da der Stop schon aktiviert worden war.

Anhang

TwinCAT 3 NC I256 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4243 16963 Funktion „Kompensation wird nicht um die volle

Kompensationsstrecke durchgeführt“ DieKomponsations-Start-Parameter lassen eine Kompensationum die volle zu kompensierende Strecke nicht zu. Daherwird eine Kompensation um eine kleinere Streckedurchgeführt.

4244 16964 Parameter „Interne-Parameter der Kompensationungültig“ (INTERNER FEHLER) Ungültige interneParameter bzw. Startparameter des unterlagertenGenerators.

4245 16965 Funktion „Kompensation aktiv“ Start der Kompensation verweigert,da die Kompensation schon aktiv ist oder aber die Master-/Slaveachse gar nicht aktiv verfahren wird, wodurch eineAusführung der Kompensation unmöglich ist.

4246 16966 Funktion „Kompensation nicht aktiv“ Stop der Kompensationverweigert, da die Kompensation nicht aktiv ist.

4247 16967 Funktion „Kompensationstyp ungültig“ Der Typ für dieStreckenkompensation ist ungültig. Erlaubt ist zum jetzigenZeitpunkt nur der Kompensationstyp 1 (trapezförmigerGeschwindigkeitsverlauf).

4248 16968 Funktion „Achsadresse für Kompensation ungültig“ (INTERNERFEHLER) Die Adresse der Master- oder Slaveachse, auf diedie Streckenkompensation wirken soll, ist ungültig. Hierbeihandelt es sich um einen internen Fehler.

4249 16969 Adresse „Ungültige Slave-Adresse“ (INTERNER FEHLER) Dieangegebene Slave-Adresse zum online Ab/Abkoppeln istungültig.

424A 16970 Funktion „Koppel-Geschwindigkeiten unzulässig“ DieGeschwindigkeit der zukünftigen Masterachse ist 0, so dassein online Ankoppeln nicht möglich ist.

424B 16971 Funktion „Koppel-Geschwindigkeiten nicht konstant“ DieGeschwindigkeit der zukünftigen Masterachse und dieGeschwindigkeit der zukünftigen Slaveachse sind nichtkonstant, so dass ein online Ankoppeln nicht möglich ist.

424C 16972 Parameter „Zykluszeit kleiner gleich 0.0 unzulässig“ Ein Wertkleiner gleich 0.0 für die Zykluszeit (Slave) ist unzulässig, dadie Zykluszeit definitionsgemäß strikt positiv ist und beiZykluszeit 0.0 durch Divisionen eine Exception der FPUgeneriert wird.

424D 16973 Funktion „Entkoppel-Auftrag unzulässig“ Die Slaveachse ist voneinem Typ (z.B. Tabellenslave), oder in einem Zustand(Mastergeschwindigkeit 0), der keine Online Entkopplungzulässt.

424E 16974 Funktion „Funktion unzulässig“ Die Funktion ist logisch nichtausführbar, z.B. Kommandos die für Slaveachsen nichtmöglich bzw. nicht erlaubt sind.

424F 16975 Parameter „Kein gültiges Tabellengewicht gesetzt“ DerGewichtungsfaktor ist für jede Tabelle 0, so dass keineTabelle gelesen werden kann.

4250 16976 Funktion „Achsstarttyp, Istpositionstyp oder Endpositionstypunzulässig“ Der Starttyp für einen Positionierauftrag istungültig. Gültige Starttypen sind ABSOLUT (1), RELATIV(2), ENDLOS POSITIV (3), ENDLOS NEGATIV (4),MODULO (5), etc. . Ferner ist es möglich, dass die Typenfür das Setzen einer neue Istposition oder das Anfahreneiner neuen Endposition ungültig sind.

Anhang

TwinCAT 3 NC I 257Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4251 16977 Funktion „Funktion wird nicht unterstützt“ Es ist eine NC-

Funktionalität ausgelöst worden, die nicht zur Benutzungfreigegeben ist bzw. die nicht implementiert ist. Hierbei kannes sich z.B. um Kommandos handeln, die für Masterachsennicht möglich bzw. nicht erlaubt sind.

4252 16978 Überwachung

„Zustand für Statemaschine ungültig“ (INTERNERFEHLER) Der Zustand für eine der internen Statemaschinesist ungültig. Hierbei handelt es sich um einen internenFehler.

4253 16979 Überwachung

„SPS-Referenziernocke ist vorzeitig freigeworden“ BeimReferenziervorgang einer Achse wird diese in Richtung desSPS-Referenziernockens gestartet und erst beim Erreichendes Nockensignals wieder gestoppt. Nachdem die Achsedann auch physikalisch zum Stillstand gekommen ist mussder Referenziernocken weiterhin belegt bleiben, bis dieAchse im Anschluss daran wieder regulär vom Nockenherunter gestartet wird.

4254 16980 Überwachung

„Abstandsüberwachung zwischen Aktivierung desHardwarelatch und Eintritt des IO-Syncimpuls“ Beiaktivierter Abstandsüberwachung wird überwacht, ob derAbstand in Inkrementen zwischen der Aktivierung desHardwarelatch und Eintritt des Syncimpuls (Nullimpuls)kleiner eines voreingestellten Wertes geworden ist. Wenndieser Fall eingetreten ist wird dieser Fehler generiert. (s.Parameter Inkremental-Geber)

4255 16981 Speicher „Kein Speicher verfügbar“ Die dynamischeSpeicherallozierung für den Sollwertgenerator oder die SVB-Tabelle oder die SAF-Tabelle ist fehlgeschlagen.

4256 16982 Überwachung

„Die Tabellen-Slave-Achse hat keine aktive Tabelle“Obwohl die Tabellen-Slave-Achse Tabellen hat ist keine derTabellen als aktiv gekennzeichnet. Falls das zur Laufzeitauftritt wird die ganze Master/Slave Gruppe perLaufzeitfehler angehalten.

4257 16983 Funktion „Funktion nicht zugelassen“ Die angeforderte Funktionbzw. der angeforderte Auftrag ist logisch nicht erlaubt. EinBeispiel für eine solche Fehlermeldung ist das „Setzen einerIstposition“ für einen Absolut-Geber (M3000, KL5001, etc.).

4258 16984 Funktion „Kompensation-Stop unzulässig“ Stop der Kompensationist nicht möglich, da die Kompensation schon in derStopphase ist.

4259 16985 Funktion „Slave-Tabelle wird benutzt“ Die Slave-Tabelle kann nichtaktiviert werden, da sie momentan benutzt wird.

425A 16986 Funktion „Master- oder Slaveachse führt zum Koppelzeitpunkteinen Auftrag aus (z.B. eine Positionierung)“ EineMaster/Slave-Kopplung eines bestimmten Slavetyps (z.B.Linear-Kopplung) kann nicht durchgeführt werden, da sichentweder die Masterachse oder aber die zukünftigeSlaveachse nicht im Stillstand befindet, sondern zumKoppelzeitpunkt einen Auftrag ausführt (z.B. einePositionierung). Dies ist für diesen konkreten Koppeltypnicht erlaubt.

425B 16987 Parameter „Slave (Start)-Parameter ist falsch“ Einer der Slave Start-/Koppelparameter ist unzulässig (Koppelfaktor ist Null,Master Positionsskalierung einer Kurvenscheibe ist Null,etc.).

425C 16988 Parameter „Slave-Typ is falsch“ Der Slave-Typ passt nicht zum(SVB) Start-Typ.

Anhang

TwinCAT 3 NC I258 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung425D 16989 Funktion „Achs-Stop ist schon aktiv“ Die Achs-Stop/EStop wird

nicht eingeleitet, da der Stop schon aktiv ist.425E 16990 Funktion „Maximalanzahl von Tabellen pro Slavegenerator

erreicht“ Die Maximalanzahl von Tabellen proSlavegenerator ist erreicht (z.B. 4 Tabellen bei Verwendungvon "MC_MultiCamIn").

425F 16991 Funktion "Der Skalierungsmode ist unzulässig". Der verwendeteSkalierungsmode in diesem Zusammenhang nicht gültig.Entweder ist der Mode nicht definiert bzw. noch nichtimplementiert oder aber er kann in dieser Konstellation nichtumgesetzt werden.So kann beispielsweise der Mode MASTER-AUTOOFFSETnicht verwendet werden, wenn relativ gekoppelt wird, da eshier einen Widerspruch gibt.Ferner kann der Mode MASTER-AUTOOFFSET nicht beimerstmaligen Koppeln verwendet werden, da hier kein Bezugauf eine bestehende Referenz-Tabellenkopplung (Referenz-Tabelle) hergestellt werden kann.

4260 16992 Überwachung

„Reglerfreigabe“ Reglerfreigabe für Achse oderzugehörige Slaveachse nicht vorhanden (s. AchsinterfacePlcToNc). Dieser Fehler tritt auf, wenn bei aktiverPositionierung einer Achse bzw. einer Gruppe von Achsen(auch Master/Slave-Gruppen) die Reglerfreigabe entzogenwird. Ferner tritt dieser Fehler auf, wenn eine PTP-Achseoder eine zugehörige Slaveachse ohne Reglerfreigabegestartet wird.

4261 16993 Funktion „Tabelle nicht gefunden“ Eine Tabelle mit derangegebenen ID existiert nicht oder wurde nicht eindeutigspezifiziert.

4262 16994 Funktion „Falscher Tabellentyp“ Die in der Funktion angesprocheneTabelle hat den falschen Typ.

4263 16995 Funktion „Einzelsatz Betrieb (Single Step Mode)“ Dieser Fehler trittauf, wenn für eine Gruppe/Achse die Einzelsatz-Betriebsartangewählt ist, und noch während der Abarbeitung eineseinzelnen Auftrages schon ein neuer Auftrag angefordertwird.

4264 16996 Funktion „Gruppenauftrag unbekannt (asynchronerTabelleneintrag)“ Die Gruppe hat einen Auftragbekommen, dessen Typ oder Untertyp unbekannt ist.Gültige Aufträge können ein ein- oder mehrdimensionalerPositionierauftrag (Geo 1D, Geo 3D) , einReferenzierauftrag, etc. sein.

4265 16997 Funktion „Gruppenfunktion unbekannt (synchrone Funktion)“ DieGruppe hat einen Funktion bekommen, dessen Typunbekannt ist. Gültige Funktionen sind „Reset“, „Stop“,“Neue Endposition“, „Start/StopStreckenkompensation“ „Istposition setzen“,„Referenzierstatus setzen/rücksetzen“ etc. .

4266 16998 Funktion „Gruppenauftrag für Slave unzulässig“ Gruppenaufträgesind üblicherweise nur für Masterachsen und nicht fürSlaveachsen möglich. Eine Slaveachse wird nur indirektdurch einen Positionierauftrag ihrer zugehörigenMasterachse verfahren. Ein Slave kann also nicht direkteinen Auftrag bekommen.Ausnahme: s. Achsparameter "ErlaubeBewegungskommandos für Slaveachsen"

Anhang

TwinCAT 3 NC I 259Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4267 16999 Funktion „Gruppenfunktion für Slave unzulässig“

Gruppenfunktionen sind grundsätzlich nur für Masterachsenund nicht für Slaveachsen möglich. Die einzige Ausnahmebildet die Funktion „Start/Stop Streckenkompensation“, diesowohl für Master als auch Slaves möglich ist. Hierüberhinaus kann ein Slave keine weiteren direkten Funktionenverarbeiten.

4268 17000 Funktion "GROUPERR_GROUPFUNC_NOMOTION"4269 17001 Parameter „Startposition = Zielposition“ Ungültige

Positionsparameter.426A 17002 Parameter „Parameter-des Delay-Generators ungültig“ Ungültige

externe/interne Parameter des Delaygenerators(Verzögerungszeit, Zykluszeit, Tics).

426B 17003 Parameter „Externe-Parameter- der Kompensation ungültig“Ungültige externe Startparameter der Kompensation(Beschleunigung, Verzögerung, Geschwindigkeit,Prozessgeschwindigkeit, Kompensationslänge) .

426C 17004 Parameter "Der angewählte Overridetyp ist unzulässig."426D 17005 Funktion „Aktivierungsposition über/unterfahren“ Die angestrebte

Aktivierungsposition liegt in der Vergangenheit des Masters(z.B. bei Kurvenscheibenumschaltung).

426E 17006 Funktion „Aktivierung unmöglich: Master im Stillstand“ Dieangestrebte Aktivierung der Korrektur ist nicht möglich, dadie Masterachse nicht fährt. Ein Aufsynchronisieren ist nichtmöglich, da sich die Masterachse im Stillstand befindet unddie Slaveachse noch unsynchronisiert ist.

426F 17007 Funktion „Aktivierungsmode nicht möglich“ Der angeforderteAktivierungsmode ist nicht möglich wenn sich die Slave-Achse bewegt. Anderenfalls würde die Slave-Dynamikabrupt zu Null gesetzt werden.

4270 17008 Parameter „Startparameter der Kompensation ungültig“ Einer derDynamikparameter der Kompensation ist ungültig(notwendige Bedingung): Beschleunigung (>0) Verzögerung(>0) Prozessgeschwindigkeit (>0)

4271 17009 Parameter „Startparameter der Kompensation ungültig“ DieGeschwindigkeitsüberhöhung ist negativ.

4272 17010 Parameter „Startparameter der Kompensation ungültig“ DieStrecke auf der die Kompensation stattfindet ist nicht positiv.

4273 17011 Überwachung

„Zielposition über/unterfahren“ (INTERNER FEHLER)Die für das Ende des orientierten Stopps vorgesehenePosition (aus der Modulo-Zielposition errechnet) ist schonüberfahren worden.

4274 17012 Überwachung

„Zielposition wird über/unterfahren werden“ (INTERNERFEHLER) Die für das Ende des orientierten Stoppsvorgesehene Position (aus der Modulo-Zielpositionerrechnet) ist zu nah und wird überfahren werden.

4276 17014 Überwachung

"GROUPERR_GUIDERSTARTDATA"

4277 17015 Überwachung

„Dynamikparameter nicht zulässig“ (INTERNERFEHLER) Die sich durch interne Berechnungen ergebendenDynamikparameter wie Beschleunigung, Verzögerung undRuck sind nicht zulässig.

4279 17017 Überwachung

"GROUPERR_GUIDEROVERRUN"

427A 17018 Überwachung

"GROUPERR_GUIDERLOOKAHEAD"

Anhang

TwinCAT 3 NC I260 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung427B 17019 Überwachun

g"GROUPERR_GUIDERLOOKAHEADEND"

427C 17020 Überwachung

"GROUPERR_GUIDERLOOKAHEADREQU"

427D 17021 Überwachung

"GROUPERR_GUIDERMODE"

427E 17022 Überwachung

„Fahrbefehl kann mathematisch nicht umgesetztwerden (BISECTION)“ Es wurde ein Fahrbefehlangefordert, für den mit der Parametrierung keine Lösunggefunden werden konnte. Der Fahrbefehl wurde jedochbestmöglich ausgeführt und die Meldung ist daher eher alsWarnung zu verstehen. Beispiele:Ein Achsstart wird in der Bewegung in einer ungünstigenDynamiksituation (Beschleunigungsphase) angefordert, inder die Fahrstrecke zu kurz oder die Geschwindigkeitdeutlich zu hoch ist. Eine andere Möglichkeit ist eineSlaveachse, die in der Bewegung in einer ungünstigenDynamiksituation abgekoppelt wird und anschließend miteinem Startkommando wie im vorherigen Fall beauftragtwird.

427F 17023 Überwachung

„Neue Zielposition ist bzw. wird überfahren werden“ Dieneue Zielposition ist entweder schon überfahren wordenoder wird in Zukunft überfahren werden, da die Achse bis zudieser Position nicht gestoppt werden kann. Es wird deshalbinstantan ein interner Stop eingeleitet.

4280 17024 Überwachung

„Gruppe nicht fertig / Gruppe nicht bereit für neuenAuftrag“ (INTERNER FEHLER/HINWEIS) Gruppebekommt einen neuen Auftrag, während sie sich noch in derAusführung eines vorhandenen Auftrages befindet. DieseAnforderung ist unzulässig, da hierdurch die Ausführung desbisherigen Auftrages unterbrochen würde. Bei den neuenAufträgen kann es sich z. B. um einen Positionierbefehl oderum die Funktion „Setze Istposition“ handeln. Für dieFunktion „Neue Endposition setzen“ gilt genau derumgekehrte Sachverhalt. Hierbei muss nämlich die Gruppe/Achse noch aktiv verfahren werden, um eine Änderung derEndposition Veranlassen zu können.

4281 17025 Parameter "Die Parameter des orientierten Stops (O-Stop) sindunzulässig." Die Modulo-Zielposition darf nicht kleiner alsNull und nicht größer gleich der Encoder-Modulo-Periodesein (z. B. im Intervall [0.0,360.0) ).Anmerkung: Auch im Fehlerfall wird die Achse sichergestoppt, steht dann aber anschließend nicht an dergewünschten orientierten Position.

4282 17026 Überwachung

"Die Modulo-Zielposition des Modulo-Starts istunzulässig." Die Modulo-Zielposition ist außerhalb desgültigen Parameterbereichs. Der Wert darf nicht kleiner alsNull und nicht größer gleich der Encoder-Modulo-Periodesein (z. B. im Intervall [0.0,360.0) für den Modulo-Starttyp"SHORTEST_WAY (261)" ).

Anhang

TwinCAT 3 NC I 261Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4283 17027 Parameter "Der Aktivierungsmode ist unzulässig". Der

Aktivierungsmode kann sowohl bei der Online Änderung derSkalierung als auch bei Online Änderung der MotionFunction verwendet worden sein. Allerdings ist derverwendete Aktivierungsmode in diesem Zusammenhangnicht gültig. Entweder ist der Mode nicht definiert bzw. nochnicht implementiert oder aber er kann in dieser Konstellationnicht umgesetzt werden (z.B. wenn lineare Tabellen miteinem unerlaubten zyklischen AktivierungsmodeNEXTCYCLE oder NEXTCYCLEONCE verwendet werden).In anderen Fällen ist der Mode zwar prinzipiell gültig, dasKommando kann aber nicht umgesetzt werden, weil dieFunktion schon einen Auftrag ausführt.

4284 17028 Parameter "Der parametrierte Ruck ist unzulässig". Der Ruck istkleiner als der Minimalruck. Der Wert für den Minimalruckbeträgt 1.0 (z.B. mm/s^3).

4285 17029 Parameter "Die parametrierte Beschleunigung bzw. Verzögerungist unzulässig". Die parametrierte Beschleunigung oderVerzögerung ist kleiner als die erlaubteMinimalbeschleunigung. Der Wert für dieMinimalbeschleunigung berechnet sich aus demMinimalruck und der NC Zykluszeit (Minimalruck multipliziertmit der NC Zykluszeit). Die Einheit ist z.B. mm/s^2.

4286 17030 Parameter "Die parametrierte Geschwindigkeit ist unzulässig". Dieparametrierte Sollgeschwindigkeit ist kleiner als dieMinimalgeschwindigkeit (der Wert Null ist erlaubt). Der Wertfür die Minimalgeschwindigkeit berechnet sich aus demMinimalruck und der NC Zykluszeit (Minimalruck multipliziertmit dem Quadrat der NC Zykluszeit). Die Einheit ist z.B.mm/s.

4287 17031 Überwachung

"Aktivierung kann nicht ausgeführt werden da bereitseine Aktivierung aktiv ist" Eine Aktivierung wie z.B."CamIn", "CamScaling" oder "WriteMotionFunction" kannnicht ausgeführt werden da bereits eine andere Aktivierungansteht (z.B. "CamIn", "CamScaling","WriteMotionFunction"). Es kann jeweils nur eine Aktivierungaktiv sein.

4288 17032 Überwachung

„Unerlaubte Kombination von unterschiedlichenZykluszeiten innerhalb einer Achsgruppe“ Innerhalbeiner logischen Achsgruppe sind unterschiedlicheZykluszeiten für die gemeinsame Sollwertgenerierung bzw.für IO-Berabeitung einer Achse erkannt worden. DieseSituation kann sowohl beim Herrstellen einer Master/Slave-Kopplung als auch beim Konfigurieren einer 3D- oder FIFO-Gruppe (Einfügen von Haupt-, Zusatz- oder Slave-Achsen)aufgetreten sein.

4289 17033 Überwachung

„Unzulässige Bewegungsumkehr der Achse“ Aufgrunddes aktuellen dynamischen Zustandes (aktuelleGeschwindigkeit, Beschleunigung und Ruck) würde eineBewegungsumkehr verursacht werden. Zur Vermeidungdieser Bewegungsumkehr wird das Kommando nichtausgeführt und der aktuelle Systemzustandwiederhergestellt.

Anhang

TwinCAT 3 NC I262 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung428A 17034 Überwachun

g„Unerlaubter Kommandozeitpunkt da eine andereInstruktion mit zuküftigen Aktivierungsposition aktivist“ Ein Kommando kann nicht akzeptiert werden, da zudiesem Zeitpunkt bereits ein anderes Kommando mitzuküftiger Aktivierungsposition aktiv ist (z.B. "Anfahren einerneuen Geschwindigkeit ab einer Aktivierungsposition" oder"Erreichen einer neuen Geschwindigkeit an einerAktivierungsposition").

428B 17035 Überwachung

„Interner Fehler in der Stop-Berechnungsroutine“ (INTERNER FEHLER) Aufgrundeines internen Fehlers in der Stop-Berechnungsroutine kanndas aktuelle Kommando nicht durchgeführt werden. Dervorherige Systemzustand ist wiederhergestellt worden.

428C 17036 Überwachung

„Kommando kann nur teilweise durchgeführt werden dader verbleibende Weg bis zur vollständigen Umsetzungzu kurz ist“Ein Kommando mit Aktivierungsposition(Schwelle) wie z.B. das "Anfahren einer neuenGeschwindigkeit ab einer Positionsschwelle" kann nurteilweise durchgeführt werden (also nicht vollständig), dader verbleibende Weg von der aktuellen Position bis zurAktivierungsposition zu kurz ist.

428D 17037 Überwachung

„Ungültiger Abkoppeltyp“ Das Kommando zum Auflöseneiner Slavekopplung mit anschließendemNachstartkommando ist mit einem ungültigen Abkoppel-bzw. Nachstart-Typ aufgerufen worden.

428E 17038 Überwachung

„Unerlaubte Ziel-Geschwindigkeit beim Abkoppeln einerSlaveachse“ Das Kommando zum Auflösen einerSlavekopplung mit anschließendem Nachstartkommando istmit einer unerlaubten Zielgeschwindigkeit aufgerufenworden [1 < V <Vmax].

428F 17039 Überwachung

„Aktivierung neue Dynamikparameter kann nichtdurchgeführt werden“Das Kommando zum Aktivierenneuer Dynamikparameter wie Beschleunigung, Verzögerungund Ruck kann nicht durchgeführt werden, da dies eineneue beauftragte Fahrgeschwindigkeit erfordern würde.Diese Fehlersituation kann z.B. auftreten, wenn sich dieAchse im beschleunigten Zustand nahe der Zielpositionbefindet und die Dynamikparameter verringert werden.

4290 17040 Überwachung

„Kommando kann nicht durchgeführt werden da sichdie Achse bereits in der Bemsphase befindet“EinKommando mit Aktivierungsposition (Schwelle) wie z.B. das"Anfahren einer neuen Geschwindigkeit ab einerPositionsschwelle" kann nicht durchgeführt werden, da sichdie Achse bereits in der Bremsphase befindet und derverbleibende Weg von der aktuellen Position bis zurAktivierungsposition zu kurz ist.

4291 17041 Überwachung

„Ruckskalierung der Abkoppelroutine beim Abkoppelneiner Slaveachse kann keine gültige Lösung finden“Dieinterne Ruckskalierung der Abkoppelroutine ( Abkopplungeiner Slaveachse und Wandlung zum Master) kann keinegültige Lösung finden. Andernfalls könnte es zu einerunerwarteten Geschwindigkeitsüberhöhung,Bewegungsumkehr oder einem Überfahren der Zielpositionkommen.

4292 17042 Überwachung

„Kommando kann nicht durchgeführt werden da derAuftragspuffer voll ist“Das Kommando wird abgelehnt, dader Auftragspuffer voll ist.

Anhang

TwinCAT 3 NC I 263Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4293 17043 Intern „Kommando kann aufgrund eines internen Fehlers im

"Look Ahead" nicht ausgeführt werden“ (INTERNERFEHLER)Das Kommando kann aufgrund eines internenFehlers im Zukunftsplaner ("look ahead") nicht ausgeführtwerden.

4294 17044 Überwachung

„Kommando wird abgelehnt, da die neueFahrgeschwindigkeit nicht umsetzbar ist“DasKommando wird abgelehnt, da eine Umsetzung der neuenFahrgeschwindigkeit (Zielgeschwindigkeit) Vrequ unmöglichund eine interne Optimierung undurchführbar ist.

4295 17045 Überwachung

„Aufeinander folgende Kommandos haben dieselbeEndposition“Aufeinander folgende Kommandos habendieselbe Endposition, so dass sich eine Verfahrstrecke vonNull ergibt.

4296 17046 Überwachung

„Logische Fahrtrichtung der Achse und parametrierteFahrtrichtung des Puffer-Kommandos widerspechensich“Im erweiterten Puffer-Betriebszustand (BufferMode),wo die aktuelle Endposition im aktuellen Segment durch dieneue Puffer-Startposition überschrieben wird, liegen dieaktuelle logische Fahrtrichtung antiparallel zur logischenRichtung des Puffer-Kommandos (=> Widerspruch).Eingepuffertes Kommando (BufferMode BlendingLow,BlendingPrevious, BlendingNext, BlendingHigh) wird mitFehler 0x4296 abgewiesen, wenn das Kommando mit derBeckhoff spezifischen Erweiterung einer optionalenBlending-Position verwendet wird, aber dieseBlendingPosition jenseits der Zielposition desvorhergehenden Kommandos liegt.

4297 17047 Überwachung

„Kommando wird abgelehnt, da der verbleibendeRestweg im aktuellen Segment zu kurz ist“Der für diePositionierung verbleibende Restweg ist nicht ausreichend,daher kann das Kommando nicht ausgeführt werden.Dies kann z.B. im BufferMode (BlendingMode) der Fall sein,wenn der verbleibende Restweg im aktuellen Segment nichtausreicht um beschleunigungsfrei zu fahren und amSegmentwechsel eine vorgegebene Geschwindigkeiterreicht zu haben (je nach BufferMode).

429B 17051 Überwachung

„Sammelfehler für ungültige Startparameter“ DieserFehler bezieht sich auf eine Falschparametrierung desAnwenders (Sammelfehler).Z.B. könnten Dynamikparameterwie Velo, Acc oder Dec kleiner gleich Null sein.Oder folgende Fehlerfälle:- BaseFrequence < 0.0- StartFrequence < 1.0- StepCount < 1, StepCount > 200- BaseAmplitude <= 0.0- StepDuration <= 0.0- StopFrequence >= 1/(2*CycleTime)

429C 17052 Überwachung

„SPS-Referenziernocke ist nicht gefunden worden“Beim Referenziervorgang einer Achse wird diese inRichtung des SPS-Referenziernockens gestartet. DieseReferenziernocke ist allerdings nicht wie erwartet gefundenworden (=> führt zum Abbruch des Referenziervorgangs).

Anhang

TwinCAT 3 NC I264 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung429D 17053 Überwachun

g„SPS-Referenziernocke ist nicht wieder freigeworden“Beim Referenziervorgang einer Achse wird diese inRichtung des SPS-Referenziernockens gestartet und erstbeim Erreichen des Nockensignals wieder gestoppt.Nachdem die Achse dann auch physikalisch zum Stillstandgekommen ist wird die Achse im Anschluss daran wiederregulär vom Nocken herunter gestartet. Hierbei ist derReferenziernocken beim Herunterfahren nicht wie erwartetwieder frei geworden (=> führt zum Abbruch desReferenziervorgangs).

429E 17054 Überwachung

„IO-Syncimpuls ist nicht gefunden worden (nur beiVerwendung von Hardwarelatch)“ Bei Aktivierung desHardwarelatch wird erwartet, dass nach Ablauf einerbestimmten Zeit bzw. eines bestimmten Weges einSyncimpuls (Nullimpuls) gefunden wird und ein Syncereignisausgelöst wird. Ist dies nicht der Fall, dann wird darauf miteinem Fehler und dem Abbruch des Referenziervorgangsreagiert.

42A0 17056 Intern „Gruppen-/Achsfolgefehler“ Folgefehler, der durch einenanderen verursachenden Fehler einer weiteren Achseinnerhalb der Gruppe veranlasst worden ist. Gruppen-/Achsfolgefehler können im Zusammenhang mit Master/Slave-Kopplung oder mit einer mehrachsigeninterpolierenden DXD-Gruppe auftreten. Wird z. B. an einerMasterachse eine Schleppabstandsüberschreitung erkannt,so werden alle übrigen Masterachsen dieser Gruppe, so wieauch sämtliche Slaveachsen, mit diesem Folgefehlerversehen.

42A1 17057 Parameter „Geschwindigkeitsreduktionsfaktor für C0/C1-Übergangunzulässig“ Ein C0-Übergang beschreibt zwei Geometrien,die zwar einen stetigen Verlauf besitzen, allerdings wedereinmal noch zweimal stetig differenzierbar sind. Für solcherÜbergänge wirkt der Geschwindigkeitsreduktionsfaktor C0.Anmerkung: Ein C1-Übergang ist dadurch gekennzeichnet,dass die zwei Geometrien einen stetigen Verlauf besitzen,allerdings nur einmal stetig differenzierbar sind. Für solcherÜbergänge wirkt der Geschwindigkeitsreduktionsfaktor C1.Wertebereich: [0.0 ... 1.0] Einheit: 1

42A2 17058 Parameter „Kritischer Winkel am Segmentübergang unzulässig“Wertebereich: (0.0 ... 180.0] Einheit: Grad

42A3 17059 Parameter „Radius der Toleranzkugel“ nicht im erlaubtenWertebereichWertebereich: [0.0 ... 100.0] Einheit: z. B. mm

42A4 17060 Parameter Nicht implementiert.42A5 17061 Parameter „Starttypus“

Wertebereich: [0,1] Einheit: 142A6 17062 Parameter Nicht implementiert.42A7 17063 Parameter "Verschleifung" bei gegebenen Parametern nicht möglich42A8 17064 Parameter Nicht implementiert.42A9 17065 Parameter „Kurvengeschwindigkeitsreduktionsmethode

unzulässig“ (INTERNER FEHLER) DieKurvengeschwindigkeitsreduktionsmethode existiert nicht.

42AA 17066 Parameter „Mindestgeschwindigkeit unzulässig“ Die eingegebeneMindestgeschwindigkeit ist kleiner 0.0.

42AB 17067 Parameter „Powerfunction input unzulässig“ (INTERNER FEHLER)Die Eingabeparameter in die power_() Funktion führen zueiner FPU-Exception.

Anhang

TwinCAT 3 NC I 265Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung42AC 17068 Parameter „Dynamikänderungsparameter unzulässig“ Ein

Parameter der die Änderung der Dynamik reguliert istungültig. Parameter: 1.Absolute Bahndynamikänderung: alleParameter müssen strikt positiv sein. 2.Relative Reduktionc_f: 0.0 < c_f <= 1.0

42AD 17069 Speicher “Speicherallozierungfehler” (INTERNER FEHLER)42AE 17070 Funktion "Die berechnete Endposition passt nicht zur

Endposition des Nc-Satzes (interner Fehler)."42AF 17071 Parameter "Berechne verbleibende Bahnlänge"

unzulässiger WertWertebereich: [0,1]

42B0 17072 Funktion „Sollwertgenerator SVB aktiv“ Start desSollwertgenerators (SVB, SAF) verweigert, da die SVB-Taskschon/noch aktiv ist.

42B1 17073 Parameter „SVB-Parameter unzulässig“ (INTERNER FEHLER) EinParameter der inneren Struktur des Sollwertgenerators(SVB) führt zu logischen Fehlern und/oder zur einer FPUException. Betrifft die Parameter: Minimalgeschwindigkeit(>0,0), TimeMode, ModeDyn, ModeGeo, StartType,DistanceToEnd, TBallRadius.

42B2 17074 Parameter „Geschwindigkeitsreduktionsfaktor unzulässig“ EinParameter der die Reduktion der Geschwindigkeit anSegmentübergängen reguliert ist ungültig. Parameter:1.Einmal stetig differenzierbare Übergänge:VeloVertexFactorC1 2.Keinmal stetig differenzierbareÜbergänge: VeloVertexFactorC0 CriticalVertexAngleLow,CriticalVertexAngleHigh.

42B3 17075 Parameter „Helix ist Kreis“ Die Helix ist zu einem Kreis degeneriertund muss als solcher eingegeben werden.

42B4 17076 Parameter „Helix ist Gerade“ Die Helix ist zu einer Geradendegeneriert und muss als solche eingegeben werden.

42B5 17077 Parameter „Guider Parameter unzulässig“ Ein Parameter desGuiders führt zu logischen Fehlern und/oder zur einer FPUException.

42B6 17078 Adresse „Ungültige Segmentadresse“ (INTERNER FEHLER) DasGeometriesegment hat keine gültige Geometriestruktur-Adresse oder keine gültige Dynamikstruktur-Adresse.

42B7 17079 Parameter „Unparametrierter Generator“ (INTERNER FEHLER) DerSVB-Generator ist noch nicht parametriert worden und kanndeswegen nicht arbeiten.

42B8 17080 Adresse „Unparametrierte Tabelle“ (INTERNER FEHLER) DieTabelle hat keine Information über die Adresse deszugehörigen Dynamikgenerators.

42BA 17082 Intern "Die Berechnung der Bogenlänge der Verschleifung istfehlgeschlagen (interner Fehler)."

42BB 17083 Parameter "Der Radius der Toleranzkugel ist zu klein (kleiner als0.1 mm)."

42BC 17084 Intern Fehler bei der Berechnung der DXD-Software-Endlagen(interner Fehler)

42BD 17085 Funktion "NC-Satz verletzt Software-Endlagen der Gruppe"Mindestens eine Bahnachse mit aktivierte Software-Endlagenüberwachung verletzt die Endlagen. DasGeometriesegment wird deshalb mit diesem Fehlerabgelehnt.

42BE 17086 Parameter "GROUPERR_DXD_SOFTENDCHECK"42BF 17087 Parameter "GROUPERR_DXD_RTTG_VELOREFERENCE"

Anhang

TwinCAT 3 NC I266 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung42C0 17088 Intern „Interpolierende Gruppe beinhaltet Achsen vom

falschen Achstyp“ Eine interpolierende 3D-Gruppe darfnur mit kontinuierlich geführten Achsen vom Achstyp 1(SERVO) bestückt sein.

42C1 17089 Intern „Skalarprodukt nicht durchführbar“ Die Länge eines derbeteiligten Vektoren ist 0.0.

42C2 17090 Intern „Arcuscosinus nicht durchführbar“ Die Länge eines derbeteiligten Vektoren ist 0.0.

42C3 17091 Parameter „Ungültiger Tabellen-Eintragstyp“ Der angegebeneTabellen-Eintragstyp ist unbekannt.

42C4 17092 Parameter „Ungültiger DIN66025-Infotyp“ (INTERNER FEHLER) Derangegebene DIN66025-Infotyp ist unbekannt. BekannteTypen: G0, G1, G2, G3, G17, G18, G19.

42C5 17093 Parameter „Ungültige Dimension“ (INTERNER FEHLER) Die CNC-Dimension ist unbekannt. Bekannte Dimensionen: 1, 2, 3.Oder: Die CNC-Dimension ist für das angegebenegeometrische Objekt ungültig. Für Kreise muss dieDimension 2 oder 3 sein, für eine Helix 3.

42C6 17094 Parameter „Geometrisches Objekt ist keine Gerade“ Dieangegebene Objekt hat, als Gerade interpretiert, die Länge0.0.

42C7 17095 Parameter „Geometrisches Objekt ist kein Kreis“ Das angegebeneObjekt hat, als Kreis interpretiert, die Länge 0.0 oder denDrehwinkel 0.0 oder den Radius 0.0.

42C8 17096 Parameter „Geometrisches Objekt ist keine Helix“ Das angegebeneObjekt hat, als Kreis interpretiert, die Länge 0.0 oder denDrehwinkel 0.0 oder den Radius 0.0. oder die Höhe 0.0.

42C9 17097 Parameter „Sollgeschwindigkeit kleiner gleich 0.0 ungültig“ EinWert kleiner gleich 0.0 für die Sollgeschwindigkeit (CNC) istunzulässig, da die Sollgeschwindigkeit definitionsgemäßpositiv ist und bei Sollgeschwindigkeit 0.0 keine Bewegunggeneriert werden kann.

42CA 17098 Adresse „Adresse für Look-Ahead ungültig“ (INTERNERFEHLER) Die angegebene Adresse für den Look-Ahead istnicht gültig.

42CB 17099 Funktion „Sollwertgeneraor SAF aktiv“ Start desSollwertgenerators (SAF) verweigert, da die SAF-Taskschon/noch aktiv ist.

42CC 17100 Funktion „CNC Sollwertgenerierung nicht aktiv“ Stop oderOverrideänderung verweigert, da die Sollwertgenerierungnicht aktiv ist.

42CD 17101 Funktion „CNC Sollwertgenerierung in Stopphase“ Stop oderOverrideänderung verweigert, da die Sollwertgenerierung inder Stopphase ist.

42CE 17102 Parameter „Override unzulässig“ Ein Override unter 0.0% oder über100.0% ist ungültig.

42CF 17103 Adresse „Ungültige Tabellen-Adresse“ (INTERNER FEHLER) Dieangegebene Tabellen-Adresse zur Initialisierung desSollwertgenerators ist ungültig oder aber es ist kein gültigerLogger-Anschluss (Report-Datei) vorhanden.

42D0 17104 Parameter „Ungültiger Tabellen-Eintragstyp“ Der angegebeneTabellen-Eintragstyp ist unbekannt.

42D1 17105 Speicher „Speicherallozierung misslungen“ Speicherallozierungfür Tabelle misslungen.

42D2 17106 Speicher „Speicherallozierung misslungen“ Speicherallozierungfür Filter misslungen

Anhang

TwinCAT 3 NC I 267Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung42D3 17107 Parameter „Ungültiger Parameter“ Der Parameter des Filters ist

unzulässig.42D4 17108 Funktion "Restweglöschen nicht möglich." Das Restweglöschen

(nur Interpolation) schlug fehl, weil z.B. 'DelDTG' imaktuellen Verfahrsatz im NC-Programm nicht programmiertwurde

42D5 17109 Intern "Der Sollwertgenerator der fliegenden Säge liefertinkompatible Werte (interner Fehler)."

42D6 17110 Funktion "Achse wird intern gestoppt da sie sonst dieangeforderte Zielposition überfahren würde (alter PTP-Sollwertgenerator)" Wenn z.B. bei der Online-Wandlungvom Slave zum Master eine neue Zielposition angefordertwird, die die Achse aufgrund der aktuellen Fahrsituationüberfahren würde, dann wird die Achse intern gestoppt umsicherzustellen dass das Fahrziel nicht überfahren wird(alter).

42D7 17111 Funktion "Interner Fehler bei der On-Line Wandlung des Slaveszum Master."

42D8 17112 Funktion "Falsche Richtung bei der On-Line Wandlung desSlaves zum Master."

42DA 17114 Parameter "Parameter der Motion Function (MF) Tabelle sindungültig" Die Parameter der Motion Function (MF) sindunzulässig. Dies kann sich auf den erstmalig angelegtenDatensatz oder auf online geänderte Daten beziehen.

42DB 17115 Parameter "Die Parameter der Motion Function (MF) Tabelle sindungültig" Die Parameter der Motion Function (MF) sindunzulässig. Dies kann sich auf den erstmalig angelegtenDatensatz oder auf online geänderte Daten beziehen.Fehlerursache kann sein, dass z.B. ein aktiver MF-Punkt(also kein IGNORE-Punkt) auf einen passiven MF-Punkt(also IGNORE-Punkt) zeigt.

42DC 17116 Überwachung

"Interner Fehler bei Verwendung der Motion Function(MF)" Hier ist ein interner Fehler bei Verwendung derMotion Function (MF) aufgetreten, der nicht weiter vomAnwender zu lösen ist. Bitte wenden sie sich an denTwinCAT Support.

42DD 17117 Funktion "Achskopplung mittels Synchronisierungsgeneratorswegen unzulässiger Achsdynamikwerte abgelehnt" DieAchskopplung mittels des Synchronisierungsgenerators istabgelehnt worden, da einer der Slavedynamikparameter(Maschinendaten) unzulässig ist. Entweder ist dieMaximalgeschwindigkeit, die Beschleunigung, dieVerzögerung oder der Ruck kleiner gleich Null oder dieerwartete Synchrongeschwindigkeit der Slaveachse istgrößer als die maximal erlaubte Slavegeschwindigkeit.

42DE 17118 Funktion "Koppelbedingungen des Synchronisierungsgeneratorssind unzulässig" Bei positiver Fahrtrichtung derMasterachse muss gelten, dass die Mastersynchronpositiongrößer als die Masterkoppelposition ist ("also in der Zukunftliegt"). Bei negativer Master-Fahrrichtung muss dieMastersynchronposition kleiner als die Masterkoppelpositionsein.

Anhang

TwinCAT 3 NC I268 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung42DF 17119 Überwachun

g"Bewegungsprofil des Synchronisierungsgeneratorsverletzt eine Dynamikgrenze der Slaveachse oder einegeforderte Eigenschaft des Profils" Eine derparametrierten Überprüfungen (Checks) hat eineÜberschreitung der Dynamikgrenzen (max.Geschwindigkeit, max. Beschleunigung, max. Verzögerungoder max. Ruck) der Slaveachse erkannt oder eineProfileigenschaft (z.B. Über- oder Unterschwingen in derPosition oder der Geschwindigkeit) ist unzulässig.Siehe auch zusätzliche/weitere Meldungen in der WindowsEreignisanzeige und im Meldefenster des Systemmanagers.

42E0 17120 Parameter „Ungültiger Parameter“ Der Parameter desEncodergenerators ist unzulässig.

42E1 17121 Parameter „Ungültiger Parameter“ Der Parameter des externen (Fifo)Generators ist unzulässig.

42E2 17122 Funktion „Externer Generator ist aktiv“ Der externe Generatorkann nicht gestartet werden, da er schon aktiv ist.

42E3 17123 Funktion „Externer Generator ist nicht aktiv“ Der externeGenerator kann nicht gestoppt werden, da er nicht aktiv ist.

42E4 17124 Funktion "NC-Satz mit Hilfsachse verletzt Software-Endlagen derGruppe" Mindestens eine Hilfsachse mit aktivierteSoftware-Endlagenüberwachung verletzt die Endlagen. DasGeometriesegment wird deshalb mit diesem Fehlerabgelehnt.

42E5 17125 Funktion "NC Satz vom Typ Bezier Kurve (Bezier Spline) enthälteine Singularität" Die Bezier Kurve (Bezier Spline) hat eineSpitze, d.h. an einem inneren Punkt streben sowohl dieKrümmung als auch der Betrag der Geschwindigkeit sogegen Null, daß der Krümmungsradius unendlich ist.Hinweis: Die Bezier Kurze sollte an genau dieser Stellegemäß dem "Casteljau Algorithmus" geteilt werden. DieseMaßnahme erhält die Geometrie und eliminiert die innereSingularität.

42E7 17127 Parameter „Wert für die Totzeitkompensation unzulässig“ Der Wertfür die Totzeitkompensation in Sekunden für eineSlavekopplung an eine Encoder-Achse (virtuelle Achse) istunzulässig.Wertebereich: [0.0 ... 60.0] Einheit: s

42E8 17128 Parameter "GROUPERR_RANGE_NOMOTIONWINDOW"Wertebereich: [0.0 ... 1000.0] Einheit: z.B. mm/s

42E9 17129 Parameter "GROUPERR_RANGE_NOMOTIONFILTERTIME"Wertebereich: [0.0 ... 60.0] Einheit: s

42EA 17130 Parameter "GROUPERR_RANGE_TIMEUNITFIFO"Wertebereich: (0.0 ... 1000.0] Einheit: s

42EB 17131 Parameter "GROUPERR_RANGE_OVERRIDETYPE"Wertebereich: [1, 2] Einheit: 1

42EC 17132 Parameter "GROUPERR_RANGE_OVERRIDECHANGETIME"Wertebereich: (0.0 ... 1000.0] Einheit: s

42ED 17133 Parameter "GROUPERR_FIFO_INVALIDDIMENSION"Hinweis: Die FIFO-Dimension (Anzahl von Achsen) ist abTC 2.11 Build 1547 von 8 auf 16 erhöht worden.Wertebereich: [1 ... 8] bzw. [1 ... 16] Einheit: 1 (Anzahl

von Achsen)42EE 17134 Adresse "GROUPERR_ADDR_FIFOTABLE"

Anhang

TwinCAT 3 NC I 269Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung42EF 17135 Überwachun

g"Achse wegen aktivem Stopp fürBewegungskommandos gesperrt" Die Achse/Gruppe istfür Bewegungskommandos gesperrt, da ein Stopp aktiv ist.Diese Sperre kann durch Aufrufen des Stopp-Kommandosmit Execute=FALSE oder durch einen Achs-Resetaufgehoben werden (s.a. MC_Stop und MC_Reset inTcMC2.Lib).

42F0 17136 Parameter „Ungültige Anzahl von Hilfsachsen“ Die lokale Anzahlvon Hilfsachsen stimmt nicht mit der globalen Anzahl derHilfsachsen überein.

42F1 17137 Parameter „Ungültiger Reduktionsparameter für Hilfsachsen“ DieGeschwindigkeitsreduktionsparameter der Hilfsachsen sindinkonsistent.

42F2 17138 Parameter „Ungültiger Dynamikparameter für Hilfsachsen“ DieDynamikparameter der Hilfsachsen sind inkonsistent.

42F3 17139 Parameter „Ungültiger Koppelparameter für Hilfsachsen“ DieKoppelparameter der Hilfsachsen sind inkonsistent.

42F4 17140 Parameter „Ungültiger Hilfsachseneintrag“ Der Hilfsachseneintragist leer (keine Achsbewegung).

42F6 17142 Parameter "Ungültiger Parameter" Der Parameter für den Grenzwertder Geschwindigkeitsreduktion bei Hilfsachsen ist ungültig.Er muss im Intervall 0..1.0 liegen.

42F8 17144 Parameter „BlockSearch - Segment nicht gefunden“ Das alsParameter angegebene Segment konnte bis zum Ende desNC-Programms nicht gefunden werden.Mögliche Ursache:

• nBlockId ist nicht im durch eBlockSearchModebeschriebenen Modus angegeben

42F9 17145 Parameter „Blocksearch – Ungültige verbleibende Segmentlänge“Der Restweg im Parameter fLength ist falschparametriert

42FB 17147 Überwachung

„INTERNER FEHLER“ (GROUPERR_SLAVE_INTERNAL)

42FF 17151 Überwachung

„GROUPERR_WATCHDOG“ (KundenspezifischerFehlercode)

Anhang

TwinCAT 3 NC I270 Version: 1.0

6.7.4 Achsfehler

Anhang

TwinCAT 3 NC I 271Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4300 17152 Parameter „Achs-ID unzulässig“ Der Wert für die Achs-ID ist

unzulässig, da er z. B. bereits vergeben ist, kleinergleich Null, größer 255 oder nicht in der Konfigurationvorhanden ist.Wertebereich: [1 ... 255] Einheit: 1

4301 17153 Parameter „Achs-Typ unzulässig“ Der Wert für den Achs-Typ istunzulässig, da er nicht definiert ist. Typ 1: Servo Typ 2:Eil/Schleich Typ 3: SchrittmotorWertebereich: [1 ... 3] Einheit: 1

4306 17158 Parameter „Handgeschwindigkeit langsam unzulässig“ DerWert für die langsame Handgeschwindigkeit istunzulässig.Wertebereich: [0.0, 10000.0] Einheit: z. B. m/min

4307 17159 Parameter „Handgeschwindigkeit schnell unzulässig“ Der Wertfür die schnelle Handgeschwindigkeit ist unzulässig.Wertebereich: [0.0, 10000.0] Einheit: z. B. m/min

4308 17160 Parameter „Eilganggeschwindigkeit unzulässig“ Der Wert für dieEilganggeschwindigkeit ist unzulässig.Wertebereich: [0.0, 10000.0] Einheit: z. B. m/min

4309 17161 Parameter „Beschleunigung unzulässig“ Der Wert für dieAchsbeschleunigung ist unzulässig.Wertebereich: [0.0, 1000000.0] Einheit: z. B. m/s/s

430A 17162 Parameter „Verzögerung unzulässig“ Der Wert für dieAchsverzögerung ist unzulässig.Wertebereich: [0.0, 1000000.0] Einheit: z. B. m/s/s

430B 17163 Parameter „Ruck unzulässig“ Der Wert für die Achsruck istunzulässig.Wertebereich: [0.0, 1000000.0] Einheit: z. B. m/s/s/

s430C 17164 Parameter „Verzögerungszeit zwischen Position und Geschw.

ist unzulässig (Totzeitkompensation)“ Der Wert fürdie Verzögerungszeit zwischen Position undGeschwindigkeit („Totzeitkompensation“) ist unzulässig.Wertebereich: [0, 0.1] Einheit: s

430D 17165 Parameter „Override-Typ unzulässig“ Der Wert für denGeschwindigkeits Override-Typ ist unzulässig, da ernicht definiert ist. Typ 1: Bezogen auf interne reduzierteGeschwindigkeit (Defaultwert) Typ 2: Bezogen auforiginale externe StartgeschwindigkeitWertebereich: [1 ... 4] Einheit: 1

430E 17166 Parameter "NCI: Geschwindigkeits-Sprung-Faktor ungültig" Es wurde versucht, einen ungültigen Wert für denGeschwindigkeits-Sprung-Faktor vorzugeben. DieserParameter wirkt nur für TwinCAT NCI.Wertebereich: [0, 1000000] Einheit: 1

430F 17167 Parameter "NCI: Größe der Toleranzkugel für die Hilfsachseungültig" Es wurde versucht, einen ungültigen Wert für die Größeder Toleranzkugel vorzugeben. Diese Kugel wirkt nur aufdie Hilfsachsen!Wertebereich: [0, 1000] Einheit: z.B. mm

Anhang

TwinCAT 3 NC I272 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4310 17168 Parameter "NCI: Größe der erlaubten Abweichung für die

Hilfsachse ungültig" Es wurde versucht, einen ungültigen Wert für die Größeder erlaubten Abweichung vorzugeben. DieserParameter wirkt nur auf die Hilfsachsen!Wertebereich: [0, 10000] Einheit: z.B. mm

4312 17170 Parameter „Referenziergeschwindigkeit in Richtung Nockenunzulässig“ Der Wert für dieReferenziergeschwindigkeit in Richtung desReferenziernockens ist unzulässig.Wertebereich: [0.0, 10000.0] Einheit: z. B. m/min

4313 17171 Parameter „Referenziergeschwindigkeit in Richtung Syncunzulässig“ Der Wert für dieReferenziergeschwindigkeit in Richtung desSyncimpulses (Nullspur) ist unzulässig.Wertebereich: [0.0, 10000.0] Einheit: z. B. m/min

4314 17172 Parameter „Pulsweite in positiver Richtung unzulässig“ DerWert für die Pulsweite in positiver Richtung istunzulässig (Pulsbetrieb). Die Nutzung der Pulsweite füreine Positionierung ist implizit über den Achsstarttypauszuwählen. Der Pulsbetrieb entspricht einerPositionierung um einen relativen Verfahrweg, dergenau der Pulsweite entspricht.Wertebereich: [0.0, 1000000.0] Einheit: z. B. mm

4315 17173 Parameter „Pulsweite in negativer Richtung unzulässig“ DerWert für die Pulsweite in negativer Richtung istunzulässig (Pulsbetrieb). Die Nutzung der Pulsweite füreine Positionierung ist implizit über den Achsstarttypauszuwählen. Der Pulsbetrieb entspricht einerPositionierung um einen relativen Verfahrweg, dergenau der Pulsweite entspricht.Wertebereich: [0.0, 1000000.0 Einheit: z. B. mm

4316 17174 Parameter „Pulszeit in positiver Richtung unzulässig“ Der Wertfür die Pulsweite in positiver Richtung ist unzulässig(Pulsbetrieb).Wertebereich: [0.0, 600.0] Einheit: s

4317 17175 Parameter „Pulszeit in negativer Richtung unzulässig“ Der Wertfür die Pulsweite in negativer Richtung ist unzulässig(Pulsbetrieb).Wertebereich: [0.0, 600.0] Einheit: s

4318 17176 Parameter „Schleichweg in positiver Richtung unzulässig“ DerWert für den Schleichweg in positiver Richtung istunzulässig.Wertebereich: [0.0, 100000.0] Einheit: z. B. mm

4319 17177 Parameter „Schleichweg in negativer Richtung unzulässig“ DerWert für den Schleichweg in negativer Richtung istunzulässig.Wertebereich: [0.0, 100000.0] Einheit: z. B. mm

431A 17178 Parameter „Bremsweg in positiver Richtung unzulässig“ DerWert für den Bremsweg in positiver Richtung istunzulässig.Wertebereich: [0.0, 100000.0] Einheit: z. B. mm

431B 17179 Parameter „Bremsweg in negativer Richtung unzulässig“ DerWert für den Bremsweg in negativer Richtung istunzulässig.Wertebereich: [0.0, 100000.0] Einheit: z. B. mm

Anhang

TwinCAT 3 NC I 273Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung431C 17180 Parameter „Bremszeit in positiver Richtung unzulässig“ Der

Wert für die Bremszeit in positiver Richtung istunzulässig.Wertebereich: [0.0, 60.0] Einheit: s

431D 17181 Parameter „Bremszeit in negativer Richtung unzulässig“ DerWert für die Bremszeit in negativer Richtung istunzulässig.Wertebereich: [0.0, 60.0] Einheit: s

431E 17182 Parameter „Umschaltzeit von Eil- auf Schleichgang unzulässig“Der Wert für die Umschaltzeit von Eil- auf Schleichgangist unzulässig.Wertebereich: [0.0, 60.0] Einheit: s

431F 17183 Parameter „Schleichweg für Stopp unzulässig“ Der Wert für denSchleichweg für einem expliziten Stopp ist unzulässig.Wertebereich: [0.0, 100000.0] Einheit: z. B. mm

4320 17184 Parameter „Bewegungsüberwachung unzulässig“ Der Wert fürdie Aktivierung der Bewegungsüberwachung istunzulässig.Wertebereich: [0, 1] Einheit: 1

4321 17185 Parameter „Positionsfensterüberwachung unzulässig“ Der Wertfür die Aktivierung der Positionsfensterüberwachung istunzulässig.Wertebereich: [0, 1] Einheit: 1

4322 17186 Parameter „Zielfensterüberwachung unzulässig“ Der Wert fürdie Aktivierung der Zielfensterüberwachung istunzulässig.Wertebereich: [0, 1] Einheit: 1

4323 17187 Parameter „Schleife unzulässig“ Der Wert für die Aktivierung desSchleifenweges ist unzulässig.Wertebereich: [0, 1] Einheit: 1

4324 17188 Parameter „Bewegungsüberwachungszeit unzulässig“ Der Wertfür die Bewegungsüberwachungszeit ist unzulässig.Wertebereich: [0.0, 600.0] Einheit: s

4325 17189 Parameter „Zielfensterbereich unzulässig“ Der Wert für dasZielfenster ist unzulässig.Wertebereich: [0.0, 10000.0] Einheit: z. B. mm

4326 17190 Parameter „Positionsfensterbereich unzulässig“ Der Wert fürdas Positionsfenster ist unzulässig.Wertebereich: [0.0, 10000.0] Einheit: z. B. mm

4327 17191 Parameter „Positionsfensterüberwachungszeit unzulässig“ DerWert für die Positionsfensterüberwachungszeit istunzulässig.Wertebereich: [0.0, 600.0] Einheit: s

4328 17192 Parameter „Schleifenweg unzulässig“ Der Wert für denSchleifenweg ist unzulässig.Wertebereich: [0.0, 10000.0] Einheit: z. B. mm

4329 17193 Parameter „Achszykluszeit unzulässig“ Der Wert für dieAchszykluszeit ist unzulässig.Wertebereich: [0.001, 0.1] Einheit: s

432A 17194 Parameter „Betriebsmodus Schrittmotor unzulässig“ Der Wertfür den Schrittmotorbetriebsmodus ist unzulässig.Wertebereich: [1, 2] Einheit: 1

Anhang

TwinCAT 3 NC I274 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung432B 17195 Parameter „Weglänge pro Schrittmotorschritt unzulässig“ Der

Wert für die Weglänge eines Schrittmotorschrittes istunzulässig (Skalierung eines Schrittes).Wertebereich: [0.000001, 1000.0] Einheit: z. B. mm/

STEP432C 17196 Parameter „Minimalgeschwindigkeit für

Schrittmotorsollwertprofil unzulässig“ Der Wert fürdie Minimalgeschwindigkeit desSchrittmotorgeschwindigkeitsprofils ist unzulässig.Wertebereich: [0.0, 1000.0] Einheit: z. B. m/min

432D 17197 Parameter „Schrittmotorstufen pro Geschwindigkeitsstufeunzulässig“ Der Wert für die Anzahl der Schritte proGeschwindigkeitsstufe der Sollwertgenerierung istunzulässig.Wertebereich: [0, 100] Einheit: 1

432E 17198 Parameter „DWORD für die Interpretation der Achseinheitenunzulässig“ Der Wert, der Flags für die Interpretationder Positions- und Geschwindigkeitseinheiten enthält istunzulässig.Wertebereich: [0, 0xFFFFFFFF] Einheit: 1

432F 17199 Parameter „Maximalgeschwindigkeit unzulässig“ Der Wert fürdie maximale erlaubte Geschwindigkeit ist unzulässig.Wertebereich: [0.0, 10000.0] Einheit: z. B. m/min

4330 17200 Parameter „Bewegungsüberwachungsfenster unzulässig“ DerWert für das Bewegungsüberwachungsfenster istunzulässig.Wertebereich: [0.0, 10000.0] Einheit: z. B. mm

4331 17201 Parameter „PEH-Zeitüberwachung unzulässig“ Der Wert für dieAktivierung der PEH-Zeitüberwachung ist unzulässig(PEH: Positionierung Ende und Halt).Wertebereich: [0, 1] Einheit: 1

4332 17202 Parameter „PEH-Überwachungszeit unzulässig“ Der Wert für diePEH-Überwachungszeit (Timeout) ist unzulässig (PEH:Positionierung Ende und Halt). Defaultwert: 5sWertebereich: [0.0, 600.0] Einheit: s

4333 17203 Parameter „AXISERR_RANGE_DELAYBREAKRELEASE“4334 17204 Parameter „AXISERR_RANGE_DATAPERSISTENCE“433A 17210 Parameter „AXISERR_RANGE_POSDIFF_FADING_ACCELERAT

ION“433B 17211 Parameter "Signaltyp des 'Fast Axis Stop' unzulässig" Der Wert

für den Signaltyp des 'Fast Axis Stop' ist unzulässig[0...5].

4340 17216 Initialisierung

„Initialisierung Achse“ Achse ist nicht initialisiertworden. Achse wurde zwar erzeugt, allerdings nichtweiter initialisiert (1. Initialisierung Achs-IO, 2.Initialisierung Achse, 3. Reset Achse).

4341 17217 Adresse „Adresse Gruppe“ Achse besitzt keine Gruppe (Group)bzw. die Gruppenadresse ist nicht initialisiert worden(Gruppe beinhaltet die Sollwertgenerierung).

4342 17218 Adresse „Adresse Geber“ Achse besitzt keinen Geber(Encoder) bzw. die Geberadresse ist nicht initialisiertworden.

4343 17219 Adresse „Adresse Regler“ Achse besitzt keinen Regler(Controller) bzw. die Regleradresse ist nicht initialisiertworden.

Anhang

TwinCAT 3 NC I 275Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4344 17220 Adresse „Adresse Antrieb“ Achse besitzt keinen Antrieb (Drive)

bzw. die Antriebadresse ist nicht initialisiert worden.4345 17221 Adresse „Adresse Achsinterface SPS zur NC“ Achse besitzt

kein Achsinterface von der SPS zur NC (PLC to NC)bzw. ist die Achsinterfaceadresse nicht initialisiertworden.

4346 17222 Adresse „Adresse Achsinterface NC zur SPS“ Achse besitztkein Achsinterface von der NC zur SPS (NC to PLC)bzw. ist die Achsinterfaceadresse nicht initialisiertworden.

4347 17223 Adresse „Größe Achsinterface NC zur SPSunzulässig“ (INTERNER FEHLER) Die Größe desAchsinterfaces von der NC zur SPS (NC to PLC) istunzulässig.

4348 17224 Adresse „ Größe Achsinterface SPS zur NC unzulässig“(INTERNER FEHLER) Die Größe des Achsinterfacesvon der SPS zur NC (PLC to NC) ist unzulässig.

4356 17238 Überwachung

„Reglerfreigabe“ Reglerfreigabe für Achse nichtvorhanden (s. Achsinterface SPS®NC). Diese Freigabewird z. B. für einen Positionierauftrag einer Achseüberprüft.

4357 17239 Überwachung

„Vorschubfreigabe Minus“ Vorschubfreigabe fürnegative Verfahrrichtung nicht vorhanden (s.Achsinterface SPS®NC) Diese Freigabe wird z. B. füreinen Positionierauftrag einer Achse in negativerRichtung überprüft.

4358 17240 Überwachung

„Vorschubfreigabe Plus“ Vorschubfreigabe für positiveVerfahrrichtung nicht vorhanden (s. AchsinterfaceSPS®NC) Diese Freigabe wird z. B. für einenPositionierauftrag einer Achse in positiver Richtungüberprüft.

4359 17241 Überwachung

„Sollgeschwindigkeit unzulässig“ Die geforderteSollgeschwindigkeit für einen Positionierauftrag ist nichterlaubt. Dies kann der Fall sein, wenn dieGeschwindigkeit kleiner gleich Null, größer als diemaximal erlaubte Achsgeschwindigkeit oder bei Servo-Antrieben größer als die Bezugsgeschwindigkeit derAchse ist (s. Achs- und Driveparameter).

435A 17242 Überwachung

„Verfahrweg kleiner einGeberinkrement“ (INTERNER FEHLER) DerVerfahrweg einer Achse ist bezogen auf einenPositionierauftrag kleiner einem Geberinkrement (s.Skalierungsfaktor). Diese Information wird allerdingsintern so verwertet, dass ohne Rückgabe einerFehlermeldung die Positionierung als beendet gilt.

435B 17243 Überwachung

„Überwachung Sollbeschleunigung“ (INTERNERFEHLER) Die Sollbeschleunigung hat die maximalzulässigen Beschleunigungs- bzw.Verzögerungsparameter der Achse überschritten

Anhang

TwinCAT 3 NC I276 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung435C 17244 Überwachu

ng„PEH-Zeitüberwachung“ Die PEH-Zeitüberwachunghat nach einer Positionierung und nach Ablauf der darananschließenden PEH-Überwachungszeit erkannt, dassdas Zielpositionsfenster nicht erreicht worden ist.Folgende Überprüfungen müssen vorgenommenwerden: Ist die PEH-Überwachungszeit im Sinne einerTimeout Überwachung genügend groß eingestellt (z.B.1-5s) ? Die PEH-Überwachungszeit muss deutlichgrößer als die Zielpositionsüberwachungszeit gewähltwerden. Sind die Kriterien für dieZielpositionsüberwachung (Bereichfenster und Zeit) zustreng eingestellt ? Anmerkung: Die PEH-Zeitüberwachung wirkt nur bei aktiverZielpositionsüberwachung!

435D 17245 Überwachung

„Encoder-Existenz-Überwachung /Bewegungsüberwachung“ Der Encoderistwert hat sichbei aktiver Positionierung für eine vorgegebeneÜberwachungszeit von NC-Zyklus zu NC-Zyklusdurchgehend um weniger als die vorgegebeneMindestbewegungungsschranke geändert. => Prüfen obAchse mechanisch blockiert ist, oder dasEncodersystem ausgefallen ist, etc..Anmerkung: DieÜberwachung wird nicht im logischen Stillstand(Lageregelung) der Achse ausgewertet, sondern nur beiaktiver Positionierung (würde auch keinen Sinn machen,wenn es im Stillstand eine mechanische Haltebremsegibt)!

435E 17246 Überwachung

„Schleifenweg kleiner als Bremsweg“ Die angewählteSchleifenweg ist betragsmäßig kleiner gleich dempositiven bzw. negativen Bremsweg. Dies ist nichterlaubt.

4361 17249 Überwachung

„Zeitbereichsüberschreitung (Zukunft)“ Dieberechnete Position liegt zu weit in der Zukunft (z.B. beider Konvertierung von einer Position in eine zugehörigeDC-Zeit ).

4362 17250 Überwachung

„Zeitbereichsüberschreitung (Vergangenheit)“ Dieberechnete Position liegt zu weit in der Vergangenheit(z.B. bei der Konvertierung von einer Position in einezugehörige DC-Zeit).

4363 17251 Überwachung

„Position nicht ermittelbar“ Die angefragte Position istmathematisch nicht zu ermitteln, da sie a) in derVergangenheit niemals erreicht wurde oder b) in Zukunftniemals erreicht werden wird (z.B. wenn dieAchsgeschwindigkeit Null ist oder wenn aufgrund einerBeschleunigung eine Bewegungsumkehr stattfindet).

4364 17252 Überwachung

„Position nicht ermittelbar (widersprüchlicheFahrtrichtung)“ Die vom Aufrufer der Funktionerwartete Fahrtrichtung weicht von der tatsächlichenFahrtrichtung ab (Widerspruch zwischen SPS und NCSicht bei z.B. der Konvertierung von einer Position ineine DC-Zeit).

43A0 17312 Intern „Achsfolgefehler“ Folgefehler, der durch einenanderen verursachenden Fehler einer weiteren Achseveranlasst worden ist. Achsfolgefehler können imZusammenhang mit Master/Slave-Kopplung oder miteiner mehrachsigen interpolierenden DXD-Gruppeauftreten.

Anhang

TwinCAT 3 NC I 277Version: 1.0

6.7.5 Geberfehler

Anhang

TwinCAT 3 NC I278 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4400 17408 Parameter „Geber-ID unzulässig“ Der Wert für

die Geber-ID ist unzulässig, da er z. B.bereits vergeben ist, kleiner gleich Nullist oder größer 255 ist.Wertebereich: [1 ...255]

Einheit: 1

4401 17409 Parameter „Geber-Typ unzulässig“ Der Wert fürden Geber-Typ ist unzulässig, da ernicht definiert ist. Typ 1: Simulation(Inkremental) Typ 2: M3000 (24 BitAbsolut) Typ 3: M31x0 (24 BitInkremental) Typ 4: KL5101 (16 BitInkremental) Typ 5: KL5001 (24 BitAbsolut SSI) Typ 6: KL5051 (16 BitBISSI)Wertebereich: [1 ...6]

Einheit: 1

4402 17410 Parameter „Gebermodus“ Der Wert für denGebermodus (Betriebsart) istunzulässig. Modus 1: Ermittlung derIstposition Modus 2: Ermittlung derIstposition und der Istgeschwindigkeit(Filter)Wertebereich: [1, 2] Einheit: 1

4403 17411 Parameter „Geberzählrichtung invers ?“ DasFlag für die Geberzählrichtung istunzulässig. Flag 0: PositiveGeberzählrichtung Flag 1: NegativeGeberzählrichtungWertebereich: [0, 1] Einheit: 1

4404 17412 Initialisierung „Referenzierstatus“ Das Flag für denReferenzierstatus ist unzulässig. Flag 0:Achse ist nicht referenziert Flag 1:Achse ist referenziertWertebereich: [0, 1] Einheit: 1

4405 17413 Parameter „Geberinkremente pro physikalischeGeberumdrehung“ Der Wert für dieAnzahl der Geberinkremente prophysikalische Geberumdrehung istunzulässig. Dieser Wert dient zursoftwaretechnischen Geberüberlauf-und Geberunterlaufverrechnung.Wertebereich: [255,0xFFFFFFFF]

Einheit: INC

4406 17414 Parameter „Skalierungsfaktor“ Der Wert für denSkalierungsfaktor ist unzulässig. DieserSkalierungsfaktor gewichtet einGeberinkrement (INC) zu einerphysikalischen Einheit wie z.B.Millimeter oder Grad.Wertebereich:[0.000001, 100.0]

Einheit: z. B. mm/INC

Anhang

TwinCAT 3 NC I 279Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4407 17415 Parameter „Positionsoffset (Nullpunktoffset)“

Der Wert für den Positionsoffset desGebers ist unzulässig. Dieser Wert wirktsich additiv zu der verrechnetenGeberposition aus und wird in denphysikalischen Einheit des Gebersinterpretiert.Wertebereich:[-1000000.0,1000000.0]

Einheit: z. B. mm

4408 17416 Parameter „Modulofaktor“ Der Wert für denModulofaktor des Gebers ist unzulässig.Wertebereich: [1.0,1.0E+9]

Einheit: z. B. mmoder Grad

4409 17417 Parameter „Positionsfilterzeit“ Der Wert für dieIstpositionsfilterzeit ist unzulässig (P-T1-Filter).Wertebereich: [0.0,60.0]

Einheit: s

440A 17418 Parameter „Geschwindigkeitsfilterzeit“ Der Wertfür die Istgeschwindigkeitsfilterzeit istunzulässig (P-T1-Filter).Wertebereich: [0.0,60.0]

Einheit: s

440B 17419 Parameter „Beschleunigungsfilterzeit“ Der Wertfür die Istbeschleunigungsfilterzeit istunzulässig (P-T1-Filter).Wertebereich: [0.0,60.0]

Einheit: s

440C 17420 Initialisierung „Zykluszeit unzulässig“ (INTERNERFEHLER) Der Wert für die SAF-Zykluszeit der Istwertberechnung istunzulässig (z. B. kleiner gleich Null).

440D 17421 Initialisierung „ “ ENCERR_RANGE_UNITFLAGS440E 17422 Parameter „Istpositionskorrektur /

Messsystemfehlerkorrektur“ DerWert für die Aktivierung derIstpositionskorrektur („Meßsystem-fehlerkorrektur“) ist unzulässig.Wertebereich: [0, 1]

440F 17423 Parameter „Filterzeit Istpositionskorrektur “ DerWert für dieIstpositionskorrekturfilterzeit istunzulässig (P-T1-Filter).Wertebereich: [0.0,60.0]

Einheit: 1

4410 17424 Parameter „Suchrichtung für Referenziernockeninvers“ Der Wert für die Suchrichtungdes Referenziernockens bei einemReferenziervorgang ist unzulässig. Wert0: Positive Richtung Wert 1: NegativeRichtungWertebereich: [0, 1] Einheit: 1

Anhang

TwinCAT 3 NC I280 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4411 17425 Parameter „Suchrichtung für Syncimpuls

(Nullimpuls) invers“ Der Wert für dieSuchrichtung des Syncimpuls(Nullimpuls) bei einemReferenziervorgang ist unzulässig. Wert0: Positive Richtung Wert 1: NegativeRichtungWertebereich: [0, 1] Einheit: 1

4412 17426 Parameter „Referenzposition“ Der Wert für dieReferenzposition bei einemReferenziervorgang ist unzulässig.Wertebereich:[-1000000.0,1000000.0]

Einheit: z. B. mm

4413 17427 Parameter „Abstandsüberwachung zwischenAktivierung des Hardwarelatch undEintritt des Syncimpuls“ (NICHTIMPLEMENTIERT) Das Flag für dieAbstandsüberwachung zwischenAktivierung des Hardwarelatch undEintritt des Sync/Nullimpuls („latchvalid“) ist unzulässig. Wert 0: PassivWert 1: AktivWertebereich: [0, 1] Einheit: 1

4414 17428 Parameter „Mindestabstand zwischenAktivierung des Hardwarelatch undEintritt des Syncimpuls“ (NICHTIMPLEMENTIERT) Der Wert für denMindestabstand in Inkrementenzwischen der Aktivierung desHardwarelatch und Eintritt des Sync/Nullimpuls („latch valid“) bei einemReferenziervorgang ist unzulässig.Wertebereich: [0,65536]

Einheit: INC

4415 17429 Parameter „Externer Syncimpuls“ (NICHTIMPLEMENTIERT) Der Wert für dieAktivierung bzw. Deaktivierung desexternen Syncimpuls bei einemReferenziervorgang ist unzulässig. Wert0: Passiv Wert 1: AktivWertebereich: [0, 1] Einheit: 1

4416 17430 Parameter „Skalierung Rauschanteilunzulässig“ Der Wert für dieSkalierung (Gewichtung) dessynthetischen Rauschanteils istunzulässig. Dieser Parameter existiertnur beim Simulationsencoder und dienteiner realistischen Simulation.Wertebereich: [0,1000000]

Einheit: 1

Anhang

TwinCAT 3 NC I 281Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4417 17431 Parameter „Toleranzfenster für Modulo-Achs-

Start“ Der Wert für das Tolerenzfensterbeim Modulo-Achsstart ist unzulässig.Dieser Wert muss größer gleich Nullund kleiner als die Hälfte der Encoder-Modulo-Periode sein (z. B. im Intervall[0.0,180.0) ).Wertebereich: [0.0,180.0], Max:0.5*Modulo-Periode

Einheit: z. B. mmoder Grad

4418 17432 Parameter „Encoder-Referenziermodus“ DerWert für den EncoderReferenziermodus ist unzulässig bzw.wird für diesen Encodertyp nichtunterstützt.Wertebereich: [0, 5] Einheit: 1

4419 17433 Parameter „Encoder-Auswerterichtung“ DerWert für die Encoder-Auswerterichtung(log. Zählrichtung) ist unzulässig.Wertebereich: [0, 3] Einheit: 1

441A 17434 Parameter „Encoder-Bezugsmaßsystem“ DerWert für das Encoder-Bezugsmaßsystem (0: INKREMENTAL,1: ABSOLUT, 2: ABSOLUT+MODULO)ist unzulässig.Wertebereich: [0, 2] Einheit: 1

441B 17435 Parameter „Encoder-Positionsinitialisierungsmodus“ DerWert für den Encoder-Positionsinitialisierungsmodus beiSystemstart ist unzulässig.Wertebereich: [0, 1] Einheit: 1

441C 17436 Parameter „Encoder-Vorzeicheninterpretation(UNSIGNED/SIGNED-Datentyp)“ DerWert für die Encoder-Vorzeicheninterpretation (Datentyp) derEncoder-Istinkremente (0: default/nichtdefiniert, 1: UNSIGNED, 2: SIGNED) istunzulässig.Wertebereich: [0, 2] Einheit: 1

4420 17440 Parameter „Software EndlagenüberwachungMinimum unzulässig“ Der Wert für dieAktivierung der SoftwareEndlagenüberwachung Minimum istunzulässig.Wertebereich: [0, 1] Einheit: 1

4421 17441 Parameter „Software EndlagenüberwachungMaximum unzulässig“ Der Wert fürdie Aktivierung der SoftwareEndlagenüberwachung Maximum istunzulässig.Wertebereich: [0, 1] Einheit: 1

Anhang

TwinCAT 3 NC I282 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4422 17442 Funktion „Istwertsetzen liegt außerhalb des

Wertebereiches“ Die Funktion„Istwertsetzen“ kann nicht ausgeführtwerden, da die neue Istpositionaußerhalb des vorgesehenenWertebereiches liegt.Wertebereich:[-1000000.0,1000000.0]

Einheit: z. B. mm

4423 17443 Parameter „Software Endlage Minimumunzulässig“ Der Wert für die SoftwareEndlage Minimum ist unzulässig.Wertebereich:[-1000000000.0,1000000000.0]

Einheit: z. B. mm

4424 17444 Parameter „Software Endlage Maximumunzulässig“ Der Wert für die SoftwareEndlage Maximum ist unzulässig.Wertebereich:[-1000000000.0,1000000000.0]

Einheit: z. B. mm

4425 17445 Parameter „Filtermaske für Encoder Rohwertunzulässig“ Der Wert für dieFiltermaske des Encoder-Rohwertes inInkrementen ist unzulässig.Wertebereich: [0x0,0xFFFFFFFF]

Einheit: 1

4426 17446 Parameter „Referenzmaske für EncoderRohwert unzulässig“ Der Wert für dieReferenzmaske (Inkremente proGeberumdrehung, Absolut-Auflösung)des Encoder-Rohwertes in Inkrementenist unzulässig. Dieser Wert dient z.B. fürdas Referenzieren einer Achse mit demReferenziermode "Software Sync".Wertebereich:[0x0000000F,0xFFFFFFFF]

Einheit: 1

4430 17456 Funktion „Aktivierung Hardwarelatch (Geber)“Die Aktivierung des Geber-Hardwarelatch wird implizit durch denReferenziervorgang ausgelöst. Fallsbereits diese Funktion zuvor ausgelöstworden ist und ein Latchwert bishernicht gültig geworden ist („latch valid“),wird ein erneuter Aufruf dieser Funktionmit diesem Fehler abgelehnt.

Anhang

TwinCAT 3 NC I 283Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4431 17457 Funktion „Aktivierung externer

Hardwarelatch / Meßtasterfunktion(Geber)“ Die Aktivierung des externenHardwarelatch (nur für KL5101,SERCOS, AX2xxx verfügbar) wirdexplizit durch ein ADS-Kommandoausgelöst (Aufruf aus SPS-Programmoder Visual Basic Oberfläche). Fallsbereits diese Funktion zuvor ausgelöstworden ist und der Latchwert bishernicht durch ein externes Signal gültiggeworden ist („extern latch valid“ oder"Meßtaster gelatcht" bzw."Echtzeitstatusbit"), wird ein erneuterAufruf dieser Funktion mit diesemFehler abgelehnt. Ebenfalls ist esmöglich, dass diese Funktion wegeneiner anderen zeitgleichen Funktion,wie das Referenzieren einerInkrementalencoderachse, nichtausgeführt werden kann.

4432 17458 Funktion „Aktivierung externer Hardwarelatch(Geber)“ Falls zuvor einReferenziervorgang ausgelöst wordenist und die Hardware noch einengültigen Latchwert signalisiert („latchvalid“), darf diese Funktion nichtausgelöst werden. Allerdings kanndieser Fehler in der Praxis quasiniemals auftreten.

4433 17459 Funktion „Aktivierung externerHardwarelatch / Messtasterfunktion(Geber)“ Diese Funktion ist zuvoraktiviert worden und seit dem nochnicht fertig geworden (die interneHandshake-Kommunikation zwischenNC und IO-Gerät ist noch aktiv). In derZwischenzeit ist eine erneuteAktivierung nicht erlaubt und wirddeshalb mit einem Fehler abgewiesen.(Falls bereits diese Funktion zuvorausgelöst worden ist und die Hardwarenoch signalisiert, dass der externeLatchwert schon gültig ist („extern latchvalid“ oder "Messtaster gelatcht" bzw."Echtzeitstatusbit"), darf eine erneuteAktivierung nicht ausgeführt werden. Indiesem Fall würde irrtümlich sofort dieGültigkeit des externen Hardwarelatchsignalisiert werden, allerdings noch miteinem alten Latchwert.)

4434 17460 Überwachung „Encoder-Funktion wird nichtunterstützt“ Es ist eine Encoder-Funktionalität ausgelöst worden, dienicht zur Benutzung freigegeben istbzw. die nicht implementiert ist.

4435 17461 Überwachung „Encoder-Funktion bereits aktiv“ Esist eine Encoder-Funktionalitätausgelöst worden, die nicht aktiviertwerden kann, da sie bereits aktiv ist.

Anhang

TwinCAT 3 NC I284 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4440 17472 Initialisierung „Initialisierung Geber“ Geber ist nicht

initialisiert worden. Achse wurde zwarerzeugt, allerdings nicht weiterinitialisiert (1. Initialisierung Achs-IO, 2.Initialisierung Achse, 3. Reset Achse).

4441 17473 Adresse „Adresse Achse“ Geber besitzt keineAchse bzw. die Achsadresse ist nichtinitialisiert worden.

4442 17474 Adresse „Adresse IO-Eingangsstruktur“Antrieb besitzt keine gültige IO-Eingangsadresse im Prozessabbild.

4443 17475 Adresse „Adresse IO-Ausgangsstruktur“Geber besitzt keine gültige IO-Ausgangsadresse im Prozessabbild.

4450 17488 Überwachung „Unterlaufüberwachung vonGeberzähler“ DerGeberinkrementalzähler ist unterlaufenworden („underflow“).

4451 17489 Überwachung „Überlaufüberwachung vonGeberzähler“ DerGeberinkrementalzähler ist überlaufenworden („overflow“).

4460 17504 Überwachung „Software Endlage Minimum(Achsstart)“ Bei aktiver Software-Endlagenüberwachung für Minimum istauf eine Position gestartet worden, dieunterhalb der SoftwareendlageMinimum liegt.

4461 17505 Überwachung „Software Endlage Maximum(Achsstart)“ Bei aktiver Software-Endlagenüberwachung für Maximum istauf eine Position gestartet worden, dieoberhalb der SoftwareendlageMaximum liegt.

4462 17506 Überwachung „Software Endlage Minimum(Positioniervorgang)“ Bei aktiverSoftware-Endlagenüberwachung fürMinimum hat die Istposition dieSoftwareendlage Minimumunterschritten. Bei Servo-Achsen(kontinuierlich geführte Achsen) istdiese Schranke um den Betrag desparametrierten Schleppabstandfensters(Position) erweitert worden.

4463 17507 Überwachung „Software Endlage Maximum(Positioniervorgang)“ Bei aktiverSoftware-Endlagenüberwachung fürMaximum hat die Istposition dieSoftwareendlage Maximumüberschritten. Bei Servo-Achsen(kontinuierlich geführte Achsen) istdiese Schranke um den Betrag desparametrierten Schleppabstandfensters(Position) erweitert worden.

Anhang

TwinCAT 3 NC I 285Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4464 17508 Überwachung „Encoder Hardwarefehler“ Der

Antrieb bzw. das Encodersystemmeldet einen Hardwarefehler desEncoders. Ein optionaler Fehlercode istvoraussichtlich der Meldung in derEreignisanzeige zu entnehmen.

4465 17509 Überwachung „Positionsinitialisierungsfehler beiSystemstart“ Beim erstmaligenInitialisieren der Istposition lag diese füralle drei Initialisierungsversuche (ohneÜber-/Unterlauf, mit Unterlauf und mitÜberlauf ) außerhalb derPositionsendlagen Minimum undMaximum.

4470 17520 Überwachung „SSI-Wandlung fehlerhaft bzw. nichtfertig geworden“ Die SSI-Wandlungdes FOX 50 Moduls ist für mehrere NC-Zyklen fehlerhaft gewesen bzw. nichtfertig geworden.

44A2 17570 Überwachung „ENCERR_ADDR_CONTROLLER“44A3 17571 Überwachung „ENCERR_INVALID_CONTROLLERT

YPE“

Anhang

TwinCAT 3 NC I286 Version: 1.0

6.7.6 Reglerfehler

Anhang

TwinCAT 3 NC I 287Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4500 17664 Parameter „Regler-ID unzulässig“ Der Wert für

die Regler-ID ist unzulässig, da er z. B.bereits vergeben ist, kleiner gleich Nullist oder größer 255 ist.Wertebereich: [1 ...255]

Einheit: 1

4501 17665 Parameter „Regler-Typ unzulässig“ Der Wert fürden Regler-Typ ist unzulässig, da ernicht definiert ist. Typ 1: P-Regler(Position) . . . Typ 7: Eil/Schleich-ReglerTyp 8: Schrittmotor-Regler Typ 9:Sercos-ReglerWertebereich: [1 ...8]

Einheit: 1

4502 17666 Parameter „Betriebsmodus Regler unzulässig“Der Wert für den Reglerbetriebsmodusist unzulässig.Wertebereich: [1] Einheit: 1

4503 17667 Parameter „Gewichtung derGeschwindigkeitsvorsteuerungunzulässig“ Der Wert für dieprozentuale Gewichtung derGeschwindigkeitsvorsteuerung istunzulässig. Als Standard ist derParameter mit 1.0 (100%) vorbesetzt.Wertebereich:[0.0 ... 1.0]

Einheit: %

4504 17668 Parameter „Schleppabstandsüberwachung(Position) unzulässig“ Der Wert fürdie Aktivierung derSchleppabstandsüberwachung istunzulässig.Wertebereich: [0, 1] Einheit: 1

4505 17669 Parameter „Schleppüberwachung(Geschwindigkeit) unzulässig“ DerWert für die Aktivierung derSchleppgeschwindigkeitsüberwachung(Geschwindigkeit) ist unzulässig.Wertebereich: [0, 1] Einheit: 1

4506 17670 Parameter „Schleppabstandsfenster (Position)unzulässig“ Der Wert für dasSchleppabstandsfenster (maximalzulässiger Schleppabstand) istunzulässig.Wertebereich: [0.0,10000.0]

Einheit: z. B. mm

4507 17671 Parameter „Schleppfilterzeit (Position)unzulässig“ Der Wert für dieSchleppfilterzeit (Position) istunzulässig.Wertebereich: [0.0,600.0]

Einheit: s

Anhang

TwinCAT 3 NC I288 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4508 17672 Parameter „Schleppgeschwindigkeitsfenster

(Geschwindigkeit) unzulässig“ DerWert für dasSchleppgeschwindigkeitsfenster(Geschwindigkeit) ist unzulässig.Wertebereich: [0.0,10000.0]

Einheit: z. B. m/min

4509 17673 Parameter „Schleppfilterzeit (Geschwindigkeit)unzulässig“ Der Wert für dieSchleppfilterzeit (Geschwindigkeit) istunzulässig.Wertebereich: [0.0,600.0]

Einheit: s

4510 17680 Parameter „Proportionalverstärkung Kv bzw. Kp(regler) unzulässig“ Positions DerWert für die Proportionalverstärkung(Kv-Faktor bzw. Kp-Faktor) istunzulässig.Wertebereich: [0.0,10000.0]

Einheit: z. B. mm/s/mm

4511 17681 Parameter „Nachstellzeit Tn (regler) unzulässig“Positions Der Wert für die Nachstellzeitist unzulässig (I-Anteil des PID-T1-Reglers).Wertebereich: [0.0,60.0]

Einheit: s

4512 17682 Parameter „Vorhaltzeit Tv (regler) unzulässig“Positions Der Wert für die Vorhaltzeit istunzulässig (D-Anteil des PID-T1-Reglers).Wertebereich: [0.0,60.0]

Einheit: s

4513 17683 Parameter „Dämpfungszeit Td (regler)unzulässig“ Positions Der Wert für dieDämpfungszeit ist unzulässig (D-Anteildes PID-T1-Reglers).Wertebereich: [0.0,60.0]

Einheit: s

4514 17684 Funktion „Aktivieren des automatischenOffsetabgleichs unzulässig“ DasAktivieren des automatischenOffsetabgleichs ist nur für bestimmteReglertypen (ohne I-Anteil) möglich.

4515 17685 Parameter „ZusätzlicheProportionalverstärkung Kv bzw. Kp(regler) unzulässig“ Positions DerWert für den zweiten Satz derProportionalverstärkung (Kv-Faktorbzw. Kp-Faktor) ist unzulässig.Wertebereich: [0.0,10000.0]

Einheit: z. B. mm/s/mm

Anhang

TwinCAT 3 NC I 289Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4516 17686 Parameter „Bezugsgeschwindigkeit für

zusätzliche ProportionalverstärkungKv bzw. Kp (regler) unzulässig“Positions Der Wert für die prozentualeAngabe der Bezugsgeschwindigkeit, abder die zusätzlicheProportionalverstärkung gilt istunzulässig. Als Standard Einstellung istder Parameter mit 0.5 (50%) vorbesetzt.Wertebereich:[0.0 ... 1.0]

Einheit: %

4517 17687 Parameter „Proportionalverstärkung Pa (anteil)unzulässig“ Beschleunigungs DerWert für die Proportionalverstärkung(Pa-Faktor) ist unzulässig.Wertebereich: [0.0,1000000.0]

Einheit: s

4518 17688 Parameter „Proportionalverstärkung Kv (regler)unzulässig“ Geschwindigkeits DerWert für die Proportionalverstärkung(Kv-Faktor) ist unzulässig.Wertebereich: [0.0,10000.0]

Einheit: 1

4519 17689 Parameter „Nachstellzeit Tn (regler) unzulässig“Geschwindigkeits Der Wert für dieNachstellzeit ist unzulässig (I-Anteil desPID-T1-Reglers).Wertebereich: [0.0,60.0]

Einheit: s

451A 17690 Adresse "CONTROLERR_RANGE_ACCJUMPLIMITINGMODE"

451B 17691 Adresse "CONTROLERR_RANGE_ACCJUMPVALUE"

451C 17692 Adresse "CONTROLERR_RANGE_FILTERTIME"

451D 17693 Parameter „Totzone ist unzulässig“ Der Wert fürdie Totzone (neutrale Zone) desPositions- bzw. desGeschwindigkeitsfehlers(Regelabweichung) ist unzulässig (giltfür komplexere Regler mitGeschwindigkeits- oderMomenteninterface).Wertebereich: [0.0,10000.0]

Einheit: mm bzw.mm/s

4520 17696 Parameter „Vorhaltzeit Tv (regler) unzulässig“Geschwindigkeits Der Wert für dieVorhaltzeit ist unzulässig (D-Anteil desPID-T1-Reglers).Wertebereich: [0.0,60.0]

Einheit: s

Anhang

TwinCAT 3 NC I290 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4521 17697 Parameter „Dämpfungszeit Td (regler)

unzulässig“ Geschwindigkeits DerWert für die Dämpfungszeit istunzulässig (D-Anteil des PID-T1-Reglers). Wertevorschlag: 0.1 * TvWertebereich: [0.0,60.0]

Einheit: s

4522 17698 Parameter "CONTROLERR_RANGE_IOUTPUTLIMIT"

4523 17699 Parameter "CONTROLERR_RANGE_DOUTPUTLIMIT"

4524 17700 Parameter "CONTROLERR_RANGE_POSIDISABLEWHENMOVING"

4540 17728 Initialisierung „Initialisierung Regler“ Regler ist nichtinitialisiert worden. Regler wurde zwarerzeugt, allerdings nicht weiterinitialisiert (1. Initialisierung Regler, 2.Reset Regler).

4541 17729 Adresse „Adresse Achse“ Regler kennt seineAchse (Axis) nicht bzw. dieAchsadresse ist nicht initialisiertworden.

4542 17730 Adresse „Adresse Antrieb“ Regler kenntseinen Antrieb (Drive) nicht bzw. dieAntriebadresse ist nicht initialisiertworden.

4550 17744 Überwachung „Schleppabstandsüberwachung(Position)“ Bei aktiverSchleppabstandsüberwachung(Position) ist eine Schleppabstands-überschreitung aufgetreten, die vomBetrag größer dem Schleppabstands-fenster gewesen ist und zeitlich längerandauerte, als die parametrierteSchleppfilterzeit.

4551 17745 Überwachung „Schleppüberwachung(Geschwindigkeit)“ Bei aktiverSchleppgeschwindigkeitsüberwachung(Geschwindigkeit) ist eineSchleppgeschwindigkeitsüberschreitungaufgetreten, die vom Betrag größer demSchleppfenster gewesen ist und zeitlichlänger andauerte, als die parametrierteSchleppfilterzeit.

45A0 17824 Überwachung "CONTROLERR_RANGE_AREA_ASIDE"

45A1 17825 Überwachung "CONTROLERR_RANGE_AREA_BSIDE"

45A2 17826 Überwachung "CONTROLERR_RANGE_QNENN"45A3 17827 Überwachung "CONTROLERR_RANGE_PNENN"45A4 17828 Überwachung "CONTROLERR_RANGE_AXISIDPRE

SP0"

Anhang

TwinCAT 3 NC I 291Version: 1.0

6.7.7 Antriebfehler

Anhang

TwinCAT 3 NC I292 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4600 17920 Parameter „Antrieb-ID unzulässig“ Der Wert für die Antrieb-ID ist

unzulässig, da er z. B. bereits vergeben ist, kleiner gleichNull ist oder größer 255 ist.Wertebereich: [1 ... 255] Einheit: 1

4601 17921 Parameter „Antrieb-Typ unzulässig“ Der Wert für den Antriebs-Typist unzulässig, da er nicht definiert ist.Wertebereich: [1, 20] Einheit: 1

4602 17922 Parameter „Betriebsmodus Antrieb unzulässig“ Der Wert für denAntriebbetriebsmodus ist unzulässig (Modus 1: Standard).Wertebereich: [1] Einheit: 1

4603 17923 Parameter „Motorpolarität invers ?“ Das Flag für die Motorpolaritätist unzulässig. Flag 0: Positive Motorpolarität Flag 1:Negative MotorpolaritätWertebereich: [0, 1] Einheit: 1

4604 17924 Parameter „Driftkompensation/Geschwindigkeitsoffset (DAC-Offset)“ Der Wert für die Driftkompensation (DAC-Offset)ist unzulässig.Wertebereich: [-100.0, 100.0] Einheit: z. B. m/min

4605 17925 Parameter „Bezugsgeschwindigkeit(Geschwindigkeitsvorsteuerung)“ Der Wert für dieBezugsgeschwindigkeit (Geschwindigkeitsvorsteuerungoder auch Referenzgeschwindigkeit genannt) istunzulässig.Wertebereich: [0.0, 10000.0] Einheit: z. B. m/min

4606 17926 Parameter „Referenzoutput in Prozent“ Der Wert für denReferenzoutput in Prozent ist unzulässig. Der Wert 1.0 (100%) entspricht üblicherweise einer Spannung von 10.0 V.Wertebereich: [0.0, 5.0] Einheit: %

4607 17927 Parameter „Quadrantenausgleichsfaktor“ Der Wert für denQuadrantenausgleichsfaktor ist unzulässig.Wertebereich: [0.0, 100.0] Einheit: 1

4608 17928 Parameter „Geschwindigkeitsstützstelle in Prozent“ Der Wert fürdie Geschwindigkeitsstützstelle in Prozent ist unzulässig.Der Wert 1.0 entspricht 100 Prozent.Wertebereich: [0.01, 1.0] Einheit: %

4609 17929 Parameter „Ausgabestützstelle in Prozent“ Der Wert für dieAusgabestützstelle in Prozent ist unzulässig. Der Wert 1.0entspricht 100 Prozent.Wertebereich: [0.01, 1.0] Einheit: %

460A 17930 Parameter „Minimale bzw. maximale Ausgabeschranke(Ausgabelimitierung)“ Der Wert für die minimale und/odermaximale Ausgabeschranke ist unzulässig. Dies ist der Fall,wenn der Wertebereich überschritten wird, die maximaleSchranke kleiner der minimalen Schranke ist oder derBereich zwischen minimaler und maximaler Schrankegleich Null ist. Die Voreinstellung beträgt für die minimaleSchranke –1.0 (-100 Prozent) und die maximale Schranke1.0 (100 Prozent).Wertebereich: [-1.0, 1.0] Einheit: %

460B 17931 Parameter „DRIVEERR_RANGE_MAXINCREMENT“460C 17932 Parameter „DRIVEERR_RANGE_ DRIVECONTROLDWORD“460D 17933 Parameter „DRIVEERR_RANGE_ RESETCYCLECOUNTER“

Anhang

TwinCAT 3 NC I 293Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung460F 17935 Parameter „Drive Drehmoment-Ausgabeskalierung unzulässig“

Der Wert ist als Drive Drehmoment-Ausgabeskalierung (rot.Motor) bzw. als Kraft-Ausgabeskalierung (Linearmotor)unzulässig.Wertebereich: [0, 1000000] Einheit: 1

4610 17936 Parameter „Drive Geschwindigkeits-Ausgabeskalierungunzulässig“ Der Wert ist als Drive Geschwindigkeits-Ausgabeskalierung unzulässig.Wertebereich: [0, 1000000] Einheit: 1

4611 17937 Parameter „Profi Drive DSC Proportionalverstärkung Kpc (regler)unzulässig“ Positions Der Wert für die Profi Drive DSCLageregelverstärkung (Kpc-Faktor) ist unzulässig.Wertebereich: [0, 0xFFFFFF] Einheit: 0.001 * 1/s

4612 17938 Parameter „Tabellen-ID ist unzulässig“ Der Wert für die Tabellen-IDist unzulässig.Wertebereich: [0, 255] Einheit: 1

4613 17939 Parameter „Tabellen-Interpolationstyp ist unzulässig“ Der Wert alsTabellen-Interpolationstyp ist unzulässig.Wertebereich: 0 (LINEAR), 2 (SPLINE) Einheit: 1

4614 17940 Parameter „Ausgabeoffset in Prozent ist unzulässig“ Der Wert alsAusgabeoffset in Prozent (+/- 1.0) ist unzulässig.Wertebereich: [-1.0, 1.0] Einheit: %

4615 17941 Parameter „Profi Drive DSC Skalierung für Berechnung von'Xerr' (regler) unzulässig“ Positions Der Wert ist als ProfiDrive DSC Skalierung für die Berechnung von 'Xerr'unzulässig.Wertebereich: [0, 1000000] Einheit: 1

4616 17942 Parameter „Drive Beschleunigungs-Ausgabeskalierungunzulässig“ Der Wert ist als Drive Beschleunigungs-/Verzögerungs-Ausgabeskalierung unzulässig.Wertebereich: [0, 1000000] Einheit: 1

4617 17943 Parameter „Drive Positions-Ausgabeskalierung unzulässig“ DerWert ist als Drive Positions-Ausgabeskalierung unzulässig.Wertebereich: [0, 1000000] Einheit: 1

461C 17948 Parameter „Drive Filtertyp für Führungsgrößenfilter derAusgabeposition unzulässig“ Der Wert ist als DriveFiltertyp zur Glättung der Ausgabeposition unzulässig(Führungsgrößenfilter der Soll-Position).Wertebereich: [0, 2] Einheit: 1

461D 17949 Parameter „Drive Filterzeit für Führungsgrößenfilter derAusgabeposition unzulässig“ Der Wert ist als DriveFilterzeit zur Glättung der Ausgabeposition unzulässig(Führungsgrößenfilter der Soll-Position).Wertebereich: [0.0, 1.0] Einheit: s

461E 17950 Parameter „Drive Filterordnung für Führungsgrößenfilter derAusgabeposition unzulässig“ Der Wert ist als DriveFilterordnung (P-Tn) zur Glättung der Ausgabepositionunzulässig (Führungsgrößenfilter der Soll-Position).Wertebereich: [0, 10] Einheit: 1

4620 17952 Parameter „Bit-Maske für Schrittmotorzyklus unzulässig“ Ein Wertder verschiedenen Schrittmotor Masken für den jeweiligenZyklus ist unzulässig.Wertebereich: [0, 255] Einheit: 1

Anhang

TwinCAT 3 NC I294 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4621 17953 Parameter „Bit-Maske für Schrittmotorhaltestrom unzulässig“ Der

Wert für die Schrittmotorhaltemaske ist unzulässig.Wertebereich: [0, 255] Einheit: 1

4622 17954 Parameter „Skalierungsfaktor für Ist-Moment (Ist-Strom)unzulässig“ Der Wert ist als Skalierungsfaktor für das Ist-Moment (bzw. Ist-Strom) unzulässig.Wertebereich: [0, 1E+30] Einheit:

4623 17955 Parameter „Filterzeit für Ist-Moment ist unzulässig“ Der Wert alsFilterzeit für das Ist-Moment (bzw. den Ist-Strom) istunzulässig (P-T1-Filter).Wertebereich: [0.0, 60.0] Einheit: s

4624 17956 Parameter „Filterzeit für die zeitliche Ableitung des Ist-Momentesist unzulässig“ Der Wert als Filterzeit für die zeitlicheAbleitung des Ist-Momentes (bzw. des Ist-Stromes) istunzulässig (P-T1-Filter).Wertebereich: [0.0, 60.0] Einheit: s

4627 17959 Funktion DRIVEOPERATIONMODEBUSY. Die Aktivierung derAntriebsbetriebsart ist fehlgeschlagen, weil ein anderesObjekt mit OID… dieses Interface schon benutzt.

0x4630 ... 0x463F: Fehlercodes sind reserviert für externe Antriebsfehler (z.B. SchrittmotorKlemme bzw. Funktionsbaustein "MC_PowerStepper")4630 17968 Überwachu

ng„Übertemperatur“ Am Drive bzw. an der Klemme ist eineÜbertemperatur erkannt bzw. gemeldet worden.

4631 17969 Überwachung

„Unterspannung“ Am Drive bzw. an der Klemme ist eineUnterspannung erkannt bzw. gemeldet worden.

4632 17970 Überwachung

„Drahtbruch in Phase A“ Am Drive bzw. an der Klemmeist ein Drahtbruch der Phase A erkannt bzw. gemeldetworden.

4633 17971 Überwachung

„Drahtbruch in Phase B“ Am Drive bzw. an der Klemmeist ein Drahtbruch der Phase B erkannt bzw. gemeldetworden.

4634 17972 Überwachung

„Überstrom in Phase A“ Am Drive bzw. an der Klemme istein Überstrom der Phase A erkannt bzw. gemeldet worden.

4635 17973 Überwachung

„Überstrom in Phase B“ Am Drive bzw. an der Klemme istein Überstrom der Phase B erkannt bzw. gemeldet worden.

4636 17974 Überwachung

„Drehmomentüberlast (Stall)“ Am Drive bzw. an derKlemme ist eine Drehmomentüberlast (Stall) erkannt bzw.gemeldet worden.

4640 17984 Initialisierung

„Initialisierung Antrieb“ Antrieb ist nicht initialisiertworden. Antrieb wurde zwar erzeugt, allerdings nicht weiterinitialisiert (1. Initialisierung Antrieb-IO, 2. InitialisierungAntrieb, 3. Reset Antrieb).

4641 17985 Adresse „Adresse Achse“ Antrieb kennt seine Achse (Axis) nichtbzw. die Achsadresse ist nicht initialisiert worden.

4642 17986 Adresse „Adresse IO-Eingangsstruktur“ Antrieb besitzt keinegültige IO-Eingangsadresse im Prozessabbild.

4643 17987 Adresse „Adresse IO-Ausgangsstruktur“ Antrieb besitzt keinegültige IO-Ausgangsadresse im Prozessabbild.

Anhang

TwinCAT 3 NC I 295Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4650 18000 Überwachu

ng„Antriebshardware nicht betriebsbereit“ DieAntriebshardware (Drive) nicht betriebsbereit ist. Hierfürkann es folgende Ursachen geben:- der Antrieb ist im Fehlerzustand (Hardwarefehler)- der Antrieb befindet sich in der Aufstartphase (z. B. nacheinem Achsreset dem ein Hardwarefehler voraus ging)- dem Antrieb fehlt die Reglerfreigabe (ENABLE)Anmerkung: Der Zeitbedarf für das „Hochfahren“ einesAntriebes nach einem Hardwarefehler kann sich im Bereichvon mehreren Sekunden bewegen.

4651 18001 Überwachung

„Fehler in der zyklischen Kommunikation des Antriebs(Lebenszeichenzähler) “.Gründe könnten hier einunterbrochener Feldbus oder ein im Fehlerzustandbefindlicher Antrieb sein.

4652 18002 Überwachung

„Ändern der Tabellen-ID bei aktiver Reglerfreigeunzulässig“.Das Ändern (Abwählen, Anwählen) derKennlinien-Tabellen-ID ist bei aktiver Reglerfreigabe derAchse nicht zulässig.

4655 18005 Überwachung

"Ungültige IO-Daten für mehr als 'n' durchgehende NCZyklen"Die Achse (Encoder oder Drive) hat für mehr als 'n'durchgehende NC Zyklen (NC SAF-Task) ungültige IO-Daten erkannt (z.B. n=3).Als Konsequenz ist es möglich, dass das EncoderReferenzierungs-Flag auf FALSE zurückgesetzt wird (d.h.der Encoder bekommt den Status"unreferenziert").EtherCAT Feldbus: "working counter error('WCState')"Lightbus Feldbus: "CDL state error ('CdlState')"

Anhang

TwinCAT 3 NC I296 Version: 1.0

6.7.8 Tabellenfehler

Anhang

TwinCAT 3 NC I 297Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4A00 18944 Parameter „Tabellen-ID unzulässig“ Der Wert für die Tabellen-ID ist

unzulässig, da er z. B. bereits vergeben ist, kleiner gleichNull ist oder größer 255 ist.Wertebereich: [1 ... 255] Einheit: 1

4A01 18945 Parameter „Tabellen-Typ unzulässig“ Der Wert für den Tabellen-Typist unzulässig, da er nicht definiert ist.Wertebereich: [1] Einheit: 1

4A02 18946 Parameter „Zeilenanzahl der Tabelle unzulässig“ Der Wert für dieZeilenanzahl der Tabelle ist unzulässig, da er z. B. beiLinearinterpolation kleiner Zwei und bei Splineinterpolationkleiner Vier ist.Wertebereich: [2, 0xFFFF] Einheit: 1

4A03 18947 Parameter „Spaltenanzahl der Tabelle unzulässig“ Der Wert für dieSpaltenanzahl der Tabelle ist unzulässig, da er z. B. gleichNull bzw. kleiner gleich Eins ist (je nach Tabellen-/Slavetyp).Wertebereich: [1, 0xFFFF] Einheit: 1

4A04 18948 Parameter „Schrittweite (Positionsdelta) unzulässig“ Der Wert fürdie Schrittweite zwischen zwei Zeilen (Positionsdelta) istunzulässig, da er z. B. kleiner gleich Null ist.Wertebereich: [0.001, 1.0E+6] Einheit: z. B mm

4A05 18949 Parameter „Periode unzulässig“ Der Wert für die Periode istunzulässig, da er z. B. kleiner gleich Null ist.Wertebereich: [0.001, 1.0E+9] Einheit: z. B mm

4A06 18950 Parameter „Tabelle ist nicht monoton“ Der Wert für die Schrittweiteist unzulässig, da er z. B. kleiner gleich Null ist.

4A07 18951 Initialisierung

„Tabellen-Untertyp unzulässig“ Der Wert für denTabellen-Untertyp ist unzulässig, da er nicht definiert ist.Oder aber der Tabellen-Untertyp und die Tabellenklasse(Slave-Typ) passen nicht zusammen. Tabellen-Untertypen:(1) äquidistante lineare Positionstabelle, (2) äquidistantezyklische Positionstabelle, (3) nicht-äquidistante linearePositionstabelle, (4) nicht-äquidistante zyklischePositionstabelleWertebereich: [1, 4] Einheit: 1

4A08 18952 Initialisierung

„Tabellen-Interpolationstyp unzulässig“ Der Wert für denTabellen-Interpolationstyp ist unzulässig, da er nichtdefiniert ist. Tabellen-Interpolationstypen: (0) Linear-Interpolation, (1) 4-Punkt-Interpolation, (2) Spline-InterpolationWertebereich: [0, 2] Einheit: 1

4A09 18953 Initialisierung

„Falscher Tabellen-Haupttyp“ Der Tabellen-Haupttyp istunzulässig, da er nicht definiert ist. Oder aber der Tabellen-Haupttyp und die Tabellenklasse (Slave-Typ) passen nichtzusammen. Tabellen-Haupttypen: (1) Kurvenscheiben-Tabelle (Camming), (10) Kennlinien-Tabelle, (16)"MotionFunction"-Tabelle (MF)

4A10 18960 Initialisierung

„Initialisierung Tabelle“ Tabelle ist nicht initialisiertworden. Tabelle wurde zwar erzeugt, allerdings nicht weiterinitialisiert. Z. B. ist die Anzahl der Zeilen oder Spaltenkleiner gleich Null.

4A11 18961 Initialisierung

„Nicht genügend Speicher vorhanden“ Tabelle konntenicht erzeugt werden, da nicht genügend Speichervorhanden ist.

Anhang

TwinCAT 3 NC I298 Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4A12 18962 Funktion „Funktion wird nicht ausgeführt, Funktion nicht

verfügbar“ Die Funktion ist für den aktuellen Tabellentypnicht implementiert oder nicht ausführbar.

4A13 18963 Funktion „Zeilenindex unzulässig“ Der Startzeilenindex bzw. derStoppzeilenindex, ab dem lesend oder schreibend auf dieTabelle zugegriffen werden soll, ist unzulässig. Z. B. ist derZeilenindex größer als die Gesamtzeilenanzahl der Tabelle.

4A14 18964 Funktion „Spaltenindex unzulässig“ Der Startspaltenindex bzw. derStoppspaltenindex, ab dem lesend oder schreibend auf dieTabelle zugegriffen werden soll, ist unzulässig. Z. B. ist derSpaltenindex größer als die Gesamtspaltenanzahl derTabelle.

4A15 18965 Funktion „Zeilenanzahl unzulässig“ Die Anzahl der zu lesendenbzw. schreibenden Zeilen der Tabelle ist unzulässig. DieZeilenanzahl muss genau einem ganzzahligen Vielfachender Elemente einer Zeile entsprechen (n * Anzahl derSpalten).

4A16 18966 Funktion „Spaltenanzahl unzulässig“ Die Anzahl der zu lesendenbzw. schreibenden Spalten der Tabelle ist unzulässig. DieSpaltenanzahl muss genau einem ganzzahligen Vielfachender Elemente einer Spalte entsprechen (n * Anzahl derZeilen).

4A17 18967 Funktion „Fehler in der Skalierung oder in der Bereichsangabe“Die Angaben im Tabellenheader sind inkonsistent, z.B. istder Gültigkeitsbereich leer. Wenn der Fehler zur Laufzeitgeneriert wird ist er Laufzeitfehler und stoppt die Master/Slave Gruppe.

4A18 18968 Funktion „Multi-Tabellenslave außer Bereich“ Die Masterpositondes Slaves ist außerhalb der Tabellenwerte für den Master.Der Fehler ist Laufzeitfehler und stoppt die Master/SlaveGruppe.

4A19 18969 Funktion „Solo-Tabellen Underflow“ Die Masterpositon des Slavesist außerhalb der Tabellenwerte für den Master. DerMasterwert der äquidistanten, linear abzuarbeitendenTabelle liegt unter dem ersten Tabellenwert. Der Fehler istLaufzeitfehler und stoppt die Master/Slave Gruppe.

4A1A 18970 Funktion „Solo-Tabellen Overflow“ Die Masterpositon des Slavesist außerhalb der Tabellenwerte für den Master. DerMasterwert der äquidistanten, linear abzuarbeitendenTabelle liegt über dem ersten Tabellenwert. Der Fehler istLaufzeitfehler und stoppt die Master/Slave Gruppe.

4A1B 18971 Parameter „Falscher Abarbeitungmodus“ Der zyklischeAbarbeitungsmodus kann nur „true“ oder „false“ sein.

4A1C 18972 Parameter „Unzulässiger Parameter“ Der Parameter des Fifos istunzulässig.

4A1D 18973 Parameter „Fifo ist leer“ Das Fifo des Externen Generators ist leer.Das kann Bahnende oder Laufzeitfehler bedeuten.

4A1E 18974 Parameter „Fifo ist voll“ Das Fifo des Externen Generators ist voll. Esist Sache des Users immer wieder zu versuchen mit denabgelehnten Werten das Fifo zu füllen.

4A1F 18975 Parameter „Punkt-Index der Motion Function ist ungültig“ DerPunkt-Index eines Motion Function Punktes einer MotionFunction Tabelle ist unzulässig. Der Punkt-Index musserstens größer Null sein und zweitens für eine Spalte einerMotion Function Tabelle numerisch fortlaufend sein (z.B.1,2,3,... oder 10,11,12,...).Anmerkung: Der Punkt-Index darf nicht online geändertwerden, sondern muss konstant gehalten werden.

Anhang

TwinCAT 3 NC I 299Version: 1.0

Fehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4A20 18976 Initialisierun

g„Keine Diagonalisierung der Matrize“ Die Tabellenwertedes Masters lassen keine Berechnung des Splines zu.

4A21 18977 Initialisierung

„Anzahl Splinepunkte zu klein“ Die Anzahl der Punkteeines kubischen Splines muss mindestens drei sein. Dahermuss die Zeilenzahl mindestens drei sein.

4A22 18978 Initialisierung

„Fifo darf nicht überschrieben werden“ Das Fifo desExternen Generators darf nicht überschrieben werden, dasonst über die aktive Abarbeitungszeile hinweg geschriebenwürde. Es ist Sache des Users darauf zu achten, dasskeine Änderungen oder Löschungen über die aktive Zeilehinweg angefordert werden.

4A23 18979 Funktion „Motion Function hat zuwenige Punkte “ Die Anzahl dergültigen Punkte, die eine Motion Function definieren, istkleiner als zwei. Entweder ist die Gesamtzahl zu geringoder der Punkttyp vieler Punkte ist auf Ignore Point gesetzt.

Anhang

TwinCAT 3 NC I300 Version: 1.0

6.7.9 NC-SPS-Fehler

Anhang

TwinCAT 3 NC I 301Version: 1.0

Fehler(Hex) Fehler(Dec) Fehlertyp Beschreibung4B00 19200 Parameter "Achse ist gestoppt worden" Die Achse ist gestoppt

worden, während die Achse zur Zielposition fährt. DieAchse könnte mit einem SPS Kommando über ADS, miteinem Aufruf durch AXFNC oder durch den SystemManager gestoppt worden sein.

4B01 19201 Parameter "Achse kann nicht gestartet werden" Die Achse kannnicht gestartet werden, weil:

• die Achse befindet sich im Error Status,• die Achse führt einen anderen Auftrag aus,• die Achse befindet sich im geschützten Modus,• die Achse ist nicht betriebsbereit.

4B02 19202 Parameter "Kontrollmodus nicht zulässig" KeineZielpositionskontrolle und keine PositionsbereichKontrolle.

4B03 19203 Parameter "Achse bewegt sich nicht" Ein Restart von Position undGeschwindigkeit ist nur bei physikalischer Bewegung derAchse möglich.

4B04 19204 Parameter "Falscher Modus für RestartPosAndVelo" FalscherModus.

4B05 19205 Parameter "Befehl nicht zulässig"• endlose Bewegung in eine nicht spezifizierte

Richtung• Read/Write Parameter: unpassender Typ

4B06 19206 Parameter "Parameter nicht korrekt"• Falscher Override: > 100% oder < 0%• Falscher Getriebefaktor: RatioDenominator = 0

Anhang

TwinCAT 3 NC I302 Version: 1.0

Fehler(Hex) Fehler(Dec) Fehlertyp Beschreibung4B07 19207 Parameter "Timeout Achs-Funktionsbaustein"

Alle "MC_Move..."-Bausteine prüfen am Ende derPositionierung, ob diese erfolgreich abgeschlossenwurde. Im einfachsten Fall wird das "AxisHasJob"-Flagder NC-Achse geprüft, das zunächst besagt, dass diePositionierung logisch beendet wurde. Abhängig von derParametrierung der NC-Achse kommen aber nochweitere Prüfungen (Gütekriterien) hinzu:

• "Positionsbereichsüberwachung"Bei eingeschalteter Positionsbereichsüberwachungwird die Rückmeldung von der NC abgewartet. DieAchse muss sich nach der Positionierung innerhalbdes definierten Positionsbereichsfensters befinden.Der Lageregler sorgt ggf. dafür, dass die Achse insZiel gezogen wird. Bei abgeschaltetem (Kv=0) oderschwachem Lageregler, wird das Ziel evtl. nichterreicht.

• "Zielpositionsüberwachung"Bei eingeschalteter Zielpositionsüberwachung wirddie Rückmeldung von der NC abgewartet. DieAchse muss sich nach der Positionierungmindestens für die definierte Zeit im definiertenZielpositionsfenster befinden. Der Lageregler sorgtggf. dafür, dass die Achse ins Ziel gezogen wird.Bei abgeschaltetem (Kv=0) oder schwachemLageregler, wird das Ziel evtl. nicht erreicht.Ebenfalls kann eine schwingende Lagereglungdafür sorgen, dass die Achse um das Fensterherumpendelt und nicht dauerhaft in diesemFenster verbleibt.

Wenn sich nun die Achse logisch in der Zielpositionbefindet (logischer Stillstand), aber das parametriertePositionsfester nicht erreicht wird, dann wird dieÜberwachung der oben genannten NC-Rückmeldungennach einem konstanten Timeout von 6 Sekunden mitFehler 19207 (0x4B07) abgebrochen.

4B08 19208 Parameter "Achse ist im geschützten Modus" Die Achse befindetsich im geschützten Modus (z.B. gekoppelt) und kannnicht bewegt werden.

4B09 19209 Parameter "Achse ist nicht bereit" Die Achse ist nicht bereit undkann nicht bewegt werden.

4B0A 19210 Parameter "Fehler beim Referenzieren" Das Referenzieren(Homing) der Achse konnte nicht gestartet werden oderwar nicht erfolgreich.

4B0B 19211 Parameter "Fehlerhafte Definition des Triggereingangs" DieDefinition des Trigger-Signals für den BausteinMC_TouchProbe ist fehlerhaft. Die definierte Encoder-ID,das TriggerSignal oder die Trigger-Flanke sind ungültig.

4B0C 19212 Funktion "Positionslatch wurde deaktiviert" Der BausteinMC_TouchProbe hat festgestellt, dass ein von ihmgestarteter Messtasterzyklus deaktiviert wurde. Ursachekann beispielsweise ein Achs-Reset sein.

4B0D 19213 Funktion "Timeout NC-Status-Rückmeldung" Eine Funktionwurde erfolgreich von der SPS zur NC abgesetzt. Eineerwartete Rückmeldung im Status-Wort der Achse kommtaber nicht.

Anhang

TwinCAT 3 NC I 303Version: 1.0

Fehler(Hex) Fehler(Dec) Fehlertyp Beschreibung4B0E 19214 Funktion "Zusatzprodukt nicht installiert" Die Funktion ist als

Zusatzprodukt verfügbar, ist aber auf dem System nichtinstalliert.

4B0F 19215 Funktion "No NC Cycle Counter Update" – Das NcToPlcInterface bzw. ein darin enthaltener NC Cycle Counterwurde nicht aktualisiert.

Fehlernummern 0x4B10 .. 0x4B2F werden im TwinCAT NCI Kontext verwendet:4B10 19216 Funktion "M-Funktion Anfrage fehlt" Dieser Fehler tritt auf, wenn

eine Bestätigung der M-Funktion gemacht worden ist,aber das Anfragebit (request bit) nicht gesetzt worden ist.

4B11 19217 Parameter "Nullpunktverschiebungsindex liegt außerhalb desBereichs" Der Index der Nullpunktverschiebung istungültig.

4B12 19218 Parameter "R-Parameterindex oder -größe ist ungültig" DieserFehler tritt auf, wenn die R-Parameter geschrieben odergelesen werden, und der Index oder die Größe außerhalbdes Bereichs liegen.

4B13 19219 Parameter "Index für Werkzeugbeschreibung ist ungültig"4B14 19220 Funktion "Version des zyklischen Kanalinterfaces passt nicht

zu der angeforderten Funktion bzw. demFunktionsbaustein" Dieser Fehler tritt auf, wenn miteiner älteren TwinCAT Version, neue Funktionalitäteneiner neueren TcNci.lib aufgerufen werden.

4B15 19221 Funktion "Kanal ist nicht bereit für die angeforderte Funktion"Die anforderte Funktion kann nicht ausgeführt werden, dader Kanal sich im falschen Zustand befindet. DieserFehler tritt z.B. beim Rückwärtsfahren auf, wenn dieAchsen zuvor nicht mit dem ItpEStop angehalten werden.

4B16 19222 Funktion "Angeforderte Funktion ist nicht aktiv geschaltet" Dieangeforderte Funktion benötigt zuvor eine expliziteAktivierung.

4B17 19223 Funktion "Achse ist bereits in einer anderen Gruppe" Die Achsewurde bereits zu einer anderen Gruppe hinzugefügt.

4B18 19224 Funktion "Blocksearch konnte nicht erfolgreich ausgeführtwerden" Der Blocksearch ist fehlgeschlagen.Mögliche Ursachen:

• Ungültige Blocknummer4B19 19225 Parameter "Ungültiger Blocksearch Parameter" Dieser Fehler tritt

auf, wenn der FB ItpBlocksearch mit ungültigenParametern aufgerufen wird (z.B. E_ItpDryRunMode,E_ItpBlockSearchMode)

4B20 19232 Funktion "Kann nicht alle Achsen zufügen" Dieser Fehler trittauf, wenn eine Hilfsachse zu einer Interpolationsgruppehinzugefügt werden soll, und die Funktion ausfällt.Vermutlich wurde eine vorhergehende Anweisung einerHilfsachse übersprungen.

Fehlernummern 0x4B30 .. 0x4B3F werden in der TcMcCam-Lib verwendet (MC_NC_TableErrorCodes):4B30 19248 Parameter "Pointer ist ungültig" Ein Zeiger auf eine Datenstruktur

ist ungültig, z. B. Null• Datenstruktur MC_CAM_REF wurde nicht

initialisiert

Anhang

TwinCAT 3 NC I304 Version: 1.0

Fehler(Hex) Fehler(Dec) Fehlertyp Beschreibung4B31 19249 Parameter "Speichergröße ungültig" Die Angabe der

Speichergröße (SIZE) einer Datenstruktur ist ungültig.• Speichergröße ist 0 oder kleiner als ein Element der

adressierten Datenstruktur.• Speichergröße ist kleiner als die angeforderte

Datenmenge.• Speichergröße passt nicht zu anderen Parametern,

wie Punktanzahl, Zeilenanzahl oder Spaltenanzahl.4B32 19250 Parameter "Kurvenscheiben-ID ist ungültig" Die ID einer

Kurvenscheibe liegt nicht zwischen 1 und 255.4B33 19251 Parameter "Punkt-ID ist ungültig" Die ID eines Punktes

(Stützstelle) einer Motion Function ist kleiner als 1.4B34 19252 Parameter "Anzahl der Punkte ist ungültig" Die Anzahl der zu

lesenden oder zu schreibenden Punkte (Stützstellen)einer Kurvenscheibe ist kleiner als 1.

4B35 19253 Parameter "MC-Tabellentyp ist ungültig" Der Typ einerKurvenscheibe entspricht nicht der DefinitionMC_TableType.

4B36 19254 Parameter "Anzahl der Zeilen ungültig" Die Anzahl der Zeilen(Stützstellen) einer Kurvenscheibe ist kleiner als 1.

4B37 19255 Parameter "Anzahl der Spalten ungültig" Die Anzahl der Spalteneiner Kurvenscheibe ist ungültig.

• Die Spaltenzahl einer Motion Function ist ungleich 1• Die Spaltenzahl einer Standard-Kurvenscheibe ist

ungleich 2• Die Spaltenzahl passt nicht zu einem anderen

Parameter (ValueSelectMask)4B38 19256 Parameter "Schrittweite ungültig". Die Schrittweite für die

Interpolation ist ungültig, z. B. kleiner gleich Null.Fehlernummern 0x4B0F, 0x4B40 .. 0x4B4F werden in der TcNc-Lib verwendet:4B40 19264 Überwachung "Klemmentyp nicht unterstützt" Die verwendete

Klemme wird nicht von diesem Funktionsblockunterstützt.

4B41 19265 Überwachung "Register Read/Write Fehler" Dieser Fehler implizierteinen Gültigkeitsfehler.

4B42 19266 Überwachung "Achse ist Enabled" Die Achse ist enabled und darf fürden Vorgang nicht enabled sein.

4B43 19267 Parameter "Größe der Kompensationstabelle falsch" Dieangegebene Tabellengröße in Byte entspricht nicht dertatsächlichen Größe

4B44 19268 Parameter Die minimale/maximale Position in derKompensationstabelle entspricht nicht der Position in derTabellenbeschreibung (ST_CompensationDesc)

4B45 19269 Parameter "Nicht implementiert" Die angeforderte Funktion ist indieser Kombination nicht implementiert

Fehlernummern 0x4B50 .. 0x4B5F werden in der TcRemoteSync-Lib verwendet:Fehlernummern 0x4B60 .. 0x4B6F werden in der TcMc2-Lib im buffered commands Kontext verwendet:4B60 19296 Überwachung "Fahrauftrag wurde nicht aktiv" Ein Fahrauftrag wurde

ausgelöst und zunächst von der NC erfolgreich mit neuerKommandonummer quittiert und gepuffert. Dennoch wirdder Fahrauftrag nicht aktiv (möglicherweise wegen einerAbbruchbedingung oder eines internen NC Fehlers).

Anhang

TwinCAT 3 NC I 305Version: 1.0

Fehler(Hex) Fehler(Dec) Fehlertyp Beschreibung4B61 19297 Überwachung "Fahrauftrag konnte von der SPS nicht verfolgt

werden" Ein Fahrauftrag wurde ausgelöst und zunächstvon der NC erfolgreich mit neuer Kommandonummerquittiert und gepuffert. Dennoch konnte dieKommandoausführung von der SPS nicht verfolgtwerden, da die NC bereits ein nachfolgendes Kommandoausführt. Der Ausführungszustand ist unklar. DieserFehler darf nur bei sehr kurzen Fahraufträgen auftreten,die innerhalb eines SPS-Zyklus abgearbeitet sind.

4B62 19298 Überwachung "Gepuffertes Kommando wurde mit Fehler beendet"Ein gepuffertes Kommando wurde mit Fehler beendet.Die Fehlernummer ist nicht verfügbar, weil bereits einneues Kommando ausgeführt wird.

4B63 19299 Überwachung "Gepuffertes Kommando wurde ohne Rückmeldungbeendet" Ein gepuffertes Kommando wurde beendet,aber es gibt keine Rückmeldung über Erfolg oder Fehler.

4B64 19300 Überwachung " 'BufferMode' wird vom Kommando nichtunterstützt" Der 'BufferMode' wird von diesemKommando nicht unterstützt.

4B65 19301 Überwachung "Kommandonummer ist Null" Die vom Systemverwaltete Kommandonummer für gepufferteKommandos hat unerwartet den Wert 0.

4B66 19302 Überwachung "Funktionsbaustein wurde nicht zyklisch aufgerufen"Der Funktionsbaustein wurde nicht zyklisch aufgerufen.Daher konnte die Kommandoausführung von der SPSnicht verfolgt werden, während die NC bereits einnachfolgendes Kommando ausführt. DerAusführungszustand ist unklar.

Fehlernummern 0x4B70 .. 0x4B8F werden in der TcPlcInterpolation-Lib verwendet:4B71 19313 Parameter "Ungültiger NCI Entry Typ". Der FB

FB_NciFeedTablePreparation wurde mit einemunbekannten nEntryType aufgerufen.

4B72 19314 Funktion "NCI Feed Table voll" Die Tabelle ist voll und daher wirdder Eintrag nicht angenommen.Abhilfe:Mit dem FB FB_NciFeedTable den Inhalt an den NC-Kernübergeben. Wenn bFeedingDone = TRUE, kann beiFB_NciFeedTablePreparation mit bResetTable dieTabelle zurückgesetzt werden und anschließend mitneuen Einträgen gefüllt werden.

4B73 19315 Funktion interner Fehler4B74 19316 Parameter "ST_NciTangentialFollowingDesc: Tangentialachse

ist keine Hilfsachse" In dem Eintrag für die tangentialeNachführung wurde eine Tangentialachse genannt, diekeine Hilfsachse ist.

4B75 19317 Parameter ST_NciTangentialFollowingDesc: nPathAxis1 bzw.nPathAxis2 ist keine Bahnachse. Somit kann die Ebenenicht bestimmt werden.

4B76 19318 Parameter ST_NciTangentialFollwoingDesc: nPathAxis1 undnPathAxis2 sind gleich. Somit kann die Ebene nichtbestimmt werden.

4B77 19319 Parameter ST_NciGeoCirclePlane: Kreis falsch parametriert4B78 19320 Funktion Interner Fehler bei der Berechnung der tangentialen

Nachführung

Anhang

TwinCAT 3 NC I306 Version: 1.0

Fehler(Hex) Fehler(Dec) Fehlertyp Beschreibung4B79 19321 Überwachung Tangentiale Nachführung: Beim Einschalten der

tangentialen Nachführung wurde die Überwachung derAblenkungswinkel eingeschaltet (E_TfErrorOnCritical1)und mit dem aktuellen Segment ist ein zu großerAblenkungswinkel festgestellt worden.

4B7A 19322 Funktion nicht implementiert4B7B 19323 Parameter Tangentiale Nachführung: Der Radius des aktuellen

Kreissegements ist zu klein4B7C 19324 Parameter FB_NciFeedTablePreparation: pEntry ist NULL4B7D 19325 Parameter FB_NciFeedTablePreparation: Der angegebene

nEntryType stimmt nicht mit dem Strukturtyp überein4B7E 19326 Parameter ST_NciMFuncFast und ST_NciMFuncHsk: Die

angeforderte M-Funktion liegt nicht zwischen 0 und 1594B7F 19327 Parameter ST_NciDynOvr: Der angeforderte Wert für den Dynamik-

Override liegt nicht zwischen 0.01 und 14B80 19328 Parameter ST_NciVertexSmoothing: ungültiger Parameter. Dieser

Fehler wird bei einem negativen Verschleifungsradiusbzw. bei einem unbekannten Verschleifungstyp erzeugt.

4B81 19329 Parameter FB_NciFeedTablePrepartion: Die angeforderteGeschwindigkeit ist nicht im gültigen Bereich

4B82 19330 Parameter ST_Nci*: ungültiger ParameterFehlernummern 0x4BA0 .. 0x4BAF werden in der TcNcKinematicTransformation-Lib verwendet:4BA0 19360 Funktion KinGroup Fehler: Die Kinematikgruppe befindet sich im

Fehlerzustand.Dieser Fehler kann auftreten, wenn sich dieKinematikgruppe beim Aufruf im Fehlerzustand oder ineinem unerwarteten Zustand befindet (z.B. gleichzeitigerAufruf über mehrere FB-Instanzen).

4BA1 19361 Funktion KinGroup Timeout: Timeout beim Aufruf einesKinematik-Bausteins

Fehlernummern 0x4B90 .. 0x4B9F werden in der Tc3_MC2_AdvancedHoming-Lib (PLCopen Part 5:Homing Procedures) verwendet:4B90 19344 Parameter Ermittelter Drive-Typ wird nicht unterstützt4B91 19345 Parameter Direction ist unzulässig4B92 19346 SwitchMode ist unzulässig4B93 19347 Mode für das Parameter-Handling ist unzulässig4B94 19348 Parametrierung der Drehmomentgrenzen ist inkonsistent4B95 19349 Parametrierung der Schleppabstandgrenze ist unzulässig

(<=0).4B96 19350 Parametrierung des Distanzlimits ist unzulässig (<0)4B97 19351 Es wurde versucht erneut Parameter zu sichern, obwohl

diese bereits gesichert wurden.4B98 19352 Es wurde versucht Parameter zu restaurieren, obwohl

keine gesichert wurden.Fehlernummern 0x4BB0 .. 0x4BBF werden in der Tc2_MC2_Drive-Lib verwendet:4BB0 19376 Funktion Die aktuelle Achs-Position oder die sich durch den neuen

Positions-Offset ergebende Achs-Position überschreitetden gültigen Wertebereich.

4BB1 19377 Funktion Der neue Positions-Offset überschreitet den gültigenWertebereich [AX5000: 2^31]

4BB2 19378 Funktion Die aktuelle Achs-Position oder die sich durch den neuenPositions-Offset ergebende Achs-Position unterschreitetden gültigen Wertebereich.

Anhang

TwinCAT 3 NC I 307Version: 1.0

Fehler(Hex) Fehler(Dec) Fehlertyp Beschreibung4BB3 19379 Funktion Der neue Positions-Offset unterschreitet den gültigen

Wertebereich [AX5000: -2^31]4BB4 19380 Funktion Das aktivierte Feedback und/oder der Speicherort

(AX5000: P-0-0275) unterscheiden sich von derParametrierung am Baustein.

4BB5 19381 Funktion Reinitialisierung der Nc-Istposition ist fehlgeschlagen.z.B. Referenzsystem = „ABSOLUTE (with singleoverflow)“ & Softwareendlagenüberwachung istdeaktiviert.

6.7.10 Kinematische TransformationFehler(Hex) Fehler(Dez) Fehlertyp Beschreibung4C00 19456 Transformation fehlgeschlagen.4C01 19457 Mehrdeutige Lösung. Die Lösung für die

Transformation ist nicht eindeutig.4C02 19458 Ungültige Achsposition: Die Transformation kann mit

den aktuellen Positionsdaten nicht gerechnet werden.Mögliche Ursachen:

• Die Position befindet sich außerhalb desArbeitsraums der Kinematik

4C03 19459 Konfiguration Ungültige Dimension: Die Dimension derparametrierten Input-Parameter stimmt nicht mit der vomKinematik-Objekt erwarteten Dimension überein.Mögliche Ursachen:

• Es werden zu viele Positionswerte für dieseKonfiguration mitgegeben. Überprüfen Sie dieAnzahl der parametrierten Achsen.

4C04 19460 NCERR_KINTRAFO_REGISTRATION4C05 19461 Intern Newton Iteration fehlgeschlagen: Die Newton-Iteration

konvergiert nicht.4C06 19462 Intern Jacobi-Matrix kann nicht invertiert werden4C07 19463 Konfiguration Ungültige Kaskade: Diese Konfiguration der Kinematik

ist nicht zulässig.4C08 19464 Programmierun

gSingularität: Die Maschinenkonfiguration resultiert insingulären Achsgeschwindigkeiten.

4C0B 19467 Intern Keine Metainfo: Metainfo-Pointer ist null.4C20 19488 Intern Transformation fehlgeschlagen: Aufruf des

erweiterten Kinematik-Modells fehlgeschlagen.4C30 19504 Programmierun

gUngültiger Inputframe: Programmierte kartesischePosition kann in ACS-Konfiguration nicht angefahrenwerden.

4C50 19536 Intern Ungültiger Offset: Zugriffsverletzung im Observerfestgestellt.

6.7.11 Bode Return CodesFolgende Bode Plot spezifischen Fehlercodes werden im Bode Plot Server verwendet:

Anhang

TwinCAT 3 NC I308 Version: 1.0

CodeHex

CodeDec

Symbol Beschreibung

0x8100 33024 INTERNAL Internal error0x8101 33025 NOTINITIALIZED Not initialized (e.g. no nc axis)0x8102 33026 INVALIDPARAM Invalid parameter0x8103 33027 INVALIDOFFSET Invalid index offset0x8104 33028 INVALIDSIZE Invalid parameter size0x8105 33029 INVALIDSTARTPARAM Invalid start parameter (set point generator)0x8106 33030 NOTSUPPORTED Not supported0x8107 33031 AXISNOTENABLED Nc axis not enabled0x8108 33032 AXISINERRORSTATE Nc axis in error state0x8109 33033 DRIVEINERRORSTATE IO drive in error state0x810A 33034 AXISANDDRIVEINERROR-

STATENc axis AND IO drive in error state

0x810B 33035 INVALIDDRIVEOPMODE Invalid drive operation mode active or requested (no bode plot mode)

0x810C 33036 INVALIDCONTEXT Invalid context for this command (mandatory task orwindows context needed)

0x810D 33037 NOAXISINTERFACE Missing TCom axis interface (axis null pointer).Es fehlt eine Verbindung zur NC Achse.Entweder ist keine Achse (bzw. Achs-ID) parametriertworden oder die parametrierte Achse existiert nicht.

0x810E 33038 INPUTCYCLECOUNTER Invalid input cycle counter from IO drive (e.g.frozen).Während der BodePlot Aufzeichnung werden diezyklischen Antriebsdaten durch einen„InputCycleCounter“ gesichert. Hierdurch kann zumeinen ein unerwarteter Kommunikationsverlust erkannt(Stichwort LifeCounter) und zum anderen auf zeitlicheDatenkonsistenz geprüft werden.Beispiel 1: Dieser Fehler kann auftreten wenn dieZykluszeit der aufrufenden Task grösser ist als dieangenommene Antriebszykluszeit (dann kommt derFehler allerdings gleich beim Start der Aufzeichnung).Beispiel 2: Dieser Fehler kann auftreten wenn dieaufrufende Task Echtzeitstörungen hat (z.B. der"Exceed Counter" der Task hochzählt oder die Taskniederprior ist wie z.B. oft bei der PLC). Hier könnte derFehler jederzeit auch während der Aufnahme auftreten.Beispiel 3: Dieser Fehler kann vermehrt auftretenwenn die Echtzeitauslastung auf der Rechner rechtgroß ist (> 50%).Anmerkung: Siehe auch korrespondierenden AX5000Drive Fehlercode F440.

Anhang

TwinCAT 3 NC I 309Version: 1.0

0x810F 33039 POSITIONMONITORING(=> NC Runtime Error)

Position monitoring: Axis position is outside of themaximum allowed moving range.Die Achse hat das parametrierte Positions-bereichs-fenster verlassen woraufhin die Aufnahmeabgebrochen und die NC Achse in den Fehlerzustand0x810F versetzt wird (mit Standard NCFehlerhandling).Das Positionsbereichsfenster wirkt symmetrisch um dieStartposition der Achse (s.a. ParameterbeschreibungPosition Monitoring Window).Typische Fehlermeldung im Logger:"BodePlot: 'Position Monitoring' error 0x%x becausethe actual position %f is above the maximum limit %f ofthe allowed position range (StartPos=%f, Window=%f)"

0x8110 33040 DRIVELIMITATIONDETECTED

Driver limitations detected (current or velocitylimitations) which causes a nonlinear behavior andinvalid results of the bode plot.Eine BodePlot Aufzeichnung setzt einenäherungsweise lineare Übertragungsstrecke voraus.Wenn es im Antriebsgerät allerdings zu Limitierungen(Begrenzungen) der Geschwindigkeit oder desStromes kommt, dann wird dieses nichtlineareVerhalten erkannt und eine Bodeplot Aufzeichnungwird abgebrochen. Gründe für diese Limitierungenkann eine für das Positions-, Geschwindigkeits- oderTorque-Interface zu groß gewählte Amplitude sein odereine ungeeignete Wahl des AmplitudenSkalierungsmode (s.a. ParameterbeschreibungAmplitude Scaling Mode, Base Amplitude, SignalAmplitude).Typische Fehlermeldung im Logger:"BodePlot: Sequence aborted with error 0x%x becausethe current limit of the drive has been exceeded (%dtimes) which causes a nonlinear behavior and invalidresults of the bode plot"

0x8111 33041 LIFECOUNTERMONITORING(=> NC Runtime Error)

Life counter monitoring (heartbeat): Lost ofcommunication to GUI detected after watchdogtimeout is elapsed.Das grafische Benutzerinface, aus dem die BodeplotAufzeichnung gestartet wurde, kommuniziert nichtmehr im erwarteten Rhythmus mit dem BodePlotTreiber (Stichwort „Life Counter“). Deshalb wird dieAufzeichnung sofort beendet und die NC Achse in denFehlerzustand 0x8111 versetzt (mit Standard NCFehlerhandling). Mögliche Gründe hierfür können einAbsturz der Bedienoberfläche oder eine erheblicheStörung des Windows Kontextes sein.Typische Fehlermeldung im Logger:"BodePlot: Sequence aborted with GUI Life Countererror 0x%x because the WatchDog timeout of %f selapsed ('%s')"

0x8112 33042 NCERR_BODEPLOT_WCSTATE

WC state error (IO data working counter)IO working counter Fehler (WC state) durch z.B.Echtzeitstörungen, EtherCAT CRC-Fehler oderTelegrammausfälle, EtherCAT Teilnehmer nicht inKommunikation (OP-state), etc.

0x8113-0x811F

33043-33055

RESERVED Reservierter Bereich

Anhang

TwinCAT 3 NC I310 Version: 1.0

6.7.12 Weitere FehlerTab. 3:

Anhang

TwinCAT 3 NC I 311Version: 1.0

Error(Hex) Error(Dec) ErrorType Description0x8120 33056 Environment Invalid configuration for Object (e.g. in System

Manager)0x8121 33057 Environment Invalid environment for Object (e.g. TcCom-

Object's Hierarchy or missing/faulty Objects)0x8122 33058 Environment Incompatible Driver or Object0x8135 33077 Internal Function Block Inputs are inconsitent.Some Inputs

of the Function Block are inconsistent during.Probably Communicator and its IID, which both haveto be set or unset.

0x813b 33083 Parameter Transition Mode is invalid0x813c 33084 Parameter BufferMode is invalid0x813d 33085 FunctionBlock Only one active Instance of Function Block per

Group is allowed.0x813e 33086 State Command is not allowed in current group state.0x813f 33087 FunctionBlock Slave cannot synchronize.The slave cannot reach

the SlaveSyncPosition by the time the master hasreached the MasterSyncPos.

0x8140 33088 Parameter Invalid value for one or more of the dynamicparameters (A, D, J).

0x8141 33089 Parameter IdentInGroup is invalid.0x8142 33090 Parameter The number of axes in the group is incompatible

with the axes convention.0x8143 33091 Communicatio

nFunction Block or respective Command is notsupported by Target.

0x8145 33093 FunctionBlock Mapping of Cyclic Interface between Nc and Plcmissing (e.g. AXIS_REF, AXES_GROUP_REF, ...).

0x8146 33094 FunctionBlock Invalid Velocity ValueThe velocity was not set or theentered value is invalid

0x8148 33096 FunctionBlock Invalid Input Value0x8149 33097 Parameter Unsupported Dynamics for selected Group Kernel0x814a 33098 Parameter The programmed position dimension

incompatible with the axes convention.0x814b 33099 FunctionBlock Path buffer is invalid. E.g. because provided

buffer has invalid address or is not big enough0x814c 33100 FunctionBlock Path does not contain any element0x814d 33101 FunctionBlock Provided Path buffer is too small to store more

Path Elements0x814e 33102 Parameter Dimension or at least one Value of Transition

Parameters is invalid0x814f 33103 FunctionBlock Invalid or Incomplete Input Array0x8150 33104 FunctionBlock Path length is zero0x8151 33105 State Command is not allowed in current axis state.0x8152 33106 State TwinCAT System is shutting down and cannot

complete request.0x8160 33120 NC

ProgrammingCircle Specification in Path is invalid.Thespecification of a circle segment in the programmedinterpolated path (e.g. via MC_MovePath) has aninvalid or ambiguous descripition. Probably its centercannot be determined reliably.

0x8161 33121 NCProgramming

Maximum stream lines reached.The maximumnumber of stream lines is limited. Please refer tofunction block documentation for details.

0x8163 33123 FunctionBlock Invalid First Segment.The corresponding elementcan only be analyzed with a well-defined start point.

Anhang

TwinCAT 3 NC I312 Version: 1.0

Error(Hex) Error(Dec) ErrorType Description0x8164 33124 FunctionBlock Invalid auxiliary point.The auxiliary point is not well-

defined.0x8166 33126 FunctionBlock Invalid parameter for GapControlModeInvalid

parameter for GapControlMode, most likely incombination with the group parameterGapControlDirection

0x8167 33127 External Group got unsupported Axis Event (e.g. StateChange)Group got unsupported Axis Event (e.g.State Change e.g. triggered by a Single Axis Reset)

0x8f76 - 0x8ff9

36726 - 36857

Internal Unexpected Internal Error

0x8ffb - 0x8ffe

36859 - 36862

Internal Unexpected Internal Error

6.8 Spezifikation "Index-Group" für NC ( ID [0x01...0xFF] )

Hinweis: Diese Dokumentation beinhaltet alle TC3 spezifischen Änderungen und Neuerungen.

Anhang

TwinCAT 3 NC I 313Version: 1.0

Index-Group ( Hex )

Beschreibung Anmerkung

0x1000 Ring-0-Manager: Parameter [} 315] Optional !0x1100 Ring-0-Manager: Zustand [} 316] Optional !0x1200 Ring-0-Manager: Funktionen [} 316] Optional !0x1300 Ring-0-Manager: zyklische Prozessdaten Nicht implementiert !

0x2000 + ID Kanal mit entspr. ID: Parameter [} 317]0x2100 + ID Kanal mit entspr. ID: Zustand [} 320]0x2200 + ID Kanal mit entspr. ID: Funktionen [} 323]0x2300 + ID Kanal mit entspr. ID: zyklische Prozessdaten [} 326]

0x3000 + ID Gruppe mit entspr. ID: Parameter [} 327] Optional !0x3100 + ID Gruppe mit entspr. ID: Zustand [} 332] Optional !0x3200 + ID Gruppe mit entspr. ID: Funktionen [} 337] Optional !0x3300 + ID Gruppe mit entspr. ID: zyklische Prozessdaten Nicht implementiert !

0x4000 + ID Achse mit entspr. ID: Parameter [} 343]0x4100 + ID Achse mit entspr. ID: Zustand [} 356]0x4200 + ID Achse mit entspr. ID: Funktionen [} 364]0x4300 + ID Achse mit entspr. ID: zyklische Prozessdaten [} 383]

0x5000 + ID Encoder mit entspr. ID: Parameter [} 387] Optional !0x5100 + ID Encoder mit entspr. ID: Zustand [} 391] Optional !0x5200 + ID Encoder mit entspr. ID: Funktionen [} 395] Optional !0x5300 + ID Encoder mit entspr. ID: zyklische Prozessdaten [} 398] Optional !

0x6000 + ID Regler mit entspr. ID: Parameter [} 402] Optional !0x6100 + ID Regler mit entspr. ID: Zustand [} 406] Optional !0x6200 + ID Regler mit entspr. ID: Funktionen [} 409] Optional !0x6300 + ID Regler mit entspr. ID: zyklische Prozessdaten Nicht implementiert !

0x7000 + ID Drive mit entspr. ID: Parameter [} 410] Optional !0x7100 + ID Drive mit entspr. ID: Zustand [} 413] Optional !0x7200 + ID Drive mit entspr. ID: Funktionen [} 414] Optional !0x7300 + ID Drive mit entspr. ID: zyklische Prozessdaten [} 415] Optional !

0x0A000 + ID Tabellen (n x m) mit entspr. ID: Parameter [} 418] 0x0A000+ID für Tabellen-ID [1..255]0x1A000+ID für Tabellen-ID [256..4095]. . .0xFA000+ID für Tabellen-ID [3840..4095]

Maximalanzahl vonTabellen auf 4095erweitert (ab TC3.1B4021)

0x0A100 + ID Tabellen (n x m) mit entspr. ID: Zustand [} 422] 0x0000A100+IDLowByte für Tabellen-ID [1..255]0x0001A100+IdLowByte für Tabellen-ID [256..4095] …0x000FA100+IdLowByte für Tabellen-ID [3840..4095]0x000nA100+IdLowByte für Tabellen-ID [1..4095](TabID = n * 256 + IdLowByte)

Anhang

TwinCAT 3 NC I314 Version: 1.0

Index-Group ( Hex )

Beschreibung Anmerkung

0x0A200 + ID Tabellen (n x m) mit entspr. ID: Funktionen [} 423] 0x0000A100+IDLowByte für Tabellen-ID [1..255]0x0001A100+IdLowByte für Tabellen-ID [256..4095] …0x000FA100+IdLowByte für Tabellen-ID [3840..4095]0x000nA100+IdLowByte für Tabellen-ID [1..4095](TabID = n * 256 + IdLowByte)

0x0A300 + ID Tabellen (n x m) mit entspr. ID: zyklische Prozessdaten0x0000A100+IDLowByte für Tabellen-ID [1..255]0x0001A100+IdLowByte für Tabellen-ID [256..4095] …0x000FA100+IdLowByte für Tabellen-ID [3840..4095]0x000nA100+IdLowByte für Tabellen-ID [1..4095](TabID = n * 256 + IdLowByte)

Nicht implementiert !

0xF000 ...0xFFFF

Reservierter Bereich (TwinCAT Systembereich)

IndexGroup: IndexOffset:0xF081 0x00000000 ...

0xFFFFFFFF(n Elemente)

ADSIGRP_SUMUP_WRITEDas Read-Write-Kommando ist einSammelkommando und enthält in den Write-Daten eine Liste von mehreren ADS-Write-Kommandos.Aufbau der Write-Daten:[ IdxGrp(1), IdxOff(1), WriteLen(1), ...,IdxGrp(n), IdxOff(n), WriteLen(n), WriteData(1), ..., WriteData(n) ]Aufbau der Read-Daten:[ Error(1), ..., Error(n) ]

0xF082 0x00000000 ...0xFFFFFFFF(n Elemente)

ADSIGRP_SUMUP_READWRITEDas Read-Write-Kommando ist einSammelkommando und enthält in den Write-Daten eine Liste von mehreren ADS-Read-Write-Kommandos.Aufbau der Write-Daten:[ IdxGrp(1), IdxOff(1),ReadLen(1),WriteLen(1), ..., IdxGrp(n), IdxGrp(n),ReadLen(n), WriteLen(n),WriteData(1), ..., WriteData(n) ]Aufbau der Read-Daten:[ Error(1), ReadLen(1), ..., Error(n),ReadLen(n), ReadData(1), ..., ReadData(n) ]

0xF084 0x00000000 ...0xFFFFFFFF(n Elemente)

ADSIGRP_SUMUP_READ (READEX2)Das Read-Write-Kommando ist einSammelkommando und enthält in den Write-Daten eine Liste von mehreren ADS-Read-Kommandos.Aufbau der Write-Daten: [ IdxGrp(1), IdxOff(1), ReadLen(1), ...,IdxGrp(n), IdxGrp(n), ReadLen(n) ]Aufbau der Read-Daten: [ Error(1), ReadLen(1), ..., Error(n),ReadLen(n),ReadData(1), ..., ReadData(n) ]

Anhang

TwinCAT 3 NC I 315Version: 1.0

6.8.1 Spezifikation Ring-0-Manager

6.8.1.1 "Index-Offset" Spezifikation für Ring-0-Parameter (Index-Group 0x1000)

Index-Offset(Hex)

Zugriff Ring 0 Mana-ger

Datentyp Phys.Einheit

Definitions-be-reich

Beschreibung Anmerkung

0x00000010 Read every UINT32 100 ns Zykluszeit SAF Task0x00000012 Read every UINT32 100 ns Zykluszeit SVB Task0x00000014 Read every INT32 ns Global Time Compen-

sation Shift (SAFTask)

0x00000020 Read

/Write

every UINT16 1 0/1 zyklische Überwa-chung und Korrekturder NC-Sollwerte aufDatenkonsistenz

Anhang

TwinCAT 3 NC I316 Version: 1.0

6.8.1.2 "Index-Offset" Spezifikation für Ring-0-Zustand (Index-Group 0x1100)

Index-Offset(Hex)

Zugriff Ring 0 Mana-ger

Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Read every UINT32 1 0, 1...255 Anzahl der Kanäle0x00000002 Read every UINT32 1 0, 1...255 Anzahl der Gruppen0x00000003 Read every UINT32 1 0, 1...255 Anzahl der Achsen0x00000004 Read every UINT32 1 0, 1...255 Anzahl der Encoder0x00000005 Read every UINT32 1 0, 1...255 Anzahl der Regler0x00000006 Read every UINT32 1 0, 1...255 Anzahl der Drives0x0000000A Read every UINT32 1 0, 1...255 Anzahl der Tabellen (n

x m)

0x00000010 Read every UINT32 1 ZykluszeitfehlerzählerSAF Task (nicht sco-pebar)

Reserviert !

0x00000014 Read every UINT32 1 IO-Zykluszeitfehler-zähler SAF Task (nichtscopebar)

Reserviert !

0x00000020 Read every UINT32 µs Rechenzeit SAF Task(nicht scopebar)

Reserviert !

0x00000031 Read every UINT32 [n] 1 0, 1...255 Liefert die Kanal-IDsfür sämtliche Kanäleim System

0x00000032 Read every UINT32 [n] 1 0, 1...255 Liefert die Gruppen-IDs für sämtlicheGruppen im System

0x00000033 Read every UINT32 [n] 1 0, 1...255 Liefert die Achs-IDsfür sämtliche Achsenim System

0x00000034 Read every UINT32 [n] 1 0, 1...255 Liefert die Encoder-IDs für sämtliche En-coder im System

0x00000035 Read every UINT32 [n] 1 0, 1...255 Liefert die Regler-IDsfür sämtliche Reglerim System

0x00000036 Read every UINT32 [n] 1 0, 1...255 Liefert die Drive-IDsfür sämtliche Drives imSystem

0x0000003A Read every UINT32 [n] 1 0, 1...255 Liefert die Tabellen-IDs für sämtliche Ta-bellen im System

0x000001nn Read every UINT32 1 0, 1...255 Liefert für die Enco-der-ID die zugehörigeAchs-IDnn = Encoder-ID

Reserviert !

0x000002nn Read every UINT32 1 0, 1...255 Liefert für die Control-ler-ID die zugehörigeAchs-IDnn = Control-ler-ID

Reserviert !

0x000003nn Read every UINT32 1 0, 1...255 Liefert für die Drive-IDdie zugehörige Achs-IDnn = Drive-ID

Reserviert !

6.8.1.3 "Index-Offset" Spezifikation für Ring-0-Funktionen (Index-Group 0x1200)

Index-Offset(Hex)

Zugriff Ring 0 Mana-ger

Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000020 Write every VOID 1 Clear Zykluszeitfehler-zähler SAF & SVB

Reserviert !

Anhang

TwinCAT 3 NC I 317Version: 1.0

6.8.2 Spezifikation Kanäle

6.8.2.1 "Index-Offset" Spezifikation für Kanal-Parameter (Index-Group 0x2000 +ID)

Anhang

TwinCAT 3 NC I318 Version: 1.0

Index-Offset(Hex)

Zugriff Kanal- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Read every UINT32 1 Kanal-ID0x00000002 Read every UINT8[30+1] 1 Kanal-Name0x00000003 Read every UINT32 1 ENUM Kanal-Typ [} 423]0x00000004 Read every UINT32 1 ENUM Interpreter-Typ [} 423]0x00000005 Read every UINT32 1 Programmladepuffer-

größe in Byte0x00000006 Read every UINT32 1 Programm-Nr laut

Job-Liste0x00000007 Read

/ Write

every UINT32 1 ENUM Setze Lade-Logmodus[} 424]

0x00000008 Read

/ Write

every UINT32 1 ENUM Setze Trace-Modus[} 424]

0x00000009 Read

/ Write

every UINT32 1 RESERVIERT

0x0000000A Read

/ Write

every UINT32 1 0/1 Protokolliert alle Fee-der-Einträge in einerLog-Datei mit dem Na-men "TcNci.log"

0x0000000B Read

/ Write

every UINT32 1 0/1 kanalspezifischer Le-vel für NC LoggerMessages0: nur Fehler1: alle NC-Meldungen

0x00000010 ReadWrite every Write{UINT32 1 0..159 Start Index der M-Fkt.UINT32 1 1..160 Anzahl der zu lesen-

den M-Fkt.}Read [n]{UINT8 1 0..159 Regelbit Maske der M-

Fkt.INT32[10] 1 -1..159 Nr. der abzulöschen-

den M-Fkt.}

0x00000011 Write Inter-polation Schreibe M-Funktions-beschreibung

Nur interne Ver-wendung!

0x00000012 Read

/ Write

Inter-polation LREAL64 1 Faktor für G70

0x00000013 Read

/ Write

Inter-polation LREAL64 1 Faktor für G71

0x00000014 Write Inter-polation { Benutzersymbole fürAchsen

noch nicht frei-gegeben

char[32] Benutzersymbol (null-terminiert)

char[10] Systemsymbol (null-terminiert)

}0x00000015 Read

/ Write

Inter-polation UINT16 bzw.UINT32

1 0/1Default:FALSE

Aktivierung vonDefault G-Code

NEU ab TC3.1B4014

0x00000021 Read every UINT32 1 Gruppen-ID (nur ein-deutig für 3D- und FI-FO-Kanal

0x00000031 Read

/ Write

Inter-polation UINT16 1 Standard Output Portdes Interpreters

ReservierteFunktion,kein Standard!

Anhang

TwinCAT 3 NC I 319Version: 1.0

Index-Offset(Hex)

Zugriff Kanal- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000032 Read

/ Write

Inter-polation UINT16 1 0/1 cartesian tool offsetentry

ReservierteFunktion,kein Standard!

0x00000040 Read

/ Write

Inter-polation { Ziel-Adresse des In-terpreter Hooks

ReservierteFunktion,kein Standard!char[6] Ams Net ID

UINT16 PortUINT32 Index GroupUINT32 Index Offset}

0x00000050 Read

/ Write

Inter-polation UINT32 1 ENUM Reaktion wenn bei derRadiuskorrektur einFlaschenhals erkanntwird 0: Fehler und Abbruch1: Hinweis & Behe-bung2: Nur Hinweis, ohneKonturanpassung

0x00000051 Read

/ Write

Inter-polation UINT32 1 1..24 Look Ahead für dieFlaschenhalserken-nung

0x00000052 Read

/ Write

Inter-polation UINT32 1 0/1 Fase an/aus ReservierteFunktion,kein Standard!

0x00000053 Read

/ Write

Inter-polation UINT32 1 Aktivierung zum Lesender aktuell wirkendenInterpolationsregeln,Nullpunktverschiebun-gen & Rotation 0:aus1: ein

0x00000054 Read

/ Write

Inter-polation UINT32 1 0/1 Retrace an/aus ReservierteFunktion,kein Standard!

0x00000055 Read

/ Write

Inter-polation UINT32[4] 1 Konfiguration des zy-klischen Kanalinter-face für UINT32 max.4 Index Offsets kön-nen konfiguriert wer-den.

0x00000056 Read

/ Write

Inter-polation UINT32[4] 1 Konfiguration des zy-klischen Kanalinter-face für LREAL max. 4Index Offsets könnenkonfiguriert werden.

0x00010K0L Read

/ Write

every REAL64 z.B. mm ±MAX REAL64 Wert für Nullpunktver-schiebung (NPV)

[1..3] Index der AchseK=1 → XK=2 → YK=3 → Z

[1..0xA] L=1 → G54FL=2 → G54GL=3 → G55F ...

0x0002ww00 Read

/ Write

every UINT16 Tool-Nummer: Wertefür Werkzeugkorrektur

0x0003ww00 Read

/ Write

every UINT16 [1...50] Tool-Typ: ww = Werk-zeug 1...50

0x0004wwnn Read

/ Write

every REAL64 [1...14] Parameter: nn = Index1...14

0x000500gg Read

/ Write

every REAL64 z.B. mm ≥ 0 (Wert)[1...9] (g)

Radius der Toleranz-kugel gg = Gruppe desKanals (Default: 1)

Anhang

TwinCAT 3 NC I320 Version: 1.0

6.8.2.2 "Index-Offset" Spezifikation für Kanal-Zustand (Index-Group 0x2100 + ID)

Anhang

TwinCAT 3 NC I 321Version: 1.0

Index-Offset(Hex)

Zugriff Kanal- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Read every INT32 1 ENUM Fehlercode Kanal[} 240]

0x00000002 Read every UINT32 1 Anzahl Gruppen imKanal

0x00000003 Read every UINT32 1 ENUM Interpreterstatus[} 424]

Nicht oszillo-skopierbar!

0x00000004 Read every UINT32 1 ENUM Interpreter Betriebsart[} 424](interpreter/channeloperation mode)

0x00000005 Read every UINT32 1 Aktuell geladenes Pro-gramm

0x00000007 Read every UINT8[...] 1 Programmname desaktuell geladenen Pro-gramms(100 Zeichen, Null-Terminiert)

max. 100 Zei-chen, Null-Ter-miniert

0x00000008 Read Inter-preter UINT32 1 [0,1] Interpreter Simulati-onsmode0: off (default)1: on

Nicht oszillo-skopierbar!

0x00000010 Read Inter-preter UINT32 1 Text IndexFalls sich der Interpre-ter im Aborted Statusbefindet, kann hiermitder aktuelle Text Indexausgelesen werden

Nicht oszillo-skopierbar!

0x00000011 ReadWrite Inter-preter Write Nicht oszillo-skopierbar!UINT32 1 Text Index

ReadUINT8[..] 1 Zeile des NC-Teilepor-

gramms ab dem Text-index

0x00000012 Read Inter-preter {UINT32 1 Aktuelle Anzeige für

1: SAF2: Interpreter3: Fehleroffset

UINT32 1 FileoffsetUINT8[260] 1 Pfad + Programmna-

me}

0x00000013 Read Inter-preter UINT32[18] Anzeige für aktuell wir-kenden G-Code

0x00000014 Read Inter-preter { Ermittelt die aktuellwirkende Nullpunkt-verschiebung

UINT32 1 SatzzählerUINT32 dummyLREAL[3] 1 Nullpunktverschiebung

G54..G57LREAL[3] 1 Nullpunktverschiebung

G58LREAL[3] 1 Nullpunktverschiebung

G59}

0x00000015 Read Inter-preter { Ermittelt die aktuellwirkende Rotation

UINT32 1 SatzzählerUINT32 1 dummyLREAL[3] 1 Rotation in Grad von

X, Y & Z}

Anhang

TwinCAT 3 NC I322 Version: 1.0

Index-Offset(Hex)

Zugriff Kanal- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000016 Read Inter-preter UINT32 1 [0,1] Feeder Info Nur interne Ver-wendung! keinStandard

0x00000100 Read every UINT32 [n] 1 [0, 1...255] Liefert die jeweiligenAchs-IDs im Kanal An-zahl: [1...255] Achs-ID's: [0, 1...255]

Nicht oszillo-skopierbar!!

Anhang

TwinCAT 3 NC I 323Version: 1.0

6.8.2.3 "Index-Offset" Spezifikation für Kanal-Funktionen (Index-Group 0x2200 +ID)

Anhang

TwinCAT 3 NC I324 Version: 1.0

Index-Offset(Hex)

Zugriff Kanal- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Write every UINT32 1 Lade NC-Programmper Programmnummer

0x00000002 Write every VOID Starte Interpreter0x00000003 Write every VOID RESERVIERT0x00000004 Write every UINT8[...] Lade NC-Programm

per Programmnamen.Der Standard NC-Pfadmuss nicht (darf aber)mit angegeben wer-den. Auch andere Pfa-de sind zulässig.

0x00000005 Write every UINT16 ENUM s. Anhang Interpreter Be-triebsarten[} 424]

Setze Interpreter Be-triebsart (interpreter/channeloperation mode)

0x00000006 Write Inter-preter UINT8[...] Setze Pfad für Unter-programme

0x00000008 Write Inter-preter UINT32 1 Interpreter Simulati-onsmode: 0: off (default) 1: on

noch nicht frei-gegeben

0x0000000F Write every VOID RESERVIERT

0x00000010 Write every VOID "Reset" Kanal0x00000011 Write every VOID "Stopp" Kanal0x00000012 Write every VOID "Retry" Kanal (Wieder-

anlauf Kanal)0x00000013 Write every VOID "Skip" Kanal (Über-

springe Auftrag/Satz)0x00000014/0x00000015

Write every { "Enable Retrace" /"Di-sable Retrace"

ReservierteFunktion, kein Standard!UINT32 1 >0 Feeder Abarbeitungs-

richtung:1: vorwärts, 2:rückwärts

UINT32 1 ≥ 0 Entry-IndexREAL64[3] mm ±∞ Pos. der Hauptachsen

X, Y, ZREAL64[5] mm ±∞ Pos. der Hilfsachsen

Q1, ..., Q5}

0x00000020 Write every VOID "Save" Nullpunktver-schiebung (NPV)

0x00000021 Write every VOID "Load" Nullpunktver-schiebung (NPV)

0x00000022 Write every VOID "Save" Werkzeugkor-rekturen

0x00000023 Write every VOID "Load" Werkzeugkor-rekturen

0x00000024 Write Inter- polation

{ Speichert Snapshotdes Interpreters in ei-ne angegebene Datei

char[32] Dateiname im Twin-CAT\CNC-Verzeichnis

UINT32 1 0..1 Maske: 0x1: R-Parameter 0x2: Nullpunktver-schiebungen 0x4: Werkzeugbe-schreibungen

}

Anhang

TwinCAT 3 NC I 325Version: 1.0

Index-Offset(Hex)

Zugriff Kanal- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000025 Write Inter- polation

{ Liest Snapshot aus ei-ner angegebenen Da-tei in den Interpreterein

char[32] Dateiname im Twin-CAT\CNC-Verzeichnis

UINT32 1 0..1 Maske: 0x1: R-Parameter 0x2: Nullpunktver-schiebungen 0x4: Werkzeugbe-schreibung

}0x00000026 Write Inter-

polationVOID Setzt alle Werkzeug-

parameter (inkl. Typeund Nummer) auf Null

0x00000027 Write Inter- polation

VOID Setzt alle Nullpunkt-verschiebungen aufNull

0x00000030 Write every VOID Wiederanlauf (GoAhead) des Interpre-ters nach program-mierten Interpreter-stopp

0x00000040 Write every VOID Triggerevent zum inder NCI

0x00000041 Write every RESERVIERT fürMessereignis

0x00000050 Write Inter- polation

VOID 1 Setzt ExecIdleInfo imInterpreter

ReservierteFunktion, kein Standard!

0x00000051 Write Inter- polation

UINT32 1 Setzt Satzunter-drückungsmaske imInterpreter Parameter: SkippingMask

ReservierteFunktion, kein Standard!

0x00000052 Write Inter- polation

UINT32 1 Setzt ItpOperationMo-de im Interpreter Parameter: Maske des Operation-Modes

ReservierteFunktion, kein Standard!

0x00000053 Write Inter- polation

VOID Setzt ScanningFlag imNC Device

ReservierteFunktion, kein Standard!

0x00000054 Write Inter- polation

ScanPosition ReservierteFunktion, kein Standard!

double[8] Position

0x00000055 Write Inter- polation

Reserviert

0x00000056 Write Inter- polation

VOID Setzt Interpreter in Ab-orted Status

ReservierteFunktion, kein Standard!

0x00000060 Write Inter- polation

UINT16 1 0..159 Manuelles Zurückset-zen einer schnellen M-Funktion

Anhang

TwinCAT 3 NC I326 Version: 1.0

6.8.2.4 "Index-Offset" Spezifikation für zyklische Kanal-Prozessdaten (Index-Group 0x2300 + ID)

Index-Offset(Hex)

Zugriff Kanal- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000000 Read every(PLC→NC)

{128 Byte} STRUCT s. Ka-nal-Interface

KANAL-STRUKTUR(PLC→NC) Anm.:Größe und Alignmentgeändert.

Die aktuelle zu-gehörige PLCStruktur ist:NciChannel-FromPlcPLC-TONC_NCICHANNEL_REF

0x00000001 Read every UINT8[...]min. 30 Byte

1 Interpreter Programm-anzeige

Nicht oszillo-skopierbar!

0x00000002 Read / Write every(PLC→NC)

UINT32 % [0...1000000] Geschwindigkeitsover-ride Kanal (Achsen imKanal)

1000000 =100%

0x00000003 Read / Write every(PLC→NC)

UINT32 % [0...1000000] Geschwindigkeitsover-ride Spindel

1000000 =100%

0x00000080 Read every(NC→PLC)

{160 Byte} STRUCT s. Ka-nal-Interface

KANAL-STRUKTUR(NC→PLC) Anm.:Größe und Alignmentgeändert.

Die aktuelle zu-gehörige PLCStruktur ist:NciChannelTo-PlcNCTO-PLC_NCICHAN-NEL_REF

0x10000000

+RegIndex

Read / Write every REAL64 1 [0...999] R-Parameter des In-terpreters

Nicht oszillo-skopierbar!!

0x20000001 Read every UINT8[...]min. 30 Byte

1 [1...9] Programmanzeige derGruppenabarbeitung

Nicht oszillo-skopierbar!

Anhang

TwinCAT 3 NC I 327Version: 1.0

6.8.3 Spezifikation Gruppen

6.8.3.1 "Index-Offset" Spezifikation für Gruppen-Parameter (Index-Group 0x3000+ ID)

Anhang

TwinCAT 3 NC I328 Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Read every UINT32 1 Gruppen ID0x00000002 Read every UINT8[30+1] 1 Gruppen-Name0x00000003 Read every UINT32 1 ENUM Gruppen-Typ [} 424]0x00000004 Read every UINT32 µs SAF-Zykluszeit Grup-

pe0x00000005 Read every UINT32 µs SVB-Zykluszeit Grup-

pe0x00000006 Read / Write every UINT16 1 0/1 Einzelsatz-Betriebs-

art?0x0000000B Read every UINT32 1 Größe der SVB-Tabel-

le (max. Anzahl vonSVB-Einträgen

0x0000000C Read every UINT32 1 Größe der SAF-Tabel-le (max. Anzahl vonSAF-Einträgen

0x00000010 Read / Write every UINT32 1 [1,2...32]

Default: 1

Interner SAF-Zyklus-zeit Divisor(dividiertdie interne SAF-Zy-kluszeit um diesenFaktor)

z.B. für DXD-Gruppe

0x00000021 Read Kanal: every UINT32 1 Kanal-ID0x00000022 Read Kanal: every UINT8[30+1] 1 Kanal-Name0x00000023 Read Kanal: every UINT32 1 ENUM Kanal-Typ [} 423]0x00000024 Read Kanal: every UINT32 1 >0 Nummer im Kanal

0x00000500 Read / Write DXD-Gruppe INT32 ENUM [0, 1] Kurvengeschwindig-Keitsreduktions- me-thode [} 424] 0: Coulomb-Scattering1: Cosinus-Gesetz2: VeloJump

0x00000501 Read / Write DXD-Gruppe REAL64 1 [0.0...1.0] Geschwindigkeits-

reduktionsfaktor C0-Übergang (stetigerVerlauf, aber wedereinmal noch zweimalstetig differenzierbar)

0x00000502 Read / Write DXD-Gruppe REAL64 1 [0.0...1.0] Geschwindigkeits-

reduktionsfaktor C1-Übergang (stetigerVerlauf und einmalstetig differenzierbar)

0x00000503 Read / Write DXD-Gruppe REAL64 Grad [0.0...180.0] Kritischer Winkel amSegmentübergang"Low" (muss echt klei-ner gleich dem Ge-schwindigkeits-

reduktionswinkel C0sein)

0x00000504 Read / Write DXD-Gruppe REAL64 Grad [0.0...180.0] Kritischer Winkel amSegmentübergang"High" (muss echt klei-ner gleich dem Ge-schwindigkeits-

reduktionswinkel C0sein)

0x00000505 Read / Write DXD-Gruppe REAL64 mm/s ≥ 0 Mindestgeschwindig-keit, die an Segment-übergängen trotz mög-licher Geschwindig-keits-

reduktion nicht unter-schritten werden darf.

Achtung: Para-meter wird nichtin der Solutiongespeichert undnicht als NCBoot Parameterübertragen!

Anhang

TwinCAT 3 NC I 329Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000506 Read / Write DXD-Gruppe REAL64 z.B. mm [0.0...1000.0] Radius der Toleranz-

kugel für

Verschleifungen

nicht implemen-tiert!

0x00000507 Read / Write DXD-Gruppe REAL64 1 Geschwindigkeits-

reduktionsfaktor C2-Übergang

0x00000508 Read / Write DXD-Gruppe UINT16 1 0/1 aktiviert Berechnungder totalen verbleiben-den Bahnlänge

NEU ab TC3.1B4020.40

0x00000509 Read / Write DXD-Gruppe UINT16 1 0/1

Default: 1

Allgemeine Aktivie-rung der SoftwareEndlagenüberwa-chung für die Haupt-achsen (X, Y, Z)(s. Encoderparameter)

0x0000050A Read / Write DXD-Gruppe UINT32 1 0/1 NCI Overridetype0: Bezogen auf internereduzierte Geschwin-digkeit (ohne Iteration)1: Bezogen auf origi-nale externe (pro-grammierte) Ge-schwindigkeit2: Bezogen auf internereduzierte Geschwin-digkeit (0 ... >100%)

0x0000050C Read DXD-Gruppe UINT32 1 [128 ... 1024]

Default: 128

benutzerdefinierte Ma-ximalanzahl der NCISAF Tabellen Einträge

NEU ab TC3.1B4014 Boot-Pa-rameter

0x00000510 Read / Write DXD-Gruppe REAL64 1 ≥ 0 Für Reduktionsmetho-de VeloJumpRedukti-onsfaktor für C0-Über-gänge: X-Achse

nicht implemen-tiert!

0x00000511 Read / Write DXD-Gruppe REAL64 1 ≥ 0 Für Reduktionsmetho-de VeloJump Redukti-onsfaktor für C0-Über-gänge: Y-Achse

nicht implemen-tiert!

0x00000512 Read / Write DXD-Gruppe REAL64 1 ≥ 0 Für Reduktionsmetho-de VeloJump Redukti-onsfaktor für C0-Über-gänge: Z-Achse

nicht implemen-tiert!

0x00000513 Read / Write DXD-Gruppe LREAL64 1 ]0.0..1.0[ Verschleifung fürHilfsachen: Ist die re-sultierende Bahnge-schwindigkeit kleinerals die prog. mal die-sem Faktor, so wirdein Genauhalt einge-fügt

noch nicht frei-gegeben

0x00000514 Read / Write DXD-Gruppe UINT32 1 [1 ... 20]

Default: 1

Maximale Anzahl vonzu übertragendenKommandos pro NCZyklus (von SVB zuSAF)

NEU ab TC3.1B4020.40

0x00000604 Read / Write Encoder-Grup-pe

REAL64 z.B.mm/s

[0.0...1000.0] Geschwindigkeitsfens-ter bzw. Stillstands-fenster

Base Unit / s

0x00000605 Read / Write Encoder-Grup-pe

REAL64 s [0.0...60.0] Filterzeit für Still-standsfenster in Se-kunden

0x00000606 Read / Write Encoder-Grup-pe

REAL64 s [0.0...60.0] TotzeitkompensationMaster/Slave-Kopplung ("Winkelvor-steuerung")

Anhang

TwinCAT 3 NC I330 Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000701 Read FIFO-Gruppe UINT32 1 [1...16] FIFO-Dimension (m =Anzahl der Ach-sen)Anm.: Die FIFO-Dimension ist auf 16erhöht worden.

(n x m)-FIFOBoot-Daten !

0x00000702 Read FIFO-Gruppe UINT32 1 [1...10000] FIFO-Größe (Länge)(n = Anzahl der FIFO-Einträge)

(n x m)-FIFOBoot-Daten !

0x00000703 Read FIFO-Gruppe UINT32 1 [0, 1, 4] Interpolationstyp fürFIFO-Sollwertgenera-tor

0: INTERPOLATION-TYPE_LINEAR(Default)1: INTERPOLATION-TYPE_4POINT4: INTERPOLATION-TYPE_CUBICSPLINE(with 6 points)

NEU ab TC3.1B4020

0x00000704 Read / Write FIFO-Gruppe UINT32 1 [1, 2] Overridetyp für FIFO-Sollwertgenerator Typ 1: OVERRIDETY-PE_INSTANTA-NEOUS (Default)Typ 2: OVERRIDETY-PE_PT2

0x00000705 Read / Write FIFO-Gruppe REAL64 s > 0.0 P-T2-Zeit für Override-änderung (T1=T2=T0)

0x00000706 Read / Write FIFO-Gruppe REAL64 s ≥ 0.0 Zeitdelta für zwei auf-einanderfolgende FI-FO-Einträge (Zeitbasisder FIFO-Einträge)

0x00000801 ReadWrite Kinematik-Gruppe

Write Berechnung der kine-matischen Hintransfor-mation für die Positio-nen(ACS -> MCS)

{REAL64[8] z.B.

Grad±∞ Positionen der ACS-

Achsen (Axis Coordi-nate System), max.Dimension: 8

UINT32 1 ≥ 0 ReserveUINT32 1 ≥ 0 Reserve}Read{REAL64[8] z.B. mm ±∞ Positionen der MCS-

Achsen (MachineCoordinate System),max. Dimension: 8

UINT32 1 ≥ 0 ReserveUINT32 1 ≥ 0 Reserve}

Anhang

TwinCAT 3 NC I 331Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000802 ReadWrite Kinematik-Gruppe

Write Berechnung der kine-matischen Rücktrans-formation für die Posi-tionen(MCS -> ACS)

{REAL64[8] z.B. mm ±∞ Positionen der MCS-

Achsen (MachineCoordinate System),max. Dimension: 8

UINT32 1 ≥ 0 ReserveUINT32 1 ≥ 0 Reserve}Read{REAL64[8] z.B.

Grad±∞ Positionen der ACS-

Achsen (Axis Coordi-nate System), max.Dimension: 8

UINT32 1 ≥ 0 ReserveUINT32 1 ≥ 0 Reserve}

Anhang

TwinCAT 3 NC I332 Version: 1.0

6.8.3.2 "Index-Offset" Spezifikation für Gruppen-Zustand (Index-Group 0x3100 +ID)

Anhang

TwinCAT 3 NC I 333Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Read every INT32 1 ENUM Fehlercode Gruppe[} 249]

0x00000002 Read every UINT32 1 Anzahl Masterachsen0x00000003 Read every UINT32 1 Anzahl Slaveachsen0x00000004 Read every UINT32 1 s. ENUM SVB-Gruppenstatus

(Zustand)0x00000005 Read every UINT32 1 s. ENUM SAF-Gruppenstatus

(main state)0x00000006 Read every UINT32 1 s. ENUM Bewegungszustand

(Zustand)0x00000007 Read every UINT32 1 s. ENUM SAF-Sub-Gruppensta-

tus (sub state)0x00000008 Read every UINT32 1 s. ENUM Referenzierstatus (Zu-

stand)0x00000009 Read every UINT32 1 s. ENUM Koppelstatus (Zu-

stand)Nicht oszillo-skopierbar!

0x0000000A Read every UINT32 1 ≥0 Koppeltabellen-Index Nicht oszillo-skopierbar!!

0x0000000B Read every UINT32 1 ≥0 Aktuelle Anzahl SVB-Einträge/Aufträge

SymbolischerZugriff: 'SvbEn-tries' (DXD)

0x0000000C Read every UINT32 1 ≥0 Aktuelle Anzahl SAF-Einträge/Aufträge

SymbolischerZugriff: 'SafEn-tries' (DXD)

0x0000000D Read every UINT32 1 Aktuelle Satznummer(nur für Interpolations-gruppe aktiv)

SymbolischerZugriff: 'Block-Number' (DXD)

0x0000000E Read every UINT32 1 ≥0 Aktuelle Anzahl freierSVB-Einträge/Aufträge

Nicht oszillo-skopierbar!!

0x0000000F Read every UINT32 1 ≥0 Aktuelle Anzahl freierSAF-Einträge/Aufträge

Nicht oszillo-skopierbar!!

0x00000011 Read every UINT16 1 0/1 Emergency Stop (E-Stop) aktiv ?

Nicht oszillo-skopierbar!!

0x00000110 Read PTP-Gruppe { Interne NC-Informatio-nen (Auflösungen)

Reserviert !

REAL64 z.B. mm ± ∞ ExternalEndPositionREAL64 z.B. mm/

s>0 ExternalTargetVelocity

REAL64 z.B. mm/s^2

>0 ExternalAcceleration

REAL64 z.B. mm/s^2

>0 ExternalDeceleration

REAL64 z.B. mm/s^3

>0 ExternalJerk

UINT32 1 >0 ExternalOverrideTypeREAL64 z.B. mm ± ∞ InternalEndPositionREAL64 z.B. mm/

s>0 InternalTargetVelocity

(refers to 100 %)REAL64 % [0 ... 100] InternalActualOverrideREAL64 z.B. mm/

s^2>0 InternalAcceleration

REAL64 z.B. mm/s^2

>0 InternalDeceleration

REAL64 z.B. mm/s^3

>0 InternalJerk

REAL64 z.B. mm >0 PositionResolutionREAL64 z.B. mm/

s≥0 VelocityResolution

REAL64 z.B. mm/s^2

≥0 AccelerationResoluti-on

REAL64 z.B. mm/s

≥0 VelocityResolutionA-tAccelerationZero

}

Anhang

TwinCAT 3 NC I334 Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000500 Read DXD-Gruppe REAL64 z.B. mm ≥ 0 Bahnrestweg (verblei-bende Bogenlänge)auf dem aktuellenBahnsegment

SymbolischerZugriff: 'SetPa-thRemLength'

0x00000501 Read DXD-Gruppe REAL64 z.B. mm ≥ 0 abgefahrene Bogen-länge auf dem aktuel-len Bahnsegment

SymbolischerZugriff: 'Set-PathLength'

0x00000502 Read DXD-Gruppe REAL64 z.B. mm/s

≥ 0 aktuelle Bahnsollge-schwindigkeit

SymbolischerZugriff: 'SetPa-thVelo'

0x00000503 Read DXD-Gruppe REAL64 z.B. mm/s^2

± ∞ aktuelle Bahnsollbe-schleunigung

SymbolischerZugriff: 'Set-PathAcc'

0x00000504 Read DXD-Gruppe REAL64 z.B. mm/s^2

≥ 0 Betrag der aktuellenvektoriellen Sollbe-schleuniging

SymbolischerZugriff: 'Set-PathAbsAcc'

0x00000505 Read DXD-Gruppe REAL64 z.B. mm/s

≥ 0 maximale Segmen-tendbahnsollge-schwindigkeit

SymbolischerZugriff: 'SetPa-thVeloEnd'

0x00000506 Read DXD-Gruppe REAL64 z.B. mm/s

≥ 0 Segmentmaximal-bahnsollgeschwindig-keit

SymbolischerZugriff: 'SetPa-thVeloMax'

0x00000507 Read DXD-Gruppe REAL64 z.B. mm ≥ 0 aktueller relativerBremsweg bezogenauf die aktuelle Bo-genlänge

SymbolischerZugriff: 'Set-PathStopDist'

0x00000508 Read DXD-Gruppe REAL64 z.B. mm ± ∞ Sicherheitsabstand =Segmentbogenlänge -aktuelle Bogenlänge -relativer Bremsweg

SymbolischerZugriff: 'Set-PathSecurity-Dist'

0x00000509 Read DXD-Gruppe REAL64 1 0/1 Segmentübergang SymbolischerZugriff: 'Set-PathSegment-Change'

0x0000050A Read DXD-Gruppe REAL64 % [0 ... 100] Bahngeschwindigkeit-soverride

SymbolischerZugriff: 'SetPa-thOverride'

0x00000511 Read DXD-Gruppe REAL64 z.B. mm/s

≥ 0 Betrag der Bahnistge-schwindigkeit

SymbolischerZugriff: 'ActPat-hAbsVelo'

0x00000512 Read DXD-Gruppe REAL64 z.B. mm/s^2

± ∞ Bahnistbeschleuni-gung auf aktuellemSegment

SymbolischerZugriff: 'Act-PathAcc'

0x00000513 Read DXD-Gruppe REAL64 z.B. mm/s^2

≥ 0 Betrag der Bahnistbe-schleunigung auf aktu-ellem Segment

SymbolischerZugriff: 'ActPat-hAbsAcc'

0x00000514 Read DXD-Gruppe REAL64 z.B. mm ± ∞ Positionsfehler auf derBahn in tangentialerRichtung (mit Vorzei-chen für Vor- undNacheilen)

SymbolischerZugriff: 'Path-DiffTangential'

0x00000515 Read DXD-Gruppe REAL64 z.B. mm ≥ 0 Positionsfehler auf derBahn in orthogonalerRichtung

SymbolischerZugriff:'PathDif-fOrthogonal'

0x00000520 Read DXD-Gruppe REAL64 1 ≥ 0 Abgefahrene Bogen-länge des aktuellenSegmentes (normiertauf 1.0)

0x00000521 Read DXD-Gruppe REAL64 1 0/1 Teilsegmentwechsel(Radius der Toleranz-kugel)

Anhang

TwinCAT 3 NC I 335Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000522 Read DXD- Gruppe REAL64 1 ≥ 0 Gesamter Bahnrest-weg bis zum letztenGeometrieeintrag oderzum nächsten Genau-halt. Bezieht sich aufGruppenparameter0x508.

0x00000523 Read DXD- Gruppe REAL64 1 ≥ 0 programmierte Ge-schwindigkeit des ak-tuellen Segments

0x00000530 Read DXD-Gruppe { Aktuelle bzw. letzteZielposition der Haupt-achsen X, Y und Z

REAL64 z.B. mm ± ∞ Zielposition X-AchseREAL64 z.B. mm ± ∞ Zielposition Y-AchseREAL64 z.B. mm ± ∞ Zielposition Z-Achse}

0x00000531 Read DXD-Gruppe { Aktuelle bzw. letzteZielposition derHilfsachsen Q1 bis Q5

REAL64[5] z.B. mm ± ∞ Zielposition der Q1-bis Q5-Achse

}0x00000532 Read DXD-Gruppe { Lesen der Bahnlänge,

H-Parameter und Ent-ry ID der nächsten 11Segmente bezogenauf die aktuelle DC-Ti-me

nicht allg. frei-gegeben

UINT32 DC TimeUINT32 reservedPreViewTab[11] 11*24 Bytes}

PreViewTab{REAL64 z.B. mm SegmentlängeUINT32 1 BlocknummerUINT32 1 H-ParmeterUINT32 1 Entry IDUINT32 1 reserved}

0x0000054n Read DXD-Gruppe REAL64 1 0/1 Innerhalb der Tole-ranzkugel derHilfsachsen = 1..5Nummer der Hilfsach-se (nicht Achs-ID)

0x00000550 Read DXD-Gruppe { Lesen der Achs-ID'sinnerhalb der 3D-Gruppe:

UINT32 1 [0, 1...255] X-Achsen IDUINT32 1 [0, 1...255] Y-Achsen IDUINT32 1 [0, 1...255] Z-Achsen ID}

Anhang

TwinCAT 3 NC I336 Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000552 Read DXD-GruppeFIFO-GruppeKinematik-Gruppe

{ UINT32[m]}

1 [0, 1...255] Achsbelegung derGruppe: 1. Achs-ID. ..., m.-Achs-IDm:Dimension der 3D-Gruppe mit Haupt-und Zusatzachsen (X,Y, Z, Q1, Q2, Q3, Q4,Q5) bzw. der FIFO-Gruppe bzw. die ACS-Achsen der Kinematik-Gruppe

0x00000553 Read Kinematik-Gruppe

{ Lesen der Achsbele-gung (ID's) innerhalbder Kinematik-Gruppe:

UINT32[8] 1 [0, 1...255] MCS-Achsen ID's(Machine CoordinateSystem)

UINT32[8] 1 [0, 1...255] ACS-Achsen ID's(Axis Coordinate Sys-tem)

UINT32 1 ≥ 0 ReserveUINT32 1 ≥ 0 Reserve (NEW)}

0x0000056n Read DXD- Gruppe REAL64 1 ± ∞ aktueller Positionsfeh-ler der Hilfsachse in-nerhalb der Toleranz-kugel (nur sollwertsei-tig)Nur für Hilfsachsenn = 1..5Nummer der Hilfsach-se (nicht Achs-ID)

Anhang

TwinCAT 3 NC I 337Version: 1.0

6.8.3.3 "Index-Offset" Spezifikation für Gruppen-Funktionen (Index-Group 0x3200+ ID)

Anhang

TwinCAT 3 NC I338 Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Write every VOID Reset Gruppe0x00000002 Write every VOID Stop Gruppe0x00000003 Write every VOID Clear Gruppe (Buffer/

Auftrag)0x00000004 Write PTP-Gruppe,

3D-Gruppe{ Emergency Stop (E-

Stop) (Notstop mit ge-regelter Rampe)

REAL64 z.B. mm/s^2

≥ 0.0 Verzögerung (mussgrößer gleich der Ori-ginalverzögerung sein)

REAL64 z.B. mm/s^3

≥ 0.0 Ruck (muss größergleich dem Original-ruck sein)

}0x00000005 Write PTP-Gruppe { Parametrierbarer

Stop(mit geregelterRampe)

ReservierteFunktion, kein Standard!

REAL64 z.B. mm/s^2

≥ 0.0 Verzögerung

REAL64 z.B. mm/s^3

≥ 0.0 Ruck

}0x00000006 Write PTP-Gruppe,

3D-GruppeVOID Weiterfahren ("Step

on") nach Emergency-Stop (E-Stop)

0x00000050 Write PTP-Gruppe3D-Gruppe

{ Achsbelegung derGruppe:

UINT32 1 [0, 1...255] X-Achsen IDUINT32 1 [0, 1...255] Y-Achsen IDUINT32 1 [0, 1...255] Z-Achsen ID}

0x00000051 Write PTP-Gruppe3D-Gruppe FIFO-Gruppe

{ Achsbelegung derGruppe:

UINT32 1 [1...255] Achsen IDUINT32 1 [0 ... (m-1)] Platz-Index der Achse

in der Gruppe m:Gruppen-Dimension(PTP: 1;DXD: 3, FIFO:16)

}0x00000052 Write 3D-Gruppe FI-

FO-Gruppe{ UINT32[m] }

1 [0, 1...255] Achsbelegung derGruppe: 1. Achs-ID. ..., m.-Achs-IDm:Dimension der 3D-Gruppe (X, Y, Z, Q1,Q2, Q3, Q4, Q5) bzw.FIFO-Gruppe

0x00000053 Write 3D-Gruppe FIFO-Gruppe Kinematik-Gruppe

VOID Auflösen der 3D-, FI-FO- oder Kinematik-Achsbelegung undRückführung der Ach-sen in ihre persönli-chen PTP-Gruppen

0x00000054 Write Kinematik-Gruppe

{ Achsbelegung der Ki-nematik-Gruppe:

UINT32[8] 1 [0, 1...255] MCS-Achsen ID's(Machine CoordinateSystem)

UINT32[8] 1 [0, 1...255] ACS-Achsen ID's(Axis Coordinate Sys-tem)

UINT32 1 ≥ 0 ReserviertUINT32 1 ≥ 0 Reserviert (NEU)}

Anhang

TwinCAT 3 NC I 339Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000060 ReadWrite 3D-Gruppe 1 Internes "Feed Group"Kommando ("Feeder")

Internes Kom-mando!

0x00000061 ReadWrite 3D-Gruppe 1 Internes "Feed Group"Kommando ("Feeder")

Internes Kom-mando!

0x00000110 Write 1D-Gruppe VOID Referenziere 1D-Gruppe ("Eichen")

0x00000111 Write 1D-Gruppe { Neue Endposition 1D-Gruppe

UINT32 ENUM s. Anhang Endpositionstyp[} 426] (s.Anhang)

REAL64 z.B. mm ±∞ Neue Endposition(Zielposition)

}0x0000011A Write 1D-Gruppe { Setze Istposition 1D-

GruppeVorsicht beiBenutzung!Immer an SAF-Port 501!

UINT32 ENUM s. Anhang Istpositionstyp [} 426](s.Anhang)

REAL64 z.B. mm ±∞ Istposition für Achse}

0x0000011B Write 1D-Gruppe UINT32 1 0/1 Setze Referenzierflag("Eichflag")

Vorsicht beiBenutzung!

0x00000120 Write 1D-Gruppe { Start 1D-Gruppe(Standard Start):

UINT32 ENUM s. Anhang Starttyp [} 425] (s.An-hang)

REAL64 z.B. mm ±∞ Endposition (Zielpositi-on)

REAL64 mm/s ≥ 0.0 Geforderte Geschwin-digkeit

}0x00000121 Write 1D-Gruppe

(SERVO){ Start 1D-Gruppe (Er-

weiteter Start):UINT32 ENUM s. Anhang Starttyp [} 425] (s.An-

hang)REAL64 z.B.mm ±∞ Endposition (Zielpositi-

on)REAL64 mm/s ≥0.0 Geforderte Geschwin-

digkeitUINT32 1 0/1 Standard Beschleuni-

gung?REAL64 mm/s^2 ≥ 0.0 BeschleunigungUINT32 1 0/1 Standard Verzöge-

rung?REAL64 mm/s^2 ≥ 0.0 VerzögerungUINT32 1 0/1 Standard Ruck?REAL64 mm/s^3 ≥ 0.0 Ruck}

Anhang

TwinCAT 3 NC I340 Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000122 Write 1D-Grup-pe(MW-SER-VO)

{ Start 1D-Gruppe (Spe-zieller Start):

ReservierteStartfunktion,kein Standard!UINT32 ENUM s. Anhang Starttyp [} 425] (s.An-

hang)REAL64 z.B. mm ±∞ Endposition (Zielpositi-

on)REAL64 mm/s ≥0.0 Geforderte Anfangs-

geschwindigkeitREAL64 z.B. mm ±∞ Position, fuer neues

Geschwindigkeitsni-veau

REAL64 mm/s ≥0.0 Neues Endgeschwin-digkeitsniveau

UINT32 1 0/1 Standard Beschleuni-gung?

REAL64 mm/s^2 ≥0.0 BeschleunigungUINT32 1 0/1 Standard Verzöge-

rung?REAL64 mm/s^2 ≥0.0 VerzögerungUINT32 1 0/1 Standard Ruck?REAL64 mm/s^3 ≥0.0 Ruck}

0x00000126 Write 1D-Gruppe { Start Drive-Output:UINT32 ENUM s. Anhang Ausgabetyp [} 432]

(s.Anhang)REAL64 z.B. % ±∞ Geforderter Ausgabe-

wert (z.B. %)}

0x00000127 Write 1D-Gruppe VOID Stop Drive-Output0x00000128 Write 1D-Gruppe { Änderung/Wechsel

des Drive-Outputs:UINT32 ENUM s. Anhang Ausgabetyp [} 432]

(s.Anhang)REAL64 z.B. % ±∞ Geforderter Ausgabe-

wert (z.B. %)}

0x00000130 Write 1D-Gruppe(SERVO)

{ 1D-Streckenkompen-sation (SERVO):

UINT32 ENUM s. Anhang Kompensations-Typ[} 426] (s.Anhang)

REAL64 mm/s/s ≥ 0.0 Max. Beschleuni-gungserhöhung

REAL64 mm/s/s ≥ 0.0 Max. Verzögerungser-höhung

REAL64 mm/s ≥ 0.0 Max. Erhöhungsge-schwindigkeit

REAL64 mm/s ≥ 0.0 Grundgeschwindigkeitdes Prozesses

REAL64 z.B. mm ±∞ AuszugleichendeWegdifferenz

REAL64 z.B. mm ≥ 0.0 Weglänge für Kom-pensation

}0x00000131 Write 1D-Gruppe

SERVOVOID Stop Streckenkom-

pensation (SERVO)

Anhang

TwinCAT 3 NC I 341Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000140(0x00n00140)

Write Master / Slave-Kopplung: 1D-Gruppe(SER-VO)

{ Master/Slave Kopp-lung (SERVO):

Erweiterung für"Fliegende Sä-ge"!Winkel >0.0und <= 90.0Grad(Parallel-säge: 90.0Grad)

UINT32 ENUM s. Anhang Slavetyp/Kopplungs-typ [} 427] (s.Anhang)

UINT32 1 [1...255] Achs-ID der Master-achse / Gruppe

UINT32 1 [0...8] Subindex n der Mas-terachse (Default: -Wert: 0)

UINT32 1 [0...8] Subindex n der Slave-achse (Default: -Wert:0)

REAL64 1 [±1000000.0] Parameter 1:Linear:Getriebefaktor FlySawVelo: Reserve FlySaw: Abs. Syn-chronposition Master[mm]

REAL64 1 [±1000000.0] Parameter 2:Linear:Reserve FlySawVelo: Reserve FlySawPos: Abs. Syn-chronposition Slave[mm]

REAL64 1 [±1000000.0] Parameter 3:Linear:Reserve FlySawVelo: Nei-gungswinkel in[GRAD] FlySawPos: Neigungs-winkel in [GRAD]

REAL64 1 [±1000000.0] Parameter 4:Linear:Reserve FlySawVelo: Getriebe-faktor FlySawPos: Getriebe-faktor

}0x00000141 Write Master / Slave-

Entkopplung:1D-Grup-pe(SERVO)

VOID Master / Slave Ent-kopplung (SERVO)

0x00000142 Write Master / Slave-Parameter 1D-Gruppe(SER-VO)

{ Änderung der Kopp-lungsparameter (SER-VO):

REAL64 1 [±1000000.0] Parameter 1:Linear:Getriebefaktor

REAL64 1 [±1000000.0] Parameter 2: Linear:Reserve

REAL64 1 [±1000000.0] Parameter 3: Linear:Reserve

REAL64 1 [±1000000.0] Parameter 4: Linear:Reserve

}0x00000144 Write Slave-Stop 1D-

Gruppe(SER-VO)

VOID Stop der "FliegendeSäge" (SERVO)

Nur für "Flie-gende Säge"

0x00000149 Write Slave-Tabellen1D-Gruppe(SERVO)

REAL64 1 ±∞ Setzen der Slave-Ta-bellenskalierung einerSolo-Tabellenkopp-lung (SERVO)

Nur für Solo-Tabellenslave

0x00000150 Write 1D-Gruppe VOID Deaktiviere komplette1D-Gruppe/Achse (Di-sable)

0x00000151 Write 1D-Gruppe VOID Aktiviere komplette1D-Gruppe / Achse(Enable)

Anhang

TwinCAT 3 NC I342 Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000160 Write 1D-Gruppe VOID Deaktiviere Drive-Out-put der 1D-Gruppe(Disable)

0x00000161 Write 1D-Gruppe VOID Aktiviere Drive-Outputder 1D-Gruppe (Ena-ble)

0x00000362 Write Eil/Schleich-Gruppe

UINT16 1 0/1 Feststellbremse lö-sen ? 0: automatischeAnsteuerung (Default) 1: zwingend immer ge-löst !

0x00000701 Write FIFO-Gruppe VOID Start FIFO-Gruppe(FIFO-Tabelle musszuvor gefüllt wordensein)

(n*m)-FIFO

0x00000710 Write FIFO-Gruppe { REAL64[x*m]} z.B. mm ±∞ Schreiben von x FIFOEinträgen (Zeilen):(x*m)-Werte (eineoder mehrere Zei-len)n: FIFO-Länge(Zeilenanzahl)m: FI-FO-Dimension (Spal-tenanzahl)Wertebe-reich x: [1 ... n]

Nur zeilenweisemöglich! (ganz-zahliges vielfa-ches)

0x00000711 Write FIFO-Gruppe { REAL64[x*m]} z.B. mm ±∞ Überschreiben derletzten x FIFO Einträ-ge (Zeilen): (x*m)-Werte (eine oder meh-rere Zeilen)n: FIFO-Länge (Zeilenan-zahl)m: FIFO-Dimensi-on (Spaltenan-zahl)Wertebereich x:[1 ... n]

Nur zeilenweisemöglich! (ganz-zahliges vielfa-ches)

0x00000801 Write Kinematik-Gruppe

VOID Start Kinematik-Grup-pe

ReservierteFunktion, keinStandard!

Anhang

TwinCAT 3 NC I 343Version: 1.0

6.8.4 Spezifikation Achsen

6.8.4.1 "Index-Offset" Spezifikation für Achs-Parameter (Index-Group 0x4000 +ID)

Anhang

TwinCAT 3 NC I344 Version: 1.0

Index-Offset(Hex)

Zugriff Achstyp Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n00000 Read every(Struktur für alleAchsparameter)

{ Allgemeine ACHS-PA-RAMETER-STRUK-TUR (NC/CNC),beinhaltet auch dieUnterelemente wieEncoder, Regler undDrive(s. MC_ReadParame-terSet in TcMc2.lib)Anm.: Größe und Ali-gnment geändert.

Geändert abTC3

UINT32 1 Achs-IDUINT8[30+1+1] z.B. mm Achs-NameUINT32 1 Achs-Typ [} 424]. . . . . . . . . . . .} 1024 Byte (anstatt 512

Byte)0x00000001 Read every UINT32 1 Achs-ID0x00000002 Read every UINT8[30+1] 1 Achs-Name0x00000003 Read every UINT32 ENUM Achs-Typ [} 424]0x00000004 Read every UINT32 µs Zykluszeit Achse

(SAF)0x00000005 Read every UINT8[10+1] 1 Physikalische Einheit0x00000006 Read / Write every REAL64 z.B. mm/

sRef. Geschw. in No-ckenrichtung

0x00000007 Read / Write every REAL64 z.B. mm/s

Ref. Geschw. in Syn-crichtung

0x00000008 Read / Write every REAL64 z.B. mm/s

Geschwindigkeit HandSlow

0x00000009 Read / Write every REAL64 z.B. mm/s

Geschwindigkeit HandFast

0x0000000A Read / Write every REAL64 z.B. mm/s

[0.0...1.0E20] Geschwindigkeit Eil-gang

0x0000000F Read / Write every UINT16 1 0/1 Positionsbereichs-überwachung?

0x00000010 Read / Write every REAL64 z.B. mm [0.0...1.0E6] Positionsbereichsfens-ter

0x00000011 Read / Write every UINT16 1 0/1 Bewegungsüberwa-chung?

0x00000012 Read / Write every REAL64 s [0.0...600] Bewegungsüberwa-chungszeit

0x00000013 Read / Write every UINT16 1 0/1 Schleife?0x00000014 Read / Write every REAL64 z.B. mm Schleifenweg (±)0x00000015 Read / Write every UINT16 1 0/1 Zielpositionsüberwa-

chung?0x00000016 Read / Write every REAL64 z.B. mm [0.0...1.0E6] Zielpostionsfenster0x00000017 Read / Write every REAL64 s [0.0...600] Zielpositionsüberwa-

chungszeit0x00000018 Read / Write every REAL64 z.B. mm Pulsweg in pos. Rich-

tung0x00000019 Read / Write every REAL64 z.B. mm Pulsweg in neg. Rich-

tung0x0000001A Read / Write every UINT32 ENUM

(≥0)Fehlersignalisierung/Fehlerreaktion:0: sofort (Default)1: verzögert(z.B. für Master/Slave-Kopplung)

0x0000001B Read / Write every REAL64 s [0...1000] Fehlerverzögerungs-zeit(wenn verzögerte Feh-lerreaktion angewähltist)

0x0000001C Read / Write every UINT16 1 0/1 Slaves über Ist-Wertekoppeln wenn nichtbetriebsbereit?

Anhang

TwinCAT 3 NC I 345Version: 1.0

Index-Offset(Hex)

Zugriff Achstyp Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x0000001D Read / Write every REAL64 z.B. mm/s^2

[0,0.01...1.0E10]

Beschleunigung fürÜbergangsprofil für dieUmschaltung vonSOLL- auf IST-Werte(Fading der Position):Default: 0 (hier wirddas Minimum derAchsbeschleunigun-gen verwendet, alsoMIN(Acc, Dec) )

0x0000001E Read / Write every UINT32 ENUM(≥0)

Fast Axis Stop SignalType:Auswahl des Signalty-pes durch den einFast Axis Stop ausge-löst wird (s. Bit 7 imDrive->nStatus4)

"0 (SignalType_OFF)",

"1 (SignalType_Risin-gEdge)","2 (SignalTy-pe_FallingEdge)","3(SignalType_BothEd-ges)","4 (SignalTy-pe_HighActive)","5 (Si-gnalType_LowActive)"

0x00000020 Read / Write every UINT16 1 0/1 Bewegungskomman-dos für Slaveachse er-lauben?Default: FALSE

0x00000021 Read / Write every UINT16 1 0/1 Bewegungskomman-dos für Achsen mit ak-tiver externer Sollwert-generierung erlauben?Default: FALSE

0x00000026 Read / Write every UINT32 1 Interpretation der Ein-heiten (Position, Ge-schwindigkeit, Zeit) Bit0: Geschwindigkeit inx/min statt x/sBit 1: Position in tau-sendstel der Basisein-heitBit 2: Modulopositions-anzeige

siehe Encoder!Bitarray

0x00000027 Read / Write every REAL64 z.B. mm/s

[>0...1.0E20] Maximal erlaubteFahrgeschwindigkeit

0x00000028 Read / Write every REAL64 z.B. mm [0.0...1.0E6] Bewegungsüberwa-chungsfenster

0x00000029 Read / Write every UINT16 1 0/1 PEH-Zeitüberwa-chung?

Posi. Ende undGenauhalt

0x0000002A Read / Write every REAL64 s [0.0...600] PEH Überwachungs-zeit

0x0000002B Read / Write every UINT16 1 0/1 Losekompensation?0x0000002C Read / Write every REAL64 z.B. mm [-1000.0

...1000.0]

Lose

0x00000030 Read every UINT16 1 [0,1] Persistente (dauerndanhaltende) Daten fürz.B. Istposition undReferenzierstatus desEncoders?

Boot-Parame-ter, nicht onlineänderbar.

Anhang

TwinCAT 3 NC I346 Version: 1.0

Index-Offset(Hex)

Zugriff Achstyp Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000031 Read every {UINT8[6]UINT16UINT16} 10 Byte

AmsAd-dr:AmsNe-tId,

AmsPort-No.Channel-No

1 Lesen der HardwareAMS-Adresse(AMS Net ID und AMSPort No) und derEtherCAT Kanalnum-mer (Kommunikations-kanal 0,1,2,3…)

0x00000031 Read every {UINT8[6]UINT16UINT16//UINT16UINT32UINT32UINT32UINT32UINT32UINT32UINT32UINT32UINT32UINT32[4]} 64 Byte

AmsAd-dr:AmsNe-tId,

AmsPort-No.Channel-No

Reser-viert

NcDriveIDNcDrive-IndexNcDrive-TypeNcEncIDNcEnc-IndexNcEnc-TypeNcAxi-sIDNcAxis-TypeSoftDri-veObjec-tIdReser-viert

1 Lesen der HardwareAMS-Adresse(AMS Net ID und Ge-räte AMS Port No) undder EtherCAT Kanal-nummer (Kommunika-tionskanal 0,1,2,3…)

Ergänzt um Zusatzin-formationen der NCwie NcDriveID, NcDri-veType (s. Anhang),etc..

NEU ab TC3

SoftDriveObjec-tId ab NC Build4226

0x00000033 Read every {UINT16 Ap-plRequestBitUINT16 Ap-plRequestTypeUINT32 Ap-plCmdNoUINT32 Ap-plCmdVersion. . .} 1024 Byte

1

1

Nicht im-plemen-tiert

1

0/1≥0>0≥0

Allgemeine APPLICA-TION REQUEST-STRUKTUR (NC/NCI),z.B. für ApplicationHo-ming-Request(s. MC_ReadApplica-tionRequest inTcMc2.lib)

Application RequestTypes:0: NONE (IDLE)1: HOMING

Geändert inTC3

0x00000051 Read Kanal: every UINT32 Kanal-ID0x00000052 Read Kanal: every UINT8[30+1] Kanal-Name0x00000053 Read Kanal: every UINT32 Kanal-Typ [} 423]0x00000054 Read Gruppe: every UINT32 Gruppen-ID0x00000055 Read Gruppe: every UINT8[30+1] Gruppen-Name0x00000056 Read Gruppe: every UINT32 Gruppen-Typ [} 424]0x00000057 Read every UINT32 Anzahl der Encoder0x00000058 Read every UINT32 Anzahl der Regler0x00000059 Read every UINT32 Anzahl der Drives

Anhang

TwinCAT 3 NC I 347Version: 1.0

Index-Offset(Hex)

Zugriff Achstyp Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x0000005A Read every { Lesen der sämtlicherUnterelemente einerAchse:

UINT32[ 9 ] 1 [0, 1...255] Encoder ID's der Ach-se

UINT32[ 9 ] 1 [0, 1...255] Regler ID's der AchseUINT32[ 9 ] 1 [0, 1...255] Drive ID's der Achse} 108 bytes

0x000000F1 Read / Write every REAL64 z.B. mm/s^2

Default: 1.0E5 Maximal erlaubte Be-schleunigung

NEU ab TC 3.2

0x000000F2 Read / Write every REAL64 z.B. mm/s^2

Default: 1.0E6 Maximal erlaubte Ver-zögerung

NEU ab TC 3.2

0x00000101 Read / Write Servo REAL64 z.B. mm/s^2

[0.01...1.0E20] Beschleunigung(Default-Datensatz)

0x00000102 Read / Write Servo REAL64 z.B. mm/s^2

[0.01...1.0E20] Verzögerung (Default-Datensatz)

0x00000103 Read / Write Servo REAL64 z.B. mm/s^3

[0.1...1.0E30] Ruck (Default-Daten-satz)

0x00000104 Read / Write Servo REAL64 s [0.0 ... 1.0]Default: 0.0 s

Verzögerungszeit zwi-schen Geschwindig-keits- und Positions-werten des Sollwert-generators in Sekun-den

0x00000105 Read / Write Servo UINT32 ENUM Default: Typ 1 Override Typ [} 425]für Geschwindigkeit:

1: Bezogen auf internereduzierte Geschwin-digkeit (ohne Iteration)2: Bezogen auf origi-nale externe Startge-schwindigkeit (ohneIteration)3: Bezogen auf internereduzierte Geschwin-digkeit (Optimierungmittels Iteration)4: Bezogen auf origi-nale externe Startge-schwindigkeit (Opti-mierung mittels Iterati-on)

0x00000106 Read / Write Servo REAL64 1 [0.0 ... 1.0E6]Default: 0.0

Maximal erlaubter Ge-schwindig- keitssprungfür DynamikreduktionDV = Faktor *min(A+,A-) * DT

0x00000107 Read / Write Servo UINT16 1 [0,1]Default: 1

Aktiviert Beschleuni-gungs- und Ruckbe-grenzung für dieHilfsachse (Q1 bis Q5)

Read / Write Servo REAL64 z.B. mm [0.0..1000.0] Größe des Toleranz-balls für die Hilfsach-sen

Read / Write Servo REAL64 z.B. mm [0.0..10000.0] maximal erlaubte Po-sitionsabweichung beiverkleinertem Tole-ranzballNur für Hilfsachsen

0x0000010A Read / Write Servo REAL64 z.B. mm/s^2

[0.01 ... 1.0E20] Fast Axis Stop: Be-schleunigung(s.a. Fast Axis StopSignal Type)

0x0000010B Read / Write Servo REAL64 z.B. mm/s^2

[0.01 ... 1.0E20] Fast Axis Stop: Verzö-gerung(s.a. Fast Axis StopSignal Type)

Anhang

TwinCAT 3 NC I348 Version: 1.0

Index-Offset(Hex)

Zugriff Achstyp Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x0000010C Read / Write Servo REAL64 z.B. mm/s^3

[0.1 ... 1.0E30] Fast Axis Stop: Ruck(s.a. Fast Axis StopSignal Type)

0x00000201 Read / Write Schrittmotor UINT32 ENUM Betriebsmodus Schritt-motor

0x00000202 Read / Write Schrittmotor REAL64 z.B. mm/STEP

[1.0E-6 ...1000.0]

Wegskalierung einesMotorschrittes

0x00000203 Read / Write Schrittmotor REAL64 z.B. mm/s

[0.0 ... 1000.0] Mindestgeschwindig-keit für Geschwindig-keitsprofil

0x00000204 Read / Write Schrittmotor UINT32 1 [0 ... 100] Anzahl der Schrittepro Frequenz-/Ge-schwindigkeitsstufe

0x00000205 Read / Write Schrittmotor UINT32 1 Motormaske als Syn-cimpuls

Nicht imple-mentiert !

0x00000301 Read / Write Eil/Schleich REAL64 z.B. mm [0.0 ...100000.0]

Schleichweg inpos.Richtung

0x00000302 Read / Write Eil/Schleich REAL64 z.B. mm [0.0 ...100000.0]

Schleichweg in neg.Richtung

0x00000303 Read / Write Eil/Schleich REAL64 z.B. mm [0.0 ...100000.0]

Bremsweg in pos.Richtung

0x00000304 Read / Write Eil/Schleich REAL64 z.B. mm [0.0 ...100000.0]

Bremsweg in neg.Richtung

0x00000305 Read / Write Eil/Schleich REAL64 s [0.0 ... 60.0] Bremsverzög. in pos.Richtung

0x00000306 Read / Write Eil/Schleich REAL64 s [0.0 ... 60.0] Bremsverzög. in neg.Richtung

0x00000307 Read / Write Eil/Schleich REAL64 s [0.0 ... 60.0] Umschaltzeit Eil aufSchleich

0x00000308 Read / Write Eil/Schleich REAL64 z.B. mm [0.0 ...100000.0]

Schleichweg Stop

0x00000309 Read / Write Eil/Schleich REAL64 s [0.0 ... 60.0] Verzögerungszeit umBremse zu lösen

0x0000030A Read / Write Eil/Schleich REAL64 s [0.0 ... 60.0] Pulszeit in pos. Rich-tung

0x0000030B Read / Write Eil/Schleich REAL64 s [0.0 ... 60.0] Pulszeit in neg. Rich-tung

ENCODER:0x00n10001 Read Encoder: every UINT32 1 [1 ... 255] Encoder-ID n = 0:

Standardencoder derAchsen > 0: n-ter En-coder der Achse (op-tional)

0x00n10002 Read Encoder: every UINT8[30+1] 1 30 Zeichen Encoder-Name0x00n10003 Read Encoder: every UINT32 1 s. ENUM (>0) Encoder-Typ [} 429]0x00n10004 Read / Write Encoder: every UINT32 1 Byteoffset Input-Adress-Offset

(IO-Input-Image)Änderung derIO-Adresse

0x00n10005 Read / Write Encoder: every UINT32 1 Byteoffset Output-Adresse-Offset(IO-Output-Image)

Änderung derIO-Adresse

0x00n10006 Read / Write Encoder: every REAL64 z.B. mm/INC

[1.0E-12 ...1.0E+30]

Resultierender Skalie-rungsfaktor (Zähler /Nenner)

Anm.: ab TC3 be-steht der Skalierungs-faktor aus zwei Kom-ponenten, Zähler undNenner (Default: 1.0).

0x00n10007 Read / Write Encoder: every REAL64 z.B. mm [±1.0E+9] Positionsoffset0x00n10008 Read / Write Encoder: every UINT16 1 [0,1] Geberzählrichtung0x00n10009 Read / Write Encoder: every REAL64 z.B. mm [0.001 ... 1.0E

+9]Modulo-Faktor

Anhang

TwinCAT 3 NC I 349Version: 1.0

Index-Offset(Hex)

Zugriff Achstyp Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n1000A Read / Write Encoder: every UINT32 1 s. ENUM (>0) Encoder-Modus[} 430]

0x00n1000B Read / Write Encoder: every UINT16 1 0/1 Softend-Min-Überwa-chung ?

0x00n1000C Read / Write Encoder: every UINT16 1 0/1 Softend-Max-Überwa-chung ?

0x00n1000D Read / Write Encoder: every REAL64 mm Softendlage Min0x00n1000E Read / Write Encoder: every REAL64 mm Softendlage Max0x00n1000F Read / Write Encoder: every UINT32 1 s. ENUM (≥0)

im AnhangEncoder Auswerterich-tung [} 430] (Freigabelog. Zählrichtung)

0x00n10010 Read / Write Encoder: every REAL64 s [0.0...60.0] Filterzeit für Positions-istwert in Sekunden(P-T1)

0x00n10011 Read / Write Encoder: every REAL64 s [0.0...60.0] Filterzeit für Ge-schwindigkeitsistwertin Sekunden (P-T1)

0x00n10012 Read / Write Encoder: every REAL64 s [0.0...60.0] Filterzeit für Beschleu-nigungsistwert in Se-kunden (P-T1)

0x00n10013 Read / Write Encoder: every UINT8[10+1] 1 Physikalische Einheit Nicht imple-mentiert !

0x00n10014 Read / Write Encoder: every UINT32 1 Interpretation der Ein-heiten (Position, Ge-schwindigkeit, Zeit)Bit0: Geschwindigkeit inx/min statt x/sBit 1:Position in tausendstelder Basiseinheit

Nicht imple-mentiert !Bitarray

0x00n10015 Read Encoder: every UINT32 INC [0x0...0xFFFFFFFF]

Geber-Maske (Maxi-malwert des Geber-Istwertes in Inkremen-ten)

Anm.: Die Geber-Maske darf ein beliebi-ger Zahlenwert sein(z.B. 3600000) undmuss nicht mehr wiein der Vergangenheiteiner durchgehendeFolge von binären Ein-sen entsprechen(2n-1).

ReadOnly-Pa-rameter

s.a. Param."Geber-Sub-Maske"

0x00n10016 Read / Write Encoder: every UINT16 1 0/1 Istpositionskorrektur(Meßsystemfehlerkor-rektur)?

0x00n10017 Read / Write Encoder: every REAL64 s [0.0...60.0] Filterzeit für Istpositi-onskorrektur in Sekun-den (P-T1)

0x00n10019 Read / Write Encoder: every UINT32 1 s. ENUM (≥0)im Anhang

Encoder Bezugsmaß-system [} 430]

0x00n1001A Read Encoder: every UINT32 1 s. ENUM (≥0) Encoder Positionsini-tialisierung

Nicht imple-mentiert !

0x00n1001B Read / Write Encoder: every REAL64 z.B. mm [≥0, Modulo-Faktor/2]

Toleranzfenster fürModulo-Start

0x00n1001C Read Encoder: every UINT32 1 s. ENUM (≥0) Encoder Vorzeichen-Interpretation [} 430](Datentyp)

0x00n1001D Read Encoder: every UINT16 1 0/1 Inkremental- oder Ab-solut-Encoder ?0: Inkrementaler Enco-der-Typ1: Absoluter Encoder-Typ

Anhang

TwinCAT 3 NC I350 Version: 1.0

Index-Offset(Hex)

Zugriff Achstyp Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n10023 Read / Write Encoder: every REAL64 z.B. mm/INC

[1.0E-12 ...1.0E+30]

Komponente des Ska-lierungsfaktors: Zähler(=> SkalierungsfaktorZähler / Skalierungs-faktor Nenner)

NEU ab TC3

0x00n10024 Read / Write Encoder: every REAL64 1 [1.0E-12 ...1.0E+30]

Komponente des Ska-lierungsfaktors: Nen-ner(=> SkalierungsfaktorZähler / Skalierungs-faktor Nenner)Default: 1.0

NEU ab TC3

0x00n10025 Read / Write Encoder: every {REAL64REAL64}

z.B. mm/INC1

[1.0E-12 ...1.0E+30][1.0E-12 ...1.0E+30]

Komponente des Ska-lierungsfaktors: ZählerKomponente des Ska-lierungsfaktors: Nen-ner(=> SkalierungsfaktorZähler / Skalierungs-faktor Nenner)

NEU ab TC3

0x00n10030 Read / Write Encoder: every UINT32 1 Internes Encoder Con-trol Doppelwort zurFestlegung der Be-triebsarten und Eigen-schaften

NEU ab TC3

0x00n10101 Read / Write E: INC UINT16 1 [0,1] Suchrichtung fürRef.nocken invers?

0x00n10102 Read / Write E: INC UINT16 1 [0,1] Suchrichtung für Syn-cimpuls invers?

0x00n10103 Read / Write E: INC REAL64 z.B. mm [±1000000.0] Referenzposition0x00n10104 Read / Write E: INC UINT16 1 [0,1] Abstandsüberwa-

chung zwischenRef.nocken und Syn-cimpuls aktiv?

Nicht imple-mentiert !

0x00n10105 Read / Write E: INC UINT32 INC [0 ... 65536] MindestabstandRef.nocken zum Syn-cimpuls in Inkremen-ten

Nicht imple-mentiert !

0x00n10106 Read / Write E: INC UINT16 1 [0,1] Externer Syncimpuls?0x00n10107 Read / Write E: INC UINT32 1 s. ENUM (>0)

im AnhangReferenzier Modus[} 431]

Anhang

TwinCAT 3 NC I 351Version: 1.0

Index-Offset(Hex)

Zugriff Achstyp Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n10108 Read / Write E: INC UINT32 1 [0x0000000F...0xFFFFFFFF]Bi-närmaske: (2n -1)

Geber-Sub-Maske(Maximalwert des Ab-solutbereichs des Ge-ber-Istwertes in Inkre-menten)Wird z.B. verwendetals Referenzmarke fürden Referenzier Mode"Software Sync" undfür die NC Retain Da-ten("ABSOLUTE (MO-DULO)", "INCREMEN-TAL (SINGLETURNABSOLUTE)" ).

Anm.1: Die Geber-Sub-Maske muss klei-ner gleich der Geber-Maske sein.Anm.2: Die Geber-Maske muss ein ganz-zahliges Vielfachesder Geber-Sub-Maskesein.Anm.3: Die Geber-Sub-Maske muss ei-ner durchgehendenFolge von binären Ein-sen entsprechen(2n-1), z.B.0x000FFFFF.

s.a. Param."Geber-Maske"

0x00n10110 Read / Write E: INC (Enco-der-Simulation)

REAL64 1 [0.0 ...1000000.0]

Skalierung/Gewich-tung des Rauschan-teils fuer Simulations-encoder

CONTROL-LER:0x00n20001 Read Regler: every UINT32 1 [1 ... 255] Regler ID n = 0: Stan-

dardregler der Achsen> 0: n-ter Regler derAchse (optional)

0x00n20002 Read Regler: every UINT8[30+1] 1 30 Zeichen Regler-Name0x00n20003 Read Regler: every UINT32 1 s. ENUM (>0) Regler-Typ [} 428]0x00n2000A Read / Write Regler: every 1 s. ENUM (>0) Regler-Modus0x00n2000B Read / Write Regler: every REAL64 % [0.0 ... 1.0] Gewichtung der Ge-

schwindigkeitsvor-steuerung (Standard-wert: 1.0 = 100 %)

0x00n20010 Read / Write Regler: every UINT16 1 0/1 Schleppabstand-überw. Pos.?

0x00n20011 Read / Write Regler: every UINT16 1 0/1 Schleppabstand-überw. Geschw.?

0x00n20012 Read / Write Regler: every REAL64 z.B. mm Max. SchleppabstandPosition

0x00n20013 Read / Write Regler: every REAL64 s Max. SchleppfilterzeitPosition

0x00n20014 Read / Write Regler: every REAL64 z.B. mm/s

Max. SchleppabstandGeschw.

0x00n20015 Read / Write Regler: every REAL64 s Max. SchleppfilterzeitGeschw.

0x00n20100 Read / Write P/PID (Pos.,(Geschw.)

REAL64 1 [0.0...1.0] Maximale Ausgabebe-grenzung (±) für Reg-ler-Gesamtausgabe

(Standardwert:0.5 == 50%)

Anhang

TwinCAT 3 NC I352 Version: 1.0

Index-Offset(Hex)

Zugriff Achstyp Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n20102 Read / Write P/PID (Pos.) REAL64 z.B. mm/s/ mm

[0.0...1000.0] Proportionalverstär-kung kp bzw. kv Einheit: Base Unit / s /Base Unit

Positionsrege-lung

0x00n20103 Read / Write PID (Pos.) REAL64 s [0.0 ... 60.0] Nachstellzeit Tn Positionsrege-lung

0x00n20104 Read / Write PID (Pos.) REAL64 s [0.0 ... 60.0] Vorhaltzeit Tv Positionsrege-lung

0x00n20105 Read / Write PID (Pos.) REAL64 s [0.0 ... 60.0] Verzögerungszeit Td Positionsrege-lung

0x00n20106 Read / Write PP (Pos.) REAL64 z.B. mm/s/ mm

[0.0...1000.0] Zusätzliche Proportio-nalverstärkung kpbzw. kv, die oberhalbeiner Genzgeschwin-digkeit in Prozent gilt.Einheit: Base Unit / s /Base Unit

Positionsrege-lung

0x00n20107 Read / Write PP (Pos.) REAL64 % [0.0...1.0] Schwellgeschwindig-keit in Prozent, ober-halb derer die zusätzli-che Proportionalver-stärkung kp bzw. kvgilt

0x00n20108 Read / Write P/PID (Acc.) REAL64 s [0.0 ... 100.0] Proportionalverstär-kung ka

Beschleuni-gungs- vor-steuerung

0x00n2010D Read / Write P/PID REAL64 mm [0.0 ... 10000.0] Totzone ("dead band")für Positionsfehler(Regelabweichung)(für P/PID-Regler mitGeschwindigkeits-oder Momenteninter-face)

ReservierteFunktion

0x00n2010F Read / Write P/PP/PID(Pos.)Slave-Regelung

REAL64 (mm/s) /mm

[0.0...1000.0] Slave-Koppeldifferenz-regelung:Proportionalverstär-kung kcp

Slave-Koppel-differenzrege-lung

0x00n20110 Read / Write P (Pos.) UINT16 1 0/1 Automatischer Offset-abgleich: aktiv/passiv

0x00n20111 Read / Write P (Pos.) UINT16 1 0/1 Automatischer Offset-abgleich: Halte-Modus

0x00n20112 Read / Write P (Pos.) UINT16 1 0/1 Automatischer Offset-abgleich: Fading-Mo-dus

0x00n20114 Read / Write P (Pos.) REAL64 % [0.0 ... 1.0] Automatischer Offset-abgleich: Vorsteuer-Grenze

0x00n20115 Read / Write P (Pos.) REAL64 s [0.1 ... 60.0] Automatischer Offset-abgleich: Zeitkonstan-te

0x00n20116 Read / Write PID (Pos.) REAL64 % [0.0...1.0] Maximale Ausgabebe-schränkung (±) für I-Anteil in Prozent(Defaulteinstellung:0.1 = 10 %)

0x00n20117 Read / Write PID (Pos.) REAL64 % [0.0...1.0] Maximale Ausgabebe-schränkung (±) für D-Anteil in Prozent(Defaulteinstellung:0.1 = 10 %)

0x00n20118 Read / Write PID (Pos.) UINT16 1 0/1 Abschalten des I-An-teils während einesaktiven Positioniervor-ganges (sofern I-Anteilaktiv)? (Defaulteinstel-lung: 0 = FALSE)

0x00n20120 Read / Write P/PID (Pos.) REAL64 s ≥0 PT-1 Filterwert für Po-sitionsfehler (Pos.-Re-geldifferenz)

ReservierteFunktion,kein Standard!

Anhang

TwinCAT 3 NC I 353Version: 1.0

Index-Offset(Hex)

Zugriff Achstyp Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n20202 Read / Write P/PID (Ge-schw.)

REAL64 1 [0.0...1000.0] Proportionalverstär-kung kp bzw. kv

Geschwindig-keits-regelung

0x00n20203 Read / Write PID (Geschw.) REAL64 s [0.0 ... 60.0] Nachstellzeit Tn Geschwindig-keits-regelung

0x00n20204 Read / Write PID (Geschw.) REAL64 s [0.0 ... 60.0] Vorhaltzeit Tv Geschwindig-keits-regelung

0x00n20205 Read / Write PID (Geschw.) REAL64 s [0.0 ... 60.0] Verzögerungszeit Td Geschwindig-keits-regelung

0x00n20206 Read / Write PID (Geschw.) REAL64 % [0.0...1.0] Maximale Ausgabebe-schränkung (±) fuer I-Anteil in Prozent(Defaulteinstellung:0.1 = 10 %)

Geschwindig-keits-regelung

0x00n20207 Read / Write PID (Geschw.) REAL64 % [0.0...1.0] Maximale Ausgabebe-schränkung (±) fuer D-Anteil in Prozent(Defaulteinstellung:0.1 = 10 %)

Geschwindig-keits-regelung

0x00n2020D Read / Write P/PID (Ge-schw.)

REAL64 mm/s [0.0 ... 10000.0] Totzone ("dead band")für Geschwindigkeits-fehler (Regelabwei-chung)(für P/PID-Regler mitGeschwindigkeits-oder Momenteninter-face)

ReservierteFunktion

0x00n20220 Read / Write P/PID (Ge-schw.)

REAL64 s ≥0 PT-2 Filterwert für Ge-schwindigkeitsfehler(Geschw.-Regeldiffe-renz)

Geschwindig-keits-regelung, keinStandard!

0x00n20221 Read / Write P/PID (Ge-schw.)

REAL64 s ≥0 PT-1 Filterwert für Ge-schwindigkeitsfehler(Geschw.-Regeldiffe-renz)

ReservierteFunktion,kein Standard!

0x00n20250 Read / Write P/PI (Beobach-ter)

UINT32 1 s. ENUM (≥0) Beobachter-Modus[} 428] für Regelungim Momenten-Inter-face 0: OFF (default)1: LUENBERGER

0x00n20251 Read / Write P/PI (Beobach-ter)

REAL64 Nm / A >0.0 Motor:DrehmomentkonstanteKT

0x00n20252 Read / Write P/PI (Beobach-ter)

REAL64 kg m2 >0.0 Motor:Trägheitsmoment JM

0x00n20253 Read / Write P/PI (Beobach-ter)

REAL64 Hz [100.0 ...2000.0] Default:500

Bandbreite f0

0x00n20254 Read / Write P/PI (Beobach-ter)

REAL64 1 [0.0 ... 2.0]Default: 1.0

Korrekturfaktor kc

0x00n20255 Read / Write P/PI (Beobach-ter)

REAL64 s [0.0 ... 0.01]Default: 0.001

Geschwindkeits-Filter(1. Ordnung):Zeitkonstante T

0x00n20A03 Read / Write P/PID (MW) REAL64 cm^2 [0.0 ...1000000]

Zylinderfläche AA derA-Seite in cm^2

Reservierte Pa-rameter !

0x00n20A04 Read / Write P/PID (MW) REAL64 cm^2 [0.0 ...1000000]

Zylinderfläche AB derB-Seite in cm^2

Reservierte Pa-rameter !

0x00n20A05 Read / Write P/PID (MW) REAL64 cm^3/s [0.0 ...1000000]

NennvolumenstromQnenn in cm^3/s

Reservierte Pa-rameter !

0x00n20A06 Read / Write P/PID (MW) REAL64 bar [0.0 ...1000000]

Nenndruck bzw. Ven-tildruckabfall Pnenn inbar

Reservierte Pa-rameter !

Anhang

TwinCAT 3 NC I354 Version: 1.0

Index-Offset(Hex)

Zugriff Achstyp Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n20A07 Read / Write P/PID (MW) UINT32 1 [1 ... 255] Achs-ID für den Sys-temdruck Po

Reservierte Pa-rameter !

DRIVE:0x00n30001 Read Drive: every UINT32 1 [1 ... 255] Drive ID0x00n30002 Read Drive: every UINT8[30+1] 1 30 Zeichen Drive-Name0x00n30003 Read Drive: every UINT32 1 s. ENUM (>0) Drive-Typ [} 432]0x00n30004 Read / Write Drive: every UINT32 1 Byteoffset Input-Adress-Offset

(IO-Input-Image)Änderung derIO-Adresse

0x00n30005 Read / Write Drive: every UINT32 1 Byteoffset Output-Adresse-Offset(IO-Output-Image)

Änderung derIO-Adresse

0x00n30006 Read / Write Drive: every UINT16 1 [0,1] Motorpolarität0x00n3000A Read / Write Drive: every UINT32 1 s. ENUM (>0) Drive-Modus0x00n3000B Read / Write Drive: every REAL64 % [-1.0 ... 1.0] Minimale Ausgabe-

schranke (Ausgabeli-mitierung) (Defaultein-stellung: -1.0 = -100%)

0x00n3000C Read / Write Drive: every REAL64 % [-1.0 ... 1.0] Maximale Ausgabe-schranke (Ausgabeli-mitierung) (Defaultein-stellung: 1.0 = 100%)

0x00n3000D Read Drive: every UINT32 INC Maximale Anzahl vonAusgabeinkrementen(Ausgabemaske)

0x00n30010 Read / Write Drive: every UINT32 1 Internes Drive ControlDoppelwort zur Festle-gung der Antriebs-Be-triebsarten

Reserviert !

0x00n30011 Read / Write every UINT32 1 ≥ 5 Interner Drive ResetZähler(Zeit in NC-Zyklen fürEnable und Reset)

Reserviert !

0x00n30101 Read / Write D: Servo REAL64 z.B. mm/s

>0.0 Bezugsgeschwindig-keit bei Bezugs- bzw.Referenzoutput (Ge-schwindigkeitsvor-steuerung)

0x00n30102 Read / Write D: Servo REAL64 % [0.0 ... 5.0] Bezugs- bzw. Refe-renzoutput in Prozent(Defaulteinstellung:1.0 = 100%)

0x00n30103 Read D: Servo REAL64 z.B. mm/s

>0.0 Resultierende Ge-schwindigkeit bei100% Output

0x00n30104 Read / Write D: Servo REAL64 z.B. mm/s

±∞ Geschwindigkeitsoff-set (DAC-Offset) fürDriftabgleich (Offset-abgleich) der Achse

0x00n30105 Read / Write D: Servo (Ser-cos, Profi Drive,AX200x, CANo-pen)

REAL64 1 [0.0 ...100000000.0]

Geschwindigkeitsska-lierung (Skalierungs-faktor um auf Wich-tung im Antrieb zu rea-gieren)

Für Sercos,Profi Drive,AX200x, CANo-pen

0x00n30106 Read / Write D: Profi DriveDSC

UINT32 0.001 *1/s

≥ 0 Profibus/Profi DriveDSC: Lageregelver-stärung Kpc

Nur für ProfiDrive DSC

0x00n30107 Read / Write D: Profi DriveDSC

REAL64 1 ≥ 0.0 Profibus/Profi DriveDSC: Skalierung fürBerechnung von'XERR' (Default: 1.0)

Nur für ProfiDrive DSC

0x00n30109 Read / Write D: Servo (Ser-cos, CANopen)

REAL64 1 [0.0 ...100000000.0]

Positionsskalierung(Skalierungsfaktor umauf Wichtung im An-trieb zu reagieren)

Für Sercos,CANopen

Anhang

TwinCAT 3 NC I 355Version: 1.0

Index-Offset(Hex)

Zugriff Achstyp Datentyp Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n3010A Read / Write D: Servo (Ser-cos, Profi Drive,AX200x, CANo-pen)

REAL64 1 [0.0 ...100000000.0]

Beschleunigungsska-lierung (Skalierungs-faktor um auf Wich-tung im Antrieb zu rea-gieren)

Für Sercos,Profi Drive,AX200x, CANo-pen

0x00n30120 Read / Write D: Servo/ Hy-draulik/

UINT32 1 ≥ 0 Tabellen-ID(0: keine Tabelle)

Nur für KL4xxx,M2400, Univer-sal

0x00n30121 Read / Write D: Servo/ Hy-draulik

UINT32 1 ≥ 0 Interpolation-Type 0:Linear2: Spline

Nur für KL4xxx,M2400, Univer-sal

0x00n30122 Read / Write Servo/ Hydrau-lik

REAL64 % [-1.0 ... 1.0] Ausgabeoffset in Pro-zent Anmerkung:Wirkt nach der Kennli-nienauswertung !

Nur für KL4xxx,M2400, Univer-sal

0x00n30151 Read / Write D: Servo /Nichtlinear

REAL64 1 [0.0 ... 100.0] Quadrantenaus-gleichsfaktor (Verhält-nis zwischen I und IIIQuadr.)

0x00n30152 Read / Write D: Servo /Nichtlinear

REAL64 1 [0.01 ... 1.0] Geschwindigkeits-Stützstelle in Prozent(1.0 = 100 %)

0x00n30153 Read / Write D: Servo /Nichtlinear

REAL64 1 [0.01 ... 1.0] Ausgabe-Stützstelle inProzent (1.0 = 100 %)

0x00030301 Read / Write D: Schrittmotor UINT8 1 Bit-Maske: Zyklus 10x00030302 Read / Write D: Schrittmotor UINT8 1 Bit-Maske: Zyklus 20x00030303 Read / Write D: Schrittmotor UINT8 1 Bit-Maske: Zyklus 30x00030304 Read / Write D: Schrittmotor UINT8 1 Bit-Maske: Zyklus 40x00030305 Read / Write D: Schrittmotor UINT8 1 Bit-Maske: Zyklus 50x00030306 Read / Write D: Schrittmotor UINT8 1 Bit-Maske: Zyklus 60x00030307 Read / Write D: Schrittmotor UINT8 1 Bit-Maske: Zyklus 70x00030308 Read / Write D: Schrittmotor UINT8 1 Bit-Maske: Zyklus 80x00030310 Read / Write D: Schrittmotor UINT8 1 Bit-Maske: Haltestrom

Anhang

TwinCAT 3 NC I356 Version: 1.0

6.8.4.2 "Index-Offset" Spezifikation für Achsen-Zustand (Index-Group 0x4100 +ID)

Anhang

TwinCAT 3 NC I 357Version: 1.0

Index-Offset(Hex)

Zugriff Achsen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n00000 Read every (OnlineStruktur fürAchsdaten)

{ ACHS-ONLINE-STRUKTUR (NC/CNC)

Geändert abTC3 Nicht oszil-loskopierbar!(NCAXIS-STATE_ ONLI-NESTRUCT)

INT32 1 FehlerstatusINT32 ReserviertREAL64 z.B. mm IstpositionREAL64 z.B.

GradModulo-Istposition

REAL64 z.B. mm SollpositionREAL64 z.B.

GradModulo-Sollposition

REAL64 z.B. mm/s

Optional: Istgeschwin-digkeit

REAL64 z.B. mm/s

Sollgeschwindigkeit

UINT32 % 0...1000000 Geschwindigkeitsover-ride (1000000 ==100%)

UINT32 ReserviertREAL64 z.B. mm Schleppabstand Posi-

tionREAL64 z.B. mm PeakHold-Wert für

max. neg. Schlepp-abst. (Pos.)

REAL64 z.B. mm PeakHold-Wert fürmax. pos. Schlepp-abst. (Pos.)

REAL64 % Reglerausgabe in Pro-zent

REAL64 % Gesamtausgabe inProzent

UINT32 1 ≥ 0 Achs-Status-Doppel-wort

UINT32 1 ≥ 0 Achs-Steuer-Doppel-wort

UINT32 1 ≥ 0 Slave Koppelstatus(Zustand)

UINT32 1 0; 1,2,3... Achs Regelkreis IndexREAL64 z.B. mm/

s^2Ist-Beschleunigung

REAL64 z.B. mm/s^2

Soll-Beschleunigung

REAL64 z.B. mm/s^3

Soll-Ruck (neu abTC3.1 B4013)

REAL64 z.B.100% =1000

Soll-Moment bzw.Soll-Kraft (reserviert,nicht implementiert)

REAL64 z.B.100% =1000

Ist-Moment bzw. Ist-Kraft (neu ab TC3.1B4013)

} 256 Byte0x00000001 Read every UINT32 1 Fehlercode Achs-Sta-

tus [} 270]SymbolischerZugriff: 'Err-State''

0x00n00009 Read every UINT32 1 ≥ 0 Soll-Zykluszähler (SAF-Timestamp)

0x00n0000A Read every REAL64 z.B. mm Sollposition SymbolischerZugriff: 'Set-Pos''

0x00n0000B Read every REAL64 z.B.GRAD

Modulo-Sollposition SymbolischerZugriff: 'SetPos-Modulo''

0x00n0000C Read every INT32 1 Modulo-Sollumdre-hung

Anhang

TwinCAT 3 NC I358 Version: 1.0

Index-Offset(Hex)

Zugriff Achsen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n0000D Read every REAL64 1 [-1.0, 0.0, 1.0] Sollfahrrichtung0x00n0000E Read every REAL64 z.B. mm/

sSollgeschwindigkeit Symbolischer

Zugriff: 'SetVe-lo''

0x00n0000F Read every REAL64 z.B. mm/s^2

Sollbeschleunigung SymbolischerZugriff: 'SetAcc''

0x00n00010 Read every REAL64 z.B. mm/s^3

Soll-Ruck (zeitlicheAbleitung der Soll-Be-schleunigung)

0x00n00011 Read every REAL64 z.B. Nmbzw. N, z.B.100%=1000

Soll-Moment (rot. Mo-tor)bzw. Soll-Kraft (Linearmo-tor)

reserviert, nichtimplementiert

0x00n00012 Read every REAL64 1 Soll-Koppelfaktor(Soll-Getriebeverhält-nis)

0x00n00013 Read every REAL64 z.B. mm Voraussichtliche Ziel-position (Target Positi-on)

0x00n00014 Read Servo { Verbleibende Fahrzeitund Restweg (SER-VO):

Immer an SAF-Port 501!

REAL64 s ≥ 0 Verbleibende FahrzeitREAL64 z.B. mm ≥ 0 Verbleibender Rest-

weg}

0x00n00015 Read every UINT32 1 ≥ 0 Soll-Kommandonum-mer

0x00n00016 Read Servo REAL64 s ≥ 0 Positionierzeit desletzten Fahrauftrags (Start → Zielpositions-fenster)

0x00n00017 Read Servo REAL64 % [0.0…1.0]

1.0=100%

Soll-Overridewert fürGeschwindigkeit

Anm.: vorerst nur fürFIFO-Gruppe imple-mentiert

NEU ab TC3.1B4020

0x00000018 ReadWrite Servo Write Lesen der "Stopp In-formationen" (Stopp-Weg, Stopp-Zeit)

Nur Port 500 !

REAL64 z.B. mm/s^2

≥ 0 Verzögerung für Achs-Stopp

REAL64 z.B. mm/s^3

≥ 0 Ruck für Achs-Stopp

ReadREAL64 z.B. mm ≥ 0 Stopp-WegREAL64 s ≥ 0 Stopp-Zeit

0x00n0001A Read every REAL64 z.B. mm Unkorrigierte Sollposition

0x00n0001D Read every REAL64 1 [-1.0, 0.0, 1.0] Unkorrigierte Sollfahrrichtung

0x00n0001E Read every REAL64 z.B. mm/s

Unkorrigierte Sollgeschwindigkeit

0x00n0001F Read every REAL64 z.B. mm/s^2

Unkorrigierte Sollbeschleunigung

0x00000020 Read every UINT32 1 s. ENUM Koppelstatus (Zu-stand)

0x00000021 Read every UINT32 1 ≥ 0 Koppeltabellen-Index

Anhang

TwinCAT 3 NC I 359Version: 1.0

Index-Offset(Hex)

Zugriff Achsen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000022 Read Servo Master /Slave- Kopp-lungTyp: LINE-AR, (&SPECI-AL)

{ Lesen der Kopplungs-parameter (SERVO):

REAL64 1 [±1000000.0] Parameter 1: Linear:Getriebefaktor

REAL64 1 [±1000000.0] Parameter 2: Linear:Reserve

REAL64 1 [±1000000.0] Parameter 3: Linear:Reserve

REAL64 1 [±1000000.0] Parameter 4: Linear:Reserve

}0x00000023 Read Servo Master /

Slave- Kopp-lung Typ: LINE-AR, (&SPECI-AL)

REAL64 1 [±1000000.0] Lesen des Getriebe-faktors (SERVO) Typ:LINEAR,

0x00000024 Read Servo UINT32 1 ≥ 0 Nummer / Index desaktiven Achsregelkrei-ses (Trippel aus Enco-der, Regler und Ach-sinterfaces)

0x00000025 Read Servo UINT16 1 0/1 Externe Sollwertvorga-be über AchsinterfacePLCtoNC aktiv ?

0x00000026 Read Servo Master /Slave- Kopp-lungTyp: SYN-CHRONIZING

REAL64 [64] 1 ±∞ Lesen der charakteris-tischen Kennwerte desSlave Aufsynchroni-sierungsprofilsTyp:SYNCHRONIZING

Geändert abTC3

0x00000027 ReadWrite Servo Master /Slave- Kopp-lung Typ: TA-BULAR, MF

Write Lesen der "TabellenKopplungs Informatio-nen"

Nur Port 500 !

Geändert abTC3

VOID

oder

REAL64

oder

DWORD,DWORD,REAL64

z.B. mm ±∞- Keine Daten für die"aktuelle Information", - Optional für eine be-stimmte "MasterAchspostion"- Für eine bestimmteTabellen-ID und optio-nale „Master Achspo-sition“ (TC 3.1 B4017)

ReadREAL64 [32] ±∞ Lesen der Struktur für

die Tabellen Kopp-lungs Informationen[} 434]

0x00000028 ReadWrite Servo Master /Slave- Kopp-lung Typ: MUL-TICAM (Cam-Addition)

Write Lesen der "Multi-Ta-bellen Kopplungs In-formationen" (Cam-Addition)

Nur Port 500 !

UINT32 1 ≥ 0 Tabellen-ID auf diesich die Anfrage be-zieht

Read96 Byte Lesen der Struktur für

die Multi-TabellenKopplungs Informatio-nen [} 434]

0x00000029 Read Servo UINT32 1 verzögerter Fehlerco-de (Fehlervorwarnung)im Falle einer verzö-gerten Fehlerreaktion(s. Bit ErrorPropaga-tionDelayed)

0x0000002A Read Servo REAL64 z.B. mm ±∞ Positionsdifferenzbeim Überblenden vonSollpositionen auf Ist-positionen (Fading An-teil)

Anhang

TwinCAT 3 NC I360 Version: 1.0

Index-Offset(Hex)

Zugriff Achsen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x0000002B Read Servo REAL64 z.B. mm/s

±∞ Relative Geschwindig-keit beim Überblendenvon Sollpositionen aufIstpositionen (FadingAnteil)

0x0000002C Read Servo REAL64 z.B. mm/s ^2

±∞ Relative Beschleuni-gung beim Überblen-den von Sollpositionenauf Istpositionen (Fa-ding Anteil)

0x0000002D Read Servo UINT32 1 ≥ 0 Zähler für Initialisie-rungs-Kommando(InitializeCom-mandCounter)

NEU

0x0000002E Read Servo UINT32 1 ≥ 0 Zähler für Reset-Kom-mando(ResetCom-mandCounter)

NEU

0x00000050 Read every UINT32 1 SollFahrphase (SW-Generator)

Nicht oszillo-skopierbar!

0x00000051 Read every UINT16 1 Ist Achse deaktiviert ? Nicht oszillo-skopierbar!

0x00n00060 Read / Write every (OnlineSollwert - Struk-tur)

{ ACHS-SOLLWERT-STRUKTUR (NC/CNC)

Nicht oszillo-skopierbar!

REAL64 z.B. mm SollpositionREAL64 z.B. mm/

sSollgeschwindigkeit

REAL64 z.B. mm/s^2

Sollbeschleunigung /Sollverzögerung

REAL64 1 [-1.0, 0.0, 1.0] SollfahrtrichtungREAL64 z.B. mm/

s^3Sollruck

REAL64 Nm bzw.N

Soll-Moment bzw.Soll-Kraft

}0x00n00061 Read / Write every (Online

Dynamik Soll-wert-Struktur)

{ ACHS-DYNAMIK-SOLLWERT STRUK-TUR (NC/CNC)

REAL64 z.B. mm/s

Sollgeschwindigkeit

REAL64 z.B. mm/s^2

Sollbeschleunigung /Sollverzögerung

REAL64 1 [-1.0, 0.0, 1.0] SollfahrtrichtungREAL64 z.B. mm/

s^3Sollruck

REAL64 Nm bzw.N

Soll-Moment bzw.Soll-Kraft

}

0x00n10002 Read every (Encoder) REAL64 z.B. mm Istposition (verrechnetmit Istpositionskorrek-turwert) n = 0: Stan-dardencoder der Ach-sen > 0: n-ter Encoderder Achse (optional)

SymbolischerZugriff: 'ActPos''

0x00n10003 Read every (Encoder) REAL64 z.B.GRAD

Modulo-Istposition SymbolischerZugriff: 'ActPos-Modulo'

0x00n10004 Read every (Encoder) INT32 1 Modulo-Istumdrehung0x00n10005 Read every (Encoder) REAL64 z.B. mm/

sOptional: Istgeschwin-digkeit

SymbolischerZugriff: 'ActVe-lo''

0x00n10006 Read every (Encoder) REAL64 z.B. mm/s^2

Optional: Istbeschleu-nigung

SymbolischerZugriff: 'ActAcc''

Anhang

TwinCAT 3 NC I 361Version: 1.0

Index-Offset(Hex)

Zugriff Achsen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n10007 Read every (Encoder) INT32 INC Geber-Istinkremente0x00n10008 Read every (Encoder) INT64 INC Software - Istinkre-

mentalzähler0x00n10009 Read every (Encoder) UINT16 1 0/1 Referenzierflag ("Eich-

flag")0x00n1000A Read every (Encoder) REAL64 z.B. mm Istpositionskorrektur-

wert (Meßsystemfeh-lerkorrektur)

0x00n1000B Read every (Encoder) REAL64 z.B. mm Istposition ohne Istpo-sitionskorrekturwert

Nicht oszillo-skopierbar!

0x00n10010 Read every (Encoder) REAL64 z.B. mm/s

Istgeschwindigkeitoh-ne Istpositionskorrek-turwert

0x00n10012 Read every (Encoder) REAL64 z.B. mm Ungefilterte Istposition(verrechnet mit Istpo-sitionskorrekturwert)

0x00n10014 Read Encoder: SoE,CoE, MDP 742

REAL64 z.B. mm/s

Optional: Antriebs-Ist-geschwindigkeit (direktvom SoE, CoE oderMDP 742 Drive über-tragen)

NEU ab TC3.1B4020.30

0x00n10015 Read every (Encoder) REAL64 z.B. mm/s

Optional: UngefilterteIstgeschwindigkeit

0x00n10101 Read INC (Encoder) REAL64 z.B. mm Rücklesen der Positi-onsdifferenz zwischenAktivieren und Gültigwerden des internenHardwarelatches

Nicht oszillo-skopierbar!

0x00n20001 Read R: every INT32 1 Fehlerstatus des Reg-lers n = 0: Standard-regler der Achsen > 0:n-ter Regler der Achse(optional)

0x00n20002 Read R: every REAL64 z.B. mm/s

Reglerausgabe in ab-soluten Einheiten

SymbolischerZugriff: 'CtrlOut-put''

0x00n20003 Read R: every REAL64 % Reglerausgabe in Pro-zent

Nicht oszillo-skopierbar!

0x00n20004 Read R: every REAL64 V Reglerausgabe in Volt Nicht oszillo-skopierbar!

0x00n2000D Read R: every REAL64 z.B. mm Schleppabstand Posi-tion (ohne Totzeitkom-pensation)

Base Unit

0x00n2000F Read R: every REAL64 z.B. mm Schleppabstand Posi-tion (mit Totzeitkom-pensation)

SymbolischerZugriff: 'Pos-Diff''

0x00n20010 Read R: every REAL64 z.B. mm PeakHold-Wert fürmaximalen negativenSchleppabstand derPosition

0x00n20011 Read R: every REAL64 z.B. mm PeakHold-Wert für mi-nimalen positivenSchleppabstand derPosition

0x00n20012 Read R: every REAL64 z.B. mm/s

Schleppabstand Ge-schwindigkeit

Nicht imple-mentiert !

0x00n20021 Read R: every REAL64 z.B. mm Differenz (Abwei-chung) der Positions-Schleppabstände zwi-schen Master- undSlaveachse (Master-minus Slaveschlepp-abstand)

SymbolischerZugriff: 'PosDiff-Couple'

Anhang

TwinCAT 3 NC I362 Version: 1.0

Index-Offset(Hex)

Zugriff Achsen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n20022 Read R: every REAL64 z.B. mm PeakHold-Wert fürmaximale negativeDifferenz der Schlepp-abstände (Position)zwischen Master- undSlaveachse

Base Unit

0x00n20023 Read R: every REAL64 z.B. mm PeakHold-Wert fürmaximale positive Dif-ferenz der Schleppab-stände (Position) zwi-schen Master- undSlaveachse

Base Unit

0x00n20101 Read R: P/PID (Pos.) REAL64 z.B. mm/s

P-Anteil des Reglersin absoluten Einheiten

0x00n20102 Read R: PID (Pos.) REAL64 z.B. mm/s

I-Anteil des Reglers inabsoluten Einheiten

0x00n20103 Read R: PID (Pos.) REAL64 z.B. mm/s

D-Anteil des Reglersin absoluten Einheiten

0x00n20104 Read R: PID (Pos.) UINT16 1 0/1 Begrenzung des I-An-teils aktiv?

0x00n20105 Read R: PID (Pos.) UINT16 1 0/1 Begrenzung des D-Anteils aktiv?

0x00n20106 Read R: PID (Pos.) UINT16 1 0/1 ARW-Massnahmendes I-Anteils aktiv?ARW: Anti Reset Win-dup

Nicht imple-mentiert !

0x00n20110 Read R: PID (Pos.) REAL64 z.B. mm/s

Beschleunigungsvor-steuerung Yacc desReglers in absolutenEinheiten Anmerkung:Funktion abhängigvom Reglertyp!

Beschleuni-gungs- vor-steuerung

0x00n20111 Read R: PP (Pos.) REAL64 mm/s/mm

≥0 Interne interpolierteProportionalverstär-kung kp bzw. kv

PP-Regler

0x00n20201 Read R: P,PID (Ge-schw.)

REAL64 z.B. mm/s

Geschwindigkeitsan-teil des Reglers

0x00n20202 Read R: P,PID (Ge-schw.)

REAL64 % Geschwindigkeitsan-teil des Reglers in Pro-zent

Nicht oszillo-skopierbar!

0x00n20203 Read R: P,PID (Ge-schw.)

REAL64 V Geschwindigkeitsan-teil des Reglers in Volt

Nicht oszillo-skopierbar!

0x00n20201 Read R: P/PID (Ge-schw.)

REAL64 z.B. mm/s

P-Anteil des Reglersin absoluten Einheiten

0x00n20202 Read R: P/ PID (Ge-schw.)

REAL64 z.B. mm/s

I-Anteil des Reglers inabsoluten Einheiten

0x00n20203 Read R: P/ PID (Ge-schw.)

REAL64 z.B. mm/s

D-Anteil des Reglersin absoluten Einheiten

0x00n20204 Read R: P/ PID (Ge-schw.)

UINT16 1 0/1 Begrenzung des I-An-teils aktiv?

0x00n20205 Read R: P/ PID (Ge-schw.)

UINT16 1 0/1 Begrenzung des D-Anteils aktiv?

0x00n20206 Read R: P/ PID (Ge-schw.)

UINT16 1 0/1 ARW-Massnahmendes I-Anteils aktiv? (ARW: Anti ResetWindup)

0x00n2020A Read R: P/ PID (Ge-schw.)

REAL64 z.B. mm/s

Gesamteingangsgrö-ße des Geschwindig-keits-Reglers

0x00n20A00 Read R: PID (MW) REAL64 % [-1.0...1.0] Verrechnung der Soll-geschwindigkeit (Vor-steuerung)

Reservierte Pa-rameter !

Anhang

TwinCAT 3 NC I 363Version: 1.0

Index-Offset(Hex)

Zugriff Achsen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n20A01 Read R: PID (MW) REAL64 z.B. mm/s

P-Anteil des Reglersin absoluten Einheitenoder Prozent (je nachAusgabegewichtung)

Reservierte Pa-rameter !

0x00n20A02 Read R: PID (MW) REAL64 z.B. mm/s

I-Anteil des Reglers inabsoluten Einheitenoder Prozent (je nachAusgabegewichtung)

Reservierte Pa-rameter !

0x00n20A03 Read R: PID (MW) REAL64 z.B. mm/s

D-Anteil des Reglersin absoluten Einheitenoder Prozent (je nachAusgabegewichtung)

Reservierte Pa-rameter !

0x00n20A04 Read R: PID (MW) UINT16 1 0/1 Begrenzung des I-An-teils aktiv?

Reservierte Pa-rameter !

0x00n20A05 Read R: PID (MW) UINT16 1 0/1 Begrenzung des D-Anteils aktiv?

Reservierte Pa-rameter !

0x00n20A06 Read R: PID (MW) UINT16 1 0/1 ARW-Massnahmendes I-Anteils aktiv?ARW: Anti Reset Win-dup

Reservierte Pa-rameter !

0x00n20A10 Read R: PID (MW) REAL64 z.B. mm/s

Beschleunigungsvor-steuerung Yacc desReglers in absolutenEinheiten

Reservierte Pa-rameter !

0x00n30001 Read D: every INT32 1 Fehlerstatus des Dri-ves

0x00n30002 Read D: every REAL64 z.B. mm/s

Gesamtausgabe in ab-soluten Einheiten

SymbolischerZugriff: 'Dri-veOutput'

0x00n30003 Read D: every REAL64 % Gesamtausgabe inProzent

0x00n30004 Read D: every REAL64 V Gesamtausgabe inVolt

Nicht oszillo-skopierbar!

0x00n30005 Read D: every REAL64 z. B.mm/s

PeakHold-Wert fürmaximale negativeGesamtausgabe

0x00n30006 Read D: every REAL64 z. B.mm/s

PeakHold-Wert fürmaximale positive Ge-samtausgabe

0x00n30007 Read D: every REAL64 z.B.100%=1000, z.B. Nmbzw. N

Ist-Moment bzw. Ist-Kraft (typisch100%=1000)

NEU

0x00n30013 Read D: every REAL64 % Gesamtausgabe inProzent (nach nichtli-nearer Kennlinie !)

0x00n30014 Read D: every REAL64 V Gesamtausgabe inVolt (nach nichtlinea-rer Kennlinie !)

Nicht oszillo-skopierbar!

Anhang

TwinCAT 3 NC I364 Version: 1.0

6.8.4.3 "Index-Offset" Spezifikation für Achs-Funktionen (Index-Group 0x4200 +ID)

Anhang

TwinCAT 3 NC I 365Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Write every VOID Reset Achse Auch für FIFO-Achsen!

0x00000002 Write every VOID Stop Achse Auch für FIFO-Achsen!

0x00000003 Write every VOID Clear Achse (Auftrag) Auch für FIFO-Achsen!

0x00000004 Write every { Emergency Stop (Not-stop mit geregelterRampe)

Nur für PTP-Achsen!

REAL64 z.B. mm/s^2

> 0.0 Verzögerung (mussgrößer gleich der Ori-ginalverzögerungsein!)

REAL64 z.B. mm/s^3

> 0.0 Ruck (muss größergleich dem Original-ruck sein!)

}0x00000005 Write PTP-Achse { Parametrierbarer

Stop(mit geregelterRampe)

Nur für PTP-Achsen!Reser-vierte Funktion, kein Standard!REAL64 z.B. mm/

s^2> 0.0 Verzögerung

REAL64 z.B. mm/s^3

> 0.0 Ruck

}0x00000009 Write PTP-Achse { Orientierter Stop

(orientierte Endpositi-on)

Nur für PTP-Achsen!

REAL64 z.B.Grad

≥ 0.0 Modulo-Endposition(Modulo-Zielposition)

REAL64 z.B. mm/s^2

> 0.0 Verzögerung (momen-tan nicht wirksam)

REAL64 z.B. mm/s^3

> 0.0 Ruck(momentan nichtwirksam)

}

0x00000010 Write every VOID Referenziere Achse("Eichen")

0x00000011 Write every { Neue EndpositionAchse

Geändert abTC3

UINT32 ENUM s. Anhang Endpositionstyp[} 426] (s. Anhang)

UINT32 Reserve (TC3)REAL64 z.B. mm ±∞ Neue Endposition

(Zielposition)}

0x00000012 Write every { Neue Endposition undneue GeschwindigkeitAchse

UINT32 ENUM s. Anhang Kommandotyp [} 426](s.Anhang)

UINT32 ENUM s. Anhang Endpositionstyp[} 426] (s.Anhang)

REAL64 z.B. mm ±∞ Neue Endposition(Zielposition)

REAL64 z.B. mm/s

≥ 0.0 Neue Endgeschwin-digkeit (angeforderteFahrgeschw.)

REAL64 z.B. mm ±∞ Optional: Umschaltpo-sition ab der neuesFahrprofil aktiviert wird

}

Anhang

TwinCAT 3 NC I366 Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000015 Write every { Neue Dynamikpara-meter für aktive Posi-tionierung

REAL64 z.B. mm/s^2

> 0.0 Beschleunigung

REAL64 z.B. mm/s^2

> 0.0 Verzögerung

REAL64 z.B. mm/s^3

> 0.0 Optional: Ruck (mo-mentan nicht wirksam)

}0x00000016 ReadWrite every SERVO Write(80 byte) Universeller Achsstart

(UAS): Verschmelzung vonEinzelkommandos wiez.B. Achsstart, undOnline-Änderungen inKombination mit "Buf-fer-Mode" (s.TcMc2.lib)

Immer an SAF-Port 501!

Geändert abTC3

{UINT32 ENUM s. Anhang Starttyp [} 425] (s.An-

hang)UINT32 1 ≥ 0 Bitmaske für Überprü-

fungen und Betriebs-arten (Default-Wert: 0)

REAL64 z.B. mm ±∞ Endposition (Zielpositi-on)

REAL64 z.B. mm/s

≥ 0.0 Geforderte Geschwin-digkeit Vrequ

REAL64 z.B. mm/s^2

≥ 0.0 Optional: Beschleuni-gung

REAL64 z.B. mm/s^2

≥ 0.0 Optional: Verzögerung

REAL64 z.B. mm/s^3

≥ 0.0 Optional: Ruck

UINT32 ENUM s. Anhang Buffer-Mode [} 425](Kommandozwischen-speicher)

UINT32 Reserve (TC3)REAL64 z.B. mm ±∞ Optional: Blending-Po-

sition (Kommando-überblendungspositi-on)

REAL64 z.B. mm/s

≥ 0.0 Optional: Segment An-fangsgeschwindigkeitVi (0 ≤ Vi ≤ Vrequ)

REAL64 z.B. mm/s

≥ 0.0 Optional: SegmentEndgeschwindigkeit Vf (0 ≤ Vf ≤ Vrequ)

}Read{UINT16 1 ≥ 0 Kommando Nummer

(Job Nummer)UINT16 1 ≥ 0 Kommando Status}

Anhang

TwinCAT 3 NC I 367Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000017 ReadWrite SERVO Write(80 byte) "Master/Slave Ent-kopplung" und "Uni-verseller Achsstart(UAS)": Verschmelzung vom-Abkoppelkommandoeiner Slaveachse (Id-xOffset: 0x00000041)und nachfolgendemUniversellen Achsstart(UAS) (IdxOffset:0x00000016)

noch nicht frei-gegeben !

{UINT32 ENUM s. Anhang Starttyp [} 425] (s.An-

hang)UINT32 1 ≥ 0 Bitmaske für Überprü-

fungen und Betriebs-arten (Default-Wert: 0)

REAL64 z.B. mm ±∞ Endposition (Zielpositi-on)

REAL64 z.B. mm/s

≥ 0.0 Geforderte Geschwin-digkeit Vrequ

REAL64 z.B. mm/s^2

≥ 0.0 Beschleunigung

REAL64 z.B. mm/s^2

≥ 0.0 Verzögerung

REAL64 z.B. mm/s^3

≥ 0.0 Ruck

UINT32 ENUM s. Anhang Buffer-Mode [} 425](Kommandozwischen-speicher)

UINT32 Reserve (TC3)REAL64 z.B. mm ±∞ Optional: Blending-Po-

sition (Kommando-überblendungspositi-on)

REAL64 z.B. mm/s

≥ 0.0 Optional: Segment An-fangsgeschwindigkeitVi (0 ≤ Vi ≤ Vrequ)

REAL64 z.B. mm/s

≥ 0.0 Optional: SegmentEndgeschwindigkeit Vf (0 ≤ Vf ≤ Vrequ)

}Read{UINT16 1 ≥ 0 Kommando Nummer

(Job Nummer)UINT16 1 ≥ 0 Kommando Status}

0x00000018 Write every VOID Aufhebung der Achss-perre für Bewegungs-kommandos (TcMc2)

0x00000019 Write every UINT32 1 > 0 Setze externen Achs-fehler (Laufzeitfehler)

Vorsicht beiBenutzung !

0x00n0001A Write every { Setze Istposition Ach-se

Vorsicht beiBenutzung !Auch für FIFO-Achsen!Immeran SAF-Port501!

Geändert abTc3

UINT32 ENUM s. Anhang Istpositionstyp [} 426](s.Anhang)

UINT32 Reserve (TC3)REAL64 z.B. mm ±∞ Istposition für Achsen

= 0: Standardencoderder Achse n > 0: n-ter Encoderder Achse (optional)

}

Anhang

TwinCAT 3 NC I368 Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n0001B Write every UINT32 1 0/1 Setze Referenzierflag("Eichflag")n = 0: Stan-dardencoder der Ach-se n > 0: n-ter Encoderder Achse (optional)

Vorsicht beiBenutzung !Auch für FIFO-Achsen!

0x00n0001C Write SERVO { Setze nur IstpositionAchse, ohne Manipu-lation der Sollposition(auch für Slave undbei aktivem Verfahren)

Vorsicht beiBenutzung !

UINT32 ENUM s. Anhang Istpositionstyp [} 426](s.Anhang)

REAL64 z.B. mm ±∞ Istposition für Achse n= 0: Standardencoderder Achsen > 0: n-terEncoder der Achse(optional) Vorsichtbei Benutzung!!!

}0x00n0001D Write every { Antriebseitiges Istwert-

setzen der Achse (Positionsinterfaceund Encoder-Offsetvon Null vorausge-setzt !) n = 0: Standardenco-der der Achse n > 0: n-ter Encoderder Achse (optional)

Vorsicht beiBenutzung !Nur für CANo-pen

UINT32 ENUM s. Anhang Istpositionstyp [} 426](s.Anhang)

REAL64 z.B. mm ±∞ Istposition für Achse}

0x00n0001E Write every { Fliegendes Setzen ei-nes neuen Encoder-Skalierungsfaktors (in Bewegung derAchse)

Vorsicht beiBenutzung ! Immer an SAF-Port 501!

Geändert abTC3

UINT16 ENUM 1 Encoder-Skalierungs-faktortyp 1: Absolut 2: Relativ

UINT16 ControlWordUINT32 Reserve (TC3)REAL64 z.B. mm/

INC[1.0E-8 ...100.0]

Neuer Encoder-Skalie-rungsfaktor n = 0: Standardenco-der der Achse n > 0: n-ter Encoderder Achse (optional)

}

Anhang

TwinCAT 3 NC I 369Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n0001F Write every { Fliegendes Istwertset-zen der Achse (in Bewegung derAchse)

Vorsicht beiBenutzung !Immer an SAF-Port 501!

UINT32 ENUM Positionstyp für Flie-gendes Istwertsetzen 1: Absolut 2: Relativ

UINT32 1 Kontrolldoppelwort fürz.B. "Ablöschen desSchleppabstandes"

REAL64 ReserveREAL64 z.B. mm ±∞ Neue Istposition der

AchseUINT32 ReserveUINT32 Reserve}

0x00000020 Write every 1D-Start { Standard Achsstart: Geändert abTC3UINT32 ENUM s. Anhang Starttyp [} 425] (s.An-

hang)UINT32 Reserve (TC3)REAL64 z.B. mm ±∞ Endposition (Zielpositi-

on)REAL64 z.B. mm/

s≥0.0 Geforderte Geschwin-

digkeit}

0x00000021 Write every 1D-Start { Erweiteter Achsstart(SERVO):

Geändert abTc3

UINT32 ENUM s. Anhang Starttyp [} 425] (s.An-hang)

UINT32 Reserve (TC3)REAL64 z.B. mm ±∞ Endposition (Zielpositi-

on)REAL64 z.B. mm/

s≥ 0.0 Geforderte Geschwin-

digkeitUINT32 0/1 0/1 Standard Beschleuni-

gung?UINT32 Reserve (TC3)REAL64 z.B. mm/

s^2≥ 0.0 Beschleunigung

UINT32 0/1 0/1 Standard Verzöge-rung?

UINT32 Reserve (TC3)REAL64 z.B. mm/

s^2≥ 0.0 Verzögerung

UINT32 0/1 0/1 Standard Ruck?UINT32 Reserve (TC3)REAL64 z.B. mm/

s^3≥ 0.0 Ruck

}

Anhang

TwinCAT 3 NC I370 Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000022 Write SERVO(MW) { Spezieller Achsstart(SERVO):

ReservierteStartfunktion,kein Standard !

Geändert abTC3

UINT32 ENUM s. Anhang Starttyp [} 425] (s.An-hang)

UINT32 Reserve (TC3)REAL64 z.B. mm ±∞ Endposition (Zielpositi-

on)REAL64 mm/s ≥ 0.0 Geforderte Anfangs-

geschwindigkeitREAL64 z.B. mm ±∞ Position, fuer neues

Geschwindigkeitsni-veau

REAL64 z.B. mm/s

≥ 0.0 Neues Endgeschwin-digkeitsniveau

UINT32 0/1 0/1 Standard Beschleuni-gung?

UINT32 Reserve (TC3)REAL64 z.B. mm/

s^2≥ 0.0 Beschleunigung

UINT32 0/1 0/1 Standard Verzöge-rung?

UINT32 Reserve (TC3)REAL64 z.B. mm/

s^2≥ 0.0 Verzögerung

UINT32 0/1 0/1 Standard Ruck?UINT32 Reserve (TC3)REAL64 z.B. mm/

s^3≥ 0.0 Ruck

}0x00000023 Write SERVO { Start externe Sollwert-

vorgabe (Vorgabedurch zyklisches Ach-sinterface PLCtoNC)

Geändert abTC3

UINT32 ENUM 1: Absolut 2: Relativ

Starttyp [} 425]

UINT32 Reserve (TC3)REAL64 z.B. mm ±∞ Neue Endposition

(Zielposition) optional !REAL64 Reserve (TC3)}

0x00000024 Write SERVO VOID Stop/Disable externeSollwertvorgabe (zykl. AchsinterfacePLCtoNC)

0x00000025 Write SERVO { Start Reversierbetriebfür Positionierung(SERVO):

Geändert abTC3

UINT32 ENUM 1 Starttyp [} 425](default: 1)

UINT32 Reserve (TC3)REAL64 z.B. mm ±∞ Endposition 1 (Zielpo-

sition)REAL64 z.B. mm ±∞ Endposition 2 (Zielpo-

sition)REAL64 0/1 0/1 Geforderte Geschwin-

digkeitREAL64 s ≥ 0.0 Pausenzeit (idle time)}

Anhang

TwinCAT 3 NC I 371Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000026 Write every { Start Drive-Output: Geändert abTC3UINT32 ENUM s. Anhang Ausgabetyp [} 432]

(s.Anhang)UINT32 Reserve (TC3)REAL64 z.B. % ±∞ Geforderter Ausgabe-

wert (z.B. %)}

0x00000027 Write every VOID Stop Drive-Output0x00000028 Write every { Änderung/Wechsel

des Drive-Outputs:UINT32 ENUM s. Anhang Ausgabetyp [} 432]

(s.Anhang)REAL64 z.B. % ±∞ Geforderter Ausgabe-

wert (z.B. %)}

0x00000029 Write every VOID Aktuellen Override-Wert instantan über-nehmen und einfrierenbis zur nächsten Over-rideänderung!

ReservierteFunktion, keinStandard !

0x0000002A Write every { 32 bytes }

calculate and set en-coder offset

ReservierteFunktion, keinStandard !

0x0000002B ReadWrite every WriteData: s.'UAS' ReadData: s.'UAS'

stop external setpointgenerator and conti-nuous endless motion('UAS': Universal axisstart)

ReservierteFunktion, keinStandard !

0x0000002C Write every UINT32 ≥ 0 Setze "HomingState" (zur internenVerwendung)

Neu ab TC3

0x00000030 Write SERVO { Start Streckenkom-pensation (SERVO)

Geändert abTC3

UINT32 ENUM s. Anhang Kompensations-Typ[} 426] (s.Anhang)

UINT32 Reserve (TC3)REAL64 z.B. mm/

s^2≥ 0.0 Max. Beschleuni-

gungserhöhungREAL64 z.B. mm/

s^2≥ 0.0 Max. Verzögerungser-

höhungREAL64 z.B. mm/

s> 0.0 Max. Erhöhungsge-

schwindigkeitREAL64 z.B. mm/

s> 0.0 Grundgeschwindigkeit

des ProzessesREAL64 z.B. mm ±∞ Auszugleichende

WegdifferenzREAL64 z.B. mm > 0.0 Weglänge für Kom-

pensation}

Anhang

TwinCAT 3 NC I372 Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000030 ReadWrite SERVO liefertdie wirklich um-gesetzten Grö-ßen als Rück-gabewerte zu-rück

{ READ+WRITE:

Start Streckenkom-pensation (SERVO) Anmerkung: nur in'TcMc2.lib' enthalten

Geändert abTC3

UINT32 ENUM s. Anhang Kompensations-Typ[} 426] (s.Anhang)

UINT32 Reserve (TC3)REAL64 z.B. mm/

s^2≥ 0.0 => Max. Beschleuni-

gungserhöhung <= liefert umgesetzteBeschleunigungserhö-hung zurück (neu in'TcMc2.lib')

REAL64 z.B. mm/s^2

≥ 0.0 => Max. Verzöge-rungserhöhung <= liefert umgesetzteVerzögerungserhö-hung zurück (neu in'TcMc2.lib')

REAL64 z.B. mm/s

> 0.0 => angeforderte max.Erhöhungsgeschwin-digkeit <= liefert umgesetzteErhöhungsgeschwind.zurück

REAL64 z.B. mm/s

> 0.0 Grundgeschwindigkeitdes Prozesses

REAL64 z.B. mm ±∞ => angeforderte aus-zugleichende Wegdif-ferenz <= liefert umgesetzteWegdifferenz zurück

REAL64 z.B. mm > 0.0 => angeforderte max.Weglänge für Kom-pensation <= liefert umgesetzteWeglänge zurück

UINT32 1 ≥ 0 <= liefert Warnungs-ID(z.B. 0x4243) zurück

UINT32 Reserve (TC3)}

0x00000031 Write SERVO VOID Stop Streckenkom-pensation (SERVO)

Anhang

TwinCAT 3 NC I 373Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000032 Write SERVO { Start Reversierbetriebmit Geschwindig-keitssprüngen (SER-VO): (kann zur Ermittlungder Geschwindigkeits-Sprungantwort ver-wendet werden)

Geändert abTC3

UINT32 ENUM 1 Starttyp [} 425](default: 1)

UINT32 Reserve (TC3)REAL64 z.B. mm/

s±∞ Geforderte Geschwin-

digkeit 1 (auch negative Werteerlaubt)

REAL64 z.B. mm/s

±∞ Geforderte Geschwin-digkeit 2 (auch negative Werteerlaubt)

REAL64 s > 0.0 Fahrzeit für Geschwin-digkeit 1 und 2

REAL64 s ≥ 0.0 Pausenzeit (idle time)UINT32 1 0, 1,2,3... Optional: Anzahl der

Wiederholungen, Default "0": zeitlich un-begrenzt

UINT32 Reserve (TC3)}

0x00000033 Write SERVO { Sinus Oscillation Se-quence - used as single sinusoscillation (sinus ge-nerator) - used as sinus oscilla-tion sequence (e.g. forbode plot)

Geändert abTC3

UINT32 ENUM 1 StartTyp [} 425] (fixedto start type 1 yet)

UINT32 Reserve (TC3)REAL64 e.g. mm/

s> 0.0 base amplitude (e.g.

2.5 mm/s)REAL64 Hz [0.0 .... 10.0] base frequency (e.g.

1.953125 Hz)REAL64 e.g. mm/

s≥ 0.0 start amplitude at be-

gin (e.g. 0.0 mm/s)REAL64 e.g. mm/

REV> 0.0 feed constant motor

(per motor turn) (e.g.10.0 mm/REV)

REAL64 Hz ≥ 1.0 frequency range: startfrequency (e.g. 20.0Hz)

REAL64 Hz ≤ 1/(2*dT) frequency range: stopfrequency (e.g. 500.0Hz)

REAL64 s > 0.0 step duration (e.g.2.048s)

UINT32 1 [1 ... 200] number of measure-ments (step cycles)(e.g. 20)

UINT32 1 number of parallelmeasurements (e.g. 1)not used yet!

}

Anhang

TwinCAT 3 NC I374 Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000040(0x00n00040)

Write Master / Slave-Kopplung:(SERVO)

{ Master/Slave Kopp-lung (SERVO):

Erweiterung für"Fliegende Sä-ge" !

Winkel >0.0und £ 90.0Grad (Parallel-säge: 90.0Grad)

UINT32 ENUM s. Anhang Slavetyp [} 427]/Kopp-lungstyp (s. Anhang)

UINT32 1 [1...255] Achs-ID der Master-achse/Gruppe

UINT32 1 [0...8] Subindex n der Mas-terachse (Default:-Wert: 0)

UINT32 1 [0...8] Subindex n der Slave-achse (Default:-Wert:0)

REAL64 1 [±1000000.0] Parameter 1:Linear:Getriebefaktor FlySawVelo: Reserve FlySaw: Abs. Syn-chronposition Master[mm]

REAL64 1 [±1000000.0] Parameter 2:Linear:Reserve FlySawVelo: Reserve FlySawPos: Abs. Syn-chronposition Slave[mm]

REAL64 1 [±1000000.0] Parameter 3:Linear:Reserve FlySawVelo: Nei-gungswinkel in[GRAD] FlySawPos: Neigungs-winkel in [GRAD]

REAL64 1 [±1000000.0] Parameter 4:Linear:Reserve FlySawVelo: Getriebe-faktor FlySawPos: Getriebe-faktor

}

Anhang

TwinCAT 3 NC I 375Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000040(0x00n00040)

Write Master / Slave-Kopplung:(SERVO)

{ Master/Slave Kopp-lung (SERVO):

Multi MasterKopplung(MC_GearIn-MultiMaster)

Version V1 undV2

Geändert abTc3

UINT32 ENUM s. Anhang Slavetyp [} 427]/Kopp-lungstyp (s. Anhang)

UINT32 1 [1...255] Achs-ID der Master-achse/Gruppe

UINT32 1 [1...8] Subindex n der Mas-terachse (Default:-Wert: 0)

UINT32 1 [1...8] Subindex n der Slave-achse (Default:-Wert:0)

UINT32 1 [0...255] Achs-ID Master 2UINT32 1 [0...255] Achs-ID Master 3UINT32 1 [0...255] Achs-ID Master 4UINT32 1 [0...255] Reserve (Achs-ID

Master 5)UINT32 1 [0...255] Reserve (Achs-ID

Master 6)UINT32 1 [0...255] Reserve (Achs-ID

Master 7)UINT32 1 [0...255] Reserve (Achs-ID

Master 8)UINT32 Reserve (TC3)REAL64 z.B. mm/

s^2maximale Beschleuni-gung/Verzögerung derSlave-Achse

UINT32 1 ≥ 0 Steuermaske, bishernicht verwendet(check and operationmode for profile)

UINT32 Reserve (TC3)Erweiterung V2 (Optional):REAL64 z.B. mm/

s^2≥ 0.0 maximale Verzöge-

rung der Slave-AchseREAL64 z.B. mm/

s^3≥ 0.0 maximaler Ruck der

Slave-AchseREAL64 z.B. mm/

s≥ 0.0 maximale Geschwin-

digkeit der Slave-Ach-se

REAL64 ReserveREAL64 Reserve} 64 bzw. 104Byte

0x00000041 Write Master / Slave-Entkopplung(SERVO)

VOID Master/Slave Entkopp-lung (SERVO)

Anhang

TwinCAT 3 NC I376 Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000041 Write Master / Slave-Entkopplungmit konfigurier-barer Folge-funktion (SER-VO)

{ Master/Slave Entkopp-lung mit konfigurierba-rer Folgefunktion (z.B.neue Endposition,neue Geschwindigkeit,Stop, E-Stop) (SER-VO)

noch nicht frei-gegeben !

Geändert abTC3

UINT32 ENUM s. Anhang Entkopplungs-Typ[} 427] (s. Anhang)

UINT32 Reserve (TC3)REAL64 z.B. mm ±∞ Optional: Neue End-

postionREAL64 z.B. mm/

s> 0.0 Optional: Neue gefor-

derte GeschwindigkeitREAL64 z.B. mm/

s^2≥ 0.0 (0: Default)

Optional: Beschleuni-gung für neue Endpo-sition, neue Geschwin-digkeit und Emergen-cy Stop (E-Stop)

REAL64 z.B. mm/s^2

≥ 0.0 (0: Default)

Optional: Verzögerungfür neue Endposition,neue Geschwindigkeitund Emergency Stop(E-Stop)

REAL64 z.B. mm/s^3

≥ 0.0 (0: Default)

Optional: Ruck fürneue Endposition,neue Geschwindigkeitund Emergency Stop(E-Stop)

}0x00000042 Write Master / Slave-

Kopplung Typ:LINEAR(&SPECIAL)

{ Änderung der Kopp-lungsparameter (SER-VO):

REAL64 1 [±1000000.0] Parameter 1: Linear:Getriebefaktor

REAL64 1 [±1000000.0] Parameter 2: Linear:Reserve

REAL64 1 [±1000000.0] Parameter 3: Linear:Reserve

REAL64 1 [±1000000.0] Parameter 4: Linear:Reserve

}0x00000043 Write Master / Slave-

Tabellen- Kopp-lung Typ: TA-BULAR

{ Änderung der Tabel-len- Kopplungspara-meter (SERVO):

REAL64 mm ±∞ Slave Positions-OffsetREAL64 mm ±∞ Master Positions-Off-

set}

0x00000043 Write Master / Slave-Tabellen- Kopp-lung Typ: TA-BULAR und "Motion Functi-on"

{ Änderung der Tabel-len- Kopplungspara-meter (SERVO):

Auch für "Moti-on Function"

REAL64 mm ±∞ Slave Positions-OffsetREAL64 mm ±∞ Master Positions-Off-

setREAL64 1 ±∞ (<> 0.0) Slave Positions-Ska-

lierungREAL64 1 ±∞ (<> 0.0) Master Positions-Ska-

lierung}

Anhang

TwinCAT 3 NC I 377Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000043 Write Master / Slave-Tabellen- Kopp-lung Typ: TA-BULAR

{ Änderung der Tabel-len- Kopplungspara-meter (SERVO):

REAL64 mm ±∞ Slave Positions-OffsetREAL64 mm ±∞ Master Positions-Off-

setREAL64 1 ±∞ (<> 0.0) Slave Positions-Ska-

lierungREAL64 1 ±∞ (<> 0.0) Master Positions-Ska-

lierungREAL64 z.B. mm ±∞ Absolute Master Akti-

vierungsposition}

0x00000044 Write Slave-Stop(SERVO)

VOID Stop der "FliegendeSäge" (SERVO)

Nur für "Flie-gende Säge"

0x00000045(0x00n00045)

Write Master / Slave-Tabellen- Kopp-lung (SERVO)

{ Master / Slave Tabel-len-Kopplung (SER-VO):

UINT32 ENUM s. Anhang Slavetyp / Kopplungs-typ [} 427] (s.Anhang)

UINT32 1 [1...255] Achs-ID der Master-achse

UINT32 1 [0...8] Subindex n der Mas-terachse (Default:-Wert:: 0)

UINT32 1 [0...8] Subindex n der Slave-achse (Default:-Wert:0)SOLO-TABELLENABSCHNITT:

REAL64 mm ±∞ Slave Positions-Offset(Typ: TABULAR)

REAL64 mm ±∞ Master Positions-Off-set (Typ: TABULAR)

UINT32 1 [0,1] Slave Positionen ab-solut (Typ: TABULAR)

UINT32 1 [0,1] Master Positionen ab-solut (Typ: TABULAR)

UINT32 1 [1...255] Tabellen-ID der Kop-peltabelle (Typ: TABU-LAR)MULTI-TABELLENABSCHNITT:

UINT16 1 [0...8] Anzahl der Tabellen(Typ: MULTITAB) An-merkung: Missbrauchtals Interpolations-Typfür Solo-Tabellen

UNIT16 1 [0...8] Anzahl der Profil-Ta-bellen (Typ: MULTIT-AB)

UNIT32[8] 1 [1...255] Tabellen-IDs der Kop-peltabellen (Typ: MUL-TITAB)

}0x00000046 Write Master / Slave

MultitabellenUINT32 1 [1...255] Aktivierung Korrektur-

tabelle Korrektur-Ta-bellen-ID

0x00000046 Write Master / SlaveMultitabellen

{ Aktivierung Korrektur-tabelle

Geändert abTC3

UINT32 1 [1...255] Korrektur-Tabellen-IDUINT32 Reserve (TC3)REAL64 z.B. mm ±∞ Absolute Master Akti-

vierungsposition}

Anhang

TwinCAT 3 NC I378 Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000047 Write Master / SlaveMultitabellen

UINT32 1 [1..255] Deaktivierung Profilta-belle am ZyklusendeTabellen-ID der aktu-ellen monozyklischenProfiltabelle

0x00000048 ReadWrite Master / SlaveMultitabellen

Write: UINT32 1 [1..255] Lesen des letzen Kor-rekturoffsets: Tabel-len-ID der Korrekturta-belle

Read: REAL32 z.B. mm ±∞ Offset durch Abfahrender Korrekturtabellemit der entsprechen-den Tabellen-ID

0x00000049 Write Master / Slave-Tabellen- Kopp-lung Typ: TA-BULAR

REAL64 1 ±∞ Ändern der Slave-Ta-bellenskalierung Ska-lierungsfaktor der Sla-ve-Tabellenspalte (Default-Wert: 1.0)

Anhang

TwinCAT 3 NC I 379Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x0000004A(0x00n0004A)

Write Master / Slave-Universelle- Ta-bellen- Kopp-lung (SERVO)

{ Master / Slave Solo-Tabellen-Kopplung(SERVO):

Geändert abTC3

UINT32 ENUM s. Anhang Slavetyp / Kopplungs-typ [} 427] (s.Anhang)

UINT32 1 [1...255] Achs-ID der Master-achse

UINT32 1 [0...8] Subindex n der Mas-terachse (Default:-Wert:: 0)

UINT32 1 [0...8] Subindex n der Slave-achse (Default:-Wert:0)

UINT32 1 1...255] Tabellen-ID der Kop-peltabelle (Typ: TABU-LAR)

UINT32 1 Tabellen-Interpolati-ons-Typ

REAL64 mm ±∞ Slave Positions-Offset(Typ: TABULAR)

REAL64 mm ±∞ Master Positions-Off-set (Typ: TABULAR)

REAL64 mm ±∞ Slave Positions-Ska-lierung (Typ: TABU-LAR)

REAL64 mm ±∞ Master Positions-Ska-lierung (Typ: TABU-LAR)

UINT32 1 [0,1] Slave Positionen ab-solut ? (Typ: TABULAR)

UINT32 1 [0,1] Master Positionen ab-solut ? (Typ: TABULAR)

UINT32 ENUM s. Anhang Aktivierungstyp derÄnderung: 0: 'instanta-neous' (default) 1: 'at master cam posi-tion' 2: 'at master axis posi-tion' 3: 'next cycle'

UINT32 Reserve (TC3)REAL64 mm ±∞ AktivierungspositionUINT32 ENUM s. Anhang Master Skalierungs-

typ:0: user defined(default) 1: scaling with autooffset 2: off

UINT32 ENUM s. Anhang Slave Skalierungstyp: 0: user defined(default) 1: scaling with autooffset 2: off

}

Anhang

TwinCAT 3 NC I380 Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x0000004A(0x00n0004A)

Write Master / Slave-Universelle- Ta-bellen- Kopp-lung (SERVO)

{ Master / Slave Solo-Tabellen-Kopplung(SERVO):

Geändert abTC3

UINT32 ENUM s. Anhang Slavetyp / Kopplungs-typ [} 427] (s.Anhang)

UINT32 1 [1...255] Achs-ID der Master-achse

UINT32 1 [0...8] Subindex n der Mas-terachse (Default:-Wert:: 0)

UINT32 1 [0...8] Subindex n der Slave-achse (Default:-Wert:0)

UINT32 1 1...255] Tabellen-ID der Kop-peltabelle (Typ: TABU-LAR)

UINT32 1 Tabellen-Interpolati-ons-Typ

REAL64 mm ±∞ Slave Positions-Offset(Typ: TABULAR)

REAL64 mm ±∞ Master Positions-Off-set (Typ: TABULAR)

REAL64 mm ±∞ Slave Positions-Ska-lierung (Typ: TABU-LAR)

REAL64 mm ±∞ Master Positions-Ska-lierung (Typ: TABU-LAR)

UINT32 1 [0,1] Slave Positionen ab-solut ? (Typ: TABULAR)

UINT32 1 [0,1] Master Positionen ab-solut ? (Typ: TABULAR)

UINT32 ENUM s. Anhang Aktivierungstyp derÄnderung: 0: 'instanta-neous' (default) 1: 'at master cam posi-tion' 2: 'at master axis posi-tion' 3: 'next cycle'

UINT32 Reserve (TC3)REAL64 mm ±∞ AktivierungspositionUINT32 ENUM s. Anhang Master Skalierungs-

typ:0: user defined(default) 1: scaling with autooffset 2: off

UINT32 ENUM s. Anhang Slave Skalierungstyp: 0: user defined(default) 1: scaling with autooffset 2: off

Erweiterung für MultiCam:UINT32 ENUM s. Anhang Cam Operation ModeUINT32 1 [1…255] Referenz Tabellen ID

(Bezugstabelle)BYTE[104] Reserve (TC3)}

Anhang

TwinCAT 3 NC I 381Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x0000004B(0x00n0004B)

Write Master / Slave-UniverselleFliegende Säge(SERVO)

{ Master / Slave Sychro-nisierungs- Kopplung(SERVO):

Geändert abTC3

UINT32 ENUM s. Anhang Slavetyp / Kopplungs-typ (s.Anhang)

UINT32 1 [1...255] Achs-ID der Master-achse

UINT32 1 [0...8] Subindex n der Mas-terachse (Default:-Wert:: 0)

UINT32 1 [0...8] Subindex n der Slave-achse (Default:-Wert:0)

REAL64 1 ±∞ (<> 0.0) GetriebefaktorREAL64 mm ±∞ Master Synchronposi-

tionREAL64 mm ±∞ Slave Synchronpositi-

onREAL64 mm/s ≥ 0.0 Slave Geschwindig-

keit(optional)REAL64 mm/s^2 ≥ 0.0 Slave Beschleuni-

gung(optional)REAL64 mm/s^2 ≥ 0.0 Slave Verzöge-

rung(optional)REAL64 mm/s^3 ≥ 0.0 Slave Ruck(optional)UINT32 1 ≥ 0 Bitmaske(Default-

Wert: 0)UINT32 Reserve (TC3)}

0x0000004D(0x00n0004D)

Write Master / Slave-Tabellen- Kopp-lungTyp: TABU-LAR und MF

{ Änderung der Tabel-len- Skalierung (SER-VO):

Geändert abTC3

UINT32 ENUM s. Anhang Aktivierungstyp derÄnderung0: 'instanta-neous' (default) 1: 'at master cam posi-tion' 2: 'at master axis posi-tion' 3: 'next cycle'

UINT32 Reserve (TC3)REAL64 z.B. mm ±∞ AktivierungspositionUINT32 ENUM s. Anhang Master Skalierungstyp

0: user defined(default) 1: scaling with autooffset 2: off

UINT32 ENUM s. Anhang Slave Skalierungstyp 0: user defined(default) 1: scaling with autooffset 2: off

REAL64 z.B. mm ±∞ Master Positions-Off-set

REAL64 z.B. mm ±∞ Slave Positions-OffsetREAL64 1 ±∞ (<> 0.0) Master Positions-Ska-

lierungREAL64 1 ±∞ Slave Positions-Ska-

lierungOptionale Erweiterung für MultiCam:UINT32 1 ≥ 0 Cam Table IDUINT32 Reserve (TC3)}

Anhang

TwinCAT 3 NC I382 Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000050 Write every VOID Deaktiviere kompletteAchse (Disable)

0x00000051 Write every VOID Aktiviere kompletteAchse (Enable)

0x00000052 Write SERVO { Änderung des aktivenAchsregelkreises(Trippel aus Encoder,Regler und Achsinter-faces) mit/ohne exter-ne Sollwertvorgabe:

Geändert abTC3

UINT32 1 ≥ 0 Nummer/Index desAchsregelkreises (Default -Wert: 0)

UINT32 ENUM s.Anhang (>0) Umschalttyp für Auf-synchronisierungsver-halten [} 435] 1: 'Standard'

REAL64 1 ±∞ Synchronisierungswertfür Umschaltung (op-tional)

UINT32 0/ 1 0/1 Externe Sollwertvorga-be mittels Achsinter-face ? Anmerkung: Wird bis-her nicht verwendet!

UINT32 Reserve (TC3)}

0x00000060 Write every VOID Deaktiviere Drive-Out-put (Disable)

0x00000061 Write every VOID Aktiviere Drive-Output(Enable)

0x00000062 Write Eil/Schleich UINT16 1 0/1 Feststellbremse lö-sen ? 0: automatischeAnsteuerung (Default) 1: zwingend immer ge-loest !Anmerkung: Wird beim Achsresetauf '0' zurückgesetzt !

0x00000070 Write every VOID Rückführung der Ach-se aus z. B. einer 3D-Gruppe in ihre persön-liche PTP-Gruppe

Anhang

TwinCAT 3 NC I 383Version: 1.0

6.8.4.4 "Index-Offset" Spezifikation für zyklische Achs-Prozessdaten (Index-Group 0x4300 + ID)

Anhang

TwinCAT 3 NC I384 Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n00000 Read / Write every(PLC→NC)

{ 128 Byte} STRUCT s.Achs- interface

ACHS-STRUKTUR(PLC→NC)n = 0:Standardinterface derAchsen > 0: n-tes Interfaceder Achse (optional)

Write-Befehlnur Optional!Sicherheitsa-spekte beach-ten!PLC-TONC_AXIS_REF

0x00n00001 Read / Write every(PLC→NC)

UINT32 1 >0 Steuer - Doppelwort Write-Befehlnur Optional!

0x00n00002 Read / Write every(PLC→NC)

UINT16 1 0/1 Reglerfreigabe Nicht oszillo-skopierbar!

0x00n00003 Read / Write every(PLC→NC)

UINT16 1 0/1 Vorschubfreigabe Plus Nicht oszillo-skopierbar!

0x00n00004 Read / Write every(PLC→NC)

UINT16 1 0/1 Vorschubfreigabe Mi-nus

Nicht oszillo-skopierbar!

0x00n00007 Read / Write every(PLC→NC)

UINT16 1 0/1 Referenziernocke Nicht oszillo-skopierbar!

0x00n00021 Read / Write every(PLC→NC)

UINT32 % 0...1000000 Geschwindigkeitsover-ride (1000000 ==100%)

Write-Befehlnur Optional!

0x00n00022 Read / Write every(PLC→NC)

UINT32 1 ENUM Betriebsart Achse Write-Befehlnur Optional!

0x00n00025 Read / Write every(PLC→NC)

REAL64 z.B. mm Istpositionskorrektur-wert (Meßsystemfeh-lerkorrektur)

Write-Befehlnur Optional!

0x00n00026 Read / Write every(PLC→NC)

REAL64 z.B. mm/s

Externer Regleranteil(Lageregleranteil)

Write-Befehlnur Optional!

0x00n00027 Read / Write every(PLC→NC)

{ Externe Sollwertgene-rierung

Write-Befehlnur Optional!

Geändert abTC3

REAL64 z.B. mm ±∞ Externe SollpositionREAL64 z.B. mm/

s±∞ Externe Sollgeschwin-

digkeitREAL64 z.B. mm/

s^2±∞ Externe Sollbeschleui-

nigungINT32 1 +1, 0, -1 Externe Sollfahrrich-

tungUINT32 Reserve (TC3)REAL64 Reserve (TC3)}

0x00n00080 Read every(PLC→NC)

{ 256 Byte} STRUCT s.Achs- interface

ACHS-STRUKTUR(NC→PLC)Anm.: Grö-ße und Alignment ge-ändert.n = 0: Standar-dinterface der Achsen > 0: n-tes Interfaceder Achse (optional)

Geändert abTC3.NCTO-PLC_AXIS_REF

0x00n00071 Read every(PLC→NC)

UINT8 1 >0 Status-Doppelwort:Byte 1

0x00n00072 Read every(PLC→NC)

UINT8 1 >0 Status-Doppelwort:Byte 2

0x00n00073 Read every(PLC→NC)

UINT8 1 >0 Status-Doppelwort:Byte 3

0x00n00074 Read every(PLC→NC)

UINT8 1 >0 Status-Doppelwort:Byte 4

0x00n00081 Read every(PLC→NC)

UINT32 1 >0 Status-Doppelwort(komplett)

0x00n00082 Read every(PLC→NC)

UINT16 1 0/1 Achse ist betriebsbe-reit

Nicht oszillo-skopierbar!

0x00n00083 Read every(PLC→NC)

UINT16 1 0/1 Achse ist referenziert Nicht oszillo-skopierbar!

Anhang

TwinCAT 3 NC I 385Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n00084 Read every(PLC→NC)

UINT16 1 0/1 Achse in geschützterBetriebsart (z.B. Sla-ve-Achse)

Nicht oszillo-skopierbar!

0x00n00085 Read every(PLC→NC)

UINT16 1 0/1 Achse in Eilgangsbe-triebsart

Nicht oszillo-skopierbar!

0x00n00088 Read every(PLC→NC)

UINT16 1 0/1 Achse hat ungültige IODaten

Nicht oszillo-skopierbar!

0x00n00089 Read every(PLC→NC)

UINT16 1 0/1 Achse ist im Fehlerzu-stand

Nicht oszillo-skopierbar!

0x00n0008A Read every(PLC→NC)

UINT16 1 0/1 Achse fährt größer Nicht oszillo-skopierbar!

0x00n0008B Read every(PLC→NC)

UINT16 1 0/1 Achse fährt kleiner Nicht oszillo-skopierbar!

0x00n0008C Read every(PLC→NC)

UINT16 1 0/1 Achse ist im logischenStillstand(es werden nur Soll-werte betrachtet)

(Lageregler?)

Nicht oszillo-skopierbar!

0x00n0008D Read every(PLC→NC)

UINT16 1 0/1 Achse ist am Referen-zieren

Nicht oszillo-skopierbar!

0x00n0008E Read every(PLC→NC)

UINT16 1 0/1 Achse ist im Positions-bereichsfenster

Nicht oszillo-skopierbar!

0x00n0008F Read every(PLC→NC)

UINT16 1 0/1 Achse ist in Zielpositi-on (Zielposition er-reicht)

Nicht oszillo-skopierbar!

0x00n00090 Read every(PLC→NC)

UINT16 1 0/1 Achse hat V-Konstoder Drehzahl

Nicht oszillo-skopierbar!

0x00n0009A Read every(PLC→NC)

UINT16 1 0/1 Betriebsart nicht aus-geführt (Busy)

Nicht oszillo-skopierbar!

0x00n0009B Read every(PLC→NC)

UINT16 1 0/1 Achse hat Auftrag /Führt Auftrag aus

Nicht oszillo-skopierbar!

0x00n000B1 Read every(PLC→NC)

UINT32 1 ≥0 Fehlercode Achse

0x00n000B2 Read every(PLC→NC)

UINT32 1 ENUM Bewegungszustandder Achse (Masterzu-stand [} 433] / Slave-zustand [} 433])

0x00n000B3 Read every(PLC→NC)

UINT32 1 ENUM Betriebsart der Achse(Rück. NC)

0x00n000B4 Read every(PLC→NC)

UINT32 1 ENUM Referenzierstatus derAchse

0x00n000B5 Read every(PLC→NC)

UINT32 1 ENUM Koppelstatus der Ach-se

0x00n000B6 Read every(PLC→NC)

UINT32 1 ≥0 SVB-Einträge/Aufträgeder Achse (PRE-Ta-belle)

0x00n000B7 Read every(PLC→NC)

UINT32 1 ≥0 SAF-Einträge/Aufträgeder Achse (EXE-Ta-belle)

0x00n000B8 Read every(PLC→NC)

UINT32 1 ≥0 Achs-ID

Anhang

TwinCAT 3 NC I386 Version: 1.0

Index-Offset(Hex)

Zugriff Achs- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00n000B9 Read every(PLC→NC)

UINT32 1 ≥0 Betriebsarten Status-Doppelwort:Bit 0: Po-sitionsbereichsüber-wachung aktiv?Bit 1: Zielpositions-fensterüberwachungaktiv?Bit 2: Schleifenwegaktiv?Bit 3: PhysikalischeBewegungsüberwa-chung aktiv?Bit 4: PEH-Zeitüber-wachung aktiv?Bit 5: Losekompensa-tion aktiv?Bit 6: Verzögerte Feh-lerreaktion aktiv?Bit 7: Modulo Betriebs-art aktiv (Modulo-Ach-se)?Bit 16: Schleppabstan-düberwachung Pos.aktiv?Bit 17: Schleppabstan-düberwachung Gesch.aktiv?Bit 18: Endlagenüber-wachung Min. aktiv?Bit 19: Endlagenüber-wachung Max. aktiv?Bit 20: Istpositionskor-rektur aktiv?

0x00n000BA Read every(PLC→NC)

REAL64 z.B. mm Istposition (verrechne-ter Absolutwert)

0x00n000BB Read every(PLC→NC)

REAL64 z.B. mm Modulo-Istposition

0x00n000BC Read every(PLC→NC)

INT32 1 Modulo-Umdrehungen

0x00n000BD Read every(PLC→NC)

REAL64 z.B. mm/s

Istgeschwindigkeit(optional)

0x00n000BE Read every(PLC→NC)

REAL64 z.B. mm Schleppabstand Posi-tion

0x00n000BF Read every(PLC→NC)

REAL64 z.B. mm Sollposition

0x00n000C0 Read every(PLC→NC)

REAL64 z.B. mm/s

Sollgeschwindigkeit

0x00n000C1 Read every(PLC→NC)

REAL64 z.B. mm/s^2

Sollbeschleunigung

0x00n10000 Read / Write Encoder: every(NC→IO)

{ 40 Byte}

STRUCT s. En-coder-IO-inter-face

ENCODER-OUTPUT-STRUKTUR(NC→IO, 40Byte)NCENCODER-STRUCT_OUT2

Write-Befehlnur Optional!Sicherheitsa-spekte beach-ten!

0x00n10080 Read Encoder: every(IO→NC)

{ 40 Byte}

STRUCT s. En-coder-IO-inter-face

ENCODER-INPUT-STRUKTUR(IO→NC, 40Byte)NCENCODER-STRUCT_IN2

0x00n30000 Read / Write Drive: every(NC→IO)

{ 40 Byte}

STRUCT s.Drive-IO-inter-face

DRIVE-OUTPUT-STRUKTUR(NC→IO, 40Byte)NCDRIVE-STRUCT_OUT2

Write-Befehlnur Optional!Sicherheitsa-spekte beach-ten!

0x00n30080 Read Drive: every(IO→NC)

{ 40 Byte}

STRUCT s.Drive-IO-inter-face

DRIVE-INPUT-STRUKTUR(NC→IO, 40Byte)NCDRIVE-STRUCT_IN2

Anhang

TwinCAT 3 NC I 387Version: 1.0

6.8.5 Spezifikation Encoder

6.8.5.1 "Index-Offset" Spezifikation für Encoder-Parameter (Index-Group 0x5000+ ID)

Anhang

TwinCAT 3 NC I388 Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Read every UINT32 1 [1 ... 255] Encoder-ID0x00000002 Read every UINT8[30+1] 1 30 Zeichen Encoder-Name0x00000003 Read every UINT32 1 s. ENUM (>0) Encoder-Typ [} 429]0x00000004 Read / Write every UINT32 1 Byteoffset Input-Adress-Offset

(IO-Input-Image)Änderung derIO-Adresse

0x00000005 Read / Write every UINT32 1 Byteoffset Output-Adresse-Offset(IO-Output-Image)

Änderung derIO-Adresse

0x00000006 Read / Write every REAL64 z.B. mm/INC

[1.0E-12 ...1.0E+30]

Resultierender Skalie-rungsfaktor (Zähler /Nenner)

Anm.: ab TC3 be-steht der Skalierungs-faktor aus zwei Kom-ponenten, Zähler undNenner (Default: 1.0).

0x00000007 Read / Write every REAL64 z.B. mm [±1.0E+9] Positionsoffset0x00000008 Read / Write every UINT16 1 [0,1] Geberzählrichtung0x00000009 Read / Write every REAL64 z.B. mm [0.001 ... 1.0E

+9]Modulo-Faktor

0x0000000A Read / Write every UINT32 1 s. ENUM (>0)im Anhang

Encoder Modus[} 430]

0x0000000B Read / Write every UINT16 1 0/1 Softend-Min-Überwa-chung?

0x0000000C Read / Write every UINT16 1 0/1 Softend-Max-Überwa-chung?

0x0000000D Read / Write every REAL64 mm Softendlage Min0x0000000E Read / Write every REAL64 mm Softendlage Max0x0000000F Read / Write every UINT32 1 s. ENUM (≥0)

im AnhangEncoder Auswerterich-tung [} 430] (Freigabelog. Zählrichtung)

0x00000010 Read / Write every REAL64 s [0.0...60.0] Filterzeit fuer Positi-onsistwert in Sekun-den(P-T1)

0x00000011 Read / Write every REAL64 s [0.0...60.0] Filterzeit fuer Ge-schwindigkeitsistwertin Sekunden (P-T1)

0x00000012 Read / Write every REAL64 s [0.0...60.0] Filterzeit fuer Be-schleunigungsistwertin Sekunden (P-T1)

0x00000013 Read / Write every UINT8[10+1] 1 Physikalische Einheit Nicht imple-mentiert!

0x00000014 Read / Write every UINT32 1 Interpretation der Ein-heiten (Position, Ge-schwindigkeit, Zeit)Bit0: Geschwindigkeit inx/min statt x/sBit 1: Position in tau-sendstel der Basisein-heit

Nicht imple-mentiert!Bitarray

0x00000015 Read every UINT32 INC [0x0...0xFFFFFFFF]

Geber-Maske (Maxi-malwert des Geber-Istwertes in Inkremen-ten)

Anm.: Die Geber-Maske darf ein beliebi-ger Zahlenwert sein(z.B. 3600000) undmuss nicht mehr wiein der Vergangenheiteiner durchgehendeFolge von binären Ein-sen entsprechen(2n-1).

NEU

ReadOnly-Pa-rameter

s.a. Param."Geber-Sub-Maske"

0x00000016 Read / Write every UINT16 1 0/1 Istpositionskorrektur(Meßsystemfehlerkor-rektur)?

Anhang

TwinCAT 3 NC I 389Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000017 Read / Write every REAL64 s [0.0...60.0] Filterzeit für Istpositi-onskorrektur in Sekun-den (P-T1)

0x00000018 Read / Write every UINT32 1 [0x0...0xFFFFFFFF]

Filtermaske für rohenInkrementalwert(0x0:voller Durchlass )

0x00000019 Read / Write every UINT32 1 s. ENUM (≥0)im Anhang

Encoder Bezugsmaß-system [} 430]

0x0000001A Read / Write every UINT32 1 s. ENUM (≥0) Encoder Positionsini-tialisierung

Nicht imple-mentiert!

0x0000001B Read / Write every REAL64 z.B. mm [≥0, Modulo-Faktor/2]

Toleranzfenster fürModulo-Start

0x0000001C Read every UINT32 1 s. ENUM (≥0) Encoder Vorzeichen-Interpretation [} 430](Datentyp)

0x0000001D Read every UINT16 1 0/1 Inkremental- oder Ab-solut-Encoder ?0: Inkrementaler Enco-der-Typ1: Absoluter Encoder-Typ

0x00000020 Read / Write every UINT32 1 s. ENUM (≥0) Encoder Totzeitkom-pensations Modus0: Aus (Default)1: Ein (mittels Ge-schwindigkeit)2: Ein (mittels Ge-schwindigkeit und Be-schleunigung)

0x00000021 Read / Write every UINT32 1 Steuerdoppelwort (32Bits) für die EncoderTotzeitkompensation:Bit 0 = 0: relative IOZeiten (Default)Bit 0 = 1: absolute IOZeiten

0x00000022 Read / Write every INT32 ns [±1.0E+9] Summe der parame-trierten zeitlichen Ver-schiebung für die En-coder Totzeitkompen-sation (typischerweisepositive Zahlenwerte)

0x00000023 Read / Write every REAL64 z.B. mm/INC

[1.0E-12 ...1.0E+30]

Komponente des Ska-lierungsfaktors: Zähler(=> SkalierungsfaktorZähler / Skalierungs-faktor Nenner)

NEUab TC3

0x00000024 Read / Write every REAL64 1 [1.0E-12 ...1.0E+30]

Komponente des Ska-lierungsfaktors: Nen-ner(=> SkalierungsfaktorZähler / Skalierungs-faktor Nenner)Default: 1.0

NEUab TC3

0x00000025 Read / Write every {REAL64REAL64} 16 bytes

z.B. mm/INC1

[1.0E-12 ...1.0E+30][1.0E-12 ...1.0E+30]

Komponente des Ska-lierungsfaktors: ZählerKomponente des Ska-lierungsfaktors: Nen-ner(=> SkalierungsfaktorZähler / Skalierungs-faktor Nenner)

NEUab TC3

0x00000030 Read / Write every UINT32 1 Internes Encoder Con-trol Doppelwort zurFestlegung der Be-triebsarten und Eigen-schaften

NEUabTC3

Anhang

TwinCAT 3 NC I390 Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000101 Read / Write INC UINT16 1 [0,1] Suchrichtung fürRef.nocken invers?

0x00000102 Read / Write INC 1 [0,1] Suchrichtung für Syn-cimpuls invers?

0x00000103 Read / Write INC REAL64 z.B. mm [±1.0E+9] Referenzposition0x00000104 Read / Write INC UINT16 1 [0,1] Abstandsüberwa-

chung zwischenRef.nocken und Syn-cimpuls aktiv?

Nicht imple-mentiert!

0x00000105 Read / Write INC UINT32 INC [0 ...65536] MindestabstandRef.nocken zum Syn-cimpuls in Inkremen-ten

Nicht imple-mentiert!

0x00000106 Read / Write INC UINT16 1 [0,1] Externer Syncimpuls?0x00000107 Read / Write INC UINT32 1 s. ENUM (>0) Referenzier Modus

[} 431] s. Anhang

0x00000108 Read / Write INC UINT32 1 [0x0000000F...0xFFFFFFFF]Bi-närmaske: (2n -1)

Geber-Sub-Maske(Maximalwert des Ab-solutbereichs des Ge-ber-Istwertes in Inkre-menten)Wird z.B. verwendetals Referenzmarke fürden Referenzier Mode"Software Sync" undfür die NC Retain Da-ten("ABSOLUTE (MO-DULO)", "INCREMEN-TAL (SINGLETURNABSOLUTE)" ).Anm.1: Die Geber-Sub-Maske muss klei-ner gleich der Geber-Maske sein.Anm.2: Die Geber-Maske muss ein ganz-zahliges Vielfachesder Geber-Sub-Maskesein.Anm.3: Die Geber-Sub-Maske muss ei-ner durchgehendenFolge von binären Ein-sen entsprechen(2n-1), z.B.0x000FFFFF.

NEUs.a. Param."Geber-Maske"

0x00000110 Read / Write INC (Encoder-Simulation)

REAL64 1 [0.0 ...1000000.0]

Skalierung/Gewich-tung des Rauschan-teils für Simulationsen-coder

Anhang

TwinCAT 3 NC I 391Version: 1.0

6.8.5.2 "Index-Offset" Spezifikation für Encoder-Zustand (Index-Group 0x5100 +ID)

Anhang

TwinCAT 3 NC I392 Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Read every INT32 Fehlerstatus Encoder0x00000002 Read every REAL64 Istposition (verrechnet

mit Istpositionskorrek-turwert)

SymbolischerZugriff möglich!'fPosIst'

0x00000003 Read every REAL64 Modulo-Istposition SymbolischerZugriff möglich!'FModuloPosIst'

0x00000004 Read every INT32 Modulo-Istumdrehung SymbolischerZugriff möglich!'nModuloTurns'

0x00000005 Read every REAL64 Optional: Istgeschwin-digkeit

Base Unit / s SymbolischerZugriff möglich!'fVeloIst'

0x00000006 Read every REAL64 Optional: Istbeschleu-nigung

Base Unit / s^2SymbolischerZugriff möglich!'fAccIst'

0x00000007 Read every INT32 Geber-Istinkremente SymbolischerZugriff möglich!'nHardIncs'

0x00000008 Read every INT64 Software-Istinkremen-talzähler

SymbolischerZugriff möglich!'nSoftIncs'

0x00000009 Read / Write every UINT16 Referenzierflag ("Eich-flag")

0x0000000A Read every REAL64 Istpositionskorrektur-wert (Meßsystemfeh-lerkorrektur)

0x0000000B Read every REAL64 Istposition ohne Istpo-sitionskorrekturwert

0x0000000C Read every REAL64 z.B. mm Istpositionskorrektur-wert aufgrund der Tot-zeitkompensation

0x0000000D Read every REAL64 s Summe der zeitlichenVerschiebung für En-coder Totzeitkompen-sation (parametrierte und va-riable Totzeit)Anm.:Eine Totzeit wird imSystem als positiverWert angegeben.

0x0000000E Read every REAL64 z.B. mm Interner Positionsoff-set als Korrekturwertfür eine Werteredukti-on auf die Grundperi-ode (Modulobereich)

0x00000010 Read every REAL64 z.B. mm/s

Istgeschwindigkeitoh-ne Istpositionskorrek-turwert

0x00000012 Read every REAL64 z.B. mm Ungefilterte Istposition(verrechnet mit Istpo-sitionskorrekturwert)

0x00000014 Read Type: SoE,CoE, MDP 742

REAL64 z.B. mm/s

Optional: Antriebs-Ist-geschwindigkeit (direktvom SoE, CoE oderMDP 742 Drive über-tragen)

Base Unit / s

NEU ab TC3.1B4020.30

0x00000015 Read every REAL64 z.B. mm/s

Optional: UngefilterteIstgeschwindigkeit

Base Unit / s

Anhang

TwinCAT 3 NC I 393Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000016 Read every READ(16 byte *N)

Lesen des Istpositi-ons-Puffer

{UINT32 ns ≥0 Zeitstempel (DcTime-

Stamp mit 32 Bit)UINT32 ReserveREAL64 z.B. mm ±∞ Istposition zum zuge-

hörigen Zeitstempel} [N]

0x00000101 Read INC REAL64 z.B. mm Rücklesen der Positi-onsdifferenz zwischenAktivieren und Gültigwerden des Hardware-latches

Nicht oszillo-skopierbar!

0x00000200 Read Write function group"TouchPro-beV2": - SER-COS/SoE, - EtherCAT/CoE (CANo-pen DS402) - SoftDrive(TCom), - MDP 511(EL5101,EL5151,EL5021,EL7041,EL7342)

WRITE(24byte)

read "Touch Probe"state (state of externallatch)

Only for SAF-port 501

{UINT32 1 [1,2,3,4] probe unit (probe 1, 2,

3, 4)UINT32[5] reserved}READ(64 byte){UINT32 1 [0/1] touch probe rising ed-

ge active?UINT32 1 [0/1] touch probe rising ed-

ge became valid?REAL64 e.g. mm touch probe rising ed-

ge position valueUINT32 1 ≥0 touch probe rising ed-

ge counter (conti-nuous mode)

UINT32 reservedUINT32 1 [0/1] touch probe falling ed-

ge active?UINT32 1 [0/1] touch probe falling ed-

ge became valid?REAL64 e.g. mm touch probe falling ed-

ge position valueUINT32 1 ≥0 touch probe falling ed-

ge counter (conti-nuous mode)

UINT32[5] reserved}

0x00000201 Read KL5101, SERCOS, AX2xxx, ProviDrive

UINT16 1 [0,1] "Externe Latch Funkti-on" aktiv ? bzw. "Meßtasterfunktion"aktiv ? (flankenunab-hängig)

Nicht oszillo-skopierbar!

0x00000201 Read CANopen UINT32[4] 1 [0,1] "Externe Latch Funk-tionen 1 bis 4" aktiv ? bzw. "Meßtasterfunktionen1 bis 4" aktiv ?

Nicht oszillo-skopierbar!

0x00000202 Read KL5101, SERCOS, AX2xxx, ProviDrive

UINT16 1 [0,1] Externer Latchwertgültig geworden? bzw. Meßtaster gelatcht ?(flankenunabhängig)

s. a. Achsinter-face NcToPlc(Statusdoppel-wort)

Anhang

TwinCAT 3 NC I394 Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000202 Read CANopen UINT32[4] 1 [0,1] Externe Latchwerte 1bis 4 gültig geworden?bzw.Meßtaster 1 bis 4gelatcht ?

s. a. Achsinter-face NcToPlc(Statusdoppel-wort)

0x00000203 Read KL5101, SERCOS, AX2xxx, ProviDrive

UINT32 INC Externer / MeßtasterHardwareinkremental-latchwert

0x00000204 Read KL5101, SERCOS, AX2xxx, ProviDrive

UINT64 INC Externer / MeßtasterSoftwareinkremental-latchwert

0x00000205 Read KL5101, SERCOS, AX2xxx, ProviDrive

REAL64 z.B. mm Externer / MeßtasterPositionslatchwert

Base Unit

0x00000205 Read CANopen REAL64[4] z.B. mm Externe Meßtaster-werte / Positions-latchwerte

Base Unit

0x00000206 Read KL5101, SERCOS, AX2xxx, ProviDrive

UINT32 INC Differenz Hardwarein-krementallatchwerte(NewLatch - Last-Latch)

Nicht oszillo-skopierbar!

0x00000207 Read KL5101, SERCOS, AX2xxx, ProviDrive

UINT64 INC Differenz Softwarein-krementallatchwerte(NewLatch - Last-Latch)

Nicht oszillo-skopierbar!

0x00000208 Read KL5101, SERCOS, AX2xxx, ProviDrive

REAL64 z.B. mm Differenz Positions-latchwerte (NewLatch- LastLatch)

Nicht oszillo-skopierbar! Ba-se Unit

0x00000210 Read KL5101, AX2xxx, ProviDrive

UINT16 1 [0,1] "Externe Latch Funkti-on" für steigende Flan-keaktiv ? bzw. "Meßtasterfunktion" fürsteigende Flankeak-tiv ?

Nicht oszillo-skopierbar!

0x00000210 Read CANopen UINT16[4] 1 [0,1] "Externe Latch Funkti-on" für steigende Flan-keaktiv ? bzw. "Meßtasterfunktion" fürsteigende Flankeak-tiv ?

Nicht oszillo-skopierbar!

0x00000211 Read KL5101, AX2xxx, ProviDrive

UINT16 1 [0,1] "Externe Latch Funkti-on" für fallende Flan-keaktiv ? bzw. "Meßtasterfunktion" fürfallende Flankeaktiv ?

Nicht oszillo-skopierbar!

0x00000211 Read CANopen UINT16[4] 1 [0,1] "Externe Latch Funkti-on" für fallende Flan-keaktiv ? bzw. "Meßtasterfunktion" fürfallende Flankeaktiv ?

Nicht oszillo-skopierbar!

Anhang

TwinCAT 3 NC I 395Version: 1.0

6.8.5.3 "Index-Offset" Spezifikation für Encoder-Funktionen (Index-Group 0x5200+ ID)

Anhang

TwinCAT 3 NC I396 Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x0000001A Write every { Setze Istposition En-coder/Achse

Base Unit

UINT32 ENUM s. Anhang Istpositionstyp [} 426](s.Anhang)

REAL64 mm ±∞ Istposition für Enco-der/Achse Vorsichtbei Benutzung !

}0x0000001B Write every VOID Reinitialisierung der

Encoder Istposition

Anm.: Wirkung nur beiReferenz System “AB-SOLUTE (with singleoverflow)”.

NEU ab TC3

0x00000200 Write function group"TouchPro-beV2":

- SERCOS/SoE,- EtherCAT/CoE (CANo-pen DS402)- SoftDrive(TCom),- MDP 511(EL5101,EL5151,EL5021,EL7041,EL7342)

{ activate "Touch Pro-be" (external latch)

only for SAF-port 501

UINT32 1 [1,2,3,4] probe unit (probe 1, 2,3, 4)

UINT32 1 [0,1] signal edge (0=risingedge, 1=falling edge)

UINT32 1 [1,2] probe mode (1=single,2=continuous, ...)

UINT32 1 [1,2,3,4;128,129]

signal source (1=input1, 2=input 2, ...)

UINT32 reservedUINT32 reserved} 24 bytes

0x00000201 Write KL5101, SER-COS, AX2xxx,PROFIDrive

VOID Aktiviere "ExternesLatch" bzw.Aktiviere "Messtaster-funktion"(typischerwei-se steigende Flanke)

0x00000201 Write CANopen UINT32[4] Aktiviere "ExternesLatch" 1 bis 4 bzw.Aktiviere "Messtaster-funktion" 1 bis 4(typi-scherweise steigendeFlanke)

0x00000202 Write KL5101, SER-COS AX2xxx,PROFIDrive

VOID Aktiviere "ExternesLatch" bzw.Aktiviere"Messtasterfunkti-on"(fallende Flanke)

0x00000202 Write CANopen UINT32[4] Aktiviere "ExternesLatch" 1 bis 4 bzw.Ak-tiviere "Messtaster-funktion" 1 bis 4(fallen-de Flanke)

0x00000205 Write function group"TouchPro-beV2":

- SERCOS/SoE,- EtherCAT/CoE (CANo-pen DS402)- SoftDrive(TCom),- MDP 511(EL5101,EL5151,EL5021,EL7041,EL7342)

{ deactivate "Touch Pro-be" (external latch)

only for SAF-port 501

UINT32 1 [1,2,3,4] probe unit (probe 1, 2,3, 4)

UINT32 1 [0,1] signal edge (0=risingedge, 1=falling edge)

UINT32 reservedUINT32 reservedUINT32 reservedUINT32 reserved} 24 byte

Anhang

TwinCAT 3 NC I 397Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000205 Write KL5101, SER-COS, AX2xxx,PROFIDrive

VOID Deaktiviere "ExternesLatch" bzw.Deaktiviere"Messtasterfunktion"

0x00000205 Write CANopen UINT32[4] Deaktiviere "ExternesLatch" bzw.Deaktiviere"Messtasterfunktion"

0x00000210 Write KL5101, SER-COS, AX2xxx,PROFIDrive

REAL64 z.B. mm ±∞ Setze "Externes LatchEreignis" und "ExterneLatchposition"

Nur für Simula-tion !

Anhang

TwinCAT 3 NC I398 Version: 1.0

6.8.5.4 "Index-Offset" Spezifikation für zyklische Encoder-Prozessdaten (Index-Group 0x5300 + ID)

Anhang

TwinCAT 3 NC I 399Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000000 Read / Write every (NC→IO) { STRUCT s. En-coder-Interface

ENCODER-OUTPUT-STRUKTUR (NC→IO,40 Byte) NCENCO-DERSTRUCT_OUT2

Write-Befehlnur Optional!Sicherheitsa-spekte beach-ten!

INT32 INC ≥ 0 nDataOut1INT32 INC ≥ 0 nDataOut2UINT8 1 ≥ 0 nCtrl1UINT8 1 ≥ 0 nCtrl2UINT8 1 ≥ 0 nCtrl3UINT8 1 ≥ 0 nCtrl4INT32 INC ≥ 0 nDataOut3INT32 INC ≥ 0 nDataOut4INT32 INC ≥ 0 nDataOut5INT32 INC ≥ 0 nDataOut6UINT8 1 ≥ 0 nCtrl5UINT8 1 ≥ 0 nCtrl6UINT8 1 ≥ 0 nCtrl7UINT8 1 ≥ 0 nCtrl8INT32 ≥ 0 reserviertINT32 ≥ 0 reserviert} 40 Byte

0x00000000 Read / Write every(NC→IO), Op-tionales 64 BitEncoder Inter-face(z.B. MDP513mit 64Bit)

{ STRUCT s. En-coder-Interface

Optionale ENCODER-OUTPUT-STRUKTUR(NC→IO, 80 Byte)NCENCODER-STRUCT_OUT3

Write-Befehlnur Optional!Sicherheitsa-spekte beach-ten! NEU abTC3

UINT64 INC ≥ 0 nDataOut1UINT64 INC ≥ 0 nDataOut2UINT64 INC ≥ 0 nDataOut3UINT64 INC ≥ 0 nDataOut4UINT64 INC ≥ 0 nDataOut5UINT64 INC ≥ 0 nDataOut6UINT64 INC ≥ 0 nDataOut7UINT64 INC ≥ 0 nDataOut8UINT16 1 ≥ 0 nCtrl1UINT16 1 ≥ 0 nCtrl2UINT16 1 ≥ 0 nCtrl3UINT16 1 ≥ 0 nCtrl4UINT16 1 ≥ 0 nCtrl5UINT16 1 ≥ 0 nComCtrlINT32 1 ≥ 0 reserviert} 80 Byte

Anhang

TwinCAT 3 NC I400 Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Write every (NC→IO) { STRUCT s. En-coder-Interface

Bitweiser Zugriff aufENCODER-OUTPUT-STRUKTUR (NC→IO,40 Byte) NCDRIVE-STRUCT_OUT2

NEU:

Write-Befehlnur Optional!Sicherheitsa-spekte beach-ten! NEU abTC3

UINT32 1 [0 … 39] ByteOffset

Relative address off-set [0..39] in drive out-put structure.E.G.: To write “nCon-trol1” the ByteOffsetmust be 8.

UINT32 1 [0x00000000…0xFFFFFFFF]

BitSelectMask (BSM)

The mask defines wri-te enabled bits in aDWORD. Zero bits areprotected and remainunaffected.

UINT32 1 [0x00000000…0xFFFFFFFF]

Value

Only those bits in va-lue are overwrittenwhere BSM equals 1.

}

0x00000080 Read every (IO→NC) { STRUCT s. En-coder-Interface

ENCODER-INPUT-STRUKTUR (IO→NC,40 Byte) NCENCO-DERSTRUCT_IN2

INT32 INC ≥ 0 nDataIn1INT32 INC ≥ 0 nDataIn2UINT8 1 ≥ 0 nState1UINT8 1 ≥ 0 nState2UINT8 1 ≥ 0 nState3UINT8 1 ≥ 0 nState4 (Bit0: Wc-

State, Bit1: InputTog-gle)

INT32 INC ≥ 0 nDataIn3INT32 INC ≥ 0 nDataIn4INT32 INC ≥ 0 nDataIn5INT32 INC ≥ 0 nDataIn6UINT8 1 ≥ 0 nState5UINT8 1 ≥ 0 nState6UINT8 1 ≥ 0 nState7UINT8 1 ≥ 0 nState8INT32 [ns] ≥ 0 nDcInputTime (absolu-

ter/relativer DcInputS-hift für Totzeitkompen-sation)

INT32 ≥ 0 reserviert} 40 Byte

Anhang

TwinCAT 3 NC I 401Version: 1.0

Index-Offset(Hex)

Zugriff Gruppen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000080 Read every(NC→IO), Op-tionales 64 BitEncoder Inter-face(z.B. MDP513mit 64Bit)

{ STRUCT s. En-coder-Interface

Optionale ENCODER-INPUT-STRUKTUR(IO→NC, 80 Byte)NCENCODER-STRUCT_IN3

NEU ab TC3

UINT64 INC ≥ 0 nDataIn1UINT64 INC ≥ 0 nDataIn2UINT64 INC ≥ 0 nDataIn3UINT64 INC ≥ 0 nDataIn4UINT64 INC ≥ 0 nDataIn5UINT64 INC ≥ 0 nDataIn6UINT64 INC ≥ 0 nDataIn7UINT64 INC ≥ 0 nDataIn8UINT16 1 ≥ 0 nState1UINT16 1 ≥ 0 nState2UINT16 1 ≥ 0 nState3UINT16 1 ≥ 0 nState4UINT16 1 ≥ 0 nState5UINT16 1 ≥ 0 nComState (Bit0: Wc-

State, Bit1: InputTog-gle)

INT32 [ns] ≥ 0 nDcInputTime (absolu-ter/relativer DcInputS-hift für Totzeitkompen-sation)

} 80 Byte

Anhang

TwinCAT 3 NC I402 Version: 1.0

6.8.6 Spezifikation Regler

6.8.6.1 "Index-Offset" Spezifikation für Regler-Parameter (Index-Group 0x6000 +ID)

Anhang

TwinCAT 3 NC I 403Version: 1.0

Index-Offset(Hex)

Zugriff Regler- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Read every UINT32 1 [1 ... 255] Regler ID0x00000002 Read every UINT8[30+1] 1 30 Zeichen Regler-Name0x00000003 Read every UINT32 1 s. ENUM (>0) Regler-Typ [} 428]0x0000000A Read / Write every UINT32 1 s. ENUM (>0) Regler-Modus Default:

1=STANDARD0x0000000B Read / Write every REAL64 % [0.0 ... 1.0] Gewichtung der Ge-

schwindigkeitsvor-steuerung (Standard-wert: 1.0 == 100%)

0x00000010 Read / Write every UINT16 1 0/1 Schleppabstand-überw. Pos.?

0x00000011 Read / Write every UINT16 1 0/1 Schleppabstand-überw. Geschw.?

0x00000012 Read / Write every REAL64 mm [0.0…1.0E.6] Max. SchleppabstandPosition

0x00000013 Read / Write every REAL64 s [0.0...600] Max. SchleppfilterzeitPosition

0x00000014 Read / Write every REAL64 mm/s [0.0…1.0E.6] Max. SchleppabstandGeschw.

0x00000015 Read / Write every REAL64 s [0.0...600] Max. SchleppfilterzeitGeschw.

0x00000021 Read / Write every REAL64 1 [0.0...1000000.0]

Skalierungsfaktor(Multiplikator) für Diffe-renz der Schleppab-stände zwischen Mas-ter und Slaveachse(Umrechnung in dasselbe Koordinatensy-tem des Masters)

ReservierteFunktion,kein Standard!

0x00000100 Read / Write P/PID (Pos.,(Geschw.)

REAL64 1 [0.0...1.0] Maximale Ausgabebe-grenzung (±) für Reg-ler-Gesamtausgabe

(Standardwert:0.5 == 50%)

0x00000102 Read / Write P/PID (Pos.) REAL64 (mm/s) /mm

[0.0...1000.0] Proportionalverstär-kung kp bzw. kv

Base Unit / s /Base Unit Posi-tionsregelung

0x00000103 Read / Write PID (Pos.) REAL64 s [0.0 ... 60.0] Nachstellzeit Tn Positionsrege-lung

0x00000104 Read / Write PID (Pos.) REAL64 s [0.0 ... 60.0] Vorhaltzeit Tv Positionsrege-lung

0x00000105 Read / Write PID (Pos.) REAL64 s [0.0 ... 60.0] Verzögerungszeit Td Positionsrege-lung

0x00000106 Read / Write PP (Pos.) REAL64 (mm/s) /mm

[0.0...1000.0] Zusätzlicher Proportio-nalverstärkung kp bzw.kv, die oberhalb einerGrenzgeschwindigkeitin Prozent gilt.

Base Unit / s /Base Unit Posi-tionsregelung

0x00000107 Read / Write PP (Pos.) REAL64 % [0.0...1.0] Schwellgeschwindig-keit in Prozent, ober-halb derer die zusätzli-che Proportionalver-stärkung kp bzw. kv gilt

(Standardwert:0.01 == 1%)

0x00000108 Read / Write P/PID (Acc.) REAL64 s [0.0 ... 100.0] Proportionalverstär-kung ka

Beschleuni-gungs- vor-steuerung

0x0000010A Read / Write every UINT32 1 ENUM Filter für Maximalstei-gung der Sollge-schwindigkeit (be-schleunigungsbe-grenzt):0: Off, 1: Velo,2: Pos+Velo

ReservierteFunktion,kein Standard!

0x0000010B Read / Write every REAL64 mm/s^2 Filterwert für die Maxi-malsteigung der Soll-geschwindigkeit (Maxi-malbeschleunigung)

ReservierteFunktion,kein Standard!

Anhang

TwinCAT 3 NC I404 Version: 1.0

Index-Offset(Hex)

Zugriff Regler- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x0000010D Read / Write P/PID REAL64 mm [0.0 ... 10000.0] Totzone ("dead band")für Positionsfehler(Regelabweichung)(für P/PID-Regler mitGeschwindigkeits-oder Momenteninter-face)

ReservierteFunktion

0x0000010F Read / Write P/PP/PID(Pos.)Slave-Regelung

REAL64 (mm/s) /mm

[0.0...1000.0] Slave-Koppeldifferenz-regelung:Proportionalverstär-kung kcp

Slave-Koppel-differenzrege-lung

0x00000110 Read / Write P (Pos.) UINT16 1 0/1 Automatischer Offset-abgleich: aktiv/passiv

0x00000111 Read / Write P (Pos.) UINT16 1 0/1 Automatischer Offset-abgleich: Halte-Modus

0x00000112 Read / Write P (Pos.) UINT16 1 0/1 Automatischer Offset-abgleich: Fading-Mo-dus

0x00000114 Read / Write P (Pos.) REAL64 % [0.0 ... 1.0] Automatischer Offset-abgleich: Vorsteuer-Grenze

(Standardwert:0.05 == 5%)

0x00000115 Read / Write P (Pos.) REAL64 s [0.1 ... 60.0] Automatischer Offset-abgleich: Zeitkonstan-te

0x00000116 Read / Write PID (Pos.) REAL64 % [0.0...1.0] Maximale Ausgabebe-schränkung (±) für I-Anteil in Prozent(Defaulteinstellung:0.1 == 10%)

0x00000117 Read / Write PID (Pos.) REAL64 % [0.0...1.0] Maximale Ausgabebe-schränkung (±) für D-Anteil in Prozent(Defaulteinstellung:0.1 == 10%)

0x00000118 Read / Write PID (Pos.) UINT16 1 0/1 Abschalten des I-An-teils während einesaktiven Positioniervor-ganges (sofern I-Anteilaktiv)? (Defaulteinstel-lung: 0 = FALSE)

0x00000120 Read / Write PID (Pos.) REAL64 s ≥0 PT-1 Filterwert für Po-sitionsfehler (Pos.-Re-geldifferenz)

ReservierteFunktion,kein Standard!

0x00000202 Read / Write P/PID (Ge-schw.)

REAL64 1 [0.0...1000.0] Proportionalverstär-kung kp bzw. kv

Geschwindig-keits- regelung

0x00000203 Read / Write PID (Geschw.) REAL64 s [0.0 ... 60.0] Nachstellzeit Tn Geschwindig-keits- regelung

0x00000204 Read / Write PID (Geschw.) REAL64 s [0.0 ... 60.0] Vorhaltzeit Tv Geschwindig-keits- regelung

0x00000205 Read / Write PID (Geschw.) REAL64 s [0.0 ... 60.0] Verzögerungszeit Td Geschwindig-keits- regelung

0x00000206 Read / Write PID (Geschw.) REAL64 % [0.0...1.0] Maximale Ausgabebe-schränkung (±) fuer I-Anteil in Prozent(Defaulteinstellung:0.1 == 10%)

Geschwindig-keits- regelung

0x00000207 Read / Write PID (Geschw.) REAL64 % [0.0...1.0] Maximale Ausgabebe-schränkung (±) fuer D-Anteil in Prozent(Defaulteinstellung:0.1 == 10%)

Geschwindig-keits- regelung

Anhang

TwinCAT 3 NC I 405Version: 1.0

Index-Offset(Hex)

Zugriff Regler- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x0000020D Read / Write P/PID (Ge-schw.)

REAL64 mm/s [0.0 ... 10000.0] Totzone ("dead band")für Geschwindigkeits-fehler (Regelabwei-chung)(für P/PID-Regler mitGeschwindigkeits-oder Momenteninter-face)

ReservierteFunktion

0x00000220 Read / Write P/PID (Ge-schw.)

REAL64 s ≥0 PT-2 Filterwert für Ge-schwindigkeitsfehler(Geschw.-Regeldiffe-renz)

Geschwindig-keits- regelung,kein Standard!

0x00000221 Read / Write P/PID (Ge-schw.)

REAL64 s ≥0 PT-1 Filterwert für Ge-schwindigkeitsfehler(Geschw.-Regeldiffe-renz)

ReservierteFunktion,kein Standard!

0x00000250 Read / Write P/PI (Beobach-ter)

UINT32 1 s. ENUM (≥0) Beobachter-Modus[} 428] für Regelungim Momenten-Inter-face

0: OFF (default)1: LUENBERGER

0x00000251 Read / Write P/PI (Beobach-ter)

REAL64 Nm / A >0.0 Motor:DrehmomentkonstanteKT

0x00000252 Read / Write P/PI (Beobach-ter)

REAL64 kg m2 >0.0 Motor:Trägheitsmoment JM

0x00000253 Read / Write P/PI (Beobach-ter)

REAL64 Hz [100.0 ...2000.0] Default:500

Bandbreite f0

0x00000254 Read / Write P/PI (Beobach-ter)

REAL64 1 [0.0 ... 2.0]Default: 1.0

Korrekturfaktor kc

0x00000255 Read / Write P/PI (Beobach-ter)

REAL64 s [0.0 ... 0.01]Default: 0.001

Geschwindkeits-Filter(1. Ordnung):Zeitkonstante T

0x00000A03 Read / Write PID (MW) REAL64 cm^2 [0.0 ...1000000] Zylinderfläche AA derA-Seite in cm^2

0x00000A04 Read / Write PID (MW) REAL64 cm^2 [0.0 ...1000000] Zylinderfläche AB derB-Seite in cm^2

0x00000A05 Read / Write PID (MW) REAL64 cm^3/s [0.0 ...1000000] NennvolumenstromQnenn in cm^3/s

0x00000A06 Read / Write PID (MW) REAL64 bar [0.0 ...1000000] Nenndruck bzw. Ven-tildruckabfall Pnenn inbar

0x00000A07 Read / Write PID (MW) UINT32 1 [1 ... 255] Achs-ID für den Sys-temdruck Po

Anhang

TwinCAT 3 NC I406 Version: 1.0

6.8.6.2 "Index-Offset" Spezifikation für Regler-Zustand (Index-Group 0x6100 + ID)

Anhang

TwinCAT 3 NC I 407Version: 1.0

Index-Offset(Hex)

Zugriff Regler- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Read every INT32 Fehlerstatus Regler[} 286]

SymbolischerZugriff mög-lich!'nErrState'

0x00000002 Read every REAL64 z.B. mm/s

Reglerausgabe in ab-soluten Einheiten

Base Unit /sSymbolischerZugriff möglich!'fOutput'

0x00000003 Read every REAL64 % Reglerausgabe in Pro-zent

Nicht oszillo-skopierbar!

0x00000004 Read every REAL64 V Reglerausgabe in Volt Nicht oszillo-skopierbar!

0x0000000D Read every REAL64 mm Schleppabstand Posi-tion(ohne Totzeitkom-pensation)

Base Unit

0x0000000E Read every REAL64 mm Schleppabstand Posi-tion (ohne Sollpositi-onskorrektur)

Base Unit

0x0000000F Read every REAL64 mm Schleppabstand Posi-tion (mit Sollpositions-korrektur und mit Tot-zeitkompensation)

Base UnitSym-bolischer Zugriffmöglich!'fPosDiff'

0x00000010 Read every REAL64 mm PeakHold-Wert fürmaximalen negativenSchleppabstand derPosition

Base Unit

0x00000011 Read every REAL64 mm PeakHold-Wert für mi-nimalen positivenSchleppabstand derPosition

Base Unit

0x00000012 Read every REAL64 mm/s Schleppabstand Ge-schwindigkeit

Base Unit / s

0x00000021 Read every REAL64 mm Differenz (Abwei-chung) der Positions-Schleppabstände zwi-schen Master- undSlaveachse (Master-minus Slaveschlepp-abstand)

Base UnitSym-bolischer Zugriffüber Achsemöglich! fPosDiffCouple

0x00000022 Read every REAL64 mm PeakHold-Wert fürmaximale negativeDifferenz der Schlepp-abstände (Position)zwischen Master- undSlaveachse

Base Unit

0x00000023 Read every REAL64 mm PeakHold-Wert fürmaximale positive Dif-ferenz der Schleppab-stände (Position) zwi-schen Master- undSlaveachse

Base Unit

0x00000101 Read P/PID (Pos.) REAL64 z.B. mm/s

P-Anteil des Reglersin absoluten Einheiten

0x00000102 Read PID (Pos.) REAL64 z.B. mm/s

I-Anteil des Reglers inabsoluten Einheiten

0x00000103 Read PID (Pos.) REAL64 z.B. mm/s

D-Anteil des Reglersin absoluten Einheiten

0x00000104 Read PID (Pos.) UINT16 1 0/1 Begrenzung des I-An-teils aktiv?

0x00000105 Read PID (Pos.) UINT16 1 0/1 Begrenzung des D-Anteils aktiv?

0x00000106 Read PID (Pos.) UINT16 1 0/1 ARW-Massnahmendes I-Anteils aktiv?

ARW: Anti Re-set Windup

0x0000010F Read P/PP/PID (Ge-schw.)

REAL64 z.B. mm/s

Anteil des automati-schen Offsetabgleichsin absoluten Einheiten

NEU

Anhang

TwinCAT 3 NC I408 Version: 1.0

Index-Offset(Hex)

Zugriff Regler- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000110 Read PID (Pos.) REAL64 z.B. mm/s

Beschleunigungsvor-steuerung Yacc desReglers in absolutenEinheiten Anmerkung:Funktion abhaengigvom Reglertyp!

Beschleuni-gungs- vor-steuerung

0x00000111 Read PP (Pos.) REAL64 mm/s/mm

≥0 Interne interpolierteProportionalverstär-kung kp bzw. kv

PP-Regler

0x0000011A0x0000011B0x0000011C0x0000011D0x0000011E0x0000011F0x000001200x000001210x000001220x000001230x00000124

Read P (Pos.) UINT32REAL64REAL64REAL64REAL64REAL64REAL64REAL64REAL64REAL64REAL64

1mmmm/smm/smm/s^2mmmmmm/smm/s^2mm/smm/s^2

Sollgeschwindigkeits-filter:InternalPhaseInternalPosSollError !TestVeloSollInternalLimitedVelo-SollInternalAccSollRelInternalPosSollRelPosSollCorrected !VeloSollCorrected !AccSollCorrected !TestVeloSollCorrectedTestAccSollCorrected

Auflistung !Re-servierte Funk-tion,kein Standard!

0x00000201 Read P,PID (Ge-schw.)

REAL64 z.B. mm/s

Geschwindigkeitsan-teil des Reglers

Base Unit / s

0x00000202 Read P,PID (Ge-schw.)

REAL64 % Geschwindigkeitsan-teil des Reglers in Pro-zent

Nicht oszillo-skopierbar!

0x00000203 Read P,PID (Ge-schw.)

REAL64 V Geschwindigkeitsan-teil des Reglers in Volt

Nicht oszillo-skopierbar!

0x00000201 Read P/PID (Ge-schw.)

REAL64 z.B. mm/s

P-Anteil des Reglersin absoluten Einheiten

0x00000202 Read P/PID (Ge-schw.)

REAL64 z.B. mm/s

I-Anteil des Reglers inabsoluten Einheiten

0x00000203 Read P/PID (Ge-schw.)

REAL64 z.B. mm/s

D-Anteil des Reglersin absoluten Einheiten

0x00000204 Read P/PID (Ge-schw.)

UINT16 1 0/1 Begrenzung des I-An-teils aktiv?

0x00000205 Read P/PID (Ge-schw.)

UINT16 1 0/1 Begrenzung des D-Anteils aktiv?

0x00000206 Read P/PID (Ge-schw.)

UINT16 1 0/1 ARW-Massnahmendes I-Anteils aktiv?

ARW: Anti Re-set Windup

0x0000020A Read P/PID (Ge-schw.)

REAL64 z.B. mm/s

Gesamteingangsgrö-ße des Geschwindig-keits-Reglers

0x00000250 Read P/PI (Beobach-ter)

REAL64 z.B. mm Beobachter: Positions-differenz (Ist-Position -Beobachter-Position

0x00000251 Read P/PI (Beobach-ter)

REAL64 z.B. mm Beobachter: Position

0x00000252 Read P/PI (Beobach-ter)

REAL64 z.B. mm/s

Beobachter: Ge-schwindigkeit 2(für P-Anteil)

0x00000253 Read P/PI (Beobach-ter)

REAL64 z.B. mm/s

Beobachter: Ge-schwindigkeit 1(für I-Anteil)

0x00000254 Read P/PI (Beobach-ter)

REAL64 z.B. mm/s^2

Beobachter: Beschleu-nigung

0x00000255 Read P/PI (Beobach-ter)

REAL64 A Beobachter: Motor-Ist-Strom

0x00000256 Read P/PI (Beobach-ter)

UINT16 1 0/1 Beobachter: Begren-zung des I-Anteils ak-tiv?

Anhang

TwinCAT 3 NC I 409Version: 1.0

Index-Offset(Hex)

Zugriff Regler- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000A00 Read PID (MW) REAL64 % [-1.0...1.0] Verrechnung der Soll-geschwindigkeit (Vor-steuerung) in Prozent

0x00000A01 Read PID (MW) REAL64 z.B. mm/s

P-Anteil des Reglersin absoluten Einheitenoder Prozent (je nachAusgabegewichtung)

0x00000A02 Read PID (MW) REAL64 z.B. mm/s

I-Anteil des Reglers inabsoluten Einheitenoder Prozent (je nachAusgabegewichtung)

0x00000A03 Read PID (MW) REAL64 z.B. mm/s

D-Anteil des Reglersin absoluten Einheitenoder Prozent (je nachAusgabegewichtung)

0x00000A04 Read PID (MW) UINT16 1 0/1 Begrenzung des I-An-teils aktiv?

0x00000A05 Read PID (MW) UINT16 1 0/1 Begrenzung des D-Anteils aktiv?

0x00000A10 Read PID (Pos.) REAL64 z.B. mm/s

Beschleunigungsvor-steuerung Yacc desReglers in absolutenEinheiten

Beschleuni-gungs- vor-steuerung

6.8.6.3 "Index-Offset" Spezifikation für Regler-Funktionen (Index-Group 0x6200+ID)

Index-Offset(Hex)

Zugriff Regler- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

Anhang

TwinCAT 3 NC I410 Version: 1.0

6.8.7 Spezifikation Drive

6.8.7.1 "Index-Offset" Spezifikation für Drive-Parameter (Index-Group 0x7000 +ID)

Anhang

TwinCAT 3 NC I 411Version: 1.0

Index-Offset(Hex)

Zugriff Drive- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Read every UINT32 1 [1 ... 255] Drive ID0x00000002 Read every UINT8[30+1] 1 30 Zeichen Drive-Name0x00000003 Read every UINT32 1 s. ENUM (>0) Drive-Typ [} 432]0x00000004 Read / Write every UINT32 1 Byteoffset Input-Adress-Offset

(IO-Input-Image)Änderung derIO-Adresse

0x00000005 Read / Write every UINT32 1 Byteoffset Output-Adresse-Offset(IO-Output-Image)

Änderung derIO-Adresse

0x00000006 Read / Write every UINT16 1 [0,1] Motorpolarität0x0000000A Read / Write every UINT32 1 s. ENUM (>0) Drive-Modus Default:

1=STANDARD0x0000000B Read / Write every REAL64 % [-1.0 ... 1.0] Minimale Ausgabe-

schranke (Ausgabeli-mitierung) (Defaultein-stellung: -1.0 ==-100%)

0x0000000C Read / Write every REAL64 % [-1.0 ... 1.0] Maximale Ausgabe-schranke (Ausgabeli-mitierung) (Defaultein-stellung: 1.0 == 100%)

0x0000000D Read every UINT32 INC Maximale Anzahl vonAusgabeinkrementen(Ausgabemaske)

0x00000010 Read / Write every UINT32 1 Internes Drive ControlDoppelwort zur Festle-gung der Antriebs-Be-triebsarten

Reserviert !

0x00000011 Read / Write every UINT32 1 ≥ 5 Interner Drive ResetZähler(Zeit in NC-Zyklen fürEnable und Reset)

Reserviert !

0x00000020 Read / Write every UINT32 1 s. ENUM (≥0)s. Anhang

Drive Totzeitkompen-sations Modus0: Aus (Default)1: Ein (mittels Ge-schwindigkeit)2: Ein (mittels Ge-schwindigkeit und Be-schleunigung)

0x00000021 Read / Write every UINT32 1 Steuerdoppelwort (32Bits) für die Drive Tot-zeitkompensation: Bit0 = 0: relative IO Zei-ten (Default)Bit 0 = 1: absolute IOZeiten

0x00000022 Read / Write every INT32 ns [±1.0E+9] Summe der parame-trierten zeitlichen Ver-schiebung für dieDrive Totzeitkompen-sation (typischerweisepositive Zahlenwerte)

0x00000031 Read / Write every REAL64 z.B. %/INC

[-1.0E+30 ...1.0E+30]

Skalierungsfaktor fürDrehmoment-Istwertvom Antrieb(bzw. Kraft- oderStrom-Istwert) z.B.AX5xxx: 0.1 =>±100%

NEU ab TC3.1

0x00000032 Read / Write every REAL64 s [0.0 ... 60.0] P-T1 Filterzeit fürDrehmoment-Istwert(bzw. Kraft- oderStrom-Istwert)

NEU ab TC3.1

0x00000033 Read / Write every REAL64 s [0.0 ... 60.0] P-T1 Filterzeit für zeit-liches Ableitung desDrehmoment-Istwert(bzw. Kraft- oderStrom-Istwert)

NEU ab TC3.1

Anhang

TwinCAT 3 NC I412 Version: 1.0

Index-Offset(Hex)

Zugriff Drive- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000101 Read / Write Servo REAL64 z.B. mm/s

>0.0 Bezugsgeschwindig-keit bei Bezugs- bzw.Referenzoutput (Ge-schwindigkeitsvor-steuerung)

Base Unit / s

0x00000102 Read / Write Servo REAL64 % [0.0 ... 5.0] Bezugs- bzw. Refe-renzoutput in Prozent

0x00000103 Read Servo REAL64 z.B. mm/s

>0.0 Resultierende Ge-schwindigkeit bei100% Output

Base Unit / s

0x00000104 Read / Write Servo REAL64 z.B. mm/s

±∞ Geschwindigkeitsoff-set (DAC-Offset) fürDriftabgleich (Offset-abgleich) der Achse

Base Unit / s

0x00000105 Read / Write Servo (Sercos,Profi Drive,AX200x, CANo-pen)

REAL64 1 [0.0 ...100000000.0]

Geschwindigkeitsska-lierung (Skalierungs-faktor um auf Wich-tung im Antrieb zu rea-gieren)

Für Sercos,Profi Drive,AX200x, CANo-pen

0x00000106 Read / Write Profi Drive DSC UINT32 0.001 *1/s

≥ 0 Profibus/Profi DriveDSC: Lageregelver-stärung Kpc

Nur für ProfiDrive DSC

0x00000107 Read / Write Profi Drive DSC REAL64 1 ≥ 0.0 Profibus/Profi DriveDSC: Skalierung fürBerechnung von'XERR' (Default: 1.0)

Nur für ProfiDrive DSC

0x00000109 Read / Write Servo REAL64 1 [0.0 ...100000000.0]

Positionsskalierung(Skalierungsfaktor umauf Wichtung im An-trieb zu reagieren)

Für Sercos,CANopen

0x0000010A Read / Write Servo REAL64 1 [0.0 ...100000000.0]

Beschleunigungsska-lierung (Skalierungs-faktor um auf Wich-tung im Antrieb zu rea-gieren)

Für Sercos,Profi Drive,AX200x, CANo-pen

0x0000010B Read / Write Servo REAL64 1 [0.0 ...100000000.0]

Drehmomentskalie-rung (rot. Motor) bzw.Kraftskalierung (Line-armotor) (Skalierungs-faktor um auf Wich-tung im Antrieb zu rea-gieren)

Für Sercos,Profi Drive,AX200x, CANo-pen

0x0000010D Read / Write Servo (Sercos,CANopen)

REAL64 s [0.0 ... 1.0] Verzögerungszeit fürDrive-Geschwindig-keitsausgabe

Für Sercos,CANopen

0x0000010E Read / Write Servo (Sercos,CANopen)

REAL64 s [0.0 ... 1.0] Verzögerungszeit fürDrive-Beschleuni-gungsausgabe

Für Sercos,CANopen

0x0000010F Read / Write Servo (Sercos,CANopen)

REAL64 s [0.0 ... 1.0] Verzögerungszeit fürDrive-Drehmoment-ausgabe bzw. Kraft-ausgabe

Für Sercos,CANopen

0x00000120 Read / Write Servo/ Hydrau-lik/

UINT32 1 ≥ 0 Tabellen-ID(0: keine Tabelle)

Nur für KL4xxx,M2400, Univer-sal

0x00000121 Read / Write Servo/ Hydrau-lik

UINT32 1 ≥ 0 Interpolation-Type 0:Linear2: Spline

Nur für KL4xxx,M2400, Univer-sal

0x00000122 Read / Write Servo/ Hydrau-lik

REAL64 % [-1.0 ... 1.0] Ausgabeoffset in Pro-zent Anmerkung:Wirkt nach der Kennli-nienauswertung !

Nur für KL4xxx,M2400, Univer-sal

0x00000151 Read / Write Servo / Nichtli-near

REAL64 1 [0.0 ... 100.0] Quadrantenaus-gleichsfaktor (Verhält-nis zwischen I und IIIQuadr.)

Anhang

TwinCAT 3 NC I 413Version: 1.0

Index-Offset(Hex)

Zugriff Drive- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000152 Read / Write Servo / Nichtli-near

REAL64 1 [0.01 ... 1.0] Geschwindigkeits-Stützstelle in Prozent(1.0 == 100%)

0x00000153 Read / Write Servo / Nichtli-near

REAL64 1 [0.01 ... 1.0] Ausgabe-Stützstelle inProzent(1.0 == 100%)

0x00000301 Read / Write Schrittmotor UINT8 Bit-Maske: Zyklus 10x00000302 Read / Write Schrittmotor UINT8 Bit-Maske: Zyklus 20x00000303 Read / Write Schrittmotor UINT8 Bit-Maske: Zyklus 30x00000304 Read / Write Schrittmotor UINT8 Bit-Maske: Zyklus 40x00000305 Read / Write Schrittmotor UINT8 Bit-Maske: Zyklus 50x00000306 Read / Write Schrittmotor UINT8 Bit-Maske: Zyklus 60x00000307 Read / Write Schrittmotor UINT8 Bit-Maske: Zyklus 70x00000308 Read / Write Schrittmotor UINT8 Bit-Maske: Zyklus 80x00000310 Read / Write Schrittmotor UINT8 Bit-Maske: Haltestrom

6.8.7.2 "Index-Offset" Spezifikation für Drive-Zustand (Index-Group 0x7100 + ID)

Index-Offset(Hex)

Zugriff Drive- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Read every INT32 Fehlerstatus Drive SymbolischerZugriff mög-lich!'nErrState'

0x00000002 Read every REAL64 z. B.mm/s

Gesamtausgabe in ab-soluten Einheiten

Base Unit / sSymbolischerZugriff mög-lich!'fOutput'

0x00000003 Read every REAL64 % Gesamtausgabe inProzent

0x00000004 Read every REAL64 V Gesamtausgabe inVolt

Nicht oszillo-skopierbar!

0x00000005 Read every REAL64 z. B.mm/s

PeakHold-Wert fürmaximale negativeGesamtausgabe

Base Unit / s

0x00000006 Read every REAL64 z. B.mm/s

PeakHold-Wert fürmaximale positive Ge-samtausgabe

Base Unit / s

0x00000007 Read every REAL64 z.B.100%=1000,z.B. Nmbzw. N

Ist-Moment bzw. Ist-Kraft (typisch100%=1000)

NEU

0x0000000C Read every REAL64 z.B. mm Soll-Positionskorrek-turwert für Drive Aus-gabe aufgrund derTotzeitkompensation

0x0000000D Read every REAL64 s Summe der zeitlichenVerschiebung fürDrive Totzeitkompen-sation(parametrierte und va-riable Totzeit)Anm.:Eine Totzeit wird imSystem als positiverWert angegeben.

0x00000013 Read every REAL64 % Gesamtausgabe inProzent (nach nichtli-nearer Kennlinie !)

0x00000014 Read every REAL64 V Gesamtausgabe inVolt (nach nichtlinea-rer Kennlinie !)

Nicht oszillo-skopierbar!

Anhang

TwinCAT 3 NC I414 Version: 1.0

6.8.7.3 "Index-Offset" Spezifikation für Drive-Funktionen (Index-Group 0x7200 +ID)

Index-Offset(Hex)

Zugriff Drive- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000102 Write SERVO { Austragen und Lö-schen der Kennlinien-Tabelle im Drive

nur für SAF-Port 501!

ULONG 1 >0 Tabellen-IDs. Achs-Funktion mitIndex-Offset0x00000012

}

Anhang

TwinCAT 3 NC I 415Version: 1.0

6.8.7.4 "Index-Offset" Spezifikation für zyklische Drive-Prozessdaten (Index-Group 0x7300 + ID)

Anhang

TwinCAT 3 NC I416 Version: 1.0

Index-Offset(Hex)

Zugriff Drive- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000000 Read / Write every (NC→IO) { STRUCT s.Drive-Interface

DRIVE-OUTPUT-STRUKTUR (NC→IO,40 Byte) NCDRIVE-STRUCT_OUT2

Write-Befehlnur Optional!Sicherheitsa-spekte beach-ten!

INT32 INC ≥ 0 nOutData1INT32 INC ±2^31 nOutData2UINT8 1 ≥ 0 nControl1UINT8 1 ≥ 0 nControl2UINT8 1 ≥ 0 nControl3UINT8 1 ≥ 0 nControl4INT32 INC ≥ 0 nOutData3INT32 INC ≥ 0 nOutData4INT32 INC ≥ 0 nOutData5INT32 INC ≥ 0 nOutData6UINT8 1 ≥ 0 nControl5UINT8 1 ≥ 0 nControl6UINT8 1 ≥ 0 nControl7UINT8 1 ≥ 0 nControl8INT32 1 ≥ 0 reserviertINT32 1 ≥ 0 reserviert}

0x00000001 Write every (NC→IO) { STRUCT s.Drive-Interface

Bitweiser Zugriff aufDRIVE-OUTPUT-STRUKTUR (NC→IO,40 Byte) NCDRIVE-STRUCT_OUT2

NEU:

Write-Befehlnur Optional!Sicherheitsa-spekte beach-ten!

UINT32 1 [0 … 39] ByteOffset

Relative address off-set [0..39] in drive out-put structure.E.G.: To write “nCon-trol1” the ByteOffsetmust be 8.

UINT32 1 [0x00000000…0xFFFFFFFF]

BitSelectMask (BSM)

The mask defines wri-te enabled bits in aDWORD. Zero bits areprotected and remainunaffected.

UINT32 1 [0x00000000…0xFFFFFFFF]

Value

Only those bits in va-lue are overwrittenwhere BSM equals 1.

}

Anhang

TwinCAT 3 NC I 417Version: 1.0

Index-Offset(Hex)

Zugriff Drive- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000080 Read every (IO→NC) { STRUCT s.Drive-Interface

DRIVE-INPUT-STRUKTUR (IO→NC,40 Byte)NCDRIVE-STRUCT_IN2

INT32 INC ≥ 0 nInData1INT32 INC ±2^31 nInData2UINT8 1 ≥ 0 nStatus1UINT8 1 ≥ 0 nStatus2UINT8 1 ≥ 0 nStatus3UINT8 1 ≥ 0 nStatus4INT32 INC ≥ 0 nInData3INT32 INC ≥ 0 nInData4INT32 INC ≥ 0 nInData5INT32 INC ≥ 0 nInData6UINT8 1 ≥ 0 nStatus5UINT8 1 ≥ 0 nStatus6UINT8 1 ≥ 0 nStatus7UINT8 1 ≥ 0 nStatus8INT32 1 ≥ 0 reserviertINT32 1 ≥ 0 reserviert}

Anhang

TwinCAT 3 NC I418 Version: 1.0

6.8.8 Spezifikation Tabellen

6.8.8.1 "Index-Offset" Spezifikation für Tabellen-Parameter (Index-Group 0xA000+ ID)

Anhang

TwinCAT 3 NC I 419Version: 1.0

Index-Offset( Hex )

Zugriff Tabellen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000001 Read every UINT32 1 [1 ... 255] Tabellen ID0x00000002 Read every UINT8[30+1] 1 30 Zeichen Tabellen-Name0x00000003 Read every UINT32 1 s. ENUM (>0) Tabellen-Untertypen

[} 433]0x00000004 Read every UINT32 1 s. ENUM (>0) Tabellen-Haupttypen

[} 433]

0x00000010 Read every UINT32 1 [0... 16777216] Anzahl von Zeilen (n)0x00000011 Read every UINT32 1 [0... 16777216] Anzahl von Spalten

(m)0x00000012 Read every UINT32 1 ≥0 Anzahl von Gesamt-

elementen (n*m)0x00000013 Read äquidistante

Tab.REAL64 z.B. mm ≥0.0 Schrittweite (Positi-

ons-Delta) (äquidistan-te Tabellen)

Base Unit

0x00000014 Read zyklische Tab. REAL64 z.B.Grad

≥0.0 Masterperiode (zykli-sche Tabellen)

Base Unit

0x00000015 Read zyklische Tab. REAL64 z.B.Grad

≥0.0 Slave differenz proMaster periode (zykli-sche Tabellen)

Base Unit

0x0000001A Read /Write "Motion Functi-on" (Bewe-gungs-gesetze)

{ Aktivierungstyp fürOnline-Änderungenvon Tabellendaten(nur MF)

Geändert abTC3

UINT32 ENUM s. Anhang Aktivierungstyp 0: 'instanta-neous' (default) 1: 'master cam pos.' 2: 'master' axis pos.' 3: 'next cycle' 4: 'next cycle once' 5: 'as soon as possi-ble' 6: 'off' 7: 'delete queued data'

UINT32 Reserve (TC3)REAL64 z.B. mm ± ∞ AktivierungspositionUINT32 ENUM s. Anhang Master Skalierungstyp

0: user defined(default) 1: scaling with autooffset 2: off

UINT32 ENUM s. Anhang Slave Skalierungstyp 0: user defined(default) 1: scaling with autooffset 2: off

}

0x00000020 Read /Write every { Schreiben Einzelwert[n,m]:

UINT32 1 [0 ... 16777216] n-te ZeileUINT32 1 [0 ... 16777216] m-te SpalteREAL64 z.B. mm ± ∞ Einzelwert}

0x00000021 ReadWrite every *REAL64 z.B. mm ± ∞ Slave position zu rvorgegebenen Masterposition lesen (beziehtsich auf "Rohwerte"der Tabelle)

Anhang

TwinCAT 3 NC I420 Version: 1.0

Index-Offset( Hex )

Zugriff Tabellen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000022 ReadWrite "Motion Functi-on" (Bewe-gungs-gesetze)

Write Lesen der "MotionFunction" als "Punkte-wolke"

Nur zeilenweisemöglich! (ganzzahligesvielfaches)

Geändert inTC3

{UINT 16 1 0 /1 Konsistente Daten-

übernahme veranlas-sen?

UINT16 1 Bitmask ( ≥ 0) Auswahl-Bitmaske(Spaltenanzahl m istMasterposition plusAnzahl Bits):Bit 0: Pos(Slave) Bit 1: Velo (Slave) Bit 2: Acc (Slave) Bit 3: Jerk (Slave)

UINT32 Reserve (TC3)REAL64 z.B. mm ± ∞ Startposition (Master)REAL64 z.B. mm > 0.0 Schrittweite}Read{REAL64[x*m] z.B. mm ± ∞ Lesen von x Zeilen ab

der Master-Startpositi-on : (x*m)-Werte (eineoder mehrere Zeilen)

}0x00000023 ReadWrite every Write Slavewert e zu r vor-

gegebenen Master po-sition lesen (beziehtsich auf "Rohwerte"der Tabelle)

REAL64 z.B. mm ± ∞ MasterpositionRead{REAL64 z.B. mm ± ∞ SlavepositionREAL64 mm/s ± ∞ SlavegeschwindigkeitREAL64 mm/s^2 ± ∞ Slavebeschleunigung}

0x00000050 Read /Write every REAL64 [64] 1 ± ∞ CharakteristischeKennwerte der Tabelle[} 435]

0x00000050 ReadWrite every Write Lesen der Charakte-ristischen Kennwerteeiner Tabelle in Ab-hängigkeit der nomi-nalen Masterge-schwindigkeit

Geändert abTC3

REAL64 [64] ... ± ∞ Optionale nominaleMasterbezugsge-schwindigkeit "fMas-terVeloNom" (normiert=> 1.0 mm/s), die restlichen Elementwerden nicht ausge-wertet

ReadREAL64 [64] ... ± ∞ Lesen der Charakteris-

tische Kennwerte einerTabelle [} 435]

Anhang

TwinCAT 3 NC I 421Version: 1.0

Index-Offset( Hex )

Zugriff Tabellen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00000115 Write monoton linear,monoton zykl.,

{ Setzen/Ändern der Ta-bellen-Skalierung:

REAL64 1 [ ± 1000000.0] Originalgewichtungder Tabelle

REAL64 z.B. mm [ ± 1000000.0] Positionsoffset derMasterspalte

REAL64 1 [ ± 1000000.0] Skalierung der Master-spalte

REAL64 z.B. mm [ ± 1000000.0] Positionsoffset derSlavespalte

REAL64 1 [ ± 1000000.0] Skalierung der Slaves-palte

REAL64 z.B. mm [ ± 1000000.0] Untere Bereichsgren-ze (Anfangsposition)

REAL64 z.B. mm [ ± 1000000.0] Obere Bereichsgrenze(Endposition)

}

0x01000000+n-te Startzeile

Read / Wri-te[<=16777216]

every { REAL64[x*m] } z.B. mm

± ∞ Lesen/Schreiben vonx Zeilen ab der n-tenZeile: (x*m)-Werte (ei-ne oder mehrere Zei-len)Wertebereich n:[0 ... 16777216]

Nur zeilenweisemöglich! (ganz-zahliges vielfa-ches)

0x02000000+m-te Startspal-te

Read / Wri-te[<=16777216]

every { REAL64[x*n] } z.B. mm

± ∞ Lesen/Schreiben xSpalten ab der m-tenSpalte: (x*n)-Werte(eine oder mehrereSpalten)Wertebereichm: [0 ... 16777216]

Nur spaltenwei-se möglich!(ganzzahligesvielfaches)

0x05000000+n-te Startzeile

Read / Wri-te[<=16777216]

"Motion Functi-on" (Bewe-gungs-gesetze)Daten:STRUCT[x*m]

{ Lesen/Schreiben vonx Zeilen ab der n-tenZeile: (x*m)- Struktu-ren (eine oder mehre-re Zeilen)Wertebe-reich n: [0 ...16777216]

Nur zeilenweisemöglich! (ganzzahligesvielfaches)

Geändert abTC3

UINT32 1 Abs. Punkt Index (nicht ausgewertet)

UINT16 ENUM Funktions Typ 1: Polynom 1 15: Polynom 5

UINT16 ENUM Punkt Typ 0: default 1: ignore

INT32 1 rel. Adressindex aufZielpunkt (Default: 1)

UINT32 Reserve (TC3)REAL64 mm Master PositionREAL64 mm Slave PositionREAL64 mm /s Slave Geschwind.REAL64 mm/s^2 Slave Beschleun.REAL64 mm/s^3 Slave Ruck}

Anhang

TwinCAT 3 NC I422 Version: 1.0

Index-Offset( Hex )

Zugriff Tabellen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x06000000+m-te Startspal-te

Read / Wri-te[<=16777216]

"Motion Functi-on" (Bewe-gungs-gesetze)Daten:STRUCT[x* n ]

{ Lesen/Schreiben xSpalten ab der m-tenSpalte: (x*n)- Struktu-ren (eine oder mehre-re Spalten)Wertebe-reich m: [0 ...16777216]

Nur spaltenwei-se möglich! (ganzzahligesvielfaches)

Geändert abTC3

UINT32 1 Abs. Punkt Index (nicht ausgewertet)

UINT16 ENUM Funktions Typ 1: Polynom 1 15: Polynom 5

UINT16 ENUM Punkt Typ 0: default 1: ignore

INT32 1 rel. Adressindex aufZielpunkt (Default: 1)

UINT32 Reserve (TC3)REAL64 mm Master PositionREAL64 mm Slave PositionREAL64 mm /s Slave Geschwind.REAL64 mm/s^2 Slave Beschleun.REAL64 mm/s^3 Slave Ruck}

6.8.8.2 "Index-Offset" Spezifikation für Tabellen-Zustand (Index-Group 0xA100 +ID)

Index-Offset( Hex )

Zugriff Tabellen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x0000000A Read every INT32 1 ≥ 0 'User Counter'(Anzahl der Nutzerdieser Tabelle)

Nicht oszillo-skopierbar!

Anhang

TwinCAT 3 NC I 423Version: 1.0

6.8.8.3 "Index-Offset" Spezifikation für Tabellen-Funktionen (Index-Group0xA200 + ID)

Index-Offset(Hex)

Zugriff Tabellen- typ Daten- typ Phys.Einheit

Definitions-bereich

Beschreibung Anmerkung

0x00010000 Write Kurvenscheibe { Erzeugt Kurvenschei-ben- Tabelle mit Di-mension (n*m):

Tabellentypen:1,2,3,4 Dimen-sion: mind. 2x1

UINT32 1 s. ENUM (>0) Tabellen-Typ [} 433](s. Anhang)

UINT32 1 [2...16777216] Anzahl der ZeilenUINT32 1 [1...16777216] Anzahl der Spalten}

0x00010001 Write Kennlinie { Erzeugt Kennlinien-Tabelle mit Dimension(n*m):

Tabellentypen:1,3 Dimension:mind. 2x1

UINT32 1 s. ENUM (>0) Tabellen-Typ [} 433](s. Anhang)

UINT32 1 [2...16777216] Anzahl der ZeilenUINT32 1 [1...16777216] Anzahl der Spalten}

0x00010010 Write "Motion Functi-on"(Bewe-gungs-gesetze)

{ Erzeugt "Motion Func-tion"-Tabelle mit Di-mension (n*m):

Tabellentypen:3,4 Dimension:mind. 2x1

UINT32 1 s. ENUM (>0) Tabellen-Typ [} 433](s. Anhang)

UINT32 1 [2...16777216] Anzahl der ZeilenUINT32 1 [1...16777216] Anzahl der Spalten}

0x00020000 Write every VOID Löscht Tabelle mit Di-mension (n*m)

Tabellentypen:1,2,3,4

0x00030000 Write every VOID Initialisiert TabelleIni-tialisierung ist nichtmehr nötig, da diesjetzt automatisch infolgenden Fällen pas-siert:a) beim Ankop-peln mittels Tabelleb)beim Auslesen derSlaveposition (s. Ta-bellenpara.)

6.8.9 Anhang

Enum Kanaltypen

Define Kanaltypen1 Standard2 Interpreter3 FIFO4 Kinematische Transformation

Enum Interpretertypen

Define Interpretertypen0 NICHT DEFINIERT1 reserviert2 DIN 66025 (Siemensdialekt)

Anhang

TwinCAT 3 NC I424 Version: 1.0

Enum Interpreter Betriebsarten (Operation-Mode)

Define Interpreter Betriebsart0x0 Default-Belegung (Abwahl der übrigen Betriebsarten)0x1 Einzelsatzbetrieb im NC-Kern (Satzausführungstask/SAF)0x1000 reserviert0x2000 reserviert0x4000 Einzelsatzbetrieb im Interpreter

Enum Interpolations Lade-Logmodus

Define Lade-Logmodus0 Loaderlog aus1 nur Source2 Source & Compiled

Enum Interpolations Trace-Modus

Define Trace-Modus0 Trace aus1 Trace Zeilennummern2 Trace Source

Enum Interpreter-Status

verschoben nach: System Manager Interface für den Interpreter - Interpreter Element

Enum Gruppentypen

Define Gruppentypen0 NICHT DEFINIERT1 PTP-Gruppe + x Slave2 1D-Gruppe + x Slave3 2D-Gruppe + x Slave4 3D-Gruppe + x Slave5 Eil/Schleich + x Slave6 Low Cost Schrittmotor (dig. IO) + x Slave7 Tabellen-Gruppe + x Slave9 Encoder-Gruppe + x Slave11 FIFO-Gruppe + x Slave12 Kinematik-Transformations-Gruppe + x Slave

Enum Kurvengeschwindigkeitsreduktionsmethode

verschoben nach: System Manager Interface für den Interpreter - Gruppen Element

Enum Achstypen

Define Achstypen0 NICHT DEFINIERT1 Kontinuierliche Achse (Servo)2 Diskrete Achse (Eil/Schleich)3 Kontinuierliche Achse (Schrittmotor)

Enum Schrittmotorbetriebsart

Define Schrittmotorbetriebsart0 NICHT DEFINIERT1 2-Phasige Erregung (4 Zyklen)2 1-2-Phasige Erregung (6 Zyklen)3 Leistungsteil

Anhang

TwinCAT 3 NC I 425Version: 1.0

Enum Override-Typen für PTP-Achsen (Geschwindigkeitsoverride)

Define Override-Typen1 Reduziert

Alte Variante, abgelöst durch "(3) Reduziert (iteriert)"2 Original

Alte Variante, abgelöst durch "(4) Original (iteriert)"3 Reduziert (iteriert)

Default-Wert: Der Overridewert wird auf die im Sonderfall intern re-duzierte Geschwindigkeit bezogen. Somit ergibt sich für den ge-samten Overridebereich von 0...100% eine direkt proportionaleGeschwindigkeit (=> linearer Zusammenhang).

4 Original (iteriert)

Der Overridewert wird immer auf die durch den Anwender pro-grammierte Geschwindigkeit bezogen. Wenn allerdings diese Ge-schwindigkeit nicht gefahren werden kann, dann ergibt sich einmaximaler Overridewert, ab dem keine höhere Geschwindigkeit er-reicht wird (=> Limitierung).

Enum Gruppen/Achs-Starttypen

Define Gruppen/Achs-Starttypen0 NICHT DEFINIERT1 Absolutstart2 Relativstart3 Endlosstart positiv4 Endlosstart negativ5 Modulostart (ALT)261 Modulostart auf kürzestem Weg517 Modulostart in positiver Fahrtrichtung (mit Modulo-Toleranzfenster)773 Modulostart in negativer Fahrtrichtung (mit Modulo-Toleranzfens-

ter)4096 Stopp und Sperre (Achse wird für Bewegungskommandos ge-

sperrt)8192 Halt (ohne Bewegungs-Sperre)

Enum Kommandospeichertypen (buffer mode) für Universellen Achs-Start (UAS)

Define Kommandospeichertypen (buffer mode)0 ABORTING (Default) (instantan, löst eine aktuelle Bewegung ab

und löscht gepufferte Kommandos)1 BUFFERED

(Auftrag wird im Kommandozwischenspeicher gepuffert um ihn imAnschluss an eine aktive Bewegung auszuführen)

18 BLENDING LOW

(gepuffert, kein Stopp, Zwischenziel wird mit der niedrigsten Ge-schwindigkeit zweier Kommandos durchlaufen)

19 BLENDING PREVIOUS

(gepuffert, kein Stopp, Zwischenziel wird mit der Geschwindigkeitdes aktiven Kommandos durchlaufen)

20 BLENDING NEXT

(gepuffert, kein Stopp, Zwischenziel wird mit der Geschwindigkeitdes gepufferten Kommandos durchlaufen)

21 BLENDING HIGH

(gepuffert, kein Stopp, Zwischenziel wird mit der höheren Ge-schwindigkeit zweier Kommandos durchlaufen)

Anhang

TwinCAT 3 NC I426 Version: 1.0

Enum Endpositionstypen (Neue Endposition)

Define Endpositionstypen0 NICHT DEFINIERT1 Absolutposition2 Relativposition3 Endlosposition positiv4 Endlosposition negativ5 Moduloposition

Enum Kommandotypen für neue Endposition mit neuer Geschwindigkeit (Neue Endposition und/oderneue Geschwindigkeit)

Define Kommandotypen für neue Endposition mit neuer Geschwin-digkeit

0 NICHT DEFINIERT1 Position (instantan)2 Geschwindigkeit (instantan)3 Position und Geschwindigkeit (instantan)9 Position (Umschaltposition)10 Geschwindigkeit (Umschaltposition)11 Position und Geschwindigkeit (Umschaltposition)

Enum Istpositionstypen (Setze Istposition)

Define Istpositionstypen0 NICHT DEFINIERT1 Absolutposition2 Relativposition5 Moduloposition

Enum Kompensationstypen (Streckenkompensation bzw. Superimposed)

Define Kompensationstypen0 NICHT DEFINIERT1 VELOREDUCTION_ADDITIVEMOTION

Die max. Geschwindigkeit VelocityDiff wird reduziert. Die Strecke,auf der die Ausgleichsfahrt wirkt, setzt sich additiv aus Length+Di-stance zusammen.

2 VELOREDUCTION_LIMITEDMOTION

Die max. Geschwindigkeit VelocityDiff wird reduziert. Die Strecke,auf der die Ausgleichsfahrt wirkt, ist durch den Parameter Lengthfestgelegt.

3 LENGTHREDUCTION_ADDITIVEMOTION

Die max. zur Verfügung stehende Strecke wird reduziert und setztsich maximal aus Length+Distance zusammen. Es wird versucht,die max. Geschwind. VelocityDiff zu nutzen.

4 LENGTHREDUCTION_LIMITEDMOTION

Die max. zur Verfügung stehende Strecke wird reduziert und istdurch den Parameter Length begrenzt. Es wird versucht, die max.Geschwind. VelocityDiff zu nutzen.

Anhang

TwinCAT 3 NC I 427Version: 1.0

Enum Slavetypen

Define Slavetypen0 NICHT DEFINIERT1 Linear2 Fliegende Säge (Geschwindigkeit, ruckbegrenztes Profil)3 Fliegende Säge (Position und Geschwindigkeit, ruckbegrenztes

Profil)5 Synchronisierungsgenerator (Geschwindigkeit, ruckbegrenztes

Profil)6 Synchronisierungsgenerator (Position und Geschwindigkeit, ruck-

begrenztes Profil)10 Tabular11 Multitabular13 'Motion Function' (MF)15 Linear mit zyklischer Getriebefaktoränderung (Rampenfilter zur Be-

schleunigungsbegrenzung)100 Specific

Enum Slave-Entkopplungstypen (für nachfolgendes Achs-Kommando)

Define Slave Entkopplungstypen (für nachfolgendes Achs-Komman-do)

0 Stopp, E-Stopp oder P-Stopp (Default)

(STOP)1 Orientierter Stopp (O-Stopp)

(ORIENTEDSTOP)2 Beschleunigungsfrei fahren (force-free) und weiterfahren auf end-

lose Zielposition

(ENDLESS)3 Weiterfahren auf endlose Zielposition mit neuer geforderter Ge-

schwindigkeit

(ENDLESS_NEWVELO)4 neue Endposition

(NEWPOS)5 neue Endposition und neue geforderte Geschwindigkeit

(NEWPOSANDVELO)6 logisch Abkoppeln und Achse sofort ohne Geschwindigkeitsrampe

stillsetzen

(INSTANTANEOUSSTOP)

Anhang

TwinCAT 3 NC I428 Version: 1.0

Enum Reglertypen

Define Reglerypen0 NICHT DEFINIERT1 P-Regler (Standard)

(Position)2 PP-Regler (mit ka)

(Position)3 PID-Regler (mit ka)

(Position)5 P-Regler

(Geschwindigkeit)6 PI-Regler

(Geschwindigkeit)7 Eil/Schleich-Regler

(Position)8 Schrittmotor-Regler

(Position)9 SERCOS-Regler

(Position im Antrieb)10 RESERVIERT11 RESERVIERT12 RESERVIERT13 RESERVIERT14 TCom Controller (Soft Drive)

(Position im Antrieb)

Enum Regler Beobachter-Modus

Define Regler Beobachter-Modus0 Kein Beobachter aktiv (Default)1 "Luenberger"-Beobachter (klassischer Beobachter-Entwurf)

Anhang

TwinCAT 3 NC I 429Version: 1.0

Enum Encodertypen

Define Encodertypen0 NICHT DEFINIERT1 Simulation Encoder

(Inkremental)2 M3000 Encoder (Multi/Single-Turn)

(Absolut)3 M31x0 / M2000 Encoder

(Inkremental)4 MDP 511 Encoder: EL7041, EL7342, EL5101, EL5151, EL2521,

EL5021, IP5101

(Inkremental)5 MDP 500/501 Enc.: EL5001, IP5009, KL5001 (SSI)

(Absolut)6 MDP 510 Encoder: KL5051, KL2502-30K Encoder (BiSSI)

(Inkremental)7 KL30xx Encoder (Analog)

(Absolut)8 SERCOS und EtherCAT SoE (Position)

(Inkremental)9 SERCOS und EtherCAT SoE (Position und Geschwindigkeit)

(Inkremental)10 Binärer Encoder (0/1)

(Inkremental)11 M2510 Encoder

(Absolut)12 FOX50 Encoder

(Absolut)14 AX2000 (Lightbus)

(Inkremental)15 Provi-Drive MC (Simodrive 611U)

(Inkremental)16 Universal Encoder (variable Bitmaske)

(Inkremental)17 NC Rückwand

(Inkremental)18 spezieller CANopen Typ (z.B. Lenze Drive 9300)

(Inkremental)19 MDP 513 (DS402): CANopen und EtherCAT CoE (AX2xx-B1x0/

B510, EL7201)

(Inkremental)20 AX2xx-B900 (Ethernet)

(Inkremental)21 KL5151 Encoder

(Inkremental)24 IP5209 Encoder

(Inkremental)25 KL2531/KL2541 Encoder (Stepper Motor)

(Inkremental)26 KL2532/KL2542 Encoder (DC Motor), KL2535/KL2545 (PWM

Stromklemme)

(Inkremental)27 Time Base Encoder (Zeitgeber)

(Inkremental)28 TCom Encoder (Soft Drive)

(Inkremental)

Anhang

TwinCAT 3 NC I430 Version: 1.0

Enum Encodermodus

Define Encodermodus0 NICHT DEFINIERT1 Ermittlung Position2 Ermittlung Position und Geschwindigkeit3 Ermittlung Position, Geschwindigkeit und Beschleunigung

Enum Encoder-Auswerterichtung (log. Zählrichtung)

Define Encoder-Auswerterichtung (log. Zählrichtung)0 Auswertung in positive und negative Zählrichtung (Defaultbele-

gung, d.h. kompatibel zum bisherigen Zustand)1 Auswertung nur in positive Zählrichtung2 Auswertung nur in negative Zählrichtung3 Auswertung weder in positive noch in negativer Zählrichtung (Aus-

wertung gesperrt)

HINWEIS! Nicht für alle Encoder-Typen, sondern nur für KL5101, KL5151, KL2531, KL2541, IP5209,Universal-Encoder, ...

Encoder TypenEnc.-Auswerterichtung(Log. Zählrichtung)

KL5101, ... Universal-Encoder übrige Typen

0: positiv und negativ √ √ —1: nur positiv √ √ —2: nur negativ √ √ —3: gesperrt √ √ —

Enum Vorzeichen-Interpretation (Datentyp) des Encoders

Define Vorzeichen-Interpretation (Datentyp) der Encoder-Istinkremen-te

0 NICHT DEFINIERT (Defaultbelegung, d.h. kompatibel zum bisheri-gen Stand)

1 UNSIGNED: Vorzeichenlose Interpretation der Encoder-Istinkre-mente

2 SIGNED: Vorzeichenbehaftete Interpretation der Encoder-Istinkre-mente

HINWEIS! Vorerst nur für KL30xx/KL31xx

Enum Encoder Bezugsmaßsystem

Define Encoder Bezugsmaßsystem0 INC: Inkrementelles Bezugsmaßsystem mit Unter- und Überlauf-

verrechnung (Default, d.h. kompatibel zum bisherigen Stand)1 ABS: Absolutes Bezugsmaßsystem ohne Unter- und Überlaufver-

rechnung (keine Unter- oder Überläufe des Gebers erlaubt)2 ABS MODULO: Bedingt absolutes Bezugsmaßsystem da mit Un-

ter- und Überlaufverrechnung (Absolutwert, der sich modulo (end-los) fortsetzt)

HINWEIS! Nicht für alle Encoder-Typen, sondern nur für Profi Drive MC, M3000, KL5001/EL5001,IP5009, SERCOS, UNIVERSAL, ...

Anhang

TwinCAT 3 NC I 431Version: 1.0

Enum Referenziermodus für Inkrementalencoder

Define Referenziermodus für Inkrementalencoder0 NICHT DEFINIERT (Defaultbelegung, d.h. kompatibel zum bisheri-

gen Stand)1 Latchereignis: Herunterfahren von der SPS Nocke (negative Flan-

ke)2 Latchereignis: Hardware Syncimpuls (Nullspur)3 Latchereignis: Externes Hardware Latch mit positiver Flanke (Mes-

staster bzw. Fliegendes Messen mit pos. Flanke)4 Latchereignis: Externes Hardware Latch mit negativer Flanke

(Messtaster bzw. Fliegendes Messen mit neg. Flanke)5 Latchereignis: Synthetisch nachgebildeter Software Syncimpuls

(Software Nullspur); VORAUSSETZUMG: absolut pro Motorum-dreh., z.B. Resolver!

6 Latchereignis: im Antrieb definiertes Hardware Latch Ereignis mitpositiver Flanke (z.B. für SoftDrive)(NEU)

7 Latchereignis: im Antrieb definiertes Hardware Latch Ereignis mitnegativer Flanke (z.B. für SoftDrive)(NEU)

20 Anwenderspezifische Implementierung der Referenzierung (SPSCode): Anwender Anforderung wird der SPS mittels des Applica-tionRequest-Bits signalisiert (NEU)

: LatchereignisEncoder Typen 0: nicht definiert 1: SPS Nocke

(neg. Flanke)2: Hardware Syn-cimpuls (Null-/C-Spur)

3: ExternesHardware Latchmit pos. Flanke

4: ExternesHardware Latchmit neg. Flanke

5: Software Syn-cimpuls (Softwa-re Nullspur)

AX2xxx-B200(Lightbus)

— √ √ √ √ √ (nur Resolver)

AX2xxx-B510(CANopen)

— √ — — — √(nur Resolver)(s. Param. "Refe-renz Maske")

AX2xxx-B1x0(EtherCAT)

— √ √ √ √ √(nur Resolver)(fest 20 Bit)

AX2xxx-B900(Ethernet)

— √ √ √ √ √ (nur Resolver)

Sercos — √ √ √(AX5xxx spezi-fisch implemen-tiert)

√ √ (s. Param. "Re-ferenz Maske")

Profi Drive — √ √ √ √ √KL5101IP5109

— √ √ √ √ √

KL5111 — √ √ — — √KL5151 — √ √ √ √ √ (nicht sinnvoll)IP5209 — √ √ — — √ (nicht sinnvoll)CANopen (z.B.Lenze)

— √ — √ (Eingang E1) √ (Eingang E2) √ (nur Resolver)(fest 16 Bit)

übrige Typen — — — — — —

Anhang

TwinCAT 3 NC I432 Version: 1.0

Enum Drivetypen

Define Drivetypen0 NICHT DEFINIERT1 Analog Servo Drive: M2400 DAC 1

(Analog)2 Analog Servo Drive: M2400 DAC 2

(Analog)3 Analog Servo Drive: M2400 DAC 3

(Analog)4 Analog Servo Drive: M2400 DAC 4

(Analog)5 MDP 252 Drive: Analog Servo Drive: KL4xxx, KL2502-30K

(Analog)6 MDP 252 Drive: Analog Servo Drive (Nichtlinear): KL4xxx,

KL2502-30K

(Analog)7 Eil/Schleich-Drive

(Digital)8 Schrittmotor-Drive

(Digital)9 SERCOS-Drive

(Digital)10 MDP 510 Drive: KL5051 (BiSSI-Interface)

(Digital)11 AX2000 (Lightbus)

(Digital)12 Provi-Drive MC (Simodrive 611U)

(Digital)13 Universal Drive

(Analog)14 NC Rückwand

(Analog)15 spezieller CANopen Typ (z.B. Lenze Drive 9300)

(Digital)16 MDP 742 (DS402): CANopen und EtherCAT CoE (AX2xx-B1x0/

B510)

(Digital)17 AX2xx-B900 Drive (Ethernet)

(Digital)20 KL2531/KL2541 Encoder (Stepper Motor)

(Digital)21 KL2532/KL2542 Encoder (DC Motor), KL2535/KL2545 Encoder

(PWM Stromklemme)

(Digital)22 TCom Drive (Soft Drive)

(Digital)23 MDP 733 Drive: Profile MDP 733 (EL7332, EL7342, EP7342)

(Digital)24 MDP 703 Drive: Profile MDP 703 (EL7031, EL7041, EP7041)

(Digital)

Enum Drive-Output-Starttypen

Define Drive-Output-Starttypen0 NICHT DEFINIERT1 Ausgabe als Prozentwert2 Ausgabe als Geschwindigkeit z.B. m/min

Anhang

TwinCAT 3 NC I 433Version: 1.0

Enum Fahrphasen / Bewegungszustand für Masterachsen

Define Fahrphasen / Bewegungszustand (unterschieden nach inter-ner und externer Sollwertgenerierung)

Interne Sollwertgenerierung:0 Sollwertgenerator nicht aktiv (INACTIVE)1 Sollwertgenerator aktiv (RUNNING)2 Geschwindigkeitsoverride ist Null (OVERRIDE_ZERO)3 Konstante Geschwindigkeit (PHASE_VELOCONST)4 Beschleunigungsphase (PHASE_ACCPOS)5 Verzögerungsphase (PHASE_ACCNEG)Externe Sollwertgenerierung:41 Externe Sollwertgenerierung aktiv (EXTSETGEN_MODE1)42 Interne und externe Sollwertgenerierung aktiv (EXTSETGEN_MO-

DE2)

Enum Fahrphasen / Bewegungszustand für Slaveachsen

Define Fahrphasen / Bewegungszustand0 Slavegenerator nicht aktiv (INACTIVE)11 Slave befindet sich in einer Bewegungs-Vorphase (PREPHASE)12 Slave ist am Aufsynchronisieren (SYNCHRONIZING)13 Slave ist aufsynchronisiert und fährt synchron (SYNCHRON)

HINWEIS! Vorerst nur für Slaves vom Typ Synchronisierungsgenerator

Enum Tabellen-Haupttypen

Define Tabellen-Haupttypen1 (n*m) Kurvenscheiben Tabellen (Camming)10 n*m) Kennlinien Tabellen (Characteristics) (z.B. Hydraulik Ventil-

kennlinien)

es werden nur nichtzyklische Tabellen-Untertypen (1, 3) unter-stützt!

16 n*m) 'Motion Function' Tabellen (MF)

es werden nur nichtäquidistante Tabellen-Untertypen (3, 4) unter-stützt!

Enum Tabellen-Untertypen

Define Tabellen-Untertypen1 n*m) Tabelle mit äquidistanten Masterpositionen und keiner zykli-

schen Fortsetzung des Masterprofils (äquidistant linear)2 (n*m) Tabelle mit äquidistanten Masterpositionen und einer zykli-

schen Fortsetzung des Masterprofils (äquidistant zyklisch)3 n*m) Tabelle mit nicht äquidistanten aber streng monoton steigen-

den Masterpositionen und einer nicht zyklischen Fortsetzung desMasterprofils (monoton linear)

4 (n*m) Tabelle mit nicht äquidistanten aber streng monoton steigen-den Masterpositionen und einer zyklischen Fortsetzung des Mas-terprofils (monoton zyklisch)

Enum Tabellen Interpolationstypen

Define Tabellen Interpolationstyp zwischen den Stützstellen0 Linear-Interpolation (NC_INTERPOLATIONTYPE_LINEAR) (Stan-

dard)1 4-Punkt-Interpolation (NC_INTERPOLATIONTYPE_4POINT) (nur

für äquidistante Tabellentypen)2 kubische Spline-Interpolation über alle Stützstellen ("globaler Spli-

ne") (NC_INTERPOLATIONTYPE_SPLINE3 gleitende kubische Spline-Interpolation über n Stützstellen ("lokaler

Spline") (NC_INTERPOLATIONTYPE_SLIDINGSPLINE)

Anhang

TwinCAT 3 NC I434 Version: 1.0

Enum Tabellen Betriebsart (Operationmode)

Define Tabellen-Betriebsart zum Hinzufügen, Austausch und Entfer-nen von Tabellen

0 (Default/Standard)1 Additive – Hinzufügen einer weiteren Tabelle2 Exchange – Austausch einer vorhandenen Tabelle gegen eine

neue Tabelle3 Remove – Entfernen einer vorhandenen Tabelle

Struktur der Tabellen (CAM) Kopplungs Informationen

Tabellen (CAM) Kopplungs InformationennTableID; 1. cam table IDnTableMainType; 2. e.g. CAMMING, CHARACTERISTIC, MO-

TIONFUNCTIONnTableSubType; 3. e.g. EQUIDIST_LINEAR, EQUIDIST_CY-

CLE, NONEQUIDIST_LINEAR, NONEQUI-DIST_CYCLE

nInterpolationType; 4. e.g. LINEAR, 4POINT, SPLINE

nNumberOfRows; 5. number of rows/elementsnNumberOfColumns; 6. number of columnsfRawMasterPeriod; 7. master period/cycle (raw value, not scaled)fRawSlaveStroke; 8. slave difference per master period/cycle

(raw value, not scaled)fMasterOffset; 9. total master offsetfSlaveOffset; 10. total slave offsetfMasterScaling; 11. total master scalingfSlaveScaling; 12. total slave scalingfActualMasterAxisPos; 13. actual master axis setpos (absolute)fActualSlaveAxisPos; 14. actual slave axis setpos (absolute)fActualMasterCamPos; 15. actual master cam setposfActualSlaveCamPos; 16. actual master cam setpos

Anhang

TwinCAT 3 NC I 435Version: 1.0

Struktur der charakteristischen Kennwerte

Charakteristische KennwertefMasterVeloNom; 1. master nominal velocity (normed: => 1.0)fMasterPosStart; 2. master start positionfSlavePosStart; 3. slave start positionfSlaveVeloStart; 4. slave start velocityfSlaveAccStart; 5. slave start accelerationfSlaveJerkStart; 6. slave start jerkfMasterPosEnd; 7. master end positionfSlavePosEnd; 8. slave end positionfSlaveVeloEnd; 9. slave end velocityfSlaveAccEnd; 10. slave end accelerationfSlaveJerkEnd; 11. slave end jerkfMPosAtSPosMin; 12. master pos. at slave min. positionfSlavePosMin; 13. slave minimum positionfMPosAtSVeloMin; 14. master pos. at slave min. velocityfSlaveVeloMin; 15. slave minimum velocityfMPosAtSAccMin; 16. master pos. at slave min. accelerationfSlaveAccMin; 17. slave minimum accelerationfSVeloAtSAccMin; 18. slave velocity at slave min. accelerationfSlaveJerkMin; 19. slave minimum jerkfSlaveDynMomMin; 20. slave minimum dynamic momentum (NOT

SUPPORTED YET !)fMPosAtSPosMax; 21. master pos. at slave max. positionfSlavePosMax; 22. slave maximum positionfMPosAtSVeloMax; 23. master pos. at slave max. velocityfSlaveVeloMax; 24. slave maximum velocityfMPosAtSAccMax; 25. master pos. at slave max. accelerationfSlaveAccMax; 26. slave maximum accelerationfSVeloAtSAccMax; 27. slave velocity at slave max. accelerationfSlaveJerkMax; 28. slave maximum jerkfSlaveDynMomMax; 29. slave maximum dynamic momentum (NOT

SUPPORTED YET !)fSlaveVeloMean; 30. slave mean absolute velocityfSlaveAccEff; 31. slave effective accelerationnCamTableID; 32. Cam table IDnNumberOfRows; 33. Number of rows/entries e.g. number of

pointsnNumberOfColums; 34. Number of columns (typically1 or 2)nCamTableType; 35. cam table type (10=EQUIDIST, 11=NONE-

QUIDIST, 22=MOTIONFUNC, 23=CHA-RACTERISTIC)

nPeriodic; 36. linear or cyclic/periodicnReserved 37. reserved

Enum Achsregelkreis-Umschalttypen

Define Achsregelkreis-Umschalttypen0 NICHT DEFINIERT1 Einfaches Umschalten (ähnlich einem Achsreset)

(STANDARD)2 Umschalten/Aufsynchronisieren mittels I/D-Anteil des Reglers auf

einen internen Initialwert (ruckfrei/stoßfrei)3 Umschalten/Aufsynchronisieren mittels I/D-Anteil des Reglers auf

einen parametrierbaren Initialwert