Skip to content

MSF — Motion Servo Off

Category
Motion
Type
Output
Availability
Stepper, servo and DC axes (Explorer ▸ Axes)

MSF instruction block: a block labelled MSF with one row, Axis: Feed


MSF (Motion Servo Off) disables the drive of an axis and cancels whatever command it was executing. On a stepper axis the Enable pin is released, so the motor is de-energized and no longer holds; on a DC axis the bridge coasts; on a servo axis the status bit clears. Any move or jog in progress is dropped where it is, with no deceleration ramp, and the axis remembers that position. Use MSF when the machine leaves run mode, for a guard-open condition, or to let an operator turn a stepper by hand. Do not use MSF as the normal way to end a move: use MAS for a controlled stop and MSF afterwards.


Operand Type Format Valid Range Required Description
Axis Axis Axis name Any axis in Explorer ▸ Axes that has a driver Yes The axis to disable.

Nothing. Every axis starts disabled.

Nothing.

On this scan and every scan the rung stays true:

  • The drive is disabled and DriverOn = 0.
  • A move in progress is cancelled: the pending target is dropped, the step train stops at once, and ActualPos stays at the position reached. DN and PC are not set for the cancelled move.
  • A jog is stopped. EN and IP clear.
  • DN, PC and Error are left as they were.

Nothing.

Axis type What MSF does
Stepper Releases the Enable pin, drops the pending target. The motor free-wheels; holding torque is gone.
DC Sets the bridge to 0 duty. The motor coasts, no braking.
Servo Clears DriverOn. The servo library keeps holding the last angle.

Motion status lives on the axis, not on a per-instruction tag.

Member Data type Set by Cleared by Description
DriverOn BOOL MSO MSF The drive is enabled.
EN BOOL MAM, MAJ, MAG while a command is active Command complete, MAS, MSF A motion command is engaged.
IP BOOL Axis service while steps are being produced Motion stops, MSF Motion in process.
DN BOOL MAM reaching its target, MSR Next MAM or MAJ Instruction done. Not touched by MSF.
PC BOOL Same as DN Same as DN Process complete.
InMotion BOOL Axis service Axis service Steps produced this scan.
Dir BOOL Axis service Axis service 1 = forward.
Error BOOL Watchdog mismatch, TMC2130 driver fault MAFR Axis fault. Not touched by MSF.
ActualPos REAL Axis service every scan — Position in axis units. Kept across MSF.
CmdPos REAL MAM, MAG, MSR — Commanded target in axis units.
Counts DINT Axis service every scan MSR, ResetCounts Raw step counts.
RedefinePos REAL MSR — Value of the last MSR.
ResetCounts BOOL Your logic (write 1) Firmware, after zeroing Zero the counts without an MSR.
Watchdog INT (ms) Axis properties; your logic may overwrite — Mismatch tolerance before Error sets.

Scenario: The feeder from the MSO page. A second switch, Servo_Off, drops the Feed drive so the operator can move the carriage by hand.

Tags:

  • Servo_Off — Servo off, BOOL
  • Feed — stepper axis, 80 counts per mm

Rung 1:

—|XIC Servo_Off|———[MSF Feed]———

Scan 1 — Servo_Off = 0. Nothing happens; Feed.DriverOn keeps its value (1 after the MSO page).

Figure 1 — MSF rung false: Servo_Off off, wire dark

Scan 2 — Servo_Off = 1. The drive is released: Feed.DriverOn = 0, Feed.EN = 0. If a move was running, Feed.ActualPos stops where it is.

Figure 2 — MSF rung true: Servo_Off on, the wire lit through the block

Values before and after: Feed.DriverOn 1 → 0. A carriage moved by hand while disabled is no longer where ActualPos says; home it with an MSR before the next move.


  • MSO — Motion Servo On
  • MAS — Motion Axis Stop (controlled stop, drive stays on)
  • MSR — Motion Set/Redefine Position (re-home after a hand move)
  • Motion Instructions — Category index

MSF and MSO on the same scan. If both rungs are true, the one scanned last wins. Interlock the two switches or use one selector.

Not a deceleration. A stepper carrying a load and dropped mid-move can overshoot mechanically. For a controlled stop, MAS first, then MSF once IP is 0.

Position is kept, not trusted. ActualPos is not cleared by MSF. It is right only if nothing moved the axis while the drive was off.

Applies to LadderIDE >=1.2.2 · Last reviewed 2026-09-11 · Screenshots verified 2026-09-11