After the fix, all 16 inputs land in predictable internal-relay positions. On the GX Works device monitor, the fault looks like a broken address sequence: X27 is present, X28 and X29 are missing, and the next input is X30. A MOV K4X020 K4M020 can then appear to shift bits even though the instruction is working correctly.
Start here: separate the address numbering from the transferred bit positions. FX3G input addresses use octal digits. The M devices in the destination use decimal numbering. MOV packs consecutive source bits into consecutive destination bits; it does not preserve matching printed address suffixes.
Check the device list first
Open the GX Works device list or monitor and inspect the input addresses around the reported gap. This check comes first because it distinguishes invalid address notation from missing hardware or failed logic.
| Symptom | Cause | Next check |
|---|---|---|
X27 is followed by X30
|
Normal octal input numbering | Expand the K group into individual bit positions |
X28 or X29 cannot be entered or monitored |
Digits 8 and 9 are invalid in an octal X address |
Use the next valid addresses, X30 and X31
|
An input changes, but the same-numbered M bit does not |
MOV copied the packed bit position, not the printed suffix |
Trace the source and destination groups bit by bit |
| No destination bit changes | The instruction may not be executing, or the source input is not changing | Monitor the rung condition and the source device before changing addresses |
Do not spend time searching for X28 and X29. They are not input devices in this numbering sequence. Also do not replace X30 with X28 to make the labels look continuous; that creates an invalid address rather than correcting the transfer.
Count FX3G input addresses in octal
Octal addresses contain only the digits 0 through 7. After the final digit reaches 7, increment the next position and return the final digit to 0:
X20, X21, X22, X23, X24, X25, X26, X27,
X30, X31, X32, X33, X34, X35, X36, X37
The jump from X27 to X30 is an address-format rule. It does not represent two unused inputs, two missing bits, or a gap in the transferred word. Sixteen consecutive input bits still exist across that boundary.
Internal relays use a different device-number sequence. Starting at M20, sixteen consecutive relays are M20 through M35. This difference matters whenever one instruction groups X devices and M devices.
Expand the K4 group before changing logic
For this bit-device form of the instruction, K4 specifies four groups of four bits: 16 bits total. Expand both operands before diagnosing the result:
MOV transfers bit significance in order. It treats the input group as one packed 16-bit value and writes that value into the 16-bit destination group. The resulting correspondence is:
X20 -> M20 X24 -> M24 X30 -> M28 X34 -> M32
X21 -> M21 X25 -> M25 X31 -> M29 X35 -> M33
X22 -> M22 X26 -> M26 X32 -> M30 X36 -> M34
X23 -> M23 X27 -> M27 X33 -> M31 X37 -> M35
The apparent mismatch starts at the octal boundary. X30 is the ninth source bit, so it lands in the ninth destination position, M28. That is not a corrupt value or an off-by-two execution fault.
Choose MOV or PRUN by the required mapping
Keep MOV when downstream logic needs a packed 16-bit image of the inputs. Read the destination by position, not by matching the decimal suffix of each M device to the octal suffix of each X device.
Use (D)PRUN, instruction FNC 81, when the design requires an octal run of bits to retain matching displayed suffixes across the transfer. The documented example PRUN K3X16 K3M16 copies:
X16 -> M16
X17 -> M17
X20 -> M20
X21 -> M21
X22 -> M22
X23 -> M23
X24 -> M24
X25 -> M25
X26 -> M26
X27 -> M27
X30 -> M30
X31 -> M31
This is a different mapping objective. Changing from MOV to PRUN only makes sense when the consuming logic expects those matching suffixes. If the program treats the destination as a packed word, replacing MOV wastes time and can move signals away from the positions that existing logic expects.
Apply the correction in a controlled sequence
- Record which physical inputs the machine options use and read their actual
Xaddresses from the device list. - Confirm that the sequence crosses from
X27directly toX30. Remove any worksheet or comment references to nonexistentX28andX29. - Expand
K4X020into its 16 source positions andK4M020into its 16 destination positions. - Choose the required result. Retain
MOVfor a packed input image. Select the documentedPRUNbehavior only when matching octal-style suffixes are part of the program interface. - Update symbol comments and I/O documentation with explicit source-to-destination mappings. A comment such as
X30 -> M28prevents the next technician from diagnosing normal packing as a fault. - Check every consumer of the destination group before downloading a logic change. Blade-deviation detection, mist spray, laser control, or other option logic may already reference the packed
Mpositions.
Verify the boundary bits individually
Test one input at a time while monitoring both device ranges. Use the machine's approved test state and observe the real input indication; do not infer the input state from the destination alone.
- Change
X20and confirm thatM20follows when theMOVrung executes. - Test the last input before the octal boundary:
X27must correspond toM27. - Test the first input after the boundary:
X30must correspond toM28underMOV. - Test the final grouped input:
X37must correspond toM35. - Monitor the instruction condition. If the source changes but the destination does not, confirm that the rung executes and that later logic does not overwrite the same
Mrange.
Those four boundary checks prove the group width, octal transition, destination start, and final position without testing every bit. If one boundary fails, trace that exact input and destination before changing the instruction type.
FAQ
Can I use X28 or X29 on a Mitsubishi FX3G?
No. FX3G X addresses use octal digits, so the sequence advances from X27 to X30. Digits 8 and 9 do not appear in these input addresses.
Does K4X020 contain 16 inputs even though the address jumps?
Yes. K4 represents 16 bits: X20-X27 followed by . The octal address transition does not remove any bit positions.
Can I escalate an FX3G bit-transfer problem to Mitsubishi support?
Stop when the device list disagrees with the installed I/O, the instruction will not execute despite a true rung condition, or monitored destinations change outside the documented mapping. Record the program instruction, source and destination states, CPU diagnostics, and installed hardware details, then contact an official Mitsubishi Electric support channel.