3. 环境数据采集节点搭建实战
育肥猪舍的环境控制目标与产房、保育舍不同:猪只体重大、密度高,夏季散热压力大,冬季又要兼顾通风换气与保温,氨气浓度往往随清粪周期和通风量波动。因此,一个可用的采集节点不能只“能读数”,还要做到接线正确、通信稳定、数据可判读。本节以单栋育肥舍的一个采集节点为例,选用 RS485 输出的温湿度变送器与氨气变送器,接入一台支持 Modbus RTU 的控制器(如带 485 口的 PLC 或边缘网关),完成硬件连接、通信参数配置与读取测试。
一、先明确节点要采什么、装在哪里
育肥舍的环境评价通常关注三类量:空气温度、相对湿度、氨气浓度。温度与湿度可用一体式变送器,安装在猪只活动区上方约 1.5~2.0 m、避开门口直吹和热源的位置;氨气变送器应靠近猪只呼吸带高度(约 0.8~1.2 m),并远离排风口与清粪口,避免测到局部瞬时值。示例中设定:温湿度变送器地址为 1,氨气变送器地址为 2,两者均为 9600 bit/s、8 数据位、无校验、1 位停止位(即常写的 8N1),这是多数国产变送器的出厂默认组合,实际以铭牌或说明书为准。
需要提前确认的关键参数包括:供电电压(常见 12 V DC 或 24 V DC)、输出信号类型(必须是 RS485 而非 4~20 mA)、寄存器地址与数据格式(如温度是否放大 10 倍、有无符号位)、以及通信协议是否为标准 Modbus RTU。这些信息决定了后面接线与解析方式,不能凭经验猜测。
二、硬件连接:供电、总线与终端电阻
典型接法是“控制器 485 口 → 两芯屏蔽双绞线 → 各变送器并联挂接”。A 接 A、B 接 B,不可交叉;屏蔽层单端接地,避免形成地环路。供电方面,若变送器为 12 V DC,可由开关电源统一供电,控制器与变送器共地,但 485 的 A/B 线不要与电源线同管长距离并行,以减少干扰。总线两端(控制器端与最远一台变送器端)各接一只 120 Ω 终端电阻;节点数少、线短时可先不接,若出现偶发通信失败再补上。
三、Modbus RTU 通信配置
硬件接好后,先让控制器与变送器“说同一种语言”。需要统一的参数有:波特率、数据位、校验位、停止位、从站地址。示例统一为 9600 bit/s、8 数据位、无校验、1 停止位,主站轮询周期设为 2 s。若某台变送器出厂为 4800 或带偶校验,必须单独改到一致,否则表现为“完全无响应”或“偶发校验错误”。
寄存器映射要按说明书核对。示例假设:温湿度变送器保持寄存器 0x0000 为温度(单位 0.1 ℃,有符号 16 位),0x0001 为湿度(单位 0.1 %RH,无符号);氨气变送器 0x0000 为浓度(单位 0.1 ppm,无符号)。读取温度用功能码 03,起始地址 0x0000,数量 1,主站发出的请求帧为:
01 03 00 00 00 01 84 0A
从站地址 01 | 功能码 03 | 起始地址 0000 | 寄存器数 0001 | CRC 84 0A
若变送器返回 01 03 02 00 F5 39 8C,则数据字为 0x00F5,即十进制 245,按 0.1 ℃ 换算为 24.5 ℃。读取氨气时把地址改为 02、寄存器数按需读取,返回数据字除以 10 即得 ppm 值。注意有符号温度:若返回 0xFF9C,按补码解释为 −100,即 −10.0 ℃,不能直接当无符号数处理。
四、读取测试与结果判读
上电后按“先单台、后总线”的顺序测试:只接温湿度变送器,发一次请求,看是否返回正确 CRC 与合理数值;再接入氨气变送器,确认两台地址不冲突。若出现超时,依次检查 A/B 是否接反、地址与波特率是否一致、终端电阻是否缺失;若出现 CRC 错误,多为干扰或波特率偏差,可缩短线长、加屏蔽或降低波特率验证。测试时可用串口助手手动发帧,也可用控制器内置的 Modbus 调试工具观察收发报文。
数据合理性判断同样重要:育肥舍温度示例读数应在 18~30 ℃ 区间内随通风变化缓慢波动,湿度在 50%~85%RH 之间,氨气在通风良好时通常低于 10 ppm、清粪后短时升高。若温度长期不变、湿度恒为 0 或氨气读数跳变剧烈,应优先怀疑寄存器地址错、数据放大倍数未换算或探头被污染,而不是直接认定猪舍环境异常。
完成上述步骤后,一个育肥舍采集节点就具备了可复现的最小闭环:明确测点与安装位置,按 A/B 与电源规范接线,统一 8N1 与从站地址,按寄存器映射解析出带单位的物理量,并用报文与数值范围双重判断通信是否真正成功。这套方法可直接迁移到保育舍、产房等其它舍型的温湿度与气体采集节点。