首页 » 技术文章 » 基于虚拟仪器的锁相放大器远程实验系统设计

基于虚拟仪器的锁相放大器远程实验系统设计

作者:  时间:2010-10-20 10:40  来源:EDN

  O 引言

  20世纪80年代末美国成功研制了虚拟仪器,虚拟仪器的发展标志着自动测试与电子测量仪器领域技术发展的一个崭新方向。虚拟仪器是利用PC机的显示模拟传统仪器的控制面板,以多种形式表达输出检测结果,由PC机的强大软件功能实现信号数据的运算、分析、处理,由IO接口设备完成信号的采集、测量与调理,从而完成各种测试功能的一种计算机仪器系统。

  基于互联网的远程实验是远程教育的一个新的发展方向。远程实验从远程计算机上进行实验操作和观察,所得到的实验结果与本地得到的完全相同,如同在实验室真实操作实验设备一样,突破了时空限制,极大地提高了实验教育的灵活性。将虚拟仪器技术和网络技术相结合,实现网络化虚拟仪器,并结合电路其他元件的远程控制,可实现基于虚拟仪器的远程实验。

  1 LabVIEW简介

  LabVIEW(laboratory virtual instrument engineering workbench)是美国NI公司推出的一种基于G语言(graphics language)的虚拟仪器软件开发工具,具有各种功能强大的函数库,包括数据采集、网络通信、串口控制、数据显示及数据存储等。采用旋钮、开关、波形图等构造用户界面。

  LabVIEW提供了强大的网络通信功能,TCPIP(transmission control protocolinternet protocol)协议是Internet最基本的协议。函数库的CommunicaTIon子模板中提供了TCP节点,可以实现客户机/服务器模式下的双机通信。

  2 远程实验系统总体设计

  本文开发了基于虚拟仪器的锁相放大器远程实验系统,实现了远程测量热敏电阻温度特性,远程实验系统结构框图如图1所示。

  用户打开客户机,运行程序,在虚拟面板上可以设置锁相放大器的相位调节、积分时间等参数。同时,通过虚拟面板可以改变加热按钮的状态,用户在客户机的虚拟面板上点击加热按钮,接通加热电源,控制继电器闭合,加热电路开始给热敏电阻加热,该状态值通过Intern-et和服务器送往实验机。实验机将接收到的加热控制状态通过串口送入单片机,通过单片机调节继电器的状态,从而控制热敏电阻的加热状态。热敏电阻的温度由DSl8B20数字式温度传感器测得,送往单片机系统,通过串口将被测热敏电阻温度值读入到实验机中;音频输入电缆采集信号发生器输出的参考方波和桥式电路输出的电压值,经声卡模/数转换器送入实验机。实验机中的被测信号通过服务器和Internet反馈给客户机。用户通过虚拟锁相放大器和虚拟温度计进行观察和测量,得到热敏电阻温度特性曲线。

  3 远程实验系统的软件设计

  远程实验系统采用CS(clientserver)模式,其典型运作过程为:

(1)服务器监听相应端口的输入;
(2)
客户机发出一个请求;
(3)
服务器接收到此请求;
(4)
服务器处理此请求,并把结果返回给客户机;
(5)
重复上述过程,直至完成一次会话过程。

  客户机与实验机的通信利用TCPIP协议实现。TCP协议是一个可靠的、基于连接的协议,能保证网络间的可靠传输。CS模式要分别编写客户机和实验机程序,采用TCP协议可正确传送控制命令和数据。

  锁相放大器远程实验系统需要实现远程控制继电器的状态,声卡采集输入信号和参考信号,串口采集温度值,并用锁相放大器测量热敏电阻输出电压,用虚拟温度计测量热敏电阻的温度。在LabVIEW环境下分别编写客户机和实验机程序,实现测量热敏电阻温度特性曲线远程实验。

  31 客户机程序

  311 客户机程序的用户界面

  客户机程序的用户界面如图2所示,集成了锁相放大器的全部功能以及虚拟温度计,波形图实时显示了锁相放大器工作过程中各个中间过程的波形。热敏电阻的温度值也实时显示在虚拟温度计上。

  用户点击加热按钮,接通加热电源,其状态值经由网络送往实验机,从而改变实验室内测温电路的继电器状态,加热电路开始对热敏电阻进行加热。实验电路中桥式电路的输出信号和热敏电阻的温度值,经由网络反馈给客户机,用户通过虚拟仪器面板观察各个点波形的显示,同时读取温度值,完成热敏电阻温度特性测量。

  服务器一栏设置为实验室内服务器的IP地址,剩余时间一栏显示用户可用的时间。本实验控制真实的实验元件,每次只能有一位用户操作。规定每位用户的实验时间为30 min30 min后,此客户机与实验机的连接自动断开。

   312 客户机软件框图程序

  软件框图程序如图3所示。程序分别设置了3While循环结构,分别完成读取温度值、读取电压值以及发送控制继电器状态的功能。循环中止的条件为下列三者之一:用户点击了退出按钮;用户连接时间超过了30 min;实验过程中TCP连接出错,如实验机程序先行中止,或系统错误引起连接中止。

  客户端程序的软件部分采用3个独立的While循环,每个端口分别设置了独立的服务器端口,依次是232223232324

  (1)读取反馈的实验数据。对于数据接收,用2TCP Read节点读取实验机发送的声卡采集的数据长度和字符串数据。

  2322端口接收串口读取的温度值,因为温度值采集时已经转换为4BCD码表示的十进制数,因此接收时读取的字长设置为4,读取的温度值送入虚拟温度计并实时显示出来。

  2323端口对应接收声卡读取的电压值,因为是左、右声道各采集一路信号,因此设置了2Sequence结构,其中Sequence0接收左声道读取的桥式电路输出信号,送入锁相放大器的信号输入端;Sequence1接收右声道读取参考方波,送入锁相放大器的参考信号输入端。同时将读取的波形实时显示在用户界面上。

  (2)发送继电器控制信号。2324端口发送加热控制电路的继电器状态值,用户可以在虚拟面板生改变加热按钮的状态,并通过服务器反馈回实验机,从而控制加热电路中继电器的状态。加热按钮其处于不同的位置时,向网络连接发送不同的命令字。将命令字放在一个CASE结构中,这样便于实现用户将加热按钮置于不同的位置时,发送不同的命令字。为有效传送数据,采用2TCP Write节点,第1个节点发送字符长度,第2个节点发送字符数据。

相关推荐

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

虚拟仪器  监测  2013-12-19

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

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

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

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

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

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

Lonworks网络虚拟监测系统研究

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