SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3...

150
SIMOTION Motion Control TO Bahninterpolation _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ Vorwort Übersicht Bahninterpolation 1 Grundlagen Bahninterpolation 2 Bahnobjekt projektieren 3 Beispielprojekt für die Bahninterpolation 4 Bahninterpolation programmieren/Referenzen 5 SIMOTION Motion Control TO Bahninterpolation Funktionshandbuch 05/2009

Transcript of SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3...

Page 1: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

SIMOTION Motion Control TO Bahninterpolation

______________________________________________________________________

Vorwort

Übersicht Bahninterpolation

1

Grundlagen Bahninterpolation

2

Bahnobjekt projektieren

3

Beispielprojekt für die Bahninterpolation

4

Bahninterpolation programmieren/Referenzen

5

SIMOTION

Motion ControlTO Bahninterpolation

Funktionshandbuch

05/2009

Page 2: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Rechtliche Hinweise Rechtliche Hinweise Warnhinweiskonzept

Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit sowie zur Vermeidung von Sachschäden beachten müssen. Die Hinweise zu Ihrer persönlichen Sicherheit sind durch ein Warndreieck hervorgehoben, Hinweise zu alleinigen Sachschäden stehen ohne Warndreieck. Je nach Gefährdungsstufe werden die Warnhinweise in abnehmender Reihenfolge wie folgt dargestellt.

GEFAHR bedeutet, dass Tod oder schwere Körperverletzung eintreten wird, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

WARNUNG bedeutet, dass Tod oder schwere Körperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

VORSICHT mit Warndreieck bedeutet, dass eine leichte Körperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

VORSICHT ohne Warndreieck bedeutet, dass Sachschaden eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

ACHTUNG bedeutet, dass ein unerwünschtes Ergebnis oder Zustand eintreten kann, wenn der entsprechende Hinweis nicht beachtet wird.

Beim Auftreten mehrerer Gefährdungsstufen wird immer der Warnhinweis zur jeweils höchsten Stufe verwendet. Wenn in einem Warnhinweis mit dem Warndreieck vor Personenschäden gewarnt wird, dann kann im selben Warnhinweis zusätzlich eine Warnung vor Sachschäden angefügt sein.

Qualifiziertes Personal Das zugehörige Gerät/System darf nur in Verbindung mit dieser Dokumentation eingerichtet und betrieben werden. Inbetriebsetzung und Betrieb eines Gerätes/Systems dürfen nur von qualifiziertem Personal vorgenommen werden. Qualifiziertes Personal im Sinne der sicherheitstechnischen Hinweise dieser Dokumentation sind Personen, die die Berechtigung haben, Geräte, Systeme und Stromkreise gemäß den Standards der Sicherheitstechnik in Betrieb zu nehmen, zu erden und zu kennzeichnen.

Bestimmungsgemäßer Gebrauch von Siemens-Produkten Beachten Sie Folgendes:

WARNUNG Siemens-Produkte dürfen nur für die im Katalog und in der zugehörigen technischen Dokumentation vorgesehenen Einsatzfälle verwendet werden. Falls Fremdprodukte und -komponenten zum Einsatz kommen, müssen diese von Siemens empfohlen bzw. zugelassen sein. Der einwandfreie und sichere Betrieb der Produkte setzt sachgemäßen Transport, sachgemäße Lagerung, Aufstellung, Montage, Installation, Inbetriebnahme, Bedienung und Instandhaltung voraus. Die zulässigen Umgebungsbedingungen müssen eingehalten werden. Hinweise in den zugehörigen Dokumentationen müssen beachtet werden.

Marken Alle mit dem Schutzrechtsvermerk ® gekennzeichneten Bezeichnungen sind eingetragene Marken der Siemens AG. Die übrigen Bezeichnungen in dieser Schrift können Marken sein, deren Benutzung durch Dritte für deren Zwecke die Rechte der Inhaber verletzen kann.

Haftungsausschluss Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard- und Software geprüft. Dennoch können Abweichungen nicht ausgeschlossen werden, so dass wir für die vollständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in dieser Druckschrift werden regelmäßig überprüft, notwendige Korrekturen sind in den nachfolgenden Auflagen enthalten.

Siemens AG

Industry Sector Postfach 48 48 90026 NÜRNBERG DEUTSCHLAND

Copyright © Siemens AG 2009.Änderungen vorbehalten

Page 3: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

TO Bahninterpolation Funktionshandbuch, 05/2009 3

Vorwort

Vorwort

Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes System- und Funktionsbeschreibungen.

Gültigkeitsbereich Dieses Handbuch ist gültig für SIMOTION SCOUT in Verbindung mit dem Technologiepaket SIMOTION Cam oder Cam_ext für die Produktstufe V4.1 SP3.

Informationsblöcke des Handbuches Nachstehende Informationsblöcke beschreiben den Zweck und den Nutzen des Handbuches. Teil I Achse ● Übersicht

Dieses Kapitel gibt dem Anwender einen Überblick über das Technologieobjekt Achse. ● Grundlagen Achse

In diesem Kapitel werden die grundlegenden Einstellmöglichkeiten und Funktionen des Technologieobjektes Achse erläutert.

● Projektieren Achse In diesem Kapitel wird das Vorgehen bei der Projektierung anhand verschiedener Aufgabenstellungen erläutert.

Teil II Hydraulikfunktionalität ● Übersicht

Dieses Kapitel gibt dem Anwender einen Überblick über die Hydraulikfunktionalität des Technologieobjektes Achse.

● Grundlagen Hydraulikfunktionalität In diesem Kapitel werden die grundlegenden Einstellmöglichkeiten und Funktionen zur Hydraulikfunktionalität des Technologieobjektes Achse erläutert.

Teil III Programmieren / Referenz ● In diesem Kapitel werden Befehle und Funktionen detaillierter erläutert.

Page 4: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Vorwort

TO Bahninterpolation 4 Funktionshandbuch, 05/2009

Teil IV Externer Geber ● Beschreibung

Dieses Kapitel gibt dem Anwender einen Überblick über das Technologieobjekt Externer Geber.

● Grundlagen Externer Geber In diesem Kapitel werden die grundlegenden Einstellmöglichkeiten und Funktionen des Technologieobjektes Externer Geber erläutert.

● Projektieren Externer Geber (Nur Onlinehilfe) In diesem Kapitel wird das Vorgehen bei der Projektierung anhand verschiedener Aufgabenstellungen erläutert.

● Programmieren / Referenz Externer Geber In diesem Kapitel werden Befehle und Funktionen detaillierter erläutert.

Index ● Stichwortverzeichnis zum Finden der Informationen

SIMOTION Dokumentation Einen Überblick zur SIMOTION Dokumentation erhalten Sie in einem separaten Literaturverzeichnis. Diese Dokumentation ist als elektronische Dokumentation im Lieferumfang von SIMOTION SCOUT enthalten. Die SIMOTION Dokumentation besteht aus 9 Dokumentationspaketen, die etwa 80 SIMOTION Dokumente und Dokumente zu zugehörigen Systemen (z. B. SINAMICS) enthalten. Zur SIMOTION Produktstufe V4.1 SP4 stehen folgende Dokumentationspakete zur Verfügung: ● SIMOTION Engineering System Handhabung ● SIMOTION System- und Funktionsbeschreibungen ● SIMOTION Service und Diagnose ● SIMOTION Programmieren ● SIMOTION Programmieren - Referenzen ● SIMOTION C ● SIMOTION P350 ● SIMOTION D4xx ● SIMOTION Ergänzende Dokumentation

Page 5: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Vorwort

TO Bahninterpolation Funktionshandbuch, 05/2009 5

Hotline und Internetadressen

Siemens Internet-Adresse Ständig aktuelle Informationen zu den SIMOTION Produkten, Produkt Support, FAQs finden Sie im Internet unter: ● allgemeine Informationen:

– http://www.siemens.de/simotion (deutsch) – http://www.siemens.com/simotion (international)

● Dokumentation downloaden Weiterführende Links für den Download von Dateien aus Service & Support. http://support.automation.siemens.com/WW/view/en/10805436

● Dokumentation auf Basis der Siemens Inhalte individuell zusammenstellen mit dem My Documentation Manager (MDM), siehe http://www.siemens.com/mdm Der My Documentation Manager bietet Ihnen eine Reihe von Features zur Erstellung Ihrer eigenen Dokumentation.

● FAQs Informationen zu FAQs (frequently asked questions) finden Sie über http://support.automation.siemens.com/WW/view/en/10805436/133000.

Weitere Unterstützung Um Ihnen den Einstieg in die Arbeitsweise mit SIMOTION zu erleichtern, bieten wir Kurse an. Wenden Sie sich dazu bitte an Ihr regionales Trainings-Center oder an das zentrale Trainings-Center in D-90027 Nürnberg Informationen über das Trainingsangebot finden Sie unter www.sitrain.com

Page 6: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Vorwort

TO Bahninterpolation 6 Funktionshandbuch, 05/2009

Technical Support Bei technischen Fragen wenden Sie sich bitte an folgende Hotline: Europa / Afrika Telefon +49 180 5050 222 (gebührenpflichtig) Fax +49 180 5050 223 0,14 €/Min. aus dem deutschen Festnetz, abweichende Mobilfunkpreise möglich. Internet http://www.siemens.com/automation/support-request

Amerika Telefon +1 423 262 2522 Fax +1 423 262 2200 E-Mail mailto:[email protected]

Asien / Pazifik Telefon +86 1064 757575 Fax +86 1064 747474 E-Mail mailto:[email protected]

Hinweis Landesspezifische Telefonnummern für technische Beratung finden Sie im Internet: http://www.automation.siemens.com/partner

Fragen zur Dokumentation Bei Fragen zur Dokumentation (Anregungen, Korrekturen) senden Sie bitte ein Fax oder eine E-Mail an folgende Adresse: Fax +49 9131- 98 2176 E-Mail mailto:[email protected]

Page 7: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

TO Bahninterpolation Funktionshandbuch, 05/2009 7

Inhaltsverzeichnis

Vorwort ...................................................................................................................................................... 3 1 Übersicht Bahninterpolation..................................................................................................................... 11

1.1 Funktionsübersicht.......................................................................................................................11 1.2 Begriffe.........................................................................................................................................12

2 Grundlagen Bahninterpolation ................................................................................................................. 17 2.1 Bahninterpolation .........................................................................................................................17 2.2 Koordinatensystem ......................................................................................................................19 2.3 Modulo-Eigenschaften .................................................................................................................20 2.4 Einheiten ......................................................................................................................................20 2.5 Bahninterpolationsarten ...............................................................................................................21 2.5.1 Bahninterpolationsarten ...............................................................................................................21 2.5.2 Aufbau der Befehle zur Bahninterpolation ...................................................................................22 2.5.3 Linearbahnen ...............................................................................................................................24 2.5.4 Kreisbahnen.................................................................................................................................24 2.5.4.1 Kreisbahnen.................................................................................................................................24 2.5.4.2 Kreisbahn in einer Hauptebene mit Radius, Endpunkt und Orientierung....................................25 2.5.4.3 Kreisbahn über Mittelpunkt und Winkel .......................................................................................27 2.5.4.4 Kreisbahn über Zwischenpunkt und Endpunkt ............................................................................29 2.5.5 Polynombahnen ...........................................................................................................................30 2.5.5.1 Polynombahnen ...........................................................................................................................30 2.5.5.2 Polynombahn - direkte Vorgabe der Polynomkoeffizienten.........................................................32 2.5.5.3 Polynombahnen - explizite Vorgabe der Startpunktdaten ...........................................................33 2.5.5.4 Polynombahnen - stetig anfügen .................................................................................................35 2.6 Bahndynamik ...............................................................................................................................37 2.6.1 Bahndynamik ...............................................................................................................................37 2.6.2 Vorgabe der Bahndynamik ..........................................................................................................38 2.6.3 Begrenzungen der Bahndynamik.................................................................................................39 2.7 Bahnbewegung stoppen und fortsetzen ......................................................................................42 2.8 Bahnverhalten am Bewegungsende............................................................................................43 2.8.1 Bahnverhalten am Bewegungsende............................................................................................43 2.8.2 Stoppen am Bewegungsende......................................................................................................43 2.8.3 Überschleifen mit Dynamikadaption ............................................................................................44 2.8.4 Überschleifen ohne Dynamikadaption .........................................................................................45 2.9 Anzeige und Überwachungen an der Achse ...............................................................................46 2.10 Berücksichtigung der achsspezifischen Verfahrbereichsgrenzen ...............................................47 2.11 Verhalten der Bahnbewegung bei Fehler an einer beteiligten Bahnachse oder

Positionierachse...........................................................................................................................47 2.12 Funktionalität der bahnsynchronen Bewegung............................................................................47 2.12.1 Funktionalität der bahnsynchronen Bewegung............................................................................47 2.12.2 Spezifikation der bahnsynchronen Bewegung.............................................................................48 2.12.3 Dynamik der bahnsychronen Bewegung .....................................................................................49

Page 8: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Inhaltsverzeichnis

TO Bahninterpolation 8 Funktionshandbuch, 05/2009

2.12.4 Bahnüberschleifen mit einer bahnsynchronen Bewegung.......................................................... 49 2.12.5 Ausgabe des Bahnweges an die Positionierachse..................................................................... 50 2.12.6 Ausgabe der kartesischen Koordinaten über MotionOut-Interface............................................. 50 2.13 Kinematikanpassung................................................................................................................... 50 2.13.1 Kinematikanpassung................................................................................................................... 50 2.13.2 Kinematikanpassung – Grundlagen ............................................................................................ 50 2.13.2.1 Umfang der Transformationsfunktionalität .................................................................................. 50 2.13.2.2 Bezugspunkte ............................................................................................................................. 51 2.13.2.3 Systemvariablen für Bahninterpolation und Transformation am Bahnobjekt.............................. 51 2.13.2.4 Transformation der Dynamikwerte.............................................................................................. 53 2.13.2.5 Unterscheidung der Gelenkstellungsräume................................................................................ 53 2.13.2.6 Auskunftsbefehle zur Kinematiktransformation........................................................................... 54 2.13.2.7 Achsspezifische Nullpunktverschiebung in der Transformation ................................................. 54 2.13.2.8 Verschiebung des Kinematik-Nullpunkts zum kartesischen Nullpunkt ....................................... 55 2.13.3 Unterstützte Kinematiken............................................................................................................ 55 2.13.3.1 Unterstützte Kinematiken und deren Zuordnung ........................................................................ 55 2.13.3.2 Kartesische 2D/3D-Portale.......................................................................................................... 56 2.13.3.3 Rollenpicker ................................................................................................................................ 57 2.13.3.4 Delta-2D-Picker........................................................................................................................... 59 2.13.3.5 Delta-3D-Picker........................................................................................................................... 61 2.13.3.6 SCARA-Kinematik....................................................................................................................... 64 2.13.3.7 Gelenkarm-Kinematik.................................................................................................................. 68 2.13.3.8 Verwendung von virtuellen Achsen............................................................................................. 71 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung) .................................................................... 72 2.14.1 Objektkoordinatensystem (OCS) am Bahnobjekt ....................................................................... 72 2.14.2 Bewegungsfolge – Grundlagen................................................................................................... 73 2.14.2.1 OCS-Bezugslage definieren ....................................................................................................... 73 2.14.2.2 OCS einem Bewegungsfolgebezugswert zuordnen ................................................................... 75 2.14.2.3 Verschiebung der Position des mitgeführten OCS definieren .................................................... 76 2.14.2.4 Bewegung am Bahnobjekt auf das mitgeführte OCS synchronisieren....................................... 78 2.14.2.5 Bahnbewegungen im mitgeführten OCS durchführen ................................................................ 79 2.14.2.6 Bahnsynchrone Bewegung beim Synchronisieren auf ein OCS................................................. 80 2.14.2.7 Das Mitfahren des Kinematikendpunktes an einem mitgeführten OCS beenden

('Absynchronisieren')................................................................................................................... 80 2.14.2.8 Anhalten im OCS ........................................................................................................................ 80 2.14.3 Bewegungsfolge – Beispielanwendung ...................................................................................... 81 2.14.3.1 Beispielanwendung eines OCS .................................................................................................. 81 2.14.3.2 Bezugslage des OCS definieren................................................................................................. 82 2.14.3.3 Bewegungsfolgebezugswert des OCS festlegen........................................................................ 83 2.14.3.4 Position des OCS in Bezug zum Bewegungsfolgebezugswert definieren.................................. 83 2.14.3.5 Bewegung am Bahnobjekt auf ein mitgeführtes OCS synchronisieren ...................................... 84 2.14.3.6 Bahnbewegungen im mitgeführten OCS durchführen ................................................................ 85 2.15 Verschaltung, Verschaltungsregeln ............................................................................................ 86 2.16 Simulationsbetrieb....................................................................................................................... 87

3 Bahnobjekt projektieren ........................................................................................................................... 89 3.1 Technologiepaket Bahninterpolation auswählen ........................................................................ 89 3.2 Achsen mit Bahninterpolation anlegen ....................................................................................... 90 3.3 Bahnobjekt anlegen .................................................................................................................... 91 3.4 Darstellung im Projektnavigator .................................................................................................. 92 3.5 Bahnobjekt parametrieren/vorbelegen........................................................................................ 93

Page 9: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Inhaltsverzeichnis

TO Bahninterpolation Funktionshandbuch, 05/2009 9

3.6 Bahnobjekt konfigurieren .............................................................................................................96 3.7 Begrenzungen festlegen ..............................................................................................................97 3.8 Bahnobjekt verschalten................................................................................................................98 3.9 Kinematikanpassung in der Expertenliste konfigurieren..............................................................99 3.10 Bahnüberwachungen konfigurieren .............................................................................................99 3.11 Bahninterpolation - Kontextmenü ..............................................................................................100

4 Beispielprojekt für die Bahninterpolation................................................................................................ 103 4.1 Übersicht des Beispiels..............................................................................................................103 4.2 Technologiepaket auswählen ....................................................................................................104 4.3 Achsen anlegen .........................................................................................................................105 4.4 Bahnobjekt anlegen ...................................................................................................................107 4.5 Kinematik definieren ..................................................................................................................108 4.6 Bahnobjekt verschalten..............................................................................................................110 4.7 Vorbelegungen des Bahnobjekts setzen ...................................................................................111 4.8 Bahninterpolation in MCC programmieren ................................................................................113 4.8.1 Fahrbefehle in MCC programmieren .........................................................................................113 4.8.2 Programm anlegen ....................................................................................................................114 4.8.3 Fahrschleife programmieren......................................................................................................116 4.8.3.1 Fahrschleife programmieren......................................................................................................116 4.8.3.2 While-Schleife anlegen ..............................................................................................................117 4.8.3.3 Linearbahn A-B programmieren.................................................................................................118 4.8.3.4 Polynombahn B-C programmieren ............................................................................................120 4.8.3.5 Linearbahn C-D programmieren ................................................................................................122 4.8.3.6 Polynombahn D-E programmieren ............................................................................................123 4.8.3.7 Linearbahn E-F programmieren.................................................................................................125 4.8.3.8 Rückfahrt F-A programmieren ...................................................................................................126 4.8.4 Achs-Freigaben schalten und Achsen referenzieren.................................................................127 4.8.5 MCC-Diagramm .........................................................................................................................128 4.8.6 MCC-Chart in Ablaufsystem zuordnen ......................................................................................129 4.8.7 Bewegung mit Trace überprüfen................................................................................................131 4.9 Synchronachse anlegen ............................................................................................................132

5 Bahninterpolation programmieren/Referenzen ...................................................................................... 137 5.1 Programmierung ........................................................................................................................137 5.1.1 Programmierung: Übersicht .......................................................................................................137 5.1.2 Befehlsübersicht ........................................................................................................................137 5.1.2.1 Auskunft und Konvertierung.......................................................................................................137 5.1.2.2 Umrechnungsbefehle.................................................................................................................138 5.1.2.3 Befehlsverfolgung ......................................................................................................................138 5.1.2.4 Bewegung ..................................................................................................................................138 5.1.2.5 Objekt- und Alarmhandling ........................................................................................................139 5.1.2.6 Objektkoordinaten......................................................................................................................140 5.1.3 Befehlsverarbeitung ...................................................................................................................141 5.1.3.1 Befehlspuffer ..............................................................................................................................141 5.1.3.2 Ablöseverhalten .........................................................................................................................142 5.1.4 Wechselwirkungen des Bahnobjekts mit der Achse..................................................................143 5.1.4.1 Ablöseverhalten .........................................................................................................................143

Page 10: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Inhaltsverzeichnis

TO Bahninterpolation 10 Funktionshandbuch, 05/2009

5.1.4.2 Reihenfolge der Wirksamkeit .................................................................................................... 144 5.1.4.3 Wechselwirkung mit der Achse................................................................................................. 144 5.1.4.4 Wechselwirkung mit anderen Bahnbewegungen...................................................................... 144 5.2 Lokale Alarmreaktion ................................................................................................................ 145

Index...................................................................................................................................................... 147

Page 11: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

TO Bahninterpolation Funktionshandbuch, 05/2009 11

Übersicht Bahninterpolation 11.1 Funktionsübersicht

SIMOTION stellt ab Version V4.1 die Funktionalität zur Bahninterpolation bereit. Dabei können bis zu 3 Bahnachsen entlang Bahnen verfahren werden. Zusätzlich kann eine Positionierachse synchron zur Bahn mitgeführt werden. Die Bahnen können aus Segmenten mit Linear-, Kreis- und Polynom-Interpolation in 2D und 3D zusammengesetzt werden. Die Technologie Bahninterpolation wird über das Bahnobjekt bereitgestellt, das eine eigenständige Funktionalität darstellt. Das TO Bahnobjekt wird mit Bahnachsen und gegebenenfalls einer Positionierachse verschaltet. Die Dynamikparameter werden an der Bahnbewegung vorgegeben. Die Bahnbewegungen einzelner Bahnbefehle lassen sich durch Überschleifen zu einer Gesamtbahn ohne Zwischenstopp aneinanderreihen. Die Anpassung der Maschinenkinematiken an die kartesischen Achsen des Bahnkoordinatensystems erfolgt über die Kinematiktransformation. Ab V4.1.2 ist die Funktionalität zur Synchronisierung der Bahnbewegungen mit einem extern vorgebbaren Positionswert, z.B. mit der Bewegung eines Conveyors, verfügbar. Damit wird Handling am bewegten Band vom System unterstützt. Die Technologie Bahninterpolation enthält Transformationen für die folgenden orthogonalen Kinematiken: ● kartesische Linearachsen ● SCARA ● Rollen-Picker ● Delta-2D-Picker ● Delta-3D-Picker ● Gelenkarm Während einer Bahnbewegung kann eine Positionierachse bahnsynchron mitgeführt werden. Diese Achse kann wahlweise eine programmierte achsspezifische Zielposition synchron anfahren oder eine Bewegung entsprechend der Bahnlänge ausführen, so dass bahnlängenabhängige Nocken und Messtaster realisierbar sind. Die Bahninterpolationsfunktionen werden z. B. bei Anwendungen wie der Zuführung bzw. Entnahme von Materialien in bzw. aus einer Maschine benötigt. Die Anwendung der Befehle für die Einzelbahnsegmente setzt dabei eine Gesamtbahnplanung im Anwenderprogramm, bzw. in der Applikation, voraus. Die Programmierung nach DIN 66025 wird von SIMOTION nicht unterstützt.

Page 12: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Übersicht Bahninterpolation 1.2 Begriffe

TO Bahninterpolation 12 Funktionshandbuch, 05/2009

1.2 Begriffe

Achskoordinaten Koordinaten der beteiligten Bahnachsen oder der Positionierachse mit bahnsynchroner Bewegung

Bahninterpolation Verfahren einer Bahn mit einer parametrierbaren Dynamik. Die Bahninterpolation generiert das Verfahrprofil für die Bahn, berechnet im IPO-Takt die Bahnstützpunkte und leitet daraus über die Kinematiktransformation die Achssollwerte zu den IPO-Taktzeitpunkten ab.

Bahnsteuerung Abfahren einer Bahn mit vorgebbarer Geschwindigkeit. Dabei kann ein geschwindigkeits-abhängiges Verschleifen der Segmentübergänge durch das Einfügen von abgerundeten Übergangssegmenten erfolgen. Die Bahninterpolationsfunktionalität der SIMOTION-Version 4.1 deckt die Bahn-steuerungsfunktionalität nur zu einem kleinen Teil ab, dieser Begriff wird daher nicht verwendet.

Bahnobjekt Das Bahnobjekt stellt die Funktionalität für die Bahninterpolation und weitere mit der Bahninterpolation verbundene Aufgaben bereit. Es beinhaltet auch die im System implementierten Kinematiktransformationen.

Bahnachse Achse, die über ein Bahnobjekt gemeinsam mit anderen Bahnachsen eine Bahnbewegung ausführen kann.

Bahnachs-Interface Interfaces für den bidirektionalen Datenaustausch zwischen Bahnobjekt und verschalteten Bahnachsen.

Bahnbewegung Bewegung infolge der Interpolation eines Bahnverfahrbefehls; wird ausgegeben an Bahnachsen

Bahninterpolationsverbund Mehrere durch eine Bahnobjekt bzw. eine Interpolation verbundene Bahn- und Positionierachsen

Page 13: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Übersicht Bahninterpolation 1.2 Begriffe

TO Bahninterpolation Funktionshandbuch, 05/2009 13

Basiskoordinatensystem (BCS) Koordinatensystem der Bahninterpolation. Es wird ein rechtsdrehendes, rechtwinkliges Koordinatensystem nach DIN 66217 verwendet.

Bewegungsfolge Ermöglicht das Mitfahren des Kinematikendpunktes mit einem mitgeführten OCS, und damit z.B. das Mitfahren mit dem Istwert eines Conveyors. So kann z.B. ein Produkt von einem laufenden Band aufgenommen oder dort abgelegt werden. Positionsangaben in den Bewegungsbefehlen können ab SIMOTION V4.1.2 wahlweise auf das Basiskoordinatensystem oder auf ein Objektkoordinatensystem (OCS) bezogen werden.

Bewegungsfolgebezugswert (trackingInPosition) Der Wert, der am TrackingIn-Interface des Bahnobjektes von einem anderen TO bereitgestellt wird. Dies kann z.B. der Istwert eines externen Gebers sein.

Bewegungsfolgewert (trackingPosition) Die aktuelle Position eines mitgeführten OCS in Bezug auf die OCS-Bezugslage.

Frametransformation eine Frametransformation beschreibt die Lage eines Koordinatensystems zu einem anderen Koordinatensystem, es definiert z.B. die OCS-Bezugslage in Bezug auf das Basiskoordinatensystem des Bahnobjekts. Die Frametransformation besteht aus Verschiebungen (Translation) entlang den X-, Y-, und Z-Achsen und Drehungen (Rotation) um die einzelnen Achsen. Bei der Transformation werden erst die Verschiebungen durchgeführt und danach die Drehungen in folgender Reihenfolge: ● Roll um die X-Achse ● Pitch um die (bereits gedrehte) Y-Achse ● Yaw um die (bereits zweimal gedrehte) Z-Achse

Hauptebene X-Y, Y-Z oder Z-X -Ebene oder eine dazu parallele Ebene. Die 3. Koordinate wird nicht ausgewertet.

Interface für bahnsynchrone Bewegung Interface für den bidirektionalen Datenaustausch zwischen Bahnobjekt und einer verschalteten Positionierachse für bahnsynchrone Bewegung.

Kartesische Achsen Achsen X, Y, Z des Bahnobjektes

Page 14: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Übersicht Bahninterpolation 1.2 Begriffe

TO Bahninterpolation 14 Funktionshandbuch, 05/2009

Kinematik Der Begriff Kinematik im Zusammenhang mit Robotern und Handlingsgeräten in Motion Control Systemen bedeutet die Abstraktion einer Mechanik auf die für die Bewegung und Bewegungsausführung relevanten Größen, das sind die bewegungsfähigen Elemente (Gelenke) und deren geometrischen Lagen zueinander (Arme).

Kinematiktransformation, Kinematikanpassung Umrechnung von Vorgaben in kartesischen Koordinaten in Vorgaben für die einzelnen Bahnachsen und umgekehrt

Kreisbahn Bahn in 2D oder 3D, die einen Kreis oder Kreisbogen beschreibt

Linearbahn Bahn in 2D oder 3D, die eine Gerade beschreibt

mitgeführtes OCS Ein Objektkoordinatensystem (OCS), das synchron zum trackingIn-Interface mitgeführt wird.

Objektkoordinatensystem (OCS) Ab SIMOTION V4.1.2 sind zusätzlich zum Basiskoordinatensystem (BCS) Objektkoordinatensysteme (OCS) mit dem Bahnobjekt verfügbar. Bahnbewegungen können wahlweise im BCS oder im OCS vorgegeben werden. Die Objektkoordinatensysteme sind in ihrer Bezugslage über Frametransformationen zum BCS definiert. Sie können mit einem am TrackingIn-Interface vorgebbaren Bewegungswert in x-Richtung des OCS mitgeführt werden.

OCS-Bezugslage Lage des OCS bei Bewegungsfolgewert gleich Null. Die OCS-Bezugslage zum BCS wird über eine Frametransformation definiert.

Polynombahn Bahn in 2D oder 3D, die ein Polynomsegment beschreibt

Synchronbewegung, Bahnsynchronbewegung, bahnsynchrone Bewegung Synchrones Mitfahren einer Achse an einer Bahnbewegung; wird ausgegeben an einer Positionierachse

Page 15: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Übersicht Bahninterpolation 1.2 Begriffe

TO Bahninterpolation Funktionshandbuch, 05/2009 15

trackingIn-Interface Das eingangsseitige Verschaltungsinterface trackingIn des Bahnobjekts kann mit einem anderen TO verschaltet werden, welches ausgangsseitig ein Interface mit Bewegungsinformation bereitstellt. Dies kann z.B. der Bewegungssollwert oder -istwert einer Achse oder der Istwert eines Externen Gebers sein.

Page 16: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes
Page 17: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

TO Bahninterpolation Funktionshandbuch, 05/2009 17

Grundlagen Bahninterpolation 22.1 Bahninterpolation

Die Technologie Bahninterpolation stellt die Funktionalität zur Interpolation von Linear-, Kreis- und Polynombahnen in 2D und 3D bereit.

Bild 2-1 Einordnung und Grobprinzip des Bahninterpolators

An der Bahninterpolation beteiligte Objekte

Bild 2-2 Objekte bei der Bahninterpolation

Page 18: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.1 Bahninterpolation

TO Bahninterpolation 18 Funktionshandbuch, 05/2009

Die Technologie Bahninterpolation wird über das Technologieobjekt Bahnobjekt bereitgestellt. Das TO Bahnobjekt wird mit 2 oder 3 Bahnachsen verschaltet. Zusätzlich kann das TO Bahnobjekt mit einer Positionierachse für eine bahnsynchrone Bewegung und mit Positionierachsen zur Kopplung an eine Koordinate sowie mit einer Kurvenscheibe verschaltet werden. Über das TrackingIn-Interface kann ein Technologieobjekt verschaltet werden, welches Bewegungsinformationen mit einer Position (den Bewegungsfolgewert) bereitstellt, wie z.B.: ● Externer Geber ● Positionierachse

Einordnung der Bahnachse Alle Einzelachsfunktionen sind an der Bahnachse ohne Einschränkungen ausführbar.

Bild 2-3 Einordnung der Bahnachse

Die Funktionalität der Bahninterpolation ist nicht von der physikalischen Achsart abhängig. Die Bahninterpolation ist anwendbar auf elektrische, hydraulische und Schrittmotor-Achsen (reale Achsen) sowie auf virtuelle Achsen.

Einordnung der Bahninterpolation in Technologiepaketen

Bild 2-4 Einordnung der Bahninterpolation in Technologiepaketen

Die Bahnfunktionalität wird im Technologiepaket PATH zur Verfügung gestellt, welches die Funktionalitäten des Technologiepakets CAM enthält. Die Erweiterungen umfassen das TO Bahninterpolation und das TO Bahnachse. Das Technologiepaket CAM_EXT enthält damit auch diese Objekttypen. Weitere Informationen siehe Motion Control Basisfunktionen, "Verfügbare Technologieobjekte".

Page 19: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.2 Koordinatensystem

TO Bahninterpolation Funktionshandbuch, 05/2009 19

2.2 Koordinatensystem Die Funktionen zur Bahninterpolation setzen ein kartesisches Koordinatensystem voraus. Es wird ein rechtsdrehendes, rechtwinkliges Koordinatensystem nach DIN 66217 verwendet. Unabhängig von der realen Kinematik programmiert der Anwender in diesem Rechtssystem.

z

y

x Bild 2-5 Kartesisches Koordinatensystem, Rechtssystem

Hauptebenen Zweidimensionale Bewegungen (2D) können vereinfacht direkt in einer der drei Hauptebenen X-Y, Y-Z oder Z-X erfolgen. Die dritte Koordinate bleibt dabei konstant und ist daher bei der Programmierung nicht erforderlich.

Bild 2-6 Hauptebenen in 3D

Page 20: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.3 Modulo-Eigenschaften

TO Bahninterpolation 20 Funktionshandbuch, 05/2009

2.3 Modulo-Eigenschaften Sowohl die Bahnachsen als auch die Positionierachse können als Modulo-Achsen eingestellt werden. Jedoch darf im Bahn-Verfahrbereich kein Modulobereichswechsel der Bahnachse stattfinden. Die Kinematiktransformation berücksichtigt keine Modulo-Bereichswechsel. Für den Verfahrbereich am Bahnobjekt wird damit nur ein Modulo-Bereich der Bahnachse verwendet. Mit Aktivieren der Bahninterpolation wird der Modulo-Bereich für die Bahnbewegung festgelegt. Das bedeutet, der Moduloübergang der Achse darf sich nicht im Verfahrbereich der Bahnbewegungen befinden. Der Modulo-Bereich und der Modulo-Startpunkt, wie auch die Lage des Modulo-Bereiches zum beabsichtigten Bahnfahrbereich sind entsprechend einzustellen, z. B. über die Einstellungen zu Referenzpunkt und Referenzpunktverschiebung beim Referenzieren.

2.4 Einheiten Alle achsbezogenen Werte werden in Größe und Einheit der entsprechend zugeordneten (verschalteten) Achsen angezeigt. Die kartesischen Koordinaten werden in einer Längeneinheit angezeigt. Die Voreinstellung für kartesische Werte ist [mm]. Rotatorische Größen, wie z. B. ein Kreiswinkel, werden standardmäßig in [°] angegeben und grad-bezogen berechnet. Die Transformation rechnet direkt mit den numerischen Werten. Bei den vom System bereit gestellten Transformationen erfolgt keine Einheitenumrechnung. Für die gleiche Bezugsgröße, z. B. Längenangabe, sind also die gleichen Einheiten einzustellen.

Hinweis Verwenden Sie die gleichen Einheiten für alle am Bahnobjekt beteiligen Objekte, die die gleichen Bezugsgrößen haben (z. B. Linearachsen in mm, rotatorische Achsen in °). Vermeiden Sie z.B. die Vermischung von metrischen und nicht metrischen Einheiten bei den beteiligten Achsen.

Page 21: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation Funktionshandbuch, 05/2009 21

2.5 Bahninterpolationsarten

2.5.1 Bahninterpolationsarten

Bild 2-7 Beispiele für Linearbahn in 3D, Kreisbahn in 3D, Polynombahn in 3D

Folgende Interpolationsmodi stehen am Bahnobjekt zur Verfügung: ● Linearbahnen (Seite 24)

– 2D in einer Hauptebene – 3D

● Kreisbahnen (Seite 24) – 2D in einer Hauptebene mit Radius, Endpunkt und Orientierung – 2D in einer Hauptebene mit Mittelpunkt und Winkel – 2D mit Zwischen- und Endpunkt – 3D mit Zwischen- und Endpunkt

● Polynombahnen (Seite 30) – 2D in einer Hauptebene mit expliziter Vorgabe der geometrischen Ableitungen im

Startpunkt oder geometrisch stetiger Anbindung – 3D mit expliziter Vorgabe der geometrischen Ableitungen im Startpunkt oder

geometrisch stetiger Anbindung – 2D mit expliziter Vorgabe der Polynomparameter – 3D mit expliziter Vorgabe der Polynomparameter

Die Hauptebene (2D) oder der 3D-Modus, in der die Bahnbewegung erfolgt, kann mit dem Parameter pathPlane des Interpolationsbefehls vorgegeben werden. Die senkrecht zur Hauptebene stehende dritte Bahnkoordinate wird bei einer 2D-Bahn nicht verändert.

Page 22: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation 22 Funktionshandbuch, 05/2009

2.5.2 Aufbau der Befehle zur Bahninterpolation Folgende Befehle zur Bahninterpolation stehen zur Verfügung: ● Linearinterpolation: _movePathLinear() ● Kreisinterpolation: _movePathCircular() ● Polynominterpolation: _movePathPolynomial() Diese Befehle enthalten folgende Parameter: ● Angabe der Objektinstanz in pathObjectType ● Angabe der Bahnebene in pathPlane

Über diesen Parameter wird die Bahnebene eingestellt. Die Hauptebene (2D) oder der 3D-Modus, in der die Bahnbewegung erfolgen soll, kann angegeben werden.

● Angabe des Bahnmodus in pathMode Über diesen Parameter wird eingestellt, ob der Wert für den Zielpunkt absolut angegeben ist, oder relativ zum Startpunkt gewertet wird.

● Angabe des Zielpunktes in x, y, z ● Angabe des Überschleifmodus in blendingMode ● Angabe des Ablöseverhaltens in mergeMode ● Angabe des Befehlsweiterschaltung in nextCommand ● Angabe der Befehls-Id in commandId

Spezifische Angaben zur Linearbahn ( _movePathLinear () ) (siehe Linearbahnen (Seite 24)) ● Keine

Spezifische Angaben zur Kreisbahn ( _movePathCircular () ) (siehe Kreisbahnen (Seite 24)) ● Angabe des Kreistyps in circularType ● Angabe der Kreisrichtung in circleDirection ● Angabe des Zwischenpunktmodus in ijkMode ● Angabe des Zwischenpunktes in i, j, k ● Angabe des Winkels des Kreisbogens in arc ● Angabe des Kreisradius in radius

Spezifische Angaben zur Polynombahn ( _movePathPolynomial() ) (siehe Polynombahnen (Seite 30)) ● Angabe Polynommodus in polynomialMode ● Angabe der Vektorkomponenten in vector1x bis vector4z

Page 23: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation Funktionshandbuch, 05/2009 23

Angaben zur Dynamik (siehe Bahndynamik (Seite 37)) ● Geschwindigkeitsprofil in velocityprofile ● Geschwindigkeit in velocity ● Beschleunigung in positiveAccel ● Verzögerung in negativeAccel ● Ruck am Beschleunigungsanfang in positiveAccelStartJerk ● Ruck am Beschleunigungsende in positiveAccelEndJerk ● Ruck am Verzögerungsanfang in negativeAccelStartJerk ● Ruck am Verzögerungsende in negativeAccelEndJerk ● Auswahl spezifisches Profil in specificVelocityProfile ● Angabe des Geschwindigkeitsprofils durch eine Kurvenscheibe in profileReference ● Startpunkt bei spezifischem Profil in profileStartPosition ● Endpunkt bei spezifischem Profil in profileEndPosition ● Adaption an die Achsdynamiken in dynamicAdaption

Angaben zur bahnsynchronen Bewegung (siehe Funktionalität der bahnsynchronen Bewegung (Seite 47)) ● Modus bahnsynchrone Bewegung in wMode ● Richtung bahnsynchrone Bewegung in wDirection ● Zielpunkt bahnsynchrone Bewegung in w

Angaben zum Objektkoordinatensystem (siehe Objektkoordinatensystem (OCS) am Bahnobjekt (Seite 72)) ● Angabe des Koordinatensystems in csType

Über diesen Parameter wird eingestellt, ob die Bewegung im Basiskoordinatensystem oder in einem Objektkoordinatensystem durchgeführt werden soll.

● Angabe des Objektkoordinatensystems in csNumber Über diesen Parameter wird eingestellt, in welchem Objektkoordinatensystem die Bewegung durchgeführt werden soll.

Page 24: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation 24 Funktionshandbuch, 05/2009

2.5.3 Linearbahnen Bei der Interpolation von Linearbahnen wird ein Endpunkt, ausgehend von der aktuellen Position, auf einer Geraden angefahren. Linearbahnen werden mit dem Befehl _movePathLinear() abgefahren.

Bild 2-8 Beispiel von einer Linearbahn

Beispiel Linearbahn in ST In diesem Beispiel liegen die aktuelle Position und der Endpunkt in der X-Y-Ebene. Der Endpunkt ist jeweils 10 Einheiten in positiver Richtung entlang beider Achsen von der aktuellen Position entfernt. myRetDINT := _movePathLinear( pathObject:=pathIPO, pathPlane:=X_Y, pathMode:=relative, x:=10.0, y:=10.0 );

2.5.4 Kreisbahnen

2.5.4.1 Kreisbahnen Bei einer Kreisbahnen wird von der aktuellen Position aus ein vorgegebener Endpunkt über einen Kreisbogen angefahren. Kreisbahnen werden mit dem Befehl _movePathCircular() abgefahren. Der Kreisbogen kann dabei über verschiedene Modi vorgegeben werden. Die Vorgabe des zu verwendenden Modus erfolgt über den Parameter circularType. ● Kreisinterpolation in einer Hauptebene mit Radius, Endpunkt und Orientierung (Seite 25) ● Kreisinterpolation in einer Hauptebene mit Mittelpunkt und Winkel (Seite 27) ● Kreisinterpolation mit Zwischen- und Endpunkt (Seite 29) Wenn eine Kreisbahn aufgrund der Geometrie nicht abfahrbar ist, wird der Fehler 50002 ausgegeben.

Page 25: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation Funktionshandbuch, 05/2009 25

2.5.4.2 Kreisbahn in einer Hauptebene mit Radius, Endpunkt und Orientierung

Bild 2-9 Kreisbahn mit Radius, Endpunkt und Orientierung

Mit der Parametereinstellung circularType:=WITH_RADIUS_AND_ENDPOSITION am Befehl _movePathCircular() erfolgt die Kreisinterpolation in einer Hauptebene mit Angabe von Radius, Endpunkt und Orientierung. Der Endpunkt wird, ausgehend von der aktuellen Position, auf einer Kreisbahn angefahren. Die aktuelle Position und der Endpunkt liegen dabei in einer Hauptebene. Kreisradius, Orientierung (Fahren in positiver oder negativer Drehrichtung), und das Fahren auf dem großen oder kleinen Kreisbogen werden im Befehl angegeben. Die Endpunktposition wird in den Parametern x, y, z eingegeben.

Page 26: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation 26 Funktionshandbuch, 05/2009

Beispiel Kreisbahn mit Radius, Endpunkt und Orientierung In diesem Beispiel liegen die aktuelle Position und der Endpunkt auf der X-Y-Ebene. Der Endpunkt ist -10 Einheiten entlang der x-Achse und 10 Einheiten entlang der y-Achse von der aktuellen Position entfernt. Der große Kreisbogen wird in positiver Richtung gefahren.

Bild 2-10 Beispiel von Kreisbahn mit Radius, Endpunkt und Orientierung

myRetDINT := _movePathCircular( pathObject:=pathIPO, pathPlane:=X_Y, circularType:=WITH_RADIUS_AND_ENDPOSITION, circleDirection:=LONG_RUN_POSITIVE, pathMode:=RELATIVE, x:=-10.0, y:=10.0, radius:=12.0 );

Page 27: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation Funktionshandbuch, 05/2009 27

2.5.4.3 Kreisbahn über Mittelpunkt und Winkel

Bild 2-11 Kreisbahn mit Mittelpunkt und Winkel

Mit der Parametereinstellung circularType:= BY_CENTER_AND_ARC am Befehl _movePathCircular() erfolgt die Kreisinterpolation ausgehend von der aktuellen Position in einer Hauptebene mit Angabe von Mittelpunkt und Winkel. Der Kreismittelpunkt, der zu fahrende Winkel und die Orientierung (Fahren in positiver oder negativer Drehrichtung) werden im Befehl vorgegeben. Die Kreismittelpunktposition wird in den Parametern i, j, k eingegeben. Über den Parameter ijkMode wird eingestellt, ob die Kreismittelpunktkoordinaten absolut oder relativ zum Startpunkt eingegeben, oder ob die Einstellung aus dem Parameter pathMode übernommen werden soll.

Page 28: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation 28 Funktionshandbuch, 05/2009

Beispiel Kreisbahn mit Mittelpunkt und Winkel In diesem Beispiel ist der Mittelpunkt -10 Einheiten entlang der X-Achse von der aktuellen Position entfernt. Ein Winkel von 90 Grad in positiver Richtung wird gefahren.

Bild 2-12 Beispiel von Kreisbahn mit Mittelpunkt und Winkel

retval := _movePathCircular( pathObject := pathIpo, pathPlane := X_Y, circularType := BY_CENTER_AND_ARC, circleDirection := POSITIVE, ijkMode := RELATIVE, i := -10.0, j := 0.0, arc := 90.0 );

Page 29: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation Funktionshandbuch, 05/2009 29

2.5.4.4 Kreisbahn über Zwischenpunkt und Endpunkt

Bild 2-13 Kreisbahn mit Zwischen- und Endpunkt

Mit der Parametereinstellung circularType:=OVER_POSITION_TO_ENDPOSITION am Befehl _movePathCircular() erfolgt die Kreisinterpolation ausgehend von der aktuellen Position über einen Zwischenpunkt zum Endpunkt. Aktuelle Position, Zwischenpunkt und Endpunkt legen die Ebene für die Kreisbahn fest. Die Endpunktposition wird in den Parametern x, y, z eingegeben. Der Zwischenpunkt wird in den Parametern i, j, k eingegeben. Über den Parameter ijkMode wird eingestellt, ob die Zwischenpunktkoordinaten absolut, relativ zum Startpunkt, oder entsprechend der Einstellung in pathMode des Zielpunktes gewertet werden.

Page 30: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation 30 Funktionshandbuch, 05/2009

Beispiel Kreisbahn mit Zwischenpunkt und Endpunkt In diesem Beispiel ist der Endpunkt des Kreises 10 Einheiten in X-Richtung von der aktuellen Position entfernt. Der Zwischenpunkt ist jeweils 5 Einheiten in X-, Y- und Z-Richtung von der aktuellen Position entfernt.

Bild 2-14 Beispiel von Kreisbahn mit Zwischen- und Endpunkt

retval := _movepathcircular( pathObject := pathIpo, pathPlane := X_Y_Z, circularType := OVER_POSITION_TO_ENDPOSITION, pathMode := RELATIVE, x:=10.0, y:=0.0, z:=0.0, ijkMode := RELATIVE, i:=5.0, j:=5.0, k:=5.0 );

2.5.5 Polynombahnen

2.5.5.1 Polynombahnen Mit einem Polynomsegment kann sowohl die Anforderung nach einem geschwindigkeits- und beschleunigungsstetigen Übergang zwischen zwei Geometrieelementen als auch die Forderung nach einer flexibel programmierbaren Kurvenform z. B. aus einem übergeordneten CAD-System erfüllt werden. Neben dem implizit vorhandenen Startpunkt (PS) des Polynoms wird über Befehlsparameter des Befehls _movePathPolynomial() der Endpunkt (PE) sowie vier dreidimensionale Vektoren zur Bestimmung der Polynomkoeffizienten angegeben. Die Vektoren werden im Befehl über ihre Komponenten eingegeben, also z. B. der vector1 über die Befehlsparameter vector1x, vector1y, vector1z. Die Definition des Polynoms kann auf drei verschiedene Arten erfolgen: ● Direkte Vorgabe der Polynomkoeffizienten (Seite 32) ● Explizite Vorgabe der Startpunktdaten (Seite 33) ● Stetig anfügen (Seite 35)

Page 31: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation Funktionshandbuch, 05/2009 31

Bei den beiden Arten Explizite Vorgabe der Startpunkdaten und Stetig anfügen werden die Ableitungen im Start- und Endpunkt des Polynoms benötigt. Diese lassen sich mit integrierten Funktionen bestimmen.

dds

d ds

2

2

Bild 2-15 Polynombeschreibung durch Vorgabe der geometrischen Ableitungen

Stetiger Übergang zwischen zwei Linearbahnen

⎟⎟⎟

⎜⎜⎜

⎛ ⎟⎟⎟

⎜⎜⎜

Bild 2-16 Angabe der Ableitungen beim Polynomübergang zwischen zwei Linearbahnen

Die Ableitungen im Endpunkt der Vorgängergeometrie und im Startpunkt der nachfolgenden Geometrie können mit den Befehlen _getLinearPathGeometricData(), _getCircularPathGeometricData(), _getPolynomialPathGeometricData() berechnet werden. Wenn eine Polynombahn aufgrund der Geometrie nicht abfahrbar ist, wird der Fehler 50002 ausgegeben.

Page 32: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation 32 Funktionshandbuch, 05/2009

Einfluß der Start- und Endpunkte Bei der Verwendung von Polynomen muß berücksichtigt werden, dass diese stetig an das vorhergehende und nachfolgende Bahnsegment anzubinden sind. Dadurch ergeben sich, je nach Wahl der Start- und Endpunkte, unterschiedliche Polynomverläufe, die von einer Kreisbahn deutlich abweichen können. Folgende Grafik zeigt den Verlauf einer Polynombahn mit unterschiedlichen Startpunkten:

Bild 2-17 Verhalten einer Polynombahn bei unterschiedlichen Startpunkten

2.5.5.2 Polynombahn - direkte Vorgabe der Polynomkoeffizienten Bei der Polynomvorgabe über Polynomkoeffizienten (polynomialMode:=SETTING_OF_COEFFICIENTS() ) wird die Polynombahn durch eine Funktion 5. Grades bestimmt: P = A0 + A1 • p + A2 • p2 + A3 • p3 + A4 • p4 + A5 • p5 , p ∈ [0,1] ● vector1 : A2 ● vector2 : A3 ● vector3 : A4 ● vector4 : A5 ● A0 und A1 ergeben sich aus dem Startpunkt und Endpunkt sowie den vorbestimmten

Koeffizienten. Für den oben genannten Parameterbereich bedeutet das: – A0 = Startpunkt – A1 = Endpunkt - Startpunkt - A2 - A3 - A4 - A5

Page 33: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation Funktionshandbuch, 05/2009 33

2.5.5.3 Polynombahnen - explizite Vorgabe der Startpunktdaten Bei der Einstellung polynomialMode:=SPECIFIC_START_DATA und der expliziten Vorgabe der Startpunktdaten sind zusätzlich zur Angabe der Ableitungen im Endpunkt des Polynoms auch die beiden geometrischen Ableitungen im Startpunkt vorzugeben. Die Ableitungen sind dabei wie folgt zu parametrieren: ● vector1: erste geometrische Ableitung/Tangentialvektor im Startpunkt ● vector2: zweite geometrische Ableitung/Krümmungsvektor im Startpunkt ● vector3: erste geometrische Ableitung/Tangentialvektor im Endpunkt ● vector4: zweite geometrische Ableitung/Krümmungsvektor im Endpunkt

Beispiel Polynombahn mit expliziter Vorgabe der Startpunktdaten Dieses Beispiel verbindet eine Linearbahn und eine Kreisbahn:

Bild 2-18 Beispiel von Polynombahn mit expliziter Vorgabe der Startpunktdaten

Zunächst müssen die beiden Ableitungen im Startpunkt des Polynoms berechnet werden. Dafür wird die Funktion _getLinearPathGeometricData() verwendet, die die beiden Ableitungen für den Endpunkt der Gerade (Startpunkt des Polynoms) anhand Koordinaten der Gerade berechnet. Danach werden die beiden Ableitungen des Polynom-Endpunktes ermittelt. Die Berechnung erfolgt mit dem Befehl _getCircularPathGeometricData() auf Basis des Startpunktes des Kreisbogens (Endpunkt des Polynoms). // StartPoly muss als StructRetGetLinearPathGeometricData // definiert werden. // EndPoly muss als StructRetGetCircularPathGeometricData // definiert werden. StartPoly := _getLinearPathGeometricData( pathObject:=pathIPO, pathPlane:=X_Y, pathMode:=ABSOLUTE, xStart:=10.0, yStart:=10.0, xEnd:=20.0, yEnd:=20.0, pathPointType:=END_POINT );

Page 34: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation 34 Funktionshandbuch, 05/2009

EndPoly := _getCircularPathGeometricData( pathObject:=pathIPO, pathPlane:=X_Y, circularType:=WITH_RADIUS_AND_ENDPOSITION, circleDirection:=NEGATIVE, pathMode:=ABSOLUTE, xStart:=40.0, yStart:=20.0, xEnd:=50.0, yEnd:=10.0, radius:=10.0, pathPointType:=START_POINT ); myRetDINT := _movePathPolynomial( pathObject:=pathIPO, pathPlane:=X_Y, pathMode:=ABSOLUTE, polynomialMode:=SPECIFIC_START_DATA, x:=40.0, y:=20.0, vector1x:=StartPoly.firstGeometricDerivative.x, vector1y:=StartPoly.firstGeometricDerivative.y, vector2x:=StartPoly.secondGeometricDerivative.x, vector2y:=StartPoly.secondGeometricDerivative.y vector3x:=EndPoly.firstGeometricDerivative.x, vector3y:=EndPoly.firstGeometricDerivative.y, vector4x:=EndPoly.secondGeometricDerivative.x, vector4y:=EndPoly.secondGeometricDerivative.y );

Page 35: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation Funktionshandbuch, 05/2009 35

2.5.5.4 Polynombahnen - stetig anfügen Polynombahnen können über die Einstellung polynomialMode:=ATTACHED_STEADILY stetig an ein vorhergehendes Bahnsegment angebunden werden. Dabei werden die geometrischen Ableitungen im Startpunkt des Polynoms von der Vorgängergeometrie übernommen, so dass nur noch die erste und zweite geometrische Ableitung im Endpunkt direkt vorgegeben werden muss. Die beiden Ableitungen müssen wie folgt am Polynombefehl vorgegeben werden: ● vector1: erste geometrische Ableitung/Tangentialvektor im Endpunkt ● vector2: zweite geometrische Ableitung/Krümmungsvektor im Endpunkt Kann die geometrische Ableitung im Startpunkt nicht bestimmt werden (wenn keine aktuelle Bewegung vorhanden ist), wird der Befehl nicht ausgeführt und die Fehlermeldung 50002 "Berechnung des Geometrieelementes nicht möglich, Grund 3" wird ausgegeben.

Bild 2-19 Polynombahn - stetig anfügen

Page 36: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.5 Bahninterpolationsarten

TO Bahninterpolation 36 Funktionshandbuch, 05/2009

Beispiel Polynombahn mit stetig anfügen In diesem Beispiel werden 2 Geraden über ein Polynom verbunden.

Bild 2-20 Beispiel für das stetige Anfügen von Polynombahnen

Zunächst müssen die beiden Ableitungen im Endpunkt des Polynoms berechnet werden. Dafür wird die Funktion _getLinearPathGeometricData() verwendet, die als Rückgabewert eine Struktur mit den Ableitungen zurück gibt. Die Funktion berechnet die Ableitungen für den Startpunkt der Geraden (Endpunkt des Polynoms) anhand der Start- und Endpunktkoordinaten der Geraden. // EndPoly muss als StructRetGetLinearPathGeometricData // definiert werden. EndPoly := _getLinearPathGeometricData( pathObject:=pathIPO, pathPlane:=X_Y, pathMode:=ABSOLUTE, xStart:=30.0, yStart:=15.0, xEnd:=50.0, yEnd:=5.0, pathPointType:=START_POINT ); myRetDINT := _movePathPolynomial( pathObject:=pathIPO, pathPlane:=X_Y, pathMode:=ABSOLUTE, polynomialMode:=ATTACHED_STEADILY, x:=30.0, y:=15.0, vector1x:=EndPoly.firstGeometricDerivative.x, vector1y:=EndPoly.firstGeometricDerivative.y, vector2x:=EndPoly.secondGeometricDerivative.x, vector2y:=EndPoly.secondGeometricDerivative.y );

Page 37: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.6 Bahndynamik

TO Bahninterpolation Funktionshandbuch, 05/2009 37

2.6 Bahndynamik

2.6.1 Bahndynamik Die Bahndynamik kann über Vorgabe der Dynamikwerte oder über ein Dynamikprofil festgelegt werden. Die dynamischen Grenzwerte der Einzelachsen beim Abfahren der Bahn können optional berücksichtigt werden. Beim Überschreiten der Dynamikwerte wird eine Fehlermeldung abgesetzt.

Bild 2-21 Bahndynamik bei der Bahninterpolation und Dynamikbegrenzung an der Achse

Page 38: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.6 Bahndynamik

TO Bahninterpolation 38 Funktionshandbuch, 05/2009

2.6.2 Vorgabe der Bahndynamik Die Bahndynamik kann auf zwei verschiedene Arten und Weisen im jeweiligen Bewegungsbefehl spezifiziert werden: ● Vorgabe der Bahndynamik über Befehlsparameter ● Vorgabe der Bahndynamik über Geschwindigkeitsprofil / Kurvenscheibe

Vorgabe der Bahndynamik über Befehlsparameter Die Dynamikwerte (Geschwindigkeit, Beschleunigung und ggf. Ruck) werden unter Angabe des Geschwindigkeitsprofiltypes explizit vorgegeben. Der Bahninterpolator berechnet das Geschwindigkeitsprofil für die Bahnbewegung. Kriterien für die Berechnung des Geschwindigkeitsprofils sind: ● die am Bahnbewegungsbefehl vorgegebenen Dynamikwerte für Geschwindigkeit,

Beschleunigung und Ruck ● die Art des eingestellten Geschwindigkeitsprofils in velocityProfile:

– TRAPEZOIDAL: ohne Ruckbegrenzung; die Bahn wird mit konstanter Beschleunigung und Verzögerung gefahren.

– SMOOTH: mit Ruckbegrenzung; die Bahn wird mit stetigem Beschleunigungs- und Verzögerungsverlauf gefahren.

Vorgabe der Bahndynamik über Geschwindigkeitsprofil / Kurvenscheibe Das Bahnobjekt kann zur Vorgabe eines Geschwindigkeitsprofils mit einer Kurvenscheibe verschaltet werden. Geschwindigkeit sowie die abgeleiteten Größen für Beschleunigung und ggf. Ruck werden aus dem Geschwindigkeitsprofil übernommen. Die Bezugsgröße (Definitionsbereich) ist die Bahnlänge. Um Rundungsfehler bei der Bahnlängenberechung auszuschließen und um die optimierte Berechnung von Profilen über mehr als eine Bewegung zu ermöglichen, können gleichzeitig Parameter für den Start- und Endpunkt im Definitionsbereich der Kurvenscheibe der jeweiligen Bewegung programmiert werden. Am Befehlsende wird ebenfalls mit der im Profil angegebenen Dynamik verfahren. Sind weitere Folgebewegungen programmiert, wird somit mit dieser Dynamik auf den neuen Bewegungsbefehl übergegangen. Mögliche Einstellungen für das Bahnverhalten am Bewegungsende werden ignoriert. Sind keine weiteren Folgebewegungen programmiert bzw. soll am Befehlsende gestoppt werden, sollte die Dynamik im Profil so gewählt werden, dass ein Halt am Bewegungsende möglich ist: Geschwindigkeit 0 mit einer sicher zu realisierenden Bremsdynamik. Zusätzlich wirken die befehlsgranularen Dynamikwerte unter Berücksichtigung des vorgegebenen Geschwindigkeitsprofiltypes begrenzend auf die Profildynamik.

Page 39: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.6 Bahndynamik

TO Bahninterpolation Funktionshandbuch, 05/2009 39

2.6.3 Begrenzungen der Bahndynamik

Technologische Begrenzungen Die sich aus der Bahninterpolation für die einzelnen Achsen ergebenden Sollwerte werden an jeder Bahnachse bzw. Positionierachse für bahnsynchrone Bewegung auf die dort vorliegenden achsspezifischen Dynamikgrenzwerten begrenzt. Die Achsdynamikwerte am Bahnobjekt werden nur berücksichtigt, falls diese auch so programmiert wurden (Befehlsparameter blendingMode := ACTIVE_WITH_DYNAMIC_ADAPTION und/oder dynamicAdaption <> INACTIVE). In den Systemvariablen limitsOfPathDynamics können die Begrenzungen für Bahngeschwindigkeit, -beschleunigung und -ruck festgelegt werden. Änderungen der Systemvariablen sind sofort wirksam. Die maximalen Dynamikwerte für die Bahn ergeben sich aus dem Minimum der am Befehl eingestellten Dynamikparameter, den über die Systemvariablen (limitsOfPathDynamics) vorgegebenen Dynamikgrenzwerten für die Bahn und, wenn programmiert, den maximalen Dynamikwerten der Achsen entlang der Bahn. Beachten Sie, dass die Bahngeschwindigkeit bei aktiver Dynamikadaption ggfs. auch dann reduziert wird, wenn die Dynamikgrenzen der Achsen auch ohne aktive Dynamikadaption nicht verletzt werden würden. Aufgrund einer zu berücksichtigenden Reserve für die aktive Dynamikadaption wird die maximal mögliche Bahndynamik daher nicht immer erreicht.

Berücksichtigung der Dynamikgrenzwerte der Bahnachsen Am Bahnobjekt kann über den Befehlsparameter dynamicAdaption ein Bezug zu den Dynamikgrenzwerten der Achse hergestellt werden. Folgende Einstellungen sind möglich: ● keine Berücksichtigung der maximalen Dynamikwerte der Bahnachsen (INACTIVE)

Mit dieser Einstellung werden innerhalb der Bahninterpolation die axialen Grenzwerte nicht berücksichtigt. Die Begrenzungen an den Bahnachsen sind aber aktiv, es kann bei Verletzungen zu einem Sollwertfehler der Bahn (sollwertseitiger Bahnfehler) kommen. Die Einstellung ist sinnvoll, – wenn keine transformierten Dynamikwerte vorliegen – wenn vorab, z.B. durch eine Inbetriebnahmephase, eine Überschreitung der axialen

Grenzwerte ausgeschlossen werden kann – wenn applikativ, z.B. durch Berechnung eines optimierten Geschwindigkeitsprofils,

bereits die axialen Grenzwerte berücksichtigt wurden – wenn überlagerte Achsbewegungen stattfinden

● Reduzierung der maximalen Bahndynamik entsprechend der maximalen Dynamikwerte der Bahnachsen (ACTIVE_WITH_CONSTANT_LIMITS) Im Bahninterpolator werden die Geschwindigkeit und die Beschleunigung der Bahn auf die aus den eingestellten Maximalwerten der einzelnen Bahnachsen berechneten Maximalwerte in den kartesischen Koordinaten begrenzt. Achsspezifische Ruckgrenzwerte bei der Vorabplanung der Bahn werden nicht berücksichtigt. Der Ruck kann aber bei entsprechender Parametrierung der pathMotion-

Page 40: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.6 Bahndynamik

TO Bahninterpolation 40 Funktionshandbuch, 05/2009

Überwachung an der Bahnachse begrenzt werden. Es kann dann zu einem sollwertseitigen Bahnfehler kommen. Beim Erreichen der dynamischen Grenzwerte einer Achse, d. h. wenn die programmierte Bahngeschwindigkeit/-beschleunigung durch diese Grenzwerte nicht erreicht werden kann, wird ein Alarm ausgegeben. Eine Online-Änderung der dynamischen Grenzwerte der Bahnachsen wird sofort wirksam, jedoch nicht für den bereits aktiven bzw. dekodierten Bewegungsbefehl.

● segmentweise Reduzierung der maximalen Bahndynamik entsprechend den maximalen Dynamikwerten der Bahnachsen in diesen Segmenten (ACTIVE_WITH_VARIABLE_LIMITS). Diese Einstellung entspricht ACTIVE_WITH_CONSTANT_LIMITS, die Bahn wird jedoch segmentiert. Insgesamt wird schneller gefahren, die Geschwindigkeit ist nicht konstant über die gesamte Bahn.

Am Bahnobjekt kann aus der Systemvariablen kinematicsData.transformationsOfDynamics ausgelesen werden, ob die maximalen Dynamikwerte der Achsen transformiert vorliegen. Ist dies nicht der Fall, wird die Bahndynamik immer mit den maximalen Dynamikgrenzwerten am Bahnobjekt begrenzt, unabhängig von der Einstellung im Befehlsparameter dynamicAdaption.

Unterschied zwischen ACTIVE_WITH_CONSTANT_LIMITS und ACTIVE_WITH_VARIABLE_LIMITS Nachfolgender Trace zeigt den Unterschied zwischen ACTIVE_WITH_CONSTANT_LIMITS und ACTIVE_WITH_VARIABLE_LIMITS. Zwei Kreisbahnen werden mit einem 2D-Portal gefahren, die maximalen Geschwindigkeiten der Bahnachsen sind wie folgt: ● Achse_X: 500 mm/s ● Achse_Y: 200 mm/s Eine Bahngeschwindigkeit von 400 mm/s wird in den Bahnbefehlen definiert.

Bild 2-22 Beispiel: Begrenzungen der Bahndynamik

Page 41: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.6 Bahndynamik

TO Bahninterpolation Funktionshandbuch, 05/2009 41

Bild 2-23 Trace: ACTIVE_WITH_CONSTANT_LIMITS, ACTIVE_WITH_VARIABLE_LIMITS

Override Am Bahnobjekt ist ein Geschwindigkeits-Override (Systemvariable override.velocity) und ein Beschleunigungs-Override (Systemvariable override.acceleration) verfügbar.

Page 42: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.7 Bahnbewegung stoppen und fortsetzen

TO Bahninterpolation 42 Funktionshandbuch, 05/2009

2.7 Bahnbewegung stoppen und fortsetzen Mit dem Befehl _stopPath() kann die aktuelle Bahnbewegung gestoppt werden. Eine gestoppte aber nicht abgebrochene Bahnbewegung kann mit dem Befehl _continuePath() weitergeführt werden Beim Fortsetzen der Bahnbewegung werden die Bewegungseigenschaften (Geschwindigkeitsprofil, Beschleunigung, ...) des unterbrochenen Bahnbefehls angewendet. Um bei abgebrochenen Bahnbewegungen applikativ auf die Abbruchposition aufsetzen zu können, wird die letzte berechnete Sollposition auf der Bahn in der Systemvariablen abortPosition angezeigt.

Dynamikverhalten bei _stopPath() Mit dem Befehl _stopPath() wird das Dynamikverhalten beim Verzögern definiert. Wenn die die Bremsdynamik im Befehl _stopPath() kleiner ist als die Bremsdynamik im aktiven Verfahrbefehl, kann es unter Umständen zu Fehlern kommen. Wenn das Bahnobjekt mit dem im Befehl _stopPath() definierten Dynamikverhalten in den bereits definierten Bahnsegmenten (d.h. in dem Bahnsegment des aktiven Befehls bzw. in dem Bahnsegment des Befehls im Puffer) stoppen kann, wird das Bahnobjekt ohne Fehler stoppen. Wenn das Bahnobjekt mit dem im Befehl _stopPath() definierten Dynamikverhalten nicht bis zum Ende der bereits definierten Bahn stoppen kann, passiert folgendes: ● Die Bahninterpolation wird beendet. ● Jede Achse verzögert mit der in der Achse definierten maximalen Dynamik. ● Die Fehlermeldung 50006 wird erzeugt. Als Beispiel: Nachfolgende Bahn besteht aus drei Verfahrbefehlen, die ineinander überschleifen. D.h., ist der erste Befehl aktiv, wird der zweite Befehl in den Buffer gelegt. Ist der zweite Befehl aktiv, wird der dritte Befehl in den Buffer gelegt. Ist der dritte Befehl aktiv, wird er zu Ende geführt.

Bild 2-24 Dynamikverhalten bei _stopPath()

Wenn _stopPath() mit reduzierter Dynamik innerhalb des ersten Linearbahnsegments aufgerufen wird, wird das Bahnobjekt mit der im Befehl _stopPath() definierten Dynamik verzögert. Das Bahnobjekt stoppt u. U. im Kreisabschnitt, das Bahnprofil wird nicht verlassen. Wenn _stopPath() mit reduzierter Dynamik innerhalb des zweiten Linearbahnsegments aufgerufen wird, kann das Bahnobjekt nicht bis zum Ende der definierten Bahn stoppen. Die Achsen verzögern mit maximaler Dynamik, ggf. wird das Bahnprofil verlassen, der Fehler 50006 wird ausgegeben.

Page 43: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.8 Bahnverhalten am Bewegungsende

TO Bahninterpolation Funktionshandbuch, 05/2009 43

2.8 Bahnverhalten am Bewegungsende

2.8.1 Bahnverhalten am Bewegungsende Das Verhalten am Bewegungsende ergibt sich bei Vorgabe der Bahndynamik über ein Geschwindigkeitsprofil durch die im Profil am Bahnendpunkt angegebene Dynamik. Bei Vorgabe der Bahndynamik über Dynamikparameter ist der Übergang einstellbar. Neben Stoppen am Befehlsende können zwei aufeinanderfolgende Bahnsegmente dynamisch miteinander verbunden werden, sodass nicht abgebremst werden muss. Bei diesem Überschleifen werden von der Bahninterpolation keine Zwischensegmente zur Verrundung generiert. Unter Berücksichtigung der axialen Grenzwerte ergeben sich damit 3 Übergangstypen, die am Parameter blendingMode des jeweiligen nachfolgenden Befehls eingestellt werden können: ● Stoppen am Bewegungsende (Seite 43) (blendingMode:=INACTIVE) ● Überschleifen mit Dynamikadaption (Seite 44)

(blendingMode:=ACTIVE_WITH_DYNAMIC_ADAPTION) ● Überschleifen ohne Dynamikadaption (Seite 45)

(blendingMode:=ACTIVE_WITHOUT_DYNAMIC_ADAPTION) Der Parameter blendingMode wird nur ausgewertet, wenn der Befehl mit mergeMode:=SEQUENTIAL oder mergeMode:=NEXT_MOTION programmiert ist. Der Überscheifmodus wird in dem Bewegungsbefehl angegeben, in dem überschliffen werden soll.

2.8.2 Stoppen am Bewegungsende Die Bewegung wird in der Zielposition des Bahnbefehls beendet. Die Bahngeschwindigkeit und -beschleunigung ist Null. Eine gegebenenfalls neue Bahnbewegung wird erst mit Ende der Sollwertgenerierung END_OF_INTERPOLATION aktiv.

Page 44: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.8 Bahnverhalten am Bewegungsende

TO Bahninterpolation 44 Funktionshandbuch, 05/2009

2.8.3 Überschleifen mit Dynamikadaption Beim Überschleifen wird zwischen zwei aufeinanderfolgenden Bahnsegmenten ein geschwindigkeitsstetiger (bei Geschwindigkeitsprofiltyp TRAPEZOIDAL) bzw. ein geschwindigkeits- und beschleunigungsstetiger Übergang (bei Geschwindigkeitsprofiltyp SMOOTH) vom System unterstützt.

A C B

A

B C

Bild 2-25 Beispiel für Überschleifen mit Dynamikadaption: Gerade-Gerade

Bei dieser Einstellung werden die Achsdynamikgrenzwerte bei der Berechnung des Verfahrprofils beim Bahnüberschleifen direkt berücksichtigt. Die Überschleifgeschwindigkeit wird zusätzlich in Abhängigkeit der axialen Grenzwerte für Geschwindigkeit und Beschleunigung bestimmt. Bei nichttangentiellen Bahnübergängen (Ecken) wird die Bahngeschwindigkeit derart abgesenkt, dass für keine der beteiligten Achsen ein Geschwindigkeitssprung größer als die maximale Beschleunigung erfolgt. Es kommt zu einem geschwindigkeitsabhängigen Verschleifen des Bahnendpunktes. Beachten Sie, dass bei aktiver Dynamikadaption die Achsdynamik auf den jeweils kleineren Wert von Achsbeschleunigung und -verzoegerung begrenzt wird. Wenn also die Achse eine maximale Beschleunigung von 1000 mm/s2 und eine maximale Verzögerung von 500 mm/s2 hat, wird der Wert für die Verzögerung für die Berechnung verwendet.

Page 45: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.8 Bahnverhalten am Bewegungsende

TO Bahninterpolation Funktionshandbuch, 05/2009 45

2.8.4 Überschleifen ohne Dynamikadaption

A C B

A

B C

Bild 2-26 Beispiel für Überschleifen ohne Dynamikadaption: Gerade-Gerade

Bei dieser Einstellung werden die Achsdynamikgrenzwerte beim Bahnüberschleifen nicht berücksichtigt. Die Bahngeschwindigkeit wird als skalare, richtungs- und krümmungsunabhängige Größe geführt. Eine nichttangentiale Anbindung von Bahnsegmenten hat keinen Einfluss auf das Bahngeschwindigkeitsprofil, die Geschwindigkeit wird beim Überschleifen aus diesem Grund nicht abgesenkt. Da die Sollwerte, die im Bahnobjekt für die einzelnen Achsen erzeugt werden, an den Achsen auf die achsspezifischen Dynamikgrenzwerte begrenzt werden, kann sich ein Sollwertfehler der Achse gegenüber dem Sollwert aus der Bahninterpolation ergeben. Dies führt letztlich zu einer achsspezifischen Abweichung von der Bahn im Überschleifbereich. Dieser Modus findet z. B. dann Anwendung, wenn auf der Bahn die Dynamikgrenzwerte der Achsen eingehalten werden sollen (z. B. beim Anfahren von Positionen), aber im Überschleifbereich an den Segmentübergängen ein achsspezifischer Sollwertfehler der Achse gegenüber der Bahn akzeptiert wird.

Page 46: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.9 Anzeige und Überwachungen an der Achse

TO Bahninterpolation 46 Funktionshandbuch, 05/2009

2.9 Anzeige und Überwachungen an der Achse

Anzeige und Überwachungen zur Bahnbewegung an der Achse Eine aktive Bahnbewegung wird an der Bahnachse in der Systemvariablen pathMotion.state angezeigt.

Anzeige der bahnsynchronen Bewegung an der Positionierachse Eine aktive Synchronachsbewegung wird an der Positionierachse in der Systemvariablen pathSyncMotion.state angezeigt.

Überwachung des Sollwertfehlers An der Bahn- bzw. Positionierachse kann der sich ergebende Sollwertfehler überwacht werden (Differenz zwischen dem vom Bahnobjekt vorgegebenen Sollwert und dem an der Achse ausgegebenen Sollwert). Die Differenz zu den Istwerten wird nicht überwacht. Begrenzung und Überwachung des Sollwertfehlers: ● Bei der Einstellung enableCommandValue := NO_ACTIVATE:

– Die dynamische Begrenzung erfolgt ohne Berücksichtigung des Rucks. – Der sich ergebende Sollwertfehler wird nicht überwacht.

● Bei der Einstellung enableCommandValue := WITHOUT_JERK: – Die dynamische Begrenzung erfolgt ohne Berücksichtigung des Rucks. – Der sich ergebende Sollwertfehler wird überwacht.

● Bei der Einstellung enableCommandValue := WITH_JERK: – Die dynamische Begrenzung erfolgt unter Berücksichtigung des Rucks. – Der sich ergebende Sollwertfehler wird überwacht.

Bahnbewegung an der Bahnachse Synchronbewegung an der

Positionierachse Aktivierung der Überwachung (Konfigurationsdatum)

pathAxisPosTolerance. enableCommandValue

pathSyncAxisPosTolerance. enableCommandValue

Toleranzwert (Konfigurationsdatum) pathAxisPosTolerance. commandValueTolerance

pathSyncAxisPosTolerance. commandValueTolerance

Alarm bei Überschreitung 40401 Toleranz der achsspezifischen Bahnsollwerte ueberschritten

40126 Toleranz der achsspezifischen Synchronsollwerte ueberschritten

Sollwertfehler überschritten (Systemvariable)

pathMotion. limitCommandValue pathSyncMotion. limitCommandValue

Sollwertdifferenz zwischen Vorgabe Bahnobjekt und Achsausgabewert (Systemvariable)

pathMotion. differenceCommandValue pathSyncMotion. differenceCommandValue

Betreffendes Bahnobjekt (Systemvariable)

pathMotion.activePathObject pathSyncMotion. activePathObject

Page 47: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.10 Berücksichtigung der achsspezifischen Verfahrbereichsgrenzen

TO Bahninterpolation Funktionshandbuch, 05/2009 47

2.10 Berücksichtigung der achsspezifischen Verfahrbereichsgrenzen Die Verfahrbereichsgrenzen der Bahn- und Positionierachsen, d. h. aktive Soft-wareendschalter, werden an den beteiligten Achsen und nicht am Bahnobjekt berücksichtigt. Wird von einer beteiligten Achse die mögliche Verletzung ihres achsspezifischen Arbeitsbereiches erkannt, wird ein Alarm mit entsprechender Fehlerreaktion ausgelöst.

2.11 Verhalten der Bahnbewegung bei Fehler an einer beteiligten Bahnachse oder Positionierachse

Bei einem Fehler an einer Bahnachse oder der Positionierachse für bahnsynchrone Bewegung, der zum Stopp dieser Achsbewegung und damit zum Abbruch des Befehls führt, wird die Bahninterpolation entsprechend der eingestellten Fehlerreaktion abgebrochen. Siehe Lokale Alarmreaktion (Seite 145). Die anderen an der Bahnbewegung beteiligten Achsen werden mit den maximalen Dynamikwerten auf Geschwindigkeit 0.0 gefahren.

2.12 Funktionalität der bahnsynchronen Bewegung

2.12.1 Funktionalität der bahnsynchronen Bewegung Eine bahnsynchrone Bewegung an einer Positionierachse erfolgt synchron zu der Bahnbewegung mit der sie vorgegeben wird. Start und Ende der bahnsynchronen Bewegung erfolgen damit zur gleichen Zeit wie Start und Ende der Bahnbewegung. Damit wird z. B. das Drehen eines Greifers synchron zur Bahnbewegung möglich. Die Bahnbewegung und die bahnsynchrone Bewegung werden über ein gemeinsames Verfahrprofil verfahren. Dies gilt auch für das Überschleifen zwischen zwei Bahnsegmenten.

Page 48: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.12 Funktionalität der bahnsynchronen Bewegung

TO Bahninterpolation 48 Funktionshandbuch, 05/2009

2.12.2 Spezifikation der bahnsynchronen Bewegung Es gibt verschiedene Möglichkeiten für die bahnsynchrone Bewegung, die im Parameter wMode des jeweiligen Bewegungsbefehls spezifiziert werden: ● Bewegung zu einem definierten Endpunkt im Koordinatensystem der Positionierachse

Die Zielposition der bahnsynchronen Bewegung wird im Bahnbefehl vorgegeben. Dies kann relativ (RELATIVE) oder absolut (ABSOLUTE) erfolgen. Die Richtung der Synchronbewegung wird wie beim Positionierbefehl der Achse über einen Parameter (wDirection) vorgegeben. Weitere Informationen siehe Funktionshandbuch Motion Control Technologieobjekte Achse elektrisch/hydraulisch, Externer Geber, "Positionieren". Die Bewegungsdynamik richtet sich nach der Bahn, die Achse wird "mitgeschleppt". Werden dabei die maximalen Dynamikwerte der Positionierachse verletzt, werden die Bahndynamikparameter entsprechend reduziert. Ist die Bahnlänge Null und eine bahnsynchrone Bewegung programmiert, wird ein Fehler ausgegeben und die bahnsynchrone Bewegung auf die programmierte Endposition gesetzt. Axial wird der entstehende Sollwertsprung mit den Maximalwerten verfahren. In diesen Fall ist darauf zu achten, dass eine projektierte Überwachung des Sollwertfehlers der Synchronachse auch auf den Sollwertsprung wirkt.

● Bewegung entsprechend der aktuellen Bahnlänge Der aktuelle Bahnweg wird ausgegeben. Hierfür gibt es zwei Möglichkeiten: – Bezogen auf den Befehl (OUTPUT_PATH_LENGTH)

Dabei wird die Achsposition zunächst auf 0.0 gesetzt, bevor der Bahnweg gefahren wird. Das Rücksetzen der Position der Achse auf Null entspricht einem synchronisiertem _redefinePosition()- Befehl.

– Akkumulierte Ausgabe ohne Rücksetzen (OUTPUT_PATH_LENGTH_ADDITIVE) Der über die Befehlsgrenze aufaddierte Bahnweg wird ausgegeben.

Page 49: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.12 Funktionalität der bahnsynchronen Bewegung

TO Bahninterpolation Funktionshandbuch, 05/2009 49

2.12.3 Dynamik der bahnsychronen Bewegung Am Bahnobjekt werden keine eigenen Dynamikparameter für die bahnsynchrone Bewegung gehalten. Für die Berechnung des Bahngeschwindigkeitsprofils bei gleichzeitigem Verfahren einer bahnsynchronen Bewegung gilt: ● Berechnung des Bahngeschwindigkeitsprofils ohne Dynamikadaption:

– Das Geschwindigkeitsprofil für die Bahn wird aus den Dynamikparametern der Bahn bestimmt, siehe Bahndynamik (Seite 37).

– Die Sollwerte des Bahninterpolators für die bahnsynchrone Bewegung werden an der Positionierachse auf die maximalen Dynamikwerte begrenzt.

– Die Dynamikwerte (Geschwindigkeit, Beschleunigung und Ruck) werden an das Verhältnis Weg der Bahnachse zu Weg der bahnsynchronen Bewegung angepasst:

Die Formel gilt unter der Annahme, dass die Einheiten am Bahnobjekt und den beteiligten Achsen gleich eingestellt sind. ● Berechnung des Bahngeschwindigkeitsprofils mit Dynamikadaption:

Die Dynamik der bahnsynchronen Bewegung wird wie eine weitere orthogonale Koordinate in die Bahnplanung miteinbezogen und das Bahngeschwindigkeitsprofil gegebenenfalls so angepasst, dass die Dynamikgrenzwerte der Positionierachse durch das Bahngeschwindigkeitsprofil nicht verletzt werden.

2.12.4 Bahnüberschleifen mit einer bahnsynchronen Bewegung ● Bahnüberschleifen mit Dynamikadaption

Die Dynamik der bahnsynchronen Bewegung wird wie eine weitere orthogonale Koordinate in die Bewegungsplanung miteinbezogen und das Geschwindigkeitsprofil im Überschleifbereich gegebenenfalls entsprechend angepasst.

● Bahnüberschleifen ohne Dynamikadaption Ist der Quotient Weglänge (Bahnbewegung) / Weglänge (bahnsynchrone Bewegung) über die einzelnen Bahnsegmente nicht gleich, ergeben sich Unstetigkeiten in den Geschwindigkeits-Sollwerten des Bahnobjektes für die bahnsynchrone Bewegung bei den Bahnsegmentübergängen.

Die sich aus der Bahninterpolation für die bahnsynchrone Bewegung ergebenden Sollwerte werden an der Positionierachse unter Anwendung der dort vorliegenden achsspezifischen Dynamikgrenzwerte begrenzt. Wird z. B. am Bahnobjekt nur auf die dort vorliegenden Dynamikgrenzwerte über die Bahn begrenzt, kann sich ein Sollwertfehler an der Positionierachse gegenüber dem berechneten Sollwert am Bahnobjekt für die bahnsynchrone Bewegung ergeben. Siehe Anzeige und Überwachungen an der Achse (Seite 46).

Page 50: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation 50 Funktionshandbuch, 05/2009

2.12.5 Ausgabe des Bahnweges an die Positionierachse An die Positionierachse kann alternativ der gefahrene Bahnweg, d. h. die aktuelle Bahnlänge ausgegeben werden, bezogen auf ein einzelnes Bahnsegment, oder auch aufsummiert über mehrere Bahnsegmente. Die Einstellung erfolgt am Bahnbefehl. Ein Anwendungsfall ist z. B. die Ausgabe von bahnwegbezogenen Nocken oder Messtastern.

2.12.6 Ausgabe der kartesischen Koordinaten über MotionOut-Interface Über die Interfaces motionOut.x/y/z können die kartesischen Koordinaten direkt mit anderen Technologieobjekten verschaltet werden, z. B. mit den MotionIn-Interfaces von Positionierachsen. Über diese Funktionalität können in der Applikation z.B. Nocken und Messtaster auf kartesischen Achsen realisiert werden.

2.13 Kinematikanpassung

2.13.1 Kinematikanpassung Die Bahnachswerte werden über die Kinematiktransformation, oder auch Kine-matikanpassung, auf die kartesischen Achsen umgerechnet und umgekehrt.

2.13.2 Kinematikanpassung – Grundlagen

2.13.2.1 Umfang der Transformationsfunktionalität Bei der Positions- und Bewegungsumrechnung wird bei der Vorwärtsrechnung der Kinematik (auch direkte Kinematik, Vorwärtskinematik oder Vorwärtstransformation) aus der Stellung der Gelenkwinkel und deren räumliche Anordnung die Lage des Endpunktes der Kinematik im Basiskoordinatensystem bestimmt. Bei der Rückwärtsrechnung (auch Rückwärtstransformation oder inverse Kinematik) wird aus der Lage des Endpunktes der Kinematik im Basiskoordinatensystem die Stellung der einzelnen Gelenkwinkel bestimmt. Bei der Bahninterpolation wird die Lage des Endpunktes der Kinematik im Basiskoordinatensystem über die Zeit berechnet. Transformiert werden Position und Dynamikwerte. Bei Bahnachsen mit der Einstellung als Modulo-Achsen wird immer der aktuelle Modulobereich beibehalten. Siehe Modulo-Eigenschaften (Seite 20).

Page 51: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation Funktionshandbuch, 05/2009 51

2.13.2.2 Bezugspunkte Folgende Bezugspunkte werden bei der Bahninterpolation verwendet: ● Kartesischer Nullpunkt ● Kinematik-Nullpunkt ● Kinematik-Endpunkt

(Da kein Werkzeug berücksichtigt wird, ist dies gleich dem Bahnpunkt.)

Bild 2-27 Bezugspunkte der Koordinatensysteme bei der Bahninterpolation

Das Bahnobjekt berechnet die Position auf der Bahn. Dies ist auch der Kinematik-Endpunkt.

2.13.2.3 Systemvariablen für Bahninterpolation und Transformation am Bahnobjekt

Bild 2-28 Übersicht Systemvariablen des Bahnobjekts

Die Positions- und Dynamikwerte sind über Systemvariable zugänglich:

Page 52: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation 52 Funktionshandbuch, 05/2009

Bahndaten Systemvariable Beschreibung path.acceleration Bahnbeschleunigung path.command Status eines Bewegungsbefehls path.dynamicAdaption Anzeige für Berücksichtigung der maximalen

Dynamikwerte der Bahnachsen path.length Länge der aktuellen Bahn path.motionState Bewegungsstatus Bahnbewegung path.position Bahnposition (innerhalb der Bahnlänge) path.velocity Bahngeschwindigkeit

Kartesische Vorgaben im Basiskoordinatensystem / bahnsynchrone Bewegung Systemvariable Beschreibung bcs.x/y/z/w.position Sollpositionen bcs.x/y/z/w.velocity Sollgeschwindigkeiten bcs.x/y/z/w.acceleration Sollbeschleunigungen bcs.linkConstellation Sollgelenkstellungsraum

Kartesische Istwerte Systemvariable Beschreibung bcs.x/y/zActual.position Istwert der kartesischen Positionen der

Bahnachsen bcs.linkConstellationActual Aktueller Gelenkstellungsraum

Vorgaben an Bahnachsen aus Bahnbewegung Systemvariable Beschreibung mcs.a1/a2/a3.acceleration Beschleunigungen der Bahnachsen mcs.a1/a2/a3.position Positionen der Bahnachsen in den

Achskoordinaten mcs.a1/a2/a3.velocity Geschwindigkeiten der Bahnachsen

Page 53: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation Funktionshandbuch, 05/2009 53

Objektkoordinatensystem Systemvariable Beschreibung ocs[1..3].trackingIn Interface für Bewegungsfolgebezugswert mit

dem das OCS mitgeführt werden soll (z. B. TO Externer Geber)

ocs[1..3].trackingInPosition Aktueller Wert der Bewegungsfolge ocs[1..3].trackingPosition Position des OCS relativ zur Bezugslage ocs[1..3].trackingState Synchronisierstatus ocs[1..3].x/y/z.accelaration Beschleunigung ocs[1..3].x/y/z.position Position ocs[1..3].x/y/z.velocity Geschwindigkeit

Override Systemvariable Beschreibung override.acceleration Beschleunigungs-Override override.velocity Geschwindigkeits-Override

Bahnbefehlsstati Systemvariable Beschreibung linearPathCommand.state Status der Linearinterpolation circularPathCommand.state Status der Kreisinterpolation polynomialPathCommand.state Status der Polynominterpolation

2.13.2.4 Transformation der Dynamikwerte Ob eine Kinematiktransformation die Funktionalität der Transformation der Dynamik unterstützt, wird in der Systemvariablen kinematicsData.transformationOfDynamics angezeigt.

2.13.2.5 Unterscheidung der Gelenkstellungsräume Sind kartesische Kinematikendpunkte über verschiedene Gelenkstellungen erreichbar, werden bei der entsprechenden Kinematik Gelenkstellungsräume definiert. Alle Bahnbewegungen finden im gleichen Gelenkstellungsraum statt. Daher kann während dem Abfahren einer Bahn der Gelenkstellungsraum nicht gewechselt werden. Ein Wechsel in einen anderen Gelenkstellungsraum ist durch Einzelachsbewegungen möglich, nicht über eine Bewegung am Bahnobjekt. Der aktuelle, transformationsspezifische Gelenkstellungsraum wird sollwertseitig in der Variable bcs.linkConstellation, istwertseitig in der Variable bcs.linkConstellationActual angezeigt. Die Definition des Gelenkstellungsraumes wird spezifisch für die jeweilige Transformation angegeben. Siehe Unterstützte Kinematiken (Seite 55).

Page 54: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation 54 Funktionshandbuch, 05/2009

2.13.2.6 Auskunftsbefehle zur Kinematiktransformation Neben der impliziten Umrechnung im System sind die Transformationsrechnungen auch direkt über Anwenderbefehle zugänglich. ● Über den Befehl _getPathCartesianPosition() werden zu den im Befehl angegebenen

Achspositionen die kartesischen Positionen berechnet. ● Über den Befehl _getPathAxesPosition() werden aus den kartesischen Positionen die

Achspositionen berechnet. ● Über den Befehl _getPathCartesianData() werden aus den im Befehl angegebenen

Achspositionen, Achsgeschwindigkeiten und Achsbeschleunigungen die kartesischen Daten zur Position Geschwindigkeit und Beschleunigung berechnet.

● Über den Befehl _getPathAxesData() werden aus den im Befehl angegebenen kartesischen Daten zur Position, Geschwindigkeit und Beschleunigung die Achspositionen, Achsgeschwindigkeiten und Achsbeschleunigungen berechnet.

Bei der Berechnung der Achspositionen werden die Werte in der Achskoordinate der Bahnachse angegebenen, nicht bezogen auf den Kinematik-Nullpunkt der Achse. Der Modulo-Bereich wird berücksichtigt. Bei der Transformation von kartesischen Werten in Bahnachswerte muss keine Bezugsposition der Achsen sondern ein Gelenkstellungsraum angegeben werden, um die Eindeutigkeit zu gewährleisten.

2.13.2.7 Achsspezifische Nullpunktverschiebung in der Transformation Es kann eine achsspezifische Verschiebung (Offset) der Nulllage der Achse im achsspezifischen Koordinatensystem und der Nulldefinition der Achse in der Transformation eingestellt werden. Die positive Richtung der Achse und der Achse in der Transformation müssen gleich sein und werden an der Achse eingestellt. Die Verschiebung des Kinematik-Nullpunkts zum Achsnullpunkt wird in der positiven Richtung der Achse angegeben.

Bild 2-29 Bahnachsoffset

Bei Verwendung von Moduloachsen für rotatorische Gelenke mit begrenztem Definitionsbereich in Kinematiken wie z. B. SCARA sollte die achsspezifische Nullpunktverschiebung und die Moduloeigenschaft der betreffenden Bahnachse so festgelegt werden, dass sich der zulässige Modulobereich der Bahnachse mit dem Definitionsbereich des betreffenden Gelenks innerhalb der Kinematik deckt. Andernfalls kann dies zu einer zusätzlichen Einschränkung des Verfahrbereiches der Kinematik führen.

Page 55: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation Funktionshandbuch, 05/2009 55

Beispiel: Wird ein Gelenk auf [-180°; 180°) begrenzt und ist an der Bahnachse ein Modulobereich von 0° bis 360° definiert, sollte die Nullpunktverschiebung auf -180° festgelegt werden.

2.13.2.8 Verschiebung des Kinematik-Nullpunkts zum kartesischen Nullpunkt Im Konfigurationsdatum basicOffset kann eine Verschiebung des Kinematik-Nullpunkts der Transformation zum kartesischen Nullpunkt eingestellt werden.

A 1

A 2

basicOffset

A 3

x+

z+

y+

Bild 2-30 Beispiel für kinematischen Offset

Im obigen Beispiel ergeben sich daher für die kinematischen Offsets negative Werte.

2.13.3 Unterstützte Kinematiken

2.13.3.1 Unterstützte Kinematiken und deren Zuordnung Über das Konfigurationsdatum typeOfKinematics sind folgende Kinematiken einstellbar: ● Kartesische 2D/3D-Portale (Seite 56) (CARTESIAN): ● Picker-Kinematiken:

– Rollenpicker (Seite 57) (ROLL_PICKER) – Delta-2D-Picker (Seite 59) (DELTA_2D_PICKER) – Delta-3D-Picker (Seite 61) (DELTA_3D_PICKER)

● SCARA-Kinematik (Seite 64) (SCARA) ● Gelenkarm-Kinematik (Seite 68) (ARTICULATED_ARM) ● Weitere Kinematiken sind auf Anfrage realisierbar. (SPECIFIC) An jedem Bahnobjekt kann eine Transformation angewählt werden. In einem SIMOTION-System können bei Verwendung mehrerer Bahnobjekte somit mehrere Transformationen konfiguriert werden / aktiv sein. Da eine Bahnachse mit mehr als einem Bahnobjekt verschaltet werden kann, kann eine Bahnachse prinzipiell in mehreren Kinematikverbänden beteiligt sein, aber zu einer Zeit natürlich nur in einem Bahnverbund aktiv sein.

Page 56: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation 56 Funktionshandbuch, 05/2009

2.13.3.2 Kartesische 2D/3D-Portale

basicOffset

Bild 2-31 Kinematikbeispiel 2D/3D Portal

Konfigurationsdaten für kartesische Kinematik typeOfKinematics: CARTESIAN

Kinematiktyp Kartesisches Portal

BasicOffset.x Offset des Nullpunktes der kartesischen Koordinate x zum Nullpunkt der Achskoordinate A1

BasicOffset.y Offset des Nullpunktes der kartesischen Koordinate y zum Nullpunkt der Achskoordinate A2

BasicOffset.z Offset des Nullpunktes der kartesischen Koordinate z zum Nullpunkt der Achskoordinate A3

cartesianKinematicsType Auswahl ob 2D oder 3D (bestimmt die Anzahl der beteiligten Achsen)

config2D Hauptebene (nur bei 2D-Portal)

Mögliche Gelenkstellungsräume linkConstellation ohne Bedeutung (immer 1)

Page 57: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation Funktionshandbuch, 05/2009 57

2.13.3.3 Rollenpicker

Bild 2-32 Rollen-Picker: Darstellung des Achssystems

Der Rollen-Picker hat eine zweidimensionale Kinematik. Sie können den Rollen-Picker in allen drei Hauptebenen konfigurieren. In dieser Beschreibung wird von einer Konfiguration in der X-Y-Ebene ausgegangen.

x I +

y I +

(R 1I , φ 1I ) (R 2I , φ 2I )

Bild 2-33 Kinematik Rollen-Picker (Umlenkrolle auf der Gegenseite vom Werkzeug)

Vorausgesetzt wird, dass sich die Umlenkrolle auf der Gegenseite vom Werkzeug befindet.

Page 58: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation 58 Funktionshandbuch, 05/2009

x II +

y II +

(R 1II ,φ 1II (R 2II , φ 2II )

Bild 2-34 Kinematik Rollen-Picker (nicht betrachteter Fall Umlenkrolle am Werkzeug)

Die alternative Variante mit der Umlenkrolle am Werkzeug kann durch Umrechnung der Koordinaten abgeleitet werden: Umlenkrolle am Werkzeug Umlenkrolle auf der Gegenseite vom

Werkzeug xII* -xI yII* -yI φ1II* φ 2I φ 2II* φ 1I R1II* R2I R2II* R1I

Hinweis Die beiden Bahnachsen sind so zu konfigurieren, dass 360 Achs-Einheiten ( d.h. mm, Grad, usw.) eine Scheibenumdrehung ergeben. Die Einstellung "Modulo-Achse" ist zu vermeiden. Siehe Einheiten (Seite 20) und Modulo-Eigenschaften (Seite 20).

Konfigurationsdaten für Rollen-Picker-Kinematik typeOfKinematics: ROLL_PICKER

Kinematik-Typ Rollen-Picker

basicOffset.x Offset des Kinematik-Nullpunktes zum kartesischen Nullpunkt bzgl. x-Koordinate

basicOffset.y Offset des Kinematik-Nullpunktes zum kartesischen Nullpunkt bzgl. y-Koordinate

Die Achse 3 ist beim Rollen-Picker nicht vorhanden. config2D Hauptebene der Bahnachsen

Page 59: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation Funktionshandbuch, 05/2009 59

Angabe des Radius der Scheiben auf den Motoren in: radius1 Scheibenradius bei Bahnachse 1 radius2 Scheibenradius bei Bahnachse 2

Mögliche Gelenkstellungsräume LinkConstellation ohne Bedeutung (immer 1)

2.13.3.4 Delta-2D-Picker

G1 G2

G3 G4

x+

y+

Bild 2-35 Kinematik Delta-2D-Picker (beispielhaft für die X-Y-Ebene)

Definitionen ● Die gesamte Struktur befindet sich in einer der 2D-Hauptebenen. Für alle folgenden

Ausführungen wird beispielhaft die X-Y-Ebene genutzt. ● A1 und A2 bezeichnen die beiden aktiven Antriebsachsen der kinematischen Struktur. Sie

liegen auf der Geraden y = 0 und sind durch den Abstand 2x distanceD1 voneinander getrennt. Ihre Nulllage innerhalb der kinematischen Struktur entspricht der Ausrichtung der oberen Armsegmente (length1) in Richtung der negativen Y-Achse. Positive Auslenkungen erfolgen wie in der Abbildung dargestellt.

● Es wird davon ausgegangen, dass stets eine horizontale Ausrichtung der unteren Verbindungsplatte zwischen G3 und G4 stattfindet. Somit ergeben sich yG3 = yG4 und ein horizontaler Abstand von 2x distanceD2.

Page 60: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation 60 Funktionshandbuch, 05/2009

● Die Nullstellung der Kinematik liegt bei xZP = yZP = 0 mittig zwischen den Antriebsachsen A1 und A2.

● Der Zielpunkt der direkten Transformation ist mit seinen Koordinaten xEP und yEP mittig zwischen G3 und G4 definiert. Dadurch ergibt sich die Position zu G3 = (xEP-distanceD2; yEP) sowie G4 = (xEP+distanceD2; yEP).

Konfigurationsdaten für Delta-2D-Picker-Kinematik typeOfKinematics: DELTA_2D_PICKER

Kinematik-Typ Delta-2D-Picker

basicOffset Offset des Kinematik-Nullpunktes (ZP) zu einem kartesischen Nullpunkt

basicOffset.x Anteil des Offsets in Koordinatenrichtung X basicOffset.y Anteil des Offsets in Koordinatenrichtung Y Die Achse 3 ist beim Delta-2D-Picker nicht vorhanden. config2D Hauptebene der Bahnachsen length1 Länge des oberen Armsegmentes length2 Länge des unteren Armsegmentes distanceD1 Abstand der Antriebsachsen A1 und A2 vom Kinematik-

Nullpunkt (ZP) distanceD2 Abstand der Gelenke G3 und G4 vom Endpunkt (EP) offsetA1 Offset der Antriebsachse A1 offsetA2 Offset der Antriebsachse A2

Mögliche Gelenkstellungsräume LinkConstellation ohne Bedeutung (immer 1)

Page 61: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation Funktionshandbuch, 05/2009 61

2.13.3.5 Delta-3D-Picker

x+

y+

G1

G2

length1

length1

length1

distanceD1

G3

Bild 2-36 Kinematik Delta-3D-Picker (Ansicht von oben)

x+

y+

G1

G2

G3

G6

G4G5

Bild 2-37 Kinematik Delta-3D-Picker (Ansicht von unten)

Page 62: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation 62 Funktionshandbuch, 05/2009

G4

G1

x

z+

Bild 2-38 Kinematik Delta-3D-Picker (Einzelarm am Beispiel Achse A1)

Definitionen ● A1, A2 und A3 bezeichnen die drei aktiven Antriebsachsen der kinematischen Struktur. Sie

liegen in der X-Y-Ebene mit z = 0 und besitzen alle den Abstand d1 vom Kinematik-Nullpunkt (ZP). Ihre Nulllage innerhalb der kinematischen Struktur entspricht der direkten Ausrichtung der oberen Armsegmente (length1) in Richtung der negativen Z-Achse. Positive Auslenkungen erfolgen, wie im vorigen Bild dargestellt, entgegen dem Uhrzeigersinn.

● G1 bis G6 kennzeichnen frei bewegliche Gelenke. ● Es wird davon ausgegangen, dass sich die Verbindung der Gelenke am Endpunkt (EP)

aufgrund der Parallelverstrebungen horizontal ausrichtet. Somit ergibt sich yG4 = yG5 = yG6. G4 bis G6 besitzen alle den horizontalen Abstand distanceD2 vom Endpunkt (EP).

● Die Nullstellung der Kinematik liegt bei xZP = yZP = zZP = 0 zentral zwischen den Antriebsachsen A1 bis A3.

● Der Zielpunkt der Transformation ist mit seinen Koordinaten xEP, yEP und zEP zentral zwischen G4 bis G6 definiert.

Page 63: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation Funktionshandbuch, 05/2009 63

Konfigurationsdaten für Delta-3D-Picker-Kinematik typeOfKinematics: DELTA_3D_PICKER

Kinematik-Typ Delta-3D-Picker

basicOffset Offset des Kinematik-Nullpunktes (ZP) zu einem kartesischen Nullpunkt

basicOffset.x Anteil des Offsets in Koordinatenrichtung X basicOffset.y Anteil des Offsets in Koordinatenrichtung Y basicOffset.z Anteil des Offsets in Koordinatenrichtung Z length1 Länge des oberen Armsegmentes length2 Länge des unteren Armsegmentes distanceD1 Abstand der Antriebsachsen A1 bis A3 vom Kinematik-

Nullpunkt (ZP) distanceD2 Abstand der Gelenke G4 bis G6 vom Endpunkt (EP) offsetA1 Offset der Antriebsachse A1 offsetA2 Offset der Antriebsachse A2 offsetA3 Offset der Antriebsachse A3 angleArm1ToX Winkelversatz des Armes A1-G1-G4 gegenüber der X-

Achse bei Drehung um die positive Z-Achse angleArm2ToArm1 Winkelversatz des Armes A2-G2-G5 gegenüber Arm A1-

G1-G4 bei Drehung um die positive Z-Achse angleArm3ToArm1 Winkelversatz des Armes A3-G3-G6 gegenüber Arm A1-

G1-G4 bei Drehung um die positive Z-Achse

Mögliche Gelenkstellungsräume LinkConstellation ohne Bedeutung (immer 1)

Page 64: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation 64 Funktionshandbuch, 05/2009

2.13.3.6 SCARA-Kinematik

Bild 2-39 SCARA: Darstellung des Achssystems

A 3

A 1 A 2 EP

dx,y,z

d A1A2 d A2EP

x+ y+

z+

Bild 2-40 SCARA: Kinematik

Der Kinematik-Nullpunkt liegt im Punkt A1. Die Nulllagen der Achsen A1 und Achse A2 sind wie folgt:

Page 65: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation Funktionshandbuch, 05/2009 65

Bild 2-41 SCARA: Nulllagen

Der Definitionsbereich der Einzelachsen A1 und A2 wird begrenzt auf [-180°; 180°).

Gelenkkompensationen

A 1 A 2

EP

d A1A2

d x,y,z

A 4

d A2EP

AP

A 3

x+ y+

z+

Bild 2-42 SCARA: Kinematik mit Gelenkkompensation

Page 66: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation 66 Funktionshandbuch, 05/2009

Achskopplungen Es können mechanische Kopplungen vorliegen: ● zwischen A1 und A2 ● zwischen A1, A2 und Asynchron (A4) ● zwischen Asynchron (A4) und A3 Wird ein positiver Kopplungsfaktor zwischen zwei Achsen angegeben, geht die Transformation davon aus, dass eine positive Bewegung an der ersten Achse zu einer negativen Bewegung an der zweiten Achse führt. Folgende Achskopplungen sind über das System kompensierbar: ● eine Kopplung von Achse A1 auf Achse A2 ● eine Kopplung von Achse A1 und Achse A2 auf die bahnsynchron mitgeführte Achse A4

D. h. entsprechend den Veränderungen von A1 und A2 wird auch der Sollwert der Achse A4 an die Positionierachse geändert. Wird Achse A1 und/oder Achse A2 verfahren und parallel eine bahnsynchrone Bewegung an Achse A4 vorgegeben, erfolgt im System eine Überlagerung / Addition von bahnsynchroner Bewegungsvorgabe und Kompensation an die Positionierachse.

● eine Kopplung der Achse A4 auf die Achse A3 (Hubachse) Wird die Achse A3 über die Bahnbewegung verfahren und ist gleichzeitig eine Kompensation von Achse A4 nach Achse A3 erforderlich, erfolgt eine Überlagerung der Vorgaben.

Die Kompensationsfunktionalität und die Vorgaben an die Positionierachse A4 über die bahnsynchronen Bewegung sind voneinander unabhängig und werden vom System gleichzeitig ausgeführt.

Page 67: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation Funktionshandbuch, 05/2009 67

Konfigurationsdaten für SCARA-Kinematik typeOfKinematics: SCARA Kinematik-Typ SCARA basicOffset.x Offset des Kinematik-Nullpunktes zum kartesischen

Nullpunkt bzgl. x-Koordinate basicOffset.y Offset des Kinematik-Nullpunktes zum kartesischen

Nullpunkt bzgl. y-Koordinate basicOffset.z Offset des Kinematik-Nullpunktes zum kartesischen

Nullpunkt bzgl. z-Koordinate offsetA1 Offset Achsnullpunkt Achse A1 zur Nulllage der Achse

A1 in der Transformation distanceA1A2 Abstand A1 - A2 offsetA2 Offset Achsnullpunkt Achse A2 zur Nulllage der Achse

A2 in der Transformation distanceA2Endpoint Abstand A2 - Endpunkt linkCompensationA2.enableA1A2 Gelenkstellungsabhängigkeit A1 auf A2 kompensieren linkCompensationA2.factorA1A2 Faktor linkCompensationA4.enableA1A4 Gelenkstellungsabhängigkeit A1 auf A4 kompensieren linkCompensationA4.factorA1A4 Faktor linkCompensationA4.enableA2A4 Gelenkstellungsabhängigkeit A2 auf A4 kompensieren linkCompensationA4.factorA2A4 Faktor linkCompensationA3.enableA4A3 Gelenkstellungsabhängigkeit A4 auf A3 kompensieren linkCompensationA3.factorA4A3 Faktor

Mögliche Gelenkstellungsräume LinkConstellation 1 Gelenkstellung positiv: Winkel der Achse A2 im

Bereich von [0°, 180°) bezogen auf den Kinematik-Nullpunkt

2 Gelenkstellung negativ: Winkel Achse A2 im Bereich von [-180°, 0°) bezogen auf den Kinematik-Nullpunkt

Page 68: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation 68 Funktionshandbuch, 05/2009

Bild 2-43 Mögliche Gelenkstellungen

2.13.3.7 Gelenkarm-Kinematik

Bild 2-44 Gelenkarm: Darstellung der Achsen

Page 69: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation Funktionshandbuch, 05/2009 69

Bild 2-45 Gelenkarm: Kinematik

Der Kinematik-Nullpunkt liegt im Punkt A1. Die Nullstellung der Kinematik liegt vor, wenn distanceA1A2, distanceA2A3 und distanceA3EP in die kartesische x-Richtung zeigen.

Bild 2-46 Gelenkarm: Nulllagen Achsen A2 und A3

Page 70: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation 70 Funktionshandbuch, 05/2009

Bild 2-47 Gelenkarm: Nulllage Achse A1

Der Definitionsbereich der Einzelachsen A1 bis A3 wird begrenzt auf [-180°; 180°).

Achskopplungen Wird ein positiver Kopplungsfaktor zwischen zwei Achsen angegeben, geht die Transformation davon aus, dass eine positive Bewegung an der ersten Achse zu einer negativen Bewegung an der zweiten Achse führt.

Konfigurationsdaten für Gelenkarm-Kinematik typeOfKinematics: ARTICULATED_ARM

Kinematik-Typ Gelenkarm

basicOffset.x Offset des Kinematik-Nullpunktes zum kartesischen Nullpunkt bzgl. x-Koordinate

basicOffset.y Offset des Kinematik-Nullpunktes zum kartesischen Nullpunkt bzgl. y-Koordinate

basicOffset.z Offset des Kinematik-Nullpunktes zum kartesischen Nullpunkt bzgl. z-Koordinate

offsetA1 Offset Achsnullpunkt Achse A1 gegen Nulllage der Achse A1 in der Transformation

distanceA1A2 Abstand A1 - A2 offsetA2 Offset Achsnullpunkt Achse A2 gegen Nulllage der

Achse A2 in der Transformation distanceA2A3 Abstand A2 - A3 offsetA3 Offset Achsnullpunkt Achse A3 gegen Nulllage der

Achse A3 in der Transformation distanceA3Endpoint Abstand A3 - Endpunkt linkCompensation.enableA2A3 Gelenkstellungsabhängigkeit A3 von A2 kompensieren linkCompensation.factorA2A3 Faktor

Page 71: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.13 Kinematikanpassung

TO Bahninterpolation Funktionshandbuch, 05/2009 71

Mögliche Gelenkstellungsräume LinkConstellation 1 Winkel Achse A3 im Bereich von [0°, 180°)

bezogen auf den Kinematik-Nullpunkt Winkel Achse A1 entspricht atan(EPy/EPx)

2 Winkel Achse A3 im Bereich von [-180°, 0°) bezogen auf den Kinematik-Nullpunkt Winkel Achse A1 entspricht atan(EPy/EPx)

3 Winkel Achse A3 im Bereich von [0°, 180°) bezogen auf den Kinematik-Nullpunkt Winkel Achse A1 entspricht –atan(EPy/EPx)

4 Winkel Achse A3 im Bereich von [-180°, 0°) bezogen auf den Kinematik-Nullpunkt Winkel Achse A1 entspricht –atan(EPy/EPx)

2.13.3.8 Verwendung von virtuellen Achsen Das Bahnobjekt muss mit mindestens zwei Achsen verschaltet werden (1. und 2. Bahnachse). Falls Sie eine Kinematik einrichten wollen, die nicht einer der vorhandenen Kinematiken entspricht, müssen Sie für die nicht vorhandene Achse eine virtuelle Achse anlegen und verschalten. Als Beispiel: Die Gelenkarm-Kinematik sieht drei Achsen vor.

Bild 2-48 Gelenkarm-Kinematik: Achsen

● Achse A1: 1. Bahnachse ● Achse A2: 2. Bahnachse ● Achse A3: 3. Bahnachse Falls Ihre Kinematik keine Achse für die 1. Bahnachse vorsieht, müssen Sie eine virtuelle Achse für die 1. Bahnachse anlegen und das Bahnobjekt damit verschalten. Das Bahnobjekt muss auf der Z-X-Hauptebene eingerichtet werden (BasicOffset.y:=0) und darf nur dort verfahren werden.

Page 72: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

TO Bahninterpolation 72 Funktionshandbuch, 05/2009

2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

2.14.1 Objektkoordinatensystem (OCS) am Bahnobjekt Positionsangaben in den Bewegungsbefehlen können ab V4.1.2 wahlweise auf das Basiskoordinatensystem (BCS) (bisher vorhandene Funktionalität) oder auf ein Objektkoordinatensystem (OCS) bezogen werden. Die Bewegungsfolge ist noch in Vorbereitung und ist noch nicht verfügbar. Ein OCS kann dabei fest sein (statisches OCS) oder mit einem am trackingIn-Interface des Bahnobjekts bereitgestellten Bewegungswert mitgeführt werden. Über das trackingIn-Interface kann ein Technologieobjekt, welches Bewegungsinformationen inkl. Position (den Bewegungsfolgebezugswert) bereitstellt, mit dem Bahnobjekt verschaltet werden. Dies kann z. B. ein Externer Geber oder eine Positionierachse sein. Werden Bahnbewegungen auf ein OCS bezogen, dann können damit z. B. Produkte von einem bewegten Band aufgenommen oder diese dort abgelegt werden. Das Bahnobjekt stellt drei programmierbare OCS bereit.

Hinweis Bei aktiver Bewegungsfolge wird ein Überschleifen mit Dynamikadaption (blendingMode:= ACTIVE_WITH_DYNAMIC_ADAPTION) nicht unterstützt. Bewegungen, die mit Überschleifen programmiert wurden, werden dann ohne Überscheifen durchgeführt.

Mitgeführtes OCS Ein mitgeführtes OCS ist ein OCS, welches mit einem am trackingIn-Interface verschalteten Bewegungswert eines Technologieobjektes mitgeführt wird.

Statisches OCS Ein statisches OCS ist ein OCS, welches nicht mit einem Bewegungswert mitgeführt wird. Die Position eines statischen OCS ist immer die OCS-Bezugslage. Ein statisches OCS kann verwendet werden, um Bewegungen in einem Koordinatensystem durchzuführen, welches relativ zum BCS verschoben und gedreht worden ist.

Bewegungsfolge Die Funktionalität Bewegungsfolge ermöglicht das synchrone Mitfahren eines Kinematikendpunkts mit einem mitgeführten OCS. Sie beinhaltet die Funktionen zum Aufsynchronisieren und Mitfahren mit einem sich bewegenden Produkt auf einem Band.

Page 73: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

TO Bahninterpolation Funktionshandbuch, 05/2009 73

2.14.2 Bewegungsfolge – Grundlagen

2.14.2.1 OCS-Bezugslage definieren Die Bezugslage des OCS wird gegenüber dem BCS im OCS-Basisframe definiert. Der OCS-Basisframe enthält die Verschiebung (Translation) der kartesischen x-, y- und z-Achsen und die anschließende Drehung (Rotation) um die einzelnen Achsen. Um die Bezugslage des OCS zu definieren werden zuerst die Verschiebungen durchgeführt:

Bild 2-49 Verschiebung des OCS gegenüber dem BCS

Danach werden die Drehungen in folgender Reihenfolge durchgeführt: 1. Roll um die x-Achse 2. Pitch um (die bereits gedrehte) y-Achse 3. Yaw um (die bereits doppelt gedrehte) z-Achse

Bild 2-50 Drehungen des OCS

Der Basisframe kann für jedes OCS am Bahnobjekt mit dem Befehl _setPathObjectOcs() gesetzt werden. Dabei können entweder die in den Systemvariablen voreingestellten Werte verwendet oder andere Werte direkt vorgegeben werden.

Page 74: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

TO Bahninterpolation 74 Funktionshandbuch, 05/2009

Definition der Begriffe

Bild 2-51 Schematische Darstellung der Bewegungsfolge

OCS Objektkoordinatensystem BCS Basiskoordinatensystem Frame Verschiebung und Verdrehung des OCS zum BCS Bezugslage Position des OCS nach Verschiebung/Verdrehung

gemäß Basisframe Bewegungsfolgebezugswert z. B. Istwert eines Externen Gebers Bewegungsfolgewert Aktuelle Lage des mitgeführten OCS bezogen auf die

OCS-Bezugslage XOCS ,YOCS Verschiebung des Kinematikendpunkts zur Lage des

mitgeführten OCS

Page 75: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

TO Bahninterpolation Funktionshandbuch, 05/2009 75

2.14.2.2 OCS einem Bewegungsfolgebezugswert zuordnen Das eingangsseitige Verschaltungsinterface trackingIn des Bahnobjekts kann mit einem anderen TO verschaltet werden, welches ausgangsseitig ein Interface mit Bewegungsinformation bereitstellt. Dies kann u.a. der Bewegungssollwert oder -istwert einer Achse oder der Istwert eines Externen Gebers sein. Der Bewegungsfolgewert und der Bewegungsfolgebezugswert werden der X-Richtung des OCS zugeordnet. Das OCS wird am Bewegungsfolgebezugswert mitgeführt, die OCS-Mitführlage wird um den Bewegungsfolgewert bzgl. der OCS-Bezugslage in X-Richtung des OCS verschoben. Wird das OCS nicht verschaltet bzw. wird im Befehl _setPathObjectOcs() kein TO angegeben (trackingIn:=TO#NIL), dann wird das OCS in seiner Bezugslage wirksam. Wenn der Kinematikendpunkt auf ein mitgeführtes OCS aufsynchronisiert wird oder bereits synchron zu diesem ist (trackingIn <> TO#NIL und trackingState <> INACTIVE), wird der Befehl _setPathObjectOCS() auf dieses OCS nicht ausgeführt und eine Fehlermeldung ausgegeben. Vor der Ausführung des Befehls muss der synchronisierte Zustand (Status 'SYNCHRONIZED') an diesem OCS beendet werden. Siehe Das Mitfahren des Kinematikendpunktes an einem mitgeführten OCS beenden ('Absynchronisieren') (Seite 80) für weitere Informationen.

Page 76: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

TO Bahninterpolation 76 Funktionshandbuch, 05/2009

2.14.2.3 Verschiebung der Position des mitgeführten OCS definieren Da in der Regel eine produktbezogene Programmierung erfolgt, muss auch die Lage des OCS auf dem Band entsprechend der Produktposition angepasst, d.h. verschoben werden. Die Verschiebung der Position des OCS in X-Richtung und damit in Richtung des Wertes am Bewegungsfolgeeingang erfolgt mit dem Befehl _redefinePathObjectOCS(). Wenn der Kinematikendpunkt auf ein mitgeführtes OCS aufsynchronisiert wird oder bereits synchron zu diesem ist (trackingIn <> TO#NIL und trackingState <> INACTIVE), wird der Befehl _redefinePathObjectOCS() auf dieses OCS nicht ausgeführt und die Fehlermeldung 30002 ausgegeben. Vor der Ausführung des Befehls muss der synchronisierte Zustand (Status SYNCHRONIZED) an diesem OCS beendet werden. Die aktuellen Postionswerte des mitgeführten OCS und des Bewegungsfolgeeingangs werden in folgenden Systemvariablen angezeigt: ● Bewegungsfolgebezugswert

In der Systemvariable trackingInPosition wird der am Bewegungsfolgeeingang des OCS anliegende Positionswert, der Bewegungsfolgebezugswert (die Bandposition), angezeigt.

● Bewegungsfolgewert In der Systemvariable trackingPosition wird die Lage des mitgeführten OCS, der Bewegungsfolgewert, angezeigt. trackingPosition = trackingInPosition + Verschiebung

Bild 2-52 Aktuelle Position des OCS

Page 77: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

TO Bahninterpolation Funktionshandbuch, 05/2009 77

Verhalten des OCS bei Modulo-Gebern Der Bewegungsfolgewert zeigt den fortlaufenden Wert am Bewegungsfolgeeingang ohne Berücksichtigung der Modulo-Eigenschaft an, d.h. der Bewegungsfolgewert wird bei Rücksetzen des Bewegungsfolgebezugswertes am Modulobereichsende nicht zurückgesetzt, siehe folgendes Bild.

Bild 2-53 Verhalten von trackingPosition bei modulobehaftetem Wert in trackingInPosition

Zurücksetzen von trackingPosition Ein Setzen oder Verschieben von trackingPosition ist mit der Funktion _redefinePathObjectOCS() möglich, aber nur, wenn der Kinematikendpunkt nicht zu diesem OCS synchron ist oder gerade aufsynchronisiert wird (Anzeige über die Variable trackingState:=INACTIVE). Das Verschieben von trackingPosition mit der Funktion _redefinePathObjectOcs() ist auf 2 Arten möglich - absolut oder relativ. Bei den jeweiligen Modi errechnet sich der Wert für trackingPosition wie folgt: ● Bei mode:= RELATIVE

trackingPosition:=trackingPosition + value ● Bei mode:= ABSOLUTE

trackingPosition:=trackingInPosition - value Die Verwendung von mode:=ABSOLUTE hat den Vorteil, dass sich die Verschiebung immer auf trackingInPosition bezieht, so dass vorhergehende Verschiebungen in der Applikation nicht zwischengespeichert werden müssen. Bei mode:= RELATIVE ist eine Zwischenspeicherung der Verschiebung in der Applikation erforderlich. Die Funktionen _redefinePathObjectOCS() und _setPathObjectOCS() werden bei dem betreffenden OCS nicht ausgeführt, wenn dieses im Status 'SYNCHRONIZED' ist. Siehe Das Mitfahren des Kinematikendpunktes an einem mitgeführten OCS beenden ('Absynchronisieren') (Seite 80) für weitere Informationen.

Page 78: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

TO Bahninterpolation 78 Funktionshandbuch, 05/2009

2.14.2.4 Bewegung am Bahnobjekt auf das mitgeführte OCS synchronisieren Eine Handlinganwendung, bei der z.B. ein Produkt von einem bewegten Band zu greifen ist, wird mit einem mit dem Band mitgeführten OCS realisiert. Die Bewegungsbefehle werden dabei so projektiert, dass sie direkt im OCS wirken. Hierzu muss die vom Bahnobjekt berechnete Bewegung für den Kinematikendpunkt auf das mitgeführte OCS synchronisiert werden. Im einfachsten Fall bewegt sich nach der Synchronisation der Kinematikendpunkt mit einem definierten Punkt im OCS und damit mit einem auf dem Band befindlichen Punkt mit. Darüber hinaus können nach der Synchronisation im mitgeführten OCS auch Linear-, Kreis-, oder Polynombahnen abgefahren werden. Zur Synchronisation des Kinematikendpunktes mit einem mit dem Bewegungsfolgebezugswert (z. B. Position eines Bandes) mitgeführten OCS wird der Befehl _enablePathObjectTracking() verwendet. Mit dem Befehl können u.a. vorgegeben werden: ● Synchronisiermodus (synchronizingMode)

Es sind folgende Synchronisiermodi verfügbar: – Sofortiges Mitfahren mit der im Befehl angegebenen Position im OCS

(Einstellung: synchronizingMode:=IMMEDIATELY) Es wird sofort aufsynchronisiert und mit dem OCS mitgefahren.

– Aufsynchronisieren und Mitfahren im OCS an der im Befehl angegeben Position des OCS, d.h. sobald die ocsTrackingPosition (z.B. von einem Förderband) einen vorgebbaren Wert (die Synchronisierposition) erreicht hat (Einstellung: synchronizingMode:=ON_POSITION). Bei diesem Synchronisiermodus wird vorlaufend zur angegebenen Synchronisierposition im OCS aufsynchronisiert.

● die Synchronisierposition (position) Angabe eines Bewegungsfolgewertes ab dem synchron mit dem OCS mitgefahren werden soll. Dieser Wert ist nur bei synchronizingMode:=ON_POSITION wirksam.

Für beide Synchronisiermodi gilt: ● Das Aufsynchronisieren auf das Förderband erfolgt gegebenenfalls überlagernd zu einer

noch aktiven Bewegung im BCS. ● Weitere Bewegungsbefehle im BCS sind während der Synchronisation nicht möglich. ● Bewegungsbefehle im OCS sind erst nach dem Erreichen des Status SYNCHRONIZED

möglich. Die gewünschte Position des Produktes im OCS kann nach der Synchronisation per Bahnbefehl im OCS angefahren werden. Für den Synchronisiermodus ON_POSITION gilt: Ein Synchronisationsvorgang wird abgebrochen, wenn sich während des Aufsynchronisierens die Richtung des Leitwertes umkehrt. Dies kann z. B. der Fall sein, wenn der externe Geber eines Förderbandes aufgrund fehlender Filter oder zu kleiner Toleranzfenster (bei Extrapolation) im Stillstand schwankende Istwerte liefert, so dass sich die Richtung des Leitwertes umkehrt.

Page 79: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

TO Bahninterpolation Funktionshandbuch, 05/2009 79

Synchronisierstatus Der Synchronisierstatus des Kinematikendpunktes auf ein mitgeführtes OCS wird in der Systemvariablen ocs[i].trackingState am OCS angezeigt. Der Synchronisierstatus ist SYNCHRONIZED, wenn ● keine Bewegung im BCS aktiv ist, die Geschwindigkeit des Kinematikendpunktes gleich

der Geschwindigkeit des Förderbandes ist und der durch das Synchronisieren entstandene Positionsversatz der Synchronisierbewegung wieder ausgeglichen wurde.

● eine Bewegung im BCS aktiv ist, die Geschwindigkeit der überlagernden Aufsynchronisierbewegung gleich der Geschwindigkeit des Förderbandes ist und der durch das Synchronisieren entstandene Positionsversatz der Synchronisierbewegung wieder ausgeglichen wurde.

Ein statisches, mit TO#NIL verschaltetes OCS hat immer den Status SYNCHRONIZED. Zusätzlich zu den statischen OCS kann maximal ein mitgeführtes OCS im Status SYNCHRONIZED sein.

Dynamikwerte für den Synchronisiervorgang Im Befehl _enablePathObjectTracking() sind Dynamikwerte für den Synchronisiervorgang vorgebbar. Dabei können die Dynamikvorbelegungen des Bahnobjektes genutzt oder die Werte explizit vorgeben werden. Die Gesamtdynamik während des Aufsynchronisiervorgangs ergibt sich aus der gegebenenfalls aktiven Bahnbewegung im BCS und der überlagerten Synchronisierbewegung. Dies muss bei der Vorgabe der Dynamik berücksichtigt werden, da dies sonst zu einer Überschreitung der programmierten bzw. der maximalen Dynamikwerte am Bahnobjekt führen kann.

2.14.2.5 Bahnbewegungen im mitgeführten OCS durchführen Bahnbewegungen können über den Befehlsparameter csType wahlweise auf das BCS oder ein OCS bezogen werden. Voraussetzung für das Wirksamwerden von Bahnbefehlen im OCS ist, dass das OCS im Zustand SYNCHRONIZED ist. Ansonsten wird der Bahnbewegungsbefehl für das OCS nicht ausgeführt. Bahnbewegungsbefehle auf das OCS können erst nach der Synchronisation abgesetzt werden. ● csType

Dieser Parameter legt fest, ob die Koordinaten auf das OCS oder BCS zu beziehen sind. ● csNumber

Dieser Parameter ist der Index des OCS (1...3).

Page 80: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

TO Bahninterpolation 80 Funktionshandbuch, 05/2009

2.14.2.6 Bahnsynchrone Bewegung beim Synchronisieren auf ein OCS Beim Aufsynchronisieren des Kinematikendpunktes auf ein mitgeführtes OCS wird keine explizite Bahn abgefahren. Dadurch kann die Bahnlänge für diese Bewegung nur näherungsweise berechnet werden. Dies hat zur Folge, dass: ● eine relative / absolute Ausgabe der Bahnläge nur näherungsweise erfolgen kann ● die Dynamik einer bahnsynchronen Bewegung über den Parameter wDynamics

wahlweise mit den Maximalwerten der Achse (wDynamics:=MAX_DYNAMICS) oder den zuletzt programmierten Werten (wDynamics:=CURRENT) abgefahren wird.

● die Vorgabe einer bahnsynchronen Bewegung im Synchronisierbefehl ist nur im Falle eines statischen OCS sinnvoll. Im Falle eines nichtstatischen OCS sollte im Synchronisierbefehl keine bahnsynchrone Bewegung vorgegeben werden. Grund: – Die bahnsynchrone Bewegung besitzt aufgrund ihrer Funktionalität der

Bahnmitfahrbewegung keinen eigenen Bewegungsinterpolator. – Die berechnete Bezugsgeschwindigkeit für die Bahnsynchrone Bewegung springt

beim Übergang in den Synchronstatus, da mit dem Übergang in den Synchronstatus die Bahnwerte und damit auch die Bahngeschwindigkeit auf das OCS und nicht weiter auf das BCS bezogen werden.

2.14.2.7 Das Mitfahren des Kinematikendpunktes an einem mitgeführten OCS beenden ('Absynchronisieren')

Das Mitführen des Kinematikendpunktes an einem mitgeführten OCS wird beendet durch das Wirksamwerden eines Bahnbewegungsbefehls bezogen auf das BCS oder ein statisches OCS. Bestehende Bahnbewegungsbefehle werden verworfen, der neue Bahnbewegungsbefehl wird sofort ausgeführt.

2.14.2.8 Anhalten im OCS Mit dem Befehl _stopPath() wird bezogen auf das OCS angehalten. Der Status SYNCHRONIZED mit dem mitgeführten OCS bleibt dabei erhalten. Daher kann die Bewegung mit _continuePath() bezogen auf das mitgeführte OCS fortgesetzt werden.

Page 81: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

TO Bahninterpolation Funktionshandbuch, 05/2009 81

2.14.3 Bewegungsfolge – Beispielanwendung

2.14.3.1 Beispielanwendung eines OCS Die Anwendung eines OCS für die Bewegungsfolge wird anhand eines kurzen Beispiels erläutert.

Bild 2-54 Übersicht der Beispielanwendung

In diesem Beispiel werden Produkte auf einem Band zugeführt. Ein Sensor erfasst die genaue Position der Produkte. Das Handlingsgerät soll Produkte vom Band greifen und an einem anderen Ort ablegen.

Page 82: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

TO Bahninterpolation 82 Funktionshandbuch, 05/2009

2.14.3.2 Bezugslage des OCS definieren Die Bezugslage des OCS wird in den Systemvariablen definiert. In diesem Beispiel wird das OCS1 verwendet. Die Einstellungen für dieses Koodinatensystem werden in der Struktur userdefaultocs[1] vorgenommen.

Bild 2-55 OCS-relevante Systemvariablen

Demnach wird das OCS um 100 mm in X-Richtung und 15 mm in Z-Richtung verschoben:

Bild 2-56 Verschiebung des OCS

Dann wird das OCS um -15° um die Y-Achse gedreht.

Bild 2-57 Drehung des OCS

Page 83: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

TO Bahninterpolation Funktionshandbuch, 05/2009 83

2.14.3.3 Bewegungsfolgebezugswert des OCS festlegen Die Positions- und Bewegungsdaten des Bands werden mit dem Externen Geber CONVEYOR_BELT erfasst. Für das OCS wird der Basisframe gesetzt und der Bewegungsfolgebezugswert CONVEYOR_BELT aktiviert. Das OCS wird dann mit dem Band mitgeführt, und zwar an der Position, die der Externe Geber CONVEYOR_BELT liefert. // OCS_1 auf CONVEYOR_BELT setzen, // für den Basisframe BCS zur OCS, // die Defaulteinstellungen verwenden. myRetDINT := _setPathObjectOcs( pathObject:=Portal_3D, ocsNumber:=1, trackingIn:=CONVEYOR_BELT, ocsSettingType:=USER_DEFAULT );

2.14.3.4 Position des OCS in Bezug zum Bewegungsfolgebezugswert definieren Der Sensor, z. B. eine Lichtschranke, wird vom durchlaufenden Produkt ausgelöst. Dabei wird der aktuelle Wert des Externen Gebers CONVEYOR_BELT wird in der Variable belt_position gespeichert. Da die Position des Sensors bezogen auf die Bezugslage des OCS bekannt ist, ist damit auch die Position des Produktes hinsichtlich des Bewegungsfolgebezugswerts bekannt.

Bild 2-58 Position des OCS definieren

myRetDINT := _redefinePathObjectOcs( pathObject:=Portal_3D, ocsNumber:=1, mode:=RELATIVE, value:=belt_position - sensor_position );

Page 84: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

TO Bahninterpolation 84 Funktionshandbuch, 05/2009

2.14.3.5 Bewegung am Bahnobjekt auf ein mitgeführtes OCS synchronisieren Das Handlingsgerät soll nach einer Weglänge synch_space nach dem Sensor synchron mit dem Produkt mitgeführt werden. Die Position des Angriffspunktes des Greifers wird im OCS vorgegeben. Im Beispiel erfolgt dies über die Variablen offset_x, offset_y und offset_z. Auf diese Verschiebung wird dann nach der Synchronisation mit einem Befehl im OCS positioniert, so dass der Greifer das Produkt über seinem Schwerpunkt fassen kann.

Bild 2-59 Handlingsgerät synchronisieren

myRetDINT := _enablePathObjectTracking( pathObject:=Portal_3D, ocsNumber:=1, synchronizingMode:=ON_POSITION, position:=sensor_position + synch_space );

Wenn der Status "synchron" erreicht ist (ocs[1].trackingState = SYNCHRONIZED), kann der Befehl zur Positionierung des Greifers auf den Angriffspunkt des Produktes (offset_x, offset_y, offset_z) im OCS ausgeführt werden. myRetDINT := _movePathLinear( pathObject:=Portal_3D, pathMode:=ABSOLUTE, x:=offset_x, y:=offset_y, z:=offset_z, csType:=OCS, csNumber:=1 );

Page 85: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.14 Bewegungsfolge am Bahnobjekt (in Vorbereitung)

TO Bahninterpolation Funktionshandbuch, 05/2009 85

2.14.3.6 Bahnbewegungen im mitgeführten OCS durchführen Das Handlingsgerät bewegt sich nun 15 mm vom Band weg und bringt das Produkt zur Ablageposition (dispose_x, dispose_y, dispose_z). Die erste Bewegung findet im OCS statt, die zweite im BCS. Die Synchronization wird durch den Aufruf des zweiten Befehls beendet. myRetDINT := _movePathLinear( pathObject:=Portal_3D, pathMode:=RELATIVE, z:=15.0, csType:=OCS, csNumber:=1 ); myRetDINT := _movePathLinear( pathObject:=Portal_3D, pathMode:=ABSOLUTE, x:=dispose_x, y:=dispose_y, z:=dispose_z, cstype:=BCS );

Page 86: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.15 Verschaltung, Verschaltungsregeln

TO Bahninterpolation 86 Funktionshandbuch, 05/2009

2.15 Verschaltung, Verschaltungsregeln

Bild 2-60 Interfaces am Bahnobjekt

● Das Bahnachs-Interface 1 und das Bahnachs-Interface 2 eines Bahnobjektes müssen mit Bahnachsen verschaltet werden.

● Das Bahnachs-Interface 3 des Bahnobjektes wird optional mit einer Bahnachse verschaltet, abhängig von der eingestellten Kinematik.

● Das Positionierachs-Interface für die bahnsynchrone Bewegung kann optional mit einer Positionierachse verschaltet werden.

● Das MotionOut.x, bzw. ~.y-, bzw. ~.z-Interface kann optional mit einer Positionierachse verschaltet werden.

● Das Bahnobjekt kann zur Vorgabe eines Geschwindigkeitsprofils mit einer Kurvenscheibe verschaltet werden.

● Das TrackingIn-Interface kann zur Vorgabe eines Bewegungsfolgebezugswertes mit einem TO verschaltet werden, das ausgangsseitig ein Interface mit Positionswert bereitstellt.

Weitere Informationen siehe Funktionshandbuch Motion Control Basisfunktionen, "Verfügbare Technologieobjekte".

Hinweise: ● Die Bahn-Interfaces sind nicht verteilbar, d. h. alle am Bahnverbund beteiligten Objekte:

Bahnobjekt, Bahnachsen, und Positionierachsen müssen auf dem gleichen Gerät sein. ● Die an einem Bahninterpolationsverbund beteiligten Objekte (Bahnobjekt, Bahnachsen

und gegebenenfalls Positionierachse) müssen der gleichen Ablaufebene IPO oder IPO_2 zugeordnet werden. Die Einstellung SERVO ist nicht möglich.

Page 87: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Grundlagen Bahninterpolation 2.16 Simulationsbetrieb

TO Bahninterpolation Funktionshandbuch, 05/2009 87

2.16 Simulationsbetrieb Eine Bahninterpolation kann in Simulation geschaltet werden, d. h. die Werte werden am Bahnobjekt berechnet aber nicht an die Bahnachsen/Positionierachse ausgegeben. Das Ein- und Ausschalten der Bahnsimulation ist, solange keine Fehlerreaktion vorliegt, jederzeit möglich, auch während der Bewegung der beteiligten Achsen. Die Systemvariable simulation [ACTIVE/INACTIVE] gibt Auskunft über den Simulationsstatus des Bahnobjekts.

Befehle für den Simulationsbetrieb ● Der Befehl _enablePathObjectSimulation() setzt die Bahninterpolation in den

Simulationsbetrieb. Die Werte werden berechnet, aber nicht an die Bahnachsen/Positionierachse ausgegeben. Dies ist zu jedem Zeitpunkt möglich.

● Der Befehl _disablePathObjectSimulation() setzt die Bahninterpolation aus dem Simulationsbetrieb zurück. Die Werte werden wieder an die Bahnachsen/Positionierachse ausgegeben. Bei einer eventuellen Differenz zwischen dem aus der Bahninterpolation berechneten Achssollwert und dem an der Achse aktuellen Sollwert wird die Änderung des Achssollwertes an der Achse infolge der maximalen Achsdynamikgrenzwerte begrenzt.

Aufrechterhalten der Sollwertberechnung am Bahnobjekt auch bei Wegnahme der Freigaben an der Achse

Über das Konfigurationsdatum decodingConfig.disablePathOperation kann eingestellt werden, ob die Sollwerte am Bahnobjekt auch bei Wegnahme der Freigaben an der Achse weiter berechnet werden. ● Bei NO (Vorbelegung) wird die Bahninterpolation auch im Simulationsbetrieb

abgebrochen, wenn die Freigaben an der Bahnachse/Positionierachse zurück genommen wurden.

● Bei YES wird die Bahninterpolation im Simulationsbetrieb nicht abgebrochen, wenn die Freigaben an der Bahnachse/Positionierachse während des Simulationsbetriebs des Bahnobjekts zurück genommen wurden. Eventuell in Ausführung befindliche Bahnbefehle bleiben erhalten.

Page 88: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes
Page 89: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

TO Bahninterpolation Funktionshandbuch, 05/2009 89

Bahnobjekt projektieren 33.1 Technologiepaket Bahninterpolation auswählen

1. Markieren Sie im Projektnavigator das Gerät und wählen Sie im Kontextmenü (rechte Maustaste) Technologiepakete auswählen.

2. Setzen Sie die Auswahloption PATH und bestätigen Sie mit OK.

Bild 3-1 Auswahl der Technologiepakete

Page 90: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahnobjekt projektieren 3.2 Achsen mit Bahninterpolation anlegen

TO Bahninterpolation 90 Funktionshandbuch, 05/2009

3.2 Achsen mit Bahninterpolation anlegen ● Aktivieren Sie beim Anlegen einer Achse im SCOUT die Technologie Bahninterpolation.

Bild 3-2 Achse mit Bahninterpolation einfügen

Hinweise Wenn Sie für ein TO Achse die Technologie Bahninterpolation festlegen, wird ein Bahnobjekt nicht automatisch eingefügt. Zu einem späterem Zeitpunkt ist es nicht möglich, z. B. eine Positionierachse in eine Bahnachse zu ändern. Verschaltungen werden am Bahnobjekt vorgenommen. Siehe Bahnobjekt verschalten (Seite 98). Wird die Auswahl Gleichlauf nicht gesetzt, ● wird kein Gleichlaufobjekt angelegt, ● wird die Verschaltungsauswahl Gleichlaufverschaltungen nicht angezeigt. Beim erneuten Durchlauf des Achswizards kann Gleichlauf an- und abgewählt werden.

Page 91: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahnobjekt projektieren 3.3 Bahnobjekt anlegen

TO Bahninterpolation Funktionshandbuch, 05/2009 91

3.3 Bahnobjekt anlegen Bahnobjekte werden im SIMOTION SCOUT auf gleicher Ebene wie ein TO Achse und ein TO Kurvenscheibe abgelegt. Diese können allen geeigneten Achsen dieses Geräts zugeordnet werden. 1. Um ein Bahnobjekt neu anzulegen, doppelklicken Sie im Projektnavigator unter

BAHNOBJEKTE auf Bahnobjekt einfügen. Sie können auch ein bestehendes Bahnobjekt über die Zwischenablage kopieren und unter anderem Namen einfügen.

Bild 3-3 Bahnobjekt einfügen

2. Geben Sie einen Namen und ggf. Autor, Version und Kommentar ein und bestätigen Sie mit OK.

Das neue Bahnobjekt wird unter TECHNOLOGIE eingefügt.

Page 92: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahnobjekt projektieren 3.4 Darstellung im Projektnavigator

TO Bahninterpolation 92 Funktionshandbuch, 05/2009

3.4 Darstellung im Projektnavigator Das Bahnobjekt erscheint im Projektnavigator auf gleicher Ebene wie TO Achse und TO Kurvenscheibe. Verknüpfungen symbolisieren den Zusammenhang mit Bahnachsen bzw. einer Positionierachse für bahnsynchrone Bewegung.

Bild 3-4 Darstellung eines Projekts mit Bahninterpolation im Projektnavigator

Page 93: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahnobjekt projektieren 3.5 Bahnobjekt parametrieren/vorbelegen

TO Bahninterpolation Funktionshandbuch, 05/2009 93

3.5 Bahnobjekt parametrieren/vorbelegen ● Doppelklicken Sie im Projektnavigator unter dem Objekt auf Vorbelegungen.

In diesem Fenster legen Sie die Ersatzwerte (Vorbelegung) für den Aufruf des Bahnobjekts fest ( _movePath...(), _stopPath(), etc.).

Dynamikparameter Auf der Registerkarte Dynamik legen Sie Vorgaben für die Bahngeschwindigkeit, das Geschwindigkeitsprofil sowie Beschleunigung/Verzögerung und Ruck fest.

Bild 3-5 Bahnobjekt: Vorbelegungen - Registerkarte Dynamik

In diesem Fenster legen Sie die Ersatzwerte (Vorbelegung) für die Dynamik bei der Bahninterpolation fest.

Page 94: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahnobjekt projektieren 3.5 Bahnobjekt parametrieren/vorbelegen

TO Bahninterpolation 94 Funktionshandbuch, 05/2009

Folgende Parameter können Sie einstellen: Feld / Schaltfläche Bedeutung / Anweisung Geschwindigkeit Hier tragen Sie den Ersatzwert für die Bahngeschwindigkeit ein.

(userDefault.pathdynamics.velocity) Geschwindigkeitsprofil Hier wählen Sie das Geschwindigkeitsprofil aus.

(userDefault.pathdynamics.profile) Beschleunigung Hier tragen Sie den Ersatzwert für die Bahnbeschleunigung ein.

(userDefault.pathdynamics.positiveAccel) Verzögerung Hier tragen Sie den Ersatzwert für die Bahnverzögerung ein.

(userDefault.pathdynamics.negativeAccel) Ruck Hier tragen Sie den Ersatzwert für den Bahnruck ein.

(userDefault.pathdynamics.positiveAccelStartJerk/positiveAccelEndJerk/ negativeAccelStartJerk/negativeAccelEndJerk/profile)

Weitere Informationen siehe Bahndynamik (Seite 37). Die Bedeutung der Parameter der Dialogfenster und die zulässigen Wertebereiche finden Sie in den SIMOTION Referenzlisten.

Bahnparameter Auf der Registerkarte Bahn legen Sie Vorgaben für die Bahn fest.

Bild 3-6 Bahnobjekt: Vorbelegungen - Registerkarte Bahn

In diesem Fenster legen Sie die Ersatzwerte (Vorbelegung) für die Bahn fest.

Page 95: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahnobjekt projektieren 3.5 Bahnobjekt parametrieren/vorbelegen

TO Bahninterpolation Funktionshandbuch, 05/2009 95

Folgende Parameter können Sie einstellen: Feld / Schaltfläche Bedeutung / Anweisung Bahnebene Hier legen Sie die Bahnebene fest: X_Y_Z / X_Y / Y_Z / Z_X

(Voreinstellung: X_Y_Z, bei 3D, bei 2D Kinematik ist dies implizit X_Y) (userDefault.path.plane)

Bahnmodus Hier legen Sie den Bahnmodus fest: absolut oder relativ (userDefault.path.mode)

Begrenzung Bahndynamik auf die transformierten Achsgrenzwerte

Hier legen Sie fest, ob die Bahndynamik auf die transformierten Achsgrenzwerte begrenzt werden. (userDefault.path.dynamicAdaption) Siehe Begrenzungen der Bahndynamik (Seite 39).

Polynomvorgabe Hier legen Sie die Art der Polynominterpolation fest. (userDefault.path.polynomialMode) Siehe Polynombahnen (Seite 30).

Kreisvorgabe Hier legen Sie die Art der Kreisinterpolation fest. (userDefault.path.circularType) Siehe Kreisbahnen (Seite 24).

Richtung bahnsynchrone Bewegung

Hier legen Sie die Richtung der Positionierachse für bahnsynchrone Bewegung fest. (userDefault.w.direction) Siehe Funktionalität der bahnsynchronen Bewegung (Seite 47).

Modus bahnsynchrone Bewegung

Hier legen Sie den Synchronachsmodus fest: • absolut • relativ • Bahnlänge ausgeben • Bahnlänge additiv ausgeben (userDefault.w.mode) Siehe Funktionalität der bahnsynchronen Bewegung (Seite 47).

Überschleifen Hier legen Sie fest, ob und wie das Überschleifen erfolgt. (userDefault.blendingMode) Siehe Bahnverhalten am Bewegungsende (Seite 43).

Hilfspunktmodus Mittelpunkt oder Zwischenpunkt: • absolut • relativ • wie Zielpositionsmodus (userDefault.path.ijkMode) Siehe Kreisbahnen (Seite 24).

Hinweis: Transformationen werden über die Expertenliste eingestellt. (Siehe Motion Control Basisfunktionen, "Expertenliste") Weitere Informationen siehe Grundlagen Bahninterpolation (Seite 17). Die Bedeutung der Parameter der Dialogfenster und die zulässigen Wertebereiche finden Sie in den SIMOTION Referenzlisten.

Page 96: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahnobjekt projektieren 3.6 Bahnobjekt konfigurieren

TO Bahninterpolation 96 Funktionshandbuch, 05/2009

3.6 Bahnobjekt konfigurieren ● Doppelklicken Sie im Projektnavigator unter dem Objekt auf Konfiguration.

Bild 3-7 Bahnobjekt konfigurieren

In diesem Fenster können Sie folgende Parameter einstellen: Feld / Schaltfläche Bedeutung / Anweisung Bearbeitungstakt Hier stellen Sie ein, ob das Bahnobjekt im IPO oder im IPO_2 bearbeitet wird.

Alle an einem Bahninterpolationsverbund beteiligten TOs (Bahnobjekt, Bahnachsen, Positionierachse für bahnsynchrone Bewegung) müssen dem gleichen IPO-Takt zugeordnet werden! (Execution.executionlevel)

Weitere Informationen Funktionsübersicht siehe Übersicht Bahninterpolation (Seite 11). Funktionsbeschreibung siehe Grundlagen Bahninterpolation (Seite 17). Die Bedeutung der Konfigurationsdaten und die zulässigen Wertebereiche finden Sie in den SIMOTION Referenzlisten.

Page 97: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahnobjekt projektieren 3.7 Begrenzungen festlegen

TO Bahninterpolation Funktionshandbuch, 05/2009 97

3.7 Begrenzungen festlegen ● Doppelklicken Sie im Projektnavigator unter dem Objekt auf Begrenzungen.

Bild 3-8 Begrenzungen am Bahnobjekt

In diesem Fenster legen Sie maximale dynamische Bahngrenzwerte fest: Feld / Schaltfläche Bedeutung / Anweisung Geschwindigkeit Hier tragen Sie die maximale Geschwindigkeit ein.

(limitsOfPathDynamics.velocity) Beschleunigung Hier tragen Sie die maximale Beschleunigung ein.

(limitsOfPathDynamics.positiveAccel) Verzögerung Hier tragen Sie die maximale Verzögerung ein.

(limitsOfPathDynamics.negativeAccel) positiver Ruck Hier tragen Sie den maximalen Ruck bei der

Beschleunigungsaufbau/Verzögerungsabbau ein. (limitsOfPathDynamics.positiveJerk)

negativer Ruck Hier tragen Sie den maximalen Ruck bei der Beschleunigungsabbau/Verzögerungsaufbau ein. (limitsOfPathDynamics.negativeJerk)

Weitere Informationen siehe Bahndynamik (Seite 37). Die Bedeutung der Konfigurationsdaten und die zulässigen Wertebereiche finden Sie in den SIMOTION Referenzlisten.

Page 98: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahnobjekt projektieren 3.8 Bahnobjekt verschalten

TO Bahninterpolation 98 Funktionshandbuch, 05/2009

3.8 Bahnobjekt verschalten ● Doppelklicken Sie im Projektnavigator unter dem Objekt auf Verschaltungen.

Bild 3-9 Bahnobjekt verschalten

In diesem Fenster verschalten Sie die Ausgänge des Bahnobjekts mit Bahnachsen bzw. mit einer Positionierachse. (Die Objekte müssen bereits angelegt sein.) Setzen Sie Häkchen bei den gewünschten Objekten. Ein Bahnobjekt muss mit mindestens zwei Bahnachsen verschaltet werden. Folgende Konnektoren des Bahnobjekts müssen verschalten werden: ● 1. Bahnachse: mit einer Bahnachse ● 2. Bahnachse: mit einer Bahnachse Folgende Konnektoren des Bahnobjekts können verschalten werden: ● 3. Bahnachse: mit einer Bahnachse ● Achse für bahnsynchrone Bewegung: mit einer Positionier-, Gleichlauf- oder Bahnachse ● Geschwindigkeitsprofil: mit einer Kurvenscheibe Weitere Informationen siehe Verschaltung, Verschaltungsregeln (Seite 86).

Page 99: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahnobjekt projektieren 3.9 Kinematikanpassung in der Expertenliste konfigurieren

TO Bahninterpolation Funktionshandbuch, 05/2009 99

3.9 Kinematikanpassung in der Expertenliste konfigurieren Über die Expertenliste können Sie alle Konfigurationsdaten und Systemvariablen des TO Bahnobjekt in einer Liste anzeigen und ändern. Dort legen Sie den Kinematik-Typ fest und passen diesen an Ihre Anforderungen an (siehe Kinematikanpassung (Seite 50)). Informationen hierzu siehe Funktionshandbuch Motion Control Basisfunktionen, "Expertenliste".

3.10 Bahnüberwachungen konfigurieren An der Achse können Bahnüberwachungen konfiguriert werden. Doppelklicken Sie im Projektnavigator unter dem Achsobjekt auf Überwachungen. Stellen Sie die erforderlichen Parameter auf der Registerkarte Bahnbewegung bzw. Bahnsynchronbewegung ein.

Bild 3-10 Überwachungen an einer Achse mit Bahninterpolation

Bahnbewegungen Feld / Schaltfläche Bedeutung / Anweisung Sollwertüberwachung Hier aktivieren Sie die Sollwertüberwachung für die Bahnachse.

(pathAxisPosTolerance.enableCommandValue) Sollwert-Toleranz Hier geben Sie die zulässige Abweichung des vom Bahnobjekt für die Bahnachse

berechneten Sollwertes an der Achse unter Berücksichtigung der Begrenzungen des ausführbaren Sollwertes an. (pathAxisPosTolerance.commandValueTolerance) Bei Überschreitung wird ein Alarm ausgelöst.

Page 100: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahnobjekt projektieren 3.11 Bahninterpolation - Kontextmenü

TO Bahninterpolation 100 Funktionshandbuch, 05/2009

Synchronachse - Überwachungen - Bahnsynchronbewegung Feld / Schaltfläche Bedeutung / Anweisung Sollwertüberwachung Hier aktivieren Sie die Sollwertüberwachung für die Positionierachse.

(pathSyncAxisPosTolerance.enableCommandValue) Sollwert-Toleranz Hier geben Sie die zulässige Abweichung des vom Bahnobjekt für die Positionierachse

berechneten Sollwertes an der Achse unter Berücksichtigung der Begrenzungen des ausführbaren Sollwertes an. (pathSyncAxisPosTolerance.commandValueTolerance) Bei Überschreitung wird ein Alarm ausgelöst.

Weitere Informationen siehe Anzeige und Überwachungen an der Achse (Seite 46).

3.11 Bahninterpolation - Kontextmenü Folgende Funktionen können Sie wählen: Funktion Bedeutung / Hinweis Konfiguration öffnen Mit dieser Funktion öffnen Sie die Konfiguration

für das im Projektnavigator markierte Bahnobjekt.In diesem Fenster legen Sie den Bearbeitungstakt fest.

Vorbelegung Mit dieser Funktion öffnen Sie die Vorbelegung für das im Projektnavigator markierte Bahnobjekt.In diesem Fenster legen Sie die Ersatzwerte für die Dynamik und die Bahn fest.

Begrenzung Mit dieser Funktion öffnen Sie die Begrenzungen für das im Projektnavigator markierte Bahnobjekt.In diesem Fenster legen Sie Dynamikgrenzwerte für das Bahnobjekt fest.

Verschaltungen Mit dieser Funktion öffnen Sie die Verschaltungen für das im Projektnavigator markierte Bahnobjekt. In diesem Fenster sehen Sie die Eingänge der Achsen.

Experte Mit dieser Funktion öffnen Sie das Untermenü für die Experteneinstellungen.

• Expertenliste Mit dieser Funktion öffnen Sie die Expertenliste für das im Projektnavigator markierte Bahnobjekt.In dieser Liste können Sie die Konfigurationsdaten und Systemvariablen anzeigen und ändern.

• Einheiten konfigurieren Mit dieser Funktion öffnen Sie das Fenster Einheiten des Objekts konfigurieren im Arbeitsbereich. Dort können Sie die verwendeten Einheiten für das gewählte Objekt konfigurieren.

Page 101: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahnobjekt projektieren 3.11 Bahninterpolation - Kontextmenü

TO Bahninterpolation Funktionshandbuch, 05/2009 101

Funktion Bedeutung / Hinweis • Objekt importieren Mit Objekt importieren blenden Sie ein Fenster

für den XML Import auf. In diesem Fenster können Sie die Parameter für den XML Import festlegen.

• Projekt speichern und Objekt exportieren Mit Projekt speichern und Objekt exportieren blenden Sie ein Fenster für den XML Export auf. In diesem Fenster können Sie die Parameter für den XML Export festlegen

Page 102: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes
Page 103: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

TO Bahninterpolation Funktionshandbuch, 05/2009 103

Beispielprojekt für die Bahninterpolation 44.1 Übersicht des Beispiels

Um zu veranschaulichen, wie man die Bahninterpolation projektiert, wird in den nachfolgenden Abschnitten Schritt für Schritt ein Beispielprojekt beschrieben. In den nachfolgenden Beschreibungen wird davon ausgegangen, dass das Projekt mit dem SIMOTION-Gerät und den Antrieben bereits in der HW-Konfig angelegt wurde. In diesem Beispiel wird nachfolgendes 2D-Portal eingerichtet:

Bild 4-1 Übersicht

Dieses 2D-Portal besteht aus folgenden Achsen: ● vertikale Achse: 1400 cm Verfahrlänge, Achsnullpunkt auf unterster Position ● horizontale Achse: 2000 cm Verfahrlänge, Achsnullpunkt links Der Nullpunkt des Bahnobjekt ist also unten links. So wird das 2D-Portal angelegt und verwendet: ● Technologiepaket auswählen ● Achsen anlegen ● Bahnobjekt anlegen ● Kinematik definieren ● Bahnobjekt verschalten ● Bahn in MCC programmieren ● Bewegung mit Trace überprüfen Um zu zeigen, wie eine Synchronachse funktioniert, wird am Ende des Beispiels noch ein Greifer angelegt.

Page 104: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.2 Technologiepaket auswählen

TO Bahninterpolation 104 Funktionshandbuch, 05/2009

4.2 Technologiepaket auswählen Die Bahninterpolation wird von den Technologiepaketen PATH- und CAM_EXT unterstützt. Klicken Sie das Gerät im Projektnavigator mit der rechten Maustaste an, wählen Sie Technologiepaket auswählen im Kontextmenu und verwenden Sie das Technologiepaket PATH.

Bild 4-2 Technologiepaket auswählen

Page 105: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.3 Achsen anlegen

TO Bahninterpolation Funktionshandbuch, 05/2009 105

4.3 Achsen anlegen Für das Beispiel werden zwei Linearachsen benötigt: Axis_X und Axis_Z. Diese Achsen werden mit der Technologie Bahninterpolation angelegt. Beide Achsen werden als lineare, virtuelle nicht modulare Achsen angelegt. Klicken Sie ACHSEN -> Achse einfügen, um eine Achse beim Gerät einzufügen. Nennen Sie die erste Achse Axis_X und die zweite Achse Axis_Z und richten Sie beide wie folgt ein: 1. Technologie Bahninterpolation gewählt

Bild 4-3 Achse anlegen

2. Lineare, virtuelle, nicht modulare Achse Die Konfiguration von beiden Achsen ist wie folgt:

Bild 4-4 Beispielzusammenfassung der Konfiguration (Achse Axis_X)

Page 106: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.3 Achsen anlegen

TO Bahninterpolation 106 Funktionshandbuch, 05/2009

Der Projektnavigator sieht jetzt wie folgt aus:

Bild 4-5 Projektnavigator mit angelegten Achsen

Page 107: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.4 Bahnobjekt anlegen

TO Bahninterpolation Funktionshandbuch, 05/2009 107

4.4 Bahnobjekt anlegen Fügen Sie für das Gerät unter BAHNOBJEKTE ein neues Bahnobjekt ein. Nennen Sie das Bahnobjekt Portal_2D.

Bild 4-6 Bahnobjekt anlegen

Page 108: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.5 Kinematik definieren

TO Bahninterpolation 108 Funktionshandbuch, 05/2009

4.5 Kinematik definieren Bei der Definition der Kinematik wird der Kinematiktyp mit seinen mechanischen Daten und die Verschiebung des Koordinatensystems zum Nullpunkt des Basiskoordinatensystems festgelegt. Um die Kinematik zu definieren, gehen Sie wie folgt vor: 1. Klicken Sie das Bahnobjekt Portal_2D im Projektnavigator mit der rechten Maustaste an

und wählen Sie Experte > Expertenliste aus.

Bild 4-7 Expertenliste für Bahnobjekt öffnen

2. In der Expertenliste, öffnen Sie die Konfigurationsdaten.

Bild 4-8 Konfigurationsdaten in der Expertenliste

Page 109: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.5 Kinematik definieren

TO Bahninterpolation Funktionshandbuch, 05/2009 109

3. Wählen Sie unter Kinematiks > typeOfKinematics die gewünschte Kinematik aus. Stellen Sie hier CARTESIAN ein.

Bild 4-9 Kinematikart CARTESIAN einstellen

4. Öffnen Sie CartesianConfig und machen Sie folgende Einstellungen: – BasicOffset.x: 0.0 mm – BasicOffset.y: 0.0 mm – BasicOffset.z: 0.0 mm – cartesianKinematicsType: _2D – config2D: Z_X

Bild 4-10 Kinematikeinstellungen für das 2D-Portal vornehmen

Page 110: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.6 Bahnobjekt verschalten

TO Bahninterpolation 110 Funktionshandbuch, 05/2009

4.6 Bahnobjekt verschalten Öffnen Sie das Fenster Verschaltungen für das Bahnobjekt. In dieser Maske ordnen Sie die Achsen dem Bahnobjekt zu. Da die Kinematik in der Z-X Ebene arbeitet muß als erste Bahnachse die Z-Achse verwendet werden und als zweite Bahnachse die X-Achse. Parametrieren Sie die Verschaltungen des Bahnobjektes daher wie folgt: ● 1. Bahnachse: Axis_Z ● 2. Bahnachse: Axis_X

Bild 4-11 Bahnobjekt verschalten

Page 111: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.7 Vorbelegungen des Bahnobjekts setzen

TO Bahninterpolation Funktionshandbuch, 05/2009 111

4.7 Vorbelegungen des Bahnobjekts setzen Die unten beschriebenen Einstellungen müssen in der Vorbelegung des Bahnobjekts vorgenommen werden. So stellen Sie die Vorbelegungen des Bahnobjekts ein: 1. Unter dem Bahnobjekt, klicken Sie auf Vorbelegung. 2. Im Fenster Vorbelegung, in der Lasche Dynamik, stellen Sie das Bahnobjekt z.B. wie

folgt ein:

Bild 4-12 Vorbelegung - Dynamik

Page 112: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.7 Vorbelegungen des Bahnobjekts setzen

TO Bahninterpolation 112 Funktionshandbuch, 05/2009

3. In der Lasche Bahn nehmen Sie folgende Einstellungen vor:

Bild 4-13 Vorbelegung - Bahn

Page 113: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation Funktionshandbuch, 05/2009 113

4.8 Bahninterpolation in MCC programmieren

4.8.1 Fahrbefehle in MCC programmieren Folgende Bahn soll für dieses Beispiel eingerichtet werden:

Bild 4-14 Zu fahrende Bahn

Diese Bahn besteht aus folgenden Bahnsegmenten: Segment Bahntyp Startpunkt (x,z) Endpunkt (x,z) A - B Linearbahn (0,0) (0,1200) B - C Polynombahn (0,1200) (200,1400) C - D Linearbahn (200,1400) (1800,1400) D - E Polynombahn (1800,1400) (2000,900) E - F Linearbahn (2000,900) (2000,0) F - A Kreisbahn (2000,0) (0,0)

Page 114: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation 114 Funktionshandbuch, 05/2009

4.8.2 Programm anlegen 1. Im Projektnavigator, klicken Sie MCC Quelle einfügen. Benennen Sie die MCC Quelle

MCC_Example.

Bild 4-15 MCC Quelle anlegen

2. Im Interface der MCC-Quelle, definieren Sie nachfolgende Variablen: – start_move (BOOL, true): Das Portal soll die Bewegung abfahren wenn

start_move=true gesetzt ist und stoppen, wenn start_move=false. – forw_back (BOOL, false): Die Variable forw_back zeigt an ob sich das Portal vorwärts

(true, A->F) oder rückwärts (false, F->A) bewegt.

Bild 4-16 Variablen in der MCC-Quelle definieren

Page 115: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation Funktionshandbuch, 05/2009 115

3. Im Projektnavigator, unter der neuen MCC-Quelle, klicken Sie MCC-Chart einfügen. Nennen Sie dieses Chart TopLoader.

Bild 4-17 MCC Chart einfügen

4. Öffnen Sie das MCC-Chart und definieren Sie nachfolgende Variablen: – endPoly, startPoly: structRetGetLinearPathGeometricData – x_start, z_start, x_end, z_end: LREAL Diese Variablen werden zur Berechnung von Daten für die Polynominterpolation benötigt.

Bild 4-18 Variablen in der MCC-Quelle anlegen

Page 116: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation 116 Funktionshandbuch, 05/2009

4.8.3 Fahrschleife programmieren

4.8.3.1 Fahrschleife programmieren Nachfolgende Fahrschleife soll programmiert werden:

Bild 4-19 Zu fahrende Bahn

Die Fahrschleife soll innerhalb einer While-Schleife durchgeführt werden. Sie wird solange durchlaufen wie start_move auf true gesetzt ist.

Page 117: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation Funktionshandbuch, 05/2009 117

4.8.3.2 While-Schleife anlegen Für das Beispiel wird eine While-Schliefe angelegt, die durchläuft, solange start_move auf true gesetzt ist.

Bild 4-20 While-Schleife

Page 118: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation 118 Funktionshandbuch, 05/2009

4.8.3.3 Linearbahn A-B programmieren Vor dem Start der Vorwärts-Bewegung wird die Richtungsanzeige forw_back auf true gesetzt. Dies erfolgt über eine Variablenzuweisung. Platzieren Sie dazu einen Befehl ST-Lupe innerhalb der While-Schleife und programmieren diesen wie folgt:

Bild 4-21 forw_back auf true setzen

Fügen Sie danach einen Befehl Fahre Bahn Linear in der While-Schleife hinzu. Definieren Sie die Linearbahn A-B wie folgt:

Page 119: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation Funktionshandbuch, 05/2009 119

Bild 4-22 Linearbahn A-B programmieren

Page 120: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation 120 Funktionshandbuch, 05/2009

4.8.3.4 Polynombahn B-C programmieren Um die Polynombahn B-C zu programmieren, müssen in einer ST-Lupe die geometrischen Ableitungen für den Startpunkt und Endpunkt berechnet werden. Fügen Sie jeweils einen ST-Lupen-Befehl für Start- und Endpunkt in der While-Schleife ein und programmieren diese wie dargestellt:

Bild 4-23 Ableitungen im Startpunkt der ersten Polynombahn berechnen

Bild 4-24 Ableitungen im Endpunkt der ersten Polynombahn berechnen

Page 121: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation Funktionshandbuch, 05/2009 121

Fügen Sie nun einen Befehl Fahre Bahn polynomisch in der While-Schleife ein und definieren die Polynombahn wie folgt:

Bild 4-25 Polynombahn B-C programmieren

Die zuvor berechneten Ableitungen werden wie folgt im Befehl angegeben: ● erste Ableitung im Startpunkt: startpoly.firstGeometricalDerivative.x / .y / .z ● zweite Ableitung im Startpunkt: startpoly.secondGeometricalDerivative.x / .y / .z ● erste Ableitung im Endpunkt: endpoly.firstGeometricalDerivative.x / .y / .z ● zweite Ableitung im Startpunkt: endpoly.secondGeometricalDerivative.x / .y / .z

Hinweis Eine alternative Polynomvorgabe wird bei der Programmierung der Polynombahn D-E beschrieben.

Page 122: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation 122 Funktionshandbuch, 05/2009

4.8.3.5 Linearbahn C-D programmieren Für die Linearbahn C-D fügen Sie einen Befehl Fahre Bahn Linear in der While-Schleife hinzu und nehmen Sie folgende Einstellungen vor:

Bild 4-26 Linearbahn C-D programmieren

Page 123: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation Funktionshandbuch, 05/2009 123

4.8.3.6 Polynombahn D-E programmieren Für die Polynombahn D-E wird die Art der Polynomvorgabe Stetig anfügen verwendet. Die geometrischen Ableitungen des Startpunkts werden anhand des vorhergehenden Bahnsegments berechnet. Nur die Ableitungen für den Endpunkt müssen über eine ST-Lupe berechnet werden.

Bild 4-27 Ableitungen im Endpunkt der Polynombahn D-E

Sowohl der ST-Lupen-Befehl als auch der Befehl Fahre Bahn polynomisch müssen in der While-Schleife nacheinander eingefügt werden.

Page 124: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation 124 Funktionshandbuch, 05/2009

Parametrieren Sie die Polynombahn wie dargestellt:

Bild 4-28 Polynombahn D-E programmieren

Page 125: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation Funktionshandbuch, 05/2009 125

4.8.3.7 Linearbahn E-F programmieren Für die Linearbahn E-F fügen Sie einen Befehl Fahre Bahn Linear hinzu und nehmen Sie folgende Einstellungen vor:

Bild 4-29 Linearbahn E-F programmieren

Page 126: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation 126 Funktionshandbuch, 05/2009

4.8.3.8 Rückfahrt F-A programmieren Der Greifer des Portals soll über eine Kreisbahn zur Ausgangsposition zurückgefahren werden. Startpunkt der Kreisbahn ist (2000, 0), Endpunkt ist (0, 0). Es gibt mehrere Möglichkeiten, die Kreisbahn zu definieren. Für dieses Beispiel soll die Kreisbahn über einen Zwischenpunkt und den Endpunkt definiert werden. Als Zwischenpunkt wird der Punkt (1000, 1000) gewählt.

Bild 4-30 Kreisbahn zurück definieren

Zur Anzeige der Rückwärts-Bewegung wird die Variable forw_back in einem ST-Lupen-Befehl auf false gesetzt.

Bild 4-31 forw_back auf false setzen

Page 127: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation Funktionshandbuch, 05/2009 127

Danach wird der Befehl Fahre Bahn Zirkular eingefügt und folgende Einstellungen vorgenommen:

Bild 4-32 Kreisbahn F-A programmieren

4.8.4 Achs-Freigaben schalten und Achsen referenzieren Um die Achsen verfahren zu können muss für diese jeweils noch eine Freigabe erfolgen. Außerdem müssen die Achsen noch referenziert werden. Dazu müssen vor der While-Schleife die Befehle Achs-Freigabe schalten und Referenziere Achse für jede Achse eingefügt werden. Für die Befehle Achs-Freigabe schalten können Sie die Standardwerte übernehmen. Für die Befehle Referenziere Achse setzen Sie die Referenzpunktkoordinaten auf 0 mm. Die sonstigen Werte müssen nicht geändert werden.

Page 128: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation 128 Funktionshandbuch, 05/2009

4.8.5 MCC-Diagramm Das MCC-Chart sieht nun wie folgt aus:

Bild 4-33 MCC-Chart

Page 129: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation Funktionshandbuch, 05/2009 129

4.8.6 MCC-Chart in Ablaufsystem zuordnen Das MCC-Chart muss im Ablaufsystem einer beliebigen MotionTask zugeordnet werden. Die MotionTask muss nach der StartupTask aktiviert werden. So ordnen Sie das MCC-Chart einer MotionTask zu: 1. Im Projektnavigator, wählen Sie eine beliebige MotionTask und schieben Sie das

Programm MCC_Example.toploader zu Verwendete Programme.

Bild 4-34 MotionTask im Ablaufsystem zuordnen

Page 130: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation 130 Funktionshandbuch, 05/2009

2. In der Taskkonfiguration der MotionTask, selektieren Sie Aktivierung nach StartupTask.

Bild 4-35 MotionTask im Ablaufsystem konfigurieren

Page 131: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.8 Bahninterpolation in MCC programmieren

TO Bahninterpolation Funktionshandbuch, 05/2009 131

4.8.7 Bewegung mit Trace überprüfen Um zu sehen, wie die Bewegung abläuft, wird ein Trace der nachfolgenden Variablen definiert: ● TO.Axis_X.positioningstate.actualposition ● TO.Axis_Z.positioningstate.actualposition ● Forw_back Eine Aufzeichnung der Bewegungsschleife sieht nun wie folgt aus:

Bild 4-36 Ergebnis des Beispiels als Trace

Page 132: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.9 Synchronachse anlegen

TO Bahninterpolation 132 Funktionshandbuch, 05/2009

4.9 Synchronachse anlegen Um die Funktionalität der bahnsynchronen Bewegung zu zeigen, wird dem Projekt eine Synchronachse hinzugeführt. Die Synchronachse dient dazu z. B. Produkte während der Bewegung zusätzlich zu drehen. Die Synchronachse soll den Greifer zwischen den Punkten C und D um 90° drehen.

C D

E

F

B

A

Bild 4-37 Synchronachse

Achse anlegen Führen Sie im Projekt eine Positionierachse mit dem Namen Axis_Sync ein. Diese Achse wird als rotatorische, virtuelle, nicht Modulo-Achse angelegt. Beachten Sie dabei, dass für diese Achse die Funktionalität Bahnachse nicht verwendet wird.

Bild 4-38 Achse "Axis_Sync" anlegen

Page 133: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.9 Synchronachse anlegen

TO Bahninterpolation Funktionshandbuch, 05/2009 133

Bahnobjekt einrichten Unter Verschaltungen des Bahnobjekts, wählen Sie die Achse Axis_Sync als Positionierachse für bahnsynchrone Bewegungen aus.

Bild 4-39 Achse "Axis_Sync" verschalten

Page 134: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.9 Synchronachse anlegen

TO Bahninterpolation 134 Funktionshandbuch, 05/2009

MCC-Charts modifizieren Führen Sie folgende Änderungen im MCC-Chart durch: ● Fügen Sie vor der While-Schleife die Befehle Achs-Freigabe schalten und Referenziere

Achse für die Achse Axis_Sync analog zu denen für die X- und Z-Achse hinzu. ● In der Linearbahn C-D soll sich die Achse Axis_Sync synchron mitdrehen.

Um die Achse wie gewünscht zu drehen, öffnen Sie den Fahrbefehl für die Linearbahn C-D und wählen die Lasche Synchronachse aus. Dort nehmen Sie die folgenden Einstellungen vor:

Bild 4-40 Achse "Axis_Sync" synchron drehen

Page 135: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Beispielprojekt für die Bahninterpolation 4.9 Synchronachse anlegen

TO Bahninterpolation Funktionshandbuch, 05/2009 135

● In der Kreisbahn F-A soll die Achse Axis_Sync zurück auf die Nullposition gedreht werden.

Bild 4-41 Synchronbahn zurück auf Nullposition bewegen

Page 136: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes
Page 137: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

TO Bahninterpolation Funktionshandbuch, 05/2009 137

Bahninterpolation programmieren/Referenzen 55.1 Programmierung

5.1.1 Programmierung: Übersicht Im Folgenden finden Sie Informationen zu den Befehlen und Alarmreaktionen des Technologiepaketes Bahnobjekt. Weitere Informationen können den Referenzlisten der Technologiepakete entnommen werden. Die Beschreibung der Funktionen der auf dem TO Bahnobjekt basierenden Standard-Bibliothek "Toploading" kann der Funktionsbeschreibung "Applikation Toploading" entnommen werden.

5.1.2 Befehlsübersicht

5.1.2.1 Auskunft und Konvertierung

Berechnen der Bahnlänge: Folgende Befehle berechnen die Bahnlänge ohne die Bahnbewegung zu starten oder auszuführen. Die Start- und Endpunkte müssen im Befehl angegeben werden. ● _getLinearPathData() ● _getCircularPathData() ● _getPolynomialPathData()

Geometrische Bahnanalyse: Die unten aufgelisteten Befehle dienen zur Berechnung von kartesischen Daten der Bahn, z. B. Bahnrichtung, Bahnkrümmung, am Startpunkt, Endpunkt oder vorgebbaren Punkt auf der Bahn ohne die Bahnbewegung zu starten oder auszuführen. Der Punkt auf der Bahn wird über die Vorgabe des Bahnlängenabstands zum Startpunkt angegeben. Der Startpunkt wird im Befehl mit angegeben, ebenso die Position bezogen auf die Bahnlänge, an dem die Auskunftsdaten ermittelt werden. ● _getLinearPathGeometricData() ● _getCircularPathGeometricData() ● _getPolynomialPathGeometricData()

Page 138: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahninterpolation programmieren/Referenzen 5.1 Programmierung

TO Bahninterpolation 138 Funktionshandbuch, 05/2009

5.1.2.2 Umrechnungsbefehle ● _getPathCartesianPosition()

Berechnet die kartesischen Positionen aus den Achspositionen. ● _getPathAxesPosition()

Berechnet die Achspositionen aus den kartesischen Positionen. ● _getPathCartesianData()

Berechnet die kartesischen Daten für Position, Geschwindigkeit und Beschleunigung aus den Achspositionen, Achsgeschwindigkeiten und Achsbeschleunigungen.

● _getPathAxesData() Berechnet die Achspositionen, Achsgeschwindigkeit und Achsbeschleunigungen aus den kartesischen Daten zur Position, Geschwindigkeit und Beschleunigung.

5.1.2.3 Befehlsverfolgung Die folgenden Befehle erlauben das Beobachten des aktuellen Verarbeitungs- und Bewegungsstatus der Motion Befehle. Durch das permanente Abspeichern der Stati, die zu einer CommandId gehören, ist ein Auswerten über die Lebenszeit des Motion Befehls hinaus möglich. ● _getStateOfPathObjectCommand() ● _getMotionStateOfPathObjectCommand() ● _bufferPathObjectCommandId() ● _removeBufferedPathObjectCommandId()

5.1.2.4 Bewegung ● _movePathLinear()

Interpolation von Linearbahnen (Seite 24) – 2D in einer Hauptebene – 3D

● _movePathCircular() Interpolation von Kreisbahnen (Seite 24) – 2D in einer Hauptebene mit Radius, Endpunkt und Orientierung – 2D in einer Hauptebene mit Mittelpunkt und Winkel – 2D mit Zwischen- und Endpunkt – 3D mit Zwischen- und Endpunkt

● _movePathPolynomial() Interpolation von Polynombahnen (Seite 30) – 2D in einer Hauptebene – 3D

Page 139: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahninterpolation programmieren/Referenzen 5.1 Programmierung

TO Bahninterpolation Funktionshandbuch, 05/2009 139

● _stopPath() Stoppt die aktuelle Bewegung ohne abzubrechen.

● _continuePath() Setzt eine gestoppte Bewegung wieder fort.

5.1.2.5 Objekt- und Alarmhandling ● _cancelPathObjectCommand()

Bricht einen wartenden oder im Ipo aktiven Befehle ab. Der abzubrechende Befehl wird durch die Angabe seiner CommandId im Parameter commandToBeCancelled spezifiziert.

● _enablePathObjectSimulation() Setzt ein Bahnobjekt in den Simulationsmodus, Bahnwerte werden berechnet, aber nicht an die Achsen ausgegeben.

● _disablePathObjectSimulation() Beendet den Simulationsmodus.

● _resetPathObject() Der Befehl setzt den Bahninterpolator in seinen Ausgangszustand zurück. Aktive Bewegungen werden gestoppt, Befehle werden abgebrochen und Fehler werden zurückgesetzt. Falls gewünscht, werden die Systemvariablen auf ihre Vorgabewerte zurückgesetzt bzw. die Konfigurationsdaten neu eingelesen.

● _resetPathObjectError() Der Befehl setzt alle oder einen speziellen Fehler an einem Bahnobjekt zurück.

● _getPathObjectErrorNumberState() Status eines spezifischen Fehlers auslesen.

● _getPathObjectErrorState() Der Befehl liefert die Information ob und wieviele Alarme am Bahnobjekt anstehen. Außerdem werden Informationen über diese Fehler ausgegeben.

● _resetPathObjectConfigDataBuffer() Konfigurationsdatenpuffer zurücksetzen.

● _getStateOfPathObjectMotionBuffer() Gibt den Status der Befehlsqueue des Bahnobjekts zurück.

● _resetPathObjectMotionBuffer() Löscht alle anstehenden Befehle aus der Befehlsqueue. Für die gelöschten Befehle wird jeweils der Alarm 030002 Befehl abgebrochen abgesetzt.

Page 140: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahninterpolation programmieren/Referenzen 5.1 Programmierung

TO Bahninterpolation 140 Funktionshandbuch, 05/2009

5.1.2.6 Objektkoordinaten ● _enablePathObjectTracking()

Startet den Synchronisiervorgang des Bahnobjekts auf ein OCS. ● _getPathObjectBCSFromOCSData()

Berechnet eine Position (x, y, z) im Basiskoordinatensystem des Bahnobjekts anhand der Position im Objektkoordinatensystem.

● _getPathObjectOCSFromBCSData() Berechnet eine Position (x, y, z) im Objektkoordinatensystem anhand der Position im Basiskoordinatensystem des Bahnobjekts.

● _redefinePathObjectOCS() Verschiebt das Objektkoordinatensystem entlang der X-Achse (Fahrtrichtung).

● _setPathObjectOCS() Definiert die translatorische und rotatorische Verschiebung des Objektkoordinatensystems gegenüber dem Basiskoordinatensystem des Bahnobjekts.

Page 141: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahninterpolation programmieren/Referenzen 5.1 Programmierung

TO Bahninterpolation Funktionshandbuch, 05/2009 141

5.1.3 Befehlsverarbeitung

5.1.3.1 Befehlspuffer Das Bahnobjekt verfügt über drei Befehlspuffer für jeweils einen Befehl. ● ein Puffer für Bewegungsbefehle

Wirkt ablösend (IMMEDIATELY) und sequentiell ● ein getrennter Puffer für "Bahnbewegung stoppen (_stopPath() ) und "Bahnbewegung

fortsetzen" (_continuePath() ) ● ein Puffer für sonstige, d. h. überlagert wirksame Anweisungen

Befehl Funktion Einordnung*) _movePathLinear() Bewegung einer Linearbahn starten 4 _movePathCircular() Bewegung einer Kreisbahn starten 4 _movePathPolynomial() Bewegung einer Polynombahn starten 4 _stopPath() Bewegung stoppen 1 bei Stopp ohne

Befehlsabbruch 4 bei Stopp mit Befehlsabbruch

_continuePath() Fortsetzen einer Bewegung 1 _getLinearPathData() Bahnlänge der Linearbahn 5 _getCircularPathData() Bahnlänge der Kreisbahn 5 _getPolynomialPathData() Bahnlänge der Polynombahn 5 _getPathCartesianPosition() Achse zu Bahn 5 _getPathAxesPosition() Bahn zu Achse 5 _getPathCartesianData() Achse zu Bahn mit Dynamikdaten 5 _getPathAxesData() Bahn zu Achse mit Dynamikdaten 5 _getLinearPathGeometricData() geometrische Bahndaten der Linearbahn 5 _getCircularPathGeometricData() geometrische Bahndaten der Kreisbahn 5 _getPolynomialPathGeometricData() geometrische Bahndaten der Polynombahn 5 _enablePathObjectSimulation() Bahnobjekt in Simulation setzen 3 _disablePathObjectSimulation() Bahnobjekt aus Simulation zurücksetzen 3 _resetPathObject() Bahnobjekt rücksetzen 5 _resetPathObjectError() Fehler rücksetzen 5 _getStateOfPathObjectCommand() Befehlsstatus auslesen 5 _getMotionStateOfPathObjectCommand() Bewegungsphase eines Befehls auslesen 5 _bufferPathObjectCommandId() Befehls-Id permanent speichern 5 _removeBufferedPathObjectCommandId() permanentes Speichern beenden 5 _getPathObjectErrorNumberState() Status eines Fehlers des Bahnobjektes

auslesen 5

_getPathObjectErrorState() Status und Anzahl der anstehenden Fehler des Bahnobjektes auslesen

5

_resetPathObjectConfigDataBuffer() Die seit dem letzten Aktivieren im Puffer gesammelten Konfigurationsdaten löschen

5

Page 142: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahninterpolation programmieren/Referenzen 5.1 Programmierung

TO Bahninterpolation 142 Funktionshandbuch, 05/2009

Befehl Funktion Einordnung*) _getStateOfPathObjectMotionBuffer() Gibt den Status der Befehlsqueue des

Bahnobjekts zurück. 5

_resetPathObjectMotionBuffer() Löscht alle anstehenden Befehle aus der Befehlsqueue.

5

_enablePathObjectTracking() Startet den Synchronisiervorgang des Bahnobjekts auf das OCS.

3

_getPathObjectBCSFromOCSData() Berechnet eine Position im BCS anhand einer Position im OCS.

5

_getPathObjectOCSFromBCSData() Berechnet eine Position im OCS anhand einer Position im BCS.

5

_redefinePathObjectOCS() Verschiebt das OCS entlang der X-Achse. 3 _setPathObjectOCS() Definiert die Verschiebung desOCS gegenüber

dem BCS. 3

_cancelPathObjectCommand() Bricht einen wartenden oder im Ipo aktiven Befehle ab.

1

*) Legende: 1 Puffer für Stop-Continue-Befehle 2 nicht verwendet 3 Puffer für überlagernde Befehle 4 sequentieller Befehlspuffer 5 keine Einordnung in die Befehlspuffer (Befehle können parallel abgearbeitet

werden)

5.1.3.2 Ablöseverhalten Das Verhalten beim Einfügen von Befehlen wird im Befehlsparameter mergeMode festgelegt. ● Ablösen des aktuellen Interpolatorbefehls

(mergeMode:=IMMEDIATELY) ● Überschreiben der im Puffer befindlichen Befehle

(mergeMode:=NEXT_MOTION) Die Abarbeitung erfolgt nach dem Ende der Bearbeitung des aktuellen Inter-polatorbefehls.

● Anhängen an die bereits im Puffer befindlichen Befehlen (mergeMode:=SEQUENTIAL) Bei vollem Puffer kann auf das Freiwerden eines Eintrags gewartet oder die Befehlsverarbeitung ohne Wartezeit fortgesetzt werden.

Die Befehlsdekodierung findet im Taskkontext, d. h. in der Ablaufebene der den Befehl absetzenden Anwendertask statt (vor dem Eintrag in den Befehlspuffer). Einstellungen und Wirksamkeit des mergeMode sind wie bei TO Achse.

Page 143: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahninterpolation programmieren/Referenzen 5.1 Programmierung

TO Bahninterpolation Funktionshandbuch, 05/2009 143

5.1.4 Wechselwirkungen des Bahnobjekts mit der Achse

5.1.4.1 Ablöseverhalten Über den Parameter mergeMode am Bewegungsbefehl des Bahnobjektes wird das Verhalten zu anderen aktiven Bewegungen an der Achse eingestellt. In der Einstellung ablösend werden alle aktiven zugeordneten Achsbewegungen abgebrochen (abhängig von der Einstellung im Konfigurationsdatum transferSuperimposedPosition). ● Beim Ablösen einer Bahnbewegung über einen weiteren Bahnbefehl wird unmittelbar auf

die Bahn übergegangen, die sich im Ablösenpunkt zum neuen Zielpunkt ergibt. ● Beim Ablösen einer Bahn mit einem Bewegungsbefehl, z. B. _move...(), halten die

anderen an der Bahnbewegung beteiligten Achsen und gegebenenfalls die Positionierachse für bahnsynchrone Bewegung mit den maximalen Dynamikwerten an. Die Wirksamkeit der anderen Ablöseverhalten ist wie beim Gleichlauf. Beim gleichzeitigen Anstehen von Bewegungsbefehlen innerhalb eines Inter-polationstaktes am jeweiligen Objekt, also einer am Gleichlaufobjekt, einer am Bahnobjekt und einer an der Achse gilt: – Bei mergeMode=SEQUENTIAL/NEXT_MOTION wird der Gleichlaufbefehl/Bahnbefehl

ausgeführt. – Bei mergeMode=IMMEDIATELY wird der Befehl an der Achse ausgeführt.

● Der Befehl _stop() einer an der Bahnbewegung oder über die bahnsynchrone Bewegung beteiligten Achse bricht die Bahnbewegung am Bahnobjekt nicht ab, wird also nicht wirksam (dies ist das gleiche Verhalten wie bei der Gleichlaufbewegung am TO Gleichlauf). _stop() bricht nur die an der Achse initiierten Bewegungen ab. Der Befehl _stopEmergency() ist auch auf die am TO Gleichlauf und TO Bahnobjekt initiierten Bewegungen wirksam.

● Überlagerungen können nicht am Bahnobjekt erfolgen, sondern nur an der Achse (Achsbewegung oder Gleichlauf).

● Wenn eine Positionierachse für bahnsynchrone Bewegung des Bahnverbunds über einen Achsbefehl an dieser Achse abgelöst wird, ergibt sich die gleiche Rückwirkung auf die Bahn, wie beim Ablösen einer Bahnachse.

● Bahnachse und Positionierachse für bahnsynchrone Bewegung verhalten sich gleich. Bei den anderen Einstellungen wird die Bahnbewegung nach dem Ende aller vorherigen Achsbewegungen oder einer aktiven Bahnbewegung gestartet.

Page 144: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahninterpolation programmieren/Referenzen 5.1 Programmierung

TO Bahninterpolation 144 Funktionshandbuch, 05/2009

5.1.4.2 Reihenfolge der Wirksamkeit Die Technologieobjekte werden in der Reihenfolge Bahnobjekt - Gleichlaufobjekt - Achsobjekt bearbeitet. Bei gleichzeitig anstehenden Bewegungsbefehlen an mehreren mit einer Achse verschalteten Technologieobjekten mit gleichem Ablöseverhalten werden diese entsprechend der Bearbeitungsreihenfolge und der Einstellung im Parameter mergeMode wirksam: ● In der Einstellung mergeMode:=IMMEDIATELY wird der Bewegungsbefehl an der Achse

wirksam (letzter bearbeiteter Befehl). ● In der Einstellung mergeMode:=SEQUENTIAL/NEXT_MOTION wird der

Bewegungsbefehl am Bahnobjekt wirksam (zuerst wirksamer Befehl).

5.1.4.3 Wechselwirkung mit der Achse Wird die Bewegung einer Achse infolge ihrer lokalen Alarmreaktion angehalten oder wird die Verschaltung des Bahnobjektes zur Achse ungültig, dann wird die Bahnbewegung abgebrochen und die anderen Achsen werden ebenfalls mit den maximalen Dynamikwerten auf Geschwindigkeit 0.0 gefahren und ein technologischer Alarm wird ausgegeben. Ist der Restweg kleiner als der Bremsweg, so wird die neue Zielposition überfahren und dann auf die Zielposition zurückgefahren (reversierende Bewegung). Die anderen Achsen fahren mit ihren maximalen Dynamikwerten auf Geschwindigkeit 0.0. Die Achsen fahren aber nicht zum Abbruchpunkt zurück. Die Bahn wird abhängig von den Randbedingungen (beteiligte Achsen, Dynamikwerte) dabei nicht mehr eingehalten. Siehe Funktionshandbuch Motion Control Technologieobjekte Achse elek-trisch/hydraulisch, Externer Geber, "Bewegungsübergänge",

5.1.4.4 Wechselwirkung mit anderen Bahnbewegungen Ist eine Bahnachse mit mehreren Bahnobjekten verschaltet und löst eine Bahnbewegung an einer Bahnachse eine andere Bahnbewegung an einem anderen Bahnobjekt ab, dann werden die anderen Bahnachsen mit den maximalen Dynamikwerten auf Geschwindigkeit 0.0 gefahren und ein Technologischer Alarm ausgegeben.

Page 145: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Bahninterpolation programmieren/Referenzen 5.2 Lokale Alarmreaktion

TO Bahninterpolation Funktionshandbuch, 05/2009 145

5.2 Lokale Alarmreaktion Lokale Alarmreaktionen werden über das System vorgegeben. Folgende Reaktionen sind möglich: ● NONE: Keine Reaktion ● DECODE_STOP: Abbruch der Befehlsaufbereitung, die aktuelle Bewegung und Befehl

im Puffer bleiben aktiv. ● END_OF_MOTION_STOP: Abbruch am Ende des fehlerverursachenden Befehls, Stopp

der Bewegung auf der Bahn ● MOTION_STOP: Geführter Bewegungsstopp mit programmierten Bahndynamikwerten

auf der Bahn. Eine Fortsetzung ist durch Fehlerquittierung möglich. ● MOTION_EMERGENCY_STOP: Geführter Bewegungsstopp mit den maximalen

Bahndynamikwerten / Grenzwerten der Achse. Eine Fortsetzung ist durch Fehlerquittierung möglich.

● MOTION_EMERGENCY_ABORT: Geführter Bewegungsstopp mit den maximalen Bahndynamikwerten auf der Bahn. Im Bahninterpolator aktive Befehle werden abgebrochen, ein Einlesen weiterer Befehle wird verhindert und ist erst nach Fehlerquittierung möglich. Aktive Befehle (IPO) werden an das Anwenderprogramm mit Fehlerkennung rückgemeldet.

● DISABLE_MOTION: Bewegungsstopp an Bahnachsen und Positionierachse für bahnsynchrone Bewegung. Der Bahnbewegungsanteil wird über Stopp mit den maximalen Achsdynamikwerten sowie anschließendem Abbruch des Bahnbewegungsanteils realisiert. Der Bahnverbund wird somit aufgelöst. Im Bahninterpolator aktive Befehle werden abgebrochen, ein Einlesen weiterer Befehle wird verhindert und ist erst nach Fehlerquittierung möglich.

Page 146: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes
Page 147: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

TO Bahninterpolation Funktionshandbuch, 05/2009 147

Index

2 2D/3D-Portal, 56

A Achsen

mit Bahninterpolation anlegen, 90

B Bahnachse, 11

einordnen, 18 Fehler, 47

Bahnachsen anlegen, 105

Bahnachs-Interface, 12, 86 Bahnachsoffset, 54 Bahnbefehle

Ablöseverhalten, 142 Befehlsverfolgung, 138 Berechnen der Bahnlänge, 137 Bewegung, 138 Geometrische Bahnanalyse, 137 Kreisbahn, 24 Kreisbahn über Mittelpunkt, Winkel, 27 Kreisbahn über Radius, Endpunkt, Orientierung, 25 Kreisbahn über Zwischenpunkt, Endpunkt, 29 Linearbahn, 24 Objekt- und Alarmhandling, 139 Objektkoordinatensystem, 140 Polynombahn, 30 Polynombahn über direkte Vorgabe, 32 Polynombahn über stetig anfügen, 35 Polynombahn über Vorgabe der Startpunktdaten, 33 Umrechnungsbefehle, 138

Bahnbewegung, 12 Anzeige, 46 fortsetzen, 42 stoppen, 42 Überwachung, 46

Bahndynamik, 37 Begrenzungen, 39 Vorgabe über Befehlsparameter, 38 Vorgabe über Kurvenscheibe, 38

Bahn-Interface, 13 Bahninterpolation, 11, 12

Beispielprojekt, 103 Funktionalität, 17 lokale alarmreaktion, 145 Objekte, 17

Bahninterpolationsverbund, 12 Bahnobjekt

Begrenzungen, 97 Bahnobjekt, 11, 12

Konfiguration, 96 parametrieren, 93 Systemvariablen, 51 Vorbelegung, 93

Bahnobjekt Verschaltungen, 98

Bahnobjekt anlegen, 107

Bahnobjekt Befehlspuffer, 141

Bahnsteuerung, 12 Bahnsynchrone Bewegung, 14

Ausgabe der Bahnlänge, 50 Ausgabe der Koordinaten, 50 Dynamik, 49 Funktionalität, 47 Spezifikation, 48 Überschleifen, 49

Band, 13, 72 Basiskoordinatensystem, 13 BCS, 13 Befehle Bahninterpolation, 22 Befehlspuffer

Bahnobjekt, 141 Begrenzungen

Bahnobjekt, 97 Beispiel

Bahninterpolation (Übersicht), 103 Beispielprojekt

Achsen anlegen, 105 Bahnobjekt anlegen, 107 Bahnsegments programmieren, 113 Kinematik definieren, 108 Technologiepaket, 104 Vorbelegung setzen, 111

Bewegungsende Stoppen, 43 Überschleifen mit Dynamikadaption, 44

Page 148: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Index

TO Bahninterpolation 148 Funktionshandbuch, 05/2009

Überschleifen ohne Dynamikadaption, 45 Übersicht, 43

Bewegungsfolge, 13, 72 Bewegungsfolgebezugswert, 13, 73 Bezugspunkte, 51

C CAM_EXT, 18 Conveyortracking, 72

D Delta-2D-Picker, 59 Delta-3D-Picker, 62

E Einheiten

Bahninterpolation, 20

F Fehler Bahnachse, 47 Frametransformation, 13

G Gelenkarm, 69 Gelenkstellungsräume, 53

H Hauptebene, 19

I Interpolationsarten

Bahninterpolation, 21

K Kartesische 2D/3D-Portal, 56 Kartesische Achsen, 13 Kartesischer Nullpunkt, 51 Kartesisches Koordinatensystem, 19 Kinematik, 14

2D/3D-Portal, 56

Delta-2D-Picker, 59 Delta-3D-Picker, 62 Gelenkarm, 69 Rollenpicker, 57 SCARA, 64 Übersicht, 55 Umrechnung, 54

Kinematikanpassung, 14, 50 Transformation, 50

Kinematik-Endpunkt, 51 Kinematik-Nullpunkt, 51

Verschiebung, 55 Kinematiktransformation, 14, 50 Kinematischer Offset, 55 Konfiguration

Bahnobjekt, 96 Kreisbahn, 14

L Linearbahn, 14 Literaturhinweis, 4 Lokale Alarmreaktion

Bahninterpolation, 145

M Modulo-Eigenschaften, 20 MotionOut.x/y/z-Interface, 86

N Nullpunktverschiebung, 54

O Objekte

Bahninterpolation, 17 Objektkoordinatensystem (OCS), 14 OCS

anhalten, 80 Anwendungsbeispiel, 81 Bahnbefehle, 140 mitgeführt, 14

OCS-Bezugslage, 14

P PATH, 18 Pitch, 13

Page 149: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

Index

TO Bahninterpolation Funktionshandbuch, 05/2009 149

Polynombahn, 14 Positionierachse

für bahnsynchrone Bewegung, 11 Positionierachs-Interface, 86

R Rechtssystem, 19 Roll, 13 Rollenpicker, 57 Rotation, 13

S SCARA, 64 Simulationsbetrieb, 87 Systemvariablen, 51

T Technologiepaket wählen, 104 TO Bahnobjekt, 11 trackingIn-Interface, 15 trackingInPosition, 13 Translation, 13

U Überschleifen

Bahnsynchrone Bewegung, 49 mit Dynamikadaption, 44 ohne Dynamikadaption, 45

Überwachung, 46

V Verfahrbereichsgrenzen

der Bahn- und Positionierachsen, 47 Verschaltungen

Bahnobjekt, 98 Vorbelegung, 111

Bahnobjekt, 93

Y Yaw, 13

Page 150: SIMOTION Motion Control TO Bahninterpolation · TO Bahninterpolation Funktionshandbuch, 05/2009 3 Vorwort Vorwort Inhalt Das vorliegende Dokument ist Bestandteil des Dokumentationspaketes

SIMOTION Motion Control TO Bahninterpolation Funktionshandbuch, 05/2009 150