CN115392063B - 一种多速率仿真方法及系统 - Google Patents

一种多速率仿真方法及系统 Download PDF

Info

Publication number
CN115392063B
CN115392063B CN202211341957.3A CN202211341957A CN115392063B CN 115392063 B CN115392063 B CN 115392063B CN 202211341957 A CN202211341957 A CN 202211341957A CN 115392063 B CN115392063 B CN 115392063B
Authority
CN
China
Prior art keywords
model
subtask
basic
data
task
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
Application number
CN202211341957.3A
Other languages
English (en)
Other versions
CN115392063A (zh
Inventor
雷杰
王发明
郭蕊
梁嘉庆
田建升
何宇
蒋永坤
王宬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Lingkong Electronic Technology Co Ltd
Original Assignee
Xian Lingkong Electronic Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Lingkong Electronic Technology Co Ltd filed Critical Xian Lingkong Electronic Technology Co Ltd
Priority to CN202211341957.3A priority Critical patent/CN115392063B/zh
Publication of CN115392063A publication Critical patent/CN115392063A/zh
Application granted granted Critical
Publication of CN115392063B publication Critical patent/CN115392063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及仿真技术领域,具体涉及一种多速率仿真方法及系统,通过将需要仿真的模型按照步长拆分为基础任务与子任务,并将子任务的执行位置进行分配,从而降低仿真所需的硬件需求,降低运算压力,提高工作效率,同时将基础任务与子任务分开执行,使得基础任务与子任务能够在不同的执行位置同步执行,基础任务循环执行的时间缩短,从而降低了执行时间,降低了仿真结果的延时,提高了仿真效率。

Description

一种多速率仿真方法及系统
技术领域
本发明涉及仿真技术领域,具体涉及一种多速率仿真方法及系统。
背景技术
近年来,随着计算机仿真技术的发展,国内外多个研究机构都开展具有实时仿真能力的半物理仿真系统。对半物理仿真系统而言,仿真计算机必须使用实时操作系统才能满足仿真系统的实时性和可靠性要求,目前主流的实时操作系统主要有VxWorks、WindowsCE和RT-Linux等。VxWorks操作系统广泛用于飞机、飞船以及导弹等实时性和可靠性要求极高的领域。
基于VxWorks操作系统所搭建的仿真系统,是基于单速率、单任务方式解算模型,即同一模型使用一个仿真步长,由一个解算任务解算模型,对于半实物仿真系统,由于仿真模型复杂度高,解算压力大,单速率单任务方式的解算速度低,增加仿真系统的延时,降低仿真系统的实时性。
发明内容
本发明的目的是提供一种多速率仿真方法及系统,解决基于VxWorks操作系统搭建的仿真系统仿真速度低的问题。
本发明解决上述技术问题的方案:
一种多速率仿真方法,其特征在于,包括以下步骤:
接收模型编译文件,将模型参数编译在模型编译文件中得到可执行文件;
解析可执行文件得到基础任务与子任务,分配子任务的执行位置;
执行基础任务时得到标志值,基础任务执行完成得到模型基础数据,根据标志值的真假判断子任务是否执行,若是则执行子任务得到模型子数据,若否则保持子任务静默;
采集模型基础数据和模型子数据得到仿真数据。
进一步限定,所述接收模型编译文件,将模型参数编译在模型编译文件中得到可执行文件具体包括以下步骤:
配置模型参数,所述模型参数包括基础任务的步长、基础任务中的标志数据、子任务的数量和每个子任务的步长,所述子任务的步长是基础任务步长的N倍,N为正整数;
接收模型编译文件,将模型参数编译在模型编译文件中得到可执行文件。
进一步限定,所述解析可执行文件得到基础任务与子任务,分配子任务的执行位置具体包括以下步骤:
接收并解析可执行文件得到编译模型和编译参数;
根据编译模型创建基础任务和子任务,根据编译参数设定基础任务的步长、子任务的数量和每一个子任务的步长;
根据子任务的类型将子任务分配至对应的运算位置。
进一步限定,所述执行基础任务时得到标志值,基础任务执行完成得到模型基础数据,根据标志值的真假判断子任务是否执行,若是则执行子任务得到模型子数据,若否则保持子任务静默具体包括以下步骤:
循环执行基础任务,基础任务执行时按照基础任务的步长执行并得到执行数据,执行数据包括模型基础数据和标志值,所述标志值由执行基础任务中的标志数据得到,标志数据赋值为真时标志值为真,标志数据赋值为假时标志值为假;
接收并判断标志值是否为真,若标志值为真则发送与标志值对应的任务信号;若标志值为假则保持对应子任务静默;
在接收到任务信号时启动对应执行位置中的子任务并执行该子任务得到模型子数据;
在第kN次执行基础任务时对基础任务中的标志数据赋值为真,否则对基础任务中的标志数据赋值为假,其中k为正整数。
进一步限定,所述执行基础任务时得到标志值,基础任务执行完成得到模型基础数据,根据标志值的真假判断子任务是否执行,若是则执行子任务得到模型子数据,若否则保持子任务静默还包括以下步骤:
在基础任务执行完成得到模型基础数据后判断是否仿真需要停止,若是则停止基础任务执行,若否则继续循环执行基础任务。
一种多速率仿真系统,其特征在于,包括:
模型编译单元,用于接收模型编译文件,用于将模型参数编译在模型编译文件中得到可执行文件;
模型解析单元,用于解析可执行文件得到基础任务与子任务,用于分配子任务的执行位置;
模型运算单元,用于在执行基础任务过程中得到标志值,用于在执行完成基础任务后得到模型基础数据,用于判断标志值的真假,用于根据标志值的真假选择是否执行对应的子任务,用于执行子任务得到模型子数据;
数据采集单元,用于采集模型基础数据和模型子数据得到仿真数据。
进一步限定,所述模型编译单元包括:
任务配置模块,用于配置模型参数,所述模型参数包括基础任务的步长、基础任务中的标志数据、子任务的数量和每个子任务的步长,所述子任务的步长是基础任务步长的N倍,N为正整数;
可执行文件生成模块,用于接收模型编译文件,用于将模型参数编译在模型编译文件中得到可执行文件。
进一步限定,所述模型解析单元包括:
解析模块,用于接收并解析可执行文件得到编译模型和编译参数;
任务创建模块,用于根据编译模型创建基础任务和子任务,用于根据编译参数设定基础任务的步长、子任务的数量和每一个子任务的步长;
子任务分配模块,用于根据子任务的类型将子任务分配至对应的运算位置。
进一步限定,所述模型运算单元包括:
基础任务执行模块,用于按照基础任务的步长执行基础任务并得到执行数据,执行数据包括模型基础数据和标志值,所述标志值由执行基础任务中的标志数据得到,标志数据赋值为真时标志值为真,标志数据赋值为假时标志值为假;用于循环执行基础任务;
标志判断模块,用于接收并判断标志值是否为真,若标志值为真则发送与标志值对应的任务信号;若标志值为假则保持对应子任务静默;
子任务执行模块,用于在接收到任务信号时启动对应执行位置中的子任务并执行该子任务得到模型子数据;
标志数据赋值模块,用于在基础任务第kN次执行时对基础任务中的标志数据赋值为真,否则对基础任务中的标志数据赋值为假,其中k为正整数。
进一步限定,所述模型运算单元还包括:
检测模块,用于在基础任务执行完成得到模型基础数据后判断是否仿真需要停止,若是则停止基础任务执行,若否则继续循环执行基础任务。
本发明的有益效果在于:
本发明通过将需要仿真的模型按照步长拆分为基础任务与子任务,并将子任务的执行位置进行分配,从而降低仿真所需的硬件需求,同时降低运算压力,提高工作效率,同时将基础任务与子任务分开执行,使得基础任务与子任务能够在不同的执行位置同步执行,基础任务循环执行的时间缩短,从而降低了执行时间,降低了仿真结果的延时,提高仿真效率。
在子任务执行的时候基础任务还能够同步执行,所以在执行相同数据时花费时间减少并且在相同时间内执行的数据更多,通过与子任务一一对应的标志值判断是否启动子任务开始执行确保执行的准确性。
附图说明
图1为本发明实施例1中多速率仿真方法步骤图;
图2为本发明实施例2的多速率仿真系统示意图;
图3为本发明实施例3的多速率仿真系统示意图;
图4为本发明实施例4的多速率仿真系统示意图;
图5为本发明实施例4中执行子任务原理示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,本实施例提供一种多速率仿真方法,包括以下步骤:
接收模型编译文件,将模型参数编译在模型编译文件中得到可执行文件;
解析可执行文件得到基础任务与子任务,分配子任务的执行位置;
执行基础任务时得到标志值,基础任务执行完成得到模型基础数据,根据标志值的真假判断子任务是否执行,若是则执行子任务得到模型子数据,若否则保持子任务静默;
采集模型基础数据和模型子数据得到仿真数据。
接收模型编译文件,将模型参数编译在模型编译文件中得到可执行文件具体包括以下步骤:
配置模型参数,所述模型参数包括基础任务的步长、基础任务中的标志数据、子任务的数量和每个子任务的步长,所述子任务的步长是基础任务步长的N倍,N为正整数;
接收模型编译文件,将模型参数编译在模型编译文件中得到可执行文件。
解析可执行文件得到基础任务与子任务,分配子任务的执行位置具体包括以下步骤:
接收并解析可执行文件得到编译模型和编译参数;
根据编译模型创建基础任务和子任务,根据编译参数设定基础任务的步长、子任务的数量和每一个子任务的步长;
根据子任务的类型将子任务分配至对应的运算位置。
执行基础任务时得到标志值,基础任务执行完成得到模型基础数据,根据标志值的真假判断子任务是否执行,若是则执行子任务得到模型子数据,若否则保持子任务静默具体包括以下步骤:
循环执行基础任务,基础任务执行时按照基础任务的步长执行并得到执行数据,执行数据包括模型基础数据和标志值,所述标志值由执行基础任务中的标志数据得到,标志数据赋值为真时标志值为真,标志数据赋值为假时标志值为假;
接收并判断标志值是否为真,若标志值为真则发送与标志值对应的任务信号;若标志值为假则保持对应子任务静默;
在接收到任务信号时启动对应执行位置中的子任务并执行该子任务得到模型子数据;
在第kN次执行基础任务时对基础任务中的标志数据赋值为真,否则对基础任务中的标志数据赋值为假,其中k为正整数。
执行基础任务时得到标志值,基础任务执行完成得到模型基础数据,根据标志值的真假判断子任务是否执行,若是则执行子任务得到模型子数据,若否则保持子任务静默还包括以下步骤:
在基础任务执行完成得到模型基础数据后判断是否仿真需要停止,若是则停止基础任务执行,若否则继续循环执行基础任务。
实施例2
目前在通过VxWorks进行模型仿真时通过利用CPU的一个核心来对仿真模型中的任务反复执行,导致CPU中的其他核心不能被调用,造成资源的浪费,也导致仿真速度低,延迟高;同时不同的任务步长不一致,导致在任务建立时通常需要按照最大步长的时间建立所有任务的步长时间,例如当存在10ms步长的任务时,其余任务即便在5ms步长的时间下就可以完成,此时建立10ms步长后导致该任务在执行时5ms时间处于等待状态,5ms时间处于执行状态,多个任务中还存在需要按照顺序依次执行的多个任务,这样就导致在模型仿真一次的时间存在过多等待时间造成仿真速度减缓,降低工作效率,并且该模型需要持续循环执行多次,从而在实际使用时造成模型仿真延迟高影响试验结果的准确性。
参考图2,本实施例提供一种多速率仿真系统,包括:
模型编译单元,用于接收模型编译文件,用于将模型参数编译在模型编译文件中得到可执行文件;
模型解析单元,用于解析可执行文件得到基础任务与子任务,用于分配子任务的执行位置;
模型运算单元,用于在执行基础任务过程中得到标志值,用于在执行完成基础任务后得到模型基础数据,用于判断标志值的真假,用于根据标志值的真假选择是否执行对应的子任务,用于执行子任务得到模型子数据;
数据采集单元,用于采集模型基础数据和模型子数据得到仿真数据。
其中,模型编译单元包括:
任务配置模块,用于配置模型参数,所述模型参数包括基础任务的步长、基础任务中的标志数据、子任务的数量和每个子任务的步长,所述子任务的步长是基础任务步长的N倍,N为正整数;
具体的,使用Simulink配置模型参数,其中模型参数包括了基础任务的步长、子任务的步长、基础任务中的标志数据和子任务的数量,基础任务的步长为通常为最小步长,子任务的步长为基础任务步长的N倍,由于当N=1时将该模型的任务归在基础任务中,从而通常子任务的步长为基础任务的2倍或者3倍;子任务的数量同样也可以提前进行配置,通常对于飞机实验中需要的子任务数量根据需要仿真的模型类型确定,例如对于动力学功能来说属于飞机仿真中最重要也是延时需求最短的功能,对应的动力学功能的仿真步长为5ms,而对于高度表的功能仿真步长为10ms则可以设置为子任务,对于遥测信息功能则对其响应需求较低则可以设置步长为15ms,此时该功能就可以作为子任务,即子任务的划分可以根据功能的响应需求或者功能的步长时间来划分,所以在确定需要仿真的模型后即可配置相关子任务的数量。
基础任务中的标志数据不作为仿真结果上传,而是作为是否需要执行子任务的判断数据,该数据根据子任务的类型不同其数据内容不同,标志数据配置在基础任务中的位置不同,即在执行基础任务时不同位置的标志数据依次被执行得到对应的标志值,从而能够根据标志值判断是否执行对应的子任务。
可执行文件生成模块,用于接收模型编译文件,用于将模型参数编译在模型编译文件中得到可执行文件;
具体的,同样的,在Simulink中将模型参数结合在模型编译文件(rt.main.c)中对模型编译文件进行编译,最终得到可执行文件(可执行模型.out),通过仿真该可执行文件得到最终需要的数据。
实施例3
参考图3,本实施例提供的一种多速率仿真系统中模型解析单元包括:
解析模块,用于接收并解析可执行文件得到编译模型和编译参数;
具体的,在得到.out格式的可执行文件后,将该可执行文件导入VxWorks中先对该可执行文件进行解析,需要将可执行文件中的模型参数和模型编译文件进行解析得到对应的编译参数和编译模型,此后在进行仿真时即对该编译模型结合编译参数进行仿真。
任务创建模块,用于根据编译模型创建基础任务和子任务,用于根据编译参数设定基础任务的步长、子任务的数量和每一个子任务的步长;
具体的,在得到编译模型和编译参数后,根据编译模型创建基础任务和子任务,基础任务属于步长相同并且步长时间少的任务,例如步长均为5ms,而子任务则步长较长,同时根据编译参数设定基础任务的数量和每一个子任务的步长,例如创建了2个子任务,并且子任务1步长为10ms,子任务2步长为15ms,子任务的步长为基础任务步长的N倍,此时子任务1的倍数N=2,子任务2的倍数N=3。
子任务分配模块,用于根据子任务的类型将子任务分配至对应的运算位置;
目前计算机处理单元核心通常为多个,并且大小核共存的设计,所以将基础任务通过大核进行运算执行,对于不同的子任务即可分配给不同的CPU小核位置进行处理,从而充分利用计算机的处理性能,防止计算机负载过大造成使用寿命降低和运算速度降低,同时也能避免仿真速度降低。
实施例4
参考图4和图5,本实施例提供一种多速率仿真系统,其中模型运算单元包括:
基础任务执行模块,用于按照基础任务的步长执行基础任务并得到执行数据,执行数据包括模型基础数据和标志值,所述标志值由执行基础任务中的标志数据得到,标志数据赋值为真时标志值为真,标志数据赋值为假时标志值为假;用于循环执行基础任务;
通过VxWorks执行基础任务,基础任务中存在多个相同步长的数据,此时可以对该数据进行同步处理,也可以按照顺序依次进行处理,该处理方式需要在模型参数配置时设置优先级,由于该方式为现有的常规操作故不进行赘述;基础任务是在执行完成1次后会从头开始再执行,如此循环执行,为实验需要持续提供仿真数据,在对基础任务进行执行时遇到标志数据时会得到标志数据的执行结果,即标志值,对比非标志数据执行得到的结果作为模型基础数据,将模型基础数据和标志值统称为执行数据;标志数据存在于仿真数据的开始或者两个仿真数据之间或者仿真数据的最后,其执行顺序同样按照现有的执行顺序进行,不同的是现有的需要一个任务中10ms的“基础任务”执行完成后再执行任务中另一个10ms的“子任务”,从而完成任务的一次执行,花费时间为20ms,而本系统则是在执行完成基础任务的5ms后通过执行标志数据得到标志值,启动子任务10ms开始执行,同时在子任务执行的时候基础任务还能够同步执行,所以在执行相同数据时花费时间减少并且在相同时间内执行的数据更多。
标志数据可进行赋值,在标志数据赋值为真时,得到的标志值为真,同样的当标志数据为假时得到的标志值也为假;不同子任务对应的标志数据不同,得到的标志值也不同,例如标志值Flag1=1时其为真,当Flag=0时其为假,当Flag2=1时子任务1不会执行而子任务2会执行,从而实现对多个子任务的准确控制,保证仿真的准确性。
标志判断模块,用于接收并判断标志值是否为真,若标志值为真则发送与标志值对应的任务信号;若标志值为假则保持对应子任务静默;
子任务执行模块,用于在接收到任务信号时启动对应执行位置中的子任务并执行该子任务得到模型子数据;
具体的,在基础任务执行时会得到对应的标志值,该标志值可为1个或2个或多个,其获得的顺序则按照标志数据的设置顺序获得,每次得到标志值后对该标志值进行判断是否为真,当标志值为真时发送任务信号启动对应的子任务,任务信号也和子任务是一一对应的,该子任务位于哪个核心则启动对应的执行位置,通常由于子任务都是需要间隔很短的时间循环执行,则通常在一个子任务执行完毕后该位置的核心依旧保持开启,避免频繁开启关闭增加执行施加降低仿真速度;当子任务没有接到任务信号时子任务保持静默不执行。
标志数据赋值模块,用于在基础任务第kN次执行时对基础任务中的标志数据赋值为真,否则对基础任务中的标志数据赋值为假,其中k为正整数;
由于实际使用中,例如子任务1需要在基础任务执行完第1次后并在执行第2次时开始执行子任务1,前5ms基础任务执行时对应的标志值Flag1=0,此时子任务1不执行,当基础任务第1次执行完毕后开始执行第2次时,得到标志值Flag1=1,此时子任务1开始执行,当基础任务执行完第2次时,子任务1执行了一半步长,当基础任务执行第4次时,标志值Flag1=1,则子任务1同步进行着开始执行的子任务,还进行着执行过半的子任务,此时子任务1的执行的需求是在基础任务执行第n=2、n=4、n=6等次数时子任务1开始执行,即此时Flag1=1,即当n=kN,k=1或者k=2或者k=3等时,对基础任务中与Flag1对应的标志数据赋值为真,其余情况下赋值为假;对于子任务2步长为15ms是基础任务步长的N=3倍,例如标志数据位于基础任务的末端,即在基础任务中仿真数据执行完后再执行子任务2的标志数据,在初始赋值时,由于在n=1时不满足n=kN的条件,此时赋值与子任务2对应的标志数据为假,即在基础任务执行第1次与第2次时均得到Flag2=0的标志值,子任务2保持静默不启动,在完成基础任务第2次执行后,由于下一次执行n=3,满足n=kN,k=1,此时赋值子任务2对应的标志数据为真,即在第3次执行基础任务时得到Flag2=1的标志值,此时子任务2接收到对应的任务信号并开始执行,同时基础任务在继续执行时由于n=4不满足n=kN的条件,标志数据赋值为假,在基础任务执行第4次时不启动子任务2,此时子任务2与基础任务同步执行,直至基础任务在执行第6次时子任务2得到对应的启动信号再次执行;其中完成子任务2的执行总共花费时间15ms(3次基础任务执行时间)+15ms(1次子任务3执行时间),子任务2第一次执行完成并开始第2次执行,在30ms的时间内基础任务执行3次,子任务2执行1次,而通过现有方式实现子任务2的执行,基础任务部分数据需要与子任务部分数据的步长相等即为15ms,在完成3次基础任务部分数据后再完成子任务部分数据,花费时间为15ms*4=60ms,花费时间长,并且基础任务数据花费5ms执行完成后其余10ms为闲置时间,造成时间浪费,降低仿真效率。
检测模块,用于在基础任务执行完成得到模型基础数据后判断是否仿真需要停止,若是则停止基础任务执行,若否则继续循环执行基础任务;
由于实验在完成后就不需要采集仿真数据,则此时需要停止基础任务的执行,同时也停止子任务的执行,通常在每一次基础任务执行完成后通过检测是否接收到实验结束信号来判断是否需要停止,当实验停止时发送实验结束信号,此时接收到实验结束信号后停止基础任务的执行,完成本次实验仿真需求;当实验在基础任务和/或子任务执行过程中停止,则在当前子任务和/或当前基础任务执行完成后停止仿真,此时在子任务执行期间基础任务不再执行。
以上实施例仅用以说明本申请的技术方案,而非对本申请限制;尽管参照前述实施例对本申请进行了详细的说明,本领域普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请技术方案的范围。

Claims (10)

1.一种多速率仿真方法,其特征在于,包括以下步骤:
接收模型编译文件,将模型参数编译在模型编译文件中得到可执行文件;
解析可执行文件得到基础任务与子任务,分配子任务的执行位置;
执行基础任务时得到标志值,基础任务执行完成得到模型基础数据,根据标志值的真假判断子任务是否执行,若是则执行子任务得到模型子数据,若否则保持子任务静默;
采集模型基础数据和模型子数据得到仿真数据。
2.根据权利要求1所述的多速率仿真方法,其特征在于,所述接收模型编译文件,将模型参数编译在模型编译文件中得到可执行文件具体包括以下步骤:
配置模型参数,所述模型参数包括基础任务的步长、基础任务中的标志数据、子任务的数量和每个子任务的步长,所述子任务的步长是基础任务步长的N倍,N为正整数;
接收模型编译文件,将模型参数编译在模型编译文件中得到可执行文件。
3.根据权利要求2所述的多速率仿真方法,其特征在于,所述解析可执行文件得到基础任务与子任务,分配子任务的执行位置具体包括以下步骤:
接收并解析可执行文件得到编译模型和编译参数;
根据编译模型创建基础任务和子任务,根据编译参数设定基础任务的步长、子任务的数量和每一个子任务的步长;
根据子任务的类型将子任务分配至对应的运算位置。
4.根据权利要求3所述的多速率仿真方法,其特征在于,所述执行基础任务时得到标志值,基础任务执行完成得到模型基础数据,根据标志值的真假判断子任务是否执行,若是则执行子任务得到模型子数据,若否则保持子任务静默具体包括以下步骤:
循环执行基础任务,基础任务执行时按照基础任务的步长执行并得到执行数据,执行数据包括模型基础数据和标志值,所述标志值由执行基础任务中的标志数据得到,标志数据赋值为真时标志值为真,标志数据赋值为假时标志值为假;
接收并判断标志值是否为真,若标志值为真则发送与标志值对应的任务信号;若标志值为假则保持对应子任务静默;
在接收到任务信号时启动对应执行位置中的子任务并执行该子任务得到模型子数据;
在第kN次执行基础任务时对基础任务中的标志数据赋值为真,否则对基础任务中的标志数据赋值为假,其中k为正整数。
5.根据权利要求4所述的多速率仿真方法,其特征在于,所述执行基础任务时得到标志值,基础任务执行完成得到模型基础数据,根据标志值的真假判断子任务是否执行,若是则执行子任务得到模型子数据,若否则保持子任务静默还包括以下步骤:
在基础任务执行完成得到模型基础数据后判断是否仿真需要停止,若是则停止基础任务执行,若否则继续循环执行基础任务。
6.一种多速率仿真系统,其特征在于,包括:
模型编译单元,用于接收模型编译文件,用于将模型参数编译在模型编译文件中得到可执行文件;
模型解析单元,用于解析可执行文件得到基础任务与子任务,用于分配子任务的执行位置;
模型运算单元,用于在执行基础任务过程中得到标志值,用于在执行完成基础任务后得到模型基础数据,用于判断标志值的真假,用于根据标志值的真假选择是否执行对应的子任务,用于执行子任务得到模型子数据;
数据采集单元,用于采集模型基础数据和模型子数据得到仿真数据。
7.根据权利要求6所述的多速率仿真系统,其特征在于,所述模型编译单元包括:
任务配置模块,用于配置模型参数,所述模型参数包括基础任务的步长、基础任务中的标志数据、子任务的数量和每个子任务的步长,所述子任务的步长是基础任务步长的N倍,N为正整数;
可执行文件生成模块,用于接收模型编译文件,用于将模型参数编译在模型编译文件中得到可执行文件。
8.根据权利要求7所述的多速率仿真系统,其特征在于,所述模型解析单元包括:
解析模块,用于接收并解析可执行文件得到编译模型和编译参数;
任务创建模块,用于根据编译模型创建基础任务和子任务,用于根据编译参数设定基础任务的步长、子任务的数量和每一个子任务的步长;
子任务分配模块,用于根据子任务的类型将子任务分配至对应的运算位置。
9.根据权利要求8所述的多速率仿真系统,其特征在于,所述模型运算单元包括:
基础任务执行模块,用于按照基础任务的步长执行基础任务并得到执行数据,执行数据包括模型基础数据和标志值,所述标志值由执行基础任务中的标志数据得到,标志数据赋值为真时标志值为真,标志数据赋值为假时标志值为假;用于循环执行基础任务;
标志判断模块,用于接收并判断标志值是否为真,若标志值为真则发送与标志值对应的任务信号;若标志值为假则保持对应子任务静默;
子任务执行模块,用于在接收到任务信号时启动对应执行位置中的子任务并执行该子任务得到模型子数据;
标志数据赋值模块,用于在基础任务第kN次执行时对基础任务中的标志数据赋值为真,否则对基础任务中的标志数据赋值为假,其中k为正整数。
10.根据权利要求9所述的多速率仿真系统,其特征在于,所述模型运算单元还包括:
检测模块,用于在基础任务执行完成得到模型基础数据后判断是否仿真需要停止,若是则停止基础任务执行,若否则继续循环执行基础任务。
CN202211341957.3A 2022-10-31 2022-10-31 一种多速率仿真方法及系统 Active CN115392063B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211341957.3A CN115392063B (zh) 2022-10-31 2022-10-31 一种多速率仿真方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211341957.3A CN115392063B (zh) 2022-10-31 2022-10-31 一种多速率仿真方法及系统

Publications (2)

Publication Number Publication Date
CN115392063A CN115392063A (zh) 2022-11-25
CN115392063B true CN115392063B (zh) 2023-01-31

Family

ID=84114906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211341957.3A Active CN115392063B (zh) 2022-10-31 2022-10-31 一种多速率仿真方法及系统

Country Status (1)

Country Link
CN (1) CN115392063B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205191A (zh) * 2014-06-12 2015-12-30 济南概伦电子科技有限公司 多速率并行电路仿真
CN110297703A (zh) * 2019-06-11 2019-10-01 国网江苏省电力有限公司 一种在实时仿真系统中模拟硬件任务调度的方法及装置
CN112527471A (zh) * 2019-09-19 2021-03-19 中移(苏州)软件技术有限公司 任务处理方法及其装置、存储介质
CN113032963A (zh) * 2021-02-26 2021-06-25 北京经纬恒润科技股份有限公司 一种Simulink模型仿真加速方法及装置
CN114237767A (zh) * 2022-02-24 2022-03-25 西安羚控电子科技有限公司 一种实现多倍速仿真的系统及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008126196A1 (ja) * 2007-03-19 2008-10-23 Fujitsu Limited シミュレーション制御プログラム、記録媒体、シミュレーション装置およびシミュレーション制御方法
US10193762B2 (en) * 2016-08-11 2019-01-29 Rescale, Inc. Dynamic optimization of simulation resources
CN113378346A (zh) * 2020-03-10 2021-09-10 北京沃东天骏信息技术有限公司 模型仿真的方法和装置
CN115017668A (zh) * 2021-03-04 2022-09-06 中国电力科学研究院有限公司 一种基于不同步长仿真系统的仿真方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205191A (zh) * 2014-06-12 2015-12-30 济南概伦电子科技有限公司 多速率并行电路仿真
CN110297703A (zh) * 2019-06-11 2019-10-01 国网江苏省电力有限公司 一种在实时仿真系统中模拟硬件任务调度的方法及装置
CN112527471A (zh) * 2019-09-19 2021-03-19 中移(苏州)软件技术有限公司 任务处理方法及其装置、存储介质
CN113032963A (zh) * 2021-02-26 2021-06-25 北京经纬恒润科技股份有限公司 一种Simulink模型仿真加速方法及装置
CN114237767A (zh) * 2022-02-24 2022-03-25 西安羚控电子科技有限公司 一种实现多倍速仿真的系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Design of semi-physical simulation platform for ship cooperative control system;Sheng Liu等;《Proceeding of the 11th World Congress on Intelligent Control and Automation》;20150305;第5962-5966页 *
基于RTW的实时多任务无人机仿真系统设计;陈朋等;《电光与控制》;20161031(第10期);第90-95页 *

Also Published As

Publication number Publication date
CN115392063A (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
CN106354645B (zh) 基于后台系统服务或接口的测试方法和测试平台
EP3702908B1 (en) Hardware acceleration method and the corresponding program
CN104750510A (zh) 一种芯片启动方法及多核处理器芯片
CN107729240B (zh) 嵌入式软件堆栈溢出检测方法和装置
US20090319835A1 (en) Processor system optimization supporting apparatus and supporting method
CN107045475B (zh) 测试方法和装置
CN103077135A (zh) 一种支持并行测试的测试资源管理方法
CN109445929A (zh) 一种调度任务的方法和系统
EP4195108A1 (en) Method and apparatus for generating and applying deep learning model based on deep learning framework
US7228527B1 (en) Method and system for structuring a procedure
CN115392063B (zh) 一种多速率仿真方法及系统
WO2024119930A1 (zh) 调度方法、装置、计算机设备和存储介质
CN109709900B (zh) 数值控制装置
CN109144486A (zh) 一种无状态化的工作流程实现方法
CN113127162B (zh) 自动化任务执行方法、装置、电子设备及计算机存储介质
CN114328090A (zh) 一种程序监控方法、装置、电子设备及存储介质
CN114567445A (zh) 一种验签数据传输方法、装置、设备及介质
KR101757886B1 (ko) 태스크 분할 할당 시스템
CN112416539B (zh) 面向异构众核处理器的多任务并行调度方法
US12032477B2 (en) Method and apparatus for generating and applying deep learning model based on deep learning framework
CN115756996B (zh) 一种芯片测试方法、装置、设备及可读存储介质
CN117093345B (zh) 任务链表的执行方法、装置、终端设备及存储介质
CN103164360A (zh) 一种支持并行测试的测试资源管理方法
CN112148384B (zh) Sca波形组件加载方法、装置、可读介质及电子设备
US20240134336A1 (en) Production system, program creation device, and information storage medium

Legal Events

Date Code Title Description
PB01 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