第四讲面板控件ppt课件_第1页
第四讲面板控件ppt课件_第2页
第四讲面板控件ppt课件_第3页
第四讲面板控件ppt课件_第4页
第四讲面板控件ppt课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

1、第四讲 CVI开发环境和程序构造-建立一个简单的程序 开发环境; 图形用户界面GUI; 控件; 源代码生成、编辑和调试的方法;一、 载入、运转和编辑源程序源代码编辑技巧块等)文件、头文件、目标模工程文件、文件类型:用户界面编辑器窗口源代码窗口)(工程窗口常用窗口:Cuircprj()(*. )(*. . * 1. 工程窗口: 按以下步骤将一个工程加载到CVI的工程窗口中:1选择FileOpen,出现一个子菜单,显示编辑和创建的各种文件类型;2 选择Project(*.prj),从cvitutorial子目录中选择sample1.prj2. 工程窗口列出了组成该工程或程序的一切文件。 如P9所示

2、。 工程工程文件显示了所列文件的形状,其各项的含义如以下图所示: 这个标志是指源代码文件能否是翻开的文件名最后修正该文件的日期时间S是指该文件曾经修正正,请保管该文件C是指运转该文件之前必需先经过编译O是指他可以让该文件编译而无需debuggingI是指这是一个仪器驱动程序 工程管理窗口的编辑菜单: File文件操作 Edit (添加文件、移除文件等) View显示途径、日期等 Build编译文件、工程及链接工程 Run 运转工程、设置断点等 Instrument装载、卸载仪器 Library 诸如用户接口库类的各种库文件 Tools创建ActiveX类控件等 Window窗口的操作、添加变量

3、察看窗口等 Options编译、运转环境选项设置等 Help有关的协助选项二、 程序代码编辑窗口 源代码和头文件中不同的C语句用不同的颜色显示,以方便用户编辑、编译和调试。 又称源代码编辑工具,CVI源代码窗口有几个快速编辑特性,对编辑大的源文件或有多个源文件的工程很有协助,位于Edit 菜单内; ViewLine Numbers(设置行号) ViewToggle tag设置书签 注释/ 或/* . */、选取见P17、剪切、粘贴功能等。源代码编辑窗中各菜单项的功能: File: 创建,保管或翻开文件。创建,保管或翻开文件。Edit: 可用来编辑源代码文件。可用来编辑源代码文件。 View:

4、设置源代码编辑窗的风格等功能。设置源代码编辑窗的风格等功能。Build: 编译文件以及编译设置。编译文件以及编译设置。Run: 运转程序。运转程序。Instrument: 装入仪器驱动程序。装入仪器驱动程序。Library: 函数库。函数库。Tools: 一些他可运用的工具项。一些他可运用的工具项。Windows: 用来访问某个曾经翻开的窗,例如:工程工程窗,用接用来访问某个曾经翻开的窗,例如:工程工程窗,用接 口编辑窗,源代码窗口编辑窗,源代码窗 。Options: 设置用接口编辑窗的编辑环境。设置用接口编辑窗的编辑环境。Help: LabWindows/CVI 在线协助及在线协助及Wind

5、ows SDK 的函数帮的函数帮 助。助。 阐明:在编程中有一快捷菜单是非常有用的,当他把鼠标指在某一函数上点击右键后便弹出一快捷菜单,经过该菜单他可以查看回调函数以及与该函数对应控件元素。这是一个大家以后在编程中要常用到的技巧,请掌握。三、 用户界面编辑器 *.uir 文件保管运用程序一切的用户界面资源;这些资源由用户界面编辑器来维护; 单击工程工程的FileNewUser Interface(*.uir),可以翻开该编辑器; 该界面开发工具提供了对以下几类界面元素的支持:面板即窗口panel、菜单Menu Bar、面板上的控件Control ; 有两种方法可以创建界面元素:1 在空面板上右

6、键单击;2 单击工具栏上creat的下拉菜单。接口编辑窗各菜单项的功能:File: 创建,保管或翻开文件。Edit: 可用来编辑面板或控件元素。 阐明:其实我们直接用鼠标双击我们想要编辑对象即可就象编制FisrtSample 中修正面板和四个按扭那样。Creat: 可用来创建面板和各种控件元素。 阐明:其实我们只需在 Panel上点击鼠标右键,便会弹出一个快捷菜单,选择 他所想创建的对象即可就象编制FisrtSample 时创建Graph和四个Button 那样。View: 当创建多个面板后就可用该项来查看想要看的面板。Arrange: 用来调理各个控件元素的位置与大小。Code: 产生源代码

7、,以及选择他所需的事件音讯类型。Run: 运转程序。Library: 函数库。 阐明:我们将在后面详细的引见LabWindows/CVI的函数库。Tools: 一些他可运用的工具项。Windows: 用来访问某个曾经翻开的窗,例如:工程工程窗,用户 接口编辑窗,源代码窗 。Options: 设置用接口编辑窗的编辑环境。Help: LabWindows/CVI 在线协助及Windows SDK 的函数帮 助。阐明:在用户接口编辑窗中有一快捷菜单阐明:在用户接口编辑窗中有一快捷菜单是非常有用的,当他把鼠标指在某一控是非常有用的,当他把鼠标指在某一控 件元素上点击右键后便弹出一快捷菜件元素上点击右键

8、后便弹出一快捷菜单,经过该菜单他可以生成回调函数单,经过该菜单他可以生成回调函数 以及查看回调函数,而无须他再切换以及查看回调函数,而无须他再切换到源代码窗后再查看。这是一个大家以后到源代码窗后再查看。这是一个大家以后在编程中要常用到的技巧,请掌握在编程中要常用到的技巧,请掌握 .图形用户接口编辑窗中还有四个方式选择按扭,现引见如下: 当该按扭被按下后,他可以操作面板上的控件,同时在图形用户接口编辑窗的右上角上来察看面板上的事件音讯。 在这种方式下他可以创建、编辑面板和控件元素以及修正它们的属性。在这种方式下他可以直接修正控件元素的名字、标签等文字相关方面的东西。在这种方式下他可以直接修正面板

9、,控件元素的颜色。先把鼠标方在他所想修正颜色的对象上,点击右键便会弹出一个 选色对话框,选择他所想要的颜色后点击后即可。 面板的属性设置:双击面板的恣意位置,弹出面板属性编辑对话框,如P19所示; 面板编辑窗口包含4部分:代码衔接部分、面板设置部分、快速编辑窗口、子面板属性设置;详细属性见书P20. 各项功能设置中,最重要的是代码衔接部分中的回调函数Callback function文本框,该文本框为填写该面板呼应鼠标或键盘音讯的回调函数称号,可在该函数中进展各种音讯的呼应处置。音讯呼应函数是CVI中运用最多的一个函数,只需在相应的音讯后添加对应的音讯处置代码即可。 在CVI中,一切的界面资源

10、都可以有回调函数,CVI的回调函数是自动生成的。点击CodeGenerateAll Callbacks,如下所示。int CVICALLBACK panel (int panel, int event, void *callbackData,int eventData1, int eventData2)switch (event)case EVENT_GOT_FOCUS: break;case EVENT_LOST_FOCUS: break;case EVENT_CLOSE: break;return 0;四、 菜单 应在面板中属性的设定panel settings中的Menu bar 选定M

11、enu,才可以在面板中显示菜单项; 在*.uir窗体中,单击Edit-Menubars, 可以编辑菜单项; 菜单的方式有三种:立刻菜单、下拉菜单、级联菜单; 一切的立刻菜单以!终了,如Help! 下拉菜单中的每一级子菜单对应一个相应的音讯呼应函数,而父菜单没有; 级联菜单中只需最后一级的菜单才有音讯呼应函数,一切的父菜单都没有。五、 控件 在*.uir窗体中,单击Creat,或者在panel中直接单击右键,可以看到各种控件; 常见控件的种类有: Numeric数值控件:输入或显示一个数值 String字符控件:输入或显示字符信息 Text Message文本控件:显示静态的文本信息,是单行的文

12、本框,只需一种方式。 Text Box文本控件:输入或显示多行文本 Command Button按钮型控件:控制按钮 Toggle Button开关按钮:可选择0和1两种不同形状的复选按钮 LED指示灯控件:指示开关0、1两种形状 Binary Switch二进制型控件:与Toggle Button类似 Ring数值性控件:与Numeric 类似 List Box列表框控件:选择一种列表信息中的一项Decoration装饰控件:各种修饰图形Graph绘图控件:用于各种信号波形显示或者数字统计分析Picture图形控件:显示图形,只需一种方式Timer定时器控件:为不可显示的控件,可做定时用,编

13、辑时显示为一个时钟Canvas画布控件:可进展文字、图形的编辑六、 函数面板编辑工具 函数面板机制:利用函数面板,可查找所需的功能函数库,并能自动生成对函数的调用语句和将调用语句添加到源程序文件中,实现程序代码的自动生成。 函数面板的生成机制的三个方面: 函数树形构造图; 函数面板编辑器; 函数协助编辑器。函数面板选择窗口:LibraryUser Interface如P32所示以用户接口功能库类为例;了解函数面板中,控件和复选框中的功能和阐明;了解Panel子类和下一级子类;详细LoadPanel函数的函数面板信息右键单击控件可知协助信息;函数面板的一切信息保管在*.fp或 *.lfp的文件中

14、。函数面板机制: 函数树形构造编辑器1.函数库中的函数按功能分成几类,每个类有类名和相应的阐明,在CVI中用Class代表类,一类函数中还能够含有假设干子类,从而构成多级的树形构造;2.函数树形构造编辑器(*.fp 或 *.lfp)是定义和管理函数的工具,如书P34所示;3.可以编辑和修正此层次构造图,以添加或删除函数; 4.三个术语: Instrument:仪器,对应于一个功能函数库; Class;类,对应于函数库中的类或子类; Function Panel:函数面板,对应于每一个功能函数。 5.仪器驱动器的制造有点复杂,在后面章节中有专门讲述;可以翻开一个空的*.fp 文件,选择Creat

15、Instrument 来 新建一个仪器驱动器。函数面板Function Panel编辑器 创建一个新的仪器驱动器 Name:MyInstrument Prefix: MyInstr 建立一个函数面板,Name:My Function Function Name: MyFun 双击函数树形编辑窗口中的My Function,弹出函数面板的编辑窗口,如P36所示。 在主界面上的8种控件,分别代表所创建函数的不同方式的参数和其他信息,各种控件的功能阐明见P36。 在LabWindows/CVI 编程环境下,当他想在源程序某处插入函数时,他只需从函数所在的库中选择该函数后便会弹出一个与之对应的函数面板

16、,他所做的就是:填入该函数所需的参数后完成插入即可。而且更为方便的是:假设参数是一他以有的常量或变量,他只需点击常量或变量工具按扭后选择他所需的量即可;假设参数是一变量,他直接可声明该变量而无须再切换至源代码窗。 下面我们就谈谈这些在LabWindows/CVI中可以加快他编程的技巧。 一个函数面板如以下图所示:这是FirstSample中产生一个正弦波的函数其中SinePattern项是用来装正弦波的数组,我们在程序中运用数组Wave512 来装正弦波的。当我们在SinePattern项填入Wave后,由于Wave是一变量,所以我们需求声明该变量:让鼠标指在Wave上然后点击工具条中的声明变

17、量按扭 后, 便弹出一个声明变量对话框即可声明该变量为局域变量或为全局变量。 当他所填参数是一以有的常量或变量,他只需点击选择常量或变量工具按扭后选择他所需的量即可,下面就引见该技巧: 上图是FirstSample中把数组Wave中的正弦波画到Graph上去的PlotWaveform函数。其中,Control ID 项所填的是程序中用来标识GUI中控件元素的常量,该常量是由LabWindows/CVI自动在头文件中预定义的他可以翻开头文件看看。故当我们填入该常量时只需将鼠标放在Control ID项的文本框中然后用鼠标点击工具条中的选择属性或UIR常量按扭 后, 便弹出一个选择属性或UIR常量

18、对话框,选择他所需的常量或属性即可。Panel Handle 是程序运转开场时UIR的句柄,是由LabWindows/CVI 自动生成的是一变量;Number of Points 项需填的是512,这正是我们在声明Wave时已用过的;Y Array 项所填的是我们曾经声明过的变量 数组Wave;故当我们填入以上各项时只需将鼠标放在对应项下文本框中,然后用鼠标点击工具条中的选择变量按扭 后, 便弹出一个选择变量对话框,选择他所需的变量Wave即可。 当他填完函数的参数后,点击插入按扭后即可完成函数的插入,而无须再选择菜单中的插入命令。 以上这些都是加快他编程的技巧,这些技巧他以后编程时是会非常频

19、繁运用的。而这些也正是LabWindows/CVI 开发环境所独具的加快他编程速度的特征。阐明:当他的鼠标落在工具条按扭上时,阐明:当他的鼠标落在工具条按扭上时,计算时机自动的显示该工具按扭的功能。计算时机自动的显示该工具按扭的功能。 请他运用上面所讲技巧重新编制请他运用上面所讲技巧重新编制FirstSample,我置信他将会有新的收获。我置信他将会有新的收获。当他对函数中的某个参数有不明白的时候,当他对函数中的某个参数有不明白的时候,他只须将鼠标置于该项的文本框中点击鼠他只须将鼠标置于该项的文本框中点击鼠标右键后便会出现对此参数阐明的在线协标右键后便会出现对此参数阐明的在线协助,这一技巧在编

20、程中是非常有协助的。助,这一技巧在编程中是非常有协助的。 CVI是面向测试、控制和信息处置运用软件开发的集成开发工具,所以CVI的程序构造不同于普通的集成软件开发环境的程序构造; 本节内容:CVI工程工程的组成;CVI的普通程序构造;一个简单的工程实例。七、 CVI工程工程的组成 普通运用程序的工程工程的组成:(外部模块的头文件)(外部模块文件)块的源程序文件)(主程序和其他应用模文件)控件的消息响应的处理(界面中面板、菜单和件)(所有资源定义的头文界面资源文件hlibobjcchuir.*.*.*.*.*.*)(.*留意: 资源定义的头文件和音讯呼应的处置文件由代码生成器自动生成和维护; 资

21、源定义的头文件是自动生成的,普通不应该打乱该头文件的构造; 资源文件名、相应的音讯处置文件名和自动生成的头文件名与工程文件名普通一样。基于模块开发的工程工程的组成 除了以上文件以外,对于函数面板机制下的仪器驱动器或驱动器函数库,还应该包括函数面板文件*.fp、属性范围表文件sub文件。 实际上讲,任何源程序文件、头文件都可以手工添加到工程中,但这样做只能添加写代码的任务量,不能表达集成开发环境的优越性。八、 CVI 程序的普通构造测试运用程序的6个部分见P40:程序控制数据分析数据采集用户界面一般测试工程复杂的工程还包括数据库支持和网络支持。九、一个简单测试程序实例 功能:在用户界面上显示正弦

22、波、方波、三角波和随机噪声波形图,波形最大峰峰值为100,最小峰峰值为20;可以选择波形曲线的颜色和波形幅度;选择后自动更新波形显示。工程工程的组成 新建界面资源文件1.uir,按P42设置面板并在面板上添加一切的控件及其回调函数曲线颜色选择除外; 在面板的菜单栏上选择CodeGenerateAll code,将自动产生界面资源的一切的音讯处置文件,包括main函数,将该文件取名为1.c 另外编写一个名为Gernerate Wave()的波形产生包括正弦波、方波等的函数,保管其文件名为wave.c; 在用户面板的菜单栏上选择ViewPreview Interface Header File,将

23、显示用户界面资源的头文件,保管文件,取名为1.h; 翻开CVI,按FileNewProject(*.prj)新建工程工程文件,在工程文件的菜单栏上选择EditAdd File to Project,将上述一切的C文件和头文件添加到该工程工程中,保管后取名为1.prj。 该工程工程的主窗口如下所示。1.文件及相关函数的阐明 头文件中包含了一切资源的ID号和回调函数的定义和声明,资源的ID会作为资源装载时的参数,并获得资源句柄panel Handle,一旦资源装载到内存空间,那么可以利用得到的资源句柄来运用该资源; 不要在*.h的文件中添加用户自定义的变量或函数声明,用户界面资源编辑器在维护该头文

24、件时会自动删除一切无关的定义和声明; 文件的执行顺序:P45 *.c文件内存先检测包含文件,获取变量及其初始化信息和函数声明的信息,为其分配内存空间等;文件的执行从main函数开场,首先对CVI引擎进展初始化,初始化胜利那么前往0,否那么退出程序,之后,载入1.uir资源文件ID号为PANEL的面板,即程序主界面,并显示;接下来设置三个选择控件的初始值,最后是调用RunUserInterface()函数,其作用是运转用户界面并且开场用户界面的音讯循环,直到在回调函数中调用了QuitUserInterface()函数从音讯循环中退出。RunUserInterface是运用程序进入真正运转形状的关

25、键,它启动了用户界面的音讯循环。2.回调函数和音讯处置阐明 一切回调函数的框架由CVI自动生成,不用手工编写,其中面板回调函数的方式是: int CVICALLBACK EventFunctionName (int panel, int event, void *callbackData,int eventData1, int eventData2) 各种控件的回调函数具有一致的方式: int CVICALLBACK EventFunctionName (int panel, int control, int event,void *callbackData, int eventData1,

26、int eventData2) 参数的意义及阐明见书P49,了解CVI的面板和控件的一切事件; 自动生成的回调函数的前往值是0。假设要取消某个面板或控件的回调函数对音讯的呼应,那么可以前往1,但不是任何事件都可以被取消。 假设运用程序正在执行某个回调函数,那么其他的音讯将处于等待形状,直到该回调函数处置完。所以在各种音讯的回调函数中,不要进展大量的费时的操作,否那么其他的音讯将被锁住,不能得到及时处置,影响程序的运转。3.用户音讯处置代码阐明 控件形状参数的获取:GetCtrlVal(); 曲线的绘制和去除:PlotY() DeleteGraphPlot() 一切这些函数都在用户界面函数库中L

27、ibraryUser Interface如PlotY()函数LabWindows/CVI 的函数库的函数库(Library) LabWindows/CVI 其强大功能的所在就是基于其非常丰富的库函数。LabWindows/CVI 所提供的库函数从用户图形界面,数据采集,数据分析,仪器控制 到如今Internet时代的TCP。所以说LabWindows/CVI 在丈量领域成为先锋的同时又与当前时代的新科技坚持了同步。 LabWindows/CVI 的函数库分为了五个大的方面,各个方面又分成了不同的小类: 数据采集方面Data Acquisition,7个库: Instrument Library

28、: 仪器驱动库 GPIB/GPIB 488.2 Library: 仪器控制函数库 Data Acquisition Library: 数据采集函数库 Easy I/O for DAQ : 易用的数据采集函数库 RS 232 Library : RS 232 库 VISA Library : VISA 库 VXI Library : VXI库 数据分析方面,两个库:数据分析方面,两个库: Formatting and I/O Library : 格式化格式化以及输入输出库以及输入输出库 Analysis Library: 分析库分析库 或者或者Advanced Analysis Library:

29、 高级高级分析库分析库 数据显示方面:数据显示方面:User Interface Library : 用户接口库 阐明: 用户接口库中提供了许多用于与面板上各种控件元素打交道的函数,通 过这些函数他可以非常容易的把一个采集来的波形画到Panel 的Graph 上或删除Graph 上已画的图形;得到Panel上某个控件元素的数值以及 把某个数值写到Panel上的某个控件元素上去亦就是改动该控件元素的 值;修该Panel上控件元素的属性。总之,他只需熟练掌握了用户接口 库函数后才干使他创建的用户图形界面正正的动起来,该库是初学者应迅 速熟习的库。 网络,通讯与数据交换方面,四个库: DDE Lib

30、rary : 动态数据交换库 TCP Library: TCP库 Active X Automation Library: Active X自动化库 DataSocket Library: DataSocket库 其它方面: ANSI C Library: 规范C 库 经过本部分的学习,他能否曾经掌握? LabWindows/CVI 程序设计步骤及程序的运转机制。 三个主要窗的根本操作。 在用户接口编辑窗中用快捷方式生成或查看回调函数,在源代码窗中用快捷方式前往到函数面板或对应控件元素等编程中所需的快捷操作。 在函数面板上声明变量,选择变量或常量,插入函数等快捷操作。 LabWindows/C

31、VI 库的构成及其在编程中适用的方向。PlotY(panelHandle,PANEL_GRAPH,datapoints,100,VAL_DOUBLE,VAL_THIN_LINE, VAL_EMPTY_SQUARE,VAL_SOLID,1,0); Datapoints:沿Y轴绘制的值; 100;Y轴点的个数; VAL_DOUBLE:Y轴数据的数据类型; VAL_THIN_LINE:绘图的风格或款式; VAL_EMPTY_SQUARE: 点的款式 VAL_SOLID:线型; 1:延续点的频率; Trace_color:曲线的颜色。 Plots an array of Y values against

温馨提示

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

评论

0/150

提交评论