Action reference
SetValue, Function, MotionCam, and the trapezoid Position move.
Actions execute every tick while their state is active, each writing to one target variable.
SetValue
Holds the target variable at a constant while the state is active. The workhorse for flags and outputs: Clamp_Closed = 1 in the Clamping state, 0 elsewhere.
Function
Drives the target with any variable function (MasterTime, Sine, and so on) while the state is active, e.g. a shaking motion only during a "Vibrate" state.
MotionCam
Evaluates a cam profile with a chosen master variable and writes the result, coordinated multi-axis motion that is only engaged in certain states, like the electronic cam coupling/decoupling in a motion controller.
Position, the trapezoid move
Moves the target variable toward a target value with a trapezoidal velocity profile, accelerate, cruise, decelerate, like a real point-to-point servo move.
| Parameter | Meaning |
|---|---|
| Target value | Where to go |
| Max velocity | Cruise speed (units/s) |
| Acceleration / deceleration | Ramp rates (units/s²) |
| Modulo (optional) | Treat the axis as cyclic with the given modulo (e.g. 360) |
| Direction | For modulo axes: positive, negative, or shortest path |
When the move completes, the action reports position done, the condition the positionDone transition waits for. That pair, position action plus positionDone transition, is how you sequence "move, then do the next thing".
Who owns the variable?
An action overwrites whatever the variable's own config computes, every tick, while its state is active. Give sequenced variables a Constant config as a neutral default and let the state machine be the single writer, two writers fighting over one variable is as confusing here as in PLC code.