StateTick Docs Home →
Conditions

Full Example: End to End

One sweep: build the equipment and globals, author a condition from their terms, then instantiate and map it in a composite onto a real machine.

1. Have equipment and globals

Define an interface (IMotor: Start, Coil, Overload, Speed, Running) and compose it into a Motor equipment; add a few globals (e.g. Temperature). These become the terms your condition can reference.

2. Author the condition

On Generic Composer → Conditions, click Add, then + to add a term and double-click it to open the Variable Picker. Pick Motor → IMotor → Running, add another term for Overload, and negate it:

IF Motor.IMotor.Running AND NOT Motor.IMotor.Overload
The condition editor with Motor.IMotor.Running AND Motor.IMotor.Overload and its Summary
The condition as authored — generic equipment terms joined by AND.

3. Instantiate in a composite

In the Composite Composer, on the composite's Conditions page, + Add an instance and pick Condition1 as its template. Each generic term surfaces for mapping:

Composite condition instance SafeGate with terms Motor.IMotor.Running and Motor.IMotor.Overload awaiting mapping, preview IF _ AND _
The generic terms, ready to bind to a concrete machine.

4. Map to concrete signals

Double-click a term and bind it to a concrete equipment instance placed on the composite (e.g. Conveyor1):

SafeGate with Motor.IMotor.Running mapped to Conveyor1.IMotor.Running, preview updating
Motor.IMotor.RunningConveyor1.IMotor.Running; finish the rest and the Status turns green.

5. Reuse

That condition is now a live rule guarding Conveyor1. Drop another instance of the same template into a different composite, map it to Conveyor2, and you have the identical rule on a second machine — the payoff of the whole chain: globals + equipment → condition → composite mapping.

Try it in StateTick

Build reusable conditions once, then map them to real hardware in every machine you design.

Get Started →