Learn PLCs free
Programming Guides10 min read1,809 words

Mitsubishi FX2N Legacy Programming Guide: GX Developer, Soft Elements, and Migration

Practical Mitsubishi FX2N programming guide for engineers maintaining legacy machines. GX Developer setup, soft elements, instruction set, comms, and migration to FX3U/FX5U.

PPI
PLC Programming IO Editorial Team
Sourced guidance with documented review and correction standards

The Mitsubishi FX2N has been out of mainstream production for over a decade, but several million units are still running across textile machinery, plastic injection moulding, packaging lines, food processing, and OEM machine fleets in Asia, India, and Eastern Europe. If you're a maintenance engineer or integrator who has just inherited an FX2N panel — or worse, a panel where the original PLC source has gone missing — this guide covers what you need to keep that hardware running, port it forward when the day comes, and avoid the legacy-FX traps that catch first-time FX2N maintainers.

Where FX2N sits in the FX timeline

The FX family timeline runs roughly as follows:

  • FX (1980s–early 1990s) — original compact MELSEC FX
  • FX0 / FX0S / FX0N (early–mid 1990s) — entry-level compact
  • FX2N (late 1990s–mid 2000s) — the volume seller, what this guide covers
  • FX1S / FX1N (parallel mid-2000s) — successor entry-level lines
  • FX3U / FX3UC / FX3GA / FX3G (2005–~2018) — the modern successor, drop-in for most FX2N programs
  • FX5U / FX5UC (2017–present) — the current generation, with built-in Ethernet and full IEC 61131-3 via GX Works3

For programming, the most important takeaway is that FX2N programs port forward to FX3U with very little rework, but moving to FX5U requires more change because GX Works3 uses a different project type (FXCPU vs RnCPU vs FX5UCPU) and some legacy positioning instructions don't survive the jump.

Hardware overview

Base units

FX2N base units come in 16M, 32M, 48M, 64M, 80M, and 128M flavours, where the number is the total I/O point count. Letter suffixes denote supply and output type — for example, FX2N-32MR-ES (32 I/O, relay outputs, AC supply). Common variants:

  • FX2N-16M / -32M / -48M / -64M / -80M / -128M — base unit families
  • MR / MS / MT suffix — relay / SSR / transistor outputs
  • ES / UA1 / DS — AC vs DC supply variants

If you're swapping a dead base unit, match the model number letter-for-letter or you'll surprise yourself. A relay-output unit can't drive the high-speed pulse outputs a transistor-output unit can.

Expansion modules

Right-side expansion modules connect to the base unit's expansion bus. Common ones you'll meet on legacy panels:

  • FX2N-2AD / -4AD / -8AD — analogue input modules
  • FX2N-2DA / -4DA — analogue output modules
  • FX2N-1HC — high-speed counter
  • FX2N-10PG / -20PG — positioning / pulse-train output (for stepper / servo motion)
  • FX2N-485-BD / -232-BD — communication board adapters that fit on the base unit
  • FX2N-32CCL — CC-Link interface

Many of these have been discontinued and cleared from distributor stock in 2026, particularly the positioning modules. When sourcing replacements, check both Mitsubishi spares channels and the secondary market — eBay, distributor surplus inventory, and specialised FX-stock sellers.

Programming cables

The FX2N's programming port is a Mini-DIN-8 (RS-422). Original Mitsubishi programming cables:

  • SC09 / SC-09 — RS-422-to-RS-232 cable; needs a USB-to-RS-232 adapter on modern laptops
  • USB-SC09 / USB-SC09-FX — USB-native versions of the SC09; the practical choice in 2026
  • USB-SC09-PLUS — multi-protocol variant supporting both FX-series and the older A/QnA series

Genuine Mitsubishi cables are reliable. Clones — typically using CH340 or PL2303 USB-UART chips — work for many maintainers but have an uneven track record on Windows 11. For cable-specific guidance see the Mitsubishi USB SC09 cable setup guide.

Software: GX Developer (and GX Works2)

GX Developer — the FX2N native tool

GX Developer is the legacy MELSEC programming tool that supports the full FX-series range from FX0 through FX3U. It's also the original tool for A/QnA-series and Q-series legacy systems. As of 2026, Mitsubishi has officially declared GX Developer end-of-life — it is not sold or supported, and downloads are restricted to existing customers via Mitsubishi's archive portal. In practice it's still widely circulated through legitimate channels.

If you have GX Developer running on a Windows 7 or 10 maintenance laptop, keep it. Bare-metal install on a fresh Windows 11 machine is unreliable; many shops keep a dedicated GX Developer laptop or a Windows 7 / Windows 10 VM specifically for FX2N work.

GX Works2 — the modern path

GX Works2 supports FX2N programs via the FXCPU project type. Most FX2N projects open cleanly in GX Works2 with full edit and download capability. The exceptions are:

  • Some legacy positioning instructions on the FX2N-10PG / -20PG don't render or simulate correctly
  • A handful of older instruction-mnemonic forms differ between GX Developer and GX Works2; the IDE usually warns
  • Comments imported from very early GX Developer versions occasionally come across encoded incorrectly

For new FX2N maintenance work in 2026, GX Works2 is the right tool — it runs on Windows 11, has a working simulator, and supports the FX3U / FX3G migration target you'll likely move to eventually.

GX Works3 — not for FX2N

GX Works3 is Mitsubishi's current-generation IDE for FX5U / FX5UC and the iQ-R series. It does not support FX2N. If your maintenance laptop has only GX Works3, you'll need GX Works2 alongside.

Soft elements: the FX2N memory model

Programming the FX2N means working with soft elements — addressable memory areas with letter prefixes:

  • X — physical input points (X0, X1, …) — read-only
  • Y — physical output points (Y0, Y1, …)
  • M — auxiliary relays (general-purpose internal bits, M0–M1023, with retentive M500–M1023)
  • S — state coils (used by STL — Step Ladder — for sequential control, S0–S899)
  • T — timers (100 ms, 10 ms, and 1 ms variants depending on number range)
  • C — counters (16-bit C0–C199, 32-bit C200–C234, high-speed C235–C255)
  • D — data registers (16-bit signed; D0–D7999)
  • V / Z — index registers (V0–V7, Z0–Z7) for indirect addressing

The soft-element model is identical across FX0, FX1S, FX2N, FX3U — which is why programs port forward so cleanly inside the FX family.

A typical FX2N program references raw addresses — X0, M100, D200 — rather than symbolic tags. Comments are added per-element via the comment table and are stored separately from the program code. Lose the comment file and you lose 80% of the program's readability; treat the comment file as part of the source.

Instruction set highlights

FX2N supports two instruction-set families:

Basic instructions — relay-logic primitives:

  • LD / LDI / AND / ANI / OR / ORI — load, AND, OR for contacts
  • OUT — output coil
  • SET / RST — set/reset latch
  • MC / MCR — master control / master control reset
  • PLS / PLF — pulse-rising / pulse-falling
  • END — end of scan

Application instructions — function-block-style operations invoked by mnemonic:

  • MOV — move data between registers
  • CMP — compare values, set comparison flags
  • ADD / SUB / MUL / DIV — arithmetic
  • INC / DEC — increment / decrement
  • BIN / BCD — number-format conversion
  • SMOV — shift move (for digit-by-digit operations)
  • STL / RET — step-ladder structuring

The application-instruction set is the soul of FX2N programming. Most non-trivial logic uses MOV, CMP, ADD/SUB, and STL extensively. Engineers fluent in FX2N application instructions move quickly to Delta DVP, Fatek FBs, and Wecon LX — all of which lifted the FX-style mnemonic set.

Common comms patterns

  • N:N network — token-ring-style data sharing between up to 8 FX-series PLCs over RS-485, no master/slave hierarchy. Useful for distributed machines that need to coordinate.
  • Modbus RTU via FX2N-485-BD — third-party HMI / SCADA interaction.
  • CC-Link via FX2N-32CCL — Mitsubishi-native field bus for distributed I/O and inverters.
  • Programming-port communication — slow, but used by some legacy HMIs that talk over the same Mini-DIN-8 port the programming cable uses.

In 2026, most replacement HMI work goes via Modbus RTU — Mitsubishi's proprietary protocols are still supported but are progressively less used outside Mitsubishi-only shops.

Maintenance scenarios

Replacing a dead FX2N CPU when source is missing

The dreaded scenario. If the original program isn't on a USB stick on the panel door (look there first — it usually is), your options are:

  1. Upload from the live CPU before removing it. GX Developer / GX Works2 can read the program if the CPU still powers up, even if outputs have failed. Get the upload before doing anything else.
  2. Decompile from upload. The program transfers as compiled instruction list. Soft-element comments don't come back — you'll be reverse-engineering names from context. Budget several days for a non-trivial program.
  3. Source recovery from the OEM. Some panel-builders kept the source. Worth a phone call.
  4. Rewrite from process knowledge. Last resort, expensive, error-prone.

Always extract a current backup before touching a working FX2N. Always.

Battery-backed RAM data loss

The FX2N CPU uses battery-backed RAM for retentive D registers and program storage. Battery life is around five years. Symptoms of a flat battery:

  • Retentive D-register values reset to zero on power cycle
  • "Battery low" alarm on the CPU front panel
  • M8005 (battery-low system flag) latched

The fix is the FX2N-48BL (or equivalent battery cassette) — but you must keep the CPU powered while changing it, or the RAM will wipe. Procedure: power up the CPU, swap the battery within the manufacturer-specified time window (typically 30 seconds), confirm the battery-low flag clears.

Recovering from EEPROM transfer pitfalls

FX2N CPUs with the FX2N-ROM-E1 cassette let you transfer the program to EEPROM for permanent storage. The pitfall: forgetting to update the EEPROM after a program edit, then losing power and reverting to the old program from EEPROM on reboot. After every program change, verify whether the CPU is set to run from RAM or EEPROM, and re-flash the EEPROM if you intended changes to survive a reboot.

Migration to FX3U / FX5U

FX2N → FX3U

The cleanest migration path. GX Works2 can re-target an FX2N project for FX3U with most code changes handled automatically. Hardware:

  • Many FX2N expansion modules work with FX3U with adapter
  • FX2N-485-BD does NOT fit FX3U — you'll need FX3U-485-BD instead
  • Positioning modules generally need replacement
  • Pulse-train outputs improved on FX3U; if your FX2N is at its frequency limits, the FX3U upgrade fixes the bottleneck

Budget: 1–2 days of conversion testing for a typical OEM machine program.

FX2N → FX5U

Harder but ultimately better. GX Works3 with the FX5U project type uses a different memory model in places — symbolic tags become available, the comms architecture changes, and Ethernet is built in. Mitsubishi's official FX2N-to-FX5U migration tooling helps with the bulk conversion, but expect 3–5 days of conversion plus retesting for a non-trivial program. The reward is a CPU with ~10 more years of supply ahead of it and a much friendlier comms story. For modern FX5U work see the Mitsubishi FX5U programming tutorial.

Where to find documentation

Mitsubishi's archive portal still hosts FX2N hardware manuals as PDF downloads, though the path to find them is non-obvious. Distributor PDF caches (Allied Electronics, RS Components, Aotewell) often have the manuals indexed more findable. Community forums — PLCtalk, MrPLC.com, and several Mitsubishi-specific subreddits — have decades of FX2N application examples and troubleshooting threads. The original FX2N hardware manual (FX2N-MAN, document number JY992D66301) is the single most valuable reference for hardware troubleshooting.

Summary

The Mitsubishi FX2N has earned its reputation. Millions of working units are still on the floor, GX Works2 keeps it programmable from a modern Windows 11 laptop, and the upgrade paths to FX3U and FX5U are well-trodden. Your job as a maintenance engineer is to extract working programs before things break, keep batteries fresh, source replacement parts before they fully dry up, and plan migrations on your timeline rather than during a 3 AM breakdown. For cable-specific advice see the Mitsubishi USB SC09 cable setup guide; for the modern Mitsubishi family see the Mitsubishi FX5U programming tutorial.

#mitsubishifx2n#fx2nprogramming#gxdeveloper#fxseries#fx2nmigration
Share this article:

Related Articles