文档库 最新最全的文档下载
当前位置:文档库 › 第9章_LabVIEW与工控设备的编程技术(新)

第9章_LabVIEW与工控设备的编程技术(新)

第9章_LabVIEW与工控设备的编程技术(新)
第9章_LabVIEW与工控设备的编程技术(新)

第九章LabVIEW与工控设备的编程技术

随着计算机技术尤其是软件技术的不断发展,越来越多的用户采用专门的组态软件来构建数据采集与控制系统,如iFix、WinCC、组态王Kingview等,以快速完成数据采集和控制任务。美国NI公司的LabVIEW软件虽然从严格意义上讲并非专业的组态软件平台,但以其丰富的界面表达能力、强大的信号处理功能以及独特的图形化数据流编程特点成为构建测量与控制系统的常用平台。如今,通用计算机加研华数据采集控制模块/板卡加LabVIEW编程,已经成为一种高效而便捷的测量与控制系统解决方案。

为了方便用户在LabVIEW 软件中使用研华公司的数据采集模块/板卡完成测量与控制系统,研华公司提供了相应的LabVIEW 驱动程序。这个驱动程序可以在研华公司的网站上免费下载。

本章将以最新的LabVIEW 8.5中文版为例,讨论在LabVIEW下面如何使用研华的数据采集模块/板卡,实现一个完整的测量与控制系统。通过本章的学习,学生应掌握以下内容:☆研华LabVIEW 驱动程序的安装

☆研华数据采集板卡的LabVIEW 编程

☆研华ADAM数据采集模块(RS-485)的LabVIEW 编程

9.1 虚拟仪器技术和LabVIEW简介

9.1.1 虚拟仪器概述

1.什么是虚拟仪器

虚拟仪器是现代仪器技术与计算机技术深层次结合的产物。计算机与仪器的密切结合是目前仪器发展的一个重要方向。粗略地说,这种结合有两种方式。一种是将计算机装入仪器,其典型的例子就是所谓的智能化仪器。另一种方式是将仪器装入计算机,以通用的计算机硬件及操作系统为依托。虚拟仪器主要指这种方式。

所谓虚拟仪器(Virtual Instrument,简称VI), 即是在通用计算机平台上,用户根据自己的需求来定义和设计仪器的测量功能。其实质是以计算机为基础,配以相应测试功能的硬件作为信号输入输出的接口, 完成信号的采集、测量与调理,从而完成各种测试功能的一种计算机化仪器系统。

它利用虚拟仪器软件开发平台(例如LabVIEW,labwindow/CVI),在计算机的屏幕上形象地模拟各种仪器的面板(包括显示器、按钮、指示灯、旋钮、开关等)以及相应的功能。用户在屏幕上通过虚拟仪器面板对仪器的操作就如同在真实仪器上操作一样直观、方便、灵活。下面的框图反映了常见的虚拟仪器方案。

图9-1 常用虚拟仪器方案

2.虚拟仪器的特点

虚拟仪器的出现和兴起,改变了传统仪器的概念、模式和结构。与传统仪器的比较,其在智能化程度、处理能力、性能价格比和可操作性等方面具有明显的技术优势。其特点可归纳为下表:

3.虚拟仪器的基本功能

任何一台仪器或系统可概括为由三大功能模块组成:信号的采集、数据的处理、结果的输出。

(1)信号调理与采集功能

对被测信号进行调理和采集是虚拟仪器的基本功能。此项功能主要是由虚拟仪器的硬件平台完成的。仪器硬件可以是:插入式数据采集卡DAQ、带标准总线接口的仪器,如GPIB、VXI、PXI等。

(2)数据分析和处理功能

虚拟仪器充分利用了计算机的高速存储和运算功能,并通过软件实现对输入信号的分析处理,如数值计算、信号分析、统计处理、数字滤波等。

(3)参数设置和结果表达

虚拟仪器充分利用计算机的人机对话功能,完成仪器的各种工作参数的设置,如量程、频率等参数的设置,对测量结果的表达与输出有多种方式,如屏幕显示,绘图打印、网络传输等。

4.虚拟仪器的构成

虚拟仪器由两大部分构成:通用仪器硬件平台(简称硬件平台)和应用软件

(1)硬件平台

由计算机和I/O 接口设备组成。计算机是硬件平台的核心,一般是工作站,也可以是普通的PC。

I/O 接口设备负责被测信号的采集、调整、放大、模数转换。常用有以下五种类型,如图9-2所示:

I/O接口设备

图9-2 虚拟仪器的构成

(2)虚拟仪器软件

应用程序(包含两方面功能的程序):实现虚拟面板功能的软件程序和定义测试功能的流程图软件程序。

I/O 接口仪器驱动程序:完成特定外部硬件设备的扩展、驱动与通信。

5.虚拟仪器的开发平台和领导厂商

虚拟仪器软件开发平台有基于文本式编程语言开发工具和基于图形化编程语言开发工具。前者如VC++,VB,C++Build,LabWindows/CVI等,后者有NI公司的LabVIEW和HP 公司的HP VEE。其中,已经有三十年虚拟仪器开发经验的美国NI公司已经作为业界的领导厂商。

1976年,James Truchard、Jeff Kodosky和Bill Nowlin在奥斯汀成立了NI公司。三十年后NI已经成长为一个成功的跨国企业:拥有超过3,800名员工。分布于世界40个国家的50多个分公司和办事处。NI创造了基于计算机的革新性测试测量和自动化产品,改善了人们的日常生活,又为客户提供了测量与自动化及相关行业的最佳方案。在过去的三十年中,NI开辟了虚拟仪器领域,它将现成商用技术与革新性软硬件相结合,从而为嵌入式设计、工业控制和测试与自动化提供了独特的解决方法。

用一句话可以概括NI产品无所不在的应用:“NI共提供1000多款软硬件产品,应用遍布电子、机械、通信、汽车制造、生物、医药、化工、科研、教育等各个行业领域。从日本的Honda汽车测试、澳洲的心脏起搏器设计/验证, 到英国电信电话线路性能测试,全世界数以万计的工程师和科学家们都在使用NI的产品达到他们共同的目的——更快、更好、更省钱。”

9.1.2 LabVIEW概述

1.什么是LabVIEW

LabVIEW(Laboratory Virtual instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵

活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。

图形化的程序语言,又称为“G”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或流程图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。

利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位编译器。像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。

2. LabVIEW应用程序的构成

所有的LabVIEW应用程序,即虚拟仪器(VI),它包括前面板、程序框图以及图标/连结器三部分。

如果将虚拟仪器与传统仪器相比较,那么虚拟仪器前面板上的各类控件就相当于传统仪器操作面板上的开关、显示装置等,而虚拟仪器程序框图上的东西相当于传统仪器箱内部的电器元件、电路等。在许多情况下,使用虚拟仪器VI可以仿真传统标准仪器,不仅在屏幕上出现一个惟妙惟肖的标准仪器面板,而且其功能也与标准仪器相差无几,甚至更为出色。

图标及连接器中的图标涌来区分不同的VI,设置连接器使该VI可以在其他VI中被调用。

图9-3 LabVIEW应用程序的前面板和程序框图

3. LabVIEW 软件的特点

?是基于图形化的软件编程平台,是应用于测控领域的专用软件开发工具。

?“所见即所得”的可视化技术建立人机界面。

?采用数据流编程模式,是能够同时运行多个程序的多任务系统。

?提供了丰富的用于数据采集、分析、表达及数据存储的函数库。

?提供如设置断点、单步运行, 高亮执行等调试工具, 使程序的调试和开发更为便捷。

?内置了PCI、DAQ、GPIB、PXI、VXI、RS-232 和RS 485 在内的各种仪器通信总线标准的所有功能函数, 支持数据采集卡和GPIB、串口设备、VXI仪器、PLC、工业现场总线以及用户特殊的硬件板卡。

?具有强大的外部接口能力,可以实现LabVIEW 与外部的应用软件(如Word,Excel 等)、C语言、Windows API 、MATLAB等编程语言之间的通信。

?强大的Internet 功能, 内置了便于应用TCP/IP、DDE、Active X 等软件标准的库函数。支持常用网络协议, 方便网络、远程测控仪器的开发。

?支持多操作系统平台可直接移植到其它平台上。

9.2 研华LabVIEW 驱动程序的安装

LabVIEW驱动是建立在32bitDLL驱动基础之上的,所以要安装LabVIEW驱动先要安装32bitDLL驱动,包括设备管理器DeviceManager和对应板卡的DLL驱动,然后再安装对应的LabVIEW驱动。

1.安装Device Manager和32bitDLL驱动

第一步:将设备驱动启动光盘插入光驱,安装执行程序将会自动启动安装,出现初始安装界面以后,点击CONTINUE, 再点击Installtion,即出现下图安装选择界面,如图9-4。

图9-4 驱动程序安装界面

第二步:首先选择安装Device Manager,也可以在光盘中执行\tools\DevMgr.exe直接安装。按照安装提示进行Device Manager的安装,安装路径如图9-5所示。

图9-5 选择安装路径(默认安装路径)

其中在“Select Manual”这一步骤可以选择《研华设备驱动手册》的语言,选择中文继续,如图9-6所示。

图9-6 选择安装语言

安装Device Manager结束后,有关研华32bitDLL驱动程序的函数说明,例程说明等资

料都可以在《研华设备驱动手册》中获取,如图9-7所示。

《研华设备驱动手册》快捷方式位置为:开始/ 程序/ Advantech Automation/ Device Manager/ DeviceDriver's Manual。也可以直接执行在图示的默认安装路径文件

C:\ProgramFiles\ADVANTECH\ADSAPI\Manual\General.chm。

图9-7 《研华设备驱动手册》中文版首页

第三步:回到图9-4所示安装选择界面,点击Individual Driver,然后选择所安装的板卡的类型和型号(本章中,以PCI-1710数据采集卡为例),然后按照提示就可一步一步完成板卡驱动程序的安装,如图9-8。

图9-8 选择板卡驱动程序

第四步:回到图9-4所示安装选择界面,点击Example&Utility,选择对应的语言安装示例程序。例程默认安装在C:\Program Files\ADVANTECH\ADSAPI\Examples下。可以在这

里找到32bitDLL驱动函数使用的示例程序供编程时参考,有关示例程序的说明在《研华设备驱动手册》中均有说明。

2. LabVIEW驱动程序安装使用说明

研华已经提供了LabVIEW驱动程序。(注意:安装完LabVIEW软件以及前面步骤的Device Manager和32bitDLL驱动后LabVIEW驱动程序才可以正常工作。)在图9-4所示安装选择界面中点击Advance Options 出现如图9-9界面。点击LabVIEW Drivers来安装LabVIEW驱动程序和LabVIEW驱动手册和示例程序。LabVIEW驱动默认安装路径如图9-10所示。

图9-9 Advance Options安装界面

图9-10 LabVIEW驱动默认安装路径

安装完后LabVIEW驱动帮助手册快捷方式为:开始/程序/Advantech Automation/ LabVIEW / LabVIEW Driver’s Manual.chm。默认安装下也可以在C:\Program Files\National Instruments\LabVIEW 8.5\help\Advantech中直接打开。LabVIEW驱动帮助手册还提供了4个典型应用的教程,如图9-11所示。LabVIEW驱动示例程序默认安装在C:\Program Files\National Instruments\LabVIEW 8.5\examples\Advantech目录下。

图9-11 LabVIEW驱动帮助手册

9.3 研华数据采集板卡的LabVIEW 编程(以PCI-1710为例)

PCI-1710是一款PCI总线的多功能数据采集卡。其先进的电路设计使得它具有更高的质量和更多的功能。这其中包含五种最常用的测量和控制功能:12位A/D转换、D/A转换、数字量输入、数字量输出及计数器/定时器功能。

1.数据采集卡的安装

第一步:关掉计算机,将板卡插入到计算机后面空闲的PCI插槽中(注意:在您手持板卡之前触摸一下计算机的金属机箱壳以免手上的静电损坏板卡。)

第二步:检查板卡是否安装正确,可以通过右击“我的电脑”,点击“属性”,弹出“系统属性”框;选中“硬件”页面,点击“设备管理器”;将弹出画面,如图9-12所示。从图中可以看到板卡已经成功安装。

9-12 计算机设备管理器

第三步:从开始菜单/程序/Advantech Automation / Device Manager,打开Advantech Device Manager, 如图9-13所示。

图9-13 Advantech Device Manager

当计算机上已经安装好某个产品的驱动程序后,它前面将没有红色叉号,说明驱动程序已经安装成功。PCI总线的板卡插好后计算机操作系统会自动识别,Device Manager在Installed Devices 栏中My Computer下也会自动显示出所插入的器件,如图9-13所示。

点击“Setup”,可设置模拟输入通道是单端输入或是差分输入以及两个模拟输出通道

D/A转换的参考电压。设置完成后点击“OK”即可。

2.板卡功能测试

在上图的界面中点击“Test”, 弹出下图9-14,可进行模拟量输入输出、数字量输入输出以及计数器功能的测试。(详见PCI-1710板卡的使用手册)

图9-14 板卡模拟量输入测试

3 LabVIEW编程实例

下面,从一个简单的例子开始来看一下,如何在LabVIEW 下面使用研华的数据采集卡。

(1)首先在LabVIEW 的“前面板”上面布置一个“波形图表”控件,用来显示从数据采集卡中取得的数据,如图9-15所示。

注:图形显示对于虚拟仪器面板设计是一个重要的内容。LabVIEW为此提供了丰富的功能。波形图表是其中常用的一种,是将数据源(例如采集得到的数据)在某一坐标系中,实时、逐点地显示出来,它可以反映被测物理量的变化趋势,例如显示一个实时变化的波形或曲线,像传统的模拟示波器、波形记录仪一样。

图 9-15 “波形图表”控件

(2)然后切换到程序框图窗口,

首先,我们找到实现仪器控制的研华公司提供的对板卡操作的库函数,这些函数在安装完上述LabVIEW 驱动程序之后就可以在LabVIEW 的函数面板中找到。路径:函数模板?用户库? Advantech DA&C ? Advance。如图9-16所示。

图 9-16 Advantech DA&C 函数

在ADV ANCE 模板中选择DeviceManager,在DeviceManager 中选择Device Open,Device Close函数拖动到程序框图窗口中,如图9-17。这两个函数分别是“打开设备”和“关闭设备”函数。

图9-17 Device Open,Device Close函数

在ADVANCE 选择adsSlowAI 函数库,在adsSlowAI 中选择AIVoltageIn 函数拖放到程序框图窗口中,如图9-18。这一个函数将实现“电压采集功能”。

图9-18 AIVoltageIn 函数

(3)编辑程序框图,完成数据采集功能。

首先给Device Open 函数提供一个Device Number;板卡的Device Number,可以在研华提供的板卡安装测试工具Device Manger 中找到(如图9-13所示,首先板卡要在这里测试好,这样在编程的时候就可以顺利使用了)

除了本例中PCI-1710等真实的数据采集卡之外,为了学习的方便,研华提供了一块虚拟的demo板,使用测试和LabVIEW编程方法和真实的板卡完全一样,所以用户可以不需要购买研华的板卡来学习研华板卡的编程使用方法。在这里,我们可以先以虚拟的demo为例,来看一下数据采集系统的集成过程。

如图9-19所示,在Advantech Device Manager添加一块demo 板,先进行demo板卡的测试。

图9-19 添加虚拟的demo板

然后开始编辑程序框图,把各个函数需要传递的参数连接起来:DevHandle 连接起来(蓝色线条),把出错信息连接起来(粉色线条)——前一个函数的error out 连接到下一个函数的error in,最后加一个出错提示的函数——这样一旦系统除向问题可以比较容易地判断问题出现在系统地那一个部分。最后把测量到的电压数据送到波形图标显示控件。如图9-20所示。

图9-20 数据采集功能程序框图

保存程序,每点击一次运行按钮,就可以采集一次数据,并显示在波形图标显示控件中。

(4)完善程序功能——定时连续采集

为了实现定时连续的数据采集,我们需要在以上的程序框图基础上添加一个循环结构和定时器。

打开函数模板?编程?结构?While循环,如图9-21所示。While 循环可以反复执行循环内的框图程序,直到特定条件满足,停止循环。类似于C语言的Do-While结构。反复执行的循环次数不固定,只有当特定条件满足时,才停止循环。循环计数端i的初始值为0,每执行一次循环自动加1;条件端口用于判断循环是否执行,每次循环结束时,条件端口会自动检测输入的布尔值。不管条件是否成立,VI程序至少要执行一次。

图9-21 While循环

打开函数模板?编程?定时?时间延迟,如图9-22所示。该快捷VI将方便地实现时间延迟,以达到定时采集的目的,本例中,设置时间延迟0.5秒。也可以使用“等待下一个整数倍毫秒”普通VI实现该函数功能。

图9-22 定时函数

加上一个循环控制输入控件,完成以后的程序框图如图9-23所示。

图9-23定时连续采集程序框图

运行程序,这时候程序按照设置定时连续采集demo 板的第一个通道上面的数据,并显示在波形图表上。从波形图表中可以看出,demo 板第一个通道为幅值为5V的正弦交流信号,如图9-24所示。

图9-24 定时连续采集波形图表

(5)完善程序功能——文件存储

上面的程序中我们仅仅使用了几个控件就实现了一个数据采集/显示的系统,但是在实际的工程系统当中我们采集的数据不仅仅要显示出来,而且要存储数据,作历史资料用。

文件I/O功能函数是一组功能强大、伸缩性强的文件处理工具。它们不仅可以读写数据,还可以移动、重命名文件与目录。可以采用ASCII字节流、数据记录文件、二进制字节流三种文件格式存储或者获得数据:

本例中,用到以下函数来完成数据写入的功能。

——打开待写入的文件,打开的方式是创建或替换。

——将字符串按行写入文件,本例中,将来自的字符串写入文件。

——关闭文件。

——字符串格式控制,这里将数据精度控制到小数点后 3 位。

——使用时间格式代码指定格式,按该格式将时间标识的值显示为时间。

——将输入字符串连接成一个输出字符串。本例中,将数据采集值、采集时间和一个换行符合并输出。即:一个数据一行——数据读出清晰方便!

最后程序框图编辑如图9-25所示,如果在这些函数的使用方面有什么问题,可以参考LabVIEW 方面的资料。

图9-25 文件存储功能程序框图

基于PCI-1710板卡的数据采集系统的组态编程过程与上述DEMO 板基本一致,读者可以自行完成。

9.4 研华ADAM 数据采集模块(RS-485)的LabVIEW 编程

1. 硬件接线

在本实例,将会使用到:

研华 ADAM4017+16位A/D 8通道的模拟量输入模块

研华 ADAM-4520 隔离式RS-232到RS-485 转换器

直流电源 -30V ——+30V

系统接线示意图如图9-26,详细情况参见ADAM4017+、 ADAM-4520使用说明书。

图9-26 系统接线示意图 2. ADAM-4000 Utility 的使用

(1)安装ADAM Utility 软件(随机附带光盘)后,启动出现以下界面,如图9-27。

图9-27 ADAM Utility 配置界面

RS-485 DATA+ DATA- ADAM -4520

(2)选中COM1或COM2,点击工具栏快捷键search:弹出“Search Installed Modules ”窗口,提示扫描模块的范围,允许输入0~255

(3)点击扫描到的模块,进入测试/配置界面如下图9-28,可进行测试、模块配置、校准等。可以看到在ADAM4017+模块CH1通道输入的为4.850V的电压量

图9-28 ADAM4017+ 模块测试

3. ADAM-4017的编程

对ADAM-4017通过调用DLL库函数编程的方法为:

1.首先,安装Advantech Device Manager,安装ADAM-4000的驱动程序ADAMdll.exe,安装例程All-example.exe。

2.打开Advantech D evice Manager,添加串口以及模块,如图9-29所示。设置ADAM-4017参数如图9-30所示。

图 9-29 添加串口设备

图 9-30 设置ADAM-4017参数

3.点test测试。可以看到在ADAM-4017第一通道输入的为4.849V的电压量,与在

ADAM Utility 软件中测试的结果一致,如图9-31。

相关文档