>
首页 » 业界动态 » 基于W/B构架的仪器WEB测控

基于W/B构架的仪器WEB测控

作者:钱卫星,王勇  时间:2007-02-16 23:30  来源:

摘要:提出了基于W/B构架的仪器WEB测控的概念一一把VI架构在Web/Brower(W/B) 软件应用模型上,应用ActiveX技术在Web页内嵌入仪器操作指令,相关的测控实现则在Web服务器上完成,通过DataSocket实现数据的网络传输。本文将结合HP33120A、HP54501A的使用,提供软件实现的技术要点。

关键词:虚拟仪器;W/B;GPIB;VISA;LabWindows/CVI;ActiveX;DataSocket

一、概述:

随着Internet网的飞速发展,基于Internet的Web技术越来越得到广泛的应用,新的软件应用模型Web/Browser(简称W/B)应行而生。W/B与C/S的理念相反,奉行的是“瘦客户/胖服务器” 的概念,主要的应用程序安装在服务器上,数据存储和处理都在服务器上完成,客户端可在浏览器环境下,在Web页上向服务器发出指令,服务器启动相应的进程响应指令,处理后的数据经网络返回Web页显示。W/B网络充分发挥了服务器的性能,减少了服务器与远程客户端间的数据传输量,并且也便于软件的维护与更新。

Virtual Instrumentation(简称VI)体系,集成了仪器硬件和计算机软硬件技术。仪器硬件实现数据的采集和对现场设备的控制,计算机软硬件完成数据的处理并模拟仪器面板。

结合W/B和VI的先进技术,组建基于W/B构架的仪器WEB的测控系统,将使测控更加灵活,效率更加高效,真正实现测控方式的网络化。

二、仪器WEB测控的主要软件技术

1、 ActiveX:

Web与Windows技术结合产生了ActiveX技术。ActiveX构架于Microsoft的组件对象模型(COM),OLE技术和API技术之上,由Microsoft公司定义并发布的一种开放性标准。ActiveX控件能与Web客户端无缝地连接,使用现有众多的ActiveX控件能快速、方便地在Internet、Intranet网络环境里编写功能强大的基于网络的应用程序,并能在Microsoft的Internet Explorer中直接执行,这使得IE浏览器环境不仅仅具有浏览Web的功能,而且也可以作为其它应用数据的宿主。

2、 DataSocket:

DataSocket是National Instrument(简称NI)推出的一种数据传输协议,完全符合OPC规范。DataSocket Server用类似于常见的URL模型来定位网络环境下的数据源,可以方便的从多种数据源读取数据和在多个计算机间传输大量的数据。例如可以用从HTTP服务器、FTP服务器、DataSocket传输协议(DataSocket Transfer Protocol---DSTP)服务器等读取数据或把数据写入文件。DataSocket API提供了一致的高层通讯函数,降低了编写低层DDE 或TCP/IP网络应用程序的复杂性,在很大程度上减少了软件开发的工作量。

三、仪器WEB测控的软件模型

软件模型图见图一。出于安全方面的考虑,为避免通过网络对服务器和客户端直接进行写的操作,在服务器和客户端均安装了DataSocket Server程序,写的操作在本机完成,通过网络只进行读取的操作。客户端安装的DataSocket Server负责接受客户端Web上的请求指令,通过网络读取服务器上的返回数据。服务器端安装的DataSocket Server通过网络读取客户端的请求指令,接受服务器上与指令相应的进程处理后的数据。

图一 软件模型图

VB6编译环境下结合LabWindows/CVI、NI VISA库函数、DataSocket API编写ActiveX控件,经Ms Visual Stdio6 Tools中的Package & Deployment Wizard打包成cab、htm文件,形成Client VI。为演示方便,服务器端的数据处理程序也做成ActiveX控件,嵌在服务器上运行的Web页内,形成Server VI。服务器与仪器的通信通过服务器上安插的GPIB-VXI/C卡经连接的GPIB数据线实现。

四、实验平台配置

1、服务器:Windows 2000 server、DataSocket Server

服务器上配置IIS信息发布平台,安插GPIB-VXI/C接口控制卡。

2、客户机:安装DataSocket Server,可连接上网。

3、测控仪器:可编程信号发生器HP33120A一台,数字存储示波器HP54501A一台,IEEE-488(GPIB)数据线两根。

4、软件开发平台:LabView6.1、Measurement Studio 6.0、Visual Studio 6.0、和NI VISA库。以上给出的是推荐的配置,实际开发工作中,可能并不全部需要,可以有所取舍。Measurement Studio 6.0中集成了DataSocket Server。NI公司的Measurement Studio软件把数据采集、数据分析、可视化控件、IVI驱动、VISA库函数等集成进LabWindows/CVI、VB和VC++软件开发工具中,为软件人员快速开发虚拟仪器,提供了极大的便利。

开发软件安装步骤:1)首先必须安装Visual Studio 6.0,安装VS Server Pack 3升级包或更高版本;2)升级LabView 到6.02版本;3)安装Measurement Studio 6.0。

五、软件技术的实现

1、 VB6编写服务器端ActiveX控件

由于在安装Measurement Studio6.0后,VB的new project中自动生成了NI Instrumentation

ActiveX Control,可选此新类直接进入编程环境。另外也可选new project中的ActiveX Control进入编程环境,再在ToolBox面板上单击右键选components,在其Control菜单下选中NI CW Analysis6.0、NI CW UI6.0、NI CW VISA6.0三项即可。

软面板设计:1)在用户界面模板上放置四个TextBox,用于编辑DataSocket数据通道,放置四个Label,用于显示数据通道状态;2)放置四个CWDataSocket控件,用于数据通道的控制;3)放置两个CWGraph,用于显示时域数据图形和频谱图形;4)放置一个CWDSP控件,用于生成频谱数据;5)放置两个CWVisa控件,用于和HP33120A、HP54501A通信;6)放置两个CommandButton,用于数据通道与DataSocket Server的连接和断开。整个面板如图二所示。控件主要源代码见下。

图二 Server VI面板图

服务器端ActiveX控件源代码

Dim ReadfromClientVI '获取ClientVI面板上控制HP33120A指令的权值

Dim CaptureWaveformOrder '获取ClientVI面板上控制HP54501A指令的权值

Private Sub ConnectSource_Click() '数据通道的连接

CWDataSocket1.ConnectTo Text1.Text, cwdsReadAutoUpdate

CWDataSocket2.ConnectTo Text2.Text, cwdsWriteAutoUpdate

CWDataSocket3.ConnectTo Text3.Text, cwdsWriteAutoUpdate

CWDataSocket4.ConnectTo Text4.Text, cwdsReadAutoUpdate

CWVisa1.RsrcName = "GPIB0::10::INSTR" 'CWVisa1控件对应HP33120A

CWVisa1.Open

CWVisa2.RsrcName = "GPIB0::3::INSTR" 'CWVisa1控件对应HP54501A

CWVisa2.Open

End Sub

Private Sub CWDataSocket1_OnDataUpdated(ByVal Data As CWDSLib.CWData)

ReadfromClientVI = CWDataSocket1.Data.Value '经33120A数据通道读入控制命令的相应权值

GenerateWaveform33120 '触发33120A产生相应的信号

End Sub

Private Sub CWDataSocket4_OnDataUpdated(ByVal Data As CWDSLib.CWData)

CaptureWaveformOrder = CWDataSocket4.Data.Value '经54501A数据通道读入控制命令的相应权值

Capture54501WaveformData '获取54501A上的图形

End Sub

Sub GenerateWaveform33120()

Select Case ReadfromClientVI

Case 10 '数据权值为10则产生SIN信号

CWVisa1.Write "FUNC:SHAP SIN"

Case 20 '数据权值为10则产生SQU信号

CWVisa1.Write "FUNC:SHAP SQU"

Case 30 '数据权值为10则产生TRI信号

CWVisa1.Write "FUNC:SHAP TRI"

End Select

CWVisa2.Close

CWVisa2.Open

CWVisa2.Write "*rst" 'ResertHP54501A

CWVisa2.Write "Autoscale" '自动获取HP33120A的图形数据

End Sub

Sub Capture54501WaveformData()

Const Pts = 1000

Dim WaveData

Dim SpectrumData

Dim dt As Variant

Dim df As Variant

If CaptureWaveformOrder = 100 Then

CWVisa2.RdWrt.DataAsString = False '设置数据类型为Byte array

CWVisa2.Write "waveform:format comp" '设置数据为8 bits

CWVisa2.Write "waveform:data?" '质询图形数据

WaveData = CWVisa2.Read(1000) '读图形数据

CWGraph1.PlotY WaveData '服务器端显示时域图形

CWDataSocket2.Data = WaveData '时域图形数据送入DataSocket2通道

dt = 1 / Pts

CWDSP1.AutoPowerSpectrum WaveData, dt, SpectrumData, df '生成频谱数据

CWDataSocket3.Data = SpectrumData '频域图形数据送入DataSocket3通道

CWGraph2.PlotY SpectrumData, 0, df '服务器端显示频域图形

End If

End Sub

2、客户端的ActiveX控件

面板设计过程同设计服务器端面板一样,在这儿简略,整个面板图如图三所示控件源程序主要代码如下:

客户端的ActiveX控件主要源代码

Private Sub CWDataSocket2_OnDataUpdated(ByVal Data As CWDSLib.CWData)

CWGraph1.PlotY Data.Value '客户端显示时域数据图形

End Sub

图三 Client VI 面板图

Private Sub CWDataSocket3_OnDataUpdated(ByVal Data As CWDSLib.CWData)

CWGraph2.PlotY Data.Value '客户端显示频域数据图形

End Sub

Private Sub Capture54501Data_Click()

CWDataSocket4.ConnectTo Text4.Text, cwdsWriteAutoUpdate

CWDataSocket4.Data.Value = 100 '设置读取HP54501A数据的命令按钮权值为100

End Sub

Private Sub Call33120SIN_Click()

CWDataSocket1.Disconnect

CWDataSocket1.ConnectTo Text1.Text, cwdsWriteAutoUpdate

CWDataSocket1.Data.Value = 10 '设置HP33120A产生SIN函数的命令按钮权值为10

End Sub

3、 编译上述程序生成ocx、vbp文件,再用Ms Visual Stdio6 Tools中的Package &

Deployment Wizard将其打包生成cab、htm文件,形成Server VI和Client VI的WEB面板。

六、软件发布

手动设置仪器HP33120A、HP54501A的GPIB地址为10和3。

Server Station端:IP地址为10.10.9.151。设置IIS的WEB站点主目录路径为Client VI所在目录,默认文档为Client VI。运行Server VI,设置各数据通道的正确路径,运行DataSocket Server,点击Connect建立数据传输通道的链接.

Remote station端:IP地址为10.10.9.153。通过网络链接Server Station主页,获取Client VI,设置各数据通道正确路径。运行DataSocket Server,点击Connect建立数据传输通道的链接。在Client VI的WEB面板上点击各命令按钮,即可远程对HP33120A、HP54501A进行操作。

七、结束语

应用NI公司DataSocket技术和微软公司ActiveX技术,本文初步实现了基于W/B构架的仪器远程WEB测控。将控制仪器的指令移至浏览器中,是继发展仪器虚拟面板之后,仪器领域内又一显著进步。网络化测控、基于计算机的自动测试是未来测控发展的必然趋势,现代计算机技术及网络通信技术的快速发展,加快推进了这一趋势的前进,并且两者在未来测控领域中将会占据越来越重要的地位。

相关推荐

浅析目前虚拟仪器监测系统的特点及优点

虚拟仪器  监测  2013-12-19

智能仪器仪表发展新趋势:虚拟仪器兴起

仪器仪表  虚拟仪器  2013-08-01

nextboard助力中科大虚拟仪器实验室建设

NI全方位助力哈尔滨工业大学教学和创新实践

NI  虚拟仪器  CompactRIO  PXI  2011-12-12

虚拟仪器在位移测试系统中的应用

Lonworks网络虚拟监测系统研究

虚拟仪器  通信  2011-08-31
在线研讨会
焦点