场景指南

让串口设备通过 TCP 被访问

让远端程序通过 TCP Server 访问 RS-232 或 RS-485 设备。

  1. 串口设备
  2. SPU TCP Server
  3. 远端程序
场景指南

场景一:让串口设备通过 TCP 被访问

适合把 RS-232/RS-485 仪表、传感器或控制器临时变成一台串口服务器。

  1. 创建端口 A,选择设备对应的串口,并按设备手册设置波特率、数据位、校验位、停止位和流控。
  2. 创建端口 B,模式选择 TCP Server,填写监听地址和端口,例如 4001
  3. 打开 工具 → 桥接… → 新建,A 端选串口,B 端选 TCP Server,方向选 A ⇄ B
  4. 协议保持 透明转发,成帧保持 立即转发;TCP 服务端客户端保持 同时只允许一个客户端
  5. 保存并启用桥接。远端程序连接 网关IP:4001,发送测试命令,再核对两个窗格的 Rx/Tx 和设备应答。

通过 RFC 2217 让远端控制串口

桥接除了透明转发,还支持 RFC 2217。远端需要在收发串口数据的同时修改波特率、数据位、校验位、停止位、DTR/RTS 或 Break 时,应选择该协议。桥接会处理 RFC 2217 协商并把支持的控制请求应用到串口端点,协商字节不会作为业务载荷转发给设备。

远端必须使用支持 RFC 2217 的客户端或虚拟 COM 工具;普通 TCP Socket 不能使用该模式,SPU 本身也不安装虚拟串口驱动。连接后先从远端修改一个串口参数,确认串口端点同步变化,再开始正式业务。

安全提示: TCP Server 相当于把物理设备的读写能力开放到网络。仅供本机虚拟串口使用时绑定 127.0.0.1;需要跨机器访问时再选择对外监听,并在“允许的客户端”中填写可信 IP 或 CIDR 网段。还要确认系统防火墙允许所选端口。

桥接配置完成后的通用检查

  • 两端窗格都已打开,并显示桥接徽标;管理台状态应为“运行中”,而不是“降级”或“已挂起”。
  • 方向与业务拓扑一致;单向桥不会自动把应答送回去。
  • 丢弃计数应保持为 0。非零说明目标太慢、缓冲太小或源端无法背压,应先解决原因,不要只增大缓冲。
  • 多个 TCP 客户端默认使用“同时只允许一个客户端”。只有明确需要多个客户端共享时才改:多主站请求/应答使用“轮流占用”,并同时设置空闲间隔、定界符或定长成帧;“所有客户端共享”可能让多个请求在串口线上交错。
  • 持久使用时把端口和桥接一起保存到 .spu 工程;下次打开工程后再次核对物理端口号。

这篇文档是否有帮助?