RobFlow 7.1.0
Highlights
- Variable based Subflow selection: allow variable-based Subflow selection within RobFlow, enabling users to dynamically call different Subflows based on a Variable's value. This is critical for high-variance applications, such as palletizing over 100 different layouts with a single master Flow.
- Improved handling of Variables connected to industrial equipment: Variables connected to protocols (like Modbus or Profinet) can be set up and edited even when the devices are offline. Additionally, you can force-run Flows in debug mode even if some devices aren't reachable.
- Better UX for handling Variables in Expression fields: Expression fields are now available in more places (HTML Nodes, Generic Button Widget HTML action, and SQL Node). Variables appear as visually highlighted in the editor, making complex Expressions easier to read.
- Advanced palletizing Node improvements: Pallet positions can now be controlled dynamically by using cartesian Variables and UX behavior, if pose dimensions don't match the pallet length, has been improved. Additionally, the Node now allows for 1-layer setup.
- Efficient Variable updates: Variable changes during a Flow run are now sent instantly instead of on a regular timer getting rid of any latency.
- Performance improvements: With dedicated efforts the performance has been improved significantly, especially while working with Modbus devices.
- Reworked UX & UI for Robot configuration: The configuration UI and UX have been comprehensively updated, now supporting auto-save and Variable preview tables for CSV.
Features & changes
Variable based Subflow selection + Dashboard integration
We have built a feature to allow variable-based Subflow selection within RobFlow, enabling users to dynamically call different Subflows based on a Variable's value. This is critical for high-variance applications, such as palletizing over 100 different layouts with a single master Flow.
Key capabilities:
- Dynamic Subflow property: The Subflow Node allows a string Variable to be assigned to the "Subflow Selection" field, which contains the sub Flow uid.
- Dashboard list selection: A Dashboard function/Widget allows a user to pick a Subflow name from a predefined list and store it in a Variable.
- Generic button extension: Generic button Widget was extended by an option to manually select the current button state instead of relying on activation conditions
When to use:
- Projects with many different palletizing patterns (e.g. 100) and selecting on from the Dashboard



How to use it:
- Palletizing application with different100 layouts
- Cleaner main Flow setup

- Use a generic button with manual selection enabled

- Include in the HMI

Flow export improvements
When exporting a process that uses dynamic Subflows, you can now manually select and include all necessary Subflows. This prevents missing required files during backup or transfer.
Key capabilities:
- You can manually select and include additional Subflows when exporting a main Flow that uses dynamic Subflow Nodes.
- This increases reliability for Flow backups and transfers by ensuring all dependencies are included.

Variables
Variables connected to industrial equipment are now more robust, allowing you to work even when devices are offline. The editor has also been upgraded with much better filtering and sorting.
Key capabilities:
- Working with offline devices: You can now create and change protocol-bound Variables (Modbus, Profinet) even if the physical device is currently offline or unreachable.
- Debug mode flexibility: You can 'force-run' a Flow in Debug mode even if it includes Variables connected to a problematic device (=offline), after receiving a clear error message.
- Better error visibility: Variables are now correctly flagged as problematic when their connected Modbus device is not working.
- Advanced filtering & sorting: New filters are available for Variables bound to protocols (Modbus, Profinet) and for Variables that are currently experiencing issues.
- Improved editor: You can now sort the name, type, and tags columns in the extended Variable Editor.
- Protocol search: The Variable selection window now explicitly shows used protocols (profinet/Modbus) and allows you to search by protocol.



UX Improvement: Smarter and More Widespread Expression Fields
The editor for Expression Fields has been updated with a user-friendly experience (UX), and these fields are now available in more places within RobFlow.
Key capabilities:
- Visually highlighted Variables: Variables are now shown as easy-to-read visual blocks ("visually highlighted") within Expressions, simplifying reading of complex logic.
- HTML Payload Creation: HTML Nodes and the Generic Button Widget's HTML action now support Expression Fields, allowing you to use Variables to dynamically build HTML content.
- Variable-Driven Queries: The SQL Node now accepts an Expression field for the SQL Query itself, enabling you to use Variables to change what data you retrieve.
- String Support: The activation requirements for the Generic Button Widget can now use text (String) Variables.

Advanced Palletizing
This update includes quality-of-life improvements to make creating pallet layouts faster and more flexible. Pallet positions can now update automatically, and your box grouping work is saved even if you change the layout.
Key capabilities:
- Dynamic positions: Pallet positions can be linked to dynamic Variables, meaning they automatically update whenever the Variable's value changes.
- Allowing for 1-layer**:** The requirement for a minimum of 2 layers has been removed, allowing you to technically use this for a grid with advanced layout options
- Improved UX with p****ersistent grouping: Box groups are now persistent: this means if you create a group but not assign boxes to it, navigate from in the sidebar to a different page and go back, the unused groups are persistent
- Improved UX with smart tooltip suggestions**:** Tooltip has been updated to suggest the expected length for a position.
- Streamlined Authoring: Unnecessary prompts to review sections after changing the Pallet Position have been removed, and adding a Palletizing Node no longer incorrectly refreshes the page.


Reference Groups and Coordinate System Updates
The system for managing reference frames has been updated, ensuring linear (Cartesian) movements are calculated correctly when used inside Reference groups, and aligning the Workspace fields with the latest Reference Node.
Key capabilities:
- Intuitive behavior while removing points**:** We've improved how reference-group edits work to match physical intuition: removing a point from a reference Workspace will no longer unexpectedly move the Robot's target position. When a point is removed, the system automatically adjusts the stored values in the Node so the point's physical location remains exactly where it is.
- UI & UX improvements**:** Workspace reference editing has been updated to more intuitive UI as well as warning users of unintended


How to use it:
- In scenarios like machine tending, where a machine may shift over time, users recalibrate the Workspace. If a programmer later removes a point from that Workspace, they usually want to preserve the point's current real-world location, not recover an older pre-calibration state. This change ensures reference-group edits match physical intuition: changing a point's membership status will not unexpectedly move the Robot target in space.
Industrial protocols (TIA/UDT) enhancements + RobSafety exports/imports
Integration with external systems like TIA (Totally Integrated Automation) and RobSafety is now more reliable and standardized.
Key capabilities:
- Clearer Variables: Variable descriptions are now included in the generated User Defined Data Type (UDT) file, appearing as helpful comments in TIA.
- Standardized Formatting: UDT files for Profinet Variables now use the correct standard encoding (UTF-8 with BOM and CRLF line endings).
- Stable Addressing: When removing a Profinet Variable with the lowest address (offset), placeholder bytes (
padbytes) are automatically inserted. This prevents all other Variables from shifting their address positions. - Safety Management: You can now import and export the safety configuration within RobSafety.
Performance, Connectivity, and Backup
This release significantly improves performance, especially for Modbus, connection stability, and ensures that a full backup captures all your critical data.
Key capabilities:
- Network Efficiency: Variable changes during a Flow run are now sent instantly, only when needed (
on-demand), instead of on a regular timer. - Performance in general and for Modbus: Through dedicated backend changes in the backend event loop, we don’t expect any controller loss of connection anymore as well as improved closing & re-opening of connections via Modbus.
- Improved UX for lost Robot connection: If no messages are received over the Websocket for 2 seconds, the back-end connection is immediately flagged as broken, ensuring quick detection of connectivity loss.
- Complete Backup: A full backup now includes a complete copy of the SQL database, ensuring no data is missed and for easier full restore.

UX & UI Improvements for Robot Configuration
The Robot Configuration UI and UX have been comprehensively updated.
Key capabilities:
- Reworked UX: Edits now auto-save (replacing the explicit button), and the per-section UI state is persistent when switching between sections. Import/Export is now in a kebab menu.
- Uniform UI across all tools (Modbus/TCP, SQL, CSV, etc.
- CSV Enhancements: Added a highly-requested bulk 'Add Variables' dialog and a Variable preview table with snapshot selection and download options.
- Protocol Improvements: Modbus/TCP now includes a live address-range probe, and SQL features a "connect-and-introspect" button.


Quality-of-Life Fixes
Minor improvements have been made to the Flow editor experience.
Key capabilities:
- Editor Stability: Issues related to managing connections (edges) when adding or removing condition Nodes and split Nodes have been fixed.
- Resume Capability: Flows can now correctly resume execution after being paused because Robot movement was blocked by engaged brakes.
Bug Fixes
This release addresses several key issues for reliability and a smoother authoring experience.
Key capabilities:
- Variable protection: You can no longer accidentally change read-only Variables during a Flow run, such as through a Generic Button or Set Variable Widget.
- Flow start: A bug that prevented Variables from resetting to their initial value when a Flow started has been fixed.
- Protocol stability: Corrected Profinet UDT file encoding (UTF-8 with BOM and CRLF line endings) and fixed an issue where removing a Variable could shift the memory addresses of subsequent Variables.
- Tool stability: The "used in" filter in the extended Variable editor now correctly shows Variables used in associated Subflows, and HTTP response content is no longer lost on re-mount.