-
Notifications
You must be signed in to change notification settings - Fork 1
Home
entity edited this page Sep 30, 2026
·
4 revisions
The QiTech Framework is a Rust framework for building machines that run on EtherCAT and Modbus hardware. The Runtime runs the machines. A controller, such as the TUI, the Hub or your own implementation, connects to the Runtime to watch and operate them.
This repository is currently under active development. Breaking changes are expected, and the API and functionality may change without notice. External issues and feature requests may not be addressed until the project reaches a more stable stage.
- New to the framework? Build your first machine with the Digital Output minimal example. Then read Creating a Machine for the full guide.
- Need to understand how a machine talks to the world? Start with Resources.
- Writing a controller or integration? Read the Protocol page, then the Hub page.
| Page | What it covers |
|---|---|
| Creating a Machine | Building a machine from an empty crate to a running machine controlled from the TUI |
| Minimal Example: Digital Output | Step-by-step video script: toggling the LEDs of a Beckhoff EL2004 from the TUI |
| Minimal Example: Wago Digital I/O | Reading inputs and driving outputs on Wago 750-402 / 750-531 modules |
| Page | What it covers |
|---|---|
| Resources | The named config properties, state properties, measurements, commands and events that form a machine's interface |
| Quantities and Units | Physical values with units, defined in quantities.toml
|
| Vendors | Vendor and machine ids that make each machine type globally unique |
| Journals | The Runtime's append-only log of resource changes between reports |
| Reports | The periodic message the Runtime sends to the controller |
| Subscriptions | How one machine reads another machine's values inside the Runtime |
| Protocol | How the Runtime and the controller talk: rules, session phases, messages and transports |
| Page | What it covers |
|---|---|
| TUI | Terminal user interface for running and testing machines |
| Hub | Async controller framework for building integrations such as APIs, database writers and automation |