Industrierobotik und virtuelle Roboterzellen – Roboterprogramme übersichtlich strukturieren
Industrierobotik und virtuelle Roboterzellen – Roboterprogramme übersichtlich strukturieren
QR-Code
Industrierobotik und virtuelle Roboterzellen – Roboterprogramme übersichtlich strukturieren
Kurzbeschreibung: In diesem aiMOOC lernst Du, Roboterprogramme für virtuelle Roboterzellen übersichtlich aufzubauen. Im Mittelpunkt stehen Unterprogramme, Daten und Kommentare. Du arbeitest mit einem konkreten Ausbildungsfall, analysierst Signalverläufe und bearbeitest Steuerungs- und Diagnoseaufgaben ausschließlich in einer Simulation oder in ausdrücklich abgesichertem Schulungsbetrieb.
Sicherheitsrahmen: Dieser Kurs enthält keine Live-Fahrbefehle. Simulationsergebnisse sind keine Sicherheitsfreigabe für reale Anlagen. Reale Robotik darf nur nach betrieblicher Gefährdungsbeurteilung, Herstellerangaben, geltenden Sicherheitsregeln und unter Aufsicht qualifizierter Fachkräfte betrieben werden.

Einleitung
Industrieroboter arbeiten zuverlässig, wenn Programme nicht nur funktionieren, sondern auch lesbar, prüfbar und wartbar sind. Besonders in Ausbildung und Instandhaltung hilft eine klare Struktur dabei, Fehler schneller zu finden.
Ein Roboterprogramm lässt sich vereinfacht in drei Bausteine gliedern:
- Unterprogramm: Bearbeitet eine klar abgegrenzte Teilaufgabe.
- Daten: Speichern zum Beispiel Positionen, Zustände oder Prozesswerte.
- Kommentar: Erklärt Zweck, Annahmen oder besondere Bedingungen.
Bei komplexeren Anwendungen werden Programme in Module gegliedert. In ABB RAPID enthält ein Modul Daten- und Routinedeklarationen; größere Anwendungen können mehrere Module verwenden. Diese Grundidee ist auch auf andere Robotersprachen übertragbar.
Ausbildungsfall: Virtuelle Sortierzelle
Du arbeitest mit einer virtuellen Sortierzelle. Ein Bauteil wird in der Simulation erkannt, virtuell aufgenommen und abhängig von einem simulierten Prüfsignal einem Ablagebereich zugeordnet.
Die Lernaufgabe lautet:
Strukturiere das Programm so, dass eine andere Auszubildende oder ein anderer Auszubildender Ablauf, Daten und Diagnose schnell versteht.
Die Zelle verwendet beispielhaft folgende logische Signale:
- Teil_vorhanden: Ein Werkstück wurde virtuell erkannt.
- Pruefung_OK: Das simulierte Prüfergebnis ist positiv.
- Greifer_zu: Der virtuelle Greiferzustand ist geschlossen.
- Zyklus_fertig: Der Simulationszyklus ist abgeschlossen.
Es geht dabei nicht um reale Aktorik, sondern um Programmstruktur und Diagnose im Simulator.
Lernziele
Nach dem Kurs kannst Du:
- Programmteile nach Aufgabe gliedern.
- sinnvolle Unterprogramme erkennen und benennen.
- Daten von Ablauflogik unterscheiden.
- Kommentare zielgerichtet einsetzen.
- virtuelle Signalverläufe lesen.
- typische Strukturfehler in einer Simulation diagnostizieren.
- begründen, warum Simulation keine reale Sicherheitsvalidierung ersetzt.
Lerneinheit 1: Warum strukturieren?
Ein einziges langes Hauptprogramm ist schwer zu lesen. Gute Struktur reduziert Suchaufwand und erleichtert Änderungen.
Schlecht überschaubar: Hauptablauf enthält Erkennung, Greifen, Prüfen, Ablegen, Fehlerbehandlung und Meldungen ohne klare Trennung.
Besser: Hauptablauf ruft klar benannte Unterprogramme auf.
Main Initialisieren Teil_pruefen Teil_virtuell_handhaben Ergebnis_auswerten Zyklus_abschliessen End
Merksatz: Das Hauptprogramm zeigt den Ablauf. Unterprogramme enthalten Details.

Mini-Aufgabe: Basis
Ordne zu:
A = Hauptablauf B = Unterprogramm C = Datenbereich D = Kommentar
1. „Warum wird dieser Schritt ausgeführt?“ 2. „Welche Teilfunktion wird wiederverwendet?“ 3. „Welche Werte werden gespeichert?“ 4. „In welcher Reihenfolge läuft der Zyklus?“
Begründetes Feedback: Eine gute Zuordnung trennt Ablauf, Funktion, Information und Erklärung. Genau diese Trennung verbessert Lesbarkeit und Fehlersuche.
Lerneinheit 2: Unterprogramme
Unterprogramme bündeln logisch zusammengehörige Arbeitsschritte. Sinnvolle Namen beschreiben die Aufgabe.
Ungünstig:
PROC1 PROC2 PROC3
Übersichtlicher:
Teil_pruefen Greiferstatus_auswerten Ablage_waehlen Fehlerstatus_setzen
Ein gutes Unterprogramm hat möglichst eine klar erkennbare Aufgabe.
Gestufte Hilfe: Unterprogramme erkennen
Hilfe 1: Suche nach wiederkehrenden oder fachlich abgeschlossenen Teilaufgaben.
Hilfe 2: Frage bei jedem Programmblock: „Kann ich seine Aufgabe in drei bis fünf Wörtern benennen?“
Hilfe 3: Wenn ein Block gleichzeitig prüft, sortiert, protokolliert und Fehler behandelt, ist er wahrscheinlich zu groß.
Anwendungsaufgabe
Teile diesen Ablauf gedanklich in Unterprogramme:
Start Signal Teil_vorhanden prüfen virtuellen Greiferstatus prüfen Prüfergebnis lesen Ablage wählen Zyklusstatus setzen Fehler melden Ende
Begründetes Feedback: Eine plausible Lösung trennt mindestens Eingangsprüfung, Prozessentscheidung, Statusausgabe und Fehlerbehandlung. Andere Aufteilungen sind möglich, wenn sie fachlich begründet und konsistent sind.
Lerneinheit 3: Daten sauber ordnen
Daten sollten nicht ungeordnet zwischen Programmschritten stehen. Trenne zum Beispiel:
- Konfigurationsdaten: feste Vorgaben der Simulation.
- Prozessdaten: Werte, die im Zyklus benötigt werden.
- Statusdaten: Zustände für Diagnose und Ablauf.
- Positionsdaten: virtuelle Ziel- oder Referenzdaten.
In RAPID werden Daten innerhalb von Modulen deklariert. Dadurch kann eine Anwendung Daten und Routinen logisch zusammenfassen.
! Beispielhafte, nicht ausführbare Strukturidee DATEN Teilstatus Pruefergebnis Ablageziel ENDDATEN
Wichtig: Dieses Beispiel zeigt nur Struktur. Es ist kein Live-Roboterprogramm.
Basisaufgabe
Welche Information gehört am ehesten in einen Datenbereich?
A. „Prüfung starten“ B. „Zielposition Ablage A“ C. „Unterprogramm aufrufen“ D. „Kommentar schreiben“
Feedback: B ist passend, weil eine Position ein gespeicherter Wert ist. Die anderen Punkte beschreiben Programmaktionen.
Lerneinheit 4: Kommentare mit Nutzen
Kommentare sollen nicht beschreiben, was ohnehin sichtbar ist, sondern warum etwas geschieht oder welche Annahme gilt.
Schwach:
! Prüfe Signal IF Pruefung_OK THEN
Besser:
! Nur geprüfte Teile werden im Simulationsfall Ablage A zugeordnet. IF Pruefung_OK THEN
Gute Kommentare helfen besonders bei:
- ungewöhnlichen Entscheidungen,
- Randbedingungen,
- Diagnosehinweisen,
- späteren Änderungen,
- Schnittstellen zwischen Programmteilen.

Transferaufgabe
Bewerte diesen Kommentar:
! Wichtig
Feedback: Der Kommentar ist zu ungenau. Ein guter Kommentar nennt den Grund oder die Bedingung, zum Beispiel: „Prüfergebnis muss vor der Ablageentscheidung aktualisiert sein.“
Lerneinheit 5: Virtuelle Signalverläufe lesen
In einer virtuellen Roboterzelle helfen Signalverläufe bei der Diagnose.
Beispiel:
Zeit t0 t1 t2 t3 t4 Teil_vorh. 0 1 1 1 0 Pruefung_OK 0 0 1 1 0 Greifer_zu 0 0 1 1 0 Zyklus_fertig 0 0 0 1 1
Mögliche Interpretation:
- Bei t1 wird ein Teil erkannt.
- Bei t2 liegen Prüfergebnis und virtueller Greiferstatus vor.
- Bei t3 wird der Zyklus als abgeschlossen markiert.
Ein solcher Verlauf hilft zu erkennen, ob ein Programm auf ein Signal zu früh, zu spät oder gar nicht reagiert.
Diagnoseaufgabe
Gegeben ist:
Zeit t0 t1 t2 t3 Teil_vorh. 0 1 1 1 Pruefung_OK 0 0 1 1 Zyklus_fertig 0 0 0 0
Frage: Wo würdest Du die Fehlersuche beginnen?
Gestufte Hilfe 1: Prüfe, welches erwartete Signal nie seinen Zustand ändert.
Gestufte Hilfe 2: Prüfe danach, welches Unterprogramm dieses Signal setzen sollte.
Gestufte Hilfe 3: Kontrolliere Aufrufreihenfolge, Bedingungen und Datenzustände im Simulator.
Begründetes Feedback: Der erste Diagnoseansatz liegt bei Zyklus_fertig. Das bedeutet nicht automatisch, dass dort die Ursache liegt. Ursache kann auch ein vorheriger, nicht erreichter Programmzweig sein.
Lerneinheit 6: Virtuelle Roboterzelle als Diagnosewerkzeug
Eine Simulationsumgebung kann Programme ausführen, Signalzustände darstellen und Kollisionen oder Ereignisse virtuell untersuchen. ABB RobotStudio verwendet dafür einen Virtual Controller und bietet unter anderem Programmsimulation und I/O-Simulation.

Aber: Eine erfolgreiche Simulation beweist nicht automatisch, dass eine reale Anlage sicher ist. Reale Risiken entstehen zum Beispiel durch Aufbauabweichungen, Werkzeuge, Lasten, Peripherie, Schutzsysteme oder Bedienfehler.
Sicherheitscheck für diesen Kurs
- Arbeite nur im Simulator oder in ausdrücklich abgesichertem Schulungsbetrieb.
- Übertrage keine Bewegungsbefehle aus diesem Kurs ungeprüft auf reale Roboter.
- Leite aus Simulationsergebnissen keine Sicherheitsfreigabe ab.
- Verwende reale Schulungsanlagen nur nach örtlicher Einweisung und Freigabe durch Fachpersonal.
Lerneinheit 7: Programmstruktur prüfen
Nutze diese kurze Prüfliste:
- Ist der Hauptablauf kurz und verständlich?
- Hat jedes Unterprogramm eine klare Aufgabe?
- Sind Daten logisch gruppiert?
- Erklären Kommentare Gründe statt Offensichtliches?
- Sind Signalnamen eindeutig?
- Ist die Diagnose ohne langes Suchen möglich?
- Sind Simulation und reale Sicherheit klar getrennt?
Ausbildungsfall: Verbesserte Struktur
Eine mögliche Zielstruktur für die virtuelle Sortierzelle:
MODUL Zellenablauf
DATEN
Teilstatus
Pruefergebnis
Ablageziel
ROUTINEN
Initialisieren
Teilstatus_lesen
Pruefergebnis_auswerten
Ablageziel_bestimmen
Diagnose_aktualisieren
Zyklus_abschliessen
MAIN
Initialisieren
Teilstatus_lesen
Pruefergebnis_auswerten
Ablageziel_bestimmen
Diagnose_aktualisieren
Zyklus_abschliessen
ENDMODUL
Hinweis: Dies ist bewusst herstellerneutraler Pseudocode und nicht zur Ausführung an realen Robotern gedacht.
Interaktive Aufgaben
Quiz: Teste Dein Wissen
Welchen Zweck hat ein Unterprogramm vor allem? (Eine klar abgegrenzte Teilaufgabe strukturieren) (!Alle Daten löschen) (!Die Sicherheitsfreigabe ersetzen) (!Nur Kommentare speichern)
Was gehört typischerweise in einen Datenbereich? (Gespeicherte Prozess- oder Positionswerte) (!Nur Programmtitel) (!Nur Fehlermeldungen) (!Ausschließlich Kommentare)
Was zeichnet einen guten Kommentar aus? (Er erklärt Zweck oder Randbedingung) (!Er wiederholt jede Programmzeile) (!Er ersetzt Unterprogramme) (!Er enthält möglichst viele Abkürzungen)
Was zeigt ein Signalverlauf besonders gut? (Zeitliche Zustandsänderungen) (!Die mechanische Traglast) (!Die reale Schutzzaunhöhe) (!Die Werkzeugzulassung)
Was ist ein sinnvoller erster Diagnoseschritt bei einem fehlenden Ausgangssignal? (Das zuständige Unterprogramm und seine Bedingungen prüfen) (!Sofort reale Achsen verfahren) (!Alle Kommentare löschen) (!Die Simulation als sicher freigeben)
Warum sollte der Hauptablauf übersichtlich bleiben? (Damit Reihenfolge und Programmidee schnell erkennbar sind) (!Damit keine Daten benötigt werden) (!Damit Signale entfallen) (!Damit Diagnose unnötig wird)
Welche Aussage zur Simulation ist richtig? (Sie unterstützt Prüfung und Diagnose virtueller Abläufe) (!Sie ersetzt jede reale Sicherheitsprüfung) (!Sie bestätigt automatisch die Schutzfunktion einer Anlage) (!Sie erlaubt ungeprüfte Live-Fahrbefehle)
Welche Benennung ist für ein Unterprogramm am verständlichsten? (Pruefergebnis_auswerten) (!PROC7) (!X1) (!ABC)
Welche Struktur verbessert die Wartbarkeit? (Klare Trennung von Ablauf Daten und Diagnose) (!Ein einziger sehr langer Programmblock) (!Unbenannte Variablen) (!Kommentare ohne Aussage)
Was darf aus einem erfolgreichen Simulationstest nicht abgeleitet werden? (Eine Sicherheitsfreigabe für die reale Anlage) (!Ein Hinweis auf mögliche Programmfehler) (!Eine Verbesserung der Programmübersicht) (!Eine Analyse virtueller Signalzustände)
Memory
| Unterprogramm | klar abgegrenzte Teilaufgabe |
| Daten | gespeicherte Werte und Zustände |
| Kommentar | Erklärung von Zweck und Randbedingung |
| Signalverlauf | zeitliche Zustandsänderung |
| Hauptablauf | Übersicht über die Programmlogik |
| Simulation | virtuelle Prüfung eines Ablaufs |
Drag and Drop
| Ordne die richtigen Begriffe zu. | Thema |
|---|---|
| Hauptablauf | Reihenfolge der Teilaufgaben |
| Unterprogramm | gekapselte Funktion |
| Datenbereich | gespeicherte Werte |
| Kommentar | erklärende Information |
| Diagnose | Suche nach Fehlerursachen |
...
Kreuzworträtsel
| Modul | Wie heißt eine logische Programmeinheit mit Daten und Routinen? |
| Routine | Wie nennt man eine abgegrenzte programmierte Teilfunktion? |
| Signal | Was wechselt in einem zeitlichen Verlauf zwischen Zuständen? |
| Diagnose | Wie heißt die systematische Suche nach einer Fehlerursache? |
| Kommentar | Was erklärt Zweck oder Randbedingungen im Programm? |
| Simulator | Wo wird in diesem Kurs die Roboterzelle hauptsächlich untersucht? |
LearningApps
Lückentext
Offene Aufgaben
Leicht
- Programmstruktur markieren: Markiere in einem vorgegebenen Pseudocode Hauptablauf, Unterprogramme, Daten und Kommentare.
- Unterprogramme benennen: Ersetze fünf unklare Namen wie PROC1 durch fachlich aussagekräftige Namen und begründe Deine Wahl.
- Kommentare verbessern: Formuliere drei Kommentare so um, dass sie Zweck oder Randbedingungen erklären.
- Signalverlauf lesen: Beschreibe einen vorgegebenen virtuellen Signalverlauf in eigenen Worten.
Standard
- Virtuelle Sortierzelle strukturieren: Entwirf für den Ausbildungsfall eine übersichtliche Modul- und Unterprogrammstruktur.
- Daten gruppieren: Teile zwölf vorgegebene Werte in Konfigurations-, Prozess-, Status- und Positionsdaten ein.
- Diagnoseprotokoll: Analysiere einen fehlerhaften Signalverlauf im Simulator und dokumentiere Deine Prüfschritte.
- Code-Review im Team: Prüft gegenseitig zwei Programmstrukturen anhand der sieben Punkte der Kurs-Prüfliste.
Schwer
- Fehlerbaum entwickeln: Erstelle einen Fehlerbaum für den Fall, dass Zyklus_fertig im Simulator nicht gesetzt wird.
- Modularisierung vergleichen: Entwickle zwei unterschiedliche Programmstrukturen für denselben Ablauf und begründe, welche wartbarer ist.
- Transfer auf zweite Zelle: Übertrage das Strukturprinzip auf eine virtuelle Montage- oder Prüfstation mit anderen Signalen.
- Simulationsgrenzen reflektieren: Erstelle eine kurze Präsentation darüber, welche Aussagen eine Simulation erlaubt und welche Sicherheitsfragen nur an der realen Anlage mit geeigneten Verfahren geprüft werden dürfen.


Lernkontrolle
- Strukturentscheidung begründen: Begründe, warum die Prüflogik besser in einem eigenen Unterprogramm als vollständig im Hauptablauf aufgehoben sein kann.
- Signaldiagnose übertragen: Ein Ausgang bleibt in einer neuen virtuellen Anlage dauerhaft auf 0. Entwickle eine systematische Diagnosefolge aus Signalprüfung, Aufrufprüfung, Bedingungsprüfung und Datenprüfung.
- Wartbarkeit beurteilen: Vergleiche zwei Programmvarianten und entscheide anhand nachvollziehbarer Kriterien, welche langfristig besser wartbar ist.
- Kommentarqualität bewerten: Untersuche fünf Kommentare und erkläre, welche für eine spätere Fehlersuche wirklich hilfreich sind.
- Simulation und Realität trennen: Erkläre an einem eigenen Beispiel, warum eine kollisionsfreie Simulation keine Sicherheitsfreigabe für eine reale Roboterzelle darstellt.
- Programmstruktur transferieren: Entwickle eine Struktur für eine virtuelle Prüfstation mit mindestens vier Unterprogrammen und begründe ihre Aufgabenverteilung.
Lernnachweis
Für einen erfolgreichen Lernnachweis solltest Du zeigen, dass Du:
- Hauptablauf, Unterprogramme, Daten und Kommentare sicher unterscheiden kannst.
- eine übersichtliche Programmstruktur für einen virtuellen Ausbildungsfall entwerfen kannst.
- Signalverläufe lesen und für Diagnose nutzen kannst.
- Diagnoseentscheidungen fachlich begründen kannst.
- Kommentare auf Informationswert prüfen kannst.
- Grenzen virtueller Simulation gegenüber realer Inbetriebnahme und Sicherheit erklären kannst.
- konsequent zwischen Simulator und realem Roboterbetrieb unterscheidest.
OERs zum Thema
Medien und Quellenhinweise
Die verwendeten Wikimedia-Commons-Dateien wurden auf ihren Dateiseiten hinsichtlich Herkunft und Lizenz geprüft. Verwendet werden unter anderem gemeinfreie oder frei lizenzierte Dateien zu Industrierobotern, Steuerungen und Teach Pendants.
Fachliche Grundlage für die Programmstruktur und Simulation:
- RAPID: ABB beschreibt RAPID-Anwendungen als Tasks aus Modulen; Module enthalten Daten- und Routinedeklarationen.
- RobotStudio: ABB beschreibt RobotStudio als Offline-Programmier- und Simulationsumgebung mit Virtual Controller.
- I/O-Simulation: Virtuelle Signale können in RobotStudio angezeigt und für die Programmdiagnose verwendet werden.
- Robotersicherheit: Sicherheitsanforderungen realer Industrierobotersysteme dürfen nicht durch Simulationsergebnisse ersetzt werden.
Geprüfte Medien:
- Wikimedia Commons: Datei „Industrial robot.jpg“, Public Domain.
- Wikimedia Commons: Datei „Teach Pendant ABB.JPG“, ABB IRB140 Teach Pendant.
- Wikimedia Commons: Datei „FANUC R2000iB ControlUnit.jpg“, Public Domain.
- Wikimedia Commons: Datei „FANUC Robot's Control Unit 046.jpg“, CC BY-SA 3.0.
- Wikimedia Commons: Datei „Robot industrial Kuka Movicontrol.png“, frei nutzbare Commons-Datei.
- YouTube: „RobotStudio Tutorial – Getting Started 5/5“ von ABB Robotics.
- YouTube: „ABB Robot Tutorial: Introduction to Programming in RobotStudio“ von Aleksandar Haber.
Verknüpfte Lernbereiche
aiMOOC-Projekte
Schulfach+


aiMOOCs


aiMOOC Projekte


MOOCwiki · Deutsch
Nach dem Lernen ist vor dem Lernen
Entdecke direkt den nächsten Lernkurs. Weitere Inhalte erscheinen, wenn Du weiter nach unten scrollst.
Zur MOOCwiki-HauptseiteMediathek
Mediathek wird aus dem Wiki geladen ...
Keine passenden Inhalte gefunden. Bitte ändere Suche oder Filter.
NEWSLernweltNOAH fragen