CN115688389B - 一种建模仿真方法、系统及存储介质 - Google Patents
一种建模仿真方法、系统及存储介质 Download PDFInfo
- Publication number
- CN115688389B CN115688389B CN202211261852.7A CN202211261852A CN115688389B CN 115688389 B CN115688389 B CN 115688389B CN 202211261852 A CN202211261852 A CN 202211261852A CN 115688389 B CN115688389 B CN 115688389B
- Authority
- CN
- China
- Prior art keywords
- current
- preset
- model file
- variable
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种建模仿真方法、系统及存储介质,其中,方法包括:利用预设解析函数,对各目标模型文件进行文本解析,获得各目标模型文件的模型信息组,并调用预设接口将各目标模型文件的模型信息组导入第二工作目录,对各目标模型文件:利用预设类型转换函数,将上级模型文件输出的当前的第一类型变量转换为当前的第二类型变量,向预设解释器发送当前的第二类型变量,以使预设解释器基于第二工作目录中各模型信息组确定对应的目标函数,并利用目标函数计算第一计算结果,将第一计算结果转换为当前的第一类型变量并输出,在接收到系统模型仿真结束的指令后,通过第四预设接口控制预设解释器清空第二工作目录。本发明提高了建模效率。
Description
技术领域
本发明涉及仿真建模技术领域,特别是涉及一种建模仿真方法、系统及存储介质。
背景技术
建模工具由于集成了仿真、建模、矩阵运算等多种功能,被广泛应用于科学研究、工程设计等领域。但是,由于不同的建模工具对生成的模型文件中的函数定义是不同的,这使得由不同建模工具生成的模型文件,无法被除生成该模型文件的建模工具外的其他建模工具所使用。若建模工具无法正常使用,只能切换至其他建模工具重新建模,这导致建模的效率降低。
发明内容
本发明实施例的目的在于提供一种建模仿真方法、系统及存储介质,以实现建模工具可以使用其他建模工具生成的模型文件完成建模仿真,而无需重新建模,从而提高建模效率的发明目的。具体技术方案如下:
一种建模仿真方法,应用于目标仿真软件,所述方法包括:
利用预设解析函数,对第一工作目录中的各目标模型文件进行文本解析,获得各目标模型文件的模型信息组,其中,所述第一工作目录是所述目标仿真软件的工作目录;
在接收到启动仿真指令后,控制系统模型开始仿真,并调用第一预设接口控制预设解释器将各所述目标模型文件的模型信息组导入第二工作目录,其中,所述第二工作目录是所述预设解释器的工作目录;
对各目标模型文件:利用预设类型转换函数,将上级模型文件输出的当前的第一类型变量转换为当前的第二类型变量,其中,所述上级模型文件的输出变量是该目标模型文件的输入变量,所述第一类型变量为所述目标仿真软件可读数据类型的变量;通过第二预设接口向所述预设解释器发送当前的所述第二类型变量,以使所述预设解释器基于所述第二工作目录中各所述模型信息组,确定与当前的所述第二类型变量对应的目标函数,并利用所述目标函数对当前的所述第二类型变量进行计算,获得第一计算结果;利用所述预设类型转换函数,将所述第一计算结果转换为当前的所述第一类型变量并输出;将该目标模型文件输出的当前的所述第一类型变量,通过预设第三接口发送至下级模型文件;
在接收到所述系统模型仿真结束的指令后,通过第四预设接口控制所述预设解释器清空所述第二工作目录。
可选的,所述方法还包括:
对各非目标模型文件:
将所述上级模型文件输出的当前的所述第一类型变量输入至该非目标模型文件中,以使该非目标模型文件基于当前的所述第一类型变量进行计算,获得第二计算结果,并将所述第二计算结果确定为当前的所述第一类型变量,发送至所述下级模型文件,其中,所述非目标模型文件是由所述目标仿真软件生成的模型文件。
可选的,所述方法还包括:
在无所述上级模型文件输出所述当前的第一类型变量的情况下,响应于所述启动仿真指令,将第一类型的预设触发变量确定为当前的所述第一类型变量。
可选的,所述通过第二预设接口向所述预设解释器发送当前的所述第二类型变量,以使所述预设解释器基于所述第二工作目录中各所述模型信息组,确定与当前的所述第二类型变量对应的目标函数,并利用所述目标函数对当前的所述第二类型变量进行计算,获得第一计算结果,包括:
所述预设解释器读取当前的所述第二类型变量的变量名;
对所述第二工作目录中的各所述模型信息组:判断该模型信息组中的输入变量名与所述变量名是否一致,若是,则该模型信息组中的函数确定为所述目标函数;
并利用所述目标函数对当前的所述第二类型变量进行计算,获得第一计算结果。
可选的,所述目标模型文件是除所述目标仿真软件外的其他仿真软件生成的模型文件。
可选的,所述模型文件的上下级关系的确定过程包括:
根据所述系统模型中各模型文件的连接关系确定所述模型文件的上下级关系。
一种建模仿真系统,所述建模仿真系统包括:
建模仿真工具和预设解释器,
所述建模仿真工具用于利用预设解析函数,对第一工作目录中的各目标模型文件进行文本解析,获得各目标模型文件的模型信息组,其中,所述第一工作目录是所述目标仿真软件的工作目录;在接收到启动仿真指令后,控制系统模型开始仿真,并调用第一预设接口控制预设解释器将各所述目标模型文件的模型信息组导入第二工作目录,其中,所述第二工作目录是所述预设解释器的工作目录;
对各目标模型文件:所述建模仿真工具利用预设类型转换函数,将上级模型文件输出的当前的第一类型变量转换为当前的第二类型变量,其中,所述上级模型文件的输出变量是该目标模型文件的输入变量,所述第一类型变量为所述目标仿真软件可读数据类型的变量;通过第二预设接口向所述预设解释器发送当前的所述第二类型变量,以使所述预设解释器基于所述第二工作目录中各所述模型信息组,确定与当前的所述第二类型变量对应的目标函数,并利用所述目标函数对当前的所述第二类型变量进行计算,获得第一计算结果;利用所述预设类型转换函数,将所述第一计算结果转换为当前的所述第一类型变量并输出;将该目标模型文件输出的当前的所述第一类型变量,通过预设第三接口发送至下级模型文件;
所述建模仿真工具在接收到所述系统模型仿真结束的指令后,通过第四预设接口控制所述预设解释器清空所述第二工作目录。
可选的,所述建模仿真工具还被设置为:
对各非目标模型文件:
将所述上级模型文件输出的当前的所述第一类型变量输入至该非目标模型文件中,以使该非目标模型文件基于当前的所述第一类型变量进行计算,获得第二计算结果,并将所述第二计算结果确定为当前的所述第一类型变量,发送至所述下级模型文件,其中,所述非目标模型文件是由所述目标仿真软件生成的模型文件。
可选的,所述建模仿真工具还被设置为:
在无所述上级模型文件输出所述当前的第一类型变量的情况下,响应于所述启动仿真指令,将第一类型的预设触发变量确定为当前的所述第一类型变量。
可选的,所述预设解释器基于所述第二工作目录中各所述模型信息组,确定与当前的所述第二类型变量对应的目标函数,并利用所述目标函数对当前的所述第二类型变量进行计算,获得第一计算结果时,被设置为:
所述预设解释器读取当前的所述第二类型变量的变量名;
对所述第二工作目录中的各所述模型信息组:判断该模型信息组中的输入变量名与所述变量名是否一致,若是,则该模型信息组中的函数确定为所述目标函数;
并利用所述目标函数对当前的所述第二类型变量进行计算,获得第一计算结果。
可选的,所述建模仿真工具在确定模型文件的上下级关系时被设置为:
根据所述系统模型中各模型文件的连接关系确定所述模型文件的上下级关系。
一种计算机可读存储介质,当所述计算机可读存储介质中的指令由建模仿真系统的处理器执行时,使得所述建模仿真系统能够执行如上述任一种所述的建模仿真方法。
本发明实施例提供的一种建模仿真方法、系统及存储介质,可以通过设置预设解析算法对模型文件进行文本解析,获得表征目标模型文件多个功能信息的模型信息组。同时,通过将模型信息组导入第二工作目录,并设置预设解释器根据模型信息组中的函数名确定所要执行的运算函数,从而实现利用预设解释器代替目标模型文件完成建模仿真运算的功能。最后,通过对预设解释器接口进行封装,使预设解释器兼容于目标仿真软件。从而使得目标仿真软件通过调用预设解释器的相应接口,实现对目标模型文件的调用。进而使得在目标仿真软件中可以兼容和复用不同建模工具生成的模型文件进行建模和仿真,而无需重新建模,提高了建模效率。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种建模仿真方法的流程图;
图2为本发明的一个可选实施例提供的一种系统模型的示意图;
图3为本发明的另一个可选实施例提供的一种建模仿真系统的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种建模仿真方法,应用于目标仿真软件,如图1所示,该方法包括:
S101、利用预设解析函数,对第一工作目录中的各目标模型文件进行文本解析,获得各目标模型文件的模型信息组,其中,第一工作目录是目标仿真软件的工作目录。
可选的,在本发明的一个可选实施例中,上述目标仿真软件的具体类型,可以GCKontorl。
可选的,在本发明的一个可选实施例中,上述预设解析算法可以是基于目标模型文件的头文件规则构建的正则表达式。由于不同的模型文件,其内部函数的定义各不相同。但是,为了便于技术人员对模型文件的功能、变量的掌握,在模型文件的头部文件中,会按照预设的规则记录模型文件的功能信息。因此,本发明通过设置上述预设解析算法对模型文件进行文本解析,即可获得表征目标模型文件多个功能信息的模型信息组。从而便于后续的系统模型搭建和目标模型文件的调用。
可选的,在本方发明的一个可选实施例中,上述模型信息组的具体模型信息类型,包括但不限于:模型输入变量名、模型输出变量名、函数名、具体算法等。
需要说明的是,上述工作目录,是配置于目标仿真软件中,用于管理模型文件的模型信息组的目录。
可选的,在本发明的一个可选实施例中,在上述如图1所示的步骤S102执行完毕后,由于工作目录中已加载了用于搭建系统模型的各模型文件。且各模型文件的输入变量、输出变量、模型功能等信息均已确定。此时,可根据设计要求,在人机交互界面将不同的模型进行输入输出连线,从而完成系统模型的搭建。
S102、在接收到启动仿真指令后,控制系统模型开始仿真,并调用第一预设接口控制预设解释器将各目标模型文件的模型信息组导入第二工作目录,其中,第二工作目录是预设解释器的工作目录。
需要说明的是,上述启动仿真指令可以是在系统模型搭建完毕后,由人机交互界面根据相应操作发送的信号。
需要说明的是,上述预设解释器(Interpreter)是能够将一种编程语言编译为另一种编程语言的程序。由于在实际应用场景下,不同的建模工具对生成的模型文件中的函数定义是不同的,且进行上述函数定义所使用的编程语言也是不同的。这导致模型文件无法被除生成该模型文件的建模工具外的其他建模工具所使用。而解释器由于与对应的建模工具具有相同或相近的语法结构,因而可以识别特定编程语言定义的模型文件中的函数。因此,本发明通过对上述预设解释器接口进行封装,使预设解释器兼容于目标仿真软件。从而使得目标仿真软件通过调用预设解释器的相应接口,实现对目标模型文件的调用。进而使得在目标仿真软件中可以兼容和复用不同建模工具生成的模型文件进行建模和仿真,而无需重新建模,提高了建模效率。
本领域技术人员可以理解的是,上述预设解释器的具体类型,可以根据生成目标模型文件的建模工具的语法结构确定。例如,若目标模型文件是由 MATLAB生成的模型文件,则可以将经过接口二次封装的OCTAVE解释器确定为上述预设解释器。本发明对上述解释器的具体类型和封装过程不作过多限定和赘述。
需要说明的是,由于预设解释器的语法结构,与生成目标模型文件的建模工具的语法结构相同或相近。因而可以通过预设解释器运行于目标模型文件功能一致的函数。又由于模型信息组中包括了实现目标模型文件功能的函数名。因此,本发明通过将模型信息组导入第二工作目录,并设置预设解释器根据模型信息组中的函数名确定所要执行的运算函数,从而实现利用预设解释器代替目标模型文件完成建模仿真运算的功能。
S103、对各目标模型文件:利用预设类型转换函数,将上级模型文件输出的当前的第一类型变量转换为当前的第二类型变量,其中,上级模型文件的输出变量是该目标模型文件的输入变量,第一类型变量为目标仿真软件可读数据类型的变量;通过第二预设接口向预设解释器发送当前的第二类型变量,以使预设解释器基于第二工作目录中各模型信息组,确定与当前的第二类型变量对应的目标函数,并利用目标函数对当前的第二类型变量进行计算,获得第一计算结果;利用预设类型转换函数,将第一计算结果转换为当前的第一类型变量并输出;将该目标模型文件输出的当前的第一类型变量,通过预设第三接口发送至下级模型文件。
需要说明的是,上述预设类型转换函数可以是利用目标仿真软件可识别的编程语言编辑的函数,用于实现对目标仿真软件和预设解释器间交互的变量进行类型转换。
需要说明的是,同一个模型信息组中的各模型信息存在对应关系。
本发明通过获取目标模型文件的模型信息组,并在模型信息组中查找与输入目标模型文件的变量对应的输入变量名,再基于各模型信息间的对应关系,确定与输入变量名对应的目标函数。实现了预设解释器对目标模型文件中目标函数的准确调用,从而提高了仿真过程的准确度和可靠性。
S104、在接收到系统模型仿真结束的指令后,通过第四预设接口控制预设解释器清空第二工作目录。
需要说明的是,由于在实际应用场景下,为了同一个目标模型文件可以在多个不同设计要求的系统模型中存在。为了避免错误复用,同时降低对系统内存的占用。需要在每次仿真结束后清空第二工作目录,从而降低对系统的占用,同时避免目标模型文件被错误复用的风险。
本发明通过设置预设解析算法对模型文件进行文本解析,获得表征目标模型文件多个功能信息的模型信息组。同时,通过将模型信息组导入第二工作目录,并设置预设解释器根据模型信息组中的函数名确定所要执行的运算函数,从而实现利用预设解释器代替目标模型文件完成建模仿真运算的功能。最后,通过对预设解释器接口进行封装,使预设解释器兼容于目标仿真软件。从而使得目标仿真软件通过调用预设解释器的相应接口,实现对目标模型文件的调用。进而使得在目标仿真软件中可以兼容和复用不同建模工具生成的模型文件进行建模和仿真,而无需重新建模,提高了建模效率。
可选的,如图1所示的建模仿真方法还包括:
对各非目标模型文件:
将上级模型文件输出的当前的第一类型变量输入至该非目标模型文件中,以使该非目标模型文件基于当前的第一类型变量进行计算,获得第二计算结果,并将第二计算结果确定为当前的第一类型变量,发送至下级模型文件,其中,非目标模型文件是由目标仿真软件生成的模型文件。
需要说明的是,由于非目标模型文件是由目标仿真软件生成的,文件中的函数定义对目标仿真软件均可读。因此,无需通过上述预设类型转换函数进行变量类型转换。
需要说明的是,对于上述上级模型文件和下级模型文件,其具体类型既可以是目标模型文件,也可以是非目标模型文件。可以根据实际应用场景自行设定,本发明对此不作过多限定。
可选的,如图1所示的建模仿真方法还包括:
在无上级模型文件输出当前的第一类型变量的情况下,响应于启动仿真指令,将第一类型的预设触发变量确定为当前的第一类型变量。
需要说明的是,由于在系统模型构建过程中,不允许系统模型出现死循环的情况。例如,设定当前系统模型由甲模型、乙模型和丙模型组成。且甲模型的输出是乙模型的输入,乙模型的输出是丙模型的输入。若丙模型的输出是甲模型的输入,则该系统模型存在死循环。则可以正常运行的系统模型中的第一个模型必然不存在上述上级模型。同时,正常运行的系统模型中的最后一个模型必然不存在上述下级模型。因此,通过设置上述预设触发变量的方式,可以实现系统模型的正常运行。
可选的,在本发明的一个可选实施例中,对于系统模型中的最后一个模型,可以通过将最后一个模型的输出变量与预设的仿真结果进行类型比对。若比对成功,则确定当前系统模型的仿真完毕。并以此触发生成系统模型仿真结束的指令。
可选的,通过第二预设接口向预设解释器发送当前的第二类型变量,以使预设解释器基于第二工作目录中各模型信息组,确定与当前的第二类型变量对应的目标函数,并利用目标函数对当前的第二类型变量进行计算,获得第一计算结果,包括:
预设解释器读取当前的第二类型变量的变量名;
对第二工作目录中的各模型信息组:判断该模型信息组中的输入变量名与变量名是否一致,若是,则该模型信息组中的函数确定为目标函数;
并利用目标函数对当前的第二类型变量进行计算,获得第一计算结果。
可选的,目标模型文件是除目标仿真软件外的其他仿真软件生成的模型文件。
可选的,模型文件的上下级关系的确定过程包括:
根据系统模型中各模型文件的连接关系确定模型文件的上下级关系。
需要说明的是,在实际应用场景下,上述如图1所示的建模仿真方法的实施方式有多种,在此示例性地提供一种:
如图2所示,为一个已经连接完毕的用于进行求加减运算的系统模型。该系统模型由四个模型文件组成:A模型、B模型、C模型和D模型。其中,A模型和D模型是非目标模型文件,B模型和C模型是目标模型文件。各模型间的输入输出关系如图2中的箭头指向所示。A模型和B模型是同级模型文件,A模型和B模型是C模型的上级模型文件,C模型是D模型的上级模型文件。
为了方便描述,设定上述A模型的功能是接收预设触发变量后生成数字100。设定上述B模型的功能是接收预设触发变量后生成数字500。设定上述C模型的功能是接收两个输入变量后,输出两个变量的求和结果。设定上述D模型的功能是接收输入变量后,输出输入变量减50后的差值。
则首先利用预设解析函数,对B模型和C模型进行文本解析。获得的B模型文件的模型信息组包括:输入变量为第二类型的预设触发变量,输出变量为500 的字符变量,函数为数值输出函数。获得的C模型文件的模型信息组包括:输入变量为两个字符量,输出变量为字符变量,函数为求和运算函数。
需要说明的是,由于A模型和D模型是非目标模型文件,其模型信息组对目标仿真软件已知可读。
则在如图2所示的系统模型完成连接后,用户通过人际交互界面生成启动仿真指令。
步骤S301,响应于启动仿真指令,目标仿真软件调用第一预设接口,将各模型文件的模型信息组导入预设解释器的第二工作目录。并触发步骤S302。
步骤S302,目标仿真软件响应于启动仿真指令,将第一类型的预设触发变量发送至A模型。同时,目标仿真软件利用预设类型转换函数,将第一类型的预设触发变量转换为第二类型的预设触发变量,并调用第二预设接口向预设解释器发送第二类型的预设触发变量。并触发步骤S303和步骤S304。
步骤S303,A模型基于第一类型的预设触发变量,输出数值为100的字符变量。并触发步骤S306。
需要说明的是,由于A模型是非目标模型文件,因此上述数值为100的字符变量是第一类型的字符变量。
步骤S304,预设解释器根据第二类型的预设触发变量,确定目标函数为数值输出函数。并调用数值输出函数输出数值为500的字符变量。并触发步骤S305。
需要说明的是,由于B模型是目标模型文件,因此预设解释器输出的数值为500的字符变量是第二类型的字符变量。
步骤S305,目标仿真软件利用预设类型转换函数,将数值为500的第二类型的字符变量转换为数值为500的第一类型的字符变量。并触发步骤S306。
步骤S306,目标仿真软件利用预设类型转换函数,将述上述数值为100的字符变量和数值为500的字符变量,分别转换为对应的第二类型的字符变量。并触发步骤S307。
步骤S307,目标仿真软件调用第二预设接口,将数值为100的第二类型的字符变量,和数值为500的第二类型的字符变量,输入预设解释器。并触发步骤S308。
步骤S308,预设解释器基于数值为100的第二类型的字符变量,和数值为 500的第二类型的字符变量,从第二工作目录中确定目标函数为求和运算函数,并利用求和运算函数对两个第二类型的字符变量进行求和运算,通过预设接口输出数值为600的第二类型的字符变量。并触发步骤S309。
步骤S309,目标仿真软件利用预设类型转换函数,将数值为600的第二类型的字符变量,转换为数值为600的第一类型的字符变量。并触发步骤S310。
步骤S310,目标仿真软件将数值为600的第一类型的字符变量,输入D模型。并触发步骤S311。
步骤S311,D模型基于数值为600的第一类型的字符变量进行减法运算,输出数值为550的第一类型的字符变量,同时触发生成系统模型仿真结束的指令。并触发步骤S312。
步骤S312,目标仿真软件响应于系统模型仿真结束的指令,调用第四预设接口控制预设解释器清空第二工作目录。并结束流程。
与上述方法实施例相对应地,本发明还提供了一种建模仿真系统,如图3 所示,该建模仿真系统包括:
建模仿真工具301和预设解释器302,建模仿真工具301用于利用预设解析函数,对第一工作目录中的各目标模型文件进行文本解析,获得各目标模型文件的模型信息组,其中,第一工作目录是目标仿真软件的工作目录;在接收到启动仿真指令后,控制系统模型开始仿真,并调用第一预设接口控制预设解释器302将各目标模型文件的模型信息组导入第二工作目录,其中,第二工作目录是预设解释器302的工作目录;
对各目标模型文件:建模仿真工具301利用预设类型转换函数,将上级模型文件输出的当前的第一类型变量转换为当前的第二类型变量,其中,上级模型文件的输出变量是该目标模型文件的输入变量,第一类型变量为目标仿真软件可读数据类型的变量;通过第二预设接口向预设解释器302发送当前的第二类型变量,以使预设解释器302基于第二工作目录中各模型信息组,确定与当前的第二类型变量对应的目标函数,并利用目标函数对当前的第二类型变量进行计算,获得第一计算结果;利用预设类型转换函数,将第一计算结果转换为当前的第一类型变量并输出;将该目标模型文件输出的当前的第一类型变量,通过预设第三接口发送至下级模型文件;
建模仿真工具301在接收到系统模型仿真结束的指令后,通过第四预设接口控制预设解释器302清空第二工作目录。
可选的,上述建模仿真工具301还被设置为:
对各非目标模型文件:
将上级模型文件输出的当前的第一类型变量输入至该非目标模型文件中,以使该非目标模型文件基于当前的第一类型变量进行计算,获得第二计算结果,并将第二计算结果确定为当前的第一类型变量,发送至下级模型文件,其中,非目标模型文件是由目标仿真软件生成的模型文件。
可选的,上述建模仿真工具301还被设置为:
在无上级模型文件输出当前的第一类型变量的情况下,响应于启动仿真指令,将第一类型的预设触发变量确定为当前的第一类型变量。
可选的,预设解释器302基于第二工作目录中各模型信息组,确定与当前的第二类型变量对应的目标函数,并利用目标函数对当前的第二类型变量进行计算,获得第一计算结果时,被设置为:
预设解释器302读取当前的第二类型变量的变量名;
对第二工作目录中的各模型信息组:判断该模型信息组中的输入变量名与变量名是否一致,若是,则该模型信息组中的函数确定为目标函数;
并利用目标函数对当前的第二类型变量进行计算,获得第一计算结果。
可选的,上述建模仿真工具301在确定模型文件的上下级关系时被设置为:
根据系统模型中各模型文件的连接关系确定模型文件的上下级关系。
一种计算机可读存储介质,当计算机可读存储介质中的指令由建模仿真系统的处理器执行时,使得建模仿真系统能够执行如上述任一种的建模仿真方法。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种建模仿真方法,其特征在于,应用于目标仿真软件,所述方法包括:
利用预设解析函数,对第一工作目录中的各目标模型文件进行文本解析,获得各目标模型文件的模型信息组,其中,所述第一工作目录是所述目标仿真软件的工作目录;
在接收到启动仿真指令后,控制系统模型开始仿真,并调用第一预设接口控制预设解释器将各所述目标模型文件的模型信息组导入第二工作目录,其中,所述第二工作目录是所述预设解释器的工作目录;
对各目标模型文件:利用预设类型转换函数,将上级模型文件输出的当前的第一类型变量转换为当前的第二类型变量,其中,所述上级模型文件的输出变量是该目标模型文件的输入变量,所述第一类型变量为所述目标仿真软件可读数据类型的变量;通过第二预设接口向所述预设解释器发送当前的所述第二类型变量,以使所述预设解释器基于所述第二工作目录中各所述模型信息组,确定与当前的所述第二类型变量对应的目标函数,并利用所述目标函数对当前的所述第二类型变量进行计算,获得第一计算结果;利用所述预设类型转换函数,将所述第一计算结果转换为当前的所述第一类型变量并输出;将该目标模型文件输出的当前的所述第一类型变量,通过预设第三接口发送至下级模型文件;
在接收到所述系统模型仿真结束的指令后,通过第四预设接口控制所述预设解释器清空所述第二工作目录。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对各非目标模型文件:
将所述上级模型文件输出的当前的所述第一类型变量输入至该非目标模型文件中,以使该非目标模型文件基于当前的所述第一类型变量进行计算,获得第二计算结果,并将所述第二计算结果确定为当前的所述第一类型变量,发送至所述下级模型文件,其中,所述非目标模型文件是由所述目标仿真软件生成的模型文件。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在无所述上级模型文件输出所述当前的第一类型变量的情况下,响应于所述启动仿真指令,将第一类型的预设触发变量确定为当前的所述第一类型变量。
4.根据权利要求1所述的方法,其特征在于,所述通过第二预设接口向所述预设解释器发送当前的所述第二类型变量,以使所述预设解释器基于所述第二工作目录中各所述模型信息组,确定与当前的所述第二类型变量对应的目标函数,并利用所述目标函数对当前的所述第二类型变量进行计算,获得第一计算结果,包括:
所述预设解释器读取当前的所述第二类型变量的变量名;
对所述第二工作目录中的各所述模型信息组:判断该模型信息组中的输入变量名与所述变量名是否一致,若是,则该模型信息组中的函数确定为所述目标函数;
并利用所述目标函数对当前的所述第二类型变量进行计算,获得第一计算结果。
5.根据权利要求1或4所述的方法,其特征在于,所述目标模型文件是除所述目标仿真软件外的其他仿真软件生成的模型文件。
6.根据权利要求1或3所述的方法,其特征在于,所述模型文件的上下级关系的确定过程包括:
根据所述系统模型中各模型文件的连接关系确定所述模型文件的上下级关系。
7.一种建模仿真系统,其特征在于,所述建模仿真系统包括:
建模仿真工具和预设解释器,
所述建模仿真工具用于利用预设解析函数,对第一工作目录中的各目标模型文件进行文本解析,获得各目标模型文件的模型信息组,其中,所述第一工作目录是所述目标仿真软件的工作目录;在接收到启动仿真指令后,控制系统模型开始仿真,并调用第一预设接口控制预设解释器将各所述目标模型文件的模型信息组导入第二工作目录,其中,所述第二工作目录是所述预设解释器的工作目录;
对各目标模型文件:所述建模仿真工具利用预设类型转换函数,将上级模型文件输出的当前的第一类型变量转换为当前的第二类型变量,其中,所述上级模型文件的输出变量是该目标模型文件的输入变量,所述第一类型变量为所述目标仿真软件可读数据类型的变量;通过第二预设接口向所述预设解释器发送当前的所述第二类型变量,以使所述预设解释器基于所述第二工作目录中各所述模型信息组,确定与当前的所述第二类型变量对应的目标函数,并利用所述目标函数对当前的所述第二类型变量进行计算,获得第一计算结果;利用所述预设类型转换函数,将所述第一计算结果转换为当前的所述第一类型变量并输出;将该目标模型文件输出的当前的所述第一类型变量,通过预设第三接口发送至下级模型文件;
所述建模仿真工具在接收到所述系统模型仿真结束的指令后,通过第四预设接口控制所述预设解释器清空所述第二工作目录。
8.根据权利要求7所述的建模仿真系统,其特征在于,所述建模仿真工具还被设置为:
对各非目标模型文件:
将所述上级模型文件输出的当前的所述第一类型变量输入至该非目标模型文件中,以使该非目标模型文件基于当前的所述第一类型变量进行计算,获得第二计算结果,并将所述第二计算结果确定为当前的所述第一类型变量,发送至所述下级模型文件,其中,所述非目标模型文件是由所述目标仿真软件生成的模型文件。
9.根据权利要求7所述的建模仿真系统,其特征在于,所述预设解释器基于所述第二工作目录中各所述模型信息组,确定与当前的所述第二类型变量对应的目标函数,并利用所述目标函数对当前的所述第二类型变量进行计算,获得第一计算结果时,被设置为:
所述预设解释器读取当前的所述第二类型变量的变量名;
对所述第二工作目录中的各所述模型信息组:判断该模型信息组中的输入变量名与所述变量名是否一致,若是,则该模型信息组中的函数确定为所述目标函数;
并利用所述目标函数对当前的所述第二类型变量进行计算,获得第一计算结果。
10.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由建模仿真系统的处理器执行时,使得所述建模仿真系统能够执行如权利要求1至6中任一项所述的建模仿真方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211261852.7A CN115688389B (zh) | 2022-10-14 | 2022-10-14 | 一种建模仿真方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211261852.7A CN115688389B (zh) | 2022-10-14 | 2022-10-14 | 一种建模仿真方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115688389A CN115688389A (zh) | 2023-02-03 |
CN115688389B true CN115688389B (zh) | 2023-06-23 |
Family
ID=85067001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211261852.7A Active CN115688389B (zh) | 2022-10-14 | 2022-10-14 | 一种建模仿真方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115688389B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116562050B (zh) * | 2023-06-06 | 2024-01-09 | 四川盛世融合科技有限公司 | 一种分布式仿真平台的可视化建模方法及分布式仿真平台 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013114512A (ja) * | 2011-11-29 | 2013-06-10 | Chuo Univ | 回路シミュレーション方法、回路シミュレーション装置、および回路シミュレーションプログラム |
CN103324806A (zh) * | 2013-07-04 | 2013-09-25 | 中船第九设计研究院工程有限公司 | 一种基于ruby语言的sketchup厂房自动建模方法 |
CN111221520A (zh) * | 2019-12-17 | 2020-06-02 | 特变电工西安柔性输配电有限公司 | 电力系统控制器控制算法生成方法、设备及可读存储介质 |
CN112115604A (zh) * | 2020-09-14 | 2020-12-22 | 苏州同元软控信息技术有限公司 | Modelica模型与Simulink模型的联合仿真方法、系统及电子设备 |
CN112989740A (zh) * | 2021-04-23 | 2021-06-18 | 北京欣博电子科技有限公司 | 一种仿真方法、装置、计算机设备和存储介质 |
CN114579132A (zh) * | 2020-12-01 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 一种转换文件生成方法、装置、电子设备及存储介质 |
CN114580146A (zh) * | 2022-01-19 | 2022-06-03 | 江闻文 | 一种仿真数据解析方法、装置、终端及存储介质 |
CN114925516A (zh) * | 2022-05-16 | 2022-08-19 | 北京世冠金洋科技发展有限公司 | 一种自动建模并仿真的方法和装置 |
CN115061772A (zh) * | 2022-04-27 | 2022-09-16 | 北京航空航天大学 | 一种多领域仿真模型集成方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10872465B2 (en) * | 2017-05-02 | 2020-12-22 | General Electric Company | System and method for model drawing tool |
-
2022
- 2022-10-14 CN CN202211261852.7A patent/CN115688389B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013114512A (ja) * | 2011-11-29 | 2013-06-10 | Chuo Univ | 回路シミュレーション方法、回路シミュレーション装置、および回路シミュレーションプログラム |
CN103324806A (zh) * | 2013-07-04 | 2013-09-25 | 中船第九设计研究院工程有限公司 | 一种基于ruby语言的sketchup厂房自动建模方法 |
CN111221520A (zh) * | 2019-12-17 | 2020-06-02 | 特变电工西安柔性输配电有限公司 | 电力系统控制器控制算法生成方法、设备及可读存储介质 |
CN112115604A (zh) * | 2020-09-14 | 2020-12-22 | 苏州同元软控信息技术有限公司 | Modelica模型与Simulink模型的联合仿真方法、系统及电子设备 |
CN114579132A (zh) * | 2020-12-01 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 一种转换文件生成方法、装置、电子设备及存储介质 |
CN112989740A (zh) * | 2021-04-23 | 2021-06-18 | 北京欣博电子科技有限公司 | 一种仿真方法、装置、计算机设备和存储介质 |
CN114580146A (zh) * | 2022-01-19 | 2022-06-03 | 江闻文 | 一种仿真数据解析方法、装置、终端及存储介质 |
CN115061772A (zh) * | 2022-04-27 | 2022-09-16 | 北京航空航天大学 | 一种多领域仿真模型集成方法及系统 |
CN114925516A (zh) * | 2022-05-16 | 2022-08-19 | 北京世冠金洋科技发展有限公司 | 一种自动建模并仿真的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115688389A (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107392619B (zh) | 智能合约处理方法及装置 | |
CN115688389B (zh) | 一种建模仿真方法、系统及存储介质 | |
JP5559356B2 (ja) | ソフトウェア開発方法及びそれのための装置 | |
CN112346730B (zh) | 一种中间表示的生成方法、计算机设备及存储介质 | |
CN112199855A (zh) | 热工水力仿真软件动态生成方法、装置、设备及介质 | |
CN100476732C (zh) | 编译方法、编译装置及编译程序 | |
CN115061673A (zh) | 一种基于低代码可视化表达式编排和执行方法及系统 | |
CN113918126B (zh) | 一种基于图算法的ai建模流程编排方法和系统 | |
CN111159278A (zh) | 数据展示方法及装置、电子设备和计算机可读存储介质 | |
CN110750295B (zh) | 一种信息处理方法,装置,电子设备和存储介质 | |
CN110134434B (zh) | 一种应用生成处理方法及系统、应用生成系统 | |
CN101794240A (zh) | 一种聚合数据内容的方法和系统 | |
CN114449063B (zh) | 一种报文处理方法、装置及设备 | |
EP2058742A1 (en) | Document base system and realizing method thereof | |
CN114443042A (zh) | 基于规则引擎的服务编排执行方法及相关设备 | |
CN114356555A (zh) | 编程方法及相关装置 | |
CN103914304A (zh) | 一种基于sap平台的不同结构类型参数转换方法 | |
CN113761746A (zh) | 一种代数环的识别方法及装置 | |
CN116028598B (zh) | 一种基于es的文件生成方法、装置及计算机可读介质 | |
CN116911393B (zh) | 一种量子芯片设计系统、方法、电子设备和存储介质 | |
CN117955796A (zh) | 推送验证方法及相关装置 | |
KR100323372B1 (ko) | 이엠 코드에 대한 실행시간 스택의 타입 분석 방법 | |
CN116755691A (zh) | 一种基于标识解析的数据对比方法、设备及介质 | |
CN117743532A (zh) | 人机交互方法、设备、电子设备及计算机可读存储介质 | |
CN116796955A (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 |