Machinery TwinDocs

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.

ParameterMeaning
Target valueWhere to go
Max velocityCruise speed (units/s)
Acceleration / decelerationRamp rates (units/s²)
Modulo (optional)Treat the axis as cyclic with the given modulo (e.g. 360)
DirectionFor 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.

On this page