面对新形势下工业4.0以及IIoT的场景,用户期待更自由灵活,符合个性化需求的编程交互方式。大家熟知菲尼克斯电气全新推出的
PLCnext Technology开放式
控制平台,相较于传统的控制器架构具有颠覆性优势。
区别于传统控制器,PLCnext在保障传统IEC61131-3程序实时运行的同时又兼容多种高级语言开发和开源程序的自由应用。PLCnext平台究竟是采用何种机制来保障此开放式平台稳定、实时、高效的运行?在此平台上又可以做哪些多样化的开发?其实这些面向客户端可呈现出的内容都取决于控制器的架构和核心组件,它们是控制器底层坚实的基石。今天我们就从PLCnext的独特架构和核心组件构成聊起。
通过此架构图,大家可清晰窥见PLCnext的“核心内容”。初次看上去似乎些许繁杂,但架构十分清晰。下面由菲尼克斯PLCnext团队德国专家马克?鲍斯为大家带来专业讲解。
相信听了专家介绍,大家对PLCnext运行时的整体架构已经有了初步理解,由于技术组件内容丰富www.cechina.cn,小编为大家着重梳理,逐一介绍,让您轻松理解PLCnext的架构。
PLCnext总体架构分为五大部分:硬件与操作系统、中间件、PLCnext核心组件、内部用户组件、外部用户组件。
硬件与操作系统
PLCnext底层硬件,我们根据控制器类别可采用Intel或是ARM架构的处理器的配置。操作系统采用RT-Linux系统,控制器具备确定性实时功能。Linux相对于Windows具备稳定且更有效率、漏洞少且快速修补、多任务多用户、更加安全的用户和文件权限策略等特点,从而一方面实现开发的自由度,另一方面保障程序的实时运行。
Linux系统最大特点是底层全部由文件组成CONTROL ENGINEERING China版权所有,这样使得我们更加便捷的去访问控制器。PLCnext Engineer可以作为传统IDE实现程序编辑下装,也可以通过SSH或SFTP等安全方式访问到底层文件,直接修改文件参数配置,实现无IDE环境条件下安全、自由、快捷的组态设置。
中间件
中间件部分实现将PLCnext Technology固件与操作系统解耦。GDS (Global Data Space)是中间件的重要一部分,它实现了不同实时组件之间交互的数据一致性。RSC(Remote Service Call):Function Extension(功能扩展)上运行的程序通过RSC接口可以与PLCnext Technology核心组件进行通信。您可以通过接口访问各种函数和数据项。例如,您可以使用RSC服务中“IDataAccessService”获取对GDS数据的读写访问权。
在此简要介绍数据一致性的概念:不同任务可以设置运行优先级,且它们均使用了同一变量。当低优先级任务被高优先级任务打断,并且高优先级任务对程序中同一变量进行操作后,低优先级任务依然保证在本次循环周期内的数据一致,而不受高优先级任务对同一变量操作的影响,避免造成程序执行的紊乱。PLCnext可通过4buffer(四重缓存)机制来确保数据一致性,用户不必担心数据不一致问题带来的不便。后续的文章会对GDS进行深入介绍。
PLCnext核心组件
IO与现场总线组件
现场总线及IO管理器将实现的现场总线及本地IO与PLCnext Technology相连接,用于处理数据的输入和输出。支持下列现场总线(视具体情况而定):
PROFINET 控制器
PROFINET 设备
Axioline F 主站 (本地总线)
INTERBUS (AXC F IL Adapt and AXC F XT IB)
……
服务组件
服务组件提供对ESM(执行和同步管理器)、GDS(全局数据空间)和以下系统组件的访问: OPC UA 服务器、Proficloud网关、基于web的PLC诊断管理、eHMI web服务器(PLCnext Engineer内基于HTML5网页可视化页面)、借助于Linux系统实现SFTP、VPN、SSH、NTP、Trace controller等服务。
系统组件
系统组件提供了PLCnext Technology的底层所有基本功能。其中系统管理器和PLC管理器实现加载所有其他系统组件并监视系统的整体稳定性。
系统管理器:在固件启动时,系统管理器会确保所集成的组件和程序都按正确顺序配置和启动。
PLC管理器:PLC管理器是一个固件组件,用于加载PLC程序代码进入内存并启动或关闭程序。程序代码可以是由PLCnext Engineer创建的IEC 61131-3程序控制工程网版权所有,也可以由C++或者Matlab ?Simulink?创建。它们以代码库(.so)文件的形式存在于PLCnext控制器上,PLC管理器通过配置文件可以加载并实例化目标库文件。
ESM(执行同步管理器):ESM可以自动识别不同来源的程序,确保IEC 61131-3、C++和MATLAB Simulink?程序能够实时同步执行。并且根据需求可将任务部署在不同核上以达到均衡负载的目的。用户则无需关心底层具体运行细节。在与控制器交互机制上,用户既可以通过PLCnext Engineer IDE进行组态,也可以通过系统配置文件的方式对ESM进行设置。
用户管理器:扩展了标准的Linux用户管理功能,它可以管理各种各样的用户角色。您只能以既定的用户角色对PLCnext固件执行操作。您可以为每个用户选择一个或多个具有不同权限的用户角色。
IEC61131运行时:ProConOS eCLR是可以执行多个菲尼克斯自动化任务的IEC 61131控制运行时系统。所有在PLCnext Engineer内创建的IEC 61131程序组件均为Arp.Plc.Eclr格式控制工程网版权所有,如下图所示。
内部扩展组件
用户可以将一些轻量级的应用开发部署在内部用户组件上,基于PLCnext固件之上进行的开发。在充分了解固件本身的内容特性后,可实现轻松调用多种PLCnext的API:RSC、GDS数据交互共享、组件接口、通用层等。基于此菲尼克斯开发了多种应用:云连接器、MQTT通讯、Modbus TCP、Ethernet/IP、SQL等多种应用。用户可在PLCnext Store上可以获取相关应用。
外部扩展组件
在外部用户组件上,用户可以直接将运行时部署在Linux系统上,进行多种应用的自由开发,这也是PLCnext开放性最直接的体现。例如:Codesys runtime、Java、 Python、Node.js、Rust、.NET core等。用户可以将所需的环境直接部署在PLCnext上,在最小改动的情况下便利将原程序运行在PLCnext平台上,并且可以通过OS API直接访问控制器硬件。并通过service manager来启用RSC 服务,实现与PLCnext component部分交互。
可以看出,用户既可以在外部用户组件上相对独立运行熟悉的高级语言算法,集成已有多种开源算法,来实现高级智能应用开发。又可以通过服务管理器调用相关RSC服务实现与控制器本体硬件及相关PLC程序数据进行交互。
菲尼克斯电气瞄准工业4.0及智能制造需求打造的全新控制平台PLCnext,架构先进CONTROL ENGINEERING China版权所有,组件丰富,结合了传统控制器和智能设备的特点,真正在控制层实现了IT与OT融合,为IT工程师和电气工程师提供了实现全新自动化模式的平台,助力用户全面提升面向未来数字化世界和智能制造领域的竞争力。