Automato — Low-Code Automation Orchestration Platform
2022A visual, low-code workflow designer that coordinates messaging between modular hardware and software plugins. Allows automation engineers to wire up PLC signals, camera inspections, and custom actions through a drag-and-drop UI — replacing three hard-coded application variants with a single, flexible platform.
Motivation
The Automation group requested three separate variants of an existing camera inspection app. Maintaining three codebases was unsustainable for a small team. Drawing on experience with hardware integration and modular software design, the goal was a plugin-based orchestration engine — one that would let automation engineers modify process logic in seconds without a code deployment.
Challenge
The runtime needed to be genuinely expressive: Routines required conditional branching, scoped variables, and inline math/string expressions — enough power to replace real code without requiring users to write any.
Solution
A lightweight AST expression parser was built from scratch, supporting basic math with correct operator precedence and string interpolation against the active Data Context. The Data Context itself uses a hierarchical parent-scope lookup — similar to lexical closures — so variables declared at the application level are accessible inside Routines, while Routine-scoped variables stay isolated. Together these gave the workflow designer the expressive power of a simple scripting language without any external dependency.
Outcome
Supports automated production of aluminum impellers across the facility. Process changes by automation engineers now take seconds instead of days. The plugin architecture was reused directly in the Haas Automation cell project with no structural changes.
- C#
- WPF
- libplctag
- Allen-Bradley PLC / CIP
- Plugin architecture
- AST expression parser
- Event-driven architecture
- XML configuration
- Windows API