LabWindowsCVI基础教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{ switch (event) { case EVENT_COMMIT:
break; } return 0; }
int CVICALLBACK ClearCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2)
if (InitCVIRTE (0, argv, 0) == 0) return ­1; /* out of memory */
if ((panelHandle = LoadPanel (0, "FirstSample.uir", PANEL)) < 0) return ­1;
DisplayPanel (panelHandle); RunUserInterface ();
第二步:完成程序的编制
产生程序代码: 现在请你让图形用户界面窗口为当前响应状态,如下图所示:
从用户图形界面窗口中选择:Code>>Generate>>All Code… 然后会显示出如下的界面:
第 15 页
znyq.jlu.edu.cn
LabWindows/CVI 基 础 教 程
请用你的鼠标点击 Select QuituserInterface Callback 中的 QuitCallk 项,确保 其前面出现一个小钩。
LabWindows/CVI 基 础 教 程
点击 OK 按扭,完成对 Panel 属性的修改。
2.修改 Graph 的属性: 在 Untitled Control 的蓝色区域中双击一下,便会弹出Graph 的一个
Edit Graph 窗,如下图所示:
第 9页
znyq.jlu.edu.cn
LabWindows/CVI 基 础 教 程
第一部分 CVI 快速入门
本部分通过编制一个简单的 LabWindows/CVI 程序,使读者对 CVI 编程环境,思想及步骤有一初 步的认识。
第 3页
znyq.jlu.edu.cn
LabWindows/CVI 基 础 教 程
第一章
初步认识 CVI 程序设计 —— 从一个例子开始
我们的第一个示例将很简单,我们所要做的是创建一个如下的图形用户
本教程面向的是那些从未使用过 LabWindows/CVI 的读者,但是假设读者以有了 C 语言的基础并且熟悉 Windows 2000/9x/NT 操作系统。在每一章节的学习中,作者都是通 过一个具体的实例让读者迅速的掌握本章的知识点;而不是长篇大论,述及边枝细叶, 反而使读者望而却步,只见树木,不见森林。
想信通过对本教程的学习,读者可迅速掌握 LabWindows/CVI 编程思想及步骤,为 读者日后进一步学习打下基础。
本书约定:
“File>>Page Setup>>Options” File 这一种黑色斜体字是指多级菜单名,按扭名,窗口名或者是关键性词汇。
“>>” 是指打开一个多级菜单或对话框。如: File>>Page Setup>>Options 是指你首先打开
也就是说:当 该按扭被点击之后,程序会调用 AcquireCallback 函数来作为 对按扭被按下这一消息的响应。
c. 将 Label 项改为 Acquire
说明:通过这种方法可以修改按扭名字,Acquire 中 A 字母前有下画线,是指可
以通过 Alt + A 即可达到按下该按扭的效果(即热键)。
File 菜单,然后选择 Page Setup 项,最后从弹出的对话框中选择 Options 项。
ຫໍສະໝຸດ Baidu
“说明:通过这种方式你可以修改 Panel 顶端所显示的名字。”
该种字体所写的文字是值得读者注意并记忆的内容。


该椭圆形框所框住的内容是读者需修改的地方。
第 2页
znyq.jlu.edu.cn
LabWindows/CVI 基 础 教 程
说明:1。当你想让你的程序的主函数为 Win Main 而不是 Main 时你可以选择
Generate WinMian( ) instead of Main( )项前的矩形框。 2.Select panels to load and display at startup 项是指你选择那一个 Panel 作为最初
装入并显示的 Panel,当你创建多个 Panel 时你就需要选择一个 Panel 作为最初显 示的面板。由于本程序只有一个 Panel 所以该 Panel 就被缺省的作为最初显示 的面板而不再需要你去选择。 3.Select QuituserInterface Callback 项是指你选择那一个函数作为退出程序的终 止函数。本程序是让 QuitCallback 作为退出函数的。
第 10 页
znyq.jlu.edu.cn
LabWindows/CVI 基 础 教 程
a. 将 Constant Name 项改为 ACQUIRE
说明:Constant Name 是程序中用来标识该控件元素的常量,在后面的编程中会用到。
b. 将 Callback Function 项改为 AcquireCallback 说明:Callback Function(回调函数)是程序中用来响应界面中的 Windows 消息,
a. 将 Label 项中的 Untitled Control 改为 ShowWave. 说明:通过这种方法可以修改 Graph 的标签名。 点击 OK 按扭,完成对 Graph 属性的修改。
3.修改 Command 按扭的属性: (1)Acquire 按扭:
双击左上方的 OK 按扭,便会弹出 Command 的一个 Edit Command 窗,如下图所示:
LabWindows/CVI 基 础 教 程
选择:File>>Save 保存 UIR 文件,命名为 FirstSample.uir。 到目前为止我们已经完成了用户界面(user interface )的设计,当程序 运行时所显示的界面就是我们刚才上图看到的那样。 下面我们要做的就是真正的程序编制工作,其实CVI 可以自动生成许多 的代码以及缺省消息的处理函数,你只需添加一些你自己所需的一些代码。
修改后的 Edit Command Button 窗应如下图所示:
第 12 页
znyq.jlu.edu.cn
LabWindows/CVI 基 础 教 程
点击 OK 按扭,完成 Command Button 属性的修改。 (3)Quit 按扭:
与以上步骤相同,双击右方的OK 按扭,弹出 Command 的一个 Edit Command 窗。 a. 将其 Constant Name 改为 QUIT b. 将 Callback Function 项改为 QuitCallback c. 将 Label 项改为 Quit
{ switch (event) { case EVENT_COMMIT:
break; } return 0; }
第 16 页
znyq.jlu.edu.cn
LabWindows/CVI 基 础 教 程
点击 OK 按扭,便会弹出如下图所示的源代码(Code)窗:
其窗中的程序代码如下所示:
#include <cvirte.h> #include <userint.h> #include "FirstSample.h" static int panelHandle; int main (int argc, char *argv[ ] ) {
b. 将 Auto­Center Vertically(when loaded)项 与 Auto­Center Horizontally (when loaded)项前的矩形框选中。 说明:当选中后,程序运行时,面板会自动居中。
修改后的 Edit Panel 应如下图所示:
第 8页
znyq.jlu.edu.cn
修改后的 Edit Command Button 窗应如下图所示:
第 11 页
znyq.jlu.edu.cn
LabWindows/CVI 基 础 教 程
点击 OK 按扭,完成对 Command Button 属性的修改。 (2)Clear 按扭:
与以上步骤相同,双击左下方的 OK 按扭,弹出 Command 的一个 Edit Command 窗。 a. 将其 Constant Name 改为 CLEAR b. 将 Callback Function 项改为 ClearCallback c. 将 Label 项改为 Clear
第 6页
znyq.jlu.edu.cn
LabWindows/CVI 基 础 教 程
点击左键后便会创建一个方形的按扭。 由于本程序总共需要三个按扭,所以按照上面的步骤再创建两个方形按
扭。从该菜单中选择:Graph>>Graph ,创建一个用于图形显示的Graph。 现在我们已经建好了用户界面所需的控件元素,请使用鼠标把它们拖到
接口文件(*.uir),CVI 会自动弹出如下所示的窗口:
第 5页
znyq.jlu.edu.cn
LabWindows/CVI 基 础 教 程
在该窗中 Untitled Panel 的灰色区域中单击鼠标右键,变会弹出一个快捷菜 单如下所示:
从该菜单中选择:Command Button>>Square Command Button
znyq.jlu.edu.cn
第 17 页
LabWindows/CVI 基 础 教 程
DiscardPanel (panelHandle); return 0; }
int CVICALLBACK AcquireCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2)
或者直接从桌面起动CVI 的快捷方式,双击桌面 National Instrument CVI 图标
当 LabWindows/CVI 打开后你就会见到如下所示的一个空的项目(Project) 窗:
第一步:创建用户界面
创建控件元素: 从 Project 窗中选择:File>>New>>User Interface(*.uir) …创建一个用户
如下图所示的位置。
修改用户界面中各控件元素的属性: 1.修改 Panel 的属性:
在 Untitled Panel 中双击一下,便会弹出 Panel 的一个 Edit Panel 窗,如 下图所示:
第 7页
znyq.jlu.edu.cn
LabWindows/CVI 基 础 教 程
a. 将 Panel Title 项中的 Untitled Panel 改为 Demo Panel. 说明:通过这种方式你可以修改 Panel 顶端所显示的名字。
LabWindows/CVI 基础教程
LabWindows/CVI 基 础 教 程


LabWindows/CVI 是 National Instruments 公司推出的一套面向测控领域的软件开 发平台。它以 ANSI C 为核心,将功能强大,使用灵活的 C 语言平台与数据采集,分析 和表达的测控专业工具有机地接和起来。它的集成化开发平台,交互式编程方法,丰富 的控件和库函数大大增强了 C 语言的功能,为熟悉 C 语言的开发人员建立检测系统,自 动测量环境,数据采集系统,过程监控系统等提供了一个理想的软件开发环境。
修改后的 Edit Command Button 窗应如下图所示:
第 13 页
znyq.jlu.edu.cn
LabWindows/CVI 基 础 教 程
点击 OK 按扭,完成 Command Button 属性的修改。 当完成以上工作后,Panel 应该如下图所示:
第 14 页
znyq.jlu.edu.cn
界面(User Interface)。
当我们按下 Acquire 按扭,计算机会自动产生一个正弦波形并画在图形 显示区中;当按下 Clear 按扭后则清除正弦波形;当按下 Quit 按扭后退出 该程序。
第 4页
znyq.jlu.edu.cn
LabWindows/CVI 基 础 教 程
现在我们就开使创建该程序。首先按下面步骤起动CVI: 开始>>程序>>National Instrument CVI>>CVI IDE
相关文档
最新文档