Zellstruktur als Erfolgsfaktor: Jobs, Sequenzen und Varianten

Der Unterschied zwischen chaotischem Robotik-Code und wartbarem System liegt oft schon im Design. Eine klare, hierarchische Zellstruktur spart später Monate an Debugging und Wartung.

Das Problem: Wildwuchs statt Struktur

In unserer täglichen Arbeit mit bestehenden Robotik-Applikationen sehen wir immer wieder das gleiche Muster: Code, der über Jahre hinweg gewachsen ist, Sonderlogik für jeden neuen Kundenwunsch, und am Ende niemand, der das Gesamtsystem noch durchschaut. Der vorherige Entwickler ist lange weg, und ein Fehler beim Wiederanlauf kostet Stunden von Problemlösung.

Das ist teuer. Und vermeidbar.

Die Lösung: Hierarchische Zellstruktur

Eine gute Zellstruktur basiert auf vier Ebenen, die aufeinander aufbauen:

  1. Jobs: Die oberste Auftragsebene. Ein Job antwortet auf die Frage: „Was soll die Zelle tun?" — beispielsweise „Teile von Tray A nach Pallet B verpacken".
  2. Sequenzen: Die logischen Schritte eines Jobs. Order alle Sequenzen nacheinander aus: Materialladen → Positionieren → Applikation (z.B. Schweißen) → Entladen → Recovery (bei Fehler).
  3. Varianten: Konfigurierbare Parameter und unterschiedliche Ausführungspfade innerhalb einer Sequenz. Verschiedene Teiletypen? Unterschiedliche Layouts? Das ist eine Variante, kein neuer Code.
  4. Module: Wiederverwendbare Funktionalität: I/O-Logik, Sensorlesung, Fehlerbehandlung, Diagnose. Ein Modul kann von mehreren Sequenzen genutzt werden.

Ein praktisches Beispiel

Angenommen, du hast eine Roboterzelle, die Metallteile schweißt. Die Struktur könnten so aussehen:

Job: „Schweißauftrag verarbeiten"

  • Sequenz: „Teil laden"
  • Sequenz: „Position überprüfen" (mit Vision oder Sensor)
  • Sequenz: „Schweißung durchführen"
  • Sequenz: „Teil entladen"
  • Sequenz: „Recovery / Fehlerbehandlung" (falls etwas schiefgeht)

Innerhalb der Sequenz „Schweißung durchführen" gibt es Varianten: unterschiedliche Stromstärke je nach Materialstärke, unterschiedliche Schweißpfade je nach Teiletyp. Aber all das bleibt in einer Sequenz organisiert — nicht verteilt über 50 versteckte If-Statements.

Warum das funktioniert

Mit dieser Struktur passieren mehrere Dinge gleichzeitig:

Wartbarkeit

Jeder, der den Code später liest — dein Kollege, ein neuer Entwickler, du selbst in zwei Jahren — versteht sofort: „Ah, das ist eine Sequenz. Sie hat einen Ein- und einen Ausgang. Sie macht eine genau definierte Sache." Fehler sind schneller zu lokalisieren.

Wiederverwendbarkeit

Willst du eine neue Applikation auf dem gleichen Roboter? Du brauchst nicht alles von vorne anfangen. Module, bewährte Sequenzen — vieles kannst du wiederverwenden.

Skalierbarkeit

Kommt ein neuer Kundentyp? Eine neue Variante? Mit klarer Struktur ist das oft nur eine Konfigurationsänderung, keine neue Sequenz.

Diagnose & Betrieb

Eine Sequenz hat Status: Idle, Running, Paused, Error. Mit klarer Definition weiß man immer, in welchem Zustand die Zelle ist. Alarm? Du weiß sofort, welche Sequenz fehlgeschlagen hat.

Status & Events: Die Nervenstränge

Eine klare Struktur braucht auch klare Zustandslogik. Jede Sequenz hat Status:

  • Idle: Bereit zu starten
  • Running: Aktuell aktiv
  • Completed: Erfolgreich beendet
  • Error: Fehler aufgetreten
  • Paused: Von außen unterbrochen

Diese Status sind nicht nur für Monitoring interessant. Sie sind die Basis deiner Diagnose. Ein Fehler beim Wiederanlauf? Schau dir die Sequenz-History an. Welcher Status war die letzte dokumentierte Aktion? Damit weiß man, an welcher Stelle die Zelle wieder starten müsste.

Best Practice: Standards setzen

Das C# Roboter Framework von AF Software Engineering enforces genau diese Struktur. Statt jedes Mal neu zu entscheiden, "wie baue ich das denn auf?", gibt es ein Template — Jobs, Sequenzen, Varianten, Module, Status, Events. Das spart Zeit und reduziert Fehler.

Wenn du herstellerübergreifend arbeiten willst (KUKA, ABB, Fanuc usw.), ist ein standardisiertes Modell essentiell. Jeder Entwickler versteht sofort die Struktur, egal, welcher Robot darunter läuft.

Fazit

Eine klare Zellstruktur ist nicht fancy. Sie ist nicht innovativ. Aber sie ist fundamental für wartbare, skalierbare Robotik-Software.

In der Praxis bedeutet das: Weniger Debugging, schnellere Inbetriebnahmen, selbstbewussere Service-Teams. Investiere früh in die richtige Struktur — die Arbeit am Ende wird dir danken.