基于实时分层有限状态机的计算机数控系统建模开发方法与流程

文档序号:12785688阅读:397来源:国知局
基于实时分层有限状态机的计算机数控系统建模开发方法与流程

本发明涉及计算机数控系统领域,特别设计计算机数控系统的建模开发方法。



背景技术:

计算机数控系统是典型的混合实时系统,是多学科(机械/机电、自动化、电子、计算机)交叉融合的机电一体化产品,具备控制系统平台多样性、控制对象多样化的特点。传统的开发方法采用“不同学科的工程师进行软硬件并行开发->集成测试->开发优化再测试”的螺旋上升方法,这种方法各取所长具备良好的效果,但存在效率低、可重用性低、实时性难保证等问题。至今,随着直线电机、电主轴、传感器、伺服控制和变频器等高性能零部件的成熟和控制算法的突破,数控系统所追求的高速度、高精度已经日趋完善。进一步提高数控系统开发效率、实现数控系统的个性化定制、同时保证数控系统的功能和非功能(主要是实时性和可靠性)要求,需要对数控系统的设计策略与方法学进行创新研究。

模型驱动方法和领域工程各自以模型和领域为中心,在系统开发方面取得了众多成果。基于组件/构件进行数控系统开发也是学者的关注点,基于组件的开发方法能解决数控系统软件复用度低,可配置性差的问题,但其人工编码的方式无法从根本上解决数控系统中非功能属性的满足与编码过程中的测试集成问题。

特定领域建模是近年来发展迅速的软件工程新方法,并且在嵌入式系统领域得到了广泛应用。以模型为核心,以特定领域为实施对象,构建该领域的建模语言以达到领域内应用系统的快速开发以及实现领域层次的重用。

有限状态机能表达出事情驱动的状态跳转,被广泛应用于装备控制系统研发,但缺乏对数控系统实时性的有效描述。



技术实现要素:

本发明目的是提高数控系统特定领域建模开发效率,实现个性化定制和系统可重用,克服数控系统开发方法上存在的上述问题。提出一种数控系统实时分层有限状态机建模开发方法,在保证功能和实时性能的基础上,实现可重构、个性化定制的数控系统快速开发。

包括以下步骤:

(1)多视图的描述数控系统

数控系统的特性包括多个方面,如数据流、系统行为、任务同步等,为了降低建模的复杂性,采用多视图的描述策略,不同的系统特性放置在不同的视图里。

(2)基于端口的数据流描述

依据步骤(1),对元模型数据流进行元建模。数据流用来描述数据在各个功能模块之间的流向,从而体现模块与模块之间的交互关系。基于端口的数据流描述策略,即每个功能模块包含若干数据端口,端口类型包括输入端口和输出端口。一个模块的输出端口连接另一个模块的输入端口,表明功能模块的执行顺序。

(3)数控系统动态行为分析

依据步骤(1),对元模型的动态行为进行分析。数控系统包括五个主要状态,分别是空闲状态、配置状态、运动状态、错误报警状态和急停状态。首先系统启动,经过初始化阶段,进入空闲状态。配置请求和运动请求事件可以使系统分别进入配置状态和运动状态。进入运动状态之后首先进行轴组检查,然后启动相关的运动轴,轴组就绪,开始判断运动模式,从而进入不同的子运动状态,主要有自动加工状态、手动加工运动状态和手轮运动状态以及回零运动状态,自动加工状态和手动加工状态可以通过暂停事件使系统进入暂停状态。如果运动完成,则重新回到空闲状态;如果遇到错误,则进入错误报警状态;如果遇到急停事件,则进入急停状态,也可以解除急停重新进入运动状态。

(4)行为元建模

依据步骤(3),采用实时分层有限状态机进行数控系统行为元建模。数控系统的核心任务为时间和事件并存的复杂混合任务集,如连续加工中的插补、位置控制均具有强实时周期性特点,I/O监控为弱实时周期性任务,单纯使用状态机或分层有限状态机仅仅能描述事情驱动的任务切换状态迁移,但对于复杂混合任务描述无能为力。因此,提出一种实时分层有限状态机,在分层有限状态机的基础上,增加实时属性参数,把传统状态机定义为一个六元组:

RTFSM=(T,S,E,δ,s0,se)

其中:T为时间属性;

S为有穷状态集;

E为有穷事件集;

δ为从S×E到S上的映射或转移集合;

s0∈S为系统初始状态;

se∈S为系统终止状态。

已知第i层RTHFSM为RTHFSMi=(Ti,Si,Ei,δi,s0,se),状态迁移如下所示:

第一步:存在某个状态sx∈Si,且其具有下层RTFSMi+1;

第二步:则当系统RHTFSM处于第i层的状态sx时,首先判读Ti是否为实时周期性任务,当时间属性Ti达到,系统会进入RTHFSMi+1进行执行。Ti=0即为非周期性任务,即为事情驱动任务,跳转进入下一层;

第三步:如果第i+1层RTHFSM有可能还会存在更下一层的RHTFSMi+2,则跳转第二步执行。

(5)完成元建模后,经过元模型解释器形成计算机数控系统开发工具。

(6)依据步骤(5)所生成的计算机数控系统开发工具,可针对特定硬件平台构建数控系统模型,并配置模型属性。数控系统模型可为车床数控系统、铣床数控系统。步骤(1)至步骤(6)为模型层。

(7)进行数控系统构件库的开发和完善,实施计算机数控系统四级任务调度算法,实施模型转换和源代码自动生成算法。

(8)依据步骤(6)和(7),将模型导入MATLAB、UPPAAL等工具分别进行功能验证和实时性能验证。

(9)依据步骤(7)和(8),验证无误的模型进行源代码自动生成。依据映射规则库,对应相应的代码库和构件库,进行数控系统源代码粘合和构件匹配。

(10)依据步骤(9),编译连接源代码,生成可执行的数控系统软件。步骤(7)至(10)为实施层。

和现有技术相比,本发明提供的方法具有以下优点:本发明针对计算机数控系统,采用实时分层有限状态机理论,构建计算机数控系统元模型,继而建立计算机数控系统领域建模语言。用户采用该建模语言,通过可视化的模型搭建,实现模型验证和源代码自动生成,继而生成特定平台下的计算机数控系统。该开发方法在保证计算机数控系统功能和实时性能的前提下,能提高计算机数控系统开发的效率,提高计算机数控系统的可重用性和可靠性。

附图说明

附图1是本发明的基于实时分层有限状态机计算机数控系统建模开发方法程图;

附图2计算机数控系统四级任务调度算法示意图;

附图3是模型功能和实时性能验证示意图;

附图4是源代码生成算法示意图;

附图5是数控系统建模环境使用示意图。

具体实施方式:

本发明基于实时分层有限状态机的计算机数控系统建模开发方法,包括领域层和实施层两个层次。领域层包括计算机数控系统元建模和用户建模,实施层包括模型的功能和非功能验证及模型的源代码自动生成阶段。如附图1所示,采用GME元建模软件101,基于实时分层有限状态机理论102,进行计算机数控系统元模型103构建。元模型经过属性配置和OCL语言规约后,经过GME内置的元模型解释器104生成计算机数控系统建模语言105,该语言具备可视化的建模环境。数控系统用户106可利用改建模环境进行特定平台的数控系统模型搭建107。至此,均是开发方法领域层面。通过面向不同工具的模型解释器108,数控系统模型可在工具里进行数控系统功能和实时性能验证109,数控系统模型可经过模型解释器109,根据映射库匹配源代码和构件,实现模型的源代码自动生成111,经过源代码的编译、连接、运行110,即可形成特定平台的数控系统112。

具体步骤如下:

(1)领域层计算机数控系统元模型描述

采用元建模工具GME多视图的方式,针对功能和实时性能进行数控系统描述。元模型描述由一个统一的实时分层有限状态机进行规约整体描述。功能描述包括HMI人机交互管理系统、运动控制系统、PLC控制系统。实时性能描述包括四级调度任务算法描述。如HMI人机交互管理系统,由状态机实现数控系统不同状态跳转的描述(如手动、自动模式切换等)。数控系统软件界面采用统一的元素进行描述,包括按钮、编辑框、静态文本框等。

元模型描述过程中使用OCL语言进行数控系统建模的规约。元模型经过GME内置的解释器解释,生成计算机数控系统建模语言,同时是计算机数控系统建模环境。

(2)领域层计算机数控系统模型搭建

如附图5所示。使用步骤(1)所生成的计算机数控系统建模环境501,采用多视图方式,分别进行数控系统功能建模和实时性能建模。功能建模包括HMI人机交互管理软件502建模(包括各种状态下软件界面建模505及各元素搭建和配置508)、运动控制建模503(包括轴控制、轴组管理506及插补算法配置、伺服控制建模、四级调度算法配置509)、PLC建模504(包括主轴、冷却、润滑、刀架507的I/O分配、定制510).

(3)实施层计算机数控系统模型验证

模型验证是开发方法的重要环节,验证领域用户模型的逻辑、功能、数控系统实时性能。如图3所示。用户模型301,使用已经开发好的不同平台的模型解释器(302,302,304等),分别解析用户模型到相应工具进行模型验证。包括simulink下的逻辑功能验证305、truetime工具下的实时性能验证306、UPPAAL下的实时性验证307。

实时性能验证中,集成了本发明的数控系统四级任务调度算法。如图2所示。首先对任务进行类型判断201,分为四种情况。第一种为强实时周期性任务202,如插补算法等,采取相应的第一级调度算法206;第二种为强实时突发性任务203,如急停、暂停等,采取相应的第二级调度算法207;第三种为弱实时周期性任务204,如诊断、状态显示灯,采取相应的第三级调度算法208;第四种为非实时任务,如数控程序编辑、语法纠错等,采取相应的第四级调度算法(即事件驱动状态机跳转)。

(4)实施层数控系统源代码自动生成

如附图4所示,用户模型401可以通过模型翻译器402翻译成特定平台下的产品级源代码。模型翻译器根据映射规则库403进行判断。如匹配源代码库404,把相应模型和源代码匹配,进行源代码的粘合406。如匹配构件库405,进行构件的匹配407。最后形成数控系统源代码408,源代码经过编译、连接,可形成数控系统。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1