Mitsubishi F Serial
Review the following information for setting up and configuring the Mitsubishi F Serial driver. The driver reads and writes Mitsubishi MELSEC-F PLCs over a serial line. You select the PLC with the Model device setting:
- FX2N: FX2N and FX2NC PLCs, through the FX programming port.
- FX3U: FX3U and FX3UC PLCs, through the FX programming port.
- FX2N-10/20GM: FX2N-10GM and FX2N-20GM positioning units, which use their own protocol.
This driver replaces the Mitsubishi FX2N Serial, Mitsubishi FX3U Serial, and Mitsubishi FX2N-10GM/20GM Serial drivers. It does not support FX3G and FX3S PLCs.
Note: This driver is experimental. Some features might not work as expected.
Litmus Edge compatible series
Compatibility parameter | Compatible items |
|---|---|
Driver type | Serial |
Validated devices/series | MELSEC-F: FX2N, FX2NC FX3U, FX3UC FX2N-10GM, FX2N-20GM |
To set up and configure this device in Litmus Edge (LE), do the following:
- Step 1: Set up and configure the PLC device
- Step 2: Set up the PLC device in Litmus Edge DeviceHub
- Step 3: Configure the list of registers
Step 1: Set up and configure the PLC device
Record the serial communication parameters for the device. The port settings depend on the model:
- FX2N and FX3U: The FX programming port runs at 9600 baud, 7 data bits, even parity, and 1 stop bit. You need a direct programming cable or an FX-232AW or FX-485PC-IF converter.
- FX2N-10GM and FX2N-20GM: The positioning port runs at 9600 baud, 8 data bits, even parity, and 1 stop bit.
FX3U
To check the connection to your device:
- Record the following information and refer to it as needed.
- Device: Mitsubishi FX3U-16M
- Communication I/F: RS232. Refer to the following figure.

- Launch GX Works2 v1.560J software, click Create a Project, and then click Connection 1 in the navigation panel.
- Set up the communication parameters, and then click Connection Test.
FX2N-10GM and FX2N-20GM
To check the connection to your device:
- Record the following information and refer to it as needed.
- Device: Mitsubishi FX2N-10GM
- Communication I/F: Serial. Refer to the following figure.

- Use FX PCS-VPS/WIN-E software to configure the device.
Step 2: Set up the PLC device in Litmus Edge DeviceHub
Configure the following parameters when you Connect a DeviceConnect a Device with this driver. Update default values to the specific setup of your device.
Parameter | Value |
|---|---|
Type | Mitsubishi |
Driver | Mitsubishi F Serial |
DeviceFile | The serial port path used to communicate with the device, for example /dev/ttyS1 or /dev/ttyUSB0. Default value /dev/ttyUSB0 |
BaudRate | Must match the baud rate configured on the device. Select a value from 1200 to 921600. Default value 9600 |
DataBits | 5, 6, 7, or 8. Use 7 for FX2N and FX3U, and 8 for FX2N-10/20GM. Default value 7 |
Parity | None, Odd, or Even. Must match the device. Default value Even |
StopBits | 1, 1.5, or 2. Must match the device. Default value 1 |
Model | The PLC model. Select FX2N, FX2N-10/20GM, or FX3U. The model sets the memory map and must match the PLC. With the wrong model, the driver reads and writes the wrong memory. Default value FX2N |
The following parameters are under Advanced Parameters.
Parameter | Value |
|---|---|
ReadTimeout | How long the driver waits for a response, in milliseconds. Enter a value from 10 to 10000. Default value 2000 |
RetryCount | The number of times a failed request is retried. Enter a value from 0 to 5. Default value 0 |
PauseBetweenRetries | The pause between retries, in milliseconds. Enter a value from 0 to 2000. Default value 0 |
For the Meta Data, Status Register, and Optional Settings options, see Connect a DeviceConnect a Device. By default, the status register is D, value type uint16, address 0.
Step 3: Configure the list of registers
When you Add a TagAdd a Tag to the connected device, see the following register table and tag parameters. This driver does not support browsing tags.
See the following additional resources if necessary:
- Organize Device and Tag Data by Using MetadataOrganize Device and Tag Data by Using Metadata
- Tag Formula VariablesTag Formula Variables
Register table
The available registers depend on the model:
- FX2N: X, Y, M, T, C, SM, S, SD, D, D_bit, CV, CV2, and TV.
- FX3U: All FX2N registers, plus R and Z.
- FX2N-10/20GM: X, Y, M, SM, D, SD, V, and Z.
An R or Z tag on an FX2N device gets a bad status, and the driver sends no request.
The maximum addresses are the limits of the largest model. The driver does not check addresses against the selected model, so configure only the ranges your PLC has. For example, on FX2N, X and Y end at 255, and M ends at 3071. An M address of 3072 or higher addresses the memory of other registers.
Name | Value Types | Access Type | Address Format | Min Address | Max Address | Description |
|---|---|---|---|---|---|---|
X | bit | R/W | OOO | 0 | 500 | Input relay |
Y | bit | R/W | OOO | 0 | 500 | Output relay |
M | bit | R/W | DDDD | 0 | 7999 | Auxiliary relay |
T | bit | R/W | DDD | 0 | 511 | Timer contact |
C | bit | R/W | DDD | 0 | 255 | Counter contact |
SM | bit | R/W | DDDD | 8000 | 9175 | Special auxiliary relay |
S | bit | R/W | DDDD | 0 | 4095 | State relay |
R | uint16, int16 | R/W | DDDDD | 0 | 32767 | Extension register |
SD | uint16, int16 | R/W | DDDD | 8000 | 9599 | Special data register |
D | uint16, int16 | R/W | DDDD | 0 | 7999 | Data register |
D_bit | bit | R/W | DDDDdd | 0 | 799915 | Data register bit |
CV | uint16, int16 | R/W | DDD | 0 | 199 | Counter current value (16-bit) |
CV2 | uint32, int32 | R/W | DDD | 200 | 255 | Counter current value (32-bit) |
TV | uint16, int16 | R/W | DDD | 0 | 511 | Timer current value |
Z | uint16, int16 | R/W | D | 0 | 7 | Index register |
V | uint16, int16 | R/W | D | 0 | 7 | Index register |
For D_bit, the address is the register number followed by a two-digit bit number, from 00 to 15. For example, address 10005 is bit 5 of D100.
Warning: The R register cannot be reached. An R tag reads or writes other memory, and no error is reported because the PLC acknowledges the request. R is kept only for compatibility with the previous driver.
FX3U bit writes
On FX3U, the driver writes an M or S bit the same way as a D_bit: it reads the whole word, changes the bit, and writes the word back.
FX2N-10/20GM notes
- The unit does not check addresses. An address past its range returns 0 with a good status, not an error.
- Do not write to X. The unit does not accept a force on an input, and the write fails with a timeout.
- You can write to Y only where the unit has a physical output. On an FX2N-10GM, that is Y0 to Y5. A write to Y6 or higher is reported as successful, but the output does not change.
Tag parameters
- Name: Select a register name from the drop-down list. The available options depend on the names in the register table.
- Value Type: Select a data type from the drop-down list. The available options depend on the register name selected.
- Address: Enter the register address within the min and max range in the register table. Omit leading zeros. For D_bit, add the two-digit bit number at the end.
- PollingInterval: Enter how often the tag polls for data, in seconds. Enter 0 to disable polling. Default value 1
- Tag Name: Enter a name for the tag.
- Description (Optional): Enter a description for the tag.
- Tag Formula: Enter a formula for the tag to process the generated data. You can use two variables: value (current tag value) and timestamp (current tag UNIX time in milliseconds). The following math functions are available:
- sin
- cos
- sqrt
- tan
- power: power(x) performs the operation 10^x.
- log: log(x) is the natural logarithm (the logarithm is in base e).
- exp: exp(x) performs the operation e^x.
- Only Publish on Change of Value: Select the checkbox to publish NATS messages only when the value parameter changes. Change of Value only applies to boolean, numeric (such as int or float), and simple string data types. It does not apply to complex types, such as JSON or array. Poll-once topics are not affected by Change of Value settings, and still receive a single message.
- Meta Data: Define key-value pairs to add to the device output payload.
Note: If you use special characters in metadata key names, the special characters are replaced with underscore characters in the payload. This can cause two key names to be combined into one. For example, configuring the key names a**b and a&&b creates only one key name (a__b).