一种基于层级结构的多重控制程序设计方法

文档序号:6307230阅读:215来源:国知局
一种基于层级结构的多重控制程序设计方法
【专利摘要】本发明实现了一种基于层级结构的多重控制程序设计方法,在控制程序设计中实现能够同时接受不同层级的多个输出控制命令,并对发出控制的对象进行优先级权值分析,以及可行性分析,最终得出最佳控制输出;该发明可用在各种智能控制程序设计中;主要目的是扩展智能控制的算法复杂度,让智能控制程序的功能不仅可以完成基本的控制要求,还可以接受高级的复杂的控制要求。更好的实现控制设备的智能化。
【专利说明】一种基于层级结构的多重控制程序设计方法
[0001]发明领域
[0002]本发明设计一种具有层级几个的多重控制程序设计方法,属于智能控制机器人程序开发领域。

【背景技术】
[0003]在智能控制和机器人程序设计中,会遇到运动控制的复杂性与所处的现实环境有关,而环境状况的不断变化增加了程序设计的复杂度。那么对于根据环境状况变化作出不同的反应的程序设计就会变得非常复杂。如果能够对控制程序进行分级设计,在简单的环境下由层级较低的程序作出控制,对复杂的环境由高级的控制程序控制。同时还对控制程序的实时性进行合理安排,层级较低的程序控制简单,实时性较高,高层级的程序进行复杂的分析,实时性要求较低。这样既兼顾控制程序的实时性,又能做复杂的控制。这样智能控制程序的编写就清晰又繁简自如。


【发明内容】

[0004]针对上述问题,本发明旨在提供一种软件设计方法,以实现复杂控制的层级化,同时又能够对多个发出控制请求的程序进行控制仲裁。这种控制程序设计方法可以在不同的控制器之间或不同的任务之间实现多重控制。
[0005]为实现该技术目的,本发明的方案是:
[0006]分层设计控制程序,对不同层级的控制进行仲裁,以获得最佳的控制算法。
[0007]设计步骤:
[0008]步骤1:编写控制器1端口及寄存器初始化程序,见初始化模块流程图2 ;
[0009]步骤2:编写基本控制程序模块,实现1端口的控制,参见基本控制模块流程图
3;
[0010]步骤3:定义控制数据结构,定义高级控制程序的优先级,参见控制数据结构图
4;
[0011]步骤4:编写本地高级控制程序,实现对状态的分析和控制请求,参见高级控制模块流程图5 ;
[0012]步骤5:编写远程高级控制程序,实现对状态的复杂分析及控制请求,参见高级控制模块流程图5 ;
[0013]步骤6:编写控制仲裁程序,对各个控制请求进行综合分析,安照一定的仲裁算法,确定接受哪个控制请求的数据。参见控制仲裁模块流程图6 ;
[0014]基于层级的多重控制程序设计方法,其特征在于把控制程序进行分层划分,初始化程序与基本控制程序分离,通过定义一个控制数据结构以达到多重控制。对不同层级的控制程序可以分别设计,再为不同的控制程序编写一个控制仲裁程序,对各个层级的控制请求进行仲裁,最后达到一个最佳的控制输出。
[0015]发明有益效果
[0016]该具有层级结构的多重控制程序设计方法,可以扩展智能控制的算法复杂度,让智能控制程序的功能不仅可以完成基本的控制要求,还可以接受高级的复杂的控制要求,更好的实现控制设备的智能化。

【专利附图】

【附图说明】
[0017]图1为本发明的整体框架结构示意图;
[0018]图2为本发明的初始化模块流程图;
[0019]图3为本发明的基本控制模块流程图;
[0020]图4为本发明的控制数据结构表⑶SL ;
[0021]其中:控制数据结构表说明:
[0022]①Dly =PWM延迟时间值;
[0023]②S:传感器值;
[0024]③T:PWM周期数;
[0025]④D:PWM占空比;
[0026]⑤A:PWM幅度值;
[0027]⑥B:当前值是否执行;
[0028]⑦R:将来值是否被修改;
[0029]CDS_Time:时间戳;
[0030]图5为本发明的高级控制模块流程图;
[0031]图6为本发明的控制仲裁模块流程图;

【具体实施方式】
[0032]一种具有层级几个的多重控制程序设计方法,其包括以下步骤:
[0033]步骤1:编写控制器1端口及寄存器初始化程序,见初始化模块流程图2 ;
[0034]步骤2:编写基本控制程序模块,实现1端口的控制,参见基本控制模块流程图3 ;
[0035]步骤3:定义控制数据结构,定义高级控制程序的优先级,参见控制数据结构图4 ;
[0036]步骤4:编写本地高级控制程序,实现对状态的分析和控制请求,参见高级控制模块流程图5 ;
[0037]步骤5:编写远程高级控制程序,实现对状态的复杂分析及控制请求,参见高级控制模块流程图5 ;
[0038]步骤6:编写控制仲裁程序,对各个控制请求进行综合分析,安照一定的仲裁算法,确定接受哪个控制请求的数据。参见控制仲裁模块流程图6 ;
[0039]基于层级的多重控制程序设计方法,其特征在于把控制程序进行分层划分,初始化程序与基本控制程序分离,通过定义一个控制数据结构以达到多重控制。对不同层级的控制程序可以分别设计,再为不同的控制程序编写一个控制仲裁程序,对各个层级的控制请求进行仲裁,最后达到一个最佳的控制输出。
[0040]对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将发明例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
【权利要求】
1.一种具有层级结构的多重控制程序设计方法,可用于各种不同的智能控制设备中;通过对控制程序进行分层设计,以扩展智能控制软件的功能和复杂度。再通过控制仲裁算法求得最佳控制。
2.根据说明书I所述的一种具有层级结构的多重控制程序设计,其特征在于:①对控制设备初始化初始化控制数据结构基本控制模块完成控制输出本地高级控制模块1...η ;⑤远程高级控制模块1...η ;⑥控制仲裁模块。
3.根据权利要求书I所述的一种具有层级结构的多重控制程序设计,其特征在于:①初始化完成后,基本控制模块读取控制表,判断是否输出,如有输出则判断是否调整输出数据,如需调整则修改输出参数;②各级控制模块则对按照预定的各种输入输出数据进行分析处理,如需调整则发送数据到控制数据结构,并引发一次数据仲裁请求;③数据仲裁模块根据设定的优先级权值进行优先权分析,最后确定接受哪个控制请求;④各层级高级控制模块可分别设计简单的控制和复杂的控制。
【文档编号】G05B19/042GK104199355SQ201410419721
【公开日】2014年12月10日 申请日期:2014年8月15日 优先权日:2014年8月15日
【发明者】刘士超 申请人:刘士超
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1