使用手册:http://39.108.220.80/download/user/ZQWL/IO/8S/1CNRR8
控制软件:http://39.108.220.80/download/user/ZQWL/IO/tools
编程资料:http://39.108.220.80/download/user/ZQWL/IO/soft/1uart
一、模块功能简介
ZQWL-IO-1CNRR8-I是一款4路NPN型光电输入、8路继电器输出的工业级IO控制板。他具有1路RS232/485通讯接口;控制板的CPU供电采用隔离电源,RS485/232的电源、通讯均隔离,硬件具有超强的抗干扰能力。
提供两种通讯协议:自定义协议和Modbus RTU协议。
二、硬件参数
表1 硬件参数
序号
名称
参数
1
型号
ZQWL-IO-1CNRR8-I
2
11V~13V(推荐12V)
3
供电电流
大于260ma
4
CPU
STM32F030K6
5
RS232/485
通讯带隔离,注意232/485不能同时使用
6
输入
4路NPN型光电输入
7
输出(宏发继电器:HF3FF-12V-1ZS)
8路继电器输出,每路都有常开、常闭和公共端3个端子;光电隔离
8
指示灯
电源、输入以及输出都带指示灯
9
出厂默认参数
串口:9600,8,n,1;控制板地址:1;
10
RESET按键
小于5秒,系统复位;大于5秒,回到出厂设置
三、硬件接口说明
模块正视图:
模块侧视图1:
模块侧视图2:
模块尺寸图:
四、模块输入接线
(1)电源输入
表2 控制板功率测试
项目
电压(伏)
电流(毫安)
功率(瓦)
12
50
0.60
12
80
0.96
12
110
1.32
3路常闭断开,常开闭合
12
140
1.68
4路常闭断开,常开闭合
12
170
2.04
路数增1
12
电流增加30
功率增加0.36
测试条件:温度25°,湿度46%。
由以上数据可以得出,控制板在满负荷时功率为2.04瓦,因此模块的供电电源应选择电压12V,电流大于260ma即可。比如选12V/500ma电源给控制板供电。
(2)开关量输入
本控制板为NPN型输入,与外部设备连接示意图如下:
由上图可知,外部设备的输出端接控制板的输入(X1~4),并且外部设备要和控制板共地(可接到控制板的“GND”端子上)。
控制板输入触发电压有两种规格(2.7V~7V规格和6V~12V规格),采购时需要注明。
表3 控制板输入触发电压(2.7V~7V规格)
输入(X1~4)电压
逻辑值
0~1.5V
0
1.5V~2.7V
不确定
2.7V~7V
1
大于7V
长时间会损伤控制板
表4 控制板输入触发电压(6V~12V规格)
输入(X1~4)电压
逻辑值
0~5V
0
5V~6V
不确定
6V~12V
1
大于12V
长时间会损伤控制板
(2)继电器输出
该控制板共有8路继电器输出,每路都有常开、常闭和公共端三个触点,采用宏发原装继电器,每路可承载负荷如下:
表5 继电器可承载负荷
项目
参数
触点材料
Silver Alloy
触点负载
240VAC/10A
最大转换电压
250VAC/30VDC
最大转换电流
15A
最大转换功率
2770VA/240W
接触电阻
100mΩMax at 6VDC 1A
机械寿命
10,000,000次
每路继电器的公共端触点互相独立,8路可以分别控制不同的电压。
五、模块通讯
该模块有RS232/485接口,使用MCU的同一个UART接口,故RS232和RS485不能同时使用。RS485通讯采用隔离电源供电,信号采用高速光耦隔离,接口具有ESD防护器,采用自动换向高性能485芯片,为通讯的稳定性提供了强大的硬件支持。RS485的终端电阻(120欧)可以通过拨码开关选择是否接入总线。如下图:
六、模块通讯协议
模块支持两种协议:自定义协议和modbus rtu协议。
注意:使用协议修改控制板参数时(波特率、地址),如果不慎操作错误而导致无法通讯时,可以按住“RESET”按键并保持5秒,等到“SYS”指示灯快闪时(10Hz左右),松开按键,此时控制板恢复出厂参数,如下:
串口参数:波特率9600;数据位8;不校验;1位停止位;
控制板地址:1。
(1)自定义协议
自定义协议采用固定帧长(每帧15字节),采用十六进制格式,并具有帧头帧尾标识,该协议适用于“ZQWL-IO”系列带外壳产品。该协议为“一问一答”形式,主机询问,控制板应答,只要符合该协议规范,每问必答。
该协议指令可分为两类:控制指令类和配置指令类。
控制指令主要是控制继电器状态和读取开关量输入状态。配置指令类主要是配置板子的运行参数以及复位等。
1、控制指令表
表1 ZQWL-IO控制指令表
帧头
地址码
命令码
8字节数据
校验和
帧尾
指令名称
Byte1
Byte2
Byte3
Byte4
Byte5~ Byte12
Byte13
Byte14
Byte15
读输入状态
0X48
0X3A
Addr
0X52
全为0XAA
前12字节和(只取低8位)
0X45
0X44
应答“读输入状态”
0X48
0X3A
Addr
0X41
DATA1~DATA8
前12字节和(只取低8位)
0X45
0X44
写继电器状态
0X48
0X3A
Addr
0X57
DATA1~DATA8
前12字节和(只取低8位)
0X45
0X44
应答“写继电器状态”
0X48
0X3A
Addr
0X54
DATA1~DATA8
前12字节和(只取低8位)
0X45
0X44
读继电器状态
0X48
0X3A
Addr
0X53
全为0XAA
前12字节和(只取低8位)
0X45
0X44
应答“读继电器状态”
0X48
0X3A
Addr
0X54
DATA1~DATA8
前12字节和(只取低8位)
0X45
0X44
注:表中的“8字节数据”即对应继电器板的状态数据,0x01表示有信号,0x00表示无信号。
控制码举例如下(十六进制):
-
读取地址为1的控制板开关量输入状态:
48 3a 01 52 00 00 00 00 00 00 00 00 d5 45 44
地址为1的控制板收到上述指令后应答:
48 3a 01 52 01 01 00 00 00 00 00 00 d7 45 44
此应答表明,控制板的X1和X2输入有信号(高电平),X3和X4无信号(低电平)。
-
向地址为1的控制板写继电器状态:
48 3a 01 57 01 00 01 00 00 00 00 00 dc 45 44
此命令码的含义是令地址为1的控制板的第1个和第3个继电器常开触点闭合,常闭触点断开;令第2和第4个继电器的常开触点断开,常闭触点闭合。注意继电器板只识别0和1,其他数据做任何动作,所以如果不想让某一路动作,可以将该路赋为其他值。例如只让第1和第3路动作,其他两路不动作,可以发如下指令:
48 3a 01 57 01 02 01 02 00 00 00 00 e0 45 44
只需要将第2和第4路置为02(或其他值)即可。
控制板收到以上命令后,会返回控制板继电器状态,如:
48 3a 01 54 01 00 01 00 00 00 00 00 d9 45 44
其他详细协议请参考使用说明。



序号
名称
参数
1
型号
ZQWL-IO-1CNRR8-I
2
11V~13V(推荐12V)
3
供电电流
大于260ma
4
CPU
STM32F030K6
5
RS232/485
通讯带隔离,注意232/485不能同时使用
6
输入
4路NPN型光电输入
7
输出(宏发继电器:HF3FF-12V-1ZS)
8路继电器输出,每路都有常开、常闭和公共端3个端子;光电隔离
8
指示灯
电源、输入以及输出都带指示灯
9
出厂默认参数
串口:9600,8,n,1;控制板地址:1;
10
RESET按键
小于5秒,系统复位;大于5秒,回到出厂设置




项目
电压(伏)
电流(毫安)
功率(瓦)
12
50
0.60
12
80
0.96
12
110
1.32
3路常闭断开,常开闭合
12
140
1.68
4路常闭断开,常开闭合
12
170
2.04
路数增1
12
电流增加30
功率增加0.36

输入(X1~4)电压 |
逻辑值 |
0~1.5V |
0 |
1.5V~2.7V |
不确定 |
2.7V~7V |
1 |
大于7V |
长时间会损伤控制板 |
输入(X1~4)电压 |
逻辑值 |
0~5V |
0 |
5V~6V |
不确定 |
6V~12V |
1 |
大于12V |
长时间会损伤控制板 |
(2)继电器输出
该控制板共有8路继电器输出,每路都有常开、常闭和公共端三个触点,采用宏发原装继电器,每路可承载负荷如下:
表5 继电器可承载负荷
项目 |
参数 |
触点材料 |
Silver Alloy |
触点负载 |
240VAC/10A |
最大转换电压 |
250VAC/30VDC |
最大转换电流 |
15A |
最大转换功率 |
2770VA/240W |
接触电阻 |
100mΩMax at 6VDC 1A |
机械寿命 |
10,000,000次 |
每路继电器的公共端触点互相独立,8路可以分别控制不同的电压。
五、模块通讯
该模块有RS232/485接口,使用MCU的同一个UART接口,故RS232和RS485不能同时使用。RS485通讯采用隔离电源供电,信号采用高速光耦隔离,接口具有ESD防护器,采用自动换向高性能485芯片,为通讯的稳定性提供了强大的硬件支持。RS485的终端电阻(120欧)可以通过拨码开关选择是否接入总线。如下图:
六、模块通讯协议
|
帧头 |
地址码 |
命令码 |
8字节数据 |
校验和 |
帧尾 |
||
指令名称 |
Byte1 |
Byte2 |
Byte3 |
Byte4 |
Byte5~ Byte12 |
Byte13 |
Byte14 |
Byte15 |
读输入状态 |
0X48 |
0X3A |
Addr |
0X52 |
全为0XAA |
前12字节和(只取低8位) |
0X45 |
0X44 |
应答“读输入状态” |
0X48 |
0X3A |
Addr |
0X41 |
DATA1~DATA8 |
前12字节和(只取低8位) |
0X45 |
0X44 |
写继电器状态 |
0X48 |
0X3A |
Addr |
0X57 |
DATA1~DATA8 |
前12字节和(只取低8位) |
0X45 |
0X44 |
应答“写继电器状态” |
0X48 |
0X3A |
Addr |
0X54 |
DATA1~DATA8 |
前12字节和(只取低8位) |
0X45 |
0X44 |
读继电器状态 |
0X48 |
0X3A |
Addr |
0X53 |
全为0XAA |
前12字节和(只取低8位) |
0X45 |
0X44 |
应答“读继电器状态” |
0X48 |
0X3A |
Addr |
0X54 |
DATA1~DATA8 |
前12字节和(只取低8位) |
0X45 |
0X44 |