首页 > 代码库 > 关于开放式CNC系统实时软件控制系统的一些简单分析

关于开放式CNC系统实时软件控制系统的一些简单分析

随笔: 黄杰U201310771

      首先,我们一起了解或复习两个概念:开放式CNC和开放式CNC体系结构。按照工EEE规定:一个开放式的系统必须具备不同应用程序能很好地运行于不同供应商提供的不同平台之上的能力、不同应用程序之间能够相互操作的能力和一致的用户交互风格。根据这一定义,开放式数控系统必须是一个全模块化的软件体系结构,它具备相互操作性、可移植性、可缩放性、可互换性的特点,具有定义了标准协议的通讯系统,使得各个功能模块能通过应用程序接口AIP来相互交换信息并相互操作;同时,系统还应具备一个实时的配置系统,使得各个功能模块无论在系统运行之初还是之间都能够被灵活地配置。开放式CNC系统应能运用于各种计算机软硬件平台上,并提供统一风格的用户交互环境,以便于用户的操作、维护和更新换代。开放式NCC具有如下特点:(1)用高级语言编程(C语言、vC、VB等)。(2)软件模块化,提高CNC性能无需改写软件,而且可与流行软件相结合。(3)机械制造商和用户可以容易地开发具有个性的应用软件。(4)采用标准化接口,可灵活选用电机,驱动装置和反馈元件。(5)操作简单,易于使用和维护。

    对于开放式控制体系结构的研究,较著名的有美国的OMAC(Oepn Modulari AchitedureControls)、欧洲的OSACA(Open Systemr Achitecture for control within Automation System)和日本的OSEC(Open System Evniromennt for Controllers)计划。OSEC体系属于层次性结构,系统按功能分层,每一层按照功能分为若干个模块,层次间具有单向调用或者依赖关系,每一层都在其下层建立,下层为上层提供所需的服务。同一层的模块间按照一定的接口关系自由调用。其他体系感兴趣可以自行查阅资料。基于OSEC的体系结构思想,微机数控系统的开放体系结构如下图1所示。

技术分享

图1 基于OSEC的CNC体系结构

 

      开放式CNC系统的几种实现形式实现形式有多种,如专用CNC+PC型、运动控制器+PC型和SOFT型等等。其中SOFT型是一种最新开放体系结构的数控系统,也称“全软件式数控系统”。它提供给用户最大的选择和灵活性,它的CNC软件全部装在计算机中,而硬件部分仅是计算机与伺服驱动和外部I/O之间的标准化通用接口。用户可以在WINDOWS平台上,利用开放的CNC内核,开发所需的各种功能,构成各种类型的高性能数控系统,与前几种数控系统相比,S0FT型开放式数控系统具有最高的性能价格比,因而最有生命力。其典型产品有美国MDSI公司的ovenCNC、德国Power Automation公司的队8000NT等。

     我所想分析的CNC系统控制软件系统就是基于上面所述。图2是基于SOFT型软件结构图。

技术分享

2  SOFT型CNC数控软件控制软件结构图

 

首先分析一下该CNC的软件功能需求和软件任务的实时性分析。图3是CNC的软件功能需求。

技术分享

3 CNC的软件功能需求

 

      数控系统是一个实时多任务系统,数控系统软件中有许多模块,如插补计算、程序解释、位置控制、加工仿真等,任务模块是具有动态特征的功能模块,即每个任务都具有其生命周,具有并发性和独立性,任务是一个能独立运行的基本的单位,也是系统分配资源和调度的独立单位,享有对软硬件资源的使用和控制权。在CNC数控系统中,按其实时性不同任务一般分为:

1、实时突发性任务

     实时突发性任务的发生是时间的随机函数,要求有较高的实时性,如控制面板上的输入处理等。

2、强实时周期性任务

     强实时周期性任务是指严格按定长时间间隔定时触发,并且在规定的时间内必须要完成处理的任务。在本次设计中,主要指加工过程中的位置控制与机床状态反馈,即PC机与数控机床接口之间的数据通信控制,所传递的数据包括各个轴的进给数据,以及数控机床的状态数据。

3、弱实时周期性任务

     弱实时周期性任务是指大致按定长时间间隔触发,并且对完成时间的要求也比较宽,时间的延迟不会影响加工的顺利进行。如轨迹仿真、加工状态显示等。此外由CPU运算速度较快和数据共享区的采用,插补计算也可以归至弱实时周期性任务的范畴。

4、实时非周期任务

    数控系统中有些任务是一次性启动的,并不需要严格按等长时间间隔定时触发。如系统启动的初始化,诊断等。

5、非实时任务

    非实时性任务是指实时性要求很低的任务,在本次设计中主要包括人机界面显示、数控代码的输入、语法分析、轨迹图形显示与视图操作等。

 

    我们可以得出或者分析出一下关于作业的一些个人结论:

1. CNC系统强实时性功能需求有加工过程中的位置控制与机床状态反馈,即PC机与数控机床接口之间的数据通信控制,所传递的数据包括各个轴的进给数据,以及数控机床的状态数据。实时响应时间一般为毫米级甚至微秒级。

2. 假如我是软件设计者,总体上应设计四个实时任务:位置控制(包括工件和刀具位置的实时控制),加工反馈(机床位置、刀具位置,加工质量等),数据处理(插补、加工状态实时显示等),安全应急处理(如急停)。

3. 数据处理是时间触发,处理周期应该大概是毫秒级;位置控制,加工反馈既有事件触发又有时间触发;而安全应急处理为时间触发。

4. 存在一定的依赖关系。加工反馈依赖于加工位置与加工状态,而数据处理与其他实时性任务密切相关。

5.  关于硬件资源共享性,实时任务处理时共用系统的内存、CPU等资源。采用一些实时多任务调度处理机制。

关于开放式CNC系统实时软件控制系统的一些简单分析