一种基于接口模型的内嵌式工具软件集成系统及方法与流程

文档序号:11828856阅读:205来源:国知局
一种基于接口模型的内嵌式工具软件集成系统及方法与流程

本发明涉及工具软件集成。更具体地,涉及一种基于接口模型的内嵌式工具软件集成系统及方法。



背景技术:

复杂产品通常涉及复杂的产品组成、复杂的学科专业,具有多学科子系统高度耦合等特点。目前,制造领域大量使用的CAE等工具软件通常只能建立单学科子系统模型,对复杂产品进行局部的仿真分析;而通过工具软件的集成可构建多学科虚拟样机系统,对复杂产品整体的功能和性能进行联合仿真分析,以减少传统的实物试验和返工迭代。

联合仿真分析主要用于仿真复杂产品的时间动态特性,需要对单学科子系统模型求解的中间状态进行保持,使得耦合的子系统模型间可以交互求解的中间结果。目前,对商品化工具软件的集成主要依赖于软件自身提供的API,通过调用API保存子系统模型求解的中间状态、输出求解的中间结果,再输入其它相关子系统模型求解的中间结果,并重新加载中间状态继续解算。

但是,由于工具软件本身开放性不足等因素,很多工具软件没有提供必要的API,难以进行工具软件集成。缺乏API的条件下,仍然可以通过工具软件提供的用户自定义模型(工具软件在预置丰富的学科单元模型以外,支持用户采用类C的语言自定义单元模型)等方式输出求解的中间结果或者输入其它相关子系统模型求解的中间结果,但是尚没有一种机制能够对模型求解的中间状态进行保存或保持。没有模型求解中间状态的保持,就会出现时序错误,无法在正确的仿真逻辑时间点输出求解的中间结果或者输入其它相关子系统模型求解的中间结果。

因此,需要提供一种基于接口模型的内嵌式工具软件集成系统及方法。



技术实现要素:

本发明的目的在于提供一种基于接口模型的内嵌式工具软件集成系统及方法,解决在缺乏API的条件下对工具软件进行集成时难以对模型求解的中间状态进行保存或保持的问题。

为达到上述目的,本发明采用下述技术方案:

一种基于接口模型的内嵌式工具软件集成系统,该系统包括:

多个基于工具软件建立的单学科子系统模型,与每个单学科子系统模型对应的且基于与建立每个单学科子系统模型的工具软件相同的工具软件建立的内嵌接口模型,与每个内嵌接口模型对应的工具适配器,共享内存;

单学科子系统模型,用于接收工具软件参数变量并进行解算,得到结果变量;

内嵌接口模型,用于通过共享内存将来自单学科子系统模型的结果变量发送至工具适配器,或将来自工具适配器的参数变量发送至单学科子系统模型;

工具适配器模块,用于将来自内嵌接口模型的结果变量发送至协同仿真平台,或通过共享内存将来自协同仿真平台的参数变量发送至内嵌接口模型;

共享内存中包括第一信号量和第二信号量,

第一信号量由内嵌接口模型和工具适配器进行设置和查询,用于指示内嵌接口模型通过共享内存将结果变量发送至工具适配器;

第二信号量由工具适配器和内嵌接口模型进行设置和查询,用于指示工具适配器将参数变量发送至内嵌接口模型。

优选地,第一信号量和第二信号量均为布尔型变量。

一种如前文所述系统的基于接口模型的内嵌式工具软件集成方法,,该方法包括如下步骤:

利用工具软件建立单学科子系统模型和内嵌接口模型;

利用单学科子系统模型和工具适配器在共享内存中设置第一信号量,基于第一信号量控制内嵌接口模型通过共享内存将来自单学科子系统模型的结果变量发送至工具适配器;

利用单学科子系统模型和工具适配器在共享内存中设置第二信号量,基于第二信号量控制工具适配器通过共享内存将来自协同仿真平台的参数变量发送至内嵌接口模型。

优选地,步骤“利用工具软件建立单学科子系统模型和内嵌接口模型”进一步包括如下子步骤:

利用工具软件建立单学科子系统模型;

通过工具软件的用户图形界面,添加并设置自定义的单元模型,作为内嵌接口模型;

建立单学科子系统模型和内嵌接口模型的连接,利用内嵌接口模型提取对应的单学科子系统模型中待输出的结果变量,或接收对应的单学科子系统模型待输入的其它单学科子系统模型的参数变量并将参数变量发送至对应的单学科子系统模型。

优选地,步骤“利用单学科子系统模型和工具适配器在共享内存中设置第一信号量,基于第一信号量控制内嵌接口模型通过共享内存将来自单学科子系统模型的结果变量发送至工具适配器”进一步包括如下子步骤:

利用工具适配器将第一信号量设置为可写状态;

利用内嵌接口模型的类C程序查询第一信号量是否为可写状态,是则利用内嵌接口模型往共享内存中写入结果变量,否则继续查询;

结果变量写入完成后利用内嵌接口模型将第一信号量设置为可读状态;

利用工具适配器检测第一信号量是否为可读状态,是则利用工具适配器获取共享内存中的结果变量,否则使工具适配器处于阻塞等待状态并利用共享内存保存结果变量。

优选地,步骤“利用单学科子系统模型和工具适配器在共享内存中设置第二信号量,基于第二信号量控制工具适配器将来自协同仿真平台的参数变量发送至内嵌接口模型”进一步包括如下子步骤:

利用内嵌接口模型的类C程序将第二信号量设置为可写状态;

利用工具适配器查询第一信号量是否为可写状态,是则利用工具适配器往共享内存中写入参数变量,否则继续查询;

参数变量写入完成后利用工具适配器将第二信号量设置为可读状态;

利用内嵌接口模型检测第二信号量是否为可读状态,是则利用内嵌接口模型获取共享内存中的参数变量,否则使内嵌接口模型处于阻塞等待状态并利用共享内存保存参数变量。

本发明的有益效果如下:

本发明所述技术方案通过在单学科子系统模型中嵌入接口模型,以信号阻塞的方式实现对模型求解的中间状态进行保存或保持,确保能够在正确的仿真逻辑时间点输出求解的中间结果或者输入其它相关子系统模型求解的中间结果,进而支持多学科子系统的联合解算,实现工具软件的集成,且由于嵌入接口模型而不需要API接口,解决了工具软件本身开放性不足的问题。本发明所述技术方案适用于复杂产品的联合交互仿真,可有效支持多种工具 软件构建的多学科子系统间的联合交互式解算,具有普适性、易操作性的特点,为快速构建多学科联合仿真系统提供有效手段。本发明所述技术方案适用于国防科技领域各军工行业,并能够方便地转化为民用技术。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的说明。

图1示出基于接口模型的内嵌式工具软件集成系统结构图。

图2示出基于接口模型的内嵌式工具软件集成方法流程图。

图3示出发射车仿真系统示意图。

图4示出基于EASY5工具软件建立的液压系统模型示意图。

图5示出基于EASY5工具软件建立的液压系统模型的对外输入、输出子模型示意图。

图6示出基于接口模型的内嵌式发射车仿真系统结构图。

图7示出液压系统模型对外发布数据的流程图。

具体实施方式

为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

如图1所示,本实施例提供的基于接口模型的内嵌式工具软件集成系统包括:

多个基于工具软件建立的单学科子系统模型,与每个单学科子系统模型一一对应的且基于与建立每个单学科子系统模型的工具软件相同的工具软件建立的内嵌接口模型,与每个内嵌接口模型一一对应的工具适配器,共享内存;

单学科子系统模型,用于接收工具软件参数变量并进行解算,得到结果变量,结果变量作为其他单学科子系统模型的参数变量或基于接口模型的内嵌式工具软件集成系统的结果;

内嵌接口模型,用于通过共享内存将来自单学科子系统模型的结果变量发送至工具适配器,或将来自工具适配器的参数变量发送至单学科子系统模型;

工具适配器模块,用于将来自内嵌接口模型的结果变量发送至协同仿真平台,或通过共享内存将来自协同仿真平台的参数变量发送至内嵌接口模型;

共享内存中包括第一信号量和第二信号量,

第一信号量由内嵌接口模型和工具适配器进行设置和查询,用于指示内嵌接口模型通过共享内存将结果变量发送至工具适配器;

第二信号量由工具适配器和内嵌接口模型进行设置和查询,用于指示工具适配器将参数变量发送至内嵌接口模型。

本实施例中的信号量是一种标记,在共享内存中设置两个布尔型变量(一个负责指示发布数据,一个负责指示获取数据),供内嵌接口模型和工具适配器进行查询和修改。该标记也不局限于用共享内存中的变量来实现,有时候会在文件系统的特定目录下,通过生成和删除两个临时文件来进行标记(一个负责指示发布数据,一个负责指示获取数据),供内嵌接口模型和工具适配器进行查询。

如图2所示,本实施例提供的基于接口模型的内嵌式工具软件集成方法包括如下步骤:

Step1、利用工具软件建立单学科子系统模型和内嵌接口模型,具体包括如下子步骤:

Step1.1、利用工具软件建立单学科子系统模型;

Step1.2、通过工具软件的用户图形界面,添加并设置自定义的单元模型,作为内嵌接口模型;

Step1.3、建立单学科子系统模型和内嵌接口模型的连接,利用内嵌接口模型提取对应的单学科子系统模型中待输出的解算中间结果变量,或接收对应的单学科子系统模型待输入的其它单学科子系统模型的参数变量并将其发送至对应的单学科子系统模型。

Step2、利用单学科子系统模型和工具适配器在共享内存中设置第一信号量,通过第一信号量控制内嵌接口模型通过共享内存将来自单学科子系统模型的结果变量发送至工具适配器,从而输出单学科子系统模型解算的结果变量,具体过程为:

通过共享内存或文件系统,在单学科子系统模型和工具适配器之间设置中间结果发布信号量(第一信号量),建立结果变量(解算中间结果)交互载体。

利用工具适配器将第一信号量设置为可写状态;

利用内嵌接口模型的类C程序查询第一信号量是否为可写状态,是则利用内嵌接口模型往共享内存中写入结果变量(解算中间结果),否则继续查询;

写入完成后利用内嵌接口模型将第一信号量设置为可读状态;

利用工具适配器检测第一信号量是否为可读状态,是则利用工具适配器直接获取共享内存中的结果变量(解算中间结果),否则使工具适配器处于阻塞等待状态并利用共享内存保存结果变量直到工具适配器获取共享内存中的结果变量。

Step3、利用单学科子系统模型和工具适配器在共享内存中设置第二信号量,基于第二信号量控制工具适配器通过共享内存将来自协同仿真平台的参数变量发送至内嵌接口模型,从而输入其它单学科子系统模型的中间结果变量,具体过程为:

通过共享内存或文件系统,在单学科子系统模型和工具适配器之间设置中间状态保持信号量(第二信号量),建立外部中间结果数据交互载体。

利用内嵌接口模型的类C程序将第二信号量设置为可写状态;

利用工具适配器查询第一信号量是否为可写状态,是则利用工具适配器往共享内存中写入参数变量,否则继续查询;

写入完成后利用工具适配器将第二信号量设置为可读状态;

利用内嵌接口模型检测第二信号量是否为可读状态,是则利用内嵌接口模型获取共享内存中的参数变量,否则使内嵌接口模型处于阻塞等待状态并利用共享内存保存参数变量直到内嵌接口模型获取共享内存中的参数变量。

下面通过代入具体的仿真系统和仿真单学科子系统模型对本实施例提供的基于接口模型的内嵌式工具软件集成系统作进一步说明:

在如图3所示的一个发射车仿真系统中,液压系统是一个非常重要的子系统,在仿真系统中每0.01秒的仿真周期内各子系统模型会交互一次。

液压系统一般基于EASY5工具软件来进行建模和仿真,基于EASY5工具软件建立的液压系统模型(即基于工具软件建立的单学科子系统模型)如图4所示。

但是,液压系统模型只能独立运行。由于没有和电控、多体动力学模型进行数据交互,无法得出发射车起竖过程的整体仿真结果。

协同仿真平台,负责把液压系统模型和电控模型、多体多力学模型集成(互联)起来。

但是,由于EASY5工具软件没有提供集成用的API,只能在原有模型的 基础之上增加用于对外输入、输出的子模型,如图5所示。

进而,还要在外面开发一个工具适配器,和内嵌的接口模型相呼应,系统结构图如图6所示。

因为内嵌接口模型和工具适配器不能直接相互调用,所以通过共享内存来读取数据。同时,在共享内存中还设置了输入、输出两个信号量来控制读取的节奏。

如图7所示,以液压系统模型对外发布数据为例。首先,在每个仿真周期中工具适配器需要把指示发布数据的信号量(第一信号量)设置为可写状态,内嵌接口模型才会往共享内存中写入液压模型对外发布的数据(否则,内嵌接口模型会认为工具适配器还没有取走上个仿真周期的数据,所以它会自我阻塞,不停检查信号量是否由可读变为可写);写完以后,内嵌接口模型需要将信号量置于可读状态,工具适配器才会从共享内存中将数据取出并交给协同仿真平台(否则,工具适配器会认为液压模型还没有准备好数据,所以它会自我阻塞,不停检查信号量是否由可写变为可读)。

液压模型从外部获取数据的过程与其对外发布数据的过程类似。首先,在每个仿真周期中内嵌接口模型需要把指示获取数据的信号量(第二信号量)设置为可写状态,工具适配器才会往共享内存中写入从协同仿真平台获取的其它模型的数据(否则,工具适配器会认为内嵌接口模型还没有取走上个仿真周期的数据,所以它会自我阻塞,不停检查信号量是否由可读变为可写);写完以后,工具适配器需要将信号量置于可读状态,内嵌接口模型才会从共享内存中将数据取出并交给工具软件的求解器(否则,内嵌接口模型会认为工具适配器还没有准备好数据,所以它会自我阻塞,不停检查信号量是否由可写变为可读)。

对比:如果是传统的API调用方法,则每次让EASY5工具软件(的求解器Solver)解算0.01秒以后,在把结果取走的同时,还需要把状态变量的值也导出来保存好,在下一个0.01秒的时候再输入EASY5工具软件(的求解器Solver)里面去。但是,在本实施例中,EASY5工具软件(的求解器Solver)一直运行,所以液压系统模型解算的中间状态由EASY5工具软件(的求解器Solver)自我保持。

本实施例主要利用了很多工具软件能够自定义模型的功能。本来这些功能是用来定义一些特殊性质的元器件模型用的,但是本实施例用来定义用于(在每个仿真周期)对外交互数据的专门模型,本实施例称为内嵌接口模型。 对于EASY5工具软件(的求解器Solver),它感受不到内嵌接口模型的存在。它将内嵌接口模型也当作普通模型来计算。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1