
工业互联网和传统工控的关系这几年在圈子里被讨论得越来越多。有人觉得工业互联网就是给传统工控套了层云壳子换汤不换药也有人担心DCS这类传统控制系统迟早要被工业互联网平台取代。我在流程行业做过几年控制系统集成和上位机开发也参与过几个工业互联网平台的数据采集和边缘计算项目对这两者的边界和交集有一些实际的体会。这篇文章不打算讲空泛的概念而是从系统架构、数据流向、控制层级、实际项目落地这几个角度把工业互联网和传统工控的关系拆开揉碎讲清楚顺便回答那个被问得最多的问题DCS到底会不会被取代。如果你是从PLC、DCS转过来的工控工程师或者是从IT侧切入工业场景的开发人员这篇文章应该能帮你理清不少模糊地带。1. 先搞清楚工业互联网和传统工控各自在干什么1.1 传统工控的核心职责稳定地控制现场传统工控的范围其实很广从底层的传感器、执行器到PLC、DCS、SCADA再到上位的HMI和 historian这一整套体系的核心目标只有一个让生产设备按照预期的方式稳定运行。DCS在这套体系里扮演的是流程工业的中枢角色它通过控制网络连接现场控制器完成模拟量采集、PID回路调节、逻辑联锁、顺序控制这些任务。它的设计哲学是可靠性优先所有冗余、隔离、确定性通信机制都是围绕这个目标来的。我参与过一个化工装置的控制系统改造原来的DCS是某主流品牌的老系统控制器冗余配置网络是双环冗余I/O卡件支持热插拔。这套系统跑了十几年除了例行检修基本没出过大问题。它的代码逻辑是典型的IEC 61131-3风格功能块图加结构化文本工程师在工程师站上组态、下装、调试整个流程非常成熟。这种系统的响应时间通常在几十毫秒到几百毫秒级别对于大多数流程工业的PID回路来说完全够用。传统工控的另一个特点是封闭性。这里的封闭不是贬义而是说它的通信协议、数据格式、组态方式都是围绕特定厂商的生态来设计的。比如某品牌的DCS用的是自己的控制网络协议上位机通信用OPC DA数据存储用私有格式。这种封闭性保证了系统的确定性和安全性但也导致数据很难往外流跨系统集成成本很高。1.2 工业互联网的切入点数据打通和上层应用工业互联网平台做的事情本质上是在传统工控体系之上再搭一层数据层和应用层。它的核心能力包括设备接入、数据采集、数据存储、数据分析、应用开发这几个环节。和传统工控最大的区别在于工业互联网平台通常采用IT侧的技术栈比如MQTT、Kafka、时序数据库、容器化部署、微服务架构目标是让数据流动起来让上层应用能够快速迭代。我做过一个设备远程运维的项目现场有几十台不同品牌的PLC和仪表通信协议五花八门有Modbus TCP、OPC UA、Profinet、还有几个私有协议。我们的做法是在边缘侧部署一台工控机跑数据采集程序把不同协议的数据统一转换成MQTT消息发到云端的物联网平台。云端再做数据清洗、存储、可视化最后给客户提供一个设备状态监控和故障预警的界面。这个项目里工业互联网平台的价值在于把原来散落在各个子系统里的数据集中起来让运维人员不用再跑到现场挨个看HMI。工业互联网平台的另一个典型场景是生产数据分析。比如某工厂想分析某条产线的OEE需要从DCS拿产量数据从MES拿工单数据从能源管理系统拿能耗数据这些数据原来都在不同的系统里格式不统一时间戳对不上。工业互联网平台通过统一的数据模型和时序数据库把这些数据整合到一起再通过BI工具或者自定义应用做分析。这种需求在传统工控体系里也能做但通常要定制开发周期长、成本高工业互联网平台把这部分工作标准化了。1.3 两者的本质差异控制域和信息域的边界把工业互联网和传统工控放在一起看最核心的差异在于它们所处的域不同。传统工控属于控制域关注的是实时性、确定性、可靠性任何设计决策都要优先保证生产不中断。工业互联网属于信息域关注的是数据的流动性、应用的敏捷性、分析的深度它允许一定的延迟但不能影响控制域的正常运行。这个边界在实际项目中非常重要。我见过一些项目为了做数据采集在DCS的控制网络上直接开OPC接口结果采集程序写得不好把控制网络搞拥堵了导致控制器之间的通信延迟增加。这种问题在控制域是不可接受的因为延迟增加可能触发联锁或者导致控制品质下降。正确的做法是在控制域和信息域之间加一道隔离比如通过OPC UA服务器或者网关设备把数据单向传出来控制网络和采集网络物理隔离。注意任何涉及控制域和信息域交互的方案都必须先评估对控制域实时性的影响。不要为了采集数据而在控制网络上直接跑IT侧的协议栈。2. 工业互联网会不会取代DCS从技术架构看边界2.1 DCS的核心能力工业互联网平台目前给不了要回答DCS会不会被取代先要看DCS的核心能力是什么以及工业互联网平台能不能提供同等能力。DCS的核心能力包括确定性实时控制、高可靠性冗余、安全联锁、现场设备管理、以及经过行业验证的工程组态体系。这些能力不是软件功能的问题而是整个系统从硬件到软件到工程方法的一整套设计。以确定性实时控制为例DCS的控制器扫描周期通常在10ms到100ms之间而且这个周期是严格保证的不受网络负载、上位机状态的影响。工业互联网平台通常跑在通用服务器或者云上操作系统不是实时操作系统网络也不是确定性网络根本没法保证这种级别的实时性。有人会说可以用边缘计算节点跑实时任务但边缘计算节点的可靠性和DCS控制器不是一个量级DCS控制器是专门设计的工业级硬件支持宽温、抗振动、冗余电源边缘计算节点通常是商用服务器环境适应性和长期稳定性都有差距。再比如安全联锁DCS的安全仪表系统SIS是独立于基本控制系统的按照安全完整性等级设计有严格的认证要求。工业互联网平台目前没有对应的安全认证体系也不可能用通用服务器来实现SIS的功能。所以至少在安全联锁这个层面工业互联网平台替代不了DCS。2.2 工业互联网平台真正能替代的部分虽然工业互联网平台替代不了DCS的核心控制功能但它确实在替代DCS的一些外围功能。比如操作站、历史数据存储、报警管理、报表生成这些功能原来都是DCS自带的现在很多项目开始用工业互联网平台来做。我参与过一个项目客户把DCS的历史数据通过OPC UA传到工业互联网平台然后在平台上做趋势分析、报警统计、报表生成DCS本身只保留控制功能和基本操作界面。这种做法的好处是数据分析更灵活报表可以自定义而且可以和MES、ERP的数据打通。另一个被替代的部分是先进控制。传统DCS的先进控制通常是在DCS控制器或者上位机上跑算法比较固定调整起来麻烦。现在有些工业互联网平台提供先进控制的模块用机器学习或者模型预测控制来做优化部署在边缘计算节点上通过OPC UA和DCS交互。这种模式下DCS负责基础控制工业互联网平台负责优化计算两者是协作关系不是替代关系。还有一个趋势是DCS的组态和工程环境在往工业互联网平台迁移。有些厂商开始提供基于Web的组态工具工程师可以通过浏览器访问组态数据存在云端支持多人协作。这种模式在IT侧很常见但在工控侧还处于早期阶段主要问题是安全性和可靠性还没得到充分验证。2.3 实际项目中的分工模式从我做过的项目来看比较务实的做法是分层DCS负责控制域的所有任务包括基础控制、联锁、顺序控制、设备管理工业互联网平台负责信息域的任务包括数据采集、存储、分析、可视化、上层应用集成。两者之间通过标准的接口交互比如OPC UA、MQTT、RESTful API而且要有明确的网络隔离和安全策略。这种分层模式下DCS不会被取代但它的角色会发生变化。原来DCS是一个封闭的、自包含的系统现在它变成了整个工厂数据流的一个节点它的数据要往外流它的操作指令可能来自上层的优化系统。这对DCS厂商来说既是挑战也是机会挑战在于他们不能再靠封闭生态锁定客户机会在于他们可以把DCS和工业互联网平台打包卖提供更完整的解决方案。我个人的判断是在可预见的未来DCS在流程工业的控制域仍然是不可替代的但它的市场份额可能会被蚕食因为一些中小型项目可能选择用PLC加工业互联网平台的方案而不是全套DCS。对于大型流程工业项目DCS仍然是首选但工业互联网平台会成为标配的上层架构。3. 从通信协议看两者的融合与冲突3.1 OPC UA目前最务实的桥梁OPC UA是目前工业互联网和传统工控之间最主流的通信协议。它的优势在于跨平台、面向对象、支持复杂数据类型、有完善的安全机制。DCS厂商基本都提供OPC UA服务器工业互联网平台也基本都支持OPC UA客户端。我做过一个项目DCS是某主流品牌工业互联网平台是另一个厂商的两者通过OPC UA对接DCS侧配置好需要暴露的变量平台侧订阅这些变量数据就能实时传过来。OPC UA的配置有几个关键点需要注意。首先是变量命名和数据类型DCS侧的变量名通常是工程师组态时定义的可能包含特殊字符或者不符合平台侧的命名规范需要在中间做映射。其次是订阅频率OPC UA支持订阅模式可以设置发布间隔这个间隔要根据数据的变化频率和控制域的影响来定。我一般会把采集频率设在1秒到5秒之间对于变化快的模拟量可以设到500毫秒但不会更快因为再快对控制域的影响就不可忽略了。还有一个坑是OPC UA服务器的性能。有些DCS的OPC UA服务器是后来加的性能优化不够订阅的变量多了之后会出现数据延迟或者丢包。我遇到过一次订阅了5000个变量结果OPC UA服务器的CPU占用率飙升DCS的操作站响应变慢。后来把变量分成几组用多个OPC UA会话分别订阅问题才解决。所以做大规模数据采集的时候一定要先做压力测试不要一次性把所有变量都订阅上。3.2 MQTT和消息队列在工业场景的适用性MQTT在工业互联网平台侧用得很多因为它是轻量级的发布订阅协议适合大量设备接入。但在传统工控侧MQTT用得不多因为工控设备通常不直接支持MQTT需要通过网关转换。我做过一个项目现场有几十台PLC通过边缘网关把Modbus数据转成MQTT消息发到云端。边缘网关的配置包括串口参数、Modbus寄存器映射、MQTT主题定义、QoS等级设置这些。MQTT的QoS等级选择是个实际问题。QoS 0是最多一次不保证送达QoS 1是至少一次可能重复QoS 2是恰好一次开销最大。对于工业数据采集我一般用QoS 1因为数据重复可以在平台侧去重但数据丢失可能影响分析结果。不过QoS 1会增加网络流量和平台侧的处理负担如果设备数量很大要考虑平台的承载能力。消息队列在工业互联网平台侧通常用Kafka或者RabbitMQ用来做数据缓冲和解耦。我参与过一个项目数据从边缘网关发到Kafka然后由多个消费者分别处理一个消费者写时序数据库一个消费者做实时报警一个消费者做流式计算。这种架构的好处是各个消费者互不影响一个消费者挂了不影响其他消费者。但Kafka的运维复杂度不低需要专门的团队来维护中小型项目可能用不起。3.3 传统工控协议的局限性传统工控协议比如Modbus、Profibus、Profinet设计的时候主要考虑的是控制域的实时性和确定性对信息域的需求考虑得不多。Modbus是最简单的寄存器地址加功能码但它没有数据类型的概念没有安全机制没有设备自描述能力。Profibus和Profinet是西门子主导的实时性好但开放性差跨厂商集成麻烦。这些协议在工业互联网场景下的局限性很明显。比如Modbus你要采集一个浮点数需要知道它占两个寄存器还要知道字节序这些信息通常不在协议里要靠文档或者经验。我做过一个项目现场有十几种不同品牌的Modbus设备每种设备的寄存器映射都不一样有的用大端有的用小端有的浮点数是ABCD有的是CDAB。光是整理这些映射关系就花了一周时间。OPC UA在一定程度上解决了这些问题它支持复杂数据类型有设备自描述能力有安全机制。但OPC UA的部署成本比Modbus高需要证书管理、需要更多的计算资源。所以现在很多项目是混合模式底层设备用Modbus或者Profinet边缘网关做协议转换往上走OPC UA或者MQTT。4. 实际项目中的架构设计和避坑经验4.1 一个典型的混合架构案例我参与过一个中型化工企业的数字化改造项目现场有一套运行了八年的DCS还有几套PLC控制的公用工程系统。客户的需求是在不影响生产的前提下把主要生产数据采集上来做集中监控、趋势分析、报警管理并且要和现有的MES系统对接。我们的方案是分三层控制层保留原有的DCS和PLC不做任何改动边缘层部署两台工控机一台跑OPC UA客户端采集DCS数据一台跑Modbus主站采集PLC数据两台工控机都通过MQTT把数据发到平台层平台层部署在客户自己的机房里用容器化部署包括MQTT Broker、时序数据库、流式计算引擎、Web应用。这个方案的关键设计点有几个。第一是网络隔离边缘层的工控机有两个网口一个接控制网络一个接信息网络两个网口之间不做路由数据通过应用程序转发这样控制网络和信息网络在物理层就是隔离的。第二是数据采集的频率DCS数据用OPC UA订阅发布间隔设为1秒PLC数据用Modbus轮询轮询周期设为2秒。第三是数据存储策略原始数据存时序数据库保留一年聚合数据存关系数据库永久保留。项目上线后遇到的最大问题是OPC UA服务器的稳定性。DCS的OPC UA服务器在连续运行两周后会偶尔断连需要重启服务。我们后来在边缘侧加了自动重连和断点续传的逻辑断连后自动重连重连后从上次的断点继续采集避免数据丢失。这个问题在DCS厂商的文档里没有提到是我们实际跑出来的经验。4.2 边缘计算节点的选型和配置边缘计算节点是工业互联网和传统工控之间的关键设备它的选型和配置直接影响整个系统的稳定性和性能。我一般会从以下几个方面来考虑计算能力、接口类型、环境适应性、操作系统、运维便利性。计算能力方面如果只是做协议转换和数据转发低功耗的ARM工控机就够了如果要跑流式计算或者机器学习模型就需要x86架构的工控机最好有GPU。接口类型方面要有多个网口至少两个一个接控制网络一个接信息网络要有串口RS232或者RS485用来接老设备要有USB接口方便调试和备份。环境适应性方面要看现场的温度、湿度、振动情况必要时选宽温机型或者加装防护箱。操作系统方面Linux是首选因为稳定、开源、可定制Windows也可以用但要注意授权和更新问题。运维便利性方面要支持远程访问和远程升级减少现场维护的工作量。我踩过的一个坑是边缘计算节点的电源。有一次项目现场电压不稳边缘计算节点频繁重启导致数据采集断断续续。后来加了UPS才解决。所以边缘计算节点的供电一定要考虑冗余或者稳压不要直接接市电。4.3 数据采集频率和网络带宽的平衡数据采集频率的设置是个需要权衡的问题。采集频率越高数据越精细但对控制域的影响越大对网络带宽和存储的要求也越高。我一般会根据数据的变化频率和分析需求来定。对于变化慢的温度、压力、液位1秒到5秒的采集频率就够了对于变化快的流量、振动可以设到200毫秒到500毫秒对于开关量通常用变化上报的方式状态变了才发不用轮询。网络带宽的计算也很重要。假设有1000个模拟量每个模拟量用8字节的浮点数表示采集频率1秒那么每秒的数据量是1000乘以8等于8000字节也就是8KB每秒加上协议开销大概10KB每秒。这个带宽对于百兆网络来说完全不是问题。但如果采集频率提高到100毫秒数据量就变成100KB每秒加上协议开销可能到150KB每秒这时候就要考虑网络的承载能力了。如果网络里还有其他流量比如视频监控就可能出现拥塞。存储方面时序数据库的压缩率通常在10比1到20比1之间1000个模拟量每秒采集一次一天的数据量大概是8000乘以86400等于691MB压缩后大概35MB到70MB。一年下来大概12GB到25GB。这个量级对于现在的存储设备来说不算大但如果采集频率提高或者测点数量增加就要重新计算。4.4 安全策略的实际落地工业互联网和传统工控融合之后安全边界扩大了原来封闭的控制网络现在有了对外的数据接口安全风险增加了。我一般会从网络隔离、访问控制、数据加密、行为审计这几个方面来设计安全策略。网络隔离是最基础的控制网络和信息网络之间要用防火墙或者网闸隔离只开放必要的端口和协议。访问控制方面OPC UA支持用户认证和权限管理可以给不同的用户分配不同的权限比如只读、读写、管理。数据加密方面OPC UA支持加密通信MQTT可以用TLS但加密会增加计算开销要根据边缘计算节点的性能来决定是否启用。行为审计方面要记录谁在什么时候访问了什么数据做了什么操作便于事后追溯。我见过一个项目为了图方便把DCS的OPC UA服务器直接暴露在办公网络上结果被扫描到了虽然没有造成实际损失但客户的安全团队非常紧张后来加了防火墙和访问控制才通过验收。所以安全策略一定要在项目初期就设计好不要等到上线后再补。5. 常见问题与排查技巧实录5.1 数据采集断连和丢包怎么排查数据采集断连是工业互联网项目里最常见的问题之一。排查的时候我一般按照从下往上的顺序来先看物理层网线、光模块、交换机端口是不是正常再看网络层IP地址、子网掩码、网关、VLAN配置是不是对再看传输层TCP连接是不是稳定有没有丢包最后看应用层OPC UA或者MQTT的配置是不是正确日志里有没有报错。我遇到过一次OPC UA断连的问题日志显示是证书过期。OPC UA的证书有有效期默认是一年到期后需要更新。这个问题在项目初期不容易发现因为证书刚部署的时候是有效的跑了一年才过期。后来我们在边缘侧加了证书到期提醒提前一个月告警避免生产中断。丢包的问题通常和网络负载有关。我遇到过一次边缘计算节点和控制网络共用一台交换机边缘计算节点的数据采集流量把交换机的上行链路占满了导致控制网络的通信延迟增加。后来把边缘计算节点移到独立的交换机上问题就解决了。所以边缘计算节点的网络一定要和控制网络分开至少要用VLAN隔离。5.2 时间戳不同步导致数据分析出错时间戳同步是工业互联网项目里容易被忽视的问题。DCS的时间、PLC的时间、边缘计算节点的时间、平台服务器的时间如果不同步数据分析就会出错。比如你想分析一个报警发生的时候其他测点的状态如果时间戳差了几秒可能就分析错了。我一般会在边缘计算节点上部署NTP客户端和厂内的NTP服务器同步时间同步周期设为64秒。如果厂内没有NTP服务器可以用GPS时钟或者北斗时钟作为时间源。平台侧的服务器也要同步时间最好和边缘计算节点用同一个时间源。OPC UA支持时间戳采集的时候要把源时间戳带上不要用采集时刻的时间戳因为采集时刻和源时刻可能有延迟。5.3 平台侧数据存储和查询的性能优化时序数据库的写入和查询性能是工业互联网平台的关键指标。我做过一个项目测点数量是5000个采集频率1秒写入性能要求是每秒5000个数据点。一开始用的是默认配置写入延迟很高后来调整了批量写入的大小和频率写入性能才达标。查询性能方面时序数据库通常支持按时间范围、按测点、按标签来查询。我一般会建议客户在查询的时候尽量缩小时间范围不要一次查几个月的数据。如果确实需要查大范围的数据可以用降采样或者聚合查询比如查每小时的平均值而不是查每秒的原始值。另外索引的设计也很重要常用的查询维度要建索引不常用的维度不要建因为索引会占用存储空间和写入性能。5.4 常见问题速查表问题现象可能原因排查方法解决措施OPC UA断连证书过期、网络中断、服务器过载查看OPC UA服务器日志、检查网络连通性、监控服务器资源更新证书、修复网络、优化订阅数量数据丢包网络拥塞、采集频率过高、缓冲区不足检查交换机端口流量、降低采集频率、增大缓冲区网络隔离、调整采集频率、优化程序时间戳不同步NTP未配置、时间源不一致检查各节点时间、对比时间源部署NTP、统一时间源写入性能低批量大小不合理、索引过多、磁盘IO瓶颈监控写入延迟、检查索引、检查磁盘IO调整批量参数、优化索引、升级存储查询慢时间范围过大、缺少索引、数据量过大分析查询语句、检查索引、查看数据量缩小范围、建索引、降采样5.5 几个容易踩的坑第一个坑是低估了协议转换的复杂度。不同厂商的Modbus设备寄存器映射不一样有的用大端有的用小端有的浮点数是ABCD有的是CDAB。我建议在项目初期就把所有设备的寄存器映射整理成表格逐个测试验证不要等到上线后才发现数据不对。第二个坑是忽视了控制域和信息域的隔离。有些项目为了省成本把边缘计算节点直接接在控制网络上结果采集程序出问题的时候影响了控制网络。我建议无论如何都要做网络隔离哪怕是用一台双网口的工控机做隔离也比直接接在控制网络上强。第三个坑是数据采集频率设得太高。有些客户觉得采集频率越高越好结果把控制网络搞拥堵了或者把平台侧的存储和计算资源耗尽了。我建议根据实际需求来定采集频率不要盲目追求高频。第四个坑是忽视了运维的便利性。工业互联网平台上线后需要长期运维如果边缘计算节点不支持远程访问和远程升级每次维护都要跑现场成本很高。我建议在方案设计阶段就把运维需求考虑进去选支持远程管理的硬件和软件。6. 从实际经验看两者的未来关系6.1 DCS厂商的转型方向从我这几年观察到的趋势来看主流DCS厂商都在往工业互联网方向转型。有的厂商推出了自己的工业互联网平台把DCS作为平台的一个接入源有的厂商把DCS的组态和运维功能往云端迁移提供基于Web的工程环境还有的厂商开放了DCS的数据接口和第三方工业互联网平台合作。这种转型对用户来说是好事因为选择更多了不用被单一厂商锁定。但也带来了新的问题比如不同厂商的平台之间不兼容数据格式不统一集成成本高。我参与过一个项目客户用了三个不同厂商的工业互联网平台分别管不同的工厂结果集团层面想做统一的数据分析发现数据模型对不上花了很多时间做数据映射。6.2 工控工程师的技能变化工业互联网的兴起对工控工程师的技能提出了新要求。原来工控工程师只需要懂PLC、DCS、组态、调试现在还需要懂网络、数据库、脚本、甚至容器化部署。我认识的一些工控工程师原来只做DCS组态现在开始学Python、学SQL、学Docker因为项目里需要写数据采集脚本、做数据清洗、部署边缘计算应用。这种技能变化对工控工程师来说既是挑战也是机会。挑战在于要学的东西多了机会在于职业发展空间更大了。原来工控工程师的路径比较窄要么做项目要么做产品现在可以往工业互联网架构师、数据分析师、解决方案专家这些方向走。6.3 我的个人判断回到标题的问题工业互联网和传统工控是什么关系会取代DCS吗我的判断是工业互联网和传统工控是互补关系不是替代关系。工业互联网平台在信息域有优势DCS在控制域有优势两者结合才能发挥最大价值。DCS不会被取代但它的形态会变化会从封闭的自包含系统变成开放的、可集成的控制系统。对于工控工程师来说与其担心被取代不如主动学习工业互联网相关的技能把自己从单纯的组态工程师升级成懂控制、懂数据、懂平台的复合型人才。我在实际项目中的体会是工业互联网平台的价值不在于替代DCS而在于让DCS的数据产生更大的价值。原来DCS的数据只在DCS里用现在可以拿出来做分析、做优化、做预测这是工业互联网带来的真正改变。至于DCS本身它的核心控制功能在可预见的未来仍然是不可替代的因为工业现场对实时性、可靠性、安全性的要求不会降低只会提高。