Skip to content

Y301-220/222 技术手册

Y301-220Y301-222
Y301-220Y301-222

目录

  1. 概述
  2. 默认设置
  3. Modbus 地址映射(仅 Modbus 地址)
  4. 指令示例(含 CRC)
  5. 参数配置说明
  6. 联动规则
  7. 故障排除

1. 概述

本手册介绍 Y301-220、Y301-222 I/O 模块的 Modbus-RTU 通信指令与寄存器。

型号DIDOAI说明
Y301-220220双输入 + 双继电器
Y301-222222双输入 + 双继电器 + 双模拟输入

帧格式: [从站地址][功能码][数据][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 地址读写
DI10x0000RO
DI20x0001RO

返回值:0=无输入,1=有输入。

3.2 DO(线圈,功能码 0x01/0x05/0x0F

通道Modbus 地址读写
DO10x0000RW
DO20x0001RW

写线圈值:0x0000=断开,0xFF00=闭合。

3.3 AI(输入寄存器,功能码 0x04,仅 Y301-222)

通道Modbus 地址含义单位读写
AI1 电压0x0000AI1 电压采样值mVRO
AI1 电流0x0001AI1 电流采样值uARO
AI2 电压0x0002AI2 电压采样值mVRO
AI2 电流0x0003AI2 电流采样值uARO

说明:同一路 AI 同一时刻只能接电压或电流,另一寄存器值无效。

3.4 常用保持寄存器(参数,功能码 0x03/0x06/0x10

Modbus 地址参数字节数读写范围/枚举默认值
0x002A运行从机地址(设备地址+拨码偏移)2RO0-255-
0x002B拨码偏移地址2RO0-310
0x003E设备地址2RW1-2551
0x003F广播模式2RW0=关,1=接收并响应,2=接收不响应0
0x0040输出状态保持2RW0=不保持,1=软重启保持,2=软重启+上电保持1
0x0041脉冲计数模式2RW0=下降沿,1=上升沿1
0x0042脉冲计数消抖时间(ms)2RW5-25550
0x004C串口心跳周期(s)2RW0=关闭,1-655350
0x004D串口心跳内容16RW字符串-
0x0055RTC 时间(Unix)4RWuint32-
0x0057波特率4RW600-2304009600
0x0059数据位2RW8、98
0x005A停止位2RW1、21
0x005B校验位2RW0=None, 1=Odd, 2=Even0
0x005C打包时间(ms)2RW0-255(0=自适应)0

说明:

  • 0x00570x0055 等 32 位参数需按 大端字节序写入(高字在前)。
  • 厂家说明:串口参数和设备地址修改后需重启生效。

3.5 DI 脉冲计数寄存器(保持寄存器)

通道Modbus 地址字节数读写说明
DI1 计数0x0500(占 0x0500~0x05014RW仅允许写 0 清零
DI2 计数0x0502(占 0x0502~0x05034RW仅允许写 0 清零

3.6 联动规则寄存器(保持寄存器)

Y301-220/222 的 DO 数量为 2,联动规则组数 = DO * 2 = 4 组。

规则组起始 Modbus 地址长度
规则10x00808 寄存器(16 字节)
规则20x00888 寄存器(16 字节)
规则30x00908 寄存器(16 字节)
规则40x00988 寄存器(16 字节)

单组字段结构:

偏移字段字节数
+0模式2
+1动作2
+2DO 编号2
+3DI/AI 编号2
+4~+5参数14
+6~+7参数24

3.7 特殊寄存器

Modbus 地址名称写入值说明
0x0800重启 / 恢复出厂0x5500=重启,0x00550x5555=恢复出厂并重启WO

4. 指令示例(含 CRC)

提示:命令使用独立代码块展示时,VitePress 会在代码块右上角显示复制图标,可一键复制 Modbus 命令。

4.1 DI 查询(0x02

操作请求
读 DI101 02 00 00 00 01 B9 CA
读 DI201 02 00 01 00 01 E8 0A
批量读 DI1~DI201 02 00 00 00 02 F9 CB

4.2 DO 查询与控制

查询(0x01):

操作请求
读 DO101 01 00 00 00 01 FD CA
读 DO201 01 00 01 00 01 AC 0A
批量读 DO1~DO201 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

设备地址:

操作请求
读取设备地址(0x003E01 03 00 3E 00 01 E5 C6
写设备地址为 501 06 00 3E 00 05 28 05

串口参数:

操作请求
读取波特率(0x0057,2寄存器)01 03 00 57 00 02 75 DB
写波特率为 115200(0x0001C20001 10 00 57 00 02 04 00 01 C2 00 B7 D5
写波特率为 9600(0x0000258001 10 00 57 00 02 04 00 00 25 80 AC 45
读取数据位/停止位/校验位(0x0059~0x005B01 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

状态保持与计数参数:

操作请求
读取输出状态保持(0x004001 03 00 40 00 01 85 DE
写输出状态保持=2(上电保持)01 06 00 40 00 02 09 DF
读取脉冲计数模式(0x004101 03 00 41 00 01 D4 1E
写脉冲计数模式=1(上升沿)01 06 00 41 00 01 18 1E
读取消抖时间(0x004201 03 00 42 00 01 24 1E
写消抖时间=50ms01 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=0x550001 06 08 00 55 00 B4 FA
恢复出厂并重启(0x0800=0x005501 06 08 00 00 55 4B 95

4.7 常用命令快捷复制

text
01 02 00 00 00 02 F9 CB
text
01 0F 00 00 00 02 01 03 9E 96
text
01 04 00 00 00 04 F1 C9
text
01 10 00 57 00 02 04 00 01 C2 00 B7 D5

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关闭该规则禁用
1DI 跟随DO 跟随 DI 正/反向变化
2脉冲输出收到 DO 控制后,延时后恢复原状态
3延时控制DO 断开/闭合/全部动作延时执行
4定时变化设备重启后延时执行一次动作
5循环变化按参数1/参数2周期切换
6按键(点动)DI 作为按键触发 DO 动作
7定点-单次到指定 Unix 时间戳执行一次
8定点-循环从指定时间起按间隔循环执行
9周期-每天每天在指定秒数执行
10AI 电压大于阈值仅 Y301-222 有效
11AI 电压小于阈值仅 Y301-222 有效
12AI 电流大于阈值仅 Y301-222 有效
13AI 电流小于阈值仅 Y301-222 有效
14延时跟随DI 变化后延时跟随
15逻辑与多路 DI/DO 逻辑与
16逻辑或多路 DI/DO 逻辑或
17逻辑异或多路 DI/DO 逻辑异或

6.2 指令示例

以下示例均将联动规则写入规则1(起始地址 0x0080),从站地址 0x01。向其他规则组写入时,将起始地址替换为 0x0088/0x0090/0x0098 并重新计算 CRC 即可。

关于动作码:0=断开,1=闭合,2=翻转(视模式而定)。

  • 案例1:DI 跟随(模式 1)—— DO1 正向跟随 DI1
字段说明
模式0x0001DI 跟随
动作0x0001正向跟随(DI=1 时闭合)
DO 编号0x0001DO1
DI/AI 编号0x0001DI1
参数10x00000000不使用
参数20x00000000不使用

写入命令:

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 电压大于阈值(模式 10)—— AI1 电压 > 5V 时 DO1 断开
字段说明
模式0x000AAI 电压大于阈值
动作0x0000断开
DO 编号0x0001DO1
DI/AI 编号0x0001AI1
参数10x00001388阈值 5000 mV(= 5 V)
参数20x000003E8执行间隔 1000 ms(防抖)

写入命令:

text
01 10 00 80 00 08 10 00 0A 00 00 00 01 00 01 00 00 13 88 00 00 03 E8 67 7A
  • 案例3:AI 电压小于阈值(模式 11)—— AI1 电压 < 2V 时 DO1 闭合
字段说明
模式0x000BAI 电压小于阈值
动作0x0001闭合
DO 编号0x0001DO1
DI/AI 编号0x0001AI1
参数10x000007D0阈值 2000 mV(= 2 V)
参数20x000003E8执行间隔 1000 ms

写入命令:

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 22

本案例详细拆解(后续案例可按同样方式理解):

字节序列含义
01从站地址 = 0x01
10功能码 = 0x10(写多个保持寄存器)
00 80起始寄存器地址 = 0x0080(规则1起始地址)
00 08写入寄存器数量 = 8(共16字节规则体)
10后续数据字节数 = 16
00 0B模式 = 0x000B(AI 电压小于阈值)
00 01动作 = 0x0001(闭合)
00 01DO 编号 = 1(DO1)
00 01DI/AI 编号 = 1(AI1)
00 00 07 D0参数1 = 2000(mV),即阈值 2.0V
00 00 03 E8参数2 = 1000(ms),执行间隔/防抖
86 22CRC16(低字节在前)

语义总结:把“AI1 电压低于 2V 时,闭合 DO1”的规则写入规则1;并设置触发执行最小间隔为 1000ms。

  • 案例4:AI 电流大于阈值(模式 12)—— AI1 电流 > 10mA 时 DO1 闭合
字段说明
模式0x000CAI 电流大于阈值
动作0x0001闭合(开启)
DO 编号0x0001DO1
DI/AI 编号0x0001AI1
参数10x00002710阈值 10000 uA(= 10 mA)
参数20x000003E8执行间隔 1000 ms(防抖)

写入命令:

text
01 10 00 80 00 08 10 00 0C 00 01 00 01 00 01 00 00 27 10 00 00 03 E8 C6 51
  • 案例5:AI 电流小于阈值(模式 13)—— AI1 电流 < 4mA 时 DO1 断开
字段说明
模式0x000DAI 电流小于阈值
动作0x0000断开
DO 编号0x0001DO1
DI/AI 编号0x0001AI1
参数10x00000FA0阈值 4000 uA(= 4 mA)
参数20x000003E8执行间隔 1000 ms

写入命令:

text
01 10 00 80 00 08 10 00 0D 00 00 00 01 00 01 00 00 0F A0 00 00 03 E8 42 22
  • 案例6:脉冲输出(模式 2)—— DO1 常断,闭合后 2s 自动恢复断开
字段说明
模式0x0002脉冲输出
动作0x0000常断
DO 编号0x0001DO1
DI/AI 编号0x0000不使用
参数10x000007D0脉冲持续时间 2000 ms
参数20x00000000不使用

写入命令:

text
01 10 00 80 00 08 10 00 02 00 00 00 01 00 00 00 00 07 D0 00 00 00 00 40 8B
  • 案例7:延时控制(模式 3)—— DO1 断开指令延时 3s 执行
字段说明
模式0x0003延时控制
动作0x0000仅断开延时
DO 编号0x0001DO1
DI/AI 编号0x0000不使用
参数10x00000BB8延时 3000 ms
参数20x00000000不使用

写入命令:

text
01 10 00 80 00 08 10 00 03 00 00 00 01 00 00 00 00 0B B8 00 00 00 00 E0 8E
  • 案例8:循环变化(模式 5)—— DO1 断开 1s、闭合 2s 循环
字段说明
模式0x0005循环变化
动作0x0000先断开
DO 编号0x0001DO1
DI/AI 编号0x0000不使用
参数10x000003E8断开保持 1000 ms
参数20x000007D0闭合保持 2000 ms

写入命令:

text
01 10 00 80 00 08 10 00 05 00 00 00 01 00 00 00 00 03 E8 00 00 07 D0 A4 64
  • 案例9:按键/点动(模式 6)—— DI1 按键触发 DO1 翻转
字段说明
模式0x0006按键(点动)
动作0x0002翻转
DO 编号0x0001DO1
DI/AI 编号0x0001DI1 作为按键输入
参数10x000003E8按键持续时间 1000 ms
参数20x00000000不使用

写入命令:

text
01 10 00 80 00 08 10 00 06 00 02 00 01 00 01 00 00 03 E8 00 00 00 00 EE 1B
  • 案例10:逻辑与(模式 15)—— DO2 闭合 且 DI1、DI2 均有信号时 DO1 保持闭合
字段说明
模式0x000F逻辑与
动作0x0004闭合(保持)
DO 编号0x0001DO1
DI/AI 编号0x0000不使用
参数10x00000002DO2 参与逻辑(bit1=1)
参数20x00000003DI1+DI2 参与逻辑(bit0+bit1=1)

写入命令:

text
01 10 00 80 00 08 10 00 0F 00 04 00 01 00 00 00 00 00 02 00 00 00 03 7A AE
  • 案例11:定时变化(模式 4)—— 设备重启 5s 后 DO1 闭合
字段说明
模式0x0004定时变化
动作0x0001闭合
DO 编号0x0001DO1
DI/AI 编号0x0000不使用
参数10x00001388定时 5000 ms
参数20x00000000不使用

写入命令:

text
01 10 00 80 00 08 10 00 04 00 01 00 01 00 00 00 00 13 88 00 00 00 00 E6 D1
  • 案例12:定点-每天(模式 9)—— 每天 18:00:00 DO1 断开
字段说明
模式0x0009周期-每天
动作0x0000断开
DO 编号0x0001DO1
DI/AI 编号0x0000不使用
参数10x0000FD20当天秒数 64800(18×3600)
参数20x00000000不使用

写入命令:

text
01 10 00 80 00 08 10 00 09 00 00 00 01 00 00 00 00 FD 20 00 00 00 00 5F C3

注意:模式 7~9 依赖 RTC 时间。设备重启后需先向 RTC 寄存器(0x0055)写入当前 Unix 时间戳。


7. 故障排除

现象可能原因处理建议
无响应从站地址或串口参数不匹配先读 0x002A 确认运行地址,核对波特率/校验位
地址改后通信失败使用了旧地址通信修改 0x003E 后改用新地址,并重启设备
DO 写入失败功能码/地址不对,或超出通道范围DO 仅用 0x0000~0x0001;批量写用 0x0F
AI 值异常电压/电流接线混用每路 AI 只能二选一,按接线读取对应寄存器
DI 计数异常计数边沿或消抖设置不合适检查 0x00410x0042
联动不生效规则参数冲突或模式不支持0x0080 开始读回规则,确认模式码与参数

LED 指示灯

LED状态含义
POWER常亮供电正常
TX闪烁正在发送数据
RX闪烁正在接收数据
DI1/DI2输入有效
DO1/DO2继电器闭合