用户中心

资讯 > SCADA

基于Applet与Servlet的虚拟仪器远程测控系统模型

www.cechina.cn2009.08.11阅读 4914

        0 引 言
        虚拟仪器产生后,出现了软件代替硬件、虚拟仪器代替传统仪器以及虚拟仪器远程测控代替传统仪器远程测控的趋势。现阶段实现虚拟仪器远程测控的技术方案主要有基于DataSocket、Remote Device Access、COM/CORBA、DCOM、ActiveX以及数据流等的技术。但不同开发者或由同一开发者开发的不同单机版虚拟仪器,在增加远程测控功能后CONTROL ENGINEERING China版权所有,多数存在软件修改工作量大幅度增加的现象,在不修改虚拟仪器软件的情况下www.cechina.cn,难以解决虚拟仪器远程测控的问题。
        SUN公司的Java Applet在网络通信应用方面有着很大的优势。本文构建了一种采用BSS结构并基于Applet与Servlet的虚拟仪器远程测控系统(remote measurement and control system of virtual instrument based on Applet and Servlet,AS-VIRMCS)模型,利用此模型实现的远程测控摒弃了较为复杂的UDP/IP底层编程,在虚拟仪器软件零修改情况下实现了虚拟仪器的远程测控。
        1 系统模型的构建
        1.1 系统的模型
        虚拟仪器远程测控系统按客户端的不同可以分为C/5结构和B/S结构,有C/S结构的远程虚拟仪器监控系统和采用B/S结构且基于Web的网络化虚拟仪器系统。
        本文所研究的AS-VIRMCS是一种采用B/S结构且基于Applet与Servlet的虚拟仪器远程测控系统。系统的设计思想是:由研究者设计的客户端虚拟仪器通过远程操作服务器端虚拟仪器来间接实现对被控对象的远程测控。客户端虚拟仪器(client virtual instrument,CVI)是指由Applet程序实现的嵌人在浏览器中的虚拟仪器。服务器端虚拟仪器(server virtual instrument,SVI)是指被安放在服务器端CONTROL ENGINEERING China版权所有,只具有某种业务逻辑功能而不具有远程测控功能的虚拟仪器。
        AS-VIRMCS模型如图1所示,它是一种多层体系结构。Web浏览器模块是客户端虚拟仪器模块,直接与客户打交道,客户可以向其发送命令来远程操作服务器端虚拟仪器,并最终间接实现对被控对象的监测和控制。虚拟仪器库模块是一个服务器端虚拟仪器集,直接对被控对象进行监测和控制。Web服务器模块由具有CGI程序功能的Servlet程序和支持Servlet的Web服务器组成,用来完成客户端虚拟仪器和服务器端虚拟仪器间的通信.资源模块是一个用于保存JPEG或GIF格式的服务器端虚拟仪器操作面板数据以及其他类型数据的数据库系统。通信库模块是用来远程操作和实时监视服务器端虚拟仪器并响应客户命令的部分,一般由EJB组件集或DLL动态库集组成,是系统设计的重点,承担着整个系统的通信任务.被控模块由被控对象组成,这些对象一般是由硬件构成的,如采集卡,步进电机等。

系统的模型


        图1 系统的模型

        1.2 系统工作原理
        (1)客户端虚拟仪器的实现。客户端虚拟仪器是由Applet程序实现的CONTROL ENGINEERING China版权所有,其操作面板是通过加载资源模块中保存的服务器端虚拟仪器操作面板来实现的。
        (2)实时监测的实现。首先,服务器端虚拟仪器对被控对象进行实时监测,并将监测的结果显示在仪器操作面板上。然后控制工程网版权所有,Servlet程序以特定的频率f将服务器端虚拟仪器操作面板图像数据保存到内存中。最后,在允许的网络延迟下,通过对f的调整(f根据具体的应用场合而定),将内存中保存的图像数据同步发送到客户

版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688