0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于LabVIEw开发环境和uA20lD实现测控系统的设计

电子设计 来源:微计算机信息 作者:钟国韵 , 刘梅锋 2020-12-15 09:34 次阅读

随着科学技术的发展,特别是Pc机的普及,对测控系统的设计要求越来越高。在国际上应用较广泛的一种组建测控系统的方法是:采用“虚拟仪器”来取代传统仪器.即利用数据采集卡、信号调理卡或其他计算机外围硬件进行信号的采集与检测,然后由计算机来实现对信号的处理、计算和分析以及测试结果的显示。但是,由于虚拟仪器设计语言LabvIEw的专用性,它只支持NI公司产品,非NI公司的产品不可以直接使用LabVIEw进行开发。另外用VC,VB等文本编程语言开发测控系统用户界面缺乏灵活性,这两个主要方面导致虚拟仪器的应用受到很大的限制。而且成本昂贵。本文研究目的就是寻求一种通用而且简单的方法使用LabVIEw开发环境.把非NI公司的产品(即这里所指的普通数据采集卡)与Labview的完美结合起来。实现基于虚拟仪器的测控系统的设计。

1、驱动程序的设计

本文研究采用北京优采公司生产的uA20lD数据采集卡作为底层硬件,与Pc机组成PC—DAQ方式的虚拟仪器。按照驱动程序模型来分,可分为vxD(Vinual Device D而ver)式驱动程序,KMD(Kemel Mode Driver)式驱动程序以及wDM(Windows Driver Model)驱动程序,本文设计的平台是windowsxP,而且是在PCI总线的基础上进行设计.根据三种模型的特点采用wDM驱动程序是最理想的选择。windows下驱动程序开发语言通常采用两种方式,汇编语言和C,C++语言,并且结合第三方公司提供的驱动程序开发工具。目前使用最广泛的是WinDriver和Driverstudio。本文设计中采用了Driverstudio中的DriverWorks。

首先利用DriverWorks的驱动程序向导,生成驱动程序的基本框架,在生成框架过程中添加与设备紧密相关的信息。框架生成的详细步骤:打开Vc,出现DriverStudio在vC中嵌入的工具栏:单击按钮Launch DriverWorks Driver wizard打开向导的第一页,在第一页中填入T程名.以及在Pc机中的保存位置;在第二页中,选择wDM Driver;在第三页中,选择wDM功能驱动程序;在第四页中,在select Hardware Bus中选择PcI,出现PCI总线的各种设置。设置PcI vander ID为O“348等等;在第五页输人驱动程序类的类名和文件名。一般采用默认设置;在第六页中,主要是选择驱动程序处理的请求类型;在第七页中,选择IRP串行处理的类型和串行处理的函数;在第八页中,添加需要存储在系统注册表中的内容。当驱动程序开始运行,就将信息从注册表中读出,当驱动程序卸载后,就存入注册表;在第九页中,设置PcI设备类的信息;在第十页中,要添加自定义的10crI’L.驱动程序向导会自动生成与之相对应的派遣例程;在第十一页,I)一verWorks可以为驱动程序生成简单的应用程序,用于调试驱动程序;最后点击Finish,一个驱动程序的框架就完全产生.这也是一个完整的驱动程序。但是无法实现任何功能,接下来要作的T作就是完善这个框架,也就编写功能函数,主要就是完成不同IRP的处理工作。其中包括两个类,uA20lD和uA201DDevice,其中最主要的函数包括三个,分别是:OnStartDevice、Devicecontrol和startIo。

驱动程序的执行过程包括两个方面。一是驱动程序的硬件资源的分配;二是驱动程序控制硬件功能的实现。具体过程如图1、图2所示:

基于LabVIEw开发环境和uA20lD实现测控系统的设计

图1 驱动程序的资源的获取与分配

图2 驱动程序控制硬件

2、动态链接库的设计

动态链接库(Dynamic Link Library,简称DLL)是一个可执行的windows程序的一种函数形式。本文设计的用户界面程序是采用图形化语言LabVIEW设计的,因此LabVIEW专门提供了两个的节点函数CIN(code Interface Mode)和CLFN(call library Function Mode)来处理与C语言接口问题,而对于不熟悉LabVIEw的人员来说很难开发cIN的程序。而且经过大量的实验证明采用CLFN。即编写动态链接库是最理想的选择。

在本文研究中,根据功能的不同把动态链接库的设计划分为打开和关闭设备、数据采集、模拟输出、数字I/0和定时,计数四大模块。首先,用户界面调用动态链接库*能函数,传递控制参数和数据。然后,功能函数根据参数不同,在调用具体的函数,具体函数把传递来的参数经过处理,调用DeviceIoControl向驱动程序发送参数.并从驱动程序中获得用户界面需要的数据,数据经过处理后传递给功能函数。最后,功能函数把数据返回用户界面。

3、用户界面设计

本文设计是在Pc机上采用虚拟仪器技术设计完成的,与设计传统仪器的操作控制面板完全不同。LabvIEw之所以会受到虚拟仪器设计者的青睐.很重要的原因就是因为它可以在很短的时间里开发出很完美的控制与显示面板,这些仿真的控件是其他编程语言所无法比拟的。控制界面的设计包括两个方面的设计,一一是控制面板的设计,另一个是后台流程图的设计。采集数据的处理与显示、模拟量的输出、数字量的输出与输人以及定时/技术功能等工作都是通过编写软件来实现。这正体现了虚拟仪器的“软件就是仪器”的设计思想。对于普通用户来说,采用图形化编成语言LabVIEW应该是设计控制界面的最佳选择。

4、远程测控的实现

要实现远程测控功能主要是要实现测控系统的网络功能,利用LabVIEW提供的网络通信节点,例如TCP/IP,Remote Data Acquisition(RDA),Internet Toolkit,VI Server,Front Panel Web

Publishing,Datasocket,Remote Panel等,加上一些高级编程技术和技巧,都可以实现网络测控。大多数用户都希望通过简单快捷的方式来实现网络测控功能,利用LabVlEw的远程面板

(Remote Panel)技术,不需要任何编程,只需要在LabVIEw中设置几个参数.就可以轻松解决这个问题。

Remote Panel技术,允许用户直接在本地(Client端)计算机上打开并操作位于远程(web server)计算机上的VI的前面板。IJabvIEw集成了Remote Panel技术,用户可以用极为简单的方式直接在本地(client端)计算机上打开并操作位于远程(web Server端)计算机上的vI的前面板。甚至可以将LabVIEw的前面板窗口嵌入到一个网页中并在网页中直接操作它。在LabvIEw中使用Remote Panel只需要两个步骤:

第一步,在hbvIEw web server端的计算机上开启LabVIEW Web Server服务。

第二步,在client端计算机上连接并运行Remote Panel。

完成web server端相应的配置后,就可以在client端的LabvIEw环境中运行一个Remote Panel了。Remote Panel还可以通过浏览器控制远端vI的前面板,只要在client端安装LabVIEW Run-Time Engine即可实现这个功能。

5、结束语

本文的创新之处是把非NI公司的数据采集卡与LabVlEW完美结合起来,实现基于虚拟仪器的测控系统的设计。设计思想是低一层的软件为高一层的软件提供接口,供高一层的软件使用,也就是驱动程序给动态链接库提供接口,动态链接库给用户界面提供接口,实现三者的完美结合。此外,利用LabVIEW强大的网络编程功能,实现了同一局域网内基于Remote Panel的web环境的网络测控。因此此系统在测试领域中将会有广阔的应用前景。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LabVIEW
    +关注

    关注

    1971

    文章

    3654

    浏览量

    323780
  • 虚拟仪器
    +关注

    关注

    22

    文章

    775

    浏览量

    87338
  • 数据采集
    +关注

    关注

    39

    文章

    6114

    浏览量

    113681
收藏 人收藏

    评论

    相关推荐

    基于LabVIEW的无线自动测控系统设计与实现

    针对弹药爆炸现场爆压测量难的问题,采用LabVIEW为工具设计了一套无线自动测控系统,主要由传感器网络节点、无线中继站AP和上位机三部分组成。测控
    发表于 11-05 14:12

    基于LabVIEW的磨损实验测控系统设计与实现

    基于LabVIEW的磨损实验测控系统设计与实现: 摘要:基于LabVIEW设计实现了油管接箍磨损
    发表于 05-07 01:19 51次下载

    基于LabVIEW的筒盖综合测控系统设计

    本文主要介绍了用虚拟仪器技术实现筒盖综合测控系统的方法,讨论了该系统的硬件设计和LabVIEW平台下软件
    发表于 08-21 11:22 16次下载

    Vb与LabVIEW混合编程的实现

    Vb与LabVIEW混合编程的实现:在使用Vb 开发测控软件系统时,对有关数据信号显示、分析和处理等算法
    发表于 09-21 08:31 49次下载

    基于LabVIEW曲轴疲劳试验机测控系统开发

    介绍了曲轴疲劳试验机的工作原理,利用LabVIEW 软件和硬件开发了试验机的测控系统。该系统实现
    发表于 12-31 16:19 30次下载

    基于LabVIEW的温度测控系统设计

    基于LabVIEW的温度测控系统设计    目前的测温控制系统大都使用传统温度测量仪器.其功能大多都是由硬件或固化的软件来
    发表于 05-30 17:30 151次下载

    基于LabVIEW的无线温度测控系统设计方案

    基于LabVIEW的无线温度测控系统设计方案 摘要:基于虚拟仪器设计理论,以LabVIEW8.5为软件开发平台,低功耗单片机P89LV51
    发表于 04-23 14:47 1621次阅读
    基于<b class='flag-5'>LabVIEW</b>的无线温度<b class='flag-5'>测控</b><b class='flag-5'>系统</b>设计方案

    基于LabVIEW的虚拟示波器及远程测控

    论文介绍虚拟仪器的概念、组成和虚拟仪器开发软件LabVIEW, 以及基于 LabVIEW 的数据采集系统。同时具体介绍了如何用数据采集卡和LabVI
    发表于 07-04 11:05 169次下载
    基于<b class='flag-5'>LabVIEW</b>的虚拟示波器及远程<b class='flag-5'>测控</b>

    基于LabVIEW的无线自动测控系统设计与实现

    针对弹药爆炸现场爆压测量难的问题,采用LabVIEW为工具设计了一套无线自动测控系统,主要由传感器网络节点、无线中继站AP和上位机三部分组成。
    发表于 08-28 19:39 1594次阅读
    基于<b class='flag-5'>LabVIEW</b>的无线自动<b class='flag-5'>测控</b><b class='flag-5'>系统</b>设计与<b class='flag-5'>实现</b>

    基于LabVIEW的电网综合参数测控系统设计

    基于labVIEW的电网综合参数测控系统设计。
    发表于 11-09 16:22 0次下载

    计算机测控系统设计

    【零基础学习LABVIEW20 计算机测控系统的设计
    发表于 01-08 15:37 0次下载

    利用LabVIEW实现温度测控_程序案例

    程序案例 利用LabVIEW实现温度测控,喜欢的朋友可以下载来学习。
    发表于 01-13 16:21 117次下载

    湿热环境测控系统的设计与实现_李锋

    湿热环境测控系统的设计与实现_李锋
    发表于 01-18 20:21 0次下载

    基于LabVIEW平台的多任务实时测控系统实现_刘为玉

    基于LabVIEW平台的多任务实时测控系统实现_刘为玉
    发表于 03-18 09:26 9次下载

    LabVIEW开发环境入门

    LabVIEW开发环境入门指南。
    发表于 04-25 15:49 56次下载