PDL2 -D

download PDL2 -D

of 484

Transcript of PDL2 -D

PDL2 REL. 5.5X

HANDBUCH FR PROGRAMMIERSPRACHE

PDL2 Anweisungen zum Programmieren der C3G Steuereinheit und von Robotics-Anwendungen.

00757137/D

3PD - 5.5X 01/0401

Die in diesem Handbuch enthaltenen Informationen sind Eigentum von COMAU SYSTEMS S.p.A. Auch auszugsweise Wiedergabe ohne vorherige schriftliche Genehmigung von COMAU SYSTEMS its verboten. COMAU SYSTEMS behlt sich das Recht vor, ohne Vorankndigung die Merkmale des in diesem Handbuch vorgestellen Products zu ndern. PRINTED IN ITALY - 04/2001 Copyright 2001 by COMAU SYSTEMS

AKTUALISIERUNGEN

AKTUALISIERUNGENIn der vorliegenden Ausgabe des Handbuches sind, hinsichtlich der vorigen, technische Angaben gendert worden, weil das Produkt auf den neuesten Stand gebracht worden ist. Die genderte Teilen sind unten beschrieben. TITEL: HANDBUCH FR PROGRAMMIERSPRACHE ANDERUNG KAP. 01/0401 01/0401 01/0401 01/0401 01/0401 11 12 Deckblatt Rckseite Liste der Internen Routinen Liste der Vorbesetzen Variablen Inhalt THEMA 1; 36 39 3; 49 52 Alle SEITE Nr. OPERATION Ersetzen Ersetzen Ersetzen Ersetzen Ersetzen

01/0401

A

AKTUALISIERUNGEN

Diese Seite wurde absichtlich leer gelassen

B

01/0401

PDL2

SICHERHEITSVORSCHRIFTEN

VERANTWORTUNG Der Einsetzer ist fr den Einsatz des Robotersystems in einen Produktions- oder Forschungsbereich, fr die Ausstellung der Konformittserklrung und die CE-Markierung der Anlage unter Einhaltung der Sicherheitsvorschriften der Maschinenrichtlinie verantwortlich. Die Firma COMAU SYSTEMS S.p.A. lehnt jegliche Verantwortung fr die unsachgeme oder falsche Verwendung des Robotersystems, fr den Einsatz nicht vorgeschriebener Ersatzteile und fr Eingriffe in Schaltkreise, Komponenten und in die Systemsoftware ab. Fr die Einhaltung dieser Sicherheitsvorschriften sind diejenigen verantwortlich, die die unter Punkt 3 angefhrten Aktivitten managen oder berwachen. Sie mssen sicherstellen, dass das autorisierte Personal die in diesem Dokument enthaltenen Vorschriften und die allgemein fr Robotersysteme anwendbaren Normen genau kennen und beachten. Bei Nichteinhaltung der Sicherheitsvorschriften knnen Personenverletzungen und Sachschden an der Steuereinheit verursacht werden.

SICHERHEITSVORSCHRIFTEN1. 1.1 ZWECK Zweck dieser Sicherheitsvorschriften ist die Festlegung einer Reihe von Verhaltensmaregeln und Verpflichtungen, die beim Ausfhren der unter Punkt 3 genannten Ttigkeiten eingehalten werden mssen, um unter den fr das Personal, fr die Ausrstungen und fr die Umgebung erforderlichen Sicherheitsbedingungen zu arbeiten. BEGRIFFSBESTIMMUNG Robotersystem Als Robotersystem wird eine Funktionseinheit bezeichnet, die aus Steuereinheit, Roboter, tragbarem Programmiergert und/oder Notgert sowie eventuellen Optionen besteht. Geschtzter Raum Als geschtzter Raum wird ein durch Schutzschranken begrenzter Raum bezeichnet, der fr die Installation und die Arbeit des Roboters bestimmt ist. Befugtes Personal Als befugtes Personal werden jene Personen bezeichnet, die entsprechend geschult und befugt sind, die unter Punkt 3 genannten Ttigkeiten auszufhren. Leiter Als Leiter werden jene Personen bezeichnet, die als verantwortliches technisches Fachpersonal die Arbeit anderer Personen berwachen, ohne selbst direkt an der Durchfhrung der Arbeit teilzunehmen. Installation und Inbetriebnahme Die mechanische und elektrische Integrierung des Robotersystems in eine Produktionssttte oder in einen Forschungsraum unter Einhaltung der durch die Maschinenrichtlinie festgelegten Sicherheitsvorschriften wird als Installation bezeichnet. Die Inbetriebnahme ist die berprfung der Funktionstchtigkeit des installierten Systems. Programmierbetrieb Betriebsart unter der Kontrolle des Bedieners, bei der die automatische Funktionsweise ausgeschlossen ist und folgende Ttigkeiten mglich sind: handgesteuerte Bewegungen in den verschiedenen Modalitten, Programmierung von Arbeitszyklen bei reduzierter Geschwindigkeit, Erprobung des programmierten Zyklus bei reduzierter Geschwindigkeit und, falls zulssig, bei Arbeitsgeschwindigkeit. Automatikbetrieb Betriebsart, bei der der Roboter den programmierten Zyklus bei Arbeitsgeschwindigkeit innerhalb des geschtzten Raums automatisch ausfhrt, wobei die Schutzschranken geschlossen und mit dem Not-Aus-Schaltkreis verbunden sind. Start und Stop erfolgen vor Ort oder ferngesteuert.

2. 2.1

2.2

2.3

2.4

2.5

2.6

2.7

02/1299

1

SICHERHEITSVORSCHRIFTEN

SICHERHEITSVORSCHRIFTEN BEGRIFFSBESTIMMUNG - Fortsetzung 2.8

PDL2

SICHERHEITSVORSCHRIFTEN

Hand-Notbetrieb Betriebsart, bei der der Roboter im Strungsfall von Hand unter reduzierten Sicherheitsbedingungen unter der Kontrolle vom Bediener und bei geschlossenen Sicherheitsschranken bewegt werden kann. Auerbetriebnahme und Abbau Bei der Auerbetriebnahme wird das Robotersystem mechanisch und elektrisch aus einer Produktionssttte oder aus einem Forschungsraum beseitigt. Beim Abbau werden Bauteile des Robotersystems demoliert und entsorgt. Wartung und Instandhaltung Als Wartungs- und Instandhaltungsarbeiten werden jene Ttigkeiten bezeichnet, bei denen mechanische, elektrische oder Software-Bauteile oder Komponenten des Robotersystems in gewissen Zeitabstnden berprft bzw. ersetzt werden und bei denen die Ursache einer aufgetretenen Strung herausgefunden wird. Zweck dieser Ttigkeiten ist die Wiederherstellung der vollen Funktionstchtigkeit des Robotersystems. Einsetzer Als Einsetzer wird jene Person bezeichnet, die aufgrund ihrer beruflichen Stellung fr die Anwendung des Robotersystems verantwortlich ist. Falscher Gebrauch Wenn das System fr Zwecke verwendet wird, die auerhalb der in der technischen Dokumentation spezifizierten Grenzen liegen, wird es falsch gebraucht. Wirkungsbereich Als Wirkungsbereich eines Roboters wird die Hllflche des kinematischen Raums einschlielich der Werkzeuge bezeichnet. ANWENDBARKEIT Diese Vorschriften mssen bei der Ausfhrung folgender Ttigkeiten befolgt werden: Installation und Inbetriebnahme; Programmierbetrieb; Automatikbetrieb; Hand-Notbetrieb; Wartung und Instandhaltung. Auerbetriebnahme und Abbau;

2.9

2.10

2.11

2.12

2.13

3. 3.1

4. 4.1 4.1.1

BETRIEBSARTEN Installation und Inbetriebnahme Die Inbetriebnahme ist nur dann zulssig, wenn das Robotersystem in ein Produktionssystem oder einen Forschungsraum integriert ist, welche seinen Einsatz unter Sicherheitsbedingungen gewhrleisten. Die Installation und Inbetriebnahme des Systems ist nur autorisierten Mitarbeitern erlaubt. Die Installation und Inbetriebnahme des Systems ist nur in einem gesicherten Bereich erlaubt, der gro genug ist, um den Roboter und seine Ausrstungen aufzunehmen, ohne die Schranken zu berschreiten. Auerdem muss geprft werden, dass bei normalen Roboterbewegungen Zusammenste mit Gegenstnden im gesicherten Bereich (z.B. Tragsulen, Versorgungsleitungen usw.) vermieden werden. Wenn ntig ist der Arbeitsbereich des Roboters durch mechanische Endanschlge zu begrenzent.

4.1.2 4.1.3

2

02/1299

PDL2 BETRIEBSARTEN -Fortsetzung 4.1.4 4.1.5

SICHERHEITSVORSCHRIFTEN

Der Aufstellungsbereich des Roboters soll mglichst frei von Gegenstnden sein, die die Sicht verhindern oder einschrnken. Whrend der Installationsarbeiten sollen der Roboter und die Steuereinheit so bewegt werden, wie in der Gebrauchsanleitung fr die Produkte. Ist das Anheben erforderlich, dann soll dazu die Befestigung der Ringschrauben berprft werden. Das Anheben darf nur mit geeigneten Anschlagmitteln und Hebezeugen erfolgen. Der Roboter ist mit allen vorgesehenen Bolzen an der Sttzauflage festzuschrauben. Eventuell vorhandene Achsenbefestigungsbgel mssen entfernt werden und die richtige Befestigung der Werkzeuge, mit denen der Roboter ausgestattet ist, mu berprft werden. Es ist zu berprfen, ob die Schutzbleche des Roboters richtig befestigt und keine beweglichen oder lockeren Teile vorhanden sind. Die Unversehrtheit der Komponenten der Steuereinheit mu kontrolliert werden. Soll die Pneumatikanlage des Roboters an das Luftdrucknetz angeschlossen werden, mu die richtige Einstellung des Luftdruckwerts sorgfltig berprft werden. Eine falsche Druckeinstellung wirkt sich auf den Gewichtsausgleich aus und beeinflut die Ausfhrung der Roboterbewegungen. Auerdem, die Installation von Filtern vorsehen fr das eventuelle sich in der Anlage bildende Kondenswasser. Die Steuereinheit ist so zu installieren, da nur auerhalb des geschtzten Raums an der Steuertafel gearbeitet werden kann. Prfen, dass die Spannung der Netzversorgung mit derjenigen auf den Typenschildern der Versorgungstrafos genannten bereinstimmt. Vor elektrischem Anschluss der Steuereinheit sicherstellen, dass der Trennschalter auf dem Stromversorgungsnetz mit dem entsprechenden Schlssel in offener Position blockiert ist. Der Netztrennschalter muss mit der Steuereinheit durch ein vieradriges Kabel (3 Phasen + Erde) mit einen ausreichenden Querschnitt fr die installierte Leistung verbunden sein. Das Versorgungskabel muss durch die entsprechende Kabelfhrung in die Steuereinheit gefhrt werden. Den Erdungsleiter (PE) anschlieen und dann die Leistungsleiter mit dem Hauptschalter oder den vorbereiteten Klemmen der Steuereinheit verbinden. Die Schutzhaube auf dem Hauptschalter oder den Eingangsklemmen anbringen. Das Stromversorgungskabel mu an den Trenner des Energieversorgungsnetzes angeschlossen werden. Die Kontrolleinheit kann geliefert werden Innenbeleuchtung und die Servicesteckdose mit einem dreipoligen Kabel (2 Phasen + Erde) mit einem dem fr das Netz vorgesehenen Schutz entsprechenden Querschnitt an das Netz anschlieen. Dabei genauso und in derselben Reihenfolge wie bei Anschluss der Leistungsversorgung vorgehen. Den Erdleiter, die Leistungs- und Signalbertragungskabel zwischen Steuereinheit und Roboter anschlieen. Kontrollieren, da die Tr/-en der Steuereinheit mit dem Schlssel abgeschlossen sind. Ein falscher Anschlu der Verbinder kann permanente Schden an den Komponenten der Steuereinheit verursachen. Das C3G Plus lst intern die wichtigsten Sicherheitsverriegelungen aus (Schutztren, Einschalttaster usw.). Sollte es ntig sein, diese an vorbereitete Signale anzuschlieen, um zustzliche externe Schaltkreise zu bilden, achten Sie auf, da diese verwendeten Signale den Sicherheitsvorschriften entsprechen. Der Robotersystem-Integrator ist zustndig fr die Zuverlssigkeit der Verriegelungssignale (Not-Aus, Sicherheit der Schutztren usw.), die von der Transferstrae ausgehen.Bei falsch ausgefhrten, unvollstndigen oder fehlenden Verriegelungen kann die Systemsicherheit nicht gewhrleistet werden.

4.1.6 4.1.7 4.1.8

4.1.9

4.1.10 4.1.11 4.1.12 4.1.13 4.1.14 4.1.15

4.1.16 4.1.17

4.1.18 4.1.19 4.1.20 4.1.21

02/1299

3

SICHERHEITSVORSCHRIFTEN

SICHERHEITSVORSCHRIFTEN BETRIEBSARTEN -Fortsetzung 4.1.22

PDL2

SICHERHEITSVORSCHRIFTEN

Der durch die Schutzschranken ausgelste Anhalt fhrt den Roboterstillstand in unkontrollierter Weise herbei, wobei der Verlust der programmierten Bahn mglich ist. Zum Anhalten des Roboters mit gesteuerter Verzgerungsrampe wird empfohlen, die Verriegelungssignale so anzuschlieen, da vor Not-Aus ein Drive- Off-Kommando ausgelst wird.Beispiel: Das ffnen der Sicherheitssperren der Schutzschranken lst Remote Drive Off aus; beim ffnen der Schutzschranken wird Not-Aus geschaltet. Wenn eine Vorrichtung fr den kontrollierten Stop C3G-CSM (Controlled Stop Module) an dem Steuersystem installiert ist, fhrt der Not-Aus und/oder die ffnung der Schutztren in den Betriebsarten AUTO LOCAL und AUTO REMOTE zum kontrollierten Halt des Roboters (EN 60204-1, Halt der Kategorie 1). Unter diesen Umstnden erfolgt die Unterbrechung der Versorgung (ffnung des Leistungskontaktgebers) nach 1 Sekunde. Im Programmierzustand PROGRAMMING erfolgt die Unterbrechung der Versorgung unverzglich (EN 60204-1, Halt der Kategorie 0). Bei der Realisierung der Schutzschranken,, insbesondere wenn Lichtschranken verwendet werden, mu dieses Timing unbedingt bercksichtigt werden. Es ist sicherzustellen, da die Umgebungs- und Arbeitsbedingungen innerhalb der von den Betriebsanleitungen angegebenen Grenzen liegen. Die Kalibration ist mit grter Sorgfalt durchzufhren, Wie in der Gebrauchsanleitung fr das Produkt angegebenwie . Am Schlu der Kalibrationsarbeiten mu die Prfung der richtigen Maschinenlage erfolgen. Beim Laden oder berarbeiten der Systemsoftware (zum Beispiel nach dem Wechseln von Kartenbaugruppen) drfen nur Original-Disketten verwendet werden , die von der Firma COMAU SYSTEMS S.p.A. zusammen mit dem Roboter geliefert werden.Nach dem Laden soll zur Sicherheit immer ein Probezyklus auerhalb des geschtzten Raums durchgefhrt werden.Bei der Ladeprozedur der Systemsoftware mu die in der Betriebsanleitung enthaltene Beschreibung genau befolgt werden. Sicherstellen, dass die Schranken fr den gesicherten Bereich richtig positioniert sind Programmierbetrieb Der Roboter darf ausschlielich von befugtem Personal programmiert werden. Vor dem Programmieren mu der damit beauftragte Bediener das Robotersystem berprfen, um sicherzustellen, da keine ungewhnlichen und gefhrlichen Bedingungen vorhanden sind und sicherstellen, dass sich keine Personen im gesicherten Bereich aufhalten. Wenn mglich, soll die Programmierung auerhalb des geschtzten Raums erfolgen. Wenn innerhalb des gesicherten Bereichs gearbeitet werden muss, muss der Bediener von auerhalb des gesicherten Bereichs sicherstellen, dass alle ntigen Schutzeinrichtungen vorhanden sind und funktionieren, und insbesondere, dass das Programmierhandgert richtig arbeitet (reduzierte Geschwindigkeit. Zustimmungsschalter, Notausknopf usw.). Beim Programmieren darf der geschtzte Raum vom zustndigen Bediener nur mit dem tragbaren Terminal betreten werden. Beim Programmieren ist der Aufenthalt im geschtzten Raum nur dem fr das Programmieren zustndigen, mit dem tragbaren Terminal ausgersteten Bediener erlaubt.Falls die Anwesenheit eines zweiten Bedieners absolut erforderlich sein sollte, mu dieser eine weiter Sicherungseinrichtung Drei-Positionen-Sicherheitsvorrichtung bei sich fhren, die mit der Steuereinheit verbunden ist. Beim Programmieren mu der zustndige Bediener in einer solchen Entfernung vom Roboter bleiben, bei der er eventuell auftretenden, unvorhersehbaren Roboterbewegungen ausweichen kann. Er mu sich an einer solchen Stelle aufhalten, in der er nicht Gefahr luft, zwischen dem Roboter (Sulen, Schranken usw.) und den Strukturteilen oder beweglichen Roboterteilen eingeklemmt zu werden. Beim Programmieren mu der zustndige Bediener vermeiden, sich unter Roboterteilen aufzuhalten, die durch Schwerkraft sich nach unten oder oben verschieben knnen. Die Motoren mssen immer von einer Position aus eingeschaltet werden (Drive On), die sich auerhalb des Wirkungsbereichs des Roboters befindet. Dabei ist vorher immer sicherzustellen, da sich im betreffenden Bereich keine Personen aufhalten. Die Motoren sind dann eingeschaltet, wenn der entsprechende Maschinenzustand angezeigt wird. 02/1299

4.1.23

4.1.24 4.1.25

4.1.26

4.1.27 4.2 4.2.1 4.2.2

4.2.3 4.2.4

4.2.5 4.2.6

4.2.7

4.2.8 4.2.9

4

PDL2 Programmierbetrieb - Fortsetzung 4.2.10

SICHERHEITSVORSCHRIFTEN

Die Erprobung des programmierten Arbeitsablaufs bei Arbeitsgeschwindigkeit (Funktion nur auf Abruf) darf in einigen Situationen, bei denen eine Sichtkontrolle aus geringer Entfernung erforderlich ist und der Bediener daher im geschtzten Raum stehen mu, erst dann durchgefhrt werden, wenn ein kompletter Probezyklus mit reduzierter Geschwindigkeit stattgefunden hat. Die Probe mu aus Sicherheitsentfernung gesteuert werden. Bei der Programmierung mit dem tragbaren Terminal ist besondere Vorsicht geboten: Die Hardware- und Software- Sicherheiten sind dabei wirksam, aber die Roboterbewegungen unterstehen der Kontrolle des Bedieners. Bei der ersten Ausfhrung eines neuen Programms kann die Roboterbewegung in einer Bahn erfolgen, die nicht der vorgesehenen Bahn entspricht. Durch die nderung von Programmschritten (z.B. Versatz eines Schrittes von einem Punkt zu einem anderen des Flues, falsche Speicherung eines Schrittes, nderung der Roboterlage auerhalb der Bahn, die zwei Programmschritte verbindet) knnen Bewegungen entstehen, die vom Bediener bei der Programmerprobung nicht vorgesehen waren. In beiden Fllen ist mit Vorsicht auerhalb des Wirkungsbereichs des Roboters zu handeln. Automatikbetrieb Das Einschalten des Automatikbetriebs des Robotersystems ist ausschlielich befugtem Personal dann erlaubt, wenn die Schutzschranken geschlossen und elektrisch verriegelt sind, wie von den Sicherheitsvorschriften vorgeschrieben. Vor dem Einschalten des Automatikbetriebs mu der Bediener das Robotersystem und den geschtzten Raum berprfen, um sicherzustellen, da keine ungewhnlichen, gefhrlichen Bedingungen vorhanden sind.. Vor dem Einschalten des Automatikbetriebs mu der Bediener folgendes berprfen: Das Robotersystem darf sich nicht im Wartungs- oder Reparaturzustand befinden. Die Schutzschranken mssen richtig angeordnet sein. Es darf sich niemand innerhalb des geschtzten Raum aufhalten. Die Tren des Steuersystems mssen versperrt sein. Die Sicherheitseinrichtungen (Not-Aus, Sicherheiten der Schutzschranken) mssen funktionstchtig sein. Das tragbare Programmierterminal mu sich in seiner Aufnahme befinden (diese Bedingung wird auch von der Steuereinheit bei Auto-Remote gefordert).

4.2.11

4.2.12

4.3 4.3.1

4.3.2

4.3.3

4.3.4 4.4 4.4.1 4.4.2 4.4.3 4.4.4

Besondere Vorsicht ist bei der Wahl des automatischen, ferngesteuerten Zustands geboten, in dem die SPS automatisch Motoren einschalten und das Programm starten kann. Hand-Notbetrieb (Wo vorgesehen die manuelle Betriebsbedingung fr Notflle) Das Umschalten auf den Hand-Notbetrieb ist nur befugtem Personal erlaubt. Diese Betriebsart darf nur dann verwendet werden, wenn besondere Bedingungen des Robotersystems keine Handbewegungen bei der Programmierung zulassen. Der Hand-Notbetrieb soll mglichst von einer Position auerhalb des geschtzten Raums gesteuert werden wegen der Reduzierten Sicherheitsbedingungen. Es ist Aufgabe des Integrators des Robotersystems, einen geeigneten Sicherheitskreis zu realisieren, der dem Bediener erlaubt, den Roboter bei deaktivierten Sicherheitsschranken zu bewegen.In diesem Fall muss vor Ausfhren der manuellen Noteingriffe von auerhalb des gesicherten Bereichs geprft werden, dass die Sicherheitseinrichtungen und das Programmierhandgert, das hier als tragbare Notbedienungskonsole dient, in diesem Zustand funktionieren.

02/1299

5

SICHERHEITSVORSCHRIFTEN

SICHERHEITSVORSCHRIFTEN Hand-Notbetrieb - Fortsetzung 4.4.5

PDL2

SICHERHEITSVORSCHRIFTEN

Beim Hand-Notbetrieb mu mit grter Vorsicht und Umsicht gearbeitet werden. Man mu sich dabei immer auerhalb des Wirkungsbereiches des Roboters und seiner Werkzeuge aufhalten und insbesondere die Achsen beachten, die durch Schwerkraft herabfallen knnen. Der Bremsen jeder Roboterachse. Bei fehlendem Motorantrieb kann der Roboter mit der direkt an den Roboter angeschlossenen oder auf dem Roboter montierten Vorrichtung zum manuellen Lsen der Bremsen bewegt werden, die ein Deaktivieren der Bremse jeder einzelnen Achse erlaubt. In diesem Fall alle Sicherungseinrichtungen des Systems (einschl. Notaus und Zustimmungsschalter) ausgeschlossen. Falls die zu bewegenden Achsen aufgrund ihres Gewichts fallen knnen, sollten sie mit einem Seil umschlungen und an einem Kranwagen aufgehngt werden. Auerbetriebnahme und Abbau Die Auerbetriebnahme und der Abbau des Robotersystems drfen nur von befugtem Personal vorgenommen werden. Der Roboter mu in Transportlage gebracht werden. Falls vorgesehen, sind die Achsenbefestigungsbgel zu montieren. Vor Auerbetriebnahme sollte der Trennschalter des Netzes geffnet und in der Aus-Position mit dem betreffenden Schlssen blockiert werden, der dann abgezogen werden muss. Nachdem mit einen entsprechenden Instrument geprft wurde, dass die Klemmen ohne Spannung sind, das Versorgungskabel vom Trennschalter abnehmen. Dabei zuerst die Leistungsleiter und dann den Erdungsleiter entfernen. Das Leistungskabel vom Hauptschalter der Steuereinheit lsen und entfernen. Nach Blockieren des Trenners des Verteilungsnetzes in geffneter Stellung die Verbindung des Versorgungskabels fr die Innenbeleuchtung der Steuereinheit und Servicestecker (sofern diese Stromkreise von auen versorgt werden) lsen. und nachdem sichergestellt ist, dass keine Spannung anliegt. Dabei zuerst die Phasen, dann den Erdleiter abnehmen. Zuerst den Anschlu der Verbindungskabel zwischen den Robotern und der Steuereinheit, danach den Erdleiter lsen. Wenn vorhanden, Verbindung der Pneumatikanlage des Roboters mit dem Druckluftverteilernetz lsen. Sicherstellen, dass der Roboter richtig im Gleichgewicht ist, und wenn ntig richtig festzurren. Dann die Befestigungsbolzen des Roboters von der Halterung demontieren Den Roboter und die Steuereinheit aus dem Arbeitsbereich unter Einhaltung aller in den Betriebsanleitungen erteilten Vorschriften entfernen. Falls deren Anheben erforderlich ist, die Befestigung der Ringschrauben prfen und nur geeignete Anschlagmittel und Ausrstungen verwenden. Setzen Sie sich bitte vor dem Abbauen (Demontage, Demolition und Entsorgung) der Bauteile, aus denen das Robotersystem besteht, mit der Firma COMAU SYSTEMS S.p.A., oder mit einer Filiale in Verbindung, die Sie ber die richtige Vorgangsweise fr den entsprechenden Roboter- und Steuerungstyp unter Aufrechterhaltung von Sicherheit und Umweltschutz informieren wird. Bei der Abfallentsorgung mssen die in dem Land, in dem das Robotersystem aufgestellt ist, jeweils gltigen Gesetze eingehalten werden Wartung und Instandhaltung Die Arbeiten zur Wartung, Fehlersuche und Instandhaltung sind nur von befugtem Personal durchzufhren. Die Durchfhrung von Wartungs- und Instandhaltungsarbeiten mu mit einem Schild mit entsprechendem Hinweis angezeigt werden, das auf der Bedientafel der Steuereinheit anzubringen ist. Dieses Schild mu auch bei zeitweiser Unterbrechung der Wartungs- und Instandhaltungsarbeiten vorhanden sein und darf erst nach vollkommenem Abschlu dieser Arbeiten beseitigt werden. Bei der Durchfhrung von Arbeiten zur Wartung oder zum Ersatz von Bauteilen oder der Steuereinheit mu der Hauptschalter in geffneter Stellung mit einem Vorhngeschlo verriegelt werden.

4.4.6

4.5 4.5.1 4.5.2 4.5.3 4.5.4

4.5.5

4.5.6 4.5.7 4.5.8 4.5.9

4.5.10

4.5.11 4.6 4.6.1 4.6.2

4.6.3

6

02/1299

PDL2 Wartung und Instandhaltung - Fortsetzung 4.6.4

SICHERHEITSVORSCHRIFTEN

Auch wenn die Steuereinheit nicht versorgt wird (Hauptschalter offen), knnen Spannungen vorhanden sein, die von der Verbindung mit Peripheriegerten (z.B. Input/Output bei 24V dc oder 110V ac) oder mit externen Versorgungsquellen (z.B. innere Beleuchtungsanlage mit 110 V ac oder 220 V ac) stammen. Die externen Quellen mssen ausgeschaltet werden, wenn an den betreffenden Systemteilen gearbeitet wird. Platten, Schutzschirme, Gitter usw. drfen nur bei offenem, mit Vorhngeschlo gesichertem Hauptschalter entfernt werden. Fehlerhafte Komponenten mssen durch neue mit derselben Codenummer ersetzt werden. Eine Fehlersuche an der Steuereinheit muss soweit wie mglich von auerhalb des gesicherten Bereichs erfolgen. Wenn die Fehlersuche Arbeiten bei unter Strom stehender Steuereinheit erfordert, sind alle Sicherheitsmanahmen zu treffen, die von den Sicherheitsvorschriften fr das Arbeiten bei gefhrlichen Spannungen vorgeschrieben sind. Die Fehlersuche am Roboter mu bei ausgeschalteter Leistungsversorgung (Drive off) erfolgen. Am Abschlu der Wartungsarbeiten und der Fehlersuche mu der Betrieb der funktionsuntchtig gemachten Schutzeinrichtungen (Platten, Schutzschirme, Verriegelungen usw.) wiederhergestellt werden. Die Wartungs- und Instandhaltungsarbeiten sowie die Fehlersuche sind durch die berprfung der richtigen Funktionsweise des Robotersystems und aller seiner Sicherheiten abzuschlieen, wobei sich der Bediener auerhalb des geschtzten Raums aufhlt. Beim Laden der Software (z.B. nach Ersetzen von elektronischen Kartenbaugruppen) drfen nur Original-Disketten verwendet werden, die von der Firma COMAU SYSTEMS S.p.A. zusammen mit dem Roboter geliefert werden. Nach dem Laden soll zur Sicherheit immer ein Probezyklus auerhalb des geschtzten Raums durchgefhrt werden. Bei der Ladeprozedur der Systemsoftware mu die in der Betriebsanleitung enthaltene Beschreibung genau befolgt werden.

4.6.5 4.6.6 4.6.7 4.6.8

4.6.9 4.6.10

4.6.11

4.6.12

02/1299

7

SICHERHEITSVORSCHRIFTEN

SICHERHEITSVORSCHRIFTEN

PDL2

SICHERHEITSVORSCHRIFTEN

Diese Seite wurde absichtlich leer gelassen

8

02/1299

PDL2

EINLEITUNG

EINLEITUNGSYMBOLEDie Symbole zeigen Hinweise an. Ihre Bedeutung ist im folgenden erlutert. Dies Symbol weist auf Operationsprozeduren, technische Informationen oder Warnungen hin, die besonders wichtig sind.

REFERENZDOKUMENTATIONWeitere Einzelheiten ber das Programmieren der C3G Steuereinheiten findet man in folgender Dokumentation: Cell Controller Bedienungs-und Wartungshandbuch; EZ-PDL2 Umgebung zur Vereinfachten Programmierung; C3G Programmieranleitung; Anwendungshandbcher.

Diese Handbcher werden von COMAU zu einem Listenpreis geliefert.

00/1200

9

EINLEITUNG

PDL2

Diese Seite ist absichtlich freigelassen

10

00/1200

PDL2

INHALT

INHALTDies Handbuch enthlt: Seite

KAPITEL 1: EINFHRUNG IN DIE SPRACHE PDL2SYNTAX KONVENTION . . . . . . . . . . . . . . . . . . . . . . . . . . KOMPONENTEN DER SPRACHE . . . . . . . . . . . . . . . . . . . . . ZEICHENSATZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RESERVIERTE WRTER, SYMBOLE UND OPERATIONSZEICHEN. VORBESETZTE IDENTIFIZIERER . . . . . . . . . . . . . . . . . . . VOM ANWENDER DEFINIERTE IDENTIFIZIERER . . . . . . . . . . ANWEISUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LEERZEICHEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . KOMMENTARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROGRAMMSTRUKTUR. . . . . . . . . . . . . . . . . . . . . . . . . . PROGRAMMBEISPIEL . . . . . . . . . . . . . . . . . . . . . . . . . . . MASSEINHEITEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 1-2 1-2 1-2 1-2 1-4 1-5 1-5 1-5 1-6 1-6 1-7

KAPITEL 2: DARSTELLUNG DER DATENDATENKLASSEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 INTEGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 REAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 BOOLEAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 STRING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 ARRAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 RECORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 VECTOR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 POSITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 BEZUGSSYSTEME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 JOINTPOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 XTNDPOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 NODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 SEMAPHORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 VEREINBARUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 VEREINBARUNG VON KONSTANTEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 VEREINBARUNG VON KLASSEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 VEREINBARUNG VON VARIABLEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12 GEMEINSAM BENUTZTE VARIABLEN UND ROUTINEN. . . . . . . . . . . . . . . . . . . . . . 2-13 AUSDRCKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14 ARITHMETISCHE OPERATIONEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15 VERGLEICHSOPERATIONEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 LOGISCHE OPERATIONEN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 OPERATIONEN AUF BIT-BASIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 VEKTOROPERATIONEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 POSITIONSOPERATIONEN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 KONVERSION VON DATENKLASSEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 VORRANG DER OPERATOREN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 ZUWEISUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19 TYPISIERUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20

00/1200

i

INHALT

PDL2 Seite

KAPITEL 3: BEWEGUNGSSTEUERUNGMOVE ANWEISUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 ARM Klausel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 TRAJECTORY Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 ZIEL Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 MOVE TO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 MOVE NEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 MOVE AWAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 MOVE RELATIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 MOVE ABOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 MOVE BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 MOVE FOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 OPTIONAL KLAUSELN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 ADVANCE Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 TIL Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 WITH Klausel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 SYNCMOVE Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 KONTINUIERLICHE BEWEGUNG (MOVEFLY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 ZEITGEBER UND SYNCHRONISIERER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 BEWEGUNGSSTEUERUNG MIT FLY_CART. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 MOVE ALONG ANWEISUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 ARM Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13 KNOTENPUNKT-BEREICH Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13 OPTIONAL Klausel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13 ADVANCE Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13 WITH Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14 KONTINUIERLICHE BEWEGUNG (MOVEFLY). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 STOP UND WIEDERAUFNAHME VON BEWEGUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 CANCEL MOTION Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 LOCK, UNLOCK, und RESUME Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16 SIGNAL SEGMENT Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16 HOLD Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16 ATTACH und DETACH Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16 HANDAnweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17

KAPITEL 4: SERIELLE EIN-/AUSGABENSERIELLE Einrichtungen . . . . . . . . . FENSTER Einrichtungen . . . . . . . DATEI Einrichtungen . . . . . . . . . KOMMUNIKATIONS Einrichtungen . . NULL Einrichtung . . . . . . . . . . . ATTACH und DETACH Anweisungen. TABELLEN DER EINRICHTUNGEN . LOGISCHE EINHEITNUMMER. . . . . . OPEN FILE Anweisung . . . . . . . . WITH Klausel . . . . . . . . . . . . . CLOSE FILE Anweisung . . . . . . . READ Anweisung . . . . . . . . . . . FORMATSPEZIFIZIERER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 4-1 4-2 4-2 4-3 4-3 4-4 4-5 4-5 4-6 4-6 4-7 4-8

ii

00/1200

PDL2

INHALT Seite

KAPITEL 4: SERIELLE EIN-/AUSGABEN (FORTSETZUNG)WIEDERANLAUF NACH STROMAUSFALL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 WRITE ANWEISUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 WIEDERANLAUF NACH STROMAUSFALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 DATENKOMMUNIKATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 DAS PROTOKOLL DDCMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 OPERATION IM NORMALMODUS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 Montieren. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12 Protokollstart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12 Protokollbetrieb. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12 Demontieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12 FEHLERBEDINGUNGEN UND STATISTIKEN . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13 BETRIEB IM WARTUNGSMODUS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Montieren. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14 Protokollbetrieb. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 Demontieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 Statistiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 PDL2 PROGRAMMIERUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 Montieren der Einrichtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 Benutzen der DDCMP Einrichtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15 Einrichtungskontrolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 PROGRAMMIERHINWEISE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17 ANWENDUNGSBEISPIELE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17 DAS PROTOKOLL 3964R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21

KAPITEL 5: MATRIZEN FR EIN-/AUSGABEPORTSALLGEMEINES . . . . . . . . . . . . . . . . . . . . . . . . . . . . VOM ANWENDER DEFINIERTE E/A-PORTS . . . . . . . . . . . . $DIN und $DOUT . . . . . . . . . . . . . . . . . . . . . . . . . $GIN und $GOUT . . . . . . . . . . . . . . . . . . . . . . . . . $AIN und $AOUT . . . . . . . . . . . . . . . . . . . . . . . . . VOM SYSTEM DEFINIERTE PORTMATRIZEN . . . . . . . . . . . $SDIN und $SDOUT . . . . . . . . . . . . . . . . . . . . . . . $FDIN und $FDOUT. . . . . . . . . . . . . . . . . . . . . . . . $FDIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $FDOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . $HDIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PORTMATRIZEN FR GEMEINSAM BENUTZTEN SPEICHER . . $BIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $WORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $PLCSTW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SYSTEMZUSTAND NACH WIEDERAUFSETZEN . . . . . . . . . . KALTSTART . . . . . . . . . . . . . . . . . . . . . . . . . . WARMSTART . . . . . . . . . . . . . . . . . . . . . . . . . AUSFALL DER STROMVERSORGUNG . . . . . . . . . . . ZUGRIFF AUF VOM ANWENDER DEFINIERTE EINRICHTUNGEN . . . . . . . . . . . . . . . . . . . . 5-1 . . . . . . . . . . . . . . . . . . . . 5-3 . . . . . . . . . . . . . . . . . . . . 5-3 . . . . . . . . . . . . . . . . . . . . 5-4 . . . . . . . . . . . . . . . . . . . . 5-4 . . . . . . . . . . . . . . . . . . . . 5-4 . . . . . . . . . . . . . . . . . . . . 5-4 . . . . . . . . . . . . . . . . . . . . 5-4 . . . . . . . . . . . . . . . . . . . . 5-5 . . . . . . . . . . . . . . . . . . . . 5-7 . . . . . . . . . . . . . . . . . . . . 5-8 . . . . . . . . . . . . . . . . . . . . 5-8 . . . . . . . . . . . . . . . . . . . . 5-8 . . . . . . . . . . . . . . . . . . . . 5-8 . . . . . . . . . . . . . . . . . . . . 5-8 . . . . . . . . . . . . . . . . . . . . 5-8 . . . . . . . . . . . . . . . . . . . . 5-9 . . . . . . . . . . . . . . . . . . . . 5-9 . . . . . . . . . . . . . . . . . . . . 5-9 . . . . . . . . . . . . . . . . . . . . 5-9 . . . . . . . . . . . . . . . . . . . 5-10

00/1200

iii

INHALT

PDL2 Seite

KAPITEL 5: MATRIZEN FR EIN-/AUSGABEPORTS (fORTSETZUNG)$USER_BIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $USER_BYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . $USER_WORD . . . . . . . . . . . . . . . . . . . . . . . . . . . $USER_LONG . . . . . . . . . . . . . . . . . . . . . . . . . . . . $USER_ADDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . $USER_LEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $PROG_UBIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . $PROG_UBYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . $PROG_UWORD . . . . . . . . . . . . . . . . . . . . . . . . . . $PROG_ULONG . . . . . . . . . . . . . . . . . . . . . . . . . . . $PROG_UADDR . . . . . . . . . . . . . . . . . . . . . . . . . . . $PROG_ULEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . ZUWEISUNG UND RESERVIERUNG VON E/A UND SPS WRTERN $WORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $GIN/$GOUT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . $SDIN/$SDOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10 5-10 5-10 5-10 5-10 5-11 5-11 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-14 5-15

KAPITEL 6: AUSFHRUNGSSTEUERUNGABLAUFKONTROLLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 IF Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 SELECT Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 FOR Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 WHILE Anweisung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5 REPEAT Anweisung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6 GOTO Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7 PROGRAMMSTEUERUNG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8 Interne Funktion PROG_STATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9 ACTIVATE Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9 PAUSE Anweisung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10 UNPAUSE Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10 DEACTIVATE Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11 CYCLE und EXIT CYCLE Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11 DELAY Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12 WAIT FOR Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12 BYPASS Anweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12 SYNCHRONISIERUNG VON PROGRAMMEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13 PRIORITT EINES PROGRAMMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14

KAPITEL 7: ROUTINENPROZEDUREN UND FUNKTIONEN . . . . . . . . . . . . . . . . PARAMETER . . . . . . . . . . . . . . . . . . . . . . . . . . . . VEREINBARUNGEN . . . . . . . . . . . . . . . . . . . . . . . . LISTE DER PARAMETER. . . . . . . . . . . . . . . . . . . . VEREINBARUNGEN VON KONSTANTEN UND VARIABLEN . STACKGRE. . . . . . . . . . . . . . . . . . . . . . . . DATENKLASSE DER RCKGABEWERTE (RETURN TYPE) . RETURN ANWEISUNG . . . . . . . . . . . . . . . . . . . . . GEMEINSAM BENUTZTE ROUTINEN . . . . . . . . . . . . . iv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 7-2 7-3 7-4 7-4 7-5 7-5 7-5 7-6

00/1200

PDL2

INHALT Seite

KAPITEL 7: ROUTINEN (FORTSETZUNG)BERGABE VON ARGUMENTEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 BERGABE DURCH VERWEIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 BERGABE NACH WERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6

KAPITEL 8: BEDINGUNGSHANDLEROPERATIONEN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 DEFINITION VON BEDINGUNGSHANDLERN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 FOR ARM Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 NODISABLE Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 ATTACH Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 SCAN Klausel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 FREIGABE, SPERRE UND ENTFERNEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 VARIABLENVERWEISE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 BEDINGUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 RELATIONAL Zustnde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 BOOLEAN Zustand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 ZUSTNDE VON DIGITALEN E/As. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 EREIGNISSE VON DIGITALEN E/As . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 SYSTEMereignisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 ANWENDERereignisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9 FEHLERereignisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9 PROGRAMMereignisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10 EREIGNIS BEI ABBRUCH EINER UNTERBRECHBAREN ANWEISUNG . . . . . . . . . . . . . . . . . . . 8-10 BEWEGUNGSereignisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11 AKTIONEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13 ZUWEISUNGSaktion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13 INCREMENT- und DECREMENT-Aktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 INTERNE Aktionen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 SEMAPHORE Aktion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 MOTION und ARM Aktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14 ALARM Aktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15 PROGRAM Aktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15 Aktionen fr BEDINGUNGSHANDLER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15 DETACH Aktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 PULSE Aktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 HOLD Aktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 SIGNAL EVENT Aktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 ROUTINE CALL Aktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 AUSFHRUNGSORDNUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17

KAPITEL 9: SPS FUNKTIONENKOMPONENTEN DER SPRACHE . . . . . . . . KONSTANTEN . . . . . . . . . . . . . . . . VARIABLEN . . . . . . . . . . . . . . . . . . BOOLEAN E/A Matrizen:. . . . . . . . . . INTEGER E/A Matrizen: . . . . . . . . . . OPERATOREN . . . . . . . . . . . . . . . . VOM ANWENDER DEFINIERTE ROUTINEN 00/1200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1 9-1 9-1 9-1 9-1 9-2 9-2 v

INHALT

PDL2 Seite

KAPITEL 9: SPS FUNKTIONEN (FORTSETZUNG)ANWEISUNGEN . . . . . . . . . . . . . . . . INTERNE SPS ROUTINEN . . . . . . . . . ZHLER/ZEITGEBER ANWEISUNGEN. . . MATHEMATISCHE ANWEISUNGEN . . . . VERSCHIEBUNGSANWEISUNGEN . . . . WORD ANWEISUNGEN . . . . . . . . . . . BEDINGTE/UNBEDINGTE ANWEISUNGEN BIT ANWEISUNGEN. . . . . . . . . . . . . ONE-SHOT ANWEISUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2 9-2 9-3 9-4 9-4 9-4 9-5 9-5 9-6

KAPITEL 10: LISTE DER ANWEISUNGEN KAPITEL 11: LISTE DER INTERNEN ROUTINEN KAPITEL 12: LISTE DER VORBESETZTEN VARIABLEN anhang A: ZEICHENSTZEZEICHENSATZ 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2 ZEICHENSATZ 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6

anhang B: SYNTAX-DIAGRAMME anhang C: PROGRAMMBEISPIELE anhang D: WIEDERANLAUF NACH STROMAUSFALL INDEX

vi

00/1200

PDL2EINFHRUNG IN DIE SPRACHE PDL2DARSTELLUNG DER DATEN BEWEGUNGSSTEUERUNG SERIELLE EIN-/AUSGABEN MATRIZEN FR EIN-/AUSGABEPORTS AUSFHRUNGSSTEUERUNG ROUTINEN BEDINGUNGSHANDLER SPS FUNKTIONEN LISTE DER ANWEISUNGEN LISTE DER INTERNEN ROUTINEN LISTE DER VORBESETZTEN VARIABLEN Anhang A: ZEICHENSTZE Anhang B: SYNTAX-DIAGRAMME Anhang C: PROGRAMMBEISPIELE Anhang D: WIEDERANLAUF NACH STROMAUSFALL INDEX

Handbuch fr Programmiersprache

12 3 4 5 6 7 8 9 10 11 12 A B C D Index

INHALTAbschnitt SYNTAX KONVENTION . . . . . . . . . . . . . . . . . . . . . . . . . . KOMPONENTEN DER SPRACHE . . . . . . . . . . . . . . . . . . . . . ZEICHENSATZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RESERVIERTE WRTER, SYMBOLE UND OPERATIONSZEICHEN. VORBESETZTE IDENTIFIZIERER . . . . . . . . . . . . . . . . . . . VOM ANWENDER DEFINIERTE IDENTIFIZIERER . . . . . . . . . . ANWEISUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LEERZEICHEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . KOMMENTARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PROGRAMMSTRUKTUR. . . . . . . . . . . . . . . . . . . . . . . . . . PROGRAMMBEISPIEL . . . . . . . . . . . . . . . . . . . . . . . . . . . MASSEINHEITEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Seite . . . . . . . . . . . . 1-1 1-2 1-2 1-2 1-2 1-4 1-5 1-5 1-5 1-6 1-6 1-7

EINFHRUNG IN DIE SPRACHE PDL2

Handbuch fr Programmiersprache

PDL2

Diese Seite wurde absichtlich leer gelassen

PDL2

EINFHRUNG IN DIE SPRACHE PDL2

EINFHRUNG IN DIE SPRACHE PDL2Die Programmiersprache PDL2 ist der Sprache PASCAL hnlich und weist besondere Merkmale fr die Programmierung von Roboteranwendungen auf. Mit Programmierung ist die Entwicklung einer Serie von Anweisungen gemeint, die von der Steuereinheit ausgefhrt werden, um eine bestimmte Anwendung zu realisieren. Die Programme knnen Anweisungen zur Ausfhrung der folgenden Aufgaben enthalten: Verschiebung der Roboterarme; Senden und Empfangen von Informationen; Steuerung der Ausfhrungsabfolge von Anweisungen; Prfen von Fehler- oder anderen Sonderbedingungen.

PDL2 wird fr die Programmierung der Steuereinheit C3G von Comau verwendet. Diese Sprache bietet eine leistungsstrkere Struktur als die Originalversion von PDL und ermglicht so die Programmierung von komplexeren Anwendungen mit grerer Kontrolle und einer niedrigeren Fehlerrate. Zusammen mit der Sprache wird auch eine vollstndige PDL2 Programmierumgebung geliefert. Die C3G Steuereinheit ist in der Lage, mehrere Programme gleichzeitig auszufhren, um alle Aspekte einer Anwendung verwalten zu knnen. Eine Steuereinheit kann auerdem mehrere Roboterarme mit der entsprechenden Ausrstung berwachen. Die PDL2 Programme sind in zwei Kategorien unterteilt: holdable Programme und non holdable Programme. Die holdable Programme (durch das HOLD Attribute angezeigt) werden durch die Befehle START und HOLD gesteuert. Normalerweise umfassen solche Programme eine Bewegung, auch wenn das keine notwendige Bedingung ist. Die non holdable Programme (durch das NOHOLD Attribute angezeigt) werden nicht durch die Befehle START und HOLD gesteuert. Im allgemeinen werden solche Programme zur Prozesteuerung verwendet und knnen keine Bewegung enthalten. Sie knnen aber die Positionsvariablen auf jeden Fall zu anderen Zwecken verwenden. Die in einem non holdable Programm unzulssigen Bewegungsanweisungen sind: RESUME, CANCEL, LOCK, UNLOCK und MOVE.

Auerdem kann fr das Schreiben von in RLL (relay ladder logic) bersetzbaren SPS Programmen ein zustzlicher Satz von PDL2-Anweisungen verwendet werden (siehe Kapitel "SPS Funktionen").

SYNTAX KONVENTIONIn diesem Handbuch werden die folgenden Konventionen fr die Syntax der PDL2 Anweisungen verwendet: Die Optionen werden in spitze Klammern gesetzt. Zum Beispiel die Beschreibung: item1 item3 ergibt die folgenden Mglichkeiten: item1 item3 item1 item2 item3 Elementen, die ein- oder mehrmals auftreten knnen, folgen drei Punkte. Zum Beispiel die Beschreibung: item1 item2... ergibt die folgenden Mglichkeiten: item1 item2 item1 item2 item2 item1 item2 item2 item2 u.s.w. Die senkrechten Striche dienen dazu, die verschiedenen Auswahlmglichkeiten voneinander zu trennen. Wenn mindestens ein Element gewhlt werden mu, wird die gesamte Gruppe durch Doppelstriche begrenzt. Zum Beispiel die Beschreibung: || item1 | item2 || ergibt die folgenden Mglichkeiten: item1 item2 00/1200 1-1

EINFHRUNG IN DIE SPRACHE PDL2

PDL2

Die Kombinationen dieser Zustze liefern sehr leistungsstarke syntaktische Beschreibungen, die manchmal etwas komplex sein knnen. Sie sind aber trotzdem zum Verstndnis dessen, was mit der Sprache PDL2 gemacht werden kann, sehr ntzlich. Es folgen einige Beispiele. Beschreibungen item1 Mgliche Ergebnisse item1 item1 item2 item1 item3 item1 item1 item2 item1 item3 item1 item3 item3 item2 u.s.w. itm1 itm2 itm3 itm2 itm2 itm1 itm3 itm1 itm3 itm2 u.s.w.

item1 ...

|| itm1 | itm2 | itm3 ||...

Es ist zu beachten, da wenn die Punkte sofort nach den Klammern der Optionen gesetzt werden, die in den Klammern enthaltenen Elemente nullmal oder mehrmals wiederholt werden knnen. Wenn die Punkte aber nach den senkrechten Strichen stehen, knnen die in diesen Strichen enthaltenen Elemente einmal oder mehrmals wiederholt werden.

KOMPONENTEN DER SPRACHEIn diesem Abschnitt werden die Komponenten der Sprache PDL2 beschrieben.

ZEICHENSATZPDL2 erkennt die in der Tabelle 1-1 aufgelisteten Zeichen. Tabelle 1-1 PDL2 Zeichensatz Buchstaben: Zahlen: Symbole: Sonderzeichen: a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 @ < > = / * + - _ , ; . # $ [] % {} \ : ! () blank (space), tab

PDL2 unterscheidet nicht zwischen Gro- und Kleinbuchstaben.

RESERVIERTE WRTER, SYMBOLE UND OPERATIONSZEICHENEs handelt sich um Wrter, Symbole und Operationszeichen, die eine festgelegte, besondere Bedeutung in der Umgebung von PDL2 haben. Die Wrter identifizieren die Abschnitte eines Programms, die Klassen der Daten und die Schlsselwrter einer Anweisung, whrend die Symbole normalerweise eine Anweisung hervorheben. Die Operationszeichen bedeuten eine Berechnung oder einen Vergleich. Die Tabelle 1-2 enthlt die Liste der belegten Wrter, Symbole und der Operationszeichen.

VORBESETZTE IDENTIFIZIERERDie vorbesetzten Identifizierer sind der verbleibende Teil der zur Sprache PDL2 gehrenden Wrter. Sie werden zur Identifizierung von Konstanten, Variablen, Feldern und Routinen verwendet, die PDL2 schon beinhaltet. Vorbesetzte Identifizierer unterscheiden sich von reservierten Wrtern dadurch, da die Bedeutung eines vorbesetzten Identifizierers von einem Programmierer gendert werden kann.

1-2

00/1200

PDL2

EINFHRUNG IN DIE SPRACHE PDL2

Vorbesetzte Konstanten sind Identifizierer, denen vorherbestimmte Werte zugeordnet werden. Innerhalb eines Programms ist es mglich, die Identifizierer einer vorbesetzten Konstante anstelle eines Wertes zu verwenden. Die vorbesetzten Konstanten sind in der Tabelle 1-3 aufgelistet. Tabelle 1-2 Reservierte Wrter, Symbole und Operationszeichen ABOUT ALARM ANY AT BEGIN CASE CURRENT DELAY DIV ELSE ENDCONDITION ENDNODEDEF ENDWHILE EXIT FOR HOLD INTERRUPT MOVE NODEDEF NOT OR PLC PROGRAM READ RELAX ROL SEGMENT SHR STEP SYNCMOVEFLY TIL UNLOCK VECTOR WHILE XOR { < * . := += ACTIVATE ALL ANYERROR ATTACH BOOLEAN CLOSE CYCLE DETACH DO ENABLE ENDFOR ENDOPEN ERRORCLASS EXPORTED FROM IF JOINTPOS MOVEFLY NODISABLE NOTEACH PATH POSITION PROG_ARM REAL REPEAT ROR SELECT SIGNAL STOP SYS_VAR_GET TIME UNPAUSE VIA WINDOW XTNDPOS } > = / .. ; -= ADVANCE ALONG ARM AWAY BY CONDITION DEACTIVATE DISABLE DOWNTO ENCODE ENDIF ENDRECORD ERRORNUM EZ GOTO IN LOCK NEAR NOHOLD OF PAUSE POWERUP PULSE RECORD RESUME ROUTINE SEMAPHORE STACK STRING SYS_VAR_SET TO UNTIL WAIT WITH [ ( = , :: @

00/1200

1-3

EINFHRUNG IN DIE SPRACHE PDL2 Tabelle 1-3 Vorbesetzte Konstanten AC_ABORT CIRCULAR COM_BD1200 COM_BD19200 COM_CHAR COM_PAR_ODD COM_STOP1 COM_XSYNC_NO EC_ELOG EC_PLC EC_SYS_C FALSE FLY_CONST FLY_PASS JOINT LUN_TP MMUX_B NOSETTLE PDV_TP SCRN_CLR_CHR SCRN_SYS SPD_AUX2 SPD_ELV SPD_ROLL SPD_THIRD STR_TRIM UFRAME WIN_BLUE WIN_CLR_BOLN WIN_CLR_LINE WIN_GREEN WIN_SCROLL WRIST_JNT AC_CALL_CRT COARSE COM_BD2400 COM_BD38400 COM_CHARNO COM_PASAL COM_STOP1_5 EC_BYPASS EC_FILE EC_PROG EC_TRAP FINE FLY_FROM FLY_TOL LINEAR MAXINT MMUX_OFF OFF RPY_WORLD SCRN_CLR_DEL SCRN_USER SPD_AUX3 SPD_FIRST SPD_ROT STR_COLL STR_UPR WIN_BLACK WIN_BOLD_OFF WIN_CLR_BOW WIN_CRSR_OFF WIN_MAGENTA WIN_WHITE AC_CALL_TP COM_BD110 COM_BD4800 COM_BIT7 COM_PAR_EVEN COM_RDAHD COM_STOP2 EC_COND EC_MATH EC_RLL EC_USER FLY_AUTO FLY_HIGH JNT_COARSE LUN_CRT MININT MMUX_ON ON RS_TRAJ SCRN_CLR_REM SEG_VIA SPD_AZI SPD_JNT SPD_SECOND STR_COMP TOOL WIN_BLINK_OFF WIN_BOLD_ON WIN_CLR_EOLN WIN_CRSR_ON WIN_RED WIN_WRAP BASE COM_BD300 COM_BD9600 COM_BIT8 COM_PAR_NO COM_RDHD_NO COM_XSYNC EC_DISP EC_PIO EC_SYS EUL_WORLD FLY_CART FLY_NORM JNT_FINE LUN_NULL MMUX_A MMUX_SET PDV_CRT RS_WORLD SCRN_EDIT SPD_AUX1 SPD_CONST SPD_LIN SPD_SPN STR_LWR TRUE WIN_BLINK_ON WIN_CLR_ALL WIN_CLR_EOW WIN_CYAN WIN_REVERSE WIN_YELLOW

PDL2

Vorbesetzte Variablen haben vorherbestimmte Klassen und Anwendungsflle. Zu Beginn jeder dieser Variablen steht das Dollarzeichen ($). Das Kapitel "Liste der vorbesetzten Variablen" enthlt eine alphabetisch geordnete Liste der vorbesetzten Variablen. Die vorbesetzten Felder ermglichen den Zugang zu den einzelnen Komponenten der Klassen von strukturierten Daten. Jedes einzelne Feld wird im Kapitel "Darstellung der Daten" unter der entsprechenden Datenklasse beschrieben. Die vorbesetzten Routinen, auch interne Routinen genannt (built-inroutines), werden fr die Abarbeitung von Programmieraufgaben verwendet, die hufig gebraucht werden. Das Kapitel "Liste der Internen Routinen" enthlt eine alphabetisch geordnete Liste der vorbesetzten Routinen.

VOM ANWENDER DEFINIERTE IDENTIFIZIERERDie vom Anwender definierte Identifizierer sind Namen, die der Programmierer zur Bezeichnung folgender Einheiten whlt: 1-4 Programme; Variablen; Konstanten; Routinen; Etiketten; Klassen; Felder. 00/1200

PDL2

EINFHRUNG IN DIE SPRACHE PDL2

Ein vom Anwender definierter Identifizierer mu mit einem Buchstaben beginnen. Er kann dann eine beliebige Anzahl von Buchstaben, Zahlen und Unterstreichungszeichen (_) enthalten. Diese Art von Identifizierer kann nur innerhalb des Kontextes, in dem sie verwendet wird, eine Bedeutung haben. Der Kontext eines Indentifizierers bezeichnet den Abschnitt eines Programms, der zur Referenz fr einen Identifizierer benutzt werden kann. Die Identifizierer des Programms sind in einem anderen Bereich enthalten und erlauben dem Programmierer damit, eine Variable mit demselben Namen wie dem eines Programms zu definieren. Die Programmidentifizierer, die auch zur Bezeichnung der Datei, in der das Programm gespeichert ist, verwendet werden, drfen nicht lnger als acht Zeichen sein. Eine vom Anwender definierte Variable besteht aus einem Namen, der irgendeinen Wert einer besonderen Klasse darstellen kann. Zur Vereinbarung einer Variablen ordnet der Programmierer einer Datenklasse einen Namen zu. Dieser Name kann dann innerhalb des Programms zur Darstellung irgendeines Wertes dieser Klasse verwendet werden. Eine vom Anwender definierte Konstante besteht aus einem Namen, der einen spezifischen Wert darstellt. Zur Vereinbarung einer Konstanten ordnet der Programmierer einem Wert einen Namen an. Dieser Name kann dann innerhalb des Programms zur Darstellung des Wertes benutzt werden. Im Kapitel "Darstellung der Daten" sind die verschiedenen Arten beschrieben, wie Variablen und Konstanten deklariert werden. Eine vom Anwender definierte Routine besteht aus einer Gruppe von Anweisungen, die durch einen einzigen Namen dargestellt werden. Der Programmierer kann Routinen fr die Verwaltung von spezifischen Teilen einer Gesamtarbeit definieren, und ihre Namen knnen innerhalb des Programms verwendet werden, um die Ausfhrungsanweisungen darzustellen. Im Kapitel "Die Routinen" werden die vom Anwender definierten Routinen beschrieben. Die vom Anwender definierten Etiketten werden verwendet, um das Ziel einer GOTO-Anweisung anzugeben. Die Benutzung der Etiketten und der GOTO-Anweisungen wird im Kapitel "Ausfhrungsuntersttzung" beschrieben. Die Felder und die benutzerdefinierten Klassen sind noch nicht implementiert. Eine vom Anwender definierte Klasse besteht aus einer Gruppe von Feldbegrenzungen, die durch nur einen Namen dargestellt werden. Der Programmierer kann eine Klasse deklarieren, um eine neue Datenklasse zu definieren, die aus einer Sequenz von Klassen vorhandener Daten besteht. Der Name der Klasse kann in der Vereinbarung einer Variablen oder Routine verwendet werden. Im Kapitel "Darstellung der Daten" werden die verschiedenen Arten der Vereinbarungen fr Klassen und Felder beschrieben.

ANWEISUNGENDie PDL2-Programme bestehen aus Anweisungen, die sich aus den folgenden Elementen zusammensetzten: Wrter, Symbole und reservierte Operationszeichen; vorbesetzte Identifizierer; vom Anwender definierte Identifizierer.

Die Syntax der Anweisungen mu korrekt sein; die Anweisungen mssen nach den PDL2 Syntaxregeln aufgebaut werden, und dazu gibt der Editor im Programm eine gute Hilfestellung whrend der Eingabe. Das Kapitel "Liste der Anweisungen" enthlt eine alphabetisch geordnete Liste fr die PDL2 Anweisungen.

LEERZEICHENLeerzeichen werden dazu verwendet, Wrter und reservierte Identifizierer zu trennen. Auch wenn es nicht notwendig ist, knnen diese Leerzeichen zwischen Operationszeichen und die entsprechenden Operanden (a + b oder a+b) gesetzt werden, oder sie werden dazu verwendet, die Anweisungen etwas eingerckt zu schreiben. Auf jeden Fall fgt der Editor automatisch Leerzeichen ein und erzeugt so die Standard-Einrckungen, unabhngig von denen, die der Programmierer eingibt.

KOMMENTAREUnter Kommentar versteht man einen Textteil innerhalb eines Programms, der nichts mit den Anweisungen in diesem Programm zu tun hat. Diese Kommentare beeinflussen nicht, wie die Steuereinheit die Anweisungen ausfhrt; sie beginnen immer mit zwei Trennstrichen (). Die Steuereinheit ignoriert den Text, der den beiden Trennstrichen folgt, bis eine Maximallnge von 225 Zeichen. Im allgemeinen werden Kommentare vom Programmierer dazu verwendet, bestimmte Programmpunkte zu erklren.

00/1200

1-5

EINFHRUNG IN DIE SPRACHE PDL2

PDL2

PROGRAMMSTRUKTURDie Struktur des Programms ist folgende: PROGRAM name BEGIN END name Das Programm beginnt mit der Anweisung PROGRAM, die das Programm mit einem name identifiziert, der vom Anwender definiert wurde. Dieser Name identifiziert auch die Datei, in der das Programm gespeichert wird. Es ist mglich, die optionalen Attribute des Programms mit einzubeziehen, die zusammen mit der PROGRAM Anweisung im Kapitel "Liste der Anweisungen" beschrieben werden. Die Programme sind in einen Abschnitt fr die Vereinbarungen und einen fr die Ausfhrung unterteilt. Der Vereinbarungsabschnitt besteht aus einer Liste aller Routinen und aller Datenkategorien, die in dem Programm verwendet werden, whrend der Ausfhrungsabschnitt eine Liste der Anweisungen enthlt, die die Steuereinheit ausfhren mu, um einen Task abzuarbeiten. Die beiden Abschnitte, der fr die Vereinbarungen und der fr die Ausfhrung, werden durch die BEGIN Anweisung getrennt. Dieser Anweisung kann der Programmierer die Option CYCLE zuordnen, so da ein kontinuierlicher Zyklus erstellt wird. Die END Anweisung gibt das Ende des Programms an und enthlt auch den Namen des Programms. In diesem Handbuch werden die vorbesetzten Wrter und Identifizierer in Blockbuchstaben geschrieben, die vom Anwender definierten Identifizierer werden kursiv gedruckt, und die Optionen sind in spitze Klammern gesetzt. Am Ende dieses Kapitels wird eine komplette Beschreibung der Syntax gegeben.

PROGRAMMBEISPIELDas folgende PDL2 Programm ldt Teile von einem Transportband auf eine der beiden Stationen um, wie die Abbildung 1-1 zeigt. Die digitalen Eingangssignale geben an, wann das Transportband bereit ist und auf welcher Station das Teil abgelegt werden soll. PROGRAM pack VAR perch, feeder, table, discard : POSITION BEGIN CYCLE MOVE TO perch OPEN HAND 1 WAIT FOR $DIN[1] = ON -- Signal "Transportband bereit" MOVE TO feeder CLOSE HAND 1 IF $DIN[2] = OFF THEN -- bestimmt, ob das Teil gut ist MOVE TO table ELSE MOVE TO discard ENDIF OPEN HAND 1 -- legt das Teil auf den Tisch oder in den Ausschubehlter END pack

1-6

00/1200

PDL2

EINFHRUNG IN DIE SPRACHE PDL2

Ausschubehlter

Transportband

Tisch

Abb. 1-1 Arbeitsumgebung des Pack Programs

MASSEINHEITENPDL2 verwendet die in der Tabelle 1-4 angegebenen Maeinheiten. Tabelle 1-4 PDL2 Maeinheiten Entfernung: Zeit: Winke: Lineargeschwindigkeit: Winkelgeschwindigkeit: Strom: Resolverdaten: Millimeters(mm) Millisekunden (msec) Grad () Meter/Sekunde (m/s) Radianten/Sekunde (Rad/S) Ampere (A) Bit/Tick (10 msec)

00/1200

1-7

EINFHRUNG IN DIE SPRACHE PDL2

PDL2

Diese Seite wurde absichtlich leer gelassen

1-8

00/1200

PDL2EINFHRUNG IN DIE SPRACHE PDL2

Handbuch fr Programmiersprache

1

DARSTELLUNG DER DATENBEWEGUNGSSTEUERUNG SERIELLE EIN-/AUSGABEN MATRIZEN FR EIN-/AUSGABEPORTS AUSFHRUNGSSTEUERUNG ROUTINEN BEDINGUNGSHANDLER SPS FUNKTIONEN LISTE DER ANWEISUNGEN LISTE DER INTERNEN ROUTINEN LISTE DER VORBESETZTEN VARIABLEN Anhang A: ZEICHENSTZE Anhang B: SYNTAX-DIAGRAMME Anhang C: PROGRAMMBEISPIELE Anhang D: WIEDERANLAUF NACH STROMAUSFALL INDEX

23 4 5 6 7 8 9 10 11 12 A B C D Index

INHALTAbschnitt Seite

DATENKLASSEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 INTEGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 REAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 BOOLEAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 STRING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 ARRAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 RECORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 VECTOR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 POSITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 BEZUGSSYSTEME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 JOINTPOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 XTNDPOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 NODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 SEMAPHORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 VEREINBARUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 VEREINBARUNG VON KONSTANTEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 VEREINBARUNG VON KLASSEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10

DARSTELLUNG DER DATEN

Handbuch fr Programmiersprache

PDL2

INHALT (Fortsetzung)Abschnitt VEREINBARUNG VON VARIABLEN . . . . . . . . . . . . . GEMEINSAM BENUTZTE VARIABLEN UND ROUTINEN. AUSDRCKE . . . . . . . . . . . . . . . . . . . . . . . . . . . ARITHMETISCHE OPERATIONEN . . . . . . . . . . . . . . VERGLEICHSOPERATIONEN . . . . . . . . . . . . . . . . LOGISCHE OPERATIONEN. . . . . . . . . . . . . . . . . . OPERATIONEN AUF BIT-BASIS . . . . . . . . . . . . . . . VEKTOROPERATIONEN . . . . . . . . . . . . . . . . . . . POSITIONSOPERATIONEN. . . . . . . . . . . . . . . . . . KONVERSION VON DATENKLASSEN . . . . . . . . . . . . VORRANG DER OPERATOREN . . . . . . . . . . . . . . . ZUWEISUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . TYPISIERUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Seite 2-12 2-13 2-14 2-15 2-16 2-16 2-16 2-18 2-18 2-18 2-18 2-19 2-20

PDL2

DARSTELLUNG DER DATEN

DARSTELLUNG DER DATENIn diesem Kapitel werden die verschiedenen Klassen beschrieben, denen ein Datenelement eines PDL2 Programms angehren kann sowie die Art, in der die Daten deklariert und verwaltet werden. Die Zugehrigkeitsklasse der Daten definiert: die Typen von Werten, die einem Datenelement zugeordnet werden knnen, unter Bercksichtigung ihrer Zugehrigkeitskategorie; die Operationen, die mit einem Datenelement durchgefhrt werden knnen.

In PDL2 werden die folgenden Datenklassen definiert: INTEGER REAL BOOLEAN STRING ARRAY RECORD NODE PDL2 Programme knnen die folgenden Arten von Datenklassen enthalten: variables (Variablen): sie stellen Werte dar, die sich ndern knnen; constants (Konstanten): sie stellen unvernderliche Werte dar; literals (Literale): sie stellen die Istwerte dar. VECTOR POSITION JOINTPOS XTNDPOS PATH SEMAPHORE

Die Variablen werden vereinbart, indem dem Datenidentifizierer (der dem Datenelement zugeordnete Name) ihre Zugehrigkeitsklasse zugeordnet wird. Dem Identifizierer einer Variablen kann whrend des gesamten Programms ein beliebiger Wert zugeordnet werden, wenn er zu der gleichen Klasse gehrt. Jede Datenklasse kann zur "Variablen" erklrt werden (d.h. der Kategorie der Variablen zugehrig). Die Vereinbarung einer Konstanten erfolgt, indem dem Identifizierer des Datenelements, der die entsprechende Zugehrigkeitsklasse bestimmt, ein Wert zugeordnet wird. Dieser Wert kann innerhalb des Programms nicht gendert werden. Dem Identifizierer einer Konstanten knnen nur Werte zugeordnet werden, die zu den Klassen INTEGER, REAL, BOOLEAN und STRING gehren. Literale Werte sind Istwerte, die innerhalb des Programms verwendet werden; sie mssen zu einer der folgenden Klassen gehren: INTEGER, REAL oder STRING. PDL2 verwendet Ausdrcke fr die Behandlung der Daten eines Programms. Diese Ausdrcke bestehen aus Operanden und Operatoren. Die Operanden bestehen aus Daten, die verarbeitet werden, whrend die Operatoren die Art der Verarbeitung angeben, die ausgefhrt werden soll.

DATENKLASSENDieser Abschnitt beschreibt die verschiedenen in PDL2 definierten Datenklassen und listet die Operationen auf, die mit ihnen durchgefhrt werden knnen.

INTEGERDie Datenklasse INTEGER stellt ganze numerische Werte dar, die zwischen -2147483647 und +2147483647 liegen. Die folgenden vorbesetzten Konstanten stellen jeweils die INTEGER Werte fr Max. und min. dar: MAXINT; MININT.

00/1200

2-1

DARSTELLUNG DER DATEN

PDL2

Eine INTEGER kann als Dezimalzahl (Basis 10), Oktalzahl (Basis 8), Hexadezimalzahl (Basis 16) oder Binrzahl (Basis 2) dargestellt werden. Die Standardbasis fr eine INTEGER ist 10 (Dezimalzahl). Um ein INTEGER Literal mit einer anderen Basis anzugeben, wird 0o (Oktalzahl, z.B. 0o72), 0x (Hexadezimalzahl, z.B. 0xFF) oder 0b (Binrzahl, z.B. 0b11011) vor die Zahl gesetzt. In PDL2 knnen mit INTEGER Werten folgende Operationen durchgefhrt werden: Arithmetik (+, -, *, /, DIV, MOD, **, +=, -=); Vergleich (, =, , =); Bitoperationen (AND, OR, XOR, NOT, SHR, SHL, ROR, ROL).

Die Operatoren += und -= werden benutzt, um ganzzahlige Programmvariablen zu inkrementieren bzw. zu dekrementieren. Sie knnen nicht auf Systemvariable angewendet werden. Der Inkrementalwert kann als eine Konstante oder eine andere Ganzzahlvariable ausgedrckt werden. Zum Beispiel: VAR i, j: INTEGER i += 5 -- entspricht i:=i+5 i -= j -- entspricht i:=i-j Dieser Operator kann auch in Bedingungsaktionen benutzt werden. Zur Laufzeit nimmt eine PDL2 INTEGER Variable den Wert "nicht initialisiert" an, wenn sie grer wird als MAXINIT. Auerdem gibt es in PDL2 Systemroutinen zum Zugriff auf die einzelnen Bits eines INTEGER Werts und fr andere allgemeine INTEGER Funktionen (siehe das Kapitel "Liste der internen Routinen").

REALDie Datenklasse REAL stellt numerische Werte mit Komma und einem Dezimalteil dar oder Zahlen in wissenschaftlicher Notation. Die Abbildung 2-1 zeigt die Palette der mglichen REAL-Daten.

-3.4028236E+38 -1.175494E-38 0 1.175494E-38 3.4028236E+38 (max negative) (min negativer Wert) (Grter positiver Wert) (Kleinster positiver Wert) (min positive) (max positive) (Grter negativer Wert) (Kleinsternegative)Abb. 2-1 Bereich der REAL-Daten PDL2 kann mit Daten der Klasse REAL die folgenden Operationen durchfhren: Arithmetik (+, -, *, /, **); Vergleich (, =, , =).

Auerdem stellt PDL2 Systemroutinen zur Verfgung, mit denen andere allgemeine REAL Funktionen ausgefhrt werden knnen (siehe das Kapitel "Liste der internen Routinen"). Die in PDL2 Programmen benutzten REAL Werte werden immer mit den acht signifikantesten Ziffern dargestellt.

BOOLEANDie Datenklasse BOOLEAN hat die vorbesetzten booleschen Konstanten TRUE (ON) und FALSE (OFF). PDL2 kann mit Daten der Klasse BOOLEAN die folgenden Operationen durchfhren: Vergleich (=, ); Logische Verknpfung (AND, OR, XOR, NOT).

2-2

00/1200

PDL2

DARSTELLUNG DER DATEN

STRINGDie Datenklasse STRING stellt eine Folge von ASCII-Zeichen dar, die als eine einzelne Datengruppe betrachtet werden. Ein Apostroph bezeichnet den Anfang und das Ende eines Strings; zum Beispiel: Wert des Strings Auer den ausdruckbaren ASCII-Zeichen enthalten die Strings auch Kontrollsequenzen. Eine Steuersequenz besteht aus einem negativen Schrgstrich (\) gefolgt von einem beliebigen dreistelligen ASCII-Code. Zum Beispiel: Literal: der ASCII-Code 126 ist' eine Tilde \126 Wert: der ASCII-Code 126 ist eine Tilde: ~ Die nicht ausdruckbaren Zeichen in einer STRING, die nicht unter og. Format dargestellt sind, werden als Leerstellen ausgedruckt. Beim Arbeiten in PROGRAM EDIT oder MEMORY DEBUG werden Steuersequenzen fr druckbare Zeichen in dem entsprechenden druckbaren Zeichen ausgegeben. Um die Zeichen fr einen negativen Schrgstrich (\) oder Apostroph (') in einem STRING Literal zu erhalten, mssen zwei hintereinander gesetzt werden. Zum Beispiel: Literal: Apostroph Wert: Apostroph Der Programmierer mu die Lnge eines STRINGs von min. 1 bis zu einem max. Wert von 254 Zeichen deklarieren. Die tatschliche Lnge des STRING Wertes jedoch geht von 0 bis 254 Zeichen. Eine Lnge 0 bedeutet, da der STRING leer ist. PDL2 kann mit den Daten der Klasse STRING die folgenden Operationen ausfhren: Vergleich (, =, , =)

Auerdem liefert PDL2 interne Routinen fr die Verwaltung gemeinsam benutzter STRING (siehe Kapitel "Liste der internen Routinen").

ARRAYDie Datenklasse ARRAY (Matrix) stellt eine geordnete Menge von Daten dar, die alle zu derselben Klasse gehren. Der Programmierer kann eine der folgenden Klassen deklarieren: INTEGER REAL BOOLEAN STRING RECORD VECTOR POSITION JOINTPOS XTNDPOS SEMAPHORE

Der Programmierer mu die Dimension (eine oder zwei) jeder ARRAY (Matrix) und die max. Datenanzahl pro Dimension (bis max. 65.535) deklarieren. (Achtung: die tatschliche Dimension knnte allerdings auch durch den im System verfgbaren Speicherplatz begrenzt sein).1 column a rra 1 Spaltige Matrix y [1 ] [2 ] [ 3 ] p a r t s [3 ] [4 ] 2 r o mit o l u m und a y Matrix w , 32cZeilenn a r r3 Spalten [1 ] [2 ] [1 ] [2 ]b i n [2 , 3 ]

[3 ]

Abb. 2-2 Beispiele fr ARRAY Die Daten eines ARRAY werden durch eine Bezugszahl gekennzeichnet, die Indexzahl genannt wird. Fr eindimensionale ARRAYs stellt ein INTEGER Ausdruck die Position dar, die die Daten auf einer Zeile innerhalb des ARRAY einnehmen. Bei einem zweidimensionalen ARRAY stellen zwei INTEGER Ausdrcke, durch ein Komma getrennt, die Position der Zeilen und der Spalten dar. Die Indexzahlen folgen dem Namen des ARRAY und stehen in eckigen Klammern. 00/1200 2-3

DARSTELLUNG DER DATEN

PDL2

Im Beispiel der Abbildung 2-2 wurde das dritte Element der eindimensionalen Matrix (ARRAY) parts[3] genannt. Das Element in der zweiten Zeile und dritten Spalte der zweidimensionalen Matrix wurde bin[2,3] genannt. Alle Operationen, die mit einer besonderen Datenklasse mglich sind, knnen auch mit einzelnen Matrixelementen, die der gleichen Klasse angehren, durchgefhrt werden. Eine ganze Matrix (ARRAY) kann als Argument im Aufruf zu einer Routine verwendet oder in einer Zuweisung benutzt werden. Im letzteren Fall mssen beide Matrizen der gleichen Datenklasse angehren und gleiches Format und gleiche Dimension haben. SEMAPHORE Matrizen knnen nicht in Zuweisungen benutzt werden.

RECORDDie RECORD Datenklasse besteht aus einer oder mehr Kategorien, die einen einzigen Namen verwenden. Jede Kategorie, die zu einem Record gehrt, wird Feld genannt und kann aus einer beliebigen PDL2 Datenklasse mit Ausnahme von SEMAPHORE, RECORD, NODE oder PATH bestehen. Die vorbesetzten Datenklassen VECTOR, POSITION und XTNDPOS sind Beispiele fr Record-Datenklassen. Der Anwender kann neue Record-Datenklassen in dem TYPE Abschnitt eines Programms definieren. Die RECORD Datenklasse erzeugt eine vom Anwender definierte Datenklasse, die fr das gesamte System global ist. Das bedeutet, da Konflikte zwischen den RECORD Datenklassen entstehen, die den gleichen Namen, aber verschiedene Felder haben. Diese Bedingung wird whrend des Ladens der Programme ermittelt. Fr den Programmierer ist es also ratsam, ein einheitliches Schema fr die Bezeichnung der RECORD Datenklassen zu verwenden. Der Programmierer kann die notwendige Anzahl an Feldern definieren, die in einem RECORD enthalten sein sollen, mu aber beachten, da die maximale Gre eines Record-Wertes 65.535 Bytes betrgt. Die einzelnen Felder eines RECORDs knnen daran erkannt werden, da ein Punkt den Namen der Variablen des Records vom Namen des Feldes trennt. Diese Methode nennt sich: Feldnotation. Zum Beispiel: rec_var.field_name := exp Alle fr eine bestimmte Datenklasse mglichen Operationen knnen auch mit den einzelnen Feldern durchgefhrt werden, die zu dieser Klasse gehren. Es ist mglich, einen ganzen RECORD als Argument fr den Aufruf einer Routine oder in einer Zuweisung zu verwenden. Im letzteren Fall mssen beide Records der gleichen RECORD Datenklasse angehren.

VECTORDie Datenklasse VECTOR stellt eine Gre dar und gibt sowohl deren Dimension, als auch deren Lnge an. Sie besteht aus drei REAL Komponenten. Die Vektoren stellen normalerweise eine Position oder eine Richtung im kartesischen Raum dar, und die Komponenten entsprechen den Koordinaten x, y und z. Die Abbildung 2-3 zeigt das Beispiel eines Vektors. PDL2 kann mit den Daten der Klasse VECTOR die folgenden Operationen durchfhren: Arithmetik (+, -); Arithmetik (*, /) VECTOR-INTEGER, VECTOR-REAL, und umgekehrt; Vergleich (=, ); Vektor (#, @).

Wenn mit den einzelnen VECTOR Komponenten operiert werden soll, mssen die vorbesetzten Feldnotationen ( X, Y, und Z) verwendet werden. Zum Beispiel: vec_var.X := 0.65Z-axis Z-Achse (X, Y, Z)

Y- a x i s Y-Achse

X-axis X-Achse

Abb. 2-3 Beispiel VECTOR Mit der interne Routine VEC kann auf diese Komponenten zugegriffen werden. 2-4 00/1200

PDL2

DARSTELLUNG DER DATEN

POSITIONDie POSITION Datenklasse wird zur Beschreibung der Position eines kartesischen Bezugssystems in Verhltnis zu einem anderen (als Ausgangsbezugssystem bezeichneten) benutzt. Im allgemeinen wird eine Position verwendet, um den Endpunkt einer MOVE Anweisung, d.h. die Position, die das Werkzeug am Armende im Anwenderbezugssystem erreicht, anzugeben. POSITIONen definieren auch die Systembezugssysteme, wie z.B. die Position der Roboterbasis ($BASE), die Dimensionen der Werkzeuge am Armende ($TOOL) und das Anwenderbezugssystem, das sich auf das Werkstck bezieht ($UFRAME) (siehe den Abschnitt "Bezugssysteme" in diesem Kapitel mit einer allgemeinen Definition von Bezugssystemen). Die POSITION definiert nicht nur einen Punkt, sondern auch eine Richtung und - nur fr die Endpunkte - die Roboterkonfiguration. Daher besteht die POSITION Datenklasse aus drei REAL Ortskomponenten, drei REAL Richtungskomponenten und einem STRING mit den Konfigurationskomponenten. Die Ortskomponenten sind Abstnde vom Ausgangsbezugssystem lngs der X-, Y- und Z-Achse. Wie bei Vektoren kann auf die X-, Y- und Z-Komponenten durch Verwenden der vorbesetzten Felder X, Y und Z verwiesen werden. Die Richtungskomponenten stellen die drei Drehwinkel (Euler'sche Winkel) in Grad dar. Sie erlauben eine eindeutige Definition der Ausrichtung des Endbezugssytems durch drei aufeinanderfolgende Drehungen des Ausgangsbezugssystems. Die erste Drehung (Euler'scher Winkel E1) erfolgt um die Z-Achse des Ausgangsbezugssystems, die zweite (Euler'scher Winkel E2) erfolg um die Y-Achse des resultierenden Systems und die dritte (Euler'scher Winkel E3) um die Z-Achse des nun entstandenen Systems. Die Grenzen fr den ersten und dritten Euler'schen Winkel sind -180 und +180, der zweite ist immer positiv zwischen 0 und 180. Abb. 2-4 zeigt ein Beispiel einer POSITION zur Beschreibung des Endpunkts einer MOVE Anweisung. Das System errechnet die Euler'schen Winkel bei Lernprogrammieren von Endpunkten automatisch, so dass sie i.A. nicht explizit im Programm zugewiesen werden. Wenn POSITION zur Definition des Endpunkts einer MOVE Anweisung benutzt wird, ist die Konfigurationskomponente ntig, die den eindeutigen Satz der Winkel der Robotergelenke darstellt, der den TCP auf diese Position bringt. Der Satz mglicher Komponenten hngt von der Roboterfamilie ab. Der Konfigurationsstring wird automatisch zugewiesen, wenn der Endpunkt lernprogrammiert wird, so dass er i.A. nicht explizit im Programm zugewiesen wird. Der Konfigurationsstring kann zwei Arten von Daten enthalten: Einstellungsmarken und Umdrehungsmarken. Fr die Einstellungsmarken werden im Konfigurationsstring folgende Buchstaben benutzt: S, E, W, A und B. Einige dieser Marken sind bei einigen Roboterarmen ungltig. Der ganze Satz wird nur bei der SMART Familie benutzt. Die Familien MAST, SCARA und Cylindric benutzen Untermengen dieser Komponenten. Die Armkonfigurationen von Schulter, Ellbogen und Handgelenk werden durch die Buchstaben S, E und W dargestellt. Das folgende ist z.B. die Beschreibung der Einstellungsmarken bei SMART Robotern: S, wenn im Konfigurationsstring vorhanden, zeigt an, dass der Roboter den Endpunkt mit dem WCP (Wrist Center Point - Handgelenk-Mittelpunkt) im Raum hinter der von der ersten und zweiten Achse aufgespannten Flche erreichen muss; E, wenn vorhanden, zeigt an, dass der Roboter den Endpunkt mit einem positiven Wert der dritten Achse erreichen muss; W, wenn vorhanden, zeigt an, dass der Roboter den Endpunkt mit einem negativen Wert der fnften Achse erreichen muss.

Die Buchstaben A und B sind die Konfigurationsmarken fr die Gelenkbewegungen des Handgelenks (das sind kartesische Bahnen mit $ORNT_TYPE=WRIST_JNT). Diese Marken werden bei Nichthandgelenkbewegungen ignoriert, genauso wie die Marken S, E und W bei Gelenkbewegungen des Handgelenks ignoriert werden. Das folgende sind die Bedeutungen der Einstellungsmarken bei SMART Robotern: A, wenn vorhanden, zeigt an, dass der Roboter den Endpunkt mit dem TCP (Tool Center Point - Werkzeug-Mittelpunkt) im Raum hinter der von der zweiten und dritten Achse aufgespannten Flche erreichen muss; B, wenn vorhanden, zeigt an, dass der Roboter den Endpunkt mit dem TCP im Raum hinter der von der ersten und zweiten Achse aufgespannten Flche erreichen muss.

Die Umdrehungsmarken sind ntzlich bei Roboterachsen, die sich mehrfach um sich selbst drehen knnen. Diese Roboter knnen die gleiche Position mit mehreren Achsenkonfigurationen erreichen, die sich die Zahl der Achsenumdrehungen (360) unterscheiden. Es gibt 4 Umdrehungsmarken: T1, T2, T3, T4. Die Syntax im Konfigurationsstring ist Ta:b, wo a der Markercode (1 bis 4) und b die Anzahl von Umdrehungen (-8 bis +7) ist. 00/1200 2-5

DARSTELLUNG DER DATEN Die Verknpfung von Markername und Achse ist in der folgenden Tabelle angegeben: Tabelle 2-1 Verknpfung von Markennamen und Achsen fr verschiedene Roboter NORMALKONFIGURATION AUSNAHMEN SMART 4.75 P Umdrehungsmarke T1 T2 T3 T4 Roboterachse ax 4 ax 6 ax 3 ax 5 Roboterachse ax 4 ax 6 ax 1 ax 2 SMART 7.40 P SMART 7.16 P Roboterachse ax 4 ax 6 ax 1 ax 5

PDL2

Im Konfigurationsstring kann jede Kombination von S, E, W, A, N und Ta:b verwendet werden, und zwar in beliebiger Reihenfolge. Das folgende ist ein Beispiel fr einen gltigen Konfigurationsstring. S E W A T1:1 T2:-1 T3:2Z PROGRAM postest VAR P0 BEGIN P0:= POS(100, 200, 150, 90, 150, 0, ) USER FRAME location Ortskomponenten components END postest YDie Ortskomponenten sind are drei The location components die Entfernungen des PO of P0 Ursprung the three distances vom with respect to the user frame (U) des Anwenderbezugssystems. origin (U).

Y tool

orientation Orientierungscomponents komponenten

100

U X tool 150

config. Konfigurierungscomponents komponenten

P0

Z tool 200

X Z E1 Y

The Euler angles are defined as follow. Die Eulerschen Winkel sind wie folgt definiert:

starting frame of reference Ausgangsbezugssystem vor der before the firs