Move (output instruction)

MOV: Move

Copies a value into a register while the rung has power.

Also called: MOVE, copy value, assign, load.

MOV(number, a)

Arguments

NameWhat it isAcceptsDefault
destinationWhat the instruction acts ona registerrequired
aSourcea number or a tag0

Arguments are positional and this table is generated from the simulator's own instruction registry, so it always matches what the engine accepts.

What it does

MOV writes a number, either a constant or the contents of another tag, into a destination. It runs every scan the rung is true, not just once, which is worth remembering: a MOV on a permanently true rung will overwrite its destination thousands of times a second and will fight anything else trying to write there, including an operator typing into an HMI field.

It is the instruction behind recipe loading, setpoint selection, preloading a counter, and putting a step number into a sequence register.

A rung you can run

Two recipes selected from the HMI

[object Object]
XIC(Recipe_A_Sel)ONS(Rec_A_Edge)MOV(Fill_Target,750)
XIC(Recipe_B_Sel)ONS(Rec_B_Edge)MOV(Fill_Target,1200)
GEQ(Fill_Actual,Fill_Target)OTE(Fill_Done)

Each MOV is gated by a one shot, so the target is written once on selection and an operator can still trim it afterwards without the logic overwriting them.

Run this rung in the simulator

What it is called on other controllers

PlatformEquivalent
Rockwell (Studio 5000)MOV
Siemens (TIA Portal)MOVE
Mitsubishi (GX Works)MOV
CODESYS and IEC 61131-3An assignment, :=

Common mistakes

  • Leaving a MOV on an always-true rung and then wondering why the HMI setpoint will not stay where the operator put it.
  • Moving a raw analog count into a register that the rest of the program treats as engineering units. Scale it first.

Practise it

Interactive exercises that use MOV. Each one checks your ladder against a real scan.

Related instructions

All ladder logic instructions