CN114818394B - 针对Modelica模型过程方程的调试方法和系统 - Google Patents
针对Modelica模型过程方程的调试方法和系统 Download PDFInfo
- Publication number
- CN114818394B CN114818394B CN202210744249.8A CN202210744249A CN114818394B CN 114818394 B CN114818394 B CN 114818394B CN 202210744249 A CN202210744249 A CN 202210744249A CN 114818394 B CN114818394 B CN 114818394B
- Authority
- CN
- China
- Prior art keywords
- variable information
- equation
- modified
- modelica
- model
- 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
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种针对Modelica模型过程方程的调试方法和系统,该方法包括在Modelica仿真软件的模型仿真内核的每个优化步骤前设置中断点;当所述Modelica仿真软件运行到当前中断点时,提取当前的过程方程和变量信息到调试设备上;在所述调试设备上对所述过程方程和变量信息进行修改后,在当前中断点处将修改后的过程方程和变量信息注入所述模型仿真内核;所述当前中断点接收到修改后的过程方程和变量信息后触发所述Modelica仿真软件继续运行。本发明在每个优化步骤前进行修改,实现过程方程的调试。
Description
技术领域
本发明的实施例涉及模型仿真与调试技术领域,尤其涉及一种针对Modelica模型过程方程的调试方法和系统。
背景技术
Modelica语言模型仿真在汽车工业、航空航天领域具有广泛的应用,但由于Modelica模型语言的非因果特性,导致模型转换为可执行代码的过程中存在调试、测试困难的问题。Modelica模型在转换成可执行代码前,需要对模型中大规模方程进行化简及优化,但由于涉及多物理场方程,因此内核本身的优化缺陷会导致模型方程错误,但这类错误目前很难进行观察及调试,用户无法直观的检查或者操纵方程变换过程中的信息,使相关仿真问题很难被发现或者解决。
这类问题阻碍了企业的模型开发,减缓了模型调试的效率,提升了相关模型开发的入门门槛要求,阻碍了此类模型建模仿真的技术推广。
发明内容
本发明提供了提出一种针对Modelica模型过程方程的调试方法和系统,达到特定的Modelica模型优化的目的。
本发明提供的一种针对Modelica模型过程方程的调试方法,包括:
在Modelica仿真软件的模型仿真内核的每个优化步骤前设置中断点;
当所述Modelica仿真软件运行到当前中断点时,提取当前的过程方程和变量信息到调试设备上;
在所述调试设备上对所述过程方程和变量信息进行修改后,在当前中断点处将修改后的过程方程和变量信息注入所述模型仿真内核;
所述当前中断点接收到修改后的过程方程和变量信息后触发所述Modelica仿真软件继续运行。
本发明提供了一种针对Modelica模型过程方程的调试系统,包括:
仿真设备,搭载有Modelica仿真软件,用于运行Modelica模型;
调试设备与所述仿真设备通信连接,用于在Modelica仿真软件的模型仿真内核的每个优化步骤前设置中断点;当所述Modelica仿真软件运行到当前中断点时,提取当前的过程方程和变量信息到本地;在本地对所述过程方程和变量信息进行修改后,在当前中断点处将修改后的过程方程和变量信息注入所述模型仿真内核;当前中断点接收到修改后的过程方程和变量信息后触发所述Modelica仿真软件继续运行。
从上面可以看出,本发明通过在Modelica仿真软件的模型仿真内核的每个优化步骤前设置中断点,从而控制仿真流程在需要修改的地方停止。通过提取当前的过程方程和变量信息,进而在调试设备上进行修改后,再注入回原来的中断点,然后触发仿真软件继续运行到下一个中断点,从而可以在每个优化步骤前进行修改,实现过程方程的调试。不同于Simulink或“C”代码中对代码本身进行修改,本发明人不提取代码本身,而是将被控对象:过程方程和变量提取出来进行修改,以达到特定的Modelica模型优化的目的。
附图说明
为了更清楚地说明本发明或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种针对Modelica模型过程方程的调试系统的结构示意图;
图2是本发明实施例提供的一种针对Modelica模型过程方程的调试的方法的流程示意图;
图3是本发明实施例提供的又一种针对Modelica模型过程方程的调试系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,除非另外定义,本发明的实施例使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明的实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
本发明实施例提供了一种针对Modelica模型过程方程的调试的方法,由调试设备执行。为了便于描述该方法,优先介绍针对Modelica模型过程方程的调试系统。
图1是本发明实施例提供的一种针对Modelica模型过程方程的调试系统的结构示意图,包括通信连接的仿真设备和调试设备,优选通过通用串行总线(Universal SerialBus,USB)连接。
仿真设备搭载有Modelica仿真软件,用于运行Modelica模型。Modelica仿真软件的模型仿真内核(又称内核引擎)主要功能包括模型的编译、优化及求解,目标是实现Modelica的模型代码平展成大规模方程,方程进行结构分析及优化,方程代入算法包进行求解。本发明主要解决模型优化过程的方程变形及优化。
方程优化过程,指对大规模方程进行结构分析,变量替换,方程变形等操作,是本发明核心操作对象。过程中大规模方程会基于内核的规则,按照优化顺序,逐步对方程进行变形,将方程变形为最终可求解结构。目前由于内核优化方式及模式的问题,对于特定模型可能需要定制化修改内核,但可能不具有通用性,因此存在改进提升的空间。
调试设备与仿真设备通信,实现对仿真软件的中断点的设置、信息提取、修改、注入和触发运行。
图2是本发明实施例提供的一种针对Modelica模型过程方程的调试的方法的流程示意图,适用于对模型仿真内核中的多个优化步骤进行过程方程变形及优化的情况。过程方程指在Modelica模型求解过程中,中间过程有相关的模型方程,用于表征相关的计算仿真方法。本发明中的调试指对过程方程的调试。参见图2,具体包括以下操作:
S110、在Modelica仿真软件的模型仿真内核的每个优化步骤前设置中断点。
调试设备通过与仿真设备之间的通信连接控制Modelica仿真软件,在模型仿真内核的每个优化步骤前设置中断点。
可选的,根据调试需求将中断点设置在需要调试的优化步骤之前。优化步骤包括IF条件语句处理、数组标量化、别名消除、指标约减和块下三角(Block Lower Triganular)分解。
S120、当所述Modelica仿真软件运行到当前中断点时,提取当前的过程方程和变量信息到调试设备上。
当运行到当前中断点时,仿真软件暂停运行。调试设备从平坦化方程组类中提取当前的过程方程和变量信息到调试设备上。平坦化方程组类中包含整个仿真模型所具有的方程和变量的信息。包含求解方程,求解方程分类,别名消除对变量信息,优化步骤信息,经理的优化过程数量等所有信息。通过对此类进行操作,可以实现在原有的优化过程中,新增新的方程特定优化方法或者针对具体的待求解方程进行修改操作。
可选的,调试设备具有可视化的界面,当前的过程方程和变量信息显示在调试设备的界面上,以方便调试人员在界面上对过程方程和变量进行修改。
本实施例中,可以人工在界面上修改也可以自动化修改。优选的,在所述调试设备上对所述过程方程和变量信息进行修改后,存储修改操作与模型的对应关系,即包括人工修改模式;在后续提取当前的过程方程和变量信息到调试设备上后,根据所述对应关系确定修改操作,并按照所述修改操作对当前的过程方程和变量信息进行修改。本方法自动替换优化过程中的方程结构,保存用户知识,提升特定模型适配效率。
可选的,修改操作包括单语句方程的优化处理,微分代数方程的指标约减和方程求解排序及分组。其中,单语句方程的优化处理包括单个方程的结构修改,别名对的顺序修改,变量初值修改等,可以在IF条件语句处理、数组标量化、别名消除之前进行修改操作。微分代数方程的指标约减包括对指标约减涉及的方程组进行分析和修改,可以在指标约减之前进行修改操作。方程求解排序及分组包括修改Block Lower Triganular分解后的方程子集中的方程结构,在Block Lower Triganular分解之前进行修改操作。
需要说明的是,不管是人工修改和自动修改,可以是在优化步骤基础上的补充修改,即注入回内核后依然会完整执行后续的优化步骤,对后续的优化步骤来说被控对象得到了更新。也可以是对优化步骤的替换修改,即在调试设备上按照后续至少一个优化步骤对所述过程方程和变量信息进行修改,例如指标约减,则在当前中断点将修改后的过程方程和变量信息注入模型仿真内核,跳过前述至少一个优化步骤,避免重复优化。在一具体实施方式中,每个优化步骤存储在方法数组或者队列中,调试人员可以操作方法数组或队列中各优化步骤的顺序和存在与否。因此,可以在方法数组或者队列中跳过至少一个优化步骤。
S130、在所述调试设备上对所述过程方程和变量信息进行修改后,在当前中断点处将修改后的过程方程和变量信息注入所述模型仿真内核。
在当前中断点将修改后的过程方程和变量信息注入所述模型仿真内核,替换平坦化方程组类的对应信息。
S140、所述当前中断点接收到修改后的过程方程和变量信息后触发所述Modelica仿真软件继续运行。
仿真软件运行到下个中断点后暂停运行,返回执行S120以及后续操作,直到所有优化步骤完成。
在优化步骤均运行结束后,生成代码文件;对所述代码文件进行求解。
本发明中解决了特定模型无法运行调试或者针对特定模型方程在不修改求解引擎功能的情况下实现模型求解的优化。针对此特定模型方程的修改可以存储成文件或者设备中,实现对特定模块方程的自动修改的操作。
本发明通过在Modelica仿真软件的模型仿真内核的每个优化步骤前设置中断点,从而控制仿真流程在需要修改的地方停止。通过提取当前的过程方程和变量信息,进而在调试设备上进行修改后,再注入回原来的中断点,然后触发仿真软件继续运行到下一个中断点,从而可以在每个优化步骤前进行修改,实现过程方程的调试。不同于Simulink或“C”代码中对代码本身进行修改,本发明人不提取代码本身,而是将被控对象:过程方程和变量提取出来进行修改,以达到特定的Modelica模型优化的目的。
图3是本发明实施例提供的又一种针对Modelica模型过程方程的调试系统的结构示意图,包括仿真设备、调试设备和远程电脑。远程电脑分别与调试设备和仿真设备连接,用于远程访问Modelica模型仿真和调试的过程。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种针对Modelica模型过程方程的调试方法,其特征在于,包括:
在Modelica仿真软件的模型仿真内核的每个优化步骤前设置中断点;
当所述Modelica仿真软件运行到当前中断点时,提取当前的过程方程和变量信息到调试设备上;
在所述调试设备上对所述过程方程和变量信息进行修改后,在当前中断点处将修改后的过程方程和变量信息注入所述模型仿真内核;
所述当前中断点接收到修改后的过程方程和变量信息后触发所述Modelica仿真软件继续运行。
2.根据权利要求1所述的方法,其特征在于,当所述Modelica仿真软件运行到当前中断点时,提取当前的过程方程和变量信息到调试设备上,包括:
当所述Modelica仿真软件运行到当前中断点时,从平坦化方程组类中提取当前的过程方程和变量信息到调试设备上;
所述在当前中断点处将修改后的过程方程和变量信息注入所述模型仿真内核,包括:
在当前中断点将修改后的过程方程和变量信息注入所述模型仿真内核,替换平坦化方程组类的对应信息。
3.根据权利要求1所述的方法,其特征在于,所述优化步骤包括IF条件语句处理、数组标量化、别名消除、指标约减和块下三角Block Lower Triganular分解。
4.根据权利要求1所述的方法,其特征在于,在所述调试设备上对所述过程方程和变量信息进行如下修改:
单语句方程的优化处理,微分代数方程的指标约减和方程求解排序及分组。
5.根据权利要求1所述的方法,其特征在于,所述每个优化步骤存储在方法数组或者队列中;
在所述调试设备上对所述过程方程和变量信息进行如下修改:按照后续至少一个优化步骤对所述过程方程和变量信息进行修改;
所述在当前中断点处将修改后的过程方程和变量信息注入所述模型仿真内核,包括:
在当前中断点将修改后的过程方程和变量信息注入所述模型仿真内核,在所述方法数组或者队列中跳过所述至少一个优化步骤。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述调试设备上对所述过程方程和变量信息进行修改后,存储修改操作与模型的对应关系;
在后续提取当前的过程方程和变量信息到调试设备上后,根据所述对应关系确定修改操作,并按照所述修改操作对当前的过程方程和变量信息进行修改。
7.根据权利要求1所述的方法,其特征在于,当前中断点接收到修改后的过程方程和变量信息后触发所述Modelica仿真软件继续运行之后,还包括:
在优化步骤均运行结束后,生成代码文件;
对所述代码文件进行求解。
8.根据权利要求1所述的方法,其特征在于,所述提取当前的过程方程和变量信息到调试设备上,包括:
提取当前的过程方程和变量信息并显示到所述调试设备的界面上。
9.一种针对Modelica模型过程方程的调试系统,其特征在于,包括:
仿真设备,搭载有Modelica仿真软件,用于运行Modelica模型;
调试设备与所述仿真设备通信连接,用于在Modelica仿真软件的模型仿真内核的每个优化步骤前设置中断点;当所述Modelica仿真软件运行到当前中断点时,提取当前的过程方程和变量信息到本地;在本地对所述过程方程和变量信息进行修改后,在当前中断点处将修改后的过程方程和变量信息注入所述模型仿真内核;当前中断点接收到修改后的过程方程和变量信息后触发所述Modelica仿真软件继续运行。
10.根据权利要求9所述的系统,其特征在于,所述系统还包括远程电脑,分别与调试设备和仿真设备连接;
所述远程电脑用于远程访问Modelica模型仿真和调试的过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210744249.8A CN114818394B (zh) | 2022-06-29 | 2022-06-29 | 针对Modelica模型过程方程的调试方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210744249.8A CN114818394B (zh) | 2022-06-29 | 2022-06-29 | 针对Modelica模型过程方程的调试方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114818394A CN114818394A (zh) | 2022-07-29 |
CN114818394B true CN114818394B (zh) | 2022-09-20 |
Family
ID=82522633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210744249.8A Active CN114818394B (zh) | 2022-06-29 | 2022-06-29 | 针对Modelica模型过程方程的调试方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114818394B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116882212B (zh) * | 2023-09-07 | 2023-12-01 | 中汽数据(天津)有限公司 | 整车零件仿真的非因果方程的报错追溯方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014113751A1 (en) * | 2013-01-21 | 2014-07-24 | Siemens Corporation | Functional debugging of equation-based languages |
CN104199664A (zh) * | 2014-09-03 | 2014-12-10 | 北京大学 | 一种基于注释的仿真代码同步生成方法 |
CN109507991A (zh) * | 2018-12-25 | 2019-03-22 | 中国兵器装备集团自动化研究所 | 一种双轴伺服控制平台调试系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323760A (zh) * | 2011-07-07 | 2012-01-18 | 华中科技大学 | 一种空调控制系统半实物测试方法与装置 |
CN102540903A (zh) * | 2011-12-29 | 2012-07-04 | 李明 | 基于Modelica语言的泵车臂架系统仿真建模方法 |
US9542509B2 (en) * | 2012-07-16 | 2017-01-10 | Siemens Aktiengesellschaft | Context-based synthesis of simulation models from functional models of cyber-physical systems |
CN111898305A (zh) * | 2020-08-05 | 2020-11-06 | 北京航空航天大学 | 一种基于Modelica语言的弹上电气系统建模仿真方法 |
CN113934626A (zh) * | 2021-09-26 | 2022-01-14 | 中国汽车技术研究中心有限公司 | 模型过程调试方法、设备和存储介质 |
-
2022
- 2022-06-29 CN CN202210744249.8A patent/CN114818394B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014113751A1 (en) * | 2013-01-21 | 2014-07-24 | Siemens Corporation | Functional debugging of equation-based languages |
CN104199664A (zh) * | 2014-09-03 | 2014-12-10 | 北京大学 | 一种基于注释的仿真代码同步生成方法 |
CN109507991A (zh) * | 2018-12-25 | 2019-03-22 | 中国兵器装备集团自动化研究所 | 一种双轴伺服控制平台调试系统及方法 |
Non-Patent Citations (7)
Title |
---|
"基于Modelica的液体火箭发动机系统建模与仿真研究";吴有亮;《中国优秀硕士学位论文全文数据库 (工程科技Ⅱ辑)》;20190315;全文 * |
"基于混合虚拟化技术的虚拟机性能优化研究及应用";林芊;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110715;全文 * |
SimulationX多学科建模和仿真工具;刘宝生;《CAD/CAM与制造业信息化》;20090917(第09期);全文 * |
一种Linux内核CFS调度器的仿真分析系统;王桐森;《科学技术与工程》;20090901(第17期);全文 * |
基于FMI的分布式联合仿真技术研究;王鸿亮等;《计算机仿真》;20170415(第04期);全文 * |
基于VC的SimulationX二次开发及其在水下液控系统中的应用;刘立新等;《机电工程》;20151020(第10期);全文 * |
集成电路故障注入攻击仿真方法;徐松等;《计算机辅助设计与图形学学报》;20170815(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114818394A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378463B (zh) | 一种人工智能模型标准化训练平台及自动化系统 | |
CN110674590A (zh) | 一种基于仿真软件Simulink实时扩展RTX的飞行器实时仿真程序的编程方法 | |
CN110262794B (zh) | 一种基于规范与描述语言的aadl功能行为拓展方法及工具 | |
CN114818394B (zh) | 针对Modelica模型过程方程的调试方法和系统 | |
CN109032577B (zh) | 一种数据仿真方法 | |
CN101488012A (zh) | 一种利用流程框图实现顺序控制的方法 | |
CN109522005A (zh) | 跨平台图形化程序设计方法 | |
CN108228455B (zh) | 一种软件控制危险分析方法 | |
US20230195998A1 (en) | Sample generation method, model training method, trajectory recognition method, device, and medium | |
CN111373406A (zh) | 使用问题匹配的先验知识提取的加速仿真设置过程 | |
CN110932929B (zh) | Ccsds体制卫星遥测包分类提取方法、系统及介质 | |
CN109960590B (zh) | 一种优化嵌入式系统诊断打印的方法 | |
CN112861138A (zh) | 软件安全性分析方法及分析装置、电子设备及存储介质 | |
CN108958719B (zh) | 数字飞行器缓冲区信息处理源代码人工智能书写方法 | |
CN108132799B (zh) | 过程间静态程序分析信息提取方法、装置及设备 | |
CN117289938A (zh) | 一种软件开发用智能辅助系统 | |
CN107766133B (zh) | 星上作业链自主管理的方法 | |
CN111723580B (zh) | 基于语音识别与图像识别的电力调度厂站信息图效验方法 | |
CN112784447B (zh) | 一种用于det与relap5程序动态耦合框架的核电厂事故建模方法 | |
CN113220664B (zh) | Lua脚本规则快速生成的卫星遥测智能判读系统及方法 | |
CN114925516A (zh) | 一种自动建模并仿真的方法和装置 | |
CN113392436A (zh) | 一种cae分析软件和办公软件集成化控制方法及平台 | |
CN109522355B (zh) | 数据处理过程的控制方法、装置、介质及电子设备 | |
CN111949525A (zh) | 基于ai的健壮性智能测试系统及其测试方法 | |
CN112559359A (zh) | 一种基于s2ml的安全攸关系统分析与验证方法 |
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 |