融合OT与IT技术的开放式边缘计算PLC实践发表时间:2019-12-11 18:54网址:http://www.nxtrol.com/edge_compute_plc.html 工业自动化系统进入到工业4.0时代,工业物联网、工业云平台、信息化、OT(Operation Technology)与IT(Information Technology)融合等等概念不断涌现,而传统的工业控制系统通过技术升级,也在快速与新技术进行融合(例如:MQTT,OPC-UA,VPN等),当然大量的传统控制系统目前依然需要工业物联网网关产品实现与IT层的数据交互。IT工程师与OT工程师需要经过大量的沟通,并且在云平台后端需要构建不同的数据处理流程。随着应用深入,云平台将越来越庞大,并且难以很好适应工业自动化领域的多品种、小批量、定制化的需求。 本文介绍一种融合OT与IT技术的边缘计算PLC平台框架,结合符合IEC61131-3标准的LogicLab开发平台,并在树莓派3硬件平台上进行实践,让IT工程师能够与OT工程师基于同一个边缘PLC控制器上协同工作,让更多的数据在边缘侧进行处理,降低沟通以及应用成本。 我们认为在工业4.0时代,边缘PLC控制器是作为IT与OT的桥梁,同时负责IT层的部分数据处理、通讯以及OT层的工业现场应用处理。在IT层主要支持MQTT、OPC-UA等等信息化技术用于与工业云平台,MES等系统进行数据交换,而在OT层则依然支持传统的现场控制技术,如:IEC61131-3编程、PLCopen MC运动控制、EtherCAT、CANopen、Modbus等等技术,同时边缘PLC控制器可以进行本地以及远程Web技术的数据展示。详细架构如下图所示: 边缘PLC控制器面向OT应用,具有开放式编程环境的支持,主流方向是采用IEC61131-3标准的五种编程语言对现场应用逻辑进行编程,包括:功能块图FBD、梯形图LD、结构化文本ST、顺序流程图SFC与指令表IL。一个典型的IEC61131-3编程平台LogicLab软件如下图所示: IT工程师受限于不同的技术方向以及对工业现场理解,基本没有机会参与到OT层的应用实现上,因此为了让IT工程师更深入参与到整个工业应用中来,这里我们在边缘计算PLC体系中增加了由IBM开发的图形化开源物联网应用开发平台Node-RED,专门用于IT工程师对工业物联网应用逻辑进行开发,并且可以与OT层的IEC61131-3运行系统快速进行数据交换。这样OT与IT工程师在边缘计算PLC控制器上共同协同工作,由于软件架构上LogicLab Runtime与Node-RED为不同的进程,并且在树莓派3上通过实时Linux技术(或者在Windows平台上通过INtime实时系统技术),将其彻底隔离,互相不影响的同时又可以通过内存共享(Shared Memory)方式快速交互数据,架构图如下: Node-RED是基于Web的图形化开源物联网应用开发平台,最初由IBM开发并开源,借助于其简单的应用方法与NodeJS的强大软件生态,Node-RED在物联网领域已经有不少非常成功的应用。通过对Node-RED进行二次C/C++扩展开发,Node-RED已经支持LLSymbol指令,IT工程师通过图形化拖拽以及设定参数即可与OT层的IEC61131-3运行系统进行控制器内部数据交换,大大降低了传统采用物联网网关方案的应用成本,以及提高了IT工程师灵活自主的空间。 IT工程师利用Node-RED技术可以很方便应用NodeJS中丰富的库功能,对数据进行边缘测及时处理,而不需要到云端设计复杂的数据处理流程,从而将边缘计算的优势彻底发挥。Node-RED面向IT工程师的开发平台如下图所示: IT工程师在Node-RED中可以随时与OT工程师在LogicLab中编写的逻辑进行数据交换,例如下图是OT工程师在LogicLab中实现的工业现场PID控制: 借助于Node-RED强大的数据展示功能,我们完全无需复杂编程就可以设计出本地与远程Web形式的数据展示以及交互界面,我们可以在PC或者手机上随时通过Web浏览器实时查看这些数据,或者进行交互。而实现这些动态数据展示以及交互界面,仅仅只是需要使用到dashboard的流程功能而已,IT工程师实现的PID展示与交互界面如下图所示: 现在我们来进行简单总结,通过OT的IEC61131-3控制技术与IT的Node-RED技术深度结合,可以大大降低工业物联网应用难度与成本,更多原来在云平台端的数据处理可以放在边缘计算PLC平台上由Node-RED来负责,提高了数据处理及时性,简化工业云平台或者MES系统的数据预处理功能。
最后翌控科技将边缘计算PLC控制器方案进行了简单梳理,由于Node-RED是基于NodeJS的组件,在处理数据上具有较高的灵活性,但是缺点是其CPU占用率依然较高(基于标准测试工程进行3个Flow的运算,Node-RED在树莓派3上的CPU占用率为单核心40%左右)因此我们推荐至少如下平台可以更好支持该解决方案: - 嵌入式: 多核心,主频大于1GHZ + Linux(实时内核Xenomai-面向运动控制,实时内核PreemptRT-面向流程控制) - PC Based: Atom Baytrail双核处理器以上级别 + Linux(实时内核Xenomai-面向运动控制,实时内核PreemptRT-面向流程控制) / Windows+INtime实时扩展 |