Ziel: Ein Protokoll, das sich wiederholt und verzweigt — der Schritt vom linearen Ablauf zum programmierten Workflow. Übungsprotokoll: MC-04 Plate Fill Loop mit der Struktur Load Tips → Loop(3×)[Aspirate → Dispense] → Unload Tips → If/Else.
1Die Client-Interaktionen
Unterhalb der Hardware-Aktionen bietet die Palette die Client Interactions — Logikbausteine, die nicht auf dem Gerät, sondern im Ablauf selbst wirken: Prompt Global Parameter, Assign Date/Value, Math & Formula, Save/Load Variable State, User Notification — und die drei Struktur-Blöcke Loop Block, Step Group und If / Else Condition.
2Loop Block einfügen
Der Loop Block wiederholt die enthaltenen Schritte. Frisch eingefügt ist er leer — der erste Schritt kommt per Drag & Drop auf die Fläche „Drop steps here", danach funktionieren die „+"-Einfügepunkte auch innerhalb des Blocks.
3Iterationen festlegen
Ein Klick auf den Loop-Titel öffnet den Block-Editor: Entweder eine feste Iterationszahl — oder „Link variable…": Dann treibt eine Plate-Array-Variable den Loop, und die Iterationszahl folgt der Länge der Plattenliste. Für jede benannte Schleife stellt das System automatisch SYS_LOOP_INDEX_<NAME> bereit; verschachtelte Loops sind erlaubt.
4If / Else — Verzweigen zur Laufzeit
Der If / Else Condition-Block wertet zur Laufzeit eine Bedingung aus: links eine Protokoll-Variable, ein System-Token (Cycle Index, Cycle Total, Timestamp, Loop Index…) oder ein freier Ausdruck; als Operator = ≠ contains > <; rechts ein Wert oder wieder eine Variable. Die Zweige IF TRUE und ELSE füllst du wie den Loop per Drag bzw. „+".
PlateCount > 3 — Badge „IF PlateCount" am Block. Die Tipp-Zeile erinnert: Jedes Feld akzeptiert {{var}}, {{SYS_*}} und Mathe-Ausdrücke.5Die Struktur im Überblick
6Loops im Lauf beobachten
Im Sim-Lauf zählt der Var Inspector die Schritte über alle Iterationen („Step 4/9"), und der Trace vermerkt pro Eintrag #seq · step · iter i/total. Abgeschlossene Iterationen erkennst du am Fortschritt entlang der Loop-Schiene.
PlateCount = 4.{{MyArr[{{i}}]}}) entstehen so echte Bibliotheks-Bausteine.
Übungen
- Verschachteln: Setze einen zweiten Loop in den ersten und beobachte die beiden
SYS_LOOP_INDEX_*-Werte im Var Inspector. - Verzweigung füllen: Lege eine User Notification in den ELSE-Zweig und ändere
PlateCount, bis sie im Sim auslöst. - Aufräumen mit Gruppen: Fasse Load/Unload in eine Step Group „Tip-Handling" — gleiche Optik, keine Funktionsänderung.