Appearance
Y301-440/444 技术手册
| Y301-440 | Y301-444 |
|---|---|
![]() | ![]() |
目录
1. 概述
本手册介绍 Y301-440、Y301-444 I/O 模块的 Modbus-RTU 通信指令与寄存器。
| 型号 | DI | DO | AI | 说明 |
|---|---|---|---|---|
| Y301-440 | 4 | 4 | 0 | 四输入 + 四继电器 |
| Y301-444 | 4 | 4 | 4 | 四输入 + 四继电器 + 四模拟输入 |
帧格式: [从站地址][功能码][数据][CRC低][CRC高]
以下示例均使用从站地址 0x01。
2. 默认设置
| 参数 | 默认值 |
|---|---|
| 设备地址 | 1 |
| 波特率 | 9600 bps |
| 数据位 | 8 |
| 停止位 | 1 |
| 校验位 | 无 |
| 输出状态保持 | 软重启保持(0x0040 = 1) |
| 脉冲计数模式 | 上升沿(0x0041 = 1) |
| 脉冲计数消抖 | 50 ms(0x0042 = 50) |
3. Modbus 地址映射(仅 Modbus 地址)
3.1 DI(离散输入,功能码 0x02)
| 通道 | Modbus 地址 | 读写 |
|---|---|---|
| DI1 | 0x0000 | RO |
| DI2 | 0x0001 | RO |
| DI3 | 0x0002 | RO |
| DI4 | 0x0003 | RO |
返回值:0=无输入,1=有输入。
3.2 DO(线圈,功能码 0x01/0x05/0x0F)
| 通道 | Modbus 地址 | 读写 |
|---|---|---|
| DO1 | 0x0000 | RW |
| DO2 | 0x0001 | RW |
| DO3 | 0x0002 | RW |
| DO4 | 0x0003 | RW |
写线圈值:0x0000=断开,0xFF00=闭合。
3.3 AI(输入寄存器,功能码 0x04,仅 Y301-444)
| 通道 | Modbus 地址 | 含义 | 单位 | 读写 |
|---|---|---|---|---|
| AI1 电压 | 0x0000 | AI1 电压采样值 | mV | RO |
| AI1 电流 | 0x0001 | AI1 电流采样值 | uA | RO |
| AI2 电压 | 0x0002 | AI2 电压采样值 | mV | RO |
| AI2 电流 | 0x0003 | AI2 电流采样值 | uA | RO |
| AI3 电压 | 0x0004 | AI3 电压采样值 | mV | RO |
| AI3 电流 | 0x0005 | AI3 电流采样值 | uA | RO |
| AI4 电压 | 0x0006 | AI4 电压采样值 | mV | RO |
| AI4 电流 | 0x0007 | AI4 电流采样值 | 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 清零 |
| DI3 计数 | 0x0504(占 0x0504~0x0505) | 4 | RW | 仅允许写 0 清零 |
| DI4 计数 | 0x0506(占 0x0506~0x0507) | 4 | RW | 仅允许写 0 清零 |
3.6 联动规则寄存器(保持寄存器)
Y301-440/444 的 DO 数量为 4,联动规则组数 = DO * 2 = 8 组。
| 规则组 | 起始 Modbus 地址 | 长度 |
|---|---|---|
| 规则1 | 0x0080 | 8 寄存器(16 字节) |
| 规则2 | 0x0088 | 8 寄存器(16 字节) |
| 规则3 | 0x0090 | 8 寄存器(16 字节) |
| 规则4 | 0x0098 | 8 寄存器(16 字节) |
| 规则5 | 0x00A0 | 8 寄存器(16 字节) |
| 规则6 | 0x00A8 | 8 寄存器(16 字节) |
| 规则7 | 0x00B0 | 8 寄存器(16 字节) |
| 规则8 | 0x00B8 | 8 寄存器(16 字节) |
3.7 特殊寄存器
| Modbus 地址 | 名称 | 写入值 | 说明 |
|---|---|---|---|
0x0800 | 重启 / 恢复出厂 | 0x5500=重启,0x0055 或 0x5555=恢复出厂并重启 | WO |
4. 指令示例(含 CRC)
提示:命令使用独立代码块展示时,VitePress 会在代码块右上角显示复制图标,可一键复制 Modbus 命令。
4.1 DI 查询(0x02)
| 操作 | 请求 |
|---|---|
| 读 DI1 | 01 02 00 00 00 01 B9 CA |
| 读 DI2 | 01 02 00 01 00 01 E8 0A |
| 读 DI3 | 01 02 00 02 00 01 18 0A |
| 读 DI4 | 01 02 00 03 00 01 49 CA |
| 批量读 DI1~DI4 | 01 02 00 00 00 04 79 C9 |
4.2 DO 查询与控制
查询(0x01):
| 操作 | 请求 |
|---|---|
| 读 DO1 | 01 01 00 00 00 01 FD CA |
| 读 DO2 | 01 01 00 01 00 01 AC 0A |
| 读 DO3 | 01 01 00 02 00 01 5C 0A |
| 读 DO4 | 01 01 00 03 00 01 0D CA |
| 批量读 DO1~DO4 | 01 01 00 00 00 04 3D C9 |
单点控制(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 |
| DO3 断开 | 01 05 00 02 00 00 6C 0A |
| DO3 闭合 | 01 05 00 02 FF 00 2D FA |
| DO4 断开 | 01 05 00 03 00 00 3D CA |
| DO4 闭合 | 01 05 00 03 FF 00 7C 3A |
4.3 AI 查询(0x04,仅 Y301-444)
| 操作 | 请求 |
|---|---|
| 读 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 |
| 读 AI3 电压 | 01 04 00 04 00 01 70 0B |
| 读 AI3 电流 | 01 04 00 05 00 01 21 CB |
| 读 AI4 电压 | 01 04 00 06 00 01 D1 CB |
| 读 AI4 电流 | 01 04 00 07 00 01 80 0B |
| 批量读 AI1~AI4(电压+电流,共8寄存器) | 01 04 00 00 00 08 F0 0D |
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 |
写为 8N1(0x0059~0x005B) | 01 10 00 59 00 03 06 00 08 00 01 00 00 85 EF |
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 |
读 DI3 计数(0x0504,2寄存器) | 01 03 05 04 00 02 84 C6 |
读 DI4 计数(0x0506,2寄存器) | 01 03 05 06 00 02 25 06 |
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)。
5.2 波特率与串口参数
- 波特率在
0x0057,为 32 位参数,需用0x10写入 2 个寄存器。 - 数据位/停止位/校验位在
0x0059~0x005B。 - 设备地址与串口参数修改后,需重启后生效。
5.3 广播模式(0x003F)
| 值 | 含义 |
|---|---|
0 | 关闭广播处理 |
1 | 接收并响应广播 |
2 | 接收广播但不响应 |
6. 联动规则
6.1 支持模式(模式码)
| 模式 | 名称 | 说明 |
|---|---|---|
| 0 | 关闭 | 该规则禁用 |
| 1 | DI 跟随 | DO 跟随 DI 正/反向变化 |
| 2 | 脉冲输出 | 收到 DO 控制后,延时后恢复原状态 |
| 3 | 延时控制 | DO 断开/闭合/全部动作延时执行 |
| 4 | 定时变化 | 设备重启后延时执行一次动作 |
| 5 | 循环变化 | 按参数1/参数2周期切换 |
| 6 | 按键(点动) | DI 作为按键触发 DO 动作 |
| 9 | 周期-每天 | 每天在指定秒数执行 |
| 10 | AI 电压大于阈值 | 仅 Y301-444 有效 |
| 11 | AI 电压小于阈值 | 仅 Y301-444 有效 |
| 12 | AI 电流大于阈值 | 仅 Y301-444 有效 |
| 13 | AI 电流小于阈值 | 仅 Y301-444 有效 |
| 15 | 逻辑与 | 多路 DI/DO 逻辑与 |
6.2 指令示例
以下示例均将联动规则写入规则1(起始地址 0x0080),从站地址 0x01。
向其他规则组写入时,将起始地址替换为 0x0088/0x0090/0x0098/0x00A0/0x00A8/0x00B0/0x00B8 并重新计算 CRC。
- 案例1:DI 跟随(模式 1)—— DO1 正向跟随 DI1
| 字段 | 值 | 说明 |
|---|---|---|
| 模式 | 0x0001 | DI 跟随 |
| 动作 | 0x0001 | 正向跟随(DI=1 时闭合) |
| DO 编号 | 0x0001 | DO1 |
| DI/AI 编号 | 0x0001 | DI1 |
| 参数1 | 0x00000000 | 不使用 |
| 参数2 | 0x00000000 | 不使用 |
写入命令:
text
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- 案例2:AI 电压小于阈值(模式 11)—— AI1 电压 < 2V 时 DO1 闭合(仅 Y301-444)
| 字段 | 值 | 说明 |
|---|---|---|
| 模式 | 0x000B | AI 电压小于阈值 |
| 动作 | 0x0001 | 闭合 |
| DO 编号 | 0x0001 | DO1 |
| DI/AI 编号 | 0x0001 | AI1 |
| 参数1 | 0x000007D0 | 阈值 2000 mV(2.0V) |
| 参数2 | 0x000003E8 | 执行间隔 1000ms |
写入命令:
text
01 10 00 80 00 08 10 00 0B 00 01 00 01 00 01 00 00 07 D0 00 00 03 E8 86 227. 故障排除
| 现象 | 可能原因 | 处理建议 |
|---|---|---|
| 无响应 | 从站地址或串口参数不匹配 | 先读 0x002A 确认运行地址,核对波特率/校验位 |
| 地址改后通信失败 | 使用了旧地址通信 | 修改 0x003E 后改用新地址,并重启设备 |
| DO 写入失败 | 功能码/地址不对,或超出通道范围 | DO 仅用 0x0000~0x0003 |
| AI 值异常 | 电压/电流接线混用 | 每路 AI 只能二选一,按接线读取对应寄存器 |
| DI 计数异常 | 计数边沿或消抖设置不合适 | 检查 0x0041 和 0x0042 |
LED 指示灯
| LED | 状态 | 含义 |
|---|---|---|
| POWER | 常亮 | 供电正常 |
| TX | 闪烁 | 正在发送数据 |
| RX | 闪烁 | 正在接收数据 |
| DI1~DI4 | 亮 | 输入有效 |
| DO1~DO4 | 亮 | 继电器闭合 |
- 制造商:湖南研几科技有限公司
- 邮箱:hi@yengear.com
- 网站:www.yengear.cn


