qitech Automation: Serviceability Is the Test, Not Rust

Tom Garrett6 min read
Best PracticesIndustrial NetworkingOther Manufacturer
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

qitech automation is viable only when the Rust-and-Linux control stack meets the machine’s electrical, timing, recovery, and lifecycle limits. The number that matters is not the programming language; it is the worst-case interval between an input transition and the required output response, under full load and credible faults. Current beyond an I/O rating becomes heat, and execution beyond a control deadline becomes lost machine behavior.

Operational Symptoms and Limits

Treat every symptom as a quantity crossing a limit. Intermittent EtherCAT faults point toward timing, cabling, power, topology, or device-state problems. Unexplained controller restarts point toward supply quality, thermal load, storage, memory pressure, or operating-system failures. Difficult repairs years later point toward incomplete configuration capture, unavailable hardware, or a build that cannot be reproduced.

Quantity Limit or decision Where to read it
I/O current Stay within each channel, group, and module rating Beckhoff I/O-module datasheet and wiring documentation
Power loss and temperature Remain inside the installed hardware’s thermal and environmental ratings Hardware datasheets, cabinet temperature measurements, and controller diagnostics
Control response Worst-case response must remain below the machine’s process deadline Application trace from input event through logic to output command
EtherCAT cycle execution Cycle completion and jitter must fit the configured control period Master diagnostics, task traces, and missed-deadline counters
Communication health No unexplained growth in frame, link, or device-state errors EtherCAT master and slave diagnostics
Recovery time Restart and fault recovery must satisfy the machine operating requirement Timed cold-start, power-cycle, and network-recovery tests
Service life Source, binaries, dependencies, configuration, and replacement strategy must remain usable for the required machine lifetime Released archive, bill of materials, support agreement, and obsolescence plan

Timing and Thermal Mechanism

EtherCAT moves process data cyclically, but a fast network does not by itself create deterministic machine control. The complete path includes input sampling, network transfer, master processing, application scheduling, logic execution, output transfer, and actuator response. Measure the complete path because average task time can look acceptable while rare scheduling delays violate the process limit.

A general-purpose Linux system also runs drivers, storage activity, logging, networking, and background services. Any of these can delay the control task unless the system architecture bounds their effect. Rust can remove important classes of memory errors, but memory safety does not bound scheduler latency, disk stalls, driver behavior, or application-level deadlocks.

Electrical loading is separate from software determinism. Output current creates semiconductor and terminal heating, especially when multiple channels share a module or power group. Compare actual simultaneous load with the channel, group, and module limits in the Beckhoff documentation. This is heat, not logic; changing code cannot repair an overloaded terminal, undersized supply, or hot enclosure.

Lifecycle Architecture

The qitech approach combines Rust and Linux with EtherCAT and Beckhoff I/O modules; its open-source industrial-automation work has Wago sponsorship. That combination can expose source code and support modern development practices, but source availability is only one layer of maintainability. A serviceable machine also needs a reproducible compiler and dependency set, operating-system image, EtherCAT configuration, device descriptions, parameter files, safety records, electrical drawings, and known-good deployable binaries.

A twenty-year service objective changes the design decision. The maintenance team must be able to identify a failed component, obtain or qualify a replacement, restore the exact application, and verify operation without reconstructing the original development environment. A virtual-machine image can preserve build tools, but it does not preserve failed field hardware, undocumented credentials, external package repositories, or device configuration stored only on the original controller.

Separate the control platform from the machine application. Define stable interfaces for I/O mapping, motion or process functions, alarms, recipes, diagnostics, and supervisory communications. This limits the work required if the industrial computer, Linux distribution, EtherCAT master, or I/O family must change.

Qualification Procedure

  1. Define the control deadline. Start from the physical process: maximum permitted travel, pressure change, temperature excursion, or sequencing delay. Convert that limit into the maximum input-to-output response time.
  2. Inventory electrical loads. Record every output load, simultaneous duty condition, supply segment, protective device, and cabinet temperature. Check channel, group, module, and supply ratings against manufacturer documentation.
  3. Capture the software baseline. Archive the Rust source, dependency lock data, compiler toolchain, Linux image, build commands, configuration, EtherCAT device data, deployable binaries, checksums, and rollback package.
  4. Measure worst-case timing. Trace the complete control path while the system carries full I/O traffic, logging, supervisory communications, and representative storage activity. Record maximum latency and jitter, not only averages.
  5. Inject credible faults. Test power interruption, controller restart, disconnected EtherCAT segments, missing I/O devices, corrupted or unavailable configuration, and replacement of a field module. Confirm that outputs move to the machine’s defined safe state.
  6. Perform an independent restore. Give the released archive and spare hardware to a maintainer who did not create the system. Time the build, deployment, commissioning, and return to production.
  7. Set the support boundary. Assign ownership for Linux updates, EtherCAT integration, application defects, replacement hardware, cybersecurity response, and long-term artifact storage.

Verification Evidence

Accept the platform only with recorded pass criteria. The test report should show maximum control-path latency, jitter distribution, EtherCAT diagnostic status, CPU and memory behavior, controller and cabinet temperatures, power-cycle recovery time, and the result of each fault injection. Run long enough to expose thermal equilibrium and infrequent scheduling or communication events; select the duration from the machine’s risk and operating profile rather than an arbitrary demonstration period.

Repeat timing tests after software, kernel, driver, hardware, topology, or logging changes. Confirm that the deployed binary matches the released checksum and that a cold controller can restore the application without access to a developer workstation. A successful independent recovery proves more than the existence of a repository.

Recurring Pitfalls

  • Equating open source with maintainability: source without a frozen toolchain, dependencies, configuration, and binary is not a restorable release.
  • Using average execution time: machine limits are violated by worst-case latency and jitter.
  • Testing an idle controller: background traffic, logging, storage, and diagnostics must be active during qualification.
  • Ignoring aggregate I/O loading: individually acceptable channels can exceed a shared group or module thermal limit when energized together.
  • Leaving recovery to the original developer: serviceability requires documented diagnosis and restoration by the maintenance organization.
  • Confusing VM retention with lifecycle coverage: the VM preserves tools, while the spare-parts and migration plans preserve the machine.

FAQ

What happens if Linux misses an EtherCAT control deadline?

The application may process late input data or command outputs after the physical process limit has passed. Read the master diagnostics and task trace, then compare the measured worst-case input-to-output time with the machine deadline.

What happens if the Rust source is available but the build environment is lost?

The machine may still be unserviceable because the compiler, dependencies, Linux image, device data, and deployment procedure cannot be reproduced. Preserve a verified build environment, deployable binary, checksum, configuration, and restoration test record.

What happens if several Beckhoff outputs reach full load together?

Shared group or module dissipation can become the limiting condition even when each channel is within its individual rating. Compare the simultaneous load and cabinet temperature with the exact module documentation.

Stop qualification when timing violations, unexplained EtherCAT errors, thermal-limit breaches, unsafe fault responses, or an unreproducible restore remain unresolved. Escalate with traces, diagnostic records, hardware identification, configuration, and repeatable test steps through the official support channels for qitech, Wago, Beckhoff, or the responsible system supplier.

Back to blog