在工厂环境中使用边缘计算并不新鲜。可编程逻辑控制器(PLC)、微控制器、服务器和PC进行本地数据处理,甚至是微型数据中心都是边缘技术,已经在工厂系统中存在了几十年。在车间里看到的看板系统,打卡系统,历史数据库,车间管理软件都可以认为是边缘计算的一部分。许多年来,我们也没有感觉它们是边缘设备。
由来
那么,为什么人们要提出边缘计算的概念呢?其实边缘计算是在云计算出现之后被提出来的。在互联网应用中将各种应用软件托管到远程数据处理中心,形成了云计算服务模式。提出了SaaS,PaaS 的服务。中小型企业不再像过去那样内部设立一个计算中心,为了实现云服务,发展了一系列平台架构,其中包括虚拟机集群,容器和微服务等新技术。其中容器和微服务是最重要的云计算技术。它们为应用程序建立了一个相对独立的运行空间,其内部可以使用独立的操作系统和运行环境(比如各种库)。只要将编译好的应用程序映像(images) 部署到云端的容器中,就能够独立的运行。容器管理系统能够实现快速部署,迭代和维护。在互联网应用中,容器技术已经相当成熟,当云服务延申到“物”,便出现了“物联网”。于是出现了MQTT 等协议的流行。大型的云服务提供商在云端服务中构建了IoT Hub 的接入服务。远程设备能够通过网关接入云端IoT Hub ,在云端实现数据存储,看板和控制。这就是典型的物联网应用系统。
当物联网技术进入制造业,基于云服务技术的物联网遇到了挑战,在一个车间内可能安装了成千上百个传感器和执行机构,它们对数据传输的实时性,确定性和可靠性是基于互联网的云平台无法保证的,人们自然的想法是将云服务的技术下移到数据源的附近。于是边缘服务就出现了,确切地讲,边缘服务是云服务的本地化部署,边缘是”云“的边缘。富有想像力的IT 人才甚至于还提出了”雾计算“。所有这些都只是从云服务派生出来的概念。核心是云服务中的容器,微服务和消息系统。
边缘计算的优点
在数据源附近部署边缘服务器具有合理性:
满足网络带宽,保证工业网络的实时性,确定性和可靠性
在工厂内部能够构建高性能,高可靠性的网络架构,保证数据传输的实时性,可靠性。比如能采用时间敏感网络技术等。
将工厂的软件容器化,微服务化
软件的微服务化有利于软件的模块化,App化,能够实现软件的敏捷开发,快速部署和迭代。目前工厂管理中的MES,ERP 等软件都采取微服务形式开发。
软件冗余
应用软件在边缘服务器的容器中运行的另一个好处是软件冗余,可以在多个边缘服务器中部署软件,当某一个软件产生故障之后,能够方便地切换到另一台边缘服务器的容器中运行。
硬件升级
当边缘服务器的硬件性能无法满足新的需求时,能够轻松地升级边缘服务器,迁移原有的微服务。
工业边缘计算(Industry edge Computing)
边缘计算的前面冠以”工业“,意味着下面两件事情:
- 边缘计算的微服务与工业现场设备交换数据
工业领域不断地导入大数据和人工智能应用,例如设备健康检测,图像识别,工艺优化等。这些应用更多地采用IT技术实现,而且需要有一定的算力,大多数情况下,这些新应用不会在传统PLC 上实现,而在边缘设备上部署。
- 边缘计算的微服务替代工业现场设备的某些控制功能
激进的IT人士提出的云化PLC,软件PLC(SoftPLC)等概念。同时预测工业控制要从硬件为中心转向以软件为中心。全面软件化,将现场设备压缩到最小功能的标准化设备。而OT领域的专家们担心边缘设备中微服务的可靠性,实时性,确定性是否能够保证。在笔者看来这些问题是可以解决的,举个电信网的例子,以前的电话程控交换机都是以电路交换为主的,但是现在完全以软交换为主了。电信网的可靠性和实时性要求也是十分严苛的。观念和使用习惯的改变却需要漫长时间。
工业边缘计算的体现架构
工业云边控架构如下图所示:
实现工业边缘计算的关键
前面提到,边缘计算是从云服务衍生而来的,事实上也是提供云服务的机构在极力推行边缘计算,通过向制造业车间下沉,提供边缘计算服务,与之相伴随的是私有5G网的推广。但是他们遇到的问题与推广云服务同样的。难以突破OT 的边界。
笔者看来,工业边缘计算的最大特点因该是它的工业属性,符合OT对可靠性,安全,确定性的要求。
工业边缘服务的工业属性
反观目前市面上的大多数边缘计算的架构,技术和标准,它们更多是IT 云服务架构的翻版,无非是容器,微服务,消息系统等通用的技术和套路。缺乏对OT 的支持。说句大白话,对自动化行业而言,”容器里没有服务!“。在许多边缘服务器中运行的仍然是传统的MES定制软件,只是换了一个马甲而已。为工业自动化领域提供关键的基础服务才是是边缘计算成败的关键。工业边缘计算姓”工业“,应该具备工业特征。
也许工业界的人们还记得当年GE 公司雄心勃勃的predix 项目,同样采取了容器技术。但是由于没有足够的微服务而失败了。Harting 公司开发了嵌入式微服务控制器也没有产生很大的影响力。笔者也曾经开发了基于容器的嵌入式控制器。内心深刻的体会是,足够的微服务是边缘服务器的成败关键。这与OT 行业的功能块库是一样的。
工业边缘服务器中的微服务包括三大类:
基础微服务
数据接入、汇聚服务器微服务(DataHub,Data Aggregate Server):
收集所有的现场数据,成为其它微服务访问现场数据的统一入口。
数据存储微服务(data Historized Database Access)
实现对现场数据,事件的时序数据库存储访问
信息模型微服务(Information Model Server)
将工业现场的非结构化数据转换成为Opc UA 信息模型,其它微服务通过Opc Ua 协议和模型访问现场数据。
数据字典微服务
通用微服务
数据可视性化微服务
支持现场看板,web 访问和远程App
数据分析微服务
AI 微服务
云接入微服务
知识库,模型库微服务
工业4.0 相关的微服务
机器的作业编排,工艺参数下发,工业4.0 机器的协同互操作。
应用微服务
MES
数字孪生
数字仿真
工业软件的微服务化
如前所述,IT领域的边缘计算是IT行业云服务计算衍生而来的,它的基础是容器技术和计算机通信协议。与OT 行业主张的信息技术相比,互联网行业的信息交换是以通信协议为基础的信息交换。无论是TCP/IP,HTTP,webSocket,还是MQTT等各种消息系统,它们缺乏语义的一致性,难以实现OT行业机器与机器之间的通信。因此,基于互联网协议构建的微服务难以确保不同厂商开发的微服务互联互通。与OT现场设备的互联互通就更难。某些厂商和机构根据自身的经验和技术出发,努力地制定物模型库(大多数基于JSON)。并且将这些规则写入各种国家标准中,在笔者看来,由于缺乏工业领域的行业经验,开发的模型和标准难以达成”共识“,形成生态系统。可选项太多的标准难以实现兼容性,难以被大多数厂商采纳,没有多少实用和指导意义。
笔者看来,工业边缘计算服务器中的微服务要遵循OT行业主张的基于模型的工程设计思想,采用OT行业广泛认可的技术标准(例如OPCUA) 构建OT 的信息模型。并且采用OPC UA 协议实现微服务之间的信息交换。
使用OT行业倡导的基于模型工程设计方法也是实现微服务”低代码“,例如IEC61499, IEC61131-3 等各种基于图形的程序设计方法。以及基于信息模型的自动代码生成技术。
OT行业的行业专家基于工业领域的丰富经验,为工业4.0,开发自动化,数字化转型制定了大量的标准。实现这些标准的许多软件都不可能在传统的PLC 中实现,他们将会以微服务的形式在边缘计算服务器中运行。
致力于工业边缘计算的人们不要停留在微服务,消息系统的IT行业舒适区,朝着OT行业标准指明的方向发展也许是一条可行之路。
结束语
使用IT云服务和边缘服务技术实现符合OT行业规范的工业软件是实现工业边缘计算的可行之路。提供支撑OT 新技术的各种微服务是成功的关键。工业领域的新技术将以微服务的方式提供给客户。最终将实现IT和OT 殊途同归,相互融合的目标。