协议接入

老旧设备联网:只有串口甚至没接口怎么办

数字化项目里最难的往往不是新设备,而是那批还在干活的老设备。它们没有网口、没有文档、原厂可能都不在了。这类设备的取数思路和新设备完全不同:先定统计口径,再决定取几个点。

这类设备是什么,都有哪些

「老旧设备」在数采语境里指的是不具备以太网通信能力的那批设备。 按接口条件可以分成三档: 有 RS232/RS485 串口且协议已知(老式数控系统、电子秤、扭力枪、 测试仪器、老 PLC 的编程口、条码枪、打印机接口); 有串口但协议不明(原厂已不提供支持的专机); 完全没有通信口(继电器逻辑控制的老机床、冲床、烘箱、简易组装台、 早期气动专机)。

这三档的处理方式完全不同,成本差异也很大。 而决定该做到哪一档的,不是技术能力,而是这台设备在统计口径里承担什么角色—— 如果它只需要贡献稼动与产量,第三档的硬采就够; 如果它是关键工序需要工艺参数追溯,那可能得考虑改造甚至换设备。

敏洽 SCADA 数采软件在这类场景常用两个驱动: modbus_rtu_over_tcp(串口设备经串口服务器转以太网后按 Modbus RTU 报文访问, 也是绝大多数远程 I/O 模块的接入方式)与 python_custom(Python 自定义协议引擎,子进程隔离运行,带调试器面板, 用于协议不明或格式特殊的串口设备)。

实际会遇到的几个坑

1. 串口已经被占用

老设备通常只有一个串口,而它往往已经接了东西:老上位机、报表打印机、 或者一台不知道谁装的记录仪。RS232 是点对点的, 不能像 485 那样并挂。 现场要先确认这个口能不能腾出来:如果原有连接还有人用, 就得用带监听功能的分线器(只收不发地旁听原有会话), 或者串接透明转发。 这一步没确认清楚,硬件买回来装不上是常事。

2. 串口参数与接线全靠试

老设备的波特率、数据位、校验位、停止位往往没有文档, 设备面板上也查不到。可用的办法是先看设备铭牌与同型号资料, 再按常见组合试(9600/8N1、9600/8E1、19200/8N1、2400/7E1 等)。 RS232 的接线也要注意:DB9 的 2/3 脚是否需要交叉、 有没有硬件流控要求、有的老设备需要把 RTS/CTS 短接才肯发数据。 建议现场带一个串口调试助手先把物理层通了再谈协议。

3. 只上报不应答的设备容易被漏掉

一部分老设备(电子秤、测试仪、部分检测仪器)不是问答式的, 而是自己按周期或按事件往串口吐 ASCII 字符串。 这类设备用问答式驱动去读永远读不到东西, 需要采集侧改成被动监听模式,按分隔符或固定长度切帧再解析。 串口服务器的工作模式也要相应选 TCP Client(设备侧主动往采集端推) 或者采集端连上去只收不发。这一点在选硬件之前就要确定。

4. 硬采信号点选错,数据算不对

没有通信口的设备靠取电控柜里的信号。常见的错误是拿「电源上电」当「设备运行」—— 设备通了电但没在干活,这样算出来的稼动率永远偏高,客户一看就不认。 正确的取点是主轴或主电机接触器的辅助触点、驱动器的运行输出、 或者塔灯的绿灯回路。产量信号同理: 要取真正的完工信号(出料气缸到位、计数继电器动作、下料光电触发), 而不是启动按钮。信号点位清单必须和客户设备工程师逐条确认, 并且现场空跑几件核对计数是否一致。

5. 取信号必须从无源触点取,不能并到动力回路上

安全与合规上的红线。取信号要用空余的辅助触点或加装中间继电器隔离, 由客户的电气工程师接线并确认不影响设备原有安全回路, 尤其不能碰急停链、安全门锁、光栅这些安全相关回路。 涉及压力机、注塑机等有强制安全要求的设备, 任何接线都要走客户内部的变更审批。 敏洽在这类项目里提供点位清单与接线要求说明,接线动作由客户方实施。

6. 停机原因需要人工补录

硬采能知道设备停了,但不知道为什么停。 而做改善分析真正需要的是停机原因分类(换型、缺料、待检、故障、无计划)。 现实的做法是机采时长 + 人工选原因: 系统检测到超过阈值的停机就在工位终端上弹出提示, 操作工从预设的原因列表里点一个。 这套机制的关键是原因列表要短(十条以内)、分类要和班组的实际说法一致, 否则大家会一律点「其他」,数据同样没用。 口径相关的处理见 OEE 怎么算才不被终端客户挑战。

接入方式与硬件条件

设备条件接入方式硬件需求
有串口、协议已知、问答式串口服务器转以太网,modbus_rtu_over_tcp 或按原协议解析串口服务器(导轨式 24V 供电优先)
有串口、只主动吐数据被动监听模式,按分隔符切帧;串口服务器配 TCP Client 或采集端只收串口服务器;需支持所需工作模式
有串口、协议不明python_custom 自定义协议引擎,先监听抓样本再推断格式串口服务器 + RS232/485 监听分线器
串口已被占用监听分线(只收)或透明转发串接监听型分线器,或双串口工控机
无通信口、电控柜有可用触点远程 I/O 模块采数字量,按 Modbus 接入远程 I/O 模块 + 中间继电器隔离
无通信口、无可用触点加装传感器:电流互感器判运行、光电/接近开关判计数互感器、光电传感器、远程 I/O

串口参数(波特率、数据位、校验、停止位)与 I/O 点位清单这两份东西要落成文档, 作为接口文档的附件。串口服务器与 I/O 模块的型号敏洽可以给建议, 采购与接线由客户方完成——电气施工与安全回路的责任边界要在合同里写明。

相关交付情况

老设备改造类项目,敏洽的经验是先分档再报价: 把车间设备清单按上面那张表分成几档, 每一档给出单台的硬件成本区间与软件工作量, 客户能自己决定哪些设备要做到什么程度。 通常的结果是关键工序做完整采集、辅助工序只做状态与产量、 个别设备干脆不接由人工报工—— 这比一开始就承诺「全车间设备全部联网」要现实得多, 也避免了后期在几台难搞的设备上耗掉整个项目周期。

协议不明确的那一档如果占比较大,建议先做可行性阶段, 处理方式见 进口设备协议封闭没文档怎么取数。 更多交付情况见 案例中心。

常见问题

用串口服务器把 RS232 转成以太网,采集软件通过 TCP 连到串口服务器的对应端口,报文格式仍按原来的串口协议走。要注意 RS232 是点对点的,一个口只能接一台设备;而且原来那个口如果已经接了打印机或老上位机,需要先确认能不能腾出来,或者换用带监听的分线方案。
看三点。一是串口数量与类型,RS232 与 RS485 的针脚定义不同,混装现场选支持软件切换的型号更省事;二是工作模式,要支持 TCP Server(采集侧主动连)还是 TCP Client(设备侧主动上报),有的场景还要 UDP;三是供电与安装方式,导轨式 24V 供电的比适配器供电的可靠。避开只有配置工具没有说明文档的杂牌,现场改参数会很痛苦。
能采状态和产量,采不到工艺参数。做法是从电控柜里取现成的信号:接触器辅助触点或热继电器判断主轴/电机是否在运行,塔灯的红黄绿三路判断状态,气缸磁性开关或计数继电器判断产量,急停与故障继电器判断停机原因。这些信号接到远程 I/O 模块,通过网络进采集软件。信号不够时再加装电流互感器或光电传感器。
取决于要什么。算稼动率、开机率、产量与停机时长,运行信号加计数信号这两路就够。要做 OEE 的质量维度就得再有良品/不良品的区分信号,或者由人工在终端上报。要做工艺参数追溯(温度、压力、转速曲线)硬采基本做不到,那种需求只能加装独立传感器或者接受这台设备不进追溯范围。这个边界要在方案阶段写清楚。

有具体设备清单或工件样品,可以直接给判断

提供设备型号、PLC 品牌与需要采集的数据项,或提供被检工件照片与精度要求,敏洽可先给出可行性判断与硬件前置条件,再谈软件工作量与报价。