3.2软PLC运行系统的任务划分及实现
由2.4节可知,本软PLC运行系统由通信接口模块、系统管理模块、程序执 行模块、存储模块和I/O接口模块五个模块组成,每个模块用于完成指定功能。 根据软PLC运行系统的工作原理对每个模块的任务进行了划分:
与软PLC开发系统的通讯任务、与软CNC的通讯任务、与HMI界面的通 讯任务、普通程序执行任务、快速程序执行任务、用户程序存储任务、指令存储 任务、数据存储任务和I/O读、写任务以及系统管理任务,软PLC运行系统任 务组成如图3.1所示。
系统管理模块是软PLC系统的“控制核心”。软PLC运行系统启动后首先
进入系统管理模块,利用InitialPLCObjectsG函数定义并初始化PLC全局对象, 接着创建任务管理线程JobSchedulerThread和其它任务线程,在任务管理线程 JobSchedulerThread调度下各任务线程顺序执行。当用户程序循环结束后,系统 管理模块删除所有任务对象、事件句柄、释放内存空间等计算机资源,对应工作 流程如图3.3所不。
程序执行模块通过解释和执行PLC指令函数完成相应的逻辑运算,分为快 速程序执行和普通程序执行两个子模块。前者用于处理实时性要求较高的信号, 如急停信号、限位开关信号等等,执行周期5ms;后者则用来处理一般的循环扫 描任务,执行周期20ms。它们是两个独立的任务线程,执行指令函数的流程相 同:先从指令存储模块读取PLC指令、判断指令类型,接着调取软PLC指令函 数进行运算,最后将运算结果保存在数据存储模块,然后循环执行指令,当执行 END指令后退出循环,完成一次用户扫描程序,执行流程如图3.4所示。
通讯接口模块是数控应用程序之间通讯的通道,用于软PLC运行系统与开 发系统、软CNC、人机界面HMI以及其它第三方程序的数据交换。其中软PLC
运行系统与开发系统采用COM^COM方式进行通讯,即开发系统作为客户端向 运行系统发送用户程序,运行系统作为服务器端接收用户程序并反馈软PLC的 运行状态。
软PLC运行系统与软CNC、人机界面HMI是数控程序中的三个进程,它们 通过访问软PLC运行系统创建的共享内存区PLC_CNCBuffer、PLC_HMIBuffer 进行数据交换。由于软PLC运行系统和软CNC都是运行在RTSS环境下两个进 程,所以利用RTX提供的IPC (进程通讯对象)可实现数据通讯任务;而人机 界面HMI是运行在Win32环境下的非实时应用程序,它与软PLC运行系统是不 同控制内核下的两个进程,由于Win32进程优先级低于任何一个RTX进程,所 以在软PLC运行系统启动后人机界面HMI进程无法获得CPU资源将数据写入 共享内存PLC_HMffiuffer,因此需要解决Win32程序与RTX程序CPU资源的 分配问题,通常有以下两种方法:
定时分配CPU资源
定时分配CPU资源是指定一个事件,一旦触发该事件RTX子系统就中断在 正在运行的软PLC任务线程,将CPU资源让给Win32环境下的应用程序,使人 机界面进程将数据写入共享内存PLC_HMffiuffer中。中断事件对象由软PLC运 行系统利用函数RtCreateEvent〇创建,中断等待的时间由用户设置。
使用互斥体对象
互斥体对象是操作系统内核的一种数据结构,只允许获得该对象的任务线程 访问共享资源。利用互斥这一特性,首先在人机界面HMI程序中利用函数 RtCreateMutexG创建一个互斥体对象,虽然软PLC运行系统的优先级高于人机 界面HMI进程,但软PLC任务线程无法访问共享内存PLC_HMIBuffer中数据, 必须等待HMI线程调用RtCloseHandleO函数释放掉互斥对象句柄 h_mutexHMIPLC后才能访问该区域,在等待的这个时间片内Win32应用程序获 得CPU资源,人机界面HMI线程将数据写入共享内存PLC_HMIBuffer,并读取 软PLC给人机界面的数据,显示在人机界面上。
相比较定时分配CPU资源,使用互斥体对象等待的时间由操作系统分配, 占用软PLC循环扫描的时间较少,因此本软PLC运行系统采用互斥体对象实现 软PLC与人机界面HMI之间的通讯任务。
由于通讯过程类似,这里仅以软PLC运行系统与人机界面HMI的通讯为例 说明其执行流程,如图3.5所示。
I/O接口模块是软PLC系统与外部I/O输入输出模块进行数据交换的通道, 用于将I/O输入输出模块采集到的机床信号读入软PLC输入映像区,同时将输 出映像区中状态输出给I/O端口。其执行过程分为两步:第一,根据软PLC数 据存储区中I/O端子分配表与对应物理节点变量建立映射关系,完成端口配置; 第二,调用I/O接口模块的读写任务线程,在输入刷新和输出刷新阶段完成与外 部I/O输入输出模块的数据交换。
软PLC系统采用SoftSERCANS被动式主站卡作为作为数控系统的接口,所 以I/O输入输出模块先将采集到的数据信息存储在SERCOS I/O从站,由从站向 主站发送中断请求,将数据包发送给主站,软PLCI/0接口模块通过读写 SoftSERCANS被动式主站卡双口存储区中数据与外部I/O模块进行数据交换, 本文第四章对软PLC控制系统接口进行了详细的分析,这里只给出它们数据传递过程。
存储模块存储了软PLC运行系统中所有的数据、操作指令和数据地址,可 表示为:存储模块=数据地址+数据+操作指令,因此分为:用户程序存储 区、数据存储区和指令存储区。
在执行用户程序前,程序执行模块将每一个软元件的信息存储到指令链表中 供执行程序时调用。
数据存储区
数据存储区保存了所有软元件的状态,按照数据的来源分为:输入映像区(I)、 输出映像区(Q)、软PLC内部存储区(R)、定时器区(T)、计数器区(A)、本地通讯 存储区(L)、HMI通讯存储区(P)和CNC通讯存储区(C),每个区域所包含的信息 见表3.1。
表3.1软PLC运行系统数据存储区 Table 3.1 Data store of SoftPLC running system
|
软PLC运行系统以结构体的形式为每个存储区域分了配内存空间,除软PLC 内部存储区、输入映像区、输出映像区外,其余每个存储区域有256个软逻辑位供外部的物理元件使用。以本地通讯存储区为例,它存储了软PLC与Sercos的 通讯数据。
(3)指令存储区
指令存储区存储了软PLC系统的全部指令函数,当执行用户程序时,系统 从指令库中调取操作函数完成对操作数的运算,有关软PLC指令的设计与实现 详见本章第四节。
本文采摘自“五轴数控加工中心软PLC控制系统的研究”,因为编辑困难导致有些函数、表格、图片、内容无法显示,有需要者可以在网络中查找相关文章!本文由伯特利数控整理发表文章均来自网络仅供学习参考,转载请注明!
2021-09
星瀚系列是宇匠数控打造的颠覆性产品,在高精度加工的情况下保证高速、高刚的特性,是真正意义的高速加工中心,其性能及质量可媲美进口高速加工中心。同时可配置超声波系统与石墨集尘系统,亦可运用在陶瓷等硬脆料、石墨等高粉尘料的加工;… [了解更多]
2021-09
星瀚S系列是宇匠数控打造的颠覆性产品,采用全闭环设计,在高精度加工的情况下保证高速、高刚的特性,是真正意义的高速加工中心,其性能及质量可媲美进口高速加工中心。同时可配置超声波系统与石墨集尘系统,亦可运用在陶瓷等硬脆料、石墨等高粉尘料的加工;… [了解更多]
2021-09
TC系列超声波陶瓷雕铣机,是利用了超声波高频振动原理作用于刀具,使刀具产生了16KHz-40KHz(每秒16000-40000次)的连续高强度脉冲冲击,带动磨头冲击工作。当工件的局部应力远远超过材料脆裂极限,材料局部破碎去除。 适用范围 特别适用于陶瓷(氧化锆、氧化铝、氮化铝… [了解更多]
2020-10
1 问题的提出数控加工夹具是数控CNC机械制造加工过程中用来 固定加工对象,使之占有正确的位置,以满足加工工艺条件、迅速、方便、安全地安装工件的装置。夹具通常由定位元件、夹紧装置 、对刀引导元件、分度装置、连接元件及夹具体等组成[1]。图1所示零件是应用于系列矿用防爆电器产品上的… [了解更多]