Configuring CP1L Modbus RTU Easy Master for 3G3JX Drives

James Nishida11 min read
ModbusOmronTutorial / How-to
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Configuring CP1L Modbus RTU Easy Master for 3G3JX and V1000 Drives

This reference walks through commissioning an Omron CP1L CPU as a Modbus RTU Easy Master against a Yaskawa-built 3G3JX (and equivalent V1000) inverter. The same architecture applies to CP1H and CJ1W-SCU serial option boards. The goal is run/stop, forward/reverse, frequency reference, and parameter read/write over RS-485 with the CP1W-CIF11/CIF12 option, plus an optional NS/CX-Designer HMI for operator control.

The 3G3JX is the Omron-branded re-packaging of the Yaskawa V1000 (varispeed JX). Modbus register maps, parameter numbering, and supported function codes are identical. Use the inverter's Communications section (PDF page 162 onward of the 3G3JX manual) as the authoritative register source, then subtract 1 from the documented coil or register address before issuing any Modbus request.

1. System Overview and Topology

The serial gateway on the CP1L converts Modbus RTU requests from a SCADA/HMI into Modbus RTU to the inverter without requiring a custom protocol macro. The Easy Master functionality ships in the CP1L firmware; no option board is required for the controller side, but a CP1W-CIF11 (RS-422/485) or CP1W-CIF12 (RS-422/485 isolated) must be installed in the right-hand option slot of the CP1L.

CP1L + 3G3JX reference architecture
Layer Component Function
Controller CP1L-M30DR-A (or CP1L-L) Modbus RTU Easy Master on port 2
Serial option CP1W-CIF11 / CIF12 RS-232C to RS-422/485 conversion, DIP-switch configured
Drive Omron 3G3JX / Yaskawa V1000 Modbus RTU slave, node address 1
HMI Omron NS or CX-Designer simulation Operator control and indication
Physical RS-485 2-wire shielded twisted pair Termination 120 ohm at both ends
For multi-drop RS-485, mount the option board in the right-hand option slot (slot 1) only when the inverter is wired into the RS-485 link from that port. The left slot is reserved for CP1W-CIF01 (RS-232C) used for CX-Programmer connection; using the wrong slot mixes ports and prevents the gateway from operating.

2. Supported Modbus Function Codes on the 3G3JX

The 3G3JX inverter responds to the following Modbus function codes. Implement only what you need; most projects use 03 and 10.

Modbus function code support matrix
Code Mnemonic Purpose on 3G3JX
01 Read Coils Read run/stop, FWD/REV, fault status bits
03 Read Holding Registers Read parameter values, output frequency, output current
05 Write Single Coil Force run/stop, FWD/REV bits
06 Write Single Register Write a single parameter
0F (15) Write Multiple Coils Write multiple control bits in one transaction
10 (16) Write Multiple Registers Write frequency reference or parameter block

The minimum functional set for run/stop and frequency reference uses only 03 (read) and 10 (write multiple registers). Use 05 or 0F for bit-level control when you want direct mapping to discrete PLC outputs.

3. Hardware Wiring

3.1 CP1W-CIF11 / CIF12 DIP Switch Configuration

Set the on-board DIP switches before powering the PLC. Default mode is RS-232C; the switches below select RS-422/485 2-wire mode needed for the 3G3JX.

CP1W-CIF11 / CIF12 DIP switch settings for RS-485 2-wire
Switch Position Meaning
SW1 OFF RS-422/485 selected (ON = RS-232C)
SW2 OFF RS-422 (use ON for RS-485 4-wire if needed)
SW3 ON Termination resistor 120 ohm enabled
SW4 OFF No termination on RD/RD pair
SW5 OFF Not used for 2-wire
SW6 OFF Not used for 2-wire
Only the two inverters at the physical ends of the RS-485 trunk should have the 120 ohm terminator enabled. If the CP1L is at one end, leave SW3 ON. If it sits in the middle of the trunk, set SW3 OFF.

3.2 3G3JX Communication Terminal Wiring

The 3G3JX serial port uses a removable screw terminal block. Pinout for RS-485 2-wire (Modbus RTU):

3G3JX RS-485 terminal pinout
Terminal Signal Connect to
+ S+ (RS-485 A) CP1W-CIF11 RDA- / SDA
- S- (RS-485 B) CP1W-CIF11 RDB+ / SDB
GND Isolated ground CIF11 FG (functional ground)
SP Shield drain point Earth ground at one end only

4. 3G3JX Parameter Configuration

Configure the inverter before attaching it to the network. The exact parameter number is the same on Yaskawa V1000 (C0xx block) and 3G3JX.

3G3JX communications parameter block
Param Setting Meaning
A001 3 Frequency reference source = Modbus
A002 3 Run/Stop command source = Modbus
B089 1 Monitor display = Output Frequency
C070 3 Operator / Modbus selection = Modbus
C071 5 Baud rate = 9600
C072 1 Modbus node address = 1
C074 0 Parity = None (recommended for Modbus)
C075 1 Stop bits = 1
C076 2 Modbus error behavior = Ignore and continue
C077 0 Communication error timeout = 0 (no timeout)
C078 0 Communication wait time = 0
A common pitfall is leaving C074 at the factory default (Even parity). Modbus RTU specifies 8N1. If the PLC transmits with no parity and the inverter listens for even parity, every frame is rejected and no LED activity will be observed. Reset to 0 before commissioning.

After writing parameters the inverter typically requires a power cycle for communication settings to take effect. C076 = 2 prevents nuisance trips while you are debugging the link; tighten this to 1 (coast to stop) or 3 (decelerate) before handover.

5. CP1L Modbus Easy Master Setup

CX-Programmer exposes the Easy Master block as a function block on port 2 when the option board is recognised. Configure the port first.

5.1 PLC Port Settings

CX-Programmer PLC Settings > Port 2
Field Value
Serial communications mode Serial Gateway
Communications baud 9600
Data bits 8
Stop bits 1
Parity None

Selecting Serial Gateway routes any Modbus RTU frame sent to the PLC's serial port through to port 2 untouched, which is what enables direct SCADA/Master traffic and Easy Master traffic to reach the inverter.

5.2 PMCR Instruction and Source Words

The Easy Master function uses the standard PMCR instruction. The protocol macro area is pre-loaded with the Modbus master protocol. The relevant control words are:

PMCR operands for Modbus Easy Master
Operand Purpose
C1 Protocol macro area number (omit or 0 for built-in Easy Master)
C2 Sequence number (0 = Modbus RTU master)
S (D32300) Starting DM word with command block
D (D32350) Result/status area

The first five DM words beginning at D32300 contain the request to transmit. A typical Write Single Register (function 06) request to set Accel time on node 1:

PMCR source data for Write Single Register (function 06)
Word Hex Meaning
D32300 #0001 Node address = 1
D32301 #0006 Function code = 06 (Write Single Register)
D32302 #00C8 Register address = 0x00C8 = 200 (Accel parameter F002 on V1000)
D32303 #000A Register value = 10 (1.0 s at 0.1 s resolution)
D32304 #0000 Reserved / padding

When sending a Write Multiple Registers (function 10) to set the frequency reference, populate the command block with function code #0010, the starting register address (for frequency reference this is 0x0001 in the command area), the register count, and the data bytes in subsequent words. The exact layout is documented in the CP1L Easy Master reference; always subtract 1 from any address listed in the 3G3JX manual when entering it into the source block.

5.3 Sample Ladder

| Run Enable (W0.00) |
        +---[ ]---[PMCR C1=0 C2=0 S=D32300 D=D32350 ]---(W0.01 Done)---
        |        |
        |        +---[W0.01]---[MOV #1 D32300] (node)
        |        +---[W0.01]---[MOV #6 D32301] (function code)
        |        +---[W0.01]---[MOV #00C8 D32302] (parameter addr - 1)
        |        +---[W0.01]---[MOV #000A D32303] (value)
        +---[ ]---[A640.00]                         (Start request)

The example above shows the structure, not the exact rung order. In production code you would normally pre-populate D32300 through D32304 with MOV instructions at first scan and only toggle the PMCR rung on a transition.

6. Reading the Frequency Reference and Status

Function code 03 reads holding registers. To read the current output frequency on the 3G3JX, request register address 0x1001 (decimal 4097). After subtracting 1, the Modbus register passed in the request is 4096.

Reading the drive status word (run, direction, fault) uses coil addresses listed in the inverter manual. Coil address 0x0001 = run command, 0x0002 = reverse direction, 0x0003 = external fault reset, and so on. Subtract 1 from every address you read out of the manual.

7. CX-Designer HMI Integration

The same Easy Master traffic is visible to a CX-Designer NS panel or any OPC client that speaks Modbus TCP/RTU to the CP1L's serial gateway. To run a virtual NS against the live PLC:

  1. Build the project in CX-Designer against the target NS type.
  2. From the Tools menu launch CX-Designer Simulation. The simulator binds to the PLC selected in CX-Programmer.
  3. Confirm the simulator is connected by toggling a bit registered in the project; the bit state should appear in the PLC's input/output monitor within one scan.
  4. Wire the run and frequency reference buttons to PLC addresses that the Easy Master program converts into Modbus requests to the 3G3JX. The simulator will then issue real traffic against the live inverter.
The NS simulator only talks to the PLC, not directly to the inverter. If the PLC program is correct, the simulator will drive the drive. If the PLC program is missing, the simulator will appear dead even when the wiring is fine. Always confirm a working PMCR transaction before debugging HMI tags.

The simulator cannot open a serial gateway if the NS screen's host connection settings disagree with the CX-Programmer port settings (baud, parity, stop bits). Match the CX-Designer NS project host parameters exactly to those in section 5.1.

8. Using CX-Drive for Parameter Backup and Restore

Omron's CX-Drive tool can parameterise the 3G3JX over Modbus RTU even though the drive is a Yaskawa design. CX-Drive loads an EDS/IODD-style object dictionary that mirrors the parameter list. The risk of overwriting drive firmware through a parameter upload is zero: CX-Drive only writes parameter values, never firmware. If a parameter upload appears to break communications afterward, the cause is usually a serial-port parameter (C071, C072, C074) being overwritten with a value that disagrees with the master.

Recovery steps after a botched upload:

  1. Disconnect the network cable so the PLC stops talking.
  2. On the inverter keypad navigate to the communications block (group C) and verify A001, A002, C070, C071, C072, C074, C075.
  3. Reset to the values in section 4 above. DriveWizard Plus or the keypad can do this; the inverter does not require a firmware reflash.
  4. Power-cycle the inverter to commit changes.
  5. Reconnect RS-485 and run a known-good Modbus request (function 03 to read frequency) to verify.
No Yaskawa or Omron documentation permits firmware to be written over the Modbus RTU link. A failed parameter upload cannot "brick" the drive. If the drive no longer responds after a parameter change, the communications parameters were overwritten, not the firmware.

9. SCADA Integration via Serial Gateway

For a direct PC-to-inverter Modbus link, leave the PLC out of the path and use CX-Driver with a USB-to-RS-485 converter, or use OPC KEPware with the Omron/Yaskawa driver. The Modbus node address, baud, and parity settings are identical to those in section 4. Use one Modbus master per bus at a time; the Easy Master code on the CP1L and an external SCADA master cannot share the bus without an arbitrator.

10. Troubleshooting Matrix

Common CP1L + 3G3JX commissioning issues
Symptom Likely cause Fix
No LED activity on CIF11 Wrong option slot, RS-232C mode selected Move option board to right-hand slot, set SW1 OFF
Inverter RX LED flashes, no response Parity mismatch (Even vs None) Set C074 = 0 and PLC parity to None
PMCR completes but drive ignores command A001/A002 not = 3 Set frequency source and run source to Modbus
Frequency reads as 0 Hz during run Wrong register address or wrong scaling Verify register map; JX reports Hz * 10 in holding register
PLC error 0x80F0 or similar comms error Serial port not in gateway mode PLC Settings > Port 2 > Serial Gateway
Drive faults on C076 after parameter upload C076 = 0 or 1; upload change to comms params caused timeout Restore comms parameters, set C076 = 2 during commissioning
NS simulator shows offline Baud or parity mismatch in CX-Designer host settings Match host settings to PLC port settings exactly
Drive parameter upload "breaks" communications Comms parameters overwritten by upload Reset group C parameters to section 4 values

11. Verification Procedure

  1. Power-cycle the inverter after writing any C0xx parameter.
  2. From CX-Programmer, force a function 03 read of the output frequency register. Confirm the response word returns a non-zero scaled value when the drive is running.
  3. Issue a function 06 write of register 0x0001 (frequency reference) with a small value (e.g. 100 = 10.0 Hz). Confirm the drive accelerates to the commanded frequency.
  4. Use a function 05 write to coil 0x0001 (run forward). Confirm the drive starts. Use function 05 write of coil 0x0001 with value 0 to stop.
  5. Launch the NS simulator and exercise the run/stop/speed screen end-to-end.
  6. Set C076 back to the required production value (1 or 3) once stable.

12. References

FAQ

Which Modbus function codes does the 3G3JX support?

The 3G3JX supports function codes 01 (read coils), 03 (read holding registers), 05 (write single coil), 06 (write single register), 0F/15 (write multiple coils), and 10/16 (write multiple registers). For typical run/stop and frequency commands, only 03 and 10 are required.

Do I subtract 1 from every register or coil address in the 3G3JX manual?

Yes. The 3G3JX manual lists addresses as 1-based for the user's convenience. The actual Modbus register on the wire is the address minus 1. Always subtract 1 before populating the PMCR command block.

Can CX-Designer simulation really run the inverter?

Yes, if the CP1L is running a working Modbus Easy Master program. The NS simulator talks to the PLC, not the drive. If the PLC's PMCR block is correctly issuing Modbus frames to the drive, the simulator buttons become live control surfaces for the physical inverter.

Did uploading parameters from CX-Drive overwrite the drive firmware?

No. Modbus RTU only exposes parameter registers; firmware cannot be written through this link. If communications stop working after a parameter upload, the upload overwrote the C0xx comms parameters (C071 baud, C072 node, C074 parity). Restore them and power-cycle.

What is the recommended PLC port 2 configuration?

Serial Gateway mode at 9600 baud, 8 data bits, no parity, 1 stop bit (8N1). This matches the inverter's C071 = 5 and C074 = 0 settings and complies with the Modbus RTU standard. The CP1W-CIF11 must have SW1 OFF (RS-422/485) and the 120 ohm termination enabled only if the PLC is at the end of the trunk.

Back to blog