




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.1 LabWindows/CVI1.1.1 LabWindows/CVI概述LabWindows/CVI是美国NI(National Instruments)公司开发的面向计算机测控领域的虚拟仪器软件开发平台,可以在多种操作系统(WindowsXP/Vista/7、Mac OS和Unix)下运行。LabWindows/CVI 是为C 语言程序员提供的集成开发环境(IDE),在此开发环境中可以利用C语言及其提供的库函数来实现程序的设计、编辑、编译、链接、调试。使用LabWindows/CVI 可以完成以下但不限于以下工作:交互式的程序开发;具有功能强大的函数库,用来创建数据采集和仪器控制的应用程序;充分利用完备的软件工具进行数据采集、分析和显示;利用向导开发IVI 仪器驱动程序和创建ActiveX 服务器;为其它程序开发C 目标模块、动态连接库(DLL)、C 语言库。图 11 LabWindows/CVI界面LabWindows/CVI 的功能强大在于它提供了丰富的函数库。利用这些库函数除可实现常规的程序设计外,还可实现更加复杂的数据采集和仪器控制系统的开发。数据采集。IVI库、GPIB/GPIB 488.2库、NI-DAQmx库、传统的NI-DAQ库、RS-232库、VISA库、VXI库以及NI-CAN库。数据分析。格式化IO库、分析库以及可选的高级分析库。GUI库。使用LabWindows/CVI 的用户界面编辑器可以创建并编辑图形用户界面(GUI),而使用LabWindows/CVI 的用户界面库函数可以在程序中创建并控制GUI。此外,LabWindows/CVI为GUI 面板的设计,准备了许多专业控件,如:曲线图控件、带状图控件、表头、旋钮和指示灯等,以适应测控系统软件开发的需求,利用这些控件可以设计出专业的测控程序界面。网络和进程间通信库。动态数据交换(DDE)库、TCP库、ActiveX库、Internet库、DIAdem连接库、DataSocket库等。除此之外,用户可以在CVI中使用ANSI C库中的全部标准函数。正式因为有了强大的库支持,所以在CVI中,完成绘制图 12所示正弦函数波形的功能,只需要在main()函数中写三行代码:图12 CVI程序运行结果一旦提及NI公司,大家可能最先联想到的是NI公司推出的LabVIEW软件。LabWindows/CVI与LabVIEW相比,主要应用在各种测试、控制、故障分析及信息处理软件的开发中,其更适合中、大型复杂测试软件的开发,是工程技术人员开发建立监测系统、自动测量环境、数据采集系统、过程监测系统的首选工具。1.1.2 LabWindows/CVI安装要安装CVI,只需要根据CVI安装包里的“Release Notes.pdf”和“说明.txt”一步步完成安装即可。安装完CVI后,我们有必要看一下,安装程序在我们计算机的磁盘中丢下了哪些东西。表 11 LabWindows/CVI主要目录及其内容目录名说明binLabWindowsCVI的库文件extlib外部编译器使用的CVI库文件(只在Windows95/NT中使用)fonts字体文件include头文件instr仪器模块samplesCVI开发例程sdkSDK库文件(只在Windows95/NT中使用)toolslib开发工具包和库文件tutorial使用手册vxdVXD实例开发模板wizardCVI开发环境中的向导程序其中,samples文件夹中的例程可以使初学者迅速掌握CVI编程开发基本步骤。bin文件夹下的cvi.chm(也可以通过CVI开发环境中按F1打开)是学习CVI之路必不可少的参考文档。1.2 寻根问底:开发环境对于一门学问的初学者来说,最希望搞懂的就是学的东西的本质是什么。在前一小节中我们提到了,LabWindows/CVI是NI推出的一个基于C语言的集成开发环境(IDE,Integrated Development Environment)。那么什么是开发环境呢,开发环境是怎么工作的呢?集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C+ Builder系列等。但我们自从学习C语言开始就与集成开发环境建立了不解之缘。似乎在我们心中,C语言就是VC/VS、VC/VS就是C语言、VC/VS就是编译器、编译器就是VC/VS。虽然不可否认的是,IDE的出现大大的降低了软件开发的门槛,曾经帮助我们快速入门,但IDE过于友好的界面让人无需思考程序编译、运行的原理即可开始写自己的第一个HelloWorld程序。所以,我们有必要了解IDE的工作模式,有必要了解IDE是怎么通过命令行去工作的。命令行,看似简陋,却能让人专心于自己的事物,并搞清楚一个程序的来龙去脉。Keil下的命令行工作方式已经在创新中心的SST单片机实践教程的“汇编语言工具链”一节中有了详细的介绍,下面通过一个实例介绍最常用的VC6.0的命令行工作方式。在此之前,我们假设你至少已经用VC写过C语言,编译过工程,并对Windows下的命令行至少略知一二。当然,如果你现在还不懂,赶紧利用Google等一切现代化的工具解除自己的疑惑。例1使用命令行完成用VC对下面简单的C语言程序的编译。实验步骤(1) 将这段代码保存为.c文件(此处保存为main.c),并讲这段代码放在VC安装路径下的“VC98Bin”文件夹下。启动命令行窗口,并将地址修改为当前地址(2) 敲入cl.exe main.c命令执行编译。此时可能会弹出窗口,提示缺少文件“mspdb60.dll”,编译失败。毕竟当前的命令行窗口没有标准VC的环境变量,所以编译程序cl.exe无法从当前的环境变量中找到mspdb60.dll。(3) 在VC安装路径的“CommonMSDev98Bin”目录中找到此DLL并复制到“VC98Bin”文件夹下之后,按键盘方向键重新运行cl.exe main.c。此时会提示找不到stdio.h文件。在VC安装路径的“VC98Include”目录中找到stdio.h之后,复制到“VC98Bin”文件夹下。图 13 命令行编译main.c-提示找不到stdio.h(4) 同理,程序会依次提示找不到文件LIBC.lib、OLDNAMES.lib、kernel32.lib。这些库文件都可以在VC安装目录下的“VC98Lib”路径中找到。(5) 再次运行,命令行提示编译成功。图 14 命令行编译main.c-编译成功(6) 在命令行中敲入main.exe。“Hello,world!”是否显示出来了呢?图 15 运行main.exe至此,聪明的你应该已经知道VC的IDE是如何依赖于安装包内的编译器CL.exe程序实现编译的功能了吧。本小节旨在通过对大家熟悉的VC的IDE改用命令行进行编译的方式引导大家接触一个新的事物首先应该搞清楚其本质的思想,养成搞学问时喜欢刨根问底的好习惯。除了编译器的功能外,集成开发环境IDE应该还带有调试器的功能。限于篇幅,此处不再多过多探索,大家可以自行研究。若对IDE感兴趣,大家还可以调用现有的编译器程序、调试器程序编写自己的IDE!1.3 C语言的魅力是不是在大家的印象里,C语言只能做那种char后面跟几个*,故意把人绕晕之后运行的时候还会弹出一个黑乎乎的窗口的程序?是不是在大家的印象里,C语言不能访问网络、不能播放声音、不能显示图片、不能跟硬件设备打交道、不能做GUI,即便做出来GUI也丑的很或者慢的很,更不能搞多线程之类的高端一点的玩意儿?是不是在大家的印象里,为了使用一个串口库,我们就必须丢掉C语言然后让C+甚至MFC闪亮登场?是不是在大家的印象里,C语言能做的事情,C+、Java、C#或者Python等等编程语言通通都能做到?而这些编程语言能做到的事情C语言就很难做到?如果一定要这么认为,那就大错特错了。即便在编程语言更新换代如此之快的今天,我们也很难找出一个智能设备或者商业软件在开发的过程中未曾使用C语言过。借助CVI以及CVI自带的丰富的函数库,C语言不仅能够做C+、C#、Java等可以做的事,有时还可以做的更快更好,甚至还可以做这些编程语言所不能做的事。我们学校(华中科技大学)的论坛“白云黄鹤”的服务器端程序就是采用C语言开发的,没有使用现成的Web服务程序或者数据库管理程序(当时没什么IIS也没MySQL可以用),因此数据库通过不断对文件进行fread或者fwrite实现的。第一次听说C语言还可以用来开发服务器程序,大家肯定不敢相信。不过下面我们将以一个简单的实例来向大家证明,C语言真的可以写服务器端的程序,而且简单的超乎想象。例2使用C语言完成简单的Web服务器的功能。实验步骤(1) 若您的计算机尚未安装Apache,请先安装Apache服务器。若已安装Apache,请确保Apache程序处于运行状态。(2) 在VC6.0中新建C语言工程,输入以下代码。(3) 编译,并将编译后生成的可执行文件main.exe复制到Apache程序的cgi-bin目录下。(4) 在浏览器地址栏中输入http:/localhost/cgi-bin/main.exe?HelloWorld图 16 在浏览器中访问编译的程序并传入HelloWorld参数是不是见识到了C语言在网络开发中“初见端倪”的一面?上述例子其实是CGI(Common Gateway Interface,通用网关接口)的一个最简单的例子。稍微详细一些的例子将会在第6 章“综合实例:远程环境参数检测系统”中见到。如果你对C语言在开发CGI程序感兴趣,也可以自行查找资料,编写一个更具实际价值的网络应用程序。1.4 CVI开发环境初接触1.4.1 三步创建自己的Hello,world不管是学习一门新的语言,还是学习一个新的开发工具,大家的第一个程序都是Hello world。所以,下面我们一步一步来,实现我们的Hello,world!1. 建立/保存工程运行LabWindows/CVI,初始状态的CVI会自动为我们建好一个新的工作空间Untitled.cws以及新的工程Untitled。.cws文件是CVI工作空间文件(CVI WorkSpace),而.prj(project)是CVI的工程文件。点击菜单File-New-Source(*.c),新建一个C文件。图 17 打开CVI并新建C文件2. 输入代码保存代码文件在新建的C文件中输入下列代码,点击菜单File-Save Untitled1.c(或者按Ctrl+S、或者点击工具栏中的保存按钮),将新建的C文件保存在自己想要保存的位置中。3. 编译运行此时若点击菜单Run-Debug Project(或者点击工具栏中的绿色三角形按钮),则CVI会弹出如下所示提示。说明刚刚保存的C语言文件必须添加到一个工程中才能继续编译过程。此时点击Yes会自动将C文件添加到工程中,若点击Cancel也可以右击Untitled工程之后选择Add File添加C文件到工程中。由于我们只保存了C文件,并未保存工程.prj文件,所以右击Untitled工程之后选择Save,将工程文件保存。此时若再点击菜单Run-Debug Project(或者点击工具栏中的绿色三角形按钮),Hello,world成功运行!总结起来,完成一个HelloWorld程序只需要“建立/保存工程”-“输入代码保存代码文件”-“编译运行”简单的三步。大家若感兴趣,也可以将以前在VC中写的C语言程序代码复制到CVI中,看看在CVI中是否也能正确的运行。其实,CVI是支持ANSI C(American National Standards Institute,美国国家标准协会)的,只要是ANSI C的代码,在CVI中一样可以运行。1.4.2 阅读官方的samples学习或提升一门编程语言的水平,最快速有效的是阅读大量优质的代码。NI在CVI安装目录的samples下提供了大量的参考例程。大家可以将samples例程中的.cws文件拖动到CVI中打开.cws文件,运行并查看官方的代码。初次接触CVI的同学可能对CVI的“工作空间”与“工程”并不熟悉。一个工作空间中可能存在一个或多个工程。CVI每次编译的时候一般只对“当前”工程进行编译。需要注意的是当前工程不是指的当前打开的文件所在的工程,而是被设置为“Active P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美丽拼音教学课件
- 员工感恩培训
- 技术部考试试题及答案
- 交通银行2025宿州市半结构化面试15问及话术
- 邮储银行2025白城市秋招面试典型题目及参考答案
- 中国银行2025黄石市秋招群面案例总结模板
- 2025年3D打印的金属成型工艺
- 2025年3D打印的药物递送系统
- 中国银行2025阳泉市笔试英文行测高频题含答案
- 农业银行2025成都市秋招群面案例总结模板
- 人体十二经络系统解析
- 1.8《天气的影响》教学设计-教科版三上科学(新教材)
- 消防系统信号传输方案
- T-WHCIA 1008-2025 城市道路软弱土地基处理技术规程
- DB15∕T 3644-2024 国有企业阳光采购规范
- 2025年7月广东深圳市光明区审计局招聘专干1人笔试参考题库附答案解析
- 2025年交通安全宣传周知识竞赛考试题库及答案(含各题型)
- 2025年江西省赣州市《综合基础知识》事业单位招聘考试国考真题(附答案)
- 2025年云南文山交通运输集团公司招聘考试笔试试卷【附答案】
- 2025年深圳中级电工试题及答案
- 设备维护保养基础知识
评论
0/150
提交评论