e-works数字化企业网  »  文章频道  »  工业自动化控制  »  PLC/DCS

揭秘PLCnext架构特点及核心组件

2020/5/6    来源:中国工控网    作者:菲尼克斯(中国)投资有限公司      
关键字:PLCnext  菲尼克斯  
目前,传统自动化厂商多数是提供特定的IDE编程环境来实现编程人员与控制器之间交互,方式相对固定,开发自由度不高,相关功能主要依赖于自动化厂商的开发维护与更新,给用户的自主开发工作带来了不少困扰。
       面对新形势下工业4.0以及IIoT的场景,用户期待更自由灵活,符合个性化需求的编程交互方式。大家熟知菲尼克斯电气全新推出PLCnext Technology开放式控制平台,相较于传统的控制器架构具有颠覆性优势。
  区别于传统控制器,PLCnext在保障传统IEC61131-3程序实时运行的同时又兼容多种高级语言开发和开源程序的自由应用。PLCnext平台究竟是采用何种机制来保障此开放式平台稳定、实时、高效的运行?在此平台上又可以做哪些多样化的开发?其实这些面向客户端可呈现出的内容都取决于控制器的架构和核心组件,它们是控制器底层坚实的基石。今天我们就从PLCnext的独特架构和核心组件构成聊起。
PLCnext架构及核心组件
  通过此架构图,大家可清晰窥见PLCnext的“核心内容”。初次看上去似乎些许繁杂,但架构十分清晰。下面由菲尼克斯PLCnext团队德国专家马克?鲍斯为大家带来专业讲解。
  相信听了专家介绍,大家对PLCnext运行时的整体架构已经有了初步理解,由于技术组件内容丰富,小编为大家着重梳理,逐一介绍,让您轻松理解PLCnext的架构。
PLCnext总体架构
  PLCnext总体架构分为五大部分:硬件与操作系统、中间件、PLCnext核心组件、内部用户组件、外部用户组件。
  硬件与操作系统
  PLCnext底层硬件,我们根据控制器类别可采用Intel或是ARM架构的处理器的配置。操作系统采用RT-Linux系统,控制器具备确定性实时功能。Linux相对于Windows具备稳定且更有效率、漏洞少且快速修补、多任务多用户、更加安全的用户和文件权限策略等特点,从而一方面实现开发的自由度,另一方面保障程序的实时运行。
  Linux系统最大特点是底层全部由文件组成,这样使得我们更加便捷的去访问控制器。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核心组件
  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进行设置。
PLCnext
  用户管理器:扩展了标准的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,架构先进,组件丰富,结合了传统控制器和智能设备的特点,真正在控制层实现了IT与OT融合,为IT工程师和电气工程师提供了实现全新自动化模式的平台,助力用户全面提升面向未来数字化世界和智能制造领域的竞争力。
责任编辑:杨培
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并已尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐