M-IF16C用户手册V1.1
基于Modbus的16路电流型模拟量输入模块
1 产品简介
M-IF16C(基于Modbus的16路电流型模拟量输入模块)作为通用型模拟量量采集模块广泛应用于冶金、化工、机械、消防、建筑、电力、交通等工业行业中,可接入16路温度、湿度、液位、压力、流量、PH值等传感器输出的0~20mA或4~20mA模拟量信号。支持标准的Modbus RTU 协议,并具有通讯超时检测功能,可同其它遵循Modbus RTU 协议的设备联合使用。
1.1 系统概述
M-IF16C模块的原理框图如图1.1所示,模块主要由电源电路、模拟量输入采样电路、隔离RS485收发电路及MCU等部分组成。采用高速ARM处理器作为控制单元,拥有隔离的RS485通讯接口,具有ESD、过压、过流保护功能,避免了工业现场信号对模块通讯接口的影响,使通讯稳定可靠。
图1.1 原理框图
1.2 主要技术指标 1)系统参数
供电电压:5~40VDC,电源反接保护 功率消耗:0.5W
1
北京掌中宇时代科技有限公司
www.zzykj.cn M-IF16C用户手册V1.1
工作温度:-10℃~60℃ 存储温度:-40℃~85℃ 相对湿度:5%~95%不结露
2)模拟量输入参数 输入路数:16路单端输入 正常输入范围:0~20mA,4~20mA 最大输入范围:0~21mA 隔离电压:2500VDC 输入电阻:120Ω ADC分辨率:12位 采样精度:0.5% 采样速率:100次/s
3)通讯接口
通讯接口: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导轨安装和螺钉安装 模块外形如图1.2所示,安装尺寸如图1.3所示。
北京掌中宇时代科技有限公司
www.zzykj.cn 2
M-IF16C用户手册V1.1
图1.2 外形图
3
北京掌中宇时代科技有限公司
www.zzykj.cn M-IF16C用户手册V1.1
图1.3 安装尺寸图
2 模块功能
2.1 模拟量输入
现场传感器输出的电流信号接入M-IF16C模块的输入端,经模块内部集成的精密电阻转换成电压信号,然后通过运算放大器、多路模拟开关和A/D电路进行采集处理,得到相应的数值,接线原理如图1.4所示。
4
北京掌中宇时代科技有限公司
www.zzykj.cn M-IF16C用户手册V1.1
图1.4 接线原理图
3 端子与拨码开关
3.1 端子描述 1)电源和通讯端子T1
T1 1 2 3 4 5
定义 V+ GND A B SG
RS485+ RS485- RS485信号地
5
北京掌中宇时代科技有限公司
www.zzykj.cn 说明
输入电源电压5~40VDC,如24VDC
M-IF16C用户手册V1.1
2)模拟量输入端子T2
T2 定义 说明
1 AI0 2 AI1 3 AI2 4 AI3 8路电流型模拟量输入
5 AI4 6 AI5 7 AI6 8 AI7 9 AGND 模拟量输入公共端,接电源负极
10 AGND 11 AI8 12 AI9 13 AI10 14 AI11 8路电流型模拟量输入
15 AI12 16 AI13 17 AI14 18
AI15
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 4
OFF
OFF
ON
OFF
OFF
北京掌中宇时代科技有限公司
www.zzykj.cn 6
M-IF16C用户手册V1.1
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)
北京掌中宇时代科技有限公司
www.zzykj.cn 7
M-IF16C用户手册V1.1
波特率 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
红色闪烁或常亮
绿色闪烁
描述 模块故障 模块正常 通讯故障或通讯超时 正在收发通讯数据包 S1 OFF OFF ON ON
S2 OFF ON OFF ON
注:D2指示灯绿色闪烁的频率和通讯状态有关。通讯波特率越高,闪烁越快;通讯越频繁,闪烁越快;如果总线上没有数据包传输,则不闪烁。
4 IO与模块参数
MODBUS 协议规定了4 种元件,分别是:离散输入(Discrete Input)、线
8
北京掌中宇时代科技有限公司
www.zzykj.cn M-IF16C用户手册V1.1
圈(Coil)、保持寄存器(Holding Register)、输入寄存器(Input Register)。模块中所有的IO和参数都映射到特定的MODBUS 元件,通过读写这些元件就可以操作模块完成各项功能。
4.1 模拟量输入
M-IF16C模块有16 路模拟量输入通道,分别映射到第0~15号输入寄存器、第0~15号保持寄存器,可通过读输入寄存器、读保持寄存器的值来获得模拟量输入值,如下所示: 输入通道
类型
AI0
Modbus元件 PLC地址
0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9
Modbus地址
只读 只读 只读 只读 只读 只读 只读 只读 只读 只读 只读 只读 只读 只读 只读 只读 只读 只读 只读
9
北京掌中宇时代科技有限公司
www.zzykj.cn 读写
输入寄存器 300001 保持寄存器
400001
AI1
输入寄存器 300002 保持寄存器
400002
AI2
输入寄存器 300003 保持寄存器
400003
AI3
输入寄存器 300004 保持寄存器
400004
AI4
输入寄存器 300005 保持寄存器
400005
AI5
输入寄存器 300006 保持寄存器
400006
AI6
输入寄存器 300007 保持寄存器
400007
AI7
输入寄存器 300008 保持寄存器
400008
AI8 AI9
输入寄存器 300009 保持寄存器 输入寄存器
400009 300010
M-IF16C用户手册V1.1
保持寄存器 400010
AI10
输入寄存器 300011 保持寄存器
AI11
400011
9 10 10 11 11 12 12 13 13 14 14 15 15
只读 只读 只读 只读 只读 只读 只读 只读 只读 只读 只读 只读 只读
输入寄存器 300012 保持寄存器
400012
AI12
输入寄存器 300013 保持寄存器
400013
AI13
输入寄存器 300014 保持寄存器
400014
AI14
输入寄存器 300015 保持寄存器
400015
AI15
4.2 模块参数
输入寄存器 300016 保持寄存器
400016
M-IF16C模块的节点地址、波特率和数据格式通过拨码开关设置后,在上电时自动进行配置,无需软件配置。
M-IF16C模块定义了超时时间参数用于控制通讯超时报警功能。该参数映射到保持寄存器30016(高16位)和保持寄存器30017(低16位)中,该参数通过16号功能码写入模块内部的EEPROM中,上电时自动加载此参数。
超时时间参数为32位无符号整数,单位为ms,该参数范围为0x0000000A~0x000493E0,对应10~300000ms,如0x00002710表示10000ms。如果不需要启用超时功能,将该值设置为0x00000000。 参数
元件类型 保持寄存器
超时时间 保持寄存器
430018
30017
PLC地址 430017
Modbus地址 30016
03或16 功能码
描述 超时时间 高16位 超时时间 低16位
10
北京掌中宇时代科技有限公司
www.zzykj.cn M-IF16C用户手册V1.1
5通讯协议
M-IF16C模块遵循标准的MODBUS RTU 协议,MODBUS 通讯协议详细信息请参 见MODBUS 标准化组织网站:http://www.modbus.org/,这里结合M-IF16C模块 简要介绍MODBUS RTU 协议。
5.1 MODBUS通讯模式
MODBUS 协议使用查询/响应通讯模式。MODBUS 主站设备向选定地址的从站设备发送请求报文,报文中包含了主站要求从站执行的操作以及完成该操作所需要的任何附加信息。被选定的从站收到请求报文后,执行报文中指定的操作,并根据执行结果发出响应报文。如果操作正确完成,则响应正常报文;如果在执行过程中发生错误,则响应出错报文。主站根据从站响应报文判断从站操作结果,以执行下一步操作。
5.2 模块支持的功能码
M-IF16C模块支持03、04、16号功能码,各功能码及所操作的元件如下表所示。
元件
I/O
保持寄存器 输入寄存器
参数配置
5.2.1 03号功能码 1)主站请求报文 报文内容 从站地址 功能码 起始地址 输入数量
长度 1字节 1字节 2字节 2字节
取值范围 0x01~0x1F 0x03
0x0000~0x001F 0x0001~0x0020
示例 0x01 0x03 0x0000 0x0001
11
北京掌中宇时代科技有限公司
www.zzykj.cn 功能码 读写 03 04 03 16
读 读 读 写
功能 读多个保持寄存器 读多个输入寄存器 读多个保持寄存器 写多个保持寄存器
保持寄存器
M-IF16C用户手册V1.1
CRC校验 2字节 0x0000~0xFFFF 0x840A
注1:主站请求报文示例,读从0开始的1个保持寄存器(即读保持寄存器0,映射为模块的第一路模拟量输入AI0)。
注2:起始地址和输入寄存器数量相加不能大于32,否则会以出错报文响应。
2)从站正常响应报文 报文内容 从站地址 功能码 字节数量 输入数据 CRC校验
长度 1字节 1字节 1字节 N字节 2字节
取值范围 0x01~0x1F 0x03 N
0x0000~0xFFFF
示例 0x01 0x03 0x02 0x16EE 0x3668
注1:N=响应中数据的字节数量。
注2:从站正常响应报文示例,输入数据为0x16EE,对应的电流为: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.2 04号功能码 1)主站请求报文 报文内容
长度
取值范围
示例
12
北京掌中宇时代科技有限公司
www.zzykj.cn 示例 0x01 0x83
0x01
0x80F0
M-IF16C用户手册V1.1
从站地址 功能码 起始地址 输入数量 CRC校验
1字节 1字节 2字节 2字节 2字节
0x01~0x1F 0x04
0x0000~0x001F 0x0001~0x0020 0x0000~0xFFFF
0x01 0x04 0x0000 0x0001 0x31CA
注1:主站请求报文示例,读从0开始的1个输入寄存器(即读输入寄存器0,映射为模块的第一路模拟量输入AI0)。
注2:起始地址和输入寄存器数量相加不能大于32,否则会以出错报文响应。
2)从站正常响应报文 报文内容 从站地址 功能码 字节数量 输入数据 CRC校验
长度 1字节 1字节 1字节 N字节 2字节
取值范围 0x01~0x1F 0x04 N
0x0000~0xFFFF
示例 0x01 0x04 0x02 0x16EE 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
13
北京掌中宇时代科技有限公司
www.zzykj.cn 示例 0x01 0x84
0x01
0x82C0
M-IF16C用户手册V1.1
5.2.3 16号功能码
16号功能码用于写保持寄存器,比如,一次写2个或多个连续的保持寄存器。写时,请求报文中指定的寄存器必须存在并可写,否则模块将以出错报文响应。
1)主站请求报文 报文内容 从站地址 功能码 起始地址 寄存器数量 字节数 寄存器值 CRC校验
长度 1字节 1字节 2字节 2字节 1字节 2*N字节 2字节
取值范围 0x01~0x1F 0x10 0x7540 N 2*N
0x0000~0xFFFF
示例 0x01 0x10 0x7540 0x0002 0x04
0x0000,0x2710 0xB731
注1:主站请求报文示例,写从30016开始的2个保持寄存器(超时时间参数)。 注2:N取值可为2、4、6、8,写入其它值时模块将以出错报文响应。
2)从站正常响应报文 报文内容 从站地址 功能码 起始地址 寄存器数量 CRC校验
3)从站异常响应报文 报文内容 从站地址 功能码 错误代码
长度 1字节 1字节
取值范围 0x01~0x1F 0x90
示例 0x01 0x90 0x01
14
北京掌中宇时代科技有限公司
www.zzykj.cn 长度 1字节 1字节 2字节 2字节 2字节
取值范围 0x01~0x1F 0x10 0x7540 N
0x0000~0xFFFF
示例 0x01 0x10 0x7540 0x0002 0x5A10
1字节 0x01(不是支持的功能码)
M-IF16C用户手册V1.1
0x02(起始地址不在0x0000~0x000F之间) 0x03(寄存器数量不在0x0001~0x0002之间) 0x04(数据校验错误)
CRC校验
2字节
0x0000~0xFFFF
0x8DC0
6 应用指南
M-IF16C模块是基于RS485总线的IO模块,M-IF16C模块组网时,需要配备以下设备:
1)Modbus主机,如PC、PLC、工控机等; 2)直流电源(+5~+40V),如12V或24V电源;
3)如果Modbus主机只有RS232接口,则必须配备隔离的RS232/RS485转换器。 如下图所示,以带RS485接口的PC机作为Modbus主机为例
在组网前,需要根据系统需求确定RS485总线的波特率、数据通讯格式以及每个模块的节点地址,这些均可通过10位拨码开关进行设置,拨码开关设置完成后,模块上电时自动保持所设参数,无需软件配置。值得注意的是,总线上每个模块的波特率和数据通讯格式必须一致,且每个模块的节点地址必须是唯一的。
M-IF16C模块遵循标准的Modbus RTU协议,可以与任何遵循Modbus RTU协议的设备配合使用。如常用的组态软件、支持Modbus RTU协议的PLC等,详细信息请见相应的使用说明。
15
北京掌中宇时代科技有限公司
www.zzykj.cn
因篇幅问题不能全部显示,请点此查看更多更全内容