多学科虚拟实验交互式仿真解算系统的制作方法

文档序号:2585038阅读:151来源:国知局
专利名称:多学科虚拟实验交互式仿真解算系统的制作方法
技术领域
本发明涉及的是一种实验技术领域的装置,具体是一种多学科虚拟实验交互式仿真解算系统。
背景技术
实验是科学研究的基本方法之一。根据研究的目的,尽可能地排除外界的影响,突出主要因素并利用一些专门的仪器设备,而人为地变革、控制或模拟研究对象,使某一些事物或过程发生或再现,从而获得事物的内在规律。虚拟实验的目的在于取代或者部分取代真实实验,需要提供与真实实验相同或者相近的结果。因此,虚拟实验的核心问题在于仿真结果的解算过程。目前,虚拟实验的仿真求解方法有以下几种(1)采用实物样机进行后台仿真计算,通过数据采集卡将计算结果输出到计算机中的虚拟实验可视化界面上。这种方法能够达到远程虚拟实验的目的,但是需要有实物样机作为计算后台的支持并且一台样机同一时间只能满足一个用户的实验需求,无法满足大规模实验的需要。(2)使用实时仿真软件进行虚拟实验后台计算,如使用 LabView进行测量和控制方面的仿真实验后台计算,使用Proteus进行电路仿真实验计算等。但这些软件都只能用在单个学科或相近的一两个学科,而且求解的内容仅限定在软件已有的模型,很难进行扩展,因此无法成为一个通用的求解系统。( 自行运用学科知识将虚拟实验场景表达为数学模型,使用Matlab语言、C语言等计算机程序设计语言将数学模型转化为计算机程序并进行求解。这种方式要求实验人员精通编程语言并且花费大量时间在程序设计与调试上。此外,这种方法通常只能获取仿真实验的最终结果,用户无法在实验过程中进行修改控制等交互操作。经过对现有技术的检索发现,Hao Shangfu, Wang Zhihui等2010年在《The Virtual Experiment Design of Arithmetic Unit Based on Object-Oriented Technology》(中文译名基于面向对象技术计算单元的虚拟实验设计方法,发表于 “Multimedia and Information Technology (MMIT),2010Second International Conference on”)中提出了一种交互式虚拟实验建模与解算方法,但是该技术要求实验人员使用C++语言自行对实验构件进行建模与调试并且大部分实验局限于计算机领域, 无法实现跨学科的复杂实验。此外,Rui Yao等2010年在《Design of Inquiry Virtual Experiment Platform》(中文译名探索型虚拟实验平台的设计,发表于“2010The 3rd International Conference on Power Electronics and Intelligent Transportation System”)中提出一种创新型虚拟实验求解技术,但该技术只能根据指定条件一次性给出计算结果,无法在解算过程中实现实验参数的修改。

发明内容
本发明针对现有技术存在的上述不足,提供一种多学科虚拟实验交互式仿真解算系统,实现了多学科虚拟实验的仿真解算过程,能够在同一系统中对计算机、机械、自动控制、电工电子、物理等多个学科的实验进行计算机仿真求解,获取实验结果数据并能够在实验过程中进行实时的过程控制、参数修改等交互操作,从而为交互式虚拟实验提供后台支持。本发明是通过以下技术方案实现的,本发明包括交互接口模块、实验场景解析模块、编译求解模块、实验过程控制模块以及逻辑构件管理模块,其中交互接口模块通过 socket协议与虚拟实验前台用户进行交互并根据用户的操作指令将场景解析模块、编译求解模块和实验过程控制模块的反馈数据消息返回给虚拟实验前台,逻辑构件管理模块对内置逻辑构件库进行读取、写入与维护操作,实验场景解析模块、编译求解模块以及实验过程控制模块分别与逻辑构件管理模块相连,其中实验场景解析模块接收用户传输的自然语言场景文件并转换成用逻辑语言表达的实验场景模型,编译求解模块将实验场景编译为实验仿真程序,实验过程控制模块根据用户的操作指令对实验仿真程序进行运行状态的控制。所述的交互接口模块包括实时交互仿真单元和非实时仿真单元,其中实时交互仿真单元与用户操作前台相连接并持续传输实时结果信息,用户通过设定的socket端口向场景解析模块、编译求解模块和实验过程控制模块发送指令数据,包括XML格式的场景描述数据流、实验过程控制命令、参数修改命令等并以XML格式数据流的形式实时返回实验获取的仿真结果,用户能够控制实验的进行流程;非实时仿真单元与用户操作前台相连接并一次性传输所有解算结果信息,用户通过设定的socket端口向场景解析模块、编译求解模块和实验过程控制模块发送实验场景数据系统一次性以XML格式数据流的形式返回所有用户指定时间段的仿真结果,用户无法对实验过程进行干预。所述的实验场景解析模块包括数据读取单元、逻辑识别单元以及Modelica语言转换单元,该实验场景解析模块实现了从用自然语言描述的实验场景描述数据到实验场景数学模型的转换,其中数据读取单元读取实验场景描述数据,包括虚拟实验场景中的构件信息、属性值以及连接关系等,用XML格式的文件表示;逻辑识别单元将数据读取单元中获得的数据根据其内在逻辑识别为多个构件的组合及其联接关系;Modelica语言转换单元读取逻辑识别单元得到的结果并用Modelica仿真语言表达得到场景数学模型。所述的编译求解模块包括模型平坦化单元、编译语言转换单元以及可执行程序编译单元,该模块在实验场景解析模块生成的场景数学模型的基础上,生成可在计算机上运行的求解执行程序。其中模型平坦化单元场景数学模型并进行平坦化处理生成具有完整编译求解信息的MO文件,编译语言转换单元使用开源Modelica语言编译器openModelica 将MO文件转换为用C++语言表达的中间文件;可执行程序编译单元采用内置的具有过程控制库的GCC编译器进行编译并链接生成实验场景解算可执行程序。所述的实验过程控制模块包括命令解析单元、仿真过程控制单元以及仿真结果接收单元,该模块的调用编译求解模块生成的实验场景解算程序,对虚拟实验过程进行仿真和控制。其中命令解析单元将交互接口模块中得到的用户命令转换成机器能够识别的数据指令;仿真过程控制单元通过socket接口与场景解算程序进行数据交换实现对实验过程进行包括暂停运行、继续运行、停止运行、跳转仿真时间、修改仿真参数、过滤返回数据的实时的仿真并对仿真过程进行控制,仿真结果接收单元接收可执行程序返回数据并根据操作指令进行过滤并以XML格式的数据流形式返回实验的仿真结果。
所述的逻辑构件管理模块包括逻辑构件存储单元以及逻辑构件管理单元,其中 逻辑构件存储单元内置由若干不同学科的虚拟实验逻辑构件组成的逻辑构件库,逻辑构件管理单元对逻辑构件库输出访问、添加、删除以及修改操作指令,并接受XML文件。所述的逻辑构件采用自然语言描述,包括实验构件的名称、构件类型、学科信息、 接口列表、属性列表信息,该逻辑构件以XML格式文件的形式储存在逻辑构件库中。与现有技术相比,本发明具有以下特点使用通用仿真建模语言Modelica对各个学科的实验构件进行逻辑层面上的建模,使本系统能够应用于跨学科的实验解算过程中; 用户能够在实验过程中交互地进行实验过程的控制以及参数的修改;完全通过计算机进行实验过程的仿真计算,无需实物实验构件的参与。本发明能够为跨学科的实验提供仿真计算能力并提供用户控制实验过程的能力并缩短实验时间,节约实验成本。


图1为本发明系统结构图。图2为本发明工作过程图。
具体实施例方式下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。实施例如图1所示,本实施例包括交互接口模块、实验场景解析模块、编译求解模块、实验过程控制模块以及逻辑构件管理模块,其中交互接口模块通过socket协议与虚拟实验前台用户进行交互并根据用户的操作指令将场景解析模块、编译求解模块和实验过程控制模块的反馈数据消息返回给虚拟实验前台,逻辑构件管理模块对内置逻辑构件库进行读取、写入与维护操作,实验场景解析模块、编译求解模块以及实验过程控制模块分别与逻辑构件管理模块相连,其中实验场景解析模块接收用户传输的自然语言场景文件并转换成用逻辑语言表达的实验场景模型,编译求解模块将实验场景编译为实验仿真程序,实验过程控制模块根据用户的操作指令对实验仿真程序进行运行状态的控制。所述的交互接口模块包括实时交互仿真单元和非实时仿真单元,其中实时交互仿真单元与用户操作前台相连接并持续传输实时结果信息,用户通过设定的socket端口向场景解析模块、编译求解模块和实验过程控制模块发送指令数据,包括XML格式的场景描述数据流、实验过程控制命令、参数修改命令等并以XML格式数据流的形式实时返回实验获取的仿真结果,用户能够控制实验的进行流程;非实时仿真单元与用户操作前台相连接并一次性传输所有解算结果信息,用户通过设定的socket端口向场景解析模块、编译求解模块和实验过程控制模块发送实验场景数据系统一次性以XML格式数据流的形式返回所有用户指定时间段的仿真结果,用户无法对实验过程进行干预。所述的实验场景解析模块包括数据读取单元、逻辑识别单元以及Modelica语言转换单元,该实验场景解析模块实现了从用自然语言描述的实验场景描述数据到实验场景数学模型的转换,其中数据读取单元读取实验场景描述数据,包括虚拟实验场景中的构件信息、属性值以及连接关系等,用XML格式的文件表示;逻辑识别单元将数据读取单元中获得的数据根据其内在逻辑识别为多个构件的组合及其联接关系;Modelica语言转换单元读取逻辑识别单元得到的结果并用Modelica仿真语言表达得到场景数学模型。所述的编译求解模块包括模型平坦化单元、编译语言转换单元以及可执行程序编译单元,该模块在实验场景解析模块生成的场景数学模型的基础上,生成可在计算机上运行的求解执行程序。其中模型平坦化单元场景数学模型并进行平坦化处理生成具有完整编译求解信息的MO文件,编译语言转换单元使用开源Modelica语言编译器openModelica 将MO文件转换为用C++语言表达的中间文件;可执行程序编译单元采用内置的具有过程控制库的GCC编译器进行编译并链接生成实验场景解算可执行程序。所述的实验过程控制模块包括命令解析单元、仿真过程控制单元以及仿真结果接收单元,该模块的调用编译求解模块生成的实验场景解算程序,对虚拟实验过程进行仿真和控制。其中命令解析单元将交互接口模块中得到的用户命令转换成机器能够识别的数据指令;仿真过程控制单元通过socket接口与场景解算程序进行数据交换实现对实验过程进行包括暂停运行、继续运行、停止运行、跳转仿真时间、修改仿真参数、过滤返回数据的实时的仿真并对仿真过程进行控制,仿真结果接收单元接收可执行程序返回数据并根据操作指令进行过滤并以XML格式的数据流形式返回实验的仿真结果。所述的逻辑构件管理模块包括逻辑构件存储单元以及逻辑构件管理单元,该模块对逻辑构件库进行维护和管理。其中逻辑构件存储单元内置由若干不同学科的虚拟实验逻辑构件组成的逻辑构件库,逻辑构件使用自然语言描述实验构件的名称、构件类型、学科信息、接口列表、属性列表等信息,以XML格式文件的形式储存在逻辑构件库中;逻辑构件管理单元对逻辑构件库输出访问、添加、删除以及修改操作指令,并接受XML文件。本实施例系统的工作流程如图2所示,箭头表明数据的流向。在具体实施时,各模块的执行存在一定的顺序关系交互接口模块接收并解析虚拟实验用户发送的场景数据, 驱动场景解析模块进行场景数据转换;场景解析模块调用逻辑构件管理模块获取构件逻辑关系,生成逻辑场景文件;交互接口模块继续给编译求解模块发送编译指令,场景编译求解模块接收逻辑场景文件,调用逻辑构件管理模块获取构件逻辑模型,编译生成仿真可执行文件;交互接口模块发送指令驱动实验过程控制模块,生成仿真结果,过滤后返回给交互接口模块,由交互接口模块将数据结果编码后返回给前台用户,其中(1)交互接口模块此模块实现求解系统与用户的通信功能。用户启动系统时,通过启动参数指定建立socket连接的端口号。系统运行时首先启动交互接口模块,此模块在用户指定的端口上监听,等待用户连接。用户使用TCP/IP协议与交互接口进行连接,发送用户指令并接收解算结果数据。表1为交互接口模块定义了发送与接收数据的统一格式。表1交互接口通信格式数据段lengthcommanddatacheck数据段含义用字符串表示的数据总长度用字符串表示的命令类型与命令相对应的数据段校验位长度8个字节4个字节由length决定1个字节交互接口模块通过建立的socket端口接收用户发送的数据,根据上述通信格式对用户数据进行解码,获得内容后并根据指令的实际功能调用相应的模块功能进行仿真。 调用之后交互接口模块按照通信格式发送相应命令回复给前台,通知前台已经接收到消息并开始执行相应的模块。表2定义了命令编号、命令名称以及相应的回复。表2交互接口接收命令及回复列表
命令编号命令名称描述命令回复
权利要求
1.一种多学科虚拟实验交互式仿真解算系统,其特征在于,包括交互接口模块、实验场景解析模块、编译求解模块、实验过程控制模块以及逻辑构件管理模块,其中交互接口模块通过socket协议与虚拟实验前台用户进行交互并根据用户的操作指令将场景解析模块、编译求解模块和实验过程控制模块的反馈数据消息返回给虚拟实验前台,逻辑构件管理模块对内置逻辑构件库进行读取、写入与维护操作,实验场景解析模块、编译求解模块以及实验过程控制模块分别与逻辑构件管理模块相连,其中实验场景解析模块接收用户传输的自然语言场景文件并转换成用逻辑语言表达的实验场景模型,编译求解模块将实验场景编译为实验仿真程序,实验过程控制模块根据用户的操作指令对实验仿真程序进行运行状态的控制。
2.根据权利要求1所述的多学科虚拟实验交互式仿真解算系统,其特征是,所述的交互接口模块包括实时交互仿真单元和非实时仿真单元,其中实时交互仿真单元与用户操作前台相连接并持续传输实时结果信息,用户通过设定的socket端口向场景解析模块、 编译求解模块和实验过程控制模块发送包括XML格式的场景描述数据流、实验过程控制命令、参数修改命令的指令数据并以XML格式数据流的形式实时返回实验获取的仿真结果, 非实时仿真单元与用户操作前台相连接并一次性传输所有解算结果信息,用户通过设定的 socket端口向场景解析模块、编译求解模块和实验过程控制模块发送实验场景数据系统一次性以XML格式数据流的形式返回所有用户指定时间段的仿真结果。
3.根据权利要求1所述的多学科虚拟实验交互式仿真解算系统,其特征是,所述的实验场景解析模块包括数据读取单元、逻辑识别单元以及Modelica语言转换单元,其中 数据读取单元读取包括虚拟实验场景中的构件信息、属性值以及连接关系的XML格式的实验场景描述数据,逻辑识别单元将数据读取单元中获得的数据根据其内在逻辑识别为多个构件的组合及其联接关系,Modelica语言转换单元读取逻辑识别单元得到的结果并用 Modelica仿真语言表达得到场景数学模型。
4.根据权利要求1所述的多学科虚拟实验交互式仿真解算系统,其特征是,所述的编译求解模块包括模型平坦化单元、编译语言转换单元以及可执行程序编译单元,其中模型平坦化单元具有完整编译求解信息的MO文件,编译语言转换单元调用Modelica语言编译器openModelica将MO文件转换为用C++语言表达的中间文件,可执行程序编译单元采用内置的具有过程控制库的GCC编译器进行编译并链接生成实验场景解算可执行程序。
5.根据权利要求1所述的多学科虚拟实验交互式仿真解算系统,其特征是,所述的实验过程控制模块包括命令解析单元、仿真过程控制单元以及仿真结果接收单元,其中命令解析单元将交互接口模块中得到的用户命令转换成机器能够识别的数据指令,仿真过程控制单元通过socket接口与场景解算程序进行数据交换实现对实验过程进行包括暂停运行、继续运行、停止运行、跳转仿真时间、修改仿真参数、过滤返回数据的实时的仿真并对仿真过程进行控制,仿真结果接收单元接收可执行程序返回数据并根据操作指令进行过滤并以XML格式的数据流形式返回实验的仿真结果。
6.根据权利要求1所述的多学科虚拟实验交互式仿真解算系统,其特征是,所述的逻辑构件管理模块包括逻辑构件存储单元以及逻辑构件管理单元,其中逻辑构件存储单元内置由若干不同学科的虚拟实验逻辑构件组成的逻辑构件库,逻辑构件管理单元对逻辑构件库输出访问、添加、删除以及修改操作指令,并接受XML文件。
7.根据权利要求6所述的多学科虚拟实验交互式仿真解算系统,其特征是,所述的逻辑构件采用自然语言描述,包括实验构件的名称、构件类型、学科信息、接口列表、属性列表信息,该逻辑构件以XML格式文件的形式储存在逻辑构件库中。
全文摘要
一种虚拟仿真技术领域的多学科虚拟实验交互式仿真解算系统,包括交互接口模块、实验场景解析模块、编译求解模块、实验过程控制模块以及逻辑构件管理模块,本发明实现了多学科虚拟实验的仿真解算过程,能够在同一系统中对计算机、机械、自动控制、电工电子、物理等多个学科的实验进行计算机仿真求解,获取实验结果数据并能够在实验过程中进行实时的过程控制、参数修改等交互操作,从而为交互式虚拟实验提供后台支持。
文档编号G09B9/00GK102289593SQ201110240500
公开日2011年12月21日 申请日期2011年8月22日 优先权日2011年8月22日
发明者程奂翀, 范秀敏, 马彦军 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1