CN106227526B - 一种基于多层有限状态机的调平起竖控制过程设计方法 - Google Patents
一种基于多层有限状态机的调平起竖控制过程设计方法 Download PDFInfo
- Publication number
- CN106227526B CN106227526B CN201610574127.3A CN201610574127A CN106227526B CN 106227526 B CN106227526 B CN 106227526B CN 201610574127 A CN201610574127 A CN 201610574127A CN 106227526 B CN106227526 B CN 106227526B
- Authority
- CN
- China
- Prior art keywords
- state
- control
- task
- layer
- establishing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control By Computers (AREA)
- Hardware Redundancy (AREA)
Abstract
一种基于多层有限状态机的调平起竖控制过程设计方法,解决运行于无操作系统的嵌入式控制器的调平起竖控制过程的数据处理实时性和可靠性无法保证的技术问题。包括:将调平起竖中的控制过程进行划分,形成由相应控制过程组合形成的控制任务;将控制任务中各控制过程的工作状态根据控制步骤或控制等级进行划分;将相应控制步骤或控制等级的工作状态与相应的任务控制片段关联;将相应控制步骤或控制等级的工作状态形成同层状态集合;将各层状态集合形成多层有限状态集合;在调平起竖过程中,通过控制过程的相应状态,启动相应的任务控制片段。
Description
技术领域
本发明涉及一种软件设计方法,特别是高实时性和并行控制高要求的嵌入式软件设计方法。
背景技术
陆基车载机动发射平台通过调平起竖系统为导弹提供初始的射角和射向,作为调平起竖流程控制核心之一的调平起竖控制过程一般运行于无操作系统的嵌入式控制以提高实时性和可靠性。
但是运行于无操作系统的嵌入式控制器的调平起竖控制过程,缺少完善的过程控制手段,对于每个控制任务中各组成过程的状态无法有效利用,无法统一协调整个控制流程,无法保证更高的实时性和可靠性。
发明内容
本发明的目的是提供一种基于多层有限状态机的调平起竖控制过程设计方法,解决运行于无操作系统的嵌入式控制器的调平起竖控制过程的数据处理实时性和可靠性无法保证的技术问题。
本发明的基于多层有限状态机的调平起竖控制过程设计方法,包括:
将调平起竖中的控制过程进行划分,形成由相应控制过程组合形成的控制任务;
将控制任务中各控制过程的工作状态根据控制步骤或控制等级进行划分;
将相应控制步骤或控制等级的工作状态与相应的任务控制片段关联;
将相应控制步骤或控制等级的工作状态形成同层状态集合;
将各层状态集合形成多层有限状态集合;
在调平起竖过程中,通过控制过程的相应状态,启动相应的任务控制片段。
所述有限状态层集合包括主流程状态层,包括循环执行的以下顺序控制步骤:
建立CAN总线数据收发过程,针对CAN数据处理过程,建立中断方式或周期查询方式的数据收发过程;
建立周期计时过程,建立周期性的计时基准;
建立周期处理过程,根据计时基准建立任务处理周期;
建立CAN总线数据处理过程,对接受的CAN总线数据建立与任务处理过程的适配或将任务处理过程的数据与CAN总线适配;
建立任务处理过程,利用层有限状态集合,建立任务处理周期内的连续状态控制。
所述在建立CAN总线数据收发过程之前,还包括:
任务系统资源初始化过程,定时计算器启动过程,定时计算器重置过程;
当建立任务处理过程完成时主流程跳转定时计算器重置过程。
所述CAN总线数据收发过程包括:
步骤41:判断数据是否为需要接收节点ID,是则执行步骤42,否则结束;
步骤42:接收节点ID的数据处理是否需要实时性,是则执行中断方式,执行步骤43,否则执行步骤44;
步骤43:将实时数据存入相应缓冲区设置对应接收标识;
步骤44:否则执行周期接收方式,将周期数据存入相应缓冲区,待任务调取。
所述周期计时处理过程包括:
步骤51:建立10ms计时中断,系统10ms计时触发标识置1;
步骤61:判断系统10ms计时触发标识是否置1是则执行步骤62;
步骤62:系统计时变量递增1;
步骤63:对系统计时变量检查;
步骤64:判断系统计时变量是否为10,是则执行步骤65
步骤65:系统计时变量重置至1。
所述有限状态层集合包括:
工作任务状态层,包括主流程调用的每个工作任务的运行环境状态;包括流程控制状态、故障诊断状态、配置查询状态和系统自检状态。
任务流程状态层,包括每个工作任务处理过程的运行状态;包括各任务的进行处理状态、任务流程急停控制状态和任务流程急停等待处理状态。
所述有限状态层集合包括:
流程类型状态层,包括每个工作任务的主要流程的控制状态;包括伸支腿流程控制状态、调平流程控制状态和起竖流程控制状态。
所述有限状态层集合包括:流程转换状态层,包括每个工作任务形成主要流程的关键流程间的转换状态,包括伸支腿流程中的支腿解锁流程控制状态、支腿伸出流程控制状态。
所述有限状态层集合包括:
流程反馈状态层,包括每个工作任务的关键流程的执行机构和反馈机构状态;包括电磁阀的控制状态,传感器的采集状态。
所述有限状态层集合包括:
流程码流结构状态层,包括每个工作任务的关键流程的代码分支结构状态和代码执行结构状态。
本发明的有限状态层集合将每个工作任务划分为不同逻辑等级的任务片段,包括处理过程、主要流程、关键流程、执行机构和反馈机构的相应任务片段,以及更细化的相应代码码流状态,使得任务片段可以实现适应处理周期和CAN总线负载率的任务组合,满足任务处理时满足对延时的性能要求。提高了调平起竖控制软件的实时控制和可靠性,尤其适合复杂的双CAN总线的高负载率。
附图说明
图1为本发明的基于多层有限状态机的调平起竖控制过程设计方法中主流程控制步骤的流程图。
图2为本发明的基于多层有限状态机的调平起竖控制过程设计方法中CAN总线数据收发过程中数据接收步骤的流程图。
图3为本发明的基于多层有限状态机的调平起竖控制过程设计方法中任务处理周期步骤的流程图。
图4为本发明的基于多层有限状态机的调平起竖控制过程设计方法中有限状态层的组合结构示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行详细说明。
其中步骤编号用作附图标记,不代表步骤执行顺序。
本实施例的基于多层有限状态机的调平起竖控制过程设计方法包括:
将调平起竖中的控制过程进行划分,形成由相应控制过程组合形成的控制任务;
将控制任务中各控制过程的工作状态根据控制步骤或控制等级进行划分;
将相应控制步骤或控制等级的工作状态与相应的任务控制片段关联;
将相应控制步骤或控制等级的工作状态形成同层状态集合;
将各层状态集合形成多层有限状态集合;
在调平起竖过程中,通过控制过程的相应状态,启动相应的任务控制片段。
本实施例的基于多层有限状态机的调平起竖控制过程设计方法,将一个完整控制任务拆分成与连续状态相应的任务片段(即分离的控制过程),可以将较复杂的任务离散化,使得底层和后台的过程调用和数据读写周期变短,处理过程简化,有利于提高处理资源的利用率,缩短主控制过程循环周期,提高对各个任务的处理速度。
如图1所示,本实施例的基于多层有限状态机的调平起竖控制过程设计方法的有限状态层集合包括主流程状态层,包括循环执行的以下顺序控制步骤:
建立CAN总线数据收发过程04;针对CAN数据处理过程,建立中断方式或周期查询方式的数据收发过程;
建立周期计时过程05;建立周期性的计时基准;
建立周期处理过程06;根据计时基准建立任务处理周期;
建立CAN总线数据处理过程07;对接受的CAN总线数据建立与任务处理过程的适配或将任务处理过程的数据与CAN总线适配;
建立任务处理过程08;利用层有限状态集合,建立任务处理周期内的连续状态控制。
本实施例的主流程状态层通过相应任务控制片段形成主流程,实现主流程完整的控制状态。
在建立CAN总线数据收发过程04前还包括任务系统资源初始化过程01,(看门狗)定时计算器启动过程02,(看门狗)定时计算器重置过程03,当建立任务处理过程08完成时主流程跳转(看门狗)定时计算器重置过程03,实现主流程的任务处理循环09。
如图2所示,CAN总线数据收发过程04包括CAN总线数据接收过程,包括:
步骤41:判断数据是否为需要接收节点ID,是则执行步骤42,否则结束;
步骤42:接收节点ID的数据处理是否需要实时性,是则执行中断方式,执行步骤43,否则执行步骤44;
步骤43:将实时数据存入相应缓冲区设置对应接收标识;
步骤44:否则执行周期接收方式,将周期数据存入相应缓冲区,待任务调取。
本实施例的CAN总线数据接收过程根据数据的实时性和周期性形成针对的处理过程,保证了不同任务数据接收和发送符合延迟要求。
如图3所示,周期计时处理过程05包括:
步骤51:建立10ms计时中断,系统10ms计时触发标识置1。
如图3所示,周期任务处理06包括:
步骤61:判断系统10ms计时触发标识是否置1是则执行步骤62;
步骤62:系统计时变量递增1;
步骤63:对系统计时变量检查;
步骤64:判断系统计时变量是否为10,是则执行步骤65
步骤65:系统计时变量重置至1。
本实施例的周期计时处理过程和周期任务处理过程保证了中断触发的及时性和周期定时的准确性,避免因单纯循环计时造成的周期误差和误差漂移,保证了主流程的循环周期及任务处理周期稳定性,任务处理状态的一致性。
如图4所示,本实施例的基于多层有限状态机的调平起竖控制过程设计方法的有限状态层集合还包括工作任务状态层、任务流程状态层、流程类型状态层、流程转换状态层、流程反馈状态层和流程码流结构状态层,涵盖了流程控制、故障诊断、配置查询和系统自检等工作任务的执行流程片段和相应状态。其中:
工作任务状态层,包括主流程调用的每个工作任务的运行环境状态;例如流程控制状态、故障诊断状态、配置查询状态和系统自检状态;
任务流程状态层,包括每个工作任务处理过程的运行状态;例如各任务的进行处理状态、任务流程急停控制状态和任务流程急停等待处理状态;
流程类型状态层,包括每个工作任务的主要流程的控制状态;例如伸支腿流程控制状态、调平流程控制状态和起竖流程控制状态;
流程转换状态层,包括每个工作任务形成主要流程的关键流程间的转换状态,例如伸支腿流程中的支腿解锁流程控制状态、支腿伸出流程控制状态等;
流程反馈状态层,包括每个工作任务的关键流程的执行机构和反馈机构状态;例如电磁阀的控制状态,传感器的采集状态等;
流程码流结构状态层,包括每个工作任务的关键流程的代码分支结构状态和代码执行结构状态。
本实施例的有限状态层集合将每个工作任务划分为不同逻辑等级的任务片段,包括处理过程、主要流程、关键流程、执行机构和反馈机构的相应任务片段,以及更细化的相应代码码流状态,使得任务片段可以实现适应处理周期和CAN总线负载率的任务组合,满足任务处理时满足对延时的性能要求。本实施例可以实现软件主循环周期不大于5ms,CAN总线数据接收处理延迟不大于5ms,CAN数据发送延迟不大于5ms。提高调平起竖控制软件的实时控制和可靠性,尤其适合复杂的双CAN总线的高负载率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (4)
1.一种基于多层有限状态机的调平起竖控制过程设计方法,包括:
将调平起竖中的控制过程进行划分,形成由相应控制过程组合形成的控制任务;
将控制任务中各控制过程的工作状态根据控制步骤或控制等级进行划分;
将相应控制步骤或控制等级的工作状态与相应的任务控制片段关联;
将相应控制步骤或控制等级的工作状态形成同层状态集合;
将各层状态集合形成多层有限状态集合;
在调平起竖过程中,通过控制过程的相应状态,启动相应的任务控制片段;
所述多层有限状态集合包括主流程状态层,包括循环执行的以下顺序控制步骤:
建立CAN总线数据收发过程,针对CAN数据处理过程,建立中断方式或周期查询方式的数据收发过程;
建立周期计时过程,建立周期性的计时基准;
建立周期处理过程,根据计时基准建立任务处理周期;
建立CAN总线数据处理过程,对接收的CAN总线数据建立与任务处理过程的适配或将任务处理过程的数据与CAN总线适配;
建立任务处理过程,利用所述多层有限状态集合,建立任务处理周期内的连续状态控制;
所述多层有限状态集合包括:
工作任务状态层,包括主流程调用的每个工作任务的运行环境状态;包括流程控制状态、故障诊断状态、配置查询状态和系统自检状态;
任务流程状态层,包括每个工作任务处理过程的运行状态;包括各任务的进行处理状态、任务流程急停控制状态和任务流程急停等待处理状态;
所述多层有限状态集合包括:
流程类型状态层,包括每个工作任务的主要流程的控制状态;包括伸支腿流程控制状态、调平流程控制状态和起竖流程控制状态;
所述多层有限状态集合包括:流程转换状态层,包括每个工作任务形成主要流程的关键流程间的转换状态,包括伸支腿流程中的支腿解锁流程控制状态、支腿伸出流程控制状态;
所述多层有限状态集合包括:
流程反馈状态层,包括每个工作任务的关键流程的执行机构和反馈机构状态;包括电磁阀的控制状态,传感器的采集状态;
所述多层有限状态集合包括:
流程码流结构状态层,包括每个工作任务的关键流程的代码分支结构状态和代码执行结构状态。
2.如权利要求1所述的基于多层有限状态机的调平起竖控制过程设计方法,在建立CAN总线数据收发过程之前,还包括:
任务系统资源初始化过程,定时计算器启动过程,定时计算器重置过程;
当建立任务处理过程完成时主流程跳转定时计算器重置过程。
3.如权利要求1所述的基于多层有限状态机的调平起竖控制过程设计方法,CAN总线数据收发过程包括:
步骤41:判断数据是否为需要接收节点ID,是则执行步骤42,否则结束;
步骤42:接收节点ID的数据处理是否需要实时性,是则执行中断方式,执行步骤43,否则执行步骤44;
步骤43:将实时数据存入相应缓冲区设置对应接收标识;
步骤44:执行周期接收方式,将周期数据存入相应缓冲区,待任务调取。
4.如权利要求1所述的基于多层有限状态机的调平起竖控制过程设计方法,建立周期计时过程包括:
步骤51:建立10ms计时中断,系统10ms计时触发标识置1;
步骤61:判断系统10ms计时触发标识是否置1是则执行步骤62;
步骤62:系统计时变量递增1;
步骤63:对系统计时变量检查;
步骤64:判断系统计时变量是否为10,是则执行步骤65;
步骤65:系统计时变量重置至1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610574127.3A CN106227526B (zh) | 2016-07-20 | 2016-07-20 | 一种基于多层有限状态机的调平起竖控制过程设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610574127.3A CN106227526B (zh) | 2016-07-20 | 2016-07-20 | 一种基于多层有限状态机的调平起竖控制过程设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106227526A CN106227526A (zh) | 2016-12-14 |
CN106227526B true CN106227526B (zh) | 2020-03-03 |
Family
ID=57531788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610574127.3A Active CN106227526B (zh) | 2016-07-20 | 2016-07-20 | 一种基于多层有限状态机的调平起竖控制过程设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106227526B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426239B (zh) * | 2017-08-31 | 2020-05-08 | 株洲中车时代电气股份有限公司 | 一种机车顺序控制系统及方法 |
CN110661688B (zh) * | 2019-08-23 | 2021-12-31 | 中国兵器装备集团上海电控研究所 | Can指令实时控制的多功能场景切换方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100492235C (zh) * | 2006-01-13 | 2009-05-27 | 清华大学 | 基于有限状态机的燃料电池分布式控制系统的控制方法 |
CN101464692B (zh) * | 2009-01-16 | 2010-12-01 | 北京航空航天大学 | 基于有限状态机的自动编队飞行控制方法 |
US8566509B2 (en) * | 2009-08-25 | 2013-10-22 | International Business Machines Corporation | Efficiently implementing a plurality of finite state machines |
CN103049838B (zh) * | 2012-12-26 | 2017-05-31 | 华中科技大学 | 基于有限状态机的包裹运输状态监控方法 |
-
2016
- 2016-07-20 CN CN201610574127.3A patent/CN106227526B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106227526A (zh) | 2016-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106227526B (zh) | 一种基于多层有限状态机的调平起竖控制过程设计方法 | |
CN100452070C (zh) | 一种软件保护的方法 | |
US9424103B2 (en) | Adaptive lock for a computing system having multiple runtime environments and multiple processing units | |
CN103744724A (zh) | 定时任务集群方法及其装置 | |
CN103324173A (zh) | 基于中间件的多异构机器人协作方法 | |
CN108092864B (zh) | Leu设备处理板及其通信处理装置和方法 | |
CN111324425B (zh) | 一种数据访问方法、装置、设备及存储介质 | |
CN104424037B (zh) | 一种动态补丁函数的方法及装置 | |
CN104978253A (zh) | 一种目标文件校验的方法和装置 | |
US11169495B2 (en) | Methods for provisioning an industrial internet-of-things control framework of dynamic multi-cloud events and devices thereof | |
CN103761184A (zh) | 程序的代码段测试方法、装置和系统 | |
RU2015151181A (ru) | Режим слежения в устройстве обработки в системах трассировки команд | |
CN102096605A (zh) | 一种嵌入式实时操作系统中多级资源管理的实现方法 | |
CN104486373A (zh) | 一种锁资源迁移方法、节点及分布式系统 | |
CN102831058A (zh) | 一种测试方法和装置 | |
CN103496632A (zh) | 一种基于云计算的起重机三维仿真路径规划方法 | |
US11698777B2 (en) | Method and apparatus for automatically generating an application code and framework | |
US9729305B2 (en) | Airplane system and control method thereof | |
FI3457637T3 (fi) | Konfliktin resoluutiomenetelmä kauko-ohjattua laitetta varten sekä konfliktin resoluutiojärjestelmä | |
CN111352706B (zh) | 一种数据访问方法、装置、设备及存储介质 | |
CN106547606B (zh) | 堆栈自检方法及装置 | |
CN112199662A (zh) | 一种基于自适配插件的权限校验系统 | |
CN110763252B (zh) | 一种基于嵌入式处理器的捷联惯导逆序滤波设计方法 | |
CN105786453B (zh) | 一种大规模plc安全参数序列保护模块和方法 | |
KR102115036B1 (ko) | 제어기 소프트웨어의 갱신 때의 통신 안정화 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |