PLCnext控制器
简单来说,PLCnext是基于Linux操作系统的一个控制器运行时,所以它原生具备的两个特点:
1.原生兼容IEC61131
2.原生兼容Linux各类应用
PLCnext的控制器大概长下面这样(AXC F 1152、2152),通过背板总线连接IO、通过网口连接Profinet或者上位机。
PLCnext 运行时
上面说完控制器,我们来看看这个PLCnext runtime有什么不一样的地方。这个系统主要是为了构建PLC控制器而生,所以很多原生的特性也是围绕着PLC展开的:
1. eCLR。 熟悉KW软件的朋友应该不会陌生,eCLR作为核心,除了PLCOpen规定的IEC61131-3之外,它还提供了多种和PLC程序相关的编程扩展方式,比如C#去构建确定性实时的功能块、C#结合C++去构建能够利用PLCnext API和第三方开源代码的Native功能块,用Matlab结合PLCnext去做仿真分析等等。
和Codesys的C-Integration很像,但是C-Integration只能做库,调用库函数,而PLCnext可以做单独的库、功能块、函数、系统组件、实例程序
2. Linux带来的可拓展性。PLCnext将原生PLC相关的功能按照“组件”的形式去定义,系统原生的组件有IO与现场总线组件、服务组件、系统组件、内部扩展组件、外部扩展组件。
当然Linux平台的最大特点就是,可以借助SDK将自己的代码与平台去结合,在外部扩展组件和内部扩展组件的框架中去制作自己的IO与现场总线组件、服务组件、系统组件,这个特性可以PLCnext成为各个厂家的定制化平台。
3. 虚拟化PLC。因为PLCnext整个框架是基于Linux,所以它可以很好地单独拎出来作为虚拟化的PLC,利用Docker或者Hypervisor的技术去做PLCnext Virtual Control。相比传统的软PLC方案,这种虚拟化PLC的方式可以在一台电脑上运行多个实例,再加上PLCnext这种定制化的功能,想想都有点恐怖。
4. IOT融合。PLCnext 就是一个典型的IOT融合案例,当然这种对复合型人才的要求就会比较高,可能他既需要会PLC的编程方式比如IEC61131-3,又需要会C++ C# Java。当然面对目前这种IOT融合的趋势,这也很难避免。
PLCnext本身是一个IOT的案例,同时它也是智能工厂转型IOT融合的核心,借助于PLCnext设计的框架(其实也就是Linux这一套),IT人员可以很方便的去设计在OT设备的IT侧功能,比如各家私有的云协议服务、集成了第三方代码的功能块、自定义的系统服务以及程序、硬件接口驱动等等。
后续文章主要围绕C#、C++这种基于高级语言的编程开发方式去讲解PLCnext(不定期更新)