Cookies are important for this site to function properly, to guarantee your safety, and to provide you with the best experience. By clicking OK, you accept all cookies. For more information, please access our Privacy Policy.
Table of Contents
Tutorials / 
Mitsubishi PLC Programming with GXWorks2

Mitsubishi PLC Programming with GXWorks2

PLC Programming
Mitsubishi Electric
Ladder Logic


GXWorks2 is a software package produced by Mitsubishi Electric to program its PLCs. It is a complete integration package that houses the configuration function of the intelligent function module and the simulation function needed for PLC programming

GXWorks2 is an all-inclusive software that supports all engineering aspects, including system design, programming, debugging, and maintenance. In addition, the old Mitsubishi software GX Developer assets have been integrated into GX Works2. 

Mitsubishi PLCs can be programmed using IEC languages such as the ladder, sequential function chart (SFC), structured text (ST), and function block diagram (FBD). In addition, Mitsubishi PLCs that can be programmed using GXWorks2 include the A-series, Q series, FX series, L series, and A-series range of PLCs. 

In this tutorial, you’ll learn about the Mitsubishi GXWorks2 programming software and how to configure a project.


To follow along with this tutorial, you will need:

Creating a new project

In this tutorial, we will use the Q series PLC, a rack type. This is a high-end Mitsubishi PLC. 

Fig 1.1 Mitsubishi Q series PLC

Launch the GXWorks 2 software, and the first page opens as shown in the image below.

Fig 1.2 First page of launching GXWorks 2

Click on project and select new project.

Fig 1.3 New project pop-up screen

A new project window opens for PLC series and type, project type, and language selection.

Select the following

Series: QCPU

Type: Q03UDV

Project Type: Simple project

Language: Ladder

After selecting ‘’OK’’, the window is as shown below.

Fig 1.4 Overview screen

GXWorks2 window screen configurations and basic operations

The different windows are shown below

Fig 1.5 Overview screen of GXWorks 2

Menu Bar

The menu bar has the following sub-components

Project: The project bar is used to perform operations that relate to the project, such as new project, save, delete, change PLC type, add intelligent function module, library functions, etc.

Edit: The edit bar performs operations such as adding rows, getting different ladder symbols, ladder edit mode –read and write, documentation- notes, labels, etc.

Find/Replace: This menu bar option is used to find and/or replace device instructions, cross-reference, device batch replace, change module IO module range and jump operations.

Compile: The compile bar performs build (compile) and rebuild operations.

View: The view bar organizes all windows in GXWorks 2. Functions include toolbar customization, status bar, docking window, comments, statements, device displays, etc.

Online: The online bar performs operations for the PLC such as reading to a controller, writing from a controller, remote operations, PLC memory operations, and monitoring and watching operations for signals.

Debug: The debug bar performs operations for troubleshooting such as traces, scan time, modifying values, starting/stopping simulation, etc.

Diagnostics: The diagnostics bar performs different types of PLC diagnostics such as PLC, Ethernet, CC link devices, sensor/device monitoring, etc.

Tool: This bar can be used to check for Memory card operations, checking program details and contents, memory operations, and a couple of other functions

Window: The window bar is used to adjust windows orientations cascade, vertical or horizontal design.

Help: The help bar provides helpful content on GXWorks 2 programming. It provided direct links to operating manuals, Mitsubishi websites, etc.


The toolbar provides shortcuts for performing operations contained in either menu bar window. It gives easy access to functions without necessarily searching for them in the menu bar.

Navigation Window

This window is different for all Mitsubishi brands of PLC; it is brand customizable. For the Q series PLC, the following window exists.

Parameter: The parameter section is used to configure the PLC parameter setting under which you can perform add IO device assignment, Ethernet configuration, boot settings, and program control settings. Also, this sub-section has remote password operation and network configuration.

Intelligent function Module: Intelligent function modules are modules that perform specific operations that have their configuration methods, such as Analog modules, Modbus, temperature modules, AS-I, and counter modules.

Global Device comment: This window gives comments to the different devices in the PLC, such as IO device, counters, timer, memory, and registers

Program setting: This window organizes the program into other scan priorities. Scan memory is the most used function here.

POU: This is where PLC programming is done in different languages.

Device memory: The device memory function is used for storing the read/write data on the PLC

Under the navigation, we have the following windows also.

Fig 1.6 Navigation window tab for PLC connection

The project tab is the current window we are in that can give you access to different project functions and programming operations.

The User Library is used for performing library operations.

Connection destination provides the setup connection settings for communicating with a PLC 

Work Window

The work window is where PLC programming is done using the different PLC programming languages. Currently selected is the simple ladder language.

Setting PLC Parameters

Under the navigation window select parameter and open PLC parameter.

Fig 1.7 PLC parameter settings

PLC name is used for naming the PLC used in this project.

For the PLC system, the remote reset button is used to allow the reset of the PLC remotely in case of an error. Other parameters can be left as it is. 

Fig 1.8 PLC system settings

For the PLC file, select use the following file and give it a file name and capacity. The capacity determines the number of points in kilobytes that are allotted to the PLC for all devices.

Always click check after every configuration.

Fig 1.9 PLC file settings

 The settings of all devices, be it data registers, timers, counters, or edge relays, can be set for Device settings. The latch areas determine the range of addresses that should be latched in case a power trip occurs and PLC has to power cycle. This will store the last memory state of that particular device.

Fig 2.0 Device settings

The image above has latched the data register from the D6000 to D7000 range.

For the IO assignment, the hardware configuration of IOs is done here. We will add a digital input card, digital output card, analog input, and analog output. 

Automatically, the PLC takes the first slot when selecting the PLC type in the project. Click on select PLC type, and the PLC type is highlighted. We will select Q03UDV.

Fig 2.1 PLC type select 

Click on slot 0 and select New Module; select the input module QX10

Fig 2.2 Input module selection

Do the same for the output module, analog input, and analog output, as shown in the image below.

Fig 2.3 IO settings

The Q68ADI is an Analog input module with eight channels, while the Q68DAIN is an analog output module while eight channels. This is because the ADI stands for analog to digital while the DAIN stands for digital to analog. 

Mitsubishi addresses for IO is in Hexadecimal format. The start XY gives the starting addresses of each IO device. From the image above,

The digital input starts from X0

The digital output starts from Y10

The analog input starts from X20

The analog output starts from Y30

The IP address setting offers the provision to input the IP address and subnet mask address as the case may be. The default IP address for the Q series is

Fig 2.4 IP address settings

Click on check and end after configuration of parameters

Simulation of Programs

To start the program simulation, click on debug in the menu toolbar and select start and stop the simulation. The simulator opens and downloads the program.

Fig 2.5 Starting the simulator

If the simulator starts successfully, it will turn green indicating that the PLC is in run mode.

Fig 2.6 Simulator running

Operations such as saving the memory and IO system settings can be done. 

Reading and Writing Operations

To download to the PLC you perform a write operation. Select online and click on write to PLC.

Fig 2.7 Write to PLC

 Click on select all and execute.

Fig 2.8 Writing to PLC completed

 A prompt comes up to put the PLC in run mode, select yes.

The same method can be applied to read the program from PLC. 

Monitoring Operations

To monitor the program, click on the monitor all window icon. At the top left of the screen, the monitor window shows. The image below explains the window.

C:\Users\Victory Edema\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\F06BE4D2.tmp
Fig 2.9 Monitoring of PLC

Using Device/Memory batch monitor

Device memory is the window where you can monitor all device parameters such as inputs, outputs, bit, and data registers.

Select the device memory and the window opens as shown in the image below

Fig 3.0 Using Device memory

Currently, the X input memory is being monitored, other memory registers can be monitored as well. 


Mitsubishi PLC programming using GXWorks 2 is a very easy-to-use software for programming its range of PLCs. This tutorial has given the basics needed to start with Mitsubishi PLC programming. Further practice should be done to familiarize oneself with the programming environment.