Appearance
Y301-220/222 技术手册
| Y301-220 | Y301-222 |
|---|---|
![]() | ![]() |
目录
1. 概述
本手册介绍 Y301-220、Y301-222 I/O 模块的 Modbus-RTU 通信指令与寄存器。
| 型号 | DI | DO | AI | 说明 |
|---|---|---|---|---|
| Y301-220 | 2 | 2 | 0 | 双输入 + 双继电器 |
| Y301-222 | 2 | 2 | 2 | 双输入 + 双继电器 + 双模拟输入 |
帧格式: [从站地址][功能码][数据][CRC低][CRC高]
以下示例均使用从站地址 0x01。
2. 默认设置
| 参数 | 默认值 |
|---|---|
| 设备地址 | 1 |
| 波特率 | 9600 bps |
| 数据位 | 8 |
| 停止位 | 1 |
| 校验位 | 无 |
| 输出状态保持 | 软重启保持(0x0040 = 1) |
| 脉冲计数模式 | 上升沿(0x0041 = 1) |
| 脉冲计数消抖 | 50 ms(0x0042 = 50) |
3. Modbus 地址映射(仅 Modbus 地址)
本章节只使用 Modbus 地址(0xXXXX),不使用 PLC 地址。
3.1 DI(离散输入,功能码 0x02)
| 通道 | Modbus 地址 | 读写 |
|---|---|---|
| DI1 | 0x0000 | RO |
| DI2 | 0x0001 | RO |
返回值:0=无输入,1=有输入。
3.2 DO(线圈,功能码 0x01/0x05/0x0F)
| 通道 | Modbus 地址 | 读写 |
|---|---|---|
| DO1 | 0x0000 | RW |
| DO2 | 0x0001 | RW |
写线圈值:0x0000=断开,0xFF00=闭合。
3.3 AI(输入寄存器,功能码 0x04,仅 Y301-222)
| 通道 | Modbus 地址 | 含义 | 单位 | 读写 |
|---|---|---|---|---|
| AI1 电压 | 0x0000 | AI1 电压采样值 | mV | RO |
| AI1 电流 | 0x0001 | AI1 电流采样值 | uA | RO |
| AI2 电压 | 0x0002 | AI2 电压采样值 | mV | RO |
| AI2 电流 | 0x0003 | AI2 电流采样值 | uA | RO |
说明:同一路 AI 同一时刻只能接电压或电流,另一寄存器值无效。
3.4 常用保持寄存器(参数,功能码 0x03/0x06/0x10)
| Modbus 地址 | 参数 | 字节数 | 读写 | 范围/枚举 | 默认值 |
|---|---|---|---|---|---|
0x002A | 运行从机地址(设备地址+拨码偏移) | 2 | RO | 0-255 | - |
0x002B | 拨码偏移地址 | 2 | RO | 0-31 | 0 |
0x003E | 设备地址 | 2 | RW | 1-255 | 1 |
0x003F | 广播模式 | 2 | RW | 0=关,1=接收并响应,2=接收不响应 | 0 |
0x0040 | 输出状态保持 | 2 | RW | 0=不保持,1=软重启保持,2=软重启+上电保持 | 1 |
0x0041 | 脉冲计数模式 | 2 | RW | 0=下降沿,1=上升沿 | 1 |
0x0042 | 脉冲计数消抖时间(ms) | 2 | RW | 5-255 | 50 |
0x004C | 串口心跳周期(s) | 2 | RW | 0=关闭,1-65535 | 0 |
0x004D | 串口心跳内容 | 16 | RW | 字符串 | - |
0x0055 | RTC 时间(Unix) | 4 | RW | uint32 | - |
0x0057 | 波特率 | 4 | RW | 600-230400 | 9600 |
0x0059 | 数据位 | 2 | RW | 8、9 | 8 |
0x005A | 停止位 | 2 | RW | 1、2 | 1 |
0x005B | 校验位 | 2 | RW | 0=None, 1=Odd, 2=Even | 0 |
0x005C | 打包时间(ms) | 2 | RW | 0-255(0=自适应) | 0 |
说明:
0x0057、0x0055等 32 位参数需按 大端字节序写入(高字在前)。- 厂家说明:串口参数和设备地址修改后需重启生效。
3.5 DI 脉冲计数寄存器(保持寄存器)
| 通道 | Modbus 地址 | 字节数 | 读写 | 说明 |
|---|---|---|---|---|
| DI1 计数 | 0x0500(占 0x0500~0x0501) | 4 | RW | 仅允许写 0 清零 |
| DI2 计数 | 0x0502(占 0x0502~0x0503) | 4 | RW | 仅允许写 0 清零 |
3.6 联动规则寄存器(保持寄存器)
Y301-220/222 的 DO 数量为 2,联动规则组数 = DO * 2 = 4 组。
| 规则组 | 起始 Modbus 地址 | 长度 |
|---|---|---|
| 规则1 | 0x0080 | 8 寄存器(16 字节) |
| 规则2 | 0x0088 | 8 寄存器(16 字节) |
| 规则3 | 0x0090 | 8 寄存器(16 字节) |
| 规则4 | 0x0098 | 8 寄存器(16 字节) |
单组字段结构:
| 偏移 | 字段 | 字节数 |
|---|---|---|
+0 | 模式 | 2 |
+1 | 动作 | 2 |
+2 | DO 编号 | 2 |
+3 | DI/AI 编号 | 2 |
+4~+5 | 参数1 | 4 |
+6~+7 | 参数2 | 4 |
3.7 特殊寄存器
| Modbus 地址 | 名称 | 写入值 | 说明 |
|---|---|---|---|
0x0800 | 重启 / 恢复出厂 | 0x5500=重启,0x0055 或 0x5555=恢复出厂并重启 | WO |
4. 指令示例(含 CRC)
4.1 DI 查询(0x02)
| 操作 | 请求 |
|---|---|
| 读 DI1 | 01 02 00 00 00 01 B9 CA |
| 读 DI2 | 01 02 00 01 00 01 E8 0A |
| 批量读 DI1~DI2 | 01 02 00 00 00 02 F9 CB |
4.2 DO 查询与控制
查询(0x01):
| 操作 | 请求 |
|---|---|
| 读 DO1 | 01 01 00 00 00 01 FD CA |
| 读 DO2 | 01 01 00 01 00 01 AC 0A |
| 批量读 DO1~DO2 | 01 01 00 00 00 02 BD CB |
单点控制(0x05):
| 操作 | 请求 |
|---|---|
| DO1 断开 | 01 05 00 00 00 00 CD CA |
| DO1 闭合 | 01 05 00 00 FF 00 8C 3A |
| DO2 断开 | 01 05 00 01 00 00 9C 0A |
| DO2 闭合 | 01 05 00 01 FF 00 DD FA |
批量控制(0x0F):
| 操作 | 请求 |
|---|---|
| DO1、DO2 同时闭合 | 01 0F 00 00 00 02 01 03 9E 96 |
| DO1、DO2 同时断开 | 01 0F 00 00 00 02 01 00 DE 97 |
4.3 AI 查询(0x04,仅 Y301-222)
| 操作 | 请求 |
|---|---|
| 读 AI1 电压 | 01 04 00 00 00 01 31 CA |
| 读 AI1 电流 | 01 04 00 01 00 01 60 0A |
| 读 AI2 电压 | 01 04 00 02 00 01 90 0A |
| 读 AI2 电流 | 01 04 00 03 00 01 C1 CA |
| 批量读 AI1/AI2(电压+电流,共4寄存器) | 01 04 00 00 00 04 F1 C9 |
4.4 参数读写(0x03/0x06/0x10)
设备地址:
| 操作 | 请求 |
|---|---|
读取设备地址(0x003E) | 01 03 00 3E 00 01 E5 C6 |
| 写设备地址为 5 | 01 06 00 3E 00 05 28 05 |
串口参数:
| 操作 | 请求 |
|---|---|
读取波特率(0x0057,2寄存器) | 01 03 00 57 00 02 75 DB |
写波特率为 115200(0x0001C200) | 01 10 00 57 00 02 04 00 01 C2 00 B7 D5 |
写波特率为 9600(0x00002580) | 01 10 00 57 00 02 04 00 00 25 80 AC 45 |
读取数据位/停止位/校验位(0x0059~0x005B) | 01 03 00 59 00 03 D5 D8 |
写为 8N1(数据位8,停止位1,校验None) | 01 10 00 59 00 03 06 00 08 00 01 00 00 85 EF |
状态保持与计数参数:
| 操作 | 请求 |
|---|---|
读取输出状态保持(0x0040) | 01 03 00 40 00 01 85 DE |
| 写输出状态保持=2(上电保持) | 01 06 00 40 00 02 09 DF |
读取脉冲计数模式(0x0041) | 01 03 00 41 00 01 D4 1E |
| 写脉冲计数模式=1(上升沿) | 01 06 00 41 00 01 18 1E |
读取消抖时间(0x0042) | 01 03 00 42 00 01 24 1E |
| 写消抖时间=50ms | 01 06 00 42 00 32 A8 0B |
4.5 DI 脉冲计数读写
| 操作 | 请求 |
|---|---|
读 DI1 计数(0x0500,2寄存器) | 01 03 05 00 00 02 C4 C7 |
读 DI2 计数(0x0502,2寄存器) | 01 03 05 02 00 02 65 07 |
| 清零 DI1 计数(写 0) | 01 10 05 00 00 02 04 00 00 00 00 CC FF |
4.6 特殊操作
| 操作 | 请求 |
|---|---|
重启设备(0x0800=0x5500) | 01 06 08 00 55 00 B4 FA |
恢复出厂并重启(0x0800=0x0055) | 01 06 08 00 00 55 4B 95 |
5. 参数配置说明
5.1 运行从机地址
运行从机地址 = 设备地址(0x003E) + 拨码偏移地址(0x002B)。
对于不支持拨码偏移的硬件版本,0x002B 通常为 0,此时运行地址即设备地址。
5.2 波特率与串口参数
- 波特率在
0x0057,为 32 位参数,需用0x10写入 2 个寄存器。 - 数据位/停止位/校验位在
0x0059~0x005B。 - 厂家说明:设备地址与串口参数修改后,需重启后生效。
5.3 广播模式(0x003F)
| 值 | 含义 |
|---|---|
0 | 关闭广播处理 |
1 | 接收并响应广播 |
2 | 接收广播但不响应 |
5.4 输出状态保持(0x0040)
| 值 | 含义 |
|---|---|
0 | 不保持 |
1 | 软重启保持 |
2 | 软重启+上电重启均保持 |
6. 联动规则
6.1 支持模式(模式码)
| 模式 | 名称 | 说明 |
|---|---|---|
| 0 | 关闭 | 该规则禁用 |
| 1 | DI 跟随 | DO 跟随 DI 正/反向变化 |
| 2 | 脉冲输出 | 收到 DO 控制后,延时后恢复原状态 |
| 3 | 延时控制 | DO 断开/闭合/全部动作延时执行 |
| 4 | 定时变化 | 设备重启后延时执行一次动作 |
| 5 | 循环变化 | 按参数1/参数2周期切换 |
| 6 | 按键(点动) | DI 作为按键触发 DO 动作 |
| 7 | 定点-单次 | 到指定 Unix 时间戳执行一次 |
| 8 | 定点-循环 | 从指定时间起按间隔循环执行 |
| 9 | 周期-每天 | 每天在指定秒数执行 |
| 10 | AI 电压大于阈值 | 仅 Y301-222 有效 |
| 11 | AI 电压小于阈值 | 仅 Y301-222 有效 |
| 12 | AI 电流大于阈值 | 仅 Y301-222 有效 |
| 13 | AI 电流小于阈值 | 仅 Y301-222 有效 |
| 14 | 延时跟随 | DI 变化后延时跟随 |
| 15 | 逻辑与 | 多路 DI/DO 逻辑与 |
| 16 | 逻辑或 | 多路 DI/DO 逻辑或 |
| 17 | 逻辑异或 | 多路 DI/DO 逻辑异或 |
6.2 示例:规则1设为 DO1 正向跟随 DI1
字段值:
| 字段 | 值 |
|---|---|
| 模式 | 0x0001 |
| 动作 | 0x0001(正向) |
| DO 编号 | 0x0001 |
| DI/AI 编号 | 0x0001(DI1) |
| 参数1 | 0x00000000 |
| 参数2 | 0x00000000 |
写入命令(规则1起始地址 0x0080):
01 10 00 80 00 08 10 00 01 00 01 00 01 00 01 00 00 00 00 00 00 00 00 CC FE
7. 故障排除
| 现象 | 可能原因 | 处理建议 |
|---|---|---|
| 无响应 | 从站地址或串口参数不匹配 | 先读 0x002A 确认运行地址,核对波特率/校验位 |
| 地址改后通信失败 | 使用了旧地址通信 | 修改 0x003E 后改用新地址,并重启设备 |
| DO 写入失败 | 功能码/地址不对,或超出通道范围 | DO 仅用 0x0000~0x0001;批量写用 0x0F |
| AI 值异常 | 电压/电流接线混用 | 每路 AI 只能二选一,按接线读取对应寄存器 |
| DI 计数异常 | 计数边沿或消抖设置不合适 | 检查 0x0041 和 0x0042 |
| 联动不生效 | 规则参数冲突或模式不支持 | 从 0x0080 开始读回规则,确认模式码与参数 |
LED 指示灯
| LED | 状态 | 含义 |
|---|---|---|
| POWER | 常亮 | 供电正常 |
| TX | 闪烁 | 正在发送数据 |
| RX | 闪烁 | 正在接收数据 |
| DI1/DI2 | 亮 | 输入有效 |
| DO1/DO2 | 亮 | 继电器闭合 |
- 制造商:湖南研几科技有限公司
- 邮箱:hi@yengear.com
- 网站:www.yengear.cn


