iRC R13 UserGuide de
iRC R13 UserGuide de
1
19. Mai 2022
© Commonplace Robotics GmbH
INHALTSVERZEICHNIS
Inhaltsverzeichnis
1 Einleitung 5
1.1 Kontakt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Bestimmungsgemäße Verwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Zielgruppe und Qualifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Verwendete Symbole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Produktsicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.6 Vorschriften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Sicherheitshinweise 10
4 CE-Konformität 11
4.1 CE-Kennzeichnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Integration von Sicherheitskomponenten zur Herstellung der CE-Konformität . . . . . . 11
5 Anforderungen 12
5.1 Umgebungsbedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.2 Softwareanforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6 Schnellstart Anleitung 13
6.1 Einrichten und Anschließen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.2 Einschalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.3 Verbinden und Bewegen des Roboters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.3.1 Vorbereitung mit dem integrierten Computer . . . . . . . . . . . . . . . . . . . . . 14
6.3.2 Erstes Bewegen des Roboters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7 Installation 17
7.1 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.2 Motormodul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.3 Digital-I/O-Modul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.4 Motorbremse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.5 Steuerrechner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.5.1 Spannungsversorgung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.5.2 Busverbindung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.5.3 LAN Verbindung zum Windows PC . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.5.4 Verbindung Handsteuergerät . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.6 Handbediengerät . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
10.5.6 Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.5.7 Rasterbewegungen / Palettierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.5.8 Unterprogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.6 Variablen und Variablenzugriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.6.1 Benutzervariablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.6.2 Systemvariablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.6.3 Zugriff auf Elemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.6.4 Berechnungen mit Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.6.5 Variablen beobachten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
10.7 Kamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
11 Konfiguration 52
11.1 Projektkonfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
11.1.1 Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
11.1.2 Werkzeug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
11.1.3 Virtuelle Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
11.1.4 Zusatzachsen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
11.2 Roboterkonfiguration - Achslängen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
11.3 Ein-/Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
11.3.1 Elektrische Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
11.3.2 Software-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
11.3.3 Sensoren und Taster anschließen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
11.3.4 Aktoren anschließen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
11.4 Motorbremse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
11.4.1 Elektrische Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
11.4.2 Software-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
11.5 Schnittstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
11.5.1 SPS-Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
11.5.2 Programmwahl über digitale Eingänge . . . . . . . . . . . . . . . . . . . . . . . . . 61
11.5.3 Modbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
11.5.4 CRI-Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
11.5.5 Kameraschnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
11.5.6 Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
11.5.7 Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
11.5.8 Secure Shell Zugriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
11.5.9 SFTP Zugriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
11.5.10Unterspannungsversorgung (USV/UPS) . . . . . . . . . . . . . . . . . . . . . . . . 69
11.6 Konfiguration der Motorsteuerungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
11.7 Weitergehende Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12 Modbus 71
12.1 Lizenzierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
12.2 Konfiguration des Modbus-Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
12.3 TIA-Portal Bibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
12.3.1 Anlegen des Roboter Datenbausteins . . . . . . . . . . . . . . . . . . . . . . . . . . 71
12.3.2 Einfügen des Roboterkommunikations FB . . . . . . . . . . . . . . . . . . . . . . . 72
12.3.3 Datenzugriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
12.4 Adresszuordnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
12.4.1 1 Bit Lesezugriff (Coils und diskrete Eingänge) . . . . . . . . . . . . . . . . . . . . . 74
12.4.2 16 Bit Lesezugriff (Eingaberegister) . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
13 Wartung 81
13.1 Reinigung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
14 Fehlerbehebung 82
14.1 Häufig gestellte Fragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
14.2 Fehlercodes und Wege zur Behebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
14.3 Testsoftware Module Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
14.4 Support-Kontakt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
1 Einleitung
1.1 Kontakt
igus® GmbH
Spicher Str. 1a
D-51147 Köln
Internet: [Link]
Der Hinweis WARNUNG macht den Leser auf mögliche gefährliche Situatio-
, nen aufmerksam.
Die Missachtung einer Warnung kann möglicherweise zu mittelschweren Ver-
letzungen des Benutzers führen.
• Innerhalb einer Warnung beschreibt dies Möglichkeiten zur Vermeidung
von Gefahren.
In dieser Box befinden sich ergänzende Hinweise, sowie Tips und Tricks.
1.5 Produktsicherheit
Folgende EU-Richtlinien wurden beachtet:
• RoHS-Richtlinie (2011/65/EU, 2015/863/EU)
• EMV-Richtlinie (2014/30/EU)
1.6 Vorschriften
Neben dem vorliegenden technischen Handbuch unterliegt der Betrieb, die Inbetriebnahme den gel-
tenden Ortstypischen Vorschriften, wie z.B.:
• Unfallverhütungsvorschriften
• örtliche Vorschriften zur Arbeitssicherheit
1. Roboter: der mechanische Roboterarm, Portal, Deltaroboter, Scara Roboter, etc ...
Die Robotersteuerung dient zur Steuerung der Bewegung der Motoren des Roboters. Die Roboter-
steuerungen sind mit 48V Motorspannung oder 24V Motorspannung verfügbar. Die Schrittmotor-
treibermodule sind für bipolare Schrittmotoren unterschiedlicher Größe und konfigurierbar, bzw.
vorkonfiguriert. Zur genauen Positionierung und Regelung werden im Normalfall Quadraturencoder-
signale eingelesen, die die tatsächliche Motor-, bzw. Achsposition in die Schrittmotortreibermodule
rückkoppeln. Zudem werden unterschiedliche Referenzierungsmethoden und Bewegungen unter-
stützt, um nach einem Kaltstart des Robotersystems die "Ist-Position" des Roboters an die Software
zu übermitteln. Unterschiedliche inverse Kinematiken werden in der Software unterstützt, so dass
z.B. kontrollierte Linearbewegungen eines Roboterarms genauso einfach zu programmieren sind wie
die eines Portalroboters.
• 2-Achs-Deltaroboter
• 3-Achs-Deltaroboter
• 2-Achs-Portalroboter (X und Y Achse)
Eine vollständige Liste von unterstützten Robotermodellen findet sich im "Projekt Öffnen"Bereich
von iRC . Zudem können in iRC bis zu drei kinematisch unabhängige Zusatzachsen konfiguriert wer-
den.
2.2 Spezifikationen
Steuerrechner Eigenschaft
Typ Single Board Computer mit Tochtermodul
Stromversorgung 24V/1A
Betriebssystem Linux basiert
Software TinyCtrl Robotersteuerungssoftware
Schnittstellen CAN Bus (Verbindung zu den Modulen)
Ethernet (Verbindung zu Windows PC)
RS232 Display Anschluss
Digitale Eingänge für Zustimmschalter
DC/DC Wandler 5V/4A
Objekt L x B x H (mm)
Schaltschrank 600 x 300 x 155
Steuerungsmodul 100 x 22 x 92
Steuerrechner 90 x 72 x 75
Netzteil 24V/10A 120 x 87 x 125
Netzteil 24V/5A 120 x 40 x 125
Netzteil 48V/10A 120 x 87 x 140
Handbedienteil (mit Display) 205 x 110 x 110
3 Sicherheitshinweise
4 CE-Konformität
4.1 CE-Kennzeichnung
Die modulare Robotersteuerung ist mit einer CE-Kennzeichnung gemäß der RoHS-, Niederspan-
nungs- und EMV-Richtlinien versehen. Die vollständige Maschine, d.h. die komplette Roboterzelle,
ist nicht durch diese CE-Kennzeichnung abgedeckt. Die vollständige Maschine wird vom Integrator
als Gesamtsystem dokumentiert, auf Risiken bewertet und mit einer CE-Kennzeichnung nach Ma-
schinenrichtlinie versehen.
Die modulare Robotersteuerung an sich stellt keine Sicherheitsfunktionen zur Verfügung. Sie trägt
keine Bewertung nach PL oder SIL.
In der Steuerung sind zwei Netzteile vorgesehen, eines für die Logik (24V/5A), das andere für die
Motorströme (24V/10A oder 48V/10A). Das erste Netzteil sollte kontinuierlich arbeiten, das zweite
sollte im NotAus-Fall deaktiviert werden.
5 Anforderungen
5.1 Umgebungsbedingungen
Umgebungsbedingung Wert
Schutzklasse IP20
Umgebungstemperatur (Betrieb) +10. . . +32°C
Umgebungstemperatur (Lagerung) -10. . . +85°C
Luftfeuchtigkeit (nicht kondensierend) 0. . . 90%
Aufstellhöhe über NN (ohne Leistungsbeschränkung) 1500m
Tabelle 5: Umgebungsbedingungen
5.2 Softwareanforderungen
Zur Verwendung von iRC wird ein Computer mit folgenden Eigenschaften benötigt:
• PC (min. Intel i5 CPU) mit Windows 10 bzw. 11 (64 Bit)
• .NET Framework 4.7.2 oder neuer
• mindestens 500MB freier Speicherplatz
• Grafikkarte (integriert oder dediziert)
– OpenGL 3.0 oder neuer
– Herstellertreiber (der Standardtreiber von Microsoft wird nicht unterstützt)
• einen freien Ethernet-Port
6 Schnellstart Anleitung
Zum Aufbau und Inbetriebnahme des Roboters gehen Sie in der nachfolgenden Reihenfolge vor:
1. Stellen Sie sicher, dass die Steuerung vom Stromnetz getrennt ist: Ziehen Sie den Netzstecker.
2. Montieren Sie den Roboter auf einer geeigneten Basis. Stellen Sie sicher, dass die Kabel nicht
unter Spannung stehen.
3. Führen Sie die Roboterkabel durch das große kreisförmige Loch in den Schaltschrank ein und
stecken Sie sie an die Schrittmotormodule. Jeder Motor mit dem dazugehörigen Referenzsen-
sor ist über 4 Steckverbinder mit seinem Schrittmotormodul verbunden (siehe Abb. 13). Alle
Anschlüsse sind beschriftet und kodiert, um diesen Prozess zu unterstützen. Folgende Kabel
gehören jeweils zu einem Motor die Zugehörigkeit zwischen Motor und Kabelsatz ist ebenfalls
auf den Steckern nummerisch gekennzeichnet:
• Motorkabel (mit der Bezeichnung Motor)
• Encoderkabel (2 Anschlüsse mit der Bezeichnung ENC-1 und ENC-2)
• Referenzsensor (mit der Bezeichnung End-Stop)
4. Verbinden Sie die Schirm und Masseadern der Encoder und Motorkabel, sofern vorhanden.
• Motorkabel Masse: grün-gelb
• Encoderschirmung (Masse): schwarz
5. Alle Masseadern der Motor und Encoderkabel werden in den Masseblock neben der Steuerung
gesteckt.
6. Sichern Sie die Roboterkabel gegen Spannung, z.B. mit einem Kabelbinder an einem der Lö-
cher im Schaltschrank. Falls vorhanden, stecken Sie das Kabel des Handbediengeräts ein und
sichern Sie es über die Schraubverbindung.
7. Der Roboter ist nach Abschluss dieser Schritte bereit zum Einschalten.
Abbildung 2: Drei Motormodule mit je 4 Steckern pro Modul, die zu je einem Motor und dem dazuge-
hörigen Referenzsensor führen. Auch im Bild: ein Digitales I/O Modul (Modul rechts), welches nicht
verdrahtet ist.
6.2 Einschalten
Gefahr von elektrischem Schlag! Vergewissern Sie sich vor dem Inbetriebneh-
, men der Komponenten über die Ordnungsgemäße Verbindung aller Kabel und
Schaltschrankkomponenten. Prüfen Sie alle Kabel auf einen festen Sitz und stel-
len Sie sicher, dass sich keine Losen Kabel im Schaltschrank befinden.
1. Verbinden Sie den Roboter über das beigefügte Netzkabel mit Ihrer Stromversorgung.
3. Die grünen Leuchtdioden (LEDs) auf den Modulen leuchten nun, ebenso die meisten roten
LEDs und möglicherweise auch einige der gelben LEDs.
4. Nachdem der Bootvorgang des Steuerrechners abgeschlossen ist (ca. 60s nach Einschalten der
Steuerung), beginnen die grünen LEDs zu blinken. Dies zeigt Kommunikation mit den Modulen
an. Nun ist die Robotersteuerung in Betrieb. Falls verfügbar, können Sie den Roboter jetzt über
das optionale Handbediengerät bewegen.
Die Nachfolgenden Schritte stellen die LAN-Verbindung zwischen Robotersteuerung und Windows-PC
her.
1. Verbinden Sie Ihren PC über ein Ethernet-Kabel mit der Robotersteuerung. Verwenden Sie den
Ethernet-Anschluss, der sich direkt neben der USB-Buchse am integrierten Computer (siehe
Abb. 3) der Robotersteuerung befindet.
2. Stellen Sie die IP-Adresse des PCs auf: statisch und [Link] mit einer Subnetzmaske von
[Link]. Anleitungen zur Änderung der IP-Adresse Ihres Computers finden Sie im Inter-
net unter dem Stichwort "IP Adresse ändern Windows 10".
2. Starten Sie die iRC Software. Beim Start können Sie das auf Ihren Roboter zutreffende Projekt
auswählen. Bitte beziehen Sie sich auf die Produktnummer bzw. den Produktnamen, die Pro-
jektnamen basieren auf diesen (siehe Abb. 4).
3. Sie können den Roboter jetzt aktivieren, indem Sie nachfolgenden Schaltflächen in der ange-
gebenen Reihenfolge drücken (siehe auch Abb. 5):
3.1 "Verbinden"
3.2 "Zurücksetzen"
3.3 "Aktivieren"
4. Jetzt sollte die Status-LED-Leuchte links in iRC grün sein und der Status "Kein Fehler" anzeigen.
5. Sie können nun die Gelenke des Roboters mit Hilfe der Schaltflächen auf der Registerkarte "Jog-
ging" bewegen (siehe Abb. 5).
Abbildung 4: Projektauswahl
Abbildung 5: Jog-Befehle
7 Installation
Die detaillierte Anschlussbelegung entnehmen Sie bitte dem Schaltplan der Robotersteuerung. Die
Anschlussbelegungen in diesem Kapitel sind ausschließlich zur besseren Veranschaulichung gedacht.
Konsultieren Sie grundsätzlich den Schaltplan für die Anschlussbelegung.
7.1 Übersicht
7.2 Motormodul
Jedes Schrittmotormodul treibt einen bipolaren Schrittmotor mit Motorencoder an. Die Encodersi-
gnale werden von einem RS422-Baustein ausgewertet. Die Signale für jede Achse laufen über drei
Kabel: Motorkabel, Encoderkabel und Referenzschalterkabel. Das Motorkabel wird an einen Stecker
mit der Bezeichnung "Motor", das Encoderkabel an zwei Stecker mit der Bezeichnung "ENC-1" und
"ENC-2" und das Referenzschalterkabel an den Stecker mit der Bezeichnung "End-Stop" angeschlos-
sen.
• Pin 4: A/ (braun)
Encoderstecker 1 (ENC-1): Verbindet einen Quadratur-Encoder mit einem RS422-Baustein.
• Pin 1 (links): A (weiss)
• Pin 2: 5 V DC (rot)
• Pin 3: B (grün)
• Pin 4: 0 V (grau)
Encoderstecker 2 (ENC-2): Verbindet einen Quadratur-Encoder mit einem RS422-Baustein.
• Pin 1 (links): A-N (braun)
• Pin 2: B-N (gelb)
• Pin 3: index (rose)
• Pin 4: index-N (blau)
Alle acht Adern (Encoder-Anschlüsse 1 und 2) müssen angeschlossen werden, um den Encoder aus-
zulesen.
End-Stop-Stecker: Wird an einen End- oder Referenzschalter angeschlossen.
• Pin 1 (links): 24 V (braun)
• Pin 2: Masse (GND) (blau)
• Pin 3: Signal (schwarz)
• Pin 4: nicht verbinden
7.3 Digital-I/O-Modul
Das DIO-Modul bietet Ein- und Ausgangskanäle, z.B. zur Ansteuerung eines Greiferventils. Die Aus-
gänge können bis zu 500 mA schalten. Die Eingänge verwenden Optokoppler und sind kompatibel
zu Eingangsspannungen zwischen 12 und 24 V.
Ein von den Ausgangsrelais geschalteter Stromkreis darf keine größeren Kondensatoren enthalten.
Wenn der Strom 500 mA übersteigt, können die Halbleiterrelais beschädigt werden.
Aus Sicherheitsgründen sind die Ein- und Ausgänge des DIO-Moduls galvanisch getrennt. Das bedeu-
tet, dass die Schaltkreise der Ein- und Ausgänge nicht mit den internen Schaltkreisen des Controllers
verbunden sind. Es ist daher notwendig, eine Versorgungsspannung für die Ausgänge und eine Mas-
seleitung für die Eingänge anzuschließen. Hierfür können die in der Robotersteuerung verfügbaren
24 V, aber auch eine unabhängige externe Spannungsquelle verwendet werden. In der Software sind
die Ein- und Ausgänge des ersten DIO-Moduls mit den Nummern 21-27, des zweiten DIO-Moduls
(falls eingebaut) mit den Nummern 31-37 und des dritten mit 41-47 nummeriert.
Digital Out-Stecker A (D-out A): Die Ausgangsrelais verbinden den Pin der Stromversorgung mit den
entsprechenden Ausgangspins.
• Pin 1 (links): Eingangsspannung (für alle 7 Kanäle)
• Pin 2: D-Out-Kanal 1 (in der Software: Dout21)
Abbildung 9: Steuerrechner
7.4 Motorbremse
Um ein Absacken einer Achse zu verhindern, können elektromagnetische Bremsen verwendet wer-
den. Die dazu notwendige Konfiguration wird in Abschnitt 11.4 vorgestellt.
7.5 Steuerrechner
Ein integrierter Computer ist mit der modularen Robotersteuerung kombiniert, so dass ein exter-
ner Computer nur für die Programmierung, nicht aber für den täglichen Betrieb erforderlich ist. Die
Windows Software (iRC) kommuniziert grundsätzlich per LAN mit der Steuersoftware auf dem inte-
grierten Computer (Linux). Die Steuersoftware kommuniziert per CAN mit den Modulen der Robo-
tersteuerung. Abbildungen 9, 10 und 11 zeigen das Steuerungsmodul und dessen Anschlüsse.
Abbildung 10: Bus- und Stromversorgungsanschluss. Der "+24V Out" Steckverbinder bleibt unge-
nutzt.
7.5.1 Spannungsversorgung
Am Steckverbinder "IN Supply" des Steuerrechners (ganz rechts in Abbildung 10) wird angeschlossen
(von links nach rechts):
• Pin1: +24V
• Pin2: GND
7.5.2 Busverbindung
Die CAN Verbindung wird über den mittleren, 5 poligen Steckverbinder "OUT-BUS" hergestellt (von
links nach rechts):
• Pin1: CAN-L
• Pin2: CAN-H
• Pin3: +5V Versorgungsspannung für die Motormodule
• Pin4: Nicht verbinden
• Pin5: Nicht verbinden
Die Bus Verbindung wird an die Hutschienenmodule (Digital IO- und Motormodule) der Steuerung
angeschlossen. Ein Supportmodul ist mit dieser Anschlussart nicht kompatibel, da es auch +5V auf
den gleichen Bus speisen würde.
Abbildung 11: LAN- und Display-Anschluss. Die USB Anschlüsse bleiben ungenutzt.
Eine Ethernetverbindung zwischen Steuerrechner und Windows PC kann per LAN-Kabel hergestellt
werden. Die IP des Steuerrechners ist [Link], subnet ist [Link].
Das Handsteuergerät (Display) wird am 9-poligen D-Sub Verbinder angeschlossen. Achtung! Die Ver-
bindung ist proprietär. Ein Nullmodemkabel o.ä. kann hier nicht angeschlossen werden. Die Pin Be-
legung ist wie folgt (die Pins sind am Steckverbinder nummeriert):
• Pin 1: GND
• Pin 2: CAN-L
• Pin 3: RS232 TX
• Pin 4: nicht verbunden
• Pin 5: +24V Ausgang
• Pin 6: GND
• Pin 7: CAN-H
• Pin 8: RS232 RX
• Pin 9: GND
7.6 Handbediengerät
Das Handbediengerät wird zur Steuerung des Roboters über den integrierten Computer verwendet.
Der Anschluss des D-Sub-9-Steckers ist mit der D-Sub-9-Buchse des Schaltschranks zu verbinden.
Die Pin Belegung ist des Handbediengerätes ist wie folgt:
• Pin 1: nicht verbunden
• Pin 2: nicht verbunden
• Pin 3: RS232 RX
• Pin 4: nicht verbunden
• Pin 5: +24V Eingang
• Pin 6: nicht verbunden
• Pin 7: RS232 TX
• Pin 8: nicht verbunden
• Pin 9: GND
In der linken oberen Ecke bieten die Registerkarten "Datei", "Szene", "Bewegung" und "Hilfe" Zu-
gang zu den Hauptfunktionen. In der linken Ecke werden Informationen über den aktuellen Zustand
des physischen Roboters angezeigt. Zusätzliche Funktionen wie das Laden eines anderen Projekts
("Projekt öffnen") oder "Roboter Referenzieren" finden Sie im Register "Datei" (s. Abb. 13).
Es gibt fünf Registerkarten am unteren Rand des Fensters:
• "Log-Meldungen": Meldungen des Programms über Status oder Fehler.
• "Infocenter": zeigt die Achswerte, die kartesische Position und weitere Informationen an.
• "Jogging": Tasten zum Bewegen des Roboters.
• "Input/Output": Anzeigen und Einstellen der DIO-Schnittstellen der Robotersteuerung.
• "Programme & Variablen": zeigt den aktuellen Status von Programmvariablen an.
Das "Hilfe"-Symbol in der rechten unteren Ecke enthält Links zu den Wiki-Seiten
("Online-Dokumentation", "Software-Updates", "Beispiele", "Fehlerbehebung"), eine
Schaltfläche um den Support per E-Mail zu kontaktieren und eine Schaltfläche um die
Logdateien von iRC und der integrierten Steuerung abzurufen.
iRC bietet projektbezogene Einstellungen für verschiedene Robotertypen, wie z.B. Portale, Roboter-
arme oder Deltaroboter. Abbildung 14 zeigt den Projekt-Öffnen-Bereich, über den das entsprechende
Projekt geladen werden kann.
1. Klicken Sie auf die Registerkarte "Datei" in der linken oberen Ecke und wählen Sie "Projekt
öffnen".
3. Stellen Sie sicher, dass der zur Betriebsspannung des Roboters passende Parametersatz gewählt
ist. Dies beeinflusst die Geschwindigkeit und Beschleunigung.
4. Klicken Sie nun auf den Eintrag der zu Ihrem Roboter passt, z.B. RL-DP-5.
Abbildung 14: Auswahl des Robotertyps über den Menüpunkt "Datei" → "Projekt öffnen"
Zur Navigation in der iRC - igus Robot Control 3D-Umgebung wird eine 3-Tasten-Maus empfohlen:
• Linke Taste:
– Auswahl von Symbolen und Funktionen im Menü.
– Bewegen einer Roboterachse: Platzieren Sie den Cursor über ein Gelenk (es wird hervor-
gehoben), klicken Sie dann und bewegen Sie den Cursor auf und ab, während Sie die linke
Maustaste gedrückt halten.
• Mittlere Taste/Mausrad:
– Navigation in der Szene, um den Roboter zu drehen: Bewegen Sie den Cursor, während
Sie die mittlere Maustaste gedrückt halten.
– Mausrad drehen: Vergrößerung/Verkleinerung auf die aktuelle Cursorposition.
• Rechte Taste: Verschieben des Bildausschnitts
Der reale Roboter kann wie der simulierte gesteuert werden, nur die Hardware muss zuerst durch
Klicken auf die Symbole "Verbinden", "Zurücksetzen" und "Aktivieren" in der Schaltflächengruppe
"Physikalischer Roboter" im Register "Bewegung" verbunden und aktiviert werden (siehe Abb. 15).
Danach muss der Roboter referenziert werden.
Abbildung 15: Schaltflächen für die Verbindung mit der Hardware, das Zurücksetzen von Fehlern und
die Aktivierung der Motoren, die Referenzierung und "Status"-Anzeige.
• Diese Taste wird zum Zurücksetzen der Fehlerspeicher der elektronischen Module der Ro-
botersteuerung verwendet.
• Die Achspositionen werden vom realen Roboter in die Simulationsumgebung übertragen.
Die 3D-Visualisierung des Roboters sollte nun der aktuellen Position des realen Roboters
entsprechen.
Dies muss bei jedem Fehler-Reset überprüft werden! Stimmen die Werte
, nicht überein, muss eine Referenzierung durchgeführt werden, die in Ab-
schnitt 8.3 beschrieben wird.
• Die "Status"-Anzeige bleibt rot. Die Fehlermeldungen werden gelöscht, nur "Motoren de-
aktiviert" bleibt bestehen. Wenn andere Fehlermeldungen angezeigt werden, versuchen
Sie es erneut und folgen Sie den Anweisungen in der Roboterdokumentation.
Es ist jetzt möglich, den Roboter über die Jog-Tasten, mit einer Maus in der Benutzeroberfläche oder
einem Gamepad zu bewegen, siehe Abschnitt 8.4.
, • Nach dem Start muss der Roboter referenziert werden. Vor der Referenzierung
können die Achsen des Roboters nur Bewegungen im Joint-Modus ausführen.
Dadurch sollen Kollisionen während des unreferenzierten Roboterbetriebs ver-
mieden werden.
• Erst nach der Referenzierung sind kartesische Bewegungen oder der Start eines
Programms möglich.
• Der Status wird auf der linken Seite der iRC - igus Robot Control angezeigt.
Die Motormodule speichern die Position in einem EEPROM. Aufgrund der Schwerkraft oder ande-
rer Kräfte können sich die Achsen jedoch bei ausgeschalteter Motorleistung bewegen. In diesem Fall
melden die Motormodule nicht mehr die korrekte Position an die Software. Um die Position zwi-
schen Software, Schrittmotormodul und Roboterachse zu synchronisieren, muss eine Referenzierung
durchgeführt werden.
1. Starten Sie die Robotersteuerung und der iRC - igus Robot Control.
2. Drücken Sie die Schaltflächen "Verbinden", "Zurücksetzen" und "Aktivieren" (Abb. 15).
3. Klicken Sie auf die Schaltfläche "Referenzieren" (s. Abb. 15) in der Schaltflächen-Gruppe "Phy-
sischer Roboter" im Register "Bewegung" (oder "Roboter Referenzieren" nach Klick auf "Da-
tei"), um den Referenzierungsbereich zu öffnen.
4. Klicken Sie auf die Schaltflächen "Referenziere Achse", um mit der Referenzierung einer Achse
zu beginnen, siehe Abb. 16. Mehrere Gelenke können die Referenzierung parallel durchführen.
5. Sie können auch auf "Referenziere alle" klicken, dann beginnen die Achsen in einer in der Pro-
jektdatei definierten Reihenfolge zu referenzieren.
6. Sobald alle Bewegungen ausgeführt sind und der Roboter wieder still steht, klicken Sie auf "Zu-
rücksetzen" und "Aktivieren". Jetzt ist der Roboter voll funktionsfähig.
1. Bewegungsmodus ändern
2. Tastenbelegung ändern:
Umschalten zwischen X, Y, Z und A, B, C
im kartesischen Bewegungsmodus oder
A1, 2, 3 und A4, 5, 6 im Achs-Bewegungs-
modus.
Software-Schaltflächen ermöglichen die Auswahl des Bewegungsmodus. Es stehen drei Modi zur Ver-
fügung bei denen jeweils die Bewegungsgeschwindigkeit zwischen 0 und 100% verändert werden
kann (Abb. 17):
• "Achse": Ein Klick auf A1 bis A6 bewegt die entsprechende Roboterachse (falls vorhanden). E1
- E3 bewegt die externen Gelenke. Dies können lineare oder Rotationsachsen sein (Abb. 19).
• "Basis": (kartesischer Modus) bewegt den Roboter in geraden Linien entlang der X-, Y- und
Z-Achse des Basiskoordinatensystems.
• "Werkzeug": (kartesischer Modus) bewegt den Roboter in X, Y und Z des aktuellen Werkzeug-
koordinatensystems.
1. Zum Laden des Programms klicken Sie auf das Ordnersymbol "Öffnen" in der Gruppe "Gewähl-
tes Programm" der Registerkarte "Bewegung" und wählen Sie ein Programm, z.B. "testRobol-
[Link]".
8.7 Software-Schnittstellen
Die Robotersteuerung stellt verschiedene Schnittstellen zur Verfügung:
• SPS-Schnittstelle zur Steuerung über die digitalen Ein- und Ausgänge. Insbesondere zum ein-
fachen Starten und Stoppen von Programmen über eine SPS oder Taster.
• Modbus TCP-Schnittstelle zur Steuerung über eine SPS oder einen PC.
• CRI-Ethernet-Schnittstelle zur Steuerung und Konfiguration über eine SPS oder einen PC. Die-
se Schnittstelle bietet den größten Funktionsumfang, erfordert jedoch eine individuelle Imple-
mentation.
• ROS-Schnittstelle zum Betrieb des Roboters über das Robot Operating System ([Link]).
• Schnittstelle für Objekterkennungskameras
• Cloud-Schnittstelle zur Überwachung des Roboterzustands
Siehe Abschnitt 11.5 für die Konfiguration dieser Schnittstellen.
Erstellen Sie ein Backup da bei der Aktualisierung Dateien überschrieben werden kön-
, nen!
Benennen Sie Ihren alten iRC-Ordner (z.B. C:\iRC-igusRobotControl) vor Beginn der
Installation um. Auf diese Weise können Sie wieder zur alten Version zurückkehren.
Abbildung 22: Drücken Sie den "Enable"-Knopf im oberen Menü (oben rechts) auf dem Touchscreen-
Display, um zur Enable-Seite zu gelangen.
Abbildung 23: Drücken Sie jetzt "Reset": Der Status wechselt zu "MNE" (Motor Not Enabled)
Abbildung 24: Drücken Sie "Enable": Der Status wechselt zu "NoError". "Not refd!" (in rot) bedeutet
"nicht referenziert".
Abbildung 25: 1. Drücken Sie dazu die Taste "Jog" oben auf dem Display. 2. Drücken Sie "Joints 1-2-3".
Dann bewegen und drehen Sie den Joystick. Sie können nun die Achsen 1, 2 und 3 bewegen. 3. Drü-
cken Sie "Joints 4-5-6". Bewegen Sie nun die Achsen 4 und 5 durch Bewegen und Drehen des Joysticks.
9.3 Referenzierung
Um einen automatischen Programmablauf und Linearbewegungen ("XYZ Tool" / "XYZ Base") zu er-
möglichen, muss der Roboter referenziert werden. Die Art der Referenzbewegung hängt vom Robo-
ter- oder Encodertyp ab. Im Zweifel sollte jede Achse des Roboters wie oben beschrieben zunächst
(Abb. 25) in die Nähe des Referenzsensors der Achse gefahren werden.
Abbildung 26: Navigieren Sie in per Button oben Rechts "Enable" in das Enable-Menü.
• Drücken Sie den runden "Reset"-Knopf gefolgt vom runden "Enable"-Knopf: Der Status wech-
selt zu "NoError". "Not ref’d!" (in rot) bedeutet "nicht referenziert".
• Der Roboter muss sich im Status "NoError" befinden.
• Drücken Sie nun die Schaltfläche "Ref All", um alle Achsen zu referenzieren. Der Roboter führt
nun Suchbewegungen für jede Achse aus. Eine erfolgreich referenzierte Achse wird angezeigt,
indem die Zahl "0" hinter dem Button "Ref XXX" auf "1" wechselt.
• Nach der Referenzierung befinden sich die Achsen im Fehlerzustand. Dies ist notwendig, weil
sich die Ist-Position während des Referenzierungsvorgangs geändert hat.
Abbildung 27: Drücken Sie nun nochmals den runden Knopf "Reset", gefolgt von dem runden Knopf
"Enable". Der Roboter ist nun referenziert. Linearbewegungen und Programmen können nun abge-
fahren werden.
Abbildung 28: Drücken Sie dazu die Taste "Play" am oberen Rand des Displays und wählen Sie mit
den Tasten "prev" und "next" ein Programm auswählen, das für Ihren Roboter geschrieben wurde.
9.5 Setzen der digitalen Ausgänge und Ablesen der digitalen Eingänge
Die digitalen Ausgänge können durch Drücken der abgebildeten Schalter gesetzt werden (s. Abb. 29).
Die Felder darunter zeigen die Zustände der digitalen Eingänge. Mit den drei Schaltflächen auf der
linken Seite können Sie zwischen mehreren DIO-Modulen wechseln.
Abbildung 29: Wenn z.B. ein Greifer an das DIO-Modul angeschlossen ist, kann dieser durch Um-
schalten der abgebildeten Schalter aktiviert oder deaktiviert werden.
Abbildung 30: Der Name eines Programms wird angezeigt, z.B. während ein Programm läuft. Die
Achspositionen der Achsen 1-5 werden angezeigt (A1-A5). Die Temperatur der Achsmodule wird
ebenfalls angezeigt. Aufgrund der unterschiedlichen Belastungen der einzelnen Achsen werden un-
terschiedliche Halteströme angelegt, die zu wechselnden Temperaturen der Schrittmodule führen.
1. Bewegen Sie den Roboter manuell an die Position, die Sie aufzeichnen möchten
2. Zeichnen Sie die Position auf und legen Sie fest, wie diese Position erreicht werden soll (Line-
ar-/Achsbewegung)
3. Wiederholen Sie diese Schritte und fügen Sie bei Bedarf zwischendurch digitale Ausgabebefehle
oder Programmflussbefehle hinzu.
Zum Erstellen und Bearbeiten dieser Programme steht der integrierte Editor zur Verfügung.
10.1 Programmeditor
Im Roboterprogramm besteht jeder Befehl aus einer Zeile, z.B. "Joint" oder "Wait". Nur Befehle, die
den Programmfluss steuern, werden in mehrere Zeilen aufgeteilt, z.B. "Loop" und "EndLoop". Der
Programmeditor wird mit der Schaltfläche "Bearbeiten" im "Bewegung"-Tab von iRC geöffnet.
Es öffnet sich das folgende Fenster, hier mit einem kurzen Programm:
Die folgenden Abschnitte zeigen, wie man Programme mit dem Editor erstellt.
Um einen Befehl zu verschieben verwenden Sie die Pfeile auf der rechten Seite der Befehlszeile. Al-
ternativ können Sie im Kontextmenü der Befehlszeile auf "Nach unten" oder "Nach oben" klicken (s.
Abb. 33).
Der Programmeditor verhindert fehlerhafte Befehle, die die Struktur des Programms beschädigen
würden. Wenn das Verschieben eines Befehls nach oben oder unten nicht möglich ist, werden die
entsprechenden Schaltflächen und Menüpunkte ausgegraut.
Bestimmte Befehle erfordern Positionswerte als Parameter. Häufig ist es wünschenswert, die aktuelle
Position des Roboters zu verwenden. Die Eingabe von Hand kann einige Zeit dauern und ist fehler-
anfällig. Für solche Fälle können Sie den Befehl "nachzubessern":
• Markieren Sie den Befehl und klicken Sie im Menü "Bearbeiten" auf "Nachbessern!"
• Markieren Sie den Befehl aus und drücken Sie dann Strg+T
• Öffnen Sie das Kontextmenü durch einen Rechtsklick auf die Befehlszeile und klicken Sie auf
"Nachbessern!" (s. Abb. 33).
Der Programmeditor ersetzt dann die Positionswerte im Befehl durch die aktuelle Position des Robo-
ters.
Es ist möglich, Programme befehlsweise auszuführen oder zu Testzwecken einen bestimmten Befehl
als Startpunkt eines Programms auszuwählen. Der Befehl, der beim nächsten Start des Programms
zuerst ausgeführt wird, oder - falls das Programm gerade läuft - der aktuell ausgeführte Befehl wird
im Programmeditor durch einen Punkt markiert. Das Unterprogramm, das diesen Befehl enthält, ist
ebenfalls durch einen Punkt vor dem Programmnamen gekennzeichnet.
Um einen bestimmten Befehl als Startpunkt für die Ausführung zu wählen, klicken Sie im Kontext-
menü auf "Hier starten" (s. Abb. 33).
Der Programmeditor fügt zu Beginn jedes Programms den Pseudobefehl "Start" ein. Er stellt keinen
echten Befehl dar, sondern zeigt Informationen über die aktuelle Hardware, Software und Kinematik
an. Es ist nicht möglich, ihn zu verschieben oder zu entfernen.
Beim Laden eines Programms werden diese Informationen abgeglichen um zu vermeiden, dass ein
Roboter ein inkompatibles Programm ausführt.
Abbildung 34: Die Start-Zeile enthält Informationen über die aktuelle Hardware.
10.2.2 Beschreibungen
Jeder Befehl eines Programms enthält eine Beschreibung. Sie sollte dazu genutzt werden anderen
Benutzern zu beschreiben wozu der Befehl dient.
10.2.3 Kommentare
Der Befehl Kommentar kann verwendet werden, um reine Beschreibungen in Programme einzufü-
gen. Er hat keine Auswirkungen auf den Roboter während der Ausführung.
Er ist im Programmeditor im Menüeintrag "Sonderbefehle" → "Kommentar" zu finden.
10.3 Bewegung
10.3.1 Abbruchbedingungen
Jeder Bewegungsbefehl kann mit einer Abbruchbedingung versehen werden. Es handelt sich um ei-
nen bedingten Ausdruck, der der in Abschnitt 10.5.1 beschriebenen Syntax folgt. Während der Aus-
führung des Bewegungsbefehls wird die Anweisung kontinuierlich ausgewertet, und in dem Moment,
in dem sie als "wahr" bewertet wird, hält der Roboter die Bewegung an. Sie kann jeweils unter "Ab-
bruchbedingung" für jeden Bewegungsbefehl angegeben werden.
Für jeden Bewegungsbefehl kann eine Achsbeschleunigung (prozentualer Anteil der maximalen Be-
schleunigung) und ein Glättungsfaktor angegeben werden um abrupte Bewegungen zu verhindern.
Bei einem Glättungsfaktor von 1-100% wird die Bewegungsanweisung mit der darauf folgenden An-
weisung überschliffen, sodass beispielsweise mehrere Linearbewegungen flüssige Kurven bilden an-
statt bei jedem Zielpunkt abzubremsen und neu zu anzufahren.
Das Überschleifen ist nur bei direkt auf einander folgenden Bewegungsanweisungen gleicher Art
möglich. Z.B. können Linear und Kreisbewegungen mit einander überschliffen werden und Achsbe-
wegungen mit sich selbst. Wird eine Bewegungssequenz von einer Bewegung anderer Art oder einer
Logikanweisung unterbrochen wird auch das Überschleifen unterbrochen und der Roboter stoppt
kurz. Die maximale Anzahl der auf einander folgenden überschleifbaren Anweisungen ist je nach Ro-
boter auf 5-20 begrenzt um Rechenpausen im Programmablauf zu verhindern. Bei langen Bahnen
zeigt sich dies durch ein regelmäßiges Abbremsen und neu Anfahren.
Falls Ihr Anwendungsfall lange ununterbrochene Bahnen erfordert können Sie die Be-
grenzung erhöhen. Beachten Sie dass dies bei sehr langen Pfaden zu einer kurzen Re-
chenpause vor dem Anfahren führen kann. Mehr Informationen finden Sie auf unserem
Wiki unter dem Stichwort "LookAhead".
[Link]
othing
10.3.3 Achsbewegung
Der Befehl Joint bewegt den Roboter zu einer absoluten Zielposition, die in Achskoordinaten (z.B.
Achswinkel oder Position einer Linearachse) angegeben ist. Die daraus resultierende Bewegung des
TCP ist in der Regel eine Kurve und keine gerade Linie. Die Zielposition kann auf folgende Weise
angegeben werden (wählen Sie die entsprechende "Quelle"):
• "Konstante": Die Zielposition ist ein konstanter Wert für jede Achse.
• "Variable": Die Zielposition wird aus der Positionsvariablen übernommen, die unter "Variable"
angegeben wird.
Die Bewegungsgeschwindigkeit wird durch "Geschwindigkeit" angegeben. Sie wird in Prozent der
maximal erlaubten Bewegungsgeschwindigkeit für die jeweiligen Roboterachsen gemessen.
Der Joint-Befehl kann im Programmeditor unter den Menüeinträgen "Aktion" → "Achsbewegung"
und "Aktion" → "Variable Bewegung" → "Achsbewegung" aufgerufen werden.
Der Befehl Linear bewegt den Roboter zu einer absoluten Zielposition, die in kartesischen Koordi-
naten angegeben ist. Die resultierende Bewegung des TCP folgt einer geraden Linie. Die Zielposition
kann wie folgt angegeben werden (wählen Sie die entsprechende "Quelle"):
• "Konstante": Die Zielposition ist eine Konstante, die durch kartesische Koordinaten X, Y, Z, die
Eulerwinkel A, B, C sowie die Positionen der externen Achsen gegeben ist, wenn diese von der
Roboterkinematik unterstützt werden.
• "Variable": Die Zielposition wird aus der Positionsvariablen übernommen, die unter "Variable"
angegeben wird.
Die Bewegungsgeschwindigkeit wird durch "Geschwindigkeit" in mm/s angegeben. Wenn sie die ma-
ximal zulässige Bewegungsgeschwindigkeit des Roboters überschreitet, führt dies zu einem kinemati-
schen Fehler während der Ausführung. Der Linear-Befehl kann im Programmeditor unter "Aktion" →
"Linearbewegung" und "Aktion" → "Variable Bewegung" → "Linearbewegung" aufgerufen werden.
Der Befehl Relativ erlaubt es, den Roboter relativ zu seiner aktuellen Position zu bewegen. Er kann
über die Menüpunkte unter "Aktion" → "Relative Bewegung" aufgerufen werden.
Unter "Typ" können die folgenden Modi der Relativbewegung gewählt werden:
• "Achsbewegung": Der relative Versatz wird in Achskoordinaten angegeben. Die Bewegungsge-
schwindigkeit wird durch "Geschwindigkeit" in Prozent der maximal erlaubten Bewegungsge-
schwindigkeit für die jeweiligen Roboterachsen angegeben.
• "Linear - Basis": Es wird eine lineare Bewegung mit einem in kartesischen Koordinaten angege-
benen Versatz durchgeführt. Das für den Versatz verwendete Koordinatensystem ist das Robo-
terkoordinatensystem. Die Geschwindigkeit wird durch "Geschwindigkeit" angegeben. Sie wird
in mm/s gemessen, wenn sie die maximal zulässige Bewegungsgeschwindigkeit des Roboters
überschreitet, führt dies zu einem kinematischen Fehler während der Ausführung.
• "Linear - Werkzeug": Es wird eine lineare Bewegung mit einem in kartesischen Koordinaten
angegebenen Versatz durchgeführt. Das für den Versatz verwendete Koordinatensystem sind
Werkzeugkoordinaten. Die Bewegungsgeschwindigkeit wird durch "Geschwindigkeit" angege-
ben. Sie wird in mm/s gemessen. Wenn sie die maximal zulässige Bewegungsgeschwindigkeit
des Roboters überschreitet, führt dies zu einem kinematischen Fehler während der Ausführung.
10.3.6 Kreisbewegung
Die Anweisung "Kreisbewegung" ermöglicht Bewegungen entlang einer Voll- oder Teilkreisbahn. Sie
ist kompatibel zu Linearbewegungen, sodass der Übergang von und zu Linearbewegungen über-
schliffen werden kann.
Die Kreisbahn wird definiert durch drei Punkte und optional einem Zielwinkel. Der Anfangspunkt
ist die Position vor Start der Kreisbewegung, in der Regel die Zielposition der vorherigen Anweisung.
Position 1 ist eine Hilfsposition auf der Kreisbahn, die überfahren wird. Position 2 ist die Zielposition
auf der Kreisbahn. Wenn ein Zielwinkel angegeben ist kann die Bewegung vor erreichen der Punkte
stoppen oder darüber hinaus gehen. Bei Angabe von Winkeln größer 360° wird der Kreis mehrfach
gefahren, negative Winkel kehren die Drehrichtung um.
Darüber hinaus können die Zielorientierung des Werkzeugs und die Zielpositionen der externen Ach-
sen angegeben werden. Diese werden über die Kreisstrecke linear interpoliert.
Die Angabe der Positionen ist konstant oder über zwei Positionsvariablen möglich. Dabei sind die
Zielorientierung und die externen Achsen in der Variable für Position 2 (Zielposition) anzugeben.
Programmierung einer Kurvenbahn per Teach-In
1. Fahren Sie den Roboter an die Startposition der Kurven und fügen Sie eine Line-
aranweisung hinzu.
2. Fahren Sie den Roboter an eine beliebige Position auf der Kurven, z.B. die Hälfte
des Wegs. Fügen Sie die Kreisanweisung hinzu.
3. Fahren Sie den Roboter an das Ende der Kurven und klicken Sie die Schaltfläche
"Aktuelle Position setzen" in der Zeile "Position 2"
4. Optional: Klicken Sie die Schaltfläche "Aktuelle Ori + Ext setzen" wenn sich die
Werkzeugorientierung oder die Zusatzachsen während der Kurvenbahn ändern.
Programmierung einer Kreisbewegung durch Berechnung der Kreispunkte
Für einfache, an den Achsen des Koordinatensystems ausgerichtete Kreisbewegungen
empfiehlt es sich zur Berechnung der Start-, Hilfs- und Zielposition die Koordinaten
des Kreismittelpunkts zu berechnen und den Radius entlang der kartesischen Achsen
zu addieren bzw. zu subtrahieren.
10.3.7 Dauerbewegung
Die Anweisung "Dauerbewegung" weist eine externe Achse dazu an sich mit konstanter Geschwin-
digkeit zu bewegen, beispielsweise für ein Förderband. Die Bewegung stoppt erst wenn eine Bewe-
gung von 0 Einheiten/s zugewiesen oder das Programm gestoppt wird. Diese Funktion wirkt sich
nur auf externe Achsen aus, die für den Geschwindigkeitsmodus konfiguriert sind (siehe Abschnitt
11.1.4).
Digitale Eingänge und globale Signale sind als reservierte Wörter in bedingten Anweisungen verfüg-
bar (siehe Abschnitt 10.5.1) Bei globalen Signalen sind dies GSig1, GSig2, etc. bei digitalen Eingängen
Din1, Din2, etc. Je nach Zustand werden sie als "wahr" oder "falsch" ausgewertet.
Mit dem Befehl Digital Output werden digitale Ausgängen und globale Signale gesetzt.
Unter "Kanaltyp" wird angegeben, ob ein digitaler Ausgang oder ein globales Signal gesetzt wer-
den soll. Unter "Kanal ID" wird der Kanal des digitalen Ausgangs oder des globalen Signals, unter
"Zustand" der gewünschte Zustand nach Ausführung des Befehls angegeben. Der Befehl ist im Pro-
grammeditor unter "Aktion" → "Digitaler Ausgang" zugänglich.
Der Befehl Gripper ermöglicht die Steuerung des Greifers des Roboters. Er ist im Programmeditor
über den Menüeintrag "Aktion" → "Greifer" zugänglich.
Unter "Öffnung" können Sie die gewünschte Öffnung, gemessen in Prozent, einstellen. Ein Wert von
0% steht für einen vollständig geschlossenen, 100% für einen vollständig geöffneten Greifer. Bei Grei-
fern, die nur entweder vollständig geöffnet oder vollständig geschlossen werden können, liegt die
Schwelle zwischen diesen Zuständen bei 50%.
10.5 Programmfluss
10.5.1 Bedingungen
Die Syntax der bedingten Anweisungen ist durch die folgende EBNF-Definition gegeben:
10.5.2 Stop
10.5.3 Pause
Der Befehl Pause unterbricht die Ausführung des Programms. Die Ausführung kann später vom Be-
nutzer wieder aufgenommen werden.
10.5.4 Wait
Der Befehl Wait weist den Roboter an zu warten, bis eine vorgegebene Zeitspanne vergangen oder
eine Bedingung erfüllt ist. Er ist über die Menüeinträge unter "Programmfluss" → "Warten" im Pro-
grammeditor der iRC zugänglich.
Die verschiedenen Modi können unter "Typ" ausgewählt werden:
• "Zeitspanne": Die unter "Zeitspanne" angegebene Zeit wird abgewartet.
• "Bedingung": Es wird gewartet, bis die unter "Ausdruck" angegebene Bedingung als "wahr"
bewertet wird.
10.5.5 If-then-else
Der If-Befehl verzweigt die Ausführung des Programms in Abhängigkeit vom Wert eines bedingten
Ausdrucks. Er ist über den Menüeintrag "Programmfluss" → "If...then...else" im Programmeditor der
iRC zugänglich.
Die angegebene Bedingung muss der in Abschnitt 10.5.1 beschriebenen Syntax entsprechen. Die An-
weisungen zwischen "If" und "Else" werden ausgeführt, wenn die Bedingung als wahr ausgewertet
wird. Andernfalls werden die Anweisungen zwischen "Else" und "EndIf" ausgeführt.
10.5.6 Schleifen
Der Befehl Loop ermöglicht die Definition von Ausführungsschleifen. Unter "Typ" kann zwischen den
folgenden Schleifentypen gewählt werden:
• "Bedingung": Die Schleife wird so lange wiederholt, bis die angegebene Bedingung als "wahr"
ausgewertet wird. Sie muss der in Abschnitt 10.5.1 beschriebenen Syntax entsprechen.
• "Zähler": Die Schleife wird die unter "Wiederholungen" angegebene Anzahl von Malen wieder-
holen.
Der Schleifenbefehl ist über die Menüpunkte "Programmfluss" → "Schleife" zugänglich.
Die Rasteranweisungen berechnen an einem Raster ausgerichtete Positionen, z.B. als Greif- oder Ab-
lageposition für Palettierungsaufgaben. Abbildung 36 zeigt ein Bewegungsmuster, das durch die Ver-
wendung der Rasteranweisungen ausgeführt werden kann.
iRC bietet zwei Ansätze um dies zu realisieren:
Anweisungart Beschreibung
Rasterschleife Führt einen Anweisungsblock für jede Rasterposition aus.
Rasterdefinition und Rasterabfrage Ermöglicht die Berechnung beliebiger Rasterpositionen an-
hand einer Indexvariablen.
Die Rasterschleife eignet sich für einfache Anwendungsfälle bei denen die Positionen strikt in ihrer
Reihenfolge abgearbeitet werden. Die Schleife beginnt mit der ersten Position und wird erst nach der
letzten Position verlassen. Die Rasterdefinition und -abfrage ist flexibler, es können mehrere Raster
Abbildung 36: Die Matrixbewegung erfolgt von Punkt A nach B, dann in Richtung C versetzt.
gleichzeitig verwendet werden und die Positionen in beliebiger Reihenfolge abgerufen werden, al-
lerdings muss die Indexvariable durch zusätzliche Logik gezählt werden. Dies ermöglicht bspw. mit
einer teilgefüllten Palette zu beginnen oder Positionen zu überspringen.
Die Rasterschleife kann über den Menüpunkt "Programmfluss" → "Schleife" → "Raster" hinzugefügt
werden. Rasterdefinition und Rasterabfrage befinden sich im Menü "Sonderbefehle" → "Raster".
Die als "Punkt A", "Punkt B" und "Punkt C" angegebenen Positionsvariablen definieren die Ecken des
Bereichs, der von der Rasterschleife abgedeckt wird (siehe Abbildung 36). Die Anzahl der durchzufüh-
renden Schritte wird durch "Zähler X" (von A nach B) und "Zähler Y" (von A nach C) angegeben. In
der obigen Abbildung ist beispielsweise X=4 und Y=3.
Der Block zwischen "Matrix" und "Matrix End" wird für jeden Schritt ausgeführt. Die Positionsva-
riable "Zielposition" enthält die Position des aktuellen Zielpunktes für den jeweiligen Schritt. Zeile
und Spalte des aktuellen Schrittes werden in den Zahlenvariablen gespeichert, die an "Zähler X" bzw.
"Zähler Y" gegeben werden.
Die Anweisungen Rasterdefinition und -abfrage verwenden die selben Parameter: Die Abmessungen
und Eckpunkte sind in der Rasterdefinition festgelegt, die Index- und Ausgabevariablen in der Ras-
terabfrage. Durch einen Namen werden unterschiedliche Raster identifiziert.
Abbildung 38: Verwendung der Rasterdefinition- und Rasterabfrageanweisung. Die Definition der Va-
riablen wurde ausgelassen.
10.5.8 Unterprogramme
10.6.1 Benutzervariablen
Es ist möglich, Benutzer-Variablen mit dem Befehl Store zu definieren, der im Programmeditor über
die Menüeinträge unter "Sonderbefehle" → "Variablendefinition" zugänglich ist.
Drei Arten von Speicheroperationen können gewählt werden:
• "Derzeitige Position":
Eine Positionsvariable wird mit der kartesischen und Achsposition initialisiert, die der Roboter
bei der Ausführung des Befehls hat.
• "Zahlenkonstante":
Eine Zahlenvariable wird mit der unter "Wert" angegebenen Konstante initialisiert (s. Abb. 39).
• "Positionskonstante":
Eine Positionsvariable wird mit den unter "Kartesische Position", "Achsposition" und "Externe
Achsen" angegebenen Konstanten initialisiert (s. Abb. 40). Je nach dem kinematischen Modell
des aktuellen Roboters kann es sein, dass bestimmte Achsen nicht verfügbar sind.
Der Name der Variable kann unter "Variable" eingestellt werden. Wenn eine Variable mit dem selben
Namen bereits definiert wurde, werden ihr Wert und ihr Typ überschrieben. Alle Variablen sind global,
d.h. sie sind auch von Unterprogrammen aus zugänglich.
10.6.2 Systemvariablen
Die folgenden vordefinierten Variablen stehen zur Verfügung, ohne dass sie definiert werden müssen:
• #position: Die aktuelle Position des Roboters.
• #programrunning: 1 wenn das Roboterprogramm läuft, sonst 0
• #logicprogramrunning: 1 wenn das Logikprogramm läuft, sonst 0
Beachten Sie, dass das System die Werte von vordefinierten Variablen kontrolliert - sie können nicht
vom Programm geändert werden. Die Namen von vordefinierten Variablen beginnen immer mit "#"
Berechnungen mit Variablen können mit dem Befehl Math ausgeführt werden, der im Programmedi-
tor über die Menüeinträge "Sonderbefehle" → "Variablenoperation" zugänglich ist.
"Erster Operand" definiert den ersten Operanden der Operation, die ausgeführt werden soll. Er wird
auch dazu verwendet, das Ergebnis zu speichern.
"Zweiter Operand" definiert den zweiten Operanden der Operation. Er kann numerische Konstanten,
Namen von Zahlenvariablen oder Komponenten von Positionsvariablen enthalten.
Die folgenden Operationen werden unterstützt und können unter "Operation" ausgewählt werden:
• Zuweisung: Der erste Operand wird auf den Wert des zweiten Operanden gesetzt.
• Addition: Der erste Operand um den Wert des zweiten Operanden erhöht.
• Subtraktion: Der erste Operand um den Wert des zweiten Operanden verringert.
• Multiplikation: Der erste Operand mit dem Wert des zweiten Operanden multipliziert.
• Division: Der erste Operand durch den Wert des zweiten Operanden geteilt.
• Modulo: Der Rest der Division des ersten Operanden durch den zweiten Operanden wird in den
ersten Operanden gespeichert.
Folgende Kombinationen von Operanden und Operator sind erlaubt (mit Zahl sind hier ebenfalls
Positionskomponenten gemeint):
Sie können die aktuellen Werte aller definierten Variablen in iRC in der Registerkarte "Programme
und Variablen" im Statusbereich beobachten.
10.7 Kamera
Die Kameraanweisung ermöglicht das Abrufen von Objektinformationen von einer Objekterkennungs-
kamera. Zu den Informationen gehören Greifposition und Orientierung, sowie Objekttyp und Erken-
nungszustand.
Um eine Kamera zu verwenden muss diese im Konfigurationsbereich definiert und kalibriert sein (s.
Abschnitt 11.5.5). Die Programmanweisung kann über den Menüeintrag "Sonderbefehle" → "Kame-
ra" hinzugefügt werden.
Unter Typ muss der Typ der Kamera gewählt, unter Name der in der Konfiguration festgelegte Na-
me eingetragen werden. Die Ausgabevariablen für Zielposition und Modellklasse müssen zuvor per
Store-Anweisung deklariert worden sein. Die Zielposition enthält die Position und Orientierung des
Objekts im Koordinatensystem des Roboters, während die Modellklasse eine Identifikationsnummer
für den erkannten Objekttyp enthält. Wenn kein Objekt erkannt wurde ist der Wert der Modellklasse
"-1".
Die Kameraanweisung wartet nicht, wenn kein Objekt erkannt wurde. Prüfen Sie durch
ð eine If-Bedingung oder eine Bedingungsschleife, ob die Kamera tatsächlich ein Objekt
erkannt hat!
Die Orientierung des Objekts kann zu einer langsamen Linearbewegung des Roboters
ð führen!
Wenn die Drehung der Werkzeugachse länger dauert als die Bewegung des Werkzeugs
zur Objektposition, dann wird die Bewegung entsprechend verlangsamt. Dies geschieht
auch wenn keine Werkzeugachse verbaut ist. Falls die Objektorientierung nicht relevant
oder keine Werkzeugachse verbaut ist kann dies wie folgt vermieden werden:
1. Ermitteln Sie die Orientierung des Roboters vor dem Anfahren der Objektpositi-
on, beispielsweise indem Sie dort eine neue Positionsvariable definieren und mit
der aktuellen Position initialisieren. Falls keine Werkzeugachse verbaut ist kön-
nen Sie die konstanten Orientierungswerte aus dem Informationsbereich von iRC
verwenden.
11 Konfiguration
Das Verhalten des Roboters kann über die Konfiguration geändert werden. Die wichtigsten Parameter
finden Sie im Konfigurationsbereich der iRC - igus Robot Control, der über "Datei" geöffnet werden
kann (siehe Abb. 43). Das Projekt betreffende Einstellungen finden Sie dabei unter "Projektkonfigura-
tion", projektübergreifende Einstellungen unter "Roboterkonfiguration". Die Schnittstellen können
über "Schnittstellenkonfiguration" ebenfalls projektweise konfiguriert werden.
Ändern Sie die Konfigurationsdateien nur wenn Sie wissen was Sie tun! Testen Sie den
, Roboter vorsichtig, da er sich unerwartet schnell bewegen oder kollidieren könnte! Än-
derungen der Firmwareparameter können zur Überhitzung der Motoren oder der Elek-
tronik führen!
Falls Sie einen Roboter mit integrierter Steuerung (TinyCtrl) verwenden müssen die Änderungen
auch dort vorgenommen werden. Bei Änderungen über den Konfigurationsbereich verbinden Sie vor-
her den Roboter. Bei Klick auf "Anwenden" oder "Projekt speichern" werden die Änderungen auto-
matisch mit der Robotersteuerung synchronisiert. Änderungen an den Konfigurationsdateien müs-
sen manuell übertragen werden, verwenden Sie dazu den Bereich "Zugriff auf Konfiguration".
Einige Änderungen der integrierten Robotersteuerung werden erst nach einem Neu-
ð start übernommen. Warten Sie nach dem Übertragen mindestens 20 Sekunden und
starten Sie den Roboter neu.
11.1 Projektkonfiguration
11.1.1 Programm
Hier können Sie das Roboter- und Logikprogramm, die Bewegungsgeschwindigkeit (in Prozent der
Höchstgeschwindigkeit), den Abspielmodus und die Reaktion bei Programmfehlern festlegen.
11.1.2 Werkzeug
Hier kann das montierte Werkzeug festgelegt werden. Das Ändern des Werkzeug erfordert ein Neula-
den des Projekts beziehungsweise den Neustart der integrierten Steuerung.
Neue Werkzeuge können als Konfigurationsdatei im Verzeichnis "Data/Tools" definiert werden. Neue
und geänderte Werkzeuge werden nicht automatisch mit der integrierten Steuerung synchronisiert.
Um Änderungen zu Übertragen öffnen Sie den Bereich "Datei" → "Werkzeugkonfiguration", klicken
Sie die Schaltfläche "Hinzufügen" im Bereich "Werkzeugkonfiguration" und wählen Sie die neue Werk-
zeugkonfigurationsdatei.
Die virtuelle Box definiert einen Bereich, den der Werkzeugmittelpunkt des Roboters nicht verlassen
darf. Bei Überschreiten der Grenzen stoppt die Bewegung.
11.1.4 Zusatzachsen
Die Robotersteuerung unterstützt bis zu 3 Zusatzachsen (in iRC auch "externe Achse" genannt). Diese
können entsprechend der Roboterachsen eingebaut und über den Konfigurationsbereich von iRC
konfiguriert werden.
Beim Einbau der Achsmodule muss die CAN-ID festgelegt werden. Bei Motormodulen von Common-
place Robotics geschieht dies über den Drehschalter oben am Modul, Tabelle 8 beschreibt die stan-
dardmäßige Belegung. Noch nicht vergebene CAN-IDs können für Zusatzachsen verwendet werden.
Bei CANopen-Steuerungen können die IDs beliebig im Bereich 1-128 gewählt werden.
Nach Einschalten der Steuerung und Verbinden von iRC kann im Konfigurationsbereich (Datei →
Projektkonfiguration → Externe Achsen) die Anzahl der Zusatzachsen angegeben werden. Daraufhin
erscheint für jede Achse ein Parametersatz mit folgenden Einträgen:
Die Geschwindigkeit im Geschwindigkeitsmodus ist nicht präzise. Testen Sie die Konfi-
, guration mit geringem Override und passen Sie den Geschwindigkeitsparameter gege-
benenfalls an.
Nach dem Ändern der externen Achsen muss das Projekt gespeichert und neu geladen
ð werden. Ein Roboter mit integrierter Steuerung muss nach mindestens 30s neu gestar-
tet werden.
Die Rechenformel 1 zeigt die Berechnung der Encoderschritte je Einheit aus der Anzahl der Encoder-
schritte, der Getriebeübersetzung und der zurückgelegten Strecke einer vollen Abtriebsumdrehung
in beliebiger Einheit. Beispiel 2 zeigt die Berechnung einer Rotationsachse, wie sie beispielsweise als
Achse 4 eines RL-DP-5 verbaut ist. Beispiel 3 zeigt die Berechnung einer Linearachse ohne Getriebe.
Nach dem Ändern der Achslängen muss die Roboterkonfiguration gespeichert und neu
ð geladen werden. Ein Roboter mit integrierter Steuerung muss nach mindestens 30s neu
gestartet werden.
11.3 Ein-/Ausgänge
Die Steuerung unterstützt verschiedene Arten von Ein- und Ausgängen, die im Projektkonfigurati-
onsbereich unter "Ein-/Ausgänge" konfiguriert werden können:
• Basis-Ein-/Ausgänge: Diese Ein- und Ausgänge mit Nummern von 1-20 sind nur für Roboter
der Mover-Serie relevant. Bei DIN-Rail-Steuerungen werden sie ignoriert.
• DIN-Rail Ein-/Ausgänge: Bis zu 3 Ein-/Ausgabemodule können ähnlich der Motormodule über
die DIN-Schiene angeschlossen werden.
• Globale Signale: Diese sind virtuelle Ein-/Ausgänge. Sie können über Roboterprogramme, die
CRI-Schnittstelle oder die Modbus-Schnittstelle gesetzt und gelesen werden. Es können bis zu
100 globale Signale verwendet werden.
Der einfachste Weg, eine speicherprogrammierbare Steuerung (SPS) anzuschließen, ist über digitale
Ein- und Ausgänge. Jede Robotersteuerung wird mit einem DIO-Modul geliefert. Dieses bietet 7 Ein-
gänge und 7 Ausgänge. Wenn zusätzliche Ein- und Ausgänge erforderlich sind, können bis zu zwei
zusätzliche DIO-Module integriert werden. Insgesamt können bis zu 3 DIO-Module angesteuert wer-
den.
Die Ausgänge werden über Halbleiterrelais gesteuert und können bis zu 500 mA schalten. Dieser Wert
darf während des Schaltvorgangs nicht überschritten werden (z.B. durch Ladeströme von Kondensa-
toren), um eine Beschädigung der Relais zu verhindern.
Die Ein- und Ausgänge sind von der Robotersteuerung galvanisch getrennt. Eine Stromversorgung
(im Bild oben mit "IO Supply" bezeichnet) muss angeschlossen werden. Die integrierte 24 V-Versor-
gung kann ebenfalls verwendet werden.
Um DIN-Rail-Module hinzuzufügen bauen Sie diese zunächst in den Schaltschrank ein und stellen
Sie die CAN-IDs entsprechend der Tabellen 12 ein.
11.3.2 Software-Konfiguration
Schalten Sie dann die Steuerung ein und verbinden Sie iRC. Geben Sie im Konfigurationsbereich die
Anzahl der Ein-/Ausgabemodule ein. Speichern Sie die Konfiguration und Starten Sie nach 30 Sekun-
den die Steuerung samt iRC neu. Falls andere CAN-IDs gewünscht sind können diese manuell in der
Projektkonfigurationsdatei eingetragen werden.
Wenn mehr Module definiert als verbaut sind wird die Steuerung einen Modulfehler
ð melden und erst nach Beheben des Fehlers benutzbar sein.
Je Ein- und Ausgang können Sie einen beschreibenden Namen angeben. Dieser ist nur für die Anzei-
ge, jedoch nicht als Name in Programmbedingungen relevant. Der Reset-Zustand gibt an in welchen
Zustand ein Ausgang bei Reset wechselt, der Fehlerzustand wird angenommen, wenn ein Fehler auf-
tritt.
• Pin 1 (GND) des D-in 1-Anschlusses muss mit dem negativen Pol (-) der Stromversorgung des
Sensors verbunden werden.
• Das Sensorsignal (positiv) muss an einen Eingangspin angeschlossen werden: D-in 1 Stecker
Pins 2-4 oder D-in 2 Stecker Pins 1-4
• Die positive Seite des Sensors (+) muss an die Stromversorgung des Sensors angeschlossen wer-
den.
• Der Status der Eingänge kann im Register "Input/Output" unten in iRC überwacht werden.
• Ein Roboterprogramm kann Eingaben abfragen und darauf reagieren, z.B. mit einer if-then-el-
se-Anweisung
• Pin 1 (Versorgungsspannung) des Steckers D-out 1 muss mit einer Stromversorgung (z.B. 24V)
verbunden werden.
• Der Aktor (Relais usw.) wird dann über einen freien Pin der D-out-Stecker (D-Out 1 Pin 2-4 und
D-out 2 Pin 1-4) mit Strom versorgt.
• Sie können die Ausgaben manuell im Register "Eingabe / Ausgabe" unten in iRC einstellen.
• Ein Roboterprogramm kann den Zustand der Ausgänge mit der Digital-Out-Anweisung einstel-
len.
11.4 Motorbremse
Um ein Absacken der Achsen zu verhindern können elektromagnetische Bremsen verwendet werden,
die durch Anlegen einer Spannung die Achse freigeben. Ohne Spannung fallen Sie durch Federn in
den Bremszustand.
Die in den Motor integrierten Standardbremsen arbeiten unter 24V. Beachten Sie aber
ð bitte die Dokumentation der Motoren.
Für weitere Details ziehen Sie bitte die auf dem Wiki verfügbaren Schaltpläne zu Rate.
11.4.2 Software-Konfiguration
Im Datei/Roboterkonfiguration-Bereich der Software kann ein digitaler Ausgang für die Motorbremse
festgelegt werden. Der Ausgang wird beim Freigeben der Motoren aktiv geschaltet, sodass er ein Relais
ansteuern und darüber die Bremsen freigeben kann. Im Fehlerfall wird der Ausgang deaktiviert.
Der Parameter "Freigabeverzögerung" gibt an wie lange die Bremse nach Aktivieren der Motoren
noch im Bremszustand bleibt. Dies ermöglicht den Motoren erst ein Haltemoment aufzubauen bevor
sie die Achslast tragen müssen. Der Standardwert ist 500ms.
Die Notausüberwachung ermöglicht die Kopplung eines digitalen Eingangs mit dem 24V-Notausre-
lais um einen Spannungsverlust schneller zu erkennen (die Achsmodule erkennen einen Spannungs-
verlust aufgrund der verbauten Kondensatoren teils erst verzögert - dies kann zu Problemen führen
wenn der Notaus sehr schnell wieder gelöst wird). Die Bremsen werden schneller aktiviert und die
digitalen Ausgänge in ihre Fehlerzustände zurückgesetzt.
11.5 Schnittstellen
Zur Kommunikation mit und Steuerung durch andere Software und Geräte bietet iRC eine SPS-Schnitt-
stelle, die CRI-Ethernet-Schnittstelle und eine Schnittstelle zur Anbindung von ifm O2D-Kameras.
11.5.1 SPS-Schnittstelle
Die SPS-Schnittstelle ermöglicht die Ausführung von Basisfunktionen und die Signalisierung von Zu-
ständen mittels digitaler Ein- und Ausgänge. Neben der Steuerung durch eine SPS ermöglicht diese
Schnittstelle auch die Bedienung durch Hardwaretaster.
Die SPS-Schnittstelle erfordert freie digitale Ein- bzw. Ausgänge. Sie reagiert auf steigende Flanken an
Eingängen.
Folgende Eingabefunktionen werden unterstützt:
Aktivierung Setzt die Steuerung zurück und Aktiviert dann die Motoren
Referenzierungsanfrage Startet die Referenzierung aller Achsen
Start Startet die Ausführung des geladenen Programms, stoppt die Aus-
führung eines laufenden Programms oder führt ein pausiertes Pro-
gramm fort
Pause Pausiert ein laufendes Programm oder führt ein pausiertes Pro-
gramm fort
Alt-Start-Programm Ein-Tasten-Steuerung: Führt bei mehrmaligen Drücken des Tas-
ters nacheinander die folgenden Funktionen aus: Reset, Aktivie-
ren, Referenzieren (wenn noch nicht erledigt), Programm starten
Alt-Stop-Programm Ein-Tasten-Steuerung: Führt bei mehrmaligen Drücken des Tas-
ters nacheinander die folgenden Funktionen aus: Pause, Stopp, Re-
set
Herunterfahren Fährt den Steuerungsrechner herunter
Starte Plattform-Mission Startet die Mission der mobilen Plattform
Achs-Anweisung hinzufügen Achs-Anweisung zur aktuellen Position im Programmeditor hinzu-
fügen
Linear-Anweisung hinzufügen Linear-Anweisung zur aktuellen Position im Programmeditor hin-
zufügen
Kein-Fehler Ausgang ist aktiv, wenn der Roboter im fehlerfreien Zustand ist
Fehler Ausgang ist aktiv, wenn der Roboter im fehlerfreien Zustand ist
Roboter ist referenziert Ausgang ist aktiv, wenn alle Achsen referenziert sind
Programm läuft Ausgang ist aktiv, wenn ein Programm läuft
Programm läuft nicht Ausgang ist aktiv, wenn kein Programm läuft
Plattform-Mission läuft Die mobile Plattform führt eine Mission aus
Die Konfiguration der SPS-Schnittstelle erfolgt über den Konfigurationsbereich in iRC (Datei → Schnitt-
stellenkonfiguration → SPS-Schnittstelle). Um einen Roboter mit integrierter Steuerung zu konfigu-
rieren muss dieser verbunden sein. Das Feld "Aktiv" aktiviert die Schnittstelle, "Automatisch verbin-
den" führt dazu, dass iRC versucht sich automatisch mit dem Roboter zu verbinden. Die Zahlenfelder
zu den Ein- und Ausgängen entsprechen den Nummern der digitalen Ein-/Ausgänge. Um einzelne
Funktionen zu deaktivieren wählen Sie eine Nummer, die an keinem Hardwaremodul vorhanden ist,
z.B. "1".
Über digitale Eingänge oder globale Signale können Roboterprogramme geladen und gestartet wer-
den. Dies ist beispielsweise nützlich wenn über Taster oder die CRI-GSig-Anweisung ein Programm
aus einer vorgegebenen Auswahl gewählt werden soll. Die Konfiguration dazu ist im Konfigurations-
bereich der SPS-Schnittstelle im Abschnitt "Programmauslöser" zu finden.
Für jeden Programmauslöser können folgende Parameter angegeben werden:
11.5.3 Modbus
Über die Modbus-TCP-Schnittstelle können beispielsweise SPS Daten und Anweisungen an die Ro-
botersteuerung senden und Zustandsinformationen empfangen. Weitere Informationen zur Verwen-
dung und Lizenzierung dieser Schnittstelle finden Sie in Abschnitt 12.
Die Modbus-Schnittstelle kann über die Schnittstellenkonfiguration aktiviert werden. Anders als die
anderen Konfigurationsparameter werden diese Einstellungen nicht mit dem angeschlossenen Sys-
tem gespiegelt, um zu verhindern dass die Konfiguration der integrierten Steuerung und des Steue-
rungssoftware auf dem Windows-PC miteinander kollidieren. Aus diesem Grund beziehen sich die
angezeigten Parameter wenn eine Robotersteuerung angeschlossen ist auf diese, wenn keine ange-
schlossen ist auf die PC-Software.
Folgende Parameter können konfiguriert werden:
11.5.4 CRI-Schnittstelle
Die CRI-Schnittstelle ermöglicht das Senden komplexer Anweisungen und den Abruf von Informa-
tionen und Einstellungen über die Ethernetschnittstelle per TCP/IP. iRC verwendet diese Schnittstel-
le um sich mit Robotern mit integrierter Steuerung oder anderen Instanzen von iRC zu verbinden.
Standardmäßig ist diese Schnittstelle in iRC deaktiviert.
Eine Dokumentation aller unterstützten Anweisungen sowie Beispielcode kann unter folgendem Link
gefunden werden:
[Link]
Um die Schnittstelle in iRC zu aktivieren öffnen Sie den Konfigurationsbereich (Datei → Schnittstel-
lenkonfiguration → CRI-Schnittstelle). Die Schaltfläche "Starten" startet den CRI-Server, "Anhalten"
stoppt ihn. Das Statusfeld zeigt die gebundene IP-Adresse und Port sowie die Anzahl verbundener
Clients an. Falls eine bestimmte IP-Adresse verwendet werden soll kann Sie im Feld darunter einge-
tragen werden.
11.5.5 Kameraschnittstelle
Die Kameraschnittstelle ermöglicht die Verwendung von Objekterkennungs- und Videokameras. Ob-
jekterkennungskameras erkennen die Position und Klasse von Objekten und übertragen diese, op-
tional mit einem Videobild, an die Steuerung. Aus den Objektpositionen der Kamera berechnet die
Steuerung Positionen im Roboterkoordinatensystem. Reine Videokameras liefern nur Bilder und kön-
nen daher nur zur Beobachtung des Arbeitsbereichs, jedoch nicht für die Objekterkennung verwen-
det werden.
Derzeit unterstützt die Robotersteuerung folgende Kameraarten:
• ifm O2D Objekterkennungskameras und Kameras die deren TCP/IP-Protokoll nachbilden kön-
nen
• USB-Videokameras (z.B. Webcams und industrielle Kameras, die USB video class (UVC) unter-
stützen)
Die Kameras können über den Bereich "Kameras" der Schnittstellenkonfiguration zur Robotersteue-
rung hinzugefügt werden. Dort wird zwischen Kameras am PC und der integrierten Steuerung un-
terschieden. Wenn der Roboter von einer integrierten Steuerung gesteuert wird, dann müssen die
Kameras dort konfiguriert werden.
Die folgenden Abschnitte beschreiben die Konfiguration beider Kameratypen.
Nicht jede integrierte Steuerung unterstützt USB-Videokameras. Der Abschnitt unten
erklärt die Kompatibilität.
Zur Objekterkennung werden derzeit Kameras von ifm der Serie O2D200 unterstützt sowie Kameras
die das TCP/IP Protokoll nachbilden können (wie hier beschrieben: [Link]
m/[Link]/Remote_Variable_Access#Protocol).
Um eine Kamera hinzuzufügen wählen Sie den Typ der Kamera ("IFM O2D") und klicken Sie "Kamera
hinzufügen". Der Bereich "Allgemein" enthält folgende Parameter:
Aktiviert Aktiviert oder deaktiviert die Kamera. Im deaktivierten Zustand werden die
Werte aus dem Simulationsbereich verwendet (nur iRC)
Bild aktiviert Wenn dieses Feld aktiviert ist fragt die Robotersteuerung regelmäßig das ak-
tuelle Kamerabild an falls die Kamera dieses nicht selbstständig sendet. Un-
terstützt werden Bilder im Format "Windows Bitmap".
Name Name der Kamera im Roboterprogramm
Beschreibung Optionale Beschreibung
IP-Adresse IP-Adresse der Kamera
Port Portnummer der Kamera
Die Einträge im Geometrie-Bereich bestimmen die Verarbeitung der von der Kamera gelieferten Po-
sitionen (Pixelposition des Kamerabilds) zu Positionen relativ zum Roboter (s. Abb. 47):
Eine Schritt-für-Schritt-Anleitung und Tipps zur Parametrierung finden Sie in unserem
Wiki-Artikel:
[Link]
a_Integration
Der Simulationsbereich ermöglicht die Simulation der Kamera. Diese Funktion ist nicht in der inte-
grierten Steuerung verfügbar.
Zur Beobachtung des Arbeitsbereichs können USB-Kameras vom Typ USB video class (UVC) verwen-
det werden, beispielsweise Webcams oder industrielle USB-Videokameras. Die Robotersteuerung lei-
tet die empfangenen Bilder über folgende Schnittstellen weiter:
• CRI-Schnittstelle: Das Bild wird über, die Ethernet-Schnittstelle an iRC übertragen und kann
dort im Kamera-Statusbereich beobachtet werden (s. Abb. 48).
• Cloud-Schnittstelle: Wenn diese aktiviert und die Kamera zugewiesen ist wird das Bild an die
RobotDimension-Cloud übertragen. Das Bild kann über die Webseite beobachtet werden (s.
Abschnitt 11.5.7).
Kompatibilität:
Die USB-Kameraschnittstelle wird nur von integrierten Steuerungen unterstützt, die
auf dem Raspberry Pi basieren. Ältere Robotersteuerungen die von einem Phytec-Mo-
dul gesteuert werden unterstützen keine USB-Kameras. Die Windows-Software iRC un-
terstützt diese Kameraschnittstelle ebenfalls nicht, USB-Kameras können hier direkt im
Cloud-Konfigurationsbereich zugewiesen werden (s. Abschnitt 11.5.7).
Schließen Sie die Kamera an einen der USB-Ports am Steuerungsmodul an. Fügen Sie im Kamerakon-
figurationsbereich von iRC eine Kamera vom Typ USB hinzu, geben Sie ihr einen eindeutigen Namen
und wählen Sie die Gerätenummer. Gegebenenfalls müssen verschiedene Nummern im Bereich 0-10
ausprobiert werden. Im Kamera-Statusbereich wird der Verbindungsstatus und bei Erfolg das Kame-
rabild angezeigt. Um das Bild an die Cloud zu übertragen muss die Kamera anhand des angegebenen
Namens im Cloud-Konfigurationsbereich.
Die Kameranummer kann sich nach einem Neustart der Steuerung oder wenn eine an-
dere Kamera angeschlossen wurde ändern. Starten Sie die Steuerung nach der Konfigu-
ration neu und korrigieren Sie gegebenenfalls die Nummer.
11.5.6 Netzwerk
SSID WLAN-Netzwerkname
Passwort WLAN-Passwort
IP-Adresse WLAN-IP-Adresse der Steuerung. Über diese können Sie sich mit dem Ro-
boter verbinden. Ist im Infrastruktur-Modus optional, in dem Fall wird sie
automatisch zugewiesen.
Router-IP-Adresse Die IP-Adresse des Routers im Infrastruktur-Modus, welcher die Route zum
Internet bereitstellt. Dieser Eintrag ist optional und wird im Normalfall au-
tomatisch zugewiesen.
Die Einstellungen werden in der Regel direkt übernommen. Beim Aktivieren und Deaktivieren der
Schnittstelle ist ein Neustart der Steuerung notwendig. Wenn die Schnittstelle aktiviert wird ist sie
nach dem Neustart möglicherweise noch nicht freigeschaltet (ähnlich dem Flugzeugmodus mobiler
Geräte), in diesem Fall zeigt der Konfigurationsbereich eine Schaltfläche, über die sie freigeschaltet
werden kann. Falls beim Wechsel von Infrastruktur- zu Access-Point-Modus das neue WLAN-Netz
nicht automatisch aufgebaut wird starten Sie die Steuerung neu.
11.5.7 Cloud
Die Cloud-Schnittstelle ermöglicht die Überwachung des Roboters über RobotDimension. Nach Ak-
tivieren und Anmelden sendet der Roboter grundlegende Zustandsinformationen und Kamerabilder
an den Online-Dienst. Auf der Webseite kann der Nutzer seine Roboter auflisten und die Informatio-
nen abrufen. Die Steuerung des Roboters über das Internet ist aus Sicherheitsgründen nicht möglich.
[Link]
Um die Cloud-Schnittstelle zu verwenden wird eine Steuerung mit Internetverbindung benötigt, bei-
spielsweise eine integrierte Steuerung wie in Abschnitt 11.5.6 beschrieben oder ein PC mit iRC, wel-
cher mit einem Roboter verbunden ist. Zusätzlich ist ein Konto bei RobotDimension nötig, dort muss
neben dem Online-Passwort ein separates Roboterpasswort gesetzt werden.
Die Cloud-Schnittstelle kann über die Schnittstellenkonfiguration in iRC aktiviert werden. Wählen
Sie oben ob die Cloud-Schnittstelle am PC oder der integrierten Steuerung konfiguriert werden soll.
Um die Benutzerinformationen einzutragen muss das Feld "Anmeldedaten ändern" gesetzt werden.
Die folgenden Daten können optional zur Cloud gesendet werden, sie dienen lediglich der Informa-
tion.
Die Bilder von bis zu zwei Kameras können zur Cloud gesendet werden, beispielsweise um den Ar-
beitsbereich und die Umgebung zu überwachen. Bei einem Roboter der über iRC an die Cloud ange-
bunden ist können am PC angeschlossene USB-Kameras über die Gerätenummer gewählt werden.
Bei Erfolg wird ein Vorschaubild angezeigt. Im Fall eines Roboters mit integrierter Steuerung können
USB- und Objekterkennungskameras im Kamerakonfigurationsbereich konfiguriert und hier anhand
des dort angegebenen Namens zur Bildübertragung zugewiesen werden.
Auf den Steuerrechner kann z.B. zu Wartungszwecken per Secure Shell (ssh) (Port 22) zugegriffen
werden, um z.B. Projektdateien oder Roboterdateien manuell zu ändern. Benutzername ist "robot",
Passwort ist "robot".
[Link]
utty_Access
Die Windows-Software iRC und die integrierte Steuersoftware TinyCtrl benutzen Kon-
, figurationsdateien. Wenn auf einem dieser Systeme manuell (z.B. in einem Texteditor)
Änderungen in den Konfigurationsdateien gemacht werden, müssen diese auch auf der
anderen Seite durchgeführt werden. Sonst verhalten sich die Steuerungen nicht iden-
tisch, es kann zu Kollisionen kommen!
Über die Software PuTTY kann man sich mit dem Linux-Board verbinden und auf einer Kommando-
zeile arbeiten. Auf diese Weise kann man etwa die Live-Ausgaben der Robotersteuerung anschauen.
Für die Arbeit auf der Kommandozeile sind Linux-Kenntnisse notwendig!
[Link]
2. Herstellen der Ethernetverbindung. LAN Kabel mit Windows PC und integriertem Computer
verbinden. Der Windows-Netzwerkadapter muss die IP-Adresse [Link], Subnetz [Link]
haben. Der integrierte Computer hat die IP [Link] im Subnetz [Link].
3. Putty starten und im Feld "Host Name (or IP address)" die Adresse des integrierten Compu-
ters angeben: [Link]. "Port" auf 22 und "Connection Type" auf SSH stellen. Dann auf
"Open" klicken. Ein Fenster öffnet sich. Möglicherweise kommt eine Sicherheitsabfrage, ob die-
sem Computer vertraut werden kann.
4. Login: robot
5. Password: robot
6. Nach dem Login befindet man sich im home Verzeichnis des "robot" Benutzers, in dem sich
das TinyCtrl Verzeichnis befindet, dessen Inhalt dem iRC-Verzeichnis in Windows ähnelt.
10. Nach dem Editieren und Speichern der Datei muss die Steuerung neu gestartet werden, damit
Änderungen wirksam werden.
11. Um den TinyCtrl Log-Output live im Terminal anzuzeigen (das ist speziell nach Änderungen in
den Dateien sinnvoll), muss TinyCtrl zunächst beendet werden: killall TinyCtrl
12. Danach navigiert man in das Verzeichnis ~/TinyCtrl und startet ./TinyCtrl
Der "Secure Shell File Transfer Protocol" (SFTP)-Zugriff funktioniert prinzipiell wie der SSH-Zugriff
im Abschnitt oben, ermöglicht dem Benutzer jedoch zu Wartungszwecken Änderungen an den Pro-
jekt und Roboterdateien zu machen, ohne ein Terminal benutzen zu müssen.
[Link]
utty_Access
SFTP ist das SSH File Transfer Protocol. Mit ihm lassen sich Dateien von einem Computer auf den
anderen übertragen oder anpassen. FileZilla ist ein kostenloses FTP-Programm.
[Link]
2. Herstellen der Ethernet-Verbindung. LAN Kabel mit Windows PC und integriertem Computer
verbinden. Der Windows-Netzwerkadapter muss die IP Adresse [Link], Subnetz [Link]
haben. Der integrierte Computer hat die IP [Link] im Subnetz [Link].
1. Dazu navigiert man in den entsprechenden Ordner und kopiert die Datei per "Drag and Drop"
in einen lokalen Ordner.
2. Hier kann die Datei mit einem standard-Texteditor wie z.B. Windows Notepad editiert werden.
(Notepad++ ist ein besserer Texteditor [Link]
3. Sobald alle Änderungen in der lokalen Datei gespeichert sind, kann diese durch "Drag and
Drop" in den Zielordner auf dem Linux PC kopiert werden.
5. Um die Konfigurationsänderung wirksam werden zu lassen, muss die Steuerung neu gestartet
werden.
[Link]
[Link]
arameter_Configuration
Ändern Sie die Firmwareparameter nur wenn Sie wissen was Sie tun. Testen Sie den Ro-
, boter mit langsamer Geschwindigkeit und beobachten Sie die Temperaturen der Elek-
tronikmodule und Motoren.
Ändern Sie die Konfigurationsdateien nur wenn Sie wissen was Sie tun. Testen Sie den
, Roboter mit langsamer Geschwindigkeit, da er sich bei fehlerhafter Konfiguration un-
erwartet verhalten, sich zu schnell bewegen oder kollidieren kann.
12 Modbus
Das Modbus-TCP-Protokoll ermöglicht die Steuerung und den Abruf von Konfigurations- und Sta-
tusinformationen von auf TinyCtrl basierenden integrierten Robotersteuerungen. Hierdurch lassen
sich Roboter leicht durch speicherprogrammierbare Steuerungen (SPS) steuern und in Prozesse mit
weiteren Geräten einbinden.
12.1 Lizenzierung
Der Einsatz der Modbus-Funktionen erfordert eine Lizenz. Für eine Dauer von 30 Minuten sind die
Funktionen zu Testzwecken frei verwendbar, danach kann ein weiterer Testzeitraum durch einen
Neustart der Steuerung gestartet werden. Die Installation einer Lizenzdatei ist in der iRC-Dokumen-
tation beschrieben. Weitere Informationen erhalten Sie unter
[Link]
ip-schnittstelle
[Link]
ver
Für das Einbinden der Bibliothek wenden Sie sich bitte an den Siemens Support.
[Link]
ew/37364723
Zunächst wird mit dem Einfügen eines Roboterdatenbausteins vom Typ "CPR_ROBOT_MODBUS" be-
gonnen. Dieser Datenbaustein enhält alle wichtigen Informationen und Hilfen für die spätere Kom-
munikation mit dem Roboter. Nachfolgende Abbildung zeigt den Roboter Datentypen. An erster Stel-
le beinhaltet dieser ein "TCON_IP_v4" Objekt. Über dieses Objekt lässt sich die IP Adresse des Robo-
ters, sowie der zuverwendende Port einstellen. Die Verbindungs ID kann ebenfalls eingestellt. wer-
den.
Sollten Sie die IP Adresse ihres Roboters nicht verändert haben, so sind in den Defaultwerten bereits
die entsprechenden Adressen eingetragen. Im Struct Data sind alle Einträge aus dem Modbusmap-
ping erreichbar.
Nomenklatur
ð Alle Daten zum Senden an den Roboter sind mit CMD oder OUT gekennzeichnet.
Alle Daten, vom Roboter an die Steuerung, sind mit Info oder IN gekennzeich-
net.
Für die Kommunikation mit dem Roboter ist der FB CPR_Robot verantworlich. Dieser Baustein be-
nötigt folgen Eingangssignale.
Der Robot_Data Input gibt dem Baustein alle Notwendigen Daten vor um mit dem Roboter zu kom-
munizieren. Durch den Einsatz mehrer Datenbausteine und CPR_Robot FB’s ist es somit möglich mit
mehren Roboter gleichzeitig zu kommunizieren. Als Ausgänge stehen folgende Signale zur Verfügung.
12.3.3 Datenzugriff
Für den Zugriff auf die Roboterdaten können die Daten im Roboter DB manipuliert werden. Diese
werden im Anschluss automatisch an den Roboter übertragen und verarbeitet.
12.4 Adresszuordnung
Dieser Abschnitt beschreibt die Adresszuordnung um eigene Implementationen und Erweiterungen
der SPS-Funktionsblöcke zu ermöglichen.
Modbus definiert vier Speicherbereiche, die durch verschiedene Nachrichten gelesen und geschrie-
ben werden können. In der Adresszuordnung der igus-Roboter werden die Bereiche wie folgt verwen-
det. In einigen Fällen sind Informationen sowohl bitweise als auch als Register abrufbar.
Folgende Modbus-Funktionscodes können zum Lesen und Schreiben der Speicherbereiche verwen-
det werden.
Da Modbus lediglich 1-Bit und 16-Bit-Speicherbereiche definiert werden komplexe Datentypen und
Aktionen hier wie folgt definiert:
Datentyp Beschreibung
boolean Bit "0" oder "1" schreiben startet die entsprechende Aktion bzw. setzt den Zu-
stand.
enum Aufzählung. Bedeutung hängt vom Register ab, siehe Abschnitt 12.4.5.
Info Information, nicht schreibbar
int32 / uint32 Zwei 16-Bit Register, niederwertiges Register zuerst.
steigende Aktion wird ausgeführt, wenn zunächst eine 0 und darauf eine 1 geschrieben
Flanke wird. Achtung: Einige Coils geben beim Lesen den tatsächlichen Wert zurück,
nicht den zuletzt geschriebenen. Bei doppelter Belegung (z.B. Motoren aktivie-
ren/deaktivieren) wird die Aktion abhängig vom tatsächlichen Zustand gewählt.
string Zeichenkette. Zwei 8-Bit-Zeichen je Register, niederwertiges Byte zuerst. Die Zei-
chenkette endet mit einem Null-Byte oder wenn die maximale Registeranzahl er-
reicht ist.
3).
Über Coils und diskrete Eingänge sind 1-Bit-Zugriffe möglich. Dies wird hier verwendet, um Ein- und
Ausgänge sowie einfache Zustände abzufragen und um Aktionen auszulösen.
Damit zum Lesen weniger Modbus-Nachrichten gesendet werden müssen ist der Lese-
ð zugriff auf 1-Bit-Daten sowohl als Coils als auch als diskrete Eingänge möglich. Dabei
sollte vermieden werden Werte als diskreten Eingang zu lesen, die zuvor als Coil ge-
schrieben wurden. Es bietet sich daher an nur den Coil-Zugriff zu verwenden.
Über die Halteregister können Zielpositionen und Variablen, sowie der Name eines zu ladenden Pro-
gramms geschrieben werden.
Zur Kommunikation mit Roboter- und Logikprogrammen können neben den globalen Signalen auch
vordefinierte Programmvariablen verwendet werden. Dazu stehen jeweils 16 lesbare und 16 schreib-
bare Zahlen- und Positionsvariablen zur Verfügung.
Verwenden Sie bei Einsatz der SPS-Funktionsblöcke die schreibbaren Variablen nur
ð zum Senden von Werten von der SPS zum Roboter. Ändern Sie diese Variablen nicht
im Roboterprogramm, da sie von der SPS regelmäßig überschrieben werden.
Anders als normale Programmvariablen stehen die Modbus-Variablen immer zur Ver-
fügung. Es muss kein Programm gestartet sein und die Variablen müssen nicht mit der
Store-Anweisung deklariert werden.
Jede Zahlenvariable wird in einem Register abgebildet. Da hier nur Ganzzahlen unterstützt werden
muss das Roboterprogramm gegebenenfalls durch Multiplikation oder Division auf den gewünschten
Wertebereich konvertieren (Math-Anweisung).
Positionsvariablen bestehen aus jeweils 16 Registern, deren Werte in Zehntelgenauigkeit angegeben
sind:
• 9 Register für Roboter- und externe Achsen (A1-A6, E1-E3)
• 3 Register für die kartesische Position (X, Y, Z)
• 3 Register für die kartesische Orientierung (A, B, C)
• 1 Register zur Wahl der Übersetzungsart
Entsprechend der Übersetzungsart konvertiert die Kinematik von Achswinkeln zu kartesischen Ko-
ordinaten oder umgekehrt. Dies kann hilfreich sein, wenn beispielsweise Zielpositionen nur als Ko-
ordinaten vorliegen, der Roboter aber per Joint-Anweisung fahren soll.
Wert Bedeutung
0 Keine Konvertierung, Achspositionen und kartesische Koordinaten werden ohne Än-
derung übernommen (Standard)
1 Die kartesischen Koordinaten und Orientierung wird aus den Achspositionen berech-
net
2 Die Achspositionen werden aus den kartesischen Koordinaten und der Orientierung
berechnet
Beachten Sie, dass möglicherweise nicht alle Positionen von der Kinematik erreicht
ð werden können. Prüfen Sie die Werte daher auf Plausibilität.
Wert Bedeutung
0 Kein Fehler
13 Achslimit Min
14 Achslimit Max
21 Zentralachsensingularität
22 Außer Reichweite
23 Handgelenkssingularität
30 Virtuelle Box in X+ berührt
31 Virtuelle Box in X- berührt
32 Virtuelle Box in Y+ berührt
33 Virtuelle Box in Y- berührt
34 Virtuelle Box in Z+ berührt
35 Virtuelle Box in Z- berührt
50 NAN in Berechnung
90 Bewegung nicht erlaubt
65535 (0xFFFF) Unbekannter Fehler
Wert Bedeutung
0 Standard - normaler Betrieb
1 Schwerer Fehler, Steuerung muss neu gestartet werden
2 CAN-Bridge (CRI, z.B. Abruf der Firmwareparameter)
Wert Bedeutung
0 Achsen
1 Kartesisch Basiskoordinatensystem
2 Kartesisch Werkzeugkoordinaten
3 Plattform
0xFFFF Ungültig
Wert Bedeutung
0 Programm läuft nicht
1 Programm läuft
2 Programm pausiert
Wert Bedeutung
0 Programm einmal ausführen
1 Programm wiederholen
2 Anweisungen schrittweise ausführen
3 Schnell (nicht verwendet)
Wert Bedeutung
0 Benutzer (Bediengerät, CRI, Modbus, etc.)
1 PLC
2 Programm (Stopp-/Pause-Anweisung)
3 Replay Step (Schrittbetrieb)
4 Shutdown (System fährt herunter)
100 Fehler
101 Pfadgeneratorfehler 1
102 Pfadgeneratorfehler 2
103 Fehler in Zustandsmaschine
13 Wartung
13.1 Reinigung
• Nachdem die Steuerung vom Stromnetz getrennt ist, kann sie mit einem feuchten Tuch abge-
wischt werden.
• Nachdem die Steuerung vom Stromnetz getrennt ist, können Lüfter oder Lüftungsschlitze mit
einem feuchten Tuch oder leichter Druckluft vorsichtig gereinigt werden Dabei müssen die Ro-
toren der Lüfter festgehalten werden, damit diese durch zu grosse Geschwindigkeit (rpm) kei-
nen Lagerschaden erhalten.
14 Fehlerbehebung
[Link]
[Link]
oting
Fehlercodes und Probleme mit Hardware und Elektronik sind in folgendem Artikel beschrieben:
[Link]
dware_Troubleshooting
[Link]
tware_Troubleshooting
[Link]
tware_ModuleCtrl
14.4 Support-Kontakt
Bei Problemen helfen wir gerne!
• igus Support-Landingpage:
[Link]
n
• E-Mail: ww-robot-control@[Link]
Bei Softwareproblemen senden Sie uns bitte die Logdateien der iRC - igus Robot
Control und der integrierten Steuerung. Klicken Sie dazu einfach auf das Frage-
zeichen unten rechts im 3D-Bereich um alle relevanten Dateien automatisch an
eine E-Mail anzuhängen