RobFlow 7.1.0
Highlights
- Variablenbasierte Subflow-Auswahl: Ermöglicht die variablenbasierte Auswahl von Subflows innerhalb von RobFlow, sodass Benutzer dynamisch verschiedene Subflows basierend auf dem Wert einer Variablen aufrufen können. Dies ist entscheidend für Anwendungen mit hoher Varianz, wie etwa das Palettieren von über 100 verschiedenen Layouts mit einem einzigen Master-Flow.
- Verbesserte Handhabung von Variablen, die mit Industrieanlagen verbunden sind: Variablen, die mit Protokollen (wie Modbus oder Profinet) verbunden sind, können auch dann eingerichtet und bearbeitet werden, wenn die Geräte offline sind. Darüber hinaus können Flows im Debug-Modus auch dann zwangsweise ausgeführt werden, wenn einige Geräte nicht erreichbar sind.
- Bessere UX für die Handhabung von Variablen in Ausdrucksfeldern: Ausdrucksfelder sind jetzt an mehr Stellen verfügbar (HTML-Nodes, HTML-Aktion des generischen Button-Widgets und SQL-Node). Variablen werden im Editor visuell hervorgehoben dargestellt, wodurch komplexe Ausdrücke einfacher zu lesen sind.
- Verbesserungen am Advanced-Palletizing-Node: Palettenpositionen können nun dynamisch über kartesische Variablen gesteuert werden, und das UX-Verhalten bei nicht übereinstimmenden Pose-Dimensionen und Palettenlänge wurde verbessert. Zusätzlich ermöglicht der Node jetzt auch eine 1-Lagen-Konfiguration.
- Effiziente Variablen-Updates: Variablenänderungen während eines Flow-Durchlaufs werden nun sofort übertragen, statt in regelmäßigen Intervallen, wodurch jegliche Latenz eliminiert wird.
- Performance-Verbesserungen: Durch gezielte Maßnahmen wurde die Performance erheblich verbessert, insbesondere bei der Arbeit mit Modbus-Geräten.
- Überarbeitete UX & UI für die Roboterkonfiguration: Die Konfigurations-UI und -UX wurden umfassend überarbeitet und unterstützen nun Auto-Speichern sowie Variablen-Vorschautabellen für CSV.
Features & Änderungen
Variablenbasierte Subflow-Auswahl + Dashboard-Integration
Wir haben eine Funktion entwickelt, die eine variablenbasierte Subflow-Auswahl innerhalb von RobFlow ermöglicht, sodass Benutzer dynamisch verschiedene Subflows basierend auf dem Wert einer Variablen aufrufen können. Dies ist entscheidend für Anwendungen mit hoher Varianz, wie etwa das Palettieren von über 100 verschiedenen Layouts mit einem einzigen Master-Flow.
Wichtige Funktionen:
- Dynamische Subflow-Eigenschaft: Der Subflow-Node erlaubt es, dem Feld „Subflow-Auswahl" eine String-Variable zuzuweisen, die die UID des Subflows enthält.
- Auswahl per Dashboard-Liste: Eine Dashboard-Funktion/ein Widget ermöglicht es dem Benutzer, einen Subflow-Namen aus einer vordefinierten Liste auszuwählen und in einer Variablen zu speichern.
- Erweiterung des generischen Buttons: Das generische Button-Widget wurde um eine Option erweitert, mit der der aktuelle Button-Status manuell ausgewählt werden kann, anstatt sich auf Aktivierungsbedingungen zu verlassen.
Wann zu verwenden:
- Projekte mit vielen verschiedenen Palettiermustern (z. B. 100), bei denen eines über das Dashboard ausgewählt wird



Anwendung:
- Palettieranwendung mit 100 verschiedenen Layouts
- Übersichtlichere Einrichtung des Hauptflows

- Verwenden Sie einen generischen Button mit aktivierter manueller Auswahl

- In die HMI einbinden

Verbesserungen beim Flow-Export
Beim Exportieren eines Prozesses, der dynamische Subflows verwendet, können Sie nun alle erforderlichen Subflows manuell auswählen und einbeziehen. Dies verhindert, dass beim Backup oder Transfer benötigte Dateien fehlen.
Wichtige Funktionen:
- Beim Exportieren eines Hauptflows, der dynamische Subflow-Nodes verwendet, können Sie zusätzliche Subflows manuell auswählen und einbeziehen.
- Dies erhöht die Zuverlässigkeit bei Flow-Backups und -Übertragungen, da sichergestellt wird, dass alle Abhängigkeiten enthalten sind.

Variablen
Variablen, die mit Industrieanlagen verbunden sind, sind nun robuster und ermöglichen die Arbeit auch dann, wenn Geräte offline sind. Der Editor wurde zudem mit deutlich besseren Filter- und Sortierfunktionen ausgestattet.
Wichtige Funktionen:
- Arbeiten mit Offline-Geräten: Sie können nun protokollgebundene Variablen (Modbus, Profinet) auch dann erstellen und ändern, wenn das physische Gerät aktuell offline oder nicht erreichbar ist.
- Flexibilität im Debug-Modus: Sie können einen Flow im Debug-Modus „zwangsweise ausführen", auch wenn er Variablen enthält, die mit einem problematischen Gerät (= offline) verbunden sind – nach einer eindeutigen Fehlermeldung.
- Bessere Fehlersichtbarkeit: Variablen werden nun korrekt als problematisch gekennzeichnet, wenn das verbundene Modbus-Gerät nicht funktioniert.
- Erweiterte Filter- und Sortieroptionen: Neue Filter stehen für Variablen zur Verfügung, die an Protokolle (Modbus, Profinet) gebunden sind, sowie für Variablen, bei denen aktuell Probleme bestehen.
- Verbesserter Editor: Im erweiterten Variablen-Editor können Sie nun die Spalten Name, Typ und Tags sortieren.
- Protokollsuche: Das Fenster zur Variablenauswahl zeigt nun verwendete Protokolle (Profinet/Modbus) explizit an und ermöglicht die Suche nach Protokoll.



UX-Verbesserung: Intelligentere und weiter verbreitete Ausdrucksfelder
Der Editor für Ausdrucksfelder wurde mit einer benutzerfreundlichen Oberfläche (UX) aktualisiert, und diese Felder sind nun an mehr Stellen innerhalb von RobFlow verfügbar.
Wichtige Funktionen:
- Visuell hervorgehobene Variablen: Variablen werden innerhalb von Ausdrücken nun als gut lesbare visuelle Blöcke („visuell hervorgehoben") dargestellt, was das Lesen komplexer Logik vereinfacht.
- Erstellung von HTML-Payloads: HTML-Nodes und die HTML-Aktion des generischen Button-Widgets unterstützen nun Ausdrucksfelder, sodass Sie Variablen verwenden können, um HTML-Inhalte dynamisch aufzubauen.
- Variablengesteuerte Abfragen: Der SQL-Node akzeptiert nun ein Ausdrucksfeld für die SQL-Abfrage selbst, wodurch Sie mithilfe von Variablen ändern können, welche Daten abgerufen werden.
- String-Unterstützung: Die Aktivierungsbedingungen für das generische Button-Widget können nun Text- (String-) Variablen verwenden.

Advanced Palletizing
Dieses Update umfasst Quality-of-Life-Verbesserungen, die das Erstellen von Palettenlayouts schneller und flexibler machen. Palettenpositionen können sich nun automatisch aktualisieren, und Ihre Box-Gruppierungen bleiben auch bei Änderungen am Layout erhalten.
Wichtige Funktionen:
- Dynamische Positionen: Palettenpositionen können mit dynamischen Variablen verknüpft werden, sodass sie sich automatisch aktualisieren, wenn sich der Wert der Variablen ändert.
- Unterstützung für 1-lagige Layouts: Die Anforderung von mindestens 2 Lagen wurde aufgehoben, sodass Sie diese Funktion technisch auch für ein Raster mit erweiterten Layout-Optionen nutzen können.
- Verbesserte UX durch persistente Gruppierungen: Box-Gruppen sind nun persistent: Das bedeutet, wenn Sie eine Gruppe erstellen, ihr aber keine Boxen zuweisen, von der Seitenleiste zu einer anderen Seite navigieren und zurückkehren, bleiben die ungenutzten Gruppen erhalten.
- Verbesserte UX durch intelligente Tooltip-Vorschläge: Der Tooltip wurde aktualisiert und schlägt nun die erwartete Länge für eine Position vor.
- Optimierte Bearbeitung: Unnötige Aufforderungen, Abschnitte nach einer Änderung der Palettenposition zu überprüfen, wurden entfernt, und das Hinzufügen eines Palletizing-Nodes lädt die Seite nicht mehr fälschlicherweise neu.


Aktualisierungen zu Referenzgruppen und Koordinatensystemen
Das System zur Verwaltung von Referenzrahmen wurde aktualisiert, um sicherzustellen, dass lineare (kartesische) Bewegungen innerhalb von Referenzgruppen korrekt berechnet werden, und um die Workspace-Felder an den neuesten Reference-Node anzupassen.
Wichtige Funktionen:
- Intuitives Verhalten beim Entfernen von Punkten: Wir haben das Bearbeiten von Referenzgruppen so verbessert, dass es der physischen Intuition entspricht: Das Entfernen eines Punktes aus einem Referenz-Workspace verschiebt die Zielposition des Roboters nicht mehr unerwartet. Wenn ein Punkt entfernt wird, passt das System automatisch die im Node gespeicherten Werte so an, dass der physische Standort des Punktes exakt erhalten bleibt.
- UI- und UX-Verbesserungen: Die Bearbeitung von Workspace-Referenzen wurde mit einer intuitiveren Oberfläche aktualisiert und warnt Benutzer vor unbeabsichtigten Änderungen.


Wann zu verwenden:
- In Szenarien wie der Maschinenbeschickung, bei denen sich eine Maschine im Laufe der Zeit verschieben kann, kalibrieren Benutzer den Workspace neu. Wenn ein Programmierer später einen Punkt aus diesem Workspace entfernt, möchte er in der Regel die aktuelle reale Position des Punktes beibehalten und nicht einen älteren Zustand vor der Kalibrierung wiederherstellen. Diese Änderung stellt sicher, dass das Bearbeiten von Referenzgruppen der physischen Intuition entspricht: Das Ändern der Zugehörigkeit eines Punktes verschiebt das Roboterziel nicht mehr unerwartet im Raum.
Erweiterungen industrieller Protokolle (TIA/UDT) + RobSafety-Export/-Import
Die Integration mit externen Systemen wie TIA (Totally Integrated Automation) und RobSafety ist nun zuverlässiger und standardisierter.
Wichtige Funktionen:
- Klarere Variablen: Variablenbeschreibungen werden nun in die generierte UDT-Datei (User Defined Data Type) aufgenommen und erscheinen als hilfreiche Kommentare in TIA.
- Standardisierte Formatierung: UDT-Dateien für Profinet-Variablen verwenden nun die korrekte Standardkodierung (UTF-8 mit BOM und CRLF-Zeilenenden).
- Stabile Adressierung: Beim Entfernen einer Profinet-Variable mit der niedrigsten Adresse (Offset) werden automatisch Platzhalter-Bytes (Padbytes) eingefügt. Dadurch wird verhindert, dass sich die Adresspositionen aller anderen Variablen verschieben.
- Sicherheitsmanagement: Sie können die Sicherheitskonfiguration in RobSafety nun importieren und exportieren.
Performance, Konnektivität und Backup
Dieses Release verbessert die Performance erheblich – insbesondere für Modbus –, erhöht die Verbindungsstabilität und stellt sicher, dass ein vollständiges Backup alle kritischen Daten erfasst.
Wichtige Funktionen:
- Netzwerkeffizienz: Variablenänderungen während eines Flow-Durchlaufs werden nun sofort und nur bei Bedarf (on-demand) gesendet, statt in regelmäßigen Intervallen.
- Performance allgemein und für Modbus: Durch gezielte Backend-Änderungen in der Backend-Event-Loop erwarten wir keine Verbindungsabbrüche zum Controller mehr und haben das Schließen und Wiederöffnen von Verbindungen über Modbus verbessert.
- Verbesserte UX bei Verlust der Roboterverbindung: Wenn 2 Sekunden lang keine Nachrichten über den WebSocket empfangen werden, wird die Backend-Verbindung sofort als unterbrochen markiert, wodurch ein Verbindungsverlust schnell erkannt wird.
- Vollständiges Backup: Ein vollständiges Backup enthält nun eine komplette Kopie der SQL-Datenbank, sodass keine Daten verloren gehen und eine vollständige Wiederherstellung einfacher möglich ist.

UX- und UI-Verbesserungen für die Roboterkonfiguration
Die UI und UX der Roboterkonfiguration wurden umfassend überarbeitet.
Wichtige Funktionen:
- Überarbeitete UX: Änderungen werden nun automatisch gespeichert (der explizite Button entfällt), und der UI-Status pro Abschnitt bleibt beim Wechsel zwischen Abschnitten erhalten. Import/Export befindet sich nun in einem Kebab-Menü.
- Einheitliche UI über alle Tools hinweg (Modbus/TCP, SQL, CSV usw.)
- CSV-Verbesserungen: Hinzugefügt wurden ein vielfach gewünschter Dialog zum Massen-Hinzufügen von Variablen („Add Variables") sowie eine Variablen-Vorschautabelle mit Snapshot-Auswahl und Download-Optionen.
- Protokoll-Verbesserungen: Modbus/TCP enthält nun eine Live-Prüfung des Adressbereichs, und SQL bietet eine „Connect-and-Introspect"-Schaltfläche.


Quality-of-Life-Verbesserungen
Es wurden kleinere Verbesserungen am Flow-Editor vorgenommen.
Wichtige Funktionen:
- Editor-Stabilität: Probleme bei der Verwaltung von Verbindungen (Edges) beim Hinzufügen oder Entfernen von Condition-Nodes und Split-Nodes wurden behoben.
- Resume-Funktion: Flows können nun korrekt fortgesetzt werden, nachdem sie pausiert wurden, weil die Roboterbewegung durch angezogene Bremsen blockiert war.
Bugfixes
Dieses Release behebt mehrere wichtige Probleme im Hinblick auf Zuverlässigkeit und ein reibungsloseres Bearbeitungserlebnis.
Wichtige Funktionen:
- Variablenschutz: Schreibgeschützte Variablen können während eines Flow-Durchlaufs nicht mehr versehentlich geändert werden, z. B. über einen generischen Button oder das Set-Variable-Widget.
- Flow-Start: Ein Fehler, der verhinderte, dass Variablen beim Start eines Flows auf ihren Ausgangswert zurückgesetzt wurden, wurde behoben.
- Protokollstabilität: Die Kodierung von Profinet-UDT-Dateien wurde korrigiert (UTF-8 mit BOM und CRLF-Zeilenenden), und ein Problem wurde behoben, bei dem das Entfernen einer Variablen die Speicheradressen nachfolgender Variablen verschieben konnte.
- Tool-Stabilität: Der Filter „Verwendet in" („used in") im erweiterten Variablen-Editor zeigt nun korrekt Variablen an, die in zugehörigen Subflows verwendet werden, und der Inhalt von HTTP-Antworten geht beim erneuten Mounten nicht mehr verloren.