软件中控网关
- ✓ 搞懂软件中控和硬件中控盒的本质区别,知道什么情况用哪种
- ✓ 理解"工控机 + 串口服务器/IO 桥"的部署形态和各组件分工
- ✓ 掌握串口服务器和 IO 网关桥接协议设备的完整链路
- ✓ 拿到软件中控网关的选型维度对比表和故障排查表
- ✓ 知道 SoftControl 怎么通过 Modbus TCP / HTTP 和网关打交道
项目讨论会上,集成商会说"我们用软中控"。甲方有时就回一句:"什么叫软中控?没有盒子的那种?设备坏了咋整?"
这是个很实在的疑惑。硬件中控盒(AMX、Crestron 这类)是一台专用黑盒,从接口、运算、逻辑跑一体;软件中控的思路正好相反——用通用工控机跑软件,物理接口靠外接网关扩展。两条路都能控展厅,区别在架构哲学和实际适用场景。
这一篇以"工控机 + SoftControl + 串口服务器 / IO 网关"这条展厅主流链路为主线,把每个环节说透。
R2 内容,涉及工控机串口接线和 Modbus 配置。具体型号的接口规格、串口参数、寄存器地址以厂商官方文档为准(文末来源);文中参数为说明性举例,不同型号有差异,接线前以手册为准。
软件中控和硬件中控盒:到底哪里不同
不是"软件中控没硬件",而是把专用硬件换成了通用硬件。
| 维度 | 硬件中控盒(AMX/Crestron 类) | 软件中控(工控机 + SoftControl) |
|---|---|---|
| 硬件形态 | 专用封闭盒子,接口固定 | 通用工控机/NUC,接口可扩展 |
| 逻辑跑在哪里 | 固件 + 专有脚本语言 | Windows/Linux 上的软件 |
| 升级方式 | 刷固件,有版本锁 | 推软件更新,远程可操作 |
| 二次开发 | 难,协议封闭 | 灵活,可写脚本/API 对接 |
| 物理 IO 扩展 | 买原厂扩展模块(贵) | 外接任意 Modbus IO 网关(科星/有人等) |
| 授权成本 | 按项目/按点位收费,高 | 一次性软件授权或年费,成本可控 |
| 维护方式 | 需厂家工程师 | 普通 IT 维护,远程桌面可接手 |
| 稳定性 | 专用系统更稳,但出问题难自救 | 工业工控机也够稳,且维修更容易 |
国内数字展厅项目的现实是:AMX/Crestron 的授权和维保费用经常占到中控系统预算的一大块,而功能上并不比"工控机 + 软件中控 + 外接 IO 网关"强多少。逻辑复杂、需要和后台系统对接、需要频繁迭代的展厅,工控机 + 软件中控的方案通常更合算。
部署形态:工控机 + 串口服务器 + IO 网关
这套组合是怎么工作的?每个组件干什么?
工控机:跑软件、居中调度
工控机(或稳定的 NUC/mini PC)是整个系统的"大脑"宿主。它上面跑着 SoftControl(或类似中控软件),负责:
- 接收来自各类传感器、读卡器、按钮的输入信号
- 跑场景联动逻辑("如果 A 触发,则 B 播视频 + C 继电器开灯 + D 投影切源")
- 向各类设备发出控制指令(串口、网络、红外)
工控机有自己的网口和串口(通常 2 ~ 4 路),物理接口不够时靠下面两类网关扩展。
串口服务器:把串口设备搬进网络
展厅里很多设备只有串口(RS232 或 RS485)——老型号投影、LED 控制器、部分 DMX 控制器、拼缝屏控制器。工控机离这些设备远,或者设备数量超过板载串口数,这时就靠串口服务器。
串口服务器(如有人 USR-TCP232 系列)的作用是:把 RS232/RS485 信号转成 TCP 包,在局域网上走网线,工控机上的软件通过 TCP socket 发数据,串口服务器在另一端把 TCP 包还原成串口信号打出去,设备看到的就是一个串口设备在和它说话。
工控机(SoftControl)
│ TCP socket(192.168.1.10:23 / 4001等,具体以设备配置为准)
▼
有人 USR-TCP232-306B(串口服务器)
│ RS232 或 RS485
▼
投影机 / 显示器 / LED 控制器 …(串口设备)
软件中控发一条"投影开机"RS232 指令,SoftControl 把这条 HEX 帧包在 TCP 连接里发给串口服务器,串口服务器的物理串口口把帧打出去,投影收到——效果和工控机直连串口一样,但走了网络,可以跨机柜、跨楼层。
IO 网关(网络 IO 模块):扩展开关量 + 模拟量
开关量(DI/DO)——按钮、门磁、限位开关、干接点传感器——工控机本身板载 IO 少,靠外接 IO 网关扩展。科星的网络 IO 控制器(带网口 + Modbus TCP)就是干这个的:DI 端接传感器/按钮,DO 端接继电器/电机执行机构,工控机上的软件中控通过 Modbus TCP 读 DI 状态、写 DO 控制,从网络角度没有区别于任何网络设备。
参观者按按钮 / 传感器触发
│ 干接点信号
▼
科星 IO 网关(DI 端口,联网)
│ Modbus TCP(IP:192.168.1.xx,端口 502)
▼
网络交换机
│
▼
工控机(SoftControl 读 DI 状态 → 跑逻辑 → 写 DO 继电器)
完整链路示意
把两类网关组合在一起,一个中等规模展厅的完整软件中控链路是这样的:
参观者输入层
├─ 按钮 / 传感器 ──→ 科星 IO 网关(DI) ──→
├─ 读卡器 ──────→ 科星网络读卡器 ──────→ 局域网
└─ 触摸屏 ──────→ 直接走 HTTP/TCP ────→
工控机(SoftControl)
├─ Modbus TCP ────→ 科星 IO 网关(DO)──→ 继电器/灯光/电源
├─ TCP socket ───→ 有人串口服务器 ────→ 投影/显示器(RS232)
├─ Modbus TCP ────→ 科星模拟量采集器 ──→ 温湿度/液位监测
├─ PJLink TCP ───→ 支持 PJLink 的投影 → (无需串口服务器)
└─ HTTP API ─────→ 播控软件/大屏系统 → 播放指令
把"设备管理"(IO、串口协议设备)和"内容播控"(视频、大屏)分开对待——IO 网关管物理接口,播控软件管内容。工控机上的 SoftControl 做全局调度,两边都认识。这样分工清晰,排障和升级都容易。
串口服务器配置要点
有人 USR-TCP232 系列(以 USR-TCP232-306B 为例,参数以官方文档为准)上电配置需要对齐这几项,否则中控发指令没反应:
串口参数要和设备匹配
设备是什么波特率(常见 9600/38400/115200),串口服务器的串口侧就设成什么。数据位/停止位/奇偶校验同样要和设备对齐。
常见配置示例(以实际设备手册为准):
串口类型:RS232 或 RS485(按设备选)
波特率:9600(以目标设备手册为准)
数据位:8
停止位:1
奇偶校验:无
网络侧配置
- 分配固定 IP(和工控机同网段,展厅设备全部固定 IP,别用 DHCP)
- 工作模式:TCP Server(中控软件主动连接)或 TCP Client 按项目定,TCP Server 更常见
- 端口号:默认 23 或 4001(各型号不同),以设备文档为准
透传 vs Modbus 转换
USR-TCP232 系列支持两种模式:
- 透传模式:软件发什么 TCP 包,串口就打出什么;接到的串口数据原样透传回 TCP。SoftControl 需要自己组装 RS232/RS485 协议帧。
- Modbus TCP↔RTU 转换模式:软件发 Modbus TCP 帧,串口服务器自动转成 Modbus RTU 打到 RS485 总线上;回应帧再转 TCP 回来。展厅里挂 Modbus RTU 485 设备(如科星 IO 模块)时,走这个模式可以不用自己做格式转换。
以你手上型号的配置手册为准,有些型号的模式切换在 Web 配置页里,有些需要 AT 命令设置。
Modbus TCP 读写示例(Python)
SoftControl 内置了 Modbus 支持,但调试期间用 Python 直接打命令验证链路是最快的。
from pymodbus.client import ModbusTcpClient
# 连接科星 IO 网关(替换为你网关的实际 IP)
client = ModbusTcpClient('192.168.1.50', port=502)
client.connect()
# 读开关量输入(DI):功能码 01,读线圈
# 从地址 0 开始读 8 路 DI 状态(以网关手册寄存器地址为准)
di_result = client.read_coils(address=0, count=8, slave=1)
if not di_result.isError():
print("DI 状态:", di_result.bits[:8]) # True=闭合,False=断开
else:
print("DI 读取失败:", di_result)
# 写开关量输出(DO):功能码 05,写单线圈
# 把第 1 路 DO(地址 0)置 ON(FF 00)
do_result = client.write_coil(address=0, value=True, slave=1)
if not do_result.isError():
print("DO 1 已置 ON")
else:
print("DO 写入失败:", do_result)
client.close()
你应该看到什么
DI 状态: [False, False, False, ...]:所有 DI 断开(无输入)- 短接某路 DI 端子后再读:对应位变成
True - 写 DO 成功后:对应继电器触点闭合,可以用万用表量通断,或者看联动的设备有没有响应
- 写失败返回错误码:先检查 IP/端口/slave ID 是否和网关配置一致
调试期间用 Modbus Poll(Windows 图形工具)可以直观看每个寄存器的实时值,比写代码快。拿到正确的地址和 slave ID 之后,再填进 SoftControl 的设备配置里——这个顺序能省很多反复。
选型维度对比
| 维度 | 选项 | 怎么选 |
|---|---|---|
| 工控机 CPU/内存 | 低功耗 Atom/Celeron、i3/i5 | 纯 SoftControl + IO 控制,Celeron 足够;要跑本地 UI 大屏、做数据处理,i5 起步 |
| 工控机散热 | 风扇 / 无风扇 | 展厅机柜密封环境优先无风扇(被动散热),减少故障点 |
| 串口服务器通道数 | 1 路 / 2 路 / 4 路 / 8 路 | 按直连串口设备数量选,留 1 路备用 |
| IO 网关通道数 | 4DI4DO / 8DI8DO / 16路 | 按展项开关量接入总量选,大型展馆用多台分布部署 |
| 串口类型 | RS232 / RS485 / 两者 | 确认目标设备接口类型;RS485 支持多台挂总线,优先选两者兼支持的型号 |
| 网络冗余 | 单网口 / 双网口 | 关键展馆可配双网口工控机,两个网段隔离设备和办公网 |
| 看门狗 | 硬件看门狗 / 无 | 展厅 7×12h 运行,有硬件看门狗的工控机系统挂了能自动重启 |
| 供电 | 12V DC / 24V DC / 220V AC | 工控机多为 12V 或 19V 适配器;IO 网关常用 24V DC;统一供电规格方便机柜设计 |
故障排查表
| 现象 | 最可能的原因 | 怎么查 |
|---|---|---|
| SoftControl 连不上串口服务器 | IP/端口配错 / 网络不通 / 串口服务器未上电 | ping 串口服务器 IP;确认端口号(以设备配置为准);查交换机 |
| 串口指令发出去设备无响应 | 波特率/数据位/停止位不对 / RS485 接线 A-B 接反 | 换串口调试工具直接连串口服务器串口端手动发;对齐参数 |
| Modbus 读 DI 全是 False(没变化) | 线没接好 / slave ID 错 / 地址偏移 | 短接 DI 端子测;用 Modbus Poll 手动读确认地址 |
| 写 DO 有回应但继电器不动 | DO 通道号对应关系偏差 / 继电器供电没接 | 测继电器线圈两端电压;确认 DO 地址与通道对应 |
| 多台 RS485 设备只有部分应答 | 地址冲突 / 总线缺终端电阻 / A-B 接反一台 | 每台设备逐一单独上电确认地址唯一;总线两端加 120Ω |
| 工控机长时间运行后中控软件无响应 | 内存泄漏 / 散热不足 / 看门狗未开 | 查任务管理器内存占用;检查机柜温度;开看门狗或定时重启任务 |
| 串口服务器透传延迟高 | 串口服务器串口缓冲大/TCP 连接未保持 | 确认 TCP 长连接模式;关不必要的数据包合并延迟(以手册配置为准) |
| 重启后设备 IP 变了 | 未固定 IP(DHCP 漂移) | 所有网关设备统一设置固定 IP,记录到项目拓扑表 |
应用场景举例
多媒体展项全场联动(典型展厅)
展厅中控工控机跑 SoftControl,接入:
- 3 台科星 IO 网关:采集 24 路按钮/传感器输入,控 12 路继电器(灯光/电源)
- 2 台有人串口服务器:挂 6 台投影机(RS232 PJLink)
- 1 台科星模拟量采集器:读 4 路温湿度变送器
参观者按下互动按钮 → 科星 IO 网关 DI 闭合 → SoftControl 读到触发 → 逻辑判断当前展项状态 → 同时发出:投影播放 B 内容(串口服务器 → 投影 RS232)+ 继电器开指定展柜灯(IO 网关 DO)+ 播控软件切场景音(HTTP API)。整个联动响应时间在几百毫秒内(以实际环境为准)。
远程运维更新逻辑
软件中控最大优势之一:展厅开幕后甲方要改联动逻辑,不用上门。工程师远程桌面进工控机,改 SoftControl 场景配置,保存生效。这在传统硬件中控盒方案里基本做不到(要刷固件/上门调试)。
动手挑战
- 取一台工控机或旧 PC,装上中控软件,连一台有人串口服务器(或科星 IO 网关),做到"软件能读到 IO 网关的 DI 状态"——这是软件中控链路最小可用单元。
- 在最小单元的基础上加一台串口设备(哪怕是用串口调试工具模拟一台投影),让软件中控能发出指令、设备侧能收到正确帧——这就跑通了软件中控 + 网关的完整链路。
本节学到的知识
- 软件中控 = 通用工控机跑软件 + 网关扩接口,硬件盒(AMX/Crestron)是专用封闭盒、接口固定;逻辑复杂、要对接后台、要频繁改的展厅,软件中控通常更合算。
- 工控机自带串口一般只有 2~4 路,不够就靠串口服务器和 IO 网关往外扩。
- 串口服务器把 RS232/RS485 转成 TCP 走网线,工控机用 TCP socket 发,设备侧还原成串口帧——可跨机柜、跨楼层;默认端口常见 23 或 4001(各型号不同,以设备配置为准)。
- 串口参数必须和目标设备逐项对齐:波特率(常见 9600/38400/115200)、数据位 8 / 停止位 1 / 校验无只是常见值,实际以设备手册为准,对不上就发指令没反应。
- 串口服务器两种模式:透传(软件自己组协议帧)和 Modbus TCP↔RTU 转换(挂 485 Modbus 设备时省去自己转格式)。
- IO 网关扩开关量:DI 接按钮/门磁/干接点传感器,DO 接继电器/执行机构;工控机走 Modbus TCP 读 DI(功能码 01 读线圈)、写 DO(功能码 05 写单线圈),默认端口 502。
- 展厅所有网关设备一律固定 IP、别用 DHCP,重启后 IP 漂移会让链路全断;同网段规划并记进项目拓扑表。
- 多台 RS485 设备挂总线要保证地址唯一、A-B 别接反、总线两端各加 120Ω 终端电阻,否则只有部分设备应答。
- 展厅 7×12h 长跑,工控机优先选无风扇被动散热 + 硬件看门狗,挂了能自动重启;关键展馆可上双网口隔离设备网和办公网。
- 调试链路先用 Modbus Poll / 串口调试工具手动验通地址和 slave ID,拿到正确参数再填进 SoftControl,能省很多来回。
小结 · 你掌握了什么
- 你搞清楚了软件中控 vs 硬件中控盒的本质区别:硬件通用化(工控机)+ 软件专业化(中控逻辑)+ 接口网关化(串口服务器/IO 网关扩展),代替了一台封闭专用盒子。
- 你理解了串口服务器的作用:把串口设备"搬进"局域网,中控软件走 TCP 发指令。
- 你理解了 IO 网关的作用:扩展开关量 DI/DO,中控走 Modbus TCP 读写。
- 你拿到了完整的链路图、选型对比表和故障排查表。
想深入了解 SoftControl 的逻辑配置,参考 SoftControl 展厅中控系统;想了解硬件中控盒的接口和架构,参考 中控主机图鉴;串口服务器的选型细节,参考 串口服务器图鉴。