一种软数控系统的实时任务调度方法

文档序号:6321191阅读:132来源:国知局

专利名称::一种软数控系统的实时任务调度方法
技术领域
:本发明涉及数控系统中的任务调度
技术领域
,具体涉及一种软数控系统的实时任务调度方法。
背景技术
:开放式数控系统主要有三种结构,即专用CNC+PC、通用PC+运动控制器和软数控系统。其中软数控系统是采用多任务实时操作系统,将运动控制部分与管理部分集成到一个硬件平台上,插补等关键任务在实时操作系统中实现,满足数控系统在功能方面和非功能方面(主要表现在实时性)的要求。软数控系统的加工质量与实时任务运行的确定性密切相关,其关键任务的合理调度尤为重要。目前,对实时调度算法的研究,是实时领域的一个重要研究课题。混杂系统的特征是系统中包含有非实时任务,实时突发性任务,周期性实时任务等类型,软数控系统就是典型的混杂系统。对于非周期性任务的调度,一般是为其预留一定的CPU资源。从调度算法的实现架构上看,所有的调度算法可以分为开环调度算法和基于反馈的闭环调度算法。最经典的开环调度算法是RM(Rate-Monotonic)算法和EDF(EarliestDeadlineFirst)算法。其中RM算法实现比较简单,但CPU的利用率不高,并且灵活性较差。EDF算法体现出更大的灵活性,系统在运行中根据临时的任务紧迫程度来确定优先级,因此显得更为合理,但系统的调度更为复杂,在系统负荷较重的情况下,任务的执行具有较大的不确定性。基于反馈的闭环调度算法是近年实时调度领域的研究热点。其中主要的算法有神经反馈调度、模糊反馈调度等,这些反馈调度算法都是以CPU的利用率作为调度的反馈量,能够保证任务都在截止期前执行,并且具有比较强的调度灵活性,最大限度的利用了系统的资源。但是这些算法应用于软数控系统中,只能保证软数控系统混杂任务的可调度性,即任务不错过截止期,但由于软数控系统资源的竞争,一些关键的实时任务(如伺服任务、插补任务)易存在较大的输出抖动,从而影响软数控系统的加工精度。
发明内容本发明的目的在于克服因软数控系统资源竞争引起的关键实时任务抖动过大的问题,提供一种软数控系统的实时任务调度方法。本发明通过给非实时任务和实时突发性任务预留一定的CPU资源,根据周期性实时任务期望的抖动范围,应用二维模糊反馈调度器动态调整关键实时任务的周期,保证关键任务的抖动在期望的范围内,从而改善因关键任务的输出抖动过大引起的软数控系统性能下降。为了实现上述目的,本发明采用的技术方案为—种软数控系统的实时任务调度方法,所述软数控系统是采用多任务实时操作系统,将运动控制部分与管理部分集成到一个硬件平台上,关键任务在实时操作系统中实现,所述关键任务主要包括软数控系统的伺服任务和插补任务;该方法包括以下步骤(a)根据软数控系统中的任务情况,为非实时任务和实时突发性任务预留CPU资4源;(b)周期性实时任务抖动范围的确定,计算输出抖动反馈量,所述周期性实时任务主要包括伺服任务和插补任务;(c)根据周期性实时任务的抖动情况,结合调度算法框架,确定模糊反馈调度的输入量、输出量及隶属度赋值表;(d)计算出模糊反馈调度表,进一步求出实时任务周期与抖动的关系表,并存于软数控系统的内存中,采用直接查模糊反馈调度表动态调整关键性周期性实时任务的周期。上述的软数控系统的实时任务调度方法,步骤(a)所述任务情况包括任务的实时性和混杂性。上述的软数控系统的实时任务调度方法,在所述步骤(a)中,为非周期性任务预留CPU资源,其中CPU资源的利用率为<formula>formulaseeoriginaldocumentpage5</formula>在所述步骤(b)中,所述输出抖动反馈量的计算方法为<formula>formulaseeoriginaldocumentpage5</formula>其中,U表示CPU的利用率,U。thCTS表示非周期性任务占用的CPU资源,prt”e表示周期性实时任务的执行时间,prVT表示周期性实时任务的周期,N表示系统中的周期性实时任务个数;JsA表示任务k的实际输出抖动,Jsk表示任务k的期望抖动上限,周期性实时任务的抖动反馈量Jsf,Jsr表示所有实时任务的抖动上限参考值。上述的软数控系统的实时任务调度方法,在所述步骤(c)中,调度算法包括二个反馈环,内环是控制环,外环是模糊反馈调度环,模糊反馈调度的输入量是所述抖动上限参考值Jm和所有周期性实时任务的抖动反馈量Jsf,模糊反馈调度的输出量是任务周期调节系数、;在所述步骤(d)中,由模糊反馈调度输入量Jsf通过模糊推理导出模糊反馈调度算法表,根据任务周期调节系数X,由线性关系求出输出抖动对应的实时任务周期。上述的软数控系统的实时任务调度方法,所述实时任务周期与输出抖动关系的推导包括以下步骤1)为软数控系统的非实时任务和实时突发性任务预留CPU资源,计算输出抖动反馈量;2)根据模糊反馈调度的输入量Jm和Jsf及输出量\,采用二维模糊控制器设计方法确定隶属度赋值表和模糊调度规则;3)选择最大隶属度法判决,推导出模糊反馈调度表;4)将所述的周期调节系数\求出,动态的确定实时任务周期。上述的软数控系统的实时任务调度方法,在所述步骤(a)中,预留的CPU资源参考软数控系统中任务的特性,根据任务在系统中的重要性,确定调度优先次序。上述的软数控系统的实时任务调度方法,所述调度算法确定后存于软数控系统内存中,采用查表的方式进行调度。7、如权利要求16任一项所述的一种软数控系统的实时任务调度方法,其特征在于所述调度算法确定后存于软数控系统内存中,采用查表的方式进行调度。与现有调度方法相比,本发明具有如下优点和效果(1)根据周期性实时任务期望的抖动范围,动态调整关键实时任务的周期,保证关键任务的抖动在期望的范围内;(2)本调度方法采用查表的方式,系统资源开销小;(3)可减少因关键任务的输出抖动过大引起的软数控系统性能下降,提高软数控系统的加工精度。图1为实施方式中软数控系统中基于关键任务输出抖动的模糊反馈调度方法的架构;图2为本实施方式中调度方法实施流程图。具体实施例方式下面结合附图对本发明的具体实施方式作进一步说明,但本发明的实施不限于此。如图2所述,软数控系统的实时任务调度方法,包括以下步骤步骤1,对混杂系统(软数控系统是典型的混杂系统)中的任务进行分类,定义任务参数;混杂任务集W={Tili=1,2,...,n},含有n个任务,S卩非实时任务、实时突发性任务及周期性实时任务。对于周期性实时任务pr、,用8元组表示为prtj=(T,E,e,r,f,d,k,p)式中T为任务的周期;E为最坏情况下执行时间;e为任务运行时间;r为任务释放时间;f为任务完成时间;d为绝对时间限;k为任务当前的周期数,任务prti的第k个周期记为pr、(k);p为任务优先级。对于非周期性实时任务art”其执行是随机的,仍可以用8元组表示为artj=(M,E,e,r,f,d,k,p)式中M表示任务到来的时间间隔的最小值。对于非实时任务nrti,用4元组表示为nrti=(E,e,r,p)步骤2,分析软数控系统加工过程中的主要任务,如表1所示,任务类型包括非实时任务、实时突发性任务及周期性实时任务。其中插补任务和伺服任务的周期及确定性对系统加工精度的影响最为明显。表1软数控系统加工过程中的主要任务<table>tableseeoriginaldocumentpage7</column></row><table>步骤3,为非周期性任务预留CPU资源,确保系统任务的可调度性;Up为周期性实时任务占用CPU的资源二t^f式⑶保证软数控系统任务的可调度性,必须满足Up+U。thers<1式(4)本实施方案中,为非实时任务和实时突发性任务预留30%的CPU资源,即Uothers=0.3。步骤4,确定调度算法的结构,输入和输出量;基于关键任务输出抖动的模糊反馈调度方法架构如图1所示,调度算法框架包括二个反馈环,内环是控制环,外环是模糊反馈调度环。模糊反馈调度的输入量是抖动上限参考值^和所有周期性实时任务的抖动反馈量Jsf,输出量是任务周期调节系数、。在基于输出抖动的模糊反馈调度器中输入信息为偏差(输入值与设定值之差)e和偏差变化率e。=de/dt。两者皆用模糊语言表示为负大(NB),负中(NM),负小(NS),零(Z),正小(PS),正中(PM),正大(PB),即模糊子集为{NB,NM,NS,Z,PS,PM,PB}。设误差e的论域为X,并将误差大小量化为七个等级,分别表示为-0.6,-0.4,-0.2,0,0.2,0.4,0.6,则有X={-0.6,-0.4,-0.2,0,0.2,0.4,0.6}。偏差变化率e。的论域为Y,并将其量化为七个等级,分别表示为-0.3,-0.2,-0.1,0,0.1,0.2,0.3,则有Y={-0.3,-0.2,-0.1,0,0.1,0.2,0.3}。输出信息为任务周期调节系数、用模糊语言表示利用率高(PB),中(PM),低(PS),即输出变量的语言值的模糊子集为{PB,PM,PS}。输出信息\的论域为Z,并将其量化为三个等级,分别表示为2,1,0.5,则有Z={2,1,0.5}。步骤5,根据每个周期性实时任务的期望输出抖动上限,计算模糊反馈调度算法的输出抖动反馈量;插补任务pi"、每进行一次插补运算,伺服任务prt2进行二次伺服位置控制,即每次插补运算的结果,伺服系统分两次将其送至命令寄存器中,进而控制各坐标轴的位移,每个插补周期内必须完成两次伺服控制;表2关键任务周期及周期调节系数prt\"msprt2t/rasX周期及调节系数842421210.5设定关键实时任务的输出抖动不超过周期的20%,因此在不同周期下的期望参考为可由式(5)计算_3]Psr「jJ+(Jsr2-jJ=Jsf^A⑶对于\分别为2,1,0.5时,输出抖动反馈量的参考Jsf依次为0.894,0.447,0.224。对于实时的调度反馈量,可由式(6)求出8<formula>formulaseeoriginaldocumentpage9</formula>式⑶k=\步骤6,推导出模糊反馈调度表;本实施例中具体的推导过程采用如下步骤(a)根据输入量乜和Jsf及输出量\,确定隶属度赋值表;(b)考虑系统中任务的实时性、并发性、混杂性及相关性等特征(即任务情况),确定模糊调度规则;(c)应用模糊集合的运算规则,求出模糊关系;(d)模糊反馈调度采用最大隶属度法判决,求出模糊反馈调度算法表。隶属度赋值表根据输入量Jm和Jsf及输出量\,确定。根据系统中任务的实时性、并发性、混杂性及相关性等,在考虑非周期性实时任务和非实时任务的情况下,满足所有实时任务都在规定的时限内完成,得出表3所示的模糊调度规则。表3模糊调度规则<table>tableseeoriginaldocumentpage9</column></row><table>表。对于表3中的模糊调度规则,应用模糊集合的运算规则,可以求出模糊关系为R=UR2U...UR49式(7)式(7)中,R”^,...,R49是模型关系矩阵,分别可以由式(8)求出。R,=DlxiPB)^^=(PB)ex(PB)ec…试(8)<formula>formulaseeoriginaldocumentpage9</formula>模糊反馈调度输出量、由模糊推理合成规则算出,即某一时刻的控制决策为A=(eXec)R式(9)采用最大隶属度法判决,经过计算可得如表4所示基于输出抖动模糊反馈调度表4基于输出抖动的模糊反馈调度算法表<table>tableseeoriginaldocumentpage10</column></row><table>步骤7,实时任务周期与输出抖动关系;由于λ仅是论域中的一个等级值,将λ与实时任务的周期对应,便可动态的调整实时任务的运行周期,保证实时任务的输出抖动在期望范围内,λ与任务周期的对应关系如表2所示。将算法模块存于软数控系统的内存中,采用查表方式实现动态调度。权利要求一种软数控系统的实时任务调度方法,所述软数控系统是采用多任务实时操作系统,将运动控制部分与管理部分集成到一个硬件平台上,关键任务在实时操作系统中实现,所述关键任务主要包括软数控系统的伺服任务和插补任务;其特征在于该方法包括以下步骤(a)根据软数控系统中的任务情况,为非实时任务和实时突发性任务预留CPU资源;(b)周期性实时任务抖动范围的确定,计算输出抖动反馈量,所述周期性实时任务主要包括伺服任务和插补任务;(c)根据周期性实时任务的抖动情况,结合调度算法框架,确定模糊反馈调度的输入量、输出量及隶属度赋值表;(d)计算出模糊反馈调度表,进一步求出实时任务周期与抖动的关系表,并存于软数控系统的内存中,采用直接查模糊反馈调度表动态调整关键性周期性实时任务的周期。2.如权利要求1所述的方法,其特征在于步骤(a)所述任务情况包括任务的实时性和混杂性。3.如权利要求1所述的方法,其特征在于,在所述步骤(a)中,为非周期性任务预留CPU资源,其中CPU资源的利用率为<formula>formulaseeoriginaldocumentpage2</formula>在所述步骤(b)中,所述输出抖动反馈量的计算方法为<formula>formulaseeoriginaldocumentpage2</formula>其中,U表示CPU的利用率,U。thCTS表示非周期性任务占用的CPU资源,Prti.e表示周期性实时任务的执行时间,Prti.T表示周期性实时任务的周期,N表示系统中的周期性实时任务个数;Jsa表示任务k的实际输出抖动,Jsk表示任务k的期望抖动上限,周期性实时任务的抖动反馈量Jsf,Jsr表示所有实时任务的抖动上限参考值。4.如权利要求1所述的方法,其特征在于,在所述步骤(c)中,调度算法包括二个反馈环,内环是控制环,外环是模糊反馈调度环,模糊反馈调度的输入量是所述抖动上限参考值Jsr和所有周期性实时任务的抖动反馈量Jsf,模糊反馈调度的输出量是任务周期调节系数λ;在所述步骤(d)中,由模糊反馈调度输入量Jsf通过模糊推理导出模糊反馈调度算法表,根据任务周期调节系数λ,由线性关系求出输出抖动对应的实时任务周期。5.如权利要求4所述的方法,其特征在于所述实时任务周期与输出抖动关系的推导包括以下步骤1)为软数控系统的非实时任务和实时突发性任务预留CPU资源,计算输出抖动反馈量;2)根据模糊反馈调度的输入量Jsf及输出量λ,采用二维模糊控制器设计方法确定隶属度赋值表和模糊调度规则;3)选择最大隶属度法判决,推导出模糊反馈调度表;4)将所述的周期调节系数λ求出,动态的确定实时任务周期。6.如权利要求1所述的方法,其特征在于,在所述步骤(a)中,预留的CPU资源参考软数控系统中任务的特性,根据任务在系统中的重要性,确定调度优先次序。7.如权利要求16任一项所述的一种软数控系统的实时任务调度方法,其特征在于所述调度算法确定后存于软数控系统内存中,采用查表的方式进行调度。全文摘要本发明公开一种软数控系统的实时任务调度方法,包括以下步骤(a)根据软数控系统中的任务情况,为非实时任务和实时突发性任务预留CPU资源;(b)周期性实时任务抖动范围的确定,计算输出抖动反馈量,所述周期性实时任务主要包括伺服任务和插补任务;(c)根据周期性实时任务的抖动情况,结合调度算法框架,确定模糊反馈调度的输入量、输出量及隶属度赋值表;(d)计算出模糊反馈调度表,进一步求出实时任务周期与抖动的关系表,并存于软数控系统的内存中,采用直接查模糊反馈调度表动态调整关键性周期性实时任务的周期。本发明能减少因关键任务的输出抖动过大引起的软数控系统性能下降,提高软数控系统的加工精度。文档编号G05B19/18GK101807065SQ20101013641公开日2010年8月18日申请日期2010年3月26日优先权日2010年3月26日发明者万加富,李迪,王巧巧,蔡增禄申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1