CN114925516B - 一种自动建模并仿真的方法和装置 - Google Patents
一种自动建模并仿真的方法和装置 Download PDFInfo
- Publication number
- CN114925516B CN114925516B CN202210528803.9A CN202210528803A CN114925516B CN 114925516 B CN114925516 B CN 114925516B CN 202210528803 A CN202210528803 A CN 202210528803A CN 114925516 B CN114925516 B CN 114925516B
- Authority
- CN
- China
- Prior art keywords
- simulation
- modeling
- gckontrol
- target
- module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000004088 simulation Methods 0.000 claims abstract description 273
- 238000004891 communication Methods 0.000 claims abstract description 100
- 238000013515 script Methods 0.000 claims abstract description 94
- 230000009471 action Effects 0.000 claims abstract description 93
- 230000008569 process Effects 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 8
- 238000005094 computer simulation Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 50
- 230000010354 integration Effects 0.000 description 9
- 230000001276 controlling effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开一种自动建模并仿真的方法和装置,该方法和装置获取并运行预先编写的控制脚本,通过运行控制脚本触发目标仿真系统的建模与仿真操作流程中当前进度所需执行的目标动作,并生成用于指示执行该目标动作的通讯指令,进而将生成的通讯指令传输至建模与仿真工具,由建模与仿真工具基于接收的通讯指令执行所述目标动作,最终通过利用控制脚本控制建模与仿真工具依次执行目标仿真系统的建模与仿真操作流程对应的各个动作,并获得各个动作的执行结果,实现对目标仿真系统的自动化建模与仿真,从而本申请通过编写并运行控制脚本实现了在建模与仿真工具自动搭建仿真系统并执行仿真,无需用户手动操作,提升了系统建模与仿真效率。
Description
技术领域
本申请属于建模与仿真技术领域,尤其涉及一种自动建模并仿真的方法和装置。
背景技术
GCKontrol,是一款用于系统建模设计与仿真的软件,它提供了类似Simulink的丰富的数学模块,用户可以在GCKontrol下运用各种数学模块搭建仿真系统并仿真,得到仿真结果。
目前,用户在使用GCKontrol等软件时,需要手动操作搭建仿真系统并仿真,用户手动操作会比较繁琐,建模与仿真效率低,尤其是用户希望在某些参数取不同值情况下查看仿真结果的变化的场景,需要先基于手动操作配置一次参数值,执行仿真并查看仿真结果,之后,再配置一次新的参数值,执行仿真并查看结果…依次类推,严重影响了仿真效率。
发明内容
有鉴于此,本申请提供一种自动建模并仿真的方法和装置,通过编写控制脚本自动搭建仿真系统并执行仿真,来避免用户手动操作,提升系统建模与仿真效率。
具体技术方案如下:
一种自动建模并仿真的方法,包括:
获取并运行预先编写的控制脚本;所述控制脚本的脚本程序用于指征基于预定的建模与仿真工具实现目标仿真系统的建模与仿真所需的操作流程;
通过运行所述控制脚本触发所述操作流程的当前进度需执行的目标动作;
生成用于指示执行所述目标动作的通讯指令;
将所述通讯指令传输至所述建模与仿真工具,以使所述建模与仿真工具基于所述通讯指令执行所述目标动作;
获取所述建模与仿真工具通过执行所述目标动作所返回的执行结果,以通过控制所述建模与仿真工具依次执行所述操作流程对应的各个动作并获得各个动作的执行结果,实现所述目标仿真系统的建模与仿真。
可选的,所述通过运行所述控制脚本触发所述操作流程的当前进度需执行的目标动作,包括:
通过运行所述控制脚本,调用预设资源库中所述操作流程的当前进度需执行的目标动作对应的目标接口;
其中,所述预设资源库包括工程建模管理模块,所述工程建模管理模块包括多个分别对应于所述建模与仿真工具的相应业务功能的接口,且各个接口与所述建模与仿真工具中用于实现建模与仿真的各个业务接口一一对应。
可选的,所述预设资源库还包括通讯模块和业务执行指令模块,所述生成用于指示执行所述目标动作的通讯指令,将所述通讯指令传输至所述建模与仿真工具,包括:
利用所述业务执行指令模块基于预先制定的通讯协议,将对所述目标接口的调用组织成对应的通讯指令;
利用所述通讯模块将所述通讯指令传输至所述建模与仿真工具。
可选的,所述通讯协议提供有多个通讯指令,所述多个通讯指令包括实现系统建模与仿真所需的各个动作对应的动作指令及动作执行结果应答指令。
可选的,所述建模与仿真工具基于所述通讯指令执行所述目标动作,包括:
所述建模与仿真工具解析所述通讯指令,基于解析结果调用对应的目标业务接口,以通过调用对应的目标业务接口触发所述目标动作所需的业务处理,实现对所述目标动作的执行。
可选的,在通过运行所述控制脚本触发所述操作流程的当前进度需执行的目标动作之前,所述方法还包括:
通过运行所述控制脚本导入所述预设资源库,并建立与所述建模与仿真工具的通讯连接。
可选的,所述预设资源库还包括多个用于实现相应运算处理的运算模块,和用于在建模与仿真过程中对出现的相应错误或异常进行处理的异常处理模块;
其中,所述建模与仿真工具通过基于相应业务接口调用所需的运算模块并对调用的运算模块进行组织与参数配置,实现对所述目标仿真系统的搭建。
可选的,所述控制脚本包括为目标仿真系统的系统参数提供的不同参数值;
所述方法通过运行所述控制脚本,控制所述建模与仿真工具将搭建的目标仿真系统在不同参数值下多次运行,得到一个所述目标仿真系统的多次仿真结果。
可选的,所述控制脚本用于指示搭建与仿真多个不同的目标仿真系统;
所述方法通过运行所述控制脚本,控制所述建模与仿真工具搭建多个不同的目标仿真系统,并对搭建的多个目标仿真系统依次进行仿真运算,得到所述多个不同的目标仿真系统的仿真结果。
一种自动建模并仿真的装置,包括:
获取与运行单元,用于获取并运行预先编写的控制脚本;所述控制脚本的脚本程序用于指征基于预定的建模与仿真工具实现目标仿真系统的建模与仿真所需的操作流程;
触发单元,用于通过运行所述控制脚本触发所述操作流程的当前进度需执行的目标动作;
生成单元,用于生成用于指示执行所述目标动作的通讯指令;
通讯单元,用于将所述通讯指令传输至所述建模与仿真工具,以使所述
建模与仿真工具基于所述通讯指令执行所述目标动作;并获取所述建模与仿真工具通过执行所述目标动作所返回的执行结果,以通过控制所述建模与仿真工具依次执行所述操作流程对应的各个动作并获得各个动作的执行结果,实现所述目标仿真系统的建模与仿真。
根据以上方案可知,本申请提供的自动建模并仿真的方法和装置,获取并运行预先编写的控制脚本,通过运行控制脚本触发目标仿真系统的建模与仿真操作流程中当前进度所需执行的目标动作,并生成用于指示执行该目标动作的通讯指令,进而将生成的通讯指令传输至建模与仿真工具,由建模与仿真工具基于接收的通讯指令执行所述目标动作,最终通过利用控制脚本控制建模与仿真工具依次执行目标仿真系统的建模与仿真操作流程对应的各个动作,并获得各个动作的执行结果,实现对目标仿真系统的自动化建模与仿真,从而本申请通过编写并运行控制脚本实现了在建模与仿真工具自动搭建仿真系统并执行仿真,无需用户手动操作,提升了系统建模与仿真效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请提供的GCK.whl库的工程建模管理模块包含的各接口;
图2是本申请提供的GCK.whl库的运算模块Block.py包含的各个模块;
图3是本申请提供的python端与GCKontrol端的交互处理示意图;
图4是本申请提供的自动建模并仿真的方法流程图;
图5是本申请提供的Python脚本控制GCKontrol自动建模仿真的执行流程示例;
图6是本申请提供的积分模块的属性参数示意图;
图7是本申请提供的当积分模块属性配置页面全选“外部”时,在对应画布上为积分模块提供对应的外接引脚的示意图;
图8是本申请提供的GCKontrol运用内置模块搭建出来的一个弹簧模型的示例;
图9是本申请提供的自动建模并仿真的装置的组成结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开一种自动建模并仿真的方法和装置,用于通过编写控制脚本来控制建模与仿真工具自动搭建仿真系统并执行仿真。控制脚本,可以是但不限于基于python编写的python脚本,建模与仿真工具可以是但不限于GCKontrol,本申请实施例将主要以通过编写python脚本自动搭建GCKontrol的仿真系统并执行仿真为例,进行方案说明。
为实现上述技术目的,本申请实施例定义了python程序(python脚本程序)和GCKontrol之间的通讯协议,通讯协议提供有多个通讯指令,所提供的多个通讯指令包括实现系统建模与仿真所需的各个动作对应的动作指令及动作执行结果应答指令。具体的,该通讯协议的内容包括但不限于:
GCKontrol内置模块创建到工程画布上的指令和执行结果应答指令;
GCKontrol内置模块之间创建/删除连线的指令和执行结果应答指令;
GCKontrol内置模块的属性配置指令和执行结果应答指令;
GCKontrol工程中全局参数配置指令和执行结果应答指令;
GCKontrol仿真开始、暂停、重置指令和执行结果应答指令;
GCKontrol工程的保存、另存为指令和执行结果应答指令。
需要说明,通讯协议的上述指令覆盖了GCKontrol主要功能,但并不是GCKontrol的所有功能,这里不再一一列举。
另外,本申请实施例还预先为建模与仿真工具生成一资源库,针对GCKontrol这一建模与仿真工具,具体为GCKontrol生成一python库,即基于python编写的资源库,这里称其为GCK.whl或Kontrol.whl。
GCK.whl库包含通讯模块(基于tcp通讯),GCKontrol业务执行指令模块、工程建模管理模块、运算模块和异常处理模块等各个功能模块,其中的部分模块具体如下:。
11)通讯模块-Communication.py:基于tcp socket实现python和GCKontrol之间的指令传输;
12)工程建模管理模块-Kontrol.py,包含GCKontrol的所有业务对应的接口,结合参见图1,各接口主要包括:
GCKontrol的工程打开、创建、保存;
GCKontrol执行仿真、获得仿真结果、设置仿真时长&仿真步长;
GCKontrol内置模块的创建删除;
GCKontrol内置模块间连线的创建删除;
GCKontrol内置模块的属性配置;
GCKontrol全局参数创建删除修改;
GCKontrol虚拟子系统创建;
GCKontrol生成fmu(功能模型单元)等等。
在基于python脚本的自动建模与仿真过程中,上述各接口的调用会由业务执行指令模块组织成对应的通讯指令,并由通讯模块Communication.py模块将通讯指令发送给GCKontrol。
且,上述各接口与GCKontrol中的业务接口一一对应。也就是说,工程建模管理模块包括多个分别对应于建模与仿真工具的相应业务功能的接口,且各个接口与建模与仿真工具中用于实现建模与仿真的各个业务接口一一对应。
13)运算模块-Block.py,具体用于作为GCKontrol内置的运算模块,对这些模块的运用就是使用GCKontrol搭建仿真系统模型的过程。
参见图2,运算模块Block.py包括但不限于基础模块、基本运算、基础函数、时间函数、插值表、信号通路、数字逻辑以及自定义等各个模块。
另外,Block.py还包含对GCKontrol内置的上述各运算模块的配置管理接口,比如:模块参数设置、模块参数获取、模块运行结果获取、模块使用帮助等接口。
4)异常处理模块-KontrolError.py:用于在执行python脚本进行GCKontrol建模与仿真过程中对出现的各种错误/异常进行处理,并提示用户。
其中,建模与仿真过程中出现的各种错误/异常包括但不限于:连接GCKontrol失败,GCKontrol工程打开失败、GCKontrol接口执行失败、接口入参含有错误的类型等。
除此之外,还在建模与仿真工具端如GCKontrol端进行了改进,使GCKontrol软件具有接收python脚本发送的指令的模块GCHostServer,参见图3示出的python端与GCKontrol端的交互处理示意图,该模块GCHostServer的作用是响应python端通过python脚本发起的socket连接,接收python传来的指令数据包,解析指令并调用对应的GCKontrol业务接口,实现对GCKontrol建模或仿真的相关控制,并返回执行结果。
可选的,Kontrol.whl库存在于GCKontrol的安装包中,在使用python编写脚本控制GCKontrol之前,可以先使用对应命令对Kontrol.whl进行安装,如果要对Kontrol.whl进行升级,可以先用命令卸载,之后再重新执行一次安装。
在编写得到python脚本以用于实现对GCKontrol的控制,进而实现对所需目标仿真系统的自动建模与仿真时,首先要通过运行编写的控制脚本即python脚本在python端导入Kontrol库,这样就可以获得各种可被调用的业务接口。
另外,在建模与仿真之前,还需通过运行编写的python脚本,来自动建立与GCKontrol的通讯连接。
在此基础上,参见图4示出的自动建模并仿真的方法流程图,本申请实施例公开的自动建模并仿真的方法具体包括如下处理过程:
步骤401、获取并运行预先编写的控制脚本;所述控制脚本的脚本程序用于指征基于预定的建模与仿真工具实现目标仿真系统的建模与仿真所需的操作流程。
如,获取并运行预先编写的python脚本。
步骤402、通过运行所述控制脚本触发所述操作流程的当前进度需执行的目标动作。
具体的,通过运行控制脚本,调用预设资源库中所述操作流程的当前进度需执行的目标动作对应的目标接口。例如,通过运行python脚本,调用GCK.whl库的工程建模管理模块Kontrol.py中的相应接口等,python脚本运行过程中,每一具体时刻所调用的接口类型,视python脚本所对应操作流程的当前进度的业务需求而定,根据当前进度的业务需求,具体确定调用GCK.whl库工程建模管理模块Kontrol.py中的GCKontrol工程打开/创建、GCKontrol内置模块的创建、GCKontrol模块间连线的创建、GCKontrol全局参数创建等一系列接口中的哪个接口。
步骤403、生成用于指示执行所述目标动作的通讯指令。
各接口的调用会组织成对应的通讯指令。具体的,利用GCK.whl库中的业务执行指令模块基于上述通讯协议,将python脚本对目标接口的调用组织成对应的通讯指令,如组织成GCKontrol内置模块创建到工程画布上的指令、GCKontrol内置模块之间创建连线的指令等。
步骤404、将所述通讯指令传输至所述建模与仿真工具,以使所述建模与仿真工具基于所述通讯指令执行所述目标动作。
之后,进一步利用GCK.whl库中的通讯模块Communication.py将组织成的通讯指令传输至建模与仿真工具GCKontrol。
建模与仿真工具基于接收的通讯指令实现对应的目标动作。具体的,建模与仿真工具解析接收的通讯指令,基于解析结果调用对应的目标业务接口,具体通过调用对应的目标业务接口触发目标动作所需的业务处理,来实现对目标动作的执行。
也就是说,建模与仿真工具GCKontrol基于解析接收的通讯指令,来调用对应的业务接口实现所需的建模或仿真动作,如调用GCKontrol的工程打开/创建接口实现GCKontrol工程打开/创建、调用GCKontrol内置模块的创建接口实现在工程中创建GCKontrol内置模块、调用GCKontrol内置模块间连线接口实现在内置模块间连线、调用GCKontrol内置模块的属性配置接口实现内置模块的属性配置,或调用GCKontrol全局参数创建接口实现GCKontrol全局参数创建等等。Python脚本控制GCKontrol自动建模仿真的执行流程具体可参见图5提供的示例。
在所创建的工程中,建模与仿真工具GCKontrol主要通过基于相应业务接口调用所需的运算模块并对调用的运算模块进行组织与参数配置,实现对目标仿真系统的搭建。为运算模块所配置的参数主要为运算模块的属性参数。
以GCKontrol内置模块中的积分模块为例,具体可通过在Python脚本的控制下使GCKontrol自动执行相应操作(如双击积分模块)来弹出该积分模块这一内置模块的属性配置对话框,积分模块的属性参数则参见图6中展示的各个选项,主要包括:
21)初值来源是内部还是外部,如果是内部,初值可以进行配置,图6中配置的是0.04,也可以配置为其他值;
22)是否有重置;
23)输出限制来自内部还是外部,如果是内部,可以在上限、下限的编辑框设置具体的值,图6中“inf”和“-inf”表示上下限均为无穷大。
图7则表示积分模块属性配置页面如果全选“外部”,对应画布上积分模块会多出很多外接的引脚,表示这些值可以从外部接入。
每个模块都有自己的属性配置项,上述所举例的积分模块,其属性有下面5种,那么就会有分别对应的相应python接口来配置这些属性:
属性1:初值来源:外部或者内部;
属性2:如果初值来源于内部,初值应该给一个值;
属性3:是否在外部暴露重置引脚,让外接的信号控制积分的重置动作;
属性4:输出限制是外部还是内部,如果是外部,需要暴露min/max引脚,让外接的信号控制输出的最大/最小值;
属性5:如果输出限制是内部,上限/下限需要分别给定值。
参见图8,为本申请实施例中GCKontrol运用内置模块搭建出来的一个弹簧模型的示例。
步骤405、获取所述建模与仿真工具通过执行所述目标动作所返回的执行结果,以通过控制所述建模与仿真工具依次执行所述操作流程对应的各个动作并获得各个动作的执行结果,实现所述目标仿真系统的建模与仿真。
Python脚本通过调用GCK.whl库,实现和GCKontrol之间的指令传送,具体的,Python端发送执行指令给GCKontrol.exe进程,GCKontrol接收指令后按照约定协议对其进行解析,并基于解析结果调用对应的业务接口执行对应动作,最终将执行结果应答指令回传给Python端。
本申请通过在Python端控制GCKontrol依次执行建模与仿真操作流程对应的各个动作并获得各个动作的执行结果,实现对目标仿真系统的自动建模与仿真,并在Python端对建模与仿真过程相关信息和仿真结果信息进行可视化展示,以此实现利用Python脚本控制GCKontrol工程(仿真系统)的自动建模和仿真,使得为GCKontrol的使用提供一种新的方法,在建模与仿真场景下替代一系列繁琐的对GCKontrol的手动操作。
容易理解,本申请实施例为能够调用控制脚本(如python脚本)的第三方软件控制GCKontrol等建模与仿真工具提供了途径,比如matlab能够调用python,则通过本申请方法可以实现matlab对GCKontrol的控制。
根据以上方案可知,本申请实施例的方法,获取并运行预先编写的控制脚本,通过运行控制脚本触发目标仿真系统的建模与仿真操作流程中当前进度所需执行的目标动作,并生成用于指示执行该目标动作的通讯指令,进而将生成的通讯指令传输至建模与仿真工具,由建模与仿真工具基于接收的通讯指令执行所述目标动作,最终通过利用控制脚本控制建模与仿真工具依次执行目标仿真系统的建模与仿真操作流程对应的各个动作,并获得各个动作的执行结果,实现对目标仿真系统的自动化建模与仿真,从而本申请通过编写并运行控制脚本实现了在建模与仿真工具自动搭建仿真系统并执行仿真,无需用户手动操作,提升了系统建模与仿真效率。
在一实施例中,可选的,控制脚本中具体包括为目标仿真系统的系统参数提供的不同参数值。该情况下,本申请公开的方法相应通过运行该控制脚本,控制建模与仿真工具将搭建的目标仿真系统在不同参数值下多次运行,得到一个目标仿真系统的多次仿真结果。
例如,针对上述积分模块的示例,通过在Python脚本中为该积分模块的各个属性参数分别配置多套参数值,使得在运行该Python脚本时,能自动将搭建的仿真系统在多套参数值下多次运行,相应通过一次Python脚本的执行过程,得到包括该积分模块的仿真系统的多次仿真结果,在避免用户多次执行手动配置操作的前提下,实现了快速对同一仿真系统(工程)进行多次仿真。
在一实施例中,可选的,控制脚本用于指示搭建与仿真多个不同的目标仿真系统;该情况下,本申请公开的方法通过运行控制脚本,控制建模与仿真工具搭建多个不同的目标仿真系统,并对搭建的多个目标仿真系统依次进行仿真运算,得到所述多个不同的目标仿真系统的仿真结果。
对应于上述的自动建模并仿真的方法,本申请实施例还提供一种自动建模并仿真的装置,如图9所示,该装置包括:
获取与运行单元901,用于获取并运行预先编写的控制脚本;所述控制脚本的脚本程序用于指征基于预定的建模与仿真工具实现目标仿真系统的建模与仿真所需的操作流程;
触发单元902,用于通过运行所述控制脚本触发所述操作流程的当前进度需执行的目标动作;
生成单元903,用于生成用于指示执行所述目标动作的通讯指令;
通讯单元904,用于将所述通讯指令传输至所述建模与仿真工具,以使所述建模与仿真工具基于所述通讯指令执行所述目标动作;并获取所述建模与仿真工具通过执行所述目标动作所返回的执行结果,以通过控制所述建模与仿真工具依次执行所述操作流程对应的各个动作并获得各个动作的执行结果,实现所述目标仿真系统的建模与仿真。
在一实施方式中,触发单元902,具体用于:
通过运行所述控制脚本,调用预设资源库中所述操作流程的当前进度需执行的目标动作对应的目标接口;
其中,所述预设资源库包括工程建模管理模块,所述工程建模管理模块包括多个分别对应于所述建模与仿真工具的相应业务功能的接口,且各个接口与所述建模与仿真工具中用于实现建模与仿真的各个业务接口一一对应。
在一实施方式中,所述预设资源库还包括通讯模块和业务执行指令模块,生成单元903,具体用于:利用所述业务执行指令模块基于预先制定的通讯协议,将对所述目标接口的调用组织成对应的通讯指令;
通讯单元904,在将所述通讯指令传输至所述建模与仿真工具时,具体用于:利用所述通讯模块将所述通讯指令传输至所述建模与仿真工具。
在一实施方式中,所述通讯协议提供有多个通讯指令,所述多个通讯指令包括实现系统建模与仿真所需的各个动作对应的动作指令及动作执行结果应答指令。
在一实施方式中,所述建模与仿真工具基于所述通讯指令执行所述目标动作,包括:所述建模与仿真工具解析所述通讯指令,基于解析结果调用对应的目标业务接口,以通过调用对应的目标业务接口触发所述目标动作所需的业务处理,实现对所述目标动作的执行。
在一实施方式中,所述装置还包括预处理单元,用于在通过运行所述控制脚本触发所述操作流程的当前进度需执行的目标动作之前,通过运行所述控制脚本导入所述预设资源库,并建立与所述建模与仿真工具的通讯连接。
在一实施方式中,所述预设资源库还包括多个用于实现相应运算处理的运算模块,和用于在建模与仿真过程中对出现的相应错误或异常进行处理的异常处理模块;
其中,所述建模与仿真工具通过基于相应业务接口调用所需的运算模块并对调用的运算模块进行组织与参数配置,实现对所述目标仿真系统的搭建。
在一实施方式中,所述控制脚本包括为目标仿真系统的系统参数提供的不同参数值;所述装置通过运行所述控制脚本,控制所述建模与仿真工具将搭建的目标仿真系统在不同参数值下多次运行,得到一个所述目标仿真系统的多次仿真结果。
在一实施方式中,所述控制脚本用于指示搭建与仿真多个不同的目标仿真系统;所述装置通过运行所述控制脚本,控制所述建模与仿真工具搭建多个不同的目标仿真系统,并对搭建的多个目标仿真系统依次进行仿真运算,得到所述多个不同的目标仿真系统的仿真结果。
对于本申请实施例公开的自动建模并仿真的装置而言,由于其与上文方法实施例公开的自动建模并仿真的方法相对应,所以描述的比较简单,相关相似之处请参见上文方法实施例的说明即可,此处不再详述。
综上所述,本申请实施例公开的自动建模并仿真的方法和装置,与现有技术相比,至少具备以下技术优势:
31)本申请为GCKontrol等建模与仿真工具提供了一种新的使用方法,可以用python脚本等控制脚本替代手动操作,对GCKontrol进行自动建模仿真。
32)本申请方法同样适用于对GCKontrol等建模与仿真工具的测试场景中,该场景中可以用python脚本替代手动测试操作,GCKontrol每出一个新版本就执行一次编写好的python脚本,通过执行python脚本在GCKontrol自动对GCKontrol的各项功能依次进行自动回归测试,使得将GCKontrol的bug尽早暴露出来;
33)在Python脚本的编写阶段就可以设计同一GCKontrol工程(仿真系统)在不同参数值下的多次运行,以快速得到多次仿真结果;
34)在Python脚本的编写阶段就可以设计搭建不同的GCKontrol工程(仿真系统),依次进行仿真运算,得到多个仿真系统及各自的仿真结果;
35)本申请为可以调用python的第三方软件控制GCKontrol提供了途径,比如matlab可以调用python,本申请可以实现matlab对GCKontrol的控制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (9)
1.一种自动建模并仿真的方法,其特征在于,包括:
获取并运行预先编写的控制脚本;所述控制脚本的脚本程序用于指征基于预定的建模与仿真工具实现目标仿真系统的建模与仿真所需的操作流程;
通过运行所述控制脚本触发所述操作流程的当前进度需执行的目标动作;
生成用于指示执行所述目标动作的通讯指令;
将所述通讯指令传输至所述建模与仿真工具,以使所述建模与仿真工具基于所述通讯指令执行所述目标动作,以及使所述建模与仿真工具通过基于相应业务接口调用所需的运算模块并对调用的运算模块进行组织与参数配置,实现对目标仿真系统的搭建;
获取所述建模与仿真工具通过执行所述目标动作所返回的执行结果,以通过控制所述建模与仿真工具依次执行所述操作流程对应的各个动作并获得各个动作的执行结果,实现所述目标仿真系统的建模与仿真;
所述建模与仿真工具包括:GCKontrol;
所述方法还包括:预先为建模与仿真工具GCKontrol生成一python库,所述python库至少包括:通讯模块,GCKontrol业务执行指令模块、工程建模管理模块、运算模块和异常处理模块;
所述通讯模块用于基于tcpsocket实现python和GCKontrol之间的指令传输;
所述工程建模管理模块包含GCKontrol的所有业务对应的接口,各接口至少包括:
GCKontrol的工程打开、创建、保存;
GCKontrol执行仿真、获得仿真结果、设置仿真时长和仿真步长;
GCKontrol内置模块的创建删除;
GCKontrol内置模块间连线的创建删除;
GCKontrol内置模块的属性配置;
GCKontrol全局参数创建删除修改;
GCKontrol虚拟子系统创建;
GCKontrol生成功能模型单元fmu;
在基于python脚本的自动建模与仿真过程中,上述各接口的调用会由GCKontrol业务执行指令模块组织成对应的通讯指令,并由通讯模块将通讯指令发送给GCKontrol;
所述运算模块为GCKontrol内置的运算模块;
所述异常处理模块用于在执行python脚本进行GCKontrol建模与仿真过程中对出现的各种错误或异常进行处理,并提示用户;
各个接口与所述建模与仿真工具中用于实现建模与仿真的各个业务接口一一对应。
2.根据权利要求1所述的方法,其特征在于,所述通过运行所述控制脚本触发所述操作流程的当前进度需执行的目标动作,包括:
通过运行所述控制脚本,调用预设资源库中所述操作流程的当前进度需执行的目标动作对应的目标接口;
其中,所述工程建模管理模块包括多个分别对应于所述建模与仿真工具的相应业务功能的接口。
3.根据权利要求2所述的方法,其特征在于,所述生成用于指示执行所述目标动作的通讯指令,将所述通讯指令传输至所述建模与仿真工具,包括:
利用所述GCKontrol业务执行指令模块基于预先制定的通讯协议,将对所述目标接口的调用组织成对应的通讯指令;
利用所述通讯模块将所述通讯指令传输至所述建模与仿真工具。
4.根据权利要求3所述的方法,其特征在于,所述通讯协议提供有多个通讯指令,所述多个通讯指令包括实现系统建模与仿真所需的各个动作对应的动作指令及动作执行结果应答指令。
5.根据权利要求2所述的方法,其特征在于,所述建模与仿真工具基于所述通讯指令执行所述目标动作,包括:
所述建模与仿真工具解析所述通讯指令,基于解析结果调用对应的目标业务接口,以通过调用对应的目标业务接口触发所述目标动作所需的业务处理,实现对所述目标动作的执行。
6.根据权利要求2所述的方法,其特征在于,在通过运行所述控制脚本触发所述操作流程的当前进度需执行的目标动作之前,所述方法还包括:
通过运行所述控制脚本导入所述预设资源库,并建立与所述建模与仿真工具的通讯连接。
7.根据权利要求1所述的方法,其特征在于,所述控制脚本包括为目标仿真系统的系统参数提供的不同参数值;
所述方法通过运行所述控制脚本,控制所述建模与仿真工具将搭建的目标仿真系统在不同参数值下多次运行,得到一个所述目标仿真系统的多次仿真结果。
8.根据权利要求1所述的方法,其特征在于,所述控制脚本用于指示搭建与仿真多个不同的目标仿真系统;
所述方法通过运行所述控制脚本,控制所述建模与仿真工具搭建多个不同的目标仿真系统,并对搭建的多个目标仿真系统依次进行仿真运算,得到所述多个不同的目标仿真系统的仿真结果。
9.一种自动建模并仿真的装置,其特征在于,包括:
获取与运行单元,用于获取并运行预先编写的控制脚本;所述控制脚本的脚本程序用于指征基于预定的建模与仿真工具实现目标仿真系统的建模与仿真所需的操作流程;
触发单元,用于通过运行所述控制脚本触发所述操作流程的当前进度需执行的目标动作;
生成单元,用于生成用于指示执行所述目标动作的通讯指令;
通讯单元,用于将所述通讯指令传输至所述建模与仿真工具,以使所述建模与仿真工具基于所述通讯指令执行所述目标动作,以及使所述建模与仿真工具通过基于相应业务接口调用所需的运算模块并对调用的运算模块进行组织与参数配置,实现对目标仿真系统的搭建;并获取所述建模与仿真工具通过执行所述目标动作所返回的执行结果,以通过控制所述建模与仿真工具依次执行所述操作流程对应的各个动作并获得各个动作的执行结果,实现所述目标仿真系统的建模与仿真;
所述建模与仿真工具包括:GCKontrol;
所述装置还用于:预先为建模与仿真工具GCKontrol生成一python库,所述python库至少包括:通讯模块,GCKontrol业务执行指令模块、工程建模管理模块、运算模块和异常处理模块;
所述通讯模块用于基于tcpsocket实现python和GCKontrol之间的指令传输;
所述工程建模管理模块包含GCKontrol的所有业务对应的接口,各接口至少包括:
GCKontrol的工程打开、创建、保存;
GCKontrol执行仿真、获得仿真结果、设置仿真时长和仿真步长;
GCKontrol内置模块的创建删除;
GCKontrol内置模块间连线的创建删除;
GCKontrol内置模块的属性配置;
GCKontrol全局参数创建删除修改;
GCKontrol虚拟子系统创建;
GCKontrol生成功能模型单元fmu;
在基于python脚本的自动建模与仿真过程中,上述各接口的调用会由GCKontrol业务执行指令模块组织成对应的通讯指令,并由通讯模块将通讯指令发送给GCKontrol;
所述运算模块为GCKontrol内置的运算模块;
所述异常处理模块用于在执行python脚本进行GCKontrol建模与仿真过程中对出现的各种错误或异常进行处理,并提示用户;
各个接口与所述建模与仿真工具中用于实现建模与仿真的各个业务接口一一对应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210528803.9A CN114925516B (zh) | 2022-05-16 | 2022-05-16 | 一种自动建模并仿真的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210528803.9A CN114925516B (zh) | 2022-05-16 | 2022-05-16 | 一种自动建模并仿真的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114925516A CN114925516A (zh) | 2022-08-19 |
CN114925516B true CN114925516B (zh) | 2024-01-26 |
Family
ID=82809222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210528803.9A Active CN114925516B (zh) | 2022-05-16 | 2022-05-16 | 一种自动建模并仿真的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114925516B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115688389B (zh) * | 2022-10-14 | 2023-06-23 | 北京世冠金洋科技发展有限公司 | 一种建模仿真方法、系统及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8826084B1 (en) * | 2011-09-07 | 2014-09-02 | Innovative Defense Technologies, LLC | Method and system for implementing automated test and retest procedures |
CN104615541A (zh) * | 2015-02-10 | 2015-05-13 | 上海创景计算机系统有限公司 | 基于流程图的仿真测试建模系统及方法 |
US10235274B1 (en) * | 2016-11-03 | 2019-03-19 | The Mathworks, Inc. | Performing an action during program execution based on a dynamic condition |
CN109800539A (zh) * | 2019-02-27 | 2019-05-24 | 北京世冠金洋科技发展有限公司 | 一种仿真测试方法及系统 |
WO2019113508A1 (en) * | 2017-12-07 | 2019-06-13 | Fractal Industries, Inc. | A system and methods for multi-language abstract model creation for digital environment simulations |
WO2019144680A1 (zh) * | 2018-01-23 | 2019-08-01 | 网易(杭州)网络有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
CN111368443A (zh) * | 2020-03-06 | 2020-07-03 | 北京旷视机器人技术有限公司 | 设备仿真方法、装置及电子设备 |
CN111580898A (zh) * | 2020-05-15 | 2020-08-25 | 北京世冠金洋科技发展有限公司 | 一种仿真软件自动化执行的方法和装置 |
US10977168B1 (en) * | 2019-12-26 | 2021-04-13 | Anthem, Inc. | Automation testing tool framework |
CN112764356A (zh) * | 2020-12-23 | 2021-05-07 | 郑州通晓数据技术有限公司 | 仿真系统的控制方法、装置、设备及存储介质 |
CN112905366A (zh) * | 2021-04-26 | 2021-06-04 | 北京世冠金洋科技发展有限公司 | 仿真模型的运行控制方法、装置及电子设备 |
CN113010413A (zh) * | 2021-02-20 | 2021-06-22 | 烽火通信科技股份有限公司 | 一种接口自动化测试方法和装置 |
CN113761745A (zh) * | 2021-09-08 | 2021-12-07 | 北京世冠金洋科技发展有限公司 | 联合仿真方法及装置、存储介质及电子设备 |
CN113961453A (zh) * | 2021-09-30 | 2022-01-21 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 航空机载软件全数字仿真测试系统 |
CN114139404A (zh) * | 2021-12-14 | 2022-03-04 | 江苏汇博机器人技术股份有限公司 | 一种机器人的自动化性能测试方法 |
-
2022
- 2022-05-16 CN CN202210528803.9A patent/CN114925516B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8826084B1 (en) * | 2011-09-07 | 2014-09-02 | Innovative Defense Technologies, LLC | Method and system for implementing automated test and retest procedures |
CN104615541A (zh) * | 2015-02-10 | 2015-05-13 | 上海创景计算机系统有限公司 | 基于流程图的仿真测试建模系统及方法 |
US10235274B1 (en) * | 2016-11-03 | 2019-03-19 | The Mathworks, Inc. | Performing an action during program execution based on a dynamic condition |
WO2019113508A1 (en) * | 2017-12-07 | 2019-06-13 | Fractal Industries, Inc. | A system and methods for multi-language abstract model creation for digital environment simulations |
WO2019144680A1 (zh) * | 2018-01-23 | 2019-08-01 | 网易(杭州)网络有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
CN109800539A (zh) * | 2019-02-27 | 2019-05-24 | 北京世冠金洋科技发展有限公司 | 一种仿真测试方法及系统 |
US10977168B1 (en) * | 2019-12-26 | 2021-04-13 | Anthem, Inc. | Automation testing tool framework |
CN111368443A (zh) * | 2020-03-06 | 2020-07-03 | 北京旷视机器人技术有限公司 | 设备仿真方法、装置及电子设备 |
CN111580898A (zh) * | 2020-05-15 | 2020-08-25 | 北京世冠金洋科技发展有限公司 | 一种仿真软件自动化执行的方法和装置 |
CN112764356A (zh) * | 2020-12-23 | 2021-05-07 | 郑州通晓数据技术有限公司 | 仿真系统的控制方法、装置、设备及存储介质 |
CN113010413A (zh) * | 2021-02-20 | 2021-06-22 | 烽火通信科技股份有限公司 | 一种接口自动化测试方法和装置 |
CN112905366A (zh) * | 2021-04-26 | 2021-06-04 | 北京世冠金洋科技发展有限公司 | 仿真模型的运行控制方法、装置及电子设备 |
CN113761745A (zh) * | 2021-09-08 | 2021-12-07 | 北京世冠金洋科技发展有限公司 | 联合仿真方法及装置、存储介质及电子设备 |
CN113961453A (zh) * | 2021-09-30 | 2022-01-21 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 航空机载软件全数字仿真测试系统 |
CN114139404A (zh) * | 2021-12-14 | 2022-03-04 | 江苏汇博机器人技术股份有限公司 | 一种机器人的自动化性能测试方法 |
Non-Patent Citations (3)
Title |
---|
Anastasia Anagnostou等.Towards a deadline-based simulation experimentation framework using micro-services auto-scaling approach.《WSC '19: Proceedings of the Winter Simulation Conference》.2020,第2749–2758页. * |
FPGA软件半实物仿真测试环境研究与框架设计;高虎;郑军;封二强;;微电子学与计算机(06);全文 * |
基于NI Veristand的自动化脚本测试;李晓磊;陆波;;电子世界(16);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114925516A (zh) | 2022-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110928529B (zh) | 辅助算子开发的方法和系统 | |
CN103198009B (zh) | 一种通用测试方法、系统及相应装置 | |
US6286033B1 (en) | Method and apparatus for distributing computer integrated telephony (CTI) scripts using extensible mark-up language (XML) for mixed platform distribution and third party manipulation | |
US10678666B1 (en) | Method and system for implementing automated test and retest procedures in a virtual test environment | |
US6141724A (en) | Remote application design | |
EP1657634A2 (en) | Test agent architecture | |
CN109740222B (zh) | 一种针对汽车网联化场景的测试装置和系统 | |
CN103995777A (zh) | 嵌入式软件黑盒自动化测试系统及测试方法 | |
JP2008170998A (ja) | タービン制御シミュレーションのためのシステム及び方法 | |
CN105260315A (zh) | 一种在嵌入式系统进程中调试日志的方法 | |
CN108460199B (zh) | Cni建模系统 | |
CN110362490B (zh) | 融合iOS与Android移动应用的自动化测试方法及系统 | |
CN114925516B (zh) | 一种自动建模并仿真的方法和装置 | |
CN112579455B (zh) | 一种接口自动化测试方法、装置、电子设备及存储介质 | |
CN107122219A (zh) | 安装文件的获取方法和装置 | |
CN113064816B (zh) | 一种可编程逻辑器件软件的测试装置及测试方法 | |
CN107203471B (zh) | 联调方法、服务平台及计算机存储介质 | |
CN108055142B (zh) | 一种vCPE设备的接口自动化配置方法及系统 | |
CN115113850A (zh) | 一种跨平台应用的构建、运行方法、服务器、终端和系统 | |
CN115344248A (zh) | 一种rpa开发字段编辑多样化方法 | |
US8495596B1 (en) | System, method, and computer program for interfacing an automatic operational support system with a legacy operational support system | |
CN117472729A (zh) | 一种通用api自动化测试系统 | |
CN112597026B (zh) | 一种测试用例生成方法及装置 | |
CN117574649A (zh) | 一种分布式仿真方法、系统、设备及存储介质 | |
Salo | Development of System Component Testing Tool Endeavour for New Message Format |
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 |