2024年11月2日发(作者:止婉)
M-1313用户手册V1.0
M-1313用户手册V1.0
基于Modbus的16DI/4AI采集模块
1 产品简介
M-1313(基于Modbus的16DI/4AI采集模块)作为通用型数字量和模拟量采
集模块广泛应用于冶金、化工、机械、消防、建筑、电力、交通等工业行业中,
具有2组相互隔离的开关量输入通道,每组8 路,可接入16路开关量信号,同
时可接入4路温度、湿度、液位、压力、流量、PH值等传感器输出的0~20mA
或4~20mA模拟量信号。支持标准的Modbus RTU 协议,并具有通讯超时检测功
能,可同其它遵循Modbus RTU 协议的设备联合使用。
1.1 系统概述
M-1313模块主要由电源电路、隔离开关量输入电路、模拟量输入采样电路、
隔离RS485收发电路及MCU等部分组成。采用高速ARM处理器作为控制单元,拥
有隔离的RS485通讯接口,具有ESD、过压、过流保护功能,避免了工业现场信
号对模块通讯接口的影响,使通讯稳定可靠。
1.2 主要技术指标
1)系统参数
供电电压:5~40VDC,电源反接保护
功率消耗:最大2.0W(24V供电)
工作温度:-10℃~60℃
存储温度:-40℃~85℃
相对湿度:5%~95%不结露
2)数字量输入参数
输入路数:2组,每组8路
输入类型:开关触点信号或电平信号
1
M-1313用户手册V1.0
隔离电压:2500VDC
输入范围:高电平(数字1):5VDC~30VDC,6mA@24V,低电平(数字0):≤1VDC
3)模拟量输入参数
输入路数:4路单端输入
正常输入范围:0~20mA,4~20mA
最大输入范围:0~21mA
隔离电压:2500VDC
输入电阻:120Ω
ADC分辨率:12位
采样精度:0.5%
4)通讯接口
通讯接口:RS485 接口,隔离1500VDC,±15kV ESD 保护、过流保护
隔离电压:1500V
通讯协议:Modbus RTU 协议
波特率:1.2k,2.4k,4.8k,9.6k,19.2k,38.4k,57.6k,115.2k
通讯数据格式:1个起始位,8个数据位,无、奇或偶校验,1个或2个停止位
1.3 外形及尺寸
外壳材料:ABS工程塑料
尺寸大小:145mm(长) * 90mm(宽) * 40mm(高)
安装方式:标准DIN35导轨安装和螺钉安装,安装尺寸如图所示:
2
M-1313用户手册V1.0
2 模块功能
2.1 数字量输入
现场数字量输入信号与M-1313模块内部电路之间采用光耦隔离,输入信号分
成两组,M1与I0~I7为一组,M2与I8~I15为一组,两组输入之间相互隔离,其
中M1、M2分别为各组数字量输入的公共端(必须接电源负极)。
2.2 模拟量输入
现场传感器输出的电流信号接入M-1313模块的输入端,经模块内部集成的
精密电阻转换成电压信号,然后通过运算放大器、多路模拟开关和A/D电路进行
采集处理,得到相应的数值。接线原理如图所示:
3
M-1313用户手册V1.0
3 端子与拨码开关
3.1 端子描述
1)电源和通讯端子T1
T1
1
2
3
4
5
6
7
8
定义
V+
GND
A
B
SG
AI0
AI1
AI2
RS485+
RS485-
RS485信号地
第1路路电流型模拟量输入
第2路路电流型模拟量输入
第3路路电流型模拟量输入
4
说明
输入电源电压5~40VDC,如24VDC
M-1313用户手册V1.0
9 AI3 第4路路电流型模拟量输入
10 AGND 模拟量输入公共端,接电源负极
2)数字量输入端子T2
T2 定义 说明
1 I0
2 I1
3 I2
4 I3
5 I4
8路无源数字量输入
6 I5
7 I6
8 I7
9 M1 第一组数字量输入公共端,接电源负极
10 I8
11 I9
12 I10
13 I11
8路无源数字量输入
14 I12
15 I13
16 I14
17 I15
18 M2 第二组数字量输入公共端,接电源负极
3.2 拨码开关S1
1)节点地址ADDR(出厂默认节点地址为1)
节点 S6 S7 S8 S9 S10
0 OFF OFF OFF OFF OFF
1 OFF OFF OFF OFF ON
2 OFF OFF OFF ON OFF
3 OFF OFF OFF ON ON
5
M-1313用户手册V1.0
4 OFF OFF ON OFF OFF
5 OFF OFF ON OFF ON
6 OFF OFF ON ON OFF
7 OFF OFF ON ON ON
8 OFF ON OFF OFF OFF
9 OFF ON OFF OFF ON
10 OFF ON OFF ON OFF
11 OFF ON OFF ON ON
12 OFF ON ON OFF OFF
13 OFF ON ON OFF ON
14 OFF ON ON ON OFF
15 OFF ON ON ON ON
16 ON OFF OFF OFF OFF
17 ON OFF OFF OFF ON
18 ON OFF OFF ON OFF
19 ON OFF OFF ON ON
20 ON OFF ON OFF OFF
21 ON OFF ON OFF ON
22 ON OFF ON ON OFF
23 ON OFF ON ON ON
24 ON ON OFF OFF OFF
25 ON ON OFF OFF ON
26 ON ON OFF ON OFF
27 ON ON OFF ON ON
28 ON ON ON OFF OFF
29 ON ON ON OFF ON
30 ON ON ON ON OFF
31 ON ON ON ON ON
2)波特率BAUD(出厂默认波特率为9600bps)
6
M-1313用户手册V1.0
波特率
1200bps
2400bps
4800bps
9600bps
19200bps
38400bps
57600bps
115200bps
S3
OFF
OFF
OFF
OFF
ON
ON
ON
ON
S4
OFF
OFF
ON
ON
OFF
OFF
ON
ON
S5
OFF
ON
OFF
ON
OFF
ON
OFF
ON
3)数据格式CM(出厂默认为1个起始位,8个数据位,无校验,1个停止位)
通讯的数据格式为:1个起始位,8个数据位,校验和停止位如下:
描述
无校验,1个停止位
无校验,2个停止位
奇校验,1个停止位
偶校验,1个停止位
3.3 状态指示灯
工作状态
D1
绿色常亮
D2
绿色闪烁 正在收发通讯数据包
注:D2指示灯绿色闪烁的频率和通讯状态有关。通讯波特率越高,闪烁越
快;通讯越频繁,闪烁越快;如果总线上没有数据包传输,则不闪烁。
红色闪烁或常亮
模块正常
通讯故障或通讯超时
红色常亮
描述
模块故障
S1
OFF
OFF
ON
ON
S2
OFF
ON
OFF
ON
4 IO与模块参数
MODBUS 协议规定了4 种元件,分别是:离散输入(Discrete Input)、线
圈(Coil)、保持寄存器(Holding Register)、输入寄存器(Input Register)。模
7
M-1313用户手册V1.0
块中所有的IO和参数都映射到特定的MODBUS 元件,通过读写这些元件就可以
操作模块完成各项功能。
4.1 模拟量输入
M-1313模块有4 路模拟量输入通道,分别映射到第0~3号输入寄存器、第
0~3号保持寄存器,可通过读输入寄存器、读保持寄存器的值来获得模拟量输
入值,如下所示:
输入通道
类型
AI0
Modbus元件
PLC地址
0
0
1
1
2
2
3
3
Modbus地址
只读
只读
只读
只读
只读
只读
只读
只读
读写
输入寄存器 300001
保持寄存器 400001
输入寄存器 300002
AI1
保持寄存器 400002
输入寄存器 300003
AI2
保持寄存器 400003
AI3
保持寄存器 400004
输入寄存器 300004
M-1313模块有16 个数字量输入通道,分别映射到第0~15号离散量输入、
4号保持寄存器的0~15位。可通过读离散量输入、读保持寄存器的值来获得输
入状态,数字量输入映射如下所示:
输入通道
类型
I0
保持寄存器 400005.0
I1
保持寄存器 400005.1
I2
保持寄存器 400005.2
I3
离散量输入 100004
保持寄存器 400005.3
Modbus元件
读写
PLC地址 Modbus地址
0
4.0
1
4.1
2
4.2
3
4.3
只读
只读
只读
只读
只读
只读
只读
只读
8
离散量输入 100001
离散量输入 100002
离散量输入 100003
M-1313用户手册V1.0
I4
保持寄存器 400005.4
I5
保持寄存器 400005.5
I6
保持寄存器 400005.6
I7
离散量输入 100008
保持寄存器 400005.7
I8
离散量输入 100009
保持寄存器 400005.8
离散量输入 100010
保持寄存器 400005.9
离散量输入 100011
保持寄存器 400005.10
I11 离散量输入 100012
保持寄存器 400005.11
I12 离散量输入 100013
保持寄存器 400005.12
I13 离散量输入 100014
保持寄存器 400005.13
I14 离散量输入 100015
保持寄存器 400005.14
I15 离散量输入 100016
保持寄存器 400005.15
4.2 模块参数
M-1313模块的节点地址、波特率和数据格式通过拨码开关设置后,在上电
时自动进行配置,无需软件配置。
M-1313模块定义了超时时间参数用于控制通讯超时报警功能。该参数映射
到保持寄存器30005(高16位)和保持寄存器30006(低16位)中,该参数通
9
离散量输入 100005 4
4.4
5
4.5
6
4.6
7
4.7
8
4.8
9
4.9
10
4.10
11
4.11
12
4.12
13
4.13
14
4.14
15
4.15
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
离散量输入 100006
离散量输入 100007
I9
I10
M-1313用户手册V1.0
过16号功能码写入模块内部的EEPROM中,上电时自动加载此参数。
超时时间参数为32位无符号整数,单位为ms,该参数范围为0x0000000A~
0x000493E0,对应10~300000ms,如0x00002710表示10000ms。如果不需要启
用超时功能,将该值设置为0x00000000。
参数 元件类型
保持寄存器
超时时间
保持寄存器
430007 30006
PLC地址
430006
Modbus地址
30005
03或16
超时时间
低16位
功能码
描述
超时时间
高16位
5通讯协议
M-1313模块遵循标准的MODBUS RTU 协议,MODBUS 通讯协议详细信息请参
见MODBUS 标准化组织网站:/,这里结合M-1313模块
简要介绍MODBUS RTU 协议。
5.1 MODBUS通讯模式
MODBUS 协议使用查询/响应通讯模式。MODBUS 主站设备向选定地址的从站
设备发送请求报文,报文中包含了主站要求从站执行的操作以及完成该操作所需
要的任何附加信息。被选定的从站收到请求报文后,执行报文中指定的操作,并
根据执行结果发出响应报文。如果操作正确完成,则响应正常报文;如果在执行
过程中发生错误,则响应出错报文。主站根据从站响应报文判断从站操作结果,
以执行下一步操作。
5.2 模块支持的功能码
M-1313模块支持02、03、04、16号功能码,各功能码及所操作的元件如下
表所示。
元件
离散量输入
I/O 保持寄存器
输入寄存器
功能码
读写
02
03
04
读
读
读
功能
读多个离散量输入
读多个保持寄存器
读多个输入寄存器
10
M-1313用户手册V1.0
参数配置
保持寄存器
16 写 写多个保持寄存器
03 读 读多个保持寄存器
5.2.1 02号功能码
02号功能码用于读取1个或连续多个离散量输入,比如,读取从地址0开
始的16个离散量输入或者从地址9开始的2个离散量输入。注意,不能读取不
存在的离散量输入,否则模块将以出错报文响应。
1)主站请求报文
报文内容
从站地址
功能码
起始地址
离散量输入数量
CRC校验
长度
1字节
1字节
2字节
2字节
2字节
取值范围
0x01~0x1F
0x02
0x0000~0x000F
0x0001~0x0010
0x0000~0xFFFF
示例
0x01
0x02
0x0000
0x0010
0x79C6
注1:主站请求报文示例,读从0开始的16个离散量输入(一次读取该模块所
有的数字量输入)。
注2:起始地址和离散量输入数量相加不能大于16,否则会以出错报文响应。
2)从站正常响应报文
报文内容
从站地址
功能码
字节数量
离散量输入状态
CRC校验
长度
1字节
1字节
1字节
N字节
2字节
取值范围
0x01~0x1F
0x02
N
0x0000~0xFFFF
示例
0x01
0x02
0x02
0x00FF
0xF9F8
注1:N=离散量输入数量/8,如果余数不等于0,则N=N+1。
注2:从站正常响应报文示例,低字节在前,高字节在后,即I7~I0 为0,I15~
I08为1。
3)从站异常响应报文
11
M-1313用户手册V1.0
报文内容
从站地址
功能码
长度
1字节
1字节
取值范围
0x01~0x1F
0x82
0x01(不是支持的功能码)
示例
0x01
0x82
错误代码 1字节
0x03(寄存器数量不在0x0001~0x0002之间)
0x04(数据校验错误)
0x02(起始地址不在0x0000~0x000F之间)
0x01
CRC校验
2字节 0x0000~0xFFFF 0x8160
5.2.2 03号功能码
1)主站请求报文
报文内容
从站地址
功能码
起始地址
输入数量
CRC校验
长度
1字节
1字节
2字节
2字节
2字节
取值范围
0x01~0x1F
0x03
0x0000~0x0008
0x0001~0x0009
0x0000~0xFFFF
示例
0x01
0x03
0x0000
0x0001
0x840A
注1:主站请求报文示例,读从0开始的1个保持寄存器(即读保持寄存器0,
映射为模块的第一路模拟量输入AI0)。
注2:起始地址和输入寄存器数量相加不能大于9,否则会以出错报文响应。
2)从站正常响应报文
报文内容
从站地址
功能码
字节数量
输入数据
CRC校验
长度
1字节
1字节
1字节
N字节
2字节
取值范围
0x01~0x1F
0x03
N
0x0000~0xFFFF
示例
0x01
0x03
0x02
0x16EE
0x3668
注1:N=响应中数据的字节数量。
注2:从站正常响应报文示例,输入数据为0x16EE,对应的电流为:
12
M-1313用户手册V1.0
5870*20/10000=11.74mA(即输入数据值0~10000对应电流值为0~20mA)。
3)从站异常响应报文
报文内容
从站地址
功能码
长度
1字节
1字节
取值范围
0x01~0x1F
0x83
0x01(不是支持的功能码)
错误代码 1字节
0x02(起始地址不在0x0000~0x001F之间)
0x03(寄存器数量不在0x0001~0x0020之间)
0x04(数据校验错误)
CRC校验 2字节 0x0000~0xFFFF
5.2.3 04号功能码
1)主站请求报文
报文内容
从站地址
功能码
起始地址
输入数量
CRC校验
长度
1字节
1字节
2字节
2字节
2字节
取值范围
0x01~0x1F
0x04
0x0000~0x0003
0x0001~0x0004
0x0000~0xFFFF
示例
0x01
0x04
0x0000
0x0001
0x31CA
0x80F0
0x01
示例
0x01
0x83
注1:主站请求报文示例,读从0开始的1个输入寄存器(即读输入寄存器0,
映射为模块的第一路模拟量输入AI0)。
注2:起始地址和输入寄存器数量相加不能大于4,否则会以出错报文响应。
2)从站正常响应报文
报文内容
从站地址
功能码
字节数量
输入数据
长度
1字节
1字节
1字节
N字节
取值范围
0x01~0x1F
0x04
N
示例
0x01
0x04
0x02
0x16EE
13
M-1313用户手册V1.0
CRC校验 2字节 0x0000~0xFFFF 0x371C
注1:N=响应中数据的字节数量。
注2:从站正常响应报文示例,输入数据为0x16EE,对应的电流为:
5870*20/10000=11.74mA(即输入数据值0~10000对应电流值为0~20mA)。
3)从站异常响应报文
报文内容
从站地址
功能码
长度
1字节
1字节
取值范围
0x01~0x1F
0x84
0x01(不是支持的功能码)
错误代码 1字节
0x02(起始地址不在0x0000~0x001F之间)
0x03(寄存器数量不在0x0001~0x0020之间)
0x04(数据校验错误)
CRC校验 2字节 0x0000~0xFFFF
5.2.4 16号功能码
16号功能码用于写保持寄存器,比如,一次写2个或多个连续的保持寄存
器。写时,请求报文中指定的寄存器必须存在并可写,否则模块将以出错报文响
应。
1)主站请求报文
报文内容
从站地址
功能码
起始地址
寄存器数量
字节数
寄存器值
CRC校验
长度
1字节
1字节
2字节
2字节
1字节
2*N字节
2字节
取值范围
0x01~0x1F
0x10
0x7535
N
2*N
0x0000~0xFFFF
示例
0x01
0x10
0x7535
0x0002
0x04
0x0000,0x2710
0x702A
0x82C0
0x01
示例
0x01
0x84
注1:主站请求报文示例,写从30005开始的2个保持寄存器(超时时间参数)。
注2:N取值可为2、4,写入其它值时模块将以出错报文响应。
14
M-1313用户手册V1.0
2)从站正常响应报文
报文内容
从站地址
功能码
起始地址
寄存器数量
CRC校验
3)从站异常响应报文
报文内容
从站地址
功能码
长度
1字节
1字节
取值范围
0x01~0x1F
0x90
0x01(不是支持的功能码)
错误代码 1字节
0x03(寄存器数量不在0x0001~0x0002之间)
0x04(数据校验错误)
CRC校验
2字节 0x0000~0xFFFF 0x8DC0
0x02(起始地址不在0x0000~0x000F之间)
0x01
示例
0x01
0x90
长度
1字节
1字节
2字节
2字节
2字节
取值范围
0x01~0x1F
0x10
0x7535
N
0x0000~0xFFFF
示例
0x01
0x10
0x7535
0x0002
0x4BCA
6 应用指南
M-1313模块是基于RS485总线的IO模块,M-1313模块组网时,需要配备以下设
备:
1)Modbus主机,如PC、PLC、工控机等;
2)直流电源(+5~+40V),如12V或24V电源;
3)如果Modbus主机只有RS232接口,则必须配备隔离的RS232/RS485转换器。
如下图所示,以带RS485接口的PC机作为Modbus主机为例
15
M-1313用户手册V1.0
在组网前,需要根据系统需求确定RS485总线的波特率、数据通讯格式以及
每个模块的节点地址,这些均可通过10位拨码开关进行设置,拨码开关设置完成
后,模块上电时自动保持所设参数,无需软件配置。值得注意的是,总线上每个
模块的波特率和数据通讯格式必须一致,且每个模块的节点地址必须是唯一的。
M-1313模块遵循标准的Modbus RTU协议,可以与任何遵循Modbus RTU协议的
设备配合使用。如常用的组态软件、支持Modbus RTU协议的PLC等,详细信息请
见相应的使用说明。
16
2024年11月2日发(作者:止婉)
M-1313用户手册V1.0
M-1313用户手册V1.0
基于Modbus的16DI/4AI采集模块
1 产品简介
M-1313(基于Modbus的16DI/4AI采集模块)作为通用型数字量和模拟量采
集模块广泛应用于冶金、化工、机械、消防、建筑、电力、交通等工业行业中,
具有2组相互隔离的开关量输入通道,每组8 路,可接入16路开关量信号,同
时可接入4路温度、湿度、液位、压力、流量、PH值等传感器输出的0~20mA
或4~20mA模拟量信号。支持标准的Modbus RTU 协议,并具有通讯超时检测功
能,可同其它遵循Modbus RTU 协议的设备联合使用。
1.1 系统概述
M-1313模块主要由电源电路、隔离开关量输入电路、模拟量输入采样电路、
隔离RS485收发电路及MCU等部分组成。采用高速ARM处理器作为控制单元,拥
有隔离的RS485通讯接口,具有ESD、过压、过流保护功能,避免了工业现场信
号对模块通讯接口的影响,使通讯稳定可靠。
1.2 主要技术指标
1)系统参数
供电电压:5~40VDC,电源反接保护
功率消耗:最大2.0W(24V供电)
工作温度:-10℃~60℃
存储温度:-40℃~85℃
相对湿度:5%~95%不结露
2)数字量输入参数
输入路数:2组,每组8路
输入类型:开关触点信号或电平信号
1
M-1313用户手册V1.0
隔离电压:2500VDC
输入范围:高电平(数字1):5VDC~30VDC,6mA@24V,低电平(数字0):≤1VDC
3)模拟量输入参数
输入路数:4路单端输入
正常输入范围:0~20mA,4~20mA
最大输入范围:0~21mA
隔离电压:2500VDC
输入电阻:120Ω
ADC分辨率:12位
采样精度:0.5%
4)通讯接口
通讯接口:RS485 接口,隔离1500VDC,±15kV ESD 保护、过流保护
隔离电压:1500V
通讯协议:Modbus RTU 协议
波特率:1.2k,2.4k,4.8k,9.6k,19.2k,38.4k,57.6k,115.2k
通讯数据格式:1个起始位,8个数据位,无、奇或偶校验,1个或2个停止位
1.3 外形及尺寸
外壳材料:ABS工程塑料
尺寸大小:145mm(长) * 90mm(宽) * 40mm(高)
安装方式:标准DIN35导轨安装和螺钉安装,安装尺寸如图所示:
2
M-1313用户手册V1.0
2 模块功能
2.1 数字量输入
现场数字量输入信号与M-1313模块内部电路之间采用光耦隔离,输入信号分
成两组,M1与I0~I7为一组,M2与I8~I15为一组,两组输入之间相互隔离,其
中M1、M2分别为各组数字量输入的公共端(必须接电源负极)。
2.2 模拟量输入
现场传感器输出的电流信号接入M-1313模块的输入端,经模块内部集成的
精密电阻转换成电压信号,然后通过运算放大器、多路模拟开关和A/D电路进行
采集处理,得到相应的数值。接线原理如图所示:
3
M-1313用户手册V1.0
3 端子与拨码开关
3.1 端子描述
1)电源和通讯端子T1
T1
1
2
3
4
5
6
7
8
定义
V+
GND
A
B
SG
AI0
AI1
AI2
RS485+
RS485-
RS485信号地
第1路路电流型模拟量输入
第2路路电流型模拟量输入
第3路路电流型模拟量输入
4
说明
输入电源电压5~40VDC,如24VDC
M-1313用户手册V1.0
9 AI3 第4路路电流型模拟量输入
10 AGND 模拟量输入公共端,接电源负极
2)数字量输入端子T2
T2 定义 说明
1 I0
2 I1
3 I2
4 I3
5 I4
8路无源数字量输入
6 I5
7 I6
8 I7
9 M1 第一组数字量输入公共端,接电源负极
10 I8
11 I9
12 I10
13 I11
8路无源数字量输入
14 I12
15 I13
16 I14
17 I15
18 M2 第二组数字量输入公共端,接电源负极
3.2 拨码开关S1
1)节点地址ADDR(出厂默认节点地址为1)
节点 S6 S7 S8 S9 S10
0 OFF OFF OFF OFF OFF
1 OFF OFF OFF OFF ON
2 OFF OFF OFF ON OFF
3 OFF OFF OFF ON ON
5
M-1313用户手册V1.0
4 OFF OFF ON OFF OFF
5 OFF OFF ON OFF ON
6 OFF OFF ON ON OFF
7 OFF OFF ON ON ON
8 OFF ON OFF OFF OFF
9 OFF ON OFF OFF ON
10 OFF ON OFF ON OFF
11 OFF ON OFF ON ON
12 OFF ON ON OFF OFF
13 OFF ON ON OFF ON
14 OFF ON ON ON OFF
15 OFF ON ON ON ON
16 ON OFF OFF OFF OFF
17 ON OFF OFF OFF ON
18 ON OFF OFF ON OFF
19 ON OFF OFF ON ON
20 ON OFF ON OFF OFF
21 ON OFF ON OFF ON
22 ON OFF ON ON OFF
23 ON OFF ON ON ON
24 ON ON OFF OFF OFF
25 ON ON OFF OFF ON
26 ON ON OFF ON OFF
27 ON ON OFF ON ON
28 ON ON ON OFF OFF
29 ON ON ON OFF ON
30 ON ON ON ON OFF
31 ON ON ON ON ON
2)波特率BAUD(出厂默认波特率为9600bps)
6
M-1313用户手册V1.0
波特率
1200bps
2400bps
4800bps
9600bps
19200bps
38400bps
57600bps
115200bps
S3
OFF
OFF
OFF
OFF
ON
ON
ON
ON
S4
OFF
OFF
ON
ON
OFF
OFF
ON
ON
S5
OFF
ON
OFF
ON
OFF
ON
OFF
ON
3)数据格式CM(出厂默认为1个起始位,8个数据位,无校验,1个停止位)
通讯的数据格式为:1个起始位,8个数据位,校验和停止位如下:
描述
无校验,1个停止位
无校验,2个停止位
奇校验,1个停止位
偶校验,1个停止位
3.3 状态指示灯
工作状态
D1
绿色常亮
D2
绿色闪烁 正在收发通讯数据包
注:D2指示灯绿色闪烁的频率和通讯状态有关。通讯波特率越高,闪烁越
快;通讯越频繁,闪烁越快;如果总线上没有数据包传输,则不闪烁。
红色闪烁或常亮
模块正常
通讯故障或通讯超时
红色常亮
描述
模块故障
S1
OFF
OFF
ON
ON
S2
OFF
ON
OFF
ON
4 IO与模块参数
MODBUS 协议规定了4 种元件,分别是:离散输入(Discrete Input)、线
圈(Coil)、保持寄存器(Holding Register)、输入寄存器(Input Register)。模
7
M-1313用户手册V1.0
块中所有的IO和参数都映射到特定的MODBUS 元件,通过读写这些元件就可以
操作模块完成各项功能。
4.1 模拟量输入
M-1313模块有4 路模拟量输入通道,分别映射到第0~3号输入寄存器、第
0~3号保持寄存器,可通过读输入寄存器、读保持寄存器的值来获得模拟量输
入值,如下所示:
输入通道
类型
AI0
Modbus元件
PLC地址
0
0
1
1
2
2
3
3
Modbus地址
只读
只读
只读
只读
只读
只读
只读
只读
读写
输入寄存器 300001
保持寄存器 400001
输入寄存器 300002
AI1
保持寄存器 400002
输入寄存器 300003
AI2
保持寄存器 400003
AI3
保持寄存器 400004
输入寄存器 300004
M-1313模块有16 个数字量输入通道,分别映射到第0~15号离散量输入、
4号保持寄存器的0~15位。可通过读离散量输入、读保持寄存器的值来获得输
入状态,数字量输入映射如下所示:
输入通道
类型
I0
保持寄存器 400005.0
I1
保持寄存器 400005.1
I2
保持寄存器 400005.2
I3
离散量输入 100004
保持寄存器 400005.3
Modbus元件
读写
PLC地址 Modbus地址
0
4.0
1
4.1
2
4.2
3
4.3
只读
只读
只读
只读
只读
只读
只读
只读
8
离散量输入 100001
离散量输入 100002
离散量输入 100003
M-1313用户手册V1.0
I4
保持寄存器 400005.4
I5
保持寄存器 400005.5
I6
保持寄存器 400005.6
I7
离散量输入 100008
保持寄存器 400005.7
I8
离散量输入 100009
保持寄存器 400005.8
离散量输入 100010
保持寄存器 400005.9
离散量输入 100011
保持寄存器 400005.10
I11 离散量输入 100012
保持寄存器 400005.11
I12 离散量输入 100013
保持寄存器 400005.12
I13 离散量输入 100014
保持寄存器 400005.13
I14 离散量输入 100015
保持寄存器 400005.14
I15 离散量输入 100016
保持寄存器 400005.15
4.2 模块参数
M-1313模块的节点地址、波特率和数据格式通过拨码开关设置后,在上电
时自动进行配置,无需软件配置。
M-1313模块定义了超时时间参数用于控制通讯超时报警功能。该参数映射
到保持寄存器30005(高16位)和保持寄存器30006(低16位)中,该参数通
9
离散量输入 100005 4
4.4
5
4.5
6
4.6
7
4.7
8
4.8
9
4.9
10
4.10
11
4.11
12
4.12
13
4.13
14
4.14
15
4.15
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
只读
离散量输入 100006
离散量输入 100007
I9
I10
M-1313用户手册V1.0
过16号功能码写入模块内部的EEPROM中,上电时自动加载此参数。
超时时间参数为32位无符号整数,单位为ms,该参数范围为0x0000000A~
0x000493E0,对应10~300000ms,如0x00002710表示10000ms。如果不需要启
用超时功能,将该值设置为0x00000000。
参数 元件类型
保持寄存器
超时时间
保持寄存器
430007 30006
PLC地址
430006
Modbus地址
30005
03或16
超时时间
低16位
功能码
描述
超时时间
高16位
5通讯协议
M-1313模块遵循标准的MODBUS RTU 协议,MODBUS 通讯协议详细信息请参
见MODBUS 标准化组织网站:/,这里结合M-1313模块
简要介绍MODBUS RTU 协议。
5.1 MODBUS通讯模式
MODBUS 协议使用查询/响应通讯模式。MODBUS 主站设备向选定地址的从站
设备发送请求报文,报文中包含了主站要求从站执行的操作以及完成该操作所需
要的任何附加信息。被选定的从站收到请求报文后,执行报文中指定的操作,并
根据执行结果发出响应报文。如果操作正确完成,则响应正常报文;如果在执行
过程中发生错误,则响应出错报文。主站根据从站响应报文判断从站操作结果,
以执行下一步操作。
5.2 模块支持的功能码
M-1313模块支持02、03、04、16号功能码,各功能码及所操作的元件如下
表所示。
元件
离散量输入
I/O 保持寄存器
输入寄存器
功能码
读写
02
03
04
读
读
读
功能
读多个离散量输入
读多个保持寄存器
读多个输入寄存器
10
M-1313用户手册V1.0
参数配置
保持寄存器
16 写 写多个保持寄存器
03 读 读多个保持寄存器
5.2.1 02号功能码
02号功能码用于读取1个或连续多个离散量输入,比如,读取从地址0开
始的16个离散量输入或者从地址9开始的2个离散量输入。注意,不能读取不
存在的离散量输入,否则模块将以出错报文响应。
1)主站请求报文
报文内容
从站地址
功能码
起始地址
离散量输入数量
CRC校验
长度
1字节
1字节
2字节
2字节
2字节
取值范围
0x01~0x1F
0x02
0x0000~0x000F
0x0001~0x0010
0x0000~0xFFFF
示例
0x01
0x02
0x0000
0x0010
0x79C6
注1:主站请求报文示例,读从0开始的16个离散量输入(一次读取该模块所
有的数字量输入)。
注2:起始地址和离散量输入数量相加不能大于16,否则会以出错报文响应。
2)从站正常响应报文
报文内容
从站地址
功能码
字节数量
离散量输入状态
CRC校验
长度
1字节
1字节
1字节
N字节
2字节
取值范围
0x01~0x1F
0x02
N
0x0000~0xFFFF
示例
0x01
0x02
0x02
0x00FF
0xF9F8
注1:N=离散量输入数量/8,如果余数不等于0,则N=N+1。
注2:从站正常响应报文示例,低字节在前,高字节在后,即I7~I0 为0,I15~
I08为1。
3)从站异常响应报文
11
M-1313用户手册V1.0
报文内容
从站地址
功能码
长度
1字节
1字节
取值范围
0x01~0x1F
0x82
0x01(不是支持的功能码)
示例
0x01
0x82
错误代码 1字节
0x03(寄存器数量不在0x0001~0x0002之间)
0x04(数据校验错误)
0x02(起始地址不在0x0000~0x000F之间)
0x01
CRC校验
2字节 0x0000~0xFFFF 0x8160
5.2.2 03号功能码
1)主站请求报文
报文内容
从站地址
功能码
起始地址
输入数量
CRC校验
长度
1字节
1字节
2字节
2字节
2字节
取值范围
0x01~0x1F
0x03
0x0000~0x0008
0x0001~0x0009
0x0000~0xFFFF
示例
0x01
0x03
0x0000
0x0001
0x840A
注1:主站请求报文示例,读从0开始的1个保持寄存器(即读保持寄存器0,
映射为模块的第一路模拟量输入AI0)。
注2:起始地址和输入寄存器数量相加不能大于9,否则会以出错报文响应。
2)从站正常响应报文
报文内容
从站地址
功能码
字节数量
输入数据
CRC校验
长度
1字节
1字节
1字节
N字节
2字节
取值范围
0x01~0x1F
0x03
N
0x0000~0xFFFF
示例
0x01
0x03
0x02
0x16EE
0x3668
注1:N=响应中数据的字节数量。
注2:从站正常响应报文示例,输入数据为0x16EE,对应的电流为:
12
M-1313用户手册V1.0
5870*20/10000=11.74mA(即输入数据值0~10000对应电流值为0~20mA)。
3)从站异常响应报文
报文内容
从站地址
功能码
长度
1字节
1字节
取值范围
0x01~0x1F
0x83
0x01(不是支持的功能码)
错误代码 1字节
0x02(起始地址不在0x0000~0x001F之间)
0x03(寄存器数量不在0x0001~0x0020之间)
0x04(数据校验错误)
CRC校验 2字节 0x0000~0xFFFF
5.2.3 04号功能码
1)主站请求报文
报文内容
从站地址
功能码
起始地址
输入数量
CRC校验
长度
1字节
1字节
2字节
2字节
2字节
取值范围
0x01~0x1F
0x04
0x0000~0x0003
0x0001~0x0004
0x0000~0xFFFF
示例
0x01
0x04
0x0000
0x0001
0x31CA
0x80F0
0x01
示例
0x01
0x83
注1:主站请求报文示例,读从0开始的1个输入寄存器(即读输入寄存器0,
映射为模块的第一路模拟量输入AI0)。
注2:起始地址和输入寄存器数量相加不能大于4,否则会以出错报文响应。
2)从站正常响应报文
报文内容
从站地址
功能码
字节数量
输入数据
长度
1字节
1字节
1字节
N字节
取值范围
0x01~0x1F
0x04
N
示例
0x01
0x04
0x02
0x16EE
13
M-1313用户手册V1.0
CRC校验 2字节 0x0000~0xFFFF 0x371C
注1:N=响应中数据的字节数量。
注2:从站正常响应报文示例,输入数据为0x16EE,对应的电流为:
5870*20/10000=11.74mA(即输入数据值0~10000对应电流值为0~20mA)。
3)从站异常响应报文
报文内容
从站地址
功能码
长度
1字节
1字节
取值范围
0x01~0x1F
0x84
0x01(不是支持的功能码)
错误代码 1字节
0x02(起始地址不在0x0000~0x001F之间)
0x03(寄存器数量不在0x0001~0x0020之间)
0x04(数据校验错误)
CRC校验 2字节 0x0000~0xFFFF
5.2.4 16号功能码
16号功能码用于写保持寄存器,比如,一次写2个或多个连续的保持寄存
器。写时,请求报文中指定的寄存器必须存在并可写,否则模块将以出错报文响
应。
1)主站请求报文
报文内容
从站地址
功能码
起始地址
寄存器数量
字节数
寄存器值
CRC校验
长度
1字节
1字节
2字节
2字节
1字节
2*N字节
2字节
取值范围
0x01~0x1F
0x10
0x7535
N
2*N
0x0000~0xFFFF
示例
0x01
0x10
0x7535
0x0002
0x04
0x0000,0x2710
0x702A
0x82C0
0x01
示例
0x01
0x84
注1:主站请求报文示例,写从30005开始的2个保持寄存器(超时时间参数)。
注2:N取值可为2、4,写入其它值时模块将以出错报文响应。
14
M-1313用户手册V1.0
2)从站正常响应报文
报文内容
从站地址
功能码
起始地址
寄存器数量
CRC校验
3)从站异常响应报文
报文内容
从站地址
功能码
长度
1字节
1字节
取值范围
0x01~0x1F
0x90
0x01(不是支持的功能码)
错误代码 1字节
0x03(寄存器数量不在0x0001~0x0002之间)
0x04(数据校验错误)
CRC校验
2字节 0x0000~0xFFFF 0x8DC0
0x02(起始地址不在0x0000~0x000F之间)
0x01
示例
0x01
0x90
长度
1字节
1字节
2字节
2字节
2字节
取值范围
0x01~0x1F
0x10
0x7535
N
0x0000~0xFFFF
示例
0x01
0x10
0x7535
0x0002
0x4BCA
6 应用指南
M-1313模块是基于RS485总线的IO模块,M-1313模块组网时,需要配备以下设
备:
1)Modbus主机,如PC、PLC、工控机等;
2)直流电源(+5~+40V),如12V或24V电源;
3)如果Modbus主机只有RS232接口,则必须配备隔离的RS232/RS485转换器。
如下图所示,以带RS485接口的PC机作为Modbus主机为例
15
M-1313用户手册V1.0
在组网前,需要根据系统需求确定RS485总线的波特率、数据通讯格式以及
每个模块的节点地址,这些均可通过10位拨码开关进行设置,拨码开关设置完成
后,模块上电时自动保持所设参数,无需软件配置。值得注意的是,总线上每个
模块的波特率和数据通讯格式必须一致,且每个模块的节点地址必须是唯一的。
M-1313模块遵循标准的Modbus RTU协议,可以与任何遵循Modbus RTU协议的
设备配合使用。如常用的组态软件、支持Modbus RTU协议的PLC等,详细信息请
见相应的使用说明。
16