4. Modicon 串口通信参数配置
Modicon 系列 PLC(如 M340、M580、Premium、Quantum 以及较早的 TSX Micro、Twido 等)在数据采集场景中,串口通信仍然是最常见、最经济的一路通道。无论是 Modbus RTU 从站采集、Modbus ASCII 调试,还是与仪表、变频器、称重仪表的点对点通信,通信能否建立,几乎完全取决于两件事:串口参数是否与从站严格一致,以及物理接线与信号参考是否正确。本节围绕这两条主线展开,先讲参数含义与配置方法,再讲 RS-232 与 RS-485 的接线规范,最后给出可复现的调试方法。
一、五个串口参数的含义与配置原则
Modicon PLC 的串口(如 M340 的 PCMCIA 串口卡、M580 的 CPU 内置串口、Premium 的 TER 口)在 Unity Pro / Control Expert 中通过“串口配置”页面设置,核心参数共五项:波特率、数据位、停止位、校验位、流控。它们共同定义了一帧数据的位结构,任何一项与从站不一致,都会导致通信失败或数据错乱。
- 波特率(Baud Rate):每秒传输的符号数,常见 9600、19200、38400、115200。Modbus RTU 常用 9600 或 19200。波特率越高,抗干扰余量越小,长距离或强干扰场合应适当降低。
- 数据位(Data Bits):Modbus RTU 固定为 8 位;Modbus ASCII 常用 7 位。数据位决定一个字符的有效载荷宽度。
- 停止位(Stop Bits):1 位或 2 位。多数设备用 1 位,部分仪表、老式变频器要求 2 位。
- 校验位(Parity):None / Odd / Even。Modbus RTU 常用 Even(偶校验),也有设备用 None。校验位是帧内最简单的错误检测手段。
- 流控(Flow Control):None / RTS-CTS 硬件流控 / XON-XOFF 软件流控。Modbus 主从通信通常使用 None;只有与某些调制解调器或特殊设备通信时才启用硬件流控。
配置原则可以概括为一句话:以从站设备手册为准,PLC 端逐项对齐。如果手册写“9600, 8, E, 1”,则 PLC 端应设置为波特率 9600、数据位 8、校验 Even、停止位 1、流控 None。不要凭经验猜测,也不要“先随便设一个再试”,因为参数不匹配时现象往往只是超时或乱码,很难反推是哪一项错了。
二、参数配置的实际操作与示例
以 M340 的 CPU 内置串口为例,在 Control Expert 中打开“项目浏览器 → 通讯 → 串口”,进入配置页。典型 Modbus RTU 从站采集配置如下:
协议类型:Modbus RTU(从站模式)
波特率:9600
数据位:8
停止位:1
校验位:Even
流控:None
响应超时:1000 ms
帧间延时:3.5 字符时间(RTU 自动处理)
其中“响应超时”不是物理层参数,但直接影响采集稳定性。9600 波特率下,一个字符约 1.04 ms,3.5 字符时间约 3.6 ms,这是 Modbus RTU 判断帧结束的依据,PLC 固件会自动处理,无需手工填写。若从站响应慢,可把超时放宽到 1000~2000 ms;若从站数量多、轮询周期长,则要核算总时间是否满足上位刷新要求。
再看一个 Modbus ASCII 的示例。某些老式仪表只支持 ASCII 模式,参数为 7 数据位、Even 校验、1 停止位、9600 波特率。此时 PLC 端必须把数据位改为 7,否则接收到的字符会整体错位。ASCII 模式帧头为冒号“:”,帧尾为 CR+LF,传输效率低于 RTU,但可读性好,适合调试阶段观察报文。
三、RS-232 与 RS-485 接线规范
参数一致只是“软件层”对齐,物理层接线错误同样会导致通信失败。Modicon 串口常见两种电气接口:RS-232 和 RS-485。二者在拓扑、距离、信号方式上差异明显,接线时必须区分。
RS-232 是点对点、单端信号,适合 15 米以内短距离通信。Modicon 的 TER 口或调试口常为 RS-232,典型信号包括 TXD、RXD、GND。接线核心是“交叉连接”:PLC 的 TXD 接从站的 RXD,PLC 的 RXD 接从站的 TXD,GND 必须共地。若使用 DB9 接口,通常只需 2、3、5 三根线。RS-232 不需要终端电阻,也不支持多从站并联。
RS-485 是差分信号、总线型拓扑,适合 1200 米以内、多点通信。Modicon 的 RS-485 端口通常标为 D(A)、D(B)、GND。接线核心是“同名相连”:所有设备的 A 接 A、B 接 B,GND 共地。总线两端各接一只 120 Ω 终端电阻,中间节点不接。若现场只有两台设备且距离很短,终端电阻可暂时不接,但长距离或高波特率时必须接,否则反射会造成误码。
四、调试方法与常见问题判断
接线和参数都设置好后,不要直接接入上位系统,应先做本地回环或点对点验证。推荐按以下顺序推进:
- 用串口助手单独测试从站:在 PC 上用 USB 转 RS-485 模块连接从站,按手册参数发送一帧 Modbus RTU 请求,例如读取保持寄存器 40001 的报文为
01 03 00 00 00 01 84 0A。若从站返回01 03 02 xx xx CRC,说明从站本身正常,问题在 PLC 侧或接线。 - 核对 PLC 串口参数:在 Control Expert 的串口配置页逐项比对,特别注意校验位和数据位,这两项最容易被忽略。
- 检查接线与共地:RS-485 的 A/B 是否接反是最高频故障。若通信完全无响应,可尝试对调 A、B;若出现偶发 CRC 错误,优先检查 GND 是否共地、终端电阻是否只接在两端。
- 观察诊断计数器:Modicon PLC 的串口诊断页面通常提供“接收帧数、CRC 错误数、超时数”。若 CRC 错误持续增长,多为干扰或终端电阻问题;若超时数增长而 CRC 为 0,多为参数不匹配或从站地址错误。
- 逐步提高波特率:先用 9600 验证通信,稳定后再尝试 19200 或 38400。若提高后误码率上升,说明线缆质量或屏蔽接地需要改善。
最后给出一个实用的参数记录表,便于现场逐台设备核对。表中“示例值”为常见 Modbus RTU 仪表的合理假设,实际应以设备手册为准。
| 参数项 | 示例值 | 核对要点 |
|---|---|---|
| 波特率 | 9600 | 与从站手册一致,长距离适当降低 |
| 数据位 | 8 | RTU 固定 8 位,ASCII 常用 7 位 |
| 停止位 | 1 | 部分仪表要求 2 位 |
| 校验位 | Even | None / Odd / Even 三选一,必须一致 |
| 流控 | None | Modbus 通常不用流控 |
| 从站地址 | 1 | 总线上不可重复 |
| 终端电阻 | 120 Ω × 2 | 仅总线两端各一只 |
把参数、接线、调试三件事按顺序做扎实,Modicon 串口采集的首次连通率会显著提高。真正在现场浪费时间的情况,往往不是 PLC 本身复杂,而是参数少对了一项、A/B 接反了、或者终端电阻多接了一只。养成“先核对、再接线、后上电调试”的习惯,比事后反复排查更高效。