MAS — Motion Axis Stop

Description
Section titled “Description”MAS (Motion Axis Stop) brings an axis to a controlled stop. A move in progress is cancelled and the axis decelerates at the Decel rate to standstill; the move’s DN and PC are not set, because it did not reach its target. A jog is ended the same way. The drive stays enabled, so a stepper holds where it stopped. Use MAS for an operator stop, an end-of-travel sensor, or to abort a move when a condition changes. Do not use MAS to end a jog whose rung is still true: MAJ re-issues the jog every scan, so the axis stops and starts again. Release the jog’s rung instead.
Operands
Section titled “Operands”| Operand | Type | Format | Valid Range | Required | Description |
|---|---|---|---|---|---|
| Axis | Axis | Axis name | Any axis in Explorer ▸ Axes that has a driver | Yes | The axis to stop. |
| Decel | REAL | Literal or tag | > 0, in axis units per second squared | Yes | Deceleration rate for the stop. A large value stops harder. |
Scan Behavior
Section titled “Scan Behavior”Prescan
Section titled “Prescan”Nothing.
Rung-condition-in is false
Section titled “Rung-condition-in is false”Nothing. A stop already begun continues to standstill on its own.
Rung-condition-in is true
Section titled “Rung-condition-in is true”On this scan and every scan the rung stays true: the pending target and any jog are cancelled and the axis ramps down at Decel. EN clears; IP stays 1 until the ramp ends; DN and PC are not set. The drive remains enabled. On a DC axis the duty is set to 0 and the motor coasts; there is no ramp.
Postscan
Section titled “Postscan”Nothing.
| Condition | EN | IP | DN / PC | Axis |
|---|---|---|---|---|
| Move running, MAS true | 0 | 1 while ramping down, then 0 | Not set | Decelerates at Decel, holds |
| Jog running, MAS true, jog rung released | 0 | 1 while ramping down, then 0 | Not set | Decelerates at Decel, holds |
| Jog running, MAS true, jog rung still true | 1 | 1 | — | Stops and restarts every scan; release the jog |
| Axis at rest, MAS true | 0 | 0 | Unchanged | Nothing |
Axis Members
Section titled “Axis Members”Motion status lives on the axis, not on a per-instruction tag.
| Member | Data type | Set by | Cleared by | Description |
|---|---|---|---|---|
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 | Motion in process. |
DN |
BOOL | MAM reaching its target, MSR | Next MAM or MAJ | Instruction done. Not set by a stopped move. |
PC |
BOOL | Same as DN |
Same as DN |
Process complete. |
DriverOn |
BOOL | MSO | MSF | The drive is enabled. Not touched by MAS. |
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. |
ActualPos |
REAL | Axis service every scan | — | Position in axis units; where the stop ended. |
CmdPos |
REAL | MAM, MAG, MSR | — | Commanded target of the cancelled move (not rewritten by MAS). |
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. |
Example
Section titled “Example”Scenario: A stop pushbutton aborts whatever the Feed axis is doing, ramping down at 200 mm/s².
Tags:
Stop_Cmd— Stop command, BOOLFeed— stepper axis, 80 counts per mm
Rung 1:
—|XIC Stop_Cmd|———[MAS Feed Decel 200]———Scan 1 — Stop_Cmd = 0. A 150 mm move from the MAM page is under way: Feed.IP = 1, Feed.ActualPos climbing.

Scan 2 — Stop_Cmd = 1. The move is cancelled. The axis ramps to a stop and holds; Feed.EN = 0, Feed.IP = 0 once stopped, Feed.DN stays 0.

Values before and after: with the stop pressed one second into the move, Feed.ActualPos ends near 50 mm, Feed.CmdPos still reads 150, Feed.DN = 0. A new MAM edge is needed to continue.
See Also
Section titled “See Also”- MAM — Motion Axis Move (what MAS usually cancels)
- MAJ — Motion Axis Jog (release its rung to stop a jog)
- MSF — Motion Servo Off (stop and de-energize)
- Motion Instructions — Category index
Decel is used for the next move too. The axis keeps Decel as its acceleration setting until the next MAM writes its own Accel. Every MAM sets both, so this only shows if you jog after a stop.
Simulator. The offline simulator stops the axis at once instead of ramping; the members end in the same state.
Servo axis. A hobby servo has no controllable ramp. MAS on a servo axis only clears EN.
Applies to LadderIDE >=1.2.2 · Last reviewed 2026-09-11 · Screenshots verified 2026-09-11