一种虚拟仿真技术领域的多学科虚拟实验交互式仿真解算系统,包括:交互接口模块、实验场景解析模块、编译求解模块、实验过程控制模块以及逻辑构件管理模块,本发明专利技术实现了多学科虚拟实验的仿真解算过程,能够在同一系统中对计算机、机械、自动控制、电工电子、物理等多个学科的实验进行计算机仿真求解,获取实验结果数据并能够在实验过程中进行实时的过程控制、参数修改等交互操作,从而为交互式虚拟实验提供后台支持。
【技术实现步骤摘要】
本专利技术涉及的是一种实验
的装置,具体是一种多学科虚拟实验交互式仿真解算系统。
技术介绍
实验是科学研究的基本方法之一。根据研究的目的,尽可能地排除外界的影响,突出主要因素并利用一些专门的仪器设备,而人为地变革、控制或模拟研究对象,使某一些事物或过程发生或再现,从而获得事物的内在规律。虚拟实验的目的在于取代或者部分取代真实实验,需要提供与真实实验相同或者相近的结果。因此,虚拟实验的核心问题在于仿真结果的解算过程。目前,虚拟实验的仿真求解方法有以下几种(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.一种多学科虚拟实验交互式仿真解算系统,其特征在于,包括:交互接口模块、实验场景解析模块、编译求解模块、实验过程控制模块以及逻辑构件管理模块,其中:交互接口模块通过socket协议与虚拟实验前台用户进行交互并根据用户的操作指令将场景解析模块、编译求解模块和实验过程控制模块的反馈数据消息返回给虚拟实验前台,逻辑构件管理模块对内置逻辑构件库进行读取、写入与维护操作,实验场景解析模块、编译求解模块以及实验过程控制模块分别与逻辑构件管理模块相连,其中:实验场景解析模块接收用户传输的自然语言场景文件并转换成用逻辑语言表达的实验场景模型,编译求解模块将实验场景编译为实验仿真程序,实验过程控制模块根据用户的操作指令对实验仿真程序进行运行状态的控制。
【技术特征摘要】
【专利技术属性】
技术研发人员:程奂翀,范秀敏,马彦军,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。