Home

Controller

image

Contents

1. 20 Festo GDCP CMXR SW DE de 0909a 3 Programmbearbeitung 3 8 2 Projektglobale Daten Projektglobale Daten dienen zur Kommunikation zwischen den einzelnen Programmen innerhalb eines Projektes Programme au erhalb des entsprechenden Projektes haben keinen Zugriff auf diese Daten Projektglobalen Daten werden in einer eigenen Datei mit dem Namen _globalvars tid gespeichert Erfolgt eine Projektanlage ber das Handbedienger t CDSA oder den FTL Pro grammiereditor so wird diese projektglobale Datendatei automatisch angelegt Bei einer Projektgenerierung ber eine andere Software z B kundenseitige Programmiersoftware ist darauf zu achten dass diese Datendatei angelegt wird Hinweis Erfolgt eine Programmgenerierung ber eine fremde Software so ist darauf zu achten dass die Datei _globalvars tid im Projektver zeichnis angelegt wird Die folgende Abbildung zeigt die Projekte FillPalett und FeedParts Jedes dieser Pro jekte verf gt ber projektglobale Daten die in der Datei _globalvars tid abgespeichert und im Projektverzeichnis abgelegt sind Projekt Verzeichnis FillPalett Projekt Verzeichnis FeedParts projektglobale Daten Datei _globalvars tid projektglobale Daten Datei _globalvars tid i I I Programm Fill Programm Sort Programm Feed Programm Sort Datei Fill tid lokale Daten Datei Sort tid loka
2. sssssssssssssssssssssssssssssssssssssssssssssssss 182 18 8 5 R cksetzen der Uhr Methode Reser 182 18 8 6 Auslesen der Uhr Methode Read 182 1887 Zeitwert in String k nvertieren an ae 183 Encoder Baustein ENCODER e Ranges 184 18 91 nstanzerins 2 184 RR e EE EE 185 189 Methoden A E a A OESE AEA 185 18 9 4 Encoder setzen Methode Gert 186 18 9 5 Encoder lesen Methode Read 187 CANopen Baustein EE Eeer eegene 187 SE INstanzieruns sascha 188 18 102 Methoden ana he 188 18 10 3 SDO schreiben Methode WritepD 189 18 10 4 SDO lesen Methode ReadSDOSigned E 189 18 10 5 SDO lesen Methode ReadSDOUnsigned EE 191 Festo GDCP CMXR SW DE de 0909a INHALTSVERZEICHNIS 19 Peripheriesigsnale n usineiros eean Eege geet 192 19 1 Arbeiten mit digitalen Ein und Ausg ngen esssesssssseseeeesesesssseeeeeeresssseseeeeeee 192 19 2 Arbeiten mit analogen Ein und Ausg ngen 192 20 ET eek 194 20 1 Stoppen von Bewegungen eussnsnssenensenennnnnnsnsnnnsnsnnennnnnnsnsnnnsnsnnnnnnnsssssnsnssnnnnnnn 194 20 2 Arbeiten mit Ein und Ausgangebausteinen 197 20 3 Steuerung des Satzvorlaufsa sn 198 20 4 Arbeiten HEET eege aen 199 20 4 1 WaklumMereller EE 200 20 4 2 Pneumatische Parallelgreifer nee 203 20 4 3 Pneumatische Schwenk Greifeinheit 00ssee00000000r00000nn0000000000 206 20 5 Arbeiten mit der SPS gt Schnittstelle units 210 205 1 Aufsabenstellins as iR 210 20 5 2 SPS Schnitlstell sen ae
3. Festo GDCP CMXR SW DE de 0909a 121 14 Werkzeuge 14 Werkzeuge Die CMXR Mehrachssteuerung bietet die M glichkeit die L ngendaten eines Werkzeuges zu definieren Diese Daten werden in Form eines 6 dimensionalen Vektors beschrieben Somit kann dem Werkzeug neben den Abma en auch eine Orientierung mitgegeben wer den Diese Orientierung erfolgt nach der Euler ZYZ Konvention Der Ursprung des Vektors ist dabei der Nullpunkt im Werkzeugflansch das Ende bestimmt den Werkzeugendpunkt der TCP Tool Center Point genannt wird Mit den Werkzeugdaten wird das Werkzeugko ordinatensystem bestimmt Koordinatensystem des 6 SC dimensionalen Vektors mit Ursprung am Flansch A Werkzeugflansch 14 1 Werkzeugdaten 14 1 1 Daten TCP Vektor Die Werkzeugdaten sind im strukturierten Datentyp TCPTOOL abgelegt Dieser enth lt die Daten der 6 Freiheitsgrade Aufbau Datentyp TCPTOOL X REAL Verschiebung entlang der X Achse y REAL Verschiebung entlang der Y Achse Z REAL Verschiebung entlang der Z Achse a REAL Orientierungsangabe Drehung um die Z Achse b REAL Orientierungsangabe Drehung um die verdrehte Y Achse c REAL Orientierungsangabe Drehung um die verdrehte Z Achse 122 Festo GDCP CMXR SW DE de 0909a 14 Werkzeuge Die 3 translatorischen Werte X Y und Z definieren den TCP im Raum wenn alle Achsen in Ausgangslage stehen Auf diese Weise wird das Werkzeugkoordinatensystem in den TCP verschoben Dieses kann zu
4. ISPOS Enumeration Parameter Bewegungsart Einheit Mode u nn dynPtp Point To Point dynCart kartesisch mm sec Tabelle 10 4 Einheiten Parameter ValueAcc ValueDec Hinweis Wird der optionale Parameter ValueDec f r die Bremsrampe nicht angegeben so wird f r die Bremsrampe der Wert des Parameters ValueAcc f r die Beschleunigung verwendet Das Profil ist dann symmetrisch 91 10 Dynamikbefehle Programm Ptp pos0 Acc dynPtp Pto posl Acc dynCart Lin posz 30 100 30 10 4 Ruck lt Jerk gt Einstellen des Rucks f r PTP und kartesischeBewegungen Die nachfolgenden Befehle werden auf den angegebenen Wert reduziert Die Steuerung reduziert den Ruck bei ber schreitung der Achsgrenzwerte selbstst ndig gt Parameter Syntax Beschleunigung f r PTP auf 30 Bahnbeschleunigung auf 100mm sec Jerk lt Mode gt ENUM Value REAL Bedeutung Einheit Mode Art der Bewegung Enumeration dynPtp dynCart Value Wert des Rucks Tabelle 10 5 Parameter Befehl Jerk Beispiel Variable pos0 AX posi AX pos2 AX 92 ISPOS ISPOS ISPOS Enumeration Parameter Mode Bewegungsart Einheit dynPtp Point To Point dynCart kartesisch mm sec3 Tabelle 10 6 Einheiten Parameter Value 60 60 0 0 O 0 0 O 0 60 60 0 0 0 0 O 0 0 100 60 0 0 0 0 0 0 0 Festo GDCP CMXR SW DE d
5. schnelle Geschwindigkeit Lin safetyPosStack Lin safetyDepositPos Lin depositPos gripper Reset Greifer ffnen Lin safetyDepositPos END WHILE Funktionsweise Die Kinematik f hrt so lange auf die Entnahmeposition bis sich der Greifer auf der Blechta fel befindet und der Sensor zur Auffahrerkennung das entsprechende Signal liefert Dies wird mit einer langsamen Geschwindigkeit durchgef hrt um das System vor Schaden zu bewahren Um im n chsten Zyklus eine m glichst nahe Position ber dem Stapel zu erreichen wird die tats chliche Position ber dem Stapel gespeichert Diese Position wird mit einem Sicherheitsabstand erg nzt Somit kann im n chsten Zyklus mit einer schnellen Geschwin digkeit ber den Stapel gefahren werden Anschlie end wird bis zum Teilekontakt auf eine langsame Geschwindigkeit umgeschaltet 196 Festo GDCP CMXR SW DE de 0909a 20 Beispiele 20 2 Arbeiten mit Ein und Ausgangsbausteinen Bei der Instanzierung von Ein bzw Ausgangsbausteinen kann ein Timeout definiert wer den Wird zum Beispiel die Funktion Wait des Bausteins im Ablauf verwendet muss ein eventuell aufgetretener Timeout vom Anwenderprogramm ausgewertet werden Bewegungsprogramm inSensor Wait IF inSensor Read FALSE THEN Ablauf unterbrechen SetError Timeout over RETURN END IF Ablauf fortsetzten Lin pos Hinweis gt Die Ausgabe einer Fehlermeldung f hrt zu einer Unterbrechun
6. 8 6 2 _LOOP Anweisung lt LOOP gt Die LOOP Anweisung dient zur Wiederholung einer Anweisungsfolge Man kann direkt angeben wie oft die Anweisungen durchlaufen werden sollen F r jede LOOP Anweisung wird automatisch eine interne Schleifenvariable angelegt die beim Auflaufen auf die Schleife auf 1 initialisiert wird Die Schleife wird solange durchlaufen bis der Wert der internen Schleifenvariablen den Endwert berschreitet Ist der Endwert kleiner als 1 wird die Schleife somit gar nicht durchlaufen sondern bersprungen Nach jedem Durchlauf wird der Wert der Schleifenvariable um eins erh ht und der Endwert neu berechnet Die Schleife darf beliebig viele Anweisungen enthalten Syntax gt LOOP Anzahl DO Anweisungen END_LOOP Beispiele LOOP 10 DO 10 Durchl ufe index index 13 END LOOP Festo GDCP CMXR SW DE de 0909a 49 8 Programmsteuerung LOOP j DO wird bersprungen da j 0 index index 13 END LOOP 8 7 Unterprogramme In einem Programm k nnen andere Programme aufgerufen werden Diese Programme m ssen sich im gleichen Projekt wie das aktive Programm befinden oder im globalen Pro jekt _global siehe Kapitel 3 6 1 Globales FTL Projekt auf Seite 19 liegen Diese aufgeru fenen Programme werden als Unterprogramme bezeichnet N Hinweis Ein Unterprogramm ben tigt keine spezielle Kennung Bei der Er stellung wird dieses genau wie jedes andere Programm erzeugt und in einem Projekt abge
7. 9 Bewegungsbefehle Y Drehachse 180 Grad _ E Drehachse 90 Grad Se Bahnverlauf Ca am TCP Ki En Drehachse z Ungef hrer Bahnverlauf O Grad E an der Z Achse Wie dargestellt wird bei einer Linearbewegung der TCP Werkzeugspitze auf der Bahn gef hrt Alle Geschwindigkeitsangaben beziehen sich dabei immer auf den TCP somit ist der Bahnverlauf bestimmt Nicht vorhersehbar ist jedoch der Verlauf der Bahn des Werk zeugflansches in der X Y Ebene Dieser Bahnverlauf ergibt sich aus der Konstellation der Kinematik und des Vektors zum TCP und wird durch die interne Koordinatentransformation berechnet 9 6 Relative Linearbewegung lt LinRel gt Analog zum Lin Befehl funktioniert der relative Lin Befehl Hier wird die Positionsangabe zur Startposition addiert Eine Anwendung w re z B eine relative Positionierung innerhalb eines Rasters wie bei einer Palette 3 Syntax LinRel Dist gt AXISDIST oder CARTDIST Parameter Bedeutung Einheit Relative Zielposition AXISDIST oder CARTDIST Tabelle 9 6 Parameter Befehl LinRel Die Distanzangabe kann kartesisch oder bezogen auf jede einzelne Achse angegeben wer den Die CMXR Mehrachssteuerung transformiert die Positionen entsprechend 76 Festo GDCP CMXR SW DE de 0909a 9 Bewegungsbefehle Beispiel Eine Kontur enth lt sich wiederholende Bahnst cke Diese Bahnst cke lassen sich relativ beschreiben Mit dem Einsatz einer Schleifenprogrammierung l sst sich eine solche Ap
8. NOT posl AND NOT pos2 AND NOT pos3 minlPosValid pos1 XOR pos2 XOR pos3 Festo GDCP CMXR SW DE de 0909a 29 5 Grunddatentypen 5 2 _ Ganzzahl Typen REAL Datentyp Bitmuster Typen Die Programmiersprache FTL unterst tzt ganzzahlige auch Integer Typen genannt Gleit komma und Bitmuster Datentypen Je nach Fall k nnen diese Datentypen einander zuge wiesen werden siehe Kapitel 5 Grunddatentypen auf Seite 28 Bei solchen Zuweisungen f hrt das System die interne Typumwandlung automatisch durch Je nach Art einer Typumwandlung kann es zu einem Verlust an Genauigkeit kommen Z B bei einer Wandlung von REAL nach DINT das System entfernt die Nachkommastellen Beispiele f r Typumwandlungen Variablen pressure REAL index Ss DINT Programmcode pressure 1 53 index pressure Umwandlung REAL gt DINT Die Variable index enth lt nach der Konvertierung den Wert 1 Hinweis 2 Typumwandlungen sollen nur dann genutzt werden wenn die Kon sequenz in jeder Hinsicht klar ist siehe Beispiel oben 5 3 Klammern Mit Klammern werden Berechnungen entsprechend der Bearbeitungsreihenfolge grup piert Die Bearbeitung der Klammern erfolgt dabei von innen nach au en Beispiel IF Index lt 10 AND Index gt 5 THEN END IF Distance xRow 10 Index 30 Festo GDCP CMXR SW DE de 0909a 5 Grunddatentypen 5 4 Zeichenketten STRING Zeichenketten werden mit dem Datentyp STRING beschr
9. PickPlace 18 Festo GDCP CMXR SW DE de 0909a 3 Programmbearbeitung In einem Projekt werden FTL Programme zusammengefasst Alle Programme sind somit Elemente eines Projektes Weitere Unterverzeichnisse in einem Projektverzeichnis sind nicht zul ssig Hinweis gt Die Projektstruktur und Verwaltung wird durch die grafische Soft ware des Handbedienger tes und ber den Editor der FCT Software automatisch erzeugt und verwaltet 3 6 1 Globales FTL Projekt Neben allen FTL Projekten gibt es ein globales FTL Projekt das den Namen _global tr gt Dieser Name ist fix und darf nicht ver ndert werden Das Projekt ist global f r alle Projekte Alle darin gespeicherten Daten und Programme sind aus allen anderen Projekten zug ng lich Falls Daten oder Programme in mehreren Projekten benutzt werden m ssen werden diese in diesem globalen Projekt abgelegt Somit ist die Datenkonsistenz gewahrt Das globale Projekt _global wird beim Hochlauf der CMXR automatisch geladen und aktiviert 3 7 FTL Programmdatei tip Alle zu einem Projekt geh renden FTL Programme werden in dem zugeordneten Projekt verzeichnis abgelegt Ein Programm setzt sich aus dem Programmcode und den dazu ge h renden Daten zusammen Diese werden in getrennten Dateien unter dem gleichen Namen jedoch mit einer unterschiedlichen Datei Erweiterung file extension gespeichert e lt Name tip Datei Erweiterung f r Programmcode e lt Name tid D
10. ProgHold Zum Aufruf des Makros sind keine Parameter notwendig Beispiel OvlVel 100 volles berschleifen Lin posl Lin pos2 ProgHold programmierter Halt Lin pos3 Lin pos4 ProgHold programmierter Halt Lin pos5 Dieses Beispielprogramm f hrt verschiedene Positionen an wobei ein Geschwindigkeits berschleifen mit 100 eingestellt ist Wenn das Signal zum programmierten Halt gesetzt ist wird an diesen Stellen angehalten Dabei ergibt sich folgender Geschwindigkeitsver lauf Festo GDCP CMXR SW DE de 0909a 135 15 PROFIBUS Schnittstelle Verlauf mit programmiertem Halt Zeit zwischen anhalten und weiter laufen Geschwindig N f a 7 Zeit pos1 pos2 pos3 pos4 pos5 Verlauf ohne programmierten Halt Geschwindig keit Zeit pos1 pos2 pos3 pos4 pos5 136 Festo GDCP CMXR SW DE de 0909a 16 Meldesystem 16 Meldesystem Aus dem Bewegungsprogramm k nnen Meldungen generiert werden Es gibt folgende Meldunsgsarten e Information e Warnung e Fehler Diese Meldungen werden in den Meldespeicher der Steuerung eingetragen und entspre chend archiviert Zur ckgesetzt gel scht werden die Meldungen durch Quittieren am Handbedienger t oder Quittieren ber eine externe Steuerung Abbildung des Meldespeichers am Handbedienger t Time St Description 13 07 07 10 10 09 BY mmmnnennenennennenennene System ready 13 07 07 10 10 09 PP Robot cartesian TRcuRo
11. 18 5 6 Steigende Flanke Methode RisingEdge Mit der Methode RisingEdge kann abgefragt werden ob es am Ausgang eine steigende Flanke gab die gespeichert wurde Der R ckgabewert ist auch dann TRUE wenn der Aus gang inzwischen den Zustand FALSE besitzt Der Zustand der Flanke wird unabh ngig vom Zyklus des FTL Programms ermittelt und l uft in einem eigenen Zyklus ab Syntax gt Instanzname RisingEdge OPT ovlEnable BOOL BOOL Festo GDCP CMXR SW DE de 0909a 167 18 Bausteine Beschreibung des Parameters ovlEnable siehe Kapitel 18 3 1 auf Seite 158 Beispiel value cylinder RisingEdge 18 5 7 Flanke r cksetzen ResetRisingEdge Diese Methode setzt den internen Merker der steigenden Flanke zur ck Dies ist dann er forderlich wenn mit der Methode RisingEdge eine steigende Flanke abgepr ft werden soll Syntax gt lt Instanzname ResetRisingEdge Hinweis gt Ist der Wert des digitalen Ausgangs zum Zeitpunkt der Ausf hrung dieses Befehls gesetzt so wird der Flankenerkennungszustand zu r ckgesetzt und nicht neuerlich gesetzt Erst nachdem abermals eine positive Flanke Zustands nderung des Ausgangs von 0 auf 1 auf dem Ausgang aufgetreten ist wird der Flankenerkennungszu stand wieder gesetzt Beispiel cylinder ResetRisingEdge value cylinder RisingEgde 18 5 8 Setzen und r cksetzen Methode Set Reset Mit den Methoden Set wird ein Ausgang gesetzt Zustand TRUE und mit Reset
12. Ausgangsdaten eines Bausteins sind in FTLin einem Datentyp hinter legt Um nun einen Baustein in der Applikation zu ben tzen muss dieser deklariert wer den Bei einem Baustein spricht man von einer Instanzierung Dabei wird unter dem frei w hlbaren Bausteinnamen Bezeichner eine Kopie der Bausteinh lle angelegt Die Bau steinh lle umfasst dabei die Ein und Ausgangsdaten sowie interne Programmdaten Der eigentliche Programmcode existiert nur einmal Betriebssystem FTL Programm Bausteintyp Analogwert 3 Deklaration einer Bausteininstanz Instanzname lt Instanztyp gt Parameter 156 Festo GDCP CMXR SW DE de 0909a 18 Bausteine Gleich wie Variablen werden die Instanzen in der zugeh rigen Datendatei abgespeichert Beispiel einer Instanz Sensor AIN Je nach Bausteintyp werden diesem bei der Deklaration Daten mitgegeben z B der Name eines Hardwaresignals Die Dokumentation der Bausteine ist den folgenden Kapiteln zu entnehmen 18 1 Funktionen Um auf Daten eines Bausteines zuzugreifen oder Funktionalit ten in Anspruch zu nehmen werden Bausteinfunktionen angeboten Der Zugriff auf die Funktionen des Bausteins er folgt ber den Instanznamen und den Punkt Operator 3 Zugriff auf Bausteinfunktionen lt Instanzname gt lt Funktionsname gt Im Beispiel wird auf die Bausteinfunktion Read der Instanz Sensor zugegriffen merker Sensor Read Bei manchen Funktionen k nnen Parameter
13. Der Override ist sehr hilfreich bei Inbetriebnahmen Im Automatikbetrieb sollte dieser je doch auf 100 stehen damit die volle Dynamik gen tzt werden kann Entsprechende Dynamikanpassungen sind direkt mit den Befehlen f r Geschwindigkeit und Beschleuni gung vorzunehmen Mit dem Befehl Ovr kann ein Overridewert direkt im Programm gesetzt werden Dies hat dieselbe Auswirkung wie eine nderung ber die Tasten am Handbedienger t 94 Festo GDCP CMXR SW DE de 0909a 10 Dynamikbefehle 3 Syntax Ovr lt Value gt REAL Parameter Bedeutung Einheit Tabelle 10 7 Parameter Befehl Ovr Hinweis Um die volle Dynamik der Kinematik zu n tzen sollte im Automa tikbetrieb der Override stets auf 100 stehen Dynamikanpassun gen sind ber die entsprechenden Befehle direkt vorzunehmen Wirkungsweise Wird der Override am Handbedienger t ge ndert so wirkt sich dieser sofort auf die Bewe gung aus Bedingt durch die Vorausberechnung des Programms kann eine sofortige nde rung des Override ber das Makro Ovr nicht ausgef hrt werden Das Verwenden von Ovr h lt deshalb die Vorausberechnung an dies f hrt zu einen Stop auf der Bahn Ein ber schleifen auf das n chste Bahnsegment ist nicht m glich Beispiel setzen des Override auf 100 Ovr 100 Lin pos1l Lin pos2 setzen des Override auf 60 Ovr 60 Lin pos3 Lin pos4 Festo GDCP CMXR SW DE de 0909a 95 10 Dynamikbefehle Bahngeschwi
14. Hinweis gt Ist der Wert des digitalen Eingangs zum Zeitpunkt der Ausf hrung dieses Befehls gesetzt so wird der Flankenerkennungszustand zu r ckgesetzt und nicht neuerlich gesetzt Erst nachdem abermals eine positive Flanke Zustands nderung des Eingangs von 0 auf 1 auf dem Eingang aufgetreten ist wird der Flankenerkennungszu stand wieder gesetzt Beispiel sensor ResetRisingEdge value sensor RisingEgde 18 5 Digitaler Ausgangsbaustein DOUT Der Baustein DOUT dient zur Abfrage und Verwaltung eines digitalen Ausganges 18 5 1 Instanzierung Zur Instanzierung des digitalen Ausgangsbausteins wird der Hardwarebezug zum digitalen Ausgang ben tigt Dieser wird ber den Parameter lt output gt bei der Instanzierung angege ben Syntax gt lt Instanzname gt DOUT Timeout DINT lt RisingEdge gt BOOL MAPX output Festo GDCP CMXR SW DE de 0909a 163 18 Bausteine Es k nnen weitere Parameter angegeben werden um z B Voreinstellungen zu treffen Dies ist jedoch zur Instanzierung nicht notwendig und kann im Programm erfolgen Beispiel Ein Zylinder wird als Bausteininstanz angelegt Instanzierung in der Datendatei cylinder DOUT gt 1 PALSE MAPX _system Output3 Instanzierung mit dem FTL Editor Die Instantiierung erfolgt im Dialog zum Anlagen von Variablen durch Auswahl des lt Typ gt DOUT und Eingabe des lt Bezeichner gt Cylinder In der Zeile lt MAPTO DOUTPORT gt
15. POSITION Die aktuell programmierte Zielposition des Roboters wird in die bergebene Variable ge schrieben Ist die bergebene Variable vom Typ CARTPOS wird die Position als kartesi scher Wert abgelegt Wird eine Variable vom Typ AXISPOS bergeben erfolgt die Positi onsspeicherung in Achskoordinaten Parameter Bedeutung Einheit Zielvariable der gelesenen Position AXISPOS oder CARTPOS Tabelle 17 2 Parameter Befehl ReadTargetPos Vorsicht 0 Ein Positionswert der in einer Variablen gespeichert wurde bleibt nur solange erhalten wie das Programm bzw das Projekt geladen ist Es erfolgt kein Sichern der Werte in die Datendatei auf der Spei cherkarte Nach dem Abw hlen des Programms Projektes sind die Werte verloren Zum Sichern der Position kann das Makro SavePosition verwendet werden Festo GDCP CMXR SW DE de 0909a 143 17 Funktionen 17 3 Positionswert dauerhaft speichern lt SavePosition gt Das Makro speichert einen Positionswert dauerhaft auf der Speicherkarte ech Syntax SavePosition Pos gt POSITION Mit dem Makro SavePosition erfolgt ein Sichern der Werte aus der angegebenen Variable lt Pos gt in die Datendatei auf der Speicherkarte Die Position kann somit bei einem Neustart der Steuerung wiederhergestellt werden Parameter Bedeutung Einheit zu speichernde Position AXISPOS oder CARTPOS Tabelle 17 3 Parameter Befehl SavePosition Vorsicht Ein h ufiges Zur ckschreiben von Positione
16. Syntax gt lt Instanzname WaitLss value REAL OPT ovlEnable BOOL lt Instanzname WaitGrt value REAL OPT ovlEnable BOOL Beschreibung des Parameters ovlEnable siehe Kapitel 18 3 1 auf Seite 158 Parameter Typ Bedeutung Tabelle 18 8 Parameter Methoden WaitLss WaitGrt Beispiel Lin posl temperature WaitLss 65 0 TRUE Lin pos2 Festo GDCP CMXR SW DE de 0909a 173 18 Bausteine 18 6 5 Warten bis Wert im aus Bereich Methode Waitlns WaitOuts Mit den Methoden WaitIns und WaitOuts kann gewartet werden bis sich der analoge Eingangswert innerhalb oder au erhalb des angegebenen Wertebereiches befindet Der Parameter Timeout des Bausteins wird dabei ber cksichtigt Syntax gt lt Instanzname Waitlns minValue REAL maxValue REAL OPT ovlEnable BOOL Instanzname WaitOuts minValue REAL maxValue REAL OPT ovlEnable BOOL Beschreibung des Parameters ovlEnable siehe Kapitel 18 3 1 auf Seite 158 Parameter Typ Bedeutung minValue REAL Unterer Grenzwert maxValue REAL Oberer Grenzwert Tabelle 18 9 Parameter Methoden Waitlns WaitOuts Beispiel Lin posl warten bis Temperatur innerhalb der Grenzen temperature WaitIns 50 0 55 0 TRUE Lin pos2 18 6 6 Abfragen des Wertes Methode Read Die Methode Read liest den aktuellen Wert des analogen Einganges ein Syntax gt lt Instanzname gt Read OPT ovlEnable Beschreibung des Parameters ovlEnable siehe Kapitel
17. ber Greifposition Bewegungsablauf Bahngeschwindigkeit Wartezeit 70 msec Zeit pos1 pos1 pos2 Festo GDCP CMXR SW DE de 0909a 55 8 Programmsteuerung 8 9 2 WAIT Anweisung mit Bedingung lt WAIT gt Die WAIT Anweisung mit Bedingung erm glicht das Abfragen von bin ren Zust nden Die ser Zustand kann in Form einer einzelnen booleschen Variable einer Kombination aus mehreren oder einer Abfrage bestehen Die Bearbeitung der WAIT Anweisung erfolgt im Satzvorlauf d h in der Vorausberechnung der CMXR Steuerung Ist die Bedingung nicht erf llt so wird der Satzvorlauf Vorausbe rechnung solange gestoppt bis die Bedingung der WAIT Anweisung erf llt ist Lin pos6 Lin pos7 Satzvorlauf Lin pos8 Lin pos6 Lin pos7 Satzhauptlauf Lin pos1 Satzhauptlauf Lin pos1 Lin pos2 Lin pos2 Lin pos3 Lin pos3 Lin pos4 Lin pos4 Lin pos5 Y Lin pos5 Wait sensor Satzvorlauf Wait sensor v Lin pos8 Lin pos9 Lin pos9 Bedingung f r WAIT erf llt Satzvorlauf Bedingung f r WAIT nicht erf llt Satz wird weiter berechnet vorlauf bleibt stehen bis Bedingung erf llt ist Ist die zeitliche Verz gerung so gro dass sogar der Hauptlauf des Bewegungsprogramms die WAIT Anweisung erreicht so wird auch dieser gestoppt was zu einem Stillstand der Bewegung f hrt Die Abarbeitung und Vorausberechnung wird erst fortgesetzt wenn die Bedingung der WAIT Anweisung erf llt i
18. bergeben Variablen Festo GDCP CMXR SW DE de 0909a 85 9 Bewegungsbefehle startPoe CARTPOS gt 950 500 0 0 9 0 0 0y 0 IpPos CARTPOS 1050 200 0 Op 0y 0 U 0p 0 EndPos CARTPOS gt 950 300 O Be 0 Oy RD I 0 Posl CARTPOS 455 300 0 0 0 0 0 De 0 Programm Lin Anfahren kartesische Kreisbewegung LinTocirelp StartPos IpPos EndPos Lin Posl Abfahren 9 8 Stoppen der Bewegung lt StopMove gt Mit dem Befehl StopMove wird die Kinematik gestoppt und alle bereits berechneten Bahndaten werden verworfen Der Befehl wirkt sich im Satzvorlauf aus Das Stoppen der Kinematik erfolgt mit der maximalen Bremsrampe die f r das Stoppen der Kinematik definiert ist Reduktionen der Dynamik durch einen Override wirken sich beim Stoppen nicht aus 3 Syntax StopMove Eine Anwendung f r diesen Stopp ist z B das Fahren auf ein Hindernis das mit einem Sensor erkannt wird Nach dem Erkennen des Zustandes wird ber den Befehl StopMove die Bewegung gestoppt In Kapitel 20 1 Stoppen von Bewegungen auf Seite 194 ist ein Beispiel mit Verwendung des StopMove Befehls beschrieben 86 Festo GDCP CMXR SW DE de 0909a 9 Bewegungsbefehle 9 9 Stoppen des Programms lt StopProgram gt Der Befehl StopProgram h lt das Programm an das Programm geht es den Zustand ge stoppt Er entspricht der Stopp Taste auf dem Handbedienger t Eine Weiterf hrung kann nur durch einen erneut
19. inPos90Degree Wait TRUE Lin pos4 outGripperClose Reset outGripperOpen Set inGripperOpen Wait Lin pos3 Festo GDCP CMXR SW DE de 0909a Ti warten 90 Grad mit Ueberschleifen Ablageposition Greifer auf warten bis Greifer offen 207 20 Beispiele Funktionsweise e Mit integrierten Sensoren sind f r die R ckmeldungen der Greif und Drehbewe gungen keine Wartezeiten notwendig e Die Abfrage der Drehbewegung auf 90 Grad wird mit der M glichkeit des ber schleifens ausgef hrt Dies bedeutet wenn die R ckmeldung der Drehung auf 90 Grad beim Fahren auf pos4 nicht vorhanden ist wird die Bewegung gestoppt und gewartet bis die R ckmeldung ansteht Liegt die R ckmeldung bereits an so wird direkt eine berschleifbewegung auf pos4 ausgef hrt Bewegungsprofil Die R ckmeldung der Drehbewegung auf 90 Grad wird vor dem Erreichen der Position pos3 erkannt Es wird eine berschleifbewegung auf pos4 ausgef hrt pos1 pos3 L ee es berschleifbereich MA iM pos2 pos4 Die R ckmeldung der Drehbewegung auf 90 Grad ist vor dem Erreichen der Position pos nicht eingetroffen Es wird an der Position pos3 auf die R ckmeldung gewertet und keine berschleifbewegung auf pos4 ausgef hrt pos1 pos3 See berschleifbereich pos2 pos4 208 Festo GDCP CMXR SW DE de 0909a 20 Beispiele Zeitliches Verhalten R ckmeldung der Drehung auf 90 Grad ist vor dem Erreichen der Position
20. COS Winkel Verwendung Die Cosinus Funktion dient zur Berechnung von unbekannten Strecken in einem rechtwink ligen Dreieck Ist der Winkel bekannt und entweder die Ankathete oder die Hypotenuse so l sst sich die unbekannte Strecke berechnen Soll jedoch der Winkel berechnet werden so stellt die CMXR die Funktion des Arcus Cosi nus bereit Diese Funktion berechnet aus der Ankathete und der Hypotenuse den einge schlossenen Winkel z B Alpha Festo GDCP CMXR SW DE de 0909a 147 17 Funktionen Syntax Winkel in Grad REAL ACOS Cosinuswert gt Die R ckgabe des Winkels erfolgt in Grad Beispiel b alpha value alpha 148 30 23 5 b COS alpha 45 89 145 67 Ze ACOS value 2 Ankathete winkel Alpha Berechnung der Hypotenuse Ankathete Hypotenuse Berechnung des Winkels Festo GDCP CMXR SW DE de 0909a 17 Funktionen 17 8 Tangens lt TAN lt ATAN gt Die Tangens Funktion stellt den mathematischen Zusammenhang zwischen einem Winkel und den Seiten in einem rechtwinkligen Dreieck her F r Tangens gilt tan alpha Gegenkathete Ankathete b tan alpha a b Die Angabe des Winkels erfolgt in der Einheit Grad Syntax gt Tangenswert REAL TAN lt Winkeb Verwendung Die Tangens Funktion dient zur Berechung von unbekannten Stecken in einem rechtwink ligen Dreieck Ist der Winkel bekannt und auch entweder die Ankathete o
21. Diese Nummerierung hat bereits in der Konfiguration der Kinematik achsen stattgefunden Analog zu dieser Nummerierung erfolgt bei der Positionsangabe des Datentyps AXISPOS die Zuordnung zu den einzelnen Achsen Beispiel Kartesisches Raumportal mit 3 Linearachsen und einer Rotationsachse Drehen des Grei fers In der Konfiguration erfolgte folgende Festlegung Achse 1 X Achse Achse 2 Y Achse Achse 3 Z Achse Achse 4 Drehachse Greifer Achse 5 bis 6 sind nicht vorhanden keine Hilfsachsen Analog zu dieser Nummerierung erfolgt die Zuordnung im Datentyp Axispos al REAL Position Achse 1 X Achse a2 REAL Position Achse 2 Y Achse a3 REAL Position Achse 3 Z Achse a4 REAL Position Achse 4 Drehachse Greifer a5 REAL Position Achse 5 nicht vorhanden a6 REAL Position Achse 6 nicht vorhanden a7 REAL Position Hilfsachse 1 nicht vorhanden a8 REAL Position Hilfsachse 2 nicht vorhanden a9 REAL Position Hilfsachse 3 nicht vorhanden Festo GDCP CMXR SW DE de 0909a 65 9 Bewegungsbefehle 9 1 2 Kartesische Position Im Gegensatz zur Achsposition des Datentyps AXISPOS beschreibt der kartesische Positi onstyp CARTPOS eine Position in einem kartesischen Koordinatensystem Ein K rper besitzt maximal 6 Freiheitsgrade Mit Hilfe dieser Werte kann man die Position und Orientierung des K rpers im Raum bestimmen Diese 6 Freiheitsgrade werden mit 6 Angaben im Datentyp CARTPOS beschriebe
22. Festo GDCP CMXR SW DE de 0909a 199 20 Beispiele 20 4 1 Vakuumgreifer Vakuumgreifer sind Greifertypen mit denen sehr schnelle Greifzyklen ausgef hrt werden k nnen Sie ben tigen ein Vakuum dass z B durch eine Venturid se erzeugt werden kann Bei der Aufnahme des Werkst ckes muss das Vakuum anstehen Wird das Werkst ck ab gelegt muss neben dem Ausschalten des Vakuums ein Abblasimpuls ausgef hrt werden um das im Greifer aufgebaute Vakuum zu beseitigen Vakuumerzeuger wie der VN H A f hren nach dem Abschalten des Vakuums den Abblasimpuls automatisch aus Bei ande ren Typen muss dieser Abblasimpuls durch ein zus tzliches digitales Signal angesteuert werden Vakuumerzeuger VN H A mit einge Vakuumgreifer ESG bautem Ablassimpuls Beispiel Ein Werkst ck soll von einer Position pos2 auf die Position pos4 umgesetzt werden pos1 pos3 MA WW pos2 pos4 Als Vakuumerzeuger wird eine Venturid se eingesetzt Dieser wird ber einen digitalen Ausgang der CMXR angesteuert Dazu wird ein digitaler Ausgangsbaustein angelegt 200 Festo GDCP CMXR SW DE de 0909a 20 Beispiele Variablen vacuum DOUT Programm Vel dynCart 1500 Acc dynCart 5000 OvlVel 75 Lin posl vacuum Set Lin pos2 WaitTime 10 Lin posl Lin pos3 Lin pos4 vacuum Reset WaitTime 20 Lin pos3 Funktionsweise ff d ei L digitaler Ausgangsbau
23. MAPTO ADUTPORT Avout_1_0 DI Festo GDCP CMXR SW DE de 0909a 175 18 Bausteine Instanzierung mit dem Handbedienger t Die Instanzierung des analogen Ausgangsbausteins mit dem Handbedienger t erfolgt in der Variablenmaske durch Auswahl des Datentyps AOUT Name quantity AOUT Type Mit der Instanzierung am Handbedienger t wird der Eintrag im Datenfile automatisch ge speichert 2 S z N A 18 7 2 Variable Der analoge Ausgangsbaustein besitzt folgende Variablen Variable Typ Bedeutung Zustand beim Anlegen Timeout REAL Timeout zum Warten bei den Befehlen WaitLss WaitGrt 1 Waitlns und Waitouts 1 kein Timeout unendlich warten 0 sofortige berpr fung gt 0 Timeout in Millisekunden Output AOUTPORT Verweis auf den Hardwareausgang Tabelle 18 10 Variablen analoger Ausgangsbaustein Timeout Mit dem Parameter Timeout kann eine Wartezeit definiert werden Die Methode des Bau steins wartet die eingestellte Zeit auf den angeforderten Signalzustand e Steht der Wert auf 1 so erfolgt ein unendliches Warten e Wird ein Wert gt O angegeben so wird max diese Zeit abgewartet Ist die Wartezeit abgelaufen ohne dass der gew nschte Signalzustand eingetreten ist wird der Pro sgrammablauf fortgesetzt Eine Fehlermeldung muss vom Ablaufprogramm selbst erzeugt werden e Wird als Wert O angegeben so erfolgt eine sofortige Pr fung Falls das Signal nicht den gew nsc
24. Mit der Trapez Rampe k nnen die schnellsten Ausf hrungszei ten der Bahn realisiert werden Mit einem optionalen Parameter l sst sich die Rampenform beeinflussen Dieser darf den Wert gt 0 und lt 0 5 besitzen Bei einem Wert von 0 5 ergibt sich ein Beschleunigungsdrei eck bei einem Wert z B 0 1 n hert sich die Rampenform einem Rechteckprofil Beschleuni sung Zeit Trapezrampenform Trapezrampenform bei Faktor ca 0 1 bei Faktor 0 5 Wird der optionale Parameter nicht angegeben wird er automatisch auf den Faktor 0 5 gestellt Daraus ergibt sich das Beschleunigungsdreieck Festo GDCP CMXR SW DE de 0909a 97 10 Dynamikbefehle Sinus Rampe Die Sinus Rampe hat den Vorteil dass nicht nur die Beschleunigung sondern auch der Ruck sinusf rmig verl uft Dies bewirkt einen weicheren Beschleunigungsverlauf als die Trapez Rampe Jedoch ist die Ausf hrungszeit zur Geschwindigkeitserreichung etwas h her Sinus Quadrat Rampe Die Sinus Quadrat Rampe hat den weichsten Bahnverlauf bewirkt aber auch die l ngste Ausf hrungszeit beim Fahren der Bahn MinimumjJerk Rampe Die Minimumjerk Rampe ist eine spezielle Rampenform die einen Kompromiss zwischen Ausf hrungszeit und Weichheit der Bewegung darstellt Der Beschleunigungsverlauf h nelt einem Sinusprofil der Ruckverlauf ist jedoch nicht sinusf rmig sondern s gezahnar tig Dies bewirkt eine weiche Bewegung bei doch schneller Ausf hrungszeit Hinweis 2 Die Verwe
25. Programm SetRefSys3P refsys3p0 Festo GDCP CMXR SW DE de 0909a 113 12 Referenzsysteme Nullpunktverschiebung 12 5 Referenzsystem Welt lt SetRefSysWorld gt Mit diesem Befehl wird das Referenzsystem Welt aktiviert dessen Ursprung in der Kinematikkonfiguration hinterlegt ist 3 Syntax SetRefSysWorld Wurde ein Referenzsystem mit dem Befehl SetRefSys oder SetRefsys3P gesetzt d h akti viert und man m chte an bestimmter Programmstelle diese Referenzsysteme deaktivieren so wird daf r der Befehl SetRefSysWorld verwendet 12 6 Beispiel Im folgenden Beispiel m ssen 2 Paletten entleert und die Teile einer Maschine zugef hrt werden Sensor zum Erken nen ob Platz frei 2 Zuf hrung Maschine Palette 1 Palette 2 e o 0 e o KR eo uu e o KR KR R KR 300 F A 300 1500 Beide Paletten besitzen den gleichen Inhalt und die gleichen Abma e Um hier den Pro grammieraufwand gering zu halten wird f r jede Palette ein eigenes Referenzsystem ge setzt und das Programm der Palette in einem Unterprogramm verfasst F r das Referenzsystem der Palette 1 wird die Variable RefPali und f r Palette 2 RefPal2 verwendet Daten refPall REFSYSDATA MAPXL systen world 0 0 0 0 0 0 114 Festo GDCP CMXR SW DE de 0909a 12 Referenzsysteme Nullpunktverschiebung refPal2 z REFSYSDATA MAPX systen world 0 0 0
26. PtpTocirelp StartPos IpPos EndPos Lin Posl Abfahren 84 Festo GDCP CMXR SW DE de 0909a 9 Bewegungsbefehle 9 7 5 Zirkularbefehl mit St tzpunkt Lin Anfahrt lt LinToCirclp gt Wie der Befehl PtpToCirclp beinhaltet der Befehl LinToCirclp den Startpunkt der Kreis bahn Die Anfahrt der Kreisbahn erfolgt nun kartesisch Dies bedeutet dass die Bewegung auf den Startpunkt und die Kreisbahn im Falle des berschleifens geometrisch erfolgen kann Eine konstante Bahngeschwindigkeit ist ebenso m glich Syntax gt LinToCirclp StartPos gt AXISPOS oder CARTPOS lt IpPos gt AXISPOS oder CARTPOS Pos AXISPOS oder CARTPOS Parameter Bedeutung Einheit StartPos Startpunkt des Kreisbogens AXISPOS oder CARTPOS IpPos St tzpunkt des Kreisbogens AXISPOS oder CARTPOS Pos Endpunkt des Kreisbogens AXISPOS oder CARTPOS Tabelle 9 9 Parameter Befehl LinToCircIP Die Positionsangaben k nnen kartesisch oder bezogen auf jede einzelne Achse sein Die CMXR Mehrachssteuerung transformiert die Positionen entsprechend Beispiel Mit einer Kinematik soll folgende Kontur abgefahren werden Y Achse is Startoosition StartPos E E St tzpunkt IpPos EE EE get 00 F O oL i Gd Endpunkt EndPos Position Bos X Achse 455 950 1050 Die Ebene f r die Z Achse betr gt 0 Der Startpunkt des Kreisbogens wird mit einer Linear bewegung angefahren Der Startpunkt wird dem Befehl LinToCirc
27. Zur Bewe gung werden die gerade aktiven Dynamikwerte verwendet z B Geschwindigkeit und Be schleunigung Die effektive Dynamik ergibt sich aus Kombination der Dynamiken aller be teiligten Achsen Die langsamste Achse bestimmt die Dynamik Die Bewegung des TCP ergibt sich in diesem Fall aus der Kombination der Einzelachsbewegung Die Bewegung am TCP ist undefiniert Festo GDCP CMXR SW DE de 0909a 67 9 Bewegungsbefehle Vorsicht Goal e Dabei einer PTP Bewegung keine Bahn eingehalten wird son dern nur die Achsen auf das Ziel interpoliert werden kann es zu nicht einsch tzbaren Beschleunigungen und Geschwindigkeiten am Werkzeug TCP kommen Die Bewegungen sind daher auf Verlust oder Besch digung von Werkst ck und oder Werkzeug zu pr fen e Aufgrund der Achsinterpolation k nnen bei einer PTP Bewegung keine Werkzeugdaten ber cksichtigt werden Des halb ist stets auf die eingesetzten Werkzeuge zu achten und diese vor Besch digungen zu sch tzen e Um die Kollisionsgefahr zu minimieren sollten alle PTP Bewegungen mit einer reduzierten Geschwindigkeit getestet werden Z B kann dazu der Override verwendet werden Syntax gt Ptp lt Pos gt AXISPOS oder CARTPOS Parameter Bedeutung Einheit Seechen KISPOS oder CARTPOS Tabelle 9 1 Parameter Befehl PTP Die Positionsangabe kann kartesisch oder im Achskoordinatensystem bezogen auf jede einzelne Achse sein Die CMXR Mehrachssteuerung transformiert die Position
28. in L ngen oder Winkeleinheiten angegeben Beim geometrischen berschleifen wird zwischen einem berschleifen der kartesischen Achsen X Y und Z sowie der Orientierungsachsen unterschieden Hinweis gt Das geometrische berschleifen kann nur bei kartesischen Bewe gungen benutzt werden PTP Bewegungen sind mit dieser Art des Uberschleifens nicht m glich Es eignet sich nicht zum Verrunden von Ecken da die geometrische Form im berschleifbereich kein Radius sondern eine Polynomkurve ist Ein Radius ist zum berschleifen ungeeignet da dies einen sprunghaften Anstieg der Beschleunigung zur Folge hat 11 4 1 berschleifen der Achsen X Y und Z lt OvICart gt Das berschleifen von kartesischen Bewegungen mit einer geometrischen Bestimmung wird durch die Angabe eines Abstandes des TCP auf der Bahn bis zum Zielpunkt angege ben d H I AN ah Kugel mit ber H ww schleifbereich Die berschleifbewegung wird beim Eintritt in die Kugel gestartet und an dem Punkt an dem die Kugel das n chste Bahnst ck schneidet beendet Diese Kurve verl uft tangential zu den 2 betroffenen Bahnst cken Die Grenze des berschleifbereiches bildet die H lfte des k rzesten der beteiligten Bahnsegmente Die Bahn im berschleifbereich ist kein Radius sondern ein Polynom 5 Ordnung Dieses Polynom erzeugt den maximal m glichen weichen Bahnverlauf was mit einem Kreisbogen nicht m glich ist 3 Syntax OvlCart Distance REA
29. jektstruktur bietet die M glichkeit Daten bersichtlich abzulegen und den Zugriff auf die Daten zu beschr nken Eine Datendatei wird durch die Datei Erweiterung tid gekenn zeichnet und ist wie die Programmdatei textbasierend Im System sind m glich e programmlokale Daten innerhalb der einzelnen Programme e projektglobale Daten f r jedes Projekt und e systemglobale Daten f r alle Projekte Durch diese Aufteilung kann ausgew hlt werden wer auf die Daten Zugriff hat Die Kom munikation zwischen Programmen bzw Projekten l sst sich so ebenfalls steuern Mit pro jektglobalen Daten kann zwischen Programmen mit systemglobalen Daten zwischen Pro jekten kommuniziert werden 3 8 1 Programmlokale Daten Programmlokale Daten sind nur innerhalb des Programms bekannt Andere Programme oder Projekte haben keinen Zugriff auf diese Daten Hinweis Programmlokale Daten sind nur innerhalb des zugeordneten Pro gramms bekannt und g ltig Andere Programme und Projekte ha ben darauf keinen Zugriff Die folgende Abbildung zeigt die Programme Fill und Sort Jedes dieser Programme besitzt lokale Daten und Programmdaten die in den jeweiligen Dateien abgelegt sind Programm Fill Programm Sort Datei Fill tid lokale Daten Datei Sort tid lokale Daten Programm Programm PEENE Lin Pos 1 It Lin Pos 10 Datei Fill tip Lin Pos 2 Datei Sort tip Lin Pos 11 Lin Pos 3 Lin Pos 12 Lin Pos 4 Lin Pos 13
30. wird der reale Bezug zu einen konfigurierten Digitalen Ausgang hergestellt Yariable editor E Variable properties Identifier Cylinder varl Type DOUT DI Visibilty PROJECT v Comment Initialization Identifier Type Value El Cylinder SIS z timeout MSEC ji RisingE dgeLocal BOOL FALSE v Output MAPTO DOUTPORT DOut_0_7 be Instanzierung mit dem Handbedienger t Die Instanzierung des digitalen Ausgangsbausteins mit dem Handbedienger t erfolgt in der Variablenmaske durch Auswahl des Datentyps DOUT me ber S Mit der Instanzierung am Handbedienger t wird der Eintrag im Datenfile automatisch ge speichert 164 Festo GDCP CMXR SW DE de 0909a 18 Bausteine 18 5 2 Variable Der digitale Ausgangsbaustein besitzt folgende Variablen Variable Typ Bedeutung Zustand beim Anlegen EE EE Timeout REAL Timeout zum Warten bei den Befehlen Wait und WaitN 1 1 kein Timeout unendlich warten 0 sofortige berpr fung gt 0 Timeout in Millisekunden RisingEdge BOOL Zustand der steigenden Flanke FALSE Output DOUTPORT Verweis auf den Hardwareausgang Tabelle 18 3 Variablen digitaler Ausgangsbaustein Timeout Mit dem Parameter Timeout kann eine Wartezeit definiert werden Die Methode des Bau steins wartet die eingestellte Zeit auf den angeforderten Signalzustand e Steht der Wert auf 1 so erfolgt ein unendliches Warten e Wird ein Wert gt O angegebe
31. 0 0 0 posl CARTPOS 100 80 70 0 0 0 O 0 0 Programm refPall x 300 Verschiebung Palette in X refPall y 300 Verschiebung Palette 1 in Y refPal2 x 1500 Verschiebung Palette 2 in X refPal2 y 300 Verschiebung Palette 2 in Y Lin posl fahren auf Sicherheit im Welt System SetRefSys refPall Verschiebung Palette 1 aktivieren CALL Feed Aufruf Unterprogramm Teile zuf hren SetRefSys refPal2 Verschiebung Palette 2 aktivieren CALL Feed Aufruf Unterprogramm Teile zuf hren SetRefSysWorld aktiviere Welt System Lin posl Festo GDCP CMXR SW DE de 0909a 115 13 Referenzieren einer Kinematik 13 Referenzieren einer Kinematik 13 1 Referenzfahrt lt RefAxis gt Der Befehl RefAxis erm glicht das Referenzieren von Achsen Die Referenzfahrt wird dabei immer mit einer einzelnen Achse ausgef hrt Syntax gt RefAxiskaxis gt AXIS OPT lt refDatar REFDATA OPT lt timeout gt REAL Parameter Bedeutung Einheit Axis Ausgew hlte Achse die referenziert wird Enumeration A1 A2 bis A9 refData Datensatz der Referenzfahrt z B wie referenziert wird keine timeout Zeit f r den Ablauf der Operation danach kommt eine Fehler Sekunden meldung die Referenzierung wird abgebrochen Tabelle 13 1 Parameter Befehl RefAxis Bei der Durchf hrung der Referenzfahrt ist darauf zu achten dass die beteiligten Achsen freie Fahrt in ihren Bewegungen haben Di
32. 18 3 1 auf Seite 158 174 Festo GDCP CMXR SW DE de 0909a 18 Bausteine Beispiel Lin posl lesen der Temperatur ohne Stopp auf der Bahn value temperature Read TRUE Lin pos2 18 7 _ Analoger Ausgangsbaustein AOUT Der Baustein AOUT dient zur Abfrage und Verwaltung eines analogen Ausganges 18 7 1 Instanzierung Zur Instanzierung des analogen Ausgangsbausteins wird der Hardwarebezug zum analo gen Ausgang ben tigt Dieser wird ber den Parameter lt port gt bei der Instanzierung ange geben Syntax lt Instanzname AOUT lt Timeout gt DINT MAPX lt port gt Es k nnen weitere Parameter angegeben werden um z B Voreinstellungen zu treffen Dies ist jedoch zur Instanzierung nicht notwendig und kann im Programm erfolgen Beispiel Eine Mengenvorgabe wird als Bausteininstanz angelegt Instanzierung in der Datendatei quantity AOUT 1 MAPX _system SetValue Instanzierung mit dem FTL Editor Die Instanzierung erfolgt im Dialog zum Anlagen von Variablen durch Auswahl des lt Typ gt AOUT und Eingabe des lt Bezeichner gt aoutQuantity In der Zeile lt MAPTO AOUTPORT gt wird der reale Bezug zu einen konfigurierten Analogen Ausgang hergestellt variable editor x Variable properties Identifier zout uantity Varl Type aouT DI Yisibility PROJECT DI Comment Initialization Identifier Type Value aoutQ uantity ADUT LI MAPX _system timeout MSEC 1 port
33. 8 Programmsteuerung Lin pos3 fahre ber Ablage Ist kein Werkst ck in der Ablage so wartet das Handhabungssystem ber dem Werkst ck die Bewegung ist gestoppt Meldet der Sensor Werkst ck vorhanden so wird das Pro gramm fortgesetzt Ist beim Anfahren bereits ein Werkst ck vorhanden so f hrt das Hand habungssystem sofort auf das Werkst ck ohne dass die Bewegung unterbrochen wird 8 9 3 WaitOnPath Anweisung mit Zeit lt WaitOnPath gt Das Makro WaitOnPath erzeugt eine Wartezeit die sich nur auf die Bewegung auswirkt Diese Wartezeit wird direkt in die Bahnplanung mit aufgenommen und die Achsen mit der programmierten Dynamik abgebremst Nach dem Ablauf der Zeit wird die folgende Bahn fortgesetzt Der Satzvorlauf des FTL Programms wird dabei nicht angehalten Hinweis gt Das Makro WaitOnPath eignet sich nicht um Anweisungen wie z B das Schalten eines Ausganges oder beschreiben einer Variable mit dem Programmhauptlauf zu synchronisieren gt Syntax WaitOnPath lt timeMS gt DINT Parameter Bedeutung Einheit Tabelle 8 1 Parameter Befehl WaitOnPath Beispiel Mit einem Stempel wird eine Markierung auf ein Werkst ck gedr ckt Nach dem Erreichen der Druckposition muss zur Farb bertragung eine Wartezeit von 150msec ausgef hrt werden Der Satzvorlauf darf jedoch nicht angehalten werden Lin posl fahre auf Sicherheit Lin printPos fahre auf Druckposition WaitOnPath 150 warte 150 m
34. Arrayvariable Den Funktionen LOW und HIGH wird eine Arrayvariable bergeben Sollen die Grenzen eines eindimensionalen Arrays ermittelt werden so wird nur der Arraynamen bergeben Bei mehrdimensionalen Arrays muss immer die Dimension angegeben werden von der die Grenzen ausgegeben werden sollen Matrix ARRAY 5 19 10 34 OF REAL Die Arraybereichsgrenzen des Array sind e Erste Dimension O bis 4 o Aufruf von LOW ergibt O 34 Festo GDCP CMXR SW DE de 0909a 5 Grunddatentypen o Aufruf von HIGH ergibt 4 e Zweite Dimension O bis 18 o Aufruf von LOW ergibt O o Aufruf von HIGH ergibt 18 e Dritte Dimension 10 bis 34 o Aufruf von LOW ergibt 10 o Aufruf von HIGH ergibt 34 Beispiele Matrixl Matrix2 Index Index Index Index Index Index Index Index Index Index Index Index Index Hinweis Wird LOW oder HIGH eine Variable bergaben die kein Array ist so wird eine Fehlermeldung ausgegeben ARRAY 1 4 OF DINT ARRAY 3 8 OF DINT DINT hat Wert 1 LOW Matrix1l hat Wert 4 HIGH Matrixl hat Wert 0 LOW Matrix2 hat Wert 2 HIGH Matrix2 hat Wert 0 LOW Matrix2 0 hat Wert 7 HIGH Matrix2 0 Festo GDCP CMXR SW DE de 0909a 35 5 Grunddatentypen 5 7 _ Referenzvariablen Mapping Der Mapping Mechanismus erlaubt es Variablen als Referenzen auf einen bestimmten Typ zu definieren die dann mit Objekten dieses
35. B wie referenziert wird keine timeout Zeit f r den Ablauf der Operation danach kommt eine Fehler Sekunden meldung die Referenzierung wird abgebrochen Tabelle 13 4 Parameter Befehl RefAxisAsync Bei der Durchf hrung der Referenzfahrt ist darauf zu achten dass die beteiligten Achsen freie Fahrt in ihren Bewegungen haben Die Bewegung wird als Achsbewegung ausgef hrt Je nach Kinematik Typ kann es aufgrund der Achsanordnungen am Werkzeug zu unbekann ten Bewegungen kommen gt A Hinweis Die Parameter refData und timeout sind optional Werden diese nicht angegeben wird die aktuelle Ist Position als Referenzposition bernommen DS 402 Methode 35 Vorsicht Bei der Referenzfahrt ist auf freie Fahrt aller Achsen zu achten Fer ner sind bei diesen Bewegungen geeignete Dynamikwerte zu w h len um die Referenzfahrt sinnvoll auszuf hren Hohe dynamische Werte sind hier nicht sinnvoll Die Parameter und die sonstige Funktionsweise entspricht dem Befehl RefAxis gt Hinweis Wird die Referenzfahrtmethode 99 angegeben werden die Parame ter der Referenzfahrt wie sie mit dem Festo Configuration Tool FCT im Antrieb abgelegt wurden verwendet Die Referenzfahrt wird dann so ausgef hrt wie bei Inbetriebnahme der einzelnen Achse Alle andere Parameter wie offset velSwitch zeroSwitch und acc haben in diesem Fall keine Bedeutung Festo GDCP CMXR SW DE de 0909a 119 13 Referenzieren einer Kinematik 13 3 W
36. Bei einer Vorgabe von 1 wird der Be zug zum Weltkoordinatensystem der Kinematik hergestellt Hinweis gt Referenzsysteme die ber die externe Schnittstelle vorgegeben werden k nnen nur innerhalb der Referenzsysteme der Schnittstel le verlinkt werden Ein Bezug auf ein Referenzsystem das au er halb der Schnittstelle definiert wurde ist nicht m glich Beispiel Lin pos2 setRefSys ple RefSys 3 Lin pos3 Lin pos4 134 Festo GDCP CMXR SW DE de 0909a 15 PROFIBUS Schnittstelle 15 6 Programmiierter Halt lt ProgHold gt Dieser Befehl arbeitet in Verbindung mit dem Signal HALTENA der SPS Schnittstelle Er eignet sich f r Test oder Inbetriebnahmezwecke und kann an beliebiger Programmzeile eingef gt werden um dort auf Anforderung das Programm anzuhalten Ist das Signal HALTENA auf der Schnittstelle aktiviert d h es hat den Zustand TRUE wird bei einem Aufruf des Makros ProgHold das Bewegungsprogramm angehalten Dabei wird nur das Programm angehalten in dem sich das Makro ProgHold befindet Andere Pro gramme z B parallele Programme werden weiter abgearbeitet Setzt die SPS das Signal HALTENA auf FALSE so wird das angehaltene Programm fortgesetzt Hinweis gt Werden mit dem Makro ProgHold mehrere Programme angehalten z B parallele Programme so werden diese mit dem Signalzu stand FALSE gemeinsam wieder anlaufen Ein selektives Anlaufen der einzelnen angehaltenen Programme ist nicht m glich Syntax
37. Das Hauptprogramm wird fortgesetzt Beispiel CALL CheckPart Aufruf Unterprogramm CheckPart IF NOT partOk THEN partStatus 10 globale Variable f r R ckgabewert RETURN vorzeitiges Programmende END IF Lin pos3 52 Festo GDCP CMXR SW DE de 0909a 8 Programmsteuerung 8 8 Parallele Programme Ein Programm aus dem aktiven Projekt oder aus dem globalen Projekt kann auch als paral leler Prozess gestartet werden Das Betriebssystem des CMXR sorgt daf r dass diese Pro gramme parallel abgearbeitet werden Dies wird durch das interne Multitaskingsystem sichergestellt Hinweis gt Fahrbefehle an eine Kinematik sind aus einem parallelen Programm nur m glich wenn zuvor aus einem Hauptprogramm kein Fahrbe fehl abgesetzt wurde Erfolgt ein Fahrbefehl aus einem Haupt und Parallelprogramm erzeugt das System einen Fehler Verwendung Parallele Programme erm glichen das Erstellen von Prozessen die asynchron oder nur teilweise zum Hauptprogramm synchronisiert arbeiten Ein Beispiel ist das Ansteuern einer Zuf hr oder Auswerfeinheit die mit Ein Ausg ngen angesteuert wird Mit logischen Be fehlen und Verarbeitung der Ein Ausg nge kann in diesem Fall der Ablauf beschrieben werden Je nach Anforderung kann eine Synchronisierung zum Hauptprogramm ber glo bale Variable erfolgen Ablaufschema Hauptprogramm feed Vel DynPtp 75 0 Acc DynPtp 100 0 Tool gripper1 Ptp home Parallelprogramm R
38. Gr e des Arrays Festo GDCP CMXR SW DE de 0909a 31 5 Grunddatentypen e der Bereichsindex des Arrays angegeben e die Dimensionen des Arrays Arraygr e Die Arraygr e wird unter Angabe einer Konstanten ganze Zahl angegeben Eine Angabe der Arraygr e mit einer Variablen ist nicht m glich Array mit 10 Elementen Matrix1l ARRAY 10 OF DINT Array mit 12 Elementen Matrix2 ARRAY 12 OF CARTPOS 32 Festo GDCP CMXR SW DE de 0909a 5 Grunddatentypen Bereichsindex Der Bereichsindex des Arrays beginnt in der Regel bei O bis zu der definierten Arraygr e minus 1 Wird z B ein Array mit 10 Elementen definiert geht der Arrayindex vonObis9 Mit dem Arrayindex wird der Zugriff auf das einzelne Arrayelement ausgef hrt Wenn ein spezieller Arrayindex ben tigt wird so kann dieser in die Deklaration des Arrays angegeben werden gt Syntax VAR name ARRAY start index lt end index OF Datentyp lt Initialisierung END_VAR Folgendes Beispiel zeigt ein Array mit 10 Elementen dessen Index von 3 bis 12 geht Matrix3 ARRAY 3 12 OF DINT Dimensionen Ein Array ist mindestens eindimensional kann aber auch mehrdimensional ausgepr gt sein Mehrdimensionale Arrays werden durch Angabe der Dimensionen getrennt durch ein Komma innerhalb der eckigen Klammern angegeben Syntax VAR lt name gt ARRAY ssize 1 gt lt size 2 gt size 3 gt OF lt Datenty
39. Kreisbahn ergibt sich aus einer internen Berechnung mit Startpunkt St tzpunkt und Endpunkt der Kreisbahn 78 Festo GDCP CMXR SW DE de 0909a 9 Bewegungsbefehle Folgende Abbildung zeigt eine Zirkularbewegung mit Verwendung eines St tzpunktes St tzpunkt Endpunkt St tzpunkt Startpunkt Endpurkt Der Kreis wird immer so gefahren dass sich der TCP vom Startpunkt ber den St tzpunkt zum Endpunkt bewegt Der St tzpunkt liegt per Definition immer zwischen dem Start und Endpunkt Einschr nkungen Eine Fehlermeldung erh lt man wenn zumindest zwei der den Kreis definierenden Positio nen die gleiche Position haben oder wenn alle Punkte auf einer Geraden liegen In diesen F llen l sst sich die Kreisbahn mathematisch nicht berechnen Mit dieser Methode kann kein Vollkreis 360 beschrieben werden Deshalb muss ein Vollkreis aus 2 Halbkreisen zusammengesetzt werden Die Orientierung des St tzpunktes wird zur Interpolation des Kreisbogens nicht ber ck sichtigt Die Interpolation erfolgt ausschlie lich zwischen Start und Endpunkt Ist es er forderlich Orientierungen innerhalb eines Kreisbogens zu wechseln so besteht die M g lichkeit einen Kreisbogen in mehrere Teile zu zerlegen um dann an den Start und End punkten die Orientierungen vorzugeben 9 7 2 Ebenendefinition Die Kreisbahn wird auf einer Ebene gefahren die anhand der 3 Punkte Startpunkt St tz punkt und Endpunkt definiert wird Durch diese De
40. Methode Wait Wat 167 18 5 5 Zustand Lesen Methode Read sssssssssssessssseessssesessssseessssereesssseesess 167 Festo GDCP CMXR SW DE de 0909a INHALTSVERZEICHNIS 18 6 18 7 18 8 18 9 18 10 10 18 5 6 Steigende Flanke Methode RisingEdge E 167 18 5 7 Flanke r cksetzen Reserbieingtdee EE 168 18 5 8 Setzen und r cksetzen Methode Set Reset zuerececeseeeeeneneeeeenennnnenn 168 18 5 9 Setzen des Ausgangs Methode Written 169 18 5 10 Setzen des Ausgangs auf bestimmte Dauer Methode Pulse 169 Analoger Eingangsbaustein AIN ae 170 186 1 Instanzieruns eene ege 170 18 62 Variable 2 aus EE EEEE ESEESE EERS 172 18 63 en te e 172 18 6 4 Warten bis Wert kleiner gr er Methode WaitLss WaitGrt 173 18 6 5 Warten bis Wert im aus Bereich Methode Waitlns WaitOuts 174 18 6 6 Abfragen des Wertes Methode Read 174 Analoger Ausgangsbaustein AOUT EE 175 18 77 41 Instafzieruns esse EE 175 18 7 2 EE aeg 176 18 232 e neie TEE 177 18 7 4 Schreiben des Ausgangswertes Methode Written 178 18 7 5 Warten bis Wert gr er kleiner Methode WaitLss WaitGrt 178 18 7 6 Warten bis Wert im aus Bereich Methode Waitlns WaitOuts 2 179 18 7 7 Ausgangswert lesen Methode Read 179 Uhrenbaustein CLOCK sicir iriser icies ns ra a AREE EEEE 180 188 nae ner es 180 1882 E ele DE 181 18 8 3 Starten der Uhr Methode Grant 182 18 8 4 Stoppen der Uhr Methode Stop
41. Positionen e Die erste Position bestimmt den Ursprung des Referenzsystems e Die zweite Position bestimmt einen Punkt durch den die positive kartesische X Achse des Referenzsystems l uft e Die dritte Position bestimmt einen Punkt auf der XY Ebene Hinweis Die Orientierungen der Positionen sind nicht relevant F r die Be rechnungen werden nur die kartesischen Positionen ben tigt Aufbau Datentyp REFSYS3P baseRs REFSYS Bezug auf ein anderes Referenzsystem po CARTPOS Ursprung des zu definierenden Referenzsystems px CARTPOS Position entlang der X Achse pxy CARTPOS Position auf der X Y Ebene Unter dem Parameter baseRs kann man eine andere Referenz angeben auf die das Refe renzsystem additiv wirkt Wenn ein Bezug zum Weltkoordinatensystem der Kinematik er folgen soll muss auf die Systemvariable _system world referenziert werden 112 Festo GDCP CMXR SW DE de 0909a 12 Referenzsysteme Nullpunktverschiebung Vorgehensweise beim Teachen Erster Punkt Ursprung zweiter Punkt positive X Achse dritter Punkt positive XY Ebene dritter Punkt positive XY Ebene Vorsicht Der dritte Punkt bestimmt die positive XY Ebene Je nach Lage des 3 Punkte kann dies ein Drehen des Koordinatensystems zur Folge haben z B drehen der Z Achse um 180 Grad Beispiel Daten refsys3p0 REFSYS3P MAPX system world 100 100 0 Ho 0 Oz 0 0p I 200 100 0 0 0p 0 8 8 0J 200 280 0 Be 0 0 U 0r D i
42. ProgHold KEE 135 Panne en 67 E 70 PIHTOCH ID 83 R Rampras re Hau 98 Read ra 187 ReadActualPosaasisessn ins 142 ReadSDOSigned ssssesseeenesssesseeeeeesss 189 ReadSDOUnsigned ua 191 ReadTargetPoS eege 143 eege 116 enee 118 Referenzsysteme ENEE n 134 RETURN SS ee 52 ROLE 154 ROREESSERENIS ER 154 RUN as ne me as a 54 S Gatzvorlauf 54 56 198 SavePosition nun ringe 144 GchlUsselw rter uk 24 SE een 186 EEN 141 le re ae ae 139 el 111 KEE 112 Festo GDCP CMXR SW DE de 0909a SetRefSysWorld uesesssesenenenenenenenen 114 SeiWanins ae ae 140 SHE SE es 153 SIR See eng 153 e BE 146 SORTE er 152 State serie 192 StopMoVve neues 86 EEN 87 SIR ee me 155 T TAN see 149 Tepe nee een 122 dass 19 20 NI een 144 CES 145 D ENEN 19 TOO er 125 Tvpumwandlungen ssessssssssssesereseeeeeee 30 Vv Valerie 192 VeOoNSstO es 101 Viet NEE 99 Velen 90 W Ee Eege ee 56 NEE eet Ee 58 WaitOnPo8 u 60 WaitRefFinished sseosseseeeeeenssesseseee 120 Wait ime ee 54 Wartezeit suite 54 NEE Eeer 122 WALES een 48 WrieSDO 189 219 INDEX 220 Festo GDCP CMXR SW DE de 0909a
43. Programm ber die Anweisung KILL beendet werden Dabei wird zuerst das Programm und die Kinematik gestoppt danach wird das Programm beendet 3 Syntax KILL lt Programmname Auch der Befehl RETURN hat im parallelen Programm zur Folge dass das Programm been det wird 8 9 Beeinflussen des Satzvorlaufes 8 9 1 WAIT Anweisung mit Zeit lt WaitTime gt Die WAIT Anweisung mit Zeit Angabe erm glicht das Programmieren einer Wartezeit Diese Wartezeit beeinflusst das Bewegungsverhalten Sie erzwingt ein Stoppen der Satzvoraus berechnung was zu einem Stopp der Bewegung f hrt Nachdem der vorherige Befehl aus gef hrt wurde beginnt die Wartezeit zu laufen Nach Ablauf dieser Zeit wird das Programm fortgesetzt 54 Festo GDCP CMXR SW DE de 0909a 8 Programmsteuerung Syntax gt WaitTime ktimeMS gt DINT Die Angabe der Zeit erfolgt in Millisekunden und kann ber einen Wert oder eine Variable angegeben werden Hinweis gt Soll der Satzvorlauf mit dem Satzhauptlauf synchronisiert werden so kann dies ber die Anweisung WaitTime 0 erfolgen Beispiel Ein Handhabungssystem best ckt mit einem Greifer entnimmt Teile aus einer Palette Um die Teile sicher zu greifen muss eine gewisse Zeit abgewartet werden Auszug aus dem Bewegungsprogramm Lin posl fahre ber Greifposition Lin pos2 fahre auf Greiferposition Gripper Set Greifer schlie en WaitTime 70 warte 70 msec Greifzeit Lin posl fahre
44. REFSYSDATA baseRs REFSYS Bezug auf ein anderes Referenzsystem D REAL Verschiebung entlang der X Achse y REAL Verschiebung entlang der Y Achse Z REAL Verschiebung entlang der Z Achse a REAL Orientierung nach Euler Drehung um die Z Achse b REAL Orientierung nach Euler Drehung um die verdrehte Y Achse c REAL Orientierung nach Euler Drehung um die verdrehte Z Achse Unter dem Parameter baseRs kann man eine andere Referenz angeben auf das sich das Referenzsystem additiv wirkt Wenn ein Bezug zum Weltkoordinatensystem der Kinematik erfolgen soll muss auf die Systemvariable _system world referenziert werden Beispiel Daten refsysdata0 REFSYSDATA MAPX systen world 100 150 0 0 0 0 Programm SetRefSys refsysdataO Festo GDCP CMXR SW DE de 0909a 111 12 Referenzsysteme Nullpunktverschiebung 12 4 Referenzsystem mit 3 Punkten lt SetRefSys3P gt Mit dem folgenden Befehl SetRefSys3P wird ein Referenzsystem gesetzt dessen Daten ber 3 Positionen im Raum bestimmt werden Syntax 2 SetRefSys3P refSys gt REFSYS3P Parameter Bedeutung Einheit Referenzsystem das durch 3 Positionen bestimmt ist L ngen und Winkeleinheiten Tabelle 12 2 Parameter Befehl SetRefSys3P Verwendung Diese Art der Beschreibung eines Referenzsystems bietet die M glichkeit ber 3 Positio nen geteacht zu werden Diese 3 Positionen sind von kartesischer Art mit 6 Freiheitsgra den Bedeutung der
45. Typs verbunden werden k nnen Man sagt dann die Referenzvariable sei auf das Objekt gemappt oder das Objekt sei der Referenzvariablen zugeordnet Eine direkte Verwendung der Referenzvariablen bedeutet dann eigentlich eine Verwendung des zugeordneten Objekts mit dem die Referenzvariable ber den Mapping Mechanismus verbunden ist Wird eine Referenzvariable direkt verwendet obwohl es noch kein zugeordnetes Objekt gibt so wird ein Fehler ausgel st Referenzvariablen ben tigen nur soviel Speicherplatz wie n tig ist um den Verweis auf das zugeordnete Objekt abzulegen Dieser Speicherbedarf ist unabh ngig von der Art des zugeordneten Objekts Folgende Grafik zeigt den Mapping Mechanismus Programmvariablem Referenzvariable Ga we Wird im Programm die Referenzvariable Ref_Index verwendet so arbeitet diese mit dem Speicherbereich und Inhalt der Variable Index_C Mappen von Ref_Index aufIndex_C Beispiel Die Anweisung Ref_Index 10 beschreibt die Variable Index_C mit dem Wert 10 Hinweis 2 Beim Lesen einer gemappten Variable wird die zugeordnete Variab le gelesen und beim Schreiben auf eine gemappte Variable wird auf die zugeordnete Variable geschrieben 36 Festo GDCP CMXR SW DE de 0909a 5 Grunddatentypen 5 7 1 Deklaration von Referenzvariablen lt MAPTO gt Die Deklaration einer Referenzvariable kann mit jedem beliebigen Datentyp wie z B DINT oder REAL erfolgen Die Deklaration erfolgt durch das Vorans
46. Waitins minValue REAL maxValue REAL OPT ovlEnable BOOL lt Instanzname WaitOuts minValue REAL maxValue REAL OPT ovlEnable BOOL Beschreibung des Parameters ovlEnable siehe Kapitel 18 3 1 auf Seite 158 Parameter Typ Bedeutung minValue REAL Unterer Grenzwert maxValue REAL Oberer Grenzwert Tabelle 18 14 Parameter Methoden Waitlns WaitOuts Beispiel Lin pos1l warten bis Menge innerhalb der Grenzen quantity WaitIns 100 0 110 0 TRUE Lin pos2 18 7 7 Ausgangswert lesen Methode Read Die Methode Read liest den aktuellen Wert des analogen Ausganges ein Syntax gt lt Instanzname Read OPT ovlEnable Beschreibung des Parameters ovlEnable siehe Kapitel 18 3 1 auf Seite 158 Beispiel Lin posl lesen der Menge ohne Stopp auf der Bahn value quantity Read TRUE Lin pos2 Festo GDCP CMXR SW DE de 0909a 179 18 Bausteine 18 8 Uhrenbaustein CLOCK Der Uhrenbaustein Timer kann zur einfachen Zeitmessung im Programmablauf verwendet werden Die Zeiten werden in Millisekunden gemessen 18 8 1 Instanzierung Zur Instanzierung des Uhrenbausteins CLOCK wird der Name des Bausteins ben tigt Der Baustein besitzt keine Variablen Instanzierung gt lt Instanzname gt CLOCK Instanzierung in der Datendatei Timer CLOCK Instanzierung mit dem FTL Editor Die Instanziierung erfolgt im Dialog zum Anlagen von Variablen durch Auswahl des lt Typ gt CLOCK und Eingabe des
47. Weitere Informationen und ein Beispiel zum erzeugen der Fehlermeldung sind im Kapi tel 20 2 Arbeiten mit Ein und Ausgangsbausteinen beschrieben Input Die Variable Input beschreibt den Verweis auf den Hardwareeingang des Bausteins 18 6 3 Methoden Der Baustein verf gt ber mehrere Methoden Methode Beschreibung WaitLss Warten bis Eingangswert kleiner als angegeben WaitGrt Warten bis Eingangswert gr er als angegeben Waitlns Warten bis Eingangswert innerhalb der angegebenen Grenze WaitOuts Waten bis Eingangswert au erhalb der angegebenen Grenze Read Eingangswert lesen Tabelle 18 7 Methoden analoger Eingangsbaustein 172 Festo GDCP CMXR SW DE de 0909a 18 Bausteine Im FTL Editor werden die verf gbaren Methoden nach Eingabe des Punktes automatisch in einer Liste angezeigt und k nnen dort ausgew hlt werden ber das Handbedienger t k nnen diese Methoden ber den Men baum aus der Rubrik Analoge Eing nge ausgew hlt werden JC Analog inputs m AIN Read m AIN WaitLss m AIN WaitGrt e AIN Waitins AIN WaitOuts Die Abbildung zeigt die Auswahl von Methoden des Bausteins AIN am Handbedienger t 18 6 4 Warten bis Wert kleiner gr er Methode WaitLss WaitGrt Die Methoden WaitLss und WaitGrt erm glichen ein Abfragen eines analogen Einganges auf einen Zustand gr er oder kleiner des angegebenen Wertes Der Parameter Timeout des Bausteins wird dabei ber cksichtigt
48. abgespeichert Dabei k nnen f r ein Werkzeug beliebig viele TCP Variable definiert werden wobei nur ein Datensatz aktiv sein kann Die verschiedenen Beschreibungen werden dann verwendet wenn ein Werkzeug verschiedene Bezugspunkte besitzt und diese je nach Aufgabe im Betrieb gewechselt wer den m ssen Da die Werkzeugdaten im Speicher als Variable abgelegt sind ist die Anzahl durch die Speichergr e bestimmt F r die richtige Zuordnung der TCP Daten zum Werkzeug hat der Programmierer zu sorgen Die CMXR Mehrachssteuerung kennt keinen Bezug der Werkzeugdaten zum physikalischen Werkzeug Vorsicht Bei unpassenden oder falschen TCP Daten besteht Kollisionsge fahr 124 Festo GDCP CMXR SW DE de 0909a 14 Werkzeuge 14 2 Aktivieren von Werkzeugdaten lt Tool gt Mit folgendem Befehl k nnen innerhalb eines FTL Programms die Daten eines Tool Center Point TCP gesetzt werden Dieser Tool Befehl setzt neue TCP Daten f r die Kinematik Somit wird der Arbeitspunkt der Kinematik ver ndert Syntax gt Tool ToolData gt TCPTOOL Die Daten f r den TCP sind in der zu bergebenden Variable enthalten Diese Daten wer den im Satzvorlauf des FTL Interpreters eingelesen und gehen ab dort in die weitere Bahn planung der Bewegung ein Bei allen folgenden Befehlen werden nun diese TCP Daten ber cksichtigt Parameter Bedeutung Einheit ToolData Werkzeugdaten TCPTOOL Tabelle 14 1 Parameter Befehl Tool Der Aufruf des Befehls T
49. cartPos0 4 Lin cartPosl 5 Lin cartPos 2 6 Lin cartPos3 2 Check Signal 8 4 IF bSignal THEN 9 Lin cartPos5 10 END_IF 62 Festo GDCP CMXR SW DE de 0909a 9 Bewegungsbefehle 9 Bewegungsbefehle Bewegungen einer Kinematik werden mit Bewegungsbefehlen ausgel st Diese beschrei ben die Bewegung vom aktuellen Ort zu dem angegebenen Zielpunkt Bei der Bewegung werden zuvor gesetzte Werte wie z B Geschwindigkeit Beschleunigung oder Orientierung ber cksichtigt Bewegungen gibt es unterschiedlicher Art Es gibt Bewegung mit einer Achsinterpolation Point To Point Bewegung und Bewegungen in einem kartesischen Raum Die kartesi schen Bewegungen greifen dabei auf eine interne Transformation der Kinematik zur ck 91 Positionsbeschreibung Alle Positionen werden in sogenannten Positionsvariablen abgespeichert Diese Positions variablen werden zur Positionsangabe bei den Bewegungsbefehlen ben tigt Eine direkte Angabe mit Konstanten ist nicht m glich Alle Positionsvariablen werden in der zugeh ri gen Datendatei siehe Kapitel 3 8 FTL Datendatei auf Seite 20 abgespeichert Es gibt die M glichkeit eine Position im Achskoordinatensystem oder in einem kartesi schen Koordinatensystem anzugeben Da diese Positionsangaben unterschiedlichen Ur sprungs sind gibt es daf r 2 Datentypen 1 AXISPOS f r die Angabe im Achskoordinatensystem 2 CARTPOS f r die Angabe im kartesischen Koordinatensystem Die Anzahl der
50. den angeforderten Signalzustand Derzeit besitzt der Encoder Baustein keine Methoden die den Timeout ber cksichtigen Port Die Variable Port beschreibt den Verweis auf den Hardwareeingang 18 9 3 Methoden Der Encoder Baustein verf gt ber folgende Methoden Methode Beschreibung Set Inkrementalgeberwert manuell setzen Read Inkrementalgeberwert auslesen Tabelle 18 17 Methoden Encoder Baustein Festo GDCP CMXR SW DE de 0909a 185 18 Bausteine Im FTL Editor werden die verf gbaren Methoden nach Eingabe des Punktes automatisch in einer Liste angezeigt und k nnen dort ausgew hlt werden ber das Handbedienger t k nnen diese Methoden ber den Men baum aus der Rubrik Inkrementalgeber ausgew hlt werden Incrementalencoder ENCODER Set ENCODER Read Die Abbildung zeigt die Auswahl der Methoden des Encoder Bausteins am Handbedienge r t 18 9 4 Encoder setzen Methode Set Mit der Methode Set kann ein Inkrementalgeberwert vom Anwenderprogramm gesetzt werden Syntax gt lt ENCODER Set OPT lt count DINT OPT lt mode gt SETCOUNTMODE Parameter Typ Bedeutung count DINT Wert auf den der Inkremetalgeber gesetzt werden soll Inkremente mode SETCOUNTMODE Parameter zum Einstellen des bernahmezeitpunkts Tabelle 18 18 Parameter Methode Set Der Baustein setzt den Wert hauptlaufsynchron stoppt den Vorlauf aber nicht Im Parame ter mode kann der Zeitpunkt des Set
51. der Anweisung Mask SHR Mask 3 wird der Inhalt der Variable Mask um 3 Bit nach rechts geschoben Auf der linken Seite werden 3 Bit mit dem Wert 0 eingeschoben Inhalt der Variable 1001 1111 0000 1100 1111 1111 1001 1100 Es ergibt sich das Bitmuster 0001 0011 1110 0001 1001 1111 1111 0011 Festo GDCP CMXR SW DE de 0909a 153 17 Funktionen 17 16 Bitweise rotieren lt ROR gt lt ROL gt Mit den Funktionen ROR und ROL k nnen Daten vom Typ DWORD bitweise nach rechts Funktion ROR und bitweise nach links Funktion ROL rotiert werden Beim Rotieren des Bitmusters wird das heraus fallende Bit auf der anderen Seite wieder eingef gt Syntax gt Variable gt DWORD ROR Wert DWORD lt count gt DINT Variable gt DWORD ROL Wert DWORD lt count gt DINT Beispiel Mit der Anweisung Mask ROL Mask 4 wird der Inhalt der Variable Mask um 4 Bit nach links rotiert Auf der rechten Seite werden die 4 Bits wieder eingef gt Inhalt der Variable 1011 1111 0110 1001 0011 000 1001 1010 Es ergibt sich das Bitmuster 1111 0110 1001 0011 000 1001 1010 1011 Mit der Anweisung Mask ROR Mask 4 wird der Inhalt der Variable Mask um 4 Bit nach rechts rotiert Auf der linken Seite werden die 4 Bits wieder eingef gt Inhalt der Variable 1011 1111 0110 1001 0011 000 1001 1010 Es ergibt sich das Bitmuster 1010 1011 1111 0110 1001 0011 000 1001 154 Festo GDC
52. die Endlagen zu erkennen Dabei ergeben sich folgende digitale Signale die in Form von Bausteinen in der FTL Programmierung eingebaut werden 206 Festo GDCP CMXR SW DE de 0909a 20 Beispiele Variablen outGripperOpen DOUT outGripperClose DOUT outPos0Degree DOUT outPos90Degree DOUT inGripperOpen DIN inGripperClose DIN inPos0Degree DIN inPos90Degree DIN Programm Vel dynCart 1500 Acc dynCart 5000 OvlVel 75 Lin posl outGripperClose Reset outGripperOpen Set outPos0Degree Set outPos90Degree Reset inGripperOpen Wait inPos0ODegree Wait Lin pos2 outGripperClose Set outGripperOpen Reset inGripperClose Wait Lin posl outPos0Degree Reser outPos90Degree Set Lin pos3 Bahngeschwindigkeit Bahnbeschleunigung et Z er St S ch 28 vi A ed ei ei L digital Ausgangsbaustein digitaler Ausgangsbaustein digitaler Ausgangsbaustein digitaler Ausgangsbaustein digitaler Eingangsbaustein cr digital Eingangsbaustein digitaler Eingangsbaustein digitaler Eingangsbaustein 1500 mm sec 5000 mm sec Geschwindigkeits berschleifen mit 75 L WW ei i WW L i C E fahre ber Teil Greifer auf auf 0 Grad drehen warten bis Greifer offen warten bis auf 0 Grad Aufnahmeposition Greifer schlie en warten bis Greifer geschlossen auf 90 Grad drehen
53. lt Bezeichner gt clkTimer Yariable editor E Variable properties Identifier eikTimer Va Type CLOCK DI Yisibility PR DJECT be Comment Initialization Identifier Type Value clkTimer CLOCK Instanzierung mit dem Handbedienger t Die Instanzierung des Uhrenbausteins mit dem Handbedienger t erfolgt in der Variablen maske durch Auswahl des Datentyps CLOCK 180 Festo GDCP CMXR SW DE de 0909a 18 Bausteine Mit der Instanzierung am Handbedienger t wird der Eintrag im Datenfile automatisch ge schrieben 18 8 2 Methoden Der Uhrenbaustein verf gt ber folgende Methoden Methode Beschreibung Reset R cksetzen der Uhr Start Starten der Uhr Stop Stoppen der Uhr Read Auslesen der gestoppten Zeit in msec ToStr Umwandeln der Zeit in einen String Tabelle 18 15 Methoden Uhrenbaustein Im FTL Editor werden die verf gbaren Methoden nach Eingabe des Punktes automatisch in einer Liste angezeigt und k nnen dort ausgew hlt werden ber das Handbedienger t k nnen diese Methoden ber den Men baum aus der Rubrik Timerbausteine ausgew hlt werden IC Timing Biocks L CLOCK Reset L CLOCK Start L CLOCK Stop m CLOCK Read CLOCK ToStr Die Abbildung zeigt die Auswahl der Methoden des Bausteins CLOCK am Handbedienge r t Festo GDCP CMXR SW DE de 0909a 181 18 Bausteine 18 8 3 Starten der Uhr Methode Start Mit der Methode Start wir
54. mit einer WaitTime Anweisung unterbrochen werden Der Schleifenz hler wird nun immer beim Erreichen der Pos3 erh ht Dies zeigt die folgende Abbildung 198 Festo GDCP CMXR SW DE de 0909a 20 Beispiele Satzhauptlauf Satzvorlauf CO Lin Pos5 count 0 Satzhauptlauf count 0 Lin Pos1 Lin Pos1 Lin Pos2 Lin Pos2 LOOP 10 DO LOOP 10 DO Lin Pos3 Lin Pos3 count count 1 Satzvorlauf WaitTime 1 Lin Pos4 END_LOOP count count 1 Lin Pos4 END_LOOP Lin Pos5 20 4 Arbeiten mit Greifern In der Handhabungstechnik kommen eine Vielzahl verschiedener Greifer zum Einsatz Je der Greifvorgang ben tigt Zeit um den Greifer zu schlie en bzw zu ffnen Diese Zeit kann die Taktzeit wesentlich beeinflussen gt gt Hinweis Greifzeiten f hren zu einer Erh hung der Taktzeit und sind deshalb stets zu ber cksichtigen Je nach Greifertyp erfordert dies auch eine Wartezeit im FTL Programm um das ffnen oder Schlie en des Greifers sicherzustellen Hinweis Wartezeiten f r den Zustand Geschlossen oder Ge ffnet bei pneu matischen Greifern sind immer vom eingestellten Druck abh ngig ndert sich der Druck so sind auch die Zeiten anzupassen Sind am Greifersystem Sensoren f r die Endlagen angebracht so kann in der Regel auf Wartezeiten verzichtet werden In den folgenden Kapiteln ist die Integration unterschiedlicher Greifertypen in die CMXR Welt dargestellt
55. oder das Verarbeiten von Variablen werden dadurch nicht beeintr chtigt In diesem Satzvorlauf werden die FTL Befehle decodiert und f r die weitere Berechnung bereitgestellt Weiterhin erfolgt in diesem Satzvorlauf auch die Bahnplanung der Bewe gung die aufgrund der eingestellten Dynamikwerte berechnet wird Mit einigen Befehlen von FTL kann man den Satzvorlauf beeinflussen d h er wird unter Umst nden gestoppt Dies kann z B bei einer Programmverzweigung der Fall sein in der auf Eingangssignale der Peripherie entschieden wird H lt der Satzvorlauf an wird der gesamte im Voraus berechnete Befehlssatz abgearbeitet und die Kinematik stoppt die Bewegung Dann wird z B die Entscheidung der Programmverzweigung berechnet und die folgenden Bewegungsbefehle ausgef hrt Hinweis Ein Stoppen des Satzvorlaufes durch einen entsprechenden Befehl hat unter Umst nden ungew nschte Stopps auf der Bahn zur Folge Ein berschleifen der Bewegungen ist bei derartigen Befehlen nicht m glich Satzhauptlauf Lin Pos1 Lin Pos2 Lin Pos3 Lin Pos4 Lin Pos5 Lin Pos6 Lin Pos7 Lin Pos8 Satzvorlauf Lin Pos9 Die Abbildung zeigt einen Ausschnitt aus einem FTL Programm Der obere Pfeil markiert den aktuellen Befehl der gerade ausgef hrt wird Der untere Pfeil markiert den aktiven Befehl der Satzvorausberechnung Der Abstand der beiden Pfeile ist der Satzvorlauf Weitere Informationen und Beispiele zu
56. optimal und komfortabel zu gestalten laufen einige Bausteine im Betriebssystem zyklisch Der Anwender kann dann mit den Methoden oder Variablen auf die Ergebnisse des Bausteins zugreifen 18 3 1 Parameter ovlEnable Einige Methoden der folgenden Bausteine besitzen einen optionalen Parameter ovlEnable Dieser Parameter regelt den Abfragezeitpunkt des digitalen Eingangssignals Der Parame ter ist vom Typ BOOL ihm kann der Zustand TRUE oder FALSE bergeben werden Zustand FALSE Der Satzvorlauf wird an dieser Stelle gestoppt Erreicht der Satzhauptlauf diese Pro srammanweisung dann wird das Signal ausgelesen bzw ausgef hrt Die Bewegung wird gestoppt und nach dem Befehl wieder beschleunigt Ein berschleifen auf folgende Bewe gungen ist nicht m glich Zustand TRUE Wird dem Parameter ovlEnable der Zustand TRUE bergeben so wird zum sp testen Zeit punkt das Signal ausgelesen bzw ausgef hrt bei dem die Bewegung noch fortgef hrt werden kann Die Bewegung wird nicht gestoppt sondern kontinuierlich fortgef hrt Ein berschleifen auf folgende Bewegungen ist m glich Hinweis gt Wird der Parameter nicht angegeben so wird FALSE angenommen 158 Festo GDCP CMXR SW DE de 0909a 18 Bausteine 18 4 Digitaler Eingangsbaustein DIN Der Baustein DIN dient zur Abfrage und Verwaltung eines digitalen Eingangs 18 4 1 Instanzierung Zur Instanzierung des digitalen Eingangsbausteins wird der Hardwarebezug zum digitalen Eingang b
57. pos3 vorhanden Es wird eine berschleifbewegung auf Position pos4 ausgef hrt R ckmeldung Drehung 90 Grad Geschwindigkeit pos4 Zeit Dos Dos Wartezeit bis R ckmeldung Wartezeit bis R ckmeldung Greifer geschlossen Greifer ge ffnet R ckmeldung der Drehung auf 90 Grad ist nicht an Position pos3 vorhanden Es wird auf diese gewartet Geschwindigkeit pos4 Zeit pos1 pos3 Wartezeit bis R ckmeldung Wartezeit bis R ckmeldung Greifer ge ffnet Greifer geschlossen Wartezeit bis R ckmeldung Drehung 90 Grad Festo GDCP CMXR SW DE de 0909a 209 20 Beispiele 20 5 Arbeiten mit der SPS Schnittstelle 20 5 1 Aufgabenstellung Im folgenden Beispiel werden Teile von der Position pickPos abgeholt und auf die Posi tion ablagePos transportiert Dabei ist die Abholposition dynamisch Die genauen Koor dinaten werden in jedem Zyklus von einem Kamerasystem berechnet und ber die PROFIBUS SPS Schnittstelle an die Steuerung gesendet F r den Ablauf werden aus der Start und Endposition zwei dynamische Zwischenpositio nen berechnet Diese werden im Ablauf als St tzpunkte benutzt Werden von der SPS nicht rechtzeitig Daten geliefert so wird der Zyklus auf der Position wartePos angehalten bis die SPS bereit ist ueberPickPos wartePos ueberAblagePos e cl MA iM pickPos ablagePos 20 5 2 SPS Schnittstelle Der Datenaustausch zwischen der CMXR Steuerung und der SPS wird mit zwei Synchroni s
58. wird somit in z B mm oder Grad angege ben Aufbau Bedingt durch die maximale Achsanzahl einer Kinematik von 9 Achsen umfasst der Daten typ 9 Achspositionen Diese einzelnen Positionswerte sind in 9 einzelnen REAL Variablen hinterlegt Datentyp AXISPOS al REAL Achsposition Kinematikachse 1 a2 REAL Achsposition Kinematikachse 2 a3 REAL Achsposition Kinematikachse 3 a4 REAL Achsposition Kinematikachse 4 a5 REAL Achsposition Kinematikachse 5 a6 REAL Achsposition Kinematikachse 6 a7 REAL Achsposition Hilfsachse 1 a8 REAL Achsposition Hilfsachse 2 a9 REAL Achsposition Hilfsachse 3 Der Datentyp AXISPOS beschreibt den maximal m glichen Aufbau einer Achsposition Sind Achsen nicht vorhanden so ist eine Positionsangabe f r diese Achsen irrelevant In der Regel erfolgt f r diese Achsen die Angabe des Positionswertes 0 Im FCT Editor sind die Felder dieser Achsen gesperrt Auf jeden einzelnen Wert eines Positionswertes vom Typ AXISPOS kann ber den Namen der einzelnen Position zugegriffen werden Beispiel Variable startPos AXISPOS 100 50 30 0 0 0 0 0 0 posAl REAL posA2 REAL Programm Lin startPos fahren auf startPos posAl startPos al umspeichern von Achswert 1 posA2 startPos a2 umspeichern von Achswert 2 64 Festo GDCP CMXR SW DE de 0909a 9 Bewegungsbefehle Die Zuordnung einzelner Achsen auf die Positionsdatenstruktur AXISPOS erfolgt durch eine Nummerierung
59. 2 anzufahren muss die neue Orientierung des Werkzeuges definiert werden 128 Festo GDCP CMXR SW DE de 0909a 14 Werkzeuge Erneutes Anfahren von pos2 mit tool2 Tool tooll Lin pos1l Lin pos2 CALL Rotate Aufruf Unterprogramm Tool tool2 Lin pos2 Werkst ck pos2 Das erneute Anfahren von Position 2 hat die Folge dass der TCP mit seinen neuen Daten auf die Position 2 ausgerichtet wird Je nach Fall kann dabei eine Ausgleichsbewegung mit max allen Achsen stattfinden Hinweis gt Bei Verwendung einer elektrischen Schwenkachse die als Frei heitsgrad in die kartesische Kinematik eingearbeitert ist wir im Gegensatz zur pneumatischen Schwenkachse keine Anderung der Werkzeugorientierung erforderlich Bei der elektrischen Schwenkachse wird die gew nschte Orientie rung innerhalb eines fahrbefehls programmiert Die CMXR Steuerung berechnet dann automatisch die Position der Achsen unter Ber cksichtigung der programmierten Orientierung Festo GDCP CMXR SW DE de 0909a 129 15 PROFIBUS Schnittstelle 15 _PROFIBUS Schnittstelle ber die PROFIBUS Schnittstelle kann die CMXR von einer bergeordneten Steuerung SPS IPC gesteuert werden Weiterhin k nnen Daten in Form von Variablen geschrieben und gelesen werden All diese Daten sind systemglobale Daten und stehen allen FTL Pro grammen zur Verf gung Die Kommunikation zur bergeordneten Steuerung verl uft zyk lisch im Updatezyklus des PROFIBUS Be
60. 34 5 6 2 Bestimmen der Arraygrenzen mit LOW und HIGH eessen 34 5 7 Referenzvariablen Mappnsla u nenne 36 5 7 1 Deklaration von Referenzvariablen lt MAPTO Aessen 37 5 7 2 Verbinden von Referenzvariablen MAP 37 5 7 3 Pr fen von Referenzvariablen IS_MAPPED EE 37 58 DO BEER 39 5 8 1 Verhalten im Uberschleifbereich 41 Vartablendeklaatigngettsu ebzguesd eeh EE See ENEE 42 CH TEE Deren 42 Ausdr cke un 43 7 1 Ausf hrungsreihenf lse in Ausdr cken as u ne 43 8 Programmsteuerung eeneg 44 8 1 Anweisung EE 44 8 2 Wertzuweisung EE 44 8 3 E HEH 44 8 4 Verzweisung lt iE IHEND nase ak 45 85 Spt ngbefehle sunaueiekuiiessuunkehkuseiskn lenken 46 8 5 1 SPr ngMarke lt lABEDr nn aka 47 8 5 2 Bedingter Sprung IE 60 TO 47 8 5 3 Absoluter SpLEUneX6D EN EE 48 e E 48 8 6 1 WHILE Anweisung WHILE nn 48 8 6 2 EOOPFARWEISINERLDOPS get ee 49 8 7 CEET 50 8 7 1 Unterprogrammaufruf CAL 51 8 7 2 Prosranmr cksprungxRETURN na sense 52 8 8 Parallele Pr stanmer e nn enable null 53 8 8 1 Paralleles Programm starten RUN eeeuecesenneascausassunnessuneanannnnsnunnennun 54 8 8 2 Paralleles Programm beenden KILL ENEE 54 8 9 Beeinfl ssen desSatzvorlaufes u nannten 54 6 Festo GDCP CMXR SW DE de 0909a INHALTSVERZEICHNIS 8 9 1 WAIT Anweisung mit Zeit ON atfimez 54 8 9 2 WAIT Anweisung mit Bedingung OANAIT 56 8 9 3 WaitOnPath Anweisung mit Zeit lt WaitOnPath gt unesssssssssssssses
61. 61 Level ABS Level Level hat den absoluten Wert von 1056 61 17 14 Quadratwurzel lt SQRT gt Die Wurzelfunktion ermittelt den Wert der Quadratwurzel eines Ausdrucks Syntax gt Wurzelwert REAL SQRT ert REAL Beispiel Berechnung der L nge c in einem rechtwinkligen Dreieck b Nach dem Satz des Pythagoras gilt C2 A2 B2 oder C V A B2 Programmbeispiel a 152 67 L nge der Kathete A b 63 12 L nge der Kathete B value re a at tb b z SQRT value Berechnung der Hypotenuse 152 Festo GDCP CMXR SW DE de 0909a 17 Funktionen 17 15 Bitweise schieben lt SHR gt lt SHL gt Mit den Funktionen SHR und SHL k nnen Daten vom Typ DWORD bitweise nach rechts Funktion SHR und bitweise nach links Funktion SHL geschoben werden Bits die auf der einen Seite aus der Variable herausfallen gehen verloren Auf der anderen Seite werden Bits mit dem Wert 0 aufgef llt gt Syntax Variable DWORD SHR Wert DWORD lt count gt DINT Variable DWORD SHL Wert DWORD lt count DINT Beispiel Mit der Anweisung Mask SHL Mask 3 wird der Inhalt der Variable Mask um 3 Bit nach links geschoben Auf der rechten Seite werden 3 Bit mit dem Wert 0 eingeschoben Inhalt der Variable 1001 1111 0000 1100 1111 1111 1001 1100 bt sich das Bitmuster Eserg 1111 1000 0110 0111 1111 1100 1110 0000 Mit
62. Achsen ist beim CMXR auf 6 begrenzt Diese Achsen k nnen auf Kinemati sche und Hilfsachsen verteilt werden Die Positionen aller Achsen werden in einer Positi onsvariablen abgespeichert Somit umfasst der Datentyp AXISPOS 9 Koordinatenwerte Bedingt durch maximal 6 Frei heitsgrade umfasst der Datentyp CARTPOS ebenfalls 9 Koordinatenwerte die sich jedoch in 3 Positionsangaben 3 Orientierungsangaben und 3 Hilfsachsen unterteilen In der Programmierumgebung des FCT Plugln ist die Anzahl der Koordinatenwerte auf die Anzahl der projektierten Achsen begrenzt der Rest ist gesperrt Hinweis gt Beide Datentypen AXISPOS und CARTPOS k nnen f r Bewegungs befehle verwendet werden Die CMXR Steuerung f hrt je nach Be darf automatisch Wandlungen Koordinatentransformationen aus Entsprechendes ist der Befehlsbeschreibung zu entnehmen Bei den Datentypen AXISPOS und CARTPOS handelt es sich um strukturierte Datentypen siehe Kapitel 5 5 Strukturierte Datentypen auf Seite 31 9 1 1 Achsposition Eine Achsposition wird mit dem strukturierten Datentyp AXISPOS beschrieben siehe Kapi tel 5 5 Strukturierte Datentypen auf Seite 31 Dieser umfasst 9 Positionen von 9 einzelnen Festo GDCP CMXR SW DE de 0909a 63 9 Bewegungsbefehle Achsen deren Positionswert mit dem Datentyp REAL angegeben wird Bedingt durch das ausgew hlte Kinematikmodell kann dies eine Auswahl oder Mischung von linearen oder rotativen Achsen sein Die Einheit einer Position
63. Bausteine Syntax lt COPDEVICE ReadSDOSigned index DINT lt subindex gt DINT lt data gt DINT BOOL Parameter Typ Bedeutung EES index DINT Index des SDO subindex DINT Subindex des SDO data DINT Daten die gelesen werden Tabelle 18 23 Parameter Methode ReadSDOSigned Wird das Paket erfolgreich gelesen wird TRUE zur ckgegeben ansonsten FALSE Beispiel dint 1Data DENT zez 0 Programm Axis3_copd ReadSDOSigned 16 6098 0 dint iData SetInfo Gelesene Referenzfahrtmethode 1 dint iData 190 Festo GDCP CMXR SW DE de 0909a 18 Bausteine 18 10 5 SDO lesen Methode ReadSDOUnsigned Mit der Methode ReadSDOUnsigned k nnen Datenpakete auf dem CAN Bus gelesen wer den Die Methode erkennt automatisch wie lang die vom CAN Bus gelesenen Daten sind Diese werden vorzeichenlos als 32 Bit Wert zur ckgegeben Syntax gt lt COPDEVICE ReadSDOUnigned index gt DINT lt subindex DINT lt data DWORD BOOL Parameter Typ Bedeutung E index DINT Index des SDO subindex DINT Subindex des SDO data DWORD Daten die gelesen werden Tabelle 18 24 Parameter Methode ReadSDOUnsigned Wird das Paket erfolgreich gelesen wird TRUE zur ckgegeben ansonsten FALSE Festo GDCP CMXR SW DE de 0909a 191 19 Peripheriesignale 19 Peripheriesignale 19 1 Arbeiten mit digitalen Ein und Ausg ngen Digitale Signale werden ber die Konfiguration festgelegt
64. Beispiel wird im Falle eines Gutteiles und eines Ausschussteiles entspre chend verzweigt Sind die Signale undefiniert d h beide Signale haben den Zustand TRUE oder FALSE so wird auf die Position PosStart gefahren IF partOk AND NOT partBad THEN Gutteil Lin pos12 Lin pos13 ELSIF NOT partOk AND partBad THEN Ausschussteil Lin pos3 Lin pos4 ELSE Lin posStart keine definierten Signale END IF 85 Sprungbefehle Oft m ssen in FTL Programmen Spr nge ausgef hrt werden Diese Spr nge k nnen auf einer Entscheidung beruhen oder bedingungslos ausgef hrt werden Um einen Sprung durchzuf hren ben tigt man einen Ausgangspunkt und ein Sprungziel 46 Festo GDCP CMXR SW DE de 0909a 8 Programmsteuerung Entscheidung ber Sprung IFteilOk GOTO IblHome Lin pos15 I I l Lin pos16 I gt LABEL IblHome un Lin pos5 Lin pos6 Sprungziel Hinweis gt Das Sprungziel muss sich innerhalb des aktiven Programms befin den Ein Sprung in einen Anweisungsblock mit IF THEN WHILE oder LOOP ist nicht erlaubt Jedoch darf aus einem solchen Anwei sungsblock heraus gesprungen werden 8 5 1 Sprungmarke lt LABEL gt Eine Sprungmarke muss als Ziel eines Sprunges deklariert werden Die Sprungmarke be steht aus einem Namen der frei vergeben werden kann Die Sprungmarke ist eindeutig und darf nur einmal in einem Programm vorkommen Damit das System eine Sprungmarke erkennt wird das Schl sselwo
65. Controller FESTO Beschreibung Programmier anleitung CMXR FTL Basis Beschreibung 560 315 de 0909a 748985 Ausgabe 0909a Bezeichnung GDCP CMXR SW DE Bestell Nr 560 315 Festo AG amp Co KG D 73734 Esslingen 2009 Internet http www festo com E Mail service_international festo com Weitergabe sowie Vervielf ltigung dieses Dokuments Verwertung und Mitteilung seines Inhalts verboten soweit nicht ausdr cklich gestattet Zuwiderhandlungen verpflichten zu Schadenersatz Alle Rechte vorbehalten insbesondere das Recht Patent Gebrauchsmus ter oder Geschmacksmusteranmeldungen durchzuf hren Festo GDCP CMXR SW DE de 0909a Verzeichnis der Revisionen ZT u eaeae A Ersteller Handbuchname GDCP CMXR SW DE Dateiname Speicherort der Datei Revisions Index Datum der nderung Lfd Nr Beschreibung 001 Erstellung 0805NH 25 06 2008 002 Anpassung an Version 1 20 0909a 25 08 2009 Festo GDCP CMXR SW DE de 0909a INHALTSVERZEICHNIS INHALTSVERZEICHNIS T Einleitung EE 12 2 Sicherheitshinweise z 2 Ri 13 2 1 Gebrauch der Dokumentation sssseseseseesessssesoseeeesesssssseseeeesesssssseeeeeesesseseseeee 13 2 2 Bestimmungsgem er Gebrauch 13 2 3 Qualifiziertes Personal 14 2 4 Sicherheitshinweise zu den Produkten uz0ss0ssssssnnnnnnnsnnnnennsnnnnnnnsnsnnnnennenen 14 2 5 Sicherheitshinwe
66. E 210 20 5 3 tele Hirn 211 21 Men baum der FTL Befehle oo0ooossooesoosssoesssocesoosssoesesoossoosssoesesoossssesssesee 213 Festo GDCP CMXR SW DE de 0909a 11 1 Einleitung 1 Einleitung Dieses Dokument beschreibt den Befehlssatz FTL Festo Teach Language der Festo CMXR Mehrachssteuerung mit dem Softwarestand ab der Version 1 20 Die Programmierung der CMXR Steuerung erfolgt mit dem Handbedienger t CDSA D1 VX oder mit dem Plugin Bild 1 1 Festo Mehrachssteuerung CMXR C1 Festo Handbedienger t CDSA D1 VX FTL ist eine Programmiersprache mit einem Befehlsvorrat der f r die Erstellung von An wenderprogrammen durch Maschinen Benutzer konzipiert ist Der vereinfachte Sprach aufbau erm glicht das Erstellen von einfachen Maschinenabl ufen ohne dazu eine um fangreiche Programmierausbildung zu ben tigen Dieses Handbuch ist g ltig ab der CMXR Softwareversion 1 20 Diese ist zum Software stand 1 kompatibel 12 Festo GDCP CMXR SW DE de 0909a 2 Sicherheitshinweise 2 Sicherheitshinweise 2 1 Gebrauch der Dokumentation Dieses Dokument ist f r Bediener und Programmierer von Robotern gedacht die mit dem Festo CMXR System arbeiten Es gibt eine Einf hrung in die Bedienung und Programmie rung Eine entsprechende Schulung des Personals ist Voraussetzung 2 2 Bestimmungsgem er Gebrauch N Warnung Das Festo CMXR System ist nicht f r sicherheitsrelevante Steue rungsaufgaben z B Stillsetzen im Notfall o
67. Fehlermeldung f hren weil das Ergebnis rechnerisch korrekt ist Festo GDCP CMXR SW DE de 0909a 81 9 Bewegungsbefehle Beispiel Mit einer Kinematik soll folgende Kontur abgefahren werden Y Achse Position pos1 _ le a 8 ION St tzpunkt IpPos olo eg EEN ES O 3100 gene O o_ 7 Endpunkt EndPos Position pos2 X Achse 455 950 1050 Die Z Achse bleibt auf der Koordinate 0 Der Startpunkt des Kreisbogens wird ber einen separaten Fahrbefehl z B Ptp oder Lin angefahren Variablen pos1 CARTPOS 950 500 0 0 Be 0 0 0 0 pos2 CARTPOS 455 300 0 O 0 0 0 0 0 IpPos CARTPOS 1050 400 0O 0 De De 0 De 0 EndPos CARTPOS ze 950 300 0 0 03 Or 0 0 0 Programm Lin posl Anfahren Startpunkt CircIp IpPos EndPos Kreisbewegung auf Endpunkt Lin pos2 82 ff Abfahren Festo GDCP CMXR SW DE de 0909a 9 Bewegungsbefehle 9 7 4 Zirkularbefehl mit St tzpunkt PTP Anfahrt lt PtpToCircip gt Im Gegensatz zum Zirkularbefehl Circlp besitzt dieser Befehl den Startpunkt des Kreisbo gens in der Parameterliste Dies hat den Vorteil dass der Kreisbogen konsistent beschrie ben wird Der Startpunkt des Kreisbogens wird mit einem PTP Befehl angefahren Sonst ist das Verhalten gleich wie beim Circlp Befehl Da es sich beim Anfahren des Startpunktes um eine PTP Bewegung und bei der Kreisinter polation um eine kartesische Bewegung handelt ist kein geometris
68. I Instanzierung mit dem Handbedienger t Die Instanzierung des analogen Eingangsbausteins mit dem Handbedienger t erfolgt in der Variablenmaske durch Auswahl des Datentyps AIN Mit der Instanzierung am Handbedienger t wird der Eintrag im Datenfile automatisch ge speichert Festo GDCP CMXR SW DE de 0909a 171 18 Bausteine 18 6 2 Variable Der analoge Eingangsbaustein besitzt folgende Variablen Variable Typ Bedeutung Zustand beim Anlegen Timeout REAL Timeout zum Warten bei den Befehlen WaitLss WaitGrt 1 Waitlns und Waitouts 1 kein Timeout unendlich warten 0 sofortige berpr fung gt 0 Timeout in Millisekunden Input AINPORT Verweis auf den Hardwareeingang Tabelle 18 6 Variablen analoger Eingangsbaustein Timeout Mit dem Parameter Timeout kann eine Wartezeit definiert werden Die Methode des Bau steins wartet die eingestellte Zeit auf den angeforderten Signalzustand e Steht der Wert auf 1 so erfolgt ein unendliches Warten e Wird ein Wert gt O angegeben so wird max diese Zeit abgewartet Ist die Wartezeit abgelaufen ohne dass der gew nschte Signalzustand eingetreten ist wird der Pro grammablauf fortgesetzt Eine Fehlermeldung muss vom Ablaufprogramm selbst erzeugt werden e Wird als Wert O angegeben so erfolgt eine sofortige Pr fung Falls das Signal nicht den gew nschten Wert besitzt muss vom Ablaufprogramm eine Fehlermeldung ge neriert werden
69. In dieser wird f r jedes Hard waresignal ein eigener Name definiert Diese Namen k nnen im Bewegungsprogramm f r Abfragen oder zum Ansteuern verwendet werden Jedes digitale Signal ist in Form eines strukturierten Datentyps abgebildet Dieser enth lt die Daten State BOOL Status des Signals TRUE oder FALSE Error BOOL Informationen ber einen Fehler des Signals Der Zugriff auf diese Daten geschieht ber den Hardwarenamen und den Punktoperator Beispiel Ein Sensoreingangssignal hat die Bezeichnung GripperOpen Der Zugriff auf den Zustand des Sensors lautet GripperOpen State Dieser Ausdruck ist vom Datentyp BOOL und kann wie eine boolesche Variable im Pro gramm verwendet werden 19 2 Arbeiten mit analogen Ein und Ausg ngen Analoge Signale werden ber die Konfiguration festgelegt In dieser wird f r jedes Hard ware Signal ein eigener Name definiert Der Name kann im Bewegungsprogramm wie eine Variable verwendet werden und somit kann z B ein Analogwert f r eine Berechnung ver wendet werden Jedes analoge Signal ist in Form eines strukturierten Datentyps abgebildet Dieser enth lt die Daten Value REAL Wert des Signals Error BOOL Informationen ber einen Fehler des Signals Der Zugriff auf diese Daten geschieht ber den Hardwarenamen und den Punktoperator 192 Festo GDCP CMXR SW DE de 0909a 19 Peripheriesignale Beispiel Ein Analogeingangssignal hat die Bezeichnung Level Der Zugriff
70. L Parameter Bedeutung Einheit Festo GDCP CMXR SW DE de 0909a 107 11 berschleifbefehle Parameter Bedeutung Einheit berschleifbereich Abstand zum Endpunkt eingestellte L ngeneinheit Tabelle 11 2 Parameter Befehl OvlCart Hinweis p Ein geometrisches berschleifen wird sehr oft in Verbindung mit einer konstanten Bahngeschwindigkeit ben tigt Diese wird mit dem Befehl VconstOn eingestellt siehe Kapitel 10 7 Konstante Bahngeschwindigkeit auf Seite 99 Beispiel Eine Kontur soll mit konstanter Bahngeschwindigkeit und mit einem berschleifbereich von 5 mm abgefahren werden p1 p2 berschleif g N G K m bereich p3 5 SK 6 FEN p Sg N p5 Vel dynCart 300 Bahngeschwindigkeit auf 300 mm sec Vconston 25 TRUE einschalten konst Bahngeschw OvlCart 5 berschleifbereich einstellen Lin pl Lin p2 Lin p3 Lin p4 Lin p5 Lin p6 108 Festo GDCP CMXR SW DE de 0909a 12 Referenzsysteme Nullpunktverschiebung 12 Referenzsysteme Nullpunktverschiebung Referenzsysteme sind kartesische Koordinatensysteme mit 3 translatorischen und 3 rotatorischen Freiheitsgraden Die Definition der Orientierung basiert auf der Euler ZYZ Konvention Hinweis gt Da die Referenzsysteme von kartesischer Art sind haben sie keine Auswirkungen auf den Nullpunkt einzelner Achsen im Achskoordi natensystem Sie wirken sich nur auf das kartesische Koordinaten system aus Zum S
71. Lin pos3 Mit der DO Anweisung k nnen einfache Schaltvorg nge ausgef hrt werden die im Haupt lauf der FTL Bearbeitung ausgef hrt werden Eine Kompensation etwaiger Schaltzeiten ist hier nicht m glich Es erfolgt keine Kopplung an die Bahngeschwindigkeit Dies bedeutet dass sich durch eine nderung der Bahndynamik das Schaltverhalten bezogen auf die Bahn ndern kann Beispiel Auf der folgenden Kontur muss ein digitaler Ausgang auf den geraden Strecken einge schaltet und in den Kreisbogen ausgeschaltet werden Lin Posl1 DO App Lin Pos2 DO App Licator Set Licator Reset CircIp Iposl1 Pos3 DO Applicator Set Lin Pos4 DO App CirelIp Ipos2 Pos Licator Reset Posi Pos4 40 Pos3 Festo GDCP CMXR SW DE de 0909a 5 Grunddatentypen 5 8 1 Verhalten im berschleifbereich Ist das berschleifen aktiviert so kann die DO Anweisung nicht beim Erreichen des Pro grammierten Punktes ausgef hrt werden da dieser bedingt durch das berschleifen nicht erreicht wird In diesem Fall wird der Schaltpunkt auf die Bahn des berschleifbereiches projiziert und ausgef hrt Hinweis gt M nden die Bewegungssegmente tangential ineinander so hat das berschleifen keine Auswirkung auf das Ausf hren der DO Anwei sung Do Anweisung wird hier ausgef hrt P2 Festo GDCP CMXR SW DE de 0909a 41 6 Variablendeklarationen 6 Variablendeklarationen Die Var
72. NCODER Read Festo GDCP CMXR SW DE de 0909a 217 INDEX esse 61 SEET EE 61 global sun 19 A e 152 e EN Achsposili n sea 63 Achse 147 Reeder e 150 Allstars 170 HE 175 Array EC 31 ASIN EE 146 SE E 149 ATAN2 au 151 AXISPO E 63 B Beispiel Arbeiten mit der SPS Schnittstelle 210 Arbeiten mit Ein und Ausgangsbausteinen 197 Arbeiten mit Greifern eeeeeceseeeennn 199 Steuerung des Satzvorlauf 198 Stoppen von Bewegungen 194 WAIT mit digitalem Eingang 57 C CA n E 51 CARTPOS see 63 CHR ae E tee 155 ele E 81 Sea 180 COS Erin 147 UT een 150 D Datentypen 28 deaktivierter Programmsatz 61 BD 159 DOREEN 39 DOUT Eau 163 218 DYNOV ee 96 E ENCODER NEO Se 184 EO nalen 192 AAP a NEN N eu 151 F ER eene ee 12 16 19 G COO 2a era 48 SE CR H O DEE 47 IF AOHEN gege 2 2 45 IG MAPDEID AAA 37 IsReferenced AAA 121 J EEN 92 K Kartesische Position 66 KIEL 54 Kommentar 61 L RE ME 47 issue 74 Reha geed ME 76 ir gle L ld e Nee ER VE 151 LE rar 49 LOW HIGH 34 M MAR sans 37 MAPTO EE 37 Moveihvlet art 72 M veAxisPplpessushassseiesss 72 N Nullsegment beet 103 0 BORD 2er 155 BUS e esse 107 OVIVele arae ner 105 Festo GDCP CMXR SW DE de 0909a INDEX DV zes mas ne 94 P alle E ae ia 133 Ple E EE 133 BIER SEN 134 DIE VarDint aaa 132 Profibusschnittstelle 222220200000 130
73. P CMXR SW DE de 0909a 17 Funktionen 17 17 Wert nach String wandeln lt STR gt Wandelt einen beliebigen Datentyp in einen String um Syntax gt Variable gt STRING STR Wert ANY Beispiel Mit der Anweisung STR wird der Wert der Variable Reali in einen String gewandelt Reall 25 5 Stringl STR Reall String1 hat nun den Wert 25 500000 17 18 ASCII Wert in Zeichen wandeln lt CHR gt Wandelt einen ASCII Wert in ein einzelnes Zeichen um Syntax gt Variable gt STRING CHR Wert gt DINT DWORD Beispiel Mit der folgenden Anweisung enth lt die Variable String1 den Wert a Stringl CHR 97 17 19 Zeichen in ASCII Wert wandeln lt ORD gt Wandelt ein einzelnes Zeichnen in den ASCII Wert um Syntax gt Variable gt DINT DWORD ORD Wert gt STRING Beispiel Mit der folgenden Anweisung enth lt die Variable Dint1 den Wert 65 Dinti D ESCH Festo GDCP CMXR SW DE de 0909a 155 18 Bausteine 18 Bausteine Die FTL Sprache verf gt ber die M glichkeit Bausteine zu verwenden Bausteine besitzen neben Daten auch Bestandteile in Form von Programmcode um eine bestimmte Funktio nalit t zu erzielen Um mit einem Baustein in FTL zu kommunizieren besitzt dieser Ein und Ausgangsdaten Grafische Darstellung eines Bausteins Baustein Analogwert Ausgangsdaten Eingangsdaten des Bausteins des Bausteins Interner Programmcode Die Anzahl der Ein
74. Parameter Befehl Vel Enumeration Parameter Bewegungsart Einheit Mode _ ee n dynPtp Point To Point dynCart kartesisch mm sec Tabelle 10 2 Einheiten Parameter Value Beispiel Variable als AXISPOS 60 60 0 0 0 0 0 0 0 ax isl AXISPOS 60 60 0 0 0 0 0 0 0 ax s2 AXISPOS e 100 60 0 0 0 0 0 0 0 Programm Vel dynPtp 30 Geschwindigkeit f r PTP auf 30 Ptp axis0 Vel dynCart 500 Bahngeschwindigkeit auf 500 mm sec Lin axisl speed 85 90 Festo GDCP CMXR SW DE de 0909a 10 Dynamikbefehle Vel dynPtp EE ax1s3 speed Geschwindigkeit f r PTP auf 85 S 10 3 Beschleunigung lt Acc Einstellen der Beschleunigung und Verz gerung f r PTP und kartesische Bewegungen der Handachsen Die nachfolgenden Befehle werden auf den angegebenen Wert reduziert Die Steuerung reduziert die Beschleunigung bzw Verz gerung bei berschreitung der Achs grenzwerte selbstst ndig gt Syntax Acc lt Mode gt ENUM lt ValueAcc gt REAL OPT ValueDec gt REAL Parameter Bedeutung Einheit Mode Art der Beschleunigung Enumeration dynPtp dynCart ValueAcc Wert f r die Beschleunigung mm sec oder Grad sec ValueDec Wert f r das Abbremsen optionale Angabe mm sec oder Grad sec TI amamma Tabelle 10 3 Parameter Befehl Acc Beispiel Variable Festo GDCP CMXR SW DE de 0909a ISPOS ISPOS
75. Ramp VconstOn VconstOff E Anweisungen 214 Festo GDCP CMXR SW DE de 0909a 21 Men baum der FTL Befehle WaitOnPath StopProgram WaitTime WaitOnPos CALL II WAIT LABEL GOTO IF GOTO IF THEN END_IF ELSE ELSIF THEN WHILE DO END_WHILE LOOP RETURN E Roboterbefehle El Referenzsysteme o SetRefSys o SetRefSys3P o SetRefSysWorld Tool E Systemfunktionen E Zeitmessung o CLOCK Reset o CLOCK Start o CLOCK Stop o CLOCK Read o CLOCK ToStr E zus tzliche Funktionen o SHR Festo GDCP CMXR SW DE de 0909a 21 Men baum der FTL Befehle O O SHL ROR ROL STR CHR ORD E Meldesystem Setlnfo 216 SetWarning SetError E E A Bausteine El Analoge Eing nge O O O O O AIN Read AIN WaitLss AIN WaitGrt AIN Waitlns AIN WaitOuts El Analoge Ausg nge O O O O O O AOUT Write AOUT Read AOUT WaitLss AOUT WaitGrt AOUT Waitlns AOUT WaitOuts El CANopen Ger te O O O COPDEVICE WriteSDO COPDEVICE ReadSDOUnsigned COPDEVICE ReadSDOSigned H Digitale Eing nge O O O DIN Read DIN Wait DIN WaitN DIN RisingEdge DIN ResetRisingEdge Festo GDCP CMXR SW DE de 0909a 21 Men baum der FTL Befehle H Digitale Ausg nge O O O O O O O O DOUT Set DOUT Reset DOUT Write DOUT Pulse DOUT Read DOUT ResetRisingEdge DOUT Wait DOUT WaitN DOUT RisingEdge H Inkrementalgeber O O ENCODER Set E
76. Typ Bedeutung Zustand beim Anlegen Timeout REAL Timeout zum Warten bei den Befehlen Wait und WaitN 1 1 kein Timeout unendlich warten 0 sofortige berpr fung gt 0 Timeout in Millisekunden RisingEdge BOOL Zustand der steigenden Flanke FALSE Input DINPORT Verweis auf den Hardwareeingang Tabelle 18 1 Variablen digitaler Eingangsbaustein Timeout Mit dem Parameter Timeout kann eine Wartezeit definiert werden Die Methode des Bau steins wartet die eingestellte Zeit auf den angeforderten Signalzustand e Steht der Wert auf 1 so erfolgt ein unendliches Warten e Wird ein Wert gt O angegeben so wird max diese Zeit abgewartet Ist die Wartezeit abgelaufen ohne dass der gew nschte Signalzustand eingetreten ist wird der Pro grammablauf fortgesetzt Eine Fehlermeldung muss vom Ablaufprogramm selbst erzeugt werden e Wird als Wert O angegeben so erfolgt eine sofortige Pr fung Falls das Signal nicht den gew nschten Wert besitzt muss vom Ablaufprogramm eine Fehlermeldung ge neriert werden Weitere Informationen und ein Beispiel zum erzeugen der Fehlermeldung sind im Kapi tel 20 2 Arbeiten mit Ein und Ausgangsbausteinen beschrieben 160 Festo GDCP CMXR SW DE de 0909a 18 Bausteine RisingEdge Obwohl der Baustein nicht aufgerufen wird speichert er den Zustand einer steigenden Flanke Dieser Zustand kann im Programm ausgewertet werden Input Die Variable Input beschreibt den Verw
77. UN calculate calculate flagLoop TRUE WHILE TRUE DO index 0 wait for event loop for feeding S IF signal THEN WHILE index 0 DO IF index 0 THEN j increase counter j start position signalCount signalCount 1 Lin pos1 signal FALSE ELSE rs END_IF wait 50 msec WaitTime 50 END WHILE EOF In diesem Beispiel ruft das Programm feed ein Parallelprogramm calculate auf Das aufgerufenen Programm calculate wartet zun chst auf ein Signal und erh ht einen Z h ler W hrenddessen wird das Hauptprogramm feed weiter abgearbeitet Festo GDCP CMXR SW DE de 0909a 53 8 Programmsteuerung Hinweis 2 Wird in einem parallelen Programm eine Endlosschleife program miert so ist daf r zu sorgen dass diese die Programmausf hrung der anderen Programme nicht blockiert Durch einen Wait oder ei nen WaitTime Befehl wird ein Verteilen der Rechenleistung auf die anderen Programme gew hrleistet 8 8 1 Paralleles Programm starten RUNG Ein paralleles Programm wird mit dem Befehl RUN gestartet Eine Parameter bergabe an das zu startende Programm ist nicht m glich Sollten Daten bergeben werden so k nnen globale Variable daf r verwendet werden gt Syntax RUN lt Programmname gt Ein bereits laufendes Programm kann nicht gleichzeitig als Parallelprogramm gestartet werden 8 8 2 Paralleles Programm beenden KILL Ein aktives parallel laufendes Programm kann aus dem aufrufenden
78. aben k nnen sie doch bei Kurzschluss genug Strom abgeben um brennbare Materialien zu entz nden Sie d rfen deshalb nicht gemeinsam mit leitf higen Materialien wie z B Eisensp ne mit l verunreinigte Drahtwolle usw entsorgt werden ESD 2 Elektrostatisch gef hrdete Bauelemente Unsachgem e Handha bung kann zu Besch digungen von Bauelementen f hren Warnung GEFAHR Gefahrbringende Bewegungen Lebensgefahr schwere K rperverletzung oder Sachschaden durch unbeabsichtigte Bewegungen der Achsen 2 5 Sicherheitshinweise zu diesem Handbuch Warnung GEFAHR Die Nichtbeachtung kann hohe Sachsch den und Personensch den zur Folge haben Vorsicht Die Nichtbeachtung kann hohe Sachsch den zur Folge haben 14 Festo GDCP CMXR SW DE de 0909a 2 Sicherheitshinweise 2 6 Sicherheitsanweisungen f r das beschriebene Pro dukt Warnung AN Gefahr Lebensgefahr durch unzureichende NOT AUS Einrichtungen NOT AUS Einrichtungen m ssen in allen Betriebsarten der Anlage wirksam und erreichbar bleiben Ein Entriegeln der NOT AUS Einrichtung darf keinen unkontrollierten Wiederanlauf der Anlage bewirken Erst NOT AUS Kette pr fen dann einschalten Warnung GEFAHR Gefahr f r Personen und Sachen Testen Sie jedes neue Programm bevor Sie die Anlage in Betrieb nehmen Warnung GEFAHR Nachr stungen und Ver nderungen k nnen die Sicherheit des Sys tems beeintr chtigen Die Folgen k nnen schwere Pers
79. able siehe Kapitel 18 3 1 auf Seite 158 Beispiel Ptp pos0 sensor Wait warten Signal TRUE Bewegung gestoppt Prp p sl sensor WaitN TRUE warten Signal FALSE kein Stop Ptp pos2 18 4 4 Zustand Lesen Methode Read Mit der Methode Read kann der aktuelle Zustand des Einganges gelesen werden Als R ckgabewert wird der Zustand TRUE oder FALSE zur ckgegeben Synatx gt lt Instanzname Read OPT ovlEnable BOOL BOOL Beschreibung des Parameters ovlEnable siehe Kapitel 18 3 1 auf Seite 158 Beispiel value sensor Read 18 4 5 Steigende Flanke Methode RisingEdge Mit der Methode RisingEdge kann abgefragt werden ob es am Eingang eine steigende Flanke gab die gespeichert wurde Der R ckgabewert ist auch dann TRUE wenn der Ein gang inzwischen den Zustand FALSE besitzt Der Zustand der Flanke wird unabh ngig vom Zyklus des FTL Programms ermittelt und l uft in einem eigenen Zyklus ab 162 Festo GDCP CMXR SW DE de 0909a 18 Bausteine Syntax gt lt Instanzname RisingEdge OPT ovlEnable BOOL BOOL Beschreibung des Parameters ovlEnable siehe Kapitel 18 3 1 auf Seite 158 Beispiel value sensor RisingEdge 18 4 6 Flanke r cksetzen Methode ResetRisingEdge Diese Methode setzt den internen Merker der steigenden Flanke zur ck Dies ist dann er forderlich wenn mit der Methode RisingEdge eine steigende Flanke abgepr ft werden soll Syntax gt lt Instanzname ResetRisingEdge
80. able wird im Satz Verwendung der DO Anwei vorlauf bearbeitet sung Variable wird im Haupt lauf bearbeitet 15 2 Boolesche Ein und Ausg nge Die Schnittstelle umfasst 16 digitale Ein und Ausgangssignale die im Weiteren immer aus Sicht des CMXR gesehen werden Sie sind in Form einer booleschen Variable auf der Steu erung verf gbar Diese booleschen Signale werden zyklisch mit der bergeordneten Steu erung ausgetauscht Hinweis gt Die booleschen Variablen werden ber den Zyklus des PROFIBUS automatisch zur bergeordneten Steuerung bertragen bzw von dieser gelesen Die booleschen Variablen sind in einem Array abgelegt auf das ber den Index O bis 15 zugegriffen werden kann Festo GDCP CMXR SW DE de 0909a 131 15 PROFIBUS Schnittstelle 3 Syntax plc_InBool lt Arrayindex gt BOOL plc_OutBool lt Arrayindex gt BOOL In der Arrayvariablen plc_InBool sind alle Eingangssignale gespeichert Die Arrayvariable plc_OutBool enth lt alle Ausgangsdaten Beispiel ple OutBool 9 ze FALSE Bit 9 zur PLC auf FALSE IF plc _InBool 5 THEN pr fen Bit 5 von PLC Lin pos1 Lin pos2 END_IF plc _ OutBool 9 TRUE Bit 9 zur PLC auf TRUE Beispiele mit Satzvorlauf mit DO Anweisung 15 3 Integer Variablen 32 Bit Die Schnittstelle bietet 256 Integervariablen vom Datentyp DINT der 32 Bit umfasst Diese Variablen unterliegen keinem zyklischen Datenaustausch und k nnen von der externen Steuerung na
81. andbedienger t vn 94 10 5 2 Dyniamikoverride lt DynOvo ns a 96 10 6 Beschleunigungsrampen su 20a 97 10 6 1 Setzen von Rampenformen Ramp s ssssssssssssssssssssssssssssssssssssssssssssssss 98 10 7 Konstante Bahngeschwindigkeit einschalten VconStOn ssssssssssssssssssssssessssses 99 10 8 Konstante Bahngeschwindigkeit ausschalten VconstOff eeeeceeeeeseseseseseeeeen 101 11 berschleifbefehle u u un Ran 102 TET Nullsesmente nennen sets 103 Festo GDCP CMXR SW DE de 0909a INHALTSVERZEICHNIS 11 27 E EE 104 11 3 Geschwindiekeits berschleifen 2 2 ha an 105 11 3 1 MiL ProzentisktorsOyWe aners EE Be 105 11 4 Geometrisches berschleifen E 107 11 4 1 berschleifen der Achsen X Y und Z vam 107 12 Referenzsysteme Nullpunktverschiebung 0sse00sr000s000nrennnennneennnsnnnnee 109 12 1 Bezug des Referenzsystems s u a eu 109 12 2 Daten des Reterenzevetems 110 12 3 Referenzsystem mit direkten Werten lt SetRefSys gt ceecssssssssssessssssssnnnenenenennnennn 111 12 4 Referenzsystem mit 3 Punkten GeibRef vs 2bx ue 112 12 5 Referenzsystem Welt lt SetRefSysWorld gt cceeeeesssssssssssssssssnsonnnonnnnnnnnnnnnnnnnnenen 114 12 6 e E BEE 114 13 Referenzieren einer Kinematik ssssesossessonsessonsesnsnssnnsnunsnsnnssnsnnnsnsnnnnnnnnne 116 13 7 ReferenzfahtEkREAX Daten ea ara 116 13 2 Asynchrone Referenzfahrt lt RefAxisAsync gt d eeeesesessssosnnnsnnnensessnnnnnnnsnnnnenssnnnnnnnn
82. aralle len Programm bedient so wird dieser im Falle eines NOT AUS nicht gestoppt Hinweis 2 Wie einzelne Ger te angesprochen werden m ssen die per CAN Bus mit der CMXR verbunden sind ist der jeweiligen Herstellerdo kumentation des Busteilnehmers zu entnehmen Festo GDCP CMXR SW DE de 0909a 187 18 Bausteine 18 10 1 Instanzierung Die Instanzierung des CANopen Bausteins erfolgt aufgrund der IO Konfiguration der Steu erung automatisch und ist manuell nicht m glich Der Zugriff auf angeschlossene CANopen Ger te erfolgt ber einen eindeutigen Namen welcher ber die Konfigurationssoftware FCT vorgegeben wird Der im FCT angegebene Name kann dabei nicht direkt verwendet werden sondern es erfolgt eine Namenserweite rung mit der Endung _copd Dies gilt sowohl f r Antriebe welche am DriveBus ange schlossen sind als auch f r CANopen Ger te am Peripherie CAN Bus Beispiel Die Achse 1 der Kinematik wird im FCT in der DriveBus Konfiguration als Axis1 bezeichnet Der Zugriff erfolgt ber Axisi_copd BausteinMethode CANopen Konfiguration IO ONBOARD SLOTCAN O FX200A 0 CAN O COPDEVICE 1 name Axisl Name des COP Device Programmcode Axisl_copd WriteSDO 16 6060 0 7 eight_bits 18 10 2 Methoden Der CANopen Baustein verf gt ber folgende Methoden Methode Beschreibung EEN WriteSDO SDO schreiben ReadSDOUnsigned SDO lesen ohne Vorzeichen ReadSDOSigned SDO lesen mit Vorzeichen Tabel
83. arten auf Ende der Referenzfahrt lt WaitRefFinished gt Warten bis alle asynchron gestarteten Referenzfahrten abgeschlossen sind Syntax gt WaitRefFinished BOOL Der Befehl wartet bis die asynchronen Referenzfahrten beendet wurden es wird auf den Hauptlauf gewartet oder bis ein Fehler bei einer Referenzfahrt aufgetreten ist Ist bei der Referenzfahrt kein Fehler aufgetreten wird TRUE zur ckgegeben ansonsten FALSE Programm RefAxisAsync Al refdata0 RefAxisAsync A2 refdata0 RefAxisAsync A3 refdata0 RefAxisAsync A4 boolReferenc WaitRefFinished IF NOT boolReference THEN SetError Error homing END_IF Vorsicht IN Bei der Ausf hrung des Makros RefAxisAsync ist die Verwendung des Makros WaitRefFinished zwingend n tig um die weitere Pro srammbearbeitung sicherzustellen Wird nicht auf das Ende der Referenzfahrt gewartet so k nnen etwaige Befehle bedingt durch die Vorausberechnung des Programms Fehler erzeugen 120 Festo GDCP CMXR SW DE de 0909a 13 Referenzieren einer Kinematik 13 4 Status einer Achse abfragen IsAxisReferenced gt Abfrage ob eine Achse referenziert ist Syntax IsAxisReferenced axis AXIS BOOL Parameter Bedeutung Einheit Ausgew hlte Achse die abgefragt werden Enumeration A1 soll A2 bis A9 Tabelle 13 5 Parameter Befehl IsAxisReferenced Ist die angegebene Achse referenziert wird TRUE zur ckgegeben ansonsten FALSE
84. atei Erweiterung f r Programmdaten Beispiel F r ein Programm mit dem Namen Load wird die Datei Load tip angelegt Der Datei name der programmlokalen Daten lautet Load tid Wird das Programm ber das Handbedienger t CDSA oder ber den Festo Programmier editor im Festo Configuration Tool angelegt erfolgt das Erzeugen der Datei f r pro srammlokale Daten automatisch Erfolgt eine Programmgenerierung ber eine andere Software so ist darauf zu achten dass f r jedes Programm die entsprechende Datendatei angelegt wird Hinweis gt Erfolgt eine Programmgenerierung ber eine fremde Software so ist darauf zu achten dass die Namenskonvention der Dateien ein gehalten wird Festo GDCP CMXR SW DE de 0909a 19 3 Programmbearbeitung 3 7 1 Projektglobale Programme Das systemglobale Projekt _global kann neben Daten auch Programme beinhalten Die se Programme k nnen von allen Programmen in allen Projekten genutzt werden Systemglobale Programme bieten einen entscheidenden Komfort Programme die von der eingesetzten Kinematik abh ngen k nnen so losgel st von den Applikationsprojekten definiert und abgelegt werden Existieren bei einer Kinematik feste Positionen wie z B eine Sicherheitsposition so kann der Ablauf zum Fahren auf diese Position einmalig im globalen Projekt abgelegt werden 3 8 FTL Datendatei lt Name9 tid Im CMXR Steuerungssystem dienen Daten als Variable und zur Kommunikation Die Pro
85. ationen Vergleichsoperationen STRING Vergleichsoperationen Tabelle 5 2 m gliche Operationen Festo GDCP CMXR SW DE de 0909a 5 Grunddatentypen Prinzipiell muss bei einer Zuweisung auf Datentypen der Wert vom gleichen Datentyp sein FTL unterst tzt jedoch teilweise auch die Zuweisung unterschiedlicher Datentypen In die sem Fall wird eine automatische Typkonvertierung durchgef hrt F r bestimmte Datenty pen m ssen f r die Zuweisung die Built in Funktionen STR CHR und ORD verwendet wer den von nach BOOL Ganze Zahlen Bitmuster REAL STRING een RJ ba s Jee d Ganze Zahlen ja ja ja STR CHR Bitmuster ja ja STR CHR REAL ja ja STR STRING ORD ORD ja Tabelle 5 3 m gliche Zuweisungen Je nach Datentyp sind folgende Zuweisungen m glich Funktion Operation STR Wandelt einen beliebigen Datentyp in einen String um CHR Wandelt einen ASCII Wert in ein einzelnes Zeichen um ORD Wandelt ein einzelnes Zeichnen in den ASCII Wert um Tabelle 5 4 Built in Funktionen 5 1 Boolescher Datentyp BOOL Der boolesche Datentyp hat die Wertigkeit TRUE und FALSE Er wird vorwiegend f r logi sche Operationen auch in Verbindung mit Peripheriesignalen z B Sensoreing ngen und Aktuator Ausg ngen verwendet Beispiel Variablen pos1 BOOL pos2 BOOL pos3 BOOL minlPosValid BOOL allPosValid BOOL Programmcode allPosValid
86. auf den Zustand des Sensors lautet Level Value Dieser Ausdruck ist vom Datentyp REAL und kann wie eine Variable im Programm verwen det werden Festo GDCP CMXR SW DE de 0909a 193 20 Beispiele 20 Beispiele In den folgenden Kapiteln sind Beispiele abgebildet die die Verwendung der Program miersprache darstellen Warnung A Alle Beispiele dienen zur Darstellung der Verwendung der Pro grammiersprache Es besteht kein Anspruch auf Richtigkeit Voll st ndigkeit und Verwendung der Beispiele als lauff hige Applikati on Werden Programmteile aus den Beispielen in eine Applikation eingebaut so sind diese bez glich dem Verwendungszweck zu pr fen und die Funktion mit einer entsprechenden Inbetriebnahme sicher zu stellen Die Nichtbeachtung kann Sachsch den und Personensch den zur Folge haben 20 1 Stoppen von Bewegungen Ein Handhabungsroboter muss von einem Stapel Blech eine Tafel entnehmen und auf einer Rollenbahn ablegen Die genaue H he des Stapels ist unbekannt Das Greifersystem ist jedoch mit einem Sensor ausgestattet der eine Abfrage erlaubt ob das Greiferwerkzeug auf ein Hindernis aufgefahren ist Dieser Sensor wird dazu genutzt die obere Blechtafel zu detektieren Um zu erkennen dass ein Blechstapel abgearbeitet ist ist zus tzlich ein Sen sor zum Erkennen leerer Stapel angebracht Greifersystem mit Auffahrerkennung Eingang inCollision Rollenbahn Blechstapel Sensor zum Erkennen leerer Sta
87. ax PtpRel lt Dist gt AXISDIST oder CARTDIST Parameter Bedeutung Einheit Relative Entfernung die gefahren werden soll AXISDIST oder CARTDIST Tabelle 9 2 Parameter Befehl PtpRel Die Distanzangabe kann kartesisch oder bezogen auf jede einzelne Achse sein Die CMXR Steuerung transformiert die Positionen entsprechend Beispiel In einer Handhabungsapplikation wird ein Teil an 4 Positionen jeweils an eine Messeinheit angefahren Z Achse pos1 K 300 N pos2 Py pos3 i en n KA VI CH 100 207 850 70 Festo GDCP CMXR SW DE de 0909a 9 Bewegungsbefehle Variable posl 2 CARTPOS 100 0 300 0 0 0 O 0 0 pos2 CARTPOS 207 0 225 0 0 0 0 0 0 pos3 2 CARTPOS 850 0 300 0 0 0 O 0 0 distx CARTDIST 110 0 0 0 0 0 0 0 0 distZpos CARTDIST e 0 0 150 0 0 09 De 0 0 distZneg CARTDIST 0 0 150 0 0 0 0 0 0 Programm Ptp pos1 Ptp pos2 LOOP 3 DO PtpRel distZneg CALL Check Aufruf Pruefzyklus PtpRel distZpos PtpRel distX END LOOP PtpRel distZneg CALL Check Aufruf Pruefzyklus PtpRel distZpos PtpRel distX Ptp pos3 Der Messzyklus f r das Werkst ck sowie die Auswertung werden im Unterprogramm Pruefe abgehandelt Der Inhalt des Unterprogramms ist zur Vereinfachung nicht darge stellt Festo GDCP CMXR SW DE de 0909a 71 9 Bewegungs
88. befehle 9 4 lt MoveAxisCart gt Mit dem Befehl MoveAxisPtp und MoveAxisCart kann eine Achse der Kinematik mit einer PTP Bewegung oder kartesischen Bewegung positioniert werden Die Zielposition der Ach se wird absolut angegeben Syntax Bewegung einer Achse lt MoveAxisPtp gt MoveAxisPtp Axis ENUM lt Pos gt REAL MoveAxisCart CartComp gt ENUM lt Pos gt REAL Parameter Axis Bedeutung Ausgew hlte physikalische Achse die verfahren werden soll Einheit Enumeration mit der Wertigkeit A1 bis A9 f r Achse 1 bis 9 Pos Absolute Zielposition Einheit der definierten Achse Tabelle 9 3 Parameter Befehl MoveAxisPtp Parameter CartComp Bedeutung Ausgew hlte kartesische Achse die verfahren werden soll Einheit Enumeration mit der Wertigkeit XYZ ABC Pos Absolute kartesische Zielpositi on Einheit der definierten Achse Tabelle 9 4 Parameter Befehl MoveAxisCart Da es sich hier um eine Einzelachse handelt erfolgt die Bewegung unter Ber cksichtigung etwaiger Begrenzungen z B Override mit voller Achsdynamik Beispiel Eine kartesische Kinematik besteht aus 4 Achsen e Achse 1 X Achse e Achse 2 Y Achse e Achse 3 Z Achse und J Achse 4 Drehachse des Werkzeuges Im Beispiel muss ein Werkst ck an einer Position aufgenommen und an einer anderen Position abgelegt werden Dazu muss die Drehachse entsprechend positio
89. bergeben werden N heres ist in den folgen den Kapiteln der einzelnen Bausteine beschrieben 18 2 Variable Neben Funktionen k nnen Bausteine auch Variable enthalten Mit diesen Bausteinvariab len kann auf Daten des Bausteins zugegriffen werden Der Zugriff auf die Variablen des Bausteins erfolgt ber den Instanznamen und den Punkt Operator 3 Zugriff auf Bausteinvariable lt Instanzname gt lt Variablenname gt Der Zugriff auf die Daten kann bei bestimmten Bausteinen ber Variable und Funktionen erfolgen sie liefern das gleiche Ergebnis Beide Zugriffsarten haben unterschiedliche Lauf zeiten N heres ist im Kapitel der einzelnen Bausteine beschrieben Im Beispiel wird auf die Bausteinvariable State der Instanz Sensor zugegriffen IF Sensor state THEN Lin pos1 ELSE Festo GDCP CMXR SW DE de 0909a 157 18 Bausteine Lin pos2 END IF Empfehlung Wenn der Zugriff ber eine Variable erfolgen kann sollte diese Va riante bevorzugt werden sie ben tigt weniger Laufzeit 18 3 Laufzeitverhalten Das FTL Programm l uft nicht zyklisch sondern wird sequentiell Anweisung f r Anweisung abgearbeitet Dieses Verhalten ist jedoch f r einige Applikationen nicht ausreichend Soll z B eine Pr fung parallel zum aktiven Bewegungsprogramm vorgenommen werden ob es an einem Eingang einen Flankenwechsel gegeben hat so m sste dies aufwendig in einem parallelen Programm gemacht werden Um nun ein Bearbeiten eines Bausteins
90. bewegung wird die Orientierung des Werkzeuges ver ndert Damit nun die CMXR Mehrachssteuerung unter Ber cksichtigung der Lage des TCP eine kartesi sche Bewegung im Raum berechnen kann muss nach der Schwenkbewegung die neue Orientierung mitgeteilt werden Bedingt durch die zwei m glichen Orientierungen des Werkzeuges gibt es 2 TCPs und somit 2 Datens tze tool1 und tool2 Orientierung 1 Werkzeug senkrecht aa Q H Drehachse Werkzeugl nge i Sauggreifer EE AEX TCP Die Werkzeugl nge des senkrechten Werkzeuges l uft entlang der Z Achse des Werk zeugkoordinatensystems Somit besitzt der TCP nur eine Translation in Richtung der Z Achse die Orientierungsangaben sind 0 Werkzeugdaten f r tool1 X 0 Verschiebung entlang der X Achse Y 0 Verschiebung entlang der Y Achse Z Werkzeugl nge Verschiebung entlang der Z Achse A Orientierung nach Euler Drehung um die Z Achse B Orientierung nach Euler Drehung um die verdrehte Y Achse C Orientierung nach Euler Drehung um die verdrehte Z Achse 126 Festo GDCP CMXR SW DE de 0909a 14 Werkzeuge Orientierung 2 Werkzeug geschwenkt Sauggreifer KN Drehachse TCP Ss N Werkzeugl nge Durch die Schwenkbewegung wandert der TCP zur Seite das Werkzeug hat nun eine ver nderte Orientierung Bei der abgebildeten Kinematik handelt es sich um ein kartesisches System Bei diesem ist die Lage des kartesischen Koordinatensystems der Grundachsen X Y und Z deckungs
91. bot has been created 13 07 07 10 10 09 67 10 unfreeze 13 07 07 10 10 09 LoadProject system 13 07 07 10 10 09 BE 1 files compiled 13 07 07 10 10 09 B7 Project _global tt Pass 2 13 07 07 10 10 08 B7 System started with NEW Systemfile SetUp an Group All Messages e Confirm nem Help Confirm All 16 1 Meldetexte Die Programmierung in FTL Festo Teach Language erm glicht das Absetzen von Informa tions Warn und Fehlermeldungen aus dem Bewegungsprogramm Die Meldungstexte werden vom Anwender selbst als Zeichenkette String frei definiert Diese Zeichenkette kann auch variable Eintr ge in Form von maximal 2 Parametern z B DINT REALI String BOOL enthalten Die 2 optionalen Parameter werden ber eine Angabe eines Prozentzei chens und einer Nummer im Meldetext platziert 1 bedeutet 1 optionaler Parameter 2 bedeutet 2 optionaler Parameter Festo GDCP CMXR SW DE de 0909a 137 16 Meldesystem Werden Typen wie Achspositionen angegeben so wird lediglich der Variablenname in den String eingef gt Strukturierte Datentypen k nnen nicht in einem Meldetext dargestellt werden Hinweis gt Bei der bergabe der Variablentypen DINT REAL und String wird der Inhalt der Variablen in den Meldetext eingef gt Beim Variab lentyp BOOL wird je nach Zustand der Text TRUE oder FALSE in den Meldetext eingef gt Beispiel In einem Programm werden zwei Var
92. ch Bedarf geschrieben und gelesen werden Hinweis Die Integervariablen werden nicht automatisch von der bergeord neten Steuerung gelesen bzw an diese bermittelt Wenn erforder lich dann m ssen diese von der bergeordneten Steuerung gesen det bzw gelesen werden Die Integervariablen sind in einem Array abgelegt auf das ber den Index 0 bis 255 zuge griffen werden kann 3 Syntax plc_Dint lt Arrayindex gt DINT 132 Festo GDCP CMXR SW DE de 0909a 15 PROFIBUS Schnittstelle Beispiel Te ple Dint 2 13 THEN END Ip 15 4 Positionen Die Schnittstelle unterst tzt zwei Positionsdatentypen Es k nnen Achspositionen und kartesische Positionen von der externen Steuerung zur CMXR Mehrachssteuerung gesen det werden Die maximale Anzahl der Positionen umfasst dabei 256 Achs und 256 kartesi sche Positionen Diese Variablen unterliegen keinem zyklischen Datenaustausch und k n nen von der externen Steuerung nach Bedarf geschrieben und gelesen werden Hinweis gt Die Positionsvariablen werden nicht automatisch von der berge ordneten Steuerung gelesen bzw an diese bermittelt Wenn er forderlich dann m ssen diese von der externen Steuerung gesen det bzw gelesen werden Die Positionsvariablen sind in Arrays abgelegt ber den Index 0 bis 255 kann auf diese zugegriffen werden Hinweis gt plc_AxisPos lt Arrayindex gt AXISPOS plc_CartPos lt Arrayindex gt CARTPOS Die Schnittstell
93. ches berschleifen und keine konstante Bahngeschwindigkeit m glich Das berschleifen wird anhand den M g lichkeiten einer PTP Bewegung durchgef hrt Syntax gt PtpToCirclp lt StartPos gt AXISPOS oder CARTPOS lt lpPos gt AXISPOS oder CARTPOS Pos AXISPOS oder CARTPOS Parameter Bedeutung Einheit StartPos Startpunkt des Kreisbogens AXISPOS oder CARTPOS IpPos St tzpunkt des Kreisbogens AXISPOS oder CARTPOS Pos Endpunkt des Kreisbogens AXISPOS oder CARTPOS Tabelle 9 8 Parameter Befehl PtpToCircip Die Positionsangaben k nnen kartesisch oder bezogen auf jede einzelne Achse sein Die CMXR Mehrachssteuerung transformiert die Positionen entsprechend Festo GDCP CMXR SW DE de 0909a 83 9 Bewegungsbefehle Beispiel Mit einer Kinematik soll folgende Kontur abgefahren werden Y Achse Startposition StartPos En EE e ER Pa IpPos EE s 200 O e SE r Endpunkt EndPos Position Posi i i X Achse 455 950 1050 Die Ebene f r die Z Achse betr gt 0 Der Startpunkt des Kreisbogens wird mit einer PTP Point To Point Bewegung angefahren Der Startpunkt wird dem Befehl PtpToCirclp ber geben Variablen StartPos CARTPOS 950 500 0 0 0 0 0 9 0 IpPos CARTPOS 1050 400 0 0 0 0 0 0 0 EndPos CARTPOS 950 300 0 O 0 0 O 0 0 Best CARTPOS 455 300 0 O 0 0 O 0 0 Programm PTP Anfahren kartesische Kreisbewegung
94. coder_0 Instanzierung mit dem FTL Editor Die Instantiierung erfolgt im Dialog zum Anlegen von Variablen durch Auswahl des lt Typ gt ENCODER und Eingabe des lt Bezeichner gt encTrack In der Zeile lt MAPTO ENCPORT gt wird der reale Bezug zu einen konfigurierten Encoder Eingang hergestellt Yariable editor E Variable properties Identifier eneTrack Yarl Type ENCODER D Yisibility PR DJECT v Comment frack speed Initialization Identifier Type Value El encTrack ENCODER LI MAPX system timeout MSEC ji port MAPTO ENCPORT Encoder_4_0 D 184 Festo GDCP CMXR SW DE de 0909a 18 Bausteine Instanzierung mit dem Handbedienger t Die Instanzierung des Encoderbausteins mit dem Handbedienger t erfolgt in der Variab lenmaske durch Auswahl des Datentyps ENCODER Mit der Instanzierung am Handbedienger t wird der Eintrag im Datenfile automatisch ge speichert 18 9 2 Variable Der Encoder Baustein besitzt folgende Variablen Variable Typ Bedeutung Zustand beim Anlegen a za k GG O aloe e gezssas iO9 _ ea zZ a ev cz timeout REAL Timeout zum Warten 1 port ENCPORT Verweis auf den Hardwareeingang Tabelle 18 16 Variablen Encoder Baustein Timeout derzeit in diesem Baustein ohne Funktion Mit dem Parameter Timeout kann eine Wartezeit definiert werden Die Methode des Bau steins wartet die eingestellte Zeit auf
95. d TRUE auslesen im Satzhauptlauf Lin pos3 18 8 7 Zeitwert in String konvertieren Ein Aufruf der Methode ToStr konvertiert den aktuellen Zeitwert in einen String der den Aufbau lt Tage gt lt Stunden lt Minuten xSekunden gt Millisekunden besitzt Syntax gt lt Instanzname ToStr OPT ovlEnable BOOL STRING Beschreibung des Parameters ovlEnable siehe Kapitel 18 3 1 auf Seite 158 R ckgabewert String mit der formatierten Zeitinformation tt hh mm dd ms Beispiel Daten time STRING Programm Lin posl Festo GDCP CMXR SW DE de 0909a 183 18 Bausteine time Timer ToStr auslesen mit Bahnstopp Lin pos2 time Timer ToStr TRUE auslesen im Satzhauptlauf Lin pos3 18 9 Encoder Baustein ENCODER Der Encoder Baustein kann im Programm verwendet werden um die maximal zwei ange schlossenen Inkrementalgeber auszulesen 18 9 1 Instanzierung Zur Instanzierung des Encoder Bausteins wird der Hardwarebezug zum Eingang ben tigt Dieser wird ber den Parameter lt port gt bei der Instanzierung angegeben Syntax gt lt Instanzname ENCODER Timeout DINT MAPX lt port gt Es k nnen weitere Parameter angegeben werden um z B Voreinstellungen zu treffen Dies ist jedoch zur Instanzierung nicht notwendig und kann im Programm erfolgen Beispiel Ein Encoder wird als Bausteininstanz angelegt Instanzierung in der Datendatei enc0 ENCODER 1 MAPX _system En
96. d der Timer gestartet Der Startzeitpunkt wird im Baustein intern gespeichert Erfolgt ein Start auf einen bereits gestoppten Timer so wird der gestoppte Timer erneut gestartet die Zeit l uft weiter Der Timer kann nur ber den Reset Befehl neu gestartet werden Syntax gt lt Instanzname Start Beispiel Timer Start Uhr wird gestartet 18 8 4 Stoppen der Uhr Methode Stop Die Methode Stop stoppt eine gestartete Zeitmessung Die abgelaufene Zeit wird im Bau stein intern berechnet und zum Auslesen bereitgestellt Syntax gt Instanzname Stop Beispiel Timer Stop Uhr wird angehalten 18 8 5 R cksetzen der Uhr Methode Reset Der Aufruf der Methode Reset stellt den Timer zur ck Wird ein Reset auf einen laufenden Timer ausgef hrt so wird dieser auf O gesetzt und l uft weiter Syntax gt lt Instanzname gt Reset Beispiel Timer Reset Uhr wird r ckgestellt 18 8 6 Auslesen der Uhr Methode Read Mit der Methode Read kann der aktuelle Zeitwert in Millisekunden msec ausgelesen wer den 182 Festo GDCP CMXR SW DE de 0909a 18 Bausteine Syntax gt lt Instanzname Read OPT ovlEnable BOOL DINT Beschreibung des Parameters ovlEnable siehe Kapitel 18 3 1 auf Seite 158 R ckgabewert Gemessene Zeit in Millisekunden msec Beispiel Daten value e DINT Programm Lin posl value Timer Read auslesen mit Bahnstopp Lin pos2 value Timer Rea
97. der berwachung redu zierter Geschwindigkeiten vorgesehen Das Festo CMXR System entspricht It EN 13849 1 nur Kategorie B und ist somit f r die Realisierung von Sicherheitsfunktionen f r den Personenschutz nicht ausreichend F r sicherheitsrelevante Steuerungsaufgaben oder Personensi cherheit m ssen zus tzliche externe Schutzma nahmen ergriffen werden die auch im Fehlerfall einen sicheren Betriebszustand des Gesamtsystems gew hrleisten Bei Sch den infolge von Nichtbeachtung der Warnhinweise in dieser Betriebsanleitung bernimmt Festo keine Haftung Hinweis 2 Vor der Inbetriebnahme sind die Sicherheitshinweise Kapitel 2 3 ff vollst ndig durchzulesen Wenn die Dokumentation in der vorliegenden Sprache nicht einwandfrei verstanden wird bitte beim Lieferant anfragen und diesen informieren Der einwandfreie und sichere Betrieb des Steuerungssystems setzt den sachgem en und fachgerechten Transport die Lagerung die Montage und die Installation sowie die sorgf l tige Bedienung und die Instandhaltung voraus Festo GDCP CMXR SW DE de 0909a 13 2 Sicherheitshinweise 2 3 Qualifiziertes Personal Hinweis gt F r den Umgang mit elektrischen Anlagen ist ausschlie lich ausge bildetes und qualifiziertes Personal einzusetzen 2 4 Sicherheitshinweise zu den Produkten Warnung GEFAHR Bei der Entsorgung von Batterien sind die Bestimmungen f r Son derm ll zu beachten Obwohl Batterien eine niedrige Spannung h
98. der Refe renzposition festgelegt werden Nach dem Referenzieren wird dieser Offsetwert auf den Referenznullpunkt addiert Die Istwertanzeige der betroffenen Achse wird entsprechend aktualisiert Referenziergeschwindigkeit Kriechgeschwindigkeit Beschleunigung Mit der Referenziergeschwindigkeit und der Beschleunigung wird die Dynamik der Achse beim Referenzieren festgelegt Diese ist wirksam vom Start der Referenzfahrt bis zum Erreichen der Flanke des entsprechenden Schalters Ist die Flanke erkannt so wird auf die Kriechgeschwindigkeit umgeschaltet und die Referenzfahrt gem der ausgew hlten Me thode fertig gestellt 13 2 _Asynchrone Referenzfahrt lt RefAxisAsync gt Mit Hilfe dieses Befehls ist es m glich mehrere Roboterachsen parallel zu referenzieren Der Befehl wartet dabei nicht bis die Referenzfahrt abgeschlossen ist sondern der Pro srammablauf wird nach Absetzen des Referenzierkommandos fortgesetzt Um festzustel len ob die Referenzierung abgeschlossen ist bzw um den Status der Referenzierung aus zulesen existieren die Befehle WaitRefFinished und IsAxisReferenced 3 Syntax RefAxisAsynckaxis gt AXIS OPT lt refDatar REFDATA OPT lt time out REAL 118 Festo GDCP CMXR SW DE de 0909a 13 Referenzieren einer Kinematik Parameter Bedeutung Einheit Fe ee Axis Ausgew hlte Achse die referenziert wird Enumeration A1 A2 bis A9 refData Datensatz der Referenzfahrt z
99. der die Gegenka thete so l sst sich die unbekannte Strecke berechnen Soll jedoch der Winkel berechnet werden so stellt die CMXR die Funktion des Arcus Tan gens bereit Diese Funktion berechnet aus der Ankathete und der Gegenkathete den ein geschlossenen Winkel z B Alpha Syntax gt Winkel in Grad REAL ATAN Tangenswert gt Die R ckgabe des Winkels erfolgt in Grad Beispiel a 30 Gegenkathete alpha 23 5 winkel Alpha b a TAN alpha Berechnung der Ankathete Festo GDCP CMXR SW DE de 0909a 149 17 Funktionen a 45 89 Gegenkathete b 145 67 Ankathete value a b alpha ATAN value Berechnung des eingeschlossenen Winkels 17 9 Cotangens lt COT lt ACOT gt Die Cotangens Funktion stellt den mathematischen Zusammenhang zwischen einem Win kel und den Seiten in einem rechtwinkligen Dreieck her F r Cotangens gilt Cotan alpha Ankathete Gegenkathete b cotan alpha b a Die Angabe des Winkels erfolgt in der Einheit Grad Syntax Cotangenswert REAL COT Winkel Verwendung Die Cotangens Funktion dient zur Berechnung von unbekannten Strecken in einem recht winkligen Dreieck Ist der Winkel bekannt und auch entweder die Ankathete oder die Gegenkathete so l sst sich die unbekannte Strecke berechnen Soll jedoch der Winkel berechnet werden so stellt die CMXR die Funktion des Arcus Cotangens bereit Diese Funktion berechnet aus der An
100. e 0909a 10 Dynamikbefehle Programm Ptp pos0 Jerk dynPtp 50 Prp p osl Jerk dynCart 5000 Lin pos2 Festo GDCP CMXR SW DE de 0909a Ruck f r PTP auf 50 S Ruck auf der Bahn auf 5000mm sec 93 10 Dynamikbefehle 10 5 Override Mit einem Override lassen sich die Dynamikwerte prozentual einstellen Dabei lassen sich die Werte f r Beschleunigung Geschwindigkeit und Ruck einfach beeinflussen Die pro grammierte Bahn wird nicht beeinflusst N Hinweis Soll nur die Geschwindigkeit reduziert werden so sollte dies ber die direkte Angabe des Geschwindigkeitswertes erfolgen Eine Re duktion ber den Override beeinflusst auch die Beschleunigung und den Ruck Dies bewirkt dass die Achsdynamik nicht voll aus genutzt wird und die Bewegung in der Summe langsamer ist Es gibt 2 verschiedene Override e Dynamik Override beeinflusst die eingestellten Werte f r Geschwindigkeit Beschleu nigung und Ruck e Override am Handbedienger t Wirkungsweise der Override gt Dynamik programmierte Dynamik Dynamik Override 10 5 1 Override am Handbedienger t lt Ovr gt Der Override entspricht der Einstellung am Handbedienger t CDSA D1 VX ber die Tasten V V Der Override wird in der Einheit Prozent angegeben wobei 100 Prozent der maxi malen Dynamik entspricht die programmiert wurde Eine Verringerung des Overrides be wirkt ein Verlangsamen der Dynamik wobei die Bahn dadurch nicht ver ndert wird
101. e Bewegung wird als Achsbewegung ausgef hrt Je nach Kinematiktyp kann es aufgrund der Achsanordnungen am Werkzeug zu unbekann ten Bewegungen kommen Hinweis 2 Die Parameter refData und timeout sind optional Werden diese nicht angegeben wird die aktuelle Ist Position als Referenzposition bernommen DS 402 Methode 35 Vorsicht Bei der Referenzfahrt ist auf freie Fahrt der betroffenen Achsen zu achten Ferner sind bei diesen Bewegungen geeignete Dynamik werte zu w hlen um die Referenzfahrt sinnvoll auszuf hren Hohe dynamische Werte sind hier nicht sinnvoll 116 Festo GDCP CMXR SW DE de 0909a 13 Referenzieren einer Kinematik Das Referenzieren ben tigt zum Ablauf einige Daten Diese werden in einen Referenz datensatz vom Typ REFDATA angegeben Parameter Typ Bedeutung method DINT Referenzfahrmethode nach CANOpen DS 402 offset REAL Offset der Referenzposition mm velSwitch REAL Referenziergeschwindigkeit Anfahren des Schalters velZero REAL Kriechgeschwindigkeit Suchen der Flanke acc REAL Referenzfahrbeschleunigung Tabelle 13 2 Aufbau Datentyp REFDATA gt Hinweis Wird die Referenzfahrtmethode 99 angegeben werden die Parame ter der Referenzfahrt wie sie mit dem Festo Configuration Tool FCT im Antrieb abgelegt wurden verwendet Die Referenzfahrt wird dann so ausgef hrt wie bei Inbetriebnahme der einzelnen Achse Alle andere Parameter wie offset velSwitch zeroSwitch u
102. e St Description bc E A 30 10 07 16 00 47 e Cycle 7 finished Value 3 26 Process O Festo GDCP CMXR SW DE de 0909a 139 16 Meldesystem 16 3 Warnung lt SetWarning gt Der Befehl SetWarning setzt eine Warnmeldung in das Meldesystem ab gt Syntax SetWarning lt text gt STRING OPT lt param1 gt ANY OPT lt param2 gt ANY Parameter Bedeutung Einheit e a Fa aaa N text Text der Warnmeldung STRING parami 1 m glicher Parameter ANY Param2 2 m glicher Parameter ANY Tabelle 16 2 Parameter Befehl SetWarning Die Zusammensetzung des Meldetextes ist in Kapitel 16 1 Meldetext auf Seite 137 be schrieben Eine Warnmeldung wird mit dem Symbol A im Fehlerspeicher der CMXR Mehrachssteue rung gekennzeichnet Hinweis Eine Warnmeldung hat keine Auswirkung auf die Bewegung Sie dient lediglich der Information Beispiel pressure Sensor Read lesen eines Druckwertes cycle cycle 1 Zyklus z hlen SetWarning Cycle 1 finished Value 2 cycle pressure Anzeige am Handbedienger t A Cycle 7 finished Value 3 26 Run Error C CL Time St Description 0 EE A 30 10 07 15 59 16 e Cycle 7 finished Value 3 26 Process O 140 Festo GDCP CMXR SW DE de 0909a 16 Meldesystem 16 4 Fehlermeldung lt SetError gt Der Befehl SetError setzt eine Fehlermeldung in das Meldesystem ab Dieser Befehl wirkt sich auf die Bearbeitung des Programms aus e
103. eis auf den Hardwareeingang des Bausteins 18 4 2 Methoden Der Baustein verf gt ber mehrere Methoden Methode Beschreibung Wait warten bis Eingang Zustand TRUE besitzt WaitN warten bis Eingang Zustand FALSE besitzt Read Zustand des Eingangs lesen RisingEdge Zustand steigende Flanke lesen ResetRisingEdge Zustand steigende Flanke r cksetzen Tabelle 18 2 Methoden digitaler Eingangsbaustein DIN Im FTL Editor werden die verf gbaren Methoden nach Eingabe des Punktes automatisch in einer Liste angezeigt und kann dort ausgew hlt werden 12 b tart re Sensor 13 Read a i g Read in port gt ResetRisingEdge P RisingE doe P wat EF wat ber das Handbedienger t k nnen diese Methoden ber den Men baum aus der Rubrik Digitale Eing nge ausgew hlt werden Digital Inputs DIN Read l DIN RisingEdge m DIN Wait m DIN WaitN DIN ResetRisingEdge Die Abbildung zeigt die Auswahl der Methoden des Bausteins DIN am Handbedienger t Festo GDCP CMXR SW DE de 0909a 161 18 Bausteine 18 4 3 Auf Zustand warten Methode Wait WaitN Mit den Methoden Wait und WaitN kann im FTL Programm gewartet werden bis der Ein gang den Wert TRUE oder FALSE besitzt Der eventuell gesetzte Timeout wird dabei be r cksichtigt Syntax gt lt Instanzname Wait OPT ovlEnable BOOL lt Instanzname WaitN OPT ovlEnable BOOL Beschreibung des Parameters ovlEn
104. elegt die aus einem strukturierten Datentyp be steht Der Name des Referenzsystems ist frei w hlbar Die Anzahl der Referenzsysteme ist durch den Speicher begrenzt Es gibt folgende M glichkeiten die Daten f r ein Referenzsystem zu definieren 1 direkte Angabe der Werte 2 Angabe ber 3 kartesische Punkte Neben den Werten des Referenzsystems gibt es die M glichkeit einen Bezug auf ein ande res Referenzsystem herzustellen In jedem der strukturierten Datentypen gibt es dazu die M glichkeit unter dem Parameter RefSys einen Bezug zu einem anderen Referenzsystem herzustellen Unter dem Parameter RefSys k nnen die Datentypen aller M glichkeiten angegeben werden Im Folgenden werden die Befehle zum Setzen eines Referenzsystems beschrieben 110 Festo GDCP CMXR SW DE de 0909a 12 Referenzsysteme Nullpunktverschiebung 12 3 Referenzsystem mit direkten Werten lt SetRefSys gt Der Befehl SetRefSys aktiviert ein Referenzsystem dessen Daten absolut in die Daten struktur der bergebenen Variable eingetragen sind 3 Syntax SetRefSys refSys gt REFSYSDATA Parameter Bedeutung Einheit Referenzsystem das durch Verschiebungswerte definiert ist L ngen und Winkeleinheiten Tabelle 12 1 Parameter Befehl SetRefSys Bei einer direkten Wertangabe werden die Werte direkt mit der bergebenen Variable be kannt gemacht Ein Ver ndern bereits bergebener Daten ist nur ber einen erneuten Auf ruf m glich Aufbau Datentyp
105. en tigt Dieser wird ber den Parameter lt input bei der Instanzierung angege ben Syntax gt lt Instanzname DIN Timeout DINT lt RisingEdge gt BOOL MAPX lt input gt Es k nnen weitere Parameter angegeben werden um z B Voreinstellungen zu treffen Dies ist jedoch zur Instanzierung nicht notwendig und kann im Programm erfolgen Beispiel Ein Sensor wird als Bausteininstanz angelegt Instanzierung in der Datendatei Sensor DIN ze 1 FALSE MAPX system Inputl Instanzierung mit dem FTL Editor Die Instanzierung erfolgt im Dialog zum Anlagen von Variablen durch Auswahl des lt Typ gt DIN und Eingabe des lt Bezeichner gt Sensor In der Zeile lt MAPTO DINPORT gt wird der reale Bezug zu einen konfigurierten Digitalen Eingang hergestellt Yariable editor E Variable properties Identifier Sensor Va Type DIN D Yisibility PR DJECT be Comment Initialization Identifier Type Value DIN El Sensor timeout MSEC RH RisingEdgeLocal BOOL FALSE v Input MAPTO DINPORT Din OB RS Festo GDCP CMXR SW DE de 0909a 159 18 Bausteine Instanzierung mit dem Handbedienger t Die Instanzierung des digitalen Eingangsbausteins mit dem Handbedienger t erfolgt in der Variablenmaske durch Auswahl des Datentyps DIN Der Eintrag wird automatisch im Da tenfile gespeichert Der digitale Eingangsbaustein besitzt folgende Variablen Variable
106. en Start z B ber das Handbedienger t oder von extern ber eine SPS Steuerung ausgef hrt werden Der Befehl ist im Hauptlauf aktiv dies bedeutet er wird durch den Satzvorlauf nicht ausge f hrt Eine Ausf hrung der vorherigen Befehle die durch den Satzvorlauf berechnet wer den ist sichergestellt Das Stoppen der Kinematik erfolgt mit der maximalen Bremsrampe die f r das Stoppen der Kinematik definiert ist Reduktionen der Dynamik durch einen Override wirken sich beim Stoppen nicht aus Syntax StopProgram Beispiel Vel dynCart 1000 Lin pos1 Lin pos2 SetInfo insert workpiece and press start StopProgram Lin pos3 CALL Conturel Festo GDCP CMXR SW DE de 0909a 87 10 Dynamikbefehle 10 Dynamikbefehle Mit den Dynamikbefehlen k nnen Geschwindigkeit Beschleunigung und Ruck f r die Be wegungen der Kinematik programmiert werden Dabei gibt es die M glichkeit die Dynamik von Point To Point Bewegungen PTP und kartesischen Bewegungen getrennt einzustel len Eine nderung der Dynamikwerte kann an jeder gew nschten Programmzeile erfolgen Hinweis In der Konfiguration Festo Configuration Tool werden Initialwerte f r die Dynamik angegeben Diese Werte sind bei einem Pro grammstart als Initialwert aktiv Wird im Programm keine Dynamik programmiert so werden diese Initialwerte verwendet Mit den folgenden Dynamikbefehlen k nnen diese Werte innerhalb des Programms jederzeit berschr
107. en entspre chend Beispiel Ein kartesisches Portal mit 3 Achsen X Y Z und einer Drehachse mit Greifer muss positio niert werden Y Achse Z Achse Drehachse mit Greifer X Achse 68 Festo GDCP CMXR SW DE de 0909a 9 Bewegungsbefehle Variable 1 005 505 100 0 Oy 0 07 0p 0 600 550 100 180 0 0 0 0 0 posl CARTPOS pos2 CARTPOS Programm Ptp pos1 Ptp POS2 Y Drehachse 180 Grad Drehachse 90 Grad WR l o Bahnverlauf an der Z Achse Drehachse Ba O Grad p Ta Ungef hrer Bahnverlauf am TCP Im Beispiel ist der Bahnverlauf der Z Achse und der Werkzeugspitze TCP ersichtlich Durch die senkrechte Anordnung der kartesischen Kinematik ist der Bahnverlauf an der Z Achse eine Gerade Dadurch dass das Werkzeug einen Versatz zur Z Achse besitzt kommt es bei dessen Bahnverlauf zu einem nicht vorhersehbaren Verhalten da mit der synchro nen Interpolation alle Achsen gemeinsam auf ihren Zielpunkt fahren ohne R cksicht auf den Verlauf der gefahrenen Bahn Festo GDCP CMXR SW DE de 0909a 69 9 Bewegungsbefehle 9 3 Relative Point To Point Bewegung lt PtpRel gt Analog zum PTP Befehl funktioniert der relative PTP Befehl Mit dem Unterschied dass die angegebene Position relativ zur Startposition erfolgt Die Positionsangabe wird zur Start position addiert Eine Anwendung w re z B eine relative Positionierung innerhalb eines Rasters wie bei einer Palette gt Synt
108. envariable plc_AxisPos enth lt 256 Positionen vom Datentyp AXISPOS die Variable plc_CartPos enth lt 256 Positionen von Datentyp CARTPOS Beispiel Ptpiple AxigPos 17 Lin plc AxisPos 18 Lin ple AxisPos 19 Liniple CartPos 1 Festo GDCP CMXR SW DE de 0909a 133 15 PROFIBUS Schnittstelle 15 5 Referenzsysteme Maximal 16 Referenzsysteme k nnen ber die externe Schnittstelle vorgegeben werden Diese Variablen sind vom Datentyp REFSYSDATA und k nnen mit dem Befehl SetRefSys verwendet werden Diese Variablen unterliegen keinem zyklischen Datenaustausch und k nnen von der externen Steuerung nach Bedarf geschrieben und gelesen werden Hinweis gt Die Referenzsysteme werden nicht automatisch von der berge ordneten Steuerung gelesen bzw an diese bermittelt Wenn er forderlich dann m ssen diese von der externen Steuerung gesen det bzw gelesen werden Die Referenzsysteme sind in einem Array abgelegt auf das ber den Index O bis 15 zuge griffen werden kann 3 Syntax plc_RefSys lt Arrayindex REFSYSDATA Der Datentyp REFSYSDATA bietet die M glichkeit ein Referenzsystem additiv auf ein ande res zu beziehen Die Schnittstelle unterst tzt dies ebenfalls jedoch nur innerhalb der Schnittstelle selbst D h es kann kein Bezug auf im System bestehende Referenzsysteme hergestellt werden Der Bezug auf ein anderes Referenzsystem basiert auf einer Num mernvorgabe O bis 15 durch die externe Steuerung
109. eseeeesssssssseseeeesesssssseeeeeesesssseseeee 145 17 6 7SINUS lt S IN KASIN esse Nessie 146 17 7 Cosinus COS Eege Eeer Eege 147 17 8 Tangens TAN ATANI near 149 17 9 CotangenssCO TA sA COT eas a aaa a A Re A E EEES 150 17 10 Tangens 2 lt ATAN I hesietan tens rosno rE EENOK EEEE mess iss 151 e A a Ne le EE KEE 151 12 12 Exponent EXP ae 151 4 2 13 gt ADSOUWWEIEZABS eege 152 17 14 Quadratwu rzel SORT as RER Aa 152 17 15 Bitweiseschleben lt SHR SSHD aan 153 17 16 Bitweise rotieren ROR gt TEE 154 17 17 Wert nach String wandelnxSTRauu uue send 155 17 18 ASCII Wert in Zeichen wandeln CHR eeeeensnnsossssssnnnnnsnnnnnnssnsnnnnnnnnnnnnennnnnnsnnnnnn 155 17 19 Zeichen in ASCII Wert wandeln lt ORD uznssreesssonnnnsnnnnenesnsnnnnnnnsnnnnnnsnnnnnnnnnne 155 18 Bausteine a ae an RA 156 18 1 Funktionen EE 157 18 2 Vara DE elle 157 18 3 l ufzeitverhalten usa ae 158 18 3 1 Parameter ovlEnable unseren 158 18 4 Digitaler Eingangsbaustein DIN a an 159 18 41 eege eebe 159 18 42 Methoden see nennen 161 18 4 3 Auf Zustand warten Methode Wait War 162 18 4 4 Zustand Lesen Methode Read cuursersssessessonsussseessonnernonsunssssssssunnene 162 18 4 5 Steigende Flanke Methode RisingEdge EE 162 18 4 6 Flanke r cksetzen Methode ResetRisingEdge ANNE 163 18 5 Digitaler Ausgangsbaustein DOUT eene 163 18 55 Instanzen was ei E E 163 E d TO E EE 165 18 33 Methode NEN IN EURE ERRi 166 18 5 4 Auf Zustand warten
110. esenene 58 8 9 4 WaitOnPos Anweisung mit Zeit ON aitOnboen EE 60 8 10 Kommentare einf gen Is 61 8 11 Programmzeile deaktivieren Hr een 61 9 Bewegu ngsbefehl u unn nun kie een 63 9 1 est re erer 63 9 1 1 AChSPOSIl ion rasen nun 63 9 1 2 s EN E e E 66 9 2 Point To Point Bewegung Pn 67 9 3 Relative Point To Point Bewegung lt PtpRel eeeneeeeseseesesssnsnsnnennensnsennenensnnnnnenen 70 9 4 Bewegung einer Achse lt MoveAxisPtp gt lt MoveAxisCartd ceseseseseseseseseseseseeeeenenenn 72 9 5 LinearbewegungsLim ae Tee EENEG Ehe 74 9 6 Relative Linearbewegung tlinReba acensiee na 76 9 7 Zirkularbewegung mit St tzpunkt 78 9 7 1 W Age 78 9 7 2 EBenendeinitonisaese een 79 9 7 3 Zirkularbefehl mit St tzpunkt lt Circlp gt eeeeeeeeeeeeeeeeeseeeneeeneeesenenenennnennnnnn 81 9 7 4 Zirkularbefehl mit St tzpunkt PTP Anfahrt lt PtpToCirclp gt 83 9 7 5 Zirkularbefehl mit St tzpunkt Lin Anfahrt dmfoirclpz 85 9 8 Stoppen der Bewegung lt StopMove eeeeesesennnnessnnnsnennnnnnnnnnnnnnnnnnnnnnnnsnnnnnnnsnnnnn 86 9 9 Stoppen des Programms dGitopbrogramz 87 10 Dynamikbefehle a u a ee 88 10 1 Autom Begrenzung der Dynamik Dynamiklimiter eeeseesesssssssssesesesnsenenenenennn 89 10 2 SGeschWwindiskeilten Web nun i EA Aa 90 10 3 Beschleunigung ACOA a n eeh earr erei her tes eg ee 91 10 2 te TT EE 92 10 5 Override na ein EEE ER KREA EEE ERA 94 10 5 1 Override am H
111. f der Speicherkarte geschrie ben Die Werte bleiben nur solange erhalten wie das Projekt Pro gramm geladen ist Nach Abladen des Projektes Programms oder Ausfall der Versorgungsspannung gehen im Programm ver nderte Daten verloren Hinweis 2 Sollen Positionswerte dauerhaft auf der Speicherkarte gespeichert werden so kann dies mit dem Makro SavePosition geschehen Festo GDCP CMXR SW DE de 0909a 23 4 Sprachaufbau 4 Sprachaufbau 4 1 Formatierung FTL Dateien sind lesbare Textdateien Anweisungen bzw Deklarationen werden durch Zeilenumbr che getrennt Es wird im Allgemeinen zwischen Gro und Kleinschreibung unterschieden 4 2 Bezeichner Bezeichner dienen zur Identifikation von Projekten Programmen Bausteinen Variablen Konstanten und Typen Ein Bezeichner ist eine Folge von Buchstaben Ziffern und dem Zeichensymbol _ Hinweis Zul ssig sind die Zeichen a z A Z 0 9 und Unterstrich Alle anderen Zeichen sind unzul ssig Bei Bezeichnern wird zwischen Gro und Kleinschreibung unterschieden d h es muss darauf geachtet werden dass z B eine Variable in Bezug auf die Gro und Kleinschrei bung immer gleich geschrieben wird Beispiel Eine Variable mit dem Bezeichner Index ist ungleich der Variablen mit dem Bezeichner INDEX Dies sind 2 verschiedene Variablen Hinweis gt Im Gegensatz zu Bezeichnern wird bei Programm und Projektna men nicht zwischen Gro und Kleinschre
112. finition spannt sich die Ebene im Raum auf auf der die Kreisbahn gefahren wird Festo GDCP CMXR SW DE de 0909a 79 9 Bewegungsbefehle Ebene die durch die 3 Punkte gebildet wird St tzpunkt Startpunkt Endpunkt Die Abbildung zeigt eine Kreisbahn mit ihren 3 St tzpunkten die eine Ebene im Raum de finieren auf der die Kreisbahn liegt Hinweis 2 Die Kreisbahn liegt immer auf einer Ebene eine Schraubeninterpo lation mit einer zus tzlichen Interpolation senkrecht zur Ebene ist nicht m glich 80 Festo GDCP CMXR SW DE de 0909a 9 Bewegungsbefehle 9 7 3 Zirkularbefehl mit St tzpunkt lt Circlp gt Der Zirkularbefehl mit St tzpunkt hat folgende Programmsyntax Syntax Circlip lt IpPos gt AXISPOS oder CARTPOS Dosen AXISPOS oder CARTPOS Parameter Bedeutung Einheit IpPos St tzpunkt auf dem Kreis AXISPOS oder CARTPOS Pos Endposition des Kreisbogens AXISPOS oder CARTPOS Tabelle 9 7 Parameter Befehl CircIp Die Positionsangaben k nnen kartesisch oder bezogen auf jede einzelne Achse sein Die CMXR Mehrachssteuerung transformiert die Positionen entsprechend Warnung A Der Kreisbefehl ben tigt die Angabe des St tz und Endpunktes Der Startpunkt wird durch den Endpunkt der vorherigen Bewegung gebildet Wird dieser Punkt verschoben kommt es zu einer Ver n derung der Kreisbahn Diese k nnte ungewollt sein und k nnte zu einer Kollision f hren Die nderung des Startpunktes muss zu kei ner
113. g der Bewegung Erst nach dem Quittieren der Fehlermeldung kann der Ablauf fortgesetzt werden Festo GDCP CMXR SW DE de 0909a 197 20 Beispiele 20 3 Steuerung des Satzvorlaufs Im Folgenden werden anhand von Beispielen verschiedene M glichkeiten erl utert wie die Berechnung des Satzvorlaufs beeinflusst werden kann 1 Warten auf digitales Eingangssignal Im Programmablauf wird mit dem Befehl WAIT auf ein digitales Eingangssignal gewartet Ist der Zustand des digitalen Eingangs FALSE wird der Satzvorlauf gestoppt Wird der Zu stand TRUE dann wird die Berechnung fortgesetzt Dies zeigt die folgende Abbildung Satzhauptlauf Lin Pos1 Satzhauptlauf Lin Pos1 Lin Pos2 Lin Pos2 Lin Pos3 Lin Pos3 Lin Pos4 Lin Pos4 Satzvorlauf ec WAIT Sensor State WAIT Sensor State Lin Pos5 Lin Pos5 Lin Pos6 Lin Pos6 Lin Pos7 Lin Pos7 Lin Pos8 Satzvorlauf Lin Pos8 Lin Pos9 Lin Pos9 2 Schleifenz hler Ein Programmteil wird mit einer Z hlschleife 10 mal wiederholt Die Zyklen werden mit einem Schleifenz hler gez hlt Der Satzvorlauf interpretiert das Ablaufprogramm und er h ht dabei den Schleifenz hler Dies f hrt dazu dass der Satzvorlauf sehr schnell das Programmende erreicht und somit der Schleifenz hler den Wert 10 erreicht Der Satz hauptlauf hat in dieser Zeit erst die Anweisung Lin Pos1 erreicht Soll der Schleifenz hler den tats chlichen Zyklus anzeigen dann muss der Satzvorlauf
114. gkeitsprofile bei einer Fahrt auf Position 1 und Position 2 Dabei sind verschiedene Werte f r den berschleifbereich definiert Festo GDCP CMXR SW DE de 0909a 105 11 berschleifbefehle v 1 Ohne berlappung v 2 Teilweise berlappung 0 Y Richtung P1 Zyklus zeit Pi m P2 50 A G e berschleifbereich v 3 Volle berlappung En Zyklus P1 Zyklus zeit X Richtung 100 zeit i Grafik 1 zeigt ein Geschwindigkeitsprofil bei dem keine berlappung stattgefunden hat Die Achsen bremsen auf der Bahn ab somit wird die Position 1 und 2 genau erreicht In der mittleren Grafik ist eine teilweise berlappung dargestellt in der unteren Grafik eine volle berlappung 100 der Geschwindigkeitsprofile Beispiel OvlVel 1 Lin posi 00 Lin pos2 OvlVel 75 Lin pos3 106 Hinweis Im berschleifbereich wird mit der vollen Achsdynamik gearbeitet Dies bedeutet dass das Bahnst ck im berschleifbereich kein Ra dius ist sondern eine Polynomkurve die sich aus den aktuellen Dynamikwerten der Achsen ableitet ff Oberschleifer mit 100 f berschleifen mit 75 Festo GDCP CMXR SW DE de 0909a 11 berschleifbefehle 11 4 Geometrisches berschleifen Beim geometrischen berschleifen werden die Abweichungen von der programmierten Endposition festgelegt Im Gegensatz zum Geschwindigkeits berschleifen wird der Versatz geometrisch d h
115. gleich mit dem kartesischen Werkzeugkoordinatensystem Wendet man nun zur Bestim mung der Orientierung die Rechte Hand Regel an so ergibt sich eine Drehung des Werk zeuges um die Y Achse in positiver Richtung Werkzeugdaten f r tool2 X L nge x sin 30 Verschiebung entlang der X Achse Y 0 Verschiebung entlang der Y Achse Z L nge x cos 30 Verschiebung entlang der Z Achse A 0 Orientierung nach Euler Drehung um die Z Achse B 30 Orientierung nach Euler Drehung um die verdrehte Y Achse C 0 Orientierung nach Euler Drehung um die verdrehte Z Achse Programmbeispiel Unsere kartesische Kinematik soll nun mit senkrechtem Werkzeug von einer Position 1 auf eine Position 2 fahren Danach wird das Werkzeug durch die Schwenkachse geschwenkt Das geschwenkte Werkzeug muss nun die Position 2 anfahren Anfahren von pos1 nach pos2 Tool tooll Lin pos1l Lin pos2 Festo GDCP CMXR SW DE de 0909a 127 14 Werkzeuge RR E 2 pos1 e pos2 Bei den kartesischen Fahrbefehlen von pos1 auf pos2 ber cksichtigt die Steuerung auto matisch die aktiven Werkzeugdaten tool1 Schwenken der Schwenkachse Tool tooll Lin posl Lin pos2 CALL Rotate Aufruf Unterprogramm pos1 l gem N een pos2 Die Schwenkbewegung hat zur Folge dass sich nun der Tool Center Point TCP nach oben bewegt Aufgrund der pneumatischen Achse kann die Steuerung keine automatischen Ausgleichsbewegungen durchf hren Um nun die Position
116. hen einem Winkel und den Seiten in einem rechtwinkligen Dreieck her F r Sinus gilt sin alpha Gegenkathete Hypotenuse b sin alpha a c Die Angabe des Winkels erfolgt in der Einheit Grad Syntax gt Sinuswert gt REAL SIN Winkel REAL Verwendung Die Sinus Funktion dient zur Berechnung von unbekannten Strecken in einem rechtwinkli gen Dreieck Ist der Winkel bekannt und entweder die Gegenkathete oder die Hypotenuse so l sst sich die unbekannte Strecke berechnen Soll jedoch der Winkel berechnet werden so stellt die CMXR die Funktion des Arcus Sinus bereit Diese Funktion berechnet aus der Gegenkathete und der Hypotenuse den einge schlossenen Winkel z B Alpha Syntax gt Winkel in Grad REAL ASIN Sinuswert gt Die Angabe des Winkels erfolgt in Grad 146 Festo GDCP CMXR SW DE de 0909a 17 Funktionen Beispiel a 30 Gegenkathete alpha 23 5 winkel Alpha a SIN alpha Berechnung der Hypotenuse a 45 89 Gegenkathete 145 67 Hypotenuse value a c alpha ASIN value Berechnung des Winkels 17 7 Cosinus lt COS gt lt ACOS gt Die Cosinus Funktion stellt den mathematischen Zusammenhang zwischen einem Winkel und den Seiten in einem rechtwinkligen Dreieck her F r Cosinus gilt cos alpha Ankathete Hypotenuse b cos alpha b c Die Angabe des Winkels erfolgt in der Einheit Grad Syntax Cosinuswert gt REAL
117. hleifen Schleifen sind Programmanweisungen die bedingt oder unbedingt einen definierten Pro grammteil wiederholen Dadurch lassen sich je nach Aufgabe Programme sehr kurz fassen z B eine Entnahme von Teilen aus einer Palette deren Positionen sich aufgrund der be kannten Anordnung berechnen lassen Vorsicht Durch die Programmierung von Endlosschleifen kann das Laufzeit verhalten der CMXR Steuerung beeintr chtigt werden Innerhalb Endlosschleifen m ssen Anweisungen wie Wait oder WaitTime ste hen damit eine Endlosschleife die CMXR Steuerung nicht blockiert 8 6 1 WHILE Anweisung lt WHILE gt Die WHILE Anweisung dient zur Wiederholung einer Anweisungsfolge solange eine Bedin gung erf llt ist Das Ergebnis der Schleifenbedingung muss vom Datentyp BOOL sein Die Schleife darf beliebig viele Anweisungen enthalten Die WHILE Anweisung wird mit dem Schl sselwort END_WHILE abgeschlossen 48 Festo GDCP CMXR SW DE de 0909a 8 Programmsteuerung gt Hinweis Wenn eine Schleife sehr oft durchlaufen wird und keine WAIT Anweisungen enth lt kann sie die Ausf hrung anderer FTL Programme behindern blicherweise wird die Steuerung so konfi guriert sein dass in diesem Fall eine Warnung ausgel st und das unkooperative Programm kurzfristig ausgesetzt wird Syntax gt WHILE lt Bedingung gt DO lt Anweisungen END_WHILE Beispiel WHILE index lt 5 DO Lin posl Lin pos2 Lin pos3 index index 1 END _WHILE
118. hten Wert besitzt muss vom Ablaufprogramm eine Fehlermeldung ge neriert werden 176 Festo GDCP CMXR SW DE de 0909a 18 Bausteine Weitere Informationen und ein Beispiel zum erzeugen der Fehlermeldung sind im Kapi tel 20 2 Arbeiten mit Ein und Ausgangsbausteinen beschrieben Output Die Variable Output beschreibt den Verweis auf den Hardwareausgang des Bausteins 18 7 3 Methoden Der Baustein verf gt ber mehrere Methoden Methode Beschreibung Write Schreibt einen Wert auf den analogen Ausgang WaitLss Warten bis Ausgangswert kleiner als angegeben WaitGrt Warten bis Ausgangswert gr er als angegeben Waitlns Warten bis Ausgangswert innerhalb der angegebenen Grenze WaitOuts Waten bis Ausgangswert au erhalb der angegebenen Grenze Read Ausgangswert lesen Tabelle 18 11 Methoden analoger Ausgangsbaustein Im FTL Editor werden die verf gbaren Methoden nach Eingabe des Punktes automatisch in einer Liste angezeigt und k nnen dort ausgew hlt werden ber das Handbedienger t k nnen diese Methoden ber den Men baum aus der Rubrik Analoge Ausg nge ausgew hlt werden JC Analog Outputs m AOUT Write m AOUT Read m AOUT WaitLss AOUT WaitGrt m AOUT Waitins AOUT WaitOuts Die Abbildung zeigt die Auswahl von Methoden des Bausteins ADUT am Handbedienger t Festo GDCP CMXR SW DE de 0909a 177 18 Bausteine 18 7 4 Schreiben des Ausgangswertes Methode Write Mit der Meth
119. iable angelegt und mit Werten vorbelegt Diese Werte werden mit dem Makro Setlnfo ausgegeben Variablen paraml DINT 7 param2 REAL 3 48 Programmcode SetInfo Sensor 1 pressure 2 bar paraml param2 Es wird folgender Infotext angezeigt Sensor 7 pressure 3 48 bar 138 Festo GDCP CMXR SW DE de 0909a 16 Meldesystem 16 2 Information lt Setinfo gt Der Befehl Setinfo setzt eine Informationsmeldung in das Meldesystem ab ech Syntax Setinfo lt text gt STRING OPT lt param1 gt ANY OPT lt param2 gt ANY Parameter Bedeutung Einheit sy gt ao zz 1 y gt g brg zch dc nz zxz_ _cme text Text der Infomeldung STRING parami 1 m glicher Parameter ANY Param2 2 m glicher Parameter ANY Tabelle 16 1 Parameter Befehl Setinfo Die Zusammensetzung des Meldetextes ist in Kapitel 16 1 Meldetext auf Seite 137 be schrieben Eine Informationsmeldung wird mit dem Symbol 0 im Fehlerspeicher der CMXR Mehr achssteuerung gekennzeichnet Hinweis gt Eine Informationsmeldung hat keine Auswirkung auf die Bewe gung Sie dient lediglich der Information Beispiel pressure Sensor Read lesen eines Druckwertes cycle cycle 1 Zyklus z hlen SetInfo Cycle 1 finished Value 2 cycle pressure Anzeige am Handbedienger t 8 Cycle 7 finished Yalue 3 26 me A Cycle 7 finished Yalue Error CH CL Tim
120. iablendeklarationen erfolgen in den zugeh rigen Dateien mit der Datei Endung tid Darin wird der Name der Variable und der Datentyp festgelegt Name und Datentyp werden mit einem Doppelpunkt voneinander getrennt gt Syntax Name lt Typ gt Beispiele g ltiger Variablendeklarationen EE Ee REAL flag SO index DINT name STRING 6 1 Initialisierung Alle FTL Variablen werden automatisch initialisiert Dabei werden Integer und Real Variable mit 0 Zeichenketten Strings mit einer leeren Zeichenkette und boolesche Variable mit FALSE initialisiert Neben dieser automatischen Initialisierung gibt es auch die M glichkeit Variablen mit einem bestimmten Wert zu Initialisieren Man spricht hier auch von einer expliziten Initiali sierung Der Initialwert wird dabei nach der Typangabe in Form einer Zuweisung in der Datendatei angegeben Real Variablen k nnen dabei auch mit Integerwerten initialisiert werden Beispiele g ltiger Initialisierungen index DINT 1 pi REAL 3 1415 radius REAL 10 flag BOOL TRUE message STRING Hello 42 Festo GDCP CMXR SW DE de 0909a 7 Ausdr cke T Ausdr cke Ein Ausdruck beschreibt einen Wert der einem bestimmten Datentyp zugeordnet ist Ein Ausdruck kann Variablen und Funktionen enthalten Die Bestandteile eines Ausdrucks werden durch Operatoren verkn pft wert SORT a 2 a b SORT b 7 1 Ausf hrungsreihenfolge in Ausdr cke
121. ibung unterschieden 4 3 Schl sselw rter Schl sselw rter sind Teil der FTL Sprache Alle Schl sselw rter in FTL werden gro ge schrieben und d rfen nicht als Namen f r Programme Variablen oder Typen verwendet werden Liste aller Schl sselw rter CALL IF THEN END IF ELSIF ELSE GOTO LABEL WHILE DO END_WHILE LOOP END_LOOP RETURN RUN KILL OR XOR MOD AND NOT MAP MAPTO WAIT 24 Festo GDCP CMXR SW DE de 0909a 4 Sprachaufbau BOOL DINT DWORD REAL STRING ARRAY Ebenso sind alle weiteren abgeleiteten Datentypen Schl sselw rter Liste aller Funktionen SIN LOS TAN COT LN ABS SQRT EXP ASIN ACOS ATAN ATAN2 ACOT SHR SHL ROR ROL STR CHR ORD LOW HIGH Zus tzlich gelten die genannten Einschr nkungen f r alle Befehlsnamen wie z B Lin Vel SetError usw 4 4 Zahlenkonstante Es wird zwischen ganzen Zahlen und reellen Zahlen unterschieden Ganze Zahlen k nnen in Dezimal Dual oder Hexadezimaldarstellung geschrieben werden Beispiele f r g ltige ganze Zahlen Dezimale Schreibweise 100 100 Duale Schreibweise 2 1010 2 1010 Hexadezimale Schreibweise 16 1ABF 16 1ABF Reelle Zahlen Gleitkommawerte k nnen mit Dezimalpunkt oder in Exponentialschreib weise dargestellt werden Werte mit Dezimalpunkt m ssen mindestens eine Nachkomma stelle besitzen Beispiele f r g ltige reelle Zahlen Dezimale Schreibweise 1 01 178 473 Exponentielle Schreibweise 1 99E4 1 99e 8 1e 8 4 5 Zeichenketten Zeichenketten
122. ieben Die L nge einer Zeichenket te ist auf 255 Zeichen begrenzt Zeichenketten auch Strings genannt k nnen einander zugewiesen werden und mit Hilfe des Operators einfach aneinander geh ngt werden Beispiel Variable message STRING Bart 2 SIRING Programmcode message cylinder part DNG message message part is extended 5 5 Strukturierte Datentypen Unter strukturierten Datentypen versteht man eine feste Anordnung von Grunddatentypen zu einem neuen Datentyp Strukturierte Datentypen k nnen auf der Anwenderebene nicht angelegt werden Sie wer den nur als Datentypen in FTL Befehlen verwendet Eine Anwendung ist z B die Darstel lung von Positionen Mit dem Datentyp AXISPOS wird eine Achsposition beschrieben die aus 6 Variablen des Grunddatentyps REAL in einer bestimmter Reihenfolge besteht Siehe Kapitel 9 1 Positionsbeschreibung auf Seite 63 5 6 Arrays Arrays werden verwendet um gleiche Datentypen zu einer geordneten Einheit zusammen zufassen Der Zugriff auf einzelne Elemente des Arrays erfolgt mit einem Index Die Gren zen des Arrays werden berwacht Dies bedeutet soll eine Operation au erhalb der Array gr e ausgef hrt werden wird eine entsprechende Meldung ausgel st Deklaration von Arrays gt Syntax VAR name ARRAY lt Arraygr e gt OF Datentyp lnitialisierung END_VAR Unter dem Parameter Arraygr e wird e Die
123. ieben werden Grafik mit Einstellung der Dynamikwerte im Festo Configuration Tool Standard Repositionieren Geschwindigkeit Beschleunigung Ruck Geschwindigkeit Beschleunigung Ruck Geschwindigkeit Beschleunigung Ruck 88 100 100 100 4000 60000 2000000 360 1000 2000000 200000 360 1000 2000000 Einheit mmj s mm s mmj s 360 2000000 Festo GDCP CMXR SW DE de 0909a 10 Dynamikbefehle 10 1 Autom Begrenzung der Dynamik Dynamiklimiter Um eine Bahntreue einzuhalten m ssen die Solldynamikwerte mit den physikalisch m g lichen Dynamikwerten berpr ft werden damit es zu keiner berschreitung der maxima len m glichen Werte der einzelnen Achsen kommt Dabei handelt es sich um die Ge schwindigkeit Beschleunigung und den Ruck Diese maximalen Werte sind in der Konfigu ration der einzelnen Achsen hinterlegt Die CMXR Steuerung verf gt ber einen Begrenzer der Dynamikwerte der Dynamiklimiter genannt wird Dieser arbeitet in der Vorausberechnung des FTL Programms und pr ft st ndig die zu fahrende Dynamikwerte mit der maximal m glichen Dynamik der einzelnen Achsen ab Hinweis gt Der Dynamiklimiter ist st ndig aktiv und muss nicht aktiviert wer den Ein Eingreifen des Dynamiklimiters h ngt ab von e Gr e der programmierten Dynamik e Konstellation der Bewegungsbahn aus der die Dynamikwerte f r die einzelnen Achsen resultieren Wird aufgru
124. ierungsbits realisiert Im ersten Schritt wird von der SPS signalisiert dass Daten gesendet wurden Sobald die Daten von der CMXR bernommen wurden wird dies an die SPS ge meldet Anschlie end werden beide Schnittstellensignale zur ckgesetzt Der Ablauf ist im folgenden Ablaufdiagramm dargestellt Signal von der SPS Daten bereit plc_inboolreg O Signal an die SPS Daten gelesen plc_outboolreg 0 D D D DU D D D D D D D D Position bernehmen i i i f D D D D D D D D D D D Neue Position Position bertragung wurde bertragen wurde bernommen Ende 210 Festo GDCP CMXR SW DE de 0909a 20 Beispiele 20 5 3 Ablaufprogramm Variablen waitPos CARTPOS BIckP s CARTPOS u depositPos CARTPOS i ss abovePickPos 2 CARTPOS aboveDepositPos CARTPOS gripper gt DOUT sca Programm Initialisierung Acc dynCart 4000 Vel dynCart 100 Lin waitPos WHILE TRUE DO Handshake WAIT ple inb clreg 0 SPS signalisiert eine neue Position PickPo3s Ze ple eposreg 0 abovePickPos ze ple cposreg 0 x abovePickP s y lt ple cp sregs 0 y plc outboolreg 0 TRUE Best tigt die bernahme WAIT NOT plc inboolreg 0 Warten auf Reaktion der SPS ple Sucboslregs 0 FALSE Anfahren der Aufnahmeposition Lin abovePickPos Lin pickPos Greifen gripper Set WaitTime 200 Anfahren der Ablageposit
125. igitale Ausg nge ausgew hlt werden Im FTL Editor werden die verf gbaren Methoden nach Eingabe des Punktes automatisch in einer Liste angezeigt und k nnen dort ausgew hlt werden 13 Cylinder Reset out port to FALSE P RisingE doe EP Set E parat Outputs L DOUT Set DOUT Reset L DOUT Write L DOUT Read L DOUT RisingEdge L DOUT ResetRisingEdge Die Abbildung zeigt die Auswahl von Methoden des Bausteins DOUT am Handbedienger t 166 Festo GDCP CMXR SW DE de 0909a 18 Bausteine 18 5 4 Auf Zustand warten Methode Wait WaitN Mit den Methoden Wait und WaitN kann im FTL Programm gewartet werden bis der Aus gang den Wert TRUE oder FALSE besitzt Der eventuell gesetzte Timeout wird dabei be r cksichtigt Syntax gt lt Instanzname Wait OPT ovlEnable BOOL lt Instanzname WaitN OPT ovlEnable BOOL Beschreibung des Parameters ovlEnable siehe Kapitel 18 3 1 auf Seite 158 Beispiel Ptp pos0 cylinder Wait warten Ausgang TRUE Bewegung gestoppt Ptp post cyinder WaitN TRUE warten Ausgang FALSE kein Stop Ptp pos2 18 5 5 Zustand Lesen Methode Read Mit der Methode Read kann der aktuelle Zustand des Ausganges gelesen werden Als R ckgabewert wird der Zustand TRUE oder FALSE zur ckgegeben Syntax gt lt Instanzname Read OPT ovlEnable BOOL BOOL Beschreibung des Parameters ovlEnable siehe Kapitel 18 3 1 auf Seite 158 Beispiel value cylinder Read
126. im Neustart des Systems sind alle Werte auf Null gesetzt Etwaige Daten die f r die Abarbeitung der Programme ben tigt werden m ssen von der bergeordneten Steuerung vor dem Programmstart gesendet werden Hinweis gt Werden in einem Programm konsistente Daten ben tigt ist vor de ren Verarbeitung daf r zu sorgen dass diese auf z B lokale Daten kopiert werden Hinweis gt Die Schnittstellendaten sind nicht gepuffert und haben nach einem Neustart des Systems alle den Wert Null Etwaige Daten die zur Abarbeitung ben tigt werden sind vor dem Start zu schreiben 130 Festo GDCP CMXR SW DE de 0909a 15 PROFIBUS Schnittstelle 15 1 Hinweise zur Signalverarbeitung Die in den folgenden Kapiteln behandelten FTL Variablen der SPS Schnittstelle werden wie andere Variable immer in der Vorausberechnung Satzvorlauf des FTL Programms berech net M ssen Variablen zur Laufzeit der aktiven Programmzeile Hauptlauf ausgef hrt wer den so sind zus tzliche Ma nahmen erforderlich Eine M glichkeit ist die Verwendung der DO Anweisung Die folgende Grafik erl utert die Unterschiede der Signalverarbeitung Hauptlauf Lin pos1 Hauptlauf Lin pos1 Lin pos2 Lin pos2 Lin pos3 Lin pos3 Lin pos4 Lin pos4 Lin pos5 Lin pos5 DO plc_Dint 1 1 ple_Dint 1 2 Lin pos6 Lin pos6 Lin pos7 DO plc_DiInt 3 2 Y Lin pos7 Lin pos8 Vorlauf gt Lin pos8 Vorlauf Lin pos9 Lin pos9 Lin pos10 Vari
127. ine kurze Reaktionszeit Aus diesem Grund empfiehlt es sich vor dem Start das Programm zu laden um einen schnellen Programmstart zu erzielen 3 3 Programmstart Um ein Programm zu starten muss dieses im entsprechenden Projekt geladen werden Das Laden kann entweder ber das Handbedienger t oder durch eine externe Steuerung ber eine Steuerungsschnittstelle durchgef hrt werden Hinweis Es kann immer nur ein Anwender Projekt geladen sein Das globale Systemprojekt ist zus tzlich immer geladen Der Programmablauf beginnt nach dem Startsignal immer an der aktuellen Position des Programmzeigers Hat der Programmzeiger die letzte Programmzeile des Ablaufprogramms erreicht wird das Programm beendet bleibt aber geladen Sollten im Ablauf parallele Programme gestartet worden sein so bleibt das Hauptprogramm aktiv bis diese beendet sind 3 4 Satzvorlauf Um eine schnelle Programmbearbeitung zu erreichen rechnet der Interpreter eine Anzahl von Bewegungsbefehlen voraus Die Vorausberechnung erfolgt im laufenden Betrieb si multan zur Programmausf hrung und wird im System abgehandelt Die Gr e des Satzvor laufes d h die Anzahl der Bewegungsbefehle die vorausberechnet werden ist im System hinterlegt 16 Festo GDCP CMXR SW DE de 0909a 3 Programmbearbeitung Hinweis gt Der Satzvorlauf bezieht sich auf Bewegungsbefehle Andere Anwei sungen die zwischen den Bewegungsbefehlen stehen wie z B das ndern von Dynamikwerten
128. ion Lin abovePickPos Lin aboveDepositPos Festo GDCP CMXR SW DE de 0909a 211 20 Beispiele Lin depositPos Ablegen gripper Reset WaitTime 200 Anfahren der Warteposition Lin aboveDepositPos Lin waitPos END WHILE 212 Festo GDCP CMXR SW DE de 0909a 21 Men baum der FTL Befehle 21 Men baum der FTL Befehle Um die Programmierung zu erleichtern wird am Handbedienger t CDSA und im FTL Pro grammiereditor ein Men baum angezeigt der alle verf gbaren FTL Befehle enth lt Im folgenden werden alle Befehle des Befehlsumfangs FTL Programmierung Basis darge stellt Darstellung des Men baums am Handbedienger t CDSA Kommandos Fr Favoriten 23 sps Schnittstelle 23 Funktionen Referenzieren Ref xis RefAxisAsync WaitRefFinished Bitte w hlen Sie die einzuf gende Anweisung Favoriten Abbrechen E SPS Schnittstelle e ProgHold E Funktionen E Positionsfunktionen o ReadTargetPos o ReadActualPos o SavePosition e SIN e COS e TAN e COT e LN e ABS e SORT e EXP e ASIN Festo GDCP CMXR SW DE de 0909a 213 21 Men baum der FTL Befehle ACOS ATAN ATAN2 ACOT Time TimeToStr E Referenzieren RefAxis RefAxisAsync WaitRefFinished IsAxisReferenced El Bewegungsbefehle Ptp Lin Circlp LinToCirclp PtpToCirclp MoveAxisPtp MoveAxisCart PtpRel LinRel StopMove El Dynamikbefehle DynOvr Vel Acc Jerk Ovr OvlVel OvlCart
129. ise zu diesem Handbuch EEN 14 2 6 Sicherheitsanweisungen f r das beschriebene Produkt 15 3 AProstammbearbeilune aussah 16 3 1 Allgemein gesessen 16 3 2 Interpreter a each 16 3 3 ite TE ln EE 16 3 CEET 16 3 5 ee E EE 18 3 6 VE KEE eene 18 3 6 1 Globales FTEPr jekt n ne en 19 3 7 EIL Programmdalei UN aussi 19 3 7 1 Projektglobale Programme Eeer eege Seet 20 3 8 FTL Datendatei Names tid ans a an a 20 3 8 1 Prosrammlokale Blatt ene eebe enden dee de ee 20 3 8 2 Projektel bale Daten esse 21 3 8 3 Systemglobale Daten see een 21 3 8 4 Instanziierung von Variablen E 22 4 Sprachaufbal n aneeeeneiiieniiakenie 24 AZ JEOIMaHELINS eene ansehe 24 4 2 Bezeichner cn 24 4734 Schl sselW rte ea eet dee 24 4A lte ee eege 25 4 5 ZEIcHeNketten re een esse 25 4 6 Operatoren und Begrenzungszeichen sssesseseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeseeeeeee 26 4 6 1 Arithmetische Operatoren ua 26 4 6 2 Logische Operatoren E 26 4 6 3 Vergleichsopera tore an eu 26 4 6 4 Sonstige Operatoren eer 27 4 6 5 Bestenzunsszeichen EE 27 Festo GDCP CMXR SW DE de 0909a INHALTSVERZEICHNIS 5 Gr nddatent pen deeg eet dere Eege Eed 28 5 1 Boolescher Datentyp BOOL sn ee kenne 29 5 2 Ganzzahl Typen REAL Datentyp Bitmuster Typen ssssssssssssssssssssssssossssssssssoo 30 53 Eu EE 30 5 4 Zeichenketten STRING EE 31 5 5 Strukturierte Datentypen a a 31 526 ee een 31 5 6 1 Initialisierung von Arrays ae eine
130. kathete und der Gegenkathete den eingeschlossenen Winkel z B Alpha Syntax gt Winkel in Grad REAL ACOT Cotangenswert gt Die R ckgabe des Winkels erfolgt in Grad 150 Festo GDCP CMXR SW DE de 0909a 17 Funktionen Beispiel a 30 Gegenkathete alpha 23 5 winkel Alpha b a COT alpha Berechnung der Ankathete a 45 89 Gegenkathete b 145 67 Ankathete value b a alpha ACOT value Berechnung eingeschlossener Winkel 17 10 Tangens2 lt ATAN2 gt Berechnet Arcustangens mit der Wertebereichsvergr erung von n bis 2 Syntax gt Argument REAL ATAN2 y gt REAL x REAL 17 11 Logarithmus lt LN gt Die Logarithmusfunktion berechnet den nat rlichen Logarithmus des bergebenen Argu mentes Syntax gt nat rlicher Logarithmus gt REAL LN Wert REAL 17 12 Exponent lt EXP Die Exponentialfunktion berechnet den Wert ex Syntax gt Ergebnis REAL EXP Wert gt REAL Festo GDCP CMXR SW DE de 0909a 151 17 Funktionen 17 13 Absolutwert lt ABS gt Die Funktion Absolutwert liefert den absoluten Betrag des bergebenen REAL Wertes Der R ckgabewert ist somit immer positiv Negative Zahlen werden als Betrag mit positivem Vorzeichen zur ckgegeben Syntax gt Absolutwert gt REAL ABS Wert gt REAL Beispiel Level 452 98 Level ABS Level Level hat den absoluten Wert von 452 98 Level 1056
131. ktion die ber einen Programmbefehl eingestellt wird werden die einzelnen Positionen nicht genau angefahren Die Dynamikprofile zum Anfahren der ein zelnen Positionen werden in den berschleifbereichen berlagert was zu einer Erh hung der Dynamik f hrt Hinweis gt Nach dem Laden eines Programms ist kein berschleifen aktiv d h es erfolgt ein genaues Anfahren der Positionen Ein gew nschtes Uberschleifen muss mit den entsprechenden Funktionen aktiviert werden Das berschleifen kann auf zwei Arten erfolgen 1 Geschwindigkeits berschleifen anhand der Geschwindigkeit 2 Positions berschleifen anhand einer vorgegebenen Distanz Die Beschreibung dieser Arten erfolgt auf den folgenden Seiten 102 Festo GDCP CMXR SW DE de 0909a 11 berschleifbefehle gt Hinweis Die Bahn im berschleifbereich wird durch eine Polynomkurve be stimmt die sich aus mathematischen Berechnungen ergibt Diese verwirklicht einen stetigen Anstieg der Dynamik und somit eine schonendes Verhalten f r die Mechanik Mit einem Verrunden ber einen Radius kann dieses Verhalten nicht erzielt werden Somit kann eine Verrundung von Bahnsegmenten mit dem berschleifen nicht realisiert werden 11 1 Nullsegmente Wird ein Nullsegment programmiert d h die erneute Positionierung auf die bereits ange fahrene Position so kann nicht berschliffen werden Dies f hrt zu einem Abbremsen mit anschlie endem Beschleunigen auf der Bahn Beispiel Li
132. le 18 21 Methoden CANopen Baustein Im FTL Editor werden die verf gbaren Methoden nach Eingabe des Punktes automatisch in einer Liste angezeigt und k nnen dort ausgew hlt werden ber das Handbedienger t k nnen diese Methoden ber den Men baum aus der Rubrik CANopen Ger te ausgew hlt werden 188 Festo GDCP CMXR SW DE de 0909a 18 Bausteine CANopen Devices COPDEYICE WriteSDO COPDEYICE ReadSDOUnsigned COPDEYICE ReadSDOSigned Die Abbildung zeigt die Auswahl der Methoden des CANopen Bausteins am Handbedien ger t 18 10 3 SDO schreiben Methode WriteSDO Mit der Methode WriteSDO k nnen Datenpakete auf den CAN Bus geschrieben werden 3 Syntax lt COPDEVICE WriteSDO lt index DINT lt subindex gt DINT lt data DINT lt type SdoDataType BOOL Parameter Typ Bedeutung index DINT Index des SDO subindex DINT Subindex des SDO data DINT Daten die geschrieben werden type SdoDataType Datentyp Enum eight_bits 8 Bit sixteen_bits 16 Bit thirtytwo_bit 32 Bit Tabelle 18 22 Parameter Methode WriteSDO Wird das Paket erfolgreich geschrieben wird TRUE zur ckgegeben ansonsten FALSE Beispiel oData 12000 Axis3 _copd WriteSDO 16 6085 0 oData thirtytwo_bits 18 10 4 SDO lesen Methode ReadSDOSigned Mit der Methode ReadSDOSigned k nnen Datenpakete mit Vorzeichen vom CAN Bus gele sen werden Festo GDCP CMXR SW DE de 0909a 189 18
133. le Daten Datei Feed tid lokale Daten Datei Sort tid lokale Daten Programm Programm Programm Programm SA Lin Pos 1 _ Lin Pos 10 _ Lin Pos1 _ Lin Pos 10 Datei Fill tip Lin Pos 2 Datei Sort tip Lin Pos 11 Datei Feed tip Lin Pos 2 Datei Sort tip Lin Pos 11 Lin Pos 3 Lin Pos 12 Lin Pos 3 Lin Pos 12 Lin Pos 4 Lin Pos 13 Lin Pos 4 Lin Pos 13 3 8 3 Systemglobale Daten Systemglobale Daten sind systemweit in alle Programme aus allen Projekten bekannt Diese systemglobalen Daten sind dem globalen Projekt _global zugeordnet und dort in der Datendatei _globalvars tid abgelegt gt Festo GDCP CMXR SW DE de 0909a Hinweis Da alle Programme auf systemglobale Daten Zugriff haben ist auf die sorgf ltige Verwendung dieser Daten zu achten Ein gleichzeiti ger Zugriff von mehreren Programmen auf diese Daten ist zu pr fen und ggf in der Applikation durch entsprechende Ma nahmen zu verriegeln 21 3 Programmbearbeitung Folgende Abbildung zeigt das globale Projekt _global im Verbund mit projektglobalen und lokalen Daten Ferner sind im systemglobalen Bereich auch systemglobale Programme dargestellt Projekt Verzeichnis _global systemglobale Daten Datei _globalvars tid globales Programm MoveHome globales Programm MoveStart globales Programm MoveWait Datei MoveHome tid lokale Daten Datei MoveStart tid lokale Daten Datei MoveWait tid lokale Daten Datei MoveHome ti
134. le Variable erfolgen Diese Variablen werden vor dem Aufruf mit entsprechen den Werten versorgt und innerhalb des Unterprogramms verarbeitet Rekursive Aufrufe von Programmen sind nicht erlaubt Ein Programm darf sich daher nicht selbst aufrufen Ferner ist ein Aufruf des aufrufenden Programms nicht m glich 3 Syntax CALL lt Programmname Festo GDCP CMXR SW DE de 0909a 51 8 Programmsteuerung Beispiel variant 17 Variable f r Programm Kleben directionRight ze TRUE Variable f r Programm Kleben directionLeft FALSE Variable f r Programm Kleben CALL Glueing Unterprogramm Kleben CALL MoveStart Unterprogramm fahre Startposition 87 2 Programmr cksprung lt RETURN gt Prinzipiell wird ein Unterprogramm mit der letzten Anweisung beendet Soll ein Unterpro gramm vor der letzten Anweisung beendet werden erfolgt dies mit dem Befehl RETURN Das Unterprogramm wird dabei vorzeitig beendet und es wird in das aufrufende Programm zur ckgesprungen das fortgesetzt wird 3 Syntax RETURN Eine R ckgabe von Werten an das bergeordnete Programm ber den Befehl RETURN ist nicht m glich Sollte das n tig sein k nnen f r diese Informations bermittlung entspre chende Variablen ben tzt werden Hinweis 2 Wird der Befehl RETURN im Hauptprogramm ausgef hrt wird die ses gestoppt und beendet Bei einem Aufruf von RETURN in einem parallelen Programm oder einem Unterprogramm wird dieses beendet
135. m Satzvorlauf sind im Kapitel 20 3 Steuerung des Satzvorlaufs beschrieben Festo GDCP CMXR SW DE de 0909a 17 3 Programmbearbeitung 3 5 Programmstruktur Alle FTL Programme sind auf der Speicherkarte Compact Flash Card der CMXR Mehrachs steuerung im Verzeichnis application control teachcontrol im weiteren Text Applikati onsverzeichnis genannt abgespeichert Die Ablage der Programme erfolgt in einer Ordner struktur Ein Projekt enth lt die zugeordneten Bewegungsprogramme Die Anzahl der Pro jekte und Programme ist durch die Gr e der Speicherkarte limitiert Aufbau der Programmstrukturen global variables project paletteClear project paletteFill project variables project variables program variables program variables program variables program variables Lin Pos1 Lin Pos1 Lin Pos9 Lin Pos1 Lin Pos2 LOOP7 Lin Pos13 LOOP 10 Lin Pos3 Lin Pos10 Lin Pos11 Lin Pos23 z Lin Pos6 z Lin Pos13 Lin Pos11 I Lin Pos10 END_LOOP END_LOOP project 1 d project 2 A a ee Er Da nA a a ben A a na a Sa Een a SE Eh a an 3 6 FTL Projekte Ein FTL Projekt wird als Unterverzeichnis im Applikationsverzeichnis angelegt Der Ver zeichnisname ist dabei der Projektname und hat die Extension tt Beispiel f r Projektnamen El application E CO control CH config El teachcontrol globaltt Projekt global C ube H Projekt cube C FickPlace tt Projekt
136. mpulszeit wenn Programm ge stoppt Tabelle 18 5 Parameter Methode Pulse Festo GDCP CMXR SW DE de 0909a 169 18 Bausteine Die Methode Pulse steuert einen digitalen Ausgang mit einem Puls bestimmter L nge an Die L nge des Pulses wird dabei in Millisekunden angegeben werden Dabei wird zu Be ginn des Pulses der Ausgang immer auf TRUE gesetzt und am Ende immer auf FALSE ge setzt Besitzt der Ausgang jedoch schon den Zustand TRUE so wird dieser nach Ablauf der Impulszeit zur ckgesetzt Mit dem optionalen Parameter pauseAtInterrupt kann angegeben werden wie die Reak tion im Falle eines Stopp des FTL Programm erfolgt Wir dieser Parameter nicht angegeben so wird intern der Zustand FALSE gesetzt pauseAtInterruppt TRUE Mit TRUE wird der Impulszeit angehalten und der Ausgang auf den Wert FALSE gesetzt Wird das FTL Programm fortgesetzt so wie der Ausgang f r die restliche verbleibende Zeit erneut auf TRUE gesetzt Nach Ablauf der Impulszeit erfolgt ein Setzen auf den Zustand FALSE pauseAtInterruppt FALSE Ist der optionale Parameter nicht oder FALSE angegeben so wird der Impuls nach Start bis zum Ende ausgef hrt Ein Stopp des FTL Programm hat keine Auswirkungen Hinweis gt Wird ein gestopptes FTL Programm entladen so wird Impulsfunkti on automatisch beendet und der Ausgang FALSE gesetzt Beispiel setzt Ausgang cylinder f r 200msec auf TRUE cylinder Pulse 200 18 6 Analoger Eingangsba
137. n Operatoren in einem Ausdruck werden in einer bestimmten Reihenfolge bearbeitet 1 Klammern 2 Array Index 3 NOT Negation 4 MODAND Multiplikation Division Modulo Logisch UND 5 OR XOR Addition Subtraktion Logisch ODER EXOR 6 lt 0 gt gt Vergleichsoperationen Festo GDCP CMXR SW DE de 0909a 43 8 Programmsteuerung 8 Programmsteuerung 8 1 Anweisungen FTL Programme bestehen aus einer Aneinanderreihung von durch Zeilenumbr che ge trennten Anweisungen FTL kennt folgende Anweisungen 1 Wertzuweisung 2 Verzweigungen IF IF GOTO GOTO LABEL RETURN 3 Schleifen WHILE LOOP 4 Routinenbearbeitung CALL Makro Aufruf RUN KILL 5 Synchronisationsanweisung WAIT 8 2 Wertzuweisung lt gt Eine Wertzuweisung besteht aus einer Variablenbezeichnung auf der linken Seite dem Zuweisungsoperator und einem Ausdruck auf der rechten Seite Der Datentyp des Aus drucks muss auf den Datentyp der Variable zuweisbar sein Syntax gt Variable gt lt Ausdruck gt Beispiele Ke x e a tb z 8 3 Bedingungen Innerhalb von Anweisungen Verzweigungen oder Schleifen k nnen Bedingungen formu liert werden Diese k nnen boolesche Operanden z B AND OR oder einen Vergleichs operand z B gt lt beinhalten Die Verkn pfung von mehreren Vergleichen wird durch entsprechende Klammerebenen strukturiert F r die folgenden Beispiele werden folgende Variablen ve
138. n Zus tzlich erfolgt die Angabe der Position der 3 Hilfsachsen Diese ist jedoch eine Angabe in einer Achsposition da mit den Hilfsach sen nicht kartesisch verfahren werden kann Sie werden gemeinsam mit den Kinematikachsen auf die Zielposition interpoliert jedoch f hren die Hilfsachsen eine Point To Point Ptp Interpolation aus Aufbau Datentyp CARTPOS X REAL Verschiebung entlang der X Achse y REAL Verschiebung entlang der Y Achse 3 REAL Verschiebung entlang der Z Achse a REAL Orientierungsangabe Drehung um die Z Achse b REAL Orientierungsangabe Drehung um die verdrehte Y Achse c REAL Orientierungsangabe Drehung um die verdrehte Z Achse aux1 REAL Achsposition Hilfsachse 1 aux2 REAL Achsposition Hilfsachse 2 aux3 REAL Achsposition Hilfsachse 3 Bedingt durch die ausgew hlte Kinematik bzw deren Freiheitsgrade ist manche Angabe in einer kartesischen Position nicht m glich Die einzelnen Positionsangaben im Datentyp CARTPOS sind nicht an die physikalischen Achsen der Kinematik gebunden sondern an deren Freiheitsgrade Die kartesische Position umfasst die Angaben f r maximal 6 Freiheitsgrade X Y Z sind die translatorischen Positionen A B und C beschreiben die Orientierungen der Position Die Orientierung wird wie im gesamten System nach der Euler ZYZ Konvention angegeben Der Datentyp CARTPOS ist wie der Datentyp AXISPOS strukturiert siehe Kapitel 5 5 Struk turierte Datentypen auf Seite 31 Der Z
139. n pos1 Lin pos2 erneute Positionierung auf pos2 kein berschleifen m glich Lin pos2 Lin pos3 Da die Position pos2 wiederholt programmiert ist kommt es an dieser Programmstelle zu einem Stopp auf der Bahn Festo GDCP CMXR SW DE de 0909a 103 11 berschleifbefehle 11 2 Grenzbereich Ist ein Abstand zwischen 2 Punkten kleiner als notwendig um dazwischen die parametrier te berschleifbahn zu fahren reduziert die Steuerung den berschleifbereich zwischen den Punkten automatisch so dass der bestm gliche berschleifwert gefahren werden kann programmierter berschleifbereich berlappender berschleifbereich j L von der Steuerung generier ter berschleifbereich gefahrene Bahn In der Abbildung sind die gestrichelten Kreise der berschleifbereich der sich aufgrund der Parametrierung ergibt Die Kreise berlappen sich da die Distanz zwischen der Positi on A und B nicht ausreicht um dieses Profil abzufahren Die Steuerung berechnet nun au tomatisch den maximal m glichen berschleifbereich der durch die grauen Vollkreise dargestellt ist Hinweis gt Das berschleifen ist auf 50 der Bahnsegmentl nge beschr nkt Ist der berschleifbereich gr er als maximal m glich verk rzt die CMXR Mehrachssteuerung den berschleifbereich automatisch auf 50 der Bahnsegmentl nge Hinweis gt Zu kleine Bahnsegmentl ngen k nnen zu ungewollten Dynamik einbr chen f hren falls der definier
140. n so wird max diese Zeit abgewartet Ist die Wartezeit abgelaufen ohne dass der gew nschte Signalzustand eingetreten ist wird der Pro sgrammablauf fortgesetzt Eine Fehlermeldung muss vom Ablaufprogramm selbst erzeugt werden e Wird als Wert O angegeben so erfolgt eine sofortige Pr fung Falls das Signal nicht den gew nschten Wert besitzt muss vom Ablaufprogramm eine Fehlermeldung ge neriert werden Weitere Informationen und ein Beispiel zum erzeugen der Fehlermeldung sind im Kapi tel 20 2 Arbeiten mit Ein und Ausgangsbausteinen beschrieben RisingEdge Obwohl der Baustein nicht aufgerufen wird speichert er den Zustand einer steigenden Flanke Dieser Zustand kann im Programm ausgewertet werden Output Die Variable Output beschreibt den Verweis auf den Hardwareausgang des Bausteins Festo GDCP CMXR SW DE de 0909a 165 18 Bausteine 18 5 3 Methoden Der Baustein verf gt ber mehrere Methoden Methode Beschreibung Wait Warten bis Ausgang den Wert TRUE besitzt WaitN Warten bis Ausgang den Wert FALSE besitzt Read Ausgangswert lesen RisingEdge Zustand steigende Flanke lesen ResetRisingEdge Zustand steigende Flanke r cksetzen Set Ausgang setzen Zustand TRUE Reset Ausgang r cksetzen Zustand FALSE Write Ausgang auf angegebenen Wert setzen Tabelle 18 4 Methoden digitaler Ausgangsbaustein DOUT ber das Handbedienger t k nnen diese Methoden ber den Men baum aus der Rubrik D
141. n auf die Speicherkarte verk rzt deren Lebensdauer Das Makro SavePosition darf keines falls zyklisch aufgerufen werden Es kann zum gelegentlichen Ein richten der Applikation verwendet werden 17 4 Lesen der Systemzeit lt Time gt Lesen der Systemzeit in Sekunden seit dem 01 01 1970 um 00 00 Uhr gt Syntax Zeitwert DINT Time Dieser Befehl liest die aktuelle Systemzeit der Steuerung aus und gibt ihn als DINT Wert zur ck Beispiel value Time aktuelle Systemzeit lesen 144 Festo GDCP CMXR SW DE de 0909a 17 Funktionen 17 5 Umwandeln Zeit in Text lt TimeToStr gt Umwandeln einer Zeit in einen Text ech Syntax Zeitstring STRING TimeToStr OPT sysTime DINT Dieser Befehl kann eine Zeit Parameter sysTime in einen formatierten Text mit dem For mat DDD mon dd hh mm ss yyyy umwandeln Ohne Parameter sysTime wird die aktuelle Systemzeit formatiert zur ckgegeben Der Parameter sysTime gibt die Zeit in Sekunden seit dem 01 01 1970 um 00 00 Uhr an Parameter Parameter Bedeutung Einheit sysTime Optionale Angabe Zeitwert der ge Sekunden wandelt werden soll Tabelle 17 4 Parameter Funktion TimeStr Beispiel str Time ze TimeToStr aktuelle Systemzeit lesen R ckgabe str Time Mon Feb 13 11 23 42 2006 Festo GDCP CMXR SW DE de 0909a 145 17 Funktionen 17 6 Sinus lt SIN gt lt ASIN gt Die Sinus Funktion stellt den mathematischen Zusammenhang zwisc
142. nd acc haben in diesem Fall keine Bedeutung Referenzfahrtmethode Die Methode der Referenzfahrt kann auf verschiedene Art geschehen z B negativer End schalter mit Nullimpulsauswertung positiver Endschalter mit Nullimpulsauswertung oder Referenzfahrt auf einen Endschalter Diese Methoden sind alle in der zugeh rigen CAN open Dokumentation des jeweiligen Antriebsreglers hinterlegt Die folgende Tabelle zeigt die Referenziermethoden f r CANopen Ger te nach DS 402 Wert Richtung Ziel Bezugspunkt f r Null 18 positiv Anschlag Anschlag 17 negativ Anschlag Anschlag 2 positiv Anschlag Nullimpuls 1 negativ Anschlag Nullimpuls 1 negativ Endschalter Nullimpuls 2 positiv Endschalter Nullimpuls 7 positiv Referenzschalter Nullimpuls 11 negativ Referenzschalter Nullimpuls 17 negativ Endschalter Endschalter 18 positiv Endschalter Endschalter 23 positiv Referenzschalter Referenzschalter Festo GDCP CMXR SW DE de 0909a 117 13 Referenzieren einer Kinematik Wert Richtung Ziel Bezugspunkt f r Null 27 negativ Referenzschalter Referenzschalter 33 negativ Nullimpuls Nullimpuls 34 positiv Nullimpuls Nullimpuls 35 Keine Fahrt Aktuelle Ist Position 99 Ablauf wie in FCT Projekt der Achse definiert Tabelle 13 3 Referenzfahrtmethoden Verschiebung der Referenzposition ber den Parameter offset kann eine Verschiebung des Nullpunktes gegen ber
143. nd der programmierten Dynamik oder das ndern der Bewegungsbahn das Maximum von mindestens einer Achse berschritten so wird die Bahndynamik so redu ziert dass die betroffene Achse sich an ihren Grenzen bewegt Die Bahn wird dabei nicht verlassen Verl sst die Kinematik kritische Bewegungsbahnen und eine h here Dynamik ist m glich so wird dies erkannt und auf den programmierten Wert beschleunigt Im folgenden Beispiel wird die Grenze einer Achse erreicht so dass automatisch die Bahn geschwindigkeit reduziert und somit die Bahntreue gew hrleistet wird Nachdem die Ach se den kritischen Bereich verlassen hat wird wieder auf den programmierten Wert be schleunigt Verringern der Bahnge Bahnge Ka schwindigkeit schwindigkeit Grenze der einzelnen Achse erreicht Achsgrenze Festo GDCP CMXR SW DE de 0909a 89 10 Dynamikbefehle 10 2 Geschwindigkeiten lt Vel gt Mit dem Befehl Vel kann die Geschwindigkeit f r eine kartesische und eine PTP Bewegung angegeben werden Die Steuerung reduziert die angegebenen Werte auf die maximal m g lichen Achsgeschwindigkeiten der einzelnen beteiligten Achsen Kommt es zu einer Be grenzung aufgrund der maximalen m glichen Achsgeschwindigkeiten so wird eine Mel dung ausgegeben Syntax Vel Mode ENUM Value REAL Parameter Bedeutung Einheit Mode Art der Geschwindigkeit Enumeration dynPtp dynCart Value Geschwindigkeitswert Geschwindigkeitsangabe Tabelle 10 1
144. ndigkeit 100 L 60 m get pos1 pos pos pos4 ndern des Override mit Ovr h lt die Bewegung an 10 5 2 Dynamikoverride lt DynOvr gt Mit dem Befehl DynOvr werden die eingestellten oder programmierten Dynamikwerte be einflusst Er unterliegt dem Override welcher am Handbedienger t eingestellt wird Syntax gt DynOvr lt Value gt REAL Parameter Bedeutung Einheit Tabelle 10 8 Parameter Befehl DynOvr Hinweis 2 Die gefahrene Bahn wird durch den Override nicht ver ndert Der programmierte Wert hat keine Auswirkungen auf die Vorausbe rechnung des Programmes 96 Festo GDCP CMXR SW DE de 0909a 10 Dynamikbefehle 10 6 Beschleunigungsrampen Mit dem Befehl Ramp kann eine Rampenform zur Beschleunigung bzw Verz gerung ein gestellt werden Zur Auswahl stehen vier Rampenformen wobei nach dem Start die Sinus Rampe aktiv ist Abbildung der 4 Rampenformen Trapez Sinus 12 1200 1 1 009 0 50 o b 0 600 Beschleunigung oe 9 g Beschlewaisene o 0 20 o g 2 m 0 000 0 000 0 07 KE 0 50 0 007 0 88 1009 0 000 0 333 0 667 1 000 Zeit Sinus quadrat Minjerk Barchicantgeng o 2 8 2 H g 8 o 8 8 2 8 g mm 2 8 2 8 2 2 g e E Trapez Rampe Die Trapez Rampe bewirkt einen trapezf rmigen Beschleunigungsverlauf Der Ruck ver l uft somit rechteckf rmig
145. ndung eines Rampentyps h ngt von der eingesetzten Kinematik und von der Applikation ab Nach einer Auswahl der Rampenform ist diese in der Bewegung zu testen 10 6 1 Setzen von Rampenformen lt Ramp gt Mit dem Befehl Ramp kann eine Rampenform ausgew hlt werden Diese wird f r den Be wegungsverlauf aller folgenden Bewegungsbefehle verwendet Syntax gt Ramp lt Ramptype gt ENUM OPT lt Param gt REAL Parameter Bedeutung Einheit Ramptype Rampentyp w hlt die Rampenform aus Enumeration TRAPEZOID SINE SINESQUARE MINJERK Param Parameter f r Trapezrampen Tabelle 10 9 Parameter Befehl Ramp 98 Festo GDCP CMXR SW DE de 0909a 10 Dynamikbefehle Beispiel Ramp TRAPEZOID Auswahl Trapezrampe Lin pos1l Lin pos2 WaitTime 1000 Ramp SINE Lin pos3 Lin pos4 Auswahl der Sinusrampe 10 7 Konstante Bahngeschwindigkeit einschalten lt VconstOn gt Mit diesem Befehl wird die berwachung der konstanten Bahngeschwindigkeit eingeschal tet Diese wirkt sich nur auf kartesische Befehle wie z B LIN und CIRC aus Bei PTP Bewegungen hat dieser Befehl keine Auswirkungen gt Parameter Tolerance Syntax VconstOn Tolerance REAL lt StopOnViolation gt BOOL Bedeutung Prozentualer Wert f r den zul ssigen Einbruch der Bahngeschwindigkeit Einheit Prozentwert 0 bis 100 StopOnViolation Bei TRUE Ausl sen eines Fehlers bei Verle
146. ne 118 13 3 Warten auf Ende der Referenzfahrt WaitRefFinished gt ek 120 13 4 Status einer Achse abfragen IsAxisReferenced gt ua 121 14 Merkur ede te aniar eae ahati ae erena iaiia saiae dE EE 122 n BE EE E DEE 122 Ee a E SEET 122 14 2 Aktivieren von Werkzeugdaten Tool zeeesessssssosssssnensnensnsnsnnnnnnnsnnnsnsnnnnnsnnnene 125 14 2 1 Auswirkung von TCP Daten 222222000000un000ennnnnnuneennansnnennnnenuneennune 125 15 PROFIBUS Schnittstelle un unsieenhniiehkal 130 15 1 Hinweise zur Signalverarbeitung u a in 131 15 2 Boolesche Ein und Aussanse une 131 175 3 nteger Variablen 32 EEN 132 15 4 gn E 133 15 5 Referenzsysteme a ae airline 134 15 6 Programmierter Halt lt ProgHold gt EEN 135 16 Meldesystem u u nn nalen 137 16 1 Meldetxten ae eege 137 16 2 Eeer eege een 139 16 3 Warnung SetWarning ageet deddger Zeie tdg gege deddiee deeg CNde Serge ner 140 16 4 Fehlermeldung EE eenegen eege Eege 141 8 Festo GDCP CMXR SW DE de 0909a INHALTSVERZEICHNIS T7 Funktionen 142 17 1 Aktuelle Position lesen lt ReadActualPos gt ersesesnsssssssoonseseonsonsesnossunssnssssnnenne 142 17 2 Zielposition lesen lt ReadTargetPos gt uuusnnsossssssonnnnsnnnnnnssnnnnnnnsnnnnnenensnnnnnnnnn 143 17 3 Positionswert dauerhaft speichern SavePosition sssssssssssssssssssesesssosesssesos 144 17 4 Lesen der Systemzeit Im Karasek 144 17 5 Umwandeln Zeit in Text lt TimeToStr sseneesssseses
147. niert werden 72 Festo GDCP CMXR SW DE de 0909a 9 Bewegungsbefehle Z Achse SE pos1 pos2 250 f 777777777 E GE D a ablageOben ____ so aufnahmeUnten IT E x 300 350 450 575 Variable pos1 CARTPOS 300 0 250 0 0 0 0 0 0 takeAbove CARTPOS 350 0 145 0 0 0 0 0 0 pos2 CARTPOS 575 0 250 0 0 0 0 0 0 takePos REAL 96 5 Programm mit PTP Bewegungen Ptp posl anfahren Ptp takeAbove Aufnahme oben MoveAxisPtp A4 takePos Greifer drehen MoveAxisPtp A3 50 nach unten Gripper Set Greifer schlie en MoveAxisPtp A3 145 nach oben MoveAxisPtp Al 450 Ablage oben MoveAxisPtp A4 180 drehen auf Ablage MoveAxisPtp A3 50 Ablage unten Gripper Reset Greifer ffnen MoveAxisPtp A3 145 Ablage oben Ptp pos2 abfahren Festo GDCP CMXR SW DE de 0909a 73 9 Bewegungsbefehle 9 5 Linearbewegung lt Lin gt Bei einer Linearbewegung berechnet die CMXR Mehrachssteuerung eine Gerade die von der momentanen Position Startposition zur programmierten Position Zielposition f hrt Diese Bewegung wird unter Ber cksichtigung der gesetzten Bahnwerte wie z B Bahnbe schleunigung Bahngeschwindigkeit Orientierungen und Werkzeugdaten berechnet und ausgef hrt Wird in der Zielpositionsangabe eine Orientierungs nderung angegeben so wird auf dieser Bahn kontinuierlich von der Anfangsorientierung am Startpunkt auf die Endorientierung verfah
148. ntax gt lt Beliebiger Text Ein FTL Befehl kann mit Kommentarzeichen auskommentiert werden Dieser Befehl hat dann keine Auswirkung auf die Programmbearbeitung Folgende Abbildung zeigt die Programmmaske des Handbedienger tes mit einem Kom mentar und einer auskommentierten Programmanweisung sorting CONT Line 1 S gt Vel dyncart 1500 0 4 2 Acc dynCart 3000 0 3 Lin cpos0 4 Lin cposl 5 Lin cpos2 6 Lin cpos3 2 check signal 8 IF Signal THEN 9 Lin cpos5 10 END_IF 8 11 Programmzeile deaktivieren lt gt Mit der Zeichenfolge werden Programmzeilen f r die Programmbearbeitung deakti viert jedoch bleibt die Syntaxpr fung erhalten Hinweis gt lt Programmanweisung gt Dies bedeutet Ein deaktivierter FTL Befehl wird im Programm nicht bearbeitet d h die Inhalte haben keine Auswirkung Die Inhalte der Programmanweisung unterliegen der Syntaxpr fung des Compilers Wird z B eine verwendete Variable gel scht so wird beim Programmstart ein Fehler ausgege ben Festo GDCP CMXR SW DE de 0909a 61 8 Programmsteuerung Hinweis 2 Bei Programmanweisungen die aus mehreren Zeilen bestehen wie z B IF THEN ELSE m ssen alle zugeh rigen Programmzeilen deaktiviert werden Folgende Abbildung zeigt die Programmmaske des Handbedienger tes mit deaktivierten Programmanweisungen in den Zeilen 8 10 sorting CONT Line 1 E Vel dyncart 1500 0 2 Acc dynCart 3000 0 3 Lin
149. ode Write wird ein analoger Ausgang geschrieben Der gew nschte Sollwert wird in den Parameter value bergeben Syntax gt lt Instanzname Write value REAL Parameter Typ Bedeutung REAL Sollwert f r den analogen Ausgang Tabelle 18 12 Parameter Methode Write Beispiel quantity Write 110 0 setzt den Ausgang auf 110 0 value 1 3 quantity Write value setzt den Ausgang auf 1 3 18 7 5 Warten bis Wert gr er kleiner Methode WaitLss WaitGrt Die Methoden WaitLss und WaitGrt erm glichen ein Abfragen eines analogen Ausgangs auf einen Zustand gr er oder kleiner des angegebenen Wertes Der Parameter Timeout des Bausteins wird dabei ber cksichtigt Syntax gt lt Instanzname WaitLss value REAL OPT ovlEnable BOOL lt Instanzname WaitGrt value REAL OPT ovlEnable BOOL Beschreibung des Parameters ovlEnable siehe Kapitel 18 3 1 auf Seite 158 Parameter Typ Bedeutung Tabelle 18 13 Parameter Methoden WaitLss WaitGrt Beispiel Lin pos1l warten bis weniger als 110 0 quantity WaitLss 110 0 TRUE Lin pos2 178 Festo GDCP CMXR SW DE de 0909a 18 Bausteine 18 7 6 Warten bis Wert im aus Bereich Methode Waitins WaitOuts Mit den Methoden WaitIns und WaitOuts kann gewartet werden bis sich der analoge Ausgangswert innerhalb oder au erhalb des angegebenen Wertebereiches befindet Der Parameter Timeout des Bausteins wird dabei ber cksichtigt Syntax gt lt Instanzname
150. on des Roboters wird in die bergebene Variable geschrieben Ist die bergebene Variable vom Typ CARTPOS wird die Position als kartesischer Wert abgelegt Wird eine Variable vom Typ AXISPOS bergeben erfolgt die Positionsspeicherung in Achs koordinaten Parameter Bedeutung Einheit Zielvariable der gelesenen Position AXISPOS oder CARTPOS Tabelle 17 1 Parameter Befehl ReadActualPos Vorsicht 1N Ein Positionswert der in einer Variablen gespeichert wurde bleibt nur solange erhalten wie das Programm bzw das Projekt geladen ist Es erfolgt kein Sichern der Variablenwerte in die Datendatei auf der Speicherkarte Nach dem Abw hlen des Programms Projektes sind die Werte verloren Zum Sichern der Position kann das Makro SavePosition verwendet werden Beispiel Das Beispielprogramm liest die aktuelle Position ein f hrt die programmierten Bewe gungsbefehle ab und kehrt am Ende zur eingelesenen Position zur ck Variable startPos AXISPOS 0 0 0 0 0 0 0 0 d axisoO0 gt AXISPOS 0 0 0 0 0 0 0 0 0 axisl AXISPOS 60 120 0 0 0 0 O 0 0 Ee AXISPOS 120 120 250 0 0 0 0 0 0 142 Festo GDCP CMXR SW DE de 0909a 17 Funktionen Programm ReadActualPos startPos PTP axis0 PTP axisl PTP axis2 PTP startPos 17 2 Zielposition lesen lt ReadTargetPos gt Auslesen der programmierten Zielposition der Kinematik gt Syntax ReadTargetPos Pos gt
151. onen Sach oder Umweltsch den sein M gliche Nachr stungen oder Ver nderungen der Anlage mit Ausr stungsteilen fremder Hersteller m ssen daher von Festo frei gegeben werden Warnung GEFAHR Gef hrliche elektrische Spannung Wartungsarbeiten sind wenn nicht anders beschrieben grunds tz lich nur bei ausgeschalteter Anlage durchzuf hren Dabei muss die Anlage gegen unbefugtes oder unbeabsichtigtes Wiedereinschalten gesichert sein Sind Mess oder Pr farbeiten an der Anlage erforderlich m ssen diese von Elektrofachkr ften durchgef hrt werden Vorsicht Es d rfen nur von Festo zugelassene Ersatzteile verwendet werden Festo GDCP CMXR SW DE de 0909a 15 3 Programmbearbeitung 3 Programmbearbeitung 3 1 Allgemein FTL steht f r Festo Teach Language FTL ist eine bewegungsorientierte Programmierspra che und dient zur Programmierung der CMXR Steuerungen Als Programmiersprache f r Robotik und Handhabungssysteme besitzt FTL einen m chti gen Sprachumfang der jedoch leicht zu erlernen und leicht beherrschbar ist Dies erm g licht dem Anwender eine auf seine Applikation gerichtete Programmierung Die Sprachbe fehle basieren auf der englischen Sprache 3 2 Interpreter FTL Programme werden nicht kompiliert sondern durch einen Interpreter bearbeitet Die ser Interpreter liest zu Beginn die Programme strukturiert in den Speicher um sie optimal abzuarbeiten Dieser Vorgang ben tigt je nach Programml nge e
152. ool bewirkt keine Verfahrbewegung sondern nur ein Bekanntma chen der nun aktiven TCP Daten Im n chsten kartesischen Fahrbefehl werden diese Daten eingerechnet und in der Bewegungsausf hrung ber cksichtigt Wird im FTL Programm ein Tool Befehl bersprungen bzw am Handbedienger t der Satz zeiger zur Programmausf hrung so positioniert dass der zugeh rige Tool Befehl nicht ausgef hrt werden kann k nnen Gefahren f r Mensch und Maschine entstehen Die fol gende Werkzeugorientierung k nnte unpassend zur Bewegung sein wobei Kollisionsge fahr besteht Warnung Beim ndern des Tools ergibt sich ein Sprung in der kartesischen Bahn des TCP Wird am Handbedienger t der Programmzeiger so gesetzt dass ein Tool Befehl umgangen wird so kann dies bei kar tesischen Bewegungen zu ungewollten Reaktionen f hren 14 2 1 Auswirkung von TCP Daten Die TCP Daten werden im FTL Programm ber einen Befehl aktiviert und im Satzvorlauf des Interpreters eingelesen Diese nun aktuellen TCP Daten werden in die Bahnplanung der folgenden Bewegungsbefehle eingerechnet Folgendes ist ein Beispiel in dem das Verhal ten von Werkzeugdaten mit der Anwendung einer pneumatischen Schwenkachse be schrieben wird Festo GDCP CMXR SW DE de 0909a 125 14 Werkzeuge Beispiel Ein Handhabungssystem besitzt am Werkzeugflansch eine pneumatische Schwenkachse Mit Hilfe dieser Achse kann das Werkzeug auf eine feste Position geschwenkt werden Durch diese Schwenk
153. p lt Initialisierung gt END_VAR Folgende Beispiele zeigen die Deklaration von mehrdimensionalen Arrays Array mit 2 Dimensionen mit je 3 Elementen 9 Elemente Matrix1 ARRAY 3 3 OF DINT Array mit 3 Dimensionen mit 3 Elementen bzw 2 Elementen 18 Elemente Matrix ARRAY 3 3 2 OF DINT Festo GDCP CMXR SW DE de 0909a 33 5 Grunddatentypen Wenn erforderlich kann auch bei mehrdimensionalen Arrays ein Bereichsindex angegeben werden Folgendes Beispiel zeigt ein Array mit 3x 3 Elementen und jeweils anderem Be reichsindex Matrix3 ARRAY 1 3 5 7 0 2 OF DINT 5 6 1 Initialisierung von Arrays Das System initialisiert die Arrays mit dem Wert 0 Wird eine andere Initialisierung ge w nscht so kann diese hinter dem Typ des Arrays innerhalb runden Klammern angegeben werden Beispiel Matrixi ARRAY 7 OF DINT 0 1 2 3 rrp Matrix2 ARRAY 3 3 OF DINT 1 9 3 r T y ee Di Jedes Feld des Arrays wird dabei mit einem Komma eingeleitet Soll dieses Feld nicht initia lisiert werden so wird dieser nicht angegeben Das Komma ist jedoch zwingend erforder lich damit weitere Elemente korrekt initialisiert werden 5 6 2 Bestimmen der Arraygrenzen mit LOW und HIGH Mit den Schl sselw rtern LOW kann der unterste mit HIGH der oberste Bereichsindex eines Arrays ermittelt werden Syntax gt variable DINT gt ze LOW lt Arrayvariable gt variable DINT gt HIGH lt
154. p Programm Projekt Verzeichnis FillPalett Datei MoveStart tip Programm Datei MoveWait tip Projekt Verzeichnis FeedParts Programm projektglobale Daten Datei _globalvars tid projektglobale Daten Datei _globalvars tid Programm Fill Programm Sort Programm Feed Programm Sort Datei Fill tid lokale Daten Datei Sort tid lokale Daten Datei Feed tid lokale Daten Datei Sort tid lokale Daten Programm Programm Programm Programm cen Lin Pos1 Lin Pos 10 Lin Pos1 _ Lin Pos10 Datei Fill tip Lin Pos2 Datei Sort tip LinPos11 Datei Feed tip Lin Pos2 Datei Sort tip LinPos11 Lin Pos 3 Lin Pos 12 Lin Pos 3 Lin Pos 12 Lin Pos 4 Lin Pos 13 Lin Pos 4 Lin Pos 13 3 8 4 Variable werden innerhalb der Datendatei Name tid in folgender Form angelegt gt Instanziierung von Variablen Syntax Variablenname lt Variablentyp gt Wert Der Name der Variablen kann frei vergeben werden Pro Zeile kann jeweils eine Variable erstellt werden Beispiel cposl CARTPOS 100 50 100 0 0 0 cpos2 CARTPOS 600 550 100 180 0 0 index DINT 17 Die m glichen Variablentypen werden in den folgenden Kapiteln beschrieben 22 Festo GDCP CMXR SW DE de 0909a 3 Programmbearbeitung Vorsicht Goal Werte von Variablen die im Programm zur Laufzeit ver ndert wer den werden nicht in die Datendatei au
155. pel Eingang inStackNotEmpty 194 Festo GDCP CMXR SW DE de 0909a 20 Beispiele Das Bewegungsprogramm hat folgende Positionen Beschreibung Name der Positionsvariable Entnahmeposition am Blechstapel takePosStack Sicherheitsposition ber dem Blechstapel safetyPosStack Sicherheitsposition ber der Rollenbahn safetyDepositPos Ablageposition auf der Rollenbahn depositPos Ver nderbare Vorposition ber Blechstapel prePosition Tabelle 20 1 Positions bersicht F r diese Anwendung k nnen weitere Positionen eingesetzt werden Das Beispiel be schr nkt sich jedoch auf die angegebenen safetyDepositPos safetyPosStack depositPos takePosStack Da Aufgrund der variierenden Stapelh he die H he der Entnahmeposition unbekannt ist wird diese unter den Stapel gelegt Festo GDCP CMXR SW DE de 0909a 195 20 Beispiele Bewegungsprogramm Sei dynlart 200 langsame Geschwindigkeit prePosition safetyPosStack WHILE TRUE DO Lin safetyPosStack WAIT inStackNotEmpty State pr fen ob Teile auf Stapel Lin prePosition Vel dynCart 200 langsame Geschwindigkeit Lin takePosStack WATT inCollisien State warte Sensorsignal aufgefahren StopMove stoppen der Bewegung ermitteln der Istposition ber dem Stapel ReadActualPos prePosition Sicherheitsabstand ber dem Stapel berechnen prePosition z prePosition z 10 gripper Set Greifer schlie en Vel dynCart 1000
156. pli kation komfortabel l sen Y 57 I I pos1 l 100 7 i x d i pos2 45 er E in 98 5 387 Variable posl CARTPOS 98 5 pos2 CARTPOS 387 distX CARTDIST 57 distYpos CARTDIST 0 distYneg CARTDIST 0 pos3 CARTPOS 1050 direction BOOL Festo GDCP CMXR SW DE de 0909a 112 Dos 100 0 0 0 0 O 0 0 100 0 0 0 0 O 0 0 0 0 0 0 0 0 0 DI 12 0 0 0 0 0 0 0 112 0 0 0 0 0 0 DI 45 0 0 0 0 0 0 DI 77 9 Bewegungsbefehle Programm Lin posl Lin pos2 direction TRUE LOOP 5 DO IF direction TRUE THEN LinRel distYpos ELSE LinRel distYneg END IF LinRel distX direction NOT direction END _LOOP LinRel distYneg Lin pos3 Mit der Variablen direction wird die Richtung der relativen Bewegung der Y Achse festge legt Auf diese Weise l sst sich die Bewegung mit einer Schleife programmieren 9 7 Zirkularbewegung mit St tzpunkt Die Kreisinterpolation unterscheidet sich von der Linearinterpolation nicht nur durch die geometrische Form sondern auch dadurch dass neben Start und Endpunkt zus tzlich ein St tzpunkt angegeben werden muss damit der Kreis eindeutig bestimmt ist 9 7 1 Funktionsweise Die Kreisdefinition erfolgt mit einem St tzpunkt der auf der Kreisbahn liegen muss und dem Endpunkt der Kreisbahn Bei der Kreisbahn wird zuerst der St tzpunkt dann der End punkt angefahren Der Radius der
157. r Bedeutung Punktoperator zum Zugriff auf Strukturelemente Indexklammern zum Zugriff auf Arrays Klammern f r z B Parameterlisten Tabelle 4 4 sonstige Operatoren 4 6 5 Begrenzungszeichen Operator Bedeutung Wertzuweisung f r Variable Trennzeichen bei der Instanziierung von Variablen Aufz hlungszeichen in Parameterlisten bei Funktions oder Makroaufrufen Tabelle 4 5 Begrenzungszeichen Festo GDCP CMXR SW DE de 0909a 27 5 Grunddatentypen 5 Grunddatentypen FTL unterst tzt 5 Datentypen e Boolescher Daten Ganze Zahlen Bitmuster Gleitkommazahlen Zeichenketten Innerhalb dieser 5 Datentypen werden in FTL elementare Datentypen abgeleitet Aufgrund der Bedeutung des Datentyps erfolgt eine Zuordnung f r einen bestimmten Wertebereich und entsprechende Operationen Datentyp Interpretation Speichergr e Wertebereich BOOL Bit 8 Bit TRUE oder FALSE DINT Ganze Zahl 32 Bit 2 147 483 648 2 147 483 647 DWORD Bitmuster 32 Bit 32 Bit REAL Gleitkommazahl 32 Bit nach IEEE STRING Zeichenkette max 255 Byte max 255 Zeichen Tabelle 5 1 Grunddatentypen Je nach Datentyp sind unterschiedliche Operationen m glich Datentyp Operationen BOOL Logische Operationen AND OR XOR NOT DINT Arithmetikoperationen Vergleichsoperationen DWORD Bitweise Operationen AND OR XOR NOT SHL SHR ROL ROR REAL Arithmetikoper
158. ren Die Linearbewegung ist eine kartesische Bewegung d h die Bewegung wird mit Hilfe der intern implementierten Koordinatentransformation f r die vorliegende Kinematik berech net Dabei wird stets die Position an der Werkzeugspitze TCP programmiert Auch alle Dynamikwerte wie Bahnbeschleunigung und Bahngeschwindigkeit werden direkt am TCP erreicht Dies hat den Vorteil dass die Dynamikwerte am Werkzeug begrenzt und bekannt sind Auf die Greifereinheit wirken somit reproduzierbare Kr fte Syntax Lin lt Pos gt AXISPOS oder CARTPOS Parameter Bedeutung Einheit Absolute Zielposition AXISPOS oder CARTPOS Tabelle 9 5 Parameter Befehl Lin Die Positionsangabe kann kartesisch oder bezogen auf jede einzelne Achse sein Die CMXR Mehrachssteuerung transformiert die Positionen entsprechend 74 Festo GDCP CMXR SW DE de 0909a 9 Bewegungsbefehle Beispiel Ein kartesisches Portal mit 3 Achsen X Y Z und einer Drehachse am Greifer muss positio niert werden Die Werkzeugspitze TCP ist mit einem Vektor auf den Mittelpunkt des Grei fers definiert siehe Kapitel 14 Werkzeuge auf Seite 122 Variable posl CARTPOS pos2 CARTPOS gripper TCPTOOL Programm Tool gripper Lin posl Lin pos2 Il Y Achse Z Achse X Achse Drehachse mit Greifer Vektor auf den TCP 100 50 100 0 0 0 0 0 0 600 550 100 180 0 0 0 0 0 100 0 97 0 0 0 Festo GDCP CMXR SW DE de 0909a 75
159. rt LABEL vorangestellt gt Syntax LABEL lt Sprungmarke gt Die Sprungmarke kann mit Sprungbefehlen angesprungen werden die im Folgenden be schrieben werden Hinweis gt Bei der Programmierung mit dem CDSA muss zun chst das Sprung ziel LABEL definiert werden Erst anschlie end kann die GOTO Anweisung programmiert werden 8 5 2 Bedingter Sprung lt IF GOTO gt Mit der IF GOTO Anweisung werden bedingte Spr nge ausgef hrt Diese Anweisung be n tigt wie die Programmverzweigung IF THEN eine Bedingung die ein Ergebnis vom Da tentyp BOOL liefern muss Festo GDCP CMXR SW DE de 0909a 47 8 Programmsteuerung ech Syntax IF Bedingung GOTO lt Sprungmarke gt Ist die Bedingung erf llt d h das Ergebnis ist TRUE dann wird der Sprung ausgef hrt Ist die Bedingung nicht erf llt d h das Ergebnis ist FALSE so werden die Befehle in den nachfolgenden Programmzeilen ausgef hrt 8 5 3 Absoluter Sprung lt GOTO gt Im Gegensatz zur bedingten Sprunganweisung IF GOTO ist die GOTO Anweisung absolut Dies bedeutet es gibt keine Bedingungsanweisung gt Syntax GOTO lt Sprungmarke gt Mit der GOTO Anweisung lassen sich Programmteile sehr leicht berspringen Sie eignet sich auch dazu um aus Programmschleifen zu springen Hinweis 2 Bei der Programmierung mit dem CDSA muss zun chst das Sprung ziel LABEL definiert werden Erst anschlie end kann die GOTO Anweisung programmiert werden 8 6 Sc
160. rwendet Marker BOOL Flagl BOOL Flag2 BOOL Flag3 BOOL Index DINT 44 Festo GDCP CMXR SW DE de 0909a 8 Programmsteuerung Beispiele Bedingungen Marker Index lt 10 Marker Flagl AND Flag2 OR Flag3 IF Index lt 10 THEN END_IF WHILE Index lt 5 DO END WHILE WHILE NOT Flagl AND Flag3 OR Flag2 DO END WHILE Beispiele Bedingungen mit Klammern mn Marker Index lt 10 AND Index lt 0 Marker Flagl AND Index lt 7 IF Index lt 10 AND Index gt 5 THEN END_IF 8 4 Verzweigung lt IF THEN gt Die IF Anweisung erm glicht Verzweigungen im Programmablauf die von Bedingungen abh ngen Die Bedingung muss vom Datentyp BOOL sein und kann aus mehreren Operan den bestehen Mit der Anweisung ELSIF lassen sich mehrere Bedingungen formulieren Mit der Anweisung ELSE k nnen Anweisungen definiert werden die angesprungen werden falls keine der Bedingungen zutrifft Die IF Anweisung wird mit der Anweisung END_IF ab geschlossen Festo GDCP CMXR SW DE de 0909a 45 8 Programmsteuerung 3 Syntax IF lt Bedingung gt THEN lt Anweisungen ELSIF lt Bedingung gt THEN lt Anweisungen ELSE lt Anweisungen END I Die ELSEIF Anweisung kann mehrfach vorkommen Beispiel Von einer Messanlage werden 2 Signale gesendet die eine Qualit tsbeurteilung zulassen partOk Signal f r Gutteil partBad Signal f r Ausschuss Im folgenden FTL
161. s tzlich durch eine Orientierungsangabe A B und C Para meter in seiner Orientierung im Raum verdreht werden Beispiel TCP Daten Ein kartesisches Portal besitzt am Ende der Z Achse eine pneumatische Schwenkachse mit einem Vakuumgreifer Das Werkzeug ist in Richtung der Z Achse montiert Die Orientierung des TCP ist unver ndert zum urspr nglichen Werkzeugkoordinatensystem X Achse Z Achse Werkzeugl nge Es ergeben sich folgende TCP Daten X 0 Y 0 Z Werkzeugl nge A 0 B 0 C 0 Nun ist das Werkzeug das ber eine pneumatische Schwenkachse verf gt im Raum um 30 Grad geneigt Der TCP berechnet sich ber den Winkel der Schwenkbewegung X Achse Z Achse Winkel 30 Versatz in X Festo GDCP CMXR SW DE de 0909a Dabei ergeben sich folgende Daten X Werkzeugl nge x sin 30 Y 0 Z Werkzeugl nge x cos 30 A 0 B 0 C 0 Die Orientierung des Werkzeugkoordinaten systems ist unver ndert Wenn erforderlich dann muss dieses ber die Parameter A B und C eingestellt werden 123 14 Werkzeuge Zus tzlich soll die Orientierung des Werkzeugkoordinatensystems in Richtung des gedreh ten Werkzeuges zeigen Zur Drehung wird die Euler Konvention ZYZ angewandt AASE spe ergeben sich folgende Daten X Werkzeugl nge x sin 30 Y 0 Z Achse Winkel Z Werkzeugl nge x cos 30 A 0 B 30 c 0 Z Versatz in X Diese Werkzeugbeschreibungen werden in Variablen
162. s wird gestoppt Etwaige Bewegungen wer den angehalten nach Quittierung der Fehlermeldung wird das Programm die Bewegung fortgesetzt gt Syntax SetError lt text gt STRING OPT lt param1 gt ANY OPT lt param2 gt ANY Parameter Bedeutung Einheit Text Text der Fehlermeldung STRING parami 1 m glicher Parameter ANY Param2 2 m glicher Parameter ANY Tabelle 16 3 Parameter Befehl SetError Eine Fehlermeldung wird mit dem Symbol im Fehlerspeicher der CMXR Mehrachs steuerung gekennzeichnet Hinweis gt Die Ausgabe einer Fehlermeldung f hrt zu einer Unterbrechung der Bewegung Die Kinematik kann erst nach Quittieren der Fehlermel dung weitergefahren werden Beispiel pressure Sensor Read lesen eines Druckwertes cycle cycle 1 Zyklus z hlen SetError Cycle 1 error pressure 2 cycle pressure Anzeige am Handbedienger t Run Error CL Time St Description Motion 7 amp 90 10 07 15 58 98 B7 Cycle 7 error pressure 3 26 Process C Bei einer Fehlermeldung wird der Fehlertext zus tzlich in der Kopfzeile am Handbedienge r t angezeigt Au erdem leuchtet die Error LED am Handbedienger t rot Festo GDCP CMXR SW DE de 0909a 141 17 Funktionen 17 Funktionen 17 1 Aktuelle Position lesen lt ReadActualPos gt Auslesen der aktuellen Position der Kinematik ech Syntax ReadActualPos Pos gt POSITION Die aktuelle Positi
163. sec Lin posl fahre auf Sicherheit 58 Festo GDCP CMXR SW DE de 0909a 8 Programmsteuerung Bahngeschwindigkeit Wartezeit 150 msec Zeit pos1 8 pos1 printPos Festo GDCP CMXR SW DE de 0909a 59 8 Programmsteuerung 8 9 4 WaitOnPos Anweisung mit Zeit lt WaitOnPos gt Das Makro WaitOnPos h lt den Satzvorlauf an bis das aktuelle Segment zum angegebe nen prozentualen Anteil abgearbeitet wurde Danach wird das Programm weiter bearbei tet Syntax WaitOnPos OPT lt pos gt REAL Parameter Bedeutung Einheit Prozentualer Wert f r Bahnsegmentl nge Tabelle 8 2 Parameter Befehl WaitOnPos Ist ein berschleifen aktiviert und die Distanz zum Zielpunkt zum berschleifen ausrei chend gro so wird das berschleifen ausgef hrt Der Parameter des prozentualen Anteils ist optional Wird dieser nicht angegeben so entspricht dies dem Wert 100 Dies hat einen Stop auf der Bahn zur Folge Im folgenden Beispiel werden Position angefahren und der Satzvorlauf solange angehal ten bis 80 des Bahnsegmentes abgefahren wurde Danach wird im Beispiel die Variable Index wird auf 10 gesetzt Lin Posl Lin Pos2 WaitOnPos 80 Index 10 Posi Pos2 60 Festo GDCP CMXR SW DE de 0909a 8 Programmsteuerung 8 10 Kommentare einf gen lt gt Ein Kommentar wird mit der Zeichenfolge eingeleitet Er kann ab Zeilenanfang allein oder hinter einem FTL Befehl stehen und endet am Zeilenende Sy
164. sogenannte Strings werden durch das Zeichen eingeleitet und abge schlossen Sie d rfen alle druckbaren Zeichen beinhalten Die L nge einer Zeichenkette ist auf 255 Zeichen beschr nkt G ltig sind alle Zeichen des ASCII Zeichensatzes Beispiel f r eine g ltige Zeichenkette CMXR C1 Mehrachssteuerung Festo GDCP CMXR SW DE de 0909a 25 4 Sprachaufbau 4 6 Operatoren und Begrenzungszeichen Operatoren werden in Ausdr cken verwendet und beschreiben wie Variablenwerte und Zahlenkonstanten miteinander verkn pft werden Operatoren werden vorwiegend durch Sonderzeichen und durch Schl sselw rter dargestellt 4 6 1 Operator Arithmetische Operatoren Bedeutung Addition Subtraktion xX Multiplikation Division MOD Modulo Operation Tabelle 4 1 arithmetische Operatoren 4 6 2 Logische Operatoren Diese Operatoren k nnen auf Wahrheitswerte und auf ganze Zahlen angewendet werden Bei ganzen Zahlen arbeiten sie bitweise Operator Bedeutung AND Und Verkn pfung OR Oder Verkn pfung XOR Exklusive Oder Verkn pfung NOT Negation Tabelle 4 2 logische Operatoren 4 6 3 Vergleichsoperatoren Operator Bedeutung lt kleiner kleiner oder gleich gleich o ungleich gt gr er oder gleich gt gr er Tabelle 4 3 Vergleichsoperatoren 26 Festo GDCP CMXR SW DE de 0909a 4 Sprachaufbau 4 6 4 Sonstige Operatoren Operato
165. speichert Die Klassifizierung eines Pro gramms als Unterprogramm erfolgt lediglich durch den Aufruf aus einem Programm und nicht direkt aus dem Projekt Abarbeitung W hrend das Unterprogramm abgearbeitet wird wartet das aufrufende Programm auf dessen Ende Nach Ende des Unterprogramms erfolgt ein automatischer R cksprung zum aufrufenden Programm das fortgesetzt wird 50 Festo GDCP CMXR SW DE de 0909a 8 Programmsteuerung Ablaufschema Hauptprogramm feed Vel DynPtp 75 0 Acc DynPtp 100 0 Tool gripperl Unter Ptp home programm CALL movehome movehome flagLoop TRUE Ptp cpos0 index 0 Ptp cpos1i Loop for feeding Ptp cpos2 WHILE index 0 DO IF index 0 THEN start position Lin posi ELSE In diesem Beispiel ruft das Programm feed ein Unterprogramm movehome auf Wenn das Programme movehome die Abarbeitung beendet hat wird das Programm feed fortgesetzt Vorteile Die Programmgestaltung mit Unterprogrammen erm glicht eine berschaubare und effizi ente Programmierung Der Programmcode f r Teilaufgaben wird separat abgelegt und kann von mehreren Programmen genutzt werden Die Pflege und die Konsistenz der Pro gramme wird dadurch gesteigert 8 7 1 Unterprogrammaufruf lt CALL gt Ein Unterprogrammaufruf erfolgt ber den Befehl CALL Eine Parameter bergabe an das Unterprogramm wird nicht unterst tzt Falls eine Daten bergabe notwendig ist muss dies ber globa
166. st gt Hinweis Da die Abfrage der Bedingung im Satzvorlauf erfolgt wird eine n derung die nach der Bearbeitung durch den Satzvorlauf erfolgt nicht mehr registriert Wird dies gew nscht so kann mit dem Vo ranstellen des Befehls WaitTime siehe Kapitel 8 9 1 WAIT Anwei sung mit Zeit auf Seite 54 eine Synchronisation mit dem Satz hauptlauf erzwungen werden In der Bedingung der WAIT Anweisung d rfen die Grunddatentypen BOOL REAL und DINT mit logischen Operatoren und Vergleichsoperatoren verwendet werden Arithmetische und Bitoperatoren d rfen nicht verwendet werden 56 Festo GDCP CMXR SW DE de 0909a 8 Programmsteuerung Beispiel Syntax WAIT Bedingung Mit einer schiefen Ebene werden Teile einem Handhabungssystem zugef hrt Ein anwe sendes Teil wird ber einen digitalen Sensor erkannt und kann dann vom Handhabungs system entnommen werden Sensor Ablage Werkst ck Der Sensor erkennt ob sich ein Werkst ck auf der Ablage befindet Steht dieses bereit wird es vom Handhabungssystem entnommen Auszug aus dem Bewegungsprogramm Lin pos2 Vacuum Set WAIT sensor Lin posl Lin pos2 Lin pos3 Lin pos4 WaitTime 0 Vacuum Reset i i FH i fahre ber Teil Vakuum ein warte bis Teil vorhanden fahre auf Teil fahre ber Teil fahre ber Ablage lege Teil ab warte auf Satzhauptlauf Vakuum aus Festo GDCP CMXR SW DE de 0909a 57
167. st Beispiel Programm Lin posl VconstOn 25 TRUE Lin pos2 Lin pos3 VeonstOff 100 Festo GDCP CMXR SW DE de 0909a 10 Dynamikbefehle 10 8 Konstante Bahngeschwindigkeit ausschalten VconstOff gt Mit diesem Befehl wird eine konstante Bahngeschwindigkeit ausgeschaltet Syntax gt VconstOff Hinweis gt Ein Abbruch des Anwenderprogramms f hr nicht automatisch zum Abschalten der berwachung der Bahngeschwindigkeit Bei einem Neustart des Anwenderprogramms muss zun chst immer die Uberwachung abgeschaltet werden Festo GDCP CMXR SW DE de 0909a 101 11 berschleifbefehle 11 berschleifbefehle Unter berschleifen versteht man das Beschleunigen der Achsen zum Anfahren der n chs ten Position obwohl die vorherige Position noch nicht erreicht wurde Oft ist es nicht not wendig dass eine Position genau erreicht wird sondern dass die Bewegung schnell und schonend d h mit m glichst geringer Belastung f r die Mechanik angefahren wird Hier bietet die berschleiffunktion die M glichkeit die Genauigkeit zum Erreichen eines Punk tes sowie die H rte der Bewegung einzustellen In der folgenden Abbildung ist die Funktionsweise der berschleiffunktion dargestellt Position 1 __ Position 2 1 1 H berschleifbereiche Polynomkurven Bahn der Kinematik Das Bewegungsprogramm enth lt eine Positionierung auf Position 1 dann auf Position 2 Durch die berschleiffun
168. stein Bahngeschwindigkeit 1500 mm sec Bahnbeschleunigung 5000 mm sec Geschwindigkeits berschleifen mit 75 Vakuum sofort einschalten Aufnahmeposition 10 msec Wartezeit fuer Greifzeit ueber Ablageposition Ablageposition Vakuum am unteren Punkt ausschalten 20 msec Wartezeit fuer Greifzeit e Daes am Greifer keine R ckmeldungen gibt ist es erforderlich beim Schlie en und ffnen eine Wartezeit einzubauen Diese ist mit Hilfe der Inbetriebnahme zu ermit teln und zu optimieren e Die Bewegungen werden mit einem Geschwindigkeits berschleifen von 75 abge fahren Eine Ausnahme bildet hierzu die Aufnahme pos2 und Ablageposition pos3 Der nachfolgende Befehl WaitTime unterbindet ein berschleifen da die Satzvorrausberechnung an dieser Stelle angehalten wird und nach Ablauf der Zeit fortgesetzt wird Festo GDCP CMXR SW DE de 0909a 201 20 Beispiele Bewegungsprofil pos1 pos3 EEN Ze ee MA iM pos2 pos4 zeitliches Verhalten Geschwindigkeit pos4 Zeit pos3 pos3 Wartezeit 202 Festo GDCP CMXR SW DE de 0909a 20 Beispiele 20 4 2 Pneumatische Parallelgreifer Parallelgreifer besitzen Greiferbacken die parallel geschlossen werden Die Greiferbacken k nnen dabei individuell auf die Applikation angepasst werden blicherweise werden Parallelgreifer zum ffnen und Schlie en mit zwei separaten Aus g ngen angesteuert Optional k nnen an den Greifer Sensoren integriert werden
169. tart eines Programms ist das Welt Koordinatensystem aktiv 12 1 Bezug des Referenzsystems Ein Referenzsystem bezieht sich auf den kartesischen Nullpunkt eines schon definierten Koordinatensystems Die definierten Werte des neuen Referenzsystems bewirken eine Verschiebung in den 6 Freiheitsgraden X Additive Verschiebung Nullpunkt desWelt auf Verschiebung 2 Koordinatensystems E DE Wie in der Abbildung ersichtlich ist lassen sich mehrere Referenzsysteme auf den kartesi schen Nullpunkt eines anderen Referenzsystems definieren wobei nur eine Referenz aktiv sein kann gt Hinweis Ein Verschachteln von Referenzsystemen ist mit Bedacht anzuwen den Dieser Mechanismus kann unter Umst nden zu einer effizien ten Programmierung dienen Jedoch ist die Transparenz beim Lesen des Programms schwierig und nicht bedachte Verschachtelungen k nnen evtl zu Kollisionen f hren Festo GDCP CMXR SW DE de 0909a 109 12 Referenzsysteme Nullpunktverschiebung Hinweis 2 Die Verschiebung des Referenzsystems setzt sich aus einer Transla tion und einer Verdrehung Orientierung zusammen Bei der Aus f hrung wird zuerst die Verschiebung danach die Verdrehung aus gef hrt 12 2 Daten des Referenzsystems Die Daten eines Referenzsystems bestehen aus einer 3 dimensionalen Translation und einer 3 dimensionalen Orientierungsangabe Die Definition der Orientierung erfolgt nach der Euler ZYZ Methode Diese Daten werden in einer Variable ang
170. te berschleifbereich reduziert wurde Falls dies ungew nscht ist m ssen die Bahn oder der Uber schleifbereich angepasst werden 104 Festo GDCP CMXR SW DE de 0909a 11 berschleifbefehle 11 3 Geschwindigkeits berschleifen Beim Geschwindigkeits berschleifen werden die Dynamikprofile der Bahn berlappt Da raus resultiert eine Bewegung im berschleifbereich auf die n chste Position 11 3 1 Mit Prozentfaktor lt OvlVel gt Beim Geschwindigkeits berschleifen wird ein Grad des berschleifens mit einem Prozent wert vorgegeben Der Wertebereich betr gt 0 bis 200 gt Syntax OvlVvel Value REAL Parameter Bedeutung Einheit Tabelle 11 1 Parameter Befehl OvlVel Parameter Prozent berschleifparameter in 0 ohne berschleifen 100 optimale Nutzung der Achsbeschleunigungen 100 200 ohne Zeitverlust weichere Bewegung mit gr erem berschleifbereich Werte kleiner als 100 bewirken kleinere Abweichungen zur Position verl ngern jedoch die Bewegungszeit da die Geschwindigkeit reduziert werden muss Bei einem Wert von 100 werden alle Beschleunigungsreserven der Achsen ausgen tzt wobei eine m glichst geringe Abweichung von der Position ber cksichtigt wird Gibt man Werte zwischen 100 und 200 an so werden die Positionabweichungen Schleppfehler erh ht wobei die Achsbeschleunigungen im Gegensatz zu einer Einstellung von 100 verringert werden Folgende Abbildung zeigt die Geschwindi
171. tellen des Schl sselwortes MAPTO vor dem eigentlichen Datentyp Eine Initialisierung der Referenzvariable ist nicht m glich Syntax gt variable MAPTO lt Datentyp gt Beispiel Index MAPTO DINT Level MAPTO REAL Home MAPTO CARTPOS In diesem Beispiel sind 3 Referenzvariablen deklariert die unterschiedlichen Datentypen zugeordnet sind 5 7 2 Verbinden von Referenzvariablen lt MAP gt Referenzvariable werden mit dem Schl sselwort MAP auf Variable verbunden Dabei ist zu beachten dass nur Variablen verbunden werden k nnen die denselben Datentyp der Re ferenzvariablen besitzen Syntax gt variable MAP variable 5 7 3 Pr fen von Referenzvariablen lt IS_MAPPED gt Mit der Funktion IS_MAPPED kann berpr ft werden ob eine Referenzvariable eine Ver bindung zu einer Variable besitzt Ist eine Referenzvariable nicht verbunden und sie wird im Programm verwendet so wird ein Fehler ausgel st Festo GDCP CMXR SW DE de 0909a 37 5 Grunddatentypen Syntax gt IS_MAPPED Referenzvariable BOOL R ckgabewerte TRUE Referenzvariable ist verbunden FALSE Referenzvariable ist nicht verbunden Eine Verwendung dieser Funktion ist z B die Verwendung von Referenzvariablen in einem Unterprogramm wobei die Verbindung der Variablen au erhalb des Unterprogrammes erfolgt Beispiel IF IS MAPPED Level THEN ELSIF SetError Not mapped END IF 38 Festo GDCP CMXR SW DE de 0909a 5 Gr
172. tzung der Toleranz Tabelle 10 10 Parameter Befehl VconstOn ech Hinweis Schalter TRUE oder FALSE Wird eine konstante Bahngeschwindigkeit ben tigt so ist darauf zu achten dass f r den berschleifbereich ein geometrisches ber schleifen eingestellt ist siehe Kapitel 11 4 Geometrisches ber schleifen auf Seite 107 Ein berschleifen auf Basis der prozentua len Geschwindigkeit f hrt zu Ver nderung der Bahngeschwindig keit im berschleifbereich Die CMXR Mehrachssteuerung berechnet anhand der Bahn und den maximalen Dynamik werten der Mechanik die m gliche Bahngeschwindigkeit Die Grenze der m glichen Bahn geschwindigkeit wird durch die Dynamik der Mechanik bestimmt Falls Bahnsegmente Festo GDCP CMXR SW DE de 0909a 10 Dynamikbefehle programmiert werden die bedingt durch die Dynamikgrenzen nicht mit konstanter Bahn geschwindigkeit gefahren werden k nnen kommt es an diesen Stellen zu Einbr chen der Bahngeschwindigkeit Mit dem Parameter Tolerance kann ein prozentualer Wert f r den zul ssigen Einbruch der Bahngeschwindigkeit angegeben werden Wird als Toleranzwert 100 angegeben so ist die berwachung ausgeschaltet Hinweis gt Die berwachung der Bahngeschwindigkeit ber cksichtigt nicht den eingestellten Override am Handbedienger t D h wenn die Kinematik aufgrund eines begrenzenden Overrides nicht ihre volle Geschwindigkeit erreicht wird die berwachung aktiv und ein Feh ler ausgel
173. ugriff auf einzelne Positionswerte erfolgt ber den Namen der einzelnen Werte des Datentyps Beispiel Variable startPos CARTPOS 1050 130 30 0 0 0 0 0 0 newPos CARTPOS z 0 0 0 0 0 0 0 0 0 posX REAL POSsY REAL 66 Festo GDCP CMXR SW DE de 0909a 9 Bewegungsbefehle Programm Lin startPos fahren auf StartPos newPos startPos kopieren von StartPos newPos x newPos x 10 berechnen von X newPos y newPos y 35 7 berechnen von Y Lin newPos fahre auf berechnete Position Die Wirkung der einzelnen kartesischen Positions und Orientierungsangaben h ngt von den Freiheitsgraden der Kinematik ab Beispiel Gegeben ist eine Parallelstab Kinematik Tripod mit 3 Hauptachsen ohne Handachsen Mit den vorhandenen 3 Hauptachsen werden die 3 translatorischen Freiheitsgrade X Y und Z abgedeckt Da keine Handachsen vorhanden sind ist keine Orientierung des Werkzeuges m glich Eine Programmierung der Variablen a b c aux1 aux2 oder aux3 in der Positi onsangabe des Datentyps CARTPOS hat keine Auswirkungen 9 2 Point To Point Bewegung lt Ptp gt Die Point To Point Bewegung PTP ist die schnellste M glichkeit die Werkzeugspitze TCP an die gew nschte Position zu bewegen Die PTP Bewegung ist ein synchroner Punkt zu Punkt Fahrbefehl mit Zielposition Bei diesem Befehl werden alle Achsen gleich zeitig gestartet und gelangen gleichzeitig an die programmierte Zielposition
174. um die R ckmeldungen ber die Endlagen ge ffnet oder geschlossen zu bekommen Beispiel Ein Werkst ck soll von einer Position pos2 auf die Position pos4 umgesetzt werden pos1 pos3 D EEE _ ER pos2 pos4 Zum Einsatz kommt ein Parallelgreifer der ber Endlagen Sensorik verf gt Dabei ergeben sich folgende digitale Signale die in Form von Bausteinen in der FTL Programmierung ein gebaut werden Festo GDCP CMXR SW DE de 0909a 203 20 Beispiele Variablen outGripperOpen DOUT digitaler Ausgangsbaustein outGripperClose DOUT digitaler Ausgangsbaustein inGripperOpen DIN digitaler Eingangsbaustein inGripperClosed DIN digitaler Eingangsbaustein Programm Vel dynCart 1500 Bahngeschwindigkeit 1500 mm sec Acc dynCart 5000 Bahnbeschleunigung 5000 mm sec OvlVel 75 Geschwindigkeits berschleifen mit 75 Lin pos1l outGripperOpen Set Greifer oeffnen outGripperClose Reset inGripperOpen Wait TRUE warte bis geoeffnet Lin pos2 Aufnahmeposition outGripperClose Set f Greifer schliessen outGripperOpen Reset inGripperClosed Wait warte bis geschlossen Lin pos1l Lin pos3 Lin posA4 Ablageposition outGripperOpen Set Greifer oeffnen outGripperClose Reset inGripperOpen Wait warte bis geoeffnet Lin pos3 Funktionsweise e Bei vorhandenen Sensoren f r die R ckmeld
175. unddatentypen 5 8 DO Anweisung Mit der DO Anweisung ist es m glich Anweisungen im Hauptlauf der Programmbearbei tung auszuf hren Die Anweisung besitzt folgende Syntax Syntax gt lt FTL Makro DO lt Makro oder Anweisung gt Die Ausf hrung der Anweisung nach DO wird im Hauptlauf der Programmbearbeitung aus gef hrt Die Vorausberechnung des Programms wird durch die DO Anweisung nicht beein flusst Nach einer DO Anweisung kann ein Makro oder eine Anweisung stehen Nicht erlaubt sind Makros oder Anweisungen die sich auf eine Kinematik beziehen wie z B Dynamikangabe oder eine Positionsfahrt Derartige Anweisungen sind nur vor der Do Anweisung erlaubt da die Bahnplanung Anweisungen nach der DO Anweisung nicht ber cksichtigen kann Hinweis gt Die Ausf hrung der DO Anweisung erfolgt nachdem die Anweisung davor im Hauptlauf ausgef hrt wurde Die Ausf hrung erfolgt be dingungslos Mit der DO Anweisung k nnen im Hauptlauf der FTL Programmbearbeitung z B Variablen beschrieben oder Ausg nge gesetzt werden Die DO Anweisung kann in Verbindung mit allen Bewegungsbefehlen z B Ptp Lin verwendet werden Beispiel Setzen eines Ausgangs Mit dem Erreichen von pos2 wird der Ausgang des Bausteines Vacuum gesetzt Lin pos1 Lin pos2 DO Vacuum Gerti Lin pos3 Beispiel Beschreiben von Variablen an die SPS Festo GDCP CMXR SW DE de 0909a 39 5 Grunddatentypen Lin posl Lin pos2 DO ple Dine 3 ze 5
176. ung der Greiferendlagen sind keine Wartezeiten n tigt e Die Bewegungen werden mit einem Geschwindigkeits berschleifen von 75 abge fahren Durch das Warten auf die Endlagenr ckmeldungen mit der Bausteinmetho de Wait wird ein berschleifen an den Aufnahme und Ablagepositionen unterbun den Die Satzvorausberechnung wird an dieser Stelle angehalten und nach Schalten des digitalen Eingangssignales fortgesetzt 204 Festo GDCP CMXR SW DE de 0909a 20 Beispiele Bewegungsprofil pos1 pos3 n berschleifbereich ees pos2 pos4 zeitliches Verhalten Geschwindigkeit pos4 r Zeit pos3 pos3 Wartezeit bis R ckmeldung Wartezeit bis R ckmeldung Greifer geschlossen Greifer ge ffnet Festo GDCP CMXR SW DE de 0909a 205 20 Beispiele 20 4 3 Pneumatische Schwenk Greifeinheit Die pneumatische Schwenk Greifeinheit HGDS von Festo vereint einen Parallelgreifer mit einem Schwenkantrieb zu einer Einheit Schwenk Greifeinheit HGDS mit Parallelgreifer Die HGDS bietet die M glichkeit Sensoren f r die Erkennung der Endlagen des Greifers und des Schwenkantriebs einzubauen Die Sensoren werden ben tigt um die Applikation sicher zu steuern Beispiel Ein Werkst ck soll von einer Position pos2 auf die Position pos4 mit einer Drehung von 90 Grad umgesetzt werden pos1 pos3 Drehung um 90 Grad MA UM pos2 pos4 Zum Einsatz kommt die HGDS Einheit die ber die entsprechenden Sensoren verf gt um
177. ustein AIN Der Baustein AIN dient zur Abfrage und Verwaltung eines analogen Einganges 18 6 1 Instanzierung Zur Instanzierung des analogen Eingangsbausteins wird der Hardwarebezug zum analogen Eingang ben tigt Dieser wird ber den Parameter Input bei der Instanzierung angegeben Syntax gt lt Instanzname AIN Timeout DINT MAPX lt input gt 170 Festo GDCP CMXR SW DE de 0909a 18 Bausteine Der Parameter input ist der Name mit dem der Hardwareeingang bezeichnet ist Diese Zuweisung stellt einen Bezug des Bausteins zur Handware her Es k nnen weitere Parame ter angegeben werden um z B Voreinstellungen zu treffen Dies ist jedoch zur Instanzierung nicht notwendig und kann im Programm erfolgen Beispiel Ein Sensor wird als Bausteininstanz angelegt Instanzierung in der Datendatei temperature AIN 1 MAPX _system Sensor1 Instanzierung mit dem FTL Editor Die Instantiierung erfolgt im Dialog zum Anlagen von Variablen durch Auswahl des lt Typ gt AIN und Eingabe des lt Bezeichner gt ainTemperature In der Zeile lt MAPTO AINPORT gt wird der reale Bezug zu einen konfigurierten Analogen Eingang hergestellt Yariable editor P Variable properties Identifier aint emperature Val Type AIN Wisibility PR DJECT Comment Initialization Identifier Type Value ap emperature AIN LI MAPX _system timeout MSEC RH port MAPTO AINPORT Sensor D
178. zens definiert werden mode Bedeutung a re DIRECT Wert wird im n chsten IO System Zyklus bernommen ZEROPULSE Wert wird beim n chsten Nullimpuls des Ge bers bernommen Tabelle 18 19 Modes der Methode Set Beispiel enc0 Set 1000 DIRECT 186 Festo GDCP CMXR SW DE de 0909a 18 Bausteine 18 9 5 Encoder lesen Methode Read Mit der Methode Read kann der aktuelle Inkrementalgeberwert vom Anwenderprogramm gelesen werden 3 Syntax lt ENCODERD Read OPT lt ovlEnable gt BOOL DINT Parameter Typ Bedeutung ovlEnable BOOL Parameter zum Einstellen des Abfragezeitpunkts Tabelle 18 20 Parameter Methode Read Die Methode gibt den inkrementellen Wert des Encoders zur ck Dieser wird nicht mit dem Umrechnungsfaktor verrechnet Soll der normierte Wert gelesen werden so muss direkt auf den Port des Encoder Eingangs mit dem Element Value zugegriffen werden Beispiel normierten Wert lesen value enc0 port value Beispiel inkrementellen Wert lesen value enc0 Read 18 10 CANopen Baustein COPDEVICE Der CANopen Baustein kann im Programm verwendet werden um Ger te anzusprechen die per Peripherie CAN Bus mit der CMXR verbunden sind Vorsicht 1N Am Peripherie CAN Bus k nnen CANopen Ger te angesteuert wer den Diese Ger te unterliegen jedoch nicht dem NOT AUS Verhalten der Kinematik Es erfolgt kein kontrolliertes Abbremsen von Hilfsantrieben Wird der Peripherie CAN Bus aus einem p
179. zur ckge setzt Zustand FALSE Syntax gt lt Instanzname Set lt Instanzname Reset Set und Reset werden im Hauptlauf ausgef hrt Das berschleifen wird durch den Bau stein NICHT beeinflusst Beispiel Lin posl Lin pos2 168 Festo GDCP CMXR SW DE de 0909a 18 Bausteine cylinder Set setzt Ausgang cylinder auf TRUE Lin pos3 cylinder Reset setzt Ausgang cylinder auf FALSE Lin pos4 18 5 9 Setzen des Ausgangs Methode Write Mit der Methode Write kann der Zustand eines Ausgangs beschrieben werden Der ge w nschte Zustand TRUE oder FALSE wird dabei als Parameter bergeben Die Funktions weise von Write ist die gleiche wie bei den Methoden Set und Reset Syntax gt lt Instanzname Write Value BOOL Die Methode Write wird im Hauptlauf ausgef hrt Das berschleifen wird durch den Bau stein NICHT beeinflusst Beispiel cylinder Write TRUE setzt Ausgang cylinder auf TRUE state FALSE cylinder Write state setzt Ausgang cylinder auf FALSE 18 5 10 Setzen des Ausgangs auf bestimmte Dauer Methode Pul se Die Methode Pulse setzt einen Ausgang f r eine bestimmte Dauer auf TRUE Die Ausf h rung von Pulse erfolgt im Hauptlauf und beeinflusst das berschleifen nicht Syntax gt lt Instanzname Pulse timeMs DINT OPT pauseAtInterrupt BOOL Parameter Typ Bedeutung timeMs DINT Zeit f r die Impulsl nge in msec pauseAtInterrupt BOOL Anhalten der I

Download Pdf Manuals

image

Related Search

Controller controller controller tester controller aircraft for sale controller games controller xbox controller settings controller input test controller overlay controller job description controller calibration controller drivers controller aircraft controller overclock controller check controller companion controllers for pc controller stick drift test controller macro controller panel controller ps5 controller ps4 controller mod minecraft controller vibration test controller overlay bakkesmod controller mod minecraft java

Related Contents

résultats - Ligue régionale de tir Picardie  Handbuch  Apollo SL70 Installation Manual  DS_User`s Manual_Ver.1.01  320530FR AA G40 Automatique Pistolet air-assisté  mecablitz 64 AF-1 digital  Samsung AQV09FAN manual de utilizador  ATHOS “CE” PROFESSIONALE - mbm  Aqua Smarte Mineral Manual - Spanish  STONE B FR  

Copyright © All rights reserved.
Failed to retrieve file