网络化虚拟测控系统的设计
3)电压转换由于SOPC系统和PCI9054使用计算机提供的3.3 V电源,而RS232输出电平为-10~+10 V,且不少器件需要5 V电源。电路中使用电源转换器LTC1872把输入3.3 V转换为5 V输出电源(图5),使用MAX232实现RS232与5 V电压之间的转换。
1.3 网络化虚拟谢控系统软件设计
软件系统是网络化虚拟测控系统的核心,系统软件主要由虚拟仪器软件、PCI接口卡驱动程序以及SOPC软件组成。虚拟仪器软件利用Lab Windows/CVI自带的强大测控工具以及丰富的功能面板和库函数,采用事件驱动、交互式与回调函数编程技术,设计开发了信号采集与转换、数字信号处理与分析、数据存储与显示、外部设备配置等模块,使用到的技术主要有:
1)Matlab与Labview混合编程Matla5语言已经成为科研人员有力的仿真分析工具,几乎渗透到各个学科。虽然Matlab拥有很强的数据分析处理以及复杂数值计算能力,但是其在界面开发、硬件连接控制及网络通信等方面都不如Labview。将Matlab和Labview结合是提高测控仪器精度、可靠性、扩展性以及开发效率的有效途径。
Matlab与Labview混合编程方法有两种:①直接调用Labview内建的600多条Matlab函数;②通过Matlab(Ver6.5)ActiveX接口调用运行Matlab函数、与Matlab数据交换以及控制Matlab窗口等命令。其过程为;a.引用自动化对象:在Labview的Controls>>ActiveX>>Automation Refnum模板中选择自动化引用(Automation Refnum)控制量,将其放置在前面板上,从对象列表中选择Matlab应用库。这样Matlab的引用就添加到程序中。b.访问Matlab自动化服务器:Labview在其Function>L>Communication>>ActiveX模板中提供了一组与AetiveX操作相关的VI,其中Automation Open.vi打开引用,启动Matlab自动化服务器,并将引用传递给其他节点,如属性节点(Property Node)、调用方法节点(In voke Node)。③使用Matlab Script节点。Labview使用ActiveX技术执行MatlabScript节点,启动Matlab进程。这样可以在Labview应用程序中使用执行Matlab命令、使用各种工具箱。图6为Labview调用Matlab语言中6阶巴特沃斯(Butterworth)滤波器对正弦函数的滤波实验结果。
2)基于LabSQL的数据库访问 虚拟仪器应用程序需要对采集数据以及数据分析结果进行存储和访问,Labview提供了类似SQL的数据库访问方法。用户首先在ODBC中指定DSN(数据源名)和ODBC驱动程序,由LabSQL ConnectionVIs通过ODBC建立LabSQL与数据库连接。然后利用LabSQL Command VIs完成ADO操作以及Recordset VIs对数据库记录操作,实现应用程序与数据库之间的数据交互传递。
3)基于DataSocket建立客户机/服务器测控系统 对于网络化测控系统,由于把各节点数据汇总到处理主机,设计上采用DataSocket技术建立客服务器/客户端(C/S)通信模式。主机工作于服务器模式,负责相应客户端的请求以及采集、存储和处理数据,客户端数据点计算机工作于Client模式,实现数据传送。利用DataSocket发布数据需要3个要素:服务器(DataSocket Server),负责把数据写到服务器的发布器(Publisher),客户机从服务器读取数据的订阅器(Subscriber)。其工作过程为:①客户端和服务器端分别运行DataSocketServer;②建立客户端与服务器端DataSocket的连接;③客户端接收和显示测量数据:客户只需通过DataSocket Server发送请求即可实现数据的接收,这样客户机通过控制服务器端软件实现远程测控。
4)WDM驱动程序设计 由于该系统基于PCI接口卡,因此需要开发windows环境下的PCI接口卡驱动程序。综合考虑驱动程序的效率和灵活性,系统选用windows DDK与VC++语言开发PCI接口卡驱动程序。驱动程序主要包括初始化模块、内存读写模块、I/O操作模块、中断模块以及WDM与应用程序的通信模块,详细设计可以参考文献,在此不再详述。
2 结束语
本文设计的网络化虚拟测控系统具有硬件模块化、网络化、开放性以及操作方便等特点,适应了当前测控仪器向网络化和虚拟化方向发展的趋势,因而具有较强的应用性和扩充性。
文中介绍了系统的设计与相关模块的实现,并简要说明了关键软件模块的设计方法。需要指出的是,本文设计的网络化虚拟测控系统具有教学和科研双重价值,对本系统增加新的硬件模块或者修改虚拟仪器应用软件可以完成不同的测试任务和控制任务。今后还需要在硬件模块标准化,硬件模块的故障监测与故障修复,物联网在虚拟测控仪器上应用,分布式网络化测控系统的拓扑结构等方面进行研究。
- 倒T型电阻网络D/A转换器(01-24)
- RS-485网络设计降低功耗问题(01-26)
- 网络环境下的蓄电池智能监测系统设计(01-06)
- 基于RTL8019AS的串口与以太网接口转换器(04-29)
- 在高温超导滤波器后级的低温低噪声放大器的设计和调试方法(06-01)
- 基于AX88796B的网络接口模块的设计与实现(06-24)