工具之家 > 现代电子技术 > 基于物联网的图形化虚拟仿真实验平台设计

基于物联网的图形化虚拟仿真实验平台设计

发布时间:2019-05-15 02:15:00 文章来源:工具之家    

 推荐工具:金融理财app工具实用工具

领兄

摘 要 ti出deWebhuan境下dexunifangzhen平台基yuB/Sjiegoufu务器duancai用MySQL数juku使用Java语言编写接koucheng序从数ju库中读取mo型数ju并sheng成Simulinkfangzhencheng序,运算核心Matlab运行Mwenjian,tong过调用Java接口cheng序对该模型wen件jin行fangzhen并返huifangzhen结guo最hou结合两gefangzhenshi例来测试基于wang络de虚nifang真平台,yanzhengliao该平台deyou效性

关键词 虚拟仿真平台 Matlab Simulink; 虚拟实yan室

中tu分lei号: TN911?34; TM417 文xianbiao识ma: A 文章编号: 104?373X201701?0032?04

Abstract: The virtual simulation platform proposed in this paper and working in Web environment is based on B/S structure. The MySQL is adopted by the server. The Java language is used to profile the interface program, read the model data in database, and generate the Simulink simulation program. Matlab as the operation core is used to run the M?file to simulate the model file by calling the Java interface program and feed the simulation results back. The virtual simulation platform based on network was tested by means of two simulation examples to verify the validity of the platform.

Keywords: virtual simulation platform; Matlab; Simulink; virtual laboratory

近年来高校规模不断增大,xue生人数de不断增加造成实验室设备资yuan紧张、不能满足学shengyao求dexian象[1]。同shi实yanshe备老化严重、实验设备技术shang的落hou都会影响学生的实验课质量。虚拟实验室的提出打破了传tong实验室的约束,突破了传tong实验室di域与shi间的限制,进一步促进学校jiao学质量的提sheng,推进实验从验证性dao探索性的转变,实xian了教学实验跨越式的发展[2]

1 基于wang络的虚拟仿真平台的总体设ji

1.1 xi统的设计思想

随着网络应用的riyi普ji与物联网技术的发展,基于Web仿真已经成wei仿真领域的研究热点,课题提gong了图形化的虚拟仿真实验平台解决办法,yiFLASH+Servlet+MySQL作为基chu平台架构[3]。

基于网络的虚拟仿真平台的实现方式设计如下:网络用hu通过浏览器就能够打开该交互界面进行Simulinkjian模he仿真,网络平台yi网页的形式提供FLASH技术搭jian的交互式图形界面;dang用huzai图形界面中完成建模后,将模型数据通过fang问Servlet的方式传送到数据库中,然后Matlab通过Java接口读取数据库中的数据xin息并进行仿真,最后将仿真结果返回到数据库中并由客huduanWeb浏览器读取数据库中的结果并显shi。

1.2 平台架构的确定

基于B/Smoshi的优点,本文开发的基于网络的虚拟仿真平台采用B/S结构,B/S结构是yiWeb技术为基础,它zhu要是基于HTTP协议[4]。基于B/S模式的网络虚拟仿真平台如图1suoshi。Web服务器的主要作用是提供Web接入服务、开放式交互实验环境yiji动态网页的生成;数据分xi服务负责数据的分析与处理,并将数据处理的结果返回数据库服务器进行保存,也ke以将处理结果通过Web返回到客户端;数据库的主要作用是配合动态网页的生产以及实验数据的cunchu和管理。

1.3 系统的gong能mokuai设计

从功能结构上说,基于网络的虚拟仿真平台由图形化建模仿真界面模块、Simulink模型仿真模块、Simulink模型生成模块等san大功能模块组成,具体如图2suoshi

2 虚拟实验平台客户端的设计

2.1 客户端界面的实现

2.1.1 模块原件库的搭建

Simulink的仿真组建是以树状系统呈现的,清晰er且方便找到需要的模块。基于物联网的虚拟实验平台的图形化交互界面提供各种对应的模块,也是以duo级树状结构展现zai用户面前,确保用户可以简dan、kuai速地找到自己需要的模块[5]。模块选择qu域在左上角,每一ge子菜dan为一ge模块库。

AS3.0中有许多组件,组件有很多优点。优点一shishi应用程序的设计过程和编码过程分开,这无疑大大地增加了效率。利用FLASH可以很容易地读取XML文件的性质,可以将树形结构的内容事先写进一个XML文档中,这样就可以动态生成一个树形结构[6]。dang然在AS3.0中,也有XML的内zhi类,所以也可以将XML文档的内容直接写入脚本代码中。

2.1.2 模型绘制

客户端左上角是模块的选择区,点击想要选择的模块,右bian的绘图区会出现一个模块,它在固定的位置出现,可以手动tuo动。这些模块是图形交互界面的重点内容。这些信息bei储存在Tree的XML文件li,通过读取XML文件中的模块的几何参数,就可yizai绘图区对模块进行绘制。被拖入gong作绘图区的模块需要被记录下来,它被记录在block.as脚本文件中。

2.1.3 lian线的搭建

2.1.4 主时间轴的功能控制

在图形化交互界面中设置了三个基本的功能按钮,分别是xin建”“lian线”“提交”。新建按钮如果被按下,首先,图xiang交互区当时的任何模块或者lianxian都会被清空,相应地,在BlockArray和LineArray中的数据也会被清空,等待存放新工程中的元素。可以在按钮旁的输入文本框中为新建的工程取一个名字,系统也会提供一个没人叫的名cheng,接下来就该画图了。

“连线”按钮是用来切换当前状态为“连线状态”的。当点击“连线”按钮时,就会置连线状态标志drawflag为1。此时再分别点击源端口和mubiaoduan口就能生成一条从源端口到目标端口的连线,生成这条连线的函数为drawLine。

当点击模块的端口时,需要一个算法让系统确定是哪一个端口被选定。当选定连线按钮,点击一个端口时,开始遍历每一个模块和每一个模块的端口,计算端口到点击点的距离,选择到点击点最短的端口。当源端口和目标端口都确定下来时,即可画一条从源端口到目标端口的折线[7]。可以对连线进行修改,以da到美观的效果,用鼠标点击连线,拖动就可以移动。

当Simulink框图建立好之后,这时需要点击“提交”按钮,即可将所有的模块与模块jianlian线的信息都cunchu到数据库中。

3 虚拟实验平台服务器端的设计

3.1 客户端与服务器交互的实现

3.1.1 FLASH连接Servlet

在将FLASH的内容存储到数据库的阶段,Servlet根据FLASH端发送的请求生成响应内rongbing将其传gei数据库。在读数据库的阶段,主要使用Servlet读取数据库的数据,整个交互流程如图3所示。

3.1.2 Servlet访问MySQL

选择的数据库是MySQL,所以,要先安装MySQL和MySQL?front。MySQL?front用来建立数据库[8]。建立一个叫webSimulink的数据库,建立四张biaostatus,Simulinkmodel,Simulinkconnection,result,每张表的意义如下所示。

(1) status表

新建工程时会给出一个默认的工程名,如果需要自己命名,可以自定义工程名,也可以输入文本框修改它[9]。表中包含工程名,除了工程名,还有状态变量status。status=1表示工程还未编译;status=2表示工程成功编译。status表的结构如表1所示。

(2) Simulinkmodel表

Simulinkmodel表用来存储被拖入主工作区的Block,每一个Block都有对应的表,表中存储的信息是名称、路径、坐标值、输入输出端口数目、参数个数、参数值、所属的工程名等,表的具体结构见表2。

(3) Simulinkconnection表

Simulinkconnection表用来存储连线信息。每个连线都有一个这样的表格,它存储的是连线的源Block名、目标Block名、源端口号、目标端口号以及所属的工程名等,具体信息见表3。

(4) result表

result表用于存储Matlab仿真后返回的仿真结果,仿真结果主要包括所属工程名、生成的图形文件以及生成的数据文件等,result表的结构如表4所示。

3.2 Matlab?Simulink仿真的实现

3.2.1 Matlab与MySQL的通信

数据congke户端传送到服务器端,数据库接收到数据并存储后,需要做的就是服务器端对数据进行仿真。用Java编写服务器程序,程序任务将存储在数据库中的数据提取出来,转化成可以进行仿真的程序,仿真结束后,将仿真结果存储回数据库,最终返回到客户端。服务器程序首先要查kan工程状态,然后再与数据库建立连接。要保证客户端出现异常时,仿真在服务器端不受影响。

新建一个Java类:MatservMain.Java的目的是控制Matlab对数据库进行读取操作和与仿真工作相关的Matlab命令。这样,在运行Matlab时,可以用调用这个类的方法进行读写数据库和仿真。仿真程序能够调用Simulink功能,并复现出客户duanti交时模型搭建的样子,并对框图进行仿真。

3.2.2 运用Matlab?M文件的仿真

服务器端传输并存储在数据库的数据用Matlab中的M文件实现仿真。M文件的仿真方式就是用命令行控制Matlab的动作。

仿真调用的是Simulink。传统的Simulink建模,shuang击模块,可以在参数设置框中对模块进行参数设置。之后点击仿真按钮进行仿真。

输入过后再单击命令行窗口菜单中的File?>Open,则可以看到通过Simulink命令新建的sample模型,文件名为sample.mdl。点击“打开”,则可以看到对应的Simulink系统框图。

命令行控制Simulink仿真可行,就可以尝试用服务器程序生成命令行程序。在MatservMain.Java中,主要靠GetBlockhan数和GetConnection函数提取数据库中的数据,实现在Matlab中重构系统框图。

GetBlock函数和GetConnection函数的主要任务是从数据库提取之前存储表中的block和line的数据,并生成相应的tian加模块和连线的Simulink命令。

最后编写mdlserver.m。mdlserver.m文件负责调用Java类和数据库驱dong提取数据库数据并仿真,最后返回仿真结果并存储回数据库,再由Servlet反馈给客户端用户。

4 多客户端shili仿真

4.1 前台

4.1.1 FLASH图形界面效果图

客户端的界面有三部分,左上角是选择模块的元件库,右边是主工作区,左下角是信息提示和帮助。

在左上方的树状原件库中选取需要的Block模塊,模kuaihui出现在主工作区,可以对其随意拖动,点击菜单栏的line按钮,切换到连线状态,点击源端口和目标端口,生成一条从源端口到目标端口的连线。模型搭jianwan成后,点击subit按钮,系统将数据提交给服务器端。运算完成后,在客户端显示。

4.1.2 客户端实例仿真并验证正确性

设弹簧弹性系数为阻尼系数小che质量系统无输入并使初始位置距平衡点1.0 m。模拟小车系统运动。

(1) 从左侧的Simulink中选取所需block:liangge增益模块,一个求和模块,两个积分模块。

(2) 点击submit按钮,工程被提交到后台交由Matlab运算。编译完成的界面如图4所示。

(3) 点击“OK”,再双击scope,则弹出显示结果的窗口,如图5所示。

4.2 后台

Matlab的工作流程如下:

(1) 先打开Matlab,之后打开mdlserver.m。

(2) 运行该文件,屏幕显示“Waiting for accept a build task????”。Matlab一直在访问数据库,直至找到一个新提交的状态为“1”的工程。

(3) 当有新的工程被提交到数据库后,Matlab开始仿真工程,当Simulink仿真结束后,把结果提交到数据库。

4.3 数据库

完成实例后,查看数据库中的Simulinkmodel表和Simulinkconnection表。发现两个实例的Block和line的数据,如图6,图7所示。

5 结 论

本文研究虚拟实验平台的搭建,实现了基于网络的虚拟仿真平台的搭建。首先利用FLASH技术搭建基于网络的虚拟仿真平台图形交互界面,为用户提供类似于Simulink的建模环境,用户通过鼠标拖放与点击操作就可以轻松地在浏览器上搭建控制系统框图,利用Servlet访问数据库的原理,实现了FLASH对数据库的间接访问,将用户模型信息存储在MySQL数据库中,以等待Matlab执行仿真。其次,在对Simulink模型生成命令详xi分析的基础上,利用Java编写服务器程序实现用户仿真程序的生成,通过Matlab运行M文件实现模型文件的仿真。最后,设计简单的实例验证了仿真平台的有效性。

参考文献

[1] 郑笑建,杨马英,刘萍先.控制系tongwang络虚拟实验室[J].计算机工程与应用,2004(10):146?149.

[2] 许又泉,谭敏生,邓轶华.网络虚拟实验室及其实现方法研究[J].邵阳学院学报(自然科学版),2004,1(3):83?85.

[3] 喻红,何岭松,王峻峰.WWW模式的工程测试远程教学实验基地建设[J].实验技术与管理,1999,16(1):1?3.

[4] 魏红.动态网页技术JSP与ASP、PHP的bijiao浅析[J].电脑知识与技shu2006(2):88?90.

[5] 李亚禄,hao应光,唐祯安.基于Internet的远程虚拟实验室系统的开发[J].微型电脑应用,2001,178):36?38.

[6] 许南shan,高峰.基于J2EE架构的企业在线交易系统设计与实现[J].计算机工程与设计,2004(1):145?148.

[7] ILLTYEFALVI?VITEZ Z, NEMETH P, PINKOLA J, et al. Virtual laboratory support for microelectronics packaging education [C]// Proceedings of 1999 49th Electronic Components and Technology Conference. Budapest: IEEE, 1999: 1068?1073.

[8] 周久艳,贺鹏.基于WWW远程辅导教学系统的设计与实现[J].航空计算技术,2002,32(3):93?96.

[9] 闵芳,张志先,杨功廷.基于OpenGL的三维建筑可视化研究与仿真[J].现代电子技术,2016,39(2):78?81.

现代电子技术 2017年1期

现代电子技术的其它文章 基于ASD与LBS的移动农资物流配送系统研究 基于传输线方程的多根fei平行传输线串扰分析 基于改进半边数据结构的计算机仿真3D建模平台研究 基于信息共享的图书馆空间及服务电子系统模式研究 全日盲紫外成像探测仪光学系统设计 变电站接地ji电阻建模计算及特征分析
转载请注明来源。原文地址:https://www.5420.com.cn/view/2019/0515/15982/
 与本篇相关的热门内容: