
第一章 产品介绍
一. 概述
MB8AI4AO 8路模拟量采集和4路模拟量输出模块,可采集8路0-20mA、4-20mA、0-5V、0-10V四种模拟量输入信号和4路0-20mA、4-20mA、0-5V、0-10V四种模拟量信号输出;8AI采集到的模拟量信号数据,通过隔离RS485接口输出,通过隔离RS485接口可以控制4AO的数据输出;模块采用Modbus-RTU通讯,可直接适配PLC、DCS以及国内各种组态软件等。
信号采集、信号输出、电源、RS485通讯电气信号相互隔离,有效抑制各类串模和共模干扰,保证数据的精确度,同时也保障了模块的可靠工作。
二. 特点
1. 采用标准的Modbus-RTU协议。
2. 可根据自己的需求设置每个通道的输入信号类型。
3. 信号输入和输出类型都采用无跳线设计,都可以通过测试软件设置,无需打开外壳设置跳线,非常方便用户使用。
4. 模块模拟量输出电源内置隔离DCDC模块,无需另外再接模拟量输出电源。
5. AO模拟量输出工作模式
模块功能模式 |
功能特点 |
上电加载预置值模式 |
1. 模拟量输出【AO上电初值】可设置加载一个值,默认为加载0值。 2. 当模块上电时,模拟量输出AO加载【AO上电初值】。 |
上电加载掉电值模式 |
1. 不间断监测模块供电情况,当检测到模块供电掉电时,记录保存当前的AO通道输出值。 2. 当模块再次上电时,模拟量输出AO加载上次掉电前的值。 |
隔离器模式 (安全栅工作模式) |
1.模拟量输出AO0的输出大小由AI0的值决定. 2.AO0输出值跟随AI0的值变化而变化,不由电脑控制改变输出. 3.另外几个通道以此类推 |
6. 安全:信号采集、信号输出、电源、RS485通讯电气信号相互隔离。
7. 通讯保护:RS485通讯信号输出接口采用过压过流双保护。
8. 输入信号类型、输出信号类型、通讯格式可通过软件设置。
9. 电源极性保护和过流保护。
三. 技术指标
项目 |
参数 |
AI 信号输入 |
1.输入通道:8/4通道隔离模拟量采集 2.输入信号类型:0~20mA、4~20mA、0~5V、0~10V四种模拟量信号 3.采样速率:8/4通道每5mS采集一次 4.分辨率:12 bit 5.精度:电压 0.2% 电流 0.3% 6. 隔离电压保护:1500V |
AO 信号输出 |
1.输出通道:4通道隔离模拟量输出 2.输出信号类型:0~20mA、4~20mA、0~5V、0~10V四种模拟量信号 3.采样速率:4通道5mS 可更新一次 4.分辨率:12 bit 5.精度:电压 0.2% 电流 0.3% 6. 隔离电压保护:1500V |
RS485 通讯输出 |
1.通讯协议:MODBUS-RTU 2.接口类型:隔离RS485通讯,输出接口采用过压过流双保护 3.波特率:1200bps、2400bps、4800bps、9600bps、19200bps 4.校验位:无校验、偶校验、奇校验 5.设置方式:模块地址、波特率、校验位均可通过软件设置 6. 隔离电压保护:1500V |
模块尺寸 |
A. 单独模块尺寸:104mm*72mm*26mm B. 带端子和导轨盒尺寸:124mm*72mm*45mm |
安装方式 |
标准DIN导轨安装(35mm导轨 或 高低导轨) |
工作环境 |
温度:-10 ~ +55℃ 湿度:35~85%(不结露) |
工作电源 |
1.供电电压:10V~30V宽范围供电。 2. 带电源极性保护和过流保护。 3.电源功耗:小于3W |
四. 产品外观
五. 模块指示灯和开关功能说明
1. POW/SET; 模块工作状态指示
A.绿灯亮:模块工作在运行状态。 B.红灯亮:模块有配置参数已写入,需重新上电。
2. TXD/RXD: 通讯状态指示
A.绿灯闪亮:通讯接收到数据 B. 红灯闪亮:模块正在发送数据
C.绿灯常亮:DATA+和DATA-上接的通讯RS485线接反了或者接线有断线。
3. 模块右侧复位开关
A. 当通讯参数(模块地址、波特率、校验位)不知道或是通讯参数误设,不能和模块通讯建立联系,解决的办法是把通讯参数复位;我们用曲别针按住复位开关不放开,5秒钟后模块[POW/SET]红色指示灯亮,放开复位开关,此时通讯参数已经复位,只要把模块的电源断电后重新启动一次,此时模块的通讯参数已经复位。
B. 复位后的通讯参数:地址:1、波特率:9600bps、校验位:无。
六. 典型应用接线图
七. 端子定义
端子 |
名称 |
说明 |
|
端子 |
名称 |
说明 |
1 |
AI0 |
模拟量输入0通道正端 |
14 |
A00I |
模拟量通道0电流输出 |
|
2 |
AI1 |
模拟量输入1通道正端 |
15 |
A00V |
模拟量通道0电压输出 |
|
3 |
AI2 |
模拟量输入2通道正端 |
16 |
AOGND |
模拟量通道0输出负端 |
|
4 |
AI3 |
模拟量输入3通道正端 |
17 |
A01I |
模拟量通道1电流输出 |
|
5 |
AIGND |
模拟量输入负端 |
18 |
A01V |
模拟量通道1电压输出 |
|
6 |
AI4 |
模拟量输入4通道正端 |
19 |
AOGND |
模拟量通道1输出负端 |
|
7 |
AI5 |
模拟量输入5通道正端 |
20 |
A02I |
模拟量通道2电流输出 |
|
8 |
AI6 |
模拟量输入6通道正端 |
21 |
A02V |
模拟量通道2电压输出 |
|
9 |
AI7 |
模拟量输入7通道正端 |
22 |
AOGND |
模拟量通道2输出负端 |
|
10 |
DATA+ |
RS485通讯+ |
23 |
A03I |
模拟量通道3电流输出 |
|
11 |
DATA- |
RS485通讯- |
|
24 |
A03V |
模拟量通道3电压输出 |
12 |
+Vs |
电源输入+ |
|
25 |
AOGND |
模拟量通道3输出负端 |
13 |
GND |
电源输入- |
|
26 |
NC |
空 |
八. 原理方框图
九. MODBUS寄存器说明
1. 模块支持的MODBUS功能码
代码 |
含义 |
操作 |
0x03H |
读多个保持寄存器 |
读取一个或多个保持寄存器的值 |
0x 06H |
写单个个保持寄存器 |
将一个数据写入保持寄存器 |
0x 04H |
读多个输入寄存器 |
读取一个或多个输入寄存器的值 |
0x 10H |
写多个保持寄存器 |
将一个或多个数据写入保持寄存器 |
2. 寄存器定义描述
A. 输入寄存器(功能码:0x04H)
地址1 |
地址0 |
参数 |
读/写 |
最小值 |
最大值 |
说明 |
30001 |
00000 |
AI0 |
只读 |
0 |
4095 |
模拟输入通道0 AD转换数值 |
30002 |
00001 |
AI1 |
只读 |
0 |
4095 |
模拟输入通道1 AD转换数值 |
30003 |
00002 |
AI2 |
只读 |
0 |
4095 |
模拟输入通道2 AD转换数值 |
30004 |
00003 |
AI3 |
只读 |
0 |
4095 |
模拟输入通道3 AD转换数值 |
30005 |
00004 |
AI4 |
只读 |
0 |
4095 |
模拟输入通道4 AD转换数值 |
30006 |
00005 |
AI5 |
只读 |
0 |
4095 |
模拟输入通道5 AD转换数值 |
30007 |
00006 |
AI6 |
只读 |
0 |
4095 |
模拟输入通道6 AD转换数值 |
30008 |
00007 |
AI7 |
只读 |
0 |
4095 |
模拟输入通道7 AD转换数值 |
B. 保持寄存器(功能码:0x03H、0x06H、0x10H)
地址1 |
地址0 |
参数 |
读/写 |
最小值 |
最大值 |
说明 |
|
40033 |
00032 |
AI0 |
只读 |
0 |
4095 |
模拟输入通道0 AD转换数值 |
|
40034 |
00033 |
AI1 |
只读 |
0 |
4095 |
模拟输入通道1 AD转换数值 |
|
40035 |
00034 |
AI2 |
只读 |
0 |
4095 |
模拟输入通道2 AD转换数值 |
|
40036 |
00035 |
AI3 |
只读 |
0 |
4095 |
模拟输入通道3 AD转换数值 |
|
40037 |
00036 |
AI4 |
只读 |
0 |
4095 |
模拟输入通道4 AD转换数值 |
|
40038 |
00037 |
AI5 |
只读 |
0 |
4095 |
模拟输入通道5 AD转换数值 |
|
40039 |
00038 |
AI6 |
只读 |
0 |
4095 |
模拟输入通道6 AD转换数值 |
|
40040 |
00039 |
AI7 |
只读 |
0 |
4095 |
模拟输入通道7 AD转换数值 |
|
|
|
||||||
40049 |
00048 |
AO0 |
读写 |
0 |
4095 |
模拟量输出通道0 DA控制值 |
|
40050 |
00049 |
AO1 |
读写 |
0 |
4095 |
模拟量输出通道1 DA控制值 |
|
40051 |
00050 |
AO2 |
读写 |
0 |
4095 |
模拟量输出通道2 DA控制值 |
|
40052 |
00051 |
AO3 |
读写 |
0 |
4095 |
模拟量输出通道3 DA控制值 |
|
|
|
||||||
40065 |
00064 |
设备类型 |
只读 |
0 |
256 |
23 (MB8AI4AO模块) |
|
40066 |
00065 |
设备状态 |
只读 |
0 |
0x0101 |
Bit4:复位按键状态 Bit0:模块复位请求标志 |
|
40067 |
00066 |
模块电压 |
只读 |
0 |
300 |
0.0-29.9V |
|
40068 |
00067 |
模块温度 |
只读 |
0 |
100 |
0-99℃度 (备用) |
|
40069 |
00068 |
产品版本 |
只读 |
0 |
65535 |
硬件版本(高8位) + 软件版本(低8位) |
|
40070 |
00069 |
生产信息 |
只读 |
0 |
65535 |
年(高8位) + 批号(低8位) |
|
40071 |
00070 |
模块地址 |
读/写 |
1 |
247 |
1(默认) |
|
40072 |
00071 |
波特率 |
读/写 |
0 |
7 |
0(1200) 1(2400) 2(4800) 3(9600) 默认4(19200) 5(38400) 6(57600) 7(115200) |
|
40073 |
00072 |
校验位 |
读/写 |
0 |
2 |
0(无校验.) 默认 1(偶校验) 2(奇校验) |
|
40076 |
00075 |
模拟量输入 AI输入类型 (全局) |
读写 |
0 |
4 |
0:0-20mA(默认) 1:4-20mA 2:0-5V 3:0-10V 4:各通道输入自定义 |
|
40077 |
00076 |
模拟量输出AO工作模式 (全局) BIT: 15-8 |
读写 |
0 |
3 |
0:上电加载上电预置值(默认) 1:上电加载上次掉电前数值 2:隔离器模式 3:各通道输出自定义 |
|
模拟量输出AO类型 (全局) BIT: 7-0 |
读写 |
0 |
3 |
0:0-20mA(默认) 1:4-20mA 2:0-5V 3:0-10V |
|||
|
|
||||||
40129 |
00128 |
AI0输入类型 |
读写 |
0 |
3 |
0:0-20mA(默认) 1:4-20mA 2:0-5V 3:0-10V 注意 1. 只有40076 AI输入类型设置为4,才能对各个通道信号自定义设置。 |
|
40130 |
00129 |
AI1输入类型 |
读写 |
0 |
3 |
||
40131 |
00130 |
AI2输入类型 |
读写 |
0 |
3 |
||
40132 |
00131 |
AI3输入类型 |
读写 |
0 |
3 |
||
40129 |
00128 |
AI4输入类型 |
读写 |
0 |
3 |
||
40130 |
00129 |
AI5输入类型 |
读写 |
0 |
3 |
||
40131 |
00130 |
AI6输入类型 |
读写 |
0 |
3 |
||
40132 |
00131 |
AI7输入类型 |
读写 |
0 |
3 |
||
|
|
||||||
40145 |
00144 |
AO0工作模式 |
读写 |
0 |
3 |
模拟量输出通道工作模式 BIT: 15-8 0:上电加载上电预置值(默认) 1:上电加载上次掉电前数值 2:隔离器模式 模拟量AO输出类型 BIT: 7-0 0:0-20mA(默认) 1:4-20mA 2:0-5V 3:0-10V 使用注意事项 1. 只有40077 模拟量输出工作模式设置为3,才能对各个通道信号自定义设置。 |
|
AO0输出类型 |
读写 |
0 |
3 |
||||
40146 |
00145 |
AO1工作模式 |
读写 |
0 |
3 |
||
AO1输出类型 |
读写 |
0 |
3 |
||||
40147 |
00146 |
AO2工作模式 |
读写 |
0 |
3 |
||
AO2输出类型 |
读写 |
0 |
3 |
||||
40148 |
00147 |
AO3工作模式 |
读写 |
0 |
3 |
||
AO3输出类型 |
读写 |
0 |
3 |
||||
|
|
||||||
40161 |
00160 |
通道 上电 预置 值 |
AO0 |
读写 |
0 |
4095 |
1. 模拟输出通道上电加载值。 2. 当模块AO通道输出工作模式设置为上电加载值时有效。 3. 只有40077 模拟量输出工作模式设置为3才能应用 |
40162 |
00161 |
AO1 |
读写 |
0 |
4095 |
||
40163 |
00162 |
AO2 |
读写 |
0 |
4095 |
||
40164 |
00163 |
AO3 |
读写 |
0 |
4095 |
十. AI模拟量输入通道采样值(功能码:04H 输入寄存器)转换为实际数据计算方法
1. 0-20mA输入:实际值 = 采集值(十进制形式) * 20 mA/ 4096
2. 4-20mA输入:实际值 = 采集值(十进制形式) * 20mA / 4096
3. 0~5V 输入:实际值 = 采集值(十进制形式) * 5 V/ 4096
4. 0~10V 输入:实际值 = 采集值(十进制形式) * 10V / 4096
5. 当通道设置为4-20mA输入时,通道输入值不足4mA时,上传数据为4mA。
6. 计算例子:
如果通道0设置为4-20mA输入,通讯读取到的数据为0x0723H,转换十进制是1827,计算公式为:1827*20 / 4096 = 8.92mA
十一. AO模拟量输出DAC控制值(功能码:0x03H、0x06H、0x10H保持寄存器)转换为实际数据计算方法
1. 0-20mA输出 DAC输出控制值 = X(实际电流输出值,十进制形式) * 4096 / 20
2. 4-20mA输出 DAC输出控制值 = X(实际电流输出值,十进制形式) * 4096 / 20
3. 0-5V 输出 DAC输出控制值 = X(实际电压输出值,十进制形式) * 4096 / 5
4. 0-10V 输出 DAC输出控制值 = X(实际电压输出值,十进制形式) * 4096 / 10
5. 在 4~20mA输出范围下,命令输出小于 4mA的数值,都将以 4mA输出。
6. 计算例子: 如果通道0设置为4-20mA输出,需要输出10mA电流,计算公式为:10 * 4096 / 20 = 2048 ,实际控制DAC输出值就是2048。
十二. Modbus RTU通讯 模拟量通道输入命令示例(例 模块地址:1)
1. 读取1个通道(读取通道0): 01 04 00 00 00 01 31 CA
2. 读取4个通道(读取通道0 – 3):01 04 00 00 00 04 F1 C9
十三. Modbus RTU通讯 模拟量通道输出命令示例(例 模块地址:1)
1. 读取1个通道(读取通道0): 01 03 00 30 00 01 84 05
2. 读取4个通道(读取通道0 –3):01 03 00 30 00 04 44 06
3. 设置1个通道(设置通道0): 01 06 00 30 08 00 8E 05 (设置输出电流值为10mA )
4. 设置4个通道(设置通道0 –3):01 10 00 30 00 04 08 08 00 08 00 08 00 08 00 F3 74
(设置输出电流值为10mA )