(控制理论与控制工程专业论文)基于虚拟仪器测控系统的设计和研究.pdf_第1页
(控制理论与控制工程专业论文)基于虚拟仪器测控系统的设计和研究.pdf_第2页
(控制理论与控制工程专业论文)基于虚拟仪器测控系统的设计和研究.pdf_第3页
(控制理论与控制工程专业论文)基于虚拟仪器测控系统的设计和研究.pdf_第4页
(控制理论与控制工程专业论文)基于虚拟仪器测控系统的设计和研究.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

硕士论文基于虚拟仪器测控系统的设计和研究 摘要 y 2 5 5 2 3 。 虚拟仪器是一种全新的仪器系统概念,与传统仪器不同之处在于虚拟仪器结合了 计算机技术和网络通信技术,其强大功能已完全超出了仪器概念本身。本文针对传统 实验平台的硬件成本高、构造复杂、重用性差、功能单一、开放性差等方面的问题, 着重探讨了利用虚拟仪器技术开发基于虚拟仪器的测控实验平台的关键技术。内容涉 及虚拟仪器思想的确立数据采集子系统的构建,g p i b 仪器控制子系统的构建,v i s a 技术的研究。此外还对d d e 技术、d a t a s o c k e t 技术和d c o m a c t i v e x 技术等进行了 研究,并用这三种技术实现了基于局域网的远程测控,同时还定性给出了这三种方案 在实时性、远程控制、开发难度和可靠性方面的性能比较。 将虚拟仪器技术应用到测控实验系统的构建中,通过运用计算机强大的计算与处 理能力,大大地提高了系统的数据分析、处理能力:通过一机多用硬件资源共享等, 大大节约了系统构建的资金。 关键词t 虚拟仪器,测控系统,g p i b v i s a ,远程测控 颇i 。论文 书于虚拟仪槲删拌系统的醍汁和研宄 a b s t r a c t v i r t u a li n s t r u m e n tr e p r e s e n t saf i r e 。n e w c o n c e p to fi n s t r u m e n t v i s u a li n s t r u m e n t m a k e su s eo ft h ec o m p u t i n gp o w e ra n ds o f t w a r eo fm o d e r np c t h i st h e s i s m a i n l y d e s c r i b e ss o m e k e yt e c h n o l o g i e so fu s i n g t h et e c h n o l o g yo fv i r t u a li n s t r u m e n tt od e v e l o pa m e a s u r e m e n ta n dc o n t r o ls y s t e m ,i n c l u d i n gt h ee s t a b l i s h m e n to ft h ec o n c e p to fv i g u a l i n s t r u m e n t ,t h ee s t a b l i s h m e n to ft h ed a t aa c q u i s i t i o ns u b s y s t e m ,t h ee s t a b l i s h m e n to f t h e g p i bi n s t r u m e n tc o n t r o ls u b s y s t e m ,t h er e s e a r c ho ft h et e c h n o l o g yo fv i s a i nt h et h e s i s , t h et e c h n o l o g i e so fd d e ,d a t a s o c k e t ,d c o m a c t i v e xa l s oa r ed e s c r i b e d t h r e em e t h o d s b a s e do nt h e s e t e c h n o l o g i e s d e s c r i b e da b o v ea r e a p p l i e d t or e m o t ec o n t r o la n d m e a s u r e m e n t s y s t e m s y s t e ms t r u c t u r ea n dw o r k i n gp r i n c i p l e a r es t a t e di nd e t a i l t h ea p p l i c a t i o no fv i r t u a li n s t r u m e n tt ot h em e a s u r e m e n ta n dc o n t r o ls y s t e mc a ns a v e t h ec o s to f e s t a b l i s h m e n t o f t h es y s t e m ,m a di m p r o v et h e p e r f o r m a n c eo f t h es y s t e m k e y w o r d :v i s u a li n s t r u m e n t tm e a s u r e m e n ! a n dc o n t r o ls y s t e m ,g p i b ,v i s a ,r e m o t em e a s u r e m e n t a n dc o n t r o i 2 坝i j 论文基于墟拟仪揣测控系统的杖i t l :i l l o i 究 l 绪论 自动测控系统最初起源于5 0 年代初期,因当时是将不同的输入和输出电路的几 种可程控仪器总装在一起形成一个组装系统,所以人们常称这一时期为总装阶段。由 于接口不能通用,组建一个自动测控系统不仅耗资大,而且要花费相当长的时间,所 以,此阶段的自动测控系统应用只局限于少数部门。6 0 年代术期,专用计算机已充 当了自动测控系统的主角,其接口虽没有标准化,但和初期的自动测控系统相比有很 大的改变,所以称这一时期为其发展的第二阶段。到了7 0 年代,随着美国h p 公司 提出接口电路标准化设计方案及其进一步完善,自动测控系统的发展进入了第三阶 段在许多系统中大量使用的i e e e 4 8 8 ( 通用接口标准系统) 、c a m a c 系统( 计算机 自动化测量和控制系统) 等就是在这一时期形成和发展起来的,所以我们称这一阶 段为接口标准化时期。1 9 8 0 年开始自动测控系统的发展已步入第四阶段,这一时 期的自动测控系统以美国的个人仪器为典型代表。所谓个人仪器,就是用个人计算机 控制多个“仪器”,而这些仪器与传统的概念已完全不同,它们本身大都不带机箱和 显示装置,而是以插件板或插件卡的形式作为个人计算机的附件,通过计算机的内部 接口电路把计算机与各仪器插件卡连接起来,构成一个小型的自动测控系统所以又 称之为p c 仪器( p e r s o n a lc o m p u t e r b a s e di n s t r u m e n t ) 。这种突破了传统仪器概念的全 新设计思想被称为虚拟仪器。虚拟仪器给测控技术的发展带来了新的技术和动力使 得构建测控系统的开发周期更短而系统功能更加强大。 1 1 虚拟仪器概述 虚拟仪器是计算机技术和仪器技术结合的产物。它把计算机、仪器硬件、固件与 计算机软件结合起来。除继承传统仪器的已有功能外,还增加了许多传统仪器所不能 及的先进功能。虚拟仪器的最大特点是其灵活眭。用户在使用过程中可以根据需要添 加或删除仪器功能,以满足各种需求和各种环境,并且能充分利用计算机丰富的软硬 件资源,突破了传统仪器在数据处理、表达、传送、存储方面的限制。 1 1 1 虚拟仪器的概念 什么是虚拟仪器,国外专家从不同角度描述了虚拟仪器,总的来说,虚拟仪器 ( v i r t u a ll n s i r u m e n ( ) 是指通过应用程序将 十算机与功能化模块硬件结合起来,用户可 以通过友好的图形界面来操作这台计算机,就象在操作自己定义、自己设计的一台单 个仪器一样,从而完成对被测试量的采集、分析、判断、显示、数据存储等。 因为虚拟仪器是以计算机为核心、在w i n d o w s 等操作系统平台上运行的,所以 它具有一机多功能的特点,可以同时运行多个软件,当做多种仪器使用,此类具有多 坝l 论文 j l i ;十虚拟仪拊删羟系统的设计和t i i d y , 功能的仪器系统称之为虚拟集成仪器系统。 1 1 2 虚拟仪器的结构 虚拟仪器的组成与传统仪器一样,山图1 1 2 1 所示的数掘采集与控制、数据分 析和处理、结果显示三部分组成。 圆圈 圈 插入式数据 采集板 数字信号处理 网络通信 门“、 h g p i b 仪器 x , i旷数字滤波、jy硬盘拷贝输出 v x i p x i 仪器 统计分析 文件i o r s 一2 3 2 仪器 数值分析 图形用户接口 幽1 i 2 i 虚拟仪器的内部功能划分 对于传统仪器,三个部分几乎均由硬件完成;对于虚拟仪器,后两部分主要出软 件实现。与传统仪器相比,虚拟仪器设计日趋模块化、标准化,设计工作量、复杂性 大k 减,、o 叫g p i b 接口仪器hg p i b 接e p 测 - 1 串行接口仪器,p l c1 叫 控 p c 机仃:作站 对 象 1 7 jv x i p x i 仪器1 1 7 测试软件 + 叫现场总线( f i e j d b u 5 ,c a nb u s ) 设各卜 _ l 幽像采集、d s pf ll f 其它坝1 ,f = 模块i 图1 i 2 2 虚拟仪器系统的构成 虚拟仪器从硬件构成上讲已完全脱离了原有的单个仪器的概念,并不是在计算 机上实现某一台仪器的功能,而是形成了一个虚拟仪器系统的概念。它是几种仪器的 顺f 论丘 壮于廊 l :( 仪器删拄系统的改计f n 圳究 综合,足在汁算机上实现多刊r 可i 同仪器的吣同工作的批体。虚拟仪器的硬件结构如图 1 1 2 2 所示,它主要以计算机为核心,在其基础上扩展了不同类型的硬件设备,构成 不同类型的虚拟仪器系统。目前较为常用的虚拟仪器系统是数据采集系统、g p i b 仪 器控制系统、v x i p x l 仪器系统、串行接口仪器系统以及它们四者之间的任意组合。 从图1 1 ,2 2 中可阻看出,支持虚拟仪器的硬件种类很多,这大大丰富了虚拟仪 器的功能。无论哪种虚拟仪器系统,都是将硬件仪器搭载到笔记本电脑、台式计算机 或工作站等计算机平台上,再加上相应的应用软件而构成。因而,虚拟仪器技术与计 算机技术达到同步发展。 虚拟仪器技术的核心是软件,其软件基本结构如图1 1 2 3 所示。用户可以采用 各种编程软件来开发自己所需要的应用软件。以美国 n i 公司的软件产品l a b v i e w 和l a b w i n d o w c v l 为代 表的虚拟仪器专用开发平台是当前流行的集成开发工 具。这些软件开发平台提供了强大的仪器软面板设计 工具和各种数据处理工具再加上虚拟仪器硬件厂商 提供的各种硬件的驱动程序模块,大大简化了虚拟仪 图ll _ 23 虚拟仪器软件结构 器的设计工作。随着软件技术的迅速发展,软件开发的模块化、复用化,对各种硬件 仪器的驱动软件的模块化、标准化,将使虚拟仪器软件开发变得更加方便。 1 1 3 虚拟仪器与传统仪器的比较 虚拟仪器与传统仪器相比有很多优势,如表1 1 3 1 所示。 表1 i 3 1 虚拟仪器与传统仪器的比较 虚拟仪器传统仪器 仪器功能由j j 户自己定义仪器功能由仪器厂商定义 面向应用的系统结构,可方便地与网络与其它仪器设备的联结十分有限 外设等连接 友好的图形界面,计算机读数、分析处幽形界面小人:【读数,信息量小 理 数据可编辑、存储、打印数据无法编辑 关键是软仆关键是硬件 价格低廉,可复用与可重置性能强价格昂贵 基于计算机技术开放的功能模块,可构系统封闭,功能固定可扩展性低 成多种仪器 基于软件系统的结构,大大节省开发维开发和维护费用高 护费用 技术更新周期短( 1 - 2 年)技术更新周期长( 5 - 1 0 年) 个人可拥有一个实验室多为实验室等部门所拥有 由表中可以看出,虚拟仪器具有传统仪器无法比拟的强大优势,因而将成为仪器 发展的未来趋势。 7 】【8 懒扎论空挂十虚拟仪器删托系统的设汁和列 l l 4 虚拟仪器的发展 从1 9 8 7 年以专用集成电路( a s i c ) 和计算机技术为基础的总线仪器虚拟仪器 的雏形问世,到1 9 9 3 年虚拟仪器已发展到三百多家厂商,一千多种虚拟仪器产品, 1 9 9 5 年厂商更达一千余家,产品达数千种。美国是虚拟仪器的诞生地,也是全球最 大的虚拟仪器制造固,生产虚拟仪器的主要厂家有n i 公司、h p 公司等。可以说虚拟 仪器正以传统仪器无法比拟的速度飞速发展。 9 】 虚拟仪器技术的优势在于用户自定义仪器功能、结构等,且构建容易、转换灵活 因此应用领域十分广阔。当前国内外有许多部门和公司都在积极地丌展这些方面的 研究和应用工作。例如,美国的g e o m a t i c s 公司和g o d s m i t h 公司等利用虚拟仪器开 发工具,研制开发出了农业自动化灌溉系统和秧苗分析系统。【1 0 】比利时i n t e r s o f t 电 子工程公司利用虚拟仪器思想开发出了p a s s - p d p 和r a s s s 软件。美国斯坦福大学 利用虚拟仪器技术构建了虚拟仪器教学、实验、仿真系统。挪威c a r d i a c 公司采用 l a b v l e w 平台构建了测试北海油田石油、大气、水流的m p f m 系统。【1 1 在国内, 清华大学应用虚拟仪器技术构建汽车发动机性能检测系统,用于汽车发动机出厂前的 自动检测。石油科学研究院将虚拟仪器技术应用于小型石油精炼实验系统中。电子部 三所应用虚拟仪器技术建立了仪器自动化计量控制系统。【7 】 我国的虚拟仪器研制是从1 9 8 4 年丌始起步的,十几年来,在a p p l e 、i b m p c 及其兼容机上进行了研制和开发主要工作有两个方面:一是通用仪器卡;二是专用 测试仪。此外,许多大学都在尝试将虚拟仪器应用到实验教学和计算机辅助教学中。 例如西安交通大学电气学院在现代测试技术课程教学中,咀虚拟仪器系统为平 台,开发虚拟仪器实验,通过仿真与实验,开拓了学生的思路,使学生较好地理解该 课程的内容。虚拟仪器一机多用、硬件资源共享等特点大大节约了实验室建设的投资。 目前虚拟仪器已在科研开发、计检、测控、超大规模集成电路测试、模拟和数 字电路测试、现代家用电器测试、电子元件、电力电子器件测试以及军事、航天、生 物医学、电工技术领域等可移动式现场测试工作中得到应用,且应用领域还将不断拓 宽。 1 l 】【1 2 1 2 本论文研究的主要内容 大学实验室既是进行科学研究的重要基地,又是培养学生的重要场所,因此,实 验室建设是教学中的一项重要工作。传统的实验平台存在硬件成本高、构造复杂、重 用性差、功能单一等方面的问题。最近几年,虚拟仪器技术的迅速发展为实验室建设 提供了一种新的思路。将虚拟仪器技术应用到教学实验中,建成所谓的虚拟仪器实验 室成为目前实验室教学改革的热点之一。与原有的传统实验平台相比,虚拟实验室通 坝i 。论史艇十琥拟仪器测拌系统的设计和珂f 究 过友好的人机界面使实验操作灵活、方便;通过运用计算机强大的计算与处理能力, 大大地提高了数掘分析、处理能力;通过设计、仿真与实测的对比使课本理论与实验 操作密切结合:通过一机多用硬件资源共享等,大大节约了实验室建设的资金。 本论文的主要工作是开发一个以虚拟仪器为核心的测控实验平台,在此平台的基 础上展开论文的研究工作,主要内容有: 1 数据采集系统的构建; 夺数据采集系统的硬件组成和系统调试: 夺在l a b v i e w 开发环境下调用d l l 方法的研究与实现: 2 仪器控制系统的组成与构建; 夺g p i b 仪器控制系统的基本原理和构成; g p l b 仪器控制系统的实现与研究; 夺串行接口仪器系统的组成; 寺使用v i s a 模块实现对p l c 的控制; 3 研究和设计网络环境下远程测控系统的实现方法和技术; 夺开发基于n e t d d e 技术的远程测控软件; 夺开发基于d a t a s o c k e t 技术的远程测控软件; 开发基于c o m a c t i v e x 技术的远程测控软件; 夺三种实现方法的综合性能比较: 4 系统的连接和调试。 1 3 本论文的结构 第一章绪论:简要介绍了本论文的研究背景,以及虚拟仪器的概念、结构、特 点、发展与现状,并对本人所做的工作进行了简要的叙述。 第二章基于虚拟仪器测控实验系统的功能及结构:介绍了测控实验平台的基本 功能和软硬件构成。 第三章数据采集系统的设计与组建:详细介绍了数据采集系统的硬件配置、软 件构成及具体实现,并就如何在l a b v i e w 环境下实现对通用板卡的驱动等问题进行 了探讨和研究。 第四章仪器控制系统的设计与组建:在简述g p i b 概念和原理的基础上,构建 g p l b 仪器控制系统,作为测控实验平台的子系统;叙述了串行接口仪器系统的构成 及s 7 2 2 4p l c 的自由口通讯协议并在此基础上利用v i s a 模块编写系统的应用软 件。 第五章基于虚拟仪器的远程测控系统的研究与实现:给出了实现实验室内各台 计算机之间数据交换的三种方案,并分析比较了这三种方案的各自特点。 硕。l 论文 基于虚拟救器测控系统的设计和研究 第六章系统的连接和调试:剥系统的连接工作做了简要的介绍,并对系统调试 中遇到的一些问题做了较为详细的叙述。 结论:总结作者所做的主要工作和研究成果。 f 皿i ,论文挂于虚拟仪器测拄系统的垃计和圳f 究 2 基于虚拟仪器测控实验系统的功能及结构 随着科技的发展,社会对工科大学生的综合素质,尤其是对实际操作能力要求越 来越高。这就迫使大学必须不断提高教学质量,以满足社会的要求。本课题既针对于 此,同时又作为实验室建设的一部分,开发了一个基于虚拟仪器的测控实验平台。基 于虚拟仪器测控实验系统主要研究虚拟仪器在测控系统中的应用同时提供一个综合 实验平台,让学生完成对数据采集、仪器控制、远程测控等实验系统的设计、仿真和 实测。一方面,将有助于加强学生对某些课程理论的感性认识,加深学生对理论的理 解;另一方面,将有助于提高学生的实际动手能力。 基于虚拟仪器测控实验系统主要由硬件模块和测控系统软件组成。硬件模块包括 各种数据采集板卡、信号发生器、g p i b 仪器及g p i b 接口扳卡、串行接口设备和各 种外接口模块。测控系统软件通常可以分为四个层次,如图2 1 所示。( 1 ) 测控管理 层:厂商提供的或用户自己开发的测控应用程序是整个系统的核心部分:( 2 ) 应用 开发层:提供给用户用柬开发应用程序的开发平台常用的有l a b v i e w 、 l a b w i n d o w s c v i 、v i s u a lc + + 、v i s u a lb a s i c 和d e l p h i 等,本系统选用的是l a b v i e w 开发平台;( 3 ) 仪器驱动层:该层包括仪器供应厂商提供的仪器驱动库以及用户自己 针对仪器编写的驱动程序库;( 4 ) i o 接口层:该层将不同总线的仪器用相同总线标准 连接起来,形成一个强大而完善的虚拟仪器测控系统。 虚拟仪器测控实验系统 的应刑程序 l 上 l a b v i e w 开发软仆 i + 仪器仪表驱动软什 f i e e e 4 8 8 2 l i 串行口驱动i fd a q 驱动i lll 00+ 1g p i b 3 湍il 串行口殴备ijd a q - e j 洲控管理层 应用开发层 仪器驱动层 i i o 接口层 硬件设备与仪器 图2 1 虚拟仪器测控系统软件构成 硕士论史基于虚拟仪 测控系统的设计和 i j | _ 究 2 1 硬件配置 随着微l l 子技术和计算机技术的迅速发展。 夺能够进行多点测量; 夺能够| 夹速进行动态在线实时测量和控制 夺能够实时快速地进行信号分析和处理。 对测控系统提出了更高的要求 满足网上远程实验的要求 以传统仪器为主的测试方式已经不能满足要求,因此以计算机为核心的虚拟仪 器测控系统已逐渐取代传统的测试方式。本虚拟仪器测控实验系统就是按照实际测控 系统的要求而构建的。现场的多个现场计算机可以进行多点测量,远程测控计算机则 通过网络对现场计算机进行远程控制。本虚拟仪器测控实验系统的硬件配置如图 2 1 1 所示。 信号发生器 g p i b 仪器 串行口设备 兰堡竺苎兰兰塑i 厂一局域网 现场计算机 ip c l 8 1 2 p g p c i - 6 0 2 3 e ig p i b 接口板 1 串行接口 现场计算机 匝巫 现场计算机 圆圈 图2 1 1 测控实验平台硬件配置示意图 按照硬件构成的不同,本测控实验平台主要分为数据采集子系统和仪器控制子系 统。数据采集是将信号发生器产生的各种波形信号送到采集板p c i 一6 0 2 3 e 、p c l 一8 1 2 p g 进行采集,然后将a d 转换后的数据传送给计算机进行处理。仪器控制是通过g p i b 接口板或串行口实现对g p i b 仪器、串行口设备的控制。在第三章中将详细介绍数据 采集予系统,在第四章中将详细介绍仪器控制子系统。 本系统采用了对等网络的概念,即远程测控计算机和现场计算机之间处于对等的 地位,不存在s e r v e r 和c l i e n t 的区别,它们对相关的资源进行了共享。如果远程测控 计算机通过现场计算机进行远程数据采集,这个过程就可以把现场计算机看成逻辑意 义上的s e r v e r 远程测控计算机就成了c l i e n t ,而现场计算机要通过远程测控计算机 进行操作时,它将成为逻辑意义上的c l i e n t ,而后者成为s e r v e r 。本系统可以在现场 通过现场计算机完成数据采集、数据分析和仪器控制的任务。也可以通过网络远程对 坝l 论立 基十虚拟仪器删挖系统的吐汁和研究 多个现场汁算机进行控制,完成以上任务。这部分内容将在第五章中介绍。 2 2 软件设计 虚拟仪器的提出和实现带来测控技术的次革命,人们开始接受这一全新的仪器 概念。l a b v i e w 作为适时推出的一个优秀测控软件开发平台和虚拟仪器构建环境, 得到了广泛的推广和应用。 l a b v i e w ( l a b o r a t o r y v i r t u a li n s t r u m e n te n g i n e e r i n gw o r k b e n c h ,实验室虚拟仪器 工程平台) 是由美国国家仪器公司( n a t i o n a li n s t r u m e n t s ,简称n i ) 研制的基于图形化 编程语言g 的开发环境。它结合了简单易用的图形式开发环境与灵活强大的编程语 言,提供了一个直觉式的环境,与测量硬件紧密结合,能让用户迅速开发出满足用户 需求的各种虚拟仪器系统。使用l a b v i e w 进行原理研究、设计、测试并实现仪器系 统,可以缩短系统的开发时问,大大地提高了生产效率。因此,本测控实验系统的应 用软件均是基于l a b v i e w 平台来丌发和实现的。 本测控实验平台的软件结构框图如图2 2 1 所示。 数仪 据器处数通 采控理据信 集制模分模 模模块析块 块块 和 t tj rt ll a b v l e w i 上 li ,o 驱动 图2 2 1 测控实验平台的软件结构图 本测控实验系统的应用软件主要由以下几个模块组成:( 1 ) 数据采集模块;( 2 ) 仪器控制模块;( 3 ) 通信模块:( 4 ) 数据的分析和处理模块。各个模块之间是相互独 立的。这对于软件的设计和日后升级改进都很有用处,保证了各个模块开发的独立性。 数据采集模块负责各种模拟和开关信号的收集;仪器控制模块负责对串行口设备、 g p i b 仪器的控制:数据的分析和处理模块负责对被测试量的分析和处理;通信模块 负责远程实验方式下不同计算机之蒯的数据交换和通信。第三章主要介绍数据采集模 块;第四章将详细介绍仪器控制模块:在第五章中将对通信模块进行详细介绍。 2 _ 3 本章小结 本章详细介绍和分析了虚拟仪器测控实验系统的总体结构。系统结构包括硬件构 埘。l 论丘=基十虚拟仪器测控系统的啦计和研究 成和软件系统。按照硬件构成的不同,主要分为数据采集予系统和仪器控制子系统。 软件部分则包括数据采集模块、仪器控制模块、通信模块、数据的分析和处理模块等。 1 0 删l 论史 壮十墟拟仪器测拧系统的世计和州究 3 数据采集系统的设计与组建 数据采集系统主要分为基本实验和具体实例两部分。基本实验部分主要包括一些 模拟输入、数字输入输出实验,目的是为了让学生在巩固书本知识的同时,掌握一 些数据采集的基本操作,从而为以后的实际工作打下良好的基础。另一方面,为了让 学生对数据采集系统有个整体的认识,本系统还根据实际系统设计了一个数据采集系 统实例。此外,本章还探讨了一个非常具有实际意义的问题,那就是,如何在l a b v i e w 环境下实现对通用板卡的驱动。 3 1 数据采集系统的组成方式 数据采集( d a t aa c q 血s i t i o n d a q ) 是对多路模拟信号进行数字化测量,从而获 得大量数据以便进行分析和处理。数据采集系统按组成来分可分为两种方式:第一种 方式是插入式d a q 卡第二种方式是外接式d a q 系统。具体如图3 1 1 所示。 图3 1 i 数据采集系统的两种组成方式 如上图所示,外接式d a q 系统不需要计算机内部插槽,而计算机与d a q 系统 之间的通讯可以采用各种不同的总线。这种结构适用于远程数据采集和控制系统。根 据实验要求及实验室条件,本数据采集系统采用的是箔一种组成方式。 酬:i 论立 幕于虚拟仪器测控系统的设计和研究 3 2 数据采集系统的实验部分 3 2 1 硬件配置 根据数据采集系统实验的要求,系统的硬件配置如图3 2 1 1 所示。 幽3 2 1 】数据采集系统硬件配置示意幽 p c i 一6 0 2 3 e 卡是1 2 位的多通道数据采集模块,具有】6 路单端8 路差分模拟输入, 采样率可达2 0 0 k s s ,输入范围可从o 0 5 到1 0 v ,具有8 条( 5 v t t l ) 数字i o 线, 两个2 4 位计数器定时器。由于p c i 6 0 2 3 e 卡是n i 公司生产的,在l a b v i e w 环境 下可直接驱动它,因此使用起来非常方便。而研祥公司生产的p c l 8 1 2 p g 板卡则更 具有通用性。它集成了模数转换( a d ) 、数模转换( d a ) 和数字i o 等多种功能 而且价格相对较低。 3 2 2 软件设计 利用p c i 6 0 2 3 e 板卡所具有的功能,可以设计出各种模拟输入、数字输a 输出 以及定时器计数器实验。希望能通过实验加深学生对书本知识的理解,同时使其对 实际数据采集系统有个大概的了解。 3 2 2 。1 模拟输入实验 根据通道数的不同模拟输入可分为单通道型模拟输入和多通道型模拟输入,因 此,模拟输入实验相应分为单通道模拟输入实验和多通道模拟输入实验。 根据输入模式的不同,可设计出单端模拟输入实验和差分模拟输入实验。单端输 入以一个共同接地点为参考点。这种方式适用于输入信号为高电平( 大于1 伏) ,信号 源与采集端之间的距离较短( 小于1 5 英尺) ,并且所有输入信号有一个公共接地端的 情况。如果不能满足上述条件则需要使用差分输入。差分输入方式下。每个输入可 以有不同的接地参考点。并且,由于消除了共模噪声的误差,差分输入的精度较高。 典型的模拟输入实验是连续数据采集实验。连续数据采集,或者说实时数据采集, 是在不中断数据采集过程的情况下不断地向计算机返回数据采集数据。这种方法通常 包括对循环缓冲区( c i r c u l a rb u f f e r ) 的配置,如图3 2 2 1 1 所示。开始数据采集之前, 用户可以根据需要预先配置好循环缓冲区的大小。开始数据采集后,d a q 卡采集数 据并存储在循环缓冲区中,然后l a b v i e w 每隔段时间将一批数据送入计算机进行 城士论文挂十虚拟仪 | ; 测控系统的设计和甜f 究 处理。且u 粜缓冲区放满了,d a q 就会义重新从缓冲区的起始地址写入新数据,覆盏 原来的数据。这个过程一直持续,直到采集到了指定数目的数据点,或者l a b v i e w 主动中止了采集过程,或者程序出现错误。这种工作方式对于需要把数据存入磁盘或 者观察实时数据根有用。本实验拟采用连续数据采集方式实现多通道数据采集。 e n d o f d 缸3 b om 鼬d m 出e 1 1 d of d “ 1 黜l ; d 缸a 1 上 , vr 险测 7瓣渺 i j i i i : ? :? l l t t e l t , s i m 幽? 崔, o o 啦t n th 以m 越e 蚵o 。d 时d e _ d o f d 越i cu m n t m d m 诎 l ); ) ! 吉1 r 上 v 黧黔阑?粥 艮因? 图3 2 2 i 1 连续数据采集机制的示意图 连续数据采集程序的前面板如图3 2 2 1 ,2 所示。 圜3 2 2 i 2 连续数据采集程序 本程序中用到的几个子程序分别是: a ic o n f i g u r e 程序,用来设置设备编号、通道号以及数据缓冲区大小。 a is t a r t 程序,用指定的采样率,以后台工作的方式开始连续数据采集过程。 a ir e a d 程序在条件循环中连续采集指定数目的采样点,并返回数据到计算机。 坝1 :论文捧于虚拟仪器删拄系统的设计和研究 a ic l e a r 程序,停止数据采集,释放所有资源。 在本程序中,a ir e a d 子程序每次读取的采样点数取决于设定值和内存中未读取 的采样点数的比较结果,取它们中的较大者。 3 2 2 2 数字输入,输出实验 相对于模拟输入来说,数字输入输出操作相当简单。然而,在许多实际工程场 合中数字输八输出是必不可少的。因此,正确掌握数字输入输出操作也相当重要。 为此,我们设计了几个数字输入输出实验,希望学生通过实验,加深对这部分内容 的了解。数字输入输出实验包括对整个数字端口的读、写操作实验,以及对数字端 口中某位的读、写操作实验。 3 3 数据采集系统实例 本实例是按照实际系统的要求来构建的。实际数据采集系统的要求是:同时采集 5 个氙灯的瞬时电流波形数据,其中每个波形采集1 0 0 个点,采样时间为2 m s ,触发 方式为外部边沿触发。根据要求我们选用的数据采集卡是p c i 6 0 2 3 e 。具体硬件配 置如图3 3 1 所示。考虑到现场噪声的影响,为了提高精度,本实例采用的是差分输 入方式,同时对多个通道进行数据采集。 图3 , 3 1 实例的硬件配置示意图 由于数据采集现场存在干扰,因此采集回来的波形数据要经过滤波等处理,才能 得到正确的波形数据。为此除了数据采集的功能外,本实例还应具备数据处理功能。 本实例的功能包括:用户登录、数据采集、数据分析和处理、数据存储和显示。相应 的软件模块包括:主界面模块、数据采集模块、数据分析和处理模块、数据显示模块。 具体的软件结构框图如图3 | 3 2 所示。 图3 3 2 实例的软件结构框图 在主界面中,先要进行用户登录,登录成功后才能执行后面的操作。用户登录保 证了系统的安全性。 数据采集模块主要实现多通道数据同步采集、波形实时显示以及数据存储功能。 j 型:堕! ! 一 苎王生型堡塑型篓墨垄塑丝生塑坠塞 在数抛采集模块中可就采集通道、聚样速率、触发方式、采样点数和等待时间等进 行设置。具体程序流程框图如图3 3 3 所示。 图3 3 3 数据采集模块程序流程框图 在数据分析和处理模块中,根据系统的实际要求,采用多项式拟合算法对原始波 形数据进行处理。本模块还具有分析功能,可以计算出波形的峰值和主脉冲宽度。另 外,本模块也具备数据存储功能。 数据显示模块主要负责将存储在文件中的波形数据重新调出来显示。 3 4 在l a b v i e w 环境下d l l 的创建与应用研究 l a b v i e w 驱动程序库中提供的b 动程序均是面向本公司生产的板卡的。而本数 据采集系统中用到的另一块板卡p c l 8 1 2 p g 卡不是n i 公司生产的,因此在 l a b v i e w 环境下不能直接对其进行驱动。这就涉及到在l a b v i e w 环境下对通用板卡 的调用问题。 n i 公司生产的板卡价位较高,对于国内大多数用户来说难以接受。如果能在 l a b v i e w 中实现对通用板卡的驱动,在满足同等条件下无疑会大大降低系统的成本, 同时也大大提高了l a b v i e w 的通用性。通用板卡一般均带有动态链接库因此,研 坝l 论艾 坫十墟拟披器捌捧系统的议| 十和删f 究 究f l :l a b v l e w 环境下删用d l l 几t r t f 遍f 门实际意义。 l a b v i e w 本身提供的很多复杂函数,如数据采集、硬件驱动程序、数据的分析 和处理等其最终的实现方式均归结于d l l 的调用机制。掌握好了在l a b v i e w 中调 用w i n 3 2 动态链接库的方法,就可以根据自己的要求用v c + + 、d e l p h i 等软件平台编 制好d l l 文件然后在l a b v i e w 中调用它们。这样,就可以充分利用l a b v i e w 控 件强大、编程简单、库函数丰富等特点。因此,我们必须掌握好在l a b v i e w 环境下 创建与应用动态链接库的方法。 l a b v i e w 提供了这样一个调用动念链接库的接口c a l ll i b r a r yf u n c t i o n ,具 体路径为f u n c t i o n s ) a d v a n c e d 。 3 4 1d l l 的内在机制 动态链接库是应用程序在运行时链接函数库的一种实现机制。函数库存储在它自 己的文件中,并不被编译到应用程序的可执行文件中去。d l l 在应用程序运行时才 被链接,而不是在应用程序创建时被链接。而且,一个d l l 可以含有对其它d l l 的 链接。 3 4 2 在l a b v l e w 中调用d l l 由于p c l 8 1 2 p g 板卡附带的光盘中自带有动态链接库,因此,不需要自己再创 建动态链接库,只需直接调用即可。具体操作步骤如下: 图3 4 2 1 调州库函数配置框的示意图 顺士论文基于虚拟仪器测控系统的设计和研究 ( 1 ) 创建一个新v l ( v l 是l a b v i e w 程序的简称) ,在其流程图( b l o c kd i a g r a m ) 上放置一个c a l ll i b r a r yf u n c t i o n1 ,k 然后烈击图标来剥其进行配置,弹出的澜丌j 库函数配置框如图3 4 2 1 所示; ( 2 ) 如上图所示,在l i b r a r yn a m e o rp a t h 一栏中填入8 1 2 p g d l l 所在的目录及其 名称,然后,在f u n c t i o n n a m e 一栏中填入要调用的函数名称,可通过点击旁边的下 拉菜单来选择,另外在c a l l i n gc o n v e n t i o n s 一栏中选择s t d c a l l 调用方式; ( 3 ) 按p c l 一8 1 2 p g 板卡提供的蜕明书来设置各个函数的返回类型及其各个参数 的数据类型: ( 4 ) 点击o k 按钮,退出函数调用配置框。 通过正确调用d l l ,在l a b v i e w 环境下实现了对p c l 8 1 2 p g 卡的调用。图3 4 2 2 所示的是用p c l 8 1 2 p g 构建的虚拟函数发生器。 图3 4 2 2 用p c l - 8 1 2 p g 构建的虚拟函数发生器 3 4 3 用v i s u a lc + + 6 0 为l a b v l e w 编写d l l 在有些情况下,我们需要自己编写动态链接库。下面将详细讨论如何应用v i s u a l c + + 6 0 开发d l l 。 ( 1 ) 创建一个新的动态链接库( d l l ) 项目( p r o j e c t ) ,取w i n 3 2d l l 类型并为项目 命名,加入自己编写的c 语言源文件: ( 2 ) 选择p r o j e c t a d dt op r o j e c t f i l e s ,加入l a b v i e w 1 i b ,这是为l a b v i e w 创 硕1 :论文基于虚拟仪器测拄系统的设计和研究 矬d l l 所必须的; ( 3 ) 选择p r o j e c t s e t t i n g s ,改变s e t t i n g sf o r :至a l lc o n f i g u r a t i o n s ,选c c + + 标 签,设置类别为p r e p r o c e s s o r ,在a d d i t i o n a li n c l u d ed i r e c t i o n s :域中加入e x t c o d e h 文 件所在路径; ( 4 ) 选择p r o j e c t s e t t i n g s ,改变s e t t i n g sf o r :至a l lc o n f i g u r a t i o n s ;选c c + + 标 签设置类别为c o d eg e n e r a t i o n 在s t r u c tm e m b e ra l i g n m e n t :域中选1b y t e 。在u s e r u n - t i m el i b r a r y :域中选m u l t i t h r e a dd l l 。 正常情况下,完成上述步骤即可编译生成d l l 文件。 3 4 4 关于数组和字符串处理 由于l a b v l e w 某些数据类型的存储格式与c 、p a s c a l 等语言所丌发的标准d l l 中所用的数据类型的存储格式不一致,普通用途的d l l 在l a b v i e w 开发平台中进行 调用时,很容易因为内存读写错误引起非法操作而导致系统崩溃,因此在为l a b v i e w 的v i 程序编写d l l 函数时必须考虑许多与c 语言不同的数据存储格式。尤其在处 理常用的数组和字符串时,必须注意到一些重要的概念,才能正确的通过指针来引用 数组和字符串中的数据。 3 4 4 1 数值数组 数值数组可以是任一类型的整型、单精度型( 4 个字节) 或双精度型( 8 个字节) 。 当把一个数组作为参数传递给一个d l l 函数时,可采用三种格式来传递参数。第一 种格式是数组数据指针( a r r a yd a mp o i n t ) ,第二种是l a b v i e w 数组句柄( l a b v i e w a r r a yh a n d l e ) ,第三种是l a b v i e w 数组句柄指针( l a b v l e wa r r a y h a n d l ep o i n t ) 。 以数组数据指针形式传递参数时,可将数组的维数传递给d l l 函数,但是,函 数不能接收到关于数组大小的信息。必须将数组的大小作为一个单独的参数传递给 d l l 函数。不要在l a b v i e w 程序中试图改变数组的大小,这样做会导致系统崩溃。 因为传递指针并不能分配内存空间而仅能使该指针指向某段内存块。如果需要返回 一个数值数组可以这样做:首先,在l a b v i e w 的程序中分配一个足够太的数组, 然后把其作为参数传递给d l l 函数此时,该数组可作为缓冲区使用。如果返回的 数组个数小于缓冲区的大小,则可把数组大小作为一个单独的参数返回给l a b v i e w , 然后在流程图中调用相应的函数,得到实际返回的数组个数。 以l a b v i e w 数组句柄形式传递参数时,可利用l a b v i e wc i n ( c o d ei n t e r f a c e n o d e 一代码接口节点) 函数来改变数组的大小。为了调用l a b v i e wc i n 函数,在 编译d l l 时必须将l a b v i e w 1 i b ( 位于l a b v i e w0 6 c i n t o o l s 目录下) 文件包括进去。 w i n d o w sa p i 不支持l a b v i e w 数组旬柄调用格式,只支持数组数据指针调用格 明:l 沧立批于虚拟仪器测挡系统的世计和研究 j 。 3 4 4 2 字符串数据 在l a b v i e w 中,字符串的存取格式类似于p a s c a l 字符串。c a l ll i b r a r yf u n c t i o n 提供以下选项:c 字符串指针( cs t r i n gp o i n t e r ) ,p a s c a l 字符中指针( p a s c a l s t r i n g p o i n t e r ) ,l a b v i e w 字符串旬柄( l a b v i e ws t r i n gh a n d l e ) ,l a b v i e w 字符串句柄指 针( l a b v i e ws t r i n gh a n d l ep o i n t e r ) 。下面将详细介绍这几种字符串格式及它们之间 的差别。 字符串实际上是一组字符数组。l a b v i e w 以一种特定的格式来存取字符串。它 的头四个字节构成一个3 2 位整数,用来存储字符串中字符的个数。因此,一个含

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论