CN114818394A - 针对Modelica模型过程方程的调试方法和系统 - Google Patents

针对Modelica模型过程方程的调试方法和系统 Download PDF

Info

Publication number
CN114818394A
CN114818394A CN202210744249.8A CN202210744249A CN114818394A CN 114818394 A CN114818394 A CN 114818394A CN 202210744249 A CN202210744249 A CN 202210744249A CN 114818394 A CN114818394 A CN 114818394A
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.)
Granted
Application number
CN202210744249.8A
Other languages
English (en)
Other versions
CN114818394B (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.)
Sinotruk Data Co ltd
China Automotive Technology and Research Center Co Ltd
Original Assignee
Sinotruk Data Co ltd
China Automotive Technology and Research Center 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 Sinotruk Data Co ltd, China Automotive Technology and Research Center Co Ltd filed Critical Sinotruk Data Co ltd
Priority to CN202210744249.8A priority Critical patent/CN114818394B/zh
Publication of CN114818394A publication Critical patent/CN114818394A/zh
Application granted granted Critical
Publication of CN114818394B publication Critical patent/CN114818394B/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

Abstract

本发明提供一种针对Modelica模型过程方程的调试方法和系统,该方法包括在Modelica仿真软件的模型仿真内核的每个优化步骤前设置中断点;当所述Modelica仿真软件运行到当前中断点时,提取当前的过程方程和变量信息到调试设备上;在所述调试设备上对所述过程方程和变量信息进行修改后,在当前中断点处将修改后的过程方程和变量信息注入所述模型仿真内核;所述当前中断点接收到修改后的过程方程和变量信息后触发所述Modelica仿真软件继续运行。本发明在每个优化步骤前进行修改,实现过程方程的调试。

Description

针对Modelica模型过程方程的调试方法和系统
技术领域
本发明的实施例涉及模型仿真与调试技术领域,尤其涉及一种针对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模型仿真和调试的过程。
CN202210744249.8A 2022-06-29 2022-06-29 针对Modelica模型过程方程的调试方法和系统 Active CN114818394B (zh)

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 true CN114818394A (zh) 2022-07-29
CN114818394B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116882212A (zh) * 2023-09-07 2023-10-13 中汽数据(天津)有限公司 整车零件仿真的非因果方程的报错追溯方法、装置及设备

Citations (8)

* Cited by examiner, † Cited by third party
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语言的泵车臂架系统仿真建模方法
US20140019104A1 (en) * 2012-07-16 2014-01-16 Siemens Corporation Context-based synthesis of simulation models from functional models of cyber-physical systems
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 中国兵器装备集团自动化研究所 一种双轴伺服控制平台调试系统及方法
CN111898305A (zh) * 2020-08-05 2020-11-06 北京航空航天大学 一种基于Modelica语言的弹上电气系统建模仿真方法
CN113934626A (zh) * 2021-09-26 2022-01-14 中国汽车技术研究中心有限公司 模型过程调试方法、设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
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语言的泵车臂架系统仿真建模方法
US20140019104A1 (en) * 2012-07-16 2014-01-16 Siemens Corporation Context-based synthesis of simulation models from functional models of cyber-physical systems
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 中国兵器装备集团自动化研究所 一种双轴伺服控制平台调试系统及方法
CN111898305A (zh) * 2020-08-05 2020-11-06 北京航空航天大学 一种基于Modelica语言的弹上电气系统建模仿真方法
CN113934626A (zh) * 2021-09-26 2022-01-14 中国汽车技术研究中心有限公司 模型过程调试方法、设备和存储介质

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
刘宝生: "SimulationX多学科建模和仿真工具", 《CAD/CAM与制造业信息化》 *
刘立新等: "基于VC的SimulationX二次开发及其在水下液控系统中的应用", 《机电工程》 *
吴义忠等: "基于Modelica语言的多领域模型仿真优化研究", 《系统仿真学报》 *
吴有亮: ""基于Modelica的液体火箭发动机系统建模与仿真研究"", 《中国优秀硕士学位论文全文数据库 (工程科技Ⅱ辑)》 *
徐松等: "集成电路故障注入攻击仿真方法", 《计算机辅助设计与图形学学报》 *
林芊: ""基于混合虚拟化技术的虚拟机性能优化研究及应用"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
王桐森: "一种Linux内核CFS调度器的仿真分析系统", 《科学技术与工程》 *
王鸿亮等: "基于FMI的分布式联合仿真技术研究", 《计算机仿真》 *
田显钊等: "基于MWorks与Simulink的联合仿真", 《计算机辅助工程》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116882212A (zh) * 2023-09-07 2023-10-13 中汽数据(天津)有限公司 整车零件仿真的非因果方程的报错追溯方法、装置及设备
CN116882212B (zh) * 2023-09-07 2023-12-01 中汽数据(天津)有限公司 整车零件仿真的非因果方程的报错追溯方法、装置及设备

Also Published As

Publication number Publication date
CN114818394B (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
CN110378463B (zh) 一种人工智能模型标准化训练平台及自动化系统
CN110262794B (zh) 一种基于规范与描述语言的aadl功能行为拓展方法及工具
CN109032577B (zh) 一种数据仿真方法
CN114818394B (zh) 针对Modelica模型过程方程的调试方法和系统
CN110908894B (zh) 一种基于vuex的可视化报表工具自动化测试方法及装置
EP3667582A1 (en) Systems and methods for evaluating assessments
CN109522005A (zh) 跨平台图形化程序设计方法
CN111373406A (zh) 使用问题匹配的先验知识提取的加速仿真设置过程
CN108228455B (zh) 一种软件控制危险分析方法
CN110932929B (zh) Ccsds体制卫星遥测包分类提取方法、系统及介质
CN109960590B (zh) 一种优化嵌入式系统诊断打印的方法
CN108958719B (zh) 数字飞行器缓冲区信息处理源代码人工智能书写方法
CN112861138A (zh) 软件安全性分析方法及分析装置、电子设备及存储介质
CN117289938A (zh) 一种软件开发用智能辅助系统
CN107766133B (zh) 星上作业链自主管理的方法
CN111723580B (zh) 基于语音识别与图像识别的电力调度厂站信息图效验方法
Diez qd-Build your own LS-DYNA Tool Quickly in Python
CN112784447B (zh) 一种用于det与relap5程序动态耦合框架的核电厂事故建模方法
CN113220664B (zh) Lua脚本规则快速生成的卫星遥测智能判读系统及方法
CN111949525A (zh) 基于ai的健壮性智能测试系统及其测试方法
CN112905468A (zh) 基于集成学习的软件缺陷预测方法、存储介质和计算设备
CN112214201A (zh) 车机系统底层接口认证的方法、装置、设备及存储介质
CN112559359A (zh) 一种基于s2ml的安全攸关系统分析与验证方法
Wakefield et al. Riskman™, celebrating 20+ years of excellence
CN114253867B (zh) 基于神经网络模型的自动化测试方法、装置及系统

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