I-7000 and M-7000 DIO User Manual: Warranty
I-7000 and M-7000 DIO User Manual: Warranty
User Manual
Warranty
All products manufactured by ICP DAS are under
warranty regarding defective materials for a period of one
year from the date of delivery to the original purchaser.
Warning
ICP DAS assumes no liability for damages resulting
from the use of this product. ICP DAS reserves the right to
change this manual at any time without notification. The
information furnished by ICP DAS is believed to be accurate
and reliable. However, no responsibility is assumed by ICP
DAS for its use, or for any infringements of patents or other
rights of third parties resulting from its use.
Copyright
Copyright 1999 - 2011 ICP DAS. All rights reserved.
Trademark
The names used for identification only may be registered
trademarks of their respective companies.
Date: 2017/8/7
DC Input Modules
I-7041/41D I-7041P/41PD I-7051/51D I-7052/52D I-7053_FG/53D_FG
Module
M-7041/41D M-7041P/41PD M-7051/51D M-7052/52D M-7053/53D
14 14
Input Channels 16 (Sink/Source) 8 (Sink) 16 (Source)
(Sink/Source) (Sink/Source)
ON Voltage
+4 to +30 V +19 to +30 V +10 to +50 V +4 to +30 V Close to GND
Level
OFF Voltage
+1 V Max. +1 V Max. +4 V Max. +1 V Max. open
Level
Input
3K Ohms 3K Ohms 10K Ohms 3K Ohms 820 Ohms
Impedance
Isolation
3750 Vrms 3750 Vrms 3750 Vrms 5000 Vrms Non-Isolated
Voltage
Power
+10 to +30 VDC
Requirement
Operating
-25 °C to +75 °C -25 °C to +75 °C -25 °C to +75 °C -25 °C to +75 °C -25 °C to +75 °C
Temperature
Storage
-30 °C to +75 °C -30 °C to +75 °C -30 °C to +75 °C -30 °C to +75 °C -30 °C to +75 °C
Temperature
15
Input Channels
(Sink/Source)
Isolated with
Input Type Common Power
or Ground
ON Voltage
+3.5 to +50 V
Level
OFF Voltage
+1 V Max.
Level
Input
10K Ohms
Impedance
Isolation
5000 VDC
Voltage
Power
+10 to +30 VDC
Requirement
0.2 W for
Power M-7046
Consumption 1.0 W for
M-7046D
Operating
-25 °C to +75 °C
Temperature
Storage
-30 °C to +75 °C
Temperature
DC Output Modules
I-7043/43D I-7045/45D I-7045-NPN/45D-NPN
Module I-7042/42D
M-7043/43D M-7045/45D M-7045-NPN/45D-NPN
Output Channels 13 (Sink) 16 (Sink) 16 (Source) 16 (Sink)
Open Collector Open Collector Open Source
Output type Open Collector (NPN)
(NPN) (NPN) (N-MOSFET)
Load Voltage +3.5 to +30 V +10 to +30 V +10 to +40 V +3.5 to +50 V
Max Load
100 mA 100 mA 650 mA 700 mA
Current
Short-Circuit
No No Yes Yes
Protection
Isolation Voltage 3750 Vrms Non-Isolated 3750 Vrms 3750 Vrms
Operating
-25 °C to +75 °C -25 °C to +75 °C -25 °C to +75 °C -25 °C to +75 °C
Temperature
Storage
-30 °C to +75 °C -30 °C to +75 °C -30 °C to +75 °C -30 °C to +75 °C
Temperature
Operating
-25 °C to +75 °C -25 °C to +75 °C -25 °C to +75 °C -25 °C to +75 °C -25 °C to +75 °C
Temperature
Storage
-30 °C to +75 °C -30 °C to +75 °C -30 °C to +75 °C -30 °C to +75 °C -30 °C to +75 °C
Temperature
Operating
-25 °C to +75 °C
Temperature
Storage
-30 °C to +75 °C
Temperature
Input Channels 4 8 4 4
Isolation Isolated with Common Source
Isolation Voltage 3750 Vrms
Digital Level 0 +1 V max +4 V max
Digital Level 1 +4 to 30 V +10 to 50 V
Input Impedance 3K ohm 10K ohm
Modbus RTU M-7060/60D M-7060P
Power
+10 to 30 VDC
Requirement
1.3 W for I-7060/
Power M-7060 1.0 W for I-7063 1.3 W for I-7065
1.4W for M-7060P
Consumption 1.9 W for I-7060D/ 1.5 W for I-7063D 2.2 W for I-7065D
M-7060D
Operating
-25 °C to +75 °C -25 °C to +75 °C -25 °C to +75 °C -25 °C to +75 °C
Temperature
Storage
-30 °C to +75 °C -30 °C to +75 °C -30 °C to +75 °C -30 °C to +75 °C
Temperature
Operating
-25 °C to +75 °C
Temperature
Storage
-30 °C to +75 °C
Temperature
0.25A@250 VAC
Contact Rating
2.0A@30 VDC
Operating
-25 °C to +75 °C
Temperature
Storage
-30 °C to +75 °C
Temperature
Input Channels 8 4 8 4
Isolation Isolated with Common Source
Isolation Voltage 3750 Vrms
Digital Level 0 +1 V max
Digital Level 1 +4 to +30 V
Input Impedance 3K ohms
Power Requirement +10 to +30 VDC
Power 0.7 W for I-7063A 0.8 W for I-7065A 0.6 W forI-7063B 0.7 W for I-7065B
Consumption 1.5 W for I-7063AD 1.6 W for I-7065AD 1.4 W for I-7063BD 1.5 W for I-7065BD
Operating Temperature -25 °C to +75 °C -25 °C to +75 °C -25 °C to +75 °C -25 °C to +75 °C
Storage Temperature -30 °C to +75 °C -30 °C to +75 °C -30 °C to +75 °C -30 °C to +75 °C
lnit
Normal
Top View
Unit : mm
Front View
TTL/CMOS
TTL/CMOS
Input
Wiring
Open Collector
Output
Wiring
TTL/CMOS
Input
Type
Open Collector
Open Collector
Output
Type
Digital Output
Input
Type Wet Contact
TTL/CMOS
Input
Type
TTL/CMOS
Input
Type
Open Collector
Input
Wiring Wet Contact
Digital Output
Output
Wiring
Input
Type Wet Contact
Drive
Relay
Resistance
Load
TTL/CMOS
Input
Wiring
Output
Relay Output in RL3 and RL4
Wiring
Relay ON Relay OFF
TTL/CMOS
Input
Wiring
Relay Output
Output Relay ON Relay OFF
Wiring
Code 03 04 05 06 07 08 09 0A
Baud rate 1200 2400 4800 9600 19200 38400 57600 115200
Note: The data bits are fixed at one start bit, eight data bits, no parity and one
stop bit for both the I-7000 and M-7000 series.
For I-7000 and M-7000 DIO modules, the type code is fixed
to 40.
7 6 5 4 3 2 1 0
CU CS reserved CD
Key Description
CD Code
I-7050: 0 (read only)
I-7052: 2 (read only)
I-7053: 3 (read only)
I-7060: 1 (read only)
For other modules, the code value can be
changed by %AANNTTCCFF command and
the default code value is 0.
CS Checksum setting
0: Disabled
1: Enabled
CU Counter update
0: The counter is updated when there is a falling
edge in the input signal.
1: The counter is updated when there is a rising
edge in the input signal.
When the module is powered on, with the rear slide switch set
to the INIT position as shown in the figure below for modules
with frame ground, or with the INIT* pin connected to the
GND pin for modules without frame ground, the module is in
INIT mode, (see Section A.1 for details), and the
communication settings are as follows:
1. Address: 00
2. Baud Rate: 9600 bps
3. No checksum
4. Protocol: DCON
There are three new DIN rail models available. Each is made
of stainless steel, which is stronger than those made of
aluminum. There is a screw at one end and a ring terminal is
included so that it can be easily connected to the earth ground.
The three new DIN rail models are as follows.
Email: service@icpdas.com
Website:
http://www.icpdas.com.tw/contact_us/contact_us.html
Command Format:
Leading Module
Command [CHKSUM] CR
Character Address
Response Format:
Leading Module
Data [CHKSUM] CR
Character Address
Example:
Command string: $012(CR)
1. Sum of the string = “$”+”0”+”1”+”2” =
24h+30h+31h+32h = B7h
2. Therefore the checksum is B7h, and so
CHKSUM = “B7”
3. The command string with the checksum = $012B7(CR)
Note:
All characters should be in upper case.
Syntax:
%AANNTTCCFF[CHKSUM](CR)
% Delimiter character
AA Address of the module to be configured in
hexadecimal format (00 to FF)
NN New address of the module in hexadecimal format (00
to FF)
TT Type code, should be 40 for DIO module.
CC New Baud Rate code, see Section 1.10 for details.
The INIT* pin must be connected to ground in order
to change Baud Rates. For the module with frame
ground, this is achieved by moving the rear slide
switch to the INIT position. See Section A.1 for
details.
FF Used to set the counter update direction and checksum
(Section 1.10). The INIT* pin must be connected to
ground in order to change the checksum setting. For
the module with frame ground, this is achieved by
moving the rear slide switch to the INIT position. See
Section A.1 for details.
Examples:
Command: %0102400600 Response: !02
Changes the address of module 01 to 02. The module
returns a valid response.
Command: %0101200A00 Response: ?01
Changes the Baud Rate of module 01 to 115200bps. The
module returns an invalid command, because it is not in
INIT* mode.
Command: %0101200A00 Response: !01
Changes the Baud Rate of module 01 to 115200bps and
the module is in INIT* mode. The module returns a
valid response.
Related Topics:
Section 1.10 Configuration Tables, Section A.1 INIT* pin
Operation
Notes:
Changes to the address and counter update direction settings
take effect immediately after a valid command is received.
Changes to the Baud Rate and checksum settings take effect
on the next power-on reset.
Syntax:
#**[CHKSUM](CR)
# Delimiter character
** Synchronized sampling command
Response:
There is no response with this command. To access the data,
another command, $AA4, must be sent, see Section 2.11 for
details.
Examples:
Command: #** No response
Sends the synchronized sampling command.
Command: $014 Response: !10F0000
Sends a command to read the synchronized data. The
status byte of the response is 1, which means that it is
the first time the synchronized data has been read after
the previous #** command.
Command: $014 Response: !00F0000
Sends a command to read the synchronized data. The
status byte of the response is 0, which means that it is
NOT the first time the synchronized data has been
read after the previous #** command.
Related Commands:
Section 2.11 $AA4
Syntax:
#AA00(Data)[CHKSUM](CR)
# Delimiter character
AA Address of the module to be set (00 to FF)
00 Command to set the digital output value of the
lower eight channels
(Data) A two-digit hexadecimal value, where bit 0
corresponds to DO0, bit 1 corresponds to DO1, etc.
When the bit is 1, it denotes that the digital output
channel is on, and 0 denotes that the digital output
channel is off.
Response:
Valid command: >[CHKSUM](CR)
Invalid command: ?[CHKSUM](CR)
Ignored command: 
> Delimiter character for a valid command
? Delimiter character for an invalid command
! Delimiter character for an ignored command. A host
watchdog timeout has occurred, the digital output
channel s are set to safe value, and the digital output
value that was sent is ignored.
Related Commands:
Section 2.4 #AA0A(data), Section 2.5 #AA0B(data), Section
2.6 #AA1cDD, Section 2.7 #AAAcDD, Section 2.8
#AABcDD, Section 2.13 $AA6, Section 2.21 @AA
Related Topics:
Section 1.11 DIO Active States
Notes:
1. This command is only applicable to the modules with
digital output channels.
2. This command is the same as the #AA0A(Data) command.
Syntax:
#AA0A(Data)[CHKSUM](CR)
# Delimiter character
AA Address of the module to be set (00 to FF)
0A Command to set the digital output value of the
lower eight channels
(Data) A two-digit hexadecimal value, where bit 0
corresponds to DO0, bit 1 corresponds to DO1, etc.
When the bit is 1, it denotes that the digital output
channel is on, and 0 denotes that the digital output
channel is off.
Response:
Valid command: >[CHKSUM](CR)
Invalid command: ?[CHKSUM](CR)
Ignored command: 
> Delimiter character for a valid command
? Delimiter character for an invalid command
! Delimiter character for an ignored command. A host
watchdog timeout has occurred, the digital output
channel s are set to safe value, and the digital output
value that was sent is ignored.
Related Commands:
Section 2.3 #AA00(data), Section 2.5 #AA0B(data), Section
2.6 #AA1cDD, Section 2.7 #AAAcDD, Section 2.8
#AABcDD, Section 2.13 $AA6, Section 2.21 @AA
Related Topics:
Section 1.11 DIO Active States
Notes:
1. This command is only applicable to the modules with
digital output channels.
2. This command is the same as the #AA00(Data) command.
Syntax:
#AA0B(Data)[CHKSUM](CR)
# Delimiter character
AA Address of the module to be set (00 to FF)
0B Command to set the digital output value of the
upper eight channels
(Data) A two-digit hexadecimal value, where bit 0
corresponds to DO8, bit 1 corresponds to DO9, etc.
When the bit is 1, it denotes that the digital output
channel is on, and 0 denotes that the digital output
channel is off.
Response:
Valid command: >[CHKSUM](CR)
Invalid command: ?[CHKSUM](CR)
Ignored command: 
> Delimiter character for a valid command
? Delimiter character for an invalid command
! Delimiter character for an ignored command. A host
watchdog timeout has occurred, the digital output
ports are set to safe value, and the digital output
value that was sent is ignored.
Related Commands:
Section 2.3 #AA00(data), Section 2.4 #AA0A(data), Section
2.6 #AA1cDD, Section 2.7 #AAAcDD, Section 2.8
#AABcDD, Section 2.13 $AA6, Section 2.21 @AA
Related Topics:
Section 1.11 DIO Active States
Notes:
This command is only applicable to the modules with the
number of digital output channels larger than eight.
Syntax:
#AA1cDD[CHKSUM](CR)
# Delimiter character
AA Address of the module to be set (00 to FF)
1 Command to set a single digital output channel of the
lower eight channels
c Specifies the digital output channel to be set (0 to 7).
DD 00: set the digital output channel to off.
01: set the digital output channel to on.
Response:
Valid command: >[CHKSUM](CR)
Invalid command: ?[CHKSUM](CR)
Ignored command: 
> Delimiter character for a valid command
? Delimiter character for an invalid command
! Delimiter character for an ignored command. A host
watchdog timeout has occurred, the digital output
ports are set to safe value, and the digital output
value that was sent is ignored.
100 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Examples:
Command: #011201 Response: >
Sets DO2 to on, and the module returns a valid response.
Related Commands:
Section 2.3 #AA00(data), Section 2.4 #AA0A(data), Section
2.5 #AA0B(data), Section 2.7 #AAAcDD, Section 2.8
#AABcDD, Section 2.13 $AA6, Section 2.21 @AA
Related Topics:
Section 1.11 DIO Active States
Notes:
1. This command is only applicable to the modules with
digital output channels.
2. This command is the same as the #AAAcDD command.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 101
2.7 #AAAcDD
Description:
Sets a single digital output channel of the lower eight
channels.
Syntax:
#AAAcDD[CHKSUM](CR)
# Delimiter character
AA Address of the module to be set (00 to FF)
A Command to set a single digital output channel of the
lower eight channels
c Specifies the digital output channel to be set (0 to 7).
DD 00: set the digital output channel to off.
01: set the digital output channel to on.
Response:
Valid command: >[CHKSUM](CR)
Invalid command: ?[CHKSUM](CR)
Ignored command: 
> Delimiter character for a valid command
? Delimiter character for an invalid command
! Delimiter character for an ignored command. A host
watchdog timeout has occurred, the digital output
ports are set to safe value, and the digital output
value that was sent is ignored.
102 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Examples:
Command: #01A201 Response: >
Sets DO2 to on, and the module returns a valid response.
Related Commands:
Section 2.3 #AA00(data), Section 2.4 #AA0A(data), Section
2.5 #AA0B(data), Section 2.6 #AA1cDD, Section 2.8
#AABcDD, Section 2.13 $AA6, Section 2.21 @AA
Related Topics:
Section 1.11 DIO Active States
Notes:
1. This command is only applicable to the modules with
digital output channels.
2. This command is the same as the #AA1cDD command.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 103
2.8 #AABcDD
Description:
Sets a single digital output channel of the upper eight
channels.
Syntax:
#AABcDD[CHKSUM](CR)
# Delimiter character
AA Address of the module to be set (00 to FF)
B Command to set a single digital output channel of the
upper eight channels
c Specifies the digital output channel to be set (0 to 7),
where 0 stands for channel 8, 1 stands for channel 9,
etc.
DD 00: set the digital output channel to off.
01: set the digital output channel to on.
Response:
Valid command: >[CHKSUM](CR)
Invalid command: ?[CHKSUM](CR)
Ignored command: 
> Delimiter character for a valid command
? Delimiter character for an invalid command
! Delimiter character for an ignored command. A host
watchdog timeout has occurred, the digital output
ports are set to safe value, and the digital output
value that was sent is ignored.
104 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
There will be no response if the command syntax is incorrect,
there is a communication error, or there is no module with the
specified address.
Examples:
Command: #01B201 Response: >
Sets DO10 to on, and the module returns a valid
response.
Related Commands:
Section 2.3 #AA00(data), Section 2.4 #AA0A(data), Section
2.5 #AA0B(data), Section 2.6 #AA1cDD, Section 2.7
#AAAcDD, Section 2.13 $AA6, Section 2.21 @AA
Related Topics:
Section 1.11 DIO Active States
Notes:
This command is only applicable to the modules with the
number of digital output channels larger than eight.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 105
2.9 #AAN
Description:
Reads the digital input counter of channel N.
Syntax:
#AAN[CHKSUM](CR)
# Delimiter character
AA Address of the module to be read (00 to FF)
N The channel to be read (0 to F).
Response:
Valid Command: !AA(Data)[CHKSUM](CR)
Invalid Command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command. An
invalid command is returned if the specified
channel is incorrect.
(Data) Five decimal digits representing the digital input
counter data of the specified channel (00000 to
65535).
AA Address of the responding module (00 to FF)
106 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Examples:
Command: #032 Response: !0300103
Reads data from channel 2 of module 03 and the returned
counter value is 103.
Command: #029 Response: ?02
Reads data from channel 9 of module 02. An error is
returned because channel 9 is invalid.
Related Commands:
Section 2.15 $AACN
Notes:
This command is only applicable to the module with digital
inputs.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 107
2.10 $AA2
Description:
Reads the module configuration.
Syntax:
$AA2[CHKSUM](CR)
$ Delimiter character
AA Address of the module to be read (00 to FF)
2 Command to read the module configuration
Response:
Valid Command: !AATTCCFF[CHKSUM](CR)
Invalid Command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
TT Type code of the module, should be 40 for DIO
module.
CC Baud Rate code of the module, see Section 1.10 for
details.
FF Checksum and counter update direction settings of
the module, see Section 1.10 for details.
108 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Examples:
Command: $012 Response: !01400600
Reads the configuration of module 01.
Related Commands:
Section 2.1 %AANNTTCCFF
Related Topics:
Section 1.10 Configuration Tables
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 109
2.11 $AA4
Description:
Reads the synchronized data that was retrieved by the last #**
command.
Syntax:
$AA4[CHKSUM](CR)
$ Delimiter character
AA Address of the module to be read (00 to FF)
4 Command to read the synchronized data
Response:
Valid Command: !S(Data)[CHKSUM](CR)
Invalid Command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
S Status of the synchronized data
1: first read
0: not the first read
(Data) Synchronized data. See Section 1.10 for the data
format.
110 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Examples:
Command: $014 Response: ?01
Reads the synchronized data for module 01. An
invalid command is returned because the #**
command has not been issued in advance.
Command: #** No response
Sends the synchronized sampling command.
Command: $014 Response: !1000F00
Reads the synchronized data for module 01. The
module returns the synchronized data and sets the
status byte to 1 to indicate that this is the first time the
synchronized data has been read.
Command: $014 Response: !0000F00
Reads the synchronized data for module 01. The
module returns the synchronized data and sets the
status byte to 0 to indicate that the synchronized data
has been read.
Related Commands:
Section 2.2 #**
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 111
2.12 $AA5
Description:
Reads the reset status of a module.
Syntax:
$AA5[CHKSUM](CR)
$ Delimiter character
AA Address of the module to be read (00 to FF)
5 Command to read the module reset status
Response:
Valid Command: !AAS[CHKSUM](CR)
Invalid Command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
S Reset status of the module
1: This is the first time the command has been sent
since the module was powered on.
0: This is not the first time the command has been
sent since the module was powered on, which
denotes that there has been no module reset since
the last $AA5 command was sent.
112 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Examples:
Command: $015 Response: !011
Reads the reset status of module 01. The response
shows that it is the first time the $AA5 command has
been sent since the module was powered-on.
Command: $015 Response: !010
Reads the reset status of module 01. The response
shows that there has been no module reset since the
last $AA5 command was sent.
Related Topics:
Section A.4 Reset Status
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 113
2.13 $AA6
Description:
Reads the status of the digital input/output channels.
Syntax:
$AA6[CHKSUM](CR)
$ Delimiter character
AA Address of the module to be read (00 to FF)
6 Command to read the digital input/output channels
Response:
Valid command: !(Data)[CHKSUM](CR)
Invalid command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
(Data) Status of the digital input/output channels, a four-
digit hexadecimal value followed by 00. See
Section 1.10 for details.
114 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Examples:
Command: $016 Response: !0F0000
Reads the digital input/output channel status of module
01 (I-7060) and returns 0F0000h, which denotes that
RL1, RL2, RL3 and RL4 are on and IN1, IN2, IN3 and
IN4 are off.
Related Commands:
Section 2.21 @AA
Related Topics:
Section 1.10 Configuration Tables
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 115
2.14 $AAC
Description:
Clears the status of the latched digital input and output
channels.
Syntax:
$AAC[CHKSUM](CR)
$ Delimiter character
AA Address of the module to be cleared (00 to FF)
C Command to clear the status of the latched digital
input channels
Response:
Valid command: !AA[CHKSUM](CR)
Invalid command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
116 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Examples:
Command: $01L0 Response: !FFFF00
Sends the command to read the status of the low latched
digital input channels of module 01 and returns FFFF.
Command: $01C Response: !01
Sends the command to clear the status of the latched
digital input channels of module 01 and returns a valid
response.
Command: $01L0 Response: !000000
Sends the command to read the status of the low latched
digital input channels of module 01 and returns 0000.
Related Commands:
Section 2.17 $AALS
Notes:
1. This command is only applicable to the modules with
digital input channels.
2. Both the status of the low and high latched digital input
channels are cleared.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 117
2.15 $AACN
Description:
Clears the digital input counter of channel N.
Syntax:
$AACN[CHKSUM](CR)
$ Delimiter character
AA Address of the module to be cleared (00 to FF)
C Command to clear the digital input counter
N The channel to be cleared (0 to F).
Response:
Valid Command: !AA[CHKSUM](CR)
Invalid Command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command. An
invalid command is returned if the specified
channel is incorrect.
AA Address of the responding module (00 to FF)
118 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Examples:
Command: #032 Response: !0300103
Reads counter data from channel 2 of module 03 and the
returned counter value is 103.
Command: $03C2 Response: !03
Clears the counter value of channel 2 of module 03 and
returns a valid response.
Command: #032 Response: !0300000
Reads counter data from channel 2 of module 03 and the
returned counter value is 3.
Related Commands:
Section 2.9 #AAN
Notes:
This command is only applicable to the module with digital
inputs.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 119
2.16 $AAF
Description:
Reads the firmware version of a module.
Syntax:
$AAF[CHKSUM](CR)
$ Delimiter character
AA Address of the module to be read (00 to FF)
F Command to read the firmware version
Response:
Valid command: !AA(Data)[CHKSUM](CR)
Invalid command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
(Data) Firmware version string of the module
Examples:
Command: $01F Response: !01A2.0
Reads the firmware version of module 01, and shows
that it is version A2.0.
Command: $02F Response: !02B1.1
Reads the firmware version of module 02, and shows
that it is version B1.1.
120 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
2.17 $AALS
Description:
Reads the status of the latched digital input and output
channels.
Syntax:
$AALS[CHKSUM](CR)
$ Delimiter character
AA Address of the module to be read (00 to FF)
L Command to read the latched status
S 0: read the low latched status
1: read the high latched status
Response:
Valid command: !(Data)[CHKSUM](CR)
Invalid command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
(Data) Status of the latched digital input channels, a four-
digit hexadecimal value followed by 00. See
Section 1.10 for details.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 121
Examples:
Command: $01L0 Response: !FFFF00
Sends the command to read the status of the low latched
digital input channels of module 01 and returns FFFF.
Command: $01C Response: !01
Sends the command to clear the status of the latched
digital input channels of module 01 and returns a valid
response.
Command: $01L0 Response: !000000
Sends the command to read the status of the low latched
digital input channels of module 01 and returns 0000.
Related Commands:
Section 2.14 $AAC
Related Topics:
Section 1.10 Configuration Tables
Notes:
This command is only applicable to the modules with digital
input channels.
122 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
2.18 $AAM
Description:
Reads the name of a module.
Syntax:
$AAM[CHKSUM](CR)
$ Delimiter character
AA Address of the module to be read (00 to FF)
M Command to read the module name
Response:
Valid command: !AA(Data)[CHKSUM](CR)
Invalid command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
(Name) Name string of the module
Examples:
Command: $01M Response: !017042
Reads the module name of module 01 and returns the
name “7042”.
Related Commands:
Section 2.23 ~AAO(Name)
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 123
2.19 $AAP
Description:
Reads the communication protocol information.
Syntax:
$AAP[CHKSUM](CR)
$ Delimiter character
AA Address of the module to be read (00 to FF)
P Command to read the communication protocol
Response:
Valid Response: !AASC[CHKSUM](CR)
Invalid Response: ?AA[CHKSUM](CR)
! Delimiter character for a valid response
? Delimiter character for an invalid response
AA Address of the responding module (00 to FF)
S The protocols supported by the module
0: only DCON protocol is supported
1: both the DCON and Modbus RTU protocols are
supported
C The current protocol that is saved in the EEPROM
that will be used at the next power-on reset
0: the protocol set in the EEPROM is DCON
1: the protocol set in the EEPROM is Modbus RTU
124 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Examples:
Command: $01P Response: !0110
Reads the communication protocol of module 01 and
returns a response of 10 meaning that it supports both
the DCON and Modbus RTU protocols and the
protocol that will be used at the next power-on reset is
DCON.
Related Commands:
Section 2.20 $AAPN
Supported modules
M-7060/M-7060D/M-7067/M-7067D/M-7050/M-7050D/M-
7051/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-
7055/M-7055D/M-7041/M-7041D/M-7045/M7045D
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 125
2.20 $AAPN
Description:
Sets the communication protocol.
Syntax:
$AAPN[CHKSUM](CR)
$ Delimiter character
AA Address of the module to be read (00 to FF)
P Command to set the communication protocol
N 0: DCON protocol
1: Modbus RTU protocols
Before using this command, the rear slide switch
must be in the INIT position. The new protocol is
saved in the EEPROM and will be effective after
the next power-on reset.
Response:
Valid Response: !AASC[CHKSUM](CR)
Invalid Response: ?AA[CHKSUM](CR)
! Delimiter character for a valid response
? Delimiter character for an invalid response
AA Address of the responding module (00 to FF)
126 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Examples:
Command: $01P1 Response: ?01
Sets the communication protocol of module 01 to
Modbus RTU and returns an invalid response because
the module is not in INIT mode.
Command: $01P1 Response: !01
Sets the communication protocol of module 01 to
Modbus RTU and returns a valid response.
Related Commands:
Section 2.19 $AAP
Supported modules
M-7060/M-7060D/M-7067/M-7067D/M-7050/M-7050D/M-
7051/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-
7055/M-7055D/M-7041/M-7041D/M-7045/M7045D
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 127
2.21 @AA
Description:
Reads the status of the digital input/output ports.
Syntax:
@AA[CHKSUM](CR)
@ Delimiter character
AA Address of the module to be read (00 to FF)
Response:
Valid command: >(Data)[CHKSUM](CR)
Invalid command: ?AA[CHKSUM](CR)
> Delimiter character for a valid command
? Delimiter character for an invalid command or
invalid type code
AA Address of the responding module (00 to FF)
(Data) Status of the digital input/output ports, a four-digit
hexadecimal value. See Section 1.10 for details.
128 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Examples:
Command: @01 Response: >0F00
Reads the digital input/output port status of module 01
(I-7060) and returns 0F00h, which denotes that RL1,
RL2, RL3 and RL4 are on and IN1, IN2, IN3 and IN4
are off.
Related Commands:
Section 2.13 $AA6
Related Topics:
Section 1.10 Configuration Tables
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 129
2.22 @AA(Data)
Description:
Sets the digital output channels.
Syntax:
@AA(Data)[CHKSUM](CR)
@ Delimiter character
AA Address of the module to be set (00 to FF)
(Data) Data to be written to the digital output channels.
For the I-7060 and I-7063 series, it is a one-digit
hexadecimal value. For the I-7044, I-7050, I-7055,
I-7065, I-7066 and I-7067 series, it is a two-digit
hexadecimal value. For the I-7042, I-7043 and I-
7045 series, it is a four-digit hexadecimal value. Bit
0 of the value corresponds to DO0 and bit 1 of the
value corresponds to DO1, etc. When the bit is 1, it
denotes that the digital output channel is on, and 0
denotes that the digital output channel is off.
Response:
Valid command: >[CHKSUM](CR)
Invalid command: ?[CHKSUM](CR)
Ignored command: 
> Delimiter character for a valid command
? Delimiter character for an invalid command
! Delimiter character for an ignored command. A host
watchdog timeout has occurred, the digital output
ports are set to safe value, and the digital output
value that was sent is ignored.
130 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
There will be no response if the command syntax is incorrect,
there is a communication error, or there is no module with the
specified address.
Examples:
Command: @017 Response: >
For the I-7060 module, sets DO0 to on, DO1 to on, DO2
to on, and DO3 to off, and the module returns a valid
response.
Command: @0207 Response: >
For the I-7050 module, sets DO0 to on, DO1 to on, DO2
to on, and other channels to off, and the module returns a
valid response.
Command: @030001 Response: >
For the I-7045 module, sets DO0 to on and other
channels to off, and the module returns a valid response.
Related Commands:
Section 2.21 @AA
Related Topics:
Section 1.11 DIO Active States
Notes:
This command is only applicable to the modules with digital
output channels.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 131
2.23 ~AAO(Name)
Description:
Sets the name of a module.
Syntax:
~AAO(Name)[CHKSUM](CR)
~ Delimiter character
AA Address of the module to be set (00 to FF)
O Command to set the module name
(Name) New name of the module (max. 6 characters).
Response:
Valid command: !AA[CHKSUM](CR)
Invalid command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
132 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Examples:
Command: ~01O7050N Response: !01
Sets the name of module 01 to be “7050N” and returns a
valid response.
Command: $01M Response: !017050N
Reads the name of module 01 and returns the name
“7050N”.
Related Commands:
Section 2.18 $AAM
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 133
2.24 ~**
Description:
Informs all modules that the host is OK.
Syntax:
~**[CHKSUM](CR)
~ Delimiter character
** Host OK command
Response:
No response.
Examples:
Command: ~** No response
Sends a “Host OK” command to all modules.
Related Commands:
Section 2.25 ~AA0, Section 2.26 ~AA1, Section 2.27 ~AA2,
Section 2.28 ~AA3EVV, Section 2.29 ~AA4V, Section 2.30
~AA5V
Related Topics:
Section A.2 Dual Watchdog Operation
134 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
2.25 ~AA0
Description:
Reads the host watchdog status of a module.
Syntax:
~AA0[CHKSUM](CR)
~ Delimiter character
AA Address of the module to be read (00 to FF)
0 Command to read the module status
Response:
Valid command: !AASS[CHKSUM](CR)
Invalid command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
SS Two hexadecimal digits that represent the host
watchdog status, where:
Bit 7: 0 indicates that the host watchdog is disabled,
and 1 indicates that the host watchdog is enabled,
Bit 2: 1 indicates that a host watchdog timeout has
occurred, and 0 indicates that no host watchdog
timeout has occurred.
The host watchdog status is stored in EEPROM and
can only be reset by using the ~AA1 command.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 135
There will be no response if the command syntax is incorrect,
there is a communication error, or there is no module with the
specified address.
Examples:
Command: ~010 Response: !0100
Reads the host watchdog status of module 01 and returns
00, meaning that the host watchdog is disabled and no
host watchdog timeout has occurred.
Command: ~020 Response: !0204
Reads the host watchdog status of module 02 and returns
04, meaning that a host watchdog timeout has occurred.
Related Commands:
Section 2.24 ~**, Section 2.26 ~AA1, Section 2.27 ~AA2,
Section 2.28 ~AA3EVV, Section 2.29 ~AA4V, Section 2.30
~AA5V
Related Topics:
Section A.2 Dual Watchdog Operation
136 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
2.26 ~AA1
Description:
Resets the host watchdog timeout status of a module.
Syntax:
~AA1[CHKSUM](CR)
~ Delimiter character
AA Address of the module to be reset (00 to FF)
1 Command to reset the host watchdog timeout status
Response:
Valid command: !AA[CHKSUM](CR)
Invalid command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 137
Examples:
Command: ~010 Response: !0104
Reads the host watchdog status of module 01 and shows
that a host watchdog timeout has occurred.
Command: ~011 Response: !01
Resets the host watchdog timeout status of module 01
and returns a valid response.
Command: ~010 Response: !0100
Reads the host watchdog status of module 01 and shows
that no host watchdog timeout has occurred.
Related Commands:
Section 2.24 ~**, Section 2.25 ~AA0, Section 2.27 ~AA2,
Section 2.28 ~AA3EVV, Section 2.29 ~AA4V, Section 2.30
~AA5V
Related Topics:
Section A.2 Dual Watchdog Operation
138 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
2.27 ~AA2
Description:
Reads the host watchdog timeout value of a module.
Syntax:
~AA2[CHKSUM](CR)
~ Delimiter character
AA Address of the module to be read (00 to FF)
2 Command to read the host watchdog timeout value
Response:
Valid command : !AAEVV[CHKSUM](CR)
Invalid command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
E 1: the host watchdog is enabled
0: the host watchdog is disabled
VV Two hexadecimal digits to represent the timeout
value in tenths of a second, for example, 01 denotes
0.1 seconds and FF denotes 25.5 seconds.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 139
Examples:
Command: ~012 Response: !011FF
Reads the host watchdog timeout value of module 01
and returns FF, which denotes that the host watchdog
is enabled and the host watchdog timeout value is 25.5
seconds.
Related Commands:
Section 2.24 ~**, Section 2.25 ~AA0, Section 2.26 ~AA1,
Section 2.28 ~AA3EVV, Section 2.29 ~AA4V, Section 2.30
~AA5V
Related Topics:
Section A.2 Dual Watchdog Operation
140 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
2.28 ~AA3EVV
Description:
Enables/disables the host watchdog and sets the host
watchdog timeout value of a module.
Syntax:
~AA3EVV[CHKSUM](CR)
~ Delimiter character
AA Address of the module to be set (00 to FF)
3 Command to set the host watchdog
E 1: enable the host watchdog
0: disable the host watchdog
VV Two hexadecimal digits to represent the timeout
value in tenths of a second, for example, 01 denotes
0.1 seconds and FF denotes 25.5 seconds.
Response:
Valid command: !AA[CHKSUM](CR)
Invalid command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 141
Examples:
Command: ~013164 Response: !01
Enables the host watchdog of module 01 and sets the
host watchdog timeout value to 10.0 seconds. The
module returns a valid response.
Command: ~012 Response: !01164
Reads the host watchdog timeout value of module 01.
The module returns 164, which denotes that the host
watchdog is enabled and the host watchdog timeout
value is 10.0 seconds.
Related Commands:
Section 2.24 ~**, Section 2.25 ~AA0, Section 2.26 ~AA1,
Section 2.27 ~AA2, Section 2.29 ~AA4V, Section 2.30
~AA5V
Related Topics:
Section A.2 Dual Watchdog Operation
Notes:
When a host watchdog timeout occurs, the host watchdog is
disabled. The ~AA3EVV command should be sent again to
reenable the host watchdog.
142 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
2.29 ~AA4V
Description:
Reads the power-on DO value or the safe DO value of a
module.
Syntax:
~AA4V[CHKSUM](CR)
~ Delimiter character
AA Address of the module to be read (00 to FF)
4 Command to read the power-on DO value or the
safe DO value
V P: Reads the power-on DO value
S: Reads the safe DO value
Response:
Valid command : !AA(Data)[CHKSUM](CR)
Invalid command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
(Data) Power-on DO value or safe DO value.
For the I-7042/42D/43/43D/45/45D modules, they
are four hexadecimal digits. For other modules,
they are two hexadecimal digits followed by 00.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 143
Examples:
Command: ~014S Response: !010000
Reads the safe DO value of module 01 and returns
0000.
Command: ~014P Response: !01FF00
Reads the power-on DO value of module 01 and
returns FF00.
Related Commands:
Section 2.30 ~AA5V
Related Topics:
Section 1.11 DIO Active States, Section A.2 Dual Watchdog
Operation
Notes:
This command is only applicable to the modules with digital
output channels.
144 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
2.30 ~AA5V
Description:
Sets the current DO value as the power-on DO value or the
safe DO value.
Syntax:
~AA5V[CHKSUM](CR)
~ Delimiter character
AA Address of the module to be set (00 to FF)
5 Command to set the power-on value or the safe DO
value
V P: Sets the power-on DO value
S: Sets the safe DO value
Response:
Valid command: !AA[CHKSUM](CR)
Invalid command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 145
Examples:
Command: @01AA Response: >
Sets the DO value of module 01 to AA and the module
returns a valid response.
Command: ~015P Response: !01
Sets the power-on DO value and the module returns a
valid response.
Command: @0155 Response: >
Sets the DO value of module 01 to 55 and the module
returns a valid response.
Command: ~015S Response: !01
Sets the safe DO value and the module returns a valid
response.
Command: ~014P Response: !01AA00
Reads the power-on DO value of module 01. The
module returns AA00, which denotes that the power-
on DO value is AA.
Command: ~014S Response: !015500
Reads the safe DO value of module 01. The module
returns 5500, which denotes that the safe DO value is
55.
Related Commands:
Section 2.29 ~AA4V
Related Topics:
Section A.2 Dual Watchdog Operation
Notes:
This command is only applicable to the modules with the
digital output channels.
146 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
2.31 ~AAD
Description:
Reads the miscellaneous settings of a module.
Syntax:
~AAD[CHKSUM](CR)
~ Delimiter character
AA Address of the module to be read (00 to FF)
D Command to read the miscellaneous settings
Response:
Valid Command: !AAT[CHKSUM](CR)
Invalid Command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
VV Two hexadecimal digits that represent the
miscellaneous settings as follows:
7 6 5 4 3 2 1 0
Reserved OA IA
Key Description
OA DO active state
0: output value 1 for relay active
output value 0 for relay inactive
1: output value 0 for relay active
output value 1 for relay inactive
IA DI active state
0: input value 1 for non-signal or the low voltage;
input value 0 for high voltage
1: input value 0 for non-signal or the low voltage;
input value 1 for high voltage
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 147
There will be no response if the command syntax is incorrect,
there is a communication error, or there is no module with the
specified address.
Examples:
Command: ~01D Response: !0101
Reads the miscellaneous settings of module 01 and
returns 01.
Related Commands:
Section 2.32 ~AADVV
Notes:
This command is only applicable to the M-7000 DIO modules.
148 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
2.32 ~AADVV
Description:
Sets the miscellaneous settings of a module.
Syntax:
~AADVV[CHKSUM](CR)
~ Delimiter character
AA Address of the module to be set (00 to FF)
D Command to set the miscellaneous settings
VV Two hexadecimal digits that represent the
miscellaneous settings as follows:
7 6 5 4 3 2 1 0
Reserved OA IA
Key Description
OA DO active state
0: output value 1 for relay active
output value 0 for relay inactive
1: output value 0 for relay active
output value 1 for relay inactive
IA DI active state
0: input value 1 for non-signal or the low voltage;
input value 0 for high voltage
1: input value 0 for non-signal or the low voltage;
input value 1 for high voltage
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 149
Response:
Valid Command: !AA[CHKSUM](CR)
Invalid Command: ?AA[CHKSUM](CR)
! Delimiter character for a valid command
? Delimiter character for an invalid command
AA Address of the responding module (00 to FF)
Examples:
Command: ~01D01 Response: !01
Sets the miscellaneous settings of module 01 to 01,
and returns a valid response.
Related Commands:
Section 2.31 ~AAD
Notes:
This command is only applicable to the M-7000 DIO modules.
150 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
3. Modbus RTU Protocol
The Modbus protocol is developed by Modicon Inc., originally
developed for Modicon controllers. Detailed information can be
found at http://www.modicon.com/techpubs/toc7.html. You can also
visit http://www.modbus.org to find more valuable information.
Error Response
00 Address 1 Byte 1 to 247
01 Function code 1 Byte Function code + 0x80
02 Exception code 1 Byte 01
If a CRC mismatch occurs, the module will not respond.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 151
3.1 01 (0x01) Read Coils
This function code is used to read the current digital output readback value of
the M-7000 DIO module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x01
02 ~ 03 Starting channel 2 Bytes 0x0000~0x001F for DO readback
numbers value
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x01
02 Byte count 1 Byte 1
03 Output channel 1 Byte Refer to the Supported Modules
readback value section for the details of the value
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x81
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
152 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Supported Modules
M-7060/M-7060D:
0x0000~0x 0003 for DO readback value
0x0020~0x0023 for DI value
Valid starting 0x0040~0x0043 for DI Latch high value
channel 0x0044~0x0047 for DO Latch high value
0x0060~0x0063 for DI Latch low value
0x0064~0x0067 for DO Latch low value
M-7061/M-7061D:
0x0000~0x 000B for DO readback value
Valid starting
0x0040~0x004B for DO Latch high value
channel
0x0060~0x006B for DO Latch low value
M-7064/M-7064D:
0x0000~0x 0007 for DO readback value
Valid starting
0x0040~0x0047 for DO Latch high value
channel
0x0060~0x0067 for DO Latch low value
M-7067/M-7067D:
0x0000~0x 0006 for DO readback value
Valid starting
0x0040~0x0046 for DO Latch high value
channel
0x0060~0x0066 for DO Latch low value
M-7055/M-7055D/M-7055U/M-7055UD:
0x0000~0x 0007 for DO readback value
0x0020~0x0027 for DI value
Valid starting 0x0040~0x0047 for DI Latch high value
channel 0x0048~0x004F for DO Latch high value
0x0060~0x0067 for DI Latch low value
0x0068~0x006F for DO Latch low value
M-7052/M-7052D:
0x0020~0x0027 for DI value
Valid starting
0x0040~0x0047 for DI Latch high value
channel
0x0060~0x0067 for DI Latch low value
M-7053/M-7053D:
0x0020~0x002F for DI value
Valid starting
0x0040~0x004F for DI Latch high value
channel
0x0060~0x006F for DI Latch low value
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 153
M-7058/M-7058D:
0x0020~0x0027 for DI value
Valid starting
0x0040~0x0047 for DI Latch high value
channel
0x0060~0x0067 for DI Latch low value
M-7041/M-7041D:
0x0020~0x002D for DI value
Valid starting
0x0040~0x004D for DI Latch high value
channel
0x0060~0x006D for DI Latch low value
M-7043/M-7043D:
0x0000~0x 000F for DO readback value
Valid starting
0x0040~0x004F for DO Latch high value
channel
0x0060~0x006F for DO Latch low value
M-7045/M-7045D:
0x0000~0x 000F for DO readback value
Valid starting
0x0040~0x004F for DO Latch high value
channel
0x0060~0x006F for DO Latch low value
M-7046/M-7046D:
0x0020~0x002E for DI value
Valid starting
0x0040~0x004E for DI Latch high value
channel
0x0060~0x006E for DI Latch low value
M-7051/M-7051D:
0x0020~0x002F for DI value
Valid starting
0x0040~0x004F for DI Latch high value
channel
0x0060~0x006F for DI Latch low value
M-7050/M-7050D:
0x0000~0x 0007 for DO readback value
0x0020~0x0026 for DI value
Valid starting 0x0040~0x0046 for DI Latch high value
channel 0x0048~0x004F for DO Latch high value
0x0060~0x0066 for DI Latch low value
0x0068~0x006F for DO Latch low value
154 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
M-7054/M-7054D:
0x0000~0x 000F for DO readback value
0x0020~0x002F for DI value
Valid starting 0x0040~0x004F for DI Latch high value
channel 0x0050~0x005F for DO Latch high value
0x0060~0x006F for DI Latch low value
0x0070~0x007F for DO Latch low value
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 155
3.2 02 (0x02) Read Discrete Inputs
This function code is used to read the current digital input value of the M-7000
DIO module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x02
02 ~ 03 Starting channel 2 Bytes 0x0000 ~ 0x001F
04 ~ 05 Input channel 2 Bytes 0x0001 ~ 0x0020
number
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x02
02 Byte count 1 Byte 1
03 Input channel 1 Byte Refer to the Supported Modules
data section for details of the value.
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x82
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
Supported Modules
M-7060/M-7060D:
Valid starting
0x0000~0x 0003 for DI value
channel
M-7055/M-7055D/M-7055U/M-7055UD:
Valid starting
0x0000~0x 0007 for DI value
channel
156 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
M-7052/M-7052D:
Valid starting
0x0000~0x0007 for DI value
channel
M-7053/M-7053D:
Valid starting
0x0000~0x000F for DI value
channel
M-7058/M-7058D:
Valid starting
0x0000~0x0007 for DI value
channel
M-7041/M-7041D:
Valid starting
0x0000~0x000D for DI value
channel
M-7046/M-7046D:
Valid starting
0x0000~0x000E for DI value
channel
M-7051/M-7051D:
Valid starting
0x0000~0x000F for DI value
channel
M-7050/M-7050D:
Valid starting
0x0000~0x 0006 for DI value
channel
M-7054/M-7054D:
Valid starting
0x0000~0x 000F for DI value
channel
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 157
3.3 03 (0x03) Read Multiple Registers
This function code is used to read the current digital input counter value of the
M-7000 DIO module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x03
02 ~ 03 Starting channel 2 Bytes 0x0000 ~ 0x001F
numbers
04 ~ 05 Input channel 2 Bytes 0x0001 ~ 0x0020
number
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x03
02 Byte count 1 Byte 1
03~ Input channel *N x 2 Each channel can record a maximum
counter value Bytes counter value up to 65535 (0xFFFF).
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x83
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
Supported Modules
M-7060/M-7060D:
Valid starting
0x0000~0x 0003 for DI counter value
channel
158 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
M-7055/M-7055D/M-7055U/M-7055UD:
Valid starting
0x0000~0x 0007 for DI counter value
channel
M-7052/M-7052D:
Valid starting
0x0000~0x 0007 for DI counter value
channel
M-7053/M-7053D:
Valid starting
0x0000~0x000F for DI counter value
channel
M-7058/M-7058D:
Valid starting
0x0000~0x 0007 for DI counter value
channel
M-7041/M-7041D:
Valid starting
0x0000~0x000D for DI counter value
channel
M-7046/M-7046D:
Valid starting
0x0000~0x000E for DI counter value
channel
M-7051/M-7051D:
Valid starting
0x0000~0x000F for DI counter value
channel
M-7050/M-7050D:
Valid starting
0x0000~0x0006 for DI counter value
channel
M-7054/M-7054D:
Valid starting
0x0000~0x000F for DI counter value
channel
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 159
3.4 04 (0x04) Read Multiple Input Registers
This function code is used to read the current digital input counter value of the
M-7000 DIO module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x04
02 ~ 03 Starting channel 2 Bytes 0x0000 ~ 0x001F
numbers
04 ~ 05 Input channel 2 Bytes 0x0001 ~ 0x0020
number
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x04
02 Byte count 1 Byte 1
03~ Input channel *N x 2 Each channel can record the
counter value Bytes maximum counter value up to 65535
(0xFFFF).
*N = Number of input channels
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x84
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
Supported Modules
M-7060/M-7060D:
Valid starting
0x0000~0x 0003 for DI counter value
channel
160 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
M-7055/M-7055D/M-7055U/M-7055UD:
Valid starting
0x0000~0x 0007 for DI counter value
channel
M-7052/M-7052D:
Valid starting
0x0000~0x 0007 for DI counter value
channel
M-7053/M-7053D:
Valid starting
0x0000~0x000F for DI counter value
channel
M-7058/M-7058D:
Valid starting
0x0000~0x 0007 for DI counter value
channel
M-7041/M-7041D:
Valid starting
0x0000~0x000D for DI counter value
channel
M-7046/M-7046D:
Valid starting
0x0000~0x000E for DI counter value
channel
M-7051/M-7051D:
Valid starting
0x0000~0x000F for DI counter value
channel
M-7050/M-7050D:
Valid starting
0x0000~0x0006 for DI counter value
channel
M-7054/M-7054D:
Valid starting
0x0000~0x000F for DI counter value
channel
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 161
3.5 05 (0x05) Write Single Coils
This function code is used to write the digital output value of the M-7000 DIO
module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x05
02 ~ 03 Output channel 2 Bytes 0x0000 ~ 0x001F
numbers 0x0100 to clear the latch value
0x0200~0x021F to clear the DI
counter value
04 ~ 05 Output value 2 Bytes A value of 0xFF00 sets the output to
ON. A value of 0x0000 sets it to
OFF. All other values are illegal and
will not affect the coil.
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x05
02 ~ 03 Output channel 2 Bytes The value is the same as byte 02 and
numbers 03 of the Request
04 ~ 05 Output value 2 Bytes The value is the same as byte 04 and
05 of the Request
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x85
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
162 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Supported Modules
M-7060/M-7060D:
0x0000~0x0003 for DO output
Valid output 0x0100 to clear the DIO latch value. If setting this channel
channel to ON, the latch value will become 0.
0x0200~0x0203 to clear the DI counter value
M-7061/M-7061D:
0x0000~0x 000B for DO output
Valid starting
channel 0x0100 to clear the DO latch value. If setting this channel to
ON, the latch value will become 0.
M-7064/M-7064D:
0x0000~0x 0007 for DO output
Valid starting
0x0100 to clear the DO latch value. If setting this channel to
channel
ON, the latch value will become 0.
M-7067/M-7067D:
0x0000~0x 0006 for DO output
Valid starting
channel 0x0100 to clear the DO latch value. If setting this channel to
ON, the latch value will become 0.
M-7055/M-7055D/M-7055U/M-7055UD:
0x0000~0x 0007 for DO output
Valid output 0x0100 to clear the DIO latch value. If setting this channel
channel to ON, the latch value will become 0.
0x0200~0x0207 to clear the DI counter value
M-7052/M-7052D:
0x0100 to clear the DI latch value. If setting this channel to
Valid output
ON, the latch value will become 0.
channel
0x0200~0x0207 to clear the DI counter value
M-7053/M-7053D:
0x0100 to clear the DI latch value. If setting this channel to
Valid output
ON, the latch value will become 0.
channel
0x0200~0x020F to clear the DI counter value
M-7058/M-7058D:
0x0100 to clear the DI latch value. If setting this channel to
Valid output
ON, the latch value will become 0.
channel
0x0200~0x0207 to clear the DI counter value
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 163
M-7041/M-7041D:
0x0100 to clear the DI latch value. If setting this channel to
Valid output
ON, the latch value will become 0.
channel
0x0200~0x020D to clear the DI counter value
M-7043/M-7043D:
0x0000~0x 000F for DO output
Valid starting
channel 0x0100 to clear the DO latch value. If setting this channel to
ON, the latch value will become 0.
M-7045/M-7045D:
0x0000~0x 000F for DO output
Valid starting
0x0100 to clear the DO latch value. If setting this channel to
channel
ON, the latch value will become 0.
M-7046/M-7046D:
0x0100 to clear the DI latch value. If setting this channel to
Valid output
ON, the latch value will become 0.
channel
0x0200~0x020E to clear the DI counter value
M-7051/M-7051D:
0x0100 to clear the DI latch value. If setting this channel to
Valid output
ON, the latch value will become 0.
channel
0x0200~0x020F to clear the DI counter value
M-7050/M-7050D:
0x0000~0x 0007 for DO output
Valid output 0x0100 to clear the DIO latch value. If setting this channel
channel to ON, the latch value will become 0.
0x0200~0x0206 to clear the DI counter value
M-7054/M-7054D:
0x0000~0x 000F for DO output
Valid output 0x0100 to clear the DIO latch value. If setting this channel
channel to ON, the latch value will become 0.
0x0200~0x020F to clear the DI counter value
164 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
3.6 15 (0x0F) Write Multiple Coils
This function code is used to write the digital output value of the M-7000 DIO
module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x0F
02 ~ 03 Starting channel 2 Bytes 0x0000 ~ 0x001F for DO output
0x0200~0x021F to clear the DI
count value
04 ~ 05 Number of 2 Bytes
output channels 0x0001 ~ 0x0020
06 Byte count (N) 1 Byte Number of bytes of the following
output values, 0x01 ~ 0x02
07 Data of output N A bit corresponds to a channel.
channels Bytes When the bit is 1 it denotes that the
value of the channel that was set is
ON. If the bit is 0 it denotes that the
value of the channel that was set is
OFF.
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x0F
02 ~ 03 Starting channel 2 Bytes The value is the same as byte 02 and
03 of the Request
04 ~ 05 Number of 2 Bytes The value is the same as byte 04 and
output channels 05 of the Request
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x8F
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 165
Supported Modules
M-7060/M-7060D:
Valid starting 0x0000~0x0003 for DO output
channel 0x0200~0x0203 to clear the DI counter value
M-7061/M-7061D:
Valid starting
0x0000~0x000B for DO output
channel
M-7064/M-7064D:
Valid starting
0x0000~0x0007 for DO output
channel
M-7067/M-7067D:
Valid starting
0x0000~0x0006 for DO output
channel
M-7055/M-7055D/M-7055U/M-7055UD:
Valid starting 0x0000~0x0007 for DO output
channel 0x0200~0x0207 to clear the DI counter value
M-7052/M-7052D:
Valid starting
0x0200~0x0207 to clear the DI counter value
channel
M-7053/M-7053D:
Valid starting
0x0200~0x020F to clear the DI counter value
channel
M-7058/M-7058D:
Valid starting
0x0200~0x0207 to clear the DI counter value
channel
M-7041/M-7041D:
Valid starting
0x0200~0x020D to clear the DI counter value
channel
M-7043/M-7043D:
Valid starting
0x0000~0x000F for DO output
channel
166 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
M-7045/M-7045D:
Valid starting
0x0000~0x000F for DO output
channel
M-7046/M-7046D:
Valid starting
0x0200~0x020E to clear the DI counter value
channel
M-7051/M-7051D:
Valid starting
0x0200~0x020F to clear the DI counter value
channel
M-7050/M-7050D:
Valid starting 0x0000~0x0007 for DO output
channel 0x0200~0x0206 to clear the DI counter value
M-7054/M-7054D:
Valid starting 0x0000~0x000F for DO output
channel 0x0200~0x020F to clear the DI counter value
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 167
3.7 70 (0x46) Read/Write Module Settings
This function code is used to read the settings of the module or
change the settings of the module. The following sub-function codes
are supported.
If the module does not support the sub-function code specified in the
message, then it responds as follows:
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0xC6
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
168 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
3.7.1 Sub-function 00 (0x00) Read module name
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x00
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x00
03 ~ 06 Module name 4 Bytes 0x00 0x70 0x60 0x00 for M-
7060/M-7060D modules
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0xC6
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
Supported Modules
M-7060/M-7060D/M-7064/M-7064D/M-7067/M-7067D/M-7050/M-
7050D/M-7051/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-
7054/M-7054D/M-7055/M-7055DM-7055U/M-7055UD/M-7041/M-
7041D/M-7043/M-7043D/M-7045/M-7045D/M-7046/M-7046D
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 169
3.7.2 Sub-function 04 (0x04) Set module address
This sub-function code is used to set the address of a module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x04
03 Address 1 Byte 1 ~ 247
04~ 06 Reserved 3 Bytes 0x00 0x00 0x00
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x04
0: OK
03 Set address result 1 Byte
Others: error
04~ 06 Reserved 3 Bytes 0x00 0x00 0x00
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0xC6
Refer to the Modbus standard for
02 Exception code 1 Byte
more details.
Supported Modules
M-7060/M-7060D/M-7064/M-7064D/M-7067/M-7067D/M-7050/M-
7050D/M-7051/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-
7054/M-7054D/M-7055/M-7055D/M-7055U/M-7055UD/M-7041/M-
7041D/M-7043/M-7043D/M-7045/M-7045D/M-7046/M-7046D
170 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
3.7.3 Sub-function 05 (0x05) Read communication
settings
This sub-function code is used to read the communication protocol
settings of a module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x05
03 Reserved 1 Byte 0x00
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x05
03 Reserved 1 Byte 0x00
04 Baud Rate 1 Byte Baud rate code, see Section
1.10 for details.
05~ 07 Reserved 3 Bytes 0x00 0x00 0x00
08 Mode 1 Byte 0: DCON protocol
1: Modbus RTU protocol
09~10 Reserved 2 Bytes 0x00 0x00
Note: This information is the data saved in the EEPROM and will be used for
the next power-on reset. It is not the currently used settings.
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0xC6
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
Supported Modules
M-7060/M-7060D/M-7064/M-7064D/M-7067/M-7067D/M-7050/M-
7050D/M-7051/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-
7054/M-7054D/M-7055/M-7055D/M-7055U/M-7055UD/M-7041/M-
7041D/M-7043/M-7043D/M-7045/M-7045D/M-7046/M-7046D
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 171
3.7.4 Sub-function 06 (0x06) Set communication
settings
This sub-function code is used to set the communication protocol of a
module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x06
03 Reserved 1 Byte 0x00
04 Baud Rate 1 Byte Baud rate code, see Section
1.10 for details.
05~ 07 Reserved 3 Bytes 0x00 0x00 0x00
08 Mode 1 Byte 0: DCON protocol
1: Modbus RTU protocol
09~10 Reserved 2 Bytes 0x00 0x00
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x06
03 Reserved 1 Byte 0x00
04 Baud Rate 1 Byte 0: OK,
others: error
05~ 07 Reserved 3 Bytes 0x00 0x00 0x00
08 Mode 1 Byte 0: OK,
others: error
09~10 Reserved 2 Bytes 0x00 0x00
Note: The new baud rate and protocol will be effective after the next power-on
reset.
172 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0xC6
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
Supported Module
M-7060/M-7060D/M-7064/M-7064D/M-7067/M-7067D/M-7050/M-
7050D/M-7051/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-
7054/M-7054D/M-7055/M-7055D/M-7055U/M-7055UD/M-7041/M-
7041D/M-7043/M-7043D/M-7045/M-7045D/M-7046/M-7046D
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 173
3.7.5 Sub-function 32 (0x20) Read firmware version
This sub-function code is used to read the firmware version
information of a module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x20
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x20
03 Major version 1 Byte 0x00~0xFF
04 Minor version 1 Byte 0x00~0xFF
05 Build version 1 Byte 0x00~0xFF
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0xC6
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
Supported Modules
M-7060/M-7060D/M-7064/M-7064D/M-7067/M-7067D/M-7050/M-
7050D/M-7051/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-
7054/M-7054D/M-7055/M-7055D/M-7055U/M-7055UD/M-7041/M-
7041D/M-7043/M-7043D/M-7045/M-7045D/M-7046/M-7046D
174 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
3.7.6 Sub-function 33 (0x21) Set digital input counter
trigger edge
This sub-function code is used to set the digital input counter trigger
edge value of a module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x21
03 Edge setting value 1 Byte *0x00~0x0F
*1 = rising edge, 0 = falling edge. For example 0x03 denotes that channels 0~1
are set as rising edge and channels 2~3 are set as falling edge.
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x21
03 Edge setting value 1 Byte 0: OK
others: error
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0xC6
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
Supported Modules
M-7060/M-7060D/M-7051/M-7051D/M-7052/M-7052D/M-7053/M-
7053D/M-7054/M-7054D/M-7055/M-7055D / M-7055U/M-
7055UD/M-7041/M-7041D/M-7046/M-7046D
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 175
3.7.7 Sub-function 34 (0x22) Read digital input
counter trigger edge value
This sub-function code is used to read the digital input counter trigger
edge value of a module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x22
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x22
03 Edge setting value 1 Byte *0x00~0x0F
*1 = rising edge, 0 = falling edge. For example 0x03 denotes that channels 0~1
are set as rising edge and channels 2~3 are set as falling edge.
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0xC6
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
Supported Modules
M-7060/M-7060D/M-7050/M-7050D/M-7051/M-7051D/M-7052/M-
7052D/M-7053/M-7053D/M-7054/M-7054D/M-7055/M-7055D/ M-
7055U/M-7055UD/M-7041/M-7041D/M-7046/M-7046D
176 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
3.7.8 Sub-function 39 (0x27) Set the power-on value
This sub-function code is used to set the power-on value of a module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x27
03 Power-on Value 1 Byte *0x00~0xFF
*0x00~0x0F for M-7060/M-7060D
0x00~0x7F for M-7067/M-7067D
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x28
03 Power-on value 1 Byte 0: OK,
others: error
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0xC6
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
Supported Modules
M-7060/M-7060D/M-7064/M-7064D/M-7067/M-7067D/M-7050/M-
7050D/M-7054/M-7054D/M-7055/M-7055D/ M-7055U/M-
7055UD/M-7043/M-7043D/M-7045/M7045D
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 177
3.7.9 Sub-function 40 (0x28) Read the power-on
value
This sub-function code is used to read the power-on value of a
module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x28
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x28
03 Power-on value 1 Byte *0x00~0xFF
*0x00~0x0F for M-7060/M-7060D
0x00~0x7F for M-7067/M-7067D
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0xC6
Refer to the Modbus standard for
02 Exception code 1 Byte
more details.
Supported Modules
M-7060/M-7060D/M-7064/M-7064D/M-7067/M-7067D/M-7050/M-
7050D/M-7054/M-7054D/M-7055/M-7055D/ M-7055U/M-
7055UD/M-7043/M-7043D/M-7045/M7045D
178 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
3.7.10 Sub-function 41 (0x29) Set DI/O active states
This sub-function code is used to set the DI/O active states of a
module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x29
*0x00~0x03
03 DI/O active states 1 Byte
Refer to the table below.
*0x00~0x03 for M-7060/M-7060D
0x00 and 0x02 for M-7067/M-7067D
Key Description
OAS DO active state
0: output value 1 for relay active
output value 0 for relay inactive
1: output value 0 for relay active
output value 1 for relay inactive
IAS DI active state
0: input value 1 for non-signal or the low voltage;
input value 0 for high voltage
1: input value 0 for non-signal or the low voltage;
input value 1 for high voltage
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x29
0: OK
03 Power-on value 1 Byte
others: error
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 179
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0xC6
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
Supported Modules
M-7060/M-7060D/M-7064/M-7064D/M-7067/M-7067D/M-7050/M-
7050D/M-7051/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-
7054/M-7054D/M-7055/M-7055D/ M-7055U/M-7055UD/M-
7041/M-7041D/M-7043/M-7043D/M-7045/M-7045D/M-7046/M-
7046D
Note: After using the command, the DIO active states will immediately change
and will simultaneously clear the DI counter and latch values.
180 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
3.7.11 Sub-function 42 (0x2A) Read DI/O active
states
This sub-function code is used to read the DI/O active states of a
module.
Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x2A
Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x46
02 Sub-function code 1 Byte 0x2A
03 DI/O active status 1 Byte *0x00~0x03
*0x00~0x03 for M-7060/M-7060D
0x00 and 0x02 for M-7067/M-7067D
Error Response
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0xC6
02 Exception code 1 Byte Refer to the Modbus standard for
more details.
Supported modules
M-7060/M-7060D/M-7064/M-7064D/M-7067/M-7067D/M-7050/M-
7050D/M-7051/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-
7054/M-7054D/M-7055/M-7055D/ M-7055U/M-7055UD/M-
7041/M-7041D/M-7043/M-7043D/M-7045/M-7045D/M-7046/M-
7046D
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 181
3.8 Modbus Address Mapping
Address Description Attribute
30001 ~ Counter value of digital input R
30016
40001 ~ Counter value of digital input R
40016
40481*1 Firmware version (low word) R
40482*1 Firmware version (high word) R
40483*1 Module name (low word) R
40484*1 Module name (high word) R
40485*1 Module address, valid range: 1 ~ 247 R/W
40486*1 Bits 5:0 R/W
Baud rate, 0x03 ~ 0x0A
Code 0x03 0x04 0x05 0x06
Baud 1200 2400 4800 9600
Code 0x07 0x08 0x09 0x0A
Baud 19200 38400 57600 115200
Bits 7:6
00: no parity, 1 stop bit
01: no parity, 2 stop bits
10: even parity, 1 stop bit
11: odd parity, 1 stop bit
*1
40488 Modbus response delay time in ms, valid range: 0 ~ 30 R/W
40489*1 Host watchdog timeout value, 0 ~ 255, in 0.1s R/W
40492*1 Host watchdog timeout count, write 0 to clear R/W
10001 ~ Digital input value R
10016
00001 ~ Digital output value R/W
00016
00033 ~ Digital input value of channel 0 ~ 7 R
00048
00065 ~ High latched values of DIO R
00096
00097 ~ Low latched values of DIO R
00128
00129 ~ Safe value of digital output channel R/W
00144
00161 ~ Power on value of digital output channel R/W
00176
00193*1 ~ Counter update trigger edge of digital input channel R/W
00208
00257*2 Write 1 to clear latch values W
182 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Address Description Attribute
00257*1 Protocol, 0: DCON, 1: Modbus RTU R/W
00258*1 0: Modbus RTU, 1: Modbus ASCII R/W
00260*1 Modbus host watchdog mode R/W
0: same as I-7000
1: can use write DO command to clear host
watchdog timeout status
00261*1 1: enable, 0: disable host watchdog R/W
00264*1 Write 1 to clear latched DIO W
00265*1 DI active state, 0: normal, 1: inverse R/W
00266*1 DO active state, 0: normal, 1:inverse R/W
00270*1 Host watch dog timeout status, write 1 to clear host R/W
watch dog timeout status
00273*1 Reset status, 1: first read after powered on, 0: not R
the first read after powered on
00513 ~ Write 1 to clear counter value of digital input W
00528 channel
Note:
*1: only available with firmware version 200 and later
*2: only available with firmware version 199 and earlier
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 183
4. Troubleshooting
If you are having difficulty using the I-7000 or M-7000
module, here are some suggestions that may help. If you
cannot find the answers you need in these guides, contact ICP
DAS Product Support. Contact information is located in
Section 1.14.
184 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
4.1 Communicating with the module
If you attempt to communicate with the module and receive
no response, first check the following:
Ensure that the supplied power is within the range of +10
to +30 V DC. If the supplied power is OK, then the power
LED should be on.
When the module receives a command, the power LED is
set to “off”. The power LED is shown as “on” after the
module responds. This method can be used to check
whether the module has received a command sent from the
host.
If possible, use another device to check whether the host
can communicate with the device through the same RS-
485 network.
If the host is a PC installed with a Windows operating
system, then execute the DCON Utility to determine
whether the module can be found. The DCON Utility can
be downloaded from the ICP DAS website
http://www.icpdas.com. The DCON Utility
documentation can be found in the ”Getting Started For
I-7000 Series Modules” manual.
Set the module to “INIT mode” and communicate with the
module using the following settings: address 00, Baud
Rate 9600bps and no checksum. See Section A.1 for
details.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 185
A. Appendix
1. Address: 00
2. Baud Rate: 9600 bps
3. No checksum
4. Protocol: DCON
186 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
Originally, the INIT mode is accessed by connecting the
INIT* terminal to the GND terminal. New I-7000 and M-
7000 modules have the INIT switch located on the rear side of
the module to allow easier access to the INIT mode. For
these modules, INIT mode is accessed by sliding the INIT
switch to the Init position as shown below.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 187
A.2 Dual Watchdog Operation
Dual Watchdog = Module Watchdog + Host Watchdog
188 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
A.3 Frame Ground
Electronic circuits are constantly vulnerable to Electro-Static
Discharge (ESD), which become worse in a continental
climate area. Some I-7000 and M-7000 modules feature a
new design for the frame ground, which provides a path for
bypassing ESD, allowing enhanced static protection (ESD)
capability and ensures that the module is more reliable.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 189
New DIN rail models are available that can easily be
connected to the earth ground. Each is made of stainless steel,
which is stronger than those made of aluminum. There is a
screw at one end and a ring terminal is included as shown in
the figure below. Refer to Section 1.13.1 for more
information about the new DIN rail models.
190 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
A.4 Reset Status
The reset status of a module is set when the module is
powered-on or when the module is reset by the module
watchdog. It is cleared after the responding of the first $AA5
command. This can be used to check whether the module had
been reset. When the $AA5 command responds that the reset
status is cleared, that means the module has not been reset
since the last $AA5 command was sent. When the $AA5
command responds that the reset status is set and it is not the
first time $AA5 command is sent, it means the module has
been reset and the digital output value had been changed to
the power-on value.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 191
A.5 Safe Value and Power-on Value of
Digital Output
Besides setting by the set digital output commands, the digital
outputs can be set under two other conditions.
Both the safe value and power-on value are set by the ~AA5V
command. Refer to Section 2.30 for details.
192 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
A.6 Latched Digital Input
The I-7000 and M-7000 DIO modules provide commands to
read the latched high digital input and latched low digital
input status. Following is an example to show the usefulness
of the latched digital input. When we want to read the key
stroke of a key switch connected to the digital input channel
of a module, the input signal of the key stroke is a pulse signal
as shown in the following figure.
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 193
A.7 DN Module
The DN modules are the I/O extension of the I-7000 and
M-7000 modules. They can drive more power and heavy load.
User may use I-7000 and M-7000 modules to control the DN
modules to drive the loads. Following is an example of using
the I-7043 with the DN module.
194 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
A.7.1 DN-SSR4
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 195
A.7.2 DN-PR4
196 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27
A.7.3 RM-104, RM-108, and RM-116
I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27 197
A.7.4 RM-204, RM-208, RM-216
198 I-7000 and M-7000 DIO User Manual, Rev: B2.7 7PH-013-B27