Appearance
Y331-0011/0022/0044/0066/0088 模拟量输入输出模块 RS485 技术手册
1. 概述
本手册适用于下列寄存器表对应的固件,标准为隔离 RS485,RS232 与 CAN 须另用专用资料。四位型号依次为 DI/DO/AI/AO。
| 型号 | DI | DO | AI | AO |
|---|---|---|---|---|
| Y331-0011 | 0 | 0 | 1 | 1 |
| Y331-0022 | 0 | 0 | 2 | 2 |
| Y331-0044 | 0 | 0 | 4 | 4 |
| Y331-0066 | 0 | 0 | 6 | 6 |
| Y331-0088 | 0 | 0 | 8 | 8 |
帧格式 [从站地址][功能码][数据][CRC低][CRC高]。示例从站为 0x01,改地址须重算 CRC;寄存器地址与数据字高字节先发,CRC 低字节先发。
2. 默认参数
| 参数 | 默认值 |
|---|---|
| 从站地址 | 1 |
| 波特率 | 9600 bps |
| 数据位 | 8 |
| 停止位 | 1 |
| 校验 | 无 |
主动上报间隔 (0x0031) | 0,禁用 |
输入数据格式 (0x003A) | 解码前读回并配置 |
| AO 设定值 registers | 复位值 0,断电不保持 |
输入格式须先读回 0x003A 再解码。输入输出手册对 AI 默认格式描述有冲突,不能假定默认值。
3. 寄存器表
以下为从 0 开始的协议地址,值为无符号 16 位。RO 只读,RW 读写。
AI:功能码 0x04
| 通道 | 协议地址 | 说明 | 单位 | 读写 |
|---|---|---|---|---|
| AI1 | 0x0000 | AI1 采样值 | V* | RO |
| AI2 | 0x0001 | AI2 采样值 | V* | RO |
| AI3 | 0x0002 | AI3 采样值 | V* | RO |
| AI4 | 0x0003 | AI4 采样值 | V* | RO |
| AI5 | 0x0004 | AI5 采样值 | V* | RO |
| AI6 | 0x0005 | AI6 采样值 | V* | RO |
| AI7 | 0x0006 | AI7 采样值 | V* | RO |
| AI8 | 0x0007 | AI8 采样值 | V* | RO |
每 AI 占一个寄存器,只读取实装通道。电压解码为 V,毫安输入换算见后文。
AO:功能码 0x03 / 0x06 / 0x10
| 通道 | 协议地址 | 说明 | 单位 | 读写 |
|---|---|---|---|---|
| AO1 | 0x000A | AO1 设定值 × 1000 | V / mA | RW |
| AO2 | 0x000B | AO2 设定值 × 1000 | V / mA | RW |
| AO3 | 0x000C | AO3 设定值 × 1000 | V / mA | RW |
| AO4 | 0x000D | AO4 设定值 × 1000 | V / mA | RW |
| AO5 | 0x000E | AO5 设定值 × 1000 | V / mA | RW |
| AO6 | 0x000F | AO6 设定值 × 1000 | V / mA | RW |
| AO7 | 0x0010 | AO7 设定值 × 1000 | V / mA | RW |
| AO8 | 0x0011 | AO8 设定值 × 1000 | V / mA | RW |
AO 固定使用 V 或 mA ×1000 编码,不随 AI 格式改变。1 mV / 1 µA 是寄存器步进,物理输出分辨率未规定。读回是保存的设定值,不是输出实测值。断电后寄存器复位为 0;4–20 mA 版实际启动电流未规定。
公共保持寄存器:0x03 / 0x06 / 0x10
| 协议地址 | 参数 | 字节 | 读写 | 范围 / 枚举 | 默认值 |
|---|---|---|---|---|---|
0x0031 | 主动上报间隔 | 2 | RW | 间隔单位未验证;0 禁用 | 0 |
0x0032 | 从站地址 | 2 | RW | 1-255 | 1 |
0x0033 | 波特率代码 | 2 | RW | 0–7,见串口设置 | 1 |
0x003A | 输入数据格式 | 2 | RW | 0–3,见输入格式 | 读回确认 |
0x003D | 校验 | 2 | RW | 0=无,1=奇,2=偶 | 0 |
4. 命令示例(含 CRC)
逐路读取 AI
| 操作 | 请求帧(HEX) |
|---|---|
| 读取 AI1 | 01 04 00 00 00 01 31 CA |
| 读取 AI2 | 01 04 00 01 00 01 60 0A |
| 读取 AI3 | 01 04 00 02 00 01 90 0A |
| 读取 AI4 | 01 04 00 03 00 01 C1 CA |
| 读取 AI5 | 01 04 00 04 00 01 70 0B |
| 读取 AI6 | 01 04 00 05 00 01 21 CB |
| 读取 AI7 | 01 04 00 06 00 01 D1 CB |
| 读取 AI8 | 01 04 00 07 00 01 80 0B |
读取实装全部 AI
| 操作 | 请求帧(HEX) |
|---|---|
| Y331-0011: 读取 AI1 | 01 04 00 00 00 01 31 CA |
| Y331-0022: 读取 AI1-AI2 | 01 04 00 00 00 02 71 CB |
| Y331-0044: 读取 AI1-AI4 | 01 04 00 00 00 04 F1 C9 |
| Y331-0066: 读取 AI1-AI6 | 01 04 00 00 00 06 70 08 |
| Y331-0088: 读取 AI1-AI8 | 01 04 00 00 00 08 F1 CC |
解析响应
text
请求:01 04 00 00 00 01 31 CA
响应:01 04 02 03 E8 B9 8E0x03E8 = 1000,固定三位小数电压编码为 1.000 V;249 Ω 电压编码的毫安输入约为 4.016 mA。按实际 0x003A 及硬件编码解码。
AO 读取与设置
先核实输出类型、范围和负载;10 V 只适用 0–10 V 输出,两路示例至少需两个 AO。
| 操作 | 请求帧(HEX) |
|---|---|
| 读取 AO1 设定值 | 01 03 00 0A 00 01 A4 08 |
| 设置 AO1 = 1 V (电压版) | 01 06 00 0A 03 E8 A9 76 |
| 设置 AO1 = 12 mA (电流版) | 01 06 00 0A 2E E0 B5 E0 |
| 设置 AO1 = 10 V 或 10 mA | 01 06 00 0A 27 10 B3 F4 |
| 设置 AO1-AO2 = 10 V 或 10 mA | 01 10 00 0A 00 02 04 27 10 27 10 62 9D |
设置为 10 V 或 10 mA 后,读取响应为 01 03 02 27 10 A2 78,0x2710=10000,表示对应类型 10.000 V 或 10.000 mA。
参数读写
| 操作 | 请求帧(HEX) |
|---|---|
读取 从站地址 (0x0032) | 01 03 00 32 00 01 25 C5 |
| 写入 从站地址 = 2 | 01 06 00 32 00 02 A9 C4 |
读取 baud-rate code (0x0033) | 01 03 00 33 00 01 74 05 |
| 写入 波特率 = 38400 bps (代码 4) | 01 06 00 33 00 04 78 06 |
读取 输入数据格式 (0x003A) | 01 03 00 3A 00 01 A4 07 |
| 写入 固定三位小数格式 (代码 2) | 01 06 00 3A 00 02 28 06 |
地址、波特率、校验、输入格式断电保持,改动后断电重启生效,并以新串口参数重连。
5. 接线与参数配置
先用外壳安装槽螺钉固定到背板或平面,断电核对范围与标签。电源 +/− 接 6–36 VDC,A/B 接 RS485,AI+/AI− 接输入,AO+/AO− 接输出。0–5 V / 毫安组合硬件各输入跳线断开为电压、闭合为电流,接信号前设置;0–10 V 按所订硬件说明。输入跳线不配置 AO 类型,AO 接匹配负载,测上电输出再试设定值。
电压并联、电流串联,毫安变送器按自身接法配置供电。首次总线只接一模块和一主站,读 AI1 与已知源比对;每模块分配唯一地址。
地址 0x0032 写 1–255;波特率 0x0033 使用 16 位代码:
| 波特率代码 | 波特率(bps) |
|---|---|
| 0 | 4800 |
| 1 | 9600 |
| 2 | 14400 |
| 3 | 19200 |
| 4 | 38400 |
| 5 | 56000 |
| 6 | 57600 |
| 7 | 115200 |
0x003D:0 无校验、1 奇、2 偶;8 数据位、1 停止位。0x003A 设置 AI 小数格式:
| 代码 | 格式 |
|---|---|
| 0 | 可变小数 |
| 1 | 固定两位小数 |
| 2 | 固定三位小数 |
| 3 | 固定四位小数 |
格式寄存器只影响编码,不改变物理量程,也不改变 AO 编码。0x0031 为主动上报,0 禁用;初次轮询保持禁用。手册中的间隔单位与例子有冲突,单位未验证,启用前取得固件定义。
6. 模拟量换算
可变小数格式中,R 的万位表示小数位数,余四位为数值:
text
d = floor(R / 10000)
n = R % 10000
解码值 = n / 10^d例如 31000:d=3、n=1000,得到 1.000。固定格式为 解码值 = R / 10^d,d 按 0x003A 为 2、3 或 4;三位小数时 R=1000 为 1.000。
无符号 16 位的四位小数电压最多 6.5535 V,0–10 V全量程应选两位或三位小数。毫伏精度用已知参考源核验。电压单位为 V,例如 1.000 V=1000 mV。
对于249 Ω 毫安采样电阻电压编码:
text
电流(A) = 解码电压(V) / 249
电流(mA) = 解码电压(V) × 1000 / 249
工程值 = low + (current_mA - 4) × (high - low) / 161.000 V / 249 Ω = 0.004016 A,约 4.016 mA,再按变送器低高端 low/high 换算工程值。不能把该假设套到未确认编码或电阻的硬件。
AO 原始设定 = 电压(V) ×1000 或电流(mA) ×1000,例如 2.500 V → 2500(0x09C4),12.000 mA → 12000(0x2EE0)。写对应 AO 保持寄存器并限定在所订范围内;249 Ω 换算只适用于输入,不能用于 AO 设定。
7. 故障排查
无响应:检查供电、A/B、地址、波特率和校验。改参数后停止响应:断电重启并以新设置重连。缩放错误:读 0x003A 并按格式解码。毫安错误:按硬件编码和采样电阻换算。部分通道不通:请求不能超过实装 AI/AO 数。AO 缩放错误时用 V / mA ×1000;断电设定丢失属于不保持特性,主机须验证上电状态并重发所需设定。电源灯表示供电,通信灯(如有)表示总线活动。排障记录完整型号、范围、串口、请求及响应帧。
