NC-Programmierbeispiel Programmierbeispiel (komplettes NC-Programm oder Programmsequenz) der beschriebenen Funktionalität bzw. des entsprechenden NC-Befehls. Spezifischer Versionshinweis Optionale, ggf. auch eingeschränkte Funktionalität. Die Verfügbarkeit dieser Funktionalität ist von der Konfiguration und dem Versionsumfang abhängig. TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
Abb. 1: Beispiel einer kinematischen Transformation Kinematische Struktur Um die Programmierung des Werkstücks zu vereinfachen, kapselt die kinematische Transformation die kinematische Struktur der Maschine und abstrahiert die Bewegungen in ein einfaches kartesisches Koordinatensystem. Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Seite 9
Der Anwender hat die Möglichkeit eine eigene Transformation zu erstellen und diese der CNC unter einer ausgewählten Nummer (ID) zur Verfügung zu stellen. Hierzu stehen als Transformationsnummern der Bereich [500; 999] zur Verfügung. Der Bereich [65; 69] ist aus Kompatibilitätsgründen weiterhin verfügbar. TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
Seite 11
Jede Achse besitzt ihr eigenes Koordinatensystem. Jede Achse ist entweder auf dem Maschinenbett selbst oder auf einer anderen Achse angebracht. Das bedeutet, dass das Maschinenbett oder die zugeordnete Achse die Grundlage bilden. Das Koordinatensystem einer Achse wird also entsprechend ihres Befestigungspunktes festgelegt. TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
N999 M30 Zugriff auf kinematische Parameter Werden im CNC-Programm kinematische Parameter initialisiert, so werden diese als Eingabeparameter der Transformation an die Vorwärts-/Rückwärts-Algorithmen weitergeleitet (der verwendete Parameterindex ist transformationsspezifisch). Abb. 4: Zugriff auf kinematische Parameter TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
Abstandsregelung zu nutzen, müssen folgende Funktionen zusätzlich implementiert werden. PosOriToMcs Transformation von einer Position und Orientierung in MCS Koordinaten PTcCncPosOriParameter Aktuelle Parameter der Transformation McsToPosOri Transformation von MCS Koordinaten in eine Position und Orientierung. TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
Seite 16
Anbindung Transformation via TcCOM PTcCncPosOriParameter Aktuelle Parameter der Transformation Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
// additional parameter (dim_p) double payload; // weight in kg double tool_len; // actual tool length in [mm] Bemerkung: Die kursiven Variablen werden von der CNC nicht verwendet. TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
CNC angewählt werden. Diese Optionen ändern die CNC Verwaltung der Schnittstelle und stellen evtl. zusätzliche Parameter bereit. Die einzelnen Optionen sind durch die CNC vordefiniert und müssen zur entsprechenden Transformation passen. Folgende Optionen sind verfügbar: 0 : EcCncTrafoOption_None 1 : EcCncTrafoOption_Interpolation_AddInput Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Seite 19
unsigned long f_YPR : 1; unsigned long f_CBC1 : 1; unsigned long f_CBA : 1; unsigned long f_CAB : 1; unsigned long f_UniqueTrafo : 1; unsigned long f_AB : 1; unsigned long f_BA : 1; unsigned long f_CA : 1; unsigned long f_CB : 1; unsigned long f_SingularOri : 1; } EcCnc_TrafoModeSupported; TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
Seite 20
Soll z.B. die kinematische Transformation variieren je nachdem ob eine übergeordnete kartesische Transformation aktiv ist, so kann dies anhand des Eingangsbits selektiert werden. Dies wird durch die Steuerung angezeigt. Kinematische Transformation mit aktiver Schnittpunktberechnung (EcCncTrafoCtrl_cartesianTrafoInactive gelöscht) Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
• Group Kanalnummer der Transformation [1;12] wählbar bei Konfiguration • Index Nummer der Kinematik [500; 999] wählbar bei Konfiguration, aus Kompatibilitätsgründen auch [65;69] Die Anmeldung der Transformation erfolgt über nachfolgendes TcCOM-Interface, welches in der Datei TcCncInterfaces.h definiert ist. Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Seite 23
<TwinCAT>\3.1\\Driver\AutoInstall abgelegt. Konfiguration der Transformation Beim Konfigurieren der Transformation wird das TcCOM-Objekt im Systemmanager angewählt und der Kanal (group) und die Transformations-ID (index) initialisiert. Die Vorgehensweise ist in Transformation einbinden [} 44] veranschaulicht. TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
Der Transformationsparameter mit Index 0 (trafo[..].param[0]) wirkt immer in Richtung der 3. Hauptachse (normalerweise Z-Achse) und wird zusätzlich in die Werkzeuglänge eingerechnet. Falls für die Transforma- tion die unveränderte Länge des Werkzeugs benötigt wird, sollte dieser Parameter daher nicht verwendet werden. Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Die Kinematik-ID identifiziert als Element des Datensatzes der Kinematikparameter die zugehörige Transformation. Die Definition kann sowohl für ein- als auch für mehrstufige Transformationen sowie für PCS-Transformationen erfolgen. Parameter trafo[j].id kin_step[i].trafo[j].id (mehrstufige Transformationen) trafo_pcs[i].id (PCS-Transformation *) Datentyp UNS16 TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
Seite 28
Anmerkungen Sobald eine Kinematik-ID (P-CHAN-00262 [} 27]) ungleich 0 konfiguriert ist und der Kinematiktyp 0 ist, wird dem Kinematiktyp der Wert der Kinematik-ID zugewiesen. Verfügbar ab V3.1.3080.09 *Funktionalität PCS-Transformation ist verfügbar ab V3.1.3110. Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Neben den kanal- oder werkzeugspezifischen Parametern, welche über die CNC bereitgestellt werden, können der Transformation weitere individuelle Parameter übergeben werden. Diese werden bei der Konfiguration des TcCOM-Objekts initialisiert. Abb. 11: Transformationsparameter über TcCOM TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
Über den TwinCAT TMC Code Generator (Rechtsklick auf das TcCnCTrafo-Projekt -> TwinCAT TMC Code Generator) werden die im TMC-File vorhanden Parameter automatisch der Klasse für die Transformation CtcCncTrafo1 als Member-Variablen z.B. m_Parameter hinzugefügt und können so in der Vorwärts- bzw. Rückwärtstransformation verwendet werden. Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Die gewählte Orientierungsart wird von der Transformation nicht unterstützt. 292089 Exception bei WKS zu Matrix Transformation. 292090 Exception bei Matrix zu WKS Transformation. 292091 Fehler bei WKS zu Matrix Transformation. 292092 Fehler bei Matrix zu WKS Transformation. TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
Seite 32
Transformation direkt ausgegeben werden. Hierfür ist der Fehlerbereich ID 500000 bis ID 500999 vorgesehen. Das Vorgehen ist wie folgt: • Fehlerwert aus Transformation im vorgesehenen Bereich zurückgeben • Integration des entsprechenden Fehlertextes in TcCncUsersEvents.xml-Datei, siehe obiges Codebeispiel. Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Seite 33
Falls die erweiterten Transformationsparameter TcNcTrafoParameterExtCnc. benutzt wird, so können Fehlerfall zusätzliche Fehlerwerte zurückgegeben werden. Diese Werte werden in der Fehlermeldung angezeigt. double ret_value1; // out: error value double ret_value2; // out: error value char ret_text[24]; // out: additional error info TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
• Einbinden der Transformation als TcCOM-Objekt im XAE-Projekt Konfiguration • Aktivieren der Konfiguration Der Treiber MyTrafo.sys wird beim Aktivieren der Konfiguration automatisch in das Verzeichnis <T- winCAT>\3.1\Driver\Autoinstall kopiert. In diesem Verzeichnis werden alle additiven Treiber platziert. Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Der nachfolgende exemplarische Ablauf zur Erstellung einer eigenen kinematischen Transformation mittels TcCOM-Objekt wurde mit Visual Studio 2019 durchgeführt. TwinCAT3 XAE Projekt mit CNC-Konfiguration Abb. 14: Erstellung eines neuen Projekts Abb. 15: Konfiguration des neuen Projekts TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
Erstellen einer Transformation Abb. 21: Benennung Transformations-Klasse Damit ist der Rahmen für das TcCOM-Objekt im Visual Studio festgelegt. TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
Über einen Rechtsklick auf das Projekt kann mit „Erstellen“ der Treiber erstellt werden. Abb. 22: Treiber erstellen 6.1.3 Transformation einbinden Die Transformation wird in die vorhandene CNC-Konfiguration wie folgt integriert: Abb. 23: Einbinden TcCOM-Objekt Mit Bestätigen des „OK“-Buttons ist die Integration abgeschlossen. Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Über den Parameterindex erhält die Transformation eine im CNC-Kanal eindeutige ID, über die sie in Aus Kompatibilitätsgründen: der CNC angesprochen werden kann wie z.B. im 65 <= index <= 69 NC-Programm mit dem Befehl #KIN ID [500]. TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
Die einzutragende Transformations-ID ist der Index des TcCOM-Objekts. 6.1.4 Transformation debuggen Zum Debuggen der Transformation im TwinCAT3 Projekt auf Debug umgestellt werden und der Echtzeit- Debugger muss aktiviert werden. Abb. 26: Umstellen auf Debug-Konfiguration Abb. 27: Aktivieren Echtzeit-Debugging Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Konfiguration in das Autoinstall-Verzeichnis kopiert. Nach dem Start von TwinCAT in den Zustand „RUN“ kann das Debuggen des Trafo-Projekts gestartet werden und die entsprechenden Breakpoints gesetzt werden. Abb. 28: Breakpoint in Transformation TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
• Prüfen und korrigieren der Lücke in der Konfiguration • Anpassen des Konstruktors an Achsanzahl im verwendeten Kanal Nach Implementierung der Funktionen muss der Treiber neu erstellt werden und die Konfiguration erneut aktiviert werden. Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Die Standard Transformation wird dann verwendet wenn sowohl die CNC als auch die NCI zum Einsatz kommen. (NCI –Steuerungslösung von Beckhoff) Erweiterte Transformation Standard Transformation Erweitertes Interface: ITcCncTrafo Standardinterface: ITcNcTrafo GUID erweitertes Interface: IID_ITcCncTrafo GUID Standardinterface: IID_ITcNcTrafo Erweiterte Transformationsparameter: Standardparameter: PTcCncTrafoParameter PTcNcTrafoParameter TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
1. Drehung um X, 2. Drehung um Y EcCncTrafoOri_BA 1. Drehung um Y, 2. Drehung um X EcCncTrafoOri_CA 1. Drehung um Z, 2. Drehung um X EcCncTrafoOri_CB 1. Drehung um Z, 2. Drehung um Y Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Modulokorrektur durchgeführt werden. Im achsspezifischen Datum acs_modulo kann daher die in der Transformation verwendete Moduloeinstellung der CNC mitgeteilt werden. Die CNC prüft dann ob die Transformation zu den Achseigenschaften passt und generiert gegebenenfalls die Fehlermeldung P- ERR-50534. p->acs_modulo[i] Bedeutung TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
Die Transformationsoptionen können während der Konfigurationsabfrage (Methode TrafoSupported) gesetzt werden. Forward/ backward Anpassung Diese Anpassung kann individuell pro Vorwärts-/Rückwärtstransformation gemacht werden. Zusätzlich kann dies auch abhängig von den Aufrufstellen innerhalb der CNC durchgeführt werden (Decodierung, Werkzeugradiuskorrektur, usw.). Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Beispiel 2: Anzeige der Position der additiven Transformation Während der Interpolation wird die additive Transformation für Anzeigezwecke aufgerufen (caller-ID = 5 = EcCncTrafoCallerID_Display). Diese Positionswerte können über CNC-Objekte pro Achse abgegriffen werden. mc_ax_<i>_add_kin_pos_r Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Die Vorwärtstransformation muss grundsätzlich invers zu Rückwärtstransformation sein. position = forward(backward(position)) Wird die Transformation in Abhängigkeit des Aufrufers (caller_id) variiert, so muss diese Variation bei der Initialisierung der Steuerung im Stillstand ausgeschaltet sein. TF5200 | TwinCAT 3 CNC Version: 1.11 Transformations-Interface...
Satzvor- add kin Interpolator lauf std kin cart cart trafo trafo add kin add kin std kin std kin Interpolation Display Abb. 34: Identifikation der Aufrufstellen der Transformation Version: 1.11 TF5200 | TwinCAT 3 CNC Transformations-Interface...
Die Downloads sind in verschiedenen Formaten erhältlich. Beckhoff Niederlassungen und Vertretungen Wenden Sie sich bitte an Ihre Beckhoff Niederlassung oder Ihre Vertretung für den lokalen Support und Service zu Beckhoff Produkten! Die Adressen der weltweiten Beckhoff Niederlassungen und Vertretungen entnehmen Sie bitte unserer Internetseite: www.beckhoff.com...