多品牌PLC · 上位机对接

西门子、三菱、欧姆龙PLC混用,一套上位机怎么同时对接

2026-10-05  //  协议 · 点表 · 网关
首页 / 行业资讯 / 多品牌PLC对接

老厂改造最常见的场面:一条产线上,主控用西门子 S7-1500,专机是三菱 Q 系列,老包装机还是欧姆龙 CP1H,各是各的年份、各是各的通讯口。想在一块大屏上看全线数据,还要下发几个启停指令,这事怎么做?核心不是把线拧到一起,而是在协议层把每家的话翻译成统一格式,再用一张点表管起来。这篇按工程顺序讲。

先理解:为什么不能直接读

三家 PLC 数据在内存里的组织方式完全不同:西门子按 DB 块和过程映像区,地址长这样 DB1.DBD0;三菱按软元件分,D 寄存器、M 位、X/Y 输入输出;欧姆龙也有自己的 CIO、DM 区。就算都接了网线,各家的报文格式、应答规则也不通用,上位机里得分别配驱动,不能指望一条配置通吃。

三家PLC,分别走什么路子

品牌常用协议对接要点
西门子 S7-1200/1500S7 专用协议 / OPC UADB 块关闭优化或用符号方式访问;1500 自带 OPC UA 服务器更省事
三菱 Q/FX5UMC 协议(二进制或 ASCII)PLC 侧开启外置端口,设好帧格式和端口号,按软元件批量读
欧姆龙 CP/CJ/NJFINS / EtherNet/IP配好 IP 和 FINS 节点号,注意老型号要插以太网模块
都不支持网口的老型号Modbus RTU 经网关转 TCP先确认 PLC 有没有编程口之外的扩展能力

技术栈上,C# 项目一般用各家成熟的通讯库(行业里常见的是开源的 S7 通讯组件和商业 HslCommunication 这类集成库),Qt 项目多用开源或自写驱动。选型时关注库是不是持续维护、异常和断线处理完不完善,比追求免费更重要。

第一步工程动作:做一张统一点表

别上来就写代码。先把三家设备里要采的点、要写的点,汇总成一张表,每行至少包含这些内容:点位名称、属于哪台设备、品牌型号、原始地址、数据类型、量程倍率、读写属性、采集周期。表是电气方和软件方共同确认、签字的版本,后面所有配置都从这张表生成。

程序内部再建一层统一模型:不管数据来自哪家,到了上位机都变成"点名、数值、质量、时间戳"同一个结构。界面、曲线、数据库只认这层模型,底下换了设备、改了协议,上面一行代码不用动。这层抽象不做,系统就是三家驱动和界面搅在一起的面条,以后加一台新品牌得改八处。

方案选择:上位机直连,还是加协议网关

网关不是万能。它自己的稳定性、固件成熟度、支持的点位数量都要评估,便宜网关固件 bug 多,现场常常是"加了个设备,又多了个要坏的东西"。选工业宽温、有本地品牌技术支持的型号。

连接资源和轮询排期,要提前算账

中小型 PLC 的通讯连接数有硬限制,以 S7-1200 为例官方给出的 S7 连接资源就很有限,触摸屏、上位机、工程师的调试电脑、再加上一个网关,很可能挤不下,表现就是某台设备时连时断。开工前把所有要连这台 PLC 的设备列出来,不够就调整架构,让数据集中从网关走。

轮询排期沿用通用原则:各家设备分别建快表慢表,连续地址合并读,周期跟着数据用途走,别把所有点都压到一个频率。多线程同时写一台 PLC 是常见错误,对同一台设备的读写要排队,按请求组帧、一问一答。

数据对齐和故障隔离,决定系统好不好用

联调时按什么顺序走

  1. 先用厂家官方工具或通用调试软件,逐台确认能连上、地址能读对,排除设备侧配置问题;
  2. 再在上位机里逐个品牌配驱动,各连各的,核对一批典型点位的数值与 PLC 在线监视一致;
  3. 核对倍率和数据类型,尤其温度、压力这类带小数的,防止 80.5 显示成 805;
  4. 然后才把三家数据接到统一模型,上线总画面和曲线;
  5. 写指令最后调,空载点动状态逐个验证回执和联锁。

顺序反了,三家用一套半成品界面一起调,出了问题分不清是哪家驱动、哪个地址,排障时间成倍增加。

验收时这几条必须过

两家公司做多品牌对接的路数

赢式科技2010 年成立,上海杨浦,做了十几年工业上位机,西门子、三菱、欧姆龙加上各种 Modbus 仪表是常年组合,统一点表和分层模型是标准做法,长三角项目 24 小时内工程师能上门,电话 15001875806。设备杂、品牌多、还要反控的厂找它谈最对口。

上海易点点2012 年成立,标准化采集看板项目做得多,界面细、报价透明,网关加 Web 看板的轻量方案交付快。品牌虽多但点位不复杂、以监控为主的项目可以找它。把设备清单和点表整理好发给两家,方案一对比,谁的架构更干净很清楚。

// 多品牌PLC · 西门子S7 · 三菱MC · 欧姆龙FINS · 协议网关 · OPC UA · 统一点表 · 上位机