The leader in industrial automation and control solutions

Introduction

All Maple Systems HMIs programmed with EBPro (EasyBuilder Pro), including every cMT X Series and cMT Series model, are compatible with Modbus RTU, RTU over TCP. Configure your Controller and HMI/cMT with the following parameters to establish reliable communication.

Supported Series: MODBUS RTU CONTROLLER

Website: www.modbus.org

HMI Settings

ParametersRecommendedOptionsNotes
PLC typeMODBUS RTU, RTU over TCP
PLC I/FRS485RS232/RS485/USB
Baud rate96009600~115200
Data bits88
ParityEvenEven, Odd, None
Stop bits11, 2
PLC sta. no.10–255
Online simulatorYES
Broadcast commandYES
Extend address modeYES
Device Properties dialog with Address Range Limit and Conversion buttons highlighted in red, showing interval and read/write-command size fields.

Address Range Limit

The address range for device types 0x, 1x, and 0x_multi_coils can be configured. This option should be used when the controller’s bit register address range is not a multiple of 16. For example, if the range is 0x1 ~ 0x6 or 0x9 ~ 0x14, communication will not be possible. To ensure effective communication between the HMI and the controller, please follow the configuration instructions below.

In the Device Properties dialog, click Address Range Limit… to open the 0x/1x Address Range dialog. Set the minimum and maximum address values for the station and address type.

Example — set range 0x1 ~ 0x6:

0x/1x Address Range dialog with Station no. 1, Address type 0x, Min. address 1, and Max. address 6 configured.

Example — set range 0x9 ~ 0x14 using address type 0x_1:

0x/1x Address Range dialog with Station no. 1, Address type 0x_1, Min. address 9, and Max. address 14 configured.

Conversion

The 3x_Double and 4x_Double address types are added. If the ABCD → CDAB checkbox is selected, please select 3x_Double and 4x_Double address types.

PLC Settings

ParameterValue
Communication modeModbus RTU protocol

Device Address

Bit/WordDevice TypeFormatRangeMemo
B0xDDDDD1 ~ 65535Output bit
B0x_multi_coilsDDDDD1 ~ 65535Write multiple coils
B0x_single_bitDDDDD1 ~ 65535*Note4
B1xDDDDD1 ~ 65535Input bit (read only)
B1x_single_bitDDDDD1 ~ 65535*Note4
B3x_BitDDDDDdd100 ~ 6553515Input Register bit (read only)
B4x_BitDDDDDdd100 ~ 6553515Output Register bit
B6x_BitDDDDDdd100 ~ 6553515Output Register bit
B0x_1DDDDD1 ~ 65535
B0x_2DDDDD1 ~ 65535
B0x_3DDDDD1 ~ 65535
B0x_4DDDDD1 ~ 65535
B0x_5DDDDD1 ~ 65535
B0x_6DDDDD1 ~ 65535
B0x_7DDDDD1 ~ 65535
B0x_8DDDDD1 ~ 65535
B0x_9DDDDD1 ~ 65535
B1x_1DDDDD1 ~ 65535
B1x_2DDDDD1 ~ 65535
B1x_3DDDDD1 ~ 65535
B1x_4DDDDD1 ~ 65535
B1x_5DDDDD1 ~ 65535
B1x_6DDDDD1 ~ 65535
B1x_7DDDDD1 ~ 65535
B1x_8DDDDD1 ~ 65535
B1x_9DDDDD1 ~ 65535
W3xDDDDD1 ~ 65535Input Register (read only)
W3x_MAX1WDDDDD1 ~ 65535Display 32 bits *Note1
DW3x_MAX2WDDDDD1 ~ 65535*Note1
W3x_DoubleDDDDD1 ~ 65535*Note2
QW3x_QWordDDDDD1 ~ 6553564-bit
W4xDDDDD1 ~ 65535Output Register
W4x_MAX1WDDDDD1 ~ 65535Display 32 bits *Note1
DW4x_MAX2WDDDDD1 ~ 65535*Note1
W4x_DoubleDDDDD1 ~ 65535*Note2
W4x_32BitDDDDD1 ~ 65535Output Register *Note1
QW4x_QWordDDDDD1 ~ 6553564-bit
W0x_single_coilDDDDD1 ~ 65535*Note3
DW5xDDDDD1 ~ 655354x double word swap
W6xDDDDD1 ~ 655354x single word write
  • Note1: MAX1W and 4x_32Bit reads/writes 1 word for each packet and displays a 32-bit value, whereas MAX2W reads/writes 2 words for each packet.
  • Note2: Go to System Parameter Settings > Device Properties and click Conversion to set the data format of device types 3x, 4x, 6x, 3x_double, 4x_double.
Conversion dialog showing AB to BA and ABCD to DCBA checkboxes for 3x, 4x, 6x, 3x_Double, and 4x_Double device types.
  • Note3: Read/write a bit at a time. Value 0 and 1 are used to represent ON or OFF status where 0 means set OFF and 1 means set ON.
  • Note4: The number of bits to read can be set in Macro; therefore, it is recommended to use 0x address type for functions such as GetData() and SetData(), in order to increase reading speed. To read/write multiple 0x address type in macro, use 0x_multi_coils to increase write speed.
  • Note5: Please assign all the addresses to Even addresses, or all to Odd addresses, in order to prevent communication failure.
  • Note6: EBPro V6.03.02 or later supports 64-bit data type (cMT Series only), but please note that the address limit range is 48 bits maximum.

5x Address Type

NOTE: Address type 5x is mapped to Holding Register. The communication protocol of 5x is almost the same as 4x except that 5x swaps double word.

If 4x contains the following information:

Address123456
Data in word0x10x20x30x40x50x6
Data0x02010x02010x04030x04030x06050x0605

For 5x, it will be:

Address123456
Data in word0x10x20x30x40x50x6
Data0x01020x01020x03040x03040x05060x0506

Modbus RTU Function Codes

Device TypeReadWrite
0x0x01 Read coil0x05 Write single coil
0x_multi_coils0x01 Read coil0x0F Write multiple coils
1x0x02 Read discrete input— (passive)
3x / 3x_Bit0x04 Read input register— (passive)
4x / 4x_Bit0x03 Read holding register0x10 Write multiple registers
5x0x03 Read holding register0x10 Write multiple registers
6x0x03 Read holding register0x06 Write single register
0x_single_coil0x01 Read coil0x05 Write single coil

Wiring Diagrams

NOTE: The serial port pin assignments may vary between HMI models.

Diagram 1: RS-232

HMIDirectionPLC
Pin assignmentsRS232
Rx↔ (bidirectional)TXD
Tx↔ (bidirectional)RXD
GND↔ (bidirectional)GND
↕︎ (tie)RTS
CTS

Diagram 2: RS-485 4W

HMIDirectionPLC
Pin assignmentsRS485 4W
Rx-↔ (bidirectional)Tx-
RX+↔ (bidirectional)Tx+
Tx-↔ (bidirectional)Rx-
Tx+↔ (bidirectional)Rx+
GND↔ (bidirectional)GND

Diagram 3: RS-485 2W

HMIDirectionPLC
Pin assignmentsRS485 2W
Data-↔ (bidirectional)D-
Data+↔ (bidirectional)D+
GND↔ (bidirectional)GND