Skip to content
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.

⚠️ Development Status

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.

Start here

Guides

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

Concepts

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

Controllers

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

Clone this wiki locally