0% found this document useful (0 votes)
4 views47 pages

ModbusDIO

Uploaded by

barisokumus
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views47 pages

ModbusDIO

Uploaded by

barisokumus
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

Modbus DIO

Modbus DIO User’s 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 - 2004 ICP DAS. All rights
reserved.

Trademark
The names are used for identification only may be
registered trademarks of their respective companies.
Date: 2005/7/1

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 1 of 47


Modbus DIO

Table of Contents
1. Introduction......................................................................................................... 3
1.1 More Information........................................................................................ 3
2. Modbus RTU Protocol ........................................................................................ 4
2.1 01 (0x01) Read coils ................................................................................... 5
2.2 02 (0x02) Read discrete inputs ................................................................... 8
2.3 03 (0x03) Read multiple registers............................................................. 10
2.4 04 (0x04) Read multiple input registers.................................................... 12
2.5 05 (0x05) Write single coils...................................................................... 14
2.6 15 (0x0F) Write multiple coils.................................................................. 16
2.7 70 (0x46) Read/Write Module Settings .................................................... 18
2.6.1 Sub-function 00 (0x00) Read Module Name.................................... 19
2.6.2 Sub-function 04 (0x04) Set Module Address.................................... 20
2.6.3 Sub-function 05 (0x05) Read Communication Settings ................... 21
2.6.4 Sub-function 06 (0x06) Set Communication Settings ...................... 23
2.6.5 Sub-function 32 (0x20) Read Firmware Version .............................. 25
2.6.6 Sub-function 33 (0x21) Set Digital Input Count Edge ..................... 26
2.6.7 Sub-function 34 (0x22) Read Digital Input Count Edge .................. 27
2.6.8 Sub-function 39 (0x27) Set Power-on Value .................................... 28
2.6.9 Sub-function 40 (0x28) Read Power-on Value ................................. 29
2.6.10 Sub-function 41 (0x29) Set DI/O active status ................................. 30
2.6.11 Sub-function 42 (0x2A) Read DI/O active status ............................. 32
3. Recently-added DCON commands................................................................... 33
3.1 $AAP................................................................................................. 34
3.2 $AAPN.............................................................................................. 36
3.3 ~AAD................................................................................................ 38
3.4 ~AADVV .......................................................................................... 40
3.5 ~AAI ................................................................................................. 42
3.6 ~AATnn............................................................................................. 44
4. Hardware information and DCON Protocol ..................................................... 47

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 2 of 47


Modbus DIO

1. Introduction
The I-7000 series is a family of network data
acquisition and control modules, providing
analog-to-digital, digital-to-analog, digital input/output,
timer/counter and other functions. The modules can
be remotely controlled using a set of commands,
which we call the DCON protocol. Communication
between the module and the host is in ASCII format
via an RS-485 bi-directional serial bus standard. Baud
Rates are software programmable and transmission
speeds of up to 115.2K baud can be selected. The
functionality of the M-7000 series is the same as the
I-7000 series, with the exception that the M-7000
series offers extended support for the Modbus RTU
protocol.

1.1 More Information


Refer to chapter 1 of the “I-7000 Bus Converter User’s
Manual” as shown below, or visit the ICP DAS website
http://www.icpdas.com for more information regarding
the I-7000 series.

1.1 The I-7000 Series Overview


1.2 Related Documentation for the I-7000 Series
1.3 Common Features of the I-7000 Series
1.4 The I-7000 Series System Network Configuration
1.5 I-7000 Dimensions

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 3 of 47


Modbus DIO

2. Modbus RTU Protocol


The Modbus protocol was originally developed for Modicon
controllers by Modicon Inc. Detailed information can be found
at http://www.modicon.com/techpubs/toc7.html. Visit
http://www.modbus.org to find more valuable information.

M-7000 series modules support the Modbus RTU protocol.


The communication Baud Rates range from 1200bps to
115200bps. The parity, data bits and stop bits are fixed as no
parity, 8 data bits and 1 stop bit. The following Modbus
functions are supported.

Function code Description Section


0x01 Read coils 2.1
0x02 Read discrete inputs 2.2
0x03 Read multiple registers 2.3
0x04 Read multiple input registers 2.4
0x05 Write single coils 2.5
0x0F Write multiple coils 2.6
0x46 Read/write module settings 2.7

If the function specified in the message is not supported, then


the module responds as follows.

Error Response
00 Address 1 Byte 1 ~ 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.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 4 of 47


Modbus DIO

2.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 2 0x0000~0x001F for DO readback
channel Bytes value
numbers
0x0020~0x003F for DI value

0x0040~0x005F for DIO Latch


high value

0x0060~0x007F for DIO Latch


low value
04 ~ 05 Output channel 2 0x0001 ~ 0x001F
number Bytes

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 page 6 for the details of
readback value 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.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 5 of 47


Modbus DIO
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-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:
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 valuee
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

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

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 6 of 47


Modbus DIO

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

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 7 of 47


Modbus DIO

2.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 2 0x0000 ~ 0x001F
channel Bytes
04 ~ 05 Input channel 2 0x0001 ~ 0x0020
number Bytes

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 page 8 for details of
data 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:
Valid starting
0x0000~0x 0007 for DI value
channel

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 8 of 47


Modbus DIO
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-7041/M-7041D:
Valid starting
0x0000~0x000D for DI value
channel

M-7051/M-7051D:
Valid starting
0x0000~0x000F for DI value
channel

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 9 of 47


Modbus DIO

2.3 03 (0x03) Read multiple registers


This function code is used to read the current digital input count value
of the M-7000 DIO module.

Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x03
02 ~ 03 Starting 2 0x0000 ~ 0x001F
channel Bytes
numbers
04 ~ 05 Input channel 2 0x0001 ~ 0x0020
number Bytes

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
count value Bytes maximum count value up to
65535 (0xFFFF).
*N = Number of input channels

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 count value
channel

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 10 of 47


Modbus DIO
M-7055/M-7055D:
Valid starting
0x0000~0x 0007 for DI count value
channel

M-7052/M-7052D:
Valid starting
0x0000~0x 0007 for DI count value
channel

M-7053/M-7053D:
Valid starting
0x0000~0x000F for DI value
channel

M-7041/M-7041D:
Valid starting
0x0000~0x000D for DI value
channel

M-7051/M-7051D:
Valid starting
0x0000~0x000F for DI value
channel

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 11 of 47


Modbus DIO

2.4 04 (0x04) Read multiple input registers


This function code is used to read the current digital input count value
of the M-7000 DIO module.

Request
00 Address 1 Byte 1 ~ 247
01 Function code 1 Byte 0x04
02 ~ 03 Starting 2 0x0000 ~ 0x001F
channel Bytes
numbers
04 ~ 05 Input channel 2 0x0001 ~ 0x0020
number Bytes

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
count value Bytes maximum count 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 count value
channel

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 12 of 47


Modbus DIO
M-7055/M-7055D:
Valid starting
0x0000~0x 0007 for DI count value
channel

M-7052/M-7052D:
Valid starting
0x0000~0x 0007 for DI count value
channel

M-7053/M-7053D:
Valid starting
0x0000~0x000F for DI value
channel

M-7041/M-7041D:
Valid starting
0x0000~0x000D for DI value
channel

M-7051/M-7051D:
Valid starting
0x0000~0x000F for DI value
channel

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 13 of 47


Modbus DIO

2.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 0x0000 ~ 0x001F
numbers Bytes
0x0100 to clear the latch value
0x0200~0x0220 to clear the DI
count value
04 ~ 05 Output value 2 A value of 0xFF00 sets the output
Bytes 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 The value is the same as byte 02
numbers Bytes and 03 of the Request
04 ~ 05 Output value 2 The value is the same as byte 04
Bytes 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.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 14 of 47


Modbus DIO
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 count value

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:
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 count value

M-7052/M-7052D:
0x0100 to clear the DI latch value. If setting this
Valid output
channel to ON, the latch value will become 0.
channel
0x0200~0x0207 to clear the DI count value

M-7053/M-7053D:
0x0100 to clear the DI latch value. If setting this
Valid output
channel to ON, the latch value will become 0.
channel
0x0200~0x020F to clear the DI count value

M-7041/M-7041D:
0x0100 to clear the DI latch value. If setting this
Valid output
channel to ON, the latch value will become 0.
channel
0x0200~0x020D to clear the DI count value

M-7051/M-7051D:
0x0100 to clear the DI latch value. If setting this
Valid output
channel to ON, the latch value will become 0.
channel
0x0200~0x020F to clear the DI count value

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 15 of 47


Modbus DIO

2.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 2 0x0000 ~ 0x001F for DO output
channel Bytes 0x0200~0x0220 to clear the DI
numbers count value
04 ~ 05 Output channel 2
number Bytes 0x0001 ~ 0x0020
06 Byte count 1 Byte 1
07 Output value 1 Byte A bit corresponds to a channel.
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 2 The value is the same as byte 02
channel Bytes and 03 of the Request
numbers
04 ~ 05 Input channel 2 The value is the same as byte 04
number Bytes and 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.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 16 of 47


Modbus DIO
Supported modules
M-7060/M-7060D:
Valid starting 0x0000~0x0003 for DO output
channel 0x0200~0x0203 to clear the DI count value

M-7067/M-7067D:
Valid starting
0x0000~0x0006 for DO output
channel

M-7055/M-7055D:
Valid starting 0x0000~0x0007 for DO output
channel 0x0200~0x0207 to clear the DI count value

M-7052/M-7052D:
Valid starting
0x0200~0x0207 to clear the DI count value
channel

M-7053/M-7053D:
Valid starting
0x0200~0x020F to clear the DI count value
channel

M-7041/M-7041D:
Valid starting
0x0200~0x020D to clear the DI count value
channel

M-7051/M-7051D:
Valid starting
0x0200~0x020F to clear the DI count value
channel

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 17 of 47


Modbus DIO

2.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.

Sub-function Description Section


Code
00 (0x00) Read the module name 2.6.1
04 (0x04) Set the module address 2.6.2
05 (0x05) Read the communication settings 2.6.3
06 (0x06) Set the communication settings 2.6.4
32 (0x20) Read the firmware version 2.6.5
33 (0x21) Set the DI count edge 2.6.6
34 (0x22) Read the DI count edge setting 2.6.7
value
39 (0x27) Set the DO power-on value 2.6.8
40 (0x28) Read the DO power-on value 2.6.9
41 (0x29) Set the DI/O active status 2.6.10
42 (0x2A) Read the DI/O active status 2.6.11

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.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 18 of 47


Modbus DIO
2.6.1 Sub-function 00 (0x00) Read Module Name

This sub-function code is used to read the name of a module.

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

0x00 0x70 0x67 0x00 for


M-7067/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-7067/M-7067D/M-7055/M-7055D/M-705
2/M-7052D

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 19 of 47


Modbus DIO
2.6.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-7067/M-7067D/M-7055/M-7055D/M-705
1/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-7041/M-7
041D

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 20 of 47


Modbus DIO
2.6.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 Refer to Table 1. below
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.
Baud Rate settings:
Value 03 04 05 06 07 08 09 0A
Baud Rate 1200 2400 4800 9600 19200 38400 57600 115200
Table 1.
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.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 21 of 47


Modbus DIO
Supported modules

M-7060/M-7060D/M-7067/M-7067D/M-7055/M-7055D/M-705
1/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-7041/M-7
041D

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 22 of 47


Modbus DIO
2.6.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 Refer to Table 1. on page
17
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.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 23 of 47


Modbus DIO
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-7067/M-7067D/M-7055/M-7055D/M-705
1/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-7041/M-7
041D

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 24 of 47


Modbus DIO
2.6.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-7067/M-7067D/M-7055/M-7055D/M-705
1/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-7041/M-7
041D

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 25 of 47


Modbus DIO
2.6.6 Sub-function 33 (0x21) Set Digital Input Count
Edge

This sub-function code is used to set the digital input count


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 1 Byte *0x00~0x0F
value
*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-7055/M-7055D/M-7051/M-7051D/M-705
2/M-7052D/M-7053/M-7053D/M-7041/M-7041D

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 26 of 47


Modbus DIO
2.6.7 Sub-function 34 (0x22) Read Digital Input Count
Edge

This sub-function code is used to read the digital input count


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-7055/M-7055D/M-7051/M-7051D/M-705
2/M-7052D/M-7053/M-7053D/M-7041/M-7041D

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 27 of 47


Modbus DIO
2.6.8 Sub-function 39 (0x27) Set 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-7067/M-7067D/M-7055/M-7055D

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 28 of 47


Modbus DIO
2.6.9 Sub-function 40 (0x28) Read 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-7067/M-7067D/M-7055/M-7055D/

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 29 of 47


Modbus DIO
2.6.10 Sub-function 41 (0x29) Set DI/O active status

This sub-function code is used to set the DI/O active status 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 status 1 Byte
Refer to Table 2.
*0x00~0x03 for M-7060/M-7060D
0x00 and 0x02 for M-7067/M-7067D

DI/O active status:


7 6 5 4 3 2 1 0
Reserved OAS IAS

Key Description
OAS DO active status
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 status
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

Table 2.
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

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 30 of 47


Modbus DIO

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-7067/M-7067D/M-7055/M-7055D/M-705
1/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-7041/M-7
041D
Note: After using the command, the DIO active status will immediately
change and will simultaneously clear the DI count and latch values.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 31 of 47


Modbus DIO
2.6.11 Sub-function 42 (0x2A) Read DI/O active status

This sub-function code is used to read the DI/O active status


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-7067/M-7067D/M-7055/M-7055D/M-705
1/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-7041/M-7
041D

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 32 of 47


Modbus DIO

3. Recently-added DCON commands


General command set
Command Response Description Section
$AAP !AA(Data) Reads the communication protocol 3.1
information
$AAPN ~AA Sets the communication protocol 3.2
~AAD !AA(Data) Reads the DI/O active status of the 3.3
module
~AADVV !AA Sets the DI/O active status of the 3.4
module
~AAI !AA Soft INIT 3.5
~AATnn !AA Sets the Soft INIT Timeout 3.6

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 33 of 47


Modbus DIO
3.1 $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

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.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 34 of 47


Modbus DIO

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 3.2 $AAPN

Supported modules

M-7060/M-7060D/M-7067/M-7067D/M-7055/M-7055D/M-705
1/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-7041/M-7
041D

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 35 of 47


Modbus DIO
3.2 $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 read 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)

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.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 36 of 47


Modbus DIO

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 3.1 $AAP

Supported modules

M-7060/M-7060D/M-7067/M-7067D/M-7055/M-7055D/M-705
1/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-7041/M-7
041D

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 37 of 47


Modbus DIO
3.3 ~AAD

Description:
Reads the DI/O active status.

Syntax:
~AAD[CHKSUM](CR)
~ Delimiter character
AA Address of the module to be read (00 to FF)
D Command to read the DI/O active status

Response:
Valid Response: !AAFL[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)
VV A two-digit hexadecimal value indicating the DI/O
active status.

Please refer to Table 2 on page 26 for more details about of


DI/O active status values.

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.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 38 of 47


Modbus DIO

Examples:
Command: ~01D Response: !0100
Reads the communication protocol of module 01 and
returns a response of 00. Please refer to Table 2 on
page 23 for more details regarding DI/O active status
values.

Related Commands:
Section 3.2 ~AADVV

Supported modules

M-7060/M-7060D/M-7067/M-7067D/M-7055/M-7055D/M-705
1/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-7041/M-7
041D

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 39 of 47


Modbus DIO
3.4 ~AADVV

Description:
Sets the DI/O active status.

Syntax:
~AADVV[CHKSUM](CR)
~ Delimiter character
AA Address of the module to be read (00 to FF)
D Command to set the DI/O active status.
VV A two-digit hexadecimal value indicating the DI/O
active status.

Please refer to Table 2 on page 26 for more details regarding


DI/O active status values.

Response:
Valid Response: !AA[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)

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.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 40 of 47


Modbus DIO

Examples:
Command: ~01D00 Response: !01
Sets the DI/O active value of module 01 as 00 and
returns a valid response.

Related Commands:
Section 3.3 ~AAD

Supported modules

M-7060/M-7060D/M-7067/M-7067D/M-7055/M-7055D/M-705
1/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-7041/M-7
041D

Note: After using this command, the DIO active status will
immediately change and will clear the DI count and latch
values simultaneously.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 41 of 47


Modbus DIO
3.5 ~AAI

Description:
The Soft INIT command is used to enable modification of the
Baud Rate and checksum settings using software only.

Syntax:
~AAI[CHKSUM](CR)
~ Delimiter character
AA Address of the module to be read (00 to FF)
I Command to set the Soft INIT

Response:
Valid Response: !AA[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)

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: ~01I Response: !01
Sets the soft INIT of module 01 and returns a valid
response.

Related Commands:
Section 3.6 of the “7000 DIO Manual” ~AATnn,
Section 2.1 of the “7000 DIO Manual” %AANNTTCCFF

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 42 of 47


Modbus DIO

Supported modules

M-7060/M-7060D/M-7067/M-7067D/M-7055/M-7055D/M-705
1/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-7041/M-7
041D

Note: The ~AATnn command should be sent prior to Using


this command, see Section 2.6 of the “7000 DIO Manual” for
details.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 43 of 47


Modbus DIO
3.6 ~AATnn

Description:
Sets the soft INIT timeout value.

Syntax:
~AATnn[CHKSUM](CR)
~ Delimiter character
T Command to set the soft INIT timeout value
nn Two hexadecimal digits representing the time out
value in seconds. The maximum timeout value is
60 seconds. When changing the Baud Rate or
checksum settings without adjusting the INIT* pin,
the ~AAI and %AANNTTCCFF commands should
be sent consecutively and the time interval
between the two commands should be less than
the soft INIT timeout. If the soft INIT timeout is 0,
then the Baud Rate and checksum settings cannot
be changed using software only. The power-on
reset value of the soft INIT timeout is 0.

Response:
Valid Response: !AA[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)

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.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 44 of 47


Modbus DIO

Examples:
Command: ~01I Response: !01
Sets the soft INIT of module 01 and returns a valid
response.
Command: %0101400700 Response: ?01
Attempts to change the Baud Rate of module 01 to
19200 without first adjusting the INIT * pin. The
module returns an invalid response because the soft
INIT timeout value is 0.
Command: ~01T10 Response: !01
Sets the soft INIT time out value of module 01 to 16
seconds and returns a valid response.
Command: ~01I Response: !01
Sets the soft INIT of module 01 and returns a valid
response.
Command: %0101400700 Response: !01
Attempts to change the Baud Rate of module 01 to
19200 without first adjusting the INIT * pin. The
module returns an invalid response because the soft
INIT time out value is 0.

Related Commands:
Section 3.5 of the “7000 DIO Manual” ~AAI,
Section 2.1 of the “7000 DIO Manual” %AANNTTCCFF

Supported modules

M-7060/M-7060D/M-7067/M-7067D/M-7055/M-7055D/M-705
1/M-7051D/M-7052/M-7052D/M-7053/M-7053D/M-7041/M-7
041D

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 45 of 47


Modbus DIO

Note: It is recommanded that soft INIT timeout value is reset


to 0 once any changes to the Baud Rate and checksum
setting have been completed.

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 46 of 47


Modbus DIO

4. Hardware information and DCON


Protocol
The “7000 DIO manual” can be downloaded from
http://www.icpdas.com/download/7000/manual/7000dio.pdf

Modbus DIO User’s Manual, Rev: 3.22 7MS-016-B30 47 of 47

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy