TestBench.tools
GitHub

Mitsubishi MELSEC Address Converter

MELSEC device numbers with the right radix — octal X/Y on FX5, hex on iQ-R.

CPU series

X / Y are octal on this series

Device number (decimal)
16
Device
X
Written in
Octal (base 8)
Same point on MELSEC iQ-R
X10
Binary
10000
Base
8 — digits 0-7

Careful — “X20” is also valid on MELSEC iQ-R, but there it means point 32, not 16.

Next 8 consecutive points

X20 · X21 · X22 · X23 · X24 · X25 · X26 · X27

This tool reads a MELSEC device address with the radix its CPU series actually uses. Pick iQ-R or iQ-F/FX5, enter something like X20, D100 or W1F, and it returns the device number as a plain integer, the radix it was written in, and the same physical point written for the other series. Reference: X20 is point 16 on FX5 (octal) but point 32 on iQ-R (hexadecimal).

How it works

A MELSEC address is a device symbol followed by a device number, and the number is not always decimal. Mitsubishi's device list gives a notation per device: inputs and outputs are octal on the iQ-F / FX5 family and hexadecimal on iQ-R, while the internal relay M and the data register D are decimal on both. That is why FX inputs jump from X7 straight to X10, and why an iQ-R happily accepts XF. The tool applies the table for the series you select and refuses digits that radix cannot contain, so a typo like X8 on an FX is reported instead of silently becoming something else.

The conversion matters most when a program moves between families. Because the two series write the same point differently, copying an I/O list across without re-basing the numbers shifts every address — and it shifts them by an amount that grows as the numbers do, so a quick check of the first few points looks fine. Converting through the underlying point index, as this tool does, keeps the physical terminal the same.

Worked example

FX5 · X20 → octal → point 16
iQ-R · X20 → hexadecimal → point 32
the FX5 point 16 written for iQ-R → X10
FX5 · X8 → rejected — octal has no digit 8
D100 → decimal on both series → point 100

Device notation

ParameterValueNotes
X, Y — iQ-F / FX5Octaldigits 0-7
X, Y — iQ-RHexadecimaldigits 0-9 A-F
M, L, F, SDecimalboth series
D, RDecimalboth series
T, ST, C, LCDecimalboth series
B, SBHexadecimalboth series
W, SWHexadecimalboth series
SM, SDDecimalboth series

Source: MELSEC iQ-R CPU Module User's Manual (Application), SH-081264ENG §22.1 Device List; MELSEC iQ-F FX5 User's Manual (Application), JY997D55401AD §4.1 List of Devices.

FAQ

Why is there no X8 or X9 on an FX controller?

Because X and Y device numbers on the MELSEC iQ-F / FX5 series are written in octal, and octal has no digits 8 or 9. The inputs run X0 to X7 and then continue at X10 — which is the eighth input, not the tenth. The device list in the FX5 User's Manual (Application) states the notation for every device.

Does X20 mean the same thing on iQ-R and FX5?

No, and this is the trap when porting a program. On FX5 the X devices are octal, so X20 is point 16. On MELSEC iQ-R they are hexadecimal, so the same text X20 is point 32. The physical point that FX5 calls X20 is written X10 on an iQ-R.

Which devices are not affected by the series?

The decimal ones. M (internal relay), D (data register), L, F, T, ST, C, LC, SM and SD are decimal on both series, so D100 is device 100 either way. The link devices B, SB, W and SW are hexadecimal on both. It is specifically X and Y whose radix differs.

Where do these radices come from?

From the device list tables in Mitsubishi's own manuals: the MELSEC iQ-R CPU Module User's Manual (Application), document SH-081264ENG, section 22.1; and the MELSEC iQ-F FX5 User's Manual (Application), document JY997D55401AD, section 4.1. Each table has a Notation column giving the radix per device. Series whose manuals have not been checked are deliberately not offered here rather than assumed to match.

Does it cover Q and L series?

Not yet. Only the two series above have been verified against their manuals. Rather than assume the Q and L series behave like iQ-R, they are left out until their device lists are confirmed — a wrong radix silently addresses the wrong point.

Is anything uploaded?

No. Every address is parsed locally in your browser.

Related tools