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 (Zero-based Addressing). Configure your Controller and HMI/cMT with the following parameters to establish reliable communication.

Applies to: EBPro (EasyBuilder Pro), EBPro

Overview

EBPro (EasyBuilder Pro) supports Modbus RTU zero-based addressing. This feature enables address range limits and data conversion for Modbus devices that use zero-based register addressing.

HMI Settings

ParametersRecommendedOptionsNotes
PLC typeMODBUS RTU (Zero-based Addressing)
PLC I/FRS485RS232/RS485/USB
Baud rate96009600~115200
Data bits87, 8
ParityEvenEven, Odd, None
Stop bits11, 2
PLC sta. no.10~255
Online simulatorYes
Broadcast commandYes
Extended address mode Yes
HMI Settings dialog showing the Address Range Limit and Conversion buttons in the Modbus RTU configuration panel.

Address Range Limit

The address range for device types 0x, 1x, and 0x_multi_coils can be configured. This option should be used then 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.

Address Range Limit: 0x-1~6

Address Range Limit dialog for 0x coil registers showing Min value set to 1 and Max value set to 6.

Address Range Limit: 0x_1-9~14

Address Range Limit dialog for 0x1 discrete input registers showing Min value set to 9 and Max value set to 14.

Conversion

The 3x_Double and 4x_Double address types are added. If [ABCD ->CDAB] check box is selected, please select 3x_Double and 4x_Double address types.

PLC Settings:

Communication Mode: Modbus RTU protocol

Bit/WordDevice TypeFormatRangeMemo
B0xDDDDD0~65535Output bit
B0x_multi_coilsDDDDD0~65535Write multiple coils
B0x_single_bitDDDDD0~65535Note 4
B1xDDDDD0~65535Input bit (read only)
B1x_single_bitDDDDD0~65535Note 4
B3x_BitDDDDDdd0~6553515Input Register bit
B4x_BitDDDDDdd0~6553515Output Register bit
B6x_BitDDDDDdd0~6553515Output Register bit
B0x_1DDDDD0~65535
B0x_2DDDDD0~65535
B0x_3DDDDD0~65535
B0x_4DDDDD0~65535
B0x_5DDDDD0~65535
B0x_6DDDDD0~65535
B0x_7DDDDD0~65535
B0x_8DDDDD0~65535
B0x_9DDDDD0~65535
B1x_1DDDDD0~65535
B1x_2DDDDD0~65535
B1x_3DDDDD0~65535
B1x_4DDDDD0~65535
B1x_5DDDDD0~65535
B1x_6DDDDD0~65535
B1x_7DDDDD0~65535
B1x_8DDDDD0~65535
B1x_9DDDDD0~65535
W3x DDDDD0~65535Input Register (read only)
W3x_MAX1WDDDDD0~65535Display 32 bits Note 1
DW3x_MAX2WDDDDD0~65535Note 1
W3x_DoubleDDDDD0~65535Note 2
QW3x_QWordDDDDD0~6553564-bit
W4xDDDDD0~65535Output Register
W4x_MAX1WDDDDD0~65535Display 32 bits
Note 1
DW4x_MAX2WDDDDD0~65535Note 1
W4x_DoubleDDDDD0~65535Note 2
W4x_32BitDDDDD0~65535Output Register Note 1
QW4x_QWordDDDDD0~6553564-bit
W0x_songle_coilDDDDD0~65535Note 3
DW5xDDDDD0~655354x double word swap
W6xDDDDD0~655354x single word write

Note 1: 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.

Note 2: Go the [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 byte and word swap options including AB, BA, ABCD, and DCBA data format selections for Modbus register data conversion.

Note 3: 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.

Note 4: 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.

Note 5: Please assign all the addresses to Even addresses, or all to Odd addresses, in order to prevent communication failure.

Note 6: EBPro V6.03.02 or later supports 64 bits data type (cMT Series only), but please note that the address limit range is 48 bits in maximum

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 Code

Device TypeReadWrite
0x0x01 Read coil0x05 write single coil
0x_multi_coils0x01 Read coil0x0f write multiple coils
1x0x02 Read discrete inputX
3x / 3x_Bit0x04 Read input registerX
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 coil 0x05 write single coil

Wiring Diagram

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