0% fanden dieses Dokument nützlich (0 Abstimmungen)
28 Ansichten85 Seiten

iRC R13 UserGuide de

Hochgeladen von

Luis García
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
28 Ansichten85 Seiten

iRC R13 UserGuide de

Hochgeladen von

Luis García
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen

Version 13.

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

2 Übersicht über das System 7


2.1 Unterstützte Kinematiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Spezifikationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Mechanische Abmessungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

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

©2022 igus® GmbH 1


INHALTSVERZEICHNIS

8 Bewegen eines Roboters mit iRC 23


8.1 Die grafische Benutzeroberfläche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
8.1.1 Auswählen des Robotertyps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
8.1.2 Navigation und Bewegen des Roboters in der 3D-Ansicht . . . . . . . . . . . . . . 25
8.2 Anschließen des Roboters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.2.1 Verbindung zur Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.2.2 Den Roboter bewegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.3 Referenzieren des Roboters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.3.1 Schrittweise Anleitung der Referenzierung . . . . . . . . . . . . . . . . . . . . . . . 26
8.4 Bewegen des Roboters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.5 Starten von Roboterprogrammen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.6 Digitale Ein- und Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.7 Software-Schnittstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.8 Aktualisieren der Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

9 Bewegen des Roboters per Handbediengerät 31


9.1 Roboter Zurücksetzen und aktivieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.2 Bewegen des Roboters mit dem 3-Achsen-Joystick . . . . . . . . . . . . . . . . . . . . . . 32
9.3 Referenzierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9.4 Starten und Stoppen eines Programms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
9.5 Setzen der digitalen Ausgänge und Ablesen der digitalen Eingänge . . . . . . . . . . . . . 34
9.6 Anzeige von Statusinformationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

10 Programmierung eines Roboters mit iRC 36


10.1 Programmeditor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
10.1.1 Ändern der Befehlssequenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
10.1.2 Position nachbessern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
10.1.3 Startbefehl festlegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
10.2 Kommentare und Informationen im Programm . . . . . . . . . . . . . . . . . . . . . . . . 38
10.2.1 Informationen zum Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10.2.2 Beschreibungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10.2.3 Kommentare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10.3 Bewegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10.3.1 Abbruchbedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10.3.2 Beschleunigung und Glättung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10.3.3 Achsbewegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.3.4 Lineare Bewegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
10.3.5 Relative Bewegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.3.6 Kreisbewegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.3.7 Dauerbewegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.4 Greifer und digitale Ein-/Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.4.1 Digitale Eingänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.4.2 Digitale Ausgänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.4.3 Öffnen/Schließen des Greifers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.5 Programmfluss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.5.1 Bedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.5.2 Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.5.3 Pause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.5.4 Wait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
10.5.5 If-then-else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

©2022 igus® GmbH 2


INHALTSVERZEICHNIS

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

©2022 igus® GmbH 3


INHALTSVERZEICHNIS

12.4.3 16 Bit Lese- und Schreibzugriff (Halteregister) . . . . . . . . . . . . . . . . . . . . . 77


12.4.4 Zahlen- und Positionsvariablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
12.4.5 Bedeutung der Aufzählungswerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

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

©2022 igus® GmbH 4


1 EINLEITUNG

1 Einleitung

1.1 Kontakt

igus® GmbH
Spicher Str. 1a
D-51147 Köln

Tel.: +49(0)2203 / 96498-255


E-Mail: ww-robot-control@[Link]

Internet: [Link]

1.2 Bestimmungsgemäße Verwendung


Die bestimmungsgemäße Verwendung des Produktes definiert sich durch die Verwendungen inner-
halb der definierten Grenzen, aus den technischen Daten. Insbesondere zu beachten sind hierbei
die zulässigen elektrischen Kenngrößen, sowie die definierten zulässigen Umgebungsbedingungen.
Diese sind im weiteren Verlauf der Anleitung genauer spezifiziert.
Die bestimmungsgemäße Verwendung für dieses Produkt finden Sie im folgenden Abschnitt 3.

1.3 Zielgruppe und Qualifikation


Das Produkt und diese Dokumentation richten sich an technisch geschulte Fachkräfte wie:
• Entwicklungsingenieure
• Anlagenkonstrukteure
• Monteure/Servicekräfte
• Applikationsingenieure
Die Installation, Inbetriebnahme, sowie der Betrieb ist nur durch Fachkräfte erlaubt. Dies sind Perso-
nen, welche alle nachfolgenden Anforderungen erfüllen.
• eine entsprechende Ausbildung und Erfahrung im Umgang mit Motoren und deren Steuerung
haben
• den Inhalt dieses technischen Handbuchs kennen und verstehen
• die geltenden Vorschriften kennen

1.4 Verwendete Symbole


Alle Hinweise in diesem Dokument folgen einer einheitlichen Form und sind gemäß nachfolgenden
Klassen gegliedert.

©2022 igus® GmbH 5


1 EINLEITUNG

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.

Dieser Hinweis kennzeichnet mögliche Fehlbedienungen des Produktes.


ð Die Missachtung dieses Hinweises kann dei Funktionalität des Produktes ein-
schränken.


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

©2022 igus® GmbH 6


2 ÜBERSICHT ÜBER DAS SYSTEM

2 Übersicht über das System


Die hier beschriebene Robotersteuerung ist Teil eines Robotersystems, welches aus vier Grundkom-
ponenten besteht:

1. Roboter: der mechanische Roboterarm, Portal, Deltaroboter, Scara Roboter, etc ...

2. Robotersteuerung: modulare Robotersteuerung bestehend aus u.a. Embedded Computer, Schritt-


motortreibermodule zum Ansteuern der Roboterachsen und IO-Module.

3. Robotersteuerungssoftware: Steuerungssoftware zum Bewegen des Roboters und dem Aus-


führen von Roboterprogrammen.

4. Programmierumgebung: Grafische Software zum Einrichten von Roboterprogrammen

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.

Abbildung 1: Robotersystem - Roboter, Robotersteuerung mit integriertem Computer und optiona-


lem Handbediengerät. Separater per LAN mit der Robotersteuerung verbundener Windows PC mit
iRC Steuerungssoftware und Programmierumgebung. Der Windows PC is zur Programmierung des
Roboters erforderlich. Auch ohne Windows PC lassen sich Roboterprogramme ausführen, da die Ro-
botersteuerung den integrierten Computer als Steuerrechner verwendet.

2.1 Unterstützte Kinematiken


Die Steuerungshardware und Software unterstützen eine Vielzahl von Kinematiken, die eine kontrol-
lierte Bewegung des Roboters erlauben. Vorkonfiguriert sind folgende inverse Kinematiken.

• 2-Achs-Deltaroboter
• 3-Achs-Deltaroboter
• 2-Achs-Portalroboter (X und Y Achse)

©2022 igus® GmbH 7


2 ÜBERSICHT ÜBER DAS SYSTEM

• 2-Achs-Portalroboter (Y und Z Achse)


• 3-Achs-Portalroboter (X, Y und Z Achse)
• 3-Achs-Roboterarme (Achse 1, 2, 3)
• 3-Achs-Roboterarme (Achse 2, 3, 4)
• 4-Achs-Roboterarme (Achse 1, 2, 3, 4)
• 4-Achs-Roboterarme (Achse 2, 3, 4, 5)
• 5-Achs-Roboterarme (Achse 1 bis 5)
• 6-Achs-Roboterarme (Achsen 1 bis 6)
• 4-Achs-SCARA-Roboter

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

Modulare Steuerung Eigenschaft


Stromversorgung 24V/5A und entweder 24V/10A oder 48V/10A
Typ Hutschienenmodule mit 5 poligem Busverbinder
Kommunikation mit Steuerrechner CAN
Schrittmotor Modul Zum Betrieb eines bipolaren Schrittmotors
Quadraturencoder RS422
12-24V Referenzschalter Eingang
Digitales IO Modul 7 digitale Eingänge (Optokoppler)
7 digitale Ausgänge, Halbleiterrelais, max. 500 mA

Tabelle 2: Modulare Robotersteuerung - Komponenten

Die Eigenschaften des integrierten Computers können Tabelle 3 entnommen werden.

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

Tabelle 3: Integrierter Computer - Spezifikationen

©2022 igus® GmbH 8


2 ÜBERSICHT ÜBER DAS SYSTEM

2.3 Mechanische Abmessungen


Tabelle 4 listet die mechanischen Abmessungen der einzelnen Komponenten im Schaltschrank, sowie
des Schaltschrankes selber auf.

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

Tabelle 4: Modulare Robotersteuerung - Dimensionen

©2022 igus® GmbH 9


3 SICHERHEITSHINWEISE

3 Sicherheitshinweise

Bedienen Sie den Roboter vorsichtig!


, Achten Sie bei der Bedienung eines Roboterarms oder der Inbetriebnahme einer Robo-
terzelle stets auf die persönliche Sicherheit der Benutzer und anderer Personen! Insbe-
sondere dürfen sich keine Personen oder Hindernisse im Arbeitsbereich des Roboters
befinden.

• In der Grundversion enthält das Robotersteuerungspaket keine sicherheitsrelevanten Funk-


tionen. Je nach Anwendung müssen diese möglicherweise hinzugefügt werden. Siehe auch
"CE-Kennzeichnung" unten.
• CE-Kennzeichnung: Der Roboterarm und die Robotersteuerung sind ein Teil eines Systems, das
in seiner Gesamtheit risikobewertet werden und den geltenden Sicherheitsvorschriften ent-
sprechen muss, um die persönliche Sicherheit zu gewährleisten. Je nach Ergebnis der Bewer-
tung müssen weitere Sicherheitskomponenten integriert werden. Dies sind in der Regel Sicher-
heitsrelais und Türschalter. Verantwortlich ist der inbetriebnehmende Ingenieur des Systems.
• Die Robotersteuerung enthält je nach Ausstattung entweder ein 24V/5A und ein 24V/10A Netz-
teil oder ein 24V/5A und ein 48V/10A Netzteil, die je nach Konfiguration selbst Netzspannung
(120 V / 240 V) benötigen. Bitte überprüfen Sie das Etikett auf dem Netzteil. Nur qualifiziertes
Personal darf das Netzteil an das Netz anschließen und in Betrieb nehmen.
• Arbeiten an der Roboterelektronik sollten nur von qualifiziertem Personal durchgeführt wer-
den. Überprüfen Sie die Richtlinien für elektrostatische Entladung (ESD).
• Trennen Sie die Robotersteuerung immer vom Netz (120 V / 240 V), wenn Sie im Schaltschrank
oder an der Elektronik arbeiten, die an die Robotersteuerung angeschlossen ist.
• KEIN Hot-Plugging! Dies kann zu dauerhaften Schäden an den Motormodulen führen. Instal-
lieren oder entfernen Sie keine Module oder Steckverbinder (z.B. Handbediengerät, Not-Aus-
Schalter, DIO-Module oder externe Relais, Motoranschlüsse...), während die Spannungsversor-
gung eingeschaltet ist.
• Der Roboterarm muss auf einer robusten Oberfläche aufgestellt und verschraubt oder ander-
weitig gesichert werden.
• Verwenden und lagern Sie das System nur in einer trockenen und sauberen Umgebung.
• Verwenden Sie das System nur bei Raumtemperatur (15° bis 32°C).
• Die Belüftung des Systems muss ungehindert arbeiten können, um einen ausreichenden Luft-
strom zur Kühlung der Schrittmotormodule zu gewährleisten. Neben dem Lüfter der Roboter-
steuerung müssen mindestens 10 cm Platz vorhanden sein. Der Lüfter muss idealerweise nach
oben oder zur Seite (reduzierter Wirkungsgrad) zeigen. Der Lüfter darf nicht nach unten zeigen.
• Sichern Sie wichtige Daten vor der Installation der iRC - igus Robot Control.

©2022 igus® GmbH 10


4 CE-KONFORMITÄT

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.

Erstellung CE-Kennzeichnung notwendig! Für den Betrieb der vollständigen


, Maschine muss eine CE-Kennzeichnung nach Maschinenrichtlinie erfolgen!
Diese wird durch den Integrator oder Inbetriebnehmer vorgenommen!

4.2 Integration von Sicherheitskomponenten zur Herstellung der CE-Konformität


Die einfachste Möglichkeit die für CE-Konformität notwendige Personensicherheit herzustellen ist
die Integration von Sicherheitskomponenten mit der entsprechenden PL- oder SIL-Bewertung:
• Sicherheitsrelais oder Sicherheitssteuerung
• NotAus- und Tür-Schalter
• Umhausung

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.

Logikspannung nicht unterbrechen! Bei NotAus führt die Unterbrechung der


ð Motorspannung zu einem Stop der Motoren. Die Logik-Stromversorgung für die
Integrierte Steuerung darf nicht unterbrochen werden. So kann das Programm
nach einem Wiederfreigeben des NotAus ohne Hochfahren oder Referenzierung
weitergeführt oder neu gestartet werden. Weitere Details finden Sie im Schalt-
plan der Steuerung.

Für die Unterbrechung der Motorspannung gibt es zwei Möglichkeiten:


• Auslieferzustand: AC-seitig, also vor dem Netzteil.
• Optional: DC-seitig, also im 24 bzw. 48V-Kreis. Hier müssen Schütze verwendet werden die für
hohe DC-Ströme >10A ausgelegt sind. Weiterhin muss zwingend eine Strombegrenzung ver-
wendet werden um zu hohe Ströme beim Laden der Kondensatoren zu verhindern

©2022 igus® GmbH 11


5 ANFORDERUNGEN

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

©2022 igus® GmbH 12


6 SCHNELLSTART ANLEITUNG

6 Schnellstart Anleitung

6.1 Einrichten und Anschließen

Vor Beginn der Arbeiten


, Zur Vermeidung von Verletzungen, sowie Beschädigungen der Komponenten
beachten Sie nachfolgende Hinweise:
• Befolgen Sie die Sicherheitshinweise in Abschnitt 3.
• Trennen Sie den Roboter, bzw. die Steuerung vom Netz. Führen Sie nie-
mals Arbeiten an unter spannungstehenden Teilen durch. Arbeiten an
Schaltschränken sind nur von Elektrofachkräften durchzuführen.
• Kein Hot-Plugging! Vor dem einstecken oder trennen von Modulen/Ste-
ckern/Elektrischen Verbindungen, trennen Sie die Steuerung/den Robo-
ter vom Stromnetz.
• Sorgen Sie für einen sicheren Stand des Roboters und der Steuerung.
• Beachten Sie die Anforderungen an die Umgebung 5.1.
• Während der Bewegungen des Roboters dürfen sich keine Personen im
Arbeitsbereich des Roboters befinden.

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.

©2022 igus® GmbH 13


6 SCHNELLSTART ANLEITUNG

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.

2. Schalten Sie den Roboter mit dem Ein/Aus-Schalter am Schaltschrank ein.

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.

6.3 Verbinden und Bewegen des Roboters


6.3.1 Vorbereitung mit dem integrierten Computer

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".

©2022 igus® GmbH 14


6 SCHNELLSTART ANLEITUNG

Abbildung 3: Integrierter Steuerrechner mit LAN Kabel.

6.3.2 Erstes Bewegen des Roboters

1. Installieren Sie die iRC Software auf Ihrem PC.

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).

Kartesische Bewegungen und Programme


ð Für die Verwendung von kartesischen Befehlen und das Abspielen von Roboter-
programmen ist eine Referenzierung des Roboters zwingend erforderlich.

©2022 igus® GmbH 15


6 SCHNELLSTART ANLEITUNG

Abbildung 4: Projektauswahl

Abbildung 5: Jog-Befehle

©2022 igus® GmbH 16


7 INSTALLATION

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

Abbildung 6: Robotersteuerung: Hier dargestellt mit 5 Stepper-Modulen und 3 DIO-Modulen. Zu-


sätzlich sind optionale 24V/5A und 48V/10A Netzteile für Logik- und Motorspannung dargestellt. De-
taillierte Anschlussbelegung im separaten Schaltplan.

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.

Abbildung 7: Motor Modul mit Steckverbindern

Motorstecker ("Motor"): Verbindet einen bipolaren Schrittmotor:


• Pin 1 (links): B (blau)
• Pin 2: A (weiss)
• Pin 3: B/ (schwarz)

©2022 igus® GmbH 17


7 INSTALLATION

• 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.

Abbildung 8: DIO Modul mit Steckverbindern

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)

©2022 igus® GmbH 18


7 INSTALLATION

Abbildung 9: Steuerrechner

• Pin 3: D-Out-Kanal 2 (in der Software: Dout22)


• Pin 4: D-Out-Kanal 3 (in der Software: Dout23)
Digital Out-Stecker B (D-Out B): Die D-out B-Pins sind (von links nach rechts) die Digital Out-Kanäle
4-7 (Bild nicht dargestellt).
Digital In-Stecker A (D-In A): Pin 1 von D-In A ist der entsprechende GND-Pin für alle Eingangspins.
• Pin 1 (links): Signal GND (für alle 7 Kanäle)
• Pin 2: D-In Kanal 1 (in der Software Din21)
• Pin 3: D-In-Kanal 2 (in der Software Din22)
• Pin 4: D-In-Kanal 3 (in der Software Din23)
Digital In-Stecker B (D-in B): Die D-in-B-Pins sind (von links nach rechts) die Digital-In-Kanäle 4-7
(Bild nicht dargestellt).
Im Abschnitt 11.3 finden Sie weitere Informationen zur Erweiterung der DIO und dem Anschluss von
Aktoren und Sensoren.

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.

©2022 igus® GmbH 19


7 INSTALLATION

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.

©2022 igus® GmbH 20


7 INSTALLATION

7.5.3 LAN Verbindung zum Windows PC

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].

7.5.4 Verbindung Handsteuergerät

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

©2022 igus® GmbH 21


7 INSTALLATION

7.6 Handbediengerät

Abbildung 12: Handbediengerät (Touch Display und 3-Achsen Joystick)

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

©2022 igus® GmbH 22


8 BEWEGEN EINES ROBOTERS MIT IRC

8 Bewegen eines Roboters mit iRC


Die iRC - igus Robot Control ist eine Steuerungs- und Programmierumgebung für Roboter. Die 3D-
Benutzeroberfläche hilft dabei, den Roboter schnell einsatzfähig zu machen. Durch den modularen
Aufbau können verschiedene Kinematiken und Motortreiber gesteuert werden.

8.1 Die grafische Benutzeroberfläche


Dieser Abschnitt erklärt die iRC Software. Auch ohne einen angeschlossenen Roboter können alle
Schritte simuliert werden. In Abschnitt 8.2 wird dann der reale Roboter angeschlossen und bewegt.
Die Programmierumgebung iRC ermöglicht die Steuerung und Programmierung des Roboters. Sie
können sowohl online als auch offline arbeiten, d.h. mit dem angeschlossenen Roboter oder in der
Simulation.

Abbildung 13: Benutzeroberfläche der iRC - igus Robot Control

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.

©2022 igus® GmbH 23


8 BEWEGEN EINES ROBOTERS MIT IRC

• "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.

8.1.1 Auswählen des Robotertyps

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".

2. Wählen Sie die Robotergruppe, z.B. "robolink".

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"

©2022 igus® GmbH 24


8 BEWEGEN EINES ROBOTERS MIT IRC

8.1.2 Navigation und Bewegen des Roboters in der 3D-Ansicht

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

Die Funktion der linken Maustaste kann in der Regis-


terkarte "Szene" unter "Navigieren" geändert werden.
Zur Auswahl stehen die Bewegungsoptionen "Aus-
wählen", "Verschieben", "Drehen" und "Zoomen".
"Zurücksetzen" bringt Sie zurück in die Startansicht.

8.2 Anschließen des Roboters


8.2.1 Verbindung zur Hardware

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.

1. "Verbinden": Stellen Sie die Verbindung zur Hardware her.


• Hierüber wird die Verbindung initialisiert (meist per Ethernet, in einigen Fällen per USB-
CAN-Adapter).
• Die "Status"-Anzeige auf der linken Seite wechselt von grau zu rot.
• Mehrere Fehlermeldungen werden unterhalb des "Status"-Indikators angezeigt.

2. "Zurücksetzen": Setzt die Fehler zurück.

©2022 igus® GmbH 25


8 BEWEGEN EINES ROBOTERS MIT IRC

• 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.

3. "Aktivieren": Aktivierung der Motoren.


• Die "Status"-Anzeige ist jetzt grün.

8.2.2 Den Roboter bewegen

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.

8.3 Referenzieren des Roboters

, • 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.

8.3.1 Schrittweise Anleitung der Referenzierung

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.

©2022 igus® GmbH 26


8 BEWEGEN EINES ROBOTERS MIT IRC

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.

Abbildung 16: Referenzierung der Achsen.

8.4 Bewegen des Roboters


Der Roboter kann manuell bewegt (oder "gejoggt") werden wenn kein Programm läuft. Dazu stehen
folgende Möglichkeiten bereit:
• Softwaretasten
• Ziehen der Achsen im 3D-Bereich
• Gamepad
Die wichtigsten Einstellungen finden Sie im Register "Bewegung" (s. Abb. 17):
• "Eingabe": Verbinden eines Gamepads
• "Bewegungsparameter": Auswahl von Bewegungsmodi und Geschwindigkeit
Ein Gamepad ist möglicherweise die intuitivste Art den Roboter zu bewegen. Die Abb. 18 zeigt die
Tastenbelegung. Durch Drücken von "Gamepad verbinden" verbindet sich iRC mit einem Gamepad
oder Joystick. Bei erfolgreicher Verbindung wird ein OK-Zeichen unter dem Symbol angezeigt. Weite-
re Informationen zur Verbindung finden Sie im Register "LogMessages" im unteren Bereich Fenster-
bereich.

©2022 igus® GmbH 27


8 BEWEGEN EINES ROBOTERS MIT IRC

Abbildung 17: Bedienfelder zum Bewegen des Roboters (blau markiert).

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.

3. Programmanweisung Joint hinzufügen

4. Programmanweisung Linear hinzufügen

Abbildung 18: Tastenbelegung des Gamepads

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.

Abbildung 19: Die Softwareschaltflächen für "Achse"-Bewegungen. In beiden kartesischen Modi


wechseln die Schaltflächen auf X, Y, Z, A, B und C.

8.5 Starten von Roboterprogrammen


Ein Roboterprogramm kann wie folgt geladen und gestartet werden:

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]".

©2022 igus® GmbH 28


8 BEWEGEN EINES ROBOTERS MIT IRC

Abbildung 20: Laden eines Programms (blau markiert).

2. Stellen Sie die Grundgeschwindigkeit ein:

• Bevor Sie ein ungetestetes Programm starten,


stellen Sie die Geschwindigkeit auf z.B. 20% ein.
• Seien Sie während des ersten vollständigen Pro-
grammablaufs besonders aufmerksam und hal-
ten Sie die Not-Aus-Taste bereit.

3. Starten Sie das Programm:

• Klicken Sie auf das Symbol "Ausführen" in der


Schaltflächen-Gruppe "Programmausführung"
der Registerkarte "Bewegung".

4. Das Programm anhalten oder unterbrechen:


• Nachdem Sie das Symbol "Unterbrechen" gedrückt haben, kann der Roboter mit dem Pro-
gramm fortfahren, indem Sie erneut auf das Symbol "Ausführen" klicken.
• Nach dem Drücken des "Anhalten"-Symbols startet das Programm mit dem ersten Befehl,
wenn das "Ausführen"-Symbol erneut angeklickt wird.
• Der "Abspielmodus" kann auf drei verschiedene Werte eingestellt werden:
– Einmal (das Programm stoppt nach einem einzigen Zyklus).
– Wiederholen (das Programm stoppt nur durch "Anhalten" oder "Unterbrechen").
– Einzelschritt (Dies ist nützlich für die Fehlersuche in einem Programm).

©2022 igus® GmbH 29


8 BEWEGEN EINES ROBOTERS MIT IRC

8.6 Digitale Ein- und Ausgänge


Der Zustand der Ein- und Ausgänge kann unter "Eingänge/Ausgänge" überwacht werden. Sowohl
Eingänge als auch Ausgänge können manuell aktiviert oder deaktiviert werden:
• Die Ausgänge können manuell eingestellt werden, wenn kein Programm läuft.
• Eingänge können nur in der Simulation gesetzt werden, wenn kein Roboter angeschlossen ist.
Somit kann man die Reaktion von Programmen auf verschiedene Eingänge auch ohne die ent-
sprechende Hardware testen.

Abbildung 21: Ein-/Ausgabebereich der iRC - igus Robot Control.

Die Konfiguration der Ein- und Ausgänge ist in Abschnitt ?? beschrieben.

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.

8.8 Aktualisieren der Software


Updates der iRC-Software finden Sie unter folgender Adresse: [Link]
[Link]/IgusRobotControl-DE.

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.

Folgendes muss gegebenenfalls von der vorherigen Installation übernommen werden:


• Die erstellten Roboterprogramme
• Änderungen im Projekt oder in den Roboterkonfigurationen

©2022 igus® GmbH 30


9 BEWEGEN DES ROBOTERS PER HANDBEDIENGE-
RÄT

9 Bewegen des Roboters per Handbediengerät


Um den Roboter ohne angeschlossenen Windows-PC zu betreiben, ist der integrierte Computer er-
forderlich. Er führt die TinyCtrl-Software als Robotersteuerungssoftware aus. Der integrierte Compu-
ter ermöglicht das Bewegen des Roboterarms (über das Handbediengerät) und die Wiedergabe von
Roboterprogrammen. Um neue Programme einzurichten, ist er über Ethernet mit einem Windows-
Computer verbunden, auf dem iRC läuft.
Dieser Abschnitt zeigt, wie der Roboter mit integriertem Computer und Handbediengerät betrieben
wird.
Nachdem alle elektrischen Verbindungen zum Roboter hergestellt wurden, der Roboter eingeschaltet
und der Not-Aus-Schalter freigegeben wurde, müssen die Fehler zuerst "zurückgesetzt" und dann der
Roboter "aktiviert" werden.
Wenn Sie den Roboter bewegen, halten Sie immer eine Hand auf dem Not-Aus-Schalter, um zu ver-
hindern, dass er unerwartet auf ein Objekt trifft, z.B. wenn er mit dem Tisch kollidiert.

9.1 Roboter Zurücksetzen und aktivieren

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)

©2022 igus® GmbH 31


9 BEWEGEN DES ROBOTERS PER HANDBEDIENGE-
RÄT

Abbildung 24: Drücken Sie "Enable": Der Status wechselt zu "NoError". "Not refd!" (in rot) bedeutet
"nicht referenziert".

9.2 Bewegen des Roboters mit dem 3-Achsen-Joystick


Sobald der Roboter aktiviert ist, können die Achsen des Roboters bewegt werden.

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.

©2022 igus® GmbH 32


9 BEWEGEN DES ROBOTERS PER HANDBEDIENGE-
RÄT

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.

©2022 igus® GmbH 33


9 BEWEGEN DES ROBOTERS PER HANDBEDIENGE-
RÄT

9.4 Starten und Stoppen eines Programms

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.

• Laden Sie das Programm mit der Schaltfläche "Load".


• Lassen Sie das Programm mit "Single Play" einmal abspielen.
• "Cont. Play" spielt das geladene Programm kontinuierlich ab.
• "Stop" hält die Bewegung an.
• Der Schieberegler "Override" kann nach rechts bewegt werden, um die Geschwindigkeit der
Bewegung zu erhöhen, oder nach links, um sie zu verringern.

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.

9.6 Anzeige von Statusinformationen


Statusinformationen können durch Drücken der Taste "Status" in der linken oberen Ecke des Displays
angezeigt werden.

©2022 igus® GmbH 34


9 BEWEGEN DES ROBOTERS PER HANDBEDIENGE-
RÄT

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.

©2022 igus® GmbH 35


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

10 Programmierung eines Roboters mit iRC


Die iRC - igus Robot Control ermöglicht die Erstellung von Roboterprogrammen. Die Art der Pro-
grammierung wird als "Teach-In-Programmierung" bezeichnet, welche wie folgt funktioniert:

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.

Abbildung 31: Öffnen des Programmeditors mit der Schaltfläche "Bearbeiten".

Es öffnet sich das folgende Fenster, hier mit einem kurzen Programm:

Abbildung 32: Programmeditor mit einem kurzen Programm

Die folgenden Abschnitte zeigen, wie man Programme mit dem Editor erstellt.

10.1.1 Ändern der Befehlssequenz

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).

©2022 igus® GmbH 36


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

Abbildung 33: Das Kontextmenü einer Befehlszeile

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.

10.1.2 Position nachbessern

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.

10.1.3 Startbefehl festlegen

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).

©2022 igus® GmbH 37


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

10.2 Kommentare und Informationen im Programm


10.2.1 Informationen zum Programm

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.

10.3.2 Beschleunigung und Glättung

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

©2022 igus® GmbH 38


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

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.

©2022 igus® GmbH 39


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

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.

10.3.4 Lineare Bewegung

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.

©2022 igus® GmbH 40


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

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.

10.3.5 Relative Bewegung

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.

©2022 igus® GmbH 41


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

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.

Die Kreisbewegung sollte nicht die erste Bewegungsanweisung im Roboterprogramm


, sein. Falls das Programm an einer unerwarteten Position startet kann der Kreis größer
oder kleiner werden als erwartet.

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.

©2022 igus® GmbH 42


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC


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).

10.4 Greifer und digitale Ein-/Ausgänge


10.4.1 Digitale Eingänge

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.

10.4.2 Digitale Ausgänge

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.

10.4.3 Öffnen/Schließen des Greifers

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

Bedingungen können in if-then-else-Befehlen, Schleifen und als Abbruch-Bedingungen in Bewe-


gungsbefehlen verwendet werden. Die Bedingungen können Kombinationen aus digitalen Eingän-
gen, globalen Signalen, booleschen Operationen und Vergleichen sein. Beispiele:

©2022 igus® GmbH 43


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

DIn23 Wahr, wenn Digitaleingang 23 gesetzt ist.


DIn23 AND !DIn27 Wahr, wenn Digitaleingang 23 gesetzt und 27 nicht gesetzt ist.
modelclass = 31 Wahr, wenn die Variable "modelclass" 31 ist
mempos.x > 350.0 Wahr, wenn die x-Komponente der Positionsvariablen "mempos"
größer als 350 ist.

Die Syntax der bedingten Anweisungen ist durch die folgende EBNF-Definition gegeben:

Ausdruck : = ["!"] <Boolean> <Boolscher Operator> <Boolean> ...


Boolean : = <Boolsche Konstante> | <Ausdruck> | "(" <Ausdruck> ")" | Ver-
glAusdruck | "(" <VerglAusdruck> ")" | <Digitaleingänge> | "(" <Digi-
taleingänge> ")"
BoolescherOperator : = "And" | "Or"
BoolescheKonstante : = "True" | "False"
Digitaleingänge : = <KanalTyp> <KanalId>
KanalTyp : = "Din" | "GSig"
Kanalld : = ein ganzzahliger Wert
VerglAusdruck : = <VerglWert> <VerglOperator> <VerglWert>
VerglWert : = <Variable> | <Zahl>
Variable : = <Zahlenvariable> | < Positionskomponente>
Zahlenvariable : = Name einer Zahlenvariablen
Positionskomponente : = <Positionsvariable> "." <Komponente>
Positionsvariable : = Name einer Positionsvariablen
Komponente : = "x" | "y" | "z" | "A" | "B" | "C" | "A1" | "A2" | "A3" | "A4" | "A5" | "A6" |
"E1" | "E2" | "E3"
Zahl : = Ganzzahl oder Gleitkommazahl
VerglOperator : = "=" | ">" | "<" | ">=" | "<="

10.5.2 Stop

Der Befehl "Stop" stoppt die Programmausführung.


Er ist über den Menüeintrag "Programmfluss" → "Anhalten" verfügbar.

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.

©2022 igus® GmbH 44


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

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.

Abbildung 35: Die If-Anweisung verzweigt den Programmfluss.

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.

10.5.7 Rasterbewegungen / Palettierung

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

©2022 igus® GmbH 45


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

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.

Abbildung 37: Definition einer Rasterschleife.

Der Block zwischen "Matrix" und "Matrix End" wird für jeden Schritt ausgeführt. Die Positionsva-

©2022 igus® GmbH 46


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

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

Mit dem Sub-Befehl können Unterprogramme aufgerufen werden.


Der Pfad zur Datei des Unterprogramms ist unter "Dateiname" angegeben. Er ist relativ zum Unter-
ordner "Programs" des iRC-Ordners "Data". Der Befehl kann über den Menüpunkt "Programmfluss"
→ "Unterprogramm" aufgerufen werden.

10.6 Variablen und Variablenzugriff


In Programmen für iRC und TinyCtrl werden zwei Arten von Variablen unterstützt:
• Zahlenvariablen: Diese können zur Speicherung von Ganzzahl- oder Fließkommazahlen ver-
wendet werden.
• Positionsvariablen: Diese können zur Speicherung von kartesischen Positionen und Gelenkpo-
sitionen verwendet werden. Ob eine solche Variable als kartesische Position oder Gelenkposi-
tion interpretiert wird, hängt vom Kontext ab.
Die Einheiten der kartesischen Position sind mm für die Komponenten x, y, z und Grad für die
Eulerwinkel A, B, C. Die Achswerte werden je nach Art des Gelenks in mm oder Grad gemessen.

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.

©2022 igus® GmbH 47


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

Abbildung 39: Definition einer Zahlenvariable.

Abbildung 40: Definition einer Positionsvariable.

©2022 igus® GmbH 48


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

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 "#"

10.6.3 Zugriff auf Elemente

Positionsvariablen enthalten folgende Elemente:


• Position: x, y, z
• Drehung: a, b, c
• Achswerte: a1, a2, a3, a4, a5, a6, e1, e2, e3
Der Zugriff auf die Elemente erfolgt durch Anhängen mit einem Punkt, z.B. "myvariable.x" oder "my-
variable.a3".

10.6.4 Berechnungen mit Variablen

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):

Zuweisung Plus Minus Mult. Div. Modul


Beide sind Zahl x x x x x x
Beide sind Position x x x
Op 1 ist Position, Op 2 ist Zahl x x x
Op 1 ist Zahl, Op 2 ist Position

©2022 igus® GmbH 49


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

10.6.5 Variablen beobachten

Sie können die aktuellen Werte aller definierten Variablen in iRC in der Registerkarte "Programme
und Variablen" im Statusbereich beobachten.

Abbildung 41: Die Werte der Variablen werden im Infobereich angezeigt.

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.

Abbildung 42: Kameraanweisung im Programmeditor.

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!

©2022 igus® GmbH 50


10 PROGRAMMIERUNG EINES ROBOTERS MIT IRC

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.

2. Erstellen Sie drei Zuweisungs-Anweisungen (Math-Anweisung) und überschrei-


ben Sie die A, B und C-Komponenten der Zielposition mit den ermittelten Wer-
ten.

©2022 igus® GmbH 51


11 KONFIGURATION

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.

Abbildung 43: Der Projektkonfigurationsbereich.

Speziellere Einstellungen können über die Projekt-, Roboter-, und Werkzeugkonfigurationsdateien


vorgenommen werden. Die Einstellungen der Achsmodule lassen sich über "Firmwareparameter hoch-
-/herunterladen" abrufen und ändern (s. Abs. 11.6).

Ä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".

©2022 igus® GmbH 52


11 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.

11.1.3 Virtuelle Box

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.

Schalterposition Roboterachse CAN-ID (dez.) CAN-ID (hex.)


0 1 16 0x10
1 24 0x18
2 2 32 0x20
3 40 0x28
4 3 48 0x30
5 56 0x38
6 4 64 0x40
7 72 0x48
8 5 80 0x50
9 6 88 0x58

Tabelle 8: Standardmäßige CAN-ID-Schalterstellungen an CPR-Motormodulen

©2022 igus® GmbH 53


11 KONFIGURATION

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:

Bewegungsmodus Legt fest ob die Achse im Positions- oder Geschwindigkeitsmo-


dus arbeitet. Im Geschwindigkeitsmodus kann eine konstante Ge-
schwindigkeit im Roboterprogramm gesetzt werden, Positionsan-
weisungen werden jedoch ignoriert. Dies ist bspw. für Förderbän-
der nützlich.
CAN-ID CAN-ID des Achsmoduls (dezimal, s.o.)
Encoderschritte je Einheit Übersetzungsfaktor von Millimeter bzw. Grad zu Encoderschritte
des Motors (Berechnung siehe unten)
Position min/max Bewegungslimits (für Positionsmodus)
Geschwindigkeit max Höchstgeschwindigkeit
Beschleunigung Beschleunigung (für Positionsmodus)
Beschleunigungssteigerung Steigerung der Beschleunigung (für Positionsmodus)

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.

4 · Encod er schr i t t e · Ü ber set zung


= Encod er schr i t t e j eEi nhei t (1)
St r ecke
4 · 500 · 38
= 211, 111 (2)
360◦
4 · 500 · 1
= 28, 57 (3)
70mm
Tabelle 10 enthält einige Beispiele für Linear- und Rotationsachsen.

Achstyp Untersetzung Encoderschritte je Einheit


igus ZLW-1040 70 28.471
igus GRW-0630 45 44.444
igus SAW-1040 2 1000.00
igus ZLW-20200 144 41.667
igus RL-D-50 48 266.67

©2022 igus® GmbH 54


11 KONFIGURATION

igus RL-D-30 50 277.78


igus RL-D-20 38 211.11

Tabelle 10: Beispielhafte Werte verschiedener Linear- und Rotationsachsen

11.2 Roboterkonfiguration - Achslängen


Die Roboterkonfiguration enthält robotertypspezifische Parameter. Änderungen beeinflussen daher
alle Projekte des jeweiligen Typs.
Die Achslängen von Portalrobotern können im Konfigurationsbereich (Datei → Roboterkonfiguration
→ Portal) geändert werden. Abhängig von der Achsanzahl und -konfiguration stehen dafür verschie-
dene Parameter zur Verfügung.

Achsenlänge Länge der Achsen in der 3D-Simulation


Bewegungsmaximum Nutzbare Länge der Achsen

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.

11.3.1 Elektrische Integration

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.

©2022 igus® GmbH 55


11 KONFIGURATION

Abbildung 44: Interner Aufbau eines DIO Moduls

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.

Schalterposition Modulnummer CAN-ID (dez.) CAN-ID (hex.)


0 1 112 0x70
1 120 0x78
2 2 128 0x80
3 136 0x88
4 3 144 0x90
5 152 0x98
6 160 0xA0
7 168 0xA8
8 176 0xB0
9 184 0xB8

©2022 igus® GmbH 56


11 KONFIGURATION

Tabelle 12: Standardmäßige CAN-ID-Schalterstellungen an CPR-DIO-Modulen

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.

11.3.3 Sensoren und Taster anschließen

• 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

11.3.4 Aktoren anschließen

• 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.

©2022 igus® GmbH 57


11 KONFIGURATION

Abbildung 45: Beispiel: Anschluss eines Sensors und eines Aktors

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.

11.4.1 Elektrische Integration

Die in den Motor integrierten Standardbremsen arbeiten unter 24V. Beachten Sie aber
ð bitte die Dokumentation der Motoren.

Um die Bremsen zu lösen müssen zwei Voraussetzungen erfüllt sein:


• Der NotAus muss freigegeben sein
• Die Steuerung muss die Bremse freigeben
Die elektrische Umsetzung erfolgt über zwei in Serie geschaltete Relais. Zusätzlich kann der Not-
Aus-Status als Digitaler Eingang eingelesen werden um auch ein sehr schnelles Auslösen/Freigeben
des NotAus zu behandeln.

©2022 igus® GmbH 58


11 KONFIGURATION

Abbildung 46: Anschluss Bremsrelais und Bremse

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.

Nach dem Ändern der Bremskonfiguration muss die Roboterkonfiguration gespeichert


ð und neu geladen werden. Ein Roboter mit integrierter Steuerung muss nach mindes-
tens 30s neu gestartet werden.

©2022 igus® GmbH 59


11 KONFIGURATION

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

"Achs-Anweisung hinzufügen" und "Linear-Anweisung hinzufügen" können nur ein-


ð gesetzt werden, wenn iRC mit dem Roboter verbunden ist.

Folgende Ausgabefunktionen werden unterstützt:

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

©2022 igus® GmbH 60


11 KONFIGURATION

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".

11.5.2 Programmwahl über digitale Eingänge

Ü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:

Aktiv Schaltet den Programmauslöser frei


Typ Typ des Eingangsignals: digitaler Eingang (DIn) oder globales Signal (GSig)
Nummer Nummer des Eingangs. Z.B. 21 für DIn21 bzw. GSig21
Programmtyp Roboterprogramm oder Plattformmission
Programmdatei Programm- oder Missionsdatei. Muss im Programs- oder Missions-Verzeichnis
liegen

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:

Aktiviert Aktiviert den Modbus-Server


Port TCP-Port des Modbus-Servers
Maximale Verbindungen Maximale Anzahl gleichzeitiger Verbindungen zum Server (nur inte-
grierte Steuerung)

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.

©2022 igus® GmbH 61


11 KONFIGURATION

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.

Kameraschnittstelle für Objekterkennung

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:

©2022 igus® GmbH 62


11 KONFIGURATION

Abbildung 47: Vermessung der Kameraposition und -ausrichtung.

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):

Skalierung Skaliert die Pixelposition


Ursprung Position der Kamera im Roboterkoordinatensystem
Sichtrichtung Sichtrichtung der Kamera. Eine nach unten gerichtete Kamera hat Z=-1
Aufwärts X-Richtung der Kamera im Roboterkoordinatensystem
Z-Abstand Abstand der Objekte von der Kamera

©2022 igus® GmbH 63


11 KONFIGURATION


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.

SimX, SimY Objektposition in Pixel (0-640 bzw. 0-480)


SimA Orientierung in Grad
Modellklasse Klasse des erkannten Objekts, der Wert -1 bedeutet dass kein Objekt
erkannt wurde

Nach der Konfiguration können die er-


kannten und berechneten Werte im Sta-
tusbereich beobachtet werden. Von der
Kamera empfangene Bilder werden hier
angezeigt.
Abbildung 48: Kamera-Statusbereich

Kameraschnittstelle für USB-Video

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

©2022 igus® GmbH 64


11 KONFIGURATION

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

Über den Netzwerkkonfigurationsbereich kann die WLAN-Schnittstelle der integrierten Steuerung


aktiviert und konfiguriert werden. Beim Öffnen des Konfigurationsbereichs wird automatisch ge-
prüft, ob die Funktion unterstützt wird. Phytec-basierte Robotersteuerungen unterstützen generell
kein WLAN, neuere Steuerungen benötigen ggf. ein Softwareupdate.
Im oberen Bereich der Netzwerkkonfiguration werden Verbindungsinformationen (u.a. das verbun-
dene Netz und die Verbindungsqualität) oder Hinweise bei Konfigurationsproblemen angezeigt. Dar-
unter befindet sich die eigentliche Konfiguration.
Um die Konfiguration zu ändern muss zunächst das Kästchen "Ändern" gesetzt werden. Daraufhin
kann der Modus gewählt werden: "Deaktiviert" schaltet die WLAN-Schnittstelle ab, "Access Point"
öffnet ein neues WLAN-Netzwerk, "Infrastruktur" lässt die Steuerung mit einem existierenden Netz-
werk verbinden. Für eine Internetverbindung wird letzteres benötigt. Geben Sie dann die Parameter
an (abhängig vom Modus werden nur die benötigten angezeigt):

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.

©2022 igus® GmbH 65


11 KONFIGURATION

[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.

Benutzername Anmelde-Email-Adresse bei RobotDimension


Passwort Roboterpasswort bei RobotDimension
Client-ID Zur Unterscheidung mehrerer Roboter, wenn leer wird sie zufällig ge-
neriert

Die folgenden Daten können optional zur Cloud gesendet werden, sie dienen lediglich der Informa-
tion.

Robotername Identifizierender Name des Roboters


Roboterbesitzer Besitzer oder Verantwortlicher des Roboters

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.

11.5.8 Secure Shell Zugriff

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".

Eine bebilderte Anleitung ist hier verfügbar:

[Link]
utty_Access

©2022 igus® GmbH 66


11 KONFIGURATION

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!

1. [Link] herunterladen und starten.

[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.

7. Roboterdateien befinden sich in


~/TinyCtrl/Data/Robots/<Robotertyp>/<Robotermodell>/<Robotermodell>.xml

8. Die Projektdatei, in der die Roboterdatei referenziert wird, befinden sich in


~/TinyCtrl/Data/Projects/[Link]

9. Als Editor sind nano, vim und vi vorinstalliert.

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

13. Der Prozess lässt sich per Strg+C beenden.

14. Nach einem Neustart der Steuerung startet TinyCtrl automatisch

©2022 igus® GmbH 67


11 KONFIGURATION

11.5.9 SFTP Zugriff

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.

Eine bebilderte Anleitung ist hier verfügbar:

[Link]
utty_Access

Die Windows-Software iRC und die Linux-Steuersoftware TinyCtrl benutzen Konfigu-


, rationsdateien. Wenn auf einem dieser Systeme manuell (z.B. in einem Texteditor) Än-
derungen 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!

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.

1. FileZilla Client herunterladen und installieren:

[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].

3. FileZilla starten und folgendes angeben:


• Host: [Link]
• Username: robot
• Password: robot
• Port: 22
Dann auf Quickconnect klicken.

4. Die SFTP-Verbindung zum Roboter wird nun hergestellt:


• Im linken Fenster wird die lokale Verzeichnisstruktur des Windows-PC dargestellt.
• im rechten Fenster von FileZilla wird die Verzeichnisstruktur auf dem Linux Computer
dargestellt.
• Das Äquivalent zur iRC-Steuersoftware auf der integrierten Steuerung heißt TinyCtrl. Sie
liegt im Ordner ~/TinyCtrl
• Die Verzeichnisstruktur innerhalb des TinyCtrl Ordners erinnert stark an die von iRC.

Anpassen von Parametern in einer Roboter- oder Projektdatei

©2022 igus® GmbH 68


11 KONFIGURATION

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.

4. Dabei wird die Datei im Zielordner überschrieben "Overwrite"

5. Um die Konfigurationsänderung wirksam werden zu lassen, muss die Steuerung neu gestartet
werden.

11.5.10 Unterspannungsversorgung (USV/UPS)

Unter bestimmten Voraussetzungen kann es wünschenswert sein, eine Unterspannungsversorgung


anzuschließen. Auf dem integrierten Steuerrechner ist der "apcupsd" daemon integriert, der die Steue-
rung bei Stromausfall und u.U. darauf folgendem, niedrigen Batteriestand sicher herunterfahren lässt.
Unterstützt wird eine "APC Back-UPS Pro 1500". Die USV wird per USB Kabel an den Steuerrechner
angeschlossen. Die Robotersteuerung wird per Schukostecker an die USV angeschlossen. Die USV
wird an das Stromnetz angeschlossen. Eine weitere Konfiguration ist nicht erforderlich, da der "ap-
cupsd" vorkonfiguriert ist. Sollten es erforderlich sein die Konfiguration zu ändern, wenn z.B. eine
andere mit apcupsd kompatible USV angeschlossen wird, verweisen wir auf die apcupsd Dokumen-
tation:

[Link]

11.6 Konfiguration der Motorsteuerungen


Für die Feineinstellung der Bewegung und der Referenzierung enthält jedes Achsmodul einen eige-
nen Konfigurationssatz. Dieser kann über die Schaltflächen "Datei" → "Firmwareparameter herun-
terladen" bzw. "Firmwareparameter hochladen" abgerufen und geändert werden. Nach dem Herun-
terladen wird der Konfigurationssatz im Installationsverzeichnis von iRC unter Data\Backup ange-
legt.
Eine detaillierte Beschreibung der Parameter kann unter folgendem Link gefunden werden:

[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.

©2022 igus® GmbH 69


11 KONFIGURATION

11.7 Weitergehende Konfiguration


Darüber hinausgehende Dinge können in den Projekt- und Roboterdateien geändert werden.
Der Zugriff auf die Konfigurationsdateien eines Roboters mit integrierter Steuerung ist über "Datei"
→ "Zugriff auf Konfiguration" möglich.

Ä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.

©2022 igus® GmbH 70


12 MODBUS

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

12.2 Konfiguration des Modbus-Servers


Der Modbus-Server kann über den Konfigurationsbereich in iRC konfiguriert werden. Verbinden Sie
dazu iRC mit dem Roboter und öffnen Sie die Modbus-Konfiguration (Datei → Schnittstellenkonfi-
guration → Modbus). Der Modbus-Server wird aktiv, wenn das Kästchen "Aktiv" gesetzt ist und "An-
wenden" oder "Projekt speichern" geklickt wird. Bei Bedarf kann der Port (Standard: 502) und die
maximale Anzahl an Verbindungen geändert werden.

12.3 TIA-Portal Bibliothek


Für die Umsetzung der SPS Seite mit einer S7-1200 oder S7-1500 CPU steht dem Benutzer eine Bi-
bliothek zur Verfügung. Die Bibliothek beinhaltet Datentypen, sowie Kommunikationsbausteine. Der
Download der Bibliothek kann über nachfolgendem Link erfolgen.

[Link]
ver

Für das Einbinden der Bibliothek wenden Sie sich bitte an den Siemens Support.

[Link]
ew/37364723

12.3.1 Anlegen des Roboter Datenbausteins

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.

©2022 igus® GmbH 71


12 MODBUS

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.

12.3.2 Einfügen des Roboterkommunikations FB

Für die Kommunikation mit dem Roboter ist der FB CPR_Robot verantworlich. Dieser Baustein be-
nötigt folgen Eingangssignale.

Request_MB Bool Daten vom Roboter abrufen. Solange dieser Eingang


gesetzt ist pflegt der FB eine aktive Kommunikation
mit dem Roboter
Disconnect_MB Bool Trennt die TCP/IP Verbindung mit dem Roboter, kann
für das Zurücksetzen von Fehlern verwendet werden
Reset Bool Setzt den Roboter zurück
Enable Bool Aktiviert den Roboter
Reference Bool Referenziert alle Roboter Achsen
StartProgram Bool Startet das Roboterprogramm
StopProgram Bool Stoppt das Roboterprogramm
Robot_Data CPR_ROBOT_MODBUS In/Out für Roboterdatenbaustein

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.

Enabled Bool Roboter ist aktiviert


Referenced Bool Roboter ist referenziert
ProgrammRunning Bool Das Roboterprogramm wird ausgeführt

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.

©2022 igus® GmbH 72


12 MODBUS

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.

Speicherbereich Zugriff Verwendung


Coils 1 Bit, Lesen und Schreiben Aktionen und änderbare Zustände
Diskrete Eingänge 1 Bit, nur Lesen Zustände, Informationen
Halteregister 16 Bit, Lesen und Schreiben Änderbare Werte oder Zustände
Eingaberegister 16 Bit, nur Lesen Nicht änderbare Werte, Informationen

Tabelle 25: Verwendung der Modbus-Speicherbereiche

Folgende Modbus-Funktionscodes können zum Lesen und Schreiben der Speicherbereiche verwen-
det werden.

Speicherbereich Lesen Schreiben


Coils 1 5 (einzel), 15 (mehrere)
Diskrete Eingänge 2 -
Halteregister 3 6 (einzel), 16 (mehrere), 22 (maskiert), 23 (lesen und schrei-
ben)
Eingaberegister 4 -

Tabelle 26: Unterstützte Modbus-Funktionscodes (dezimal)

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.

Tabelle 27: Definition komplexer Datentypen

Die folgenden Tabellen beschreiben die Modbus-Adresszuordnung Version 1 (siehe Eingaberegister

©2022 igus® GmbH 73


12 MODBUS

3).

12.4.1 1 Bit Lesezugriff (Coils und diskrete Eingänge)

Ü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.

Adressen Datentyp Beschreibung


10 Info Hat Roboterachsen
11 Info Hat externe Achsen
12 Info Hat Greiferachsen
13 Info Hat Plattformachsen
14 Info Hat digitale Ein-/Ausgabemodule
20 Info Module - Kein Fehler
21 Info Modulfehler - Temperatur
22 Info Modulfehler - Notaus / Unterspannung
23 Info Modulfehler - Motor nicht aktiviert
24 Info Modulfehler - Kommunikation
25 Info Modulfehler - Schleppfehler
26 Info Modulfehler - Encoderfehler
27 Info Modulfehler - Überstrom
28 Info Modulfehler - Treiberfehler
29 Info Modulfehler - Bus tot
30 Info Modulfehler - Modul tot
31-36 Info Modulfehler - reserviert für künftige Fehler
37 Info Kinematik - Kein Fehler
38 Info Kinematik - Achslimit Min
39 Info Kinematik - Achslimit Max
40 Info Kinematik - Zentralachsensingularität
41 Info Kinematik - Außer Reichweite
42 Info Kinematik - Handgelenkssingularität
43 Info Kinematik - Virtuelle Box erreicht
44 Info Kinematik - Bewegung nicht erlaubt
45-49 Info Kinematik - reserviert für künftige Fehler
50 Ist CAN-Bus verbunden? / Verbinden (1) / Verbindung trennen (0) (Ver-
binden / Trennen mit TinyCtrl nicht möglich)
51 Steuerungsrechner Herunterfahren
52 Roboter Zurücksetzen

©2022 igus® GmbH 74


12 MODBUS

53 Sind die Motoren aktiv? / Motoren aktivieren (1) / deaktivieren (0)


54 Info Normaler Betrieb (siehe Betriebsmodus, Tabelle 34)
60 Sind alle Achsen referenziert? / referenzieren
61-66 Ist Roboterachse referenziert? / referenzieren
67-69 Ist externe Achse referenziert? / referenzieren
70-72 Ist Greiferachse referenziert? / referenzieren
73 Alle Achsen auf 0 setzen
100 MoveTo starten - kartesisch
101 MoveTo starten - kartesisch relativ Basiskoordinaten
102 MoveTo starten - kartesisch relativ Werkzeugkoordinaten
103 MoveTo starten - Achsbewegung
104 MoveTo starten - Achsbewegung relativ
110 Info Ist Zero-Torque (Handführungsmodus) verfügbar?
111 boolean Ist Zero-Torque aktiviert? / aktivieren (1) / deaktivieren (0)
112 Info Bewegt sich der Roboter?
120 Info Ist ein Roboterprogramm geladen?
121 Info Ist ein Logikprogramm geladen?
122 Läuft das Roboterprogramm? / starten / fortführen
123 Ist Roboterprogramm pausiert? / pausieren
124 Ist das Roboterprogramm gestoppt? / stoppen
130 Nächsten Verzeichniseintrag wählen
131 Vorherigen Verzeichniseintrag wählen
132 Info Ist der gewählte Verzeichniseintrag eine Programmdatei
133 Gewählten Verzeichniseintrag als Roboterprogramm laden / Verzeich-
nis öffnen
134 Gehe ins Basisverzeichnis (.../Data/Programs)
135 Roboterprogramm entladen
136 Logikprogramm entladen
200-299 boolean Globale Signale
300-363 boolean Digitale Ausgänge
364-427 Info Digitale Eingänge

Tabelle 28: Zuweisung der Coils und der diskreten Eingänge

12.4.2 16 Bit Lesezugriff (Eingaberegister)

Die Eingaberegister bieten Lesezugriff auf Konfigurations-, Zustands- und Statistikinformationen.


Um Zahlenwerte in die korrekte Einheit umzurechnen muss mit dem unter Einheit angegebenen
Faktor multipliziert werden. Die Bedeutung der Zustandsregister mit Datentyp enum ist im Abschnitt
12.4.5 beschrieben.

Adressen Datentyp Einheit Beschreibung


0 uint16 Software-ID (902=iRC, 980=TinyCtrl)
1 uint16 Software Major-Version (z.B. 12)

©2022 igus® GmbH 75


12 MODBUS

2 uint16 Software Minor-Version (z.B. 6)


3 uint16 Modbus Mapping Version
4-5 uint32 Minuten Uptime komplett
6-7 uint32 Minuten Uptime zuletzt
8-9 uint32 Minuten Uptime aktiviert
10-11 uint32 Minuten Uptime Bewegung
12 uint16 Programmstarts
13 uint16 0.1ms Zykluszeit-Soll
14 uint16 0.1ms Zykluszeit-Max (letzte 50 Zyklen)
15 uint16 0.01Hz Zyklusfrequenz (Durchschnitt)
16 uint16 0.01% Arbeitslast
20 uint16 Anzahl Roboterachsen
21 uint16 Anzahl externe Achsen
22 uint16 Anzahl Greiferachsen
23 uint16 Anzahl Plattformachsen
24 uint16 Anzahl Ein-/Ausgabemodule
25-30 Bitfeld Modulfehlercodes Roboterachsen
31-33 Bitfeld Modulfehlercodes externe Achsen
34-36 Bitfeld Modulfehlercodes Greiferachsen
37-40 Bitfeld Modulfehlercodes Plattformachsen
41-43 Bitfeld Modulfehlercodes Ein-/Ausgabemodule
44-49 int16 0.1°C Temperatur Elektronik Roboterachsen
50-52 int16 0.1°C Temperatur Elektronik externe Achsen
53-55 int16 0.1°C Temperatur Elektronik Greiferachsen
56-59 int16 0.1°C Temperatur Elektronik Plattformachsen
60-65 int16 0.1°C Temperatur Motoren Roboterachsen
66-68 int16 0.1°C Temperatur Motoren externe Achsen
69-71 int16 0.1°C Temperatur Motoren Greiferachsen
72-75 int16 0.1°C Temperatur Motoren Plattformachsen
76-81 uint16 mA Ströme Roboterachsen
82-84 uint16 mA Ströme externe Achsen
85-87 uint16 mA Ströme Greiferachsen
88-91 uint16 mA Ströme Plattformachsen
92 uint16 0.01V Spannung
93 uint16 mA Gesamtstrom
94 uint16 0.1% Batterieladezustand (nicht in TinyCtrl)
95 uint16 enum Kinematik - Fehlercode
96 uint16 enum Betriebsmodus
130-135 int32 0.01mm Aktuelle kartesische Position
136-141 int16 0.01° Aktuelle kartesische Orientierung
142-153 int32 0.01 Aktuelle Achsposition Roboterachsen

©2022 igus® GmbH 76


12 MODBUS

154-159 int32 0.01 Aktuelle Achsposition ext. Achsen


160-165 int32 0.01 Aktuelle Achsposition Greiferachsen
166-173 int32 0.01 Aktuelle Achsposition Plattform
262 uint16 Anzahl geladener Roboterprogramme
263 int16 Nummer des aktuellen Programms, 0 für Hauptprogramm
264 uint16 Anzahl Anweisungen in aktuellem Programm
265 int16 Nummer der aktuellen Anweisung, -1 wenn Programm
nicht läuft
266 enum Grund für letzten Programmstopp oder -pause
331 uint16 Anzahl Einträge im aktuellen Verzeichnis
333-364 string Name des gewählten Verzeichniseintrags
365-396 string Name des aktuellen Verzeichnisses
207-210 Bitfeld Digitale Eingänge
400-431 string Info/Fehlernachricht kurz (wie auf Handbediengerät)
440-455 int16 Zahlenvariablen mb_num_r1 - mb_num_r16
456-711 int16 0.1 Positionsvariablen mb_pos_r1 - mb_pos_r16 (s. Abs. 12.4.4)

Tabelle 29: Zuweisung der Eingaberegister

12.4.3 16 Bit Lese- und Schreibzugriff (Halteregister)

Über die Halteregister können Zielpositionen und Variablen, sowie der Name eines zu ladenden Pro-
gramms geschrieben werden.

Adressen Datentyp Einheit Beschreibung


130-135 int32 0.01mm Zielposition kartesisch
136-141 int16 0.01° Zielorientierung kartesisch
142-153 int32 0.01 Zielposition Roboterachsen
154-159 int32 0.01 Zielposition externe Achsen
174-177 int32 0.01mm Zielposition Plattform
178-179 int32 0.01° Zielorientierung Plattform
180 int16 0.1 Geschwindigkeit für MoveTo (Prozent oder mm/s)
181-186 int32 0.1 Zielgeschwindigkeit der ext. Achsen im Velocity-Modus
181-186 uint16 0.01% Geschwindigkeits-Override
188 enum Jog-Modus
260 enum Roboterprogramm RunState
261 enum Roboterprogramm Replay-Modus
267-298 string Name des geladenen Roboterprogramms / bei Schreiben la-
den
299-330 string Name des geladenen Logikprogramms / bei Schreiben la-
den
332 uint16 Nummer des gewählten Verzeichniseintrags
200-206 Bitfeld Globale Signale

©2022 igus® GmbH 77


12 MODBUS

207-210 Bitfeld Digitale Ausgänge


440-455 int16 Zahlenvariablen mb_num_w1 - mb_num_w16
456-711 int16 0.1 Positionsvariablen mb_pos_w1 - mb_pos_w16 (s. Abs.
12.4.4)

Tabelle 30: Zuweisung der Halteregister

12.4.4 Zahlen- und Positionsvariablen

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.

Name Typ Zugriff über Modbus


mb_num_r1 - mb_num_r16 Zahlenvariable nur Lesen (Eingaberegister)
mb_num_w1 - mb_num_w16 Zahlenvariable Lesen und Schreiben (Halteregister)
mb_pos_r1 - mb_pos_r16 Positionsvariable nur Lesen (Eingaberegister)
mb_pos_w1 - mb_pos_w16 Positionsvariable Lesen und Schreiben (Halteregister)

Tabelle 31: Programmvariablen für die Kommunikation über Modbus

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)

©2022 igus® GmbH 78


12 MODBUS

1 Die kartesischen Koordinaten und Orientierung wird aus den Achspositionen berech-
net
2 Die Achspositionen werden aus den kartesischen Koordinaten und der Orientierung
berechnet

Tabelle 32: Übersetzungsart

Beachten Sie, dass möglicherweise nicht alle Positionen von der Kinematik erreicht
ð werden können. Prüfen Sie die Werte daher auf Plausibilität.

12.4.5 Bedeutung der Aufzählungswerte

Die folgenden Tabellen beschreiben die Bedeutung der Aufzählungswerte.

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

Tabelle 33: Kinematikfehlercode

Wert Bedeutung
0 Standard - normaler Betrieb
1 Schwerer Fehler, Steuerung muss neu gestartet werden
2 CAN-Bridge (CRI, z.B. Abruf der Firmwareparameter)

Tabelle 34: Betriebsmodus

Wert Bedeutung
0 Achsen
1 Kartesisch Basiskoordinatensystem

©2022 igus® GmbH 79


12 MODBUS

2 Kartesisch Werkzeugkoordinaten
3 Plattform
0xFFFF Ungültig

Tabelle 35: Jog-Modus

Wert Bedeutung
0 Programm läuft nicht
1 Programm läuft
2 Programm pausiert

Tabelle 36: Programmzustände (RunState)

Wert Bedeutung
0 Programm einmal ausführen
1 Programm wiederholen
2 Anweisungen schrittweise ausführen
3 Schnell (nicht verwendet)

Tabelle 37: Replay-Modus

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

Tabelle 38: Grund für letzten Stopp/Pause des Programms

©2022 igus® GmbH 80


13 WARTUNG

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.

©2022 igus® GmbH 81


14 FEHLERBEHEBUNG

14 Fehlerbehebung

14.1 Häufig gestellte Fragen


Antworten zu häufig gestellten Fragen finden Sie in unserem Wiki:

[Link]

14.2 Fehlercodes und Wege zur Behebung


Unser Troubleshooting-Guide hilft schrittweise bei der Identifikation und Lösung von Problemen:

[Link]
oting

Fehlercodes und Probleme mit Hardware und Elektronik sind in folgendem Artikel beschrieben:

[Link]
dware_Troubleshooting

Lösungen zu häufigen Softwareprobleme sind in folgendem Artikel beschrieben:

[Link]
tware_Troubleshooting

14.3 Testsoftware Module Control


Um Achsen einzeln und ohne Einfluss der darüber liegenden Robotersteuerung zu testen kann die
Software Module Control verwendet werden. Sie ermöglicht unter anderem das Bewegen und Refe-
renzieren der Achse sowie das Auslesen und Ändern von Parametern (siehe Abschnitt 11.6).
Unter folgendem Link kann Module Control heruntergeladen werden. Dort ist ebenfalls die Bedie-
nung genauer beschrieben.

[Link]
tware_ModuleCtrl

©2022 igus® GmbH 82


14 FEHLERBEHEBUNG

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

• Telefon: +49(0)2203 / 96498-255

©2022 igus® GmbH 83

Das könnte Ihnen auch gefallen