ImageVerifierCode 换一换
格式:DOCX , 页数:64 ,大小:1.11MB ,
资源ID:27752631      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27752631.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(labwindowsCVI教程.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

labwindowsCVI教程.docx

1、labwindowsCVI教程labwindows-CVI-教程LabWindows/CVI基础教程 序 言 LabWindows/CVI是National Instruments公司推出的一套面向测控领域的软件开发平台。它以ANSI C为核心,将功能强大,使用灵活的C语言平台与数据采集,分析和表达的测控专业工具有机地接和起来。它的集成化开发平台,交互式编程方法,丰富的控件和库函数大大增强了C语言的功能,为熟悉C语言的开发人员建立检测系统,自动测量环境,数据采集系统,过程监控系统等提供了一个理想的软件开发环境。 本教程面向的是那些从未使用过LabWindows/CVI的读者,但是假设读者以有了

2、C语言的基础并且熟悉Windows 2000/9x/NT操作系统。在每一章节的学习中,作者都是通过一个具体的实例让读者迅速的掌握本章的知识点;而不是长篇大论,述及边枝细叶,反而使读者望而却步,只见树木,不见森林。想信通过对本教程的学习,读者可迅速掌握LabWindows/CVI编程思想及步骤,为读者日后进一步学习打下基础。本书约定:“FilePage SetupOptions”File 这一种黑色斜体字是指多级菜单名,按扭名,窗口名或者是关键性词汇。“” 是指打开一个多级菜单或对话框。如:FilePage SetupOptions是指你首先打开File 菜单,然后选择Page Setup项,最

3、后从弹出的对话框中选择Options项。“说明:通过这种方式你可以修改Panel 顶端所显示的名字。” 该种字体所写的文字是值得读者注意并记忆的内容。 “ ” 该椭圆形框所框住的内容是读者需修改的地方。 第一部分 CVI快速入门 本部分通过编制一个简单的LabWindows/CVI程序,使读者对CVI编程环境,思想及步骤有一初步的认识。 第一章 初步认识CVI程序设计 从一个例子开始我们的第一个示例将很简单,我们所要做的是创建一个如下的图形用户界面(User Interface)。当我们按下Acquire按扭,计算机会自动产生一个正弦波形并画在图形显示区中;当按下Clear按扭后则清除正弦波形

4、;当按下Quit按扭后退出该程序。现在我们就开使创建该程序。首先按下面步骤起动CVI:开始程序National Instrument CVICVI IDE或者直接从桌面起动CVI 的快捷方式,双击桌面 National Instrument CVI 图标 当LabWindows/CVI打开后你就会见到如下所示的一个空的项目(Project)窗:第一步:创建用户界面创建控件元素: 从Project窗中选择:FileNewUser Interface(*.uir)创建一个用户接口文件(*.uir),CVI会自动弹出如下所示的窗口:在该窗中Untitled Panel 的灰色区域中单击鼠标右键,变会

5、弹出一个快捷菜单如下所示:从该菜单中选择:Command ButtonSquare Command Button 点击左键后便会创建一个方形的按扭。由于本程序总共需要三个按扭,所以按照上面的步骤再创建两个方形按扭。从该菜单中选择:GraphGraph ,创建一个用于图形显示的Graph。现在我们已经建好了用户界面所需的控件元素,请使用鼠标把它们拖到如下图所示的位置。 修改用户界面中各控件元素的属性:1修改Panel的属性:在Untitled Panel中双击一下,便会弹出Panel的一个Edit Panel窗,如下图所示:a.将Panel Title项中的Untitled Panel 改为 D

6、emo Panel. 说明:通过这种方式你可以修改Panel 顶端所显示的名字。b.将Auto-Center Vertically(when loaded)项 与Auto-Center Horizontally(when loaded)项前的矩形框选中。 说明:当选中后,程序运行时,面板会自动居中。修改后的Edit Panel 应如下图所示:点击OK按扭,完成对Panel属性的修改。 2修改Graph的属性: 在Untitled Control的蓝色区域中双击一下,便会弹出Graph的一个Edit Graph窗,如下图所示: a.将Label项中的Untitled Control改为ShowW

7、ave.说明:通过这种方法可以修改Graph的标签名。点击OK按扭,完成对Graph属性的修改。3.修改Command按扭的属性:(1)Acquire 按扭: 双击左上方的OK按扭,便会弹出Command的一个Edit Command窗,如下图所示: a. 将Constant Name项改为ACQUIRE说明:Constant Name是程序中用来标识该控件元素的常量,在后面的编程中会用到。 b.将Callback Function项改为AcquireCallback 说明:Callback Function(回调函数)是程序中用来响应界面中的Windows消息, 也就是说:当 该按扭被点击之

8、后,程序会调用AcquireCallback函数来作为 对按扭被按下这一消息的响应。c. 将Label项改为 Acquire 说明:通过这种方法可以修改按扭名字,Acquire中A字母前有下画线,是指可 以通过 Alt + A即可达到按下该按扭的效果(即热键)。修改后的Edit Command Button窗应如下图所示:点击OK按扭,完成对Command Button属性的修改。(2)Clear 按扭: 与以上步骤相同,双击左下方的OK按扭,弹出Command的一个Edit Command窗。a.将其Constant Name改为CLEARb.将Callback Function项改为Cle

9、arCallbackc.将Label项改为 Clear 修改后的Edit Command Button窗应如下图所示:点击OK按扭,完成Command Button属性的修改。(3)Quit 按扭: 与以上步骤相同,双击右方的OK按扭,弹出Command的一个Edit Command窗。a. 将其Constant Name改为QUITb. 将Callback Function项改为QuitCallbackc. 将Label项改为 Quit 修改后的Edit Command Button窗应如下图所示:点击OK按扭,完成Command Button属性的修改。 当完成以上工作后,Panel应该如

10、下图所示:选择:FileSave 保存UIR文件,命名为FirstSample.uir。到目前为止我们已经完成了用户界面(user interface)的设计,当程序运行时所显示的界面就是我们刚才上图看到的那样。下面我们要做的就是真正的程序编制工作,其实CVI可以自动生成许多的代码以及缺省消息的处理函数,你只需添加一些你自己所需的一些代码。第二步:完成程序的编制产生程序代码: 现在请你让图形用户界面窗口为当前响应状态,如下图所示: 从用户图形界面窗口中选择:CodeGenerateAll Code然后会显示出如下的界面:请用你的鼠标点击Select QuituserInterface Call

11、back 中的QuitCallk项,确保其前面出现一个小钩。说明:1。当你想让你的程序的主函数为Win Main而不是Main时你可以选择 Generate WinMian( ) instead of Main( )项前的矩形框。 2Select panels to load and display at startup 项是指你选择那一个Panel作为最初 装入并显示的Panel,当你创建多个Panel时你就需要选择一个Panel作为最初显 示的面板。由于本程序只有一个Panel所以该Panel就被缺省的作为最初显示 的面板而不再需要你去选择。 3Select QuituserInterfa

12、ce Callback 项是指你选择那一个函数作为退出程序的终 止函数。本程序是让QuitCallback作为退出函数的。 点击OK按扭,便会弹出如下图所示的源代码(Code)窗:其窗中的程序代码如下所示:#include #include #include FirstSample.hstatic int panelHandle;int main (int argc, char *argv ) if (InitCVIRTE (0, argv, 0) = 0) return -1; /* out of memory */ if (panelHandle = LoadPanel (0, First

13、Sample.uir, PANEL) Advanced Analysis在弹出的对话框中选择: Signal GenerationSine Pattern便会弹出如下图所示的一个函数面板:请在Number of Elements项中填上512;把Number of Cycles 项改为3;Sine Pattern 项中填上用来装正弦信号的数组Wave,由于Wave是一个数组变量,故我门需要声明该变量:选择CodeDeclare Variable会弹出一个如下图所示的对话框:请在Number of Elements 项中填上512,并选择了最下面的矩形框,然后点击OK按扭完成。返回到函数面板后,

14、选择CodeInsert Function Call完成函数的插入,这时Code 窗中的AcquireCallback( )函数应如下所示:int CVICALLBACK AcquireCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) double Wave512; switch (event) case EVENT_COMMIT: SinePattern (512, 1.0, 0.0, 3.0, Wave); | break; return 0; 我

15、们已经的得到了正弦信号,现在需要将该信号画到Graph上去: 1)请将鼠标放在SinePattern( )函数下面的空白行上,如上面所示那样。2). 请选择: LibraryUser Interface 在弹出的对话框中选择: Controls/Graph/Strip ChartGraph and Strip ChartGraph Plotting and DeletingPlot Waveform把函数面板中的对应各项填写成如下所示:PanelHandle: panelHandeleControl ID : PANEL_GRAPHY Array: WaveNumber of Points:

16、512 选择CodeInsert Function Call完成函数的插入,这时Code 窗中的AcquireCallback( )函数应如下所示:CVICALLBACK AcquireCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) double Wave512; switch (event) case EVENT_COMMIT: SinePattern (512, 1.0, 0.0, 3.0, Wave); PlotWaveform (panelH

17、andle, PANEL_GRAPH, Wave, 512, VAL_DOUBLE, 1.0, 0.0, 0.0, 1.0, VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_RED); break; return 0;到现在为止我们已经完成了AcquireCallback( )函数的的程序代码。3添加ClearCallback( )函数的程序代码: ClearCallback( )函数完成以下功能:当Clear按扭按下后,计算机会清除Graph上所画的正弦图形。 现在请将鼠标放在ClearCallback( )函数Event_Commit:

18、下面的空白行上,如下图所示:请选择: LibraryUser Interface 在弹出的对话框中选择: Control/Graph/Strip ChartGraph and Strip ChartGraph Plotting and DeletingDelete Graph Plot把函数面板中的对应各项填写成如下所示:PanelHandle: panelHandeleControl ID : PANEL_GRAPHPlotHandle: -1选择CodeInsert Function Call完成函数的插入,这时Code 窗中的ClearCallback( )函数应如下所示:int CVI

19、CALLBACK ClearCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) switch (event) case EVENT_COMMIT: DeleteGraphPlot (panelHandle, PANEL_GRAPH, -1, VAL_IMMEDIATE_DRAW); break; return 0;到目前为止我们已经完成了程序的编制任务。这一个看起来不算简单的程序,我们编起来并没有写多少源代码,这正是体现了LabWindows/CVI的强

20、大功能所在。第四步 运行程序完成项目文件 现在请你让源代码(Code)窗为当前响应状态,选择: RunDebug FirstSample_dbg.exe 便会弹出一个对话框,询问你是否在编译前为该文件命名并添加到工程文件中去。点击yes按扭,把该文件命名为FirstSample.c。然后计算机询问你是否把 “analysis.h”包含到FirstSample.c中去(因为,我们的程序中用到了高级分析库),点击yes按扭,同意该选项。 运行后的程序正如我们预期要求的那样。退出程序后,从源代码(Code)窗中选择: WindowProject 现在项目 (Project)窗为当前响应状态,请选择:

21、EditAdd Files to ProjectAll Files(*.*)便会弹出如下图所示的对话框: 请你按住键,点击FirstSample.h ,FirstSample.c ,FirstSample.uir。然后点击Add按扭把这些文件方到Selected Files框中。 点击OK按扭,把以上文件添加到工程文件中去。至此为止我们已经完成了第一个程序的编制工作,想必大家对LabWindows/CVI编程已经有了一个初步的了解,头脑里已建起程序编制的基本框架。 通过本部分的学习,你是否已经掌握?LabWindows/CVI 程序编制的基本步骤。简单的用户图形界面(*.uir)的创建。能使用

22、函数面板完成函数的插入,构建源代码程序。项目工程文件的基本构成。 第二部分 CVI环境下程序设计 通过编制第一章的FirstSample程序,读者已对LabWindows/CVI编程有一定了解。本部分就是在第一部分的基础上进一步讲述LabWindows/CVI程序设计及其编程环境等细节问题。这一章所讲内容请大家都务必动手实际操作一下,只有这样才能使你真正的掌握本章的内容。看完本章后请大家结合第一章把FirstSample重新编制一遍,以巩固本章所讲的加速LabWindows/CVI编程的技巧。 第二章 LabWindows/CVI 程序剖析 通过例程FirstSample的编制,大家已对Lab

23、Windows/CVI编程有了初步的认识。本章是作者从总体上来谈谈自己对LabWindows/CVI程序的理解与认识。 LabWindos/CVI 编程的步骤基本如下: 制定程序设计的基本方案 第一步 根据任务确定程序的基本框架如: 程序界面,程序中所需的函数等。 创建用户图形界面 第二步 根据第一步制定的方案 创建用户图形界面及回 调函数名。 程序源代码的编制第三步 让计算机生成程序代码及回调函数 的基本框架。添加函数代码,完成 源代码的编制工作。 工程项目的完成 第四步 编译,调试程序。把头文件,用户图 形界面文件,源代码文件添加到项目 文件中去,完成整个程序的编制程序框架及文件间的相互关

24、系如下图所示(以FirstSample.prj为例): 项目工程文件 (FirstSample.prj) 用户图形界面文件 源代码文件 头文件 (FirstSample.uir) (FirstSample.c) (FirstSample.h) panel include “FirstSample.h” 定义了程序中所需的常 事件消息 量以及函数原形。 Acquire按扭 AcquireCallback( ) 事件消息 Wave512 Clear按扭 ClearCallback( ) 事件消息 Quit按扭 QuitCallback( ) ShowWave 上图所画的构成一项目工程文件的各文件之

25、间的关系是非常重要的。如果你能理解上图所示的内容,那么你就基本理解了LabWindos/CVI 程序的运作过程。请读者仔细阅读以上内容并理解,这些都有助于读者从整体上去把握LabWindows/CVI 程序设计的核心思想,有益于读者进一步学习LabWindows/CVI。 第三章 LabWindows/CVI 编程环境 LabWindows/CVI开发环境有以下三个最主要的窗(window)与函数面板(Function Panel):项目工程窗(Project Window)用户接口编辑窗(User Interface Editor window)源代码窗(Source window)下面就会对以上三个窗及函数面板作详细的介绍。第一节 项目工程窗(Project Window) 一个项目工程窗(Project Window)如下图所示:在项目工程窗中列出了组成该项目工程所有的文件,项目工程窗中的个菜单项功能如下:File : 创建,保存或打开文件。可以打开以下文件:项目工程文 件(*.Prj)源代码文件(*.c),头文件(*.h)以及用户接口 文件(*.uir)。Edit: 在项目工程中添加或移去文件。Build: 使用LabWindows/CVI 编译链接器。Run: 运行一个项目工程。Windows: 用来访问某个已经

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1