ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

借助Linux RT系统打造自己的工业控制器 - 2

借助Linux RT系统打造自己的工业控制器 - 2 整体架构介绍设备层该层主要由PLC实体构成。PLC实体既可以是传统硬PLC也可以是软PLC二者都是实际执行IO操作的单元。市面上常见的硬PLC包括三菱的R12CCPU-V和MXR500L。传统硬PLC生态通常由厂商单独维护提供大量专用本地IO模块和远程IO模块但模块更新速度较慢有时过于保守这也会带来一些困扰。其优势在于擅长利用专用扩展模块构建控制系统。这里主要以MXR500L平台为例。常见软PLC主要包括Codesys和TwinCAT。以工控机为平台的软PLC通常缺乏丰富的专用IO模块尤其是Codesys生态但其兼容的总线类型更丰富标准更开放对行业内新兴技术的运用也更宽容擅长利用各种第三方远程IO模块构建控制系统。这里主要以Codesys平台为例。此外该层还包括一些以太网或串口设备它们通过专用协议经由本地以太网或串口接入系统。驱动层该层通过驱动程序或进程间通信技术为开发者提供访问设备层的能力。若采用硬PLC平台厂商通常会提供相应的Linux驱动和API开发者可直接调用API与硬PLC系统进行互操作较为便捷。若采用软PLC平台则需要借助某种进程间通信技术才能与软PLC运行时进行互操作同时还需在软PLC运行时中部署相应代码以响应来自其他进程的命令和请求。这里选用的技术是共享内存。对于通用外围设备直接使用操作系统提供的socket或文件接口进行访问即可。设备抽象层该层通过读取设备组态文件创建一系列设备对象和设备帮助对象。其中设备对象会被注册到监控机制中而设备帮助对象则负责将各类设备抽象为相应的设备数据。设备数据通常分为过程数据和控制数据两类。过程数据的访问无需同步直接读写即可从设备读取过程数据或将过程数据写入设备。控制数据的访问则需要同步所有设备采用一致的同步机制应用程序必须确保上一个控制命令已被设备正确响应后才能向设备发送后续命令。总体而言设备抽象层大幅降低了应用程序访问设备的门槛用户无需阅读设备手册或了解设备各寄存器的用法即可实现与设备的互操作。应用层该层提供了监控机制该机制无法由用户定义完全在后台自动运行。只要中间件加载成功监控机制便会随之启动。因此无论用户是否实现用户程序都可以通过专门的监控客户端对中间件的运行状态进行监控。同时系统也提供了一些可由用户自定义行为的系统模块具体如下过程数据对象和连锁逻辑管理器该模块通过读取用户的IO清单文件创建过程数据对象和连锁逻辑对象。过程数据对象可与设备过程数据进行绑定通过访问过程数据对象即可实现与设备的互操作进一步降低了应用程序访问设备的门槛。连锁逻辑对象负责管理过程数据对象之间的连锁关系避免用户手动编写代码和重新编译用户代码。工艺配方/脚本执行器顾名思义该模块负责执行工艺配方。执行不同的工艺配方时只需通过接入层将不同的工艺配方文件下载到控制器即可从而避免工艺配方变更后需要修改并重新编译代码的问题。同步过程数据采集器用户可选择是否激活采集器。激活采集器可能略微降低控制器性能但能够捕获控制器每一个控制周期的输入输出信息也就是IO清单文件中定义的过程数据对象的值。用户程序包括以下几类执行周期与IO扫描周期一致且同步的用户程序执行周期为IO扫描周期整数倍的用户程序此类程序会被均匀分散到多个IO扫描周期内执行执行周期与IO扫描周期完全无关的用户程序。日志管理器提供同步日志写入和异步日志写入接口供系统模块和用户程序使用。接入层该层主要为外部计算机访问本地中间件或控制器提供服务具体包括远程监控协议外部计算机可通过专用协议对中间件的运行状态进行监控。工艺配方文件服务器外部计算机可通过专用协议下载和上传工艺配方文件。SLMP服务器外部计算机可使用三菱SLMP协议对过程数据对象进行读写。DAQ同步过程数据采集器用于缓存同步过程数据采集器所采集的数据外部计算机可通过专用协议从缓存中读取采集到的数据。
返回列表