Beruflich Dokumente
Kultur Dokumente
Programierhandbuch
Programierhandbuch
KR C...
Programmierhandbuch
1 von 4
e Copyright KUKA Roboter GmbH
Diese Dokumentation darf -- auch auszugsweise -- nur mit ausdrücklicher Genehmigung des Herausgebers vervielfältigt oder Dritten
zugänglich gemacht werden.
Es können weitere, in dieser Dokumentation nicht beschriebene Funktionen in der Steuerung lauffähig sein. Es besteht jedoch kein Anspruch
auf diese Funktionen bei Neulieferung bzw. im Servicefall.
Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard-- und Software geprüft. Dennoch können
Abweichungen nicht ausgeschlossen werden, so daß wir für die vollständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in
dieser Druckschrift werden jedoch regelmäßig überprüft, und notwendige Korrekturen sind in den nachfolgenden Auflagen enthalten.
Technische Änderungen ohne Beeinflussung der Funktion vorbehalten.
KUKA Interleaf
ÜbersichtPHR4.1.7 12.03.07 de
2 von 4
Inhalt
1 Einleitung
1. Vorwort
2. Lesehinweise
3. Serviceanfragen
2 Sicherheit
1. Haftungshinweis
2. Bestimmungsgemäße Verwendung
3. Sicherheitssymbole
4. Sicherheitsmaßnahmen
5. Sicherheitskennzeichnung
6. Planungs-- und Bauhinweise
7. Aufstellung, Betrieb, sonstige Arbeiten
8. EGB--Vorschriften
9. Angewandte Richtlinien und Normen
3 Bedienung
1. Steuerung hochfahren / herunterfahren
2. KCP, das KUKA Control Panel
3. Koordinatensysteme
4. Handverfahren des Roboters
5. Navigator
6. Programm ausführen, stoppen und zurücksetzen
7. Anzeigen
8. Menüstruktur
4 Inbetriebnahme
1. Roboterjustage / --dejustage
2. Vermessung
3. Vermessen externer Kinematiken
4. Robotername
ÜbersichtPHR4.1.7 12.03.07 de
3 von 4
Programmierhandbuch
5 Konfiguration
1. System konfigurieren
2. System konfigurieren Experte
3. Automatik Extern
6 Programmierung Anwender
1. Programmbearbeitung
2. Programmbefehle
7 Programmierung Experte
1. Allgemeines zu KRL--Programmen
2. Variablen und Vereinbarungen
3. Bewegungsprogrammierung
4. KRL--Assistent
5. Programmablaufkontrolle
6. Ein--/Ausgabeanweisungen
7. Unterprogramme und Funktionen
8. Interrupt--Behandlung
9. Trigger -- Bahnbezogene Schaltfunktionen
10. Datenlisten
11. Externer Editor
8 Zusatzfunktionen
1. Standardprogramme
9 Applikationen
10 Anhang
1. Glossar --> Siehe Bedienhandbuch
2. Historie Programmierhandbuch von V4.1.6 --> V4.1.7
3. Gesamtindex
ÜbersichtPHR4.1.7 12.03.07 de
4 von 4
PRODUKTDOKUMENTATION
Einleitung
RobsysEinleitung 11.04.00 de
1 von 16
e Copyright 2005
2 von 16
RobsysEinleitung 11.04.00 de
Inhaltsverzeichnis
2 Vorwort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Lesehinweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1 Sicherheitssymbole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Piktogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Textauszeichnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4 Querverweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Serviceanfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1 Gerätetyp und Seriennummer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 Software--Versionsnummern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3 Ihre Meinung ist uns wichtig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4 Servicestützpunkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
RobsysEinleitung 11.04.00 de
3 von 16
Einleitung
RobsysEinleitung 11.04.00 de
4 von 16
2 Vorwort
2 Vorwort
Die KUKA Robot Group Dokumentation unterstützt Sie bei folgenden Themen:
G Umgang mit den Produkten der KUKA Robot Group
G Umgang mit der Produktdokumentation
G Hilfe bei Serviceanfragen
RobsysEinleitung 11.04.00 de
5 von 16
Einleitung
3 Lesehinweise
Die Dokumentationen der KUKA Robot Group enthalten:
G Sicherheitssymbole
G Piktogramme
G Textauszeichnungen
3.1 Sicherheitssymbole
Textpassagen, die mit diesen Sicherheitssymbolen gekennzeichnet sind, dienen der
Sicherheit und müssen beachtet werden.
WARNUNG
Genaues Befolgen dieser Warnhinweise kann Personenschäden vermeiden.
ACHTUNG
Genaues Befolgen dieser Warnhinweise kann Sachschäden vermeiden.
RobsysEinleitung 11.04.00 de
6 von 16
3 Lesehinweise (Fortsetzung)
3.2 Piktogramme
Textpassagen, die mit den folgenden Piktogrammen gekennzeichnet sind, erleichtern den
Umgang mit dem Robotersystem.
HINWEIS
Kennzeichnet Besonderheiten, auf die aufmerksam gemacht werden soll.
Tip
Kennzeichnet Empfehlungen und Ratschläge zur Arbeitserleichterung.
Siehe auch
Kennzeichnet Abschnitte oder Kapitel mit weiteren Informationen und Erläuterungen.
Info
Kennzeichnet Abschnitte, die von besonderer Bedeutung sind oder dem besseren Ver-
ständnis dienen.
Beispiel
Kennzeichnet praktische Beispiele, die am Robotersystem umgesetzt werden können.
RobsysEinleitung 11.04.00 de
7 von 16
Einleitung
3.3 Textauszeichnungen
Schriftstil Bedeutung
Text in [eckigen Klammern] kennzeichnet Querverweise
Text in “Anführungszeichen” kennzeichnet Softkeys, Statuskeys, Tasten und
Felder (z. B. in Formularen)
Fettdruck kennzeichnet Besonderheiten
Serifenschrift kennzeichnet Auszüge aus Programmlistings
Kursivschrift erläutert Programmlistings
Serifenschrift fett bzw. kennzeichnet Bedienereinträge in Programmlistings
unterstrichen
3.4 Querverweise
Folgende Bezeichnungen für Querverweise werden in den Dokumenten verwendet:
G Handbuch (HB) verweist auf ein anderes Handbuch der Betriebsanleitung.
Beispiel: [HB: Roboter].
G Hauptkapitel (HK) verweist auf ein Hauptkapitel innerhalb eines Handbuchs.
Beispiel: [HK: Einleitung].
G Kapitel (Kap) verweist auf einen Teil eines Hauptkapitels.
Beispiel: [Kap: Lesehinweise].
G Abschnitt (Abschn) verweist auf einen Teil eines Kapitels.
Beispiel: [Abschn: Sicherheitssymbole].
...fordert zum Drücken einer Programmtaste (Menü-- oder Softkey) am KCP auf.
<Funktion>
Auf dem Display wird dabei die derzeit gültige Tastenfunktion angezeigt.
...fordert zum Drücken einer Menütaste (Menükey) und einer Untermenütaste am KCP auf.
RobsysEinleitung 11.04.00 de
8 von 16
4 Serviceanfragen
4 Serviceanfragen
Die Dokumentation der KUKA Robot Group bietet viele Informationen zu Betrieb und Bedie-
nung und unterstützt Sie bei der Behebung von Störungen.
Für weiterreichende Service--Anfragen steht Ihnen ihr zuständiger Service--Stützpunkt je-
derzeit zur Verfügung (siehe Abschnitt 3.4).
Störungen sollten Sie spätestens eine Stunde nach ihrem Auftreten dem zuständigen
Servicestützpunkt melden.
RobsysEinleitung 11.04.00 de
9 von 16
Einleitung
RobsysEinleitung 11.04.00 de
10 von 16
4 Serviceanfragen (Fortsetzung)
RobsysEinleitung 11.04.00 de
11 von 16
Einleitung
4.2 Software--Versionsnummern
Die Versionsnummern der Software werden am Display des KCP über den Menükey
“Hilfe/Info” angezeigt.
RobsysEinleitung 11.04.00 de
12 von 16
4 Serviceanfragen (Fortsetzung)
Bei Fragen zur Dokumentation (Anregungen, Korrekturen) senden Sie bitte die Anfrage an
eine der folgenden Adressen:
Fax: +49 821 797--1087
E--Mail: documentation@kuka--roboter.de
RobsysEinleitung 11.04.00 de
13 von 16
Einleitung
4.4 Servicestützpunkte
Argentina
Ruben Costantini S. A. (Agency) Tel.: +54--35 64 / 42 10 33
Luis Angel Huergo 13 20 Fax: +54--35 64 / 42 88 77
Parque Industrial E-- Mail: ventas@costantini--sa.com
2400 San Francisco (CBA), Argentina
Australia
Marand Precision Engineering Pty. Ltd (Agency) Tel.: +61--3 / 85 52 06 00
153 Keys Road Fax: +61--3 / 85 52 06 05
Moorabbin, Victoria 31 89 E-- Mail: robotics@marand.com.au
Australia
Austria
KUKA Roboter GmbH Tel.: +43--732 / 78 47 52
Vertriebsbüro Österreich Fax: +43--732 / 79 38 80
Regensburger Strasse 9/1 E-- Mail: office@kuka--roboter.at
A -- 4020 Linz Internet: http://www.kuka--roboter.at
Belgium
KUKA Automatisering + Robots N.V. Tel.: +32--11 / 51 61 60
Centrum Zuid 1031 Fax: +32--11 / 52 67 94
B -- 3530 Houthalen E-- Mail: info@kuka.be
Belgium Internet: http://www.kuka.be
Brazil
KUKA Roboter do Brasil Ltda. Tel.: +55--11 / 64 13 49 00
Rua Dom Feliciano no 63 Fax: +55--11 / 64 11 15 65
Cidade Satélite, Guarulhos E-- Mail: info@kuka--roboter.com.br
CEP 07224 240
São Paulo, SP Brasil
China
KUKA Automation Equipment Tel.: +86--21 / 58 66 51 39
(Shanghai) Co.,Ltd. Fax: +86--21 / 58 66 75 71
Part B, Ground Floor, No. 211, Fu te Road (North) E-- Mail: franz.poeckl@kuka--sha.com.cn
Waigaoqiao Free Trade Zone
Shanghai 200 131, China
France
KUKA Automatisme + Robotique SAS Tel.: +33--1 / 69 31 66 00
Techvallée Fax: +33--1 / 69 31 66 01
6, Avenue du Parc E-- Mail: commercial@kuka.fr
F -- 91140 Villebon s/Yvette Internet: http://www.kuka.fr
RobsysEinleitung 11.04.00 de
14 von 16
4 Serviceanfragen (Fortsetzung)
India
Sieflex Robotics (Agency) Tel.: +91 (44) / 624 14 12
54, Industrial Estate, Ambattur Fax: +91 (44) / 26 25 87 57
Madras -- 600 058 E-- Mail: sieflexrobotics@yahoo.com
India
Hungary
KUKA Robotics Hungaria Kft. Tel.: +36--24 / 50 16 09
2335 Taksony Fax: +36--24 / 47 70 31
Fö út 140 E-- Mail: info@kuka--robotics.hu
Italy
KUKA Roboter Italia S.p.A. Tel.: +39--0 11 / 959 50 13
Via Pavia 9/a -- int. 6 Fax: +39--0 11 / 959 51 41
I -- 10098 Rivoli (TO) E-- Mail: kuka@kuka.it
Internet: http://www.kuka.it
Korea
KUKA Robot Automation Korea, Co. Ltd. Tel.: +82--31 / 496--99 37
4 Ba 806 Sihwa Ind. Complex / 496--99 38
Sung--Gok Dong, Ansan City Fax: +82--31 / 496--99 39
Kyunggi Do, 425--110 Korea E-- Mail: info@kukakorea.com
Malaysia
KUKA Robot Automation Sdn Bhd Tel: +60--3 / 80 61--06 13
South East Asia Regional Office / 80 61--06 14
24, Jalan TPP 1/10, Taman Industri Puchong Fax: +60--3 / 80 61--73 86
47100 Puchong, Selangor, Malaysia E-- Mail: info@kuka.com.my
Mexico
KUKA de Mexico S. de R.L. de C.V. Tel.: +52--55 / 52 03 84 07
Rio San Joaquin #339, Local 5 Fax: +52--55 / 52 03 81 48
Colonia Pensil Sur E-- Mail: info@kuka.com.mx
C.P. 11490 Mexico D.F.
Norway
KUKA Svetsanläggningar + Tel.: +47--61 / 13 34 22
Robotar AB Avd. Norway Fax: +47--61 / 18 62 00
Hadelandsveien 2 E-- Mail: geir.ulsrud@kuka.no
Postbox 17
NO--2801 Gjövik, Norway
Portugal
KUKA Sistemas de Automatización S.A. Tel.: +351--21 / 238 80 83
Urbanização do Vale do Alecrim, Lote 115--B Fax: +351--21 / 238 80 86
2950 Palmela, Portugal E-- Mail: kuka@mail.telepac.pt
RobsysEinleitung 11.04.00 de
15 von 16
Einleitung
South Africa
Jendamark Automation LTD (Agency) Tel.: +27--41 / 391 47 00
76a York Road, North End Fax: +27--41 / 373 38 69
Port Elizabeth 6000 Internet: http://www.jendamark.co.za
South Africa
Spain
KUKA Sistemas de Automatización, S.A. Tel.: +34--93 / 814 23 53
Pol. Industrial Fax: +34--93 / 814 29 50
Torrent de la Pastera E-- Mail: comercial@kuka--e.com
Carrer del Bages s/n Internet: http://www.kuka--e.com
E -- 08800 Vilanova i La Geltrú (Barcelona)
Sweden
KUKA Svetsanläggningar + Robotar AB Tel.: +46--31 / 72 66 200
A. Odhners gata 15 Fax: +46--31 / 72 66 201
S--42130 Västra Frölunda E-- Mail: info@kuka.se
Switzerland
KUKA Roboter Schweiz AG Tel.: +41--17 / 44 90 90
Riedstrasse 7 Fax: +41--17 / 44 90 91
CH--8953 Dietikon E-- Mail: info@kuka--roboter.ch
Internet: http://www.kuka--roboter.ch
Taiwan
KUKA Robot Automation Taiwan Co., Ltd. Tel.: +886--3 / 437 19 02
136, Section 2, Fax: +886--3 / 283 00 23
Huanjung E. Road E-- Mail: info@kuka.com.tw
Jungli City, Taoyuan, Taiwan 320 Internet: www.kuka.com.tw
Thailand
KUKA Robot Automation (M)Sdn Bhd Tel.: +66--2 / 750 27 37
Thailand Office Fax: +66--2 / 661 23 55
c/o Maccall System Co. Ltd. E-- Mail: atika@ji--net.com
49/9--10 Soi Kingkaew 30, Kingkaew Road Internet: http://www.kuka--roboter.de
Tt. Rachatheva, A. Bangpli
Samutprakarn, 10540 Thailand
U.K.
KUKA Welding Systems + Robot Ltd. Tel.: +44--121 / 58 50 800
Hereward Rise, Halesowen Fax: +44--121 / 58 50 900
UK--West Midlands B62 8AN GB E-- Mail: sales@kuka.co.uk
U.S.A.
KUKA Robotics Corp. Tel.: +1--866 / 873 58 52
22500 Key Drive Fax: +1--(586) / 569 20 87
Clinton Township E-- Mail: info@kukarobotics.com
Michigan 48 036 USA Internet: http://www.kukarobotics.com
RobsysEinleitung 11.04.00 de
16 von 16
Index
A P
Abschn, 8 Personenschäden, 6
Achtung, 6 Piktogramme, 7
Änderungen oder Einträge erforderlich, 7 Änderungen oder Einträge erforderlich, 7
Änderungen oder Einträge nicht zulässig, 7 Änderungen oder Einträge nicht zulässig, 7
Anführungszeichen, 8 Beispiel, 7
Applikation, 9 Hinweis, 7
Info, 7
Siehe auch, 7
B
Tip, 7
Beispiel, 7 Piktogramme , 6
Problembeschreibung, 9
E Programmtaste, 8
eckige Klammern, 8
Q
Querverweis
F
Abschn, 8
Fettdruck, 8 HB, 8
HK, 8
G Kap, 8
Querverweise, 8
Gerätetyp, 10
S
H
Sachschäden, 6
Häufigkeit der Störung, 9
Seriennummer, 10
HB, 8
Seriennummer Roboter, 9
Hilfe bei Serviceanfragen, 5
Seriennummer Steuerung, 9
Hinweis, 7
Serifenschrift, 8
HK, 8 Serifenschrift fett, 8
Serviceanfragen, 9
I Servicestützpunkte, 14
Sicherheitssymbole, 6
Info, 7
Achtung, 6
Warnung, 6
K Siehe auch, 7
Kap, 8 Softkey, 8
KUKA Robot Group, 5 Software--Versionsnummern, 12
kursiv, 8 Speicherabzug , 9
Steuerung, 9
L
T
Lesehinweise, 6
Lineareinheit, 9 Textauszeichnung
Anführungszeichen, 8
eckige Klammern, 8
M Fettdruck, 8
Menükey, 8 kursiv, 8
Menütaste, 8 Serifenschrift, 8
Index -- i
Index
Serifenschrift fett, 8
Textauszeichnungen, 8
Texthervorhebungen, 6
Tip, 7
Typenschild
KR C3, 11
Roboter, 10
Typenschilder, 10
U
Umgang mit der Produktdokumentation, 5
Untermenütaste, 8
V
Versionsnummern Software, 9
Vorwort, 5
W
Warnung, 6
Z
Zusatzachsen, 9
Index -- ii
SICHERHEIT
ROBOTERSYSTEM
Allgemein
alle Robotertypen KR
Robotersteuerung KR C2 und höher
1 von 24
e Copyright KUKA Roboter GmbH
Diese Dokumentation darf – auch auszugsweise – nur mit ausdrücklicher Genehmigung des Herausgebers vervielfältigt oder Dritten
zugänglich gemacht werden.
Es können weitere, in dieser Dokumentation nicht beschriebene Funktionen in der Steuerung lauffähig sein. Es besteht jedoch kein Anspruch
auf diese Funktionen bei Neulieferung bzw. im Servicefall.
Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard– und Software geprüft. Dennoch können
Abweichungen nicht ausgeschlossen werden, so daß wir für die vollständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in
dieser Druckschrift werden jedoch regelmäßig überprüft, und notwendige Korrekturen sind in den nachfolgenden Auflagen enthalten.
Technische Änderungen ohne Beeinflussung der Funktion vorbehalten.
KUKA Interleaf
SicherheitKRC 02.04.00 de
2 von 24
Inhaltsverzeichnis
1 Haftungshinweis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Bestimmungsgemäße Verwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Sicherheitssymbole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4 Sicherheitsmaßnahmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.1 Personal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1.1 Betreiber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1.2 Bediener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2 Gefahrenbereich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3 Sicherheitseinrichtungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.4 Ein–, An– und Umbauten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.5 Sicherheitsbelehrungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.6 Sicherheitsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.6.1 Eingeschränkter Bewegungsbereich – Arbeitsraumbegrenzung . . . . . . . . . . . . . . . . . . . . . . 11
4.6.2 NOT–AUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.6.2.1 Externer NOT–AUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.6.3 Zustimmungsschalter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.6.3.1 Externer Zustimmungsschalter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.6.4 Verriegelung trennender Schutzeinrichtungen (Bedienerschutz) . . . . . . . . . . . . . . . . . . . . . . 12
4.7 Vorkehrung für Bewegung in Notfällen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5 Sicherheitskennzeichnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2 Roboter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.3 Steuerschrank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
SicherheitKRC 02.04.00 de
3 von 24
Allgemein
6.12 Laser–Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.13 Vorschriften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8 EGB–Vorschriften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.2 Handhabung von EGB–Baugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.3 EGB–Gerechtes Verpacken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
SicherheitKRC 02.04.00 de
4 von 24
Gültig für alle Robotertypen KR
Robotersteuerung KR C2 und höher
1 Haftungshinweis
Das in der vorliegenden Betriebsanleitung beschriebene Gerät ist ein Industrieroboter – im
folgenden “Robotersystem” genannt –, bestehend aus Roboter, Verbindungsleitungen und
Steuerschrank.
Das Robotersystem – Gegenstand der vorliegenden Betriebsanleitung – ist nach dem
Stand der Technik und den anerkannten sicherheitstechnischen Regeln gebaut. Den-
noch können bei unsachgemäßer oder nicht bestimmungsgemäßer Verwendung Ge-
fahren für Leib und Leben des Bedienpersonals oder Dritter bzw. Beeinträchtigungen
des Robotersystems und anderer Sachwerte entstehen.
Das Robotersystem darf nur in technisch einwandfreiem Zustand sowie bestim-
mungsgemäß, sicherheits– und gefahrenbewußt benutzt werden. Die Benutzung
muß unter Beachtung der vorliegenden Betriebsanleitung und der dem Robotersy-
stem bei Lieferung beigefügten Hersteller–Erklärung* erfolgen. Störungen, die die
Sicherheit beeinträchtigen können, müssen umgehend beseitigt werden.
Grundlage für Auslegung und Konstruktion von Mechanik und Elektrik des Robotersystems
sind dieEG–Maschinenrichtlinien mit ihren Anhängen und zugehörigen Normen.
Bezüglich Sicherheit des Robotersystems wurden harmonisierten Normen angewandt.
Für den elektrischen Teil des Robotersystems wurden zusätzlich die ”EG–Niederspan-
nungsrichtlinie” und die Richtlinie zur ”Elektromagnetischen Verträglichkeit” berücksichtigt.
Eine Auflistung der angewandten Richtlinien und Normen finden Sie im Kapitel “Angewandte
Richtlinien und Normen”.
SicherheitKRC 02.04.00 de
5 von 24
Allgemein
2 Bestimmungsgemäße Verwendung
Das Robotersystem ist ausschließlich für die in Dokumentations–Modul Roboter,
“Technische Daten”, angegebenen Haupteinsatzgebiete bestimmt.
Eine andere oder darüber hinausgehende Verwendung gilt als nicht bestimmungsge-
mäß. Für hieraus resultierende Schäden haftet der Hersteller nicht. Das Risiko trägt
allein der Betreiber.
Zur bestimmungsgemäßen Verwendung gehört auch die ständige Beachtung der
vorliegenden Betriebsanleitung und besonders die Befolgung der Wartungsvor-
schriften.
Die eingesetzte Software ist auf die vom Kunden/Betreiber vorgegebenen Einsatzbe-
reiche abgestimmt und eingehend getestet. Für den Fall, daß die in der Software ent-
haltenen Funktionen nicht unterbrechungsfrei ablaufen, muß zur Behebung dieses
Zustandes das Kapitel ”Fehlermeldungen/Fehlerbehebung” herangezogen werden.
Dies gilt auch für Störungen in den Bereichen Service, Einrichten, Programmieren
und Inbetriebnahme.
Die Inbetriebnahme des Robotersystems muß so lange unterbleiben, bis festgestellt
wurde, daß die verwendungsfertige Maschine oder maschinelle Anlage, in die das
Robotersystem eingebaut wurde, den Bestimmungen der EG–Richtlinien entspricht.
Bei Zuwiderhandlung wird keine Haftung übernommen.
Wenn der Betreiber Ausrüstungsteile und dergleichen, die nicht zum Lieferumfang
der KUKA Roboter GmbH gehören, bereitstellt und diese Teile durch die KUKA Robo-
ter GmbH in die Peripherie des Robotersystems integrieren läßt, so haftet die KUKA
Roboter GmbH für hieraus resultierende Schäden nicht. Das Risiko für diese Teile
(mechanisch, pneumatisch und elektrisch) trägt allein der Betreiber.
Die vorliegende Betriebsanleitung besteht aus den Teilen • Roboter
• Steuerschrank
• Software
Sie ist Bestandteil des von der KUKA Roboter GmbH gelieferten Robotersystems.
Dessen Serien–Nummern (Werk–Nummern) für Roboter und Steuerschrank sind in
der Hersteller–Erklärung festgehalten.
SicherheitKRC 02.04.00 de
6 von 24
3 Sicherheitssymbole
In der vorliegenden Betriebsanleitung werden folgende sicherheitsrelevanten Symbole ver-
wendet:
Dieses Symbol wird benutzt, wenn ungenaues Befolgen oder Nichtbefolgen von
Bedienungsanweisungen, Arbeitsanweisungen, vorgeschriebenen Arbeitsabläu-
fen und dergleichen zu Verletzungen oder tödlichen Unfällen führen kann.
Dieses Symbol wird benutzt, wenn ungenaues Befolgen oder Nichtbefolgen von
Bedienungsanweisungen, Arbeitsanweisungen, vorgeschriebenen Arbeitsabläu-
fen und dergleichen zur Beschädigung des Robotersystems führen kann.
Dieses Symbol wird benutzt, wenn auf eine Besonderheit aufmerksam gemacht werden
soll. Das Befolgen des Hinweises bedeutet in der Regel eine Arbeitserleichterung.
SicherheitKRC 02.04.00 de
7 von 24
Allgemein
4 Sicherheitsmaßnahmen
Bei Mechanik und Elektrik des Robotersystems, für das die vorliegende, vom Hersteller vor-
geschriebene Betriebsanleitung gilt, ist die Norm für Industrieroboter–Sicherheit realisiert.
Dieses Robotersystem wird bezüglich seiner technischen Eigenschaften und vorgesehenen
Einbaulagen in den entsprechenden Spezifikationen für Roboter und Steuerschrank und in
der vorliegenden Betriebsanleitung ausführlich dargestellt.
Textteile mit dem Symbol sind von größter Wichtigkeit. Sie enthalten Ausschaltproze-
duren und andere Sicherheitshinweise für den Schutz des Bedieners. Sie sind bei allen Ar-
beiten, die z.B. den Transport, die Aufstellung, den Betrieb, Um– und Einstellungen, Anpas-
sungen, die Wartung und die Instandsetzung betreffen, besonders zu beachten.
Nach Ausschalten des Schrankes kann am KPS, den KSD‘s und den Zwischen-
kreisverbindungskabeln, bis zu 5 Minuten eine Spannung von über 50V (bis zu
600V) anliegen!
SicherheitKRC 02.04.00 de
8 von 24
4.1 Personal
Aufstellung, Austausch, Einstellung, Bedienung, Wartung und Instandsetzung dürfen nur
nach Vorschrift der vorliegenden Betriebsanleitung von hierfür speziell ausgebildetem und
mit den Gefahren vertrauten Fachpersonal durchgeführt werden.
Dem Betreiber wird empfohlen, das für diese Arbeiten vorgesehene Personal an einer an-
wendungsspezifischen KUKA Roboter GmbH–Schulung teilnehmen zu lassen.
Betreiber und Bediener haben dafür zu sorgen, daß nur die dafür autorisierten Personen am
Robotersystem arbeiten. Der Betreiber muß den Verantwortungsumfang für den Bediener
festlegen und ihm das Ablehnen sicherheitswidriger Anweisungen Dritter ermöglichen.
4.1.1 Betreiber
Die Zuständigkeiten bei der Bedienung des Robotersystems und bei allen sonstigen Arbei-
ten am Robotersystem oder in dessen unmittelbarer Umgebung müssen durch den Betrei-
ber klar festgelegt und eingehalten werden, damit unter dem Aspekt der Sicherheit keine un-
klaren Kompetenzen auftreten.
In bestimmten, selbstgewählten Abständen sollte der Betreiber das sicherheits– und gefah-
renbewußte Arbeiten des Personals unter Beachtung der vorliegenden Betriebsanleitung
kontrollieren.
Zu schulendes, anzulernendes, einzuweisendes oder im Rahmen einer allgemeinen Ausbil-
dung befindliches Personal darf nur unter ständiger Aufsicht einer erfahrenen Person am Ro-
botersystem tätig werden.
Arbeiten an der Elektrik des Robotersystems dürfen nur von einer Elektrofachkraft oder von
unterwiesenen Personen unter Leitung und Aufsicht einer Elektrofachkraft gemäß den allge-
mein gültigen elektrotechnischen Regeln vorgenommen werden.
Am hydropneumatischen Gewichtsausgleichssystem (falls vorhanden) darf nur Personal
mit speziellen Kenntnissen und Erfahrungen in Hydraulik und Pneumatik arbeiten.
Durch entsprechende Anweisungen und Kontrollen muß der Betreiber Sauberkeit und Über-
sichtlichkeit des Arbeitsplatzes und des Umfeldes des Robotersystem gewährleisten.
4.1.2 Bediener
Der Bediener muß sich dem Betreiber gegenüber verpflichten, eingetretene Ver-
änderungen am Robotersystem, die die Sicherheit beeinträchtigen oder dies ver-
muten lassen, sofort zu melden.
Der Betreiber hat dafür zu sorgen, daß das Robotersystem immer nur in ein-
wandfreiem Zustand betrieben wird.
4.2 Gefahrenbereich
Die Gefahrenbereiche des Robotersystems, d. h. Bereiche, in denen sich der Roboter samt
Werkzeug, Zubehör und Zusatzausrüstungen bewegt, sind grundsätzlich gemäß Norm für
Industrieroboter–Sicherheit so abzusichern, daß ein Eindringen von Personen und Gegen-
ständen in diese Bereiche verhindert wird, oder, falls ein solches Eindringen dennoch erfolgt,
das Robotersystem durch einen Stop– oder NOT–AUS–Befehl sicher zum stillstand ge-
bracht und ausgeschaltet wird. Diese Absicherung obliegt dem Betreiber.
Die Gefahrenbereiche müssen in ihrer Größe nach den maximalen Anhaltewegen des
Roboters bemessen werden.
Die Farbkennzeichnungen der Gefahrenbereiche am Boden sowie die der Schilder müssen
sich von anderen Farbkennzeichnungen innerhalb der Maschine oder maschinellen Anlage,
in die das Robotersystem integriert ist, in Form, Farbe und Ausführung deutlich unterschei-
den.
SicherheitKRC 02.04.00 de
9 von 24
Allgemein
Bei Arbeiten im Gefahrenbereich des Roboters darf dieser, falls unbedingt not-
wendig, höchstens im Einrichtbetrieb (T1) mit Zustimmungsschalter und Tippbe-
trieb in Handverfahrgeschwindigkeit bewegt werden, so daß Personen genug
Zeit haben, sich entweder von gefahrbringenden Bewegungen zurückzuziehen
oder den Roboter stillzusetzen.
Alle Personen im Umkreis des Roboters müssen rechtzeitig von der bevorstehenden Bewe-
gung des Roboters in Kenntnis gesetzt werden.
Nach Möglichkeit sollte sich immer nur eine Person im Gefahrenbereich aufhalten.
Sind mehrere Personen im Gefahrenbereich tätig, muß jede einen Zustimmungsschalter be-
nutzen. Zusätzlich muß zwischen allen ständig Blickkontakt und ungehinderte Sicht zum Ro-
botersystem bestehen. Die Zuständigkeiten für die einzelnen Arbeiten und Personen müs-
sen klar und nachvollziehbar festgelegt sein.
Bauteile, Werkzeuge und andere Gegenstände dürfen durch die Bewegung des Roboters
weder eingeklemmt werden, noch zu Kurzschlüssen führen oder herabfallen.
Roboterbewegungen, die zu mittelbaren Gefährdungen von Personen oder Sachen führen,
sind zu verhindern.
Gefährdungen, die von der Peripherie des Roboters, z.B. von Greifer, Conveyor, Zuführun-
gen oder weiteren Robotern ausgehen, sind zu beachten.
4.3 Sicherheitseinrichtungen
Es ist jede Arbeitsweise zu unterlassen, die die Funktions– und Bedienersicherheit des Ro-
botersystems beeinträchtigt.
SicherheitKRC 02.04.00 de
10 von 24
4.4 Ein–, An– und Umbauten
Alle eigenmächtigen Umbauten und Veränderungen am Robotersystem sind nicht
gestattet.
Kundenspezifische Ein–/Anbauten dürfen nur in Absprache mit dem für Sie zuständi-
gen Vertriebsbeauftragen der KUKA Roboter GmbH vorgenommen werden.
Das Robotersystem einschließlich Zubehör und Zusatzausrüstungen darf nicht mit
Produkten fremder Hersteller, deren Verwendung nicht ausdrücklich in der vorlie-
genden Betriebsanleitung oder dem Teilekatalog des Robotersystems erlaubt ist,
ausgestattet oder betrieben werden.
Bei Verwendung von vorgeschriebenen Betriebsstoffen, die als aggressiv und giftig ausge-
wiesen sind, muß eine entsprechende Schutzkleidung getragen werden. Warnhinweise
müssen beachtet werden.
Die in der vorliegenden Betriebsanleitung vorgeschriebenen Wartungszyklen müssen einge-
halten werden.
Die vorliegende Betriebsanleitung muß ständig am Einsatzort des Robotersystems (z.B. im
Werkzeugfach oder dem dafür vorgesehenen Behälter) griffbereit aufbewahrt werden –
gleichgültig, ob als Handbuch oder CD–ROM.
4.5 Sicherheitsbelehrungen
Das mit der Durchführung von Aufstellung, Austausch, Einstellung, Bedienung, Wartung und
Instandsetzung beauftragte Personal muß vor Arbeitsbeginn über Art und Umfang der Arbei-
ten sowie über mögliche Gefahren belehrt werden. Über Gegenstand und Umfang der Be-
lehrungen sind Aufzeichnungen zu führen.
Das erwähnte Personal ist halbjährlich mündlich und alle zwei Jahre schriftlich über die Ein-
haltung von Sicherheitsvorschriften und –hinweisen zu belehren. Die Belehrung kann durch
Sicherheitsbeauftragte des Betreibers und/oder im Rahmen einer KUKA Roboter GmbH –
Schulung durchgeführt werden. Belehrungen sind außerdem nach besonderen Vorfällen
oder technischen Änderungen durchzuführen.
4.6 Sicherheitsfunktionen
Zu den Sicherheitsfunktionen gehören:
– eingeschränkter Bewegungsbereich
– NOT–AUS
– Zustimmungsschalter
– Verriegelung technischer Schutzeinrichtungen
Die Schaltkreise für NOT–AUS, Zustimmungsschalter und Verriegelung technischer
Schutzeinrichtungen entsprechen der Steuerungskategorie 3 nach EN 954–1.
4.6.1 Eingeschränkter Bewegungsbereich – Arbeitsraumbegrenzung
Der Roboter ist standardmäßig für die Anbringung von verstellbaren mechanischen Anschlä-
gen in den drei Grundachsen zur Begrenzung des Bewegungsraumes vorbereitet. Als zu-
sätzliche Massnahme kann der Bewegungsraum aller Achsen über einstellbare Softwa-
reendschalter begrenzt werden.
4.6.2 NOT–AUS
Der NOT–AUS Taster des Robotersystems befindet sich auf dem KCP, das zugleich als Pro-
grammier– und als Bediengerät benutzt wird.
Ein Auslösen der NOT–AUS Funktion bewirkt in den Testbetriebsarten einen Sicherheitshalt
mit unverzüglichem Abschalten der Energie zu den Antrieben, generatorischen Stop und
Einfallen der Haltebremsen.
In den Automatikbetriebsarten bewirkt ein NOT–AUS ein gesteuertes Stillsetzen, wobei die
Energie zu den Antrieben beibehalten wird um ein geführtes Stillsetzen zu erzielen. Die
Energie wird erst dann unterbrochen, wenn der Stillstand erreicht ist.
SicherheitKRC 02.04.00 de
11 von 24
Allgemein
4.6.3 Zustimmungsschalter
Am KCP sind drei dreistufige Zustimmungsschalter angebracht, mit denen sich in den Be-
triebsarten Test 1 und Test 2 die Antriebe einschalten lassen. Jeder dieser Zustimmungs-
schalter hat drei Stellungen bei denen jeweils nur die mittlere Stellung eine Bewegung des
Roboters zulässt. In jeder anderen Stellung werden gefahrbringende Bewegungen sicher
angehalten bzw. die Antriebe sicher abgeschaltet.
Die Vorkehrung für Bewegung in Notfällen darf nur verwendet werden, wenn der
Hauptschalter am Steuerschrank des Roboters in Stellung “AUS” gebracht und
mit Vorhängeschloß gegen unbefugtes Wiedereinschalten gesichert ist.
Wurde eine Roboterachse mit der Vorkehrung für die Bewegung in Notfällen be-
wegt, müssen alle Achsen des Roboters neu justiert werden.
Das manuelle Bewegen des Roboters ist ausschließlich mit der von KUKA Roboter GmbH
gelieferten Drehvorkehrung (Option) durchzuführen. Durch Aufsetzen der Drehvorrichtung
auf die Achse des Motors (Schutzkappe entfernen!) kann diese gedreht werden. Hierbei sind
der Widerstand der mechanischen Motorbremse und ggf. zusätzliche Achslasten zu über-
winden. Anschließend ist die Schutzkappe wieder anzubringen.
SicherheitKRC 02.04.00 de
12 von 24
5 Sicherheitskennzeichnung
5.1 Allgemeines
Am Roboter sowie am und im Steuerschrank sind Leistungsschild, Warnhinweise und Si-
cherheitssymbole befestigt. Die Verbindungsleitungen zwischen Roboter und Steuer-
schrank sowie elektrische und andere Leitungen im und am Roboter bzw. Steuerschrank tra-
gen Bezeichnungsschilder, zum Teil auch Positionsmarkierungen.
Alle diese Schilder, Hinweise, Symbole und Markierungen sind sicherheitsrelevante Teile
des Robotersystems. Sie müssen über die ganze Lebensdauer des jeweiligen Roboters
bzw. Steuerschranks am festgelegten Platz gut sichtbar befestigt bleiben.
Es ist verboten,
– Leistungsschilder,
– Warnhinweise,
– Sicherheitssymbole,
– Bezeichnungsschilder und
– Leitungsmarkierungen
zu entfernen, zu überkleben, zu übermalen oder in anderer Weise die klare Er-
kennbarkeit zu behindern.
5.2 Roboter
Siehe Dokumentations–Modul Roboter, “Technische Daten”.
5.3 Steuerschrank
Siehe Dokumentations–Modul Steuerschrank, “Wartung”.
SicherheitKRC 02.04.00 de
13 von 24
Allgemein
SicherheitKRC 02.04.00 de
14 von 24
L+ A1 (+) Schutztürwächter
Ue z.B. PST3 Fabr. Pilz
L- A2 (-)
= Schutztüre offen
S11
= Schutztüre geschlossen
= betätigtes Element
S12
Türendschalter S23
S24
X1
7 8 25 26
Peripheriestecker X11
Testausgang B
Schutzeinrichtung Kanal A
Testausgang A
Schutzeinrichtung Kanal B
KR C2
3 9 22 28
Peripheriestecker X11
Testausgang B
Bedienerschutz Kanal B
Bedienerschutz Kanal A
Testausgang A
KR C3
SicherheitKRC 02.04.00 de
15 von 24
Allgemein
6.4 Kollisionsschutz
Der Roboter kann zum Schutz gegen Kollision mit einer Abschaltsicherung (Zusatzausrü-
stung) ausgerüstet werden. Diese ist auf jeden Fall mit dem NOT–AUS–Kreis des Roboter-
systems und der übergeordneter Steuerung zu verbinden.
Bei Conveyor–Betrieb müssen zusätzliche Maßnahmen getroffen werden, die bei Auslösen
der NOT–AUS–Funktion sicherstellen, daß der Conveyor nicht mit dem Roboter kollidieren
kann. Das Nachlaufen des Conveyors muß im Kollisionsbereich durch entsprechende Maß-
nahmen verhindert werden; dies kann z. B. durch kurze Systeme mit Übergabestationen er-
reicht werden.
6.5 Gewichtsausgleich
Einige Robotertypen sind mit einem hydropneumatischen oder mechanischen Gewichts-
ausgleichssystemen versehen.
6.6 Werkzeugwechsel
Für den Werkzeugwechsel sind Aus–/Einbauplätze vorzusehen. Sie müssen für den Bedie-
ner außerhalb des Gefahrenbereichs erreichbar sein und vom Roboter über einen gesonder-
ten Programmschritt angefahren werden können.
6.7 Sicherheitstrittplatten
Falls es unvermeidlich ist, daß sich Bedienungspersonal im Bewegungsbereich des Robo-
ters aufhält, (z.B. beim Zuführen von Bauteilen), so ist der Gefahrenbereich über eine Tritt-
platte oder einen Lichtvorhang abzusichern. Das kann dadurch geschehen, daß die Tritt-
platte oder der Lichtvorhang mit Bereichsendschaltern (Zubehör
“Arbeitsbereichsüberwachung”) oder einem Endschalter für die Roboterausgangsstellung
verknüpft und mit dem NOT–AUS–Kreis verbunden wird.
6.8 Interface–Eigenschaften
Alle mit der Robotersteuerung korrespondierenden Signale müssen bezüglich Spannung
und Ausgangsbelastung so ausgelegt sein, daß sie die zulässigen Werte an der Steuerung
nicht überschreiten.
6.9 NOT–AUS–Einrichtung
Zur Festlegung der notwendigen Anzahl der Befehlsgeräte für das Stillsetzen im Notfall ist
unabdingbar eine vollständige Gefährdungsanalyse durchzuführen.
Die Wirksamkeit der NOT–AUS–Einrichtung, ist durch eine regelmäßige wiederkehrende
Überprüfung sicherzustellen.
Sind mehrere Roboter, Maschinen oder Maschinenteile für ein Zusammenwirken konzipiert,
müssen die NOT–AUS–Einrichtungen der Teilsysteme so verschaltet werden, daß die
NOT–Befehlseinrichtung nicht nur einen Roboter stillsetzen kann, sondern auch alle vor–
oder nachgeschalteten Roboter oder Einrichtungen, falls deren weiterer Betrieb eine Gefahr
darstellen kann.
SicherheitKRC 02.04.00 de
16 von 24
6.10 Ausgangsvorbesetzung
Die Ausgangsvorbesetzung ist entsprechend dem übergeordneten Maschinenkonzept aus-
zuführen, d. h. Signale für Haltefunktionen dürfen bei Abschalten der Robotersteuerung
nicht gelöscht werden, wenn dadurch Personen oder Sachen gefährdet werden.
6.12 Laser–Systeme
Wird das Robotersystem in Verbindung mit einem Laser–System betrieben, ist die EN
60825–1 unbedingt zu beachten. Die Verantwortung hierfür liegt bei dem der das Laser–Sy-
stem integriert.
6.13 Vorschriften
Die übergeordnete maschinelle Anlage ist vor dem Einbau des Robotersystems auf Einhal-
tung von Sicherheitsvorschriften des Betreibers, Vorschriften der allgemeinen Unfallverhü-
tung und Vorschriften der Berufsgenossenschaften zu prüfen. Abschnitt 4.5 beachten.
SicherheitKRC 02.04.00 de
17 von 24
Allgemein
Persönlicher Schutz:
Alle Personen, die im Gefahrenbereich des Robotersystems arbeiten, müssen
Schutzbekleidung tragen. Hierzu zählen insbesondere Sicherheitsschuhe und
enganliegende Kleidung. Zusätzlich sind die Vorschriften der Berufsgenossen-
schaften zu beachten.
7.1 Anschlußbedingungen
Die von KUKA Roboter GmbH geforderten Anschlußbedingungen bezüglich Leitungsquer-
schnitt, Absicherung, Spannung und Frequenz sind einzuhalten. Die einschlägigen Vor-
schriften der zuständigen Energieversorgungsunternehmen sind zu beachten.
7.2 Transport
Die vorgeschriebenen Transportstellungen des Roboters müssen beachtet werden. Alle
Winkelangaben hierzu beziehen sich auf den mechanischen Nullpunkt der jeweiligen Robo-
terachse.
Einzelteile und größere Baugruppen sind beim Austausch sorgfältig an Hebezeugen zu be-
festigen und zu sichern, so daß hiervon keine Gefahr ausgehen kann. Es dürfen nur ge-
eignete und technisch einwandfreie Hebezeuge sowie Lastaufnahmemittel mit ausreichen-
der Tragkraft verwendet werden.
Mit dem Anschlagen von Lasten und Einweisen von Kranfahrern dürfen nur erfahrene Perso-
nen beauftragt werden. Der Einweiser muß sich in Sichtweite des Bedieners aufhalten oder
mit ihm in Sprechkontakt stehen.
SicherheitKRC 02.04.00 de
18 von 24
7.4 Inbetriebnahme
Bevor das Robotersystem in Betrieb genommen wird, sind alle Schutzeinrichtungen, End-
schalter und sonstigen Schutzmaßnahmen auf Funktion und Vollständigkeit zu prüfen. An
den Systemelementen Roboter und Steuerschrank ist eine Kontrolle auf eventuell vorhan-
dene Fremdkörper durchzuführen. Im Gefahrenbereich (Bewegungsbereich des Roboters)
dürfen sich während der Inbetriebnahme keine Personen oder Gegenstände befinden. Bei
der Erstinbetriebnahme ist darauf zu achten, daß die richtigen Maschinendaten eingegeben
worden sind.
Zur Einhaltung der Schutzart IP54 (KR C2) und IP 20 (KR C3) darf der Steuerschrank
nur mit allen vorgesehenen Abdeckblechen für nicht vorhandene Geräte und Optionen
(z.B. Stecker, Umrichter, Laufwerke) betrieben werden.
7.5 Software
Für den Rechner der Steuerung wurde eine spezielle Software entwickelt. Die
Software fängt die meisten Fehleingaben und Fehlbedienungen ab. Nähere In-
formationen hierzu in der vorliegenden Betriebsanleitung.
Die ausgelieferte Hard– und Software wurden auf Virenfreiheit geprüft. Es liegt in der Verant-
wortung des Betreibers sich immer des aktuellsten Virenscanners zu bedienen.
7.6 Betrieb
Während das Robotersystem in Betrieb ist, müssen alle Sicherheitsvorschriften eingehalten
werden. Veränderungen an Schutzmaßnahmen und Sicherheitseinrichtungen sind unzuläs-
sig. Bei Störungen ist der Roboter sofort außer Betrieb zu nehmen und bis zur Beseitigung
der Störung so abzusichern, daß eine unbefugte Wiederinbetriebnahme ausgeschlossen ist
und Personen oder Sachen nicht gefährdet werden können. Über Störungen, deren Ursache
und Beseitigung sind entsprechende Aufzeichnungen zu führen.
Mindestens einmal pro Schicht muß das Robotersystem auf äußerlich erkennbare Schäden
und Mängel geprüft werden. Eingetretene Veränderungen, auch Veränderungen des Be-
triebsverhaltens, sind sofort der zuständigen Stelle oder Person zu melden. Roboter ggf. so-
fort stillsetzen und sichern!
7.7 Außerbetriebnahme
Sind Austausch–, Einstell–, Wartungs– und Instandsetzungsarbeiten durchzuführen, so ist
das Robotersystem nach Vorschrift der vorliegenden Betriebsanleitung außer Betrieb zu
nehmen und gegen unbefugtes Wiedereinschalten zu sichern (z. B. Vorhängeschloß,
Schlüsselschalter). Ist bei bestimmten Arbeiten die Bewegbarkeit des Systems unbedingt
erforderlich, so sind die diesbezüglichen Ausführungen in Abschnitt 4.3 besonders zu beach-
ten.
Auch bei ausgeschalteter und gesicherter Steuerung ist mit möglichen Bewegungen des Ro-
boters zu rechnen.
SicherheitKRC 02.04.00 de
19 von 24
Allgemein
7.8 Verschiedenes
Bei Wartungs– und Instandsetzungsarbeiten gelöste Schraubenverbindungen müssen hin-
terher stets vorschriftsmäßig festgeschraubt werden.
Bei Arbeiten über Körperhöhe müssen sicherheitsgerechte Aufstiegshilfen und Arbeitsbüh-
nen verwendet werden. Roboter und Steuerschrank dürfen nicht als Aufstiegshilfen benutzt
werden.
Für sichere und umweltschonende Entsorgung von Betriebs– und Hilfsstoffen sowie Aus-
tauschteilen sorgen!
SicherheitKRC 02.04.00 de
20 von 24
8 EGB–Vorschriften
8.1 Allgemeines
Die EGB – Vorschriften (EGB: Elektrostatisch Gefährdete Bauelemente bzw. Baugruppen)
sind während der Handhabung aller Baugruppen stets einzuhalten. Diese Baugruppen sind
mit hochwertigen Bausteinen bestückt und sind sehr empfindlich gegen elektrostatische Ent-
ladungen (ESD).
ESD verursacht nicht nur den Totalausfall von Bauelementen, sondern kann eventuell zur
Teilschädigung eines ICs oder Bauelements führen, was wiederum zur Herabsetzung der
Lebensdauer oder zu sporadischen Störungen von vorläufig noch funktionsfähigen Teilen
führt.
Aus diesen Gründen müssen nicht nur neue Baugruppen sondern auch
defekte Baugruppen die zur Reparatur anstehen sehr sorgfältig, EGB–ge-
recht behandelt werden.
Abb. 1 EGB–Handhabung
SicherheitKRC 02.04.00 de
21 von 24
Allgemein
SicherheitKRC 02.04.00 de
22 von 24
9 Angewandte Richtlinien und Normen
Normen Titel
97/23/EG Richtlinie 97/23/EG des Europäischen Parlaments und des
Rates vom 29. Mai 1997 zur Angleichung der Rechtsvorschriften
der Mitgliedsstaaten über Druckgeräte (Druckgeräte–Richtlinie)
98/37/EG Richtlinie 98/37/EG des Europäischen Parlaments und des
Rates vom 22. Juni 1998 zur Angleichung der Rechts– und Ver-
waltungsvorschriften der Mitgliedsstaaten für Maschinen; Aus-
gabe: 1998–06–22
EN 292–1 DIN EN 292–1, Ausgabe: 1991–11
Sicherheit von Maschinen; Grundbegriffe, allgemeine Gestal-
tungsleitsätze; Teil 1: Grundsätzliche Terminologie, Methodik;
Deutsche Fassung EN 292–1: 1991
EN 292–2 DIN EN 292–2, Ausgabe: 1995–06
Sicherheit von Maschinen; Grundbegriffe, allgemeine Gestal-
tungsleitsätze; Teil 2: Technische Leitsätze und Spezifikationen;
Deutsche Fassung EN 292–2: 1991 + A1: 1995
EN 294 DIN EN 294, Ausgabe: 1992–08
Sicherheit von Maschinen; Sicherheitsabstände gegen das Errei-
chen von Gefahrstellen mit den oberen Gliedmaßen; Deutsche
Fassung EN 294: 1992
EN 349 DIN EN 349, Ausgabe: 1993–06
Sicherheit von Maschinen; Mindestabstände zur Vermeidung des
Quetschens von Körperteilen; Deutsche Fassung EN 349: 1993
EN 418: 1992 DIN EN 418, Ausgabe: 1993–01
Sicherheit von Maschinen; NOT–AUS–Einrichtung; Deutsche
Fassung EN 418: 1992
EN 563 DIN EN 563, Ausgabe: 2000–01
Sicherheit von Maschinen; Temperaturen berührbarer Oberflä-
chen; Ergonomische Daten zur Festlegung von Temperatur–
grenzwerten für heiße Oberflächen (enthält Berichtigung AC:
1994 und Änderung A1: 1999); Deutsche Fassung EN 563: 1994
+ A1: 1999
EN 614–1: 1995 DIN EN 614–1, Ausgabe: 1995–04
Sicherheit von Maschinen; Ergonomische Gestaltungsgrund-
sätze; Teil 1: Begriffe und allgemeine Leistätze; Deutsche Fas-
sung EN 614–1: 1995
EN 775: 1992 DIN EN 775, Ausgabe: 1993–08
Industrieroboter; Sicherheit (ISO 10218:1992, modifiziert); Deut-
sche Fassung EN 775:1992 + AC: 1993
EN 811 DIN EN 811, Ausgabe: 1996–12
Sicherheit von Maschinen; Sicherheitsabstände gegen das Errei-
chen von Gefahrstellen mit den unteren Gliedmaßen; Deutsche
Fassung EN 811: 1996
EN 954–1: 1996 DIN EN 954–1, Ausgabe: 1997–03
Sicherheit von Maschinen; Sicherheitbezogene Teile von Steue-
rungen; Teil 1: Allgemeine Gestaltungsleitsätze; Deutsche Fas-
sung EN 954–1: 1996
SicherheitKRC 02.04.00 de
23 von 24
Allgemein
SicherheitKRC 02.04.00 de
24 von 24
Index
A F
Absicherung, 18 Farbkennzeichnungen, 9
Absperrungen, 14 Feststehende Schutzeinrichtungen, 14
Anpassungen, 8 Fremdkörper, 19
Anschlußbedingungen, 18 Frequenz, 18
Arbeitsbereich, 14 Fundamente, 14
Arbeitsbereichsbegrenzung, 14
Arbeitsbühnen, 20 G
Aufstellung, 8, 18 Gefahren, 8
Aufstiegshilfen, 20 Gefahren für Leib und Leben, 5
Ausgangsvorbesetzung, 17 Gefahrenbereiche, 9
Außerbetriebnahme, 19 Gewichte, 14
Austausch, 8 Gewichtsausgleichssystem, 9, 18
Austauscharbeiten, 19 Greifer, 10
B H
Bauhinweise, 14 Haftungshinweis, 5
Bedienung, 8 Handverfahrgeschwindigkeit, 10
Belastungen, 14 Hauptschalter, 8
Bereichsendschalter, 16 Hebezeugen, 18
Berufsgenossenschaft, 17, 18 Hersteller–Erklärung, 5, 6
Hilfsstoffe, 20
Beschädigung des Robotersystems, 7
Hinweis, 7
Beschleunigungen, 14
Bestimmungsgemäße Verwendung, 6
Betrieb, 18, 19 I
Betriebsanleitung, 5 Inbetriebnahme, 6, 19
Betriebsstoffe, 11, 20 Industrieroboter, 5
Bezeichnungsschilder, 13 Instandsetzung, 8
Instandsetzungsarbeiten, 19
Interface–Eigenschaften, 16
C
Conveyor, 10, 16
K
Kleidung, 18
E Kollisionsschutz, 16
EG–Maschinenrichtlinien, 5
EG–Niederspannungsrichtlinie, 5 L
EGB–Richtlinien, 21
Leistungsschild, 13
Eindringen von Schmutz, 18 Leitungsquerschnitt, 18
Eingeschränkter Bewegungsbereich – Arbeits- Lichtschranken, 14
raumbegrenzug, 11
Lichtvorhang, 14, 16
Einstellarbeiten, 19
Einstellung, 8
Elektrofachkraft, 9
M
Elektromagnetischen Verträglichkeit, 5 Mängel, 19
EPROMs, 18 Momente, 14
Externer NOT–AUS, 12
Externer Zustimmungsschalter, 12 N
Index – i
Index
P U
Persönlicher Schutz, 18 Umbauten, 11
Planungshinweise, 14 Unfälle, 7
Positionsmarkierungen, 13
Unfallverhütung, 17
Unsachgemäße Verwendung, 5
R Unterbau, 14
Raumabtastungen, 14 UV– und Verschmutzungsschutz, 18
Roboter, 5
Robotersystem, 5
V
S Veränderungen, 11
Schilder, 9, 13 Verbindungsleitungen, 5, 13
Schraubenverbindungen, 20 Verletzungen, 7
Schutzbekleidung, 18
Verriegelung trennender Schutzeinrichtungen
Schutzkleidung, 11 (Bedienerschutz), 12
Schutzmaßnahmen, 19 Verschmutzungsschutz, 18
Schutzzäune, 14
Viren, 19
Schwebende Lasten, 18
Vorhängeschloß, 8
Sensorbetrieb, 10
Vorkehrung für Bewegung in Notfällen, 12
Serien–Nummer, 6
Vorschriften, 17
Sicherheitsbelehrungen, 11
Sicherheitsbereich, 14
Sicherheitseinrichtungen, 10, 19
Sicherheitsfunktionen, 11 W
Sicherheitshinweise, 8 Warnhinweise, 11, 13
Sicherheitskennzeichnung, 13 Wartung, 8
Sicherheitsmaßnahmen, 10 Wartungsarbeiten, 19
Sicherheitsschuhe, 18
Wartungsvorschriften, 6
Sicherheitssymbole, 7, 13
Wartungszyklen, 11
Sicherheitstrittplatten, 16
Werk–Nummer, 6
Sicherheitsvorschriften, 8, 19
Software, 19 Werkzeugwechsel, 16
Spannung, 18 Wiederinbetriebnahme, 19
Steuerschrank, 5
Z
T
Technische Daten, 6 Zubehör, 11
Teilekatalog, 11 Zuführungen, 10
Tragkraft, 18 Zusatzausrüstungen, 11
Traglasteinwirkung, 10 Zustimmungsschalter, 12
Index – ii
SOFTWARE
KR C...
Konfiguration
1 von 126
e Copyright KUKA Roboter GmbH
Diese Dokumentation darf -- auch auszugsweise -- nur mit ausdrücklicher Genehmigung des Herausgebers vervielfältigt oder Dritten
zugänglich gemacht werden.
Es können weitere, in dieser Dokumentation nicht beschriebene Funktionen in der Steuerung lauffähig sein. Es besteht jedoch kein Anspruch
auf diese Funktionen bei Neulieferung bzw. im Servicefall.
Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard-- und Software geprüft. Dennoch können
Abweichungen nicht ausgeschlossen werden, so daß wir für die vollständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in
dieser Druckschrift werden jedoch regelmäßig überprüft, und notwendige Korrekturen sind in den nachfolgenden Auflagen enthalten.
Technische Änderungen ohne Beeinflussung der Funktion vorbehalten.
KUKA Interleaf
KonfigurationPHR4.1.7 12.03.06 de
2 von 126
Inhaltsverzeichnis
1 System konfigurieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1 Allgemein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1 Bildschirmschoner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1.1 Einstellen des Bildschirmschoners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1.2 Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 Das Menü “Konfig.” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.1 Ein/Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.1.1 Greifer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.1.2 Automatik Extern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.2 E/A--Treiber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.2.1 Konfigur. Bearbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.2.2 Treiber--Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.2.3 E/A Rekonfigurieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.3.3 Submit--Interpreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3.4 Statustasten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.3.5 Handverfahren (Override) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.5.1 Programmoverride--Schritte (POV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.5.2 Handoverride--Schritte (HOV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.5.3 Mausposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.5.4 Mauskonfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.6 Benutzergruppe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.3.7 Akt. Werkzeug/Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.3.8 Werkzeugdefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3.9 Ein/Ausschaltoptionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.3.9.1 Kaltstart erzwingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.3.9.2 Ausschalten PowerOff Wartezeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.3.10 Extras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.3.10.1 Sprache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.3.10.2 Paßwort ändern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.3.10.3 Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.3.10.4 Office--Option ein/aus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.3.10.5 Arbeitsraumüberwachung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.3.10.6 Technologieauswahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.3.10.7 Reinitialisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.4 Das Menü “Datei” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.4.1 Archivieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.4.2 Wiederherstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
KonfigurationPHR4.1.7 12.03.06 de
3 von 126
Konfiguration
3 Automatik Extern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.1 Allgemein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.2 Schnittstelle konfigurieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.2.1 Eingänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
3.2.2 Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
3.3 Automatischer Anlagenanlauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.4 Technologiespezifisches Organisationsprogramm CELL.SRC . . . . . . . . . . . . . . . . . . . . . . . . 101
3.5 Das Modul P00 (AUTOMATIK--EXTERN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.5.1 Die Funktion EXT_PGNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.5.1.1 Anforderung einer Programmnummer beim Leitrechner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.5.1.2 Mitteilen des Erhalts einer gültigen Programmnummer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.5.1.3 Fehlerbehandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
3.5.2 Die Funktion EXT_ERR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.6 Signalbeschreibungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
KonfigurationPHR4.1.7 12.03.06 de
4 von 126
3.6.1 Eingänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.6.1.1 PGNO_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.6.1.2 PGNO_LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.6.1.3 PGNO_FBIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.6.1.4 REFLECT_PROG_NR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.6.1.5 PGNO_PARITY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.6.1.6 PGNO_VALID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.6.1.7 EXT_START . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.6.1.8 MOVE_ENABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
3.6.1.9 CHCK_MOVENA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
3.6.1.10 CONF_MESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
3.6.1.11 DRIVES_ON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.6.1.12 DRIVES_OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.6.2 Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.6.2.1 STOPMESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.6.2.2 PGNO_REQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.6.2.3 PGNO_FBIT_REFL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.6.2.4 APPL_RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.6.2.5 PERI_RDY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.6.2.6 ALARM_STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.6.2.7 USER_SAF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.6.2.8 T1, T2, AUT, EXTERN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.6.2.9 ON_PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.6.2.10 NEAR_POSRET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
3.6.2.11 PRO_ACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
3.6.2.12 IN_HOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.6.2.13 ERR_TO_PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.6.3 Sonstiges Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.6.3.1 PGNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.6.3.2 PGNO_ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.7 Signaldiagramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
3.7.1 Auto. Anlagenanlauf und Normalbetr. mit Prog.--Nr.--Quitt. durch PGNO_VALID . . . . . . . . 116
3.7.2 Auto. Anlagenanlauf und Normalbetr. mit Prog.--Nr.--Quitt. durch $EXT_START . . . . . . . . 117
3.7.3 Wiederanlauf nach generat. Stop (Bedienerschutz und Wiederanlauf) . . . . . . . . . . . . . . . . . 118
3.7.4 Wiederanlauf nach bahntreuem NOT--AUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
3.7.5 Wiederanlauf nach Fahrfreigabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
3.7.6 Wiederanlauf nach Anwender--HALT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
3.8 Sonstiges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
3.8.1 Wiederanlauf nach passivem Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
3.8.2 Schrittweise Programmausführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
3.8.3 Geschwindigkeit zum Zurückfahren auf die programmierte Bahn . . . . . . . . . . . . . . . . . . . . . 122
3.9 Beispielkonfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
3.9.1 Vereinbarungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
3.10 Meldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
KonfigurationPHR4.1.7 12.03.06 de
5 von 126
Konfiguration
KonfigurationPHR4.1.7 12.03.06 de
6 von 126
1 System konfigurieren
1 System konfigurieren
1.1 Allgemein
Dieses Kapitel befaßt sich mit der Konfigurierung des Systems. Die meisten Funktionen die
zur Konfiguration dienen, befinden sich im Menü “Konfig.”.
*1: Steht erst ab Expertenebene zur Verfügung
Konfig.
Ein/Ausgänge Greifer
Automatik Extern
Treiber--Reset
E/A Rekonfigurieren
SUBMIT--Interpreter Starten/Anwählen
Stoppen
Abwählen
ARC Tech 10
ARC Tech 20
Handverfahren Prog.--OV--Schritte
Hand--OV--Schritte
Mausposition
Mauskonfiguration
Benutzergruppe
akt.Werkzeug/Basis
Werkzeugdefinition Werkzeugtyp
Basistyp
Externe Achse
PowerOff Wartezeit *1
Extras Sprache
Paßwort ändern
*1
Editor DEF--Zeile
Zeilenumbruch e/a
*1
Arbeitsraumüberw. Überbrücken
Konfiguration
Technologieauswahl *1
*1
Reinitialisierung USER Tech reinit.
BOF Reinitialisieren
KonfigurationPHR4.1.7 12.03.06 de
7 von 126
Konfiguration
Datei
Archivieren Alles
Anwendungen
Maschinendaten
*1
Konfig. E/A Treiber
E/A Langtexte
KUKA TechPack
Log Daten
aktuelle Auswahl
Wiederherstellen Alles
Anwendungen
Maschinendaten
*1
Konfig. E/A Treiber
E/A Langtexte
KUKA TechPack
KUKA TechPack
aktuelle Auswahl
KonfigurationPHR4.1.7 12.03.06 de
8 von 126
1 System konfigurieren (Fortsetzung)
In der folgenden Tabelle finden Sie eine Aufstellung der in diesem Kapitel aufgeführten Funk-
tionen:
Funktionen Bedeutung
Bildschirmschoner Aktivierung des Bildschirmschoners nach einer bestimmten
Zeit
Menü “Konfig.”
Ein/Ausgänge Einstellungen für Greifer, die Automatik--Extern--Schnitt-
stelle sowie Langtexte
E/A--Treiber Konfigurieren und Zurücksetzen von Peripherie--Schnittstel-
len
SUBMIT--Interpreter Submit--Interpreter starten und stoppen
Statustasten Belegung der Statustasten für Gripper Tech bzw. ARC Tech
Handverfahren Programm-- und Handoverride-- sowie Mauseinstellungen
Benutzergruppe Zugriff auf bestimmte Benutzerebenen über Paßwort
akt. Werkzeug/Basis Aktuelles Werkzeug, Basissystem und externe Kinematik
Werkzeugdefinition Einstellungen für Werkzeugtyp, Basistyp und Externe Ach-
sen
Ein--/ Kaltstart (beim nächsten Hochfahren Kaltstart durchführen)
Ausschaltoptionen und PowerOff--Wartezeit (Projektierte Wartezeit zum näch-
sten Hochlauf)
Extras
Sprache Die Landessprache der Bedienoberfläche
Paßwort ändern Zugriffskennwort für Benutzerebene ändern
Editor --> Anzeige der DEF--Zeilen innerhalb eines Programmes
DEF--Zeile *1
Editor --> Zusätzliche Informationen im Expertenmodus
Detailansicht ein/aus *1
Editor --> Zeilenumbruch im Programmfenster
Zeilenumbruch ein/aus *1
Office--Option ein/aus *1 Einblenden der KCP--Bedienelemente zur Bedienung mit
der Maus
Arbeitsraumüberw. --> Überwachung der Arbeitsräume ausschalten
Überbrücken *1
Arbeitsraumüberw. --> Einstellen von kartesischen oder achsspezifischen Arbeits-
Konfiguration *1 räumen
Technologieauswahl *1 Zusätzliche Technologien aktivieren bzw. deaktivieren
Reinitialisierung --> Die USER--Tech--Dateien werden ohne Neustart reinitiali-
USERTech reinit. *1 siert
Reinitialisierung --> Die BOF (Bedienoberfläche) wird ohne Neustart reinitiali-
BOF Reinitialisieren *1 siert
*1 erst ab der Expertenebene zugänglich
KonfigurationPHR4.1.7 12.03.06 de
9 von 126
Konfiguration
Menü “Datei”
Archivieren
Maschinendaten Sichern von Maschinendaten auf Diskette
Konfig. *1 Unterschiedliche Konfigurationen auf Diskette sichern
Wiederherstellen
Maschinendaten Zurückschreiben der Maschinendaten von Diskette
Konfig. *1 Konfigurationen von Diskette zurückschreiben
*1 erst ab der Expertenebene zugänglich
KonfigurationPHR4.1.7 12.03.06 de
10 von 126
1 System konfigurieren (Fortsetzung)
1.2 Funktionen
1.2.1 Bildschirmschoner
Zur Schonung der Leuchtstofflampe, die zur Beleuchtung des KCP’s dient, kann die Hinter-
grundbeleuchtung verringert werden. Die normale Lebensdauer einer Leuchtstofflampe be-
trägt ca. 10000 Stunden, was in etwa 1,1 Jahre Dauerbetrieb entspricht. Durch Abschalten
der Hintergrundbeleuchtung kann diese Lebensdauer theoretisch nahezu verdoppelt wer-
den.
Zum Einstellen des Bildschirmschoners muß auf die Expertenebene gewechselt werden,
weil die Windows--Tastenkombinationen benötigt werden. Diese sind standardmäßig auf
Anwenderebene gesperrt.
Vergewissern Sie sich, daß die “NUM”--Anzeige in der Statuszeile deaktiviert ist, damit Sie
die Steuerfunktionen des Nummerblocks verwenden können.
Cursor--Steuerfunktionen
aktiviert
Der KUKA--Screen--Saver muß über das Windows--Startmenü aktiviert werden. Halten Sie
hierzu die “CTRL”--Taste gedrückt und betätigen Sie anschließend ”ESC”. Daraufhin öffnet
sich das Windows--Startmenü.
+ ESC
Anschließend wählen Sie mit den Cursor--Tasten “"” bzw. “#” das Menü “Einstellungen” aus.
KonfigurationPHR4.1.7 12.03.06 de
11 von 126
Konfiguration
Mit der Eingabe--Taste bzw. der Cursor--Taste “!” können Sie jetzt das Untermenü öffnen.
Betätigen Sie jetzt die Eingabe--Taste um das Fenster für die Systemsteuerung zu öffnen.
Gegebenenfalls müssen Sie das Fenster für die Systemsteuerung nach vorne bringen.
Halten Sie hierzu die “Alt”--Taste gedrückt, und betätigen die “Tab”--Taste so oft, bis Sie
das gewünschte Fenster gefunden haben. Lassen Sie anschließend beide Tasten los.
Mit Hilfe der Cursor--Tasten bewegen Sie den Fokus auf das Icon “Anzeige” und betätigen
die Eingabe--Taste. Daraufhin öffnet sich das Eigenschaftsfenster der Anzeige.
KonfigurationPHR4.1.7 12.03.06 de
12 von 126
1 System konfigurieren (Fortsetzung)
Wählen Sie den Reiter für die Bildschirmschoner. Halten Sie hierfür die Taste “CTRL” ge-
drückt und betätigen Sie die “Tab”--Taste so oft, bis Sie die gewünschte Option gefunden ha-
ben. Lassen Sie anschließend beide Tasten los.
Drücken Sie mehrmals die Cursor--Taste “"” bzw. “#” bis unter dem Bereich Bildschirmscho-
ner die Option “Kcpsaver” angezeigt wird.
Mit der “Tab”--Taste bewegen Sie den Fokus anschließend auf das Feld “Einstellungen...”
und drücken die Eingabe--Taste erneut. Daraufhin öffnet sich folgendes Fenster:
Die Leerzeichen--Taste schaltet die Option “Adjust contrast” (Kontrast anpassen) ein bzw.
aus. Mit Hilfe von “Tab” gelangen Sie auf den Bereich “Contrast”, der mit den Cursor--Tasten
“z” bzw. “!” verändert werden kann. Erneutes Betätigen der “Tab”--Taste bewegt den Fo-
kus als nächstes auf die Schaltfläche “OK”. Der nächste Tastendruck ermöglicht schließlich
den Abbruch der Einstellungen durch die Schaltfläche “Cancel”.
Im Fenster “Eigenschaften von Anzeige” kann mit den Tasten “Tab”, “#” und “"” die Wartezeit
eingestellt werden, nach welcher der Bildschirmschoner aktiviert werden soll. Der Wert kann
zwischen 1...60 Minuten eingestellt werden.
Die Einstellungen des Bildschirmschoners können mit der Schaltfläche “OK” übernommen,
oder mit “Abbrechen” verworfen werden.
KonfigurationPHR4.1.7 12.03.06 de
13 von 126
Konfiguration
1.2.1.2 Funktion
Erfolgt für die angegebene Zeit keine Eingabe, aktiviert sich der Bildschirmschoner, indem
die Helligkeit auf “0” heruntergeregelt wird. Falls eingestellt, wird der Kontrast ebenfalls auf
den gesetzten Wert reduziert. Der Mauszeiger wird bei aktiviertem Schoner in der rechten
oberen Ecke des Displays als Glühbirne angezeigt.
Beendet wird der Bildschirmschoner sobald eine Taste am KCP betätigt wird. Dieser Tasten-
druck führt neben dem Beenden des Schoners auch die entsprechende Aktion aus. Ausge-
nommen hiervon sind die Menü-- und Softkeyleiste, die Tasten des Nummernblocks sowie
die Cursor--Tasten. Sie beenden den Bildschirmschoner lediglich.
KonfigurationPHR4.1.7 12.03.06 de
14 von 126
1 System konfigurieren (Fortsetzung)
Nähere Einzelheiten über die Handhabung von Menüs, InLine--Formularen und Zustands-
fenster sind im Kapitel [KCP, das KUKA Control Panel] zu finden.
1.3.1 Ein/Ausgänge
Unter der Option “Ein/Ausgänge” werden Einstellungsmöglichkeiten für Greifer und die
Schnittstelle ’Automatik Extern’ angeboten.
KonfigurationPHR4.1.7 12.03.06 de
15 von 126
Konfiguration
1.3.1.1 Greifer
Nach Anwahl der Option “Greifer” wird das Zustandsfenster zur Greiferkonfiguration geöff-
net. Standardmäßig ist die Anzahl der zur Verfügung stehenden Greifer auf 16 eingestellt.
Greifer <Bezeichnung>
Benennung des Greifers; 24 Zeichen
Greifertyp <Nummer>
Funktionstyp des Greifers
Ausgänge <Nummer>
Zuordnung von Ausgängen der Ro-
botersteuerung zur Aktorik des Grei-
fers
Eingänge <Nummer>
Zuordnung von Eingängen der Robo-
tersteuerung von der Sensorik des
Greifers
Zustand <Bezeichnung>
Benennung der vom Greifertyp ab-
hängigen Greiferzustände; 11 Zei-
chen
Mit den Softkeys “Weiter” bzw. “Vorherig” kann zwischen den insgesamt 16 möglichen Grei-
fern umgeschaltet werden.
Weitere Informationen zum Thema “Greifer” finden Sie in der Beschreibung [Gripper
Tech H50].
Zur Konfiguration der Schnittstelle “Automatik Extern” lesen Sie bitte im Programmier-
handbuch unter [Konfiguration] im Kapitel [Automatik Extern] nach.
KonfigurationPHR4.1.7 12.03.06 de
16 von 126
1 System konfigurieren (Fortsetzung)
1.3.2 E/A--Treiber
Mit den hier angebotenen Funktionen können Sie Peripherie--Schnittstellen am Robotersy-
stem konfigurieren und zurücksetzen.
KonfigurationPHR4.1.7 12.03.06 de
17 von 126
Konfiguration
1.3.2.2 Treiber--Reset
Treiber können über diesen Menübefehl angezeigt, installiert, deinstalliert und modifiziert
werden. Nach Aufruf von “E/A--Treiber” wird zunächst folgendes Zustandsfenster angezeigt:
Das Zustandsfenster ist in zwei verschiedene Bereiche aufgeteilt. Im oberen Bereich befin-
det sich die Treiberliste, darunter die Aktionsliste.
Mit den Cursor--Tasten “"” bzw. “#” kann der gewünschte Treiber bzw. die Aktion ausgewählt
werden.
Die Cursor--Tasten “z” bzw.”!” dienen zum Wechsel zwischen der Treiberliste und der Akti-
onsliste
KonfigurationPHR4.1.7 12.03.06 de
18 von 126
1 System konfigurieren (Fortsetzung)
Die Softkeys “Neuinst.”, Iosys” und “Deinstall” sind erst ab der Expertenebene anwählbar.
Treiberliste
Diese Funktion öffnet ein neues Zustandsfenster zur Installation von zusätzlichen Treibern.
Mit dem Softkey “Iosys” wird die Datei IOSYS.INI zur Bearbeitung in den Editor geladen.
Der Softkey “Schließen” sichert die Änderungen und beendet den Editor
KonfigurationPHR4.1.7 12.03.06 de
19 von 126
Konfiguration
Alle E/A--Treiber werden rekonfiguriert. Dazu darf kein Programm angewählt sein. Während
die Funktion ausgeführt wird, stehen die Funktionen in der Softkeyleiste nicht zur Verfügung.
Weitere Informationen erhalten Sie über den Softkey “Info”, der die Datei “IOSYS.LOG”
schreibgeschützt in den Editor lädt.
Der ausgewählte Treiber wird deinstalliert und der Eintrag aus der Treiberliste entfernt, wenn
der Softkey “Deinstall” gedrückt wird.
Aktionsliste
Befindet sich der Fokus in der Aktionsliste, stehen die Softkeys “Uninstall” und “Reset” nicht
zur Verfügung. Sie werden durch “Wechseln” und “OK” ersetzt.
Der Fokus wird in die Treiberliste gesetzt.
Es wird die Aktion ausgeführt, auf welcher sich der Fokus befindet. Folgende Aktionen sind
möglich:
Mit dem Softkey “Schließen” kann die Aktion beendet und das Zustandsfenster geschlossen
werden.
KonfigurationPHR4.1.7 12.03.06 de
20 von 126
1 System konfigurieren (Fortsetzung)
KonfigurationPHR4.1.7 12.03.06 de
21 von 126
Konfiguration
1.3.3 Submit--Interpreter
Der Submit--Interpreter ist ein Programm, das parallel zum Roboterprogramm im Hinter-
grund abläuft. Da dieses Programm völlig unabhängig vom angewählten Roboterprogramm
läuft, können Steuerungsaufgaben unterschiedlichster Art damit bewältigt werden. Dies
kann die Steuerung und Überwachung eines Kühlkreislaufs, die Überwachung von Schutz-
vorrichtungen oder auch die Einbindung zusätzlicher Peripheriegeräte sein. Für kleinere
Aufgaben wird so der Einsatz einer zusätzlichen SPS hinfällig, da diese Aufgaben von der
KRC1 mitübernommen werden können.
Hier können Sie den Submit--Interpreter starten, stoppen oder abwählen.
In der Statuszeile wird der jeweilige Zustand des Submit--Interpreters angezeigt. Grün be-
deutet, der Submit--Interpreter läuft. Eine rote Anzeige hingegen stellt den gestoppten Sub-
mit--Interpreter dar. Keinerlei farbige Hinterlegung bedeutet, daß der Submit--Interpreter ab-
gewählt ist.
Starten/Anwählen
Stoppen
Abwählen
KonfigurationPHR4.1.7 12.03.06 de
22 von 126
1 System konfigurieren (Fortsetzung)
1.3.4 Statustasten
Wählen Sie hier aus, mit welchen Funktionen die frei verfügbaren Statustasten (links unten
im Display) belegt werden sollen.
Der Inhalt dieses Untermenüs kann sich ändern, wenn zusätzliche Technologien installiert
werden.
Die jeweils ausgewählte Option bleibt auch nach einem Neustart erhalten.
KonfigurationPHR4.1.7 12.03.06 de
23 von 126
Konfiguration
1.3.5.3 Mausposition
Wird der Roboter mit Hilfe der Space--Mouse im Roboterkoordinatensystem bewegt, kann
der Bediener seinen eigenen Standort der Steuerung bekannt geben.
1.3.5.4 Mauskonfiguration
Hier können Sie die Freiheitsgrade und die dominante Achse der Space--Mouse einstellen.
KonfigurationPHR4.1.7 12.03.06 de
24 von 126
1 System konfigurieren (Fortsetzung)
1.3.6 Benutzergruppe
Zur Erhöhung der Systemsicherheit können Funktionen der Robotersteuerung bzw. deren
Programmierung für bestimmte Benutzergruppen gesperrt werden. Zu diesem Zweck kann
der Zugang zu Funktionen derart eingeschränkt werden, daß es nur innerhalb bestimmter
“Benutzerebenen” möglich ist, Zugriff darauf zu erhalten. Der Zugang wird dann durch ein
Paßwort geschützt.
Die Software der KRC--Steuerung unterscheidet standardmäßig zwischen dem Anwender
und dem Experten. Der Anwender benötigt keine Programmiersyntaxkenntnisse, da er me-
nügeführt Programme erstellt. Bei Neustart des Systems ist standardmäßig automatisch die
Anwenderebene angewählt.
Reichen die Funktionen der Anwenderebene nicht aus, kann auf die Expertenebene ge-
wechselt werden. Der Experte kann dann über die ASCII--Tastatur in der Roboterprogram-
miersprache KRL (KUKA Robot Language) programmieren sowie System--, bzw. Initialisie-
rungsdateien (Bussysteme) editieren. KRL ist eine Hochsprache, die PASCAL--ähnlich und
somit auch für die Programmierung von komplexen Aufgaben geeignet ist.
Paßwort Der Zugang zur Expertenebene ist durch eine Paßwort geschützt. Zum Wechseln in die Ex-
pertenebene öffnen Sie über den Menükey “Konfig.” ein Auswahlmenü, in dem der Menü-
punkt “Benutzergruppe” enthalten ist.
Nach dem Systemstart befinden Sie sich normalerweise in der Benutzergruppe “Anwender”.
Höhere “Benutzerebenen” sind nur nach Eingabe eines ebenenabhängigen Paßwortes zu
erreichen.
Nach Betätigen eines der angebotenen Softkeys zur Auswahl der Benutzergruppe ändert
sich der Inhalt des Zustandsfensters. Sie werden zur Eingabe des Paßwortes für die ausge-
wählte Benutzergruppe, hier “Experte”, aufgefordert.
KonfigurationPHR4.1.7 12.03.06 de
25 von 126
Konfiguration
Geben das Paßwort für die angewählte Benutzergruppe ein (Groß-- bzw. Kleinschreibung
wird ignoriert) und betätigen Sie den Softkey “Weiter”.
Sie können diese Funktion jederzeit verlassen. Betätigen Sie dazu einfach den Softkey
“Schließen”. Die Benutzergruppe wird in diesem Fall nicht gewechselt.
Beachten Sie die auch die Mitteilungen im Meldungsfenster.
KonfigurationPHR4.1.7 12.03.06 de
26 von 126
1 System konfigurieren (Fortsetzung)
Mit Hilfe der Cursor--Tasten “#” bzw. “"” können Sie zum nächsten bzw. vorherigen Eingabe-
feld wechseln. Die Nummer können Sie entweder über das Nummernfeld eintippen, oder mit
dem entsprechenden Statuskey auf der rechten Seite des Displays verändern.
Es kann immer nur ein Basissystem oder eine externe Achse aktiv sein.
Steht im Eingabefeld die Nummer “0”, ist das betreffende Werkzeug, die Basis bzw. ex-
terne Achse deaktiviert.
Der Softkey “OK” übernimmt die eingestellten Werte. Wurde der Wertebereich in einem der
Eingabefelder überschritten, die Nummer eines nicht definierten Werkzeugs oder einer nicht
definierten Basis bzw. externen Achse gewählt, wird eine entsprechende Fehlermeldung im
Meldungsfenster ausgegeben.
Der Softkey “Abbruch” schließt das Zustandsfenster, ohne die eingestellten Werte zu über-
nehmen.
KonfigurationPHR4.1.7 12.03.06 de
27 von 126
Konfiguration
1.3.8 Werkzeugdefinition
Mit dieser Funktion können Sie Bezeichnungen für den Werkzeugtyp, Basistyp sowie die ex-
terne Achse vergeben.
Öffnen Sie das Menü “Konfig.” und wählen das Untermenü “Werkzeugdefinition” sowie die
entsprechende Option aus.
Im Anschluß daran wird eines der folgendes Zustandsfenster für “Werkzeugtyp”, “Basistyp”
oder “ext. Basistyp” geöffnet. In der Softkeyleiste stehen drei verschieden Optionen zur Aus-
wahl:
Mit dem Softkey “Bearb.” kann der Name des vermessenen Typs geändert werden. Hierzu
wählen sie mit den Cursor--Tasten “#” bzw. “"” die gewünschte Zeile aus und drücken den
Softkey “Bearb.”.
Betätigen des Softkeys “OK” übernimmt die getätigten Änderungen und schließt das Zu-
standsfenster.
KonfigurationPHR4.1.7 12.03.06 de
28 von 126
1 System konfigurieren (Fortsetzung)
Werkzeugtyp
G Werkzeug
Normales Werkzeug am Roboterflansch
G Werkstück
Der Roboter bewegt das Werkstück
G undefiniert
Es wurde noch kein Werkzeugtyp vermessen
Basistyp
G Werkzeug
Ein externes Werkzeug (z.B. Schweißzange) ist montiert
G Offset
Ein Basistyp wurde vermessen
KonfigurationPHR4.1.7 12.03.06 de
29 von 126
Konfiguration
G undefiniert
Es wurde noch kein Basistyp vermessen
Externe Achse
Externer Basistyp
(”Werkzeug”, “Offset” oder “undefiniert”)
G Werkzeug
Ein externes Werkzeug ist montiert
G Offset
Eine externe Achse bzw. externe Kinematik wurde vermessen
G undefiniert
Es wurde noch kein externer Basistyp vermessen
KonfigurationPHR4.1.7 12.03.06 de
30 von 126
1 System konfigurieren (Fortsetzung)
1.3.9 Ein/Ausschaltoptionen
Hier können Kaltstart und PowerOff--Wartezeit gesetzt werden.
Der Menübefehl “Kaltstart erzwingen” ist nicht selbsthaltend, d.h. er muß für jeden ge-
wünschten Kaltstart neu aktiviert werden.
Bei einem Warmstart hingegen, den die Steuerung auch selbständig nach einem Span-
nungsausfall durchführt, kann das vorher angewählte Roboterprogramm fortgesetzt wer-
den. Der Zustand des Grundsystems wie Programme, Satzzeiger, Variableninhalte und Aus-
gänge werden komplett wiederhergestellt. Der Spannungsausfall kann z.B. durch Ausfall der
Stromversorgung oder durch Betätigen des Hauptschalters im laufenden Programm erzeugt
worden sein.
Stellt die Steuerung nach dem Wiederanlauf einen Systemfehler oder geänderte Daten fest,
wird ein automatischer Kaltstart erzwungen.
KonfigurationPHR4.1.7 12.03.06 de
31 von 126
Konfiguration
1.3.10 Extras
Unter diesem Menüpunkt sind weitere Optionen zusammengefaßt, die im Anschluß genauer
beschrieben werden.
1.3.10.1 Sprache
Hier können Sie die Bedienoberfläche auf Ihre Landessprache einstellen.
Anschließend öffnet sich ein Zustandsfenster, in dem Sie die gewünschte Sprache auswäh-
len können.
KonfigurationPHR4.1.7 12.03.06 de
32 von 126
1 System konfigurieren (Fortsetzung)
Mit den Cursor--Tasten “#” bzw. “"” kann die gewünschte Sprache markiert werden.
Die Auswahl der zur Verfügung stehenden Sprachen der Bedienoberfläche hängt von der
installierten Windows-- Sprache ab.
Der Softkey “OK” übernimmt die Auswahl und schließt das Zustandsfenster. Anschließend
wird nach kurzer Wartezeit die Bedienoberfläche in der gewünschten Landessprache ange-
zeigt.
Der Softkey “Abbruch” schließt das Zustandsfenster ohne Änderung der Bedienoberfläche.
KonfigurationPHR4.1.7 12.03.06 de
33 von 126
Konfiguration
Nach Anwahl der entsprechenden Option öffnet sich ein Zustandsfenster. Sie werden aufge-
fordert, per Softkey die Benutzergruppe auszuwählen, deren Kennwort geändert werden
soll.
In der Grundeinstellung des Systems werden nur die Benutzergruppen “Anwender” und
“Experte” angeboten.
Sie können die Funktion jederzeit verlassen, ohne die eingegebenen Daten zu speichern.
Betätigen Sie dazu einfach den Softkey “Schließen”.
Haben Sie eine Benutzergruppe gewählt, erscheint ein weiteres Zustandsfenster. Tragen
Sie hier das alte und das neue Kennwort sowie dessen Bestätigung ein.
KonfigurationPHR4.1.7 12.03.06 de
34 von 126
1 System konfigurieren (Fortsetzung)
1.3.10.3 Editor
DEF--Zeile
Ist die Funktion aktiviert, wird die DEF--Zeile des Programms angezeigt, welche normaler-
weise unsichtbar ist.
ausgeschaltet
eingeschaltet
Erst wenn die DEF--Zeile sichtbar ist, können Deklarationen vorgenommen werden. Diese
Funktion ist standardmäßig erst ab der Benutzergruppe “Experte” verfügbar. Sie wird auto-
matisch deaktiviert, sobald der Bediener einen Neustart vornimmt oder wieder in den An-
wendermodus zurückschaltet.
KonfigurationPHR4.1.7 12.03.06 de
35 von 126
Konfiguration
Ist die Funktion “Detailansicht” ausgeschaltet, werden beispielsweise alle Texte in einer
FOLD--Zeile unterdrückt, welche nach den Zeichen “;%” geschrieben werden. Diese Informa-
tionen werden aber zur Anzeige eines Inline--Formulars benötigt.
ausgeschaltet
Eingeschaltet zeigt die Funktion weitere Informationen an, die normalerweise unsichtbar
bleiben.
eingeschaltet
Erst wenn alle FOLDs geöffnet sind und “Detailansicht ein/aus” ausgeschaltet ist, sind
dem Programmierer alle vorhandenen Programmzeilen verfügbar. Die Darstellung auf
der Bedienoberfläche entspricht dann der Darstellung in einem normalen Texteditor.
KonfigurationPHR4.1.7 12.03.06 de
36 von 126
1 System konfigurieren (Fortsetzung)
Zeilenumbruch ein/aus
Hiermit können Sie im Programmfenster den Zeilenumbruch wahlweise ein-- bzw. ausschal-
ten.
...eingeschaltet
Standardmäßig ist der Zeilenumruch eingeschaltet, wobei im Programmfenster alle Informa-
tionen angezeigt werden. Ist die Zeile für das Programmfenster zu lang, wird sie an einer
entsprechenden Stelle umgebrochen.
eingeschaltet
Der umgebrochene Teil der Zeile besitzt keine Zeilennummer und wird stattdessen mit einem
Pfeil markiert.
...ausgeschaltet
Ist der Zeilenumbruch deaktiviert und die Zeile kann aufgrund ihrer Länge nicht auf einmal
im Programmfenster angezeigt werden, können Sie den Inhalt des Programmfensters ver-
schieben. Benutzen Sie hierfür die Cursor--Tasten “z” bzw. “!”.
ausgeschaltet
KonfigurationPHR4.1.7 12.03.06 de
37 von 126
Konfiguration
Nach Aufruf des Menübefehls ist die “Office--Option” eingeschaltet. Im Meldungsfenster wird
eine entsprechende Meldung ausgegeben.
Fensterwahltaste
Programmstop
Initialisierungstaste
Programmstart vorwärts
Zustimmtaste
KonfigurationPHR4.1.7 12.03.06 de
38 von 126
1 System konfigurieren (Fortsetzung)
Wenn der Mauszeiger sich über diesem Symbol befindet, kann mit einem Klick auf die linke
Maustaste der Programmablauf gestoppt werden.
Mit einem Mausklick auf dieses Symbol wird der Programmstart vorwärts aktiv.
Wird dieses Symbol angeklickt, werden die KUKA--Technologie--Pakete, die Datenliste und
sämtliche *.OCX--Dateien neu initialisiert.
Ein erneuter Aufruf des Befehls schaltet die Option wieder aus. Auch in diesem Fall erfolgt
eine Anzeige im Meldungsfenster.
KonfigurationPHR4.1.7 12.03.06 de
39 von 126
Konfiguration
1.3.10.5 Arbeitsraumüberwachung
Die Arbeitsraumüberwachung kann ausgeschaltet werden, um beispielsweise einen Robo-
ter wieder aus einem verletzten Arbeitsraum herauszufahren.
Weitere Informationen zum Thema Arbeitsraum finden Sie im Kapitel [System konfigu-
rieren Experte], Abschnitt [Arbeitsraumüberwachung].
KonfigurationPHR4.1.7 12.03.06 de
40 von 126
1 System konfigurieren (Fortsetzung)
1.3.10.6 Technologieauswahl
Im Zustandsfenster können Sie eine oder mehrere Optionen aktivieren bzw. deaktivieren.
Benutzen Sie hierzu die Cursor--Tasten “#” bzw. “"” und wählen die gewünschten Technolo-
gien aus. Ein Druck auf die Leertaste schaltet die jeweilige Technologie ein bzw. aus.
Der Softkey “Markieren” hat die gleiche Funktion wie die Leertaste. Mit ihm können die ge-
wünschten Technologien aktiviert bzw deaktiviert werden.
“OK” schließt das Zustandsfenster und lädt die ausgewählten Technolgien in das System.
KonfigurationPHR4.1.7 12.03.06 de
41 von 126
Konfiguration
Der Softkey “Abbruch” schließt das Zustandsfenster ohne die Änderungen zu übernehmen.
KonfigurationPHR4.1.7 12.03.06 de
42 von 126
1 System konfigurieren (Fortsetzung)
1.3.10.7 Reinitialisierung
USERTech reinitialisieren
Geänderte USERTech--Daten können ohne Systemstart erneut eingelesen werden.
BOF Reinitialisieren
Die Bedienoberfläche wird ohne einen Systemstart reinitialisiert. Daraufhin wird der Fort-
schritt der Reinitialisierung im Display bzw. Meldungsfenster angezeigt.
KonfigurationPHR4.1.7 12.03.06 de
43 von 126
Konfiguration
1.4.1 Archivieren
Betätigen Sie hierfür den Menükey “Datei” und wählen das Untermenü “Archivieren” aus.
Hier haben Sie die Möglichkeit zwischen folgenden Optionen.
1.4.2 Wiederherstellen
Betätigen Sie auch hierfür den Menükey “Datei” und wählen das Untermenü “Wiederherstel-
len” aus.
KonfigurationPHR4.1.7 12.03.06 de
44 von 126
2 System konfigurieren Experte
2.1.1 Anzeigen
2.1.2 Konfiguration
Nach Aufruf dieses Befehls wird das entsprechende Zustandsfenster angezeigt. Hier kön-
nen Variablen zu verschiedenen Gruppe zusammengefaßt werden.
Mit Hilfe der Cursor--Tasten können Sie gezielt ein Element der Gruppe auswählen und Än-
derungen vornehmen.
Der Status gibt an, ob eine Variable ständig aktualisiert wird (SetInfo). Pro Gruppe dürfen
bis zu 12 Variablen ständig überwacht werden.
KonfigurationPHR4.1.7 12.03.06 de
45 von 126
Konfiguration
Bei der Ausgabe (”Variablen” --> ”Übersicht” --> “Anzeigen”) wird an dieser Stelle der Wert
der Variablen angezeigt.
Die Reiter geben an, welche der maximal 10 verschiedenen Gruppen gerade angezeigt wird.
Mit Hilfe des Nummernblocks können die gewünschten Werte für die Spaltenbreite und Zei-
lehöhe eingegeben werden.
Die Spaltenbreite bzw. Zeilenhöhe kann auch direkt mit einer am System angeschlosse-
nen PC--Maus verändert werden. Dazu bewegen Sie den Mauszeiger auf die Trennlinie
in die Titelzeile bzw. --spalte, halten die linke Maustaste gedrückt und ziehen die Linie auf
die gewünschte Position.
Die Benutzergruppe, ab der die Variablengruppe angezeigt bzw. verändert werden kann,
wird mit dem entsprechenden Auswahlmenü eingestellt.
Mit Hilfe der Cursor--Tasten können Sie das entsprechende Auswahlmenü öffnen und eine
andere Benutzergruppe anwählen.
Mit dem Softkey “Tab +” kann die nächste zur Verfügung stehende Gruppe angewählt wer-
den.
Eine ausführliche Beschreibung zur Anzeige der Variablenübersicht finden Sie im Haupt-
kapitel [Bedienung] im Kapitel [Anzeige].
Der Softkey “Wechseln” bewegt den Fokus im Zustandsfenster auf das jeweils nächste zur
Verfügung stehende Eingabefeld.
Die Option “Einfügen” ermöglicht das hinzufügen von neuen Gruppen bzw. Zeilen. Nach
drücken des Softkeys stehen die folgenden Optionen zur Verfügung:
Gruppe hinzufügen
Eine neue Gruppe wird vor der gerade aktuellen eingefügt.
KonfigurationPHR4.1.7 12.03.06 de
46 von 126
2 System konfigurieren Experte (Fortsetzung)
Zeile einfügen
Eine neue Zeile wird vor der mit dem Fokus markierten Zeile eingefügt
Eine neue Zeile wird unter der mit dem Fokus markierten Zeile einge-
fügt
Im Anschluß daran kann die neue Zeile mit den gewünschten Werten gefüllt werden. Bewe-
gen Sie den Fokus auf das gewünschte Feld und drücken die Eingabe--Taste. Anschließend
kann das jeweilige Feld mit Werten (Bezeichnungen, Variablen usw.) gefüllt werden.
Die Option “Löschen” ermöglicht das Entfernen von einzelnen Zeilen oder einer Gruppe.
Nach drücken des Softkeys stehen die folgenden Optionen zur Verfügung:
KonfigurationPHR4.1.7 12.03.06 de
47 von 126
Konfiguration
Die Zeile, auf der sich der Fokus befindet, wird gelöscht.
Mit dem Softkey “Schließen” werden die Änderungen übernommen und das Zustandsfen-
ster geschlossen.
Mit “Abbruch” wird die Aktion beendet und das Zustandsfenster geschlossen.
Beinhaltet die Datei “ConfigMon.ini” ungültige Einträge, wird deren Ladevorgang vom Sy-
stem automatisch abgebrochen. Eine Fehlermeldung wird in diesem Falle nicht ausgege-
ben.
KonfigurationPHR4.1.7 12.03.06 de
48 von 126
2 System konfigurieren Experte (Fortsetzung)
2.2 Langtext
Dieses Online--Programm überträgt eine Zuweisungsliste in die Kuka--Langtextdatenbank.
Nach einer Neuinstallation müssen so die Langtexte nicht mehr bei jedem Roboter per Hand
erneut eingegeben werden.
Angezeigt werden Langtexte in den Zustandsfenstern für Ein--/Ausgänge, Merker, Flags,
Zähler und Timer.
Diese Option ist über den Menükey “Inbetriebn.” und den Menübefehl “Service” zu erreichen.
KonfigurationPHR4.1.7 12.03.06 de
49 von 126
Konfiguration
Der Statuskey “Langtext --> Datenbank” liest eine Textdatei ein und überträgt sie in die
KUKA--Langtextdatenbank.
Der Statuskey “Datenbank --> Langtext” erzeugt eine Textdatei aus der KUKA--Langtextda-
tenbank. Hierzu kann der Pfad und Name der zu sichernden Datei angegeben werden.
Der Statuskey “Langtext (IO’s) --> Anwenderprogramm” aktualisiert die Langtexte von An-
wenderprogrammen.
Die Option “Alle Dateien auswählen“ trägt die Langtextinformationen in alle An-
wenderprogramme ein
Mit diesem Softkey kann die KUKA--Langtextdatenbank eingesehen und verändert werden.
Anschließend stehen die folgenden Optionen zur Verfügung:
Die Änderungen werden nicht gesichert und die Datenbankansicht wird geschlos-
sen.
Die Informationen werden in die Langtextdatenbank eingetragen bzw. aus ihr exportiert.
KonfigurationPHR4.1.7 12.03.06 de
50 von 126
2 System konfigurieren Experte (Fortsetzung)
Liegt einer der Werte außerhalb des erlaubten Wertebereichs, erfolgt keine Geschwindig-
keitsreduzierung.
Warmlaufzeit
Nach Aktivieren der Funktionalität mittels “$WARMUP_RED_VEL = TRUE” sowie nach ei-
nem Kaltstart wird der Roboter als noch nicht warmgelaufen angesehen. Für die Dauer des
Warmlaufs ($WARMUP_TIME) werden die Motorströme bei PTP--PTP-- und PTP--CP--Be-
wegungen in den Betriebsarten “Automatik” und “Automatik Extern” überwacht. Überschrei-
tet der Motorstrom einer Achse den durch die Variable $WARMUP_CURR_LIMIT festgeleg-
ten Wert (max. zul. Motorstrom * $WARMUP_CURR_LIMIT), erfolgt eine Absenkung des
Soll--Overrides um höchstens $WARMUP_MIN_FAC, bis der zulässige Motorstrom nicht
mehr überschritten wird. Im Meldungsfenster erfolgt die Ausgabe der Zustandsmeldung
“Warmfahren aktiv”.
Schlägt die Überwachung nicht mehr an, wird der Override schrittweise um $WAR-
MUP_SLEW_RATE bis zum eingestellten Soll--Override erhöht.
Nach Erreichen der Warmlaufzeit ist die Geschwindigkeitsreduzierung deaktiviert, die
Ströme werden also nicht mehr überwacht.
KonfigurationPHR4.1.7 12.03.06 de
51 von 126
Konfiguration
Abkühlzeit
Als Abkühlzeit wird die Zeit gerechnet, in der der Roboter nicht bewegt wird. Auch ein Herun-
terfahren mit anschließendem Warmstart zählt als Abkühlzeit. Überschreitet die Abkühlzeit
den mit $COOLDOWN_TIME festgelegten Wert, wird der Roboter als nicht warmgelaufen
angesehen und die Motorströme werden wieder überwacht.
Logbuch--Datei
Bestimmte Ereignisse werden in der Datei “Warmup.log” (Pfad “KRC:\Roboter\Log\”) mit-
protokolliert.
...
Date: 21.08.03 Time: 14:46:57 State: Monitoring active
Date: 21.08.03 Time: 14:54:06 State: Controlling active
Date: 21.08.03 Time: 14:54:07 State: Controlling inactive
Date: 21.08.03 Time: 18:23:43 State: Monitoring inactive
...
Die Einträge besitzen folgende Bedeutung:
G Monitoring active: Überwachung der Motorströme eingeschaltet
G Monitoring inactive: Überwachung der Motorströme ausgeschaltet
G Controlling active: Geschwindigkeitsreduzierung aktiviert
G Controlling inactive: Geschwindigkeitsreduzierung deaktiviert
Beispiel “$MACHINE.DAT”
Die Geschwindigkeitsreduzierung ist aktiviert und eine Warmlaufzeit von 30 Minuten ein-
gestellt. Bei einem Stillstand des Roboters von über 360 Minuten wird die Überwachung
der Motorströme wieder aktiv. Gegebenenfalls ist ein erneutes Warmfahren erforderlich.
Erreicht einer der Motorströme 99 Prozent des maximal zulässigen Motorstroms, wird der
Override auf höchstens 60 Prozent heruntergefahren (Hierfür wird der interne Override
von 60 % mit dem Soll--Override z. B. POV=100 % multipliziert).
Liegen die Motorströme unterhalb des zulässigen Wertes, wird der Override schrittweise
um den Wert von 5 % pro Sekunde erhöht.
KonfigurationPHR4.1.7 12.03.06 de
52 von 126
2 System konfigurieren Experte (Fortsetzung)
Eintrag Bedeutung
; ... Beliebiger Kommentar
M_xxxx Gibt die betreffende Meldungsnummer an
TRUE Meldung ist in der Betriebsart “Automatik Extern” quittierbar
FALSE Meldung ist in der Betriebsart “Automatik Extern” nicht quittierbar
Durch die Projektierung der Datei “EXT_CONF.INI” wird das Systemverhalten gegenüber der
Standardkonfiguration geändert.
KonfigurationPHR4.1.7 12.03.06 de
53 von 126
Konfiguration
2.5.2 PC--Lüfter
Diese Funktion überprüft im Rechnerteil des Steuerschranks “KR C2” die Drehzahlen des
Lüfters auf zwei Werte.
G Unterschreitet die Drehzahl des Lüfters den ersten Wert, erfolgt die Ausgabe einer nicht
quittierbaren Meldung im Meldungsfenster.
G Wird der zweite Wert unterschritten, erfolgt ebenfalls die Ausgabe einer Fehlermeldung
und der Roboter wird gestoppt.
Über die Variablenkorrektur können Sie die aktuelle Drehzahl des Lüfters abfragen, indem
Sie in die Eingabezeile die Variable “$PC_FANSPEED” eingeben. Wurde die Überwachung
deaktiviert, erfolgt die Anzeige von “--1”. Wird ein Office--PC verwendet oder ist keine MFC2
vorhanden, wird “--2” ausgegeben.
2.5.4 Motorkabelüberwachung
Für bestimmte Robotertypen an der “KR C2”--Steuerung sind zusätzliche Motorkabel für die
Achsen 1 ... 3 erforderlich. Mit einem Eintrag in der Datei “C:\KRC\Robo-
ter\KRC\R1\MaDa\$machine.dat” wird die Überwachungsfunktion eingeschaltet (TRUE)
bzw. ausgeschaltet (FALSE).
BOOL $CABLE2_MON=FALSE
Ist die Funktion aktiviert, und die erforderlichen sind Kabel nicht angeschlossen, erfolgt die
Ausgabe einer nicht quittierbaren Meldung im Meldungsfenster.
KonfigurationPHR4.1.7 12.03.06 de
54 von 126
2 System konfigurieren Experte (Fortsetzung)
2.6.1 Funktion
Zum Einschalten der Simulation steht die Variable “$IOSIM_OPT” zur Verfügung. Öffnen Sie
hierzu die Variablenkorrektur und ändern Sie deren Wert auf “TRUE”.
Die Simulation ist damit zwar grundsätzlich eingeschaltet, es müssen aber noch die betroffe-
nen Ein-- bzw. Ausgänge gesetzt werden. Hierzu dienen die Variablen “$INSIM_TBL[x]” und
“$OUTSIM_TBL[x]”.
Jedem der Ein-- bzw. Ausgänge kann einer der folgenden Zustände zugewiesen werden:
G #NONE Der Ein-- bzw. Ausgang wird nicht simuliert und bleibt damit unver--
ändert;
G #SIM_TRUE Der Ein--/Ausgang wird gesetzt, was in der Anzeige der Digitalen
Ein--/Ausgänge abgelesen werden kann;
G #SIM_FALSE Der Ein-- bzw. Ausgang wird ausgeschaltet, was ebenfalls in der
Anzeige der Digitalen Ein--/Ausgänge abgelesen werden kann.
Einige Ein-- bzw. Ausgänge dürfen aus Systemgründen nicht verwendet werden. Sie sind
mit einem Schreibschutz versehen und können daher nicht verändert werden.
KonfigurationPHR4.1.7 12.03.06 de
55 von 126
Konfiguration
Jeder der Ein-- bzw. Ausgänge kann einen der folgenden Zustände annehmen:
G 0 Kein Signal (FALSE)
G 1 Signal liegt an (TRUE)
G 2 Simuliertes Signal ist auf “FALSE” gesetzt (ausgeschaltet)
G 3 Simuliertes Signal ist auf “TRUE” gesetzt (eingeschaltet)
G 4 System Signal ist auf “FALSE” gesetzt (ausgeschaltet)
G 5 System Signal ist auf “TRUE” gesetzt (eingeschaltet)
Auch die Variablen “$IN[ ]” und “$OUT[ ]” geben die Belegung der Ein-- bzw. Ausgänge in
einer Zeile aus, wenn keine Nummer angegeben wird. Allerdings wird nicht zwischen physi-
kalischen und simulierten I/O’s unterschieden, sondern nur, ob ein Signal anliegt oder nicht.
KonfigurationPHR4.1.7 12.03.06 de
56 von 126
2 System konfigurieren Experte (Fortsetzung)
Jeder der Ein-- bzw. Ausgänge kann einen der folgenden Zustände annehmen:
G 0 Kein physikalisches Signal (FALSE)
G 1 Physikalisches Signal liegt an (TRUE)
2.6.2 Optionen
Die nachfolgend beschriebenen Optionen sind für die Simulation der Ein--/Ausgänge nicht
notwendig, aber hilfreich.
Zustimmtaste ($OUT_NODRIVE)
Zum Umschalten der Ausgänge muß normalerweise einer der Zustimmtaster gedrückt ge-
halten werden. Durch Setzen der Variablen “$OUT_NODRIVE” auf “TRUE” kann dies unter-
bunden werden.
KonfigurationPHR4.1.7 12.03.06 de
57 von 126
Konfiguration
Wird ein Ausgang simuliert, kann dieser während der Simulation nicht mehr über die Varia-
blenkorrektur (”$OUT[x]”) oder im Zustandsfenster umgeschaltet werden. Dazu muß die
Simulation für diesen Ausgang zuerst ausgeschaltet werden.
KonfigurationPHR4.1.7 12.03.06 de
58 von 126
2 System konfigurieren Experte (Fortsetzung)
2.7 5 Home--Positionen
Ab der Softwareversion 2.3 kann der Anwender zusätzlich zur Home--Position weitere 5 Ho-
me--Positionen definieren. Insgesamt stehen dann 6 verschiedene Positionen zur Auswahl.
Analog zur bisherigen Home--Position “$H_POS”, bei deren Erreichen die Variable
“$IN_HOME” auf “TRUE” gesetzt wird, werden für die Positionen “$AXIS_HOME[1]” ...
“$AXIS_HOME[5]” jeweils die Variablen “$IN_HOME1” ... “$IN_HOME5” auf “TRUE” ge-
setzt.
Wie bei “$H_POS” gilt auch bei den 5 zusätzlichen Home--Positionen das durch die Variable
“$H_POS_TOL” definierte Toleranzband. Befinden sich alle Achsen innerhalb dieses Tole-
ranzfensters, wird der zugehörige Ausgang gesetzt.
&PARAM VERSION=3.4.0
&REL 4
DEFDAT $MACHINE PUBLIC
.
.
.
E6AXIS $H_POS={A1 0.0,A2 -90.0,A3 90.0,A4 0.0,A5 0.0,A6 0.0,E1
0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
E6AXIS $AXIS_HOME[5]
$AXIS_HOME[1]={A1 0.0,A2 -90.0,A3 90.0,A4 0.0,A5 0.0,A6 0.0,E1
0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
$AXIS_HOME[2]={A1 0.0,A2 -90.0,A3 90.0,A4 0.0,A5 0.0,A6 0.0,E1
0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
$AXIS_HOME[3]={A1 0.0,A2 -90.0,A3 90.0,A4 0.0,A5 0.0,A6 0.0,E1
0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
$AXIS_HOME[4]={A1 0.0,A2 -90.0,A3 90.0,A4 0.0,A5 0.0,A6 0.0,E1
0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
$AXIS_HOME[5]={A1 0.0,A2 -90.0,A3 90.0,A4 0.0,A5 0.0,A6 0.0,E1
0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
.
.
.
KonfigurationPHR4.1.7 12.03.06 de
59 von 126
Konfiguration
&PARAM VERSION=3.4.0
DEFDAT $MACHINE PUBLIC
.
.
.
SIGNAL $IN_HOME $OUT[1000] ;ROB IN HOMEPOSITION
.
.
.
SIGNAL $IN_HOME1 $OUT[977]
SIGNAL $IN_HOME2 $OUT[978]
SIGNAL $IN_HOME3 $OUT[979]
SIGNAL $IN_HOME4 $OUT[980]
SIGNAL $IN_HOME5 $OUT[981]
.
.
.
ENDDAT
KonfigurationPHR4.1.7 12.03.06 de
60 von 126
2 System konfigurieren Experte (Fortsetzung)
2.8 Arbeitsraumüberwachung
Bis zu acht kubische bzw. achsspezifische Arbeitsräume können automatisch überwacht
werden. Diese Arbeitsräume dürfen sich auch überlappen, um komplexere Formen zu bil-
den. Wird einer dieser definierten Arbeitsräume verletzt, setzt die Steuerung einen vorher
zugewiesenen Ausgang. Das bereitgestellte Ausgangssignal kann dann vom KRL--Pro-
gramm oder von einem externen Leitrechner weiterverarbeitet werden. Der Roboter kann
hierbei auch angehalten und eine Fehlermeldung ausgegeben werden.
Je nach Geschwindigkeit des Roboters kann dessen Bremsweg variieren und der Roboter
bis zum Stillstand noch in den Arbeitsraum hinein bzw. aus ihm heraus gelangen! Sorgen
Sie aus diesem Grund für entsprechende Abstände zwischen den Arbeitsräumen und den
zulässigen bzw. nicht zulässigen Bereichen!
2.8.1.1 Konfiguration
Die Definition von kubischen Arbeitsräumen erfolgt über mehrere Zustandsfenster auf Ex-
pertenebene. Rufen Sie hierzu den Menübefehl “Konfig.” --> Extras” --> “Arbeitsraumüber-
wachung” --> “Konfiguration” auf.
KonfigurationPHR4.1.7 12.03.06 de
61 von 126
Konfiguration
Im Zustandsfenster “Signal” können Sie für jeden Arbeitsraum einen Ausgang festlegen. Bei
Verletzung eines Arbeitsraumes wird der zuvor festgelegte Ausgang gesetzt.
Die KRL--Signalvereinbarungen, welche die jeweiligen Ausgänge festlegen, sind in den Ma-
schinendaten festgelegt:
.
.
SIGNAL $WORKSTATE1 $OUT[984]
SIGNAL $WORKSTATE2 $OUT[985]
SIGNAL $WORKSTATE3 $OUT[986]
SIGNAL $WORKSTATE4 $OUT[987]
SIGNAL $WORKSTATE5 FALSE
SIGNAL $WORKSTATE6 FALSE
SIGNAL $WORKSTATE7 FALSE
SIGNAL $WORKSTATE8 FALSE
.
.
Wurde das zugehörige Signal eines Arbeitsraumes auf “FALSE” rangiert, kann durch die
Komponente “$WORKSPACE[n].STATE” abgelesen werden, ob dieser Arbeitsraum ver-
letzt ist oder nicht.
KonfigurationPHR4.1.7 12.03.06 de
62 von 126
2 System konfigurieren Experte (Fortsetzung)
Über den Softkey “Kartesisch” gelangen Sie zum Zustandsfenster für die Definition der kubi-
schen Arbeitsräume.
KonfigurationPHR4.1.7 12.03.06 de
63 von 126
Konfiguration
#OUTSIDE_STOP Der vorgegebene Ausgang wird gesetzt, wenn sich der Be--
zugspunkt ( TCP ) des Werkzeugs / Werkstücks außerhalb
des Arbeitsraumes befindet. Zusätzlich wird der Roboter ge--
stoppt und die Zustandsmeldung 114 “ Arbeitsraum Nr. n ver--
letzt” ausgegeben.
Mögliche Zustände für “STATE”:
TRUE *1 Der Arbeitsraum wird verletzt
FALSE *1 Der Arbeitsraum wird nicht verletzt
*1 Wert wird nur angezeigt und kann nicht geändert werden
Wird in den Modi “INSIDE_STOP” oder “OUTSIDE_STOP” ein Arbeitsraum verletzt, kann
der Roboter erst dann wieder verfahren werden, wenn die betreffende Arbeitsraumüber-
wachung ausgeschaltet oder überbrückt wird.
Nähere Informationen darüber, wie der Wert von Systemvariablen während des Betriebs
der Steuerung geändert werden kann, finden Sie im Bedienhandbuch im Kapitel [Anzei-
gen], Abschnitt “Variablen”.
Ist ”$TOOL” ungültig und mindestens ein Arbeitsraum aktiv, so erscheint die Zustandsmel-
dung 112
“$TOOL ungültig: Keine Arbeitsraumüberwachung möglich” im Meldungsfenster.
Bereits gesetzte Ausgänge werden zurückgesetzt und eventuell anstehende Meldungen ge-
löscht.
KonfigurationPHR4.1.7 12.03.06 de
64 von 126
2 System konfigurieren Experte (Fortsetzung)
Mit dem Softkey “Achs--Spez.” gelangen Sie zum Zustandsfenster für die Definition der
achsspezifischen Arbeitsräume.
Arbeitsräume können auch in *.SRC--Dateien definiert, bzw. ein-- und ausgeschaltet wer-
den. Die dort angegebenen Werte werden automatisch in die Datei “$CUSTOM.DAT” ein-
getragen und stehen beim nächsten Hochlauf der Steuerung wieder zur Verfügung.
Auch über die Korrektur von Variablen können die Einstellungen von Arbeitsräumen verän-
dert werden.
KonfigurationPHR4.1.7 12.03.06 de
65 von 126
Konfiguration
2.8.1.2 Überbrücken
Überbrücken der Arbeitsraumüberwachung über Menü
Das “Überbrücken” der Arbeitsraumüberwachung ist über die Menüfunktion “Konfig.” -->
“Extras” --> “Arbeitsraumüberwachung” --> “Überbrücken” möglich.
Diese Funktion ermöglicht es, den Roboter aus dem verletzten Arbeitsraum wieder her-
auszufahren.
Die Überwachung des betreffenden Arbeitsraumes bleibt solange abgeschaltet, bis die
Komponente wieder auf einen Wert ungleich “#OFF” gesetzt wird.
KonfigurationPHR4.1.7 12.03.06 de
66 von 126
2 System konfigurieren Experte (Fortsetzung)
2.8.1.3 Beispiele
Es soll ein kubischer Arbeitsraum mit 200 mm Kantenlänge überwacht werden. Sein Mittel-
punkt soll bei X=500mm, Y=500mm und Z=1000mm liegen. Die Winkel A, B und C besitzen
den Wert “0”.
Z[mm] 200 U
1000
500
Y[mm]
500
500 X[mm]
$WORLD
Der Ursprung des Arbeitsraums (Frame “U”) bezüglich des Weltkoordinatensystems wird in
der Variablenzuweisung folgendermaßen definiert:
$WORKSPACE[n]={X 500, Y 500, Z 1000, A 0, B 0, C 0, X1 100,
Y1 100, Z1 100, X2 -100, Y2 -100, Z2 -100, MODE #INSIDE,
STATE FALSE}
KonfigurationPHR4.1.7 12.03.06 de
67 von 126
Konfiguration
Die Lage und Orientierung des Arbeitsraumes ist durch den Frame “U” festgelegt. Seine
Größe wird über zwei gegenüberliegende Punkte bezüglich des Ursprungs “U” definiert.
200
P1
Z1
X1 = 100mm
Y1 = 100mm
Y1
Z1 = 100mm
X1
X2 = --100mm
Y2 = --100mm
X2 Z2 = --100mm
U
Y2
Z2
Z
Y
P2 X
$WORLD
Die Punkte “P1” und “P2” finden sich in der Parameterzeile an folgender Stelle wieder:
$WORKSPACE[1]={X 500, Y 500, Z 1000, A 0, B 0, C 0, X1 100,
Y1 100, Z1 100, X2 -100, Y2 -100, Z2 -100, MODE #INSIDE,
STATE FALSE}
Die Kantenlängen des Quaders errechnen sich aus den Beträgen von jX1--X2j, jY1--Y2j und
jZ1--Z2j.
Der zugeordnete Ausgang soll gesetzt werden, sobald sich der Bezugspunkt von Werkzeug,
bzw. Werkstück innerhalb des Arbeitsraumes befindet. Hierzu dient der vorletzte Eintrag im
Zustandsfenster bzw. dem KRL--Befehl.
KonfigurationPHR4.1.7 12.03.06 de
68 von 126
2 System konfigurieren Experte (Fortsetzung)
Liegt der Punkt “P2” auf dem Ursprung des Arbeitsraumes, brauchen nur die Koordinaten
von “P1” ermittelt zu werden.
P1
X1 = 200mm
Z1 Y1 = 200mm
Z1 = 200mm
Y1
X1
P2 U
Z
X
$WORLD
Befindet sich der Bezugspunkt von Werkzeug bzw. Werkstück außerhalb des Arbeitsraums,
soll der zugeordnete Ausgang gesetzt werden. Gleichzeitig soll der Roboter stoppen und
eine Fehlermeldung ausgeben.
Es handelt sich hier um den gleichen Arbeitsraum, wie im vorhergehenden Beispiel. Auch
die Lage sowie Orientierung sind identisch, aber der Ursprungspunkt liegt auf einem der
Eckpunkte des Quaders.
KonfigurationPHR4.1.7 12.03.06 de
69 von 126
Konfiguration
Hat eines der Punktkoordinatenpaare “X1” und “X2”, “Y1” und “Y2” oder “Z1” und “Z2” glei-
che Vorzeichen, liegt der Ursprung “U” außerhalb des Arbeitsraumes.
P1
Z1
P2 Y1
Z2
Y2 U
X2 X1
Z
X1 = 100mm X2 = --100mm
Y Y1 = 260mm Y2 = 60mm
X Z1 = 220mm Z2 = 20mm
$WORLD
Hier soll der zugeordnete Ausgang gesetzt werden, wenn sich der Bezugspunkt von Werk-
zeug bzw. Werkstück außerhalb des Arbeitsraumes befindet. Der Roboter wird hierbei nicht
angehalten.
KonfigurationPHR4.1.7 12.03.06 de
70 von 126
2 System konfigurieren Experte (Fortsetzung)
In diesem Beispiel besitzt der Arbeitsraum die Abmessungen x=300mm, y=250mm und
z=450mm. Gegenüber dem Weltkoordinatensystem ist er über die Y--Achse um 30 Grad
verdreht. Der Ursprung “U” liegt nicht im Zentrum des Quaders.
P1
X2
Y2 Z1
U X1
Z2 Y1
X1 = 250mm
Y1 = 150mm
P2 Z1 = 200mm
X2 = --50mm
Y2 = --100mm
Z2 = --250mm
Z
X
$WORLD
Der zugeordnete Ausgang soll wieder gesetzt werden, wenn sich der Bezugspunkt von
Werkzeug, bzw. Werkstück innerhalb des Arbeitsraumes befindet. Gleichzeitig soll der Ro-
boter stoppen und eine Fehlermeldung ausgeben.
KonfigurationPHR4.1.7 12.03.06 de
71 von 126
Konfiguration
2.8.2.1 Funktionsweise
Für bestimmte Anlagen ist es sinnvoll, den Arbeitsbereich des Roboters weiter einzuschrän-
ken, um Beschädigungen am Gerät oder der Peripherie zu vermeiden. Dies trifft im besonde-
ren auf folgende Robotertypen zu:
Wandroboter Konsolroboter
Palettierroboter
KonfigurationPHR4.1.7 12.03.06 de
72 von 126
2 System konfigurieren Experte (Fortsetzung)
Der maximal mögliche Aktionsbereich eines Roboters wird durch die Softwareendschalter
begrenzt, deren Werte vom jeweiligen Robotertyp abhängen. Das im Beispiel verwendete
Modell kann mit Achse 1 maximal ¦160 Grad verfahren.
--160° +160°
KonfigurationPHR4.1.7 12.03.06 de
73 von 126
Konfiguration
Achse 2 Achse 1
Befindet sich Achse 2 im schraffierten Bereich, darf Achse 1 ihren schraffierten Bereich nicht
verlassen.
Für jede zu überwachende Achse müssen die erforderlichen Mindest-- und Maximalwerte
angegeben werden.
Bestimmte Maschinen werden von KUKA mit festgelegten Werten für die achsspezifische
Arbeitsraumüberwachung ausgeliefert. Diese Werte dürfen nicht verändert werden, da
ansonsten das Robotersystem beschädigt werden kann.
Berücksichtigen Sie bei der Werteingabe auch die vorhandenen Werkzeuge bzw. Werk-
stücke, um Beschädigungen zu vermeiden.
KonfigurationPHR4.1.7 12.03.06 de
74 von 126
2 System konfigurieren Experte (Fortsetzung)
2.8.2.2 Konfiguration
Die Definition von Arbeitsräumen erfolgt über mehrere Zustandsfenster auf Expertenebene.
Rufen Sie hierzu den Menübefehl “Konfig.” --> Extras” --> “Arbeitsraumüberwachung” -->
“Konfiguration” auf.
Im Zustandsfenster “Signal” können Sie für jeden Arbeitsraum einen Ausgang festlegen.
Wird ein Arbeitsraum verletzt, wird der zuvor festgelegte Ausgang gesetzt.
Die KRL--Signalvereinbarungen, welche die jeweiligen Ausgänge festlegen, sind in den Ma-
schinendaten festgelegt:
.
.
SIGNAL $AXWORKSTATE1 $OUT[969]
SIGNAL $AXWORKSTATE2 $OUT[970]
KonfigurationPHR4.1.7 12.03.06 de
75 von 126
Konfiguration
Wurde das zugehörige Signal eines Arbeitsraumes auf “FALSE” rangiert, kann durch die
Komponente “$AXWORKSPACE[n].STATE” abgelesen werden, ob dieser Arbeitsraum
verletzt ist oder nicht.
Über den Softkey “Kartesisch” gelangen Sie zum Zustandsfenster für die Definition der kubi-
schen Arbeitsräume.
Mit dem Softkey “Achs--Spez.” gelangen Sie zum Zustandsfenster für die Definition der
achsspezifischen Arbeitsräume.
Stehen in den Min/Max--Feldern einer Achse die Standardwerte “0.00”, wird diese Achse
unabhängig von der Mode--Einstellung nicht überprüft. Dies gilt sowohl für die Standard-
achsen (A1...A6) als auch Zusatzachsen (E1...E6).
Die KRL--Variable “$AXWORKSPACE[n]” besitzt folgenden Aufbau:
$AXWORKSPACE[1]={A1_N -90.0,A1_P 90.0, A2_N -25.0,A2_P 3.0,A3_N
0.0,A3_P 0.0,A4_N 0.0,A4_P 0.0,A5_N 0.0,A5_P 0.0,A6_N 0.0,A6_P
0.0,E1_N 0.0,E1_P 0.0,E2_N 0.0,E2_P 0.0,E3_N 0.0,E3_P 0.0,E4_N
0.0,E4_P 0.0,E5_N 0.0,E5_P 0.0,E6_N 0.0,E6_P 0.0,MODE #INSIDE_STOP,
STATE FALSE}
KonfigurationPHR4.1.7 12.03.06 de
76 von 126
2 System konfigurieren Experte (Fortsetzung)
Wird in den Modi “INSIDE_STOP” oder “OUTSIDE_STOP” ein Arbeitsraum verletzt, kann
der Roboter erst dann wieder verfahren werden, wenn die betreffende Arbeitsraumüber-
wachung ausgeschaltet oder überbrückt wird.
KonfigurationPHR4.1.7 12.03.06 de
77 von 126
Konfiguration
Nähere Informationen darüber, wie der Wert von Systemvariablen während des Betriebs
der Steuerung geändert werden kann, finden Sie im Bedienhandbuch im Kapitel [Anzei-
gen], Abschnitt “Variablen”.
Arbeitsräume können auch in *.SRC--Dateien definiert, bzw. ein-- und ausgeschaltet wer-
den. Die dort angegebenen Werte werden automatisch in die Datei “$MACHINE.DAT” ein-
getragen und stehen beim nächsten Hochlauf der Steuerung wieder zur Verfügung.
Auch über die Korrektur von Variablen können die Einstellungen von Arbeitsräumen verän-
dert werden.
Der Softkey “Schließen” beendet die Funktion. Sämtliche Veränderungen, welche nicht mit
“Ändern” gesichert wurden, gehen verloren.
KonfigurationPHR4.1.7 12.03.06 de
78 von 126
2 System konfigurieren Experte (Fortsetzung)
2.8.2.3 Überbrücken
Das “Überbrücken” der Arbeitsraumüberwachung ist über die Menüfunktion “Konfig.” -->
“Extras” --> “Arbeitsraumüberwachung” --> “Überbrücken” möglich.
Diese Funktion ermöglicht es, den Roboter aus dem verletzten Arbeitsraum wieder her-
auszufahren.
KonfigurationPHR4.1.7 12.03.06 de
79 von 126
Konfiguration
2.8.2.4 Beispiel
In diesem Beispiel wird ein Arbeitsbereich definiert, innerhalb dessen sich der Roboter bewe-
gen darf. Dieser Bereich soll wie folgt aussehen:
Ober-- bzw unterhalb der schraffierten Bereiche sind die Einstellungen der Software--End-
schalter gültig.
Soll ein Bereich angegeben werden, welcher aus mehreren Arbeitsräumen zusammenge-
setzt wird, ist es sinnvoll die nicht zulässigen Bereiche zu definieren, und diese mit dem
MODE “#INSIDESTOP” zu sperren. Andernfalls schlägt die Überwachung zu, sobald einer
der definierten Arbeitsräume verlassen wird.
KonfigurationPHR4.1.7 12.03.06 de
80 von 126
2 System konfigurieren Experte (Fortsetzung)
Arbeitsraum 1 + 2
Die Achse 1 eines Konsolroboters soll eingeschränkt werden, sobald sich Achse 2 im Be-
reich zwischen +20 und +35 Grad befindet.
--45° +45°
+20°
+35°
Achse 2 Achse 1
Hierzu werden für die erste Achse insgesamt 2 Bereiche definiert, in welche der Roboter
nicht hineinfahren darf.
--45° +45°
--160° +160°
KonfigurationPHR4.1.7 12.03.06 de
81 von 126
Konfiguration
Signal
.
SIGNAL $AXWORKSTATE1 $OUT[969]
SIGNAL $AXWORKSTATE2 $OUT[970]
SIGNAL $AXWORKSTATE3 FALSE
SIGNAL $AXWORKSTATE4 FALSE
SIGNAL $AXWORKSTATE5 FALSE
SIGNAL $AXWORKSTATE6 FALSE
SIGNAL $AXWORKSTATE7 FALSE
SIGNAL $AXWORKSTATE8 FALSE
.
KonfigurationPHR4.1.7 12.03.06 de
82 von 126
2 System konfigurieren Experte (Fortsetzung)
Achs--Spez.
Der erste Arbeitsraum wird wie folgt definiert:
Zu überwachende Achsen:
$AXWORKSPACE[1]={A1_N -160.0,A1_P -45.0, A2_N 20.0,A2_P 35.0,A3_N
0.0,A3_P 0.0,A4_N 0.0,A4_P 0.0,A5_N 0.0,A5_P 0.0,A6_N 0.0,A6_P
KonfigurationPHR4.1.7 12.03.06 de
83 von 126
Konfiguration
Der daraus resultierende, für den Roboter zulässige Bereich sieht ohne Berücksichtigung
der anderen Achsen in etwa folgendermaßen aus:
Im nächsten Schritt wird ein weiterer Bereich definiert, in welchem sich der Roboter bewegen
darf.
KonfigurationPHR4.1.7 12.03.06 de
84 von 126
2 System konfigurieren Experte (Fortsetzung)
Arbeitsraum 3 + 4
Die Achse 1 soll etwas weniger eingeschränkt werden, solange sich Achse 2 im Bereich zwi-
schen 0 und +20 Grad befindet.
0°
+20°
Achse 2
--95°
--95° +95°
Achse 1
Auch in diesem Fall zerfällt der zulässige Bereich von Achse 1 unter Berücksichtigung der
Software--Endschalter in zwei verschiedene Bereiche, in welche der Roboter nicht hineinfah-
ren darf.
--95° +95°
--160° +160°
KonfigurationPHR4.1.7 12.03.06 de
85 von 126
Konfiguration
Signal
.
SIGNAL $AXWORKSTATE1 $OUT[969]
SIGNAL $AXWORKSTATE2 $OUT[970]
SIGNAL $AXWORKSTATE3 $OUT[971]
SIGNAL $AXWORKSTATE4 $OUT[972]
SIGNAL $AXWORKSTATE5 FALSE
SIGNAL $AXWORKSTATE6 FALSE
SIGNAL $AXWORKSTATE7 FALSE
SIGNAL $AXWORKSTATE8 FALSE
.
KonfigurationPHR4.1.7 12.03.06 de
86 von 126
2 System konfigurieren Experte (Fortsetzung)
Achs--Spez.
Der dritte Arbeitsraum wird wie folgt definiert:
KonfigurationPHR4.1.7 12.03.06 de
87 von 126
Konfiguration
Zu überwachende Achsen:
$AXWORKSPACE[3]={A1_N -160.0,A1_P -95.0, A2_N 0.0,A2_P 20.0,A3_N
0.0,A3_P 0.0,A4_N 0.0,A4_P 0.0,A5_N 0.0,A5_P 0.0,A6_N 0.0,A6_P
0.0,E1_N 0.0,E1_P 0.0,E2_N 0.0,E2_P 0.0,E3_N 0.0,E3_P 0.0,E4_N
0.0,E4_P 0.0,E5_N 0.0,E5_P 0.0,E6_N 0.0,E6_P 0.0,MODE #INSIDE_STOP,
STATE FALSE}
$AXWORKSPACE[4]={A1_N 95.0,A1_P 160.0, A2_N 0.0,A2_P 20.0,A3_N
0.0,A3_P 0.0,A4_N 0.0,A4_P 0.0,A5_N 0.0,A5_P 0.0,A6_N 0.0,A6_P
0.0,E1_N 0.0,E1_P 0.0,E2_N 0.0,E2_P 0.0,E3_N 0.0,E3_P 0.0,E4_N
0.0,E4_P 0.0,E5_N 0.0,E5_P 0.0,E6_N 0.0,E6_P 0.0,MODE #INSIDE_STOP,
STATE FALSE}
KonfigurationPHR4.1.7 12.03.06 de
88 von 126
2 System konfigurieren Experte (Fortsetzung)
2.9.1 Allgemein
Ab dem Softwarestand Release 2.2 können einzelne oder auch mehrere Achsen in den Mo-
mentenbetrieb geschaltet werden.
Achsen, die in den Momentenbetrieb geschaltet sind, können nicht in Abhängigkeit mit
anderen Achsen gefahren werden.
Bei Abschalten des Momentenbetriebes fährt die Achse von der aktuellen Position auf die
nächste Position im Programm.
Technisch ist der Momentenbetrieb grundsätzlich für alle Roboterachsen möglich, aufgrund
technisch bedingter Einschränkungen sowie teils damit verbundener Gefahren jedoch nicht
für jede Achse sinnvoll. Nachfolgende Tabelle gibt über die Möglichkeiten und Einschränkun-
gen Aufschluß.
KonfigurationPHR4.1.7 12.03.06 de
89 von 126
Konfiguration
Roboter greift Bauteil. Teil wird aus der Form Teil wird vom Roboter
gelöst. Der Ausstoßhub übernommen und aus dem
wird durch Drehung des Bereich der Druckguß--
Roboters um Achse 1 maschine heraus gefahren.
abgefangen.
G Der Roboter greift das noch in einer der Formhälften sitzende Bauteil.
G Das Lösen des Teiles aus der Form geschieht durch einen hydraulischen Ausstoßer.
G Der Hub des Ausstoßers kann in der kurzen Zeit, in der dieser erfolgt, nicht meßtech-
nisch erfaßt und von der Robotersteuerung ausgewertet werden.
G Durch den Momentenbetrieb der Achse 1 gibt der Roboter bei entsprechender Anord-
nung nach, so daß der Ausstoßhub durch eine Drehung um Achse 1 abgefangen wird
und keine schädlichen Belastungen auf den Roboter wirken.
Eine schräg in den Raum wirkende Ausstoßbewegung, die eine programmierte Bahn unter
Einbeziehung mehrerer Achsen für den Momentenbetrieb erfordern würde, ist nicht um-
setzbar.
Wird jedoch der Roboter so angeordnet, daß die Bodenflanschfläche parallel zur Ebene
der Ausstoßbewegung liegt, beispielsweise durch schräge Montage des Roboters, ist Mo-
mentenbetrieb der Achse 1 möglich.
Die Schräglage des Roboters ist nur innerhalb bestimmter Grenzen zulässig.
Siehe hierzu Abschnitt 2.9.1.
Durch entsprechendes Einstellen der negativen und positiven Grenze des Drehzahlreg-
lerausganges kann erreicht werden, daß der Roboter das aus der Schwerkraft resultie-
rende Moment ausgleicht, ja sogar am Teil zieht und sich ohne Gegenkraft vom Aussto-
ßer wegdrücken läßt.
2.9.2 Funktionsweise
Mit der Systemvariablen “$CURR_RED[x,x]” kann die Begrenzung des Drehzahlregler--
Ausgangs verändert werden. Für die positive sowie die negative Grenze ist jeweils ein Index
vorhanden. Die Aktivierung der jeweiligen Achse geschieht im Bitfeld “$TORQUE_AXIS”.
Durch Manipulation der Drehzahlreglergrenze ist definierbar, daß die Achse entweder weich
ist oder mit einer definierten Kraft drückt.
Wird der Momentenbetrieb für eine Achse aktiviert, sind die Überwachungen ”Stellgröße”,
”Stillstand”, ”Positionierzeit” und ”Motor blockiert” für diese Achse abgeschaltet. Dabei wird
nur noch die Istgeschwindigkeit dieser Achse überwacht. In der Betriebsart “Test 1” darf die
Geschwindigkeit nicht höher sein als
$RED_T1 * $VEL_ACT_MA
der maximalen Achsgeschwindigkeit (Maschinendatum 10% * 110% = 11%) werden, weil
sonst eine Überwachung anspricht und die Antriebe abschalten.
KonfigurationPHR4.1.7 12.03.06 de
90 von 126
2 System konfigurieren Experte (Fortsetzung)
In der Betriebsart Test 2 und Automatik kann die Überwachungsgrenze mit der Variablen
“$TORQ_VEL[]” im Programm beeinflußt werden. Dabei sind Geschwindigkeiten bis 150%
zulässig.
Wird der Momentenbetrieb abgeschaltet, fährt die Achse von der aktuellen Position zur
nächsten Position im Programm weiter. Ein Beschreiben der Variablen “$TORQUE_AXIS”
löst einen Vorlaufstop aus.
Bei Beladung der Achse mit einer höheren Last als zulässig, sowie bei fal-
scher Einstellung der Stromgrenze, sackt der Roboterarm nach unten
durch!
KonfigurationPHR4.1.7 12.03.06 de
91 von 126
Konfiguration
REAL $CURR_RED[12,2]
Strombegrenzung der Achsen 1 bis 12 in Prozent vom maximal Strom (0% bis +100%).
KonfigurationPHR4.1.7 12.03.06 de
92 von 126
2 System konfigurieren Experte (Fortsetzung)
Dabei ist Index 1 die positive und Index 2 die negative Grenze. Diese Grenzen sind Absolut--
werte zwischen 0% und 100%.
Die Strombegrenzung birgt die Gefahr, daß die Achse nicht mehr das er-
forderliche Moment zum Halten, Bremsen oder Fahren aufbringen kann.
Dadurch können Menschen und Maschinen gefährdet werden!
Eine Begrenzung des Stroms darf nur im Zusammenhang mit
“$TORQUE_AXIS” verwendet werden.
INT $TORQUE_AXIS
Dies ist ein Bitfeld für die momentenbetriebene Roboterachsen A1 bis A6 sowie die externen
Achsen E1 -- E6.
Das Setzen eines Bits für die entsprechende Achse schaltet diese Achse in den Momenten-
betrieb. Die Überwachungsfunktionen für diese Achse werden abgeschaltet.
REAL $TORQ_VEL[12]
Geschwindigkeitsgrenze in Prozent von der maximalen Geschwindigkeit zur Überwachung
der momentenbetriebenen Achse.
Um sicherzustellen, daß im Falle eines Defektes oder Fehlers in der Hardware oder ein
Durchsacken der Achse erkannt wird, findet eine Überwachung der Geschwindigkeit statt.
Mittels der Variablen “$TORQ_VEL” kann im Programm die maximal zulässige Geschwindig-
keit in den Betriebsarten T2 und Automatik eingestellt werden.
Für die Betriebsart T1 gilt die Geschwindigkeit, welche in den Maschinendaten eingestellt
ist. Bei Überschreitung dieser Geschwindigkeit werden die Antriebe abgeschaltet und eine
entsprechende Fehlermeldung ausgegeben.
KonfigurationPHR4.1.7 12.03.06 de
93 von 126
Konfiguration
2.10 Kollisionsüberwachung
2.10.1 Funktion
Falls der Roboter mit einem Bauteil kollidiert oder mit seinem Werkzeug an einem Bauteil
hängen bleibt, reagiert der Lage-- und Drehzahlregler entsprechend. Die Sollmomente der
beteiligten Achsen werden automatisch erhöht. Abhängig vom Anwendungsfall kann der Ro-
boter den Widerstand überwinden und seine Bewegung fortsetzen. Hierbei können Werk-
zeug bzw. Bauteil beschädigt werden.
Der Anwender kann sowohl die Momentengrenzen als auch die Ansprechzeit konfigurieren.
Über eine KRL--Variable wird ein Bereich (ein sogenannter “Überwachungsschlauch”) um
das jeweilige Moment gelegt. Verläßt das Moment diesen Überwachungsschlauch, wird
nach der angegebenen Ansprechzeit eine bahntreue Stopreaktion ausgelöst und eine ent-
sprechende Meldung im Meldungsfenster ausgegeben.
Im Normalfall ist die Überwachung ausgeschaltet, der Standardwert des Überwachungs-
schlauchs beträgt 200%. Für einzelne Bewegungen oder Programmteile kann die Überwa-
chung nun sensibler eingestellt werden.
Bei einem Reset, Satzanwahl und Programmabwahl werden die eingestellten Grenzen auf
den Standardwert aus der Custom.dat zurückgesetzt.
Die Kollisionsüberwachung bietet keine Garantie gegen Beschädigungen, kann aber die
Größe des jeweiligen Schadens reduzieren. Ausschlaggebend für die Art der jeweiligen
Beschädigung sind sowohl die gefahrene Geschwindigkeit als auch die aufgetretenen Mo-
mente.
2.10.2 Konfigurieren
Um die Kollisionsüberwachung verwenden zu können, muß auch die Beschleunigungsan-
passung eingeschaltet sein. Dies ist der Fall, wenn die Variable “$ADAP_ACC” den Wert
“#STEP1” besitzt. Sie finden diese Variable in der Datei “C:\KRC\Robo-
ter\KRC\R1\MaDa\$ROBCOR.DAT”:
:
DECL ADAP_ACC $ADAP_ACC=#STEP1 ; BESCHLEUNIGUNGSANPASSUNG
:
Die Lastdaten sind für die Kollisionsüberwachung korrekt zu ermitteln. Außerdem muß der
Überwachungsschlauch an den jeweiligen Anwendungsfall angepaßt werden.
Die Ansprechzeit der Überwachung kann mit der Variablen “$TORQMON_TIME” in [ms] ein-
gestellt werden. Diese Variable befindet sich in der Datei “C:\KRC\Robo-
ter\KRC\Steu\MaDa\$CUSTOM.DAT”:
KonfigurationPHR4.1.7 12.03.06 de
94 von 126
2 System konfigurieren Experte (Fortsetzung)
:
REAL $TORQMON_TIME=0.0 ;ZEIT FUER FAHRMOMENTENUEBERWACHUNG
:
Die Größe des Überwachungsschlauchs wird durch folgende Variablen in der Datei
“C:\KRC\Roboter\KRC\MaDa\$CUSTOM.DAT” vorgegeben:
G Standardwerte des Überwachungsschlauchs für den Programmbetrieb in Prozent
:
$TORQMON_DEF[1]=200
$TORQMON_DEF[2]=200
$TORQMON_DEF[3]=200
$TORQMON_DEF[4]=200
$TORQMON_DEF[5]=200
$TORQMON_DEF[6]=200
:
Die Breite des Toleranzbandes ergibt sich aus dem maximalen Moment in [Nm] multipliziert
mit der Prozentsatz von “$TORQMON_...”.
G Kommandobetrieb
-- Standardmäßig sind für die Momentenüberwachung die Werte der Variablen
“$TORQMON_COM_DEF[1]...[6]” aus der Datei “$CUSTOM.DAT” gültig. Der
Anwender kann über die Variablenkorrektur die Überwachungsgrenze jederzeit
ändern, indem er die Werte von “$TORQMON_COM[1]...[6]” ändert.
KonfigurationPHR4.1.7 12.03.06 de
95 von 126
Konfiguration
Vor einem Bewegungssatz bzw. Bewegungsabschnitts setzen Sie die Variable mit Hilfe
der Variablenkorrektur auf “0”.
Nun führen Sie den Bewegungssatz aus und lesen die Variable erneut aus. Der ausge-
gebene Wert entspricht der aufgetretenen maximalen Momentabweichung.
Setzen Sie nun den Überwachungsschlauch auf den Wert von “$TORQ_DIFF[ ]” zu-
züglich einer Sicherheit von 5--10%.
Der Variable “$TORQ_DIFF[ ]” kann nur der Wert “0” zugewiesen werden.
KonfigurationPHR4.1.7 12.03.06 de
96 von 126
3 Automatik Extern
3 Automatik Extern
3.1 Allgemein
Bei verketteten Produktionsstraßen ist es nötig, Roboterprozesse von zentraler Stelle aus
starten zu können.
Über die Schnittstelle “Automatik Extern“ kann ein Leitrechner mit der Robotersteuerung
kommunizieren und verschiedene Roboterprozesse auslösen. Ebenso kann die Roboter-
steuerung Informationen über Betriebszustände und Störmeldungen an den Leitrechner
übermitteln.
Bei der KR C1 wird dies alles durch den automatischen Anlagenanlauf, das technologiespe-
zifische Organisationsprogramm CELL.SRC und durch die Funktionen des Moduls P00 rea-
lisiert.
Informationen zur der Anzeige der Schnittstelle “Automatik Extern” finden Sie im Kapitel
[Anzeige].
Den Signalen der Schnittstelle “Automatik Extern” müssen physikalische Ein-- und Aus-
gänge der Robotersteuerung zugeordnet werden. Wählen Sie dazu aus dem Menü “Konfig.”
die Option “Ein/Ausgänge” aus.
Im Anschluß daran wird das Zustandsfenster für die Eingänge der Schnittstelle Automatik
Extern geöffnet.
Bewegen Sie den Fokus (die dunkelblaue Markierung) mit den Cursor--Tasten “¯” bzw. “”
auf das gewünschte Feld. Anschließend geben Sie über das Nummernfeld die Schnittstel-
lennummer an, auf die das Signal gelegt werden soll.
Erklärungen zu den Ein--bzw. Ausgängen für Automatik Extern finden Sie im Abschnitt 3.6.
KonfigurationPHR4.1.7 12.03.06 de
97 von 126
Konfiguration
3.2.1 Eingänge
Dieses Zustandsfenster zeigt die Eingänge der Automatik--Extern Schnittstelle an.
Als Typ kommt eine Variable (gelb) oder ein Eingang (grün) vor.
Mit dem Softkey “Bearb.” kann der Wert des Eingangs bzw. die Kanalnummer verändert wer-
den.
Mit “OK” wird der geänderte Wert auf Gültigkeit geprüft und, falls die Ein-
gabe zulässig ist, übernommen
Mit “Abbruch” wird die Änderung verworfen
KonfigurationPHR4.1.7 12.03.06 de
98 von 126
3 Automatik Extern (Fortsetzung)
3.2.2 Ausgänge
Dieses Zustandsfenster zeigt die Ausgänge der Automatik--Extern Schnittstelle an.
Als Typ kommt eine Variable (gelb) oder ein Ausgang (grün) vor.
Die Softkeys “Tab+” bzw. “Tab--” ermöglichen den Wechsel zur nächst höheren bzw. nächst
niedrigeren Variablengruppe.
Mit dem Softkey “Bearb.” kann der Wert des Ausgangs bzw. die Kanalnummer verändert
werden.
Mit “OK” wird der geänderte Wert auf Gültigkeit geprüft und, falls die Ein-
gabe zulässig ist, übernommen
Mit “Abbruch” wird die Änderung verworfen
KonfigurationPHR4.1.7 12.03.06 de
99 von 126
Konfiguration
Ist die E/A--Schnittstelle durch Setzen der Systemvariablen $I_O_ACT auf den Wert TRUE
aktiv geschaltet, wird der Ausgang $_I_O_ACTCONF als Rückmeldung ebenfalls auf TRUE
geschaltet. Sind alle weiteren Startbedingungen erfüllt, so kann durch ein Signal auf der Lei-
tung $EXT_START das Programm CELL.SRC gestartet werden.
Natürlich kann das Programm CELL.SRC zu jeder Zeit auch von der Bedienoberfläche aus
gestartet werden.
Für den automatischen Anlagenanlauf muß der Systemvariablen $PRO_I_O in der Datei
“C:\KRC\Roboter\KRC\Steu\MaDa\$CUSTOM.DAT” folgender Wert zugewiesen
werden:
CHAR $PRO_I_O[]=”/R1/SPS()”
Nach dem Hochfahren der Steuerung wird immer versucht das Programm auszuführen,
daß in $PRO_I_O bezeichnet wurde.
Damit die E/A--Schnittstelle überhaupt aktiviert werden kann, muß der Eingang gesetzt
werden, welcher durch Signalvereinbarung der Variablen $I_O_ACT zugewiesen wurde.
KonfigurationPHR4.1.7 12.03.06 de
Initialisierungssequenz ...
INIT
BAS INI
CHECK HOME
PTP HOME Vel= 100 % DEFAULT
AUTOEXT INI
Schleifenbeginn ...
LOOP
Aufruf des Moduls P00, um die Programmnummer vom externen Leitrechner abzurufen ...
P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
KonfigurationPHR4.1.7 12.03.06 de
Wurde für die vom Leitrechner übermittelte Programmnummer kein CASE--Zweig gefunden,
DEFAULT
Schleifenende ...
ENDLOOP
Programmende ...
END
KonfigurationPHR4.1.7 12.03.06 de
Diese Funktion übernimmt die komplette Signal--Handhabung für die Übermittlung von Pro-
grammnummern über einen Leitrechner.
Sie kann mit einem der drei folgenden Parameter aufgerufen werden:
EXT_PGNO (#PGNO_GET)
Da beim Auftreten eines Paritätsfehlers die Programmnummer immer auf den Wert Null
gesetzt wird, darf dieser Wert natürlich nicht als gültige Programmnummer in CELL.SRC
verwendet werden !
EXT_PGNO (#PGNO_ACKN)
KonfigurationPHR4.1.7 12.03.06 de
3.5.1.3 Fehlerbehandlung
EXT_PGNO (#PGNO_FAULT)
Eine fehlerhafte Übermittlung kann vom Leitrechner durch einen Timeout festgestellt wer-
den. Dieser Timeout wird mit dem Setzen der Leitung PGNO_VALID gestartet. Sollte nach
einer festgelegten Zeitdauer ( etwa 200 ms ) die Programmnummer--Anforderung auf der
Leitung PGNO_REQ nicht zurückgenommen werden, so muß bei der Übertragung ein Feh-
ler aufgetreten sein. Der Leitrechner kann jetzt auf den Fehler reagieren.
KonfigurationPHR4.1.7 12.03.06 de
&ACCESS R
&COMMENT EXTERNAL package
DEFDAT P00
BOOL PLC_ENABLE = TRUE Setzen Sie diesen Wert auf TRUE
INT I
INT F_NO=1
INT MAXERR_C = 1 Tragen Sie hier die Anzahl der
Steuerungsfehler ein, für deren
Übertragung Sie Parameter
festgelegt haben
INT MAXERR_A = 1 Tragen Sie hier die Anzahl der
Applikationsfehler ein, für deren
Übertragung Sie Parameter
festgelegt haben
DECL STOPMESS MLD
SIGNAL ERR $OUT[25] TO $OUT[32] Legen Sie hier fest, über welche
Ausgänge der Robotersteuerung
der Leitrechner die Fehlernummer
auslesen soll
Im Beispiel sind dies die
Ausgänge 25 bis 32
BOOL FOUND
STRUC PRESET INT OUT,CHAR PKG[3],INT ERR
DECL PRESET P[255] Im folgenden Bereich müssen Sie
die Parameter der Fehler eintragen:
OUT --
Fehlernummer, die zum Leitrechner
übertragen werden soll
PKG[ ] --
Technologiepaket
ERR --
Fehlernummer im ausgewählten
Technologiepaket
P[1]={OUT 2,PKG[]”P00”,ERR 10} Im Bereich von P[1] ... P[127]
... können Sie nur Applikationsfehler
P[127]={OUT 27,PKG[]”S00”,ERR 11} eintragen
P[128]={OUT 12,PKG[]”CTL”,ERR 1} Im Bereich von P[128] ... P[255]
... können Sie nur Steuerungsfehler
P[255]={OUT 25,PKG[]”CTL”,ERR 10} eintragen
KonfigurationPHR4.1.7 12.03.06 de
KonfigurationPHR4.1.7 12.03.06 de
3.6 Signalbeschreibungen
Die Signale sind schreibgeschützt, können aber jederzeit gelesen oder in Programmen ver-
wendet werden.
3.6.1 Eingänge
3.6.1.1 PGNO_TYPE
Dies ist kein Eingang oder Signal, sondern eine Variable. Mit ihrem Wert wird festgelegt, in
welchem Format die vom Leitrechner übermittelte Programmnummer eingelesen wird.
3.6.1.2 PGNO_LENGTH
Auch dies ist kein Eingang oder Signal, sondern wieder eine Variable. Mit ihrem Wert wird
die Bitbreite der vom Leitrechner übermittelten Programmnummer festgelegt.
PGNO_LENGTH = 1...16
Beispiel:
PGNO_LENGTH = 6 => die externe Programmnummer ist sechs Bit breit
3.6.1.3 PGNO_FBIT
Eingang, der das erste Bit der Programmnummer darstellt.
Beispiel:
PGNO_FBIT = 5 => die externe Programmnummer beginnt mit $IN[5]
KonfigurationPHR4.1.7 12.03.06 de
3.6.1.4 REFLECT_PROG_NR
Mit dieser Option wird festgelegt, ob die Programmnummer auf einen festlegbaren Ausgabe-
bereich gespiegelt werden soll. Der Wert der Variablen kann über die Konfiguration der Auto-
matik--Extern--Schnittstelle geändert werden.
REFLECT_PROG_NR Funktion
0 ausgeschaltet
1 eingeschaltet
Die Ausgabe erfolgt ab dem Ausgang, der mit “PGNO_FBIT_REFL” festgelegt wird.
3.6.1.5 PGNO_PARITY
Eingang, auf den das Paritätsbit vom Leitrechner übertragen wird.
Eingang Funktion
negativer Wert ungerade Parität
0 keine Auswertung
positiver Wert gerade Parität
Während PGNO_TYPE den Wert 3 besitzt (Programmnummer als “1 von n”--Wert einlesen),
wird PGNO_PARITY NICHT ausgewertet.
3.6.1.6 PGNO_VALID
Eingang, auf den das Kommando zum Einlesen der Programmnummer vom Leitrechner
übertragen wird.
Eingang Funktion
negativer Wert Nummer wird mit der abfallenden Flanke des Signals übernommen
Nummer wird mit der ansteigenden Flanke des Signals an der Leitung
0
EXT_START übernommen
positiver Wert Nummer wird mit der ansteigenden Flanke des Signals übernommen
Während PGNO_TYPE den Wert 3 besitzt (Programmnummer als “1 von n”--Wert einlesen),
wird PGNO_VALID NICHT ausgewertet.
3.6.1.7 EXT_START
Mit dem Setzen dieses Eingangs kann bei aktiver E/A--Schnittstelle ein Programm gestartet,
bzw. wieder fortgesetzt werden.
KonfigurationPHR4.1.7 12.03.06 de
3.6.1.8 MOVE_ENABLE
Dieser Eingang wird zur Kontrolle der Roboterantriebe durch den Leitrechner verwendet.
Signal Funktion
TRUE Handverfahren und Programmausführung möglich
FALSE Stillsetzen aller Antriebe und Verriegelung aller aktiven Kommandos
Während der Inbetriebnahme wird die Variable für die Fahrfreigabe “$MOVE_ENABLE”
häufig auf den Wert “$IN[1025]” projektiert. Wird danach vergessen, einen anderen Ein-
gang zu projektieren, ist kein externer Start möglich.
3.6.1.9 CHCK_MOVENA
Besitzt die Variable $CHCK_MOVENA den Wert “FALSE”, kann MOVE_ENABLE umgan-
gen werden. Der Wert der Variablen kann nur in der Datei “C:\KRC\Robo-
ter\KRC\Steu\MaDa\OPTION.DAT” geändert werden.
Signal Funktion
TRUE Überwachung für MOVE--ENABLE ist wirksam
FALSE Überwachung für MOVE_ENABLE ist deaktiviert
3.6.1.10 CONF_MESS
Durch Setzen dieses Eingangs kann der Leitrechner aufgetretene Fehlermeldungen selbst
löschen (quittieren).
Ein Quittieren der Fehlermeldungen ist selbstverständlich nur dann möglich, wenn die
Störungsursache beseitigt wurde.
KonfigurationPHR4.1.7 12.03.06 de
3.6.1.11 DRIVES_ON
Durch einem High--Impuls von mind. 20 ms Dauer an diesem Eingang kann der Leitrechner
die Roboterantriebe einschalten.
Ab dem Software--Stand 1.1.7 und bei Verwendung der Powermodule PM6--600, Ferti-
gungsstände A, B oder C und PM0--600 Pro wird das Wiedereinschalten der Antriebe zum
Schutz des Antriebsrelais K2 13--18.5 Sekunden lang nach dem letzten Einschalten der
Antriebe verhindert.
Eine anstehende positive Flanke von DRIVES_ON wird am Ende des Zeitfensters (nach
18.5 Sekunden) erkannt und die Antriebe werden verzögert eingeschaltet.
3.6.1.12 DRIVES_OFF
Durch einem Low--Impuls von mind. 20 ms Dauer an diesem Eingang kann der Leitrechner
die Roboterantriebe abschalten.
KonfigurationPHR4.1.7 12.03.06 de
3.6.2 Ausgänge
3.6.2.1 STOPMESS
Dieser Ausgang wird von der Robotersteuerung gesetzt, um dem Leitrechner das Auftreten
einer Meldung anzuzeigen, die das Anhalten des Roboters erforderlich machte.
(z.B. NOT--AUS, Fahrfreigabe, Bedienerschutz, Sollgeschwindigkeit usw.)
3.6.2.2 PGNO_REQ
Mit einem Signalwechsel an diesem Ausgang wird der Leitrechner aufgefordert, eine Pro-
grammnummer zu übermitteln.
3.6.2.3 PGNO_FBIT_REFL
Gespiegelter Ausgang, welcher das erste Bit der Programmnummer darstellt. Zum Einsatz
dieser Option muß der Variablen “REFLECT_PROG_NR” der Wert “1” zugewiesen werden.
Wird ein Programm, welches von der SPS angewählt wurde, vom Bediener abgewählt, wird
der Ausgabebereich beginnend mit PGNO_FBIT_REFL auf “FALSE” gesetzt. Auf diese
Weise kann die SPS den manuellen Neustart eines Programmes unterbinden.
PGNO_FBIT_REFL wird ebenfalls auf “FALSE” gesetzt, wenn sich der Interpreter im
CELL--Programm befindet.
Die Größe des Ausgangsbereiches hängt von der Bitbreite der Programmnummer ab
(PGNO_LENGTH).
Beispiel:
PGNO_FBIT_REFL = 5 => die Programmnummer beginnt mit $OUT[5]
3.6.2.4 APPL_RUN
Mit dem Setzen dieses Ausgangs teilt die Robotersteuerung dem Leitrechner mit, daß ge-
rade ein Programm abgearbeitet wird.
Der Wert von APPL_RUN darf nicht kleiner als “0” sein.
3.6.2.5 PERI_RDY
Mit Setzen dieses Ausgangs teilt die Robotersteuerung dem Leitrechner mit, daß die Robo-
terantriebe eingeschaltet sind.
KonfigurationPHR4.1.7 12.03.06 de
3.6.2.6 ALARM_STOP
Dieser Ausgang wird beim Auftreten eines Not--Aus--Ereignisses zurückgesetzt.
3.6.2.7 USER_SAF
Dieser Ausgang wird beim Öffnen des Schutzgitter--Abfrageschalters (in der Betriebsart
AUTO), bzw. beim Loslassen eines Zustimmungsschalters (in der Betriebsart TEST) zu-
rückgesetzt.
3.6.2.9 ON_PATH
Dieser Ausgang ist gesetzt, solange sich der Roboter auf seiner programmierten Bahn befin-
det.
Nach der SAK--Fahrt wird der Ausgang ON_PATH gesetzt. Dieser Ausgang bleibt solange
gesetzt, bis der Roboter die Bahn verläßt, das Programm zurückgesetzt wird oder eine Sat-
zanwahl durchgeführt wird. Das Signal ON_PATH hat aber kein Toleranzfenster; sobald der
Roboter die Bahn verläßt, wird dieses Signal zurückgesetzt.
KonfigurationPHR4.1.7 12.03.06 de
3.6.2.10 NEAR_POSRET
Über ein zweites Signal, NEAR_POSRET, kann der Leitrechner feststellen, ob der Roboter in-
nerhalb einer Kugel um die in $POS_RET gespeicherte Position steht. Der Radius der Kugel
kann vom Anwender in der Datei $CUSTOM.DAT über die Systemvariable $NEARPATHTOL
eingestellt werden.
Mit dieser Information kann der Leitrechner entscheiden, ob das Programm wieder gestar-
tet werden darf oder nicht.
Die Rückkehrposition $POS_RET ist die Position, an welcher der Roboter die Bahn verlas-
sen hat.
Beim Wechsel in die Betriebsart “Automatik Extern” wird überprüft, ob die Variable
“$NEAR_POSRET” auf “TRUE” steht. Ist dies nicht der Fall, wird eine entsprechende Mel-
dung im Meldungsfenster ausgegeben.
$NEAR_POSRET
FALSE
TRUE Bahn
FALSE $POS_RET
Bahnabdrift, z. B. durch
Generatorischen Stop
$NEARPATHTOL
3.6.2.11 PRO_ACT
Dieser Ausgang ist immer dann gesetzt, wenn ein Prozeß bzw. die Programmbearbeitung
auf Roboterebene aktiv ist.
Der Prozeß ist aktiv, solange ein Programm oder ein Interrupt bearbeitet wird. Die Pro-
grammbearbeitung am Ende des Programms wird erst dann inaktiv, wenn alle Impulsaus-
gänge und Trigger abgearbeitet sind. Im Falle eines Fehlerstops ist zwischen den drei fol-
gend beschriebenen Möglichkeiten zu unterscheiden:
KonfigurationPHR4.1.7 12.03.06 de
G Wurden Interrupts aktiviert, aber zum Zeitpunkt des Fehlerstops nicht bearbeitet,
so gilt der Prozeß als inaktiv (PRO_ACT=FALSE)
G Wurden Interrupts aktiviert und zum Zeitpunkt des Fehlerstops bearbeitet, so gilt
der Prozeß solange als aktiv (PRO_ACT=TRUE), bis das Interruptprogramm abge-
arbeitet ist oder auf einen HALT läuft (PRO_ACT=FALSE)
G Wurden Interrupts aktiviert und das Anwenderprogramm läuft auf einen HALT, so
gilt der Prozeß als inaktiv ($PRO_ACT=FALSE). Ist nach diesem Zeitpunkt eine In-
terruptbedingung erfüllt, so gilt der Prozeß solange als aktiv (PRO_ACT=TRUE), bis
das Interruptprogramm abgearbeitet ist oder auf einen HALT läuft
(PRO_ACT=FALSE)
3.6.2.12 IN_HOME
Dieser Ausgang teilt dem Leitrechner mit, ob sich der Roboter in seiner HOME--Position be-
findet.
3.6.2.13 ERR_TO_PLC
Durch das Setzen dieses Ausgangs teilt die Robotersteuerung dem Leitrechner mit, daß ein
Steuerungs-- oder Technologiefehler aufgetreten ist.
Diese Funktion ist nur aktiv, wenn PLC_ENABLE den Wert TRUE besitzt.
KonfigurationPHR4.1.7 12.03.06 de
3.6.3.1 PGNO
In dieser Variablen legt das Programm EXT_PGNO.SRC die vom Leitrechner empfangene
Programmnummer (unabhängig vom parametrierten Datentyp) als ganzzahligen Wert ab.
Das technologiespezifische Organisationsprogramm CELL.SRC ordnet mittels dieser Varia-
blen der Programmnummer das entsprechende Anwenderprogramm zu.
3.6.3.2 PGNO_ERROR
Diese Variable dient der internen Fehlerverwaltung des Programms EXT_PGNO.SRC und
darf nicht verwendet oder beschrieben werden!
KonfigurationPHR4.1.7 12.03.06 de
/R1/EXAMPLE.SRC läuft
/R1/CELL.SRC läuft
KonfigurationPHR4.1.7 12.03.06 de
3.7.2
Automatischer Anlagenanlauf $PRO_I_ O[]=/R1/SPS()
Signalname Signalrichtung Voraussetzungen:
mit Normalbetrieb Programm--Nr. gültig --> $EXT_START
KonfigurationPHR4.1.7 12.03.06 de
/R1/EXAMPLE.SRC läuft
/R1/CELL.SRC läuft
3.7.3
APPL_RUN KRC SPS
/R1/CELL.SRC läuft
KonfigurationPHR4.1.7 12.03.06 de
Signalname Signalrichtung Verhalten bei bahntreuem NOT--AUS und Wiederanlauf
3.7.4
APPL_RUN KRC SPS
/R1/EXAMPLE.SRC läuft
KonfigurationPHR4.1.7 12.03.06 de
/R1/CELL.SRC läuft
3.7.5
APPL_RUN KRC SPS
/R1/CELL.SRC läuft
KonfigurationPHR4.1.7 12.03.06 de
Signalname Signalrichtung Verhalten bei Anwender--HALT und Wiederanlauf
3.7.6
APPL_RUN KRC SPS
/R1/EXAMPLE.SRC läuft
KonfigurationPHR4.1.7 12.03.06 de
/R1/CELL.SRC läuft
3.8 Sonstiges
3.8.1 Wiederanlauf nach passivem Stop
Erfolgt ein passiver Stop vom KCP aus ohne Betriebsartenwechsel, so muß die Fehlermel-
dung “Q1370 :PASSIVER STOP” am KCP quittiert werden. Danach kann das Programm mit
einem externen Start fortgesetzt werden.
Bei passivem Stop vom KCP und Betriebsartenwechsel muß von Hand rückpositioniert
werden.
[FEATURES]
.
.
MSTEP_IN_EXT = TRUE
.
.
Schon nach dem nächsten Hochfahren des Systems steht diese Option zur Verfügung. Zum
Umschalten drücken Sie einfach den Statuskey für die Programmablaufart.
[FEATURES]
.
.
SLOW_BCO_EXT = TRUE
.
.
Ändern Sie die Variablen “$RED_VEL_AXC[1]...[12] nach Möglichkeit nicht. Für Schäden
bzw. Ausfallzeiten aufgrund veränderter Variablenwerte wird keine Haftung über-
nommen.
KonfigurationPHR4.1.7 12.03.06 de
3.9 Beispielkonfiguration
3.9.1 Vereinbarungen
KonfigurationPHR4.1.7 12.03.06 de
Schnittstellenbelegung (Beispielkonfiguration)
KonfigurationPHR4.1.7 12.03.06 de
3.10 Meldungen
In diesem Abschnitt werden die im Zusammenhang mit der Schnittstelle “Automatik extern”
auftretenden Fehlermeldungen beschrieben.
Meldungs--
Meldungstext Ursache
nummer
PGNO_TYPE falscher Wert Der Datentyp der Programmnummer
P00:1
zulässige Werte (1,2,3) wurde falsch angegeben.
PGNO_LENGTH falscher Wert
Die Bitbreite der Programmnummer
P00:2 Wertebereich wurde falsch projektiert.
1 ± PGNO_LENGTH ± 16
Wurde zum Lesen der Programmnum-
PGNO_LENGTH falscher Wert mer das BCD--Format gewählt, so muß
P00:3
zulässige Werte (4,8,12,16) auch eine entsprechende Bitbreite ein-
gestellt werden
KonfigurationPHR4.1.7 12.03.06 de
NOTIZEN:
KonfigurationPHR4.1.7 12.03.06 de
Zeichen A
#INSIDE, 63, 77 Achse mit definiertem Moment, 92
#INSIDE_STOP, 63, 77 ALARM_STOP, 112
#OUTSIDE, 63, 77 Allgemein, 89
#OUTSIDE_STOP, 64, 77 Ansprechzeit, 94
#PGNO_ACKN, 103 Anwender, 25
#PGNO_FAULT, 104 Anwender--HALT, 121
#PGNO_GET, 103 APPL_RUN, 111, 123
#STEP1, 94 Arbeitsraumüberwachung, 40, 61
$_I_O_ACTCONF, 100 Außenlüfter, 54
$ADAP_ACC, 94 AUT, 112
Automatik Extern, 16, 97
$CONFIG.DAT, 123
Automatischer Anlagenanlauf, 100
$CURR_LIM, 92
$CURR_MAX, 92
$CURR_RED[x,x], 90, 91, 92 B
$CUSTOM.DAT, 94 BCD--Wert, 107
$EXT_START, 100, 117 Bedienerschutz, 118
$EXT_START$IN[ ], 124 Beispiel Momentenbetrieb, 89
$I_O_ACTCONF, 100 Benutzerebene, 25
$I_O_ACTCONF $OUT[ ], 124 Benutzerebenen, 25
$IN[x], 58 Benutzergruppe, 25
$INSIM_TBL[x], 58 Betriebsart Automatik Extern, 57
$IOBLK_EXT, 58 Bildschirmschoner, 11
$IOSIM_IN[ ], 58 Binärzahl, 107
$IOSIM_OPT, 58 Bodenmontage, 89
$IOSIM_OUT[ ], 58 BOF Reinitialisieren, 43
$MACHINE.DAT, 124
$NEARPATHTOL, 113 C
$OUT[x], 58 CELL.SRC, 100, 101, 115
$OUT_NODRIVE, 58 CHCK_MOVENA, 109
$OUTSIM_TBL[x], 58 CONF_MESS, 109
$POS_RET, 109, 113 ConfigMon.ini bearbeiten, 48
$PRO_I_O[], 100
$RED_T1, 90 D
$ROBCOR.DAT, 94
Deckenmontage, 89
$STOPMESS $OUT[ ], 124
DEF--Zeile, 35
$TOOL, 64
Detailansicht, 36
$TORQ_DIFF, 95
Drehzahlreglerausgang, 90
$TORQ_VEL[], 91, 93
DRIVES_OFF, 110
$TORQMON_COM, 95
DRIVES_ON, 110
$TORQMON_COM_DEF, 95 Durchsacken, 89
$TORQMON_TIME, 94
$TORQUE_AXIS, 91, 92
E
E/A--Schnittstelle, 100
Zahlen E/A--Treiber, 17
5 Home--Positionen, 59 Editor, 35
Index -- i
Index
Index -- ii
Index
R Zugangs--Kennwort, 34
REAL $CURR_ACT[12], 92 Zustimmtaste, 57
REAL $CURR_RED[12,2], 92
REFLECT_PROG_NR, 108
Reinitialisierung, 43
Risiken, 89
Rückwirkungsgrad, 89, 92
S
Schnittstelle konfigurieren, 97
Schnittstellenbelegung, 124
Schräglage des Roboters, 90
Schrittweise Programmausführung, 122
Signalbeschreibungen, 107
Simulierte Ein--/Ausgänge, 55
Sprache, 32
Statustasten, 23
STOPMESS, 111
Submit--Interpreter, 22
T
T1, 112
T2, 112
Technologiespezifisches Organisationspro-
gramm, 101
U
Überbrücken der Arbeitsraumüberwachung, 66
Überwachungsschlauch, 94
USER_SAF, 112
USERTech reinitialisieren, 43
V
Variablen für den Momentenbetrieb, 92
Vorlaufstop, 93
W
Wandmontage, 89
Weichschaltung Achse 1, 91
WAIT FOR $IN[], 91
Weichschaltung Achse 3, 91
Wiederanlauf, 118, 122
Z
Zeilenumbruch ein/aus, 37
Index -- iii
SOFTWARE
KR C...
Programmierung Experte
1 von 214
e Copyright KUKA Roboter GmbH
Diese Dokumentation darf -- auch auszugsweise -- nur mit ausdrücklicher Genehmigung des Herausgebers vervielfältigt oder Dritten
zugänglich gemacht werden.
Es können weitere, in dieser Dokumentation nicht beschriebene Funktionen in der Steuerung lauffähig sein. Es besteht jedoch kein Anspruch
auf diese Funktionen bei Neulieferung bzw. im Servicefall.
Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard-- und Software geprüft. Dennoch können
Abweichungen nicht ausgeschlossen werden, so daß wir für die vollständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in
dieser Druckschrift werden jedoch regelmäßig überprüft, und notwendige Korrekturen sind in den nachfolgenden Auflagen enthalten.
Technische Änderungen ohne Beeinflussung der Funktion vorbehalten.
KUKA Interleaf
ProgExpPHR4.1.7 12.03.06 de
2 von 214
Inhaltsverzeichnis
1 Allgemeines zu KRL--Programmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1 Aufbau und Struktur von Programmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1 Programmoberfläche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.2 Dateikonzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.3 Dateistruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Programme erstellen und editieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1 Erstellen eines neuen Programms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.2 Programm editieren, kompilieren und binden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Ändern von Programmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.1 Programm--Korrektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2 Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2.1 Blockfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2.2 Kopieren (CTRL--C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2.3 Einfügen (CTRL--V) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.2.4 Ausschneiden (CTRL--X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.2.5 Löschen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.2.6 Suchen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.2.7 Ersetzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Verstecken von Programmteilen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.4.1 FOLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.4.1.1 Beispielprogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5 Programmablaufarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.6 Fehlerbehandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.7 Kommentare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3 Bewegungsprogrammierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.1 Verwendung verschiedener Koordinatensysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
ProgExpPHR4.1.7 12.03.06 de
3 von 214
Programmierung Experte
4 KRL--Assistent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.1 Positionsangaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.2 [PTP] Positionierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.3 [LIN] Geradlinige Bewegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.4 [CIRC] Kreisbahnbewegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5 Programmablaufkontrolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.1 Programmverzweigungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.1.1 Sprunganweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.1.2 Bedingte Verzweigung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.1.3 Verteiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.2 Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.2.1 Zählschleife . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.2.2 Abweisende Schleife . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5.2.3 Nicht abweisende Schleife . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.2.4 Endlosschleife . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.2.5 Vorzeitige Beendigung von Schleifendurchläufen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.3 Warteanweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.3.1 Warten auf ein Ereignis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.3.2 Wartezeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
5.4 Anhalten des Programms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.5 Quittieren von Meldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
6 Ein--/Ausgabeanweisungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.2 Binäre Ein--/Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.3 Digitale Ein--/Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
ProgExpPHR4.1.7 12.03.06 de
4 von 214
6.3.1 Signalvereinbarung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
6.3.2 Ausgänge im Zielpunkt setzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
6.4 Impulsausgänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
6.5 Analoge Ein--/Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
6.5.1 Analoge Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
6.5.2 Analoge Eingänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
6.6 Vordefinierte Digitaleingänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
8 Interrupt--Behandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
8.1 Deklaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8.2 Aktivieren von Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
8.3 Laufende Bewegungen anhalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
8.4 Abbrechen von Interrupt--Routinen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
8.5 Verwendung zyklischer Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
10 Datenlisten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.1 Lokale Datenlisten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.2 Globale Datenlisten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
ProgExpPHR4.1.7 12.03.06 de
5 von 214
Programmierung Experte
ProgExpPHR4.1.7 12.03.06 de
6 von 214
1 Allgemeines zu KRL--Programmen
1 Allgemeines zu KRL--Programmen
1.1 Aufbau und Struktur von Programmen
1.1.1 Programmoberfläche
Sobald Sie auf die Expertenebene gewechselt haben, verändert sich die Bedienoberfläche
wie nachfolgend dargestellt:
Während für den Anwender alle Systemdateien unsichtbar sind, kann der Experte diese im
Programmfenster sehen und auch editieren. Ferner werden neben den Dateinamen und
Kommentaren auf Expertenebene auch die Dateiextension, --attribute und --größen ange-
zeigt.
In vorstehender Abbildung werden im Programmfenster die Dateien und Verzeichnisse des
Pfades “R1” angezeigt.
ProgExpPHR4.1.7 12.03.06 de
7 von 214
Programmierung Experte
Datei Bedeutung
$MASCHINE.DAT Systemdatenliste mit Systemvariablen zur Anpassung von Steue-
rung und Roboter
$ROBCOR.DAT Systemdatenliste mit Daten für das Dynamikmodell des Roboters
MACHINE.UPG Systemfile für zukünftige Uprades
ROBCOR.UPG Systemfile für zukünftige Uprades
Datei Bedeutung
$CONFIG.DAT Systemdatenliste mit allgemeinen Konfigurationsdaten
BAS.SRC Basis--Paket für die Bewegungssteuerung
IR_STOPM.SRC Programm zur Fehlerbehandlung beim Auftreten von Störungen
SPS.SUB Submitfile für die parallele Überwachung
Datei Bedeutung
A10.DAT Technologiepaket zum Bahnschweißen mit analogen Leitspannun-
A10.SRC gen
A10_INI.DAT Technologiepaket zur Initialisierung des Bahnschweißens mit ana-
A10_INI.SRC logen Leitspannungen
A20.DAT Technologiepaket zum Bahnschweißen mit digitalen Programm-
A20.SRC nummern
A50.DAT Technologiepaket für die Verwendung des Libo (Lichtbogen) -- Sen-
A50.SRC sors
ARC_MSG.SRC Programm zur Programmierung von Meldungen für das Schutz-
gasschweißen.
ARCSPS.SUB Submitfile für Bahnschweißen
BOSCH.SRC Programm für Punktschweißen mit serieller Schnittstelle zum
Bosch Punktschweißtimer PSS5200.521C
COR_T1.SRC Programm zur Werkzeugkorrektur (alte Version)
CORRTOOL.DAT Programm zur Werkteugkorrektur
CORRTOOL.SRC
FLT_SERV.DAT Programm zur benutzerdefinierten Fehlerbehandlung beim Bahn-
FLT_SERV.SRC schweißen
H50.SRC Greifer--Paket
H70.SRC Touchsensor--Paket
MSG_DEMO.SRC Programm mit Beispielen für Benutzermeldungen
NEW_SERV.SRC Programm zur Änderung von Fehlerreaktionen für FLT_SERV
P00.DAT Programmpaket zur Kopplung an eine SPS
P00.SRC
ProgExpPHR4.1.7 12.03.06 de
8 von 214
1 Allgemeines zu KRL--Programmen (Fortsetzung)
CELL.SRC Programm zur Steuerung von Robotern über eine zentrale SPS.
Hierbei wird entsprechenden einer Programmnummer ein Bautei-
leprogramm ausgewählt
1.1.2 Dateikonzept
Ein KRL--Programm kann aus SRC-- und DAT--File bestehen.
Das “SRC”--File ist hierbei die Datei mit dem eigentlichen Programmcode. Dabei gibt es die
Varianten DEF und DEFFCT (mit Rückgabewert). Das “DAT”--File enthält dagegen die spe-
zifischen Programmdaten. Diese Teilung beruht auf dem Dateikonzept von KRL: Das Pro-
gramm beinhaltet neben dem Bearbeitungsablauf verschiedene Aktionen, die der Industrie-
roboter ausführen soll. Dies können bestimmte Bewegungsabläufe sein, das Öffnen oder
Schließen eines Greiferwerkzeugs, bis hin zu komplexen Abläufen, wie beispielsweise die
Steuerung einer Schweißzange unter Berücksichtigung der Randbedingungen.
Zum Testen von Programmen ist es hilfreich bzw. erforderlich, Teilaufgaben einzeln zum Ab-
lauf bringen zu können. Das in KRL realisierte Dateikonzept wird den speziellen Bedürfnis-
sen der Roboterprogrammierung gerecht.
1.1.3 Dateistruktur
Eine Datei ist die Einheit, welche der Programmierer erstellt und entspricht damit einer Datei
auf der Festplatte oder im Speicher (RAM). Jedes Programm in KRL kann aus einem oder
mehreren Dateien bestehen. Einfache Programme umfassen genau eine Datei. Komplexere
Aufgaben löst man besser mit einem Programm, das aus mehreren Dateien besteht.
Detaillierte Informationen über Unterprogramme und Funktionen finden Sie im Kapitel [Un-
terprogramme und Funktionen]
Der innere Aufbau einer KRL--Datei besteht aus Vereinbarungsteil, Anweisungsteil sowie
bis zu 255 lokalen Unterprogrammen und Funktionen.
DEF Der Objektname ohne Erweiterung ist zugleich der Name der Datei und wird deshalb in der
Vereinbarung mit “DEF“ angeführt. Der Name kann aus maximal 24 Zeichen bestehen und
darf kein Schlüsselwort sein (siehe Kapitel [Variablen und Vereinbarungen]). Jede Datei
beginnt mit der Vereinbarung “DEF“ und endet mit ”END”.
ProgExpPHR4.1.7 12.03.06 de
9 von 214
Programmierung Experte
DEF NAME(X1:IN)
Vereinbarungen
Anweisungen
END
Vereinbarung Vereinbarungen werden bereits vor der Programmbearbeitung, d.h. während des Überset-
zens, ausgewertet. Im Vereinbarungsteil darf daher keine Anweisung stehen. Die erste An-
weisung ist zugleich der Beginn des Anweisungsteils.
Datenliste Ein Roboterprogramm kann aus einer Programmdatei alleine oder aus einer Programmdatei
mit zugehöriger Datenliste bestehen. Datenliste und Datei werden über den gemeinsamen
Namen als zusammengehörig gekennzeichnet. Die Namen unterscheiden sich nur in der Ex-
tension, z.B.:
Datei: PROG1.SRC
Datenliste: PROG1.DAT
In Datenlisten sind nur Wertzuweisungen mit “=” zulässig. Wenn die Datenliste und
die Datei den gleichen Namen besitzen, können Variablen, die in der Datenliste vereinbart
sind, auf die gleiche Weise verwendet werden wie Variablen, die in der SRC--Datei verein-
bart sind.
ProgExpPHR4.1.7 12.03.06 de
10 von 214
1 Allgemeines zu KRL--Programmen (Fortsetzung)
Sie werden aufgefordert ein Template auszuwählen. Verwenden Sie dazu die Pfeiltasten und
bestätigen Sie mit dem Softkey “OK” oder mit der Returntaste.
Die Kopfzeile DEF¼ und END und die Rumpfprogramme der einzelnen Templates sind z.B.
für das Template Cell unter “C:\KRC\ROBOTER\TEMPLATE\CellVorgabe.src” zu finden.
ProgExpPHR4.1.7 12.03.06 de
11 von 214
Programmierung Experte
Wenn Sie das entsprechende Template ausgewählt haben, werden Sie aufgefordert einen
Namen für das erzeugte File einzugeben.
Der Dateiname ist als einziges zwingend erforderlich und darf max. 24 Zeichen betragen.
Die Dateiextension wird automatisch ergänzt. Wenn Sie einen Kommentar einfügen wollen,
müssen Sie mit der Pfeiltaste rechts den Cursor auf das entsprechende Feld bewegen, und
den gewünschten Text eingeben.
Drücken Sie den Softkey “OK” oder die Returntaste um diese Eingaben zu quittieren.
Die Datenliste ist zwingend erforderlich, wenn Sie in ihrer SRC--Datei auch menügeführte
Befehle einfügen wollen.
Damit das Programm übersichtlich bleibt, ist es nötig z.B. bei Verzweigungen diese auf
mehreren Ebenen einzurücken. Im Editor kann das durch Leerzeichen geschehen.
Compiler Der Compiler überprüft den Code dabei auf syntaktische und semantische Richtigkeit. Falls
Fehler vorhanden sind, wird eine entsprechende Meldung ausgegeben und eine Fehlerdatei
mit der Dateierweiterung “.ERR” erzeugt.
Weitere Informationen zur Behandlung von Editier--Fehlern finden Sie im Abschnitt [Feh-
lerbehandlung].
Binder Beim Laden eines Programms über den Softkey “Anwählen” werden alle benötigten Dateien
und Datenlisten zu einem Programm zusammengebunden. Beim Binden wird überprüft, ob
alle Module vorhanden, analysiert und fehlerfrei sind. Außerdem überprüft der Binder bei ei-
ner Parameterübergabe die Typverträglichkeit zwischen den Übergabeparametern. Treten
beim Binden Fehler auf, so wird -- wie beim Kompilieren -- ein Error--File mit der Erweiterung
“.ERR” erzeugt.
ProgExpPHR4.1.7 12.03.06 de
12 von 214
1 Allgemeines zu KRL--Programmen (Fortsetzung)
Sie können ein KRL--Programm auch mit jedem üblichen Text--Editor schreiben und an-
schließend mit dem Softkey “Laden” in den Systemspeicher laden. In diesem Fall müssen
Sie allerdings selbst darauf achten, daß alle notwendigen Initialisierungen (z.B. Achsge-
schwindigkeiten) vorgenommen werden.
DEF PROG1()
FOR J=1 TO 5
PTP {A1 4}
PTP {A2 -7,A3 5}
PTP {A1 0,A2 -9,A3 9}
ENDFOR
ProgExpPHR4.1.7 12.03.06 de
13 von 214
Programmierung Experte
1.3.1 Programm--Korrektur
Die Programm--Korrektur ist eine Standard--Methode. Wird ein Programm angewählt, oder
ein laufendes Programm gestoppt, befindet man sich automatisch im PROKOR--Modus.
Hier kann man Befehle anhand des Inlineformulars bzw. ASCII--Code (in der Expertene-
bene) eingeben oder bearbeiten, die sich nur auf eine Programmzeile auswirken -- also keine
Kontrollstrukturen (Schleifen etc.) oder Variablendeklarationen.
Im angewählten Zustand werden fehlerhafte Eingaben werden nach verlassen der Pro-
grammzeile sofort gelöscht und es erscheint eine Fehlermeldung im Meldungsfenster.
1.3.2 Editor
Will man also bestimmte KRL--Befehle oder Programmstrukturen bearbeiten oder einfügen,
so wird man dies über den Editor tun. Da bei Schließen des Editors der komplette Code com-
piliert wird, können auch Fehler erkannt werden, die erst im Zusammenhang mehrerer Zeilen
auftreten (z.B. falsch vereinbarte Variablen).
1.3.2.1 Blockfunktionen
Die Blockfunktionen stehen nur im Editor ab der Benutzerebene “Experte” zur Verfügung.
Sie müssen ein Programm, dessen Inhalt Sie mit Hilfe der Blockfunktionen ändern wollen,
mit dem Softkey “Edit” öffnen. Wie Sie zuvor in die Benutzerebene “Experte” wechseln,
wird im Kapitel [System konfigurieren], Abschnitt (Benutzergruppe) beschrieben.
Setzen Sie zunächst den blinkenden Editiercursor an den Anfang oder das Ende des zu ver-
schiebenden Programmteils. Halten Sie dann die “Shift”--Taste auf der Tastatur gedrückt,
während Sie den Cursor nach unten, bzw. oben bewegen. Auf diese Weise markieren Sie
einen Programmteil, der im nächsten Arbeitsschritt mit den Blockfunktionen bearbeitet wer-
den soll. Den bereits markierten Teil erkennen Sie an der farblichen Hervorhebung.
Betätigen Sie den Menükey “Bearbeiten” und wählen Sie aus dem sich öffnenden Menü die
gewünschte Funktion aus.
Werden für die Blockfunktionen der Nummernblock und das Tastaturfeld verwendet, muß
die NUM--Funktion ausgeschaltet sein. Drücken Sie in diesem Fall die “Num”--Taste auf
dem Tastaturfeld. Die entsprechende Anzeige in der Statuszeile ist dann ausgeschaltet.
ProgExpPHR4.1.7 12.03.06 de
14 von 214
1 Allgemeines zu KRL--Programmen (Fortsetzung)
Alternativ können Sie die CTRL--Taste auf dem Nummernblock gedrückt halten und auf der
Tastatur die C--Taste drücken. Lassen Sie anschließend beide Tasten los.
Wählen Sie jetzt die Option “Block einfügen” aus. Der vorher markierte Programmteil wird
unterhalb des Editier--Cursors wieder eingefügt.
Alternativ können Sie die CTRL--Taste auf dem Nummernblock gedrückt halten und auf der
Tastatur die V--Taste drücken. Lassen Sie anschließend beide Tasten los.
Alternativ können Sie die CTRL--Taste auf dem Nummernblock gedrückt halten und auf der
Tastatur die X--Taste drücken. Lassen Sie anschließend beide Tasten los.
1.3.2.5 Löschen
Der markierte Bereich kann aus dem Programm entfernt werden. In diesem Fall erfolgt keine
Zwischenspeicherung. Der entfernte Programmteil ist damit unwiderruflich verloren.
ProgExpPHR4.1.7 12.03.06 de
15 von 214
Programmierung Experte
Aus diesem Grund erfolgt eine Sicherheitsabfrage im Meldungsfenster, die über die Softkey-
leiste beantwortet werden muß.
Wählen Sie aus dem Menü die Option “Löschen” aus, wird der markierte Programmteil
ohne Zwischenspeicherung aus dem Programmlisting gelöscht.
1.3.2.6 Suchen
1.3.2.7 Ersetzen
Die Funktion “Suchen und ersetzen” steht nur in der Expertenebene und dort ausschließlich
im Editor zur Verfügung. Diese Anwendung durchsucht das Programm nach einer vorgege-
benen Zeichenfolge im sichtbaren Bereich (nicht Fold--Zeilen oder geöffnete Folds) und er-
möglicht die Ersetzung mit einer definierten Zeichenfolge.
Wählen Sie dazu im Menü “Bearbeiten” die Option “Ersetzen”.
ProgExpPHR4.1.7 12.03.06 de
16 von 214
1 Allgemeines zu KRL--Programmen (Fortsetzung)
Geben Sie eine Zeichenfolge in der Suchzeile ein und wechseln mit der Pfeiltaste nach unten
in die Ersetzenzeile. Dort tragen Sie den Begriff ein, der den Gesuchten ersetzen soll.
Tritt der gesuchte Begriff öfter in dem Dokument auf und Sie wollen ihn nur an einer best.
Stelle ersetzen, betätigen Sie den Softkey “Suchen” so oft, bis Sie die gewünschte Stelle
gefunden haben. Anschließend drücken Sie “ersetzen”. Der gesuchte Begriff wird gegen den
Angegebenen ausgetauscht.
Möchten Sie den gesuchten Begriff an allen Stellen bzw. in einem vorher markierten Bereich
im Programm ersetzen, so betätigen Sie nach der obigen Eingabe im Such--/Ersetzenformu-
lar den Softkey “Alle ers.”
ProgExpPHR4.1.7 12.03.06 de
17 von 214
Programmierung Experte
Sie erhalten im Meldungsfenster die Nachricht, “Der angegebene bzw. markierte Bereich
wurde durchsucht” (Bestätigung, daß das gesamte Programm bzw. die Markierung
durchsucht wurde). Nach betätigen des Softkeys ”Abbrechen” verlassen Sie den Ersetzen-
modus und erhalten im Meldungsfenster die Anzahl der gemachten Ersetzungen seit Akti-
vierung dieser Funktion.
ProgExpPHR4.1.7 12.03.06 de
18 von 214
1 Allgemeines zu KRL--Programmen (Fortsetzung)
1.4.1 FOLD
Die KUKA--Bedienoberfläche benutzt eine besondere Technik zur übersichtlichen Darstel-
lung eines Programmes. Als KRL--Kommentare markierte Anweisungen erlauben es, die
Anzeige von nachfolgenden Teilen des Programmes zu unterdrücken. Das Programm wird
so in sinnvolle Abschnitte unterteilt, die entsprechend ihrem Ordner--Charakter “FOLDS” ge-
nannt werden.
“FOLDS” sind standardmäßig “geschlossen” und können nur auf der Expertenebene “geöff-
net” werden. Sie enthalten Informationen die für den Anwender auf der KUKA--Bedienober-
fläche (KUKA--BOF) unsichtbar sind. Auf der Expertenebene haben Sie die Möglichkeit ei-
nen KRL--Block für den Anwender unsichtbar zu machen. Hierfür werden die betreffenden
Vereinbarungen oder Anweisungen durch die Bezeichnungen “;FOLD“ und “;ENDFOLD“ ein-
geschlossen.
Folds in einem Programm können angezeigt oder versteckt werden, wenn Sie den Menükey
“Bearbeiten” drücken und anschließend “FOLD” sowie das gewünschte Kommando anwäh-
len.
Wird ein angewähltes Programm, in dem Folds geöffnet sind, zurückgesetzt, so werden
diese Folds automatisch geschlossen.
FOR I=1 TO 16
$OUT[I]=FALSE
ENDFOR
;ENDFOLD
ProgExpPHR4.1.7 12.03.06 de
19 von 214
Programmierung Experte
...sind bei geschlossenen Folds auf der Bedienoberfläche nur die Worte “RESET OUT” zu
sehen. Mit diesem Befehl können Sie beispielsweise Deklarations-- und Initialisierungsteil
für den Anwender unsichtbar machen.
1.4.1.1 Beispielprogramm
DEF FOLDS()
;FOLD INITIALISATION
;---------- Initialisierung ---------
INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 ) ;Initialisierung von Geschwindigkeiten,
;Beschleunigungen, $BASE, $TOOL, etc.
FOR I=1 TO 16
$OUT[I]=FALSE
ENDFOR
HOME={AXIS: A1 0,A2 -90,A3 90,A4 0,A5 30,A6 0}
;ENDFOLD
END
ProgExpPHR4.1.7 12.03.06 de
20 von 214
1 Allgemeines zu KRL--Programmen (Fortsetzung)
Im geschlossenen FOLD ist nur der Ausdruck nach dem Schlüsselwort “FOLD” sichtbar.
Im geöffneten FOLD sind dagegen alle Anweisungen und Vereinbarungen zu sehen.
“FOLD” ist lediglich eine Anweisung für den Editor. Der Compiler interpretiert die FOLD--
Anweisungen aufgrund des vorangestellten Semikolons als normalen Kommentar.
ProgExpPHR4.1.7 12.03.06 de
21 von 214
Programmierung Experte
1.5 Programmablaufarten
Die Programmablaufart legt fest, ob die Programmbearbeitung
G ohne Programmstop,
G schrittweise oder
G satzweise
erfolgen soll. In nachfolgender Tabelle sind alle Programmablaufarten beschrieben.
Ablaufart Beschreibung
GO
Alle Anweisungen werden im Programm ohne STOP bis zum Pro-
grammende bearbeitet.
Die Programmablaufarten GO, MSTEP und ISTEP können am KCP über einen Statuskey
oder die Variable “$PRO_MODE” angewählt werden. PSTEP und CSTEP hingegen sind nur
über die Variable “$PRO_MODE” einstellbar. Zum Ändern des jeweiligen Zustands dieser
Variable rufen Sie die Menüfunktion “Anzeige” --> “Variable” --> “Einzeln” auf. Geben Sie an-
schließend im Eingabefeld “Name” die Variable “$PRO_MODE” und im Feld “Neuer Wert”
den gewünschten Wert ein.
ProgExpPHR4.1.7 12.03.06 de
22 von 214
1 Allgemeines zu KRL--Programmen (Fortsetzung)
Die Programmablaufarten “#PSTEP” und “#CSTEP” können nur über die Variablenkorrek-
tur und nicht per Statuskey ausgewählt werden.
ProgExpPHR4.1.7 12.03.06 de
23 von 214
Programmierung Experte
1.6 Fehlerbehandlung
Tritt ein Fehler beim Kompilieren oder Binden auf, so wird im Meldungsfenster eine Fehler-
meldung ausgegeben und die fehlerhafte Datei im Navigator kenntlich gemacht.
Als Beispiel dient die Datei “ERROR.SRC”, die (fehlerhaft) erstellt wurde:
Nach Schließen des Editors erscheint nun im Meldungsfenster eine Hinweismeldung über
die Anzahl der Fehler.
Gleichzeitig werden bei diesem Vorgang die betroffenen Dateien mit einem roten Kreuz ge-
kennzeichnet.
Der Softkey “Öffnen” lädt die Datei in den Editor und bei Betätigung des Softkeys “Datenliste”
wird das Dat--File mit dem Editor geöffnet. Wollen Sie die fehlerhaften Dateien löschen, so
drücken Sie “Löschen” und über “Neu” können sie eine neue Datei erstellen.
ProgExpPHR4.1.7 12.03.06 de
24 von 214
1 Allgemeines zu KRL--Programmen (Fortsetzung)
Kurzbeschreibung
Fehlernummer
*1
Nummer der fehlerhaften Zeile und
Spalte
Fehlerhafte Quelltext--Zeile
Fehlerbeschreibung = Kurzbeschreibung
HINWEIS *1
Die angezeigten Zeilennummern entsprechen den absoluten Zeilennummern im
Programm, wie sie ein normaler ASCII--Editor anzeigen würde. Um eine Überein-
stimmung zwischen den Zeilennummern in der Fehleranzeige und den Zeilen-
nummern im KCP zu erzielen, müßten alle Folds geöffnet, die Detailansicht und
die DEF--Zeile aktiv sein. Diese Darstellung ist aber etwas unübersichtlich, da
alle Informationen zur Verfügung gestellt werden, obwohl sie nicht benötigt wer-
den. Weiter Informationen über die Detailansicht und die DEF--Zeile finden Sie
im Abschnitt [Verstecken von Programmteilen].
Aus der Fehleranzeige ist ersichtlich, daß folgende Fehler aufgetreten sind:
G 3 Zeilen im SRC--File sind fehlerhaft;
G die Zeilennummern der fehlerhaften Zeilen lauten 51, 52 und 55;
G in Zeile 51 die Fehlernummern
-- 2263: Typ der Schleifenvariable ungleich INT;
G in Zeile 52 die Fehlernummer
-- 2249: Ausdruck ungleich INT;
G in Zeile 55 die Fehlermeldung
-- 2309: das Zeichen “(“ erwartet;
Aus den Fehlermeldungen “2263” ergibt sich sehr schnell, daß die Variable I nicht als Integer
deklariert wurde. Die Fehlermeldung 2249 resultiert ebenfalls aus der fehlenden Deklaration,
da bei einer Zählschleife der Zähler immer vom Typ INT sein muß. Die Meldung “2309” be-
deutet: Der Compiler interpretiert die Zeile als Unterprogrammaufruf, bei dem allerdings die
Klammern fehlen.
ProgExpPHR4.1.7 12.03.06 de
25 von 214
Programmierung Experte
Die Bedeutung der Fehlernummern können Sie Online mit Hilfe der Menüfunktion “An-
zeige” --> “Variable” --> “Einzeln” anzeigen lassen. Geben Sie hierzu im Zustandsfenster
im Eingabefeld “Name” das Zeichen”&” gefolgt von der Fehlernummer ein. In diesem Fall
beispielsweise “&2263” und betätigen die Eingabe--Taste.
Wenn Sie nun die SRC--Datei (in diesem Falls “ERROR.SRC”) in den Editor laden, können
Sie die entsprechenden Korrekturen vornehmen. Zur Erleichterung positioniert sich der Cur-
sor blinkend in der ersten fehlerhaften Zeile. Beachten Sie, daß die begrenzte Sichtbarkeit
ausgeschaltet sowie die DEF--Zeile sichtbar ist. Näheres finden Sie in Abschnitt [Verstek-
ken von Programmteilen].
Im vorliegenden Beispiel brauchen die Folds nicht geöffnet zu werden. Wird dies gewünscht,
verwenden Sie den Menübefehl “Bearbeiten” --> “Folds” --> “alle FOLDs öffnen”.
Die im ursprünglich erstellten Programm fehlende Zeile “INT I” muß vor der Zeile “INI”
eingefügt werden. Dies ist nur möglich, wenn die Zeile “DEF ERROR ( )” sichtbar ist.
Ein Gleichheitszeichen
entfernen
Nach Schließen des Editors und dem Abspeichern der korrigierten Datei können Sie bei der
Fehlerliste den Softkey “Aktual.” betätigen, und die Fehlerliste verschwindet wenn alle Feh-
ler behoben sind.
ProgExpPHR4.1.7 12.03.06 de
26 von 214
1 Allgemeines zu KRL--Programmen (Fortsetzung)
1.7 Kommentare
Kommentare sind ein wichtiger Bestandteil jedes Computerprogrammes. Dadurch können
Sie Ihr Programm übersichtlich und auch für andere verständlich machen. Die Bearbeitungs-
geschwindigkeit des Programmes wird durch Kommentare nicht beeinflußt.
Kommentare können Sie an jeder Stelle eines Programmes einfügen. Sie werden stets mit
einem Strichpunkt “;” eingeleitet, z.B.:
¼
PTP P1 ;Bewegung zum Ausgangspunkt
¼
;--- Ausgaenge zuruecksetzen ---
FOR I = 1 TO 16
$OUT[I] = FALSE
ENDFOR
¼
ProgExpPHR4.1.7 12.03.06 de
27 von 214
Programmierung Experte
ProgExpPHR4.1.7 12.03.06 de
28 von 214
2 Variablen und Vereinbarungen
Da alle Systemvariablen (s. Abschnitt 2.4) mit dem ’$’--Zeichen beginnen, sollten Sie
dieses Zeichen nicht als erstes Zeichen in selbstdefinierten Namen verwenden.
ProgExpPHR4.1.7 12.03.06 de
29 von 214
Programmierung Experte
Lebensdauer Die Lebensdauer einer Variablen ist die Zeit, während der der Variablen Speicherplatz zuge-
wiesen ist. Sie ist abhängig davon, ob die Variable in einer SRC--Datei oder einer Datenliste
deklariert ist:
G Variable in einer SRC--Datei deklariert
Die Lebensdauer beschränkt sich auf die Laufzeit des Programms. Nach Beendigung der
Abarbeitung wird der Speicherbereich wieder freigegeben. Der Wert der Variablen geht
somit verloren.
G Variable in einer Datenliste (s. Kapitel Datenlisten) deklariert
Die Lebensdauer ist unabhängig von der Laufzeit des Programms. Die Variable existiert
so lange, wie die Datenliste existiert. Solche Variablen sind also permanent (bis zum
nächsten Ein--/Ausschalten).
ProgExpPHR4.1.7 12.03.06 de
30 von 214
2 Variablen und Vereinbarungen (Fortsetzung)
2.2 Datenobjekte
Unter Datenobjekten sind benennbare Speichereinheiten eines bestimmten Datentyps zu
verstehen. Die Speichereinheiten können dabei aus unterschiedlich vielen Speicherzellen
(Bytes, Worte, etc.) bestehen. Wird ein solches Datenobjekt vom Programmierer unter ei-
nem Namen vereinbart, erhält man eine Variable. Die Variable belegt nun eine oder mehrere
Speicherzellen, in denen Daten durch das Programm geschrieben und gelesen werden kön-
nen. Durch die symbolische Benennung der Speicherzellen mit frei wählbaren Namen wird
die Programmierung einfacher und übersichtlicher, das Programm besser lesbar.
Zur Klärung des Begriffes Datentyp diene folgendes Beispiel: In einer Speicherzelle mit 8 Bit
befinde sich die Bitkombination
00110101
Wie ist diese Bitkombination zu interpretieren? Handelt es sich um die binäre Darstellung der
Zahl 53 oder um das ASCII--Zeichen “5”, was mit dem gleichen Bitmuster dargestellt wird?
Zur eindeutigen Beantwortung dieser Frage fehlt noch eine wichtige Information, nämlich die
Datentyp Angabe des Datentyps eines Datenobjekts. Im obigen Fall könnte das beispielsweise der
Typ “ganze Zahl” (INTEGER) oder “Zeichen” (CHARACTER) sein.
Neben diesem computertechnischen Grund für die Einführung von Datentypen, ist die Ver-
wendung von Datentypen auch benutzerfreundlicher, da man mit genau den Typen arbeiten
kann, die für die spezielle Anwendung besonders gut geeignet sind.
Bei der Deklaration von Variablen und Feldern eines vordefinierten Datentyps kann das
Schlüsselwort DECL entfallen. Neben den einfachen Datentypen INT, REAL, CHAR
und BOOL (s. Abschnitt 2.2.2) sind unter anderem die Strukturdatentypen POS, E6POS,
FRAME, AXIS und E6AXIS (s. Abschnitt 2.2.5) vordefiniert.
Für Variablen (keine Felder !) des Datentyps POS kann die Deklaration komplett entfal-
len. Der Datentyp POS gilt als Standarddatentyp für Variablen.
Unverzichtbar ist das Schlüsselwort DECL bei der Vereinbarung frei definierbarer
Struktur-- oder Aufzählungstypen (s. Abschnitt 2.2.5 und 2.2.6).
Initialisierung Nach der Vereinbarung einer Variablen ist deren Wert zunächst auf ungültig gesetzt, da er
sonst von der zufälligen Speicherbelegung abhängen würde. Um mit der Variablen arbeiten
zu können, muß sie daher mit einem bestimmten Wert vorbelegt werden. Diese 1. Wertzu-
weisung an eine Variable nennt man Initialisierung.
Bei der Erstellung neuer Dateien über den Softkey “Neu” auf der KUKA--Bedienoberflä-
che wird automatisch auch eine INI--Sequenz erzeugt. Die Vereinbarung von Variablen
muß stets vor dieser Sequenz erfolgen.
Eine Wertzuweisung an eine Variable ist eine Anweisung, und darf daher grundsätzlich nicht
im Vereinbarungsteil stehen. Die Initialisierung kann aber jederzeit im Anweisungsteil erfol-
gen. Alle vereinbarten Variablen sollten jedoch zweckmäßigerweise in einem Initialisierungs-
abschnitt direkt nach dem Deklarationsteil initialisiert werden (s. Abb. 1).
ProgExpPHR4.1.7 12.03.06 de
31 von 214
Programmierung Experte
DEF NAME()
END
ProgExpPHR4.1.7 12.03.06 de
32 von 214
2 Variablen und Vereinbarungen (Fortsetzung)
INT Der Datentyp Integer ist eine Teilmenge aus der Menge der ganzen Zahlen. Eine Teilmenge
kann es deshalb nur sein, weil kein Rechner die theoretisch unendliche Menge der ganzen
Zahlen darstellen kann. Die in der KR C1 für Integer--Typen vorgesehenen 32 Bit ergeben
daher 231 ganze Zahlen plus Vorzeichen. Die Zahl 0 wird dabei zu den positiven Zahlen ge-
zählt.
Mit
NUMMER = -23456
wird der Variablen NUMMER der Wert -23456 zugewiesen.
Weisen Sie einer INTEGER--Variablen einen REAL--Wert zu, so wird der Wert nach den all-
gemeinen Regeln gerundet (x.0 bis x.49 abrunden, x.5 bis x.99 aufrunden). Durch die Anwei-
sung
NUMMER = 45.78
erhält die INTEGER--Variable NUMMER den Wert 46.
Während der Mensch im Dezimalsystem rechnet und denkt, kennt ein Computer nur Nullen
und Einsen, welche die beiden Zustände Aus und Ein repräsentieren. Ein Zustand (Aus oder
Ein) wird also mit einem Bit dargestellt. Aus Geschwindigkeitsgründen greift der Rechner im
allgemeinen auf ein ganzes Paket solcher Nullen und Einsen zu. Typische Paketgrößen sind
8 Bit (=1 Byte), 16 Bit oder 32 Bit. Bei maschinennahen Operationen ist daher oftmals die
Binärsystem Darstellung im Binärsystem (2er--System: Ziffern 0 und 1) oder im Hexadezimalsystem
Hexadezimal- (16er--System: Ziffern 0--9 und A--F) hilfreich. Binäre oder hexadezimale Integerwerte kön-
system nen Sie in KRL mit Hilfe des Hochkommas (’) und der Angabe von B für Binärdarstellung oder
H für Hexadezimaldarstellung angeben.
D 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
H 0 1 2 3 4 5 6 7 8 9 A B C D E F 10
ProgExpPHR4.1.7 12.03.06 de
33 von 214
Programmierung Experte
Die Zahl 90 können Sie also in KRL auf drei verschiedene Arten einer Integervariablen zuwei-
sen:
INTZAHL = 90 ;Dezimalsystem
INTZAHL = ’B1011010’ ;Binaersystem
INTZAHL = ’H5A’ ;Hexadezimalsystem
Bin ® Dez Die Umrechnung von Binärzahlen in das Dezimalsystem gestaltet sich wie folgt:
1 0 1 1 0 1 0
= 1S26+0S25+1S24+1S23+0S22+1S21+0S20= 90
26 25 24 23 22 21 20
Hex ® Dez Zum Transfer von Zahlen aus dem Hexadezimalsystem in das Dezimalsystem gehen Sie
folgendermaßen vor:
5 A
=5S161+10S160=90
161 160
REAL Bei dem Begriff der Gleitkommadarstellung handelt es sich um die Aufteilung einer Zahl in
Mantisse und Exponent und deren Darstellung in normierter Form. So wird z.B.
5.3 als 0.53000000 E+01
-100 als -0.10000000 E+03
0.0513 als 0.51300000 E-01
dargestellt.
Beim Rechnen mit Realwerten muß wegen der begrenzten Anzahl der Gleitkommastellen
und der damit einhergehenden Ungenauigkeit beachtet werden, daß die gewohnten algebra-
ischen Gesetze nicht mehr in allen Fällen gültig sind. So gilt beispielsweise in der Algebra:
1×3 = 1
3
Läßt man dies einen Computer nachrechnen, so kann sich ergeben, daß das Ergebnis nur
0.99999999 E+00 ist. Ein logischer Vergleich dieser Zahl mit der Zahl 1 ergäbe den Wert
FALSE. Für praktische Anwendungen im Roboterbereich reicht diese Genauigkeit jedoch
im allgemeinen aus, wenn man beachtet, daß der logische Test auf Gleichheit bei Realgrö-
ßen nur innerhalb eines kleinen Toleranzbereichs sinnvoll durchgeführt werden kann.
Zulässige Zuweisungen an Real--Variablen sind z.B.:
REALZAHL1 = -13.653
REALZAHL2 = 10
REALZAHL3 = 34.56 E-12
ProgExpPHR4.1.7 12.03.06 de
34 von 214
2 Variablen und Vereinbarungen (Fortsetzung)
CHAR Character--Variablen können genau 1 Zeichen aus dem ASCII--Zeichensatz darstellen. Bei
der Zuweisung eines ASCII--Zeichens zu einer CHAR--Variablen muß das zugewiesene Zei-
chen in Anführungszeichen (”) eingeschlossen sein:
ZEICHEN1 = “G”
ZEICHEN2 = “?”
Zur Speicherung ganzer Zeichenfolgen siehe Abschnitt 2.2.4.
2.2.3 Felder
Unter Feldern versteht man die Zusammenfassung von Objekten gleichen Datentyps zu ei-
nem Datenobjekt, wobei die einzelnen Komponenten eines Feldes über Indizes angespro-
chen werden können. Durch die Vereinbarung
DECL INT OTTO[7]
Feldindex können Sie z.B. 7 verschiedene Integer--Zahlen in dem Feld OTTO[] ablegen. Auf jede ein-
zelne Komponente des Feldes können Sie durch Angabe des zugehörigen Index zugreifen
(erster Index ist immer die 1):
OTTO[1] = 5 ; dem 1. Element wird die Zahl 5 zugewiesen
OTTO[2] = 10 ; dem 2. Element wird die Zahl 10 zugewiesen
OTTO[3] = 15 ; dem 3. Element wird die Zahl 15 zugewiesen
OTTO[4] = 20 ; dem 4. Element wird die Zahl 20 zugewiesen
OTTO[5] = 25 ; dem 5. Element wird die Zahl 25 zugewiesen
OTTO[6] = 30 ; dem 6. Element wird die Zahl 30 zugewiesen
OTTO[7] = 35 ; dem 7. Element wird die Zahl 35 zugewiesen
Anschaulich kann man sich das Feld mit dem Namen OTTO[] als Regal mit 7 Fächern vor-
stellen. Die Fächerbelegung würde nach den vorangegangenen Zuweisungen nun so ausse-
hen:
5 10 15 20 25 30 35
Sollen nun alle Elemente eines Feldes mit der gleichen Zahl, z.B. 0, initialisiert werden, so
müssen Sie nicht jede Zuweisung explizit programmieren, sondern Sie können die Vorbeset-
zung mit Hilfe einer Schleife und einer Zählvariablen “automatisieren”:
FOR I = 1 TO 7
OTTO[I] = 0
ENDFOR
Die Zählvariable ist in diesem Fall die Integervariable I. Sie muß vor der Verwendung als
Integer deklariert worden sein.
ProgExpPHR4.1.7 12.03.06 de
35 von 214
Programmierung Experte
S Der Datentyp eines Feldes ist beliebig. Somit können die einzelnen Elemente
wiederum aus zusammengesetzten Datentypen bestehen
(z.B.: Feld aus Feldern)
S Für die Index sind nur Integer--Datentypen zulässig
S Neben Konstanten und Variablen sind auch arithmetische Ausdrücke für den
Index zulässig (s. Abschnitt 2.3.1)
S Der Index zählt immer ab 1
2--dimens. Neben den bisher besprochenen eindimensionalen Feldern, d.h. Feldern mit nur einem In-
dex, können Sie in KRL auch zwei-- oder dreidimensionale Felder verwenden. Mit
DECL REAL MATRIX[5,4]
vereinbaren Sie ein zweidimensionales 5×4 Feld mit 5×4=20 REAL--Elementen. Anschau-
lich läßt sich dieses Feld als Matrix mit 5 Spalten und 4 Reihen darstellen. Mit der Programm-
sequenz
I[3] = 0
FOR SPALTE = 1 TO 5
FOR REIHE = 1 TO 4
I[3] = I[3] + 1
MATRIX[SPALTE,REIHE] = I[3]
ENDFOR
ENDFOR
werden die Elemente der Matrix mit einem Wert entsprechend der Reihenfolge ihrer Bele-
gung besetzt. Man erhält daher folgende Matrixbelegung:
Ebene 1
Reihe 1
Reihe 2
1
Reihe 3 5
2 9
6 13
Reihe 4 10 17
3
7 14
4 11 18
8 15
12 19
Spalte 1
16
Spalte 2
20
Spalte 3
Spalte 4
Spalte 5
ProgExpPHR4.1.7 12.03.06 de
36 von 214
2 Variablen und Vereinbarungen (Fortsetzung)
3--dimens. Dreidimensionale Felder kann man sich schließlich so vorstellen, daß mehrere zweidimen-
sionale Matrizen hintereinander liegen. Die dritte Dimension gibt also sozusagen die Ebene
an, in der die Matrix liegt (s. Abb. 4). Vereinbart wird ein dreidimensionales Feld analog zu
den ein-- oder zweidimensionalen Feldern, z.B.:
DECL BOOL FELD_3D[3,5,4]
Die Initialisierungssequenz könnte so aussehen:
FOR EBENE = 1 TO 3
FOR SPALTE = 1 TO 5
FOR REIHE = 1 TO 4
FELD_3D[EBENE,SPALTE,REIHE] = FALSE
ENDFOR
ENDFOR
ENDFOR
Ebene 3
Ebene 2
41
Ebene 1 45
42 49
21 46 53
Reihe 1 25 50 57
22 29 54
Reihe 2 26 33 58
1
5 30 37 55
Reihe 3 34 59
2 9
6 13 38 56
Reihe 4 10 17 35 60
3
7 14 39
4 11 18 36
8 15 40
12 19
Spalte 1
16
Spalte 2
20
Spalte 3
Spalte 4
Spalte 5
ProgExpPHR4.1.7 12.03.06 de
37 von 214
Programmierung Experte
2.2.4 Zeichenketten
Mit dem Datentyp CHAR können Sie, wie beschrieben, nur einzelne Zeichen abspeichern.
Zur Verwendung ganzer Zeichenketten, also z.B. von Wörtern, definiert man einfach ein ein-
dimensionales Feld vom Typ CHAR:
DECL CHAR NAME[8]
Sie können jetzt wie bisher üblich jedes einzelne Element des Feldes NAME[] ansprechen,
z.B.:
NAME[3] = “G”
A B C D E F G
2.2.5 Strukturen
Sollen verschiedene Datentypen zusammengefaßt werden, dann ist das Feld ungeeignet
und man muß auf die allgemeinere Form des Verbundes zurückgreifen. Mit der Vereinba-
STRUC rungsanweisung STRUC können unterschiedliche Datentypen, die zuvor definiert wurden
bzw. vordefinierte Datentypen sind, zu einem neuen Verbunddatentyp zusammengefaßt
werden. Insbesondere können auch andere Verbunde und Felder Bestandteil eines Verbun-
des sein.
Typisches Beispiel für die Verwendung von Verbunden ist der Standarddatentyp POS. Er be-
steht aus 6 REAL--Werten und 2 INT--Werten und wurde in der Datei $OPERATE.SRC folgen-
dermaßen definiert:
STRUC POS REAL X, Y, Z, A, B, C, INT S, T
Punkt--Sepa- Verwenden Sie jetzt z.B. eine Variable POSITION vom Strukturdatentyp POS, so können
rator Sie die Elemente entweder einzeln mit Hilfe des Punkt--Separators, z.B.:
POSITION.X = 34.4
POSITION.Y = -23.2
POSITION.Z = 100.0
POSITION.A = 90
POSITION.B = 29.5
POSITION.C = 3.5
POSITION.S = 2
POSITION.T = 6
Aggregat oder gemeinsam mittels eines sogenannten Aggregates
POSITION={X 34.4,Y -23.2,Z 100.0,A 90,B 29.5,C 3.5,S 2,T 6}
besetzen.
ProgExpPHR4.1.7 12.03.06 de
38 von 214
2 Variablen und Vereinbarungen (Fortsetzung)
S Die Werte eines Aggregats können einfache Konstanten oder selbst Aggre--
gate sein.
S In einem Aggregat müssen nicht sämtliche Komponenten der Struktur ange--
geben werden.
S Die Komponenten brauchen nicht in der Reihenfolge angegeben zu werden,
in der diese definiert wurden.
S Jede Komponente darf in einem Aggregat nur einmal enthalten sein.
S Bei Feldern aus Strukturen beschreibt ein Aggregat den Wert eines einzelnen
Feldelementes.
S Am Anfang eines Aggregates kann -- durch Doppelpunkt abgetrennt -- der
Name des Strukturtyps angegeben sein.
Bei POS, E6POS, AXIS, E6AXIS und FRAME--Strukturen werden fehlende Kom-
ponenten nicht verändert. Bei allen sonstigen Aggregaten werden nicht vorhan-
dene Komponenten auf ungültig gesetzt.
Das Vorgehen beim Erstellen eigener Strukturvariablen sei an folgendem Beispiel erläutert:
In ein Unterprogramm zum Lichtbogenschweißen soll in einer Variablen S_PARA folgende
Information übergeben werden:
REAL V_DRAHT Drahtgeschwindigkeit
INT KENNL Kennlinie 0¼100%
BOOL LIBO mit/ohne Lichtbogen (für Simulation)
Die Variable S_PARA muß aus 3 Elementen unterschiedlichen Datentyps bestehen. Zu-
nächst muß ein neuer Datentyp definiert werden, der diese Forderungen erfüllt:
STRUC SCHWEISSTYP REAL V_DRAHT, INT KENNL, BOOL LIBO
Hiermit ist ein neuer Datentyp mit der Bezeichnung SCHWEISSTYP entstanden (SCHWEIS-
STYP ist keine Variable!). SCHWEISSTYP besteht aus den 3 Komponenten
V_DRAHT,KENNL und LIBO. Nun können Sie eine beliebige Variable des neuen Datentyps
deklarieren, z.B.:
DECL SCHWEISSTYP S_PARA
Damit haben Sie eine Variable S_PARA des Datentyps SCHWEISSTYP geschaffen. Die ein-
zelnen Elemente lassen sich -- wie schon beschrieben -- mit Hilfe des Punkt--Separators oder
des Aggregats ansprechen:
S_PARA.V_DRAHT = 10.2
S_PARA.KENNL = 66
S_PARA.LIBO = TRUE
oder
S_PARA = {V_DRAHT 10.2,KENNL 50, LIBO TRUE}
ProgExpPHR4.1.7 12.03.06 de
39 von 214
Programmierung Experte
Mit den Komponenten E1¼E6 in der Struktur E6POS können wieder Zusatzachsen ange-
sprochen werden.
geometrische Die Typen AXIS, E6AXIS, POS, E6POS und FRAME nennt man auch geometrische Daten-
Datentypen typen, da der Programmierer mit ihnen auf einfache Weise geometrische Beziehungen be-
schreiben kann.
2.2.6 Aufzählungstypen
Ein Aufzählungsdatentyp ist ein Datentyp, der sich aus einer begrenzten Menge von Kon-
stanten zusammensetzt. Die Konstanten sind frei definierbare Namen und können vom Be-
nutzer festgelegt werden. Eine Variable dieses Datentyps (Aufzählungsvariable) kann nur
den Wert einer dieser Konstanten annehmen.
Zur Erläuterung diene die Systemvariable $MODE_OP. In ihr wird abgespeichert welche Be-
triebsart gerade angewählt ist. Zur Auswahl stehen die Betriebsarten T1, T2, AUT und EX.
Man könnte nun $MODE_OP als Integervariable deklarieren, jeder Betriebsart eine Zahl zu-
ordnen und diese dann in $MODE_OP abspeichern. Dies wäre jedoch sehr unübersichtlich.
ENUM Eine weitaus elegantere Lösung bietet der Aufzählungstyp. In der Datei $OPERATE.SRC
wurde dazu ein Aufzählungsdatentyp mit dem Namen MODE_OP generiert:
ENUM MODE_OP T1, T2, AUT, EX, INVALID
Der Befehl zur Vereinbarung von Aufzählungstypen lautet also ENUM. Variablen des Aufzäh-
lungstyps MODE_OP können nur die Werte T1, T2, AUT, EX oder INVALID annehmen. Die
Variablenvereinbarung erfolgt wieder mit dem Schlüsselwort DECL:
DECL MODE_OP $MODE_OP
Die Aufzählungsvariable $MODE_OP können sie nun durch normale Zuweisung mit einem der
vier Werte des Datentyps MODE_OP belegen. Zur Unterscheidung von einfachen Konstanten
ProgExpPHR4.1.7 12.03.06 de
40 von 214
2 Variablen und Vereinbarungen (Fortsetzung)
ProgExpPHR4.1.7 12.03.06 de
41 von 214
Programmierung Experte
2.3 Datenmanipulation
Zur Manipulation der verschiedenen Datenobjekte gibt es eine Fülle von Operatoren und
Funktionen, mit deren Hilfe Formeln aufgebaut werden können. Die Mächtigkeit einer Robo-
terprogrammiersprache hängt gleichermaßen von den zugelassenen Datenobjekten und
deren Manipulationsmöglichkeiten ab.
2.3.1 Operatoren
Unter Operatoren sind die üblichen mathematischen Operatoren zu verstehen im Gegen-
Operand satz zu Funktionen wie beispielsweise SIN(30), welche den Sinus des Winkels 30_ liefert.
In der Operation 5+7 bezeichnet man demnach 5 und 7 als Operanden und + als Operator.
Bei jeder Operation prüft der Compiler die Zulässigkeit der Operanden. So ist beispielsweise
7 -- 3 als Subtraktion zweier Integerzahlen eine zulässige Operation, 5 + “A” als Addition ei-
nes Integerwertes zu einem Zeichen eine ungültige Operation.
Bei manchen Operationen, wie 5 + 7.1, also der Addition von Integer-- mit Realwerten wird
eine Typanpassung vorgenommen und der Integerwert 5 in den Realwert 5.0 umgewandelt.
Auf diese Problematik wird bei der Besprechung der einzelnen Operatoren noch näher ein-
gegangen.
Operator Beschreibung
+ Addition oder positives Vorzeichen
-- Subtraktion oder negatives Vorzeichen
* Multiplikation
/ Division
Das Ergebnis einer arithmetischen Operation ist nur dann INT, wenn beide Operanden vom
Typ INTEGER sind. Ist das Ergebnis einer Integerdivision nicht ganzzahlig, so wird die Nach-
kommastelle abgeschnitten. Wenn mindestens einer der beiden Operanden REAL ist, dann
ist auch das Ergebnis vom Typ REAL (s. Tab. 4).
ProgExpPHR4.1.7 12.03.06 de
42 von 214
2 Variablen und Vereinbarungen (Fortsetzung)
DEF ARITH()
END
Der geometrische Operator wird in KRL durch einen Doppelpunkt “:” symbolisiert. Er führt
zwischen den Datentypen FRAME und POS eine Frameverknüpfung durch.
Die Verknüpfung zweier Frames ist die übliche Transformation von Koordinatensystemen.
Daher wirkt sich die Verknüpfung einer FRAME-- mit einer POS--Struktur nur auf das Frame
innerhalb der POS--Struktur aus. Die Komponenten S und T bleiben von der Transformation
unberührt und müssen daher auch nicht mit einem Wert besetzt sein. Die Werte X, Y, Z, A,
B und C müssen jedoch sowohl bei POS--Operanden als auch bei FRAME--Operanden immer
mit einem Wert besetzt sein.
Frame-- Eine Frameverknüpfung wird von links nach rechts ausgewertet. Das Ergebnis hat immer
verknüpfung den Datentyp des am weitesten rechts stehenden Operanden (s. Tab. 5).
ProgExpPHR4.1.7 12.03.06 de
43 von 214
Programmierung Experte
Wenn der linke Operand den Datentyp POS hat, dann findet eine Typanpassung statt.
Die durch die POS--Struktur angegebene Position wird in ein Frame umgewandelt. Das
heißt, das System ermittelt das Werkzeug--Frame zu dieser Position.
Die Wirkungsweise des geometrischen Operators sei an einem einfachen Beispiel erläutert
(s. Abb. 5):
In einem Raum steht ein Tisch. Das RAUM--Koordinatensystem sei als festes Koordinatensy-
stem in der linken vorderen Ecke des Raumes definiert.
Der Tisch steht parallel zu den Wänden des Raumes. Die linke vordere Ecke des Tisches
liegt genau 600 mm von der vorderen Wand und 450 mm von der linken Wand des Raumes
entfernt. Der Tisch ist 800 mm hoch.
Auf dem Tisch steht ein quaderförmiges Werkstück. Das WERKSTUECK--Koordinatensystem
legen Sie wie in Abb. 5 gezeigt in eine Ecke des Werkstücks. Um das Teil später zweckmäßig
handhaben zu können, zeigt die Z--Achse des WERKSTUECK--Koordinatensystems nach un-
ten. Das Werkstück ist bezüglich der Z--Achse des TISCH--Koordinatensystems um 40_ ge-
dreht. Die Position des WERKSTUECK--Koordinatensystems bezogen auf das TISCH--Koor-
dinatensystem ist X=80 mm, Y = 110 mm und Z = 55 mm.
Basis=Tisch:Werkstück
ZR
XB
YR YB
ZB
Basis
Werkstück
ZT YT
XT
Tisch
XR
ProgExpPHR4.1.7 12.03.06 de
44 von 214
2 Variablen und Vereinbarungen (Fortsetzung)
Nur in diesem speziellen Fall ergeben sich die Komponenten von BASIS als
Addition der Komponenten von TISCH und WERKSTUECK. Dies liegt daran,
daß das TISCH--Koordinatensystem nicht bezüglich des RAUM--Koordinatensy-
stems verdreht ist.
Im allgemeinen ist jedoch eine einfache Addition der Komponenten nicht mög-
lich!
Eine Frameverknüpfung ist auch nicht kommutativ, das heißt, durch Vertau-
schen von Bezugsframe und Zielframe wird sich normalerweise auch das Er-
gebnis ändern!
Zur Anwendung des geometrischen Operators ein weiteres Beispiel: Verschiedene Koordi-
natensysteme und Verknüpfungen von Koordinatensystemen werden darin angefahren. Zur
Verdeutlichung von Orientierungsänderungen verfährt die Werkzeugspitze in jedem Koordi-
natensystem zunächst ein Stück in X--Richtung, dann ein Stück in Y--Richtung und schließ-
lich ein Stück in Z--Richtung.
ProgExpPHR4.1.7 12.03.06 de
45 von 214
Programmierung Experte
DEF GEOM_OP ( );
ProgExpPHR4.1.7 12.03.06 de
46 von 214
2 Variablen und Vereinbarungen (Fortsetzung)
2.3.1.3 Vergleichsoperatoren
Mit den in Tab. 6 aufgeführten Vergleichsoperatoren können logische Ausdrücke gebildet
werden. Das Ergebnis eines Vergleichs ist daher immer vom Datentyp BOOL, da ein Ver-
gleich immer nur wahr (TRUE) oder falsch (FALSE) sein kann.
Tab. 6 Vergleichsoperatoren
Der Test auf Gleichheit oder Ungleichheit ist bei Realwerten nur bedingt sinnvoll,
da durch Rundungsfehler bei Berechnung der zu vergleichenden Werte algebra-
isch identische Formeln ungleiche Werte liefern können (s. 2.2.2).
S Kombinationen von Operanden aus INT, REAL, und CHAR sind möglich.
S Ein ENUM--Typ darf nur mit dem selben ENUM--Typ verglichen werden.
S Ein BOOL--Typ darf nur mit einem BOOL--Typ verglichen werden.
Der Vergleich von Zahlenwerten (INT, REAL) und Zeichenwerten (CHAR) ist deshalb mög-
lich, weil jedem ASCII--Zeichen ein ASCII--Code zugeordnet ist. Dieser Code ist eine Zahl,
die die Reihenfolge der Zeichen im Zeichensatz bestimmt.
Die einzelnen Konstanten eines Aufzählungstyps werden bei ihrer Deklaration in der Reihen-
folge ihres Auftretens durchnummeriert. Die Vergleichsoperatoren beziehen sich auf diese
Nummern.
Neben einfachen sind auch mehrfache Vergleiche zulässig. Dazu einige Beispiele:
¼
BOOL A,B
¼
B = 10 < 3 ;B=FALSE
A = 10/3 == 3 ;A=TRUE
B = ((B == A) <> (10.00001 >= 10)) == TRUE ;B=TRUE
A = “F” < “Z” ;A=TRUE
¼
ProgExpPHR4.1.7 12.03.06 de
47 von 214
Programmierung Experte
Die Operanden einer logischen Verknüpfung müssen vom Typ BOOL sein, das Ergebnis ist
ebenfalls immer vom Typ BOOL. In Tab. 8 sind die möglichen Ergebnisse der jeweiligen Ver-
knüpfungen in Abhängigkeit vom Wert der Operanden dargestellt.
ProgExpPHR4.1.7 12.03.06 de
48 von 214
2 Variablen und Vereinbarungen (Fortsetzung)
2.3.1.5 Bit--Operatoren
Mit Hilfe der Bit--Operatoren (s. Tab. 9) lassen sich ganze Zahlen miteinander verknüpfen,
indem man die einzelnen Bits der Zahlen logisch miteinander verknüpft. Die Bit--Operatoren
verknüpfen einzelne Bits genauso wie die logischen Operatoren zwei boolsche Werte, wenn
man den Bit--Wert 1 als TRUE und den Wert 0 als FALSE ansieht.
Eine bitweise UND--Verknüpfung der Zahlen 5 und 12 ergibt somit z.B. die Zahl 4, eine bit-
weise ODER--Verknüpfung die Zahl 13 und eine bitweise exklusiv ODER--Verknüpfung die
Zahl 9:
0 1 0 1 = 5
1 1 0 0 = 12
AND 0 1 0 0 = 4
OR 1 1 0 1 = 13
EXOR 1 0 0 1 = 9
Bei der bitweisen Invertierung werden nicht alle Bits einfach umgedreht. Stattdessen wird
bei Verwendung von B_NOT zum Operanden 1 dazu addiert und das Vorzeichen gekippt,
z.B:
B_NOT 10 = -11
B_NOT -10 = 9
Bit--Operatoren werden beispielsweise eingesetzt, um digitale Ein--/Ausgangssignale mit-
einander zu verknüpfen (s. 6.3).
ProgExpPHR4.1.7 12.03.06 de
49 von 214
Programmierung Experte
ProgExpPHR4.1.7 12.03.06 de
50 von 214
2 Variablen und Vereinbarungen (Fortsetzung)
Priorität Operator
1 NOT B_NOT
2 * /
3 + -
4 AND B_AND
5 EXOR B_EXOR
6 OR B_OR
7 == <> < > >= <=
Grundsätzlich gilt:
G Geklammerte Ausdrücke werden zuerst bearbeitet.
G Bei ungeklammerten Ausdrücken wird in der Reihenfolge der Priorität ausge-
wertet.
G Verknüpfungen mit Operatoren gleicher Priorität werden von links nach rechts
ausgeführt.
Beispiele:
¼
INT A,B
BOOL E,F
¼
A = 4
B = 7
E = TRUE
F = FALSE
¼
E = NOT E OR F AND NOT (-3 + A * 2 > B) ;E=FALSE
A = 4 + 5 * 3 - B_NOT B / 2 ;A=23
B = 7 B_EXOR 3 B_OR 4 B_EXOR 3 B_AND 5 ;B=5
F = TRUE == (5 >= B) AND NOT F ;F=TRUE
¼
ProgExpPHR4.1.7 12.03.06 de
51 von 214
Programmierung Experte
2.3.2 Standardfunktionen
Zur Berechnung gewisser mathematischer Probleme sind in KRL einige Standardfunktionen
vordefiniert (s. Tab. 11). Sie können ohne weitere Vereinbarung direkt benutzt werden.
Betrag Die Funktion ABS(X) berechnet den Betrag des Wertes X, z.B.:
B = -3.4
A = 5 * ABS(B) ;A=17.0
Wurzel SQRT(X) errechnet die Quadratwurzel aus der Zahl X, z.B.:
A = SQRT(16.0801) ;A=4.01
Sinus Die trigonometrischen Funktionen SIN(X), COS(X) und TAN(X) berechnen den Sinus, Co-
Cosinus sinus oder Tangens des Winkels X, z.B.:
Tangens
A = SIN(30) ;A=0.5
B = 2*COS(45) ;B=1.41421356
C = TAN(45) ;C=1.0
Der Tangens von ±90_ und ungeradzahligen Vielfachen von ±90_ (±270_, ±450_,
±630_¼),ist unendlich. Deshalb führt der Versuch der Berechnung eines dieser Werte zu
einer Fehlermeldung.
Arcuskosinus ACOS(X) ist die Umkehrfunktion zu COS(X):
A = COS(60) ;A=0.5
B = ACOS(A) ;B=60
Arcussinus Für den Arcussinus, die Umkehrfunktion zu SIN(X), ist keine Standardfunktion vordefiniert.
Aufgrund der Beziehung SIN(X) = COS(90_--X) können sie aber auch diesen sehr leicht be-
rechnen:
A = SIN(60) ;A=0.8660254
B = 90-ACOS(A) ;B=60
Der Tangens eines Winkels ist definiert als Gegenkathete (Y) dividiert durch Ankathete (X)
im rechtwinkligen Dreieck. Hat man die Länge der beiden Katheten, kann man also den Win-
Arcustangens kel zwischen Ankathete und Hypotenuse mit dem Arcustangens berechnen.
Betrachtet man jetzt einen Vollkreis, so ist es entscheidend, welches Vorzeichen die Kompo-
nenten X und Y haben. Würde man nur den Quotienten berücksichtigen, so könnten mit dem
Arcustangens nur Winkel zwischen 0_ und 180_ berechnet werden. Dies ist auch bei allen
üblichen Taschenrechnern der Fall: Der Arcustangens von positiven Werten ergibt einen
Winkel zwischen 0_ und 90_, der Arcustangens von negativen Werten einen Winkel zwi-
schen 90_ und 180_.
Durch die explizite Angabe von X und Y ist durch deren Vorzeichen eindeutig der Quadrant
festgelegt, in dem der Winkel liegt (s. Abb. 6). Sie können daher auch Winkel in den Qua-
ProgExpPHR4.1.7 12.03.06 de
52 von 214
2 Variablen und Vereinbarungen (Fortsetzung)
dranten III und IV berechnen. Deshalb sind zur Berechnung des Arcustangens in der Funk-
tion ATAN2(Y,X) auch diese beiden Angaben notwendig, z.B.:
A = ATAN2(0.5,0.5) ;A=45
B = ATAN2(0.5,-0.5) ;B=135
C = ATAN2(-0.5,-0.5) ;C=225
D = ATAN2(-0.5,0.5) ;D=315
II I
X=COS(a)
Y=SIN(a)
a
0
III IV
ProgExpPHR4.1.7 12.03.06 de
53 von 214
Programmierung Experte
Eine Auflistung aller vordefinierter Variablen finden Sie in der eigenständigen Dokumenta-
tion [Systemvariablen].
Systemvariablen sind vollständig in das Variablenkonzept von KRL integriert. Sie besitzen
einen entsprechenden Datentyp und können von Ihnen wie jede andere Variable im Pro-
gramm gelesen und geschrieben werden, wenn es nicht Einschränkungen wegen der Art der
Daten gibt. Die aktuelle Roboterposition kann z.B. nur gelesen, nicht geschrieben werden.
Solche Einschränkungen werden von der Steuerung geprüft.
Soweit es sicherheitstechnisch möglich ist, verfügen Sie sogar über den schreibenden Zu-
griff auf Systemdaten. Damit eröffnen sich viele Möglichkeiten für die Diagnose, da vom KCP
und vom Programmiersystem eine Vielzahl von Systemdaten geladen oder beeinflußt wer-
den können.
Nützliche Systemvariablen mit Schreibzugriff sind zum Beispiel $TIMER[] und $FLAG[].
Timer Die 16 Timervariablen $TIMER[1]¼$TIMER[16] dienen zum Messen von zeitlichen Ab-
läufen und können somit als “Stoppuhr“ eingesetzt werden. Das Starten und Stoppen des
Meßvorganges erfolgt mit den Systemvariablen
$TIMER_STOP[1]¼$TIMER_STOP[16]:
$TIMER_STOP[4] = FALSE
startet beispielsweise den Timer 4,
$TIMER_STOP[4] = TRUE
stoppt den Timer 4 wieder. Über eine normale Wertzuweisung kann die betreffende Timerva-
riable jederzeit zurückgesetzt werden, z.B.:
$TIMER[4] = 0
Wechselt der Wert einer Timervariablen von Minus nach Plus, so wird ein zugehöriges Flag
auf TRUE gesetzt (Timer--Out--Bedingung), z.B.:
$TIMER_FLAG[4] = TRUE
Beim Steuerungshochlauf werden alle Timervariablen mit 0, die Flags
$TIMER_FLAG[1]¼$TIMER_FLAG[16] mit FALSE und die Variablen
$TIMER_STOP[1]¼$TIMER_STOP[16] mit TRUE vorbesetzt.
Die Einheit der Timervariablen ist Millisekunden (ms). Die Aktualisierung von
$TIMER[1]¼$TIMER[16] sowie $TIMER_FLAG[1]¼$TIMER_FLAG[16]
erfolgt im 12ms--Takt.
ProgExpPHR4.1.7 12.03.06 de
54 von 214
2 Variablen und Vereinbarungen (Fortsetzung)
Flags Die 1024 Flags $FLAG[1]¼$FLAG[1024] werden als globale Merker eingesetzt. Diese
boolschen Variablen werden mit FALSE vorbesetzt. Sie können sich den aktuellen Wert der
Flags jederzeit auf der Bedienoberfläche unter dem Menüpunkt “Anzeige” ansehen.
Zyklische Des weiteren stehen in der KR C1 32 zyklische Flags
Flags $CYCFLAG[1]¼$CYCFLAG[32] zur Verfügung. Nach dem Steuerungshochlauf sind sie
alle mit FALSE vorbelegt.
Die Flags sind nur auf der Roboterebene zyklisch aktiv. In einer Submit--Datei sind die zykli-
schen Flags zwar zulässig, es erfolgt aber keine zyklische Auswertung.
Zyklische Flags können auch in Unterprogrammen, Funktionen und Interrupt-- Unterpro-
grammen definiert und aktiviert werden.
$CYCFLAG[1]¼$CYCFLAG[32] haben den Datentyp BOOL. Bei einer Zuweisung an ein
zyklisches Flag kann ein beliebiger boolscher Ausdruck verwendet werden.
Zulässig sind
G boolsche Systemvariablen und
G boolsche Variablen, welche in einer Datenliste deklariert und initialisiert wurden.
Nicht zulässig sind
G Funktionen, die einen boolschen Wert zurückliefern.
Die Anweisung
$CYCFLAG[10] = $IN[2] AND $IN[13]
bewirkt beispielsweise, daß der boolsche Ausdruck “$IN[2] AND $IN[13]” zyklisch
ausgewertet wird. Das heißt, sobald sich Eingang 2 oder Eingang 13 ändert, ändert sich auch
$CYCFLAG[10], egal an welcher Stelle sich der Programmlaufzeiger nach Abarbeitung des
obigen Ausdrucks befindet.
Alle definierten zyklischen Flags bleiben solange gültig, bis ein Modul abgewählt oder mit
Reset eine Satzanwahl durchgeführt wird. Wird das Programmende erreicht, bleiben alle zy-
klischen Flags weiterhin aktiv.
$ -- Zeichen Allgemein sind die Namen der vordefinierten Variablen so gewählt, daß man sie sich leicht
einprägen kann. Sie beginnen alle mit einem $--Zeichen und bestehen dann aus einer sinn-
vollen englischen Abkürzung. Da sie wie gewöhnliche Variablen behandelt werden, müssen
Sie sich keine außergewöhnlichen Befehle oder ausgefallene Optionen merken.
Ein Teil der vordefinierten Variablen bezieht sich auf die gesamte Steuerung KR C1 (z.B.
$ALARM_STOP für die Definition des Ausgangs für das Not--Aus--Signal zur SPS). Andere
sind dagegen nur für den Roboter von Bedeutung (z.B. $BASE für das Basiskoordinatensy-
stem).
ProgExpPHR4.1.7 12.03.06 de
55 von 214
Programmierung Experte
Auf der KUKA--Bof erscheint das Roboterlaufwerk auf dem die steuerungsrelevanten Daten
im Verzeichnis “Steu” und die roboterrelevanten Daten im Verzeichnis “R1” abgelegt sind.
Bei der Programmierung der KR C1 können Sie Programmdateien und Datenlisten erstellen.
In den Programmdateien stehen Datendefinitionen und ausführbare Anweisungen, die Da-
tenlisten enthalten nur Datendefinitionen und eventuell Initialisierungen.
Neben den Datenlisten, die Sie bei der Programmierung erstellen, gibt es auf der KR C1 noch
Datenlisten, die von KUKA definiert sind und die mit der Steuerungssoftware ausgeliefert
werden. Diese Datenlisten heißen vordefinierte Datenlisten und beinhalten hauptsächlich
die vordefinierten Variablen.
Die vordefinierten Datenlisten können Sie weder löschen noch selbst erzeugen. Sie werden
bei der Installation der Software erzeugt und sind dann immer vorhanden. Auch die Namen
der vordefinierten Datenlisten beginnen wie die Namen der vordefinierte Daten mit einem
$--Zeichen.
Beispiele:
$ALARM_STOP Signal für Not--Aus (steuerungsspezifisch)
$NUM_AXT Anzahl der Roboterachsen (roboterspezifisch)
G $CUSTOM.DAT
ist eine Datenliste, die es nur auf dem Steuerungssystem gibt. Sie beinhaltet Daten, mit
denen Sie bestimmte Steuerungsfunktionen projektieren oder parametrieren können.
Für den Programmierer besteht nur die Möglichkeit, die Werte der vordefinierten Varia-
blen zu ändern. Sie können keine neuen Variablen erstellen oder vorhandene Variablen
löschen.
Beispiele:
$PSER_1 Protokollparameter der seriellen Schnittstelle 1
$IBUS_ON Einschalten alternativer Interbusgruppen
ProgExpPHR4.1.7 12.03.06 de
56 von 214
2 Variablen und Vereinbarungen (Fortsetzung)
G $CONFIG.DAT
ist eine von KUKA vordefinierte Datenliste, die aber keine vordefinierten Systemvaria-
blen enthält. Dabei existiert eine $CONFIG.DAT auf Steuerungsebene und auf Robote-
rebene. Es können darin Variablen, Strukturen, Kanäle und Signale definiert werden,
die längere Zeit gültig sind und für viele Programme von übergeordneter Bedeutung
sind.
Die Datenliste auf Roboterebene ist in folgende Blöcke untergliedert:
-- BAS
-- AUTOEXT
-- GRIPPER
-- PERCEPT
-- SPOT
-- A10
-- A50
-- A20
-- TOUCHSENSE
-- USER
Globale Deklarationen des Anwenders sollten unbedingt in den USER--Block einge-
tragen werden. Denn nur hier werden die Vereinbarungen bei einem späteren Soft-
ware--Update übernommen.
G $ROBCOR.DAT
Die Datei $ROBCOR.DAT enthält roboterspezifische Daten für das Dynamikmodell
des Roboters. Diese Daten werden für die Bahnplanung benötigt. Auch hier können Sie
keine neuen Variablen erstellen oder vorhandene Variablen löschen.
ProgExpPHR4.1.7 12.03.06 de
57 von 214
Programmierung Experte
ProgExpPHR4.1.7 12.03.06 de
58 von 214
3 Bewegungsprogrammierung
Zu den wichtigsten Aufgaben einer Robotersteuerung gehört die Bewegung des Roboters.
Der Programmierer steuert dabei die Bewegungen des Industrieroboters mit Hilfe von spe-
ziellen Bewegungsanweisungen. Diese bilden auch das Hauptmerkmal, das die Roboter-
sprachen von herkömmlichen Programmiersprachen für Computer, wie C oder Pascal, un-
terscheidet.
Bewegungs- Je nach Steuerungsart lassen sich diese Bewegungsanweisungen in Befehle für einfache
anweisungen Punkt--zu--Punkt Bewegungen und in Befehle für Bahnbewegungen unterteilen. Während
bei Bahnbewegungen der Endeffektor (z.B. Greifer oder Werkzeug) eine geometrisch genau
definierte Bahn im Raum beschreibt (Gerade oder Kreisbogen) ist die Bewegungsbahn bei
Punkt--zu--Punkt Bewegungen von der Kinematik des Roboters abhängig und daher nicht
genau vorhersehbar. Beiden Bewegungsarten ist gemeinsam, daß die Programmierung von
der aktuellen Position in eine neue Position erfolgt. Deshalb ist in einer Bewegungsanwei-
sung im allgemeinen nur die Angabe der Zielposition notwendig (Ausnahme: Kreisbewegun-
gen, siehe 3.3.4).
Die Koordinaten von Positionen können entweder textuell durch Eingabe von Zahlenwerten
spezifiziert werden oder durch Anfahren mit dem Roboter und Abspeichern der Ist--Werte
(Teachen). Dabei besteht jeweils die Möglichkeit, die Angaben auf verschiedene Koordina-
tensysteme zu beziehen.
Weitere Bewegungseigenschaften wie Geschwindigkeiten und Beschleunigungen sowie die
Orientierungsführung können mittels Systemvariablen eingestellt werden. Das Überschlei-
fen von Zwischenpunkten wird mittels optionaler Parameter in der Bewegungsanweisung in-
itiiert. Zum Überschleifen muß ein Rechnervorlauf eingestellt sein.
ProgExpPHR4.1.7 12.03.06 de
59 von 214
Programmierung Experte
Die Beschreibung einer achsspezifischen Stellung erfolgt in der KR C1 durch den vordefi-
nierten Strukturtyp AXIS, dessen Komponenten je nach Achstyp die Bedeutung von Winkeln
oder Längen hat.
Vorwärtstransformation
X, Y, Z, A, B, C (, S, T)
Rückwärtstransformation
Abb. 9 Koordinatentransformation
ProgExpPHR4.1.7 12.03.06 de
60 von 214
Die Lage eines Punktes im Raum ist im kartesischen Koordinatensystem eindeutig durch die
Angabe der Koordinaten X, Y und Z bestimmt. Diese ergeben sich aus den translatorischen
Distanzen jedes Koordinatenwertes zum Koordinatenursprung (s. Abb. 10).
Z
P
Z1
Y1
X1 X
Um jeden Punkt im Raum mit beliebiger Orientierung anfahren zu können, sind neben den
drei translatorischen Werten noch drei rotatorische Angaben notwendig:
Die in der KR C1 mit A, B und C bezeichneten Winkel beschreiben Drehungen um die Koordi-
natenachsen Z, Y und X. Dabei ist die Reihenfolge der Rotationen einzuhalten:
1. Drehung um die Z--Achse um den Winkel A
2. Drehung um die neue Y--Achse um den Winkel B
3. Drehung um die neue X--Achse um den Winkel C
Diese Drehreihenfolge entspricht den aus der Luftfahrt bekannten roll--pitch--yaw--Winkeln
(Rollen--Nicken--Gieren). Der Winkel C entspricht dabei dem Rollen, Winkel B dem Nicken
und Winkel A dem Gieren (s. Abb. 11).
ProgExpPHR4.1.7 12.03.06 de
61 von 214
Programmierung Experte
A B C
Z’ Y’
Z B
A Y ’’
Z ’’
Y X’ Y ’’’
Z ’’’
X
C
X ’’ X ’’’
Mit den Translationen X, Y und Z sowie den Rotationen A, B und C läßt sich somit die Lage
und Orientierung eines Punktes im Raum eindeutig beschreiben. In der KR C1 erfolgt dies
mit der vordefinierten Struktur FRAME.
Bei Bahnbewegungen ist die Angabe von FRAME--Koordinaten immer eindeutig und ausrei-
chend. Beim Punkt--zu--Punkt--Verfahren kann jedoch bei bestimmten Roboterkinematiken
(z.B. 6--achsiger Knickarm) ein und derselbe Punkt (Lage und Orientierung) im Raum mit
mehreren Achsstellungen angefahren werden. Mit den beiden weiteren Angaben “S” und “T”
kann diese Mehrdeutigkeit behoben werden. In der KR C1 ist für ein um “S” und “T” erweiter-
tes Frame die Struktur POS vorgesehen.
ProgExpPHR4.1.7 12.03.06 de
62 von 214
In der KR C1 sind folgende kartesische Koordinatensysteme vordefiniert (Tab. 1 und
Abb. 12):
y
z
Werkzeug--KS
z x
z y
Basis--KS x
y
Welt--KS
z
Roboter--KS
y x
Weltkoordinatensystem
Das Weltkoordinatensystem ist ein ortsfestes (= bewegt sich bei einer Roboterbewegung
nicht mit) Koordinatensystem, das als Ursprungskoordinatensystem für ein Robotersystem
(Roboter, Bauteilauflage bzw. Werkzeug) dient. Es stellt somit das Bezugssystem sowohl
für das Robotersystem als auch für die Zellenperipherie dar.
Roboterkoordinatensystem
Dieses Koordinatensystem befindet sich im Roboterfuß und dient als Bezugskoordinatensy-
stem für den mechanischen Roboteraufbau. Es bezieht sich selbst wieder auf das Weltkoor-
dinatensystem und ist bei Auslieferung mit ihm identisch. Mit $ROBROOT kann somit eine
Verschiebung des Roboters zu $WORLD definiert werden.
Werkzeugkoordinatensystem
Das Werkzeugkoordinatensystem hat seinen Ursprung in der Werkzeugspitze. Die Orientie-
rung kann dabei so gewählt werden, daß seine X--Achse mit der Werkzeug--Stoßrichtung
ProgExpPHR4.1.7 12.03.06 de
63 von 214
Programmierung Experte
identisch ist und aus dem Werkzeug heraus zeigt. Bei einer Bewegung der Werkzeugspitze
wird das Werkzeugkoordinatensystem mitbewegt.
X
Z
Basiskoordinatensystem
Das Basiskoordinatensystem wird als Bezugssystem für die Beschreibung der Lage des
Werkstücks herangezogen. Die Programmierung des Roboters erfolgt im Basiskoordinaten-
system. Es hat als Bezugskoordinatensystem das Weltkoordinatensystem. Bei Auslieferung
ist $BASE=$WORLD.
Durch eine Veränderung von $BASE können z.B. mehrere gleiche Werkstücke an verschie-
denen Orten mit demselben Programm bearbeitet werden.
basisbezog. Bei der Interpolation der Bewegungsbahn berechnet die Robotersteuerung im Normalfall
Interpolation (Werkzeug am Roboterflansch) die aktuelle Position ($POS_ACT) bezogen auf das $BASE--
Koordinatensystem (s. Abb. 13).
z
$TOOL
y
$POS_ACT
z
x
$POS_ACT
y
$BASE x
x
$ROBROOT
z y
$WORLD x
ProgExpPHR4.1.7 12.03.06 de
64 von 214
feststehendes In der industriellen Praxis geht man jedoch immer mehr dazu über, das Werkzeug (z.B.
Werkzeug Schweißbrenner) fest im Raum zu verankern und das Werkstück selbst mittels eines geei-
gneten Greifers am feststehenden Werkzeug entlang zu führen.
Die Variable $TOOL bezieht sich immer auf das Werkzeug bzw. Werkstück, welches sich
am Roboter befindet. Die Variable $BASE dagegen bezieht sich immer auf das externe
Werkzeug bzw. Werkstück.
greiferbezog. Da nun Werkstück und Werkzeug ihre Position getauscht haben, die Bewegung aber weiter
Interpolation bezüglich des Werkstücks erfolgen soll, muß die Interpolation der Bewegungsbahn jetzt über
das $TOOL--Koordinatensystem erfolgen. Diese Zuordnung der Interpolationsart erfolgt im-
plizit beim Verwenden eines normalen oder externen TCP’s. Mit der Systemvariablen
$IPO_MODE können Sie diese Interpolationsart definieren. Die Programmzeile
$IPO_MODE = #TCP
ermöglicht eine greiferbezogene Interpolation im $TOOL--Koordinatensystem. Die aktuelle
Position $POS_ACT wird nun also bezüglich $TOOL berechnet (s. Abb. 14). Mit
$IPO_MODE = #BASE
setzen Sie die Interpolationsart wieder zurück auf die basisbezogene Interpolation für den
Normalfall. Dies ist auch die Standardeinstellung beim Steuerungshochlauf.
$TOOL y
x
$POS_ACT
z z
$POS_ACT
z y
x
$BASE
x
$ROBROOT
z y
$WORLD x
Ein Beispiel zur Verschiebung von Koordinatensystemen finden Sie im Kapitel [Variablen
und Vereinbarungen] Abschnitt [Geometrischer Operator].
ProgExpPHR4.1.7 12.03.06 de
65 von 214
Programmierung Experte
ProgExpPHR4.1.7 12.03.06 de
66 von 214
3.2.2 Höheres Fahrprofil
Standardmäßig wird für PTP--Bewegungen das höhere Fahrprofil verwendet. Mit diesem
Modell wird bei PTP--Einzelsätzen und PTP--Überschleifsätzen zeitoptimal vom Start--
zum Zielpunkt gefahren. Das heißt, mit den vorhandenen Getrieben und Motoren ist es nicht
möglich schneller zu fahren. Die zulässigen Momente werden auf jedem Punkt der Bahn
stets optimal ausgenutzt, dies gilt insbesondere auch in der konstanten Geschwindigkeits-
phase. Die Geschwindigkeit wird hierbei immer so angepaßt, daß die Momente nicht über-
schritten werden.
Eine Änderung der Geschwindigkeits-- oder Beschleunigungswerte bewirkt auch bei Über-
schleifsätzen nur eine Änderung des Geschwindigkeitsprofils auf der Bahn. Die geometri-
sche Kurve im Raum bleibt unverändert.
Die Geschwindigkeitszuweisungen und die Beschleunigungsgrenzwerte (Angabe in Pro-
zent) können für jede Achse einzeln eingestellt werden. Dieser Grenzwert wirkt aber nicht
unmittelbar auf die Beschleunigung, sondern auf das Beschleunigungsmoment der Achse.
D.h. ein Achsbeschleunigungswert von 50% verringert die Beschleunigung nicht unbedingt
um die Hälfte.
ProgExpPHR4.1.7 12.03.06 de
67 von 214
Programmierung Experte
3.2.3 Bewegungsbefehle
Das folgende Programmbeispiel PTP_AXIS.SRC stellt prinzipiell das kleinste lauffähige
KRL--Programm dar:
END
ProgExpPHR4.1.7 12.03.06 de
68 von 214
Werden bei der Angabe der Achskoordinaten einzelne Komponenten weggelassen, so ver-
fährt der Roboter nur die angegebenen Achsen, die anderen verändern ihre Lage nicht. Mit
PTP PTP {A3 45}
wird also z.B. nur die Achse 3 auf 45_ gebracht. Zu beachten ist, daß es sich bei den Winke-
langaben in der PTP--Anweisung um absolute Werte handelt. Der Roboter dreht die Achse
also nicht um 45_ weiter, sondern verfährt auf die absolute 45_--Lage der Achse.
Zum relativen Verfahren dient die Anweisung PTP_REL. Um also z.B. die Achsen 1 und 4
um je 35_ zu verdrehen, programmieren Sie einfach:
PTP_REL PTP_REL {A1 35,A4 35}
A3 = 0_
PTP {A3 45}
A3 = 90_
Beim relativen Verfahren ist allerdings zu beachten, daß eine während der
Ausführung gestoppte Bewegung nicht wieder problemlos fortgesetzt wer-
den kann. Die Steuerung kann nach einem Neustart und erneuter Satzan-
wahl bzw. Wechsel der Programmlaufart den bereits zurückgelegten Weg
nicht berücksichtigen und wird die programmierte Relativdistanz wieder
komplett abfahren, was schließlich zu einem falschen Endpunkt führt.
ProgExpPHR4.1.7 12.03.06 de
69 von 214
Programmierung Experte
DEF PTP_POS()
PTP {POS:X 1025,Y 0,Z 1480,A 0,B 90,C 0,S ’B 010’,T ’B 000010’}
END
Koordinaten- In unserem Fall wurde das Basiskoordinatensystem ($BASE) gleich dem Weltkoordinaten-
systeme system ($WORLD) gesetzt, welches standardmäßig im Roboterfuß ($ROBROOT) liegt. Das
Werkzeugkoordinatensystem ($TOOL) wurde mit dem Nullframe ($NULLFRAME =
{FRAME: X 0, Y 0, Z 0,A 0,B 0,C 0}) besetzt, was bedeutet, daß sich alle
Angaben auf den Flanschmittelpunkt beziehen. Der Werkzeugmittelpunkt (Tool Center
Point: TCP) liegt also sozusagen im Flanschmittelpunkt. Falls ein Werkzeug angeflanscht
ist, müßten die Werte entsprechend korrigiert werden. Dazu sei auf die Unterlagen zum Ver-
messen von Werkzeugen verwiesen.
Mit der obigen PTP--Anweisung verfährt der Roboter nun so, daß im Endpunkt der Bewegung
der TCP 1025 mm in x--Richtung, 0 mm in y--Richtung und 1480 mm in z--Richtung vom Ro-
boterfuß verschoben ist. Die Angaben “A”, “B” und “C” definieren die Orientierung des TCP.
Status “S” und Turn “T” definieren die Stellung der Achsen.
Sofern Sie das Beispiel an einem KR6 -- Roboter testen, erhalten Sie das gleiche Ergebnis,
wie im vorherigen Beispiel. Der Roboter fährt in die mechanische Nullstellung. Die beiden
Anweisungen sind also für diesen Robotertyp identisch.
Auch bei Zielpunktangabe in kartesischen Koordinaten können wieder einzelne Komponen-
ten der Geometrieangabe weggelassen werden. Die Anweisung
PTP {Z 1300, B 180}
bewirkt demnach eine Bewegung des TCP in Richtung der z--Achse auf die Absolutposition
1300 mm und ein “Nicken” des TCP um 180_.
ProgExpPHR4.1.7 12.03.06 de
70 von 214
Zum relativen Verfahren des Roboters verwendet man wieder den PTP_REL--Befehl. Mit
PTP_REL {Z 180, B -90}
kann man demnach den Roboter wieder in seine ursprünglich Position zurückbringen. Zu
beachten ist wieder, daß Relativbewegungen nach Unterbrechung nicht erneut angewählt
werden dürfen.
ZBASE
YBASE
200
150
100
50
XBASE
50 100 150 200
Bei kartesischen Koordinaten ist es möglich, eine Frameverknüpfung mittels des geometri-
schen Operators direkt in der Bewegungsanweisung durchzuführen. Dadurch kann man
z.B. eine Verschiebung zum Basiskoordinatensystem initiieren, ohne die Variable $BASE
zu ändern.
ProgExpPHR4.1.7 12.03.06 de
71 von 214
Programmierung Experte
Aus diesem Grund sollten, wenn möglich, $BASE und $TOOL nur einmal, z.B. im
Initialisierungsteil des Programms, besetzt werden. Weitere Verschiebungen
können dann mit dem geometrischen Operator vorgenommen werden.
Bei einem TouchUp mit dem standardmäßig ausgelieferten Basis--Paket werden für jeden
Punkt automatisch $BASE und $TOOL in der Datenliste abgelegt.
DEF FR_VERS ( )
ProgExpPHR4.1.7 12.03.06 de
72 von 214
SAK Bevor ein Programm bearbeitet werden kann, muß zunächst Satzkoinzidenz (SAK), d.h.
Übereinstimmung von aktueller Roboterposition und programmierter Position, hergestellt
werden. Da die SAK--Fahrt keine programmierte, ausgetestete Bewegung darstellt, muß sie
durch Gedrückthalten der Starttaste (Totmann--Funktion) und mit automatisch reduzierter
Geschwindigkeit durchgeführt werden. Bei Erreichen der programmierten Bahn stoppt die
Bewegung und das Programm kann mit erneutem Betätigen der Starttaste fortgesetzt wer-
den.
Als erste Bewegungsanweisung empfiehlt sich daher eine “Home”--Fahrt, bei der
der Roboter in eine eindeutig definierte und unkritische Ausgangsstellung verfah-
ren wird, in der dann auch Satzkoinzidenz hergestellt wird. In diese Lage sollte
der Roboter auch am Ende des Programms wieder gebracht werden.
S und T Die Angaben “S” und “T” in einer POS--Angabe dienen dazu, um aus mehreren möglichen
Roboterstellungen für ein und dieselbe Position im Raum (aufgrund der Kinematik--Singulari-
täten), eine ganz bestimmte, eindeutig definierte Stellung auszuwählen.
Bei der ersten Bewegungsanweisung ist es im Fall der Verwendung kartesischer Koordina-
ten daher sehr wichtig, auch “Status” und “Turn” zu programmieren, damit eine eindeutige
Ausgangslage definiert wird. Da bei Bahnbewegungen (s. 3.3) “S” und “T” nicht berücksich-
tigt werden, muß auf jeden Fall die erste Bewegungsanweisung eines Programms (Home--
Fahrt) eine vollständige PTP--Anweisung mit Angabe von “Status” und “Turn” sein (oder voll-
ständige PTP--Anweisung mit Achskoordinaten).
In den nachfolgenden PTP--Anweisungen können nun die Angaben “S” und “T” entfallen, so-
fern eine bestimmte Achsstellung, z.B aufgrund von Hindernissen, nicht notwendig ist. Der
Roboter behält den alten S--Wert bei und wählt den T--Wert, mit dem sich der kürzeste, fahr-
bare axiale Weg ergibt, welcher aufgrund der einmaligen Programmierung von “S” und “T”
im ersten PTP--Satz bei verschiedenen Programmierabläufen auch immer der gleiche ist.
Status und Turn erfordern beide Integerangaben, die zweckmäßigerweise in binärer Form
gemacht werden sollten.
Also bedeutet eine Angabe T ’B 10011’, daß die Winkel der Achsen 1, 2 und 5 negativ sind,
die Winkel der Achsen 3, 4 und 6 dagegen positiv (alle höherwertigen 0--Bits können wegge-
lassen werden).
Status Mit dem Status S werden Mehrdeutigkeiten in der Achsstellung gehandelt (s. Abb. 18). S ist
daher abhängig von der jeweiligen Roboterkinematik.
ProgExpPHR4.1.7 12.03.06 de
73 von 214
Programmierung Experte
Mehrdeutig--
keiten
Achse 5
Achse 3
Achse 2
Achse 5
Achse 4 Achse 6
Die Bits werden für alle 6--achsigen Knickarmroboter nach folgender Tabelle gesetzt:
Anschaulich kann man sich den Grund--/Überkopfbereich kartesisch vorstellen. Dazu wer-
den folgende Begriffe definiert:
Handwurzelpunkt: Schnittpunkt der Handachsen
A1--Koordinatensystem: Steht die Achse 1 auf 0_, ist es mit dem $ROBROOT--Koordina-
tensystem identisch. Bei Werten ungleich 0_ wird es mit der
Achse 1 mitbewegt.
Damit läßt sich der Grund--/Überkopfbereich wie folgt definieren:
G Ist der x--Wert des Handwurzelpunktes, ausgedrückt im A1--Koordinatensystem, posi-
tiv, befindet sich der Roboter im Grundbereich.
G Ist der x--Wert des Handwurzelpunktes, ausgedrückt im A1--Koordinatensystem, nega-
tiv, befindet sich der Roboter im Überkopfbereich.
ProgExpPHR4.1.7 12.03.06 de
74 von 214
Bit 1 gibt die Armstellung an. Das Setzen des Bits ist abhängig vom jeweiligen Robotertyp.
Bei Robotern, deren Achsen 3 und 4 sich schneiden, gilt: Bit 1 hat den Wert 0, wenn die
Achse 3 < 0_ ist, ansonsten ist Bit 1 = 1. Bei Robotern mit einem Offset zwischen Achse 3
und 4 (z.B. KR 30, s. Abb. 19), ist die Winkellage, in der sich der Wert von Bit 1 ändert, von
der Größe dieses Offsets abhängig.
Offset
In Abb. 20 sind die Auswirkungen der Status--Bits auf die Roboterkonfiguration dargestellt.
Derselbe Punkt im Raum wurde mit vier unterschiedlichen Roboterstellungen angefahren.
In der ersten Stellung befindet sich der Roboter in Grundstellung, Achse 5 hat einen Wert
von ca. 45_, Achse 3 ca. 80_.
Zur zweiten Roboterkonfiguration ist kaum ein Unterschied zu erkennen. Es wurde lediglich
die Achse 4 um 180_ gedreht und die anderen Achsen entsprechend nachgeführt. Während
also die Armkonfiguration gleich blieb, hat sich die Handkonfiguration geändert: Achse 5 hat
nun ca. --45_, Status--Bit 2 ist folglich 1.
Von Stellung 2 nach 3 ändert sich nun die Armkonfiguration. Achse 3 dreht auf eine Winkel-
lage von ca. --50_, das Status--Bit 1 nimmt den Wert 0 an.
In der vierten Stellung befindet sich der Roboter schließlich in der Überkopfposition. Dazu
wurde insbesondere Achse 1 um 180_ gedreht. Status--Bit 0 wird zu 1.
ProgExpPHR4.1.7 12.03.06 de
75 von 214
Programmierung Experte
ProgExpPHR4.1.7 12.03.06 de
76 von 214
3.3 Bahnbewegungen (CP--Bewegungen = Continous Path)
3.3.1 Geschwindigkeit und Beschleunigung
Im Gegensatz zu PTP--Bewegungen sind bei Bahnbewegungen nicht nur Start-- und Zielpo-
sition vorgegeben. Es wird zusätzlich gefordert, daß die Werkzeugspitze des Roboters sich
auf einer linearen oder kreisförmigen Bahn zwischen diesen Punkten bewegt.
Deshalb beziehen sich die anzugebenden Geschwindigkeiten und Beschleunigungen nun
nicht mehr auf die einzelnen Achsen, sondern auf die Bewegung des TCP. Die Werkzeug-
spitze wird dadurch mit genau definierter Geschwindigkeit bewegt. Die Geschwindigkeiten
und Beschleunigungen müssen für die Translation, den Schwenkwinkel und den Drehwinkel
programmiert werden. Tab. 4 gibt einen Überblick über die zu programmierenden Systemva-
riablen und deren Einheit.
Auch die Geschwindigkeiten und Beschleunigungen für die Bahnbewegungen werden bei
Aufruf der Initialisierungssequenz des Basis--Pakets mit den in den Maschinendaten bzw.
in $CONFIG.DAT definierten Maximalwerten vorbesetzt.
ProgExpPHR4.1.7 12.03.06 de
77 von 214
Programmierung Experte
3.3.2 Orientierungsführung
Soll sich während der Bahnbewegung die Orientierung des Werkzeuges im Raum ändern,
so kann die Art der Orientierungsführung mit Hilfe der Systemvariablen $ORI_TYPE einge-
stellt werden (s. Abb. 21):
ProgExpPHR4.1.7 12.03.06 de
78 von 214
Bei Kreisbewegungen kann zusätzlich zu konstanter und variabler Orientierung noch zwi-
schen raum-- und bahnbezogener Orientierung gewählt werden:
Das bahnbegleitende Dreibein setzt sich aus dem Kreistangentenvektor t, dem Normalen-
vektor n und dem Binormalenvektor b zusammen. Die Werkzeugorientierung wird in Abb. 22
mit dem bahnbegleitenden Dreibein auf dem Kreissegment nachgeführt. Bezogen auf das
bahnbegleitende Dreibein ergibt sich für die Werkzeugpositionen keine Orientierungsände-
rung. Dies ist unter anderem eine wichtige Anforderung beim Lichtbogenschweißen.
Im gezeigten Beispiel wird die Werkzeugorientierung relativ zum bahnbegleitenden Dreibein
während der Bewegung vom Start-- zum Zielpunkt nicht verändert ($ORI_TYPE=#CONST).
ProgExpPHR4.1.7 12.03.06 de
79 von 214
Programmierung Experte
variabel + Wünscht man eine bahnbezogene Orientierungsänderung zwischen Start-- und Zielposition
bahnbezog. ($ORI_TYPE=#VAR), so wird diese relativ zum bahnbegleitenden Dreibein durch überlager-
tes Drehen und Schwenken ausgeführt (s. Abb. 23). Die Orientierungsführung im bahnbeg-
leitenden Dreibein ist bei Kreisbewegungen also vollkommen analog zur Orientierungsfüh-
rung bei Linearbewegungen.
ProgExpPHR4.1.7 12.03.06 de
80 von 214
konstant + Bei der raumbezogenen Orientierungsführung wird die Orientierung relativ zum aktuellen
raumbezog. Basissystem ($BASE) geführt.
Die raumbezogene Orientierungsführung ist vor allem für die Anwendungen sinnvoll, bei de-
nen der Schwerpunkt bei der Bahnbewegung liegt, d.h. das Führen der Werkzeugspitze auf
der Kreisbahn. Insbesondere bei Anwendungen mit geringer Orientierungsänderung zwi-
schen Start-- und Zielpunkt bzw. bei Anwendungen mit exakt raumkonstanter Orientierung
(s. Abb. 24) während einer Kreisbewegung (z.B. Kleberauftrag mit rotationsymmetrischer
Kleberdüse).
ProgExpPHR4.1.7 12.03.06 de
81 von 214
Programmierung Experte
ProgExpPHR4.1.7 12.03.06 de
82 von 214
3.3.3 Linearbewegungen
LIN Bei einer Linearbewegung berechnet die KR C1 eine Gerade von der aktuellen Position (im
Programm ist dies der letzte programmierte Punkt) zu der Position, die im Bewegungsbefehl
angegeben wurde.
Die Programmierung einer Linearbewegung erfolgt durch die Schlüsselworte LIN oder
LIN_REL in Verbindung mit der Zielpunktangabe, also analog zur PTP--Programmierung.
Für lineare Bewegungen wird die Zielposition kartesisch angegeben. Es sind also nur die Da-
tentypen FRAME oder POS zulässig.
Bei Linearbewegungen muß der Winkelstatus des Endpunktes gleich dem des
Anfangspunktes sein. Eine Angabe von Status und Turn in einem Zielpunkt des
Datentyps POS wird daher ignoriert. Deshalb muß vor der ersten LIN--Anwei-
sung bereits eine PTP--Bewegung mit vollständiger Koordinatenangabe pro-
grammiert sein (z.B. HOME--Fahrt).
DEF LIN_BEW ()
PTP HOME
END
ProgExpPHR4.1.7 12.03.06 de
83 von 214
Programmierung Experte
3.3.4 Kreisbewegungen
CIRC Zur eindeutigen Definition eines Kreises bzw. Kreisbogens im Raum benötigt man 3 Punkte,
die voneinander verschieden sind und sich nicht auf einer Gerade befinden.
Der Anfangspunkt einer Kreisbewegung ist wie bei PTP oder LIN wieder durch die aktuelle
Position gegeben.
Zum Programmieren einer Kreisbewegung mit den Anweisungen CIRC bzw. CIRC_REL
muß deshalb neben dem Zielpunkt auch ein Hilfspunkt definiert werden. Bei der Berech-
nung der Bewegungsbahn durch die Steuerung werden vom Hilfspunkt nur die translato-
rischen Komponenten (X, Y, Z) ausgewertet. Die Orientierung der Werkzeugspitze än-
dert sich also je nach Orientierungsführung kontinuierlich vom Start-- zum Zielpunkt oder
CA bleibt konstant.
Zusätzlich zu Hilfs-- und Zielposition kann noch ein Kreiswinkel mit der Option CA (Circular
Angle) programmiert werden. Die Geometrie des Kreisbogens wird dabei nach wie vor
durch Start--, Hilfs-- und Zielpunkt festgelegt. Die tatsächlich anzufahrende Zielposition auf
dem Kreisbogen wird jedoch über den programmierten Kreiswinkel festgelegt. Dies ist vor
allem zum Nachprogrammieren der Zielposition -- ohne Änderung der Kreisgeometrie -- hil-
freich.
Der abzufahrende Kreisbogen kann entsprechend dem Kreiswinkel verlängert oder verkürzt
werden. Die programmierte Zielorientierung wird dann im tatsächlichen Zielpunkt erreicht.
Über das Vorzeichen des Kreiswinkels kann der Drehsinn, d.h. die Richtung in der der Kreis-
bogen abgefahren werden soll, festgelegt werden (s. Abb. 26):
CA > 0_ im programmierten Sinn (Startpunkt ® Hilfspunkt ® Zielpunkt)
CA < 0_ entgegen dem programmierten Sinn (Startpunkt ® Zielpunkt ® Hilf-
spunkt)
Der Wert des Kreiswinkels ist nicht begrenzt. Insbesondere können auch Vollkreise (>
360_) programmiert werden.
CA > 0° CA < 0°
tatsächlicher Zielpunkt
´
Hilfspunkt Hilfspunkt
´
CA = 235° program-
´ programmierter
Zielpunkt ´ mierter
Zielpunkt
tatsächlicher
Zielpunkt
CA = --235°
Startpunkt Startpunkt
Relativangaben für Hilfs-- und Zielposition (CIRC_REL) beziehen sich jeweils auf die Startpo-
sition. Achsspezifische Positionsangaben sind wie bei LIN--Bewegungen nicht zulässig.
Ebenso müssen $BASE und $TOOL vor Ausführung einer Kreisbewegung vollständig zuge-
wiesen sein.
ProgExpPHR4.1.7 12.03.06 de
84 von 214
DEF CIRC_BEW ( )
$ORI_TYPE=#VAR
LIN {A 100} ; Umorientierung des TCP
; relative Kreisbewegung
CIRC_REL {X -50,Y 50},{X 0,Y 100}
PTP HOME
END
ProgExpPHR4.1.7 12.03.06 de
85 von 214
Programmierung Experte
3.4 Rechnervorlauf
Ein ganz wesentliches Leistungsmerkmal eines Industrieroboters ist die Schnelligkeit, mit
der er seine Arbeiten erledigen kann. Neben der Dynamik des Roboters ist hierfür auch die
Effektivität der Bearbeitung des Anwenderprogramms, das neben den Bewegungen ja auch
aus arithmetischen und die Peripherie steuernden Anweisungen besteht, von entscheiden-
der Bedeutung.
Eine schnellere Programmbearbeitung kann
G durch die Verringerung der Bewegungsdauer und
G durch die Verkürzung der Stillstandszeit zwischen den Bewegungen erreicht werden.
Bei vorgegebenen Randbedingungen, wie maximalen Achsgeschwindigkeiten und --be-
schleunigungen, wird erstes durch das zeitoptimale Überschleifen von Bewegungen er-
reicht.
Die Stillstandszeit zwischen den Bewegungen kann verkürzt werden, wenn man die aufwen-
digen Arithmetik-- und Logik--Anweisungen zwischen den Bewegungssätzen während der
Roboterbewegung abarbeitet, d.h. im Vorlauf bearbeitet (die Anweisungen “laufen” der Be-
wegung “vor”).
$ADVANCE Über die Systemvariable $ADVANCE kann festgelegt werden, wie viele Bewegungssätze der
Vorlauf dem Hauptlauf (also dem aktuell bearbeiteten Bewegungssatz) maximal vorauseilen
darf. Der während der Programmbearbeitung auf der Bedienoberfläche sichtbare Hauptlauf-
zeiger zeigt immer auf den Bewegungssatz, der gerade abgefahren wird.
Der Vorlaufzeiger ist dagegen nicht sichtbar und kann sowohl auf Anweisungen zeigen, die
von der Steuerung komplett abgearbeitet werden, als auch auf Bewegungssätze, die von der
Steuerung nur aufbereitet und zeitlich später im Hauptlauf ausgeführt werden. (s. Abb. 27).
Hauptlaufzeiger
ProgExpPHR4.1.7 12.03.06 de
86 von 214
Im obigen Programmausschnitt ist der Vorlauf auf 1 gesetzt und der Hauptlaufzeiger befindet
sich in Zeile 16 (d.h. die LIN--Bewegung wird gerade ausgeführt). Ein Rechnervorlauf von
1 bedeutet, daß die Anweisungen von Zeile 16 bis 22 parallel zur Bewegungsausführung
komplett abgearbeitet wurden, und die Bewegungsdaten für die PTP--Bewegungen in Zeile
24 gerade aufbereitet werden.
automat. Vor- Anweisungen und Daten, die die Peripherie beeinflussen (z.B. Ein--/Ausgabean-
laufstop
weisungen), oder sich auf den aktuellen Roboterzustand beziehen, lösen einen
Vorlaufstop aus (s. Tab. 6). Dies ist notwendig, um die korrekte, zeitliche Reihen-
folge der Anweisungen und der Roboterbewegungen sicherzustellen.
ProgExpPHR4.1.7 12.03.06 de
87 von 214
Programmierung Experte
CONTINUE In Anwendungsfällen, bei denen dieser Vorlaufstop verhindert werden soll, muß direkt vor
der betreffenden Anweisung der Befehl CONTINUE programmiert werden. Die Steuerung
setzt dann den Vorlauf fort. Die Wirkung ist aber nur auf die nächste Programmzeile be-
schränkt (auch Leerzeile!!).
Wollen Sie dagegen an einer bestimmten Stelle den Vorlauf stoppen, ohne dazu die Sy-
stemvariable $ADVANCE ändern zu müssen, so können Sie sich mit einem kleinen Trick
behelfen: Programmieren Sie an dieser Stelle einfach eine Wartezeit von 0 Sekunden. Die
Anweisung WAIT löst dann einen automatischen Vorlaufstop aus, tut aber sonst nichts:
WAIT SEC 0
ProgExpPHR4.1.7 12.03.06 de
88 von 214
3.5 Überschleifbewegungen
Zur Geschwindigkeitssteigerung können Punkte, die nicht genau angefahren werden müs-
sen, überschliffen werden. Der Roboter kürzt den Weg, wie in Abb. 28 gezeigt, ab.
Überschleif- Die Überschleifkontur wird automatisch von der Steuerung generiert. Der Programmierer hat
kontur nur einen Einfluß auf den Beginn und das Ende des Überschleifens. Zur Berechnung des
Überschleifsatzes benötigt die Steuerung die Daten des Anfangspunktes, des Überschleif-
punktes und des Zielpunktes.
Weitere Informationen zur TRIGGER--Anweisung als Abhilfe finden Sie im Kapitel [Trig-
ger-- und Bahnbezogene Schaltaktionen].
Überschleifen
Zwischenpunkt
Zielpunkt
Startpunkt
ProgExpPHR4.1.7 12.03.06 de
89 von 214
Programmierung Experte
3.5.1 PTP--PTP--Überschleifen
Zum PTP--Überschleifen berechnet die Steuerung die axial zu verfahrenden Distanzen im
Überschleifbereich und plant für jede Achse Geschwindigkeitsprofile, die tangentiale Über-
gänge von den Einzelsätzen zur Überschleifkontur sicherstellen.
Überschleif- Das Überschleifen wird begonnen, wenn die letzte (= führende) Achse einen bestimmten
beginn Winkel zum Überschleifpunkt unterschreitet. In den Maschinendaten ist für jede Achse ein
Winkel vordefiniert:
$APO_DIS_PTP[1] = 90
$APO_DIS_PTP[6] = 90
Im Programm läßt sich durch $APO.CPTP der Beginn des Überschleifens als Prozentsatz
von diesen Maximalwerten angeben. Zum Beispiel:
$APO.CPTP = 50
In diesem Fall wird also das Überschleifen begonnen, wenn die erste Achse einen Restwin-
kel von 45_ (50% von 90_) zum Überschleifpunkt zurückzulegen hat. Das Überschleifen er-
folgt genau dann, wenn die erste Achse einen Winkel von 45_ vom Überschleifpunkt verfah-
ren ist.
Grundsätzlich kann das Überschleifen nicht über die Satzmitte erfolgen! In diesem Fall wird
das System selbständig auf die Satzmitte begrenzen.
C_PTP Das Überschleifen eines Punktes wird im PTP--Befehl durch Anhängen des Schlüsselwortes
C_PTP angezeigt:
PTP PUNKT4 C_PTP
Auch der PTP--Überschleifsatz wird zeitoptimal ausgeführt, d.h. während überschliffen wird,
fährt stets mindestens eine Achse mit dem programmierten Grenzwert für Beschleunigung
oder Geschwindigkeit. Gleichzeitig wird für jede Achse sichergestellt, daß die zulässigen
Getriebe-- und Motorenmomente nicht überschritten werden. Das standardmäßig einge-
stellte höhere Fahrprofil gewährleistet weiterhin eine in Geschwindigkeit und Beschleuni-
gung optimierte Bewegungsausführung.
Aus folgendem Beispiel können Sie die Wirkung der Überschleifanweisung und der Varia-
blen $APO.CPTP ersehen. Die abgefahrene Bahn ist in Abb. 29 in der x--y--Ebene darge-
stellt. Insbesondere ist darin auch ersichtlich, daß bei PTP--Bewegungen der TCP nicht auf
einer Geraden zwischen den Zielpunkten verfahren wird.
ProgExpPHR4.1.7 12.03.06 de
90 von 214
DEF UEBERPTP ( )
PTP HOME
END
ProgExpPHR4.1.7 12.03.06 de
91 von 214
Programmierung Experte
x=1296,61
y=133,41
x=1246,93
y=--98,86
x=1209,5
y=381,09
x=1159,08
y=--232,06
x=1109,41
y=--0,51
x=988,45
y=238,53
Da die Bahn einer PTP--Bewegung im allgemeinen weder eine Gerade ist, noch in einer
Raumebene liegt, kann man sie streng genommen eigentlich nicht wie in Abb. 29 darstel-
len. Trotz der Tatsache, daß der z--Wert aller Punkte des Beispiels gleich ist, liegt nicht je-
der Punkt der Bewegungsbahn in der Ebene z=715 mm. Die abgebildete Bahn ist also le-
diglich eine Projektion der wirklichen Bahn in die x--y--Ebene.
ProgExpPHR4.1.7 12.03.06 de
92 von 214
3.5.2 LIN--LIN--Überschleifen
Zur kontinuierlichen Bewegung entlang komplexer Bahnen besteht die Forderung, auch zwi-
schen linearen Einzelsätzen zu überschleifen. Die unterschiedlichen Orientierungsbewe-
gungen in den LIN--Sätzen müssen dabei ebenso stufenlos ineinander überführt werden.
Als Überschleifkontur berechnet die Steuerung eine parabelförmige Bahn, da diese Kon-
turform den Bahnverlauf der Einzelsätze bei bester Nutzung der Beschleunigungsreser-
ven im Überschleifbereich sehr gut approximiert.
Überschleif- Zur Festlegung des Überschleifbeginns stehen drei vordefinierte Variablen bereit (s. Tab. 7):
beginn
Variable Datentyp Einheit Bedeutung Schlüsselwort
im Befehl
$APO.CDIS REAL mm Translatorisches Distanzkriterium C_DIS
$APO.CORI REAL _ Orientierungsdistanz C_ORI
$APO.CVEL INT % Geschwindigkeitskriterium C_VEL
Distanzkrite- Der Variablen $APO.CDIS kann eine translatorische Distanz zugewiesen werden. Wird das
rium Überschleifen auf diese Variable getriggert, verläßt die Steuerung die Einzelsatzkontur frü-
hestens dann, wenn die Entfernung zum Zielpunkt den Wert in $APO.CDIS unterschreitet.
Orientierungs- Der Variablen $APO.CORI kann eine Orientierungsdistanz zugewiesen werden. Die Einzel-
kriterium satzkontur wird in diesem Fall frühestens dann verlassen, wenn der dominierende Orientie-
rungswinkel (Schwenken oder Drehen der Werkzeuglängsachse) die in $APO.CORI festge-
legte Winkeldistanz zum programmierten Überschleifpunkt unterschreitet.
Geschwindig- Der Variablen $APO.CVEL kann ein Prozentwert zugewiesen werden. Dieser Wert gibt an,
keitskriterium bei wieviel Prozent der programmierten Geschwindigkeit ($VEL) der Überschleifvorgang in
der Abbremsphase des Einzelsatzes frühestens begonnen wird. Dabei wird jene Kompo-
nente aus Translation, Schwenken und Drehen ausgewertet, die bei der Bewegung den pro-
grammierten Geschwindigkeitswert erreicht, bzw. ihm am nächsten kommt.
ProgExpPHR4.1.7 12.03.06 de
93 von 214
Programmierung Experte
DEF UEBERLIN ( )
PTP HOME
END
x=1296,61
y=133,41
x=1246,93
y=--98,86
x=1209,5
y=381,09
x=1159,08
y=--232,06
x=1109,41
y=--0,51
x=988,45
y=238,53
ProgExpPHR4.1.7 12.03.06 de
94 von 214
Die Position, bei der die Überschleifkontur in den nachfolgenden LIN--Satz mündet, wird
von der Steuerung automatisch berechnet. Falls $ACC und $VEL für beide Einzelsätze
identisch sind und die Satzlängen ausreichen, ist die Überschleifparabel symmetrisch zur
Winkelhalbierenden zwischen den beiden Einzelsätzen. Bei kurzen Einzelsätzen wird der
Überschleifbeginn auf die halbe Satzlänge begrenzt. Die Geschwindigkeit wird dabei der-
art reduziert, daß ein gegebenenfalls nachfolgender Genauhalt immer eingehalten werden
kann.
Die Übergänge zwischen Einzelsätzen und Überschleifkontur sind stetig und verlaufen tan-
gential. Das gewährleistet einen “weichen”, mechanikschonenden Übergang, da die Ge-
schwindigkeitskomponenten stets stetig sind.
Die von der Steuerung generierte Kontur im Überschleifbereich ist unabhängig von Over-
ride--Änderungen, die zu jedem beliebigen Zeitpunkt der Bewegung zulässig sind.
ProgExpPHR4.1.7 12.03.06 de
95 von 214
Programmierung Experte
Das CIRC--CIRC--Überschleifen soll wieder anhand eines Beispiels und der abgebildeten
Bewegungsbahn (s. Abb. 31) verdeutlicht werden:
ProgExpPHR4.1.7 12.03.06 de
96 von 214
; relative Kreisbewegungen
PTP HOME
END
x=980
y=--238
150_
x=867
y=--192
Wegen der Forderung nach tangentialen Übergängen kann beim Überschleifen mit CIRC--
Sätzen im allgemeinen keine symmetrische Überschleifkontur berechnet werden. Die
Überschleifbahn besteht daher aus zwei Parabelsegmenten, die tangential ineinander
übergehen und die gleichzeitig tangential in die Einzelsätze einmünden (s. Abb. 32).
ProgExpPHR4.1.7 12.03.06 de
97 von 214
Programmierung Experte
LIN--CIRC
Überschleif
Überschleif--Ende
Überschleif--Start
ProgExpPHR4.1.7 12.03.06 de
98 von 214
3.5.4 PTP--Bahnüberschleifen
Die genaue Bahn einer PTP--Bewegung kann nicht vorherbestimmt werden, da der Ro-
boter den für ihn schnellsten Weg benutzt. Hierbei wird die Bahn ein wenig von einigen
Faktoren (wie z.B. der Verfahrgeschwindigkeit) beeinflußt.
Die Vorteile der achsspezifischen Interpolation können aber erst dann voll ausgeschöpft wer-
den, wenn ein kontinuierlicher Übergang zwischen achsspezifischen und kartesischen Sät-
zen möglich ist, denn bei einem Genauhalt geht die anderweitig gewonnene Zeit zum großen
Teil wieder verloren.
Die Programmierung des PTP--Bahnüberschleifens erfolgt vollkommen analog zu den bis-
her vorgestellten Verfahren. Der Überschleifbereich wird wie folgt festgelegt:
PTP ® Bahnüberschleifen
Überschleif Der Beginn des Überschleifens wird durch das PTP--Kriterium $APO.CPTP in gewohnter
PTP®Bahn Weise (s. 3.5.1) ermittelt. Für den nachfolgenden Bahnbewegungssatz kann explizit ein
Überschleifkriterium (C_DIS, C_ORI, C_VEL), das den Eintritt in den CP--Satz festlegt,
angegeben werden.
Dies geschieht durch die Anweisungsfolge:
PTP PUNKT1 C_PTP C_DIS
LIN PUNKT2
Fehlt im PTP--Satz eine Angabe für das im CP--Satz gewünschte Überschleifkriterium, so
wird C_DIS als Default--Wert für die Ermittlung des Eintritts in den CP--Satz herangezogen.
Bsp.:
Ist eine genaue Bahn notwendig, z.B. eine CP--Bewegung parallel zum Tisch, so ist beim
Verlassen dieser Bahn mit der Kombination CP--PTP beim Überschleifen Vorsicht gebo-
ten. Gleiches gilt für eine PTP--CP--Bewegung um auf diese Bahn zu gelangen.
P3
Programm:
CP--PTP
...
LIN P1
LIN P2 C_DIS
PTP P3 P1 P2
...
Hierbei entsteht das Problem, daß die Über-
schleifbewegung nicht voraussehbar ist.
Eine Kollision mit dem Tisch wäre denkbar.
Tisch
ProgExpPHR4.1.7 12.03.06 de
99 von 214
Programmierung Experte
Programm: P1
...
LIN P1 P2
LIN P2 C_DIS
LIN P2_HILF C_DIS
PTP P3
... Tisch
Bahn ® PTP--Überschleifen
Überschleif Für den CP--Satz zählt das programmierte Überschleifkriterium, für den PTP--Satz wird auf
Bahn®PTP $APO.CPTP zurückgegriffen.
Eine Anweisungsfolge könnte also so aussehen:
CIRC HILF PUNKT1 C_VEL
PTP PUNKT2
Das CP--PTP--Überschleifen kann allerdings nur garantiert werden, wenn keine der Robo-
terachsen im Bahnsatz mehr als 180_ dreht und der Status S nicht wechselt, da diese Stel-
lungsänderungen bei der Planung der Überschleifkontur nicht vorhersehbar sind. Tritt ein
solcher Konfigurationswechsel im Bahnsatz vor dem Überschleifen auf (Änderung von S
oder T), wird der Bahnsatz wie ein Einzelsatz zum programmierten Zielpunkt zu Ende ge-
fahren und die quittierbare Fehlermeldung “Überschleifen CP/PTP nicht durchführbar”
ausgegeben. Der Anwender sollte dann den CP--Satz in mehrere Einzelsätze zerlegen, so
daß der Einzelsatz vor dem CP--PTP--Überschleifen hinreichend kurz ist, um einen Wech-
sel von S oder T in allen Roboterachsen ausschließen zu können.
ProgExpPHR4.1.7 12.03.06 de
$APO.CDIS=25
LIN {X 1183.15,Y -52.64,Z 716,A 79.11,B 68.13,C 79.73} C_DIS
CIRC {POS: X 1134,Y 53.63,Z 716},{X 1019.21,Y 124.02,Z 716,A
79.11,B 68.12,C 79.73}
PTP HOME
END
x=1209,74
y=--153,44
x=1183,15
y=--52,64
x=1108,78 x=1134
y=267,16 y=53,63
HP
x=1087,47
y=218,67
HP
x=1037,81
x=1019,31 x=1019,21 y=--117,83
y=306,71 y=124,02
ProgExpPHR4.1.7 12.03.06 de
Änderungen in der Überschleifkontur sind bei allen Programmen zu erwarten, deren Be--
wegungssätze nicht mit dem verbesserten Verhalten programmiert wurden. Die entspre-
chenden Programme müssen daher überprüft und gegebenenfalls korrigiert werden.
Die Verbesserung des gemischten Überschleifs wird in der Datei “$OPTION.DAT” (Pfad
“C:\KRC\Steu\Mada\”) eingeschaltet (”TRUE”) bzw. ausgeschaltet (”FALSE”).
...
BOOL $IMPROVEDMIXEDBLENDING = TRUE
...
ProgExpPHR4.1.7 12.03.06 de
Beispiel
In diesem Beispiel ist es erwünscht, daß am Anfang der Überschleifbewegung von P1
zu P2 das Werkzeug TOOL_DATA1[1] gegen TOOL_DATA[2] ausgetauscht wird.
$TOOL=TOOL_DATA[1]
PTP P0_TOOL1; Punkt wird mit dem Werkzeug TOOL_DATA[1] geteacht
LIN P1_TOOL1 C_DIS; Punkt wird mit dem Werkzeug TOOL_DATA[1] geteacht
$TOOL=TOOL_DATA[2]
LIN P2_TOOL2; Punkt wird mit dem Werkzeug TOOL_DATA[2] geteacht
TOOL2
Flansch
TOOL1 TOOL1
Überschleifbeginn1
P2_TOOL2
P0_TOOL1 P1_TOOL1
TOOL2
Überschleifende 2
P1_TOOL2
P0_TOOL2
Überschleifbeginn2
Der Werkzeugwechsel findet in diesem Beispiel beim Überschleifen statt. D.h. die kartesi-
sche Position springt beim Eintritt in den Zwischensatz von Überschleifbeginn1 auf Über-
schleifbeginn2, die Achswinkel sowie die kartesische Position und Geschwindigkeit des Flan-
sches werden während der gesamten Bewegung stetig geführt. Der Sprung in der
kartesischen TCP--Position wird erst während der Bewegung von Überschleifende2 nach
P2_TOOL2 abgebaut, so daß die Bahn nicht auf der räumlichen linearen Verbindung von
P1_TOOL1 nach P2_TOOL2 verläuft, sondern auf einem Teil der mit Genauhalt programmier-
ten Bahn für TOOL2.
ProgExpPHR4.1.7 12.03.06 de
Beim Teachen von kartesischen Koordinaten wird immer das derzeit im System
gültige Basiskoordinatensystem ($BASE) als Bezugssystem zugrunde gelegt.
Versichern Sie sich daher, daß beim Teachen immer das für die spätere Bewe-
gung verwendete Basiskoordinatensystem eingestellt ist.
Die KR C1 erlaubt noch eine weitere Variante des Teachens: Programmieren Sie eine Be-
wegungsanweisung mit einer Variablen, die Sie NICHT im Vereinbarungsteil deklarieren,
z.B.:
PTP STARTPUNKT
Nach Drücken der Softkeys “Ändern” und “Var” werden Sie nun aufgefordert die gewünschte
Struktur auszuwählen. Ist dies geschehen, wird in der zugehörigen Datenliste automatisch
eine Variable STARTPUNKT deklariert und mit den aktuellen Ist--Koordinaten bezüglich des
aktuellen $BASE besetzt, z.B.:
DECL FRAME STARTPUNKT={X 15.2,Y 2.46,Z 20.5,A -35.5,B 9.0,C 16.87}
Ist die Datenliste nicht angelegt worden, erscheint die entsprechende Fehlermeldung.
Sofern Sie eine Bewegungsanweisung über die Inline--Formulare angelegt haben, können
Sie die über das Formular geteachten Punkte später auch in einer KRL--Bewegungsanwei-
sung verwenden:
Die Punkte werden in der dazugehörigen Datenliste mit dem im Formular angegebenen
Namen und vorangestelltem X abgelegt (daher sind für Punktnamen in Inline--Formularen
auch höchstens 11 statt 12 Zeichen zulässig).
Sie können den Punkt P7 im Inline--Formular
ProgExpPHR4.1.7 12.03.06 de
Alternativ kann der Anwender selbst festlegen, um wieviel das Soll-- vom Istmoment abwei-
chen darf. Bei Überschreitung wird der Roboter angehalten.
Beispiel
Im InLine--Formular wurden für die Achsen A1...A6 jeweils 50% festgelegt. Weicht nun das
Istmoment um mehr als ¦50% des Maximalmoments vom berechneten Sollmoment ab,
wird der Roboter angehalten und eine entsprechende Meldung im Meldungsfenster ausge-
geben.
MMax
Tatsächliches
(Ist--)Moment
--50% von MMax
Sollmoment
0
Die Überwachung bietet keine Garantie gegen Beschädigungen des Werkzeugs bei
einer Kollision, reduziert aber die auftretenden Schäden.
ProgExpPHR4.1.7 12.03.06 de
ProgExpPHR4.1.7 12.03.06 de
4 KRL--Assistent
Bedienung
Zum Programmieren eines Bewegungsbefehls müssen Sie ein Programm anwählen oder
es in den Editor laden. Einzelheiten über die Erstellung und Änderung von Programmen
entnehmen Sie bitte dem Kapitel [Allgemeines zu KRL--Programmen], Abschnitt [Pro-
gramme erstellen und editieren].
Öffnen Sie über die Menütaste “Befehle” das Menü. Wählen Sie “KRL--Assistent” aus. Es
zeigt sich folgendes Bild:
ProgExpPHR4.1.7 12.03.06 de
4.1 Positionsangaben
Das Zeichen “!” ist ein Platzhalter. Mit seiner Hilfe können Sie ein Bewegungsprogramm er-
stellen, ohne die genaue Lage der Punkte zu kennen, die später die Bahn des Roboters be-
stimmen.
Beim späteren Ablauf wird das Programm an dieser Stelle angehalten und Sie können den
Punkt wie nachfolgend beschrieben aufnehmen:
Wenn während des späteren Ablaufs des Programmes im Meldungsfenster die Mittei-
lung “Anweisung unzulässig” erscheint, löschen Sie diese Meldung mit dem Softkey
“Quitt”.
Drücken Sie dort dann den Softkey “Touch Up”. Beachten Sie die Mitteilung im Mel-
dungsfenster.
Die Übernahme der Position wird Ihnen im Meldungsfenster mitgeteilt.
Sie können diese Meldung durch Betätigen des Softkeys “Quitt” wieder löschen.
Anstelle des Platzhalters können Sie auch einen gültigen Variablennamen einsetzen. Eine
Liste der für KRL reservierten Schlüsselwörter, die Sie dabei nicht verwenden können, finden
Sie im [KRL Reference Guide].
Sie sollten das Robotersystem bereits vor der Programmierung dieser Funktion in die ge-
wünschte Position verfahren.
Sollte der Name, den Sie angegeben haben, im System noch nicht bekannt sein, erscheint
in der Softkey--Leiste der Softkey “VAR”. Mit ihm werden Sie aufgefordert, dem Namen ein
Datenformat zuzuordnen.
Nach seiner Betätigung ändert sich die Softkey--Leiste:
ProgExpPHR4.1.7 12.03.06 de
Die Softkeyleiste steht nur zur Verfügung, wenn neben der “.SRC”--Datei auch eine Da-
tenliste “.DAT” existiert.
Nach Betätigung einer der Softkeys “E6POS”, “POS”, “FRAME”, “E6AXIS” oder “AXIS” wird
die aktuelle Position des Robotersystems im ausgewählten Datenformat übernommen. Dies
wird Ihnen durch eine Mitteilung im Meldungsfenster bestätigt.
Sie können diese Meldung dann durch Betätigen des Softkeys “Quitt” wieder löschen.
Bevor Sie in einem Programm durch “Touch Up” Positionen übernehmen können, müs-
sen der Steuerung Daten über die Lage des gültigen Roboterkoordinatensystems, so-
wie gültige Werkzeug/Werkstückdaten mitgeteilt werden.
Dazu muß die INI--Sequenz am Programmkopf durchlaufen werden.
Sie sollten das Robotersystem bereits vor der Programmierung der Funktion in die ge-
wünschte Position verfahren.
Drücken Sie den Softkey “Touch Up”, so wird die aktuelle Position des Robotersystems über-
nommen.
Die Übernahme der Position wird durch eine Mitteilung im Meldungsfenster bestätigt.
Sie können diese Meldung durch Betätigen des Softkeys “Quitt” wieder löschen.
Manuelle Positionsangabe
Drücken Sie dazu nach dem Erscheinen des Inline--Formulars den Softkey “{ ? }”. Die Bele-
gung der Softkey--Leiste ändert sich:
Nach Auswahl eines Datenformats durch Betätigen des entsprechenden Softkeys wird die
aktuelle Position in das Inline--Formular übernommen.
ProgExpPHR4.1.7 12.03.06 de
Mit Hilfe der Editierfunktionen können Sie diese Positionsangaben nun Ihren Wünschen ent-
sprechend abändern.
Mit dem geometrischen Operator “:” werden Positionsangaben der Typen POS und FRAME
verknüpft. Dies ist immer dann erforderlich, wenn z.B. der Ursprung eines Koordinatensy-
stems um einen Korrekturwert verschoben werden muß.
Weitere Informationen hierzu finden Sie im Kapitel [Variablen und Vereinbarungen] Ab-
schnitt [Datenmanipulation] unter “Geometrischer Operator”.
ProgExpPHR4.1.7 12.03.06 de
Bei der Verwendung dieses Befehls läßt sich die genaue Bahn des Roboters nicht
exakt vorhersehen. In der Nähe von Hindernissen innerhalb des Arbeitsraumes be-
steht deshalb Kollisionsgefahr. Das Fahrverhalten des Roboters muß in der Nähe
der Hindernisse mit verminderter Geschwindigkeit getestet werden !
Platzhalter für
Positionsangabe
zurück
Platzhalter für
Positionsangabe
zurück
Überschleifen zwischen
zwei PTP--Bewegungen
Überschleifen zwischen PTP
und LIN oder CIRC--Anwei-
sungen. Kriterien: Entfernung
(DIS), Geschwindigkeit (VEL)
und Werkzeug/Werkstück--
Orientierung (ORI)
Momentane Position übernehmen
ProgExpPHR4.1.7 12.03.06 de
Platzhalter für
Positionsangabe
zurück
zurück
Überschleifen zwischen
zwei PTP--Bewegungen
ProgExpPHR4.1.7 12.03.06 de
Platzhalter für
Positionsangabe
zurück
Platzhalter für
Positionsangabe
zurück
ProgExpPHR4.1.7 12.03.06 de
Platzhalter für
Positionsangabe
zurück
Wechsel zwischen
LIN_REL und LIN
zurück
ProgExpPHR4.1.7 12.03.06 de
Platzhalter für
Positionsangabe
zurück
Platzhalter für
Positionsangabe
zurück
Überschleifen zwischen PTP
und LIN oder CIRC--Anwei-
sungen. Kriterien: Entfernung
(DIS), Geschwindigkeit (VEL)
und Werkzeug/Werkstück--
Orientierung (ORI)
ProgExpPHR4.1.7 12.03.06 de
Platzhalter für
Positionsangabe
zurück
zurück
Überschleifen zwischen PTP
und LIN oder CIRC--Anwei-
sungen. Kriterien: Entfernung
(DIS), Geschwindigkeit (VEL)
und Werkzeug/Werkstück--
Orientierung (ORI)
ProgExpPHR4.1.7 12.03.06 de
5 Programmablaufkontrolle
5.1 Programmverzweigungen
5.1.1 Sprunganweisung
Die einfachste Form der Programmverzweigung ist die der unbedingten Sprunganweisung.
Sie wird ohne eine bestimmte Bedingung zu reflektieren auf jeden Fall ausgeführt. Durch die
Anweisung
GOTO GOTO MERKER
springt der Programmzeiger an die Position MERKER. Die Position muß allerdings mit
MERKER:
auch irgendwo im Programm definiert sein. Die Sprunganweisung selber läßt keine Rück-
schlüsse auf die damit erzeugte Programmstruktur zu. Deshalb sollte der Name der Sprung-
marke möglichst so gewählt werden, daß die damit hervorgerufene Sprungaktion etwas ver-
ständlicher wird. So ist es z.B. ein Unterschied, ob man schreibt
GOTO MARKE_1
oder
GOTO KLEBERSTOP
Ein Beispiel zu “GOTO” finden Sie in diesem Kapitel im Abschnitt [Schleifen] unter
“Nicht abweisende Schleifen”
ProgExpPHR4.1.7 12.03.06 de
IF Ausführbedingung THEN
Anweisungen
ELSE
Anweisungen
ENDIF
Die Ausführbedingung ist ein boolscher Ausdruck. Ist die Ausführbedingung erfüllt, wird
der THEN--Block ausgeführt. Im anderen Fall kann der ELSE--Block ausgeführt oder auf den
ELSE--Block verzichtet werden. Ein Verzicht bedeutet das sofortige Verlassen der Verzwei-
gung.
Es sind beliebig viele Anweisungen zulässig. Die Anweisungen können insbesondere auch
weitere IF--Anweisungen sein. Eine Schachtelung von IF--Blöcken ist also möglich. Jede
IF--Anweisung muß jedoch mit einem eigenen ENDIF abgeschlossen werden.
In der folgenden Programmsequenz wird, sofern Eingang 10 auf FALSE ist, die HOME--Posi-
tion angefahren. Ist Eingang 10 gesetzt, dann wird, wenn der Wert von Variable A größer als
der von B ist, zunächst Ausgang 1 gesetzt und Punkt 1 angefahren. Unabhängig von A und
B wird auf jeden Fall bei gesetztem Eingang 10 die Variable A um 1 erhöht und dann die
HOME--Position angefahren:
¼
INT A,B
¼
IF $IN[10]==FALSE THEN
PTP HOME
ELSE
IF A>B THEN
$OUT[1]=TRUE
LIN PUNKT1
ENDIF
A=A+1
PTP HOME
ENDIF
¼
ProgExpPHR4.1.7 12.03.06 de
5.1.3 Verteiler
Liegen mehr als 2 Alternativen vor, kann dies entweder mit einer geschachtelten IF--Kon-
struktion oder -- wesentlich komfortabler -- mit dem Verteiler SWITCH programmiert werden.
SWITCH Die SWITCH--Anweisung ist eine Auswahlanweisung für verschiedene Programmzweige.
Ein Auswahlkriterium wird vor der SWITCH--Anweisung mit einem bestimmten Wert belegt.
Blockkennung Stimmt dieser Wert mit einer Blockkennung überein, so wird der entsprechende Programm-
zweig abgearbeitet und das Programm springt ohne Berücksichtigung der folgenden Block-
kennungen zur ENDSWITCH--Anweisung vor. Stimmt keine Blockkennung mit dem Auswahl-
kriterium überein, so wird, falls vorhanden, ein DEFAULT--Block abgearbeitet. Anderenfalls
wird mit der Anweisung nach der ENDSWITCH--Anweisung fortgefahren.
Es ist zulässig, einem Programmzweig mehrere Blockkennungen zuzuordnen. Umgekehrt
ist es nicht sinnvoll eine Blockkennung mehrmals zu verwenden, da immer nur der erste Pro-
grammzweig mit der entsprechenden Kennung berücksichtigt wird.
Zulässige Datentypen des Auswahlkriteriums sind INT, CHAR und ENUM. Der Datentyp von
Auswahlkriterium und Blockkennung muß übereinstimmen.
Die DEFAULT--Anweisung kann fehlen, darf aber innerhalb einer SWITCH--Anweisung nur
einmal vorkommen.
Mit der SWITCH--Anweisung können Sie somit zum Beispiel in Abhängigkeit von einer Pro-
grammnummer verschiedene Unterprogramme aufrufen. Die Programmnummer könnte
beispielsweise von der SPS an die digitalen Eingänge der KR C1 angelegt werden (s. Ab-
schnitt 6.3 zur SIGNAL--Anweisung). Dadurch steht sie als Auswahlkriterium in Form eines
Integer--Wertes zur Verfügung.
DEF MAIN()
¼
SIGNAL PROG_NR $IN[1] TO $IN[4]
;In die INT-Variable PROG_NR wird von der SPS
;jetzt die gewuenschte Programmnummer abgelegt
¼
SWITCH PROG_NR
CASE 1 ;wenn PROG_NR=1
TEIL_1()
CASE 2 ;wenn PROG_NR=2
TEIL_2()
TEIL_2A()
CASE 3,4,5 ;wenn PROG_NR=3, 4 oder 5
$OUT[3]=TRUE
TEIL_345()
DEFAULT ;wenn PROG_NR<>1,2,3,4,5
ERROR_UP()
ENDSWITCH
¼
END
In ähnlicher Weise ist das standardmäßig auf der Steuerung vorhandene CELL--Pro-
gramm (CELL.SRC) aufgebaut.
ProgExpPHR4.1.7 12.03.06 de
5.2 Schleifen
Die nächste Grundstruktur zur Programmablaufkontrolle sind die Schleifen, die bis zum Ein-
tritt einer bestimmten Bedingung die wiederholte Abarbeitung einer oder mehrerer Anwei-
sungen beinhalten. Schleifen werden nach der Form der Bedingung und der Stelle der Ab-
frage auf Fortsetzung unterschieden.
Ein Sprung von außen in einen Schleifenkörper ist nicht erlaubt und wird von der
Steuerung abgelehnt (Fehlermeldung).
5.2.1 Zählschleife
Zählschleifen werden so lange ausgeführt, bis eine Zählvariable entweder durch Hoch-- oder
Runterzählen einen bestimmten Endwert über-- oder unterschreitet. In KRL steht dafür die
FOR--Anweisung zur Verfügung. Mit
läßt sich somit sehr übersichtlich eine bestimmte Anzahl von Durchläufen programmieren.
Als Start--Wert und Ende--Wert des Zählers geben Sie jeweils einen Ausdruck vom Typ
Integer an. Die Ausdrücke werden einmal vor Beginn der Schleife ausgewertet. Die INT--Va-
riable Zähler (muß vorher deklariert sein) wird mit dem Startwert vorbesetzt und nach je-
dem Schleifendurchlauf um die Schrittweite erhöht oder vermindert.
Die Schrittweite darf keine Variable sein und darf nicht Null sein. Wenn keine Schritt-
weite angegeben ist, hat sie den Standardwert 1. Auch negative Werte sind für die Schritt-
weite zugelassen.
Zu jeder FOR--Anweisung muß es eine ENDFOR--Anweisung geben. Das Programm wird
nach Beendigung des letzten Schleifendurchlaufs mit der ersten Anweisung hinter ENDFOR
fortgesetzt.
Den Wert des Zählers können Sie sowohl innerhalb als auch außerhalb der Schleife benut-
zen. Innerhalb der Schleifen dient er zum Beispiel als aktueller Index für die Bearbeitung von
Feldern. Nach dem Verlassen der Schleife hat der Zähler den zuletzt angenommenen Wert
(also Ende+Schrittweite).
In folgendem Beispiel werden zunächst die Achsgeschwindigkeiten
$VEL_AXIS[1]¼$VEL_AXIS[6] auf 100% gesetzt. Danach werden die Komponenten ei-
nes 2--dimensionalen Feldes mit den berechneten Werten initialisiert. Das Ergebnis ist in
Tab. 8 dargestellt.
ProgExpPHR4.1.7 12.03.06 de
DEF FOR_PROG()
¼
INT I,J
INT FELD[10,6]
¼
FOR I=1 TO 6
$VEL_AXIS[I] = 100 ;alle Achsgeschwindigkeiten auf 100%
ENDFOR
¼
FOR I=1 TO 9 STEP 2
FOR J=6 TO 1 STEP -1
FELD[I,J] = I*2 + J*J
FELD[I+1,J] = I*2 + I*J
ENDFOR
ENDFOR
;I hat jetzt den Wert 11, J den Wert 0
¼
END
Index I =
1 2 3 4 5 6 7 8 9 10
6 38 8 42 24 46 40 50 56 54 72
5 27 7 31 21 35 35 39 49 43 63
4 18 6 22 18 26 30 30 42 34 54
J =
3 11 5 15 15 19 25 23 35 27 45
2 6 4 10 12 14 20 18 28 22 36
1 3 3 7 9 11 15 15 21 19 27
ProgExpPHR4.1.7 12.03.06 de
WHILE Ausfuehrbedingung
Anweisungen
ENDWHILE
Die Ausfuehrbedingung ist ein logischer Ausdruck, der eine boolsche Variable, ein bool-
scher Funktionsaufruf oder eine Verknüpfung mit einem boolschen Ergebnis sein kann.
Der Anweisungsblock wird ausgeführt, wenn die logische Bedingung den Wert TRUE hat,
d.h. die Ausführbedingung erfüllt ist. Wenn die logische Bedingung den Wert FALSE hat, wird
das Programm mit der nächsten Anweisung hinter ENDWHILE fortgesetzt. Jede WHILE--An-
weisung muß deshalb durch eine ENDWHILE--Anweisung beendet werden.
DEF WHILE_PR()
¼
INT X,W
¼
WHILE $IN[4] == TRUE ;Durchlauf solange Eingang 4 gesetzt ist
PTP PALETTE
$OUT[2] = TRUE
PTP POS_2
$OUT[2] = FALSE
PTP HOME
ENDWHILE
¼
X = 1
W = 1
WHILE W < 5; ;Durchlauf solange W kleiner 5 ist
X = X * W
W = W + 1
ENDWHILE
;W ist jetzt 5
¼ ;X ist jetzt 1S2S3S4 = 24
W = 100
WHILE W < 100 ;Durchlauf solange W kleiner 100 ist
$OUT[15] = TRUE
W = W + 1
ENDWHILE
¼ ;Schleife wird nie durchlaufen, W bleibt 100
END
ProgExpPHR4.1.7 12.03.06 de
REPEAT
Anweisungen
UNTIL Abbruchbedingung
Die Abbruchbedingung ist analog zur Ausführbedingung der WHILE--Schleife ein logi-
scher Ausdruck, der eine boolsche Variable, ein boolscher Funktionsaufruf oder eine Ver-
knüpfung mit einem boolschen Ergebnis sein kann:
DEF REPEAT_P()
¼
INT W
¼
REPEAT
PTP PALETTE
$OUT[2]=TRUE
PTP POS_2
$OUT[2]=FALSE
PTP HOME
UNTIL $IN[4] == TRUE ;Durchlauf bis Eingang 4 gesetzt wird
¼
X = 1
W = 1
REPEAT
X = X * W
W = W + 1
UNTIL W == 4 ;Durchlauf bis W gleich 4 wird
;W ist jetzt 4
¼ ;X ist jetzt 1S2S3S4 = 24
W = 100
REPEAT
$OUT[15] = TRUE
W = W + 1
UNTIL W > 100 ;Durchlauf bis W groesser 100 wird
¼ ;mindestens 1 Schleifendurchlauf, d.h.
;W ist jetzt 101, Ausgang 15 ist gesetzt
END
ProgExpPHR4.1.7 12.03.06 de
Mit WHILE und REPEAT haben Sie nun ein sehr mächtiges Werkzeug zur strukturierten Pro-
grammierung an der Hand, mit dem Sie die meisten GOTO--Anweisungen ersetzen können.
Die Anweisungsfolge
¼
X = 0
G = 0
MERKER:
X = X + G
G = G + 1
IF G > 100 THEN
GOTO FERTIG
ENDIF
GOTO MERKER:
FERTIG:
¼
läßt sich beispielsweise mit REPEAT sehr viel eleganter verwirklichen:
¼
X = 0
G = 0
REPEAT
X = X + G
G = G + 1
UNTIL G > 100
¼
ProgExpPHR4.1.7 12.03.06 de
5.2.4 Endlosschleife
LOOP Mit der LOOP--Anweisung lassen sich Endlosschleifen programmieren:
LOOP
Anweisungen
ENDLOOP
Die wiederholte Ausführung des Anweisungsblocks läßt sich nur mittels der EXIT--Anwei-
sung beenden.
DEF EXIT_PRO()
PTP HOME
LOOP ;Start der Endlosschleife
PTP POS_1
LIN POS_2
IF $IN[1] == TRUE THEN
EXIT ;Abbruch, wenn Eingang 1 gesetzt
ENDIF
CIRC HELP_1,POS_3
PTP POS_4
ENDLOOP ;Ende der Endlosschleife
PTP HOME
END
ProgExpPHR4.1.7 12.03.06 de
5.3 Warteanweisungen
WAIT Mit der WAIT--Anweisung können Sie das Anhalten des Programms bis zum Eintritt einer
bestimmten Situation bewirken. Man unterscheidet zwischen dem Warten auf das Eintreten
eines bestimmten Ereignisses und dem Einlegen von Wartezeiten.
können Sie den Programmlauf bis zum Eintreten des mit Bedingung spezifizierten Ereig--
nisses anhalten:
G Wenn der logische Ausdruck Bedingung beim WAIT--Aufruf bereits TRUE ist, wird der
Programmablauf nicht angehalten (es wird jedoch trotzdem ein Vorlaufstop ausgelöst).
G Ist Bedingung FALSE, so wird der Programmlauf angehalten, bis der Ausdruck den
Wert TRUE annimmt.
Die Bedingung WAIT FOR kann auf die Variablen $IN[], $OUT[], $CYCFLAG[], $TIMER[],
$TIMER_FLAG[], $FLAG[] und I[] angewendet werden.
Der Compiler erkennt nicht, wenn der Ausdruck durch eine fehlerhafte Formulie-
rung nie den Wert TRUE annehmen kann. In diesem Fall wird der Programmablauf
endlos angehalten, weil der Interpreter auf eine unerfüllbare Bedingung wartet.
Numerische Werte
Jeder Variablen wird eine Nummer zugewiesen.
ProgExpPHR4.1.7 12.03.06 de
Variable Werte
Statt einer Nummer wird eine Variable übergeben. Hierfür ist eine Deklaration der Variablen
in der Datenliste (*.dat) erforderlich. Eine Vereinbarung in der Quelldatei (*.src) legt den Wert
der Variablen fest.
Datenliste: Quelldatei:
Im Testbetrieb “T1” bzw. “T2” wird eine Hinweismeldung ausgegeben, wenn die zu überge-
bende, lokale Variable nicht in der Datenliste deklariert ist.
Eine Berechnung von Ausdrücken ist ebenfalls möglich. Im Beispiel wurde der Variablen X
der Wert “1”, Y der Wert “2” und Z der Wert “3” zugewiesen.
Die Meldung “Prozeß aktiv” wird angezeigt, wenn eine der Variablen nicht in der Datenliste
deklariert ist.
ProgExpPHR4.1.7 12.03.06 de
Langtexte
Ist einer Variablen ein Langtext zugeordnet, wird die numerische Indexangabe nicht ange-
zeigt.
Signalvereinarungen
Bei einer Signalvereinbarung, die aus mehreren Ein-- bzw. Ausgängen besteht, wird nur der
Signalname ausgegeben. Im Beispiel sind die Signale “EIN_NAME $IN[7] TO $IN[17]” und
“AUS_NAME $OUT[7] TO $OUT[17]” definiert.
5.3.2 Wartezeiten
Die WAIT SEC--Anweisung dient zum Programmieren von Wartezeiten in Sekunden:
Zeit ist ein arithmetischer REAL--Ausdruck, mit dem Sie die Anzahl der Sekunden angeben,
für die der Programmlauf unterbrochen werden soll. Ist der Wert negativ, so wird nicht gewar-
tet.
Beispiele:
WAIT SEC 17.542
WAIT SEC ZEIT*4+1
ProgExpPHR4.1.7 12.03.06 de
HALT
ProgExpPHR4.1.7 12.03.06 de
CONFIRM V_Nummer
DEF AUTO_QUIT()
INT M
DECL STOPMESS MLD ;vordefinierte Strukturtyp fuer Stopmel-
dungen
IF $STOPMESS AND $EXT THEN ;Stopmeldung und Betriebsart
prüfen
M=MBX_REC($STOPMB_ID,MLD) ;aktuellen Zustand in MLD einle-
sen
IF M==0 THEN ;Ueberpruefen, ob Quittierung erfolgen
darf
IF ((MLD.GRO==2) AND (MLD.STATE==1)) THEN
CONFIRM MLD.CONFNO ;Quittierung dieser Meldung
ENDIF
ENDIF
ENDIF
END
ProgExpPHR4.1.7 12.03.06 de
6 Ein--/Ausgabeanweisungen
6.1 Allgemeines
Die KRC kennt 1026 Eingänge und 1024 Ausgänge. Im KUKA--Standardsteuerschrank ste-
hen dem Anwender am Stecker X11 (MFC--Baugruppe) folgende Eingänge und Ausgänge
zur Verfügung:
Eingänge 1 ¼16
Ausgänge 1 ¼16 (mit max. 100 mA belastbar; 100% Gleichzeitigkeit)
Ausgänge 17 ¼20 (mit max. 2 A belastbar; 100% Gleichzeitigkeit)
Optional können weitere Ein--/Ausgänge z.B. über Feldbusse projektiert werden.
Eingänge können gelesen, Ausgänge gelesen und geschrieben werden. Sie werden über
die Systemvariablen $IN[Nr] bzw. $OUT[Nr] angesprochen. Nicht benutzte Ausgänge
können als Merker benutzt werden.
Die Ein--/Ausgänge der MFC--Baugruppe können in der Datei “IOSYS.INI” auf andere Be-
reiche umrangiert werden.
ProgExpPHR4.1.7 12.03.06 de
Die Anweisungsfolgen
BOOL SCHALTER
⋮
SCHALTER = $IN[6]
IF SCHALTER == FALSE THEN
⋮
ENDIF
und
IF $IN[6] == FALSE THEN
⋮
ENDIF
haben somit die gleiche Bedeutung.
SIGNAL In der KRC ist es weiterhin möglich, einzelnen Ein-- oder Ausgängen Namen zuzuweisen.
Hierzu dient die Signalvereinbarung. Sie muß wie alle Vereinbarungen im Vereinbarungsteil
des Programms stehen. Man kann also auch
SIGNAL SCHALTER $IN[6]
⋮
IF SCHALTER == FALSE THEN
⋮
ENDIF
programmieren. Die Variable Schalter wird intern wieder als BOOL deklariert.
Systemeingänge und --ausgänge können ebenfalls mit $IN und $OUT angesprochen
werden. Systemausgänge sind allerdings schreibgeschützt.
Eingang 1025 ist immer TRUE, Eingang 1026 ist immer FALSE. Diese Eingänge werden
z.B. in den Maschinendaten als “Dummy”--Variablen benutzt. Eine mehrfache Nutzung ist
zulässig.
ProgExpPHR4.1.7 12.03.06 de
DEF BINSIG ( )
;--------- Deklarationsteil ---------
EXT BAS (BAS_COMMAND:IN,REAL:IN )
DECL AXIS HOME
SIGNAL ABBRUCH $IN[16]
SIGNAL LINKS $OUT[13]
SIGNAL MITTE $OUT[14]
SIGNAL RECHTS $OUT[15]
;---------- Initialisierung ---------
BAS (#INITMOV,0 ) ;Initialisierung von Geschwindigkeiten,
;Beschleunigungen, $BASE, $TOOL, etc.
HOME={AXIS: A1 0,A2 -90,A3 90,A4 0,A5 0,A6 0}
ProgExpPHR4.1.7 12.03.06 de
$OUT[Nr]
$IN [Nr] AND NOT $OUT[Nr]
TRUE FALSE
TRUE FALSE TRUE
$IN[Nr]
FALSE FALSE FALSE
ProgExpPHR4.1.7 12.03.06 de
ProgExpPHR4.1.7 12.03.06 de
DEF BINSIG_D ( )
ENDWHILE
PTP HOME
END
ProgExpPHR4.1.7 12.03.06 de
Normalerweise können die Ausgänge 1 ... 1024 verwendet werden. Wurde die Variable
“$SET_IO_SIZE” entsprechend gesetzt, stehen 2048 bzw. 4096 Ausgänge zur Verfügung.
Erreicht der Vorlaufzeiger die Anweisung, wird zunächst der Bool’sche Ausdruck interpre-
tiert. Der jeweilige Ausdruck wird hierbei in eine Konstante umgewandelt. Bei Erreichen des
Hauptlaufzeigers werden die interpretierten Ausgänge dann gesetzt.
Nach dem Interpretieren (Vorlaufzeiger) sieht die Anweisung intern z.B. folgenderma--
ßen aus:
$OUT_C[5] = TRUE
Damit wird bei Erreichen des Zielpunkts (Hauptlaufzeiger) der Ausgang 5 auf den
Wert ”TRUE” gesetzt.
Bei Erreichen des Hauptlaufzeigers wird der Ausgang auf den entsprechenden bool’schen
Wert gesetzt, welcher zum Zeitpunkt des Interpretierens gültig war, auch wenn sich dieser
Wert zwischenzeitlich geändert hat.
Eine Satzanwahl löscht alle interpretierten, aber bisher noch nicht gesetzten
“$OUT_C[x]”--Zuweisungen. Dies geschieht bei Satzanwahl und dem Zurücksetzen eines
Programms.
ProgExpPHR4.1.7 12.03.06 de
PTP P1
$OUT_C[10]=TRUE
$OUT_C[11]=FALSE
$OUT_C[12]=TRUE
LIN P2
Erfolgt im Punkt “P1” ein Genauhalt, werden zu diesem Zeitpunkt die Ausgänge 10 ...
12 entsprechend ihren Definitionen gesetzt.
Wird der Punkt “P1” dagegen im Überschleif angefahren, werden die Ausgänge 10 ...
12 erst gesetzt, sobald das Zentrum des Überschleifbereichs erreicht worden ist. Ist ein
Überschleif nicht möglich, werden die Ausgänge im Punkt “P1” gesetzt.
Eine SAK--Fahrt führt ebenfalls zu einem Vorlaufstop. Erst nach dem erneuten Starten des
Programmes werden Ausgänge entsprechend ihrer Definition gesetzt.
$OUT_C[x]:
PTP P1 C_PTP
$OUT_C[5]=TRUE
PTP P2
Trigger:
TRIGGER WHEN DISTANCE=1 DELAY=0 DO $OUT[5]=TRUE
PTP P1 C_PTP
PTP P2
Im beiden Fällen wird der Ausgang 5 gesetzt, sobald das Zentrum des Überschleifbereichs
von “P1” erreicht wird.
Hauptlaufzeiger
Sind Vorlauf-- und Hauptlaufzeiger identisch, d.h. der Roboter führt aktuell keinen Bewe-
gungssatz aus, erfolgt die Zuweisung unmittelbar bei Erreichen der “$OUT_C[]”--Anwei-
sung.
PTP P1
WAIT FOR $IN[22]==TRUE
$OUT_C[12]=FALSE
PTP P2
Im Beispiel wird in der Zeile “WAIT...” ein Vorlaufstop ausgelöst, solange Eingang 22
“FALSE” ist. Sobald am Eingang 22 “TRUE” anliegt, wird Ausgang 12 entsprechend gesetzt.
ProgExpPHR4.1.7 12.03.06 de
Signal
Ein Ausgang kann auch mittels einer 1Bit--Signalvereinbarung gesetzt werden.
PTP P1
Test = TRUE
PTP P2
Im Beispiel wird Ausgang 7 auf “TRUE” gesetzt, sobald der Hauptlaufzeiger den Bewe-
gungssatz “P1” erreicht hat.
ProgExpPHR4.1.7 12.03.06 de
6.4 Impulsausgänge
PULSE Mit der PULSE--Anweisung können einzelne Ausgänge für eine bestimmte Dauer gesetzt
oder rückgesetzt werden. Die Anweisung
PULSE($OUT[4],TRUE,0.7)
setzt beispielsweise Ausgang 4 für eine Zeit von 0.7 Sekunden auf High--Pegel. Der Impuls
kann dabei parallel zum Roboterprogramm ablaufen (der Interpreter wird dabei nicht ange-
halten).
Anstatt der direkten Angabe des Ausgangs mit $OUT[Nr] kann auch eine Signalvariable
stehen.
Die realisierbaren Impulszeiten liegen zwischen 0.012 und 231 Sekunden. Das Raster be-
trägt 0.1 Sekunden. Die Steuerung rundet alle Werte auf ein Zehntel.
ProgExpPHR4.1.7 12.03.06 de
Im nächsten Programm finden Sie einige Beispiele zur Anwendung der PULSE--Anweisung:
DEF PULSIG ( )
FOR I=1 TO 16
$OUT[I]=FALSE ;alle Ausgaenge auf LOW setzen
ENDFOR
FOR I=1 TO 4
PULSE ($OUT[I],TRUE,1) ;nacheinander die Ausgaenge 1-4
WAIT SEC 1 ;fuer 1s auf High
ENDFOR
PTP HOME
CONTINUE ;Vorlaufstop verhindern fuer Ausgang 15
PULSE ($OUT[15],TRUE,3) ;Impuls kommt direkt (im
Vorlauf)
;auf Ausgang 16
PULSE ($OUT[16],TRUE,3) ;Impuls kommt erst nach HOME-Fahrt
END ;und steht noch nach END an
Beachten Sie in diesen Beispielen genau, ab wann die programmierten Impulse an den Aus-
gängen anliegen: Grundsätzlich führt die PULSE--Anweisung immer zu einem Stop des
Rechnervorlaufs. Der Impuls liegt also erst nach Bewegungsbeendigung an.
ProgExpPHR4.1.7 12.03.06 de
ProgExpPHR4.1.7 12.03.06 de
für das Beenden. Die Bedeutung der einzelnen Argumente ist aus Tab. 10 ersichtlich.
Die optionalen Parameter “Minimum” und “Maximum” stehen nicht in den Inline--Formula-
ren zur Verfügung, da diese ausschließlich für die Technologie “Kleben” verwendet wer-
den.
ProgExpPHR4.1.7 12.03.06 de
In diesem Beispiel wurde sowohl ein Minimum-- als auch ein Maximum--Wert definiert. Die
entsprechenden Einträge lauten “MINIMUM=0.3” und “MAXIMUM=0.95”.
10 000
Maximum
8 000
Analogspannung [mV]
UDraht [mV]
6 000
4 000
Minimum
2 000
UStandard [mV]
Bahngeschwindigkeit [mm/s]
ProgExpPHR4.1.7 12.03.06 de
Zu beachten ist, daß zur gleichen Zeit höchstens 3 ANIN ON -- Anweisungen aktiv sein
dürfen. Es ist zulässig in beiden Anweisungen auf die selbe Analogschnittstelle zuzugrei-
fen, oder die gleiche Variable zu beschreiben.
Die vollständige Syntax zum zyklische Lesen eines Analogeinganges lautet:
ANIN ON ANIN ON Wert = Faktor * Signalname á± Offsetñ
ProgExpPHR4.1.7 12.03.06 de
Im nachfolgenden Beispiel sind die Anweisungen zur Analogein-- und ausgabe illustriert. Mit
Hilfe der Systemvariablen $TECHIN[1] und einem an einem Analogeingang angeschlosse-
nen Bahnfolgesensor kann so z.B. eine Bahnkorrektur während der Bewegung vorgenom-
men werden. Die Variable $VEL_ACT, die stets die aktuelle Bahngeschwindigkeit enthält,
kann mit entsprechenden Faktoren gewichtet zu einer geschwindigkeitsproportionalen Ana-
logausgabe benutzt werden, also z.B. um die Klebermenge beim Kleberauftrag zu steuern.
DEF ANSIG ( )
FOR I=1 TO 16
$ANOUT[I]=0 ;alle Ausgaenge auf 0V setzen
ENDFOR
;geschwindigkeitsproportionale Analogausgabe;Systemvariable
$VEL_ACT enthält die aktuelle Bahngeschwindigkeit
ANOUT ON KLEBER = 0.5 * $VEL_ACT + 0.2 DELAY = -0.12
LIN POS2
CIRC HILFSPOS,POS3
ANOUT OFF KLEBER
ANIN OFF KORREKTUR
PTP POS4
ENDIF
PTP HOME
END
ProgExpPHR4.1.7 12.03.06 de
Während verschiedene Digitaleingänge auf den selben Eingang zugreifen können, dürfen
die Strobe--Signale NICHT den selben Ausgang beschreiben.
Der Wertebereich von $DIGIN1¼$DIGIN6 hängt von der definierten Bit--Länge sowie von
der Vorzeicheninterpretation (#SIGNED oder #UNSIGNED) ab:
12 Bit mit Vorzeichen (#SIGNED) Wertebereich:--2048¼2047
12 Bit ohne Vorzeichen (#UNSIGNED) Wertebereich: 0¼4095
Die Digitaleingänge können entweder statisch durch eine gewöhnliche Wertzuweisung gele-
sen werden:
INT ZAHL
⋮
ZAHL = $DIGIN2
DIGIN oder aber zyklisch mit einer DIGIN--Anweisung:
INT ZAHL
⋮
DIGIN ON ZAHL = FAKTOR * $DIGIN2 + OFFSET
⋮
DIGIN OFF $DIGIN2
Zur gleichen Zeit sind 6 DIGIN ON -- Anweisungen zulässig. In der DIGIN ON -- Anweisung
kann auch auf analoge Eingangssignale zugegriffen werden (z.B.. als FAKTOR). Die Syntax
ist völlig analog zur ANIN ON--Anweisung:
DIGIN ON DIGIN ON Wert = Faktor * Signalname á± Offsetñ
ProgExpPHR4.1.7 12.03.06 de
ProgExpPHR4.1.7 12.03.06 de
7.1 Vereinbarung
Ein Unterprogramm oder eine Funktion ist ein separater Programmteil mit Programmkopf,
Vereinbarungsteil und Anweisungsteil, der von beliebigen Stellen im Hauptprogramm aufge-
rufen werden kann. Nach Abarbeitung des Unterprogramms oder der Funktion erfolgt ein
Rücksprung an den nächsten Befehl nach dem Aufruf des Unterprogramms (s. Abb. 35).
Von einem Unterprogramm bzw. einer Funktion aus können weitere Unterprogramme und/
oder Funktionen aufgerufen werden. Die hierbei zulässige Schachtelungstiefe ist 20. Dar-
über hinaus erfolgt die Fehlermeldung “ÜBERLAUF PROGRAMMSCHACHTELUNG”. Der
rekursive Aufruf von Unterprogrammen oder Funktionen ist erlaubt. Das heißt, ein Unterpro-
gramm oder eine Funktion kann sich selbst wieder aufrufen.
DEF Alle Unterprogramme werden genau wie die Hauptprogramme mit der DEF--Vereinbarung
plus Namen deklariert und mit END abgeschlossen, z.B.:
DEF UNTERPR()
¼
END
PROG.SRC
ProgExpPHR4.1.7 12.03.06 de
Eine Funktion ist eine Art Unterprogramm, jedoch ist der Programmname gleichzeitig eine
Variable eines bestimmten Datentyps. Damit läßt sich das Ergebnis der Funktion durch ein-
fache Wertzuweisung an eine Variable übergeben. Bei der Vereinbarung von Funktionen mit
DEFFCT dem speziellen Schlüsselwort DEFFCT muß daher neben dem Namen der Funktion auch der
Datentyp der Funktion angegeben werden. Abgeschlossen wird eine Funktion mit ENDFCT.
Da eine Funktion einen Wert übergeben soll, muß dieser Wert vor der ENDFCT--Anweisung
mit der RETURN--Anweisung spezifiziert werden. Beispiel:
DEFFCT INT FUNKTION()
¼
RETURN(X)
ENDFCT
lokal Grundsätzlich unterscheidet man zwischen lokalen und globalen Unterprogrammen bzw.
Funktionen. Bei lokalen Unterprogrammen oder Funktionen befinden sich das Hauptpro-
gramm und die Unterprogramme/Funktionen in der selben SRC--Datei. Die Datei trägt den
Namen des Hauptprogrammes. Dabei steht das Hauptprogramm im Quelltext immer an er-
ster Stelle, während die Unterprogramme und Funktionen in beliebiger Reihenfolge und An-
zahl nach dem Hauptprogramm folgen.
global Lokale Unterprogramme/Funktionen können nur innerhalb des SRC--Files, indem sie pro-
grammiert wurden, aufgerufen werden. Sollen Unterprogramm--/Funktionsaufrufe auch von
anderen Programmen möglich sein, so müssen sie global sein, also in einem eigenen SRC--
File abgespeichert werden. Somit ist jedes Programm ein Unterprogramm, wenn es von ei-
nem anderen Programm (Hauptprogramm, Unterprogramm oder Funktion) aufgerufen wird.
G In lokalen Unterprogrammen bzw. Funktionen sind alle in der Datenliste des Haupt-
programms deklarierten Variablen bekannt. Variablen die im Hauptprogramm (SRC--
File) deklariert wurden sind sogenannte “Runtime Variablen” und dürfen nur im
Hauptprogramm verwendet werden. Ein Versuch diese Variablen im Unterprogramm
zu verwenden führt zu einer entsprechenden Fehlermeldung.
In globalen Unterprogrammen oder Funktionen sind die im Hauptprogramm dekla-
rierten Variablen nicht bekannt.
G Im Hauptprogramm sind die in globalen Unterprogrammen oder Funktionen dekla-
rierten Variablen nicht bekannt.
G Ein Hauptprogramm kann nicht auf lokale Unterprogramme oder Funktionen eines
anderen Hauptprogramms zugreifen.
G Der Name von lokalen Unterprogrammen/Funktionen kann maximal 24 Zeichen lang
sein. Bei globalen Unterprogrammen/Funktionen darf er höchstens 24 Zeichen lang
sein (wegen der Dateierweiterungen).
Damit das globale Unterprogramm dem Hauptprogramm bekannt ist, braucht dieses nur in-
nerhalb des Hauptprogramms aufgerufen werden (z.B: PROG_2()). Mit der Angabe der Pa-
rameterliste (s. 7.2) ist auch der benötigte Speicherplatz eindeutig festgelegt. Beispiele:
PROG_3()
FUNCTION(REAL:IN)
In Abb. 36 ist der Unterschied zwischen lokalen und globalen Unterprogrammen/Funktionen
dargestellt: PROG.SRC, PROG_1.SRC und PROG_3.SRC sind jeweils eigenständige
Hauptprogramme, PROG_2FUN.SRC eine Funktion. Durch den Aufruf eines Programmes
(z.B. PROG_1.SRC) von PROG.SRC aus, wird dieses automatisch zum globalen Unterpro-
gramm. LOCAL() ist ein lokales Unterprogramm, LOCALFUN() eine lokale Funktion von
PROG.SRC.
ProgExpPHR4.1.7 12.03.06 de
PROG.SRC PROG_1.SRC
ProgExpPHR4.1.7 12.03.06 de
ProgExpPHR4.1.7 12.03.06 de
X Call by value
15 DEFFCT INT QUA-
15 DRAT(ZAHL:IN)
15 ZAHL INT ZAHL
225 ZAHL=ZAHL*ZAHL
225 RETURN(ZAHL)
DEF PROG() ENDFCT
INT X,Y,E
¼
X=5*3
Þ X=15
Y=QUADRAT(X) ;Y=225 Y= 225
E=Y/X E=15
¼
END
15
225
X,ZAHL Call by reference
15
Þ X=225
Y= 225
E=1
“Call by value” wird im Unterprogramm-- oder Funktionskopf durch das Schlüsselwort IN hin-
ter jeder Variablen in der Parameterliste angegeben. “Call by reference” erhält man durch
Angabe von OUT. OUT ist auch die Default--Einstellung. Beispiel:
DEF RECHNE(X:OUT,Y:IN,Z:IN,B)
Die Verwendung von IN und OUT soll mit folgendem Beispiel verdeutlicht werden. Das Unter-
programm und die Funktion seien global.
ProgExpPHR4.1.7 12.03.06 de
DEF PROG()
RECHNE (INT:OUT,INT:IN,INT:IN)
FUNKT1(REAL:IN,REAL:OUT,REAL:OUT,REAL:IN,REAL:OUT)
INT A,B,C
REAL D,E,F,G,H,X
A = 1
B = 2
C = 3
D = 1
E = 2
F = 3
G = 4
H = 5
RECHNE (A,B,C)
;A ist nun 11
;B ist nun 2
;C ist nun 3
X = FUNKT1(H,D,E,F,G)
;D ist nun 3
;E ist nun 8
;F ist nun 3
;G ist nun 24
;H ist nun 5
;X ist nun 15
END
DEF RECHNE(X1:OUT,X2:IN,X3:IN) ;Globales UP
INT X1,X2,X3
X1=X1+10
X2=X2+10
X3=X3+10
END
DEFFCT REAL FUNKT1(X1:IN,X2:OUT,X3:OUT,X4:IN,X5:OUT);Globale Fkt.
REAL X1,X2,X3,X4,X5
X1 = X1*2
X2 = X2*3
X3 = X3*4
X4 = X4*5
X5 = X5*6
RETURN(X4)
ENDFCT
Bei der Übergabe eines Feldes muß das Feld im Unterprogramm oder der Funktion ebenfalls
neu deklariert werden, jedoch ohne Index. Dazu folgendes Beispiel, indem die Werte eines
Feldes X[] verdoppelt werden (die Funktion ist global):
ProgExpPHR4.1.7 12.03.06 de
DEF ARRAY ( )
EXT BAS (BAS_COMMAND:IN,REAL:IN)
INT X[5] ;Feldvereinbarung
INT I
BAS (#INITMOV,0)
FOR I=1 TO 5
X[I]=I ;Array X[] initialisieren
ENDFOR ;X[1]=1,X[2]=2,X[3]=3,X[4]=4,x[5]=5
Bei der Übergabe von mehrdimensionalen Felder werden ebenfalls keine Indizes angege-
ben, allerdings muß die Dimension des Feldes durch Angabe von Kommas spezifiziert wer-
den, Beispiele:
A[,] für zweidimensionale Felder
A[,,] für dreidimensionale Felder
ProgExpPHR4.1.7 12.03.06 de
ProgExpPHR4.1.7 12.03.06 de
8 Interrupt--Behandlung
Beim Einsatz von Robotern in komplexen Fertigungsanlangen besteht die Notwendigkeit,
daß der Roboter auf bestimmte externe oder interne Ereignisse gezielt und sofort reagieren
kann und parallel zum Roboterprozeß Aktionen ausgeführt werden können. Das heißt, ein
laufendes Roboterprogramm muß unterbrochen und ein Unterbrechungsprogramm bzw.
--funktion gestartet werden. Nach Abarbeitung des Unterbrechungsprogramms soll, wenn
nichts weiteres vereinbart ist, das unterbrochene Roboterprogramm wieder fortgesetzt wer-
den.
Dieses gezielte Unterbrechen bzw. Starten eines Programms wird durch die Interrupt--An-
weisung ermöglicht. Damit hat der Anwender die Möglichkeit, per Programm auf ein Ereignis
zu reagieren, welches zeitlich nicht synchron zum Programmablauf auftritt.
Interrupts können von
G Geräten, wie Sensoren, Peripherieeinheiten, etc.,
G Fehlermeldungen
G dem Anwender oder durch
G Sicherheitsschaltungen
ausgelöst werden. Beispielsweise kann nach Drücken des Not--Aus--Schalters eine Inter-
rupt--Routine aufgerufen werden, die bestimmte Ausgangssignale zurücksetzt (vorbereite-
tes Programm IR_STOPM.SRC).
ProgExpPHR4.1.7 12.03.06 de
8.1 Deklaration
Bevor ein Interrupt aktiviert werden kann, müssen zunächst einmal die möglichen Unterbre-
chungsursachen und die jeweilige Reaktion des Systems darauf definiert werden.
INTERRUPT Dies geschieht mit der Interrupt--Deklaration, bei der sie jeder Unterbrechung eine Priorität,
ein Ereignis und die aufzurufende Interrupt--Routine zuordnen müssen. Die vollständige
Syntax lautet:
Die Anweisung
INTERRUPT DECL 4 WHEN $IN[3]==TRUE DO UP1()
deklariert z.B. einen Interrupt der Priorität 4, der das Unterprogramm UP1() aufruft sobald
der Eingang 3 auf High geht.
Die Interrupt--Deklaration ist eine Anweisung. Sie darf daher nicht im Vereinbarungsteil
stehen!
Ein Interrupt wird erst ab der Programmebene erkannt, in der er deklariert ist. In darüber lie-
genden Programmebenen wird der Interrupt trotz Aktivierung nicht erkannt. Das heißt, ein
in einem Unterprogramm deklarierter Interrupt, ist im Hauptprogramm nicht bekannt (s.
Abb. 38).
GLOBAL Wird der Interrupt hingegen als GLOBAL vereinbart so kann er in einem beliebigen Unterpro-
gramm deklariert werden und verliert seine Gültigkeit beim Verlassen dieser Ebene nicht (s.
Abb. 38).
GLOBAL INTERRUPT DECL 4 WHEN $IN[3]==TRUE DO UP1()
ProgExpPHR4.1.7 12.03.06 de
Hauptprogramm
DEF MAIN()
⋮
INTERRUPT DECL 1 ¼
INTERRUPT DECL 3 ¼ Unterprogramm
⋮
UP()
DEF UP()
⋮
⋮
END
GLOBAL INTERRUPT DECL 23
¼
INTERRUPT DECL 2 ¼
⋮
END
Gültigkeit Interrupt 2
Abb. 38 GültigkeitsbereicheinesInterruptsabhängigvomDeklarationsortund--art
ProgExpPHR4.1.7 12.03.06 de
Aus Rechenzeitgründen dürfen zur gleichen Zeit nur 16 Interrupts eingeschaltet sein. Dies
ist insbesondere bei der globalen Aktivierung aller Interrupts zu beachten.
Interrupt aus- In gleicher Weise wie das Einschalten funktioniert auch das Ausschalten einzelner oder aller
schalten Interrupts:
INTERRUPT OFF 4
oder
INTERRUPT OFF
Sperren / Frei- Mit den Schlüsselworten ENABLE und DISABLE können eingeschaltete Interrupts einzeln
geben oder global freigegeben oder gesperrt werden.
Die Sperranweisung ermöglicht einen Schutz von bestimmten Programmteilen vor Unter-
brechung. Ein gesperrter Interrupt wird zwar erkannt und gespeichert, aber nicht ausgeführt.
Erst wenn eine Freigabe erfolgt, werden die aufgetretenen Interrupts in der Reihenfolge ihrer
Priorität bearbeitet.
DISABLE 4
oder
DISABLE
Auf ein gespeichertes Ereignis wird nicht mehr reagiert, wenn der Interrupt vor der Auslö-
sung ausgeschaltet wird. Falls ein Interrupt während er gesperrt ist mehrmals auftritt, wird
er nach seiner Freigabe nur einmal ausgeführt.
ProgExpPHR4.1.7 12.03.06 de
Ein Interrupt kann nach dem ersten Befehl im Interruptprogramm durch Interrupts höherer
Priorität unterbrochen werden. Im ersten Befehl hat der Programmierer somit die Möglich-
keit, dies durch Sperren/Ausschalten eines oder aller Interrupts zu verhindern. Schaltet sich
ein Interrupt im Interruptprogramm selbst ab, so wird dieses natürlich zu Ende abgearbeitet.
Nach Beendigung eines höher prioren Interrupts wird das unterbrochene Interruptprogramm
an der Stelle fortgesetzt, an der es unterbrochen wurde.
Sonderfälle:
S Während eines Bedienstopps kann jeder deklarierte und aktivierte Interrupt erkannt
werden. Nach einem erneuten Start werden die aufgetretenen Interrupts ihrer Priori-
tät entsprechend abgearbeitet (falls sie freigegeben sind) und anschließend wird das
Programm fortgesetzt.
Eine laufende Roboterbewegung wird beim Aufruf eines Interruptprogramms nicht abgebro-
chen. Während das Interruptprogramm bearbeitet wird, werden noch alle im unterbrochenen
Programm aufbereiteten Bewegungen abgefahren. Wenn das Interruptprogramm während
dieser Zeit komplett abgearbeitet ist, wird das unterbrochene Programm ohne Bewegungs-
stillstand, d.h. ohne Verlängerung der Bearbeitungszeit, fortgesetzt. Ist dagegen die Inter-
ruptaktion noch nicht beendet, bleibt der Roboter stehen bis nach dem Rücksprung die näch-
ste Bewegung aufbereitet und fortgesetzt wird.
Befinden sich im Interruptprogramm selbst Bewegungsanweisungen, so hält das Interrupt-
programm solange auf der ersten Bewegungsanweisung an bis der Vorlauf des Hauptpro-
gramm abgearbeitet ist.
Den Einsatz von Interruptanweisungen und die Verwendung der speziellen Systemvariablen
soll das folgende Beispiel erläutern. Hierin werden während einer Linearbewegung ständig
zwei Sensoren (an den Eingängen 1 und 2) überwacht. Sobald ein Sensor einen Teil detek-
tiert (auf High geht), wird ein Interruptunterprogramm aufgerufen, indem die Position des
Teiles gespeichert wird und als Anzeige ein entsprechender Ausgang gesetzt wird. Die Ro-
boterbewegung wird dabei nicht unterbrochen. Danach werden die erkannten Teile noch-
mals angefahren.
ProgExpPHR4.1.7 12.03.06 de
DEF INTERRUP ( )
PTP HOME
FOR I=1 TO 2
IF $OUT[I] THEN
LIN TEIL[I] ; erkanntes Teil anfahren
$OUT[I]=FALSE
PTP HOME
ENDIF
ENDFOR
END
Neben dem Basis--Paket (BAS.SRC) ist standardmäßig auch eine Datei IR_STOPM()
auf der Steuerung vorhanden. Dieses Unterprogramm führt im Fehlerfall einige grundle-
gende Anweisungen aus. Dazu gehört neben einigen technologiespezifischen Aktionen
auch das Rückpositionieren des Roboters auf die Bewegungsbahn. Während nämlich
der Roboter nach Drücken des NOT--AUS--Schalters auf der Bahn bleibt, wird bei
Schutzeinrichtungen, die direkt den Bediener betreffen (z.B. Schutztür), hardwareseitig
ein nicht bahntreuer Stop ausgelöst.
Sie sollten daher im Initialisierungsteil Ihrer Programme stets die folgende Sequenz
implementieren (befindet sich standardmäßig im Fold BAS INI):
ProgExpPHR4.1.7 12.03.06 de
In der Datei IR_STOPM() wird mit der Anweisung PTP $POS_RET das Rückpositionieren
veranlaßt und somit wieder SAK hergestellt.
Weitere nützliche Systemvariablen für das Arbeiten mit Interrupts sind in Tab. 14 aufgeführt.
Die Positionen beziehen sich immer auf die im Hauptlauf aktuellen Koordinatensysteme.
$POS_RET
$POS_INT
$AXIS_RET P2
$AXIS_INT
$POS_FOR
$AXIS_FOR
P1 P3
$POS_BACK $POS_ACT
$AXIS_BACK $AXIS_ACT
P2
$POS_INT $POS_RET
$AXIS_INT $AXIS_RET
$POS_FOR
$AXIS_FOR
$POS_BACK $POS_ACT
$AXIS_BACK $AXIS_ACT
P1 P3
ProgExpPHR4.1.7 12.03.06 de
Die BRAKE -- Anweisung darf nur in einem Interruptprogramm stehen. In anderen Program-
men führt sie zu einem Fehlerstop.
Die BRAKE--Anweisung muß nicht direkt nach dem Aufruf, sondern kann an beliebiger Stelle
im Interruptprogramm erfolgen. Ihre Wirkung hängt davon ab, ob zum Zeitpunkt ihrer Abar-
beitung noch eine Bewegung des unterbrochenen Programms ausgeführt wird. Wenn der
Roboter steht, hat die Anweisung keine Auswirkung. Eine noch laufende Bewegung des un-
terbrochenen Programms wird mit dem programmierten Bremsmodus angehalten. Der
BRAKE--Befehl ersetzt allerdings nicht die HALT--Anweisung, wenn der Programmlauf ange-
halten werden soll. Die Bearbeitung des Interruptprogramms wird erst nach erfolgtem Still-
stand des Roboters mit der darauffolgenden Anweisung fortgesetzt.
ProgExpPHR4.1.7 12.03.06 de
Wie die BRAKE--Anweisung, ist auch RESUME nur in einem Interruptprogramm zulässig.
Zum Zeitpunkt der RESUME--Anweisung darf der Vorlaufzeiger nicht in der Ebene stehen,
in der der Interrupt deklariert wurde, sondern mindestens eine Ebene tiefer.
Da die Suchstrecke mit RESUME abgebrochen werden soll, muß die Suchbewegung in einem
Unterprogramm programmiert werden. Dies geschieht im folgenden Beispiel in MOVEP(),
das Interruptunterprogramm heißt IR_PROG().
Wichtig ist, daß in Unterprogrammen, die mit RESUME abgebrochen werden sollen, vor der
letzten Zeile der Vorlauf angehalten wird. Nur dann ist gewährleistet, daß der Vorlaufzeiger
bei RESUME nicht in der Ebene steht, in welcher der Interrupt deklariert wurde. In MOVEP()
wurde dies mit der $ADVANCE=0 Zuweisung realisiert.
Im Interruptprogramm selbst wird -- sobald 4 Teile durch einen Sensor an Eingang 1 erkannt
sind -- die Suchbewegung mittels BRAKE angehalten, und schließlich mit der RESUME--An-
weisung abgebrochen (da neben IR_PROG() auch MOVEP() beendet wird). Ohne die
BRAKE--Anweisung würde zunächst noch die Suchbewegung im Vorlauf abgearbeitet wer-
den.
Nach RESUME wird das Hauptprogramm mit der Anweisung nach dem Unterprogrammauf-
ruf, also $ADVANCE=3 (Vorlauf zurückstellen), fortgesetzt.
ProgExpPHR4.1.7 12.03.06 de
DEF SEARCH ( )
;--------- Deklarationsteil ---------
EXT BAS (BAS_COMMAND :IN,REAL :IN )
DECL AXIS HOME
;---------- Initialisierung ---------
INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3 ;standardmaessige Fehlerbehandlung
BAS (#INITMOV,0 ) ;Initialisierung von Geschwindigkeiten,
;Beschleunigungen, $BASE, $TOOL, etc.
HOME={AXIS: A1 0,A2 -90,A3 90,A4 0,A5 30,A6 0}
INTERRUPT DECL 11 WHEN $IN[1] DO IR_PROG ( )
I[1]=0 ;vordefinierten Zaehler auf 0 setzen
;------------- Hauptteil ------------
PTP HOME ;SAK-Fahrt
INTERRUPT ON 11
MOVEP ( ) ;Abfahren der Suchstrecke
$ADVANCE=3 ;Vorlauf zurueckstellen
INTERRUPT OFF 11
GRIP ( )
PTP HOME
END
;-------- Unterprogramm ------------
DEF MOVEP ( ) ;Unterprogramm zum Abfahren der Suchstrecke
PTP {X 1232,Y -263,Z 1000,A 0,B 67,C -90}
LIN {X 1232,Y 608,Z 1000,A 0,B 67,C -90}
$ADVANCE=0 ;Vorlauf anhalten
END ;
;------ Interruptprogramm ---------
DEF IR_PROG ( ) ;Teileposition speichern
;INTERRUPT OFF 11
I[1]=I[1]+1
POSITION[I]=$POS_INT ;Abspeichern der Position
IF I[1]==4 THEN ;4 Teile werden erkannt
BRAKE ;Anhalten der Bewegung
RESUME ;Abbrechen von IR_PROG & MOVE
ENDIF
;INTERRUPT ON 11
END
;-------- Unterprogramm ------------l
ProgExpPHR4.1.7 12.03.06 de
Wenn die Gefahr besteht, daß ein Interrupt fälschlicherweise durch empfindliche Sen-
sorik zweimal ausgelöst wird (”Tastenprellen”), so können Sie dies durch Ausschalten
des Interrupts in der ersten Zeile des Interruptprogramms verhindern. Allerdings kann
dann auch ein tatsächlich auftretender Interrupt während der Interruptverarbeitung nicht
mehr erkannt werden. Vor dem Rücksprung muß der Interrupt -- wenn er weiter aktiv
sein soll -- wieder eingeschaltet werden.
Falls, wie in obigem Beispiel, eine Bewegung mit RESUME abgebrochen wird, sollte die
nachfolgende Bewegung keine CIRC--Bewegung sein, da der Anfangspunkt jedes mal
ein anderer ist (Þ unterschiedliche Kreise).
Bei der in Beispiel 8.2 programmierten Suchaktion werden die Eingänge im Interpolations-
takt (z.Z. 12ms) abgefragt. Dabei besteht eine maximale Ungenauigkeit von ca. 12ms mal
Bahngeschwindigkeit.
“Schnelles Soll diese Ungenauigkeit vermieden werden, so darf man den Initiator nicht an die Anwende-
Messen” reingänge anschließen, sondern muß spezielle Eingänge (4 Stück) am Peripheriestecker
X11 benutzen. Diese Eingänge können über die Systemvariablen
$MEAS_PULSE[1]¼MEAS_PULSE[4] angesprochen werden (Reaktionszeit 125ms).
Beim Einschalten des Interrupts darf der Meßimpuls nicht anliegen, sonst erscheint die ent-
sprechende Fehlermeldung.
ProgExpPHR4.1.7 12.03.06 de
ProgExpPHR4.1.7 12.03.06 de
ProgExpPHR4.1.7 12.03.06 de
--
PUNKT3
1
Abb. 41 Schaltbereiche und mögliche Verzögerungswerte, wenn Start-- und Zielpunkt
Genauhaltpunkte sind.
ProgExpPHR4.1.7 12.03.06 de
1a
-- 1
1b
PUNKT3 PUNKT4
+
PUNKT2
DISTANCE Schaltbereich DELAY
0 0 -- 1a +
1 1a -- 1b ±
0
+
1a
-- 1
1b
PUNKT3 PUNKT4
+
ProgExpPHR4.1.7 12.03.06 de
0
+
--
1
PUNKT3
ProgExpPHR4.1.7 12.03.06 de
ProgExpPHR4.1.7 12.03.06 de
Anweisungsfolge:
⋮
LIN PUNKT2 C_DIS
TRIGGER WHEN PATH = Y DELAY= X DO $OUT[2]=TRUE
LIN PUNKT3 C_DIS
LIN PUNKT4 C_DIS
LIN PUNKT5
⋮
Da der Schaltpunkt ab dem Bewegungspunkt, vor dem er programmiert wurde, über alle
nachfolgenden Überschleifpunkte hinweg, bis zum nächsten Genauhaltpunkt verschoben
werden kann, ist eine Verschiebung des Schaltpunkts vom Überschleifanfang PUNKT2 bis
zu PUNKT5 möglich. Wäre in dieser Anweisungsfolge PUNKT2 nicht überschliffen, so würde
der Schaltpunkt nur bis zum Genauhaltpunkt PUNKT2 verschoben werden können.
PUNKT2
--
DELAY X
-- PUNKT5
+
PATH Y<0
DELAY X
-- +
PUNKT3 PUNKT4
DELAY=0
PATH=0 PATH Y>0 +
Zahlenbeispiel:
X= --10, Y= --20
PUNKT2
Schaltpunkt
DELAY= -10
PUNKT5
PATH= -20
PUNKT4
PUNKT3
ProgExpPHR4.1.7 12.03.06 de
Sonderfälle:
G SAK--Fahrt
Wird eine Satzanwahl auf eine Bahnbewegung durchgeführt, so findet diese als SAK--
Fahrt statt. Da bei dieser SAK--Fahrt der Startpunkt beliebig ist, kann er kein sinnvoller
Startpunkt für eine Entfernungsangabe sein. Sind vor einer solchen Bewegung also
TRIGGER--Befehle mit PATH--Angabe programmiert, und findet eine Satzanwahl auf
diese Befehle statt, so werden diese alle am Zielpunkt ausgeführt.
G Überschleifen nicht möglich
Ist ein Überschleifen nicht möglich, so findet an dieser Stelle eine Genauhaltbewegung
statt. Diese wird in diesem Zusammenhang jedoch wie eine Überschleifbewegung be-
handelt. Im weiteren Verlauf auf der Bahn liegende Schaltaktionen bleiben gespeichert
und werden an entsprechender Stelle ausgelöst. Allerdings werden sie in der Regel
nicht mehr exakt stimmen, da sich jetzt eine andere Bahn und somit eine andere Bahn-
länge ergibt. Schaltaktionen, die durch einen negativen PATH--Wert auf die erste Hälfte
des Überschleifbereichs gelegt wurden, können jetzt frühestens am Genauhaltpunkt
ausgelöst werden:
⋮
LIN P1 C_DIS
TRIGGER WHEN PATH=-120 DELAY=0 DO UP1() PRIO=-1
TRIGGER WHEN PATH=-70 DELAY=0 DO $OUT[2]=TRUE
LIN P2 C_DIS
⋮
Im obigen Beispiel soll die Entfernung zwischen Start-- und Zielpunkt 100 mm betragen.
Kann bei P1 überschliffen werden, so wird der Unterprogrammaufruf UP1() 20 mm vor
dem Erreichen des Bahnpunktes, der dem Überschleifpunkt P1 am nächsten ist, aus-
geführt. Das Setzen von Ausgang 2 wird 30 mm nach diesem Bahnpunkt ausgeführt.
Konnte die Überschleifbewegung bei P1 nicht ausgeführt werden, so läuft die Bahn
durch den Punkt P1, in dem auch positioniert wird. Der Unterprogrammaufruf UP1()
wird jetzt unmittelbar nach dem Verlassen von P1 ausgeführt, das Setzen von Ausgang
2 erfolgt in 30 mm Abstand von P1.
G Abbrechen einer Bewegung
Wird eine Bewegung z.B. durch Satzanwahl oder Reset abgebrochen und nicht mehr
zu Ende geführt, so werden wie bei der DISTANCE--Angabe die noch nicht ausgeführ-
ten Schaltaktionen auch nicht mehr ausgeführt, sondern gelöscht.
G Wegbezogenen TRIGGER --Anweisung für eine PTP --Bewegung
Wird eine PATH-TRIGGER --Anweisung mit Wegangabe zu einer PTP --Bewegung pro-
grammiert, so wird dies vom Interpreter bei der Ausführung abgelehnt.
G PTP--Bahnüberschleifen
Wird eine PATH-TRIGGER --Anweisung, zu einer Bewegung programmiert, deren Start-
punkt ein PTP--Bahn--Überschleifpunkt ist, so kann -- da jetzt der ganze Überschleifbe-
reich noch PTP gefahren wird -- die Schaltaktion frühestens am Ende dieses Über-
schleifbereichs stattfinden.
Bei einem Bahn--PTP--Überschleifbereich werden alle noch aktiven TRIGGER --Anwei-
sung, die bis dahin nicht geschaltet haben, am Anfangspunkt des Überschleifbereichs
ausgelöst. Denn ab hier wird dann PTP gefahren und es ist keine Bahnzuordnung mehr
möglich.
ProgExpPHR4.1.7 12.03.06 de
Im nächsten Beispiel sind sowohl Schaltaktionen mit DISTANCE--Angabe als auch mit
PATH--Angabe programmiert. Die einzelnen Schaltpunkte und die Bewegungsbahn sind in
Abb. 48 dargestellt.
DEF TRIG ( )
;--------- Deklarationsteil ---------
EXT BAS (BAS_COMMAND :IN,REAL :IN)
DECL AXIS HOME
INT I
SIGNAL KLEBER $OUT[3]
;---------- Initialisierung ---------
INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 ) ;Initialisierung von Geschwindigkeiten,
;Beschleunigungen, $BASE, $TOOL, etc.
$APO.CDIS=35 ;Überschleifdistanz festlegen
HOME={AXIS: A1 0,A2 -90,A3 90,A4 0,A5 30,A6 0}
POS0={POS: X 1564,Y -114,Z 713,A 128,B 85,C 22,S 6,T 50}
POS1={X 1383,Y -14,Z 713,A 128,B 85,C 22}
POS2={X 1383,Y 200,Z 713,A 128,B 85,C 22}
POS3={X 1527,Y 200,Z 713,A 128,B 85,C 22}
POS4={X 1527,Y 352,Z 713,A 128,B 85,C 22}
FOR I=1 TO 16
$OUT[I]=FALSE
ENDFOR
;------------- Hauptteil ------------
PTP HOME ;SAK-Fahrt
LIN POS0
TRIGGER WHEN DISTANCE=0 DELAY=40 DO $OUT[1]=TRUE
TRIGGER WHEN PATH=-30 DELAY=0 DO UP1(2) PRIO=-1
LIN POS1
TRIGGER WHEN DISTANCE=1 DELAY=-50 DO KLEBER=TRUE
TRIGGER WHEN PATH=180 DELAY=55 DO PULSE($OUT[4],TRUE,0.9)
TRIGGER WHEN PATH=0 DELAY=40 DO $OUT[6]=TRUE
LIN POS2 C_DIS
TRIGGER WHEN DISTANCE=0 DELAY=40 DO PULSE ($OUT[5],TRUE,1.4 )
TRIGGER WHEN PATH=-20 DELAY=-15 DO $OUT[8]
LIN POS3 C_DIS
TRIGGER WHEN DISTANCE=1 DELAY=-15 DO UP1 (7 ) PRIO= -1
LIN POS4
PTP HOME
END
DEF UP1 (NR :IN )
INT NR
IF $IN[1]==TRUE THEN
$OUT[NR]=TRUE
ENDIF
END
ProgExpPHR4.1.7 12.03.06 de
$OUT[2] 2’E
$OUT[5]
3’B
180
8
$OUT[1] $OUT[8]
20
POS 0 $OUT[4] $OUT[7]
3’
3’E
POS 3
POS 4
ProgExpPHR4.1.7 12.03.06 de
;FOLD PTP P1
TRIGGER WHEN DISTANCE=0 DELAY=0 DO SUB1() PRIO=15
PTP P1
...
;ENDFOLD
...
...
;FOLD PTP P2
TRIGGER WHEN DISTANCE=0 DELAY=--75 DO SUB1() PRIO=15
...
;ENDFOLD
Ist die erste Trigger--Anweisung noch nicht beendet, während der zweite Trigger--Befehl be-
reits schaltet, wird eine Laufzeit--Fehlermeldung ausgegeben. Dies kann beispielsweise ge-
schehen, wenn beide Punkte nahe beieinander liegen.
ProgExpPHR4.1.7 12.03.06 de
10 Datenlisten
10.1 Lokale Datenlisten
Datenlisten dienen dazu, programmspezifische oder auch übergeordnete Vereinbarungen
bereitzustellen. Hierzu gehören auch die Punktinformationen, z.B. Koordinaten:
G Zu jeder SRC--Datei kann eine Datenliste erstellt werden. Diese trägt den selben Na-
men wie die SRC--Datei und endet mit der Erweiterung “.DAT”.
G Die Datenliste ist lokal, obwohl sie eine eigene Datei ist.
G In einer Datenliste dürfen nur Deklarationen und Initialisierungen stehen.
G Es kann in einer Zeile deklariert und initialisiert werden.
G Es werden keine Systemvariablen akzeptiert.
Die Vereinbarung von Datenlisten erfolgt analog zu Vereinbarung von SRC--Dateien: Die De-
DEFDAT klaration wird mit dem Schlüsselwort DEFDAT und dem Programmnamen eingeleitet und
mit dem Schlüsselwort ENDDAT abgeschlossen.
Die Initialisierung von Variablen erfolgt durch eine Wertzuweisung an die betreffende Varia-
ble direkt in der Deklarationszeile.
PROG_1.SRC PROG_1.DAT
DEF PROG_1 ( )
¼ DEFDAT PROG_1
HALT OTTO ist anfangs “0” INT OTTO = 0
¼ ENDDAT
OTTO = 25
¼
HALT
END
DEFDAT PROG_1
Nach Ausführung des INT OTTO = 25
Programms ist OTTO = 25 ENDDAT
ProgExpPHR4.1.7 12.03.06 de
PROG_1.SRC PROG_1.DAT
DEF PROG_1 ( )
¼ DEFDAT PROG_1 PUBLIC
HALT INT OTTO = 0
¼ ENDDAT
OTTO = 25
¼
END
PROG_2.SRC
DEF PROG_2 ( )
IMPORT INT OTTO_2 IS /R1/PROG_1..OTTO
¼
¼
END
ProgExpPHR4.1.7 12.03.06 de
Global G Die Variable wird als “Globale Variable” deklariert z.B. DECL GLOBAL INT OTTO =
0 und ist jedem fremden Hauptprogramm ohne Importbefehl zugänglich.
Wenn eine globale Variable deklariert wurde ist es nicht möglich in einem fremden
Hauptprogramm den Namen der Variable zu ändern.
PROG_1.SRC PROG_1.DAT
DEF PROG_1 ( )
¼ DEFDAT PROG_1 PUBLIC
HALT DECL GLOBAL INT OTTO = 0
¼ ENDDAT
OTTO = 25
¼
END
PROG_2.SRC
DEF PROG_2 ( )
¼
¼
END
Die Deklaration einer globalen Variable ist nur in Datenlisten zulässig, wird sie in SRC--
oder SUB--Files verwendet, erfolgt eine Fehlermeldung.
Weitere Informationen zur $CONFIG.DAT finden Sie im Kapitel [Variablen und Verein-
barungen], Abschnitt [Systemvariablen und Systemdateien].
ProgExpPHR4.1.7 12.03.06 de
ProgExpPHR4.1.7 12.03.06 de
11 Externer Editor
Dieses Zusatzprogramm erweitert die Software des Roboters um Funktionen, die auf der
Bedienoberfläche nicht verfügbar sind.
Programm bereinigen
Nicht referenzierte Bahnpunkte und Bewegungsparameter werden aus der Datenliste
gelöscht.
Setzen und Verschieben von Endschaltern
Blockmanipulationen
-- Block markieren und kopieren, löschen oder ausschneiden.
-- Bahn des Roboters im markierten Bereich umkehren, d.h. der vormals zuerst pro-
grammierte Punkt des markierten Bahnabschnitts wird zuletzt angefahren -- der zu-
letzt programmierte Punkt jedoch zuerst.
-- Bahn des Roboters im markierten Bereich in der X--Z--Ebene des Welt--Koordinaten-
systems spiegeln.
-- Bewegungsparameter (Geschwindigkeit, Beschleunigung etc.) im markierten Be-
reich ändern.
-- Verschieben aller Punkte innerhalb des markierten Bahnabschnittes im Werk-
stück--(BASE)--, Werkzeug--(TOOL)-- oder Welt--(WORLD)--Koordinatensystem. Die
Verschiebung bzw. Verdrehung kann durch die manuelle Eingabe eines Offsets im je-
weiligen Koordinatensystem oder durch Teachen von Referenzpunkten erfolgen.
-- Achsspezifisches Verschieben aller Punkte im markierten Bereich.
Bahnpunkte anpassen
-- an ein anderes Werkzeug--, bzw.
-- an ein anderes Werkstück--Koordinatensystem
Bahnpunkte anpassen
-- während ein Programm auf der Steuerung läuft, können Punktkoordinaten im Tool--,
Base-- und World--Koordinatensystem verschoben werden.
ProgExpPHR4.1.7 12.03.06 de
Der Externe Editor steht erst ab der Benutzergruppe “Experte” zur Verfügung.
Inbetriebn. Vermessen
Justieren DSE--RDW
Dejustieren Lastdatenermittlung
Software--Update Externer Editor Rufen Sie über das Menü “Inbetrieb-
Service Ext. Achsen konfig. nahme” und die dort angebotene Op-
Robotername Langtext tion “Service” den externen Editor auf.
Anschließend wird der externe Editor geöffnet, und die notwendigen Korrekturen können
vorgenommen werden.
Unmittelbar nach dem Start des Editors erscheint der Dialog “Dateien auswählen”.
Wählen Sie hier mit den Cursortasten “¯” und “” die zu editierende Datei aus. Es
stehen alle SRC--Dateien aus dem R1--Verzeichnis zur Verfügung, außer
“R1\MADA\”, “R1\SYSTEM\”. Außerdem können Standarddateien definiert werden
(”C:\KRC\UTIL\HOTEDIT.INI”), die ebenfalls nicht angezeigt werden.
Wird der “Externe Editor” als Offline--Programm gestartet, erfolgt ein automatischer Start
der KRC--Software.
ProgExpPHR4.1.7 12.03.06 de
Haben Sie die gewünschte Datei auf diese Weise markiert, so wird sie nach
Druck auf den entsprechenden Softkey oder der Eingabe--Taste in den Editor
geladen. Die Dauer dieses Ladevorgangs hängt dabei von der Größe der Datei
ab.
Erscheint die Meldung “ *.DAT--Datei nicht gefunden”, so haben Sie versucht, ein Pro-
gramm in den Editor zu laden, zu dem keine Datenliste existiert.
Wurde die Datei erfolgreich geladen, wird Ihnen das Programm ähnlich wie im Editor der Be-
dienoberfläche angezeigt.
In der Statuszeile des Editors wird angezeigt, ob der Aufruf über das Inbetriebnahme--Menü
oder durch “Bearbeiten” --> “Korrigieren” erfolgte.
ProgExpPHR4.1.7 12.03.06 de
11.2 Bedienung
Die Elemente der normalen Bedienoberfläche finden sich auch in der des externen Editors
wieder. So stehen auch hier Menükeys, Statuskeys, Softkeys, ein Programm-- sowie ein
Meldungsfenster und eine Statuszeile zur Verfügung.
Menüs können alternativ geöffnet werden, wenn zuerst die “ALT”--Taste gedrückt und an-
schließend der im Menükey unterstrichene Buchstabe betätigt wird. Der Auswahl eines
Menübefehls funktioniert analog hierzu.
Statuskeys
Mit den Statustasten “Auf”, bzw. “Ab” können Sie die farbige Zeilenmarkierung
(Fokus) zeilenweise in Richtung Listenanfang, bzw. --ende bewegen. Die Cur-
sor--Tasten “"” bzw. “#” sowie die Tasten “PGUP” bzw. “PGDN” erfüllen die
gleiche Funktion.
Fokus
Fokus
Mit den Tasten “PGUp” bzw. “PgDn” können Sie jeweils seitenweise vor-- bzw. zurückblät-
tern. Hierzu müssen Sie die Funktion “NUM” ausschalten oder eine externe Tastatur ver-
wenden.
Betätigen Sie die Statustaste “KRL”, so wird Ihnen das Programm wie im Expertenmo-
dus mit den Einstellungen “Alle FOLDs öffnen” und “Detailansicht (ASCII)” angezeigt.
Im Bereich “FOLD” wird Ihnen der mit dem Fokus markierte Befehl angezeigt (”SRC”--Datei).
Im Bereich “Daten” werden Ihnen die zum markierten Befehl gehörenden Daten angezeigt
(”DAT”--Datei).
ProgExpPHR4.1.7 12.03.06 de
Durch Drücken des Statuskeys “Lupe --” kehren Sie zur Darstellung des gesamten
Programmes zurück.
Softkeyleiste
Dieser Softkey entspricht dem Menübefehl “Datei schließen”, der das ak-
tuelle Programm schließt, den Editor aber weiterlaufen läßt.
Meldungsfenster
Im Meldungsfenster werden die für den Externen Editor relevanten Meldungen ausgegeben.
Nr. Zeit Meldung Ergebnis
003 7:51:36 Laden... OK
002 7:51:32 Datei Öffnen OK
001 7:51:32 ExtEdit Start OK
ProgExpPHR4.1.7 12.03.06 de
11.3.1 Öffnen
11.3.2 Speichern
Möchten Sie die ausgeführten Änderungen übernehmen, so genügt ein Druck auf die Einga-
betaste, um die Vorauswahl zu bestätigen.
Die Inhalte der bereits bestehenden Version der editierten Datei gehen dabei, zumindest
teilweise, unwiderruflich verloren.
Um die Aktion abzubrechen, müssen Sie zuerst eine der Cursor--Tasten drücken, um den
Fokus auf die Schaltfläche “Nein” zu bewegen. Danach kann diese Auswahl durch Druck auf
die Eingabetaste übernommen werden. Die bereits bestehende Version der editierten Datei
bleibt in diesem Fall unverändert bestehen.
11.3.3 Ausgabe
Datei Öffnen Dieser Befehl ermöglicht die Ausgabe
Speichern von Programmen auf dem unter “Op-
Ausgabe Aktuelles Programm
Datei schließen Alle Anwendungen
tionen” --> “Ausgabeeinstellung” ein-
Beenden gestellten Medium.
ProgExpPHR4.1.7 12.03.06 de
KRC:\Palette.SRC
*************************************
INI
1:PTP HOME Vel=100 % DEFAULT
Wurde noch kein Ausgabepfad mittels “Set Verzeichnis” festgelegt, werden Ausgaben der
Medientypen “Drucker” und “Datei” standardmäßig im Verzeichnis “C:\USERPROG” ab-
gelegt.
Die Option “Drucken” steht nicht zur Verfügung, wenn als Ausgabemedium “Editor” einge-
stellt ist.
Die Ausgabe über die Option “alle Anwender” kann in Abhängigkeit der auszugebenden
Dateien einige Zeit in Anspruch nehmen!
11.3.5 Beenden
Wurde die im Editor befindliche Datei seit dem Laden verändert, können Sie zunächst die
Änderungen (wie in Abschnitt 11.3.2 beschrieben) sichern.
Das Fenster des Editors wird geschlossen und die Bedienoberfläche der Robotersoftware
erscheint wieder.
ProgExpPHR4.1.7 12.03.06 de
Wenn Sie einen Bereich markieren wollen, halten Sie die “SHIFT”--Taste ge-
drückt und betätigen eine der beiden Statustasten “Auf” bzw. “Ab” oder die
entsprechende Cursor--Taste.
Markierter Bereich
(Blockmarkierung)
Die Markierung eines Blocks kann mit der “ESC”--Taste wieder ausgeschal-
ESC
tet werden.
11.4.4 Löschen
Der markierte Bahnabschnitt wird ohne Speicherung in der Zwischenablage gelöscht.
Das Löschen eines markierten Bahnabschnittes kann nicht rückgängig gemacht werden.
Haben Sie versehentlich Teile des Programms gelöscht, so schließen Sie bitte die Datei,
ohne die Änderungen zu speichern und öffnen sie anschließend erneut.
ProgExpPHR4.1.7 12.03.06 de
Mit den Cursortasten “” oder “¯” bewegen Sie die Einfügemarke von Einga-
befeld zu Eingabefeld.
11.5.1 Achsspiegeln
+Z
P1
P2’
P2
ROBROOT P3’
--Y
P3
+X
Nach Auswahl der Option wird ein
Dialogfenster eingeblendet, in dem
Sie den Namen der Datei angeben
müssen, in der das geladene Pro-
gramm mit gespiegelten Bahnpunk-
ten gespeichert wird.
Durch Druck auf die Eingabetaste wird der Vorgang gestartet und das Programm
unter dem angegebenen Namen gesichert. Dieses Programm können Sie an-
schließend in den Editor laden.
ProgExpPHR4.1.7 12.03.06 de
Wollen Sie die Aktion abbrechen, so drücken Sie bitte die Taste “ESC”.
ESC
Mit Hilfe dieser Funktion können Sie die Lage der markierten Bahnpunkte im:
-- Werkstück--Koordinatensystem (BASE)
-- Werkzeug--Koordinatensystem (TCP)
-- Welt--Koordinatensystem (WORLD) oder
-- Achsspezifisch (Achsen)
verschieben.
Nach Auswahl einer der möglichen Optionen wird ein Fenster zur Eingabe der gewünschten
Werte eingeblendet. In Abhängigkeit des Koordinatensystems geben Sie entweder die Ver-
schiebung und Verdrehung oder die Achswinkel ein.
BASE
Unter einer Punktverschiebung kartesisch Base versteht man, daß ein beliebiger Punkt im
Raum im Ursprungs--Koordinatensystem (WORLD), das sich im Roboterfuß befindet, relativ
verschoben wird. Anhand des hier dargestellten Beispiels soll die Punktverschiebung karte-
sisch BASE verdeutlicht werden:
Z+
A+
Pneu
Y+
X+
Palt --Xr Xalt
Yalt --Yr
ProgExpPHR4.1.7 12.03.06 de
TCP
Eine Punktverschiebung kartesisch TCP heißt, das ein beliebiger Punkt im Raum in Bezug
auf das TOOL--Koordinatensystem relativ verschoben wird. Anhand des hier dargestellten
Beispiels soll die Punktverschiebung kartesisch TCP erläutert werden:
Pneu
Zalt
--Zr
--Yr Y+
C°r
C°
Palt X+
Yalt
ProgExpPHR4.1.7 12.03.06 de
WORLD
Unter einer Punktverschiebung WORLD versteht man, daß das Ursprungs--Koordinatensy-
stem, welches sich standardmäßig im Roboterfuß befindet, relativ verschoben wird. Anhand
des hier dargestellten Beispiels soll die Punktverschiebung WORLD verdeutlicht werden:
Z+
Z+neu
Y+
Pneu +Xr
X+
X+neu
+Yr A--
Y+neu
ProgExpPHR4.1.7 12.03.06 de
Achsen
Unter einer achsspezifischen Punktverschiebung versteht man, das ein beliebiger Punkt im
Raum durch eine Relativbewegung der Achsen erreicht wird. Anhand des hier dargestellten
Bildes soll eine relative Verschiebung der Achse 5 vorgenommen werden.
Palt
a A5a A5 alt
neu
Pneu
Eingabewerte= relativ
In diesem Beispiel würde eine Werte
positive Relativverdrehung der +A5 [°]
A5 [°] stattfinden.
Eine relative Verdrehung der anderen
Achsen wird außer Acht gelassen!
Die Eingabe der Achsverdrehung erfolgt in Grad oder in Inkrementen für die jeweilige Achse.
Die Eingabefelder können mit Cursor--UP/Down gewechselt werden. Die Verschiebung wird
mit “Befehl OK” gestartet und mit”Abbruch” oder “Esc” jederzeit abgebrochen.
ProgExpPHR4.1.7 12.03.06 de
Mit den Cursortasten “®” oder “¬” bewegen Sie die Einfügemarke von Eingabefeld zu Ein-
gabefeld.
Ändern Haben Sie die gewünschten Änderungen eingegeben, so drücken Sie bitte
den Softkey “Ändern”.
Abbrechen Sie können die Funktion jederzeit durch Betätigen des Softkey “Abbrechen”
verlassen.
ProgExpPHR4.1.7 12.03.06 de
Es werden alle Programme mit zugehörigen Punkten angezeigt, die von der Tool-- bzw. Ba-
seanpassung betroffen sind.
Um die Einfügemarke von Feld zu Feld bewegen zu können, müssen die Cursor--Steuer-
funktionen des Nummernfeldes aktiviert sein. Betätigen Sie dazu kurz die “NUM”--Taste. An-
schließend können Sie mit der “SHIFT”--Taste die Einfügemarke von Feld zu Feld bewegen.
Wählen Sie aus dem Listenfeld im Bereich “Neue TCP Daten” das Werkzeug aus, an wel-
ches das geladene Programm angepaßt werden soll. In den Eingabefeldern “X=”, “Y=”, “Z=”,
“A=”, “B=” und “C=” können die neuen Werkzeugdaten auch manuell eingegeben werden.
Haben Sie die gewünschten Änderungen eingegeben, so drücken Sie bitte den Softkey “Än-
dern”. Sie können die Funktion jederzeit durch Betätigen des Softkey “Ende” verlassen.
ProgExpPHR4.1.7 12.03.06 de
Der Menübefehl “HotEdit” --> “TCP” steht nur zur Verfügung, wenn der Editor über das In-
betriebnahme--Menü gestartet wurde.
Mit den Cursortasten “” oder “¯” bewegen Sie die Einfügemarke von Eingabefeld zu Einga-
befeld.
Haben Sie alle für die Verschiebung erforderlichen Angaben getätigt, so
drücken Sie bitte den Softkey “Ok”.
Wenn Sie die Aktion beenden wollen, ohne eine Programmverschiebung
durchzuführen, drücken Sie den Softkey “Abbrechen”.
Daraufhin wird das Dialogfenster deaktiviert und zwei zusätzliche Softkeys eingeblendet.
ProgExpPHR4.1.7 12.03.06 de
Mit dem Softkey “Abbrechen” können Sie die Eingabe jederzeit beenden,
ohne die Veränderungen abzuspeichern.
Jetzt können Sie die eingegebenen Werte zuweisen, indem Sie den ent-
sprechenden Softkey drücken. Die Datenänderungen werden an dieser
Stelle noch nicht gespeichert, und können daher wieder rückgängig ge-
macht werden.
Haben Sie sich anders entschieden, können Sie die Zuweisung wieder rück-
gängig machen. Hierzu dient der nebenstehende Softkey. Dieser Knopf
steht erst zur Verfügung, nachdem Sie Werte zugewiesen haben. Beson-
ders nützlich ist diese Funktion, wenn ein Programm abläuft und die Wir-
kung der Verschiebung unmittelbar zu verfolgen ist.
Entspricht die Verschiebung den Erfordernissen, können Sie die Änderung
der Punktkoordinaten in die “DAT”--Datei sichern lassen.
Liegt einer der eingegebenen Werte außerhalb der Toleranzen, erscheint im Programm-
verschiebungsfenster ein Hinweis bzw. eine Fehlermeldung, daß der eingegebene Wert
die Toleranzen überschreitet.
ProgExpPHR4.1.7 12.03.06 de
Normalerweise ist die Stoßrichtung die X--Achse des vermessenen Werkzeugs. In Abhän-
gigkeit der Konfiguration kann auch die Z--Achse des Werkzeugs als Stoßrichtung verwen-
det werden.
Bei jeder Punktkorrektur wird in der lokalen Datenliste (*.DAT) nach den erforderlichen Punk-
ten mit kartesische Koordinaten gesucht. Wird einer der erforderlichen Punkte nicht gefun-
den, erfolgt die Ausgabe einer Fehlermeldung.
Die Suche des Punktes welcher die Bahnrichtung vorgibt, erfolgt immer ab der Stelle auf-
wärts, wo sich der zu korrigierende Punkt befindet. Ausgenommen hiervon ist der Endpunkt
einer Schweiß-- oder Klebekontur, da hier jeweils in den nächst niedrigeren Satznummern
gesucht wird.
Folgende Ausnahmen sich zu beachten:
G Ein Wechsel des Basis--Koordinatensystems zwischen zwei Bewegungssätzen wird
ignoriert;
G CIRC--Sätze mit einer Kreiswinkelangabe (CA) werden nicht korrigiert;
G Bei Korrektur eines Hilfspunktes wird die Orientierung des Werkzeugs entsprechend
der des Startpunktes verwendet;
G Die Koordinaten eines Punktes ist eine einfache Datenlisten--Variable oder eine Kom-
ponente davon (Importierte Variablen, auch Maschinendaten--Variablen sind nicht er-
laubt).
ProgExpPHR4.1.7 12.03.06 de
11.6.2.1 Punkt--TTS
Markieren Sie im externen Editor
den gewünschten Bewegungsbe-
fehl und rufen das Kommando
“HotEdit” --> “TTS” auf. Daraufhin
wird im Display nebenstehendes
Fenster geöffnet.
Die Option “TTS” steht nur zur Auswahl, wenn ein Bewegungssatz für Schweißen bzw. Kle-
ben angewählt ist.
Sind mehrere Bewegungsbefehle markiert, bezieht sich die Korrektur immer auf den er-
sten markierten Befehl.
Verwenden Sie die Cursor--Tasten “” bzw. “¯”, um den Fokus an die gewünschte Stelle zu
bringen. Mit den Tasten des Nummernblocks geben Sie die neuen Werte ein.
X--Achse
Die X--Achse im TTS--Koordinatensystem entspricht einem Einheitsvektor entlang der
Bahntangente.
+Z
+Y P2
+X
+Z
+Y
+X
+Y +X
+X
P2
Die X--Achse des Werkzeugkoordinatensystems darf nicht parallel zur Bahntangente ver-
laufen, da das Korrekturkoordinatensystem sonst nicht gebildet werden kann. In diesem
Fall wird eine entsprechende Fehlermeldung ausgegeben.
ProgExpPHR4.1.7 12.03.06 de
Y--Achse
Aus dem Einheitsvektor entlang der Bahntangente (+X) und der X--Achse des Werkzeug-
koordinatensystems (+XTool) wird eine Ebene aufgespannt. Die Y--Achse steht senkrecht auf
dieser Ebene.
+Z
+Y
+X
+XTool P2
Z--Achse
Aus dem Einheitsvektor entlang der Bahntangente (+X) und der Y--Achse (+Y) wird eine
Ebene aufgespannt. Die Z--Achse steht senkrecht auf dieser Ebene.
+Z
+Y
+X
P2
ProgExpPHR4.1.7 12.03.06 de
Punktkorrektur CIRC
Mit diesem Softkey können Sie die Eingabe jederzeit beenden, ohne die
Veränderungen abzuspeichern.
Nach der Eingabe der Änderungen weisen Sie dem Hilfspunkt (HP) die Kor-
rekturen zu.
Mit diesem Softkey wählen Sie den Zielpunkt (ZP) an, nachdem Sie die Än-
derungen in die Eingabefelder eingetragen haben.
Jetzt können Sie die eingegebenen Werte zuweisen, indem Sie den ent-
sprechenden Softkey drücken. Die Datenänderungen werden an dieser
Stelle noch nicht gespeichert, und können daher wieder rückgängig ge-
macht werden.
Haben Sie sich anders entschieden, können Sie die Zuweisung wieder rück-
gängig machen. Hierzu dient der nebenstehende Softkey. Dieser Knopf
steht erst zur Verfügung, nachdem Sie Werte zugewiesen haben.
Entspricht die Verschiebung den Erfordernissen, sicher Sie die Punktkoor-
dinaten.
11.6.3 Toleranzen
Eine Online--Korrektur ist nur bis zu den Maximalwerten erlaubt, die über “Toleranzen--Base/
World” bzw. “Toleranzen--TTS” eingestellt werden können.
Die maximal zulässigen Toleranzen werden über die Datei “C:\KRC\UTIL\HOTEDIT.INI” fest-
gelegt. Wird ein größerer Wert eingegeben, erfolgt die Ausgabe einer Fehlermeldung.
Für die TTS--Korrektur sind Grenzwerte, welche größer als 5mm sind, nicht sinnvoll.
Verwenden Sie die Cursor--Tasten “” bzw. “¯”, um den Fokus an die gewünschte Stelle zu
bringen. Mit den Tasten des Nummernblocks geben Sie die neue Toleranz ein.
Die eingegebenen Werte werden nicht übernommen.
11.6.3.1 Toleranzen--Base/World
Betätigen Sie diesen Softkey um die Werte abzuspeichern und das Fenster
zu schließen.
ProgExpPHR4.1.7 12.03.06 de
11.6.3.2 Toleranzen--TTS
Hier können Sie die Grenzwerte der TTS--
Korrektur festlegen. Diese Grenzwerte wer-
den bei der Punktkorrektur automatisch
überwacht.
Dieses Menü steht nur zur Verfügung, solange kein Programm in den externen Editor gela-
den wurde.
11.7.1 Datei--Achsspiegeln
Im Gegensatz zu der Funktion “Achsspiegeln”, mit der markierte Bahnpunkte ausgewählter
Bewegungssätze gespiegelt werden können, ermöglicht das “Datei--Achsspiegeln” das
Spiegeln von kompletten Bewegungsprogrammen.
Nach dem Start der Funktion geben Sie zunächst die Quelldatei an, die gespiegelt werden
soll.
ProgExpPHR4.1.7 12.03.06 de
Wählen Sie mit den Cursor--Tasten “"” bzw. “#” eine Datei zum Achsspiegeln aus.
Mit dem Softkey “Abbruch” können Sie diese Funktion jederzeit verlassen.
Haben Sie die gewünschte Datei markiert, betätigen Sie den Softkey “Pfeil
rechts”.
Geben Sie für die gespiegelte Datei eine Bezeichnung aus maximal 8 Zeichen ein.
Mit diesem Softkey gelangen Sie zurück zur letzten Seite, auf der Sie eine
andere Quelldatei auswählen können.
Haben Sie den gewünschten Dateinamen eingegeben, betätigen Sie diesen
Softkey.
ProgExpPHR4.1.7 12.03.06 de
Jetzt haben Sie die Möglichkeit, einen Kommentar einzugeben, welche im Navigator ange-
zeigt wird.
Mit diesem Softkey gelangen Sie zurück zur letzten Seite, auf der Sie den
Dateinamen der zu erstellenden (gespiegelten) Datei eingeben können.
Haben Sie den gewünschten Kommentar eingegeben, betätigen Sie diesen
Softkey. Im Anschluß daran wird das entsprechende Programm erstellt.
11.7.2 Datei--Verschieben
Mit dieser Funktion können Sie die Lage der markierten Bahnpunkte unter Zuhilfenahme ei-
nes Vektors verschieben (2 Punkt), bzw. verschieben und gleichzeitig das zu Grunde lie-
gende Koordinatensystem verdrehen (6 Punkt).
2--Punkt--Verschieben
Für die Funktionalität 2--Punkt--Verschieben muß eine Referenzdatei (beliebiger Name; .src,
.dat) geteacht werden. In dieser Referenzdatei werden zwei Punkte abgelegt. Diese Punkte
definieren den Verschiebevektor (X, Y, C), um den die markierten Punkte verschoben wer-
den.
6--Punkt--Verschieben
Die Funktionalität 6--Punkt--Verschieben arbeitet nach dem gleichen Prinzip. In der zugehöri-
gen Referenzdatei müssen insgesamt sechs Punkte geteacht werden. Die ersten drei
Punkte definieren das Quell--Base, die letzten drei Punkte ein Ziel--Base. Es müssen für
Quelle und Ziel jeweils die identischen Punkte aufgenommen werden. Mit diesen Werten
werden die Bases berechnet. Die Verschiebung und Verdrehung zwischen dem Quell-- und
Ziel--Base bestimmt den Wert, um den die markierten Punkte geshiftet werden.
Der Vektor muß bereits vor dem Aufruf der Funktion in einer Datei gespeichert worden
sein.
Außerdem müssen die zu verschiebenden Bewegungssätze markiert sein.
ProgExpPHR4.1.7 12.03.06 de
Nach Anwahl der Option 2--Punkt-- bzw. 6--Punkt--Verschiebung benötigt das Programm die
Angabe der entsprechenden Referenzdatei.
Mit dem Softkey “Abbruch” können Sie diese Funktion jederzeit verlassen.
Wählen Sie zunächst die Referenzdatei mit Hilfe der Cursor--Tasten aus und
betätigen anschließend den Softkey “Pfeil rechts”.
ProgExpPHR4.1.7 12.03.06 de
ProgExpPHR4.1.7 12.03.06 de
Betätigen Sie erneut den Softkey “Pfeil rechts”. Anschließend werden die
ausgewählten Punkte in der Datei verschoben. Der Verlauf wird durch eine
Fortschrittsanzeige über dem Meldungsfenster angezeigt.
Mit diesem Softkey gelangen Sie zurück zur vorherigen Seite.
Im Meldungsfenster wird das Ergebnis der Aktion angezeigt.
Nr. Zeit Meldung Ergebnis
004 13:30:53 2 Punkt Verschieben Position XP1 zu XP4 verschoben
003 13:30:40 2 Punkt Verschieben OK
002 13:30:37 Datei Öffnen OK
001 13:30:37 ExtEdit Start OK
Wählen Sie nach dem Teachen das Programm ab, und starten erneut den externen Editor.
Verfahren Sie weiter, wie im Abschnitt 11.7.2.1 beschrieben.
ProgExpPHR4.1.7 12.03.06 de
Die Achspositionen werden so lange im Hintergrund überwacht, wie die Funktion “Setzen
der Software--Endschalter” aktiv ist.
Die jeweils aufgetretenen Minimal-- bzw. Maximalwerte sowie die aktuellen Achspositionen
der Achsen A1 ... A6 werden in den entsprechenden Feldern eingetragen.
Mit einer Checkbox können die Achsen, für welche die Endschalter gesetzt
werden sollen, gekennzeichnet werden. Benutzen Sie zur Auswahl der ge-
wünschten Achsen die Cursor--Tasten. Die Leertaste ermöglicht das Ein-- bzw.
Ausschalten der jeweiligen Achse. Ein gesetztes Häkchen bedeutet, daß für
diese Achse der Software--Endschalter gesetzt werden kann.
Mit “Reset” können die Softwareendschalter auf ihre ursprünglichen Werte zu-
rückgesetzt werden.
Durch Druck auf den Softkey “Set” werden die Software--Endschalter der ange-
wählten Achsen neu gesetzt. Diese Aktion kann jederzeit, auch zu einem späte-
ren Zeitpunkt, durch Druck auf den Softkey “Reset” wieder rückgängig gemacht
werden.
ProgExpPHR4.1.7 12.03.06 de
11.8.1 Ausgabeeinstellung
Über dieses Menü kann das gewünschte Ausgabemedium festgelegt werden, welches bei
“Ausgabe” --> “aktuelles Programm” bzw. “Drucken” --> “Anwendungen” Verwendung findet.
Solange kein Ausgabemedium eingestellt ist, erfolgt die Ausgabe als Textdatei im unter
“Set Verzeichnis” eingestellten Pfad. Ist noch kein Ausgabepfad definiert, wird der Stan-
dardpfad “C:\USERPROG” verwendet.
Drucker
Ist auf dem Betriebssystem ein Drucker konfiguriert, wird dieser zur Ausgabe verwendet. Ist
kein Drucker eingerichtet worden, erfolgt dagegen die Ausgabe einer entsprechenden Mel-
dung im Meldungsfenster.
Nr. Zeit Meldung Ergebnis
005 16:54:58 Ausgabe an Drucker OK: C:\USERPROG\Beispiel.txt
004 16:54:49 Auswahl: an Drucker OK
003 16:54:44 Laden... OK
002 16:54:42 Datei Öffnen OK
Editor
Das ausgewählte Programm wird zur Bearbeitung in den vom Betriebssystem bereitgestell-
ten Editor “WordPad” geladen.
ProgExpPHR4.1.7 12.03.06 de
Datei
Bei Ausgabe des aktuellen Programms über “Drucken” wird dieses Programm als Textdatei
unter dem mit “Set Verzeichnis” festgelegten Pfad bzw. Dateinamen abgelegt.
Werden alle Anwenderprogramme mittels “Drucken” ausgegeben, wird in dem mit “Set Ver-
zeichnis” festgelegten Ordner das Unterverzeichnis “USERPROG” erzeugt und die Pro-
gramme als Textdateien dort abgespeichert.
Mit einem Texteditor kann jedes der abgespeicherten Programme eingesehen bzw. verän-
dert werden.
Set Verzeichnis
Diese Option ist nur notwendig, wenn Programme als Datei auf die Festplatte abgelegt wer-
den sollen. Im Dialogfenster kann das Zielverzeichnis sowie der Dateiname der zu drucken-
den Datei angegeben werden. Bei der Ausgabe alle Anwenderprogramme über “Datei” wird
gegebenenfalls das Unterverzeichnis “USERPROG” erzeugt und die Textdateien dort abge-
legt.
ProgExpPHR4.1.7 12.03.06 de
11.9.1 Version
Im Meldungsfenster wird Ihnen die Versionsnummer des externen Editors ausgegeben.
Nr. Zeit Meldung Ergebnis
003 17:16:31 Version 5.0.26
002 17:16:27 Datei Öffnen OK
001 17:16:27 ExtEdit Start OK Versionsnummer
NOTIZEN:
ProgExpPHR4.1.7 12.03.06 de
ProgExpPHR4.1.7 12.03.06 de
Index -- i
Index
Index -- ii
Index
Index -- iii
Index
Index -- iv
Index
T Warteanweisungen, 126
TAN(X), 52 WEAV_DEF.SRC, 9
TCP, 65 Weltkoordinatensystem, 63
TCP--Anpassung, 197 Werkzeug, feststehendes, 65
Teachen von Punkten, 104 Werkzeugkoordinatensystem, 63
Timer, 54 Werkzeugwechsel, 103
Tool Center Point, 66
Wertzuweisung, 29
Touch Up, 109
WHILE, 122
Translationen, 62
TRIGGER, 169 Wurzel, 52
Trigger, 169
TTS, 200 Z
Turn, 70, 73
Zählschleife, 120
U Zeichenketten, 38
Überkopfbereich, 74 Zweidimensionales Feld, 36
Überschleif Bahn -- PTP, 100 Zyklische Flags, 55
Überschleif PTP -- Bahn, 99
Überschleifbeginn, 93
Überschleifbewegungen, 89
Überschleifen, 89
Überschleifkontur, 89
UND--Verknüpfung, 49
Unterprogramme, 9, 149
UNTIL, 123
USER_GRP.DAT, 9
USER_GRP.SRC, 9
USERSPOT.SRC, 9
V
VAR, 108
variabel + bahnbezogen, 79
variabel + raumbezogen, 82
Variablen und Namen, 29
Variablen und Vereinbarungen, 29
Vereinbarung, 10
Vereinbarungsteil, 9
Vergleichsoperatoren, 47
Verstecken von Programmteilen, 19
vordefinierte Strukturen, 40
Vorlauf, 86
Vorlaufstop, 87, 131
Vorwärtstransformation, 60
W
WAIT, 126
Index -- v
SOFTWARE
KR C...
Zusatzfunktionen
1 von 14
e Copyright KUKA Roboter GmbH
Diese Dokumentation darf -- auch auszugsweise -- nur mit ausdrücklicher Genehmigung des Herausgebers vervielfältigt oder Dritten
zugänglich gemacht werden.
Es können weitere, in dieser Dokumentation nicht beschriebene Funktionen in der Steuerung lauffähig sein. Es besteht jedoch kein Anspruch
auf diese Funktionen bei Neulieferung bzw. im Servicefall.
Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard-- und Software geprüft. Dennoch können
Abweichungen nicht ausgeschlossen werden, so daß wir für die vollständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in
dieser Druckschrift werden jedoch regelmäßig überprüft, und notwendige Korrekturen sind in den nachfolgenden Auflagen enthalten.
Technische Änderungen ohne Beeinflussung der Funktion vorbehalten.
KUKA Interleaf
ZusatzPHR4.1.7 12.03.06 de
2 von 14
Inhaltsverzeichnis
1 Standardprogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1 COR_T1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1 Vorbereitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.2 1. Schritt: Teachmodus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.3 2. Schritt: Korrekturmodus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.4 Verwendete Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.5 Fehlermeldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 CorrTool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 Vorbereitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.2 Werkzeugkorrektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.3 Verwendete Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.4 Fehlermeldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
ZusatzPHR4.1.7 12.03.06 de
3 von 14
Zusatzfunktionen
ZusatzPHR4.1.7 12.03.06 de
4 von 14
1 Standardprogramme
1 Standardprogramme
Im Lieferumfang der Robotersteuerung befinden sich einige Hilfsprogramme, die dem An-
wender in bestimmten Situationen dienlich sind. Diese Hilfsprogramme befinden sich stan-
dardmäßig im Verzeichnis “C:\KRC\Roboter\KRC\R1\TP\”.
ZusatzPHR4.1.7 12.03.06 de
5 von 14
Zusatzfunktionen
1.1 COR_T1
Mit diesem Programm kann nach einem Crash der TCP überprüft und gegebenenfalls korri-
giert werden. Das Werkzeug braucht dann nicht neu vermessen zu werden. Dazu sind aller-
dings einige Voraussetzungen nötig.
1.1.1 Vorbereitung
Die folgenden Schritte müssen erfolgt sein, bevor eine Werkzeugkorrektur durchgeführt
werden kann. Nach einer Kollision ist dies nicht mehr möglich, da der Bezugspunkt fehlt.
Referenzpunkt
Zunächst wird ein fester Referenzpunkt im Raum benötigt. Dies kann beispielsweise eine
an der Wand befestigte Meßspitze sein. Dieser Referenzpunkt darf nicht entfernt oder be-
wegt werden (eine auf den Tisch gestellte Meßspitze ist also nicht ausreichend)!
Vermessen
Anschließend vermessen Sie das Werkzeug (z.B. einen Brenner) mit einem der Vermes-
sungsprogramme (z.B. der XYZ--4--Punkt Methode). Achten Sie darauf, daß sich das Werk-
zeug möglichst weit von der Meßspitze entfernt befindet und diese nur noch in einem, leicht
zu merkenden, Punkt berührt. In genau dieser Orientierung wird der Referenzpunkt bei Aus-
führung des Programms wieder angefahren. Steht das Werkzeug nun ungünstig zur Meß-
spitze, kann das Werkzeug mit der Meßspitze kollidieren und beide damit beschädigen.
Während das Werkzeug noch im letzten Vermessungspunkt steht, rufen Sie über die Varia-
blenkorrektur die Variable “REF_PT[x]” auf. Geben Sie als neuen Wert “$POS_ACT” ein.
Damit werden die Koordinaten der aktuellen Position als Referenzpunkt verwendet.
;******************************************
; Variables Tool Correction
;******************************************
BOOL FLAG=FALSE
INT MAX_CRASH=5
ZusatzPHR4.1.7 12.03.06 de
6 von 14
1 Standardprogramme (Fortsetzung)
Die beiden “PTP !”--Zeilen dienen in erster Linie dazu, daß der Roboter von seiner Home--
Position zum Referenzpunkt und wieder zurück einer definierten Bahn folgt.
Achten Sie auf Hindernisse, die sich im Weg befinden! Falls notwendig, müssen mehrere
PTP--Punkte geteacht werden.
Fahren Sie den Referenzpunkt langsam an, damit Sie den Roboter rechtzeitig stop-
pen können, um Beschädigungen am Werkzeug oder der Meßspitze zu vermeiden.
ZusatzPHR4.1.7 12.03.06 de
7 von 14
Zusatzfunktionen
1.1.5 Fehlermeldungen
Die folgenden Meldungen können im Zusammenhang mit “Cor_T1” auftreten:
ZusatzPHR4.1.7 12.03.06 de
8 von 14
1 Standardprogramme (Fortsetzung)
1.2 CorrTool
Dieses Programm ist im wesentlichen eine neue Version von “COR_T1”. Der Vorteil ist, daß
keinerlei Änderungen in der Programmdatei vorgenommen werden müssen. Mit diesem Pro-
gramm kann nach einem Crash der TCP überprüft und gegebenenfalls korrigiert werden.
Das Werkzeug braucht dann nicht neu vermessen zu werden.
1.2.1 Vorbereitung
Die folgenden Schritte müssen erfolgt sein, bevor eine Werkzeugkorrektur durchgeführt
werden kann. Nach einer Kollision ist dies nicht mehr möglich, da der Bezugspunkt fehlt.
Referenzpunkt
Zunächst wird ein fester Referenzpunkt im Raum benötigt. Dies kann beispielsweise eine
an der Wand befestigte Meßspitze sein. Dieser Referenzpunkt darf nicht entfernt oder be-
wegt werden (eine auf den Tisch gestellte Meßspitze ist also nicht ausreichend)!
Vermessen
Anschließend vermessen Sie das Werkzeug (z.B. einen Brenner) mit einem der Vermes-
sungsprogramme (z.B. der XYZ--4--Punkt Methode). Achten Sie darauf, daß sich das Werk-
zeug möglichst weit von der Meßspitze entfernt befindet und diese nur noch in einem, leicht
zu merkenden, Punkt berührt. In genau dieser Orientierung wird der Referenzpunkt bei Aus-
führung des Programms wieder angefahren. Steht das Werkzeug nun ungünstig zur Meß-
spitze, kann das Werkzeug mit der Meßspitze kollidieren und beide damit beschädigen.
Während das Werkzeug noch im letzten Vermessungspunkt steht, rufen Sie über die Varia-
blenkorrektur die Variable “REF_PT[x]” auf. Geben Sie als neuen Wert “$POS_ACT” ein.
Damit werden die Koordinaten der aktuellen Position als Referenzpunkt verwendet.
;******************************************
; Variables Tool Correction
;******************************************
BOOL FLAG=FALSE
INT MAX_CRASH=5
ZusatzPHR4.1.7 12.03.06 de
9 von 14
Zusatzfunktionen
1.2.2 Werkzeugkorrektur
Programm anwählen
Schalten Sie die Betriebsart auf “T1” und Verfahren den Roboter in die Nähe des Referenz-
punktes.
Laden Sie das Programm “CorrTool”, in dem Sie die Option “Anwählen” --> “mit Parametern”
ausführen. Diese Funktion ist nur über die Menüleiste erreichbar.
Als Parameter geben Sie die Nummer des verwendeten Werkzeugs ein. Mit der Eingabe--Ta-
ste übergeben Sie die Werkzeugnummer an die Steuerung. Anschließend wird das Pro-
gramm geladen und im Programmfenster angezeigt.
Hilfspunkte teachen
Zwischen der Home--Position und dem Referenzpunkt müssen wenigstens 2 Punkte ge-
teacht werden. Bewegen Sie den Editier--Cursor auf den ersten PTP--Befehl und drücken
den Softkey “Satzanwahl”. Verfahren Sie den Roboter, am besten aus der Home--Position,
in die Nähe des Referenzpunktes. Dort machen Sie einen Touchup. Verfahren Sie mit dem
nächsten Punkte in gleicher Weise. Damit wird im nächsten Schritt sichergestellt, daß der
Roboter bei der Programmausführung nicht unerwartet gegen ein Hindernis fährt. Anschlie-
ßend setzen Sie das Programm mit dem Befehl “Bearbeiten” --> “Programm zurücksetzen”
zurück.
ZusatzPHR4.1.7 12.03.06 de
10 von 14
1 Standardprogramme (Fortsetzung)
Die “PTP”--Befehle dienen in erster Linie dazu, daß der Roboter von seiner Home--Position
zum Referenzpunkt und wieder zurück einer definierten Bahn folgt.
Achten Sie auf Hindernisse, die sich im Weg befinden! Falls notwendig, müssen weitere
PTP--Punkte geteacht werden.
Programm anstarten
Starten Sie das Programm mit der Programmstart--vorwärts--Taste bis Satzkoinzidenz er-
reicht ist. Lassen Sie anschließend die Start--Taste los und drücken Sie sie erneut. Sobald
der zuletzt vermessene Referenzpunkt erreicht wird, erfolgt ein Stop.
Quittieren Sie die Meldung im Meldungsfenster, da der Roboter sonst nicht verfahren werden
kann. Jetzt verfahren Sie den Roboter über die Verfahrtasten oder Space--Mouse, bis das
Werkzeug die Meßspitze gerade berührt.
Fahren Sie den Referenzpunkt langsam an, damit Sie den Roboter rechtzeitig stop-
pen können, um Beschädigungen am Werkzeug oder der Meßspitze zu vermeiden.
Bringen Sie das Werkzeug nach Möglichkeit in die gleiche Orientierung, die es im letzten
Punkt der Werkzeugvermessung hatte. Ansonsten besteht eventuell Kollisionsgefahr zwi-
schen Werkzeug und Meßspitze.
Nachdem Sie das Werkzeug soweit verfahren haben, daß es die Meßspitze berührt, setzen
Sie das Programm durch einen Druck auf die Programmstart--vorwärts--Taste fort. Jetzt gibt
es drei Möglichkeiten:
In diesem Fall ist die Abweichung zum früher vermessenen Referenzpunkt kleiner als
1/10mm. Eine Korrektur ist somit nicht notwendig.
Die Abweichung zum früheren Referenzpunkt sind kleiner als in der Variablen
“MAX_CRASH” definiert. Die Werkzeugkorrektur wurde automatisch durchgeführt.
ZusatzPHR4.1.7 12.03.06 de
11 von 14
Zusatzfunktionen
Im letzten Fall ist die Abweichung größer, als es Wert der Variablen “MAX_CRASH” zuläßt.
Eine Korrektur ist nicht möglich, das Werkzeug muß somit neu vermessen werden.
Quittieren Sie die Stop--Meldung im Meldungsfenster. Mit Abwählen des Programms ist die
eigentliche Werkzeugkorrektur abgeschlossen.
Falls notwendig, muß das Werkzeug neu vermessen werden. Vergessen Sie in diesem Fall
nicht, daß Sie wie unter “Vorbereitung” beschrieben, dem Referenzpunkt “REF_PT[x]” die
aktuelle Position “$POS_ACT” zuweisen.
1.2.4 Fehlermeldungen
Die folgenden Meldungen können im Zusammenhang mit “CorrTool” auftreten:
ZusatzPHR4.1.7 12.03.06 de
12 von 14
1 Standardprogramme (Fortsetzung)
NOTIZEN:
ZusatzPHR4.1.7 12.03.06 de
13 von 14
Zusatzfunktionen
ZusatzPHR4.1.7 12.03.06 de
14 von 14
Index
A U
A10.DAT, 5 USER_GRP.DAT, 5
A10.SRC, 5 USER_GRP.SRC, 5
A10_INI.DAT, 5
USERSPOT.SRC, 5
A10_INI.SRC, 5
A20.DAT, 5
A20.SRC, 5 W
A50.DAT, 5 WEAV_DEF.SRC, 5
A50.SRC, 5
Werkzeugkorrektur, 6
ARCSPS.SUB, 5
C
CELL.DAT, 5
CELL.SRC, 5
COR_T1, 6
COR_TOOL_NO, 8
F
FLT_SERV.DAT, 5
FLT_SERV.SRC, 5
H
H50.SRC, 5
H70.SRC, 5
M
MAX_CRASH, 8
MSG_DEMO.SRC, 5
N
NEW_SERV.SRC, 5
P
P00.DAT, 5
P00.SRC, 5
PERCEPT.SRC, 5
R
REF_PT[x], 8
Referenzpunkt, 6
S
Standardprogramme, 5
STOP_BY_REF, 8
Index -- i
SOFTWARE
KR C...
Applikationen
1 von 6
e Copyright KUKA Roboter GmbH
Diese Dokumentation darf -- auch auszugsweise -- nur mit ausdrücklicher Genehmigung des Herausgebers vervielfältigt oder Dritten
zugänglich gemacht werden.
Es können weitere, in dieser Dokumentation nicht beschriebene Funktionen in der Steuerung lauffähig sein. Es besteht jedoch kein Anspruch
auf diese Funktionen bei Neulieferung bzw. im Servicefall.
Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard-- und Software geprüft. Dennoch können
Abweichungen nicht ausgeschlossen werden, so daß wir für die vollständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in
dieser Druckschrift werden jedoch regelmäßig überprüft, und notwendige Korrekturen sind in den nachfolgenden Auflagen enthalten.
Technische Änderungen ohne Beeinflussung der Funktion vorbehalten.
KUKA Interleaf
ApplikationenPHR4.1.7 12.03.06 de
2 von 6
Inhaltsverzeichnis
1 Applikationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ApplikationenPHR4.1.7 12.03.06 de
3 von 6
Applikationen
ApplikationenPHR4.1.7 12.03.06 de
4 von 6
1 Applikationen
1 Applikationen
ApplikationenPHR4.1.7 12.03.06 de
5 von 6
Applikationen
ApplikationenPHR4.1.7 12.03.06 de
6 von 6
SOFTWARE
KR C...
Systemvariablen
KUKA Interleaf
1 Benutzungshinweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 A ............................................................... 7
3 B ............................................................... 29
4 C ............................................................... 34
5 D ............................................................... 41
6 E ................................................................ 53
7 F ................................................................ 63
8 G ............................................................... 66
9 H ............................................................... 68
10 I ................................................................ 70
11 J ................................................................ 77
12 K ............................................................... 78
13 L ................................................................ 81
14 M ............................................................... 85
15 N ............................................................... 92
16 O ............................................................... 95
17 P ................................................................ 100
18 R ............................................................... 115
19 S ................................................................ 124
20 T ................................................................ 139
21 U ............................................................... 158
22 V ................................................................ 159
23 W ............................................................... 166
24 Z ................................................................ 170
1 Benutzungshinweise
Diese tabellarische Zusammenfassung der Systemvariablen dient als Hilfsmittel für die Pro-
grammierer, die über gute Kenntnisse der Funktionalität des KUKA--Robotersystems und
der KR C...-- Steuerung verfügen und mit der Programmierung gut vertraut sind.
Viele Variablenwerte sind vom Hersteller voreingestellt (Vorgabewerte) und sollten nicht
ohne zwingenden Grund geändert werden. Sollten dennoch Änderungen notwendig sein, so
sind diese entweder über die Variablenkorrektur oder durch Editieren der Dateien möglich.
Ändern Sie Variablenwerte nur, wenn Ihnen Funktion und Wirkungsweise der
Systemvariablen hinreichend bekannt ist!
Für Schäden jeder Art, die durch unsachgemäße oder nicht bestimmungs-
gemäße Änderungen von Variablenwerten verursacht werden, übernimmt
der Hersteller keine Haftung und Gewährleistung!
Allen Tabellen ist jeweils eine Überschrift mit Namen und Funktion der Systemvariablen
vorangestellt, z. B.:
Datentyp min.
Wert
Einheit max.
In Datei
Originalzeile
Bemerkung
Optionen Auswirkung
Tabelleneinträge:
Originalzeile Quelltext
;Kommentar
Bemerkung Funktionsbeschreibung
Eine Gruppe von Systemvariablen wird am Anfang mit gerahmtem Namensfeld dargestellt:
Tritt eine Änderung ein, so wird der entsprechende Tabellenteil unter der Überschriftzeile
dargestellt. Diese Änderung ist dann für alle folgenden Variablen der Gruppe maßgeblich.
2 A
$A4PAR Achse 4 parallel zur letzten rotatorischen Grundachse schalten
Optionen Auswirkung
0 Nicht geschaltet
1 Geschaltet
Optionen Auswirkung
TRUE eingeschaltet
FALSE ausgeschaltet
Optionen Auswirkung
TRUE
FALSE
Optionen Auswirkung
TRUE Stoppreaktion ist eingeschaltet
FALSE Stoppreaktion ist ausgeschaltet
Optionen Auswirkung
#NONE Nicht aktiviert
#STEP1 Dynamikmodell ohne kinetische Energie *)
#STEP2 Dynamikmodell mit kinetischer Energie *)
$ANA_DEL_FLT Analog--Ausgangsfilter
Optionen Auswirkung
#ON Eingeschaltet
#OFF Ausgeschaltet
$ANIN[n] Analogeingänge
$ANOUT[n] Analogausgänge
$ASYNC_AX1_M
Verfahreingang für asynchrone Zusatzachsen E1 -- E6
... negativer Ausrichtung
$ASYNC_AX6_M
$ASYNC_AX1_P
Verfahreingang für asynchrone Zusatzachsen E1 -- E6
... positiver Ausrichtung
$ASYNC_AX6_P
Optionen Auswirkung
Bit = 1 entsprechende Zusatzachse ist asynchron geschaltet
Bit = 0 entsprechende Zusatzachse ist synchron geschaltet
Optionen Auswirkung
TRUE Asynchrone Achsen sind möglich
FALSE Asynchrone Achsen sind nicht möglich
Optionen Auswirkung
Asynchrone Bewegungen aktiv, angehalten oder zwischengespei-
#BUSY
chert.
Keine asynchronen Bewegungen aktiv bzw. angehalten (Queue leer),
#IDLE
letzte Bewegung ohne Unterbrechung beendet.
Keine asynchrone Bewegung aktiv oder angehalten (Queue leer),
#CANCELLED
letzte Bewegung wurde abgebrochen.
#PEND Asynchrone Bewegung ist geplant, wird aber gerade nicht ausgeführt.
Optionen Auswirkung
0 aktiviert
1 deaktiviert
Optionen Auswirkung
#ROBOT Roboterachsen A1--A6
#EXTAX Zusatzachsen E1 -- E6
#EXTAX2 Externe Kinematik
$AXIS_ACT.A1
... Aktuelle achsspezifische Roboterposition, Achse 1 -- 6
$AXIS_ACT.A6
$AXIS_ACT.E1
... Aktuelle achsspezifische Roboterposition, Zusatzachse 1 -- 6
$AXIS_ACT.E6
$AXIS_BACK.A1
Startposition des aktuellen Bewegungssatzes
... Achse A1 -- A6
$AXIS_BACK.A6
$AXIS_BACK.E1
Startposition des aktuellen Bewegungssatzes
... Zusatzachse E1 -- E6
$AXIS_BACK.E6
$AXIS_CAL.A1
... Anzeige, ob Achse A1 ... A6 referenziert ist
$AXIS_CAL.A6
Optionen Auswirkung
TRUE Achse ist referenziert
FALSE Achse ist nicht referenziert
$AXIS_CAL.E1
... Anzeige, ob Zusatzachse E1 ... E6 referenziert ist
$AXIS_CAL.E6
Optionen Auswirkung
1 Mathematisch positiv
--1 Mathematisch negativ
$AXIS_FOR.A1
... Zielposition des aktuellen Bewegungssatzes, Achse A1 ... A6
$AXIS_FOR.A6
$AXIS_FOR.E1
... Zielposition des aktuellen Bewegungssatzes, Zusatzachse E1 ... E6
$AXIS_FOR.E6
$AXIS_INC.I1
... Inkrementeller Istwert Achse A1 ... A6
$AXIS_INC.I6
$AXIS_INC.E1
... Inkrementeller Istwert Zusatzachse E1 ... E6
$AXIS_INC.E6
$AXIS_INT.A1
Roboterposition zum Zeitpunkt eines Interrupts
... Achse A1 ... A6
$AXIS_INT.A6
$AXIS_INT.E1
Roboterposition zum Zeitpunkt eines Interrupts
... Zusatzachse E1 ... E6
$AXIS_INT.E6
$AXIS_JUS.A1
... Anzeige, ob Achse A1 ... A6 justiert ist
$AXIS_JUS.A6
Optionen Auswirkung
TRUE Achse justiert
FALSE Achse nicht justiert
$AXIS_JUS.E1
... Anzeige, ob Zusatzachse E1 ... E6 justiert ist
$AXIS_JUS.E6
$AXIS_RET.A1
... Stellung Achse A1 ... A6 bei Verlassen der programmierten Bahn
$AXIS_RET.A6
$AXIS_RET.E1
Stellung Zusatzachse E1 ... E6 bei Verlassen der programmierten
... Bahn
$AXIS_RET.E6
$AXIS_TYPE[n] Achsenkennung
Optionen Auswirkung
1 Linear
2 Spindel
3 Rotatorisch
4 Endlich drehend
5 Endlos drehend
Optionen Auswirkung
#OFF Überwachung des Arbeitsraumes ausgeschaltet.
Ausgang wird gesetzt, wenn sich der TCP innerhalb des Arbeitsrau-
#INSIDE
mes befindet.
Ausgang wird gesetzt, wenn sich der TCP außerhalb des Arbeitsrau-
#OUTSIDE
mes befindet.
Befindet sich der TCP innerhalb des Arbeitsraumes, wird der Aus-
#INSIDE_STOP
gang gesetzt und der Roboter gestoppt.
Befindet sich der TCP außerhalb des Arbeitsraumes, wird der Aus-
#OUTSIDE_STOP
gang gesetzt und der Roboter gestoppt.
Optionen Auswirkung
TRUE Der achsspezifische Arbeitsraum ist verletzt
FALSE Der achsspezifische Arbeitsraum ist nicht verletzt
$AXWORKSTATE1
... Signalvereinbarung “Arbeitsraumverletzung”
$AXWORKSTATE8
Optionen Auswirkung
$OUT[n] Ausgang Nr. 1 ... 4096
Nicht benötigte Ausgänge können auf “FALSE” rangiert werden,
FALSE
z. B. SIGNAL $AXWORKSTATE1 FALSE
3 B
Optionen Auswirkung
0 Bremse geschlossen.
1 Bremse offen.
$BRK_MODE Bremsensteuerungsmodus
4 C
$CABLE2_MON Überwachung zusätzlicher Motorkabel
Optionen Auswirkung
TRUE Überwachung aktiviert.
FALSE Überwachung deaktiviert.
$CALP.A1
Referenzpunktverschiebung zwischen mathematischem Nullpunkt
... und Geber--Nullpunkt, Achse A1 ... A6
$CALP.A6
$CALP.E1
Referenzpunktverschiebung zwischen mathematischem Nullpunkt
... und Geber--Nullpunkt, Zusatzachse E1 ... E6
$CALP.E6
Optionen Auswirkung
#BASE Raumbezogene Orientierungsführung.
#PATH Bahnbezogene Orientierungsführung.
Optionen Auswirkung
#BASE Raumbezogene Orientierungsführung
#PATH Bahnbezogene Orientierungsführung
Optionen Auswirkung
#AX Bewegungen beziehen sich auf achsbezogenes Koordinatensystem.
#CAR Bewegungen beziehen sich auf kartesisches Koordinatensystem.
$COUP_COMP[N,D] Achskopplungsfaktoren
Optionen Auswirkung
#Constant Keine Reduzierung
#VAR_T1 Reduzierung im Handbetrieb SStep(T1)
#VAR_ALL Reduzierung in allen Betriebsarten
Optionen Auswirkung
0 Meldungsausgabe deaktiviert.
1 Ausgabe einer Meldung beim Satzwechsel im Handbetrieb.
100 Ausgabe einer Meldung beim Satzwechsel in allen Betriebsarten.
Optionen Auswirkung
1 Hohe Leistung
2 Mittlere / geringe Leistung
4 Geringe Leistung
5 D
Eine Variable vom Typ “Signal” wird entweder bit-- oder gruppen-
$DATA_INTEGRITY weise ausgegeben
Optionen Auswirkung
TRUE Daten werden als eine Gruppe von Bits ausgegeben
FALSE Daten werden bitweise ausgegeben
Optionen Auswirkung
TRUE 5--Achsroboter (Achse 4 fixiert)
FALSE 6--Achsroboter
$DEVICE Bediengerätezustand
Optionen Auswirkung
#ACTIVE
#BLOCK
#PASSIVE
#OFF
$DIGIN1
Signalvereinbarung, welcher Eingang dem Digitaleingang
... “$DIGIN1 ... 6” zugewiesen wird
$DIGIN6
$DIGIN1CODE
Festlegung, ob der Wert für “$DIGIN1 ... 6” mit oder ohne Vorzei-
... chen ist
$DIGIN6CODE
Optionen Auswirkung
#SIGNED Mit Vorzeichen.
#UNSIGNED Ohne Vorzeichen.
Optionen Auswirkung
Bit (n)= 0 Referenzpunkt der Achse n wird in positiver Richtung angefahren.
Bit (n)= 1 Referenzpunkt der Achse n wird in negativer Richtung angefahren.
Optionen Auswirkung
#FORWARD Vorwärtsbearbeitung
#BACKWARD Rückwärtsbearbeitung
Optionen Auswirkung
TRUE PTP--Punkte können kartesische Koordinaten haben
FALSE PTP--Punkte können keine kartesischen Koordinaten haben
Optionen Auswirkung
TRUE Kartesisches Fahren des Roboters möglich
FALSE Kartesisches Fahren des Roboters nicht möglich
6 E
$EMSTOP_ADAP Modellbasierter NOT--AUS
Optionen Auswirkung
TRUE Modellbasierter NOT--AUS aktiviert.
FALSE Modellbasierter NOT--AUS nicht aktiviert (alte Funktionalität).
Optionen Auswirkung
#ON Bahntreuer NOT--AUS für entsprechende Betriebsart ein.
#OFF Bahntreuer NOT--AUS für entsprechende Betriebsart aus.
Optionen Auswirkung
#ON Bahntreuer NOT--AUS für Betriebsart “AUT” ein
#OFF Bahntreuer NOT--AUS für Betriebsart “AUT” aus
Optionen Auswirkung
#ON Bahntreuer NOT--AUS für Betriebsart “EX” ein
#OFF Bahntreuer NOT--AUS für Betriebsart “EX” aus
Optionen Auswirkung
#ON Bahntreuer NOT--AUS für Betriebsart “T1” ein
#OFF Bahntreuer NOT--AUS für Betriebsart “T1” aus
Optionen Auswirkung
#ON Bahntreuer NOT--AUS für Betriebsart “T2” ein
#OFF Bahntreuer NOT--AUS für Betriebsart “T2” aus
Optionen Auswirkung
#FIRST_CAL Erstjustage
#TOOL_TEACH Werkzeuggewicht lernen
#CHECK_CAL Prüffahrt
#RECALC_CAL Justage restaurieren
Optionen Auswirkung
TRUE Endlos drehende Achsen möglich.
FALSE Endlos drehende Achsen nicht möglich.
Optionen Auswirkung
TRUE Energieüberwachung aktiviert
FALSE Energieüberwachung deaktiviert
$ET1_AX
... Zuordnung externer Achsen zur Zusatzachskinematik ET1 ... ET6
$ET6_AX
Optionen Auswirkung
#NONE
#E1 -- #E6
$ET1_NAME
... Name der Zusatzachskinematik ET1 ... ET6
$ET6_NAME
$ET1_TA1KR
Verschiebung zwischen Achse 1 und dem Fußpunkt
... der Zusatzachskinematik ET1 ... ET6
$ET6_TA1KR
$ET1_TA2A1
Verschiebung zwischen Achse 2 und Achse 1
... der Zusatzachskinematik ET1 ... ET6
$ET6_TA2A1
$ET1_TA3A2
Verschiebung zwischen Achse 3 und Achse 2
... der Zusatzachskinematik ET1 ... ET6
$ET6_TA3A2
$ET1_TFLA3
Verschiebung zwischen Flansch und Achse 3
... der Zusatzachskinematik ET1 ... ET6
$ET6_TFLA3
$ET1_TPINFL
Verschiebung zwischen Meßpunkt und Flansch
... der Zusatzachskinematik ET1 ... ET6
$ET6_TPINFL
Optionen Auswirkung
Bit = 1 Achse asynchron, Bit 0 Zusatzachse E1 bis Bit 5 Zusatzachse E6
Optionen Auswirkung
1 Betriebsart EXTERN
0 Andere Betriebsart
Optionen Auswirkung
TRUE Zusatzachsen vorhanden.
FALSE Zusatzachsen nicht vorhanden.
Optionen Auswirkung
TRUE Automatikbetrieb möglich
FALSE Automatikbetrieb nicht möglich
7 F
$FFC_TORQ Momentenvorsteuerung
Optionen Auswirkung
TRUE Momentenvorsteuerung aktiviert.
FALSE Momentenvorsteuerung nicht aktiviert.
$FFC_VEL Geschwindigkeitsvorsteuerung
Optionen Auswirkung
0 Aus, LSB: Achse 1, MSB: Achse 12
1 Ein
Optionen Auswirkung
TRUE
FALSE
8 G
$G_COE_CUR[n] Proportionalverstärkung des Stromreglers
Optionen Auswirkung
Aktiviert, mit den in $robcor.dat in den Daten $DYN_DAT[231] ...
TRUE $DYN_DAT[236] definierten Grenzen in % der maximalen
Beschleunigungsmomente.
FALSE Steuerung AUS
9 H
$H_POS Home--Position des Roboters
Optionen Auswirkung
/R1 Robotersystem 1
/R2 Robotersystem 2
Optionen Auswirkung
FALSE Kein Ausgang wird gesetzt.
1 ... 4096 Entsprechender Ausgang wird gesetzt.
10 I
$I_O_ACT Signalvereinbarung “E/A--Schnittstellen aktiv”
Optionen Auswirkung
TRUE Lastdatenermittlung möglich.
FALSE Lastdatenermittlung nicht möglich.
Optionen Auswirkung
#I_END Lastdatenermittlung beendet.
#I_READY Bereit für Lastdatenermittlung.
#I_TEST Testlauf wird durchgeführt.
#I_MEAS Messung wird durchgeführt.
#I_MEAS_OK Messung war fehlerfrei.
#I_CALC Berechnung wird durchgeführt.
$IN[n] Eingänge
$IN_HOME1
... Signalvereinbarung “Home--Position1 ... 5”
$IN_HOME5
$INPOSITION Bitfeld für “Achse in Position” aller Achsen A1 ... A6, E1 ... E6
Optionen Auswirkung
Bit=0 Achse in Bewegung.
Bit=1 Achse im Positionierfenster.
Optionen Auswirkung
0 Submit--Interpreter
1 Roboter--Interpreter
Optionen Auswirkung
TRUE E/A--Simulation eingeschaltet.
FALSE E/A--Simulation ausgeschaltet.
Optionen Auswirkung
#BASE
#TCP
Optionen Auswirkung
#BASE
#TCP
11 J
$JUS_TOOL_NO Nummer des aktuellen Werkzeugs bei EMT--Justage
12 K
$KCP_CONNECT Anzeige, ob KCP an der Steuerung angeschlossen ist
Optionen Auswirkung
TRUE KCP ist angeschlossen.
FALSE KCP ist nicht angeschlossen.
$KEYMOVE.T1
... Status für Plus--/Minustaste 1 ... 6 (von oben am KCP)
$KEYMOVE.T6
$KINCLASS Kinematik--Klassen
Optionen Auswirkung
#STANDARD
#SPECIAL
#TEST
#NONE
13 L
$L_EMT_MAX[n] Maximale Weglänge bei EMT--Justage
Optionen Auswirkung
TRUE Satzanwahl ist erfolgt.
FALSE Satzanwahl ist nicht erfolgt.
Optionen Auswirkung
TRUE Editieren mit Satzanwahl.
FALSE Editieren ohne Satzanwahl.
Optionen Auswirkung
TRUE Simulationstaste wurde nicht betätigt.
FALSE Simulationstaste wurde betätigt.
14 M
$MAIN_AXIS Grundachsen--Kennung
Optionen Auswirkung
#SS Portal--Roboter
#CC SCARA--Roboter
#NR Gelenk--Roboter
Optionen Auswirkung
#MM Handverfahren
#MC Handreferieren
#MI Schrittmaßfahren
Optionen Auswirkung
#T1 Test 1
#T2 Test 2
#AUT Automatik
#EX Automatik extern
$MODEL_NAME Robotertyp
Optionen Auswirkung
TRUE Space--Mouse aktiv.
FALSE Space--Mouse nicht aktiv.
Optionen Auswirkung
TRUE Space--Mouse im Modus “Dominante Koordinate aktiv”.
FALSE Space--Mouse im Modus ”Alle Koordinaten aktiv”.
Optionen Auswirkung
TRUE Space--Mouse Bewegungen “rotatorisch” eingeschaltet.
FALSE Space--Mouse Bewegungen “rotatorisch” ausgeschaltet.
Optionen Auswirkung
TRUE Space--Mouse Bewegungen “translatorisch” eingeschaltet
FALSE Space--Mouse Bewegungen “translatorisch” ausgeschaltet
Optionen Auswirkung
TRUE Aktuelle Bewegung ist SAK--Fahrt.
FALSE Keine SAK--Fahrt.
Optionen Auswirkung
#VALUE
#WORDS
#KEY
Optionen Auswirkung
#NOTIFY Hinweismeldung
#STATE Zustandsmeldung
#QUIT Quittierungsmeldung
#DIALOG Dialoganfrage
15 N
$NEAR_POSRET Roboter innerhalb einer Kugel um “$POS_RET” (Toleranzfenster)
$NULLFRAME Nullframe
Optionen Auswirkung
TRUE Num--Lock--Taste ein.
FALSE Num--Lock--Taste aus.
16 O
Signalvereinbarung “Bahnkontrolle”--
$ON_PATH Roboter befindet sich auf der programmierten Bahn.
Optionen Auswirkung
#NONE Höheres Fahrprofil deaktiviert.
#STEP1 Höheres Fahrprofil ohne Energieplanung aktiviert.
#STEP2 Höheres Fahrprofil mit Energieplanung aktiviert.
Optionen Auswirkung
Variable Orientierung mit möglicher Reduzierung von Geschwindigkeit
#VAR
und Beschleunigung.
#CONSTANT Konstante Orientierung.
Variable Orientierung ohne Reduzierung von Geschwindigkeit und
#JOINT
Beschleunigung.
Optionen Auswirkung
Variable Orientierung mit möglicher Reduzierung von Geschwindigkeit
#VAR
und Beschleunigung
#CONSTANT Konstante Orientierung
Variable Orientierung ohne Reduzierung von Geschwindigkeit und
#JOINT
Beschleunigung
$OUT[n] Ausgänge
$OUT_C[n] Ausgänge
$OV_JOG Einricht--Override
$OV_PRO Programm--Override
$OV_ROB Roboter--Override
17 P
Optionen Auswirkung
TRUE Palettiermodus ein.
FALSE Palettiermodus aus.
Optionen Auswirkung
0 Display dunkel.
15 Display hell.
Optionen Auswirkung
0 Weniger Kontrast, dunkel.
15 Mehr Kontrast, hell.
Optionen Auswirkung
TRUE Spannungsausfall
FALSE Kein Spannungsausfall
$POWERMODUL1
... Informationen zum Powermodul 1 ... 4 für Diagnosezwecke
$POWERMODUL4
$POWERMODUL1.BUSVOLTAGE
... Zwischenkreisspannung, Powermodul 1
$POWERMODUL4.BUSVOLTAGE
$POWERMODUL1.CURRCAL
... Stromkalibrierung, Powermodul 1
$POWERMODUL4.CURRCAL
$POWERMODUL1.CURRERROR
... Stromfehler, Powermodul 1
$POWERMODUL4.CURRERROR
$POWERMODUL1.PMERROR
... Register für Fehlermeldungen, Powermodul 1
$POWERMODUL4.PMERROR
$POWERMODUL1.PMSTATE
... Status Powermodul 1
$POWERMODUL4.PMSTATE
Optionen Auswirkung
0 Herunterfahren der Steuerung trotz externer Spannungsversorgung.
1...30000 Wartezeit in Sekunden, bevor das System heruntergefahren wird.
HINWEIS
Bei den Steuerungen des Typs KR C3A, KR C3E und COBRA darf die Variable
$POWEROFF_DELAYTIME auf max. 180s eingestellt werden. Ansonsten ist mit Da-
tenverlust zu rechnen.
Optionen Auswirkung
TRUE Prozeß aktiv.
FALSE Prozeß nicht aktiv.
Optionen Auswirkung
TRUE KRL--Anweisung ausgeführt.
FALSE KRL--Anweisung nicht ausgeführt.
Optionen Auswirkung
Inkremental Step: Satzweise Bearbeitung mit Stopp nach jeder
#ISTEP
Anweisung (ohne Vorlaufbearbeitung).
Programm Step: Komplette Bearbeitung von Unterprogrammen
#PSTEP
(ohne Vorlaufbearbeitung).
Motion Step: Schrittweise Bearbeitung mit Stopp nach jedem
#MSTEP
Bewegungssatz (ohne Vorlaufbearbeitung).
Continuous Step: Schrittweise Bearbeitung mit Stopp nach jedem
#CSTEP Bewegungssatz mit Genauhalt
(mit Vorlaufbearbeitung).
#GO Durchgehende Bearbeitung bis zum Programmende
Back Step: Durchgehende, rückwärts bis zum Programmstart
#BSTEP
gerichtete Bearbeitung.
Optionen Auswirkung
#ISTEP
#PSTEP
#MSTEP
#CSTEP
#GO
#BSTEP
Optionen Auswirkung
#ISTEP
#PSTEP
#MSTEP
#CSTEP
#GO
#BSTEP
Optionen Auswirkung
TRUE Programmbearbeitung
FALSE Kommandobearbeitung
Optionen Auswirkung
#P_FREE Programm nicht angewählt
#P_RESET Programm zurückgesetzt
#P_ACTIVE Programm aktiv
#P_STOP Programm gestoppt
#P_END Programmende erreicht
$PROG_TORQ_MON Soll--Momentenüberwachung
Optionen Auswirkung
TRUE Soll--Momentenüberwachung aktiviert.
FALSE Soll--Momentenüberwachung deaktiviert.
18 R
$RAISE_T_MOT[n] Motor--Hochlaufzeit ohne Achsbelastung, Achsen 1 ... 12
Optionen Auswirkung
TRUE DSE wird neu initialisiert.
Optionen Auswirkung
Die Bahngeschwindigkeit wird um den in $RED_T1 eingestellten Prozent-
TRUE
wert erniedrigt.
Die Bahngeschwindigkeit wird bis auf den in $VEL_CP_T1 eingestellten
FALSE
Wert erniedrigt.
$ROB_TIMER Taktgeber
$ROBRUNTIME Betriebszeitzähler
$ROBTRAFO Robotername
Optionen Auswirkung
#AS_TRA
#TCP
#BASE
Optionen Auswirkung
#AS_TRA
#TCP
#BASE
19 S
Optionen Auswirkung
Kein Zustimmtaster gedrückt (Grundstellung) oder ein Taster durchge-
#RELEASED
drückt (Panikstellung).
#PRESSED Ein oder mehrere Zustimmtaster gedrückt (Zustimmstellung).
Optionen Auswirkung
LSB Achse 1
MSB Achse 12
$SERVOFILE
... Servoparameter 1 ... 12 für DSE beim Hochlauf der Steuerung
$SERVOFILE12
Optionen Auswirkung
1 Standardmäßig 1024 Ein--/Ausgänge
2 2048 Ein--/Ausgänge
4 4096 Ein--/Ausgänge
Optionen Auswirkung
TRUE Simulation aktiv.
FALSE Simulation nicht aktiv.
Optionen Auswirkung
0 Der Winkel der Achse 1 wird auf “0” Grad festgelegt.
1 Der Winkel der Achse 1 bleibt vom Start-- bis zum Zielpunkt gleich.
Optionen Auswirkung
0 Der Winkel der Achse 2 wird auf “0” Grad festgelegt.
1 Der Winkel der Achse 2 bleibt vom Start-- bis zum Zielpunkt gleich.
Optionen Auswirkung
0 Der Winkel der Achse 4 wird auf “0” Grad festgelegt.
1 Der Winkel der Achse 4 bleibt vom Start-- bis zum Zielpunkt gleich.
Optionen Auswirkung
0 Keine Strategie.
Approximationsstrategie: Durchfahren der Singularität durch
1
Orientierungsänderungen.
Optionen Auswirkung
TRUE Keine, da Anwendervariable.
FALSE Keine, da Anwendervariable.
Optionen Auswirkung
TRUE Keine, da Anwendervariable.
FALSE Keine, da Anwendervariable.
Optionen Auswirkung
TRUE Keine, da Anwendervariable.
FALSE Keine, da Anwendervariable.
$SPINDLE Spindeln
Optionen Auswirkung
0 Nein
1 Ja
Optionen Auswirkung
TRUE Stopp--Meldung; der zugeordnete Ausgang wird auf TRUE gesetzt.
Keine Stopp--Meldung; der zugeordnete Ausgang wird auf FALSE
FALSE
gesetzt.
Optionen Auswirkung
T1--/T2--Betrieb: Quittierungsmeldung “Überschleifen nicht möglich”.
TRUE Roboter stoppt.
AUT--/EXT--Betrieb: Hinweismeldung “Überschleifen nicht möglich”
T1--/T2--Betrieb: Hinweismeldung “Überschleifen nicht möglich”.
FALSE
AUT--/EXT--Betrieb: Keine Meldung
$STROBE1
... Meßwertabfrage Strobe Digitaleingang 1 ... 6
$STROBE6
$STROBE1LEV
... Strobe--Impuls Digitaleingang 1 ... 6 High oder Low
$STROBE6LEV
Optionen Auswirkung
TRUE Strobe ist ein High--Impuls.
FALSE Strobe ist ein Low--Impuls.
Optionen Auswirkung
0 Profile nur zeitsynchron.
1 Profile zeit-- und phasensynchron.
20 T
$T1 Signalvereinbarung “Betriebsart TEST 1” -- “T 1”
Optionen Auswirkung
TRUE Warnung aktiviert.
FALSE Warnung deaktiviert.
Optionen Auswirkung
Override bei Umschalten nach “T2” auf 10% reduzieren und “T1”--Over-
TRUE
ride speichern.
Override bei Umschalten nach “T2” nicht reduzieren. “T1”--Override nicht
FALSE
speichern.
Optionen Auswirkung
#SOURCE Status wird vom Startpunkt übernommen.
Berechnen aller acht Status--Kombinationen; Auswahl derjenigen, bei
#BEST
der die Bewegung Start -- Zielpunkt im Achsraum am kürzesten ist.
Optionen Auswirkung
TRUE “TCP--bezogene Interpolation” ein.
FALSE “TCP--bezogene Interpolation” aus.
Optionen Auswirkung
Das Signal wird nicht gefiltert, wodurch die programmierte Amplitude exakt
TRUE
und ohne Phasenverschiebung erreicht wird.
Das Signal wird wie bisher über einen Filter ausgegeben, wobei das Ana-
FALSE log--Signal nicht ganz die programmierte Amplitude erreicht und außerdem
von der Geschwindigkeit sowie dem Override abhängig ist.
Optionen Auswirkung
TRUE Funktionsgenerator ein.
FALSE Funktionsgenerator aus.
$TIME_POS[n] Achs--Positionierzeit
$TIMER[n] Timer
Optionen Auswirkung
TRUE Wert für Timer n ist größer Null.
FALSE Wert für Timer n ist gleich Null.
Optionen Auswirkung
TRUE Timer ist gestoppt.
FALSE Timer wird gestartet.
Optionen Auswirkung
#START Start TRACE
Optionen Auswirkung
#T_WAIT
#TRIGGERED
#T_END
$TRANSSYS Translations--Bezugssystem
Optionen Auswirkung
#WORLD
#BASE
#ROBROOT
#TCP
Optionen Auswirkung
TRUE Drehjustage aktiv.
FALSE Drehjustage nicht aktiv.
21 U
$USER_SAF Signalvereinbarung “Schutzgitterabfrage”
22 V
$VEL_FILT[n] Tacho--Filter
Optionen Auswirkung
Berechnung der Geschwindigkeit aus gefilterten Sollwerten.
TRUE
Die Geschwindigkeitswerte müssen nicht mehr gefiltert werden.
Berechnung der Geschwindigkeit aus ungefilterten Sollwerten.
FALSE
Die Geschwindigkeitswerte müssen gefiltert werden.
23 W
$WAIT_FOR[470] Warten des Interpreters an einer WAIT--FOR--Anweisung
Optionen Auswirkung
TRUE Interpreter wartet.
FALSE Interpreter wartet nicht.
Optionen Auswirkung
TRUE Arbeitraumüberwachung eingeschaltet.
FALSE Arbeitraumüberwachung ausgeschaltet.
Optionen Auswirkung
#OFF Überwachung des Arbeitsraumes ausgeschaltet.
Ausgang wird gesetzt, wenn sich der TCP innerhalb des Arbeits-
#INSIDE
raumes befindet.
Ausgang wird gesetzt, wenn sich der TCP außerhalb des Arbeits-
#OUTSIDE
raumes befindet.
Befindet sich der TCP innerhalb des Arbeitsraumes, wird der Aus-
#INSIDE_STOP
gang gesetzt und der Roboter gestoppt.
Befindet sich der TCP außerhalb des Arbeitsraumes, wird der
#OUTSIDE_STOP
Ausgang gesetzt und der Roboter gestoppt.
Optionenx Auswirkung
TRUE Der Arbeitsraum ist verletzt.
FALSE Der Arbeitsraum ist nicht verletzt.
$WORKSTATE1
... Signalvereinbarung “Arbeitsraumverletzung”
$WORKSTATE8
Optionen Auswirkung
$OUT[n] Ausgang Nr. 1 ... 4096
Nicht benötigte Ausgänge können auf “FALSE” rangiert werden,
FALSE
z. B. SIGNAL $WORKSTATE1 FALSE
$WRIST_AXIS Handachsenkennung
Optionen Auswirkung
#NOH Keine Hand
#ZEH Zentralhand
#SRH Schräghand
#DSH Doppelschräghand
#WIH Winkelhand
#WSH Winkelschräghand
24 Z
$ZERO_MOVE Ausführung eines Bewegungsnullsatzes
Optionen Auswirkung
TRUE Bewegungsnullsatz wird ausgeführt.
FALSE Bewegungsnullsatz wird nicht ausgeführt.
Optionen Auswirkung
TRUE Asynchrone Zusatzachsen freigegeben.
FALSE Asynchrone Zusatzachsen nicht freigegeben.
Index -- i
Index
Index -- ii
Index
Index -- iii
Index
Notstop, 14 Q
Nullframe, 92 Quittierungsmeldungen löschen, 36
Nummer des betätigten Softkeys, 90
R
O Reduzierung der Beschleunigung, 118
Online--Änderung von Servoparametern, 127 Reduzierung der CP--Bahngeschwindigkeit, 38
Optionsbit für den Funktionsgenerator, 143 Reduzierungsfaktor bei T1--Betrieb, 119
Orientierung, 57 Reduzierungsfaktor der Geschwindigkeit beim
Referenzieren (Referenzpunktnocken), 118
Orientierungsfehler, 128
Reduzierungsfaktor für axiale Beschleunigung,
Orientierungsführung bei CIRC--Sätzen, 35
117
Orientierungsprüfung, 96
Reduzierungsfaktor für axiale Geschwindigkeit
Override, 98 bei achsspezifischem Handverfahren und Kom-
Override für asynchrone Zusatzachsen, 97 mandobetrieb (PTP), 120
Override im Handbetrieb, 45 Reduzierungsfaktor für Bahn-- und Orientie-
rungsbeschleunigungen, 117
Reduzierungsfaktor für bahntreue NOT--AUS--
P Rampe, 118
Reduzierungsfaktor für Beschleunigung, 117
Palettieren, 42
Reduzierungsfaktor für Programm im Vorlauf,
Palettiermodus aktivieren, 100
119
Parameter für Trace--Funktion, 153 Reduzierungsfaktor für Übernahmefahrt, 119
Parametrierung des Funktionsgenerators, 144 Referenzpunktverschiebung, 34
Plus/Minustaste, 78 Referier--Reihenfolge der Achsen, 126
Position bei Auslösung des Interrupts, 105 Referier--Richtung, 47
Position beim Verlassen der Bahn, kartesisch, Referier--Status, 121
106
Register für Fehlermeldungen, 107
Powermodul, 101, 107 Relativsätze, 123
Prellzeit für EMT--Signale, 30 Richtung der Starttaste, 48
Programm bearbeitet Interrupt, 75 Roboter in Home--Position, 73
Programm--Override, 98 Roboter--Interpreter, 75
Programmablaufart, 110 Roboter--Override, 98
Programmbearbeitung, 112 Roboterhand, 157
Programmierung EE Potentiometer DSE, 114 Robotername, 123
Programmstatus, 108 Roboterposition, 20
Proportionalverstärkung des Drehzahlreglers, Roboterposition zum Zeitpunkt eines Interrupts,
66 23
Proportionalverstärkung des Lagereglers, 82 Roboterposition, kartesisch, 102
Proportionalverstärkung des Stromreglers, 66 Robotertyp, 86
Prozeßlaufart des Roboterinterpreters, 111 Rotationsbezugssystem bei Relativsätzen, 123
Prozeßlaufart des Submitinterpreters, 111 Rückfahrgeschwindigkeit Touch--Sensor, 153
Prozeßname, 112 Rückzugsbeschleunigung für Touch--Sensor,
152
Prozeßname des Roboterinterpreters, 112
Prozeßname des Submitinterpreters, 112
Prozeßzeiger auf aktuellen KRL--Prozeß, 109 S
Prozeßzustand, 113 SAK, 88
PTP--Punkte mit kartesischen Koordinaten, 50 Satzanwahl, 82
Index -- iv
Index
Index -- v
Index
Verfahrart im Handbetrieb, 86
Verletzung des achsspez. Arbeitsraumes, 27
Verletzung des Arbeitsraumes, 167
Verschiebung, 57
Verschiebung der Roboterhand, 157
Verschiebung zwischen Flanschpunkt und
Handpunkt--Koordinatensystem, 145
Verschiebung zwischen mechanischem und
mathematischem Nullpunkt, 85
Version des Grundsystems, 116
W
WAIT--FOR--Anweisung, 166
Warten Interpreter, 166
Weg bis zum nächsten Genauhalt, 49
Weg während der Signallaufzeit im EMT, 124
Weglänge bei EMT--Justage, 81
Weiche Rampe, 64
Welt--Koordinatensystem, 29, 122
Welt--Koordinatensystem relativ zum Initial--Ko-
ordinatensystem, 168
Werkzeug--Koordinatensystem relativ zum
Flansch--Koordinatensystem, 148, 149
Z
Zeitkonstante Symmetrierfilter, 141
Zielposition Bewegungssatz, kartesisch, 104
Zielposition des aktuellen Bewegungssatzes,
22
Zulässiger Nennstrom, 40
Zuordnung der Achsen, 51
Zuordnung externe Achsen zur Zusatzachsen-
kinematik, 57
Zuordnung Handverfahrtasten, 78
Zusatzachsen, 16, 97
Zusatzachsen asynchron schalten, 59
Zusatzachsenkinematik, 57
Zusatzlast auf Achse 3, 45
Zustand der Num--Lock--Taste, 94
Zustimmschalter, 124
Zwischenkreisspannung, Powermodul, 107
Zyklische Flags, 40
Index -- vi
SOFTWARE
KR C...
Anhang
1 von 25
e Copyright KUKA Roboter GmbH
Diese Dokumentation darf -- auch auszugsweise -- nur mit ausdrücklicher Genehmigung des Herausgebers vervielfältigt oder Dritten
zugänglich gemacht werden.
Es können weitere, in dieser Dokumentation nicht beschriebene Funktionen in der Steuerung lauffähig sein. Es besteht jedoch kein Anspruch
auf diese Funktionen bei Neulieferung bzw. im Servicefall.
Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard-- und Software geprüft. Dennoch können
Abweichungen nicht ausgeschlossen werden, so daß wir für die vollständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in
dieser Druckschrift werden jedoch regelmäßig überprüft, und notwendige Korrekturen sind in den nachfolgenden Auflagen enthalten.
Technische Änderungen ohne Beeinflussung der Funktion vorbehalten.
KUKA Interleaf
AnhangPHR4.1.7 12.03.07 de
2 von 25
Inhaltsverzeichnis
3 Gesamtindex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
AnhangPHR4.1.7 12.03.07 de
3 von 25
Anhang
2.1 Einleitung
Globales Kapitel
2.2 Sicherheit
Globales Kapitel
2.5 Konfiguration
System konfigurieren
Automatik Extern
Bewegungsprogrammierung
G Verbessertes Überschleifen
KRL--Assistent
AnhangPHR4.1.7 12.03.07 de
4 von 25
2 Historie Programmierhandbuch von V4.1.6 --> V4.1.7 (Fortsetzung)
Programmablaufkontrolle
Ein--/Ausgabeanweisungen
Interrupt--Behandlung
Datenlisten
Externer Editor
G Anpassung an aktuelle Version
2.8 Zusatzfunktionen
Standardprogramme
2.9 Applikationen
2.10 Anhang
Glossar --> Siehe Bedienhandbuch
Historie
G Die Datei, welche Sie gerade lesen...
Gesamt--Index
G Neu generiert
AnhangPHR4.1.7 12.03.07 de
5 von 25
Anhang
3 Gesamtindex
Zeichen
.ERR: Prog. Experte 12
!: Prog. Experte 108
!--Zeichen: Prog. Experte 104
?: Prog. Experte 109
:: Prog. Experte 110
# -- Zeichen: Prog. Experte 41
#BASE: Prog. Experte 65, 79
#CONSTANT: Prog. Experte 78
#INITMOV: Prog. Experte 78, 79
#INSIDE: Konfiguration 63, 77
#INSIDE_STOP: Konfiguration 63, 77
#OUTSIDE: Konfiguration 63, 77
#OUTSIDE_STOP: Konfiguration 64, 77
#PATH: Prog. Experte 79
#PGNO_ACKN: Konfiguration 103
#PGNO_FAULT: Konfiguration 104
#PGNO_GET: Konfiguration 103
#STEP1: Konfiguration 94
#TCP: Prog. Experte 65
#VAR: Prog. Experte 78
$ -- Zeichen: Prog. Experte 55
$_I_O_ACTCONF: Konfiguration 100
$ACC.CP: Prog. Experte 77
$ACC.ORI1: Prog. Experte 77
$ACC.ORI2: Prog. Experte 77
$ACC_AXIS: Prog. Experte 66
$ADAP_ACC: Konfiguration 94
$ADVANCE: Prog. Experte 86
$ALARM_STOP: Prog. Experte 55, 56
$APO.CDIS: Prog. Experte 93, 96
$APO.CORI: Prog. Experte 93, 96
$APO.CPTP: Prog. Experte 90
$APO.CVEL: Prog. Experte 93, 96
$APO_DIS_PTP: Prog. Experte 90
$BASE: Prog. Experte 63, 70
$CIRC_TYPE: Prog. Experte 79, 82
$CONFIG.DAT: Konfiguration 123; Prog. Experte 8, 57
$CURR_LIM: Konfiguration 92
AnhangPHR4.1.7 12.03.07 de
6 von 25
3 Gesamtindex (Fortsetzung)
$CURR_MAX: Konfiguration 92
$CURR_RED[x,x]: Konfiguration 90, 91, 92
$CUSTOM.DAT: Konfiguration 94; Prog. Experte 56
$CYCFLAG: Prog. Experte 55
$EXT_START: Konfiguration 100, 117
$EXT_START$IN[ ]: Konfiguration 124
$FLAG: Prog. Experte 54
$I_O_ACTCONF: Konfiguration 100
$I_O_ACTCONF $OUT[ ]: Konfiguration 124
$IBUS_ON: Prog. Experte 56
$IN[x]: Konfiguration 58
$INSIM_TBL[x]: Konfiguration 58
$IOBLK_EXT: Konfiguration 58
$IOSIM_IN[ ]: Konfiguration 58
$IOSIM_OPT: Konfiguration 58
$IOSIM_OUT[ ]: Konfiguration 58
$IPO_MODE: Prog. Experte 65
$MACHINE.DAT: Konfiguration 124; Prog. Experte 56
$MASCHINE.DAT: Prog. Experte 8
$NEARPATHTOL: Konfiguration 113
$NULLFRAME: Prog. Experte 70
$NUM_AX: Prog. Experte 56
$ORI_TYPE: Prog. Experte 78, 82
$OUT[x]: Konfiguration 58
$OUT_C: Prog. Experte 137
$OUT_NODRIVE: Konfiguration 58
$OUTSIM_TBL[x]: Konfiguration 58
$POS_ACT: Prog. Experte 64, 65
$POS_RET: Konfiguration 109, 113
$PRO_I_O[]: Konfiguration 100
$PRO_MODE: Prog. Experte 22
$PSER: Prog. Experte 56
$RED_T1: Konfiguration 90
$ROBCOR.DAT: Konfiguration 94; Prog. Experte 8, 57
$ROBROOT: Prog. Experte 63, 70
$SET_IO_SIZE: Prog. Experte 137
$STOPMESS $OUT[ ]: Konfiguration 124
$TIMER: Prog. Experte 54
$TIMER_FLAG: Prog. Experte 54
$TIMER_STOP: Prog. Experte 54
$TOOL: Konfiguration 64; Prog. Experte 63, 70
$TORQ_DIFF: Konfiguration 95
AnhangPHR4.1.7 12.03.07 de
7 von 25
Anhang
Zahlen
2--dimens.: Prog. Experte 36
3--dimens.: Prog. Experte 37
5 Home--Positionen: Konfiguration 59
A
A10.DAT: Prog. Experte 8; Zusatzfunktionen 5
A10.SRC: Prog. Experte 8; Zusatzfunktionen 5
A10_INI.DAT: Prog. Experte 8; Zusatzfunktionen 5
A10_INI.SRC: Prog. Experte 8; Zusatzfunktionen 5
A20.DAT: Prog. Experte 8; Zusatzfunktionen 5
A20.SRC: Prog. Experte 8; Zusatzfunktionen 5
A50.DAT: Prog. Experte 8; Zusatzfunktionen 5
A50.SRC: Prog. Experte 8; Zusatzfunktionen 5
ABS(X): Prog. Experte 52
Abschn: RobSysEinleitung_11.04_00 8
Absicherung: Sicherheit KRC de 18
Absperrungen: Sicherheit KRC de 14
Abweisende Schleife: Prog. Experte 122
Achsbeschleunigung: Prog. Experte 68
Achse mit definiertem Moment: Konfiguration 92
Achsgeschwindigkeit: Prog. Experte 68
achsspezifisches Koordinatensystem: Prog. Experte 59
Achsspiegeln: Prog. Experte 191
Achtung: RobSysEinleitung_11.04_00 6
ACOS(x): Prog. Experte 52
Aggregat: Prog. Experte 38
aktuelle FOLD öff/schl: Prog. Experte 19
ALARM_STOP: Konfiguration 112
alle FOLDs öffnen: Prog. Experte 19
alle FOLDs schließen: Prog. Experte 19
AnhangPHR4.1.7 12.03.07 de
8 von 25
3 Gesamtindex (Fortsetzung)
Allgemein: Konfiguration 89
Analoge Ausgänge: Prog. Experte 142
Analoge Eingänge: Prog. Experte 145
Ändern von Programmen: Prog. Experte 14
Änderungen oder Einträge erforderlich: RobSysEinleitung_11.04_00 7
Änderungen oder Einträge nicht zulässig: RobSysEinleitung_11.04_00 7
Anführungszeichen: RobSysEinleitung_11.04_00 8
ANIN: Prog. Experte 145
ANIN OFF: Prog. Experte 145
ANIN ON: Prog. Experte 145
ANIN/ANOUT: Prog. Experte 142
ANOUT OFF: Prog. Experte 142
ANOUT ON: Prog. Experte 142
Anpassungen: Sicherheit KRC de 8
Anschlußbedingungen: Sicherheit KRC de 18
Ansprechzeit: Konfiguration 94
Anweisung: Prog. Experte 10
Anweisungsteil: Prog. Experte 9
Anwender: Konfiguration 25
Anwender--HALT: Konfiguration 121
APPL_RUN: Konfiguration 111, 123
Applikation: RobSysEinleitung_11.04_00 9
Arbeitsbereich: Sicherheit KRC de 14
Arbeitsbereichsbegrenzung: Sicherheit KRC de 14
Arbeitsbühnen: Sicherheit KRC de 20
Arbeitsraumüberwachung: Konfiguration 40, 61
ARCSPS.SUB: Prog. Experte 8; Zusatzfunktionen 5
Arcuscosinus: Prog. Experte 52
Arcussinus: Prog. Experte 52
Arcustangens: Prog. Experte 52
Arithmetische Operatoren: Prog. Experte 42
ATAN2(Y,X): Prog. Experte 52
Aufbau und Struktur von Programmen: Prog. Experte 7
Aufstellung: Sicherheit KRC de 8, 18
Aufstiegshilfen: Sicherheit KRC de 20
Aufzählungstypen: Prog. Experte 40
Ausblenden von Bits: Prog. Experte 50
Ausgangsvorbesetzung: Sicherheit KRC de 17
Ausschneiden: Prog. Experte 15
Außenlüfter: Konfiguration 54
Außerbetriebnahme: Sicherheit KRC de 19
Austausch: Sicherheit KRC de 8
AnhangPHR4.1.7 12.03.07 de
9 von 25
Anhang
B
B_AND: Prog. Experte 49, 51
B_EXOR: Prog. Experte 49, 51
B_NOT: Prog. Experte 49, 51
B_OR: Prog. Experte 49, 51
Bahnbegleitendes Technologie--Dreibein: Prog. Experte 200
Bahnbewegungen: Prog. Experte 77
BAS.SRC: Prog. Experte 8, 72
BASE: Prog. Experte 65
BASE--Anpassung: Prog. Experte 197
basisbezogene Interpolation: Prog. Experte 64
Basiskoordinatensystem: Prog. Experte 64
Bauhinweise: Sicherheit KRC de 14
BCD--Wert: Konfiguration 107
Bedienerschutz: Konfiguration 118
Bedienung: Sicherheit KRC de 8
Bedingte Verzweigung: Prog. Experte 118
Beispiel: RobSysEinleitung_11.04_00 7
Beispiel Momentenbetrieb: Konfiguration 89
Belastungen: Sicherheit KRC de 14
Benutzerebene: Konfiguration 25
Benutzerebenen: Konfiguration 25
Benutzergruppe: Konfiguration 25
Bereichsendschalter: Sicherheit KRC de 16
Berufsgenossenschaft: Sicherheit KRC de 17, 18
Beschädigung des Robotersystems: Sicherheit KRC de 7
Beschleunigung: Prog. Experte 77
Beschleunigungen: Sicherheit KRC de 14
Bestimmungsgemäße Verwendung: Sicherheit KRC de 6
Betrag: Prog. Experte 52
Betrieb: Sicherheit KRC de 18, 19
Betriebsanleitung: Sicherheit KRC de 5
Betriebsart Automatik Extern: Konfiguration 57
Betriebsstoffe: Sicherheit KRC de 11, 20
Bewegungsanweisungen: Prog. Experte 59
AnhangPHR4.1.7 12.03.07 de
10 von 25
3 Gesamtindex (Fortsetzung)
C
C_DIS: Prog. Experte 93, 96, 111
C_ORI: Prog. Experte 93, 96, 111
C_PTP: Prog. Experte 90, 111
C_VEL: Prog. Experte 93, 96, 111
CA: Prog. Experte 84
CELL.DAT: Prog. Experte 8; Zusatzfunktionen 5
CELL.SRC: Konfiguration 100, 101, 115; Prog. Experte 8, 9; Zusatzfunktionen 5
CHAR: Prog. Experte 33, 35
CHCK_MOVENA: Konfiguration 109
CIRC: Prog. Experte 84, 115
CIRC !: Prog. Experte 104
CIRC REL: Prog. Experte 115
CIRC--CIRC--Überschleifen: Prog. Experte 96
CIRC--LIN--Überschleifen: Prog. Experte 96
CIRC_REL: Prog. Experte 84
Compiler: Prog. Experte 12
CONF_MESS: Konfiguration 109
ConfigMon.ini bearbeiten: Konfiguration 48
CONFIRM: Prog. Experte 130
Continous Path: Prog. Experte 77
CONTINUE: Prog. Experte 88
AnhangPHR4.1.7 12.03.07 de
11 von 25
Anhang
D
Dateikonzept: Prog. Experte 9
Dateiliste: Prog. Experte 10
Dateistruktur: Prog. Experte 9
Datenliste: Prog. Experte 10
Datenliste reinigen: Prog. Experte 196
Datenlisten: Prog. Experte 179
Datenmanipulation: Prog. Experte 42
Datenobjekte: Prog. Experte 31
Datentyp: Prog. Experte 31
Deckenmontage: Konfiguration 89
DECL: Prog. Experte 31
DEF: Prog. Experte 9, 149
DEF--Zeile: Konfiguration 35
DEFDAT: Prog. Experte 179
DEFFCT: Prog. Experte 150
Detailansicht: Konfiguration 36
Dezimalsystem: Prog. Experte 33
DIGIN: Prog. Experte 147
DIGIN OFF: Prog. Experte 147
DIGIN ON: Prog. Experte 147
Digitale Ein--/Ausgänge: Prog. Experte 135
Digitaleingänge: Prog. Experte 147
DISTANCE: Prog. Experte 170
Distanzkriterium: Prog. Experte 93
Drehzahlreglerausgang: Konfiguration 90
Dreidimensionales Feld: Prog. Experte 37
DRIVES_OFF: Konfiguration 110
DRIVES_ON: Konfiguration 110
Durchsacken: Konfiguration 89
AnhangPHR4.1.7 12.03.07 de
12 von 25
3 Gesamtindex (Fortsetzung)
E
E/A--Schnittstelle: Konfiguration 100
E/A--Treiber: Konfiguration 17
E6AXIS: Prog. Experte 40, 109
E6POS: Prog. Experte 109
eckige Klammern: RobSysEinleitung_11.04_00 8
Editier--Cursor: Prog. Experte 107
Editieren: Prog. Experte 12
Editor: Konfiguration 35; Prog. Experte 14
EG--Maschinenrichtlinien: Sicherheit KRC de 5
EG--Niederspannungsrichtlinie: Sicherheit KRC de 5
EGB--Richtlinien: Sicherheit KRC de 21
Ein--/Ausgabeanweisungen: Prog. Experte 131
Ein/Ausgänge: Konfiguration 15, 97
Einblenden von Bits: Prog. Experte 50
Eindimensionales Feld: Prog. Experte 35
Eindringen von Schmutz: Sicherheit KRC de 18
Einfache Datentypen: Prog. Experte 33
Einfügen: Prog. Experte 15
Eingeschränkter Bewegungsbereich -- Arbeitsraumbegrenzug: Sicherheit KRC de 11
Einschränkungen: Konfiguration 89
Einstellarbeiten: Sicherheit KRC de 19
Einstellung: Sicherheit KRC de 8
Elektrofachkraft: Sicherheit KRC de 9
Elektromagnetischen Verträglichkeit: Sicherheit KRC de 5
ELSE: Prog. Experte 118
END: Prog. Experte 9
ENDFOLD: Prog. Experte 19
ENDFOR: Prog. Experte 120
ENDLOOP: Prog. Experte 125
Endlosschleife: Prog. Experte 125
ENDWHILE: Prog. Experte 122
ENUM: Prog. Experte 40
EPROMs: Sicherheit KRC de 18
ERR_FILE: Konfiguration 105
ERR_TO_PLC: Konfiguration 114
Ersetzen: Prog. Experte 16
Erstellen eines neuen Programms: Prog. Experte 11
EXIT: Prog. Experte 125
Exklusive ODER--Verknüpfung: Prog. Experte 49
Experte: Konfiguration 25
EXT: Prog. Experte 72
AnhangPHR4.1.7 12.03.07 de
13 von 25
Anhang
F
Fahrfreigabe: Konfiguration 120
Farbkennzeichnungen: Sicherheit KRC de 9
Fehlerbehandlung: Prog. Experte 24
Felder: Prog. Experte 35
Feldindex: Prog. Experte 35
Feststehende Schutzeinrichtungen: Sicherheit KRC de 14
Fettdruck: RobSysEinleitung_11.04_00 8
Flags: Prog. Experte 55, 168
flankengetriggert: Prog. Experte 160
Fliegendes Messen: Prog. Experte 167
FLT_SERV.DAT: Prog. Experte 8; Zusatzfunktionen 5
FLT_SERV.SRC: Prog. Experte 8; Zusatzfunktionen 5
Fokus: Konfiguration 97
FOLD: Prog. Experte 19
FOR: Prog. Experte 120
FRAME: Prog. Experte 40, 109
Frameverknüpfung: Prog. Experte 43
Fremdkörper: Sicherheit KRC de 19
Frequenz: Sicherheit KRC de 18
Fundamente: Sicherheit KRC de 14
Funktionen: Prog. Experte 9, 149
G
Gefahren: Sicherheit KRC de 8
Gefahren für Leib und Leben: Sicherheit KRC de 5
Gefahrenbereiche: Sicherheit KRC de 9
Generat. Stop: Konfiguration 118
Geometrische Datentypen: Prog. Experte 40
geometrische Datentypen: Prog. Experte 40
Geometrischer Operator: Prog. Experte 43
Geometrischer Operator ”:”: Prog. Experte 110
AnhangPHR4.1.7 12.03.07 de
14 von 25
3 Gesamtindex (Fortsetzung)
Gerätetyp: RobSysEinleitung_11.04_00 10
Geschwindigkeit: Prog. Experte 77
Geschwindigkeit zum Zurückfahren: Konfiguration 122
Geschwindigkeitskriterium: Prog. Experte 93
Gewichte: Sicherheit KRC de 14
Gewichtsausgleichssystem: Sicherheit KRC de 9, 18
GLOBAL: Prog. Experte 181
global: Prog. Experte 150
Globale Datenlisten: Prog. Experte 180
Globale Variable: Prog. Experte 181
GO: Prog. Experte 22
GOTO: Prog. Experte 117
Greifer: Sicherheit KRC de 10; Konfiguration 16
Greiferbezogene Interpolation: Prog. Experte 65
Grundbereich: Prog. Experte 74
H
H50.SRC: Prog. Experte 8; Zusatzfunktionen 5
H70.SRC: Prog. Experte 8; Zusatzfunktionen 5
Haftungshinweis: Sicherheit KRC de 5
HALT: Prog. Experte 129
Handachsen: Konfiguration 92
Handachsgetriebe: Konfiguration 89
Handoverride: Konfiguration 24
Handverfahren: Konfiguration 24
Handverfahrgeschwindigkeit: Sicherheit KRC de 10
Handwurzelpunkt: Prog. Experte 74
Hardwarewarnung: Konfiguration 54
Häufigkeit der Störung: RobSysEinleitung_11.04_00 9
Hauptlauf: Prog. Experte 86
Hauptschalter: Sicherheit KRC de 8
HB: RobSysEinleitung_11.04_00 8
Hebezeugen: Sicherheit KRC de 18
Herausfiltern von Bits: Prog. Experte 50
Hersteller--Erklärung: Sicherheit KRC de 5, 6
Hex Dez: Prog. Experte 34
Hexadezimalsystem: Prog. Experte 33
Hilfe bei Serviceanfragen: RobSysEinleitung_11.04_00 5
Hilfsstoffe: Sicherheit KRC de 20
Hinweis: RobSysEinleitung_11.04_00 7; Sicherheit KRC de 7
Historie Programmierhandbuch: Anhang PHB 4
HK: RobSysEinleitung_11.04_00 8
AnhangPHR4.1.7 12.03.07 de
15 von 25
Anhang
I
IF: Prog. Experte 118
Impulsausgänge: Prog. Experte 140
IN_HOME: Konfiguration 114
Inbetriebnahme: Sicherheit KRC de 6, 19
Index: Prog. Experte 35
Industrieroboter: Sicherheit KRC de 5
Info: RobSysEinleitung_11.04_00 7
INI: Prog. Experte 72
INSIDE_STOP: Konfiguration 64, 77
Instandsetzung: Sicherheit KRC de 8
Instandsetzungsarbeiten: Sicherheit KRC de 19
INT: Prog. Experte 33
INT $TORQUE_AXIS: Konfiguration 93
Interface--Eigenschaften: Sicherheit KRC de 16
INTERRUPT: Prog. Experte 158
Interrupt ausschalten: Prog. Experte 160
Interrupt einschalten: Prog. Experte 160
Interrupt--Behandlung: Prog. Experte 157
Invertierung: Prog. Experte 49
IO--Simulation: Konfiguration 55
IR_STOPM.SRC: Prog. Experte 8
ISTEP: Prog. Experte 22
K
Kaltstart erzwingen: Konfiguration 31
Kap: RobSysEinleitung_11.04_00 8
kartesische Koordinatentransformation: Prog. Experte 60
Kcpsaver: Konfiguration 13
Kein Momentenbetrieb möglich: Konfiguration 89
Kinematik--Singularität: Prog. Experte 73
Kinematische Kette: Prog. Experte 64, 65
Kleidung: Sicherheit KRC de 18
Kollisionsschutz: Sicherheit KRC de 16
Kollisionsüberwachung: Konfiguration 94
Kommentare: Prog. Experte 27
Kompilieren: Prog. Experte 12
konstant + bahnbezogen: Prog. Experte 79
AnhangPHR4.1.7 12.03.07 de
16 von 25
3 Gesamtindex (Fortsetzung)
L
Langtext: Konfiguration 49
Lebensdauer: Prog. Experte 30
Leistungsschild: Sicherheit KRC de 13
Leitrechner: Konfiguration 97
Leitungsquerschnitt: Sicherheit KRC de 18
Lesehinweise: RobSysEinleitung_11.04_00 6
Lichtschranken: Sicherheit KRC de 14
Lichtvorhang: Sicherheit KRC de 14, 16
LimitedVisibility: Konfiguration 36
LIN: Prog. Experte 83, 113
LIN !: Prog. Experte 104
LIN REL: Prog. Experte 113
LIN--CIRC Überschleif: Prog. Experte 98
LIN--LIN--Überschleifen: Prog. Experte 93
LIN_REL: Prog. Experte 83
Linearbewegungen: Prog. Experte 83
Lineareinheit: RobSysEinleitung_11.04_00 9
Logische Operatoren: Prog. Experte 48
Logische Verknüpfung: Prog. Experte 48
lokal: Prog. Experte 150
Lokale Datenlisten: Prog. Experte 179
LOOP: Prog. Experte 125
Löschen: Prog. Experte 15
AnhangPHR4.1.7 12.03.07 de
17 von 25
Anhang
M
Makro--Zuweisungsliste: Konfiguration 49
Mängel: Sicherheit KRC de 19
Manuelles Verschieben: Prog. Experte 192
Maschinensprache: Prog. Experte 12
MAX_CRASH: Zusatzfunktionen 8
Mechanische Nullstellung: Prog. Experte 68
Mehrdeutige Roboterkinematiken: Prog. Experte 74
Mehrdeutigkeit: Prog. Experte 74
**Leer**: Konfiguration 44
Menü ”Konfig.”: Konfiguration 15
Menükey: RobSysEinleitung_11.04_00 8
Menütaste: RobSysEinleitung_11.04_00 8
MERKER: Prog. Experte 117
Modul P00: Konfiguration 103
Momente: Sicherheit KRC de 14
Momentenbetrieb: Konfiguration 89
Momentenbetrieb möglich: Konfiguration 89
Momentengrenzen: Konfiguration 94
Motorkabelüberwachung: Konfiguration 54
MOVE_ENABLE: Konfiguration 109
MSG_DEMO.SRC: Prog. Experte 8; Zusatzfunktionen 5
MSTEP: Prog. Experte 22
N
Namen: Prog. Experte 29
NEAR_POSRET: Konfiguration 113
NEW_SERV.SRC: Prog. Experte 8; Zusatzfunktionen 5
Nicht abweisende Schleife: Prog. Experte 123
Nicht bestimmungsgemäße Verwendung: Sicherheit KRC de 5
Norm für Industrieroboter--Sicherheit: Sicherheit KRC de 8
NOT--AUS: Sicherheit KRC de 11
NOT--AUS: Sicherheit KRC de 14, 16; Konfiguration 119
NOT--AUS--Einrichtung: Sicherheit KRC de 16
O
ODER--Verknüpfung: Prog. Experte 49
Office--Option ein/aus: Konfiguration 38
ON_PATH: Konfiguration 112
Operand: Prog. Experte 42
Operator: Prog. Experte 42
AnhangPHR4.1.7 12.03.07 de
18 von 25
3 Gesamtindex (Fortsetzung)
P
P00.DAT: Prog. Experte 8; Zusatzfunktionen 5
P00.SRC: Prog. Experte 8; Zusatzfunktionen 5
Parameterliste: Prog. Experte 152
Parameterübergabe: Prog. Experte 152
Passiver Stop: Konfiguration 122
Paßwort: Konfiguration 25
Paßwort ändern: Konfiguration 34
PC--Lüfter: Konfiguration 54
PERCEPT.SRC: Prog. Experte 9; Zusatzfunktionen 5
PERI_RDY: Konfiguration 111
Peripherie--Schnittstellen: Konfiguration 17
Personenschäden: RobSysEinleitung_11.04_00 6
Persönlicher Schutz: Sicherheit KRC de 18
PGNO: Konfiguration 115, 123
PGNO_ERROR: Konfiguration 115, 123
PGNO_FBIT: Konfiguration 107, 123
PGNO_FBIT_REFL: Konfiguration 111
PGNO_LENGTH: Konfiguration 107, 123
PGNO_PARITY: Konfiguration 108, 123
PGNO_REQ: Konfiguration 103, 111, 123
PGNO_TYPE: Konfiguration 107, 123
PGNO_VALID: Konfiguration 108, 116
Piktogramme: RobSysEinleitung_11.04_00 7
Änderungen oder Einträge erforderlich: RobSysEinleitung_11.04_00 7
Änderungen oder Einträge nicht zulässig: RobSysEinleitung_11.04_00 7
Beispiel: RobSysEinleitung_11.04_00 7
Hinweis: RobSysEinleitung_11.04_00 7
Info: RobSysEinleitung_11.04_00 7
Siehe auch: RobSysEinleitung_11.04_00 7
Tip: RobSysEinleitung_11.04_00 7
Piktogramme : RobSysEinleitung_11.04_00 6
Planungshinweise: Sicherheit KRC de 14
Platzhalter: Prog. Experte 108
POS: Prog. Experte 40, 109
Positionsangabe: Prog. Experte 109
Positionsmarkierungen: Sicherheit KRC de 13
POV: Konfiguration 24
Priorität: Prog. Experte 51, 160, 169, 173
AnhangPHR4.1.7 12.03.07 de
19 von 25
Anhang
Q
Querverweis
Abschn: RobSysEinleitung_11.04_00 8
HB: RobSysEinleitung_11.04_00 8
HK: RobSysEinleitung_11.04_00 8
Kap: RobSysEinleitung_11.04_00 8
Querverweise: RobSysEinleitung_11.04_00 8
R
Raumabtastungen: Sicherheit KRC de 14
REAL: Prog. Experte 33, 34
REAL $CURR_ACT[12]: Konfiguration 92
REAL $CURR_RED[12,2]: Konfiguration 92
Rechnervorlauf: Prog. Experte 86
REF_PT[x]: Zusatzfunktionen 8
Referenzpunkt: Zusatzfunktionen 6
REFLECT_PROG_NR: Konfiguration 108
Reinitialisierung: Konfiguration 43
AnhangPHR4.1.7 12.03.07 de
20 von 25
3 Gesamtindex (Fortsetzung)
S
S und T: Prog. Experte 73
Sachschäden: RobSysEinleitung_11.04_00 6
SAK: Prog. Experte 73
Satzkoinzidenz: Prog. Experte 73
Schaltaktion: Prog. Experte 173
Schilder: Sicherheit KRC de 9, 13
Schleifen: Prog. Experte 120
Schnittstelle konfigurieren: Konfiguration 97
Schnittstellenbelegung: Konfiguration 124
Schräglage des Roboters: Konfiguration 90
Schraubenverbindungen: Sicherheit KRC de 20
Schrittweise Programmausführung: Konfiguration 122
Schutzbekleidung: Sicherheit KRC de 18
Schutzkleidung: Sicherheit KRC de 11
Schutzmaßnahmen: Sicherheit KRC de 19
Schutzzäune: Sicherheit KRC de 14
Schwebende Lasten: Sicherheit KRC de 18
Sensorbetrieb: Sicherheit KRC de 10
Serien--Nummer: Sicherheit KRC de 6
Seriennummer: RobSysEinleitung_11.04_00 10
Seriennummer Roboter: RobSysEinleitung_11.04_00 9
Seriennummer Steuerung: RobSysEinleitung_11.04_00 9
Serifenschrift: RobSysEinleitung_11.04_00 8
Serifenschrift fett: RobSysEinleitung_11.04_00 8
Serviceanfragen: RobSysEinleitung_11.04_00 9
Servicestützpunkte: RobSysEinleitung_11.04_00 14
Sicherheitsbelehrungen: Sicherheit KRC de 11
Sicherheitsbereich: Sicherheit KRC de 14
Sicherheitseinrichtungen: Sicherheit KRC de 10, 19
Sicherheitsfunktionen: Sicherheit KRC de 11
Sicherheitshinweise: Sicherheit KRC de 8
Sicherheitskennzeichnung: Sicherheit KRC de 13
AnhangPHR4.1.7 12.03.07 de
21 von 25
Anhang
T
T1: Konfiguration 112
T2: Konfiguration 112
TAN(X): Prog. Experte 52
AnhangPHR4.1.7 12.03.07 de
22 von 25
3 Gesamtindex (Fortsetzung)
U
Überbrücken der Arbeitsraumüberwachung: Konfiguration 66
Überkopfbereich: Prog. Experte 74
Überschleif Bahn -- PTP: Prog. Experte 100
Überschleif PTP -- Bahn: Prog. Experte 99
Überschleifbeginn: Prog. Experte 93
Überschleifbewegungen: Prog. Experte 89
Überschleifen: Prog. Experte 89
Überschleifkontur: Prog. Experte 89
AnhangPHR4.1.7 12.03.07 de
23 von 25
Anhang
Überwachungsschlauch: Konfiguration 94
Umbauten: Sicherheit KRC de 11
Umgang mit der Produktdokumentation: RobSysEinleitung_11.04_00 5
UND--Verknüpfung: Prog. Experte 49
Unfälle: Sicherheit KRC de 7
Unfallverhütung: Sicherheit KRC de 17
Unsachgemäße Verwendung: Sicherheit KRC de 5
Unterbau: Sicherheit KRC de 14
Untermenütaste: RobSysEinleitung_11.04_00 8
Unterprogramme: Prog. Experte 9, 149
UNTIL: Prog. Experte 123
USER_GRP.DAT: Prog. Experte 9; Zusatzfunktionen 5
USER_GRP.SRC: Prog. Experte 9; Zusatzfunktionen 5
USER_SAF: Konfiguration 112
USERSPOT.SRC: Prog. Experte 9; Zusatzfunktionen 5
USERTech reinitialisieren: Konfiguration 43
UV-- und Verschmutzungsschutz: Sicherheit KRC de 18
V
VAR: Prog. Experte 108
variabel + bahnbezogen: Prog. Experte 79
variabel + raumbezogen: Prog. Experte 82
Variablen für den Momentenbetrieb: Konfiguration 92
Variablen und Namen: Prog. Experte 29
Variablen und Vereinbarungen: Prog. Experte 29
Veränderungen: Sicherheit KRC de 11
Verbindungsleitungen: Sicherheit KRC de 5, 13
Vereinbarung: Prog. Experte 10
Vereinbarungsteil: Prog. Experte 9
Vergleichsoperatoren: Prog. Experte 47
Verletzungen: Sicherheit KRC de 7
Verriegelung trennender Schutzeinrichtungen (Bedienerschutz): Sicherheit KRC de 12
Verschmutzungsschutz: Sicherheit KRC de 18
Versionsnummern Software: RobSysEinleitung_11.04_00 9
Verstecken von Programmteilen: Prog. Experte 19
Viren: Sicherheit KRC de 19
vordefinierte Strukturen: Prog. Experte 40
Vorhängeschloß: Sicherheit KRC de 8
Vorkehrung für Bewegung in Notfällen: Sicherheit KRC de 12
Vorlauf: Prog. Experte 86
Vorlaufstop: Konfiguration 93; Prog. Experte 87, 131
Vorschriften: Sicherheit KRC de 17
AnhangPHR4.1.7 12.03.07 de
24 von 25
3 Gesamtindex (Fortsetzung)
W
WAIT: Prog. Experte 126
Wandmontage: Konfiguration 89
Warnhinweise: Sicherheit KRC de 11, 13
Warnung: RobSysEinleitung_11.04_00 6
Warteanweisungen: Prog. Experte 126
Wartung: Sicherheit KRC de 8
Wartungsarbeiten: Sicherheit KRC de 19
Wartungsvorschriften: Sicherheit KRC de 6
Wartungszyklen: Sicherheit KRC de 11
WEAV_DEF.SRC: Prog. Experte 9; Zusatzfunktionen 5
Weichschaltung Achse 1: Konfiguration 91
WAIT FOR $IN[]: Konfiguration 91
Weichschaltung Achse 3: Konfiguration 91
Weltkoordinatensystem: Prog. Experte 63
Werk--Nummer: Sicherheit KRC de 6
Werkzeug, feststehendes: Prog. Experte 65
Werkzeugkoordinatensystem: Prog. Experte 63
Werkzeugkorrektur: Zusatzfunktionen 6
Werkzeugwechsel: Sicherheit KRC de 16; Prog. Experte 103
Wertzuweisung: Prog. Experte 29
WHILE: Prog. Experte 122
Wiederanlauf: Konfiguration 118, 122
Wiederinbetriebnahme: Sicherheit KRC de 19
Wurzel: Prog. Experte 52
Z
Zählschleife: Prog. Experte 120
Zeichenketten: Prog. Experte 38
Zeilenumbruch ein/aus: Konfiguration 37
Zubehör: Sicherheit KRC de 11
Zuführungen: Sicherheit KRC de 10
Zugangs--Kennwort: Konfiguration 34
Zusatzachsen: RobSysEinleitung_11.04_00 9
Zusatzausrüstungen: Sicherheit KRC de 11
Zustimmtaste: Konfiguration 57
Zustimmungsschalter: Sicherheit KRC de 12
Zweidimensionales Feld: Prog. Experte 36
Zyklische Flags: Prog. Experte 55
1
AnhangPHR4.1.7 12.03.07 de
25 von 25