Skip to content

Operator Guide

This page is the generic truST operator guide. Site-specific URLs, contacts, alarm actions, and shift procedures belong in a local runbook.

Guide

truST PLC Operator Guide

This guide is for daily use on the shop floor. It avoids developer jargon.

First-Time Setup

Start the PLC (zero‑config):

trust-runtime

Then open the Web UI and run the Setup wizard.
Use trust-runtime setup only for system‑wide I/O setup or headless devices.

Start / Stop

Start the PLC:

trust-runtime --project <project-folder>

From an empty folder:

trust-runtime

Stop the PLC:

trust-runtime ctl --project <project-folder> shutdown

Check Status

trust-runtime ctl --project <project-folder> status

You should see: - state: running - PLC name - cycle timing

Or use the hybrid console:

trust-runtime play --project <project-folder>
Then type /status at the prompt.

Monitor I/O

trust-runtime ctl --project <project-folder> io-read

Use the browser UI (if enabled):

http://<device-ip>:8080

In the Web UI: - I/O → Inputs/Outputs shows live values. - I/O → I/O configuration lets you set driver, mappings, and safe state.

In the hybrid console: - Type /io - Choose Read value to inspect I/O - Choose Set value / Force value to change outputs (debug only)

What Happens on a Fault

If a fault occurs, the runtime: - stops the program - forces outputs to their configured safe state - logs a fault event

Clear the fault by restarting:

trust-runtime ctl --project <project-folder> restart --mode cold

In the Web UI: - Logs → Faults shows active faults with suggested fixes. - Acknowledge once you’ve verified the fix.

Common Errors and Fixes

“No inputs/outputs mapped”

You see in the Web UI:

No inputs mapped yet.

Cause: missing io.toml or incorrect driver configuration.

Fix: 1. Check that io.toml exists in your project folder. 2. If using system I/O, verify /etc/trust/io.toml exists. 3. Re-run system I/O setup (if needed): trust-runtime setup. 4. Or open I/O → I/O configuration and save a driver config.

“No tasks configured”

You see in the Web UI:

No tasks configured yet.

Cause: missing config.st with a task declaration.

Fix: 1. Ensure src/config.st exists. 2. Rebuild: trust-runtime build --project <project-folder>.

“Auth required”

You see in the Web UI:

auth required

Cause: control endpoint uses token auth.

Fix: 1. In the Web UI, open Network → Access PLC to generate/claim a code. 2. Or in the console: /access start then /access claim <code>. 3. Or provide token: trust-runtime ui --token <token>.

“Control endpoint unreachable”

You see in the CLI:

Error: connect failed

Fix: 1. Confirm the PLC is running. 2. Verify the project folder is correct. 3. Check firewall rules if using TCP control.

“Invalid driver”

You see in the CLI:

invalid I/O driver 'spi'. Expected: loopback, gpio, simulated, modbus-tcp, mqtt, or ethercat.

Fix: 1. Re-run the wizard: trust-runtime wizard. 2. Choose one supported driver: loopback, simulated, gpio, modbus-tcp, mqtt, or ethercat.

“Permission denied” writing system I/O

You see in the CLI:

Error: invalid config 'failed to create /etc/trust: Permission denied'

Tip: 1. Run: sudo trust-runtime setup --force 2. Or skip system I/O and use project I/O (io.toml in your project folder).

Restart Types

  • Cold: full reset (safe for maintenance)
  • Warm: keep RETAIN values

Update / Rollback

Deploy a new project folder (keeps last two known‑good project folders):

trust-runtime deploy --project <project-folder> --root <deploy-root>

Rollback:

trust-runtime rollback --root <deploy-root>

Deployment summary:

<deploy-root>/deployments/last.txt

Typical Daily Flow

1) Start PLC
2) Watch status + I/O
3) Stop PLC at end of shift

Watch Variables (Debug mode)

If debug mode is enabled in runtime.toml, you can: - Add variables in Program → Variable watch - See live values and force values for testing

If Something Looks Wrong

  • Check power and wiring.
  • Check I/O status in the UI.
  • Check recent events:
    trust-runtime ctl --project <project-folder> status
    
  • Restart cold if needed.