LabWindowsCVI基础教程
LabWindowsCVI库函数的使用

LabWindowsCVI库函数的使用LabWindows/CVI库函数的使用一、实验目的1、进一步熟悉CVI的集成开发环境2、进一步学习仪器面板中控键的使用3、学习CVI库函数使用方法4、学习用CVI库函数进行频谱分析的步骤二、实验内容1、编写一个波形显示程序,要求根据输入的幅值和周期数显示正弦波;根据输入的幅值和占空比显示方波。
2、制作一个简单仪器面板:要求有两个图形控件,用来显示图形;四个数字控件,分别用来输入正弦波幅值、周期以及方波的幅值、占空比;五个命令控件,分别用来启动程序产生正弦波、产生方波,清楚屏幕上显示的图像和退出程序。
3、利用CVI的代码生成工具生成你制作的一起面板的程序框架。
4、在用户程序中添加相应程序,运行后观察程序执行的结果。
三、程序源代码#include#include#include#include "guweiming.h"static int panelHandle;double a,b,c,d;int main (int argc, char *argv[]){if (InitCVIRTE (0, argv, 0) == 0)return -1; /* out of memory */if ((panelHandle = LoadPanel (0, "guweiming", PANEL)) < 0) return -1;DisplayPanel (panelHandle);RunUserInterface ();DiscardPanel (panelHandle);return 0;}int CVICALLBACKQINGPINGCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_COMMIT:DeleteGraphPlot (panelHandle, PANEL_GRAPH_2, -1, V AL_IMMEDIATE_DRAW);break;}return 0;}int CVICALLBACK FANGBOCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){ double wave[512] ;double phase=120,*p;p=&phaseswitch (event){case EVENT_COMMIT:SquareWave (512, c, 7.8125e-3, p, 50.0, wave);PlotWaveform (panelHandle, PANEL_GRAPH, wave, 512,V AL_DOUBLE, 1.0, 0.0, 0.0, d, V AL_THIN_LINE, VAL_EMPTY_SQUARE, V AL_SOLID, 1, V AL_RED);break;}return 0;}int CVICALLBACK QINGPING2Callback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_COMMIT:DeleteGraphPlot (panelHandle, PANEL_GRAPH, -1, V AL_IMMEDIATE_DRAW);break;}return 0;}int CVICALLBACK TUICHUCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_COMMIT:QuitUserInterface (0);break;}return 0;}int CVICALLBACK FTCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_COMMIT:GetCtrlVal (panelHandle, PANEL_FT, &a);break;return 0;}int CVICALLBACK ZQCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_COMMIT:GetCtrlVal (panelHandle, PANEL_ZQ, &b);break;}return 0;}int CVICALLBACK FZCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){switch (event)case EVENT_COMMIT:GetCtrlVal (panelHandle, PANEL_FZ, &c);break;}return 0;}int CVICALLBACK ZKBCallback (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) {switch (event){case EVENT_COMMIT:GetCtrlVal (panelHandle, PANEL_ZKB, &d);break;}return 0;}int CVICALLBACK ZHENGXIANBOCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){ double Waves[512] ;switch (event){case EVENT_COMMIT:SinePattern (512, a, 0.0, b, Waves);PlotWaveform (panelHandle, PANEL_GRAPH_2, Waves, 512, V AL_DOUBLE, 1.0, 0.0, 0.0, 1.0, V AL_THIN_LINE, V AL_EMPTY_SQUARE, V AL_SOLID, 1, V AL_RED);break;}return 0;}四、思考题1.简述Panel Handle 和Control ID 参数的作用;答:Panel Handle 这一参数由LoadPanel 库函数设置,存入的是已存储的面板文件这一对象。
[labwindows cvi教程]LabWindows试用版入门指南
![[labwindows cvi教程]LabWindows试用版入门指南](https://img.taocdn.com/s3/m/9294a4f3910ef12d2af9e721.png)
[labwindows cvi教程]LabWindows™/CVI™试用版入门指南最低系统要求想运行LabWindows/CVI,须具备以下配置:∙采用Pentium 1 GHz或更高性能微处理器的个人计算∙Microsoft操作系统:o Windows 7 (32位和64位)o Windows Vista (32位和64位)o Windows XP (32位)o Windows Server 2008 R2 (64位)o Windows Server 2003 R2 (32位)注:LabWindows/CVI仅支持Windows Server R2版本。
∙1024 × 768分辨率(或者更高) 视频适配器∙至少128 MB RAM, 推荐采用512 MB∙ 1.1 GB可用硬盘空间适合完整安装∙兼容Microsoft的鼠标安装指南完成下列步骤,从而安装LabWindows/CVI试用版软件包:1. 下载源自 的LabWindows/CVI试用版软件包并依照屏幕指南解压缩文件2. 解压缩文件后,安装自动开始,同时NI LabWindows/CVI窗口出现。
单击安装LabWindows/CVI 版本,其中的版本是您在试用的LabWindows/CVI版本3. 单击下一步4. 在用户信息面板上,选择安装NI LabWindows/CVI 版本试用版-不需要序列号5. 根据屏幕上的指示操作6. 安装LabWindows/CVI后,LabWindows/CVI安装程序提示您插入NI设备驱动盘。
评估LabWindows/CVI,无需通过安装设备驱动程序。
单击稍后安装(Later),完成LabWindows/CVI的安装。
LabWindows/CVI试用版在下载后,可安装LabWindows/CVI试用版软件包;该试用版软件包能在之后作为具有许可证的LabWindows/CVI版本被激活。
当您在试用期内启用LabWindows/CVI或是您购买合法许可证前,LabWindows/CVI会展现下图中出现的对话框。
LabWindowsCVI教程(1)PPT课件

LabWindows/CVI
19.08.2020
4/18
2. LabWindows/CVI的历史
19.08.2020
5/18
3. LabWindows/CVI的特点
(1)针对测试测量领域的ANSI C语言开发环境
C compiler for Virtual Instruments (CVI)
变量命名 程序的格式和注释 复杂的程序要事先规划设计
19.08.2020
7/18
4. 程序结构
测控软件一般包括:用户界面、程序控制、数 据采集和数据分析4部分
19.08.2020
8/18
5. 开发环境
(1)主要窗口
LabWindows/CVI开发环境的三个主要窗口是工程窗口 (.prj)、源代码窗口(.c)和用户界面编辑器窗口(.uir)。
19.08.2020
15/18
LabWindows/CVI的函数库
19.08.2020
16/18
(4)交互式代码生成 C文件中生成程序结构:Main, Switch, If, For Loop… … UIR文件中生成代码框架: Main Function, Callback Functions (panel, control, menu) 函数面板中函数的自动插入
20/18
C源代码文件
.uir 用户界面资源文件
.h
用户界面资源头文件
.lib 外部静态库模块文件
.obj 目标文件
.h
外部模块头文件
.dll 动态链接库文件
.lib 动态链接库导入库文件
.fp 函数库(函数数和函数面板)文件
19.08.2020
LabWindows CVI实时模块入门指南说明书

October 2008374686A-01Getting Started with theLabWindows /CVIReal-Time ModuleThis document provides an introduction to the LabWindows ™/CVI ™ Real-Time Module. Refer to this document for installation and configuration instructions and information about creating a real-time (RT) project.Installing the Real-Time Module Software on a Host ComputerYou must first install the Real-Time Module software on a host computer. Then you can configure and install software on the RT target.To install and use the Real-Time Module software, you must have the following:•Free Disk Space —In addition to the minimum system requirements for LabWindows/CVI, you must have at least 250 MB of free disk space for the Real-Time Module software. Refer to the LabWindows/CVI Release Notes for minimum system requirements.•RT Target —The LabWindows/CVI Real-Time Module supports NI RT Series PXI controllers and desktop PCs converted to RT targets. Refer to the Using Desktop PCs as RT Targets with the LabWindows/CVI Real-Time Module document for more information about converting a desktop computer to an RT target.Complete the following steps to install the LabWindows/CVI Real-Time Module on a host computer.1.Install LabWindows/CVI. Refer to the LabWindows/CVI Release Notes for information about installing LabWindows/CVI.Note Do not install the device driver software when you are prompted to do so during the LabWindows/CVI installation. Instead, install the device driver software when you are prompted during the LabWindows/CVI Real-Time Module installation.™™2.Insert the LabWindows/CVI Real-Time Module CD into the CD drive. Ifthe CD does not run automatically, open Windows Explorer, right-click the CD drive icon, and select AutoPlay.3.Select Install LabWindows/CVI Real-Time Module on the NationalInstruments LabWindows/CVI screen.4.Follow the instructions on the screen.5.During the installation, use the NI Device Drivers media to install thedevice drivers that you need.Configuring the RT TargetAfter you install LabWindows/CVI and the RT module, you must useNI Measurement & Automation Explorer (MAX) to configure the RT target and to install software and drivers on the RT target. MAX provides access to NI devices and systems and can communicate with networked RT targets, or remote systems, located on the same subnet as the computer running MAX. Complete the following steps to configure the RT target. The following sections describe these steps in more detail.1.Boot the RT target into LabVIEW RT.2.Configure network settings.3.Install software on the RT target.4.Configure system settings.5.Configure I/O.Refer to the Measurement & Automation Explorer Help for a complete tutorial about configuring the RT target. Select Help»MAX Help to access this help file, and then refer to the MAX Remote Systems Help section.LabVIEW Real-Time Module. However, you can apply the sameconcepts when you use the LabWindows/CVI Real-Time Module. Booting the RT Target into LabVIEW RTIf the RT target has only LabVIEW RT installed on its hard drive, the system is already set up to boot into LabVIEW RT, and you can continue to the Installing Software on the RT Target section of this document. If the RT target has LabVIEW RT and Windows installed on its hard drive, your system may have DIP switches or BIOS settings for booting into LabVIEW RT.If the RT target is a PXI system that does not have LabVIEW RT installedand has a floppy disk drive, you can create a boot disk to boot the system intoLabVIEW RT.Getting Started with LabWindows/CVI © National Instruments Corporation 3Getting Started with LabWindows/CVI Real-Time 1.Select Tools»RT Disk Utilities»Create PXI Boot Disk in MAX tocreate a boot disk from the host computer.2.Click Yes in the Measurement & Automation Explorer dialog box andfollow the instructions on the screen to create the boot disk.3.When you finish creating the boot disk, remove the floppy disk from thehost computer and insert it into the floppy drive of the PXI controller you are using as an RT target.4.Power on or reset the controller to boot it into LabVIEW RT.If you are converting a desktop computer to an RT target, refer to the Using Desktop PCs as RT Targets with the LabWindows/CVI Real-Time Module document for information about booting into LabVIEW RT.Configuring Network SettingsNoteTo perform the initial configuration, you must connectunconfigured RT targets to the same network subnet as the host computer from which you launch MAX. Unconfigured targets outside of the subnet do not appear under the Remote Systems item in the MAX configuration tree.1.Connect the RT target to the network and power on the target.unch MAX and expand the Remote Systems item in the MAXconfiguration tree.3.Select the RT target from the Remote Systems item and click theNetwork Settings tab. The RT target appears as 0.0.0.0 under the Remote Systems item.4.Assign an IP address in the Network Settings tab using one of thefollowing options:•Select the Edit the IP settings option and specify an IP address.You also can click Suggest Values to select an IP address suggested by MAX.•Select Obtain IP address from DHCP server to obtain an addressautomatically.5.Click Apply to commit the changes.6.Click Yes to reboot the RT target.If your previously configured RT target is on another subnet and does not appear under the Remote Systems item, you must add the target manually. Complete the following steps to add the RT target:1.Right-click the Remote Systems item and select Create New .2.Select the target type and click Next.Getting Started with LabWindows/CVI Real-Time 3.Enter the host name or IP address of the device. You can obtain the hostname or IP address of the RT target by running MAX from a computer on the same subnet as the target or by connecting a monitor to the target and viewing the information displayed when the target boots.4.Click Finish . MAX adds the device to the Remote Systems list.Installing Software on the RT TargetUse the LabVIEW Real-Time Software Wizard to install software on the RT target. With the LabVIEW Real-Time Software Wizard, you can view the software that is already installed on the target, view the software that is available to install on the target, and change the software that is installed on the target. Click Help in the wizard for more information about installing and uninstalling software on the RT target.1.Expand the RT target under the Remote Systems item in the MAXconfiguration tree, right-click Software , and select Add/Remove Software .2.Select the software you want to install on the RT target.Note If you have multiple software versions installed on the host computer, the most recent version is selected by default. You can choose to install another version.•Ethernet Drivers —MAX automatically selects the appropriate Ethernet driver(s) for the RT target when you install theLabWindows/CVI Run-Time Engine for RT component.•LabVIEW Real Time —MAX selects this item automatically when you install the LabWindows/CVI Run-Time Engine for RTcomponent.•NI RT Extensions for SMP (MultiCore Support)—Install this item to take advantage of parallel processing on a multiple-CPU system.Note Single-CPU systems perform best without the NI RTExtensions for SMP . Also, some applications, such as those that consist mainly of single-point I/O, can achieve lower latency on a multicore system by using a single CPU without the NI RTExtensions for SMP .•LabWindows/CVI Network Variable for RT —Install this item only if your application uses functions from the Network VariableLibrary.•LabWindows/CVI Run-Time Engine for RT—Install this item to add support for LabWindows/CVI RT applications on the RT target.This component is required for all LabWindows/CVI RTapplications.•Language Support for LabVIEW RT—Install this item if you are using strings in your RT application containing ASCII charactersabove 127 or multibyte characters. After installing this item on theRT target, you can configure the locale in MAX by selecting thetarget in the Remote Systems item in the MAX configuration tree,selecting the System Settings tab, and modifying the Locale option.•NI Hardware Drivers—Install the appropriate drivers for any other hardware libraries that you use in your application. For example,install the NI-DAQmx component if your application uses functionsfrom the NI-DAQmx Library.•Network Variable Engine—MAX automatically selects this item when you install the LabWindows/CVI Network Variable for RTcomponent.•USB Support—Install this item to enable support for accessing USB thumbdrives.•Variable Client Support for LabVIEW RT—MAX automatically selects this item when you install the LabWindows/CVI NetworkVariable for RT component.Configuring System Settings1.Select the System Settings tab to configure system-level settings for theRT target.e the Timezone option to configure time zone and daylight savingsettings for the RT target. You can use this setting with time and date functions to provide accurate time information, relative to the time zone setting.3.Configure the Locale option to match the language you use for strings inyour RT application. This option is available only when you install the Language Support for LabVIEW RT component on the RT target.This option determines the code page that LabWindows/CVI uses when processing strings containing ASCII characters above 127 or multibyte characters.Configuring I/OYou must configure any National Instruments I/O devices before you can target them from a LabWindows/CVI RT application. For information about how to correctly configure I/O devices, refer to the documentation for that hardware.© National Instruments Corporation5Getting Started with LabWindows/CVI Real-TimeConfiguring an RT ProjectAfter you configure the RT target, you can create an RT application on the host computer and then run the application on an RT target. The applications that you create with the LabWindows/CVI Real-Time Module are DLLs. Complete the following steps to create a DLL and specify an RT target directly from LabWindows/CVI.1.Create a project in LabWindows/CVI using RTmain instead of main asthe entry point function for the program. Select Edit»Insert Construct»RTmain to insert the RTmain code into the program source.2.Select Build»Configuration»Debug or Build»Configuration»Releaseto specify the active configuration for the project.3.Select Build»Target Type»Dynamic Link Library to configure theproject to generate a DLL.4.Select Build»Target Settings to open the Target Settings dialog box.Select Real-time only in the Run-time support option. If you specify this option, LabWindows/CVI does not link to the entire set ofLabWindows/CVI libraries but instead links to only those librariessupported on an RT system.5.Configure other options in the Target Settings dialog box and click OKto exit the dialog box.6.Select Build»Create Debuggable Dynamic Link Library or Build»Create Release Dynamic Link Library to create the DLL.You also can use a project template to create an RT DLL. The project template includes basic settings for RT projects described in the preceding section. To select a project template, select File»New»Project from Template. In the New Project from Template dialog box, select Real-Time Target Application.Specifying an RT TargetComplete the following steps to select the RT target on which to run your RT application.1.Select Run»Select Execution Target for Debugging to view a list ofpreviously configured RT targets. Select the RT target you want to use from the list, if it is available.2.To configure a new RT target, select Run»Select Execution Target forDebugging»New Execution Target.3.In the New Real-Time Execution Target dialog box, enter the computername or IP address of the RT target in the Hostname/IP Address option and click OK to exit the dialog box.Getting Started with LabWindows/CVI © National Instruments Corporation 7Getting Started with LabWindows/CVI Real-Time Running an RT ApplicationSelect Run»Debug Project to run your RT application.NoteIf you select Run»Configuration»Release ,LabWindows/CVI displays a warning message. Click Continue to download and run the release DLL on the RT target. LabWindows/CVI automatically builds the DLL and downloads the DLL and any DLLs that are statically linked to it onto the specified RT target. LabWindows/CVI places the files that it automatically downloads in the NI-RT\CVI\temp folder. LabWindows/CVI empties the folder when you reset the RT device.While you run your RT application, LabWindows/CVI displays a <<Running on target >> menu in the upper left corner of theLabWindows/CVI environment. The menu contains the following options, which you can use for debugging and for shutting down the RT application:•Toggle Breakpoint —Turn on or turn off a breakpoint on the selected line.•Break Execution —Suspend execution of the program.•Simulate RT Shutting Down —End program execution. This option causes the RTIsShuttingDown function to return 1, giving the RT application an opportunity to run any necessary cleanup code and exit. The RT target does not reboot.•Abort Execution and Reboot Target —End program execution and reboot the RT target. The application cleanup code is not guaranteed to finish running before the RT target reboots.•Disconnect from RT target —Disconnect LabWindows/CVI from the RT target while the RT application continues running on the target. Once you disconnect from the RT target, you cannot reconnect LabWindows/CVI to the RT application that is running.Debugging an RT ApplicationIf you select Build»Configuration»Debug , you can debug the DLL from the LabWindows/CVI environment as you would debug any other application. For example, you can set breakpoints and watch expressions, step through code, view and edit variable values, and so on. For more information about debugging in LabWindows/CVI, refer to the Using LabWindows/CVI»Debugging Tools section of the LabWindows/CVI Help.Using the Real-Time Execution Trace ToolkitThis version of the LabWindows/CVI Real-Time Module includes a 30-day full-featured evaluation of the Real-Time Execution Trace Toolkit.Use the Real-Time Execution Trace Toolkit to analyze the timing and execution of an RT application. Use the Execution Trace functions in the Real-Time Utility Library to capture the timing and execution data of functions and threads in applications running on an RT target. The Real-Time Execution Trace Tool displays the timing and event data, or trace session, on the host computer.In LabWindows/CVI, select Tools»Real-Time Execution Trace Tool to launch the Real-Time Execution Trace Tool. Refer to the LabWindows/CVI Help for more information about using the Real-Time Execution Trace Toolkit to analyze RT applications.Deploying an RT ApplicationWhen you finish developing your RT application, you can deploy it to an RT target. After you deploy the RT application, the RT application runs automatically every time the RT target reboots.Select Run»Install Program to Real-Time Execution Target to deploy your RT application. This option performs the following actions:•Checks that the release configuration of the DLL has been built; if not, LabWindows/CVI prompts you to build the DLL or cancel.•Deploys the release DLL and any statically linked DLLs to the NI-RT\CVI folder on the RT target.•Sets the release DLL as a startup DLL.•Displays a dialog box indicating that the DLL was copied and prompting you to reboot the RT target.If you have additional support files that you need to deploy, complete the following steps:1.Select Run»Manage Files on Real-Time Execution Target to launchthe LabWindows/CVI Real-Time File Copy Utility.2.Click Add Files and browse to any support files that your applicationrequires. The utility immediately copies the files to the NI-RT\CVIfolder on the RT target.3.Click Done when you finish adding support files.Getting Started with LabWindows/CVI Where to Go from HereRefer to the following resources for more information about the LabWindows/CVI Real-Time Module:•The LabWindows/CVI Real-Time Module Help section of the LabWindows/CVI Help includes conceptual information about real-time programming techniques, application architectures, and Real-TimeModule software features you can use to create real-time applications.Select Help»Contents in LabWindows/CVI to access theLabWindows/CVI Help.•Use the NI Example Finder, available by selecting Help»Find Examples in LabWindows/CVI, to browse or search for example programs. You also can access the example programs from the samples\CVIsamples\realtime directory.© National Instruments Corporation9Getting Started with LabWindows/CVI Real-TimeNational Instruments, NI, , and LabVIEW are trademarks of National Instruments Corporation. Refer to the Terms of Use section on /legal for more information about National Instruments trademarks. The mark LabWindows is used under a license from Microsoft Corporation. Windows is a registered trademark of Microsoft Corporation in the United States and other countries. Reliance™ is a trademark of Datalight, Inc. Copyright 1989-2008 Datalight, Inc., All Rights Reserved. Datalight® is a registered trademark of Datalight, Inc. Other product and company names mentioned herein are trademarks or trade names of their respective companies. For patents covering National Instruments products/technology, refer to the appropriate location: Help»Patents in your software, the patents.txt file on your media, or the National Instruments Patent Notice at /patents.© 2007–2008 National Instruments Corp. All rights reserved.374686B-01Oct08。
labwindows-CVI-教程

l a b w i n d o w s-C V I-教程本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.MarchLabWindows/CVI基础教程序言LabWindows/CVI是National Instruments公司推出的一套面向测控领域的软件开发平台。
它以ANSI C为核心,将功能强大,使用灵活的C语言平台与数据采集,分析和表达的测控专业工具有机地接和起来。
它的集成化开发平台,交互式编程方法,丰富的控件和库函数大大增强了C语言的功能,为熟悉C语言的开发人员建立检测系统,自动测量环境,数据采集系统,过程监控系统等提供了一个理想的软件开发环境。
本教程面向的是那些从未使用过LabWindows/CVI的读者,但是假设读者以有了C语言的基础并且熟悉Windows 2000/9x/NT操作系统。
在每一章节的学习中,作者都是通过一个具体的实例让读者迅速的掌握本章的知识点;而不是长篇大论,述及边枝细叶,反而使读者望而却步,只见树木,不见森林。
想信通过对本教程的学习,读者可迅速掌握LabWindows/CVI编程思想及步骤,为读者日后进一步学习打下基础。
本书约定:“File>>Page Setup>>Options”File 这一种黑色斜体字是指多级菜单名,按扭名,窗口名或者是关键性词汇。
“>>”是指打开一个多级菜单或对话框。
如:File>>Page Setup>>Options是指你首先打开File 菜单,然后选择Page Setup项,最后从弹出的对话框中选择Options 项。
“说明:通过这种方式你可以修改Panel顶端所显示的名字。
”该种字体所写的文字是值得读者注意并记忆的内容。
“该椭圆形框所框住的内容是读者需修改的地方。
第一部分 CVI快速入门本部分通过编制一个简单的LabWindows/CVI程序,使读者对CVI编程环境,思想及步骤有一初步的认识。
LabWindows CVI教程

第一章 : LabWindows/CVI1.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 语言库。
图 1‐1 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 面板的设计,准备了许多专业控件,如:曲线图控件、带状图控件、表头、旋钮和指示灯等,以适应测控系统软件开发的需求,利用这些控件可以设计出专业的测控程序界面。
LabwindowsCVI8.5安装步骤详解
Labwindows/CVI8.5 安装详解
1、双击安装文件中setup.exe文件,填写基本信息。
图1 填写基本信息
安装过程中需填写一个序列号,此时运行ViewFile文件夹下的keygen文件,点击Generate产生一个序列号,同时需点击Create license file创建一个license 文件(注意该lic文件必须保存在英文路径下,如保存在C:\\1.lic),如图2、图3。
图2 产生一个序列号图3 产生一个lic文件
2、将图2产生的序列号copy到图1 seiral Number处,点击下一步。
图4 修改安装路径,也可不修改,默认安装C盘
继续点下一步,选择接受条款,即可安装
图5 接受,一直点下一步
图6 安装进行中,等待下一步提示3、安装过程中,有以下提示,选择Later
图7
图8 将Activate 前面的勾去掉,稍后用lic激活
4、接下来重启计算机,运行license manager-即NI许可证管理器(位置在:开始->程序->national instruments->NI license manager)。
按提示使用由图3生成的.lic 文件即可。
图9
进入管理界面,选项-安装许可证文件,选择刚刚生成的1.lic文件,即可。
图10
5、安装完毕,打开NI CVI软件,如下:
图11
至此,若不提示剩余试用天数,表示Labwindows/CVI8.5 已成功安装至计算机,接下来请尽情享受该款强大软件带给你的开发快感吧。
CVI驱动程序编写入门
CVI驱动程序编写入门仪器驱动程序有一个VPP规范(VXI即插即用),这个VPP规范中介绍仪器驱动的架构,使用的接口及前面板规范,函数原形规范等等。
看过这个规范的朋友可能知道,VPP就是对CVI开发仪器驱动的规范。
在开始编写驱动之前,请先安装NI-Visa、labwindows8.0下面介绍如何用CVI编写仪器驱动•生成仪器驱动程序工程文件(.prj)•设计函数树和函数面板(.fp, .c, .h)•完成驱动程序每个函数的代码(.c)•编译调试,生成动态链接库1 新建工程文件双击labWindows/CVI程序文件,打开CVI。
在“File”下拉菜单中选择“New”,再选择“Project”创建工程,弹出如图1-1对话框图1-1 创建工程在对话框中有两个单选项,前一个指在当前工作区创建工程,后一个指新建一个工作区创建工程。
通常选则后一个,这样在一个工作区对应一个工程,简单明了。
其他保持默认。
单击确定,创建工程完成。
2 设计函数树和函数面板这是最关键的一步,创建.fp、.c、.h等文件是仪器驱动中必不可少的文件,其中.fp 是仪器驱动的核心。
先介绍.fp创建过程。
在“File”下拉菜单中选择“New”,再选“Function Tree”,如图1-2图1-2 创建fp文件在右边白色区域,单击右键并点击”create Instrument”,弹出如下对话框,如图1-3图1-3 仪器节点“Name”指当前函数树的名字,”prefix”指函数名的前趋,在后面创建的.h文件中每一个函数名以zyosc开头,后面再跟实际函数名。
填写完后单击ok,如图1-4图1-4 函数树创建蓝色阴影部分的有这样的提示“create class or function panel window”,意思是在此可以创建类和函数前面板。
这里的类指用户如何划分函数,根据用户的需要将某些函数规为一类。
通常情况我们将错误消息、错误查询、复位,自检和版本查询等函数规为通用函数,具体操作硬件的部分的函数规为功能函数。
LabWindows-CVI安装教程
1.启动setup.exe.
2.打开LabWindows-CVI 9-0 Evaluation\Crack下keygen.exe。
点击Generate,随后copy生成
的serial number到上图对应的位置。
最后点击Create license file,将生成的文件保存到你知道的位置。
(此处默认文件名为1.lic,后续有用)
3.接下来选择文件的安装位置。
(安装路径上不要有中文),点击Next。
4.再次选择安装路径。
点Next。
5.之后会出现软件安装接受协议。
一直点击Next即可。
(因为我电脑里面已经安装,不会
出现后续的画面,所以没有图片展示)最终安装开始。
6.安装完成后,点击Finish,出现安装完成的祝贺信息。
7.点击Next,在出现的方面中选择重新启动Restart。
完成安装过程。
8.重启电脑后,选择National Instruments下的NI License Manager。
9.在选项中点击安装许可证文件。
然后找到1.lic文件。
软件激活完成。
LabWindows原创教程
LabWindows原创教程[原创教程]labwindows/cvi入门之第一章:labwindows/cvi开发环境(2022-03-2621:09:09)转载标签:杂项谈话1.1labwindows/cvi1.1.1labwindows/cvi概述LabWindows/CVI是美国Ni(National Instruments)公司为计算机测量和控制领域开发的虚拟仪器软件开发平台。
它可以在多种操作系统(Windows XP/Vista/7、MacOS和Unix)下运行。
labwindows/cvi是为c语言程序员提供的集成开发环境(ide),在此开发环境中可以利用c语言及其提供的库函数来实现程序的设计、编辑、编译、链接、调试。
使用labwindows/cvi可以完成以下但不限于以下工作:交互式的程序开发;它有一个强大的函数库,用于创建数据采集和仪器控制的应用程序;充分利用完整的软件工具进行数据采集、分析和显示;使用向导开发IVI仪器驱动程序,创建ActiveX服务器;为其他程序开发C对象模块、动态链接库(DLL)和C语言库。
图1?1labwindows/cvi界面LabWindows/CVI功能强大,因为它提供了丰富的函数库。
利用这些库函数不仅可以实现常规的程序设计,还可以实现更复杂的数据采集和仪器控制系统的开发。
数据采集。
ivi库、gpib/gpib488.2库、ni-daqmx库、传统的ni-daq库、rs-232库、visa库、vxi库以及ni-can库。
数据分析。
格式化IO库、分析库和可选的高级分析库。
gui库。
使用labwindows/cvi的用户界面编辑器可以创建并编辑图形用户界面(gui),而使用labwindows/cvi的用户界面库函数可以在程序中创建并控制gui。
此外,LabWindows/CVI为GUI面板的设计准备了许多专业控件,如曲线控件、条带控件、仪表、旋钮和指示灯,以满足测控系统软件开发的需要。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
序言LabWindows/CVI是National Instruments公司推出的一套面向测控领域的软件开发平台.它以ANSI C为核心,将功能强大,使用灵活的C语言平台与数据采集,分析和表达的测控专业工具有机地接和起来.它的集成化开发平台,交互式编程方法,丰富的控件和库函数大大增强了C 语言的功能,为熟悉C语言的开发人员建立检测系统,自动测量环境,数据采集系统,过程监控系统等提供了一个理想的软件开发环境.本教程面向的是那些从未使用过LabWindows/CVI的读者,但是假设读者以有了C语言的基础并且熟悉Windows 2000/9x/NT操作系统.在每一章节的学习中,作者都是通过一个具体的实例让读者迅速的掌握本章的知识点;而不是长篇大论,述及边枝细叶,反而使读者望而却步,只见树木,不见森林.想信通过对本教程的学习,读者可迅速掌握LabWindows/CVI编程思想及步骤,为读者日后进一步学习打下基础.本书约定:"File>>Page Setup>>Options"File 这一种黑色斜体字是指多级菜单名,按扭名,窗口名或者是关键性词汇.">>"是指打开一个多级菜单或对话框.如:File>>Page Setup>>Options是指你首先打开File 菜单,然后选择Page Setup项,最后从弹出的对话框中选择Options项."说明:通过这种方式你可以修改Panel 顶端所显示的名字."该种字体所写的文字是值得读者注意并记忆的内容." "该椭圆形框所框住的内容是读者需修改的地方.第一部分 CVI快速入门本部分通过编制一个简单的LabWindows/CVI程序,使读者对CVI编程环境,思想及步骤有一初步的认识.第一章初步认识CVI程序设计——从一个例子开始我们的第一个示例将很简单,我们所要做的是创建一个如下的图形用户界面(User Interface). 当我们按下Acquire按扭,计算机会自动产生一个正弦波形并画在图形显示区中;当按下Clear 按扭后则清除正弦波形;当按下Quit按扭后退出该程序.现在我们就开使创建该程序.首先按下面步骤起动CVI:开始>>程序>>National Instrument CVI>>CVI IDE或者直接从桌面起动CVI 的快捷方式,双击桌面National Instrument CVI 图标当LabWindows/CVI打开后你就会见到如下所示的一个空的项目(Project)窗:第一步:创建用户界面创建控件元素:从Project窗中选择:File>>New>>User Interface(*.uir)…创建一个用户接口文件(*.uir),CVI会自动弹出如下所示的窗口:在该窗中Untitled Panel 的灰色区域中单击鼠标右键,变会弹出一个快捷菜单如下所示:从该菜单中选择:Command Button>>Square Command Button点击左键后便会创建一个方形的按扭.由于本程序总共需要三个按扭,所以按照上面的步骤再创建两个方形按扭.从该菜单中选择:Graph>>Graph ,创建一个用于图形显示的Graph.现在我们已经建好了用户界面所需的控件元素,请使用鼠标把它们拖到如下图所示的位置. 修改用户界面中各控件元素的属性:修改Panel的属性:在Untitled Panel中双击一下,便会弹出Panel的一个Edit Panel窗,如下图所示:将Panel Title项中的Untitled Panel 改为 Demo Panel.说明:通过这种方式你可以修改Panel 顶端所显示的名字.将Auto-Center Vertically(when loaded)项与Auto-Center Horizontally(when loaded)项前的矩形框选中.说明:当选中后,程序运行时,面板会自动居中.修改后的Edit Panel 应如下图所示:点击OK按扭,完成对Panel属性的修改.修改Graph的属性:在Untitled Control的蓝色区域中双击一下,便会弹出Graph的一个Edit Graph窗,如下图所示:将Label项中的Untitled Control改为ShowWave.说明:通过这种方法可以修改Graph的标签名.点击OK按扭,完成对Graph属性的修改.3.修改Command按扭的属性:(1)Acquire 按扭:双击左上方的OK按扭,便会弹出Command的一个Edit Command窗,如下图所示:将Constant Name项改为ACQUIRE说明:Constant Name是程序中用来标识该控件元素的常量,在后面的编程中会用到.将Callback Function项改为AcquireCallback说明:Callback Function(回调函数)是程序中用来响应界面中的Windows消息,也就是说:当该按扭被点击之后,程序会调用AcquireCallback函数来作为对按扭被按下这一消息的响应.将Label项改为 Acquire说明:通过这种方法可以修改按扭名字,Acquire中A字母前有下画线,是指可以通过 Alt + A即可达到按下该按扭的效果(即热键).修改后的Edit Command Button窗应如下图所示:点击OK按扭,完成对Command Button属性的修改.(2)Clear 按扭:与以上步骤相同,双击左下方的OK按扭,弹出Command的一个Edit Command窗.将其Constant Name改为CLEAR将Callback Function项改为ClearCallback将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应该如下图所示:选择:File>>Save 保存UIR文件,命名为FirstSample.uir.到目前为止我们已经完成了用户界面(user interface)的设计,当程序运行时所显示的界面就是我们刚才上图看到的那样.下面我们要做的就是真正的程序编制工作,其实CVI可以自动生成许多的代码以及缺省消息的处理函数,你只需添加一些你自己所需的一些代码.第二步:完成程序的编制产生程序代码:现在请你让图形用户界面窗口为当前响应状态,如下图所示:从用户图形界面窗口中选择:Code>>Generate>>All Code…然后会显示出如下的界面:请用你的鼠标点击Select QuituserInterface Callback 中的QuitCallk项,确保其前面出现一个小钩.说明: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作为退出函数的.点击OK按扭,便会弹出如下图所示的源代码(Code)窗:其窗中的程序代码如下所示:#include#include#include "FirstSample.h"static int panelHandle;int main (int argc, char *argv[ ] ){if (InitCVIRTE (0, argv, 0) == 0)return -1; /* out of memory */if ((panelHandle = LoadPanel (0, "FirstSample.uir", PANEL)) >Advanced Analysis…在弹出的对话框中选择:Signal Generation>>Sine Pattern便会弹出如下图所示的一个函数面板:请在Number of Elements项中填上512;把Number of Cycles 项改为3;Sine Pattern 项中填上用来装正弦信号的数组Wave,由于Wave是一个数组变量,故我门需要声明该变量:选择Code>>Declare Variable会弹出一个如下图所示的对话框:请在Number of Elements 项中填上512,并选择了最下面的矩形框,然后点击OK按扭完成.返回到函数面板后,选择Code>>Insert Function Call完成函数的插入,这时Code 窗中的AcquireCallback( )函数应如下所示:int CVICALLBACK AcquireCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){double Wave[512];switch (event){case EVENT_COMMIT:SinePattern (512, 1.0, 0.0, 3.0, Wave);|break;}return 0;}我们已经的得到了正弦信号,现在需要将该信号画到Graph上去:1).请将鼠标放在SinePattern( )函数下面的空白行上,如上面所示那样.. 请选择:Library>>User Interface在弹出的对话框中选择:Controls/Graph/Strip Chart>>Graph and Strip Chart>>Graph Plotting and Deleting>>Plot Wavefo rm把函数面板中的对应各项填写成如下所示:PanelHandle: panelHandeleControl ID : PANEL_GRAPHY Array: WaveNumber of Points: 512选择Code>>Insert Function Call完成函数的插入,这时Code 窗中的AcquireCallback( )函数应如下所示:CVICALLBACK AcquireCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){double Wave[512];switch (event){case EVENT_COMMIT:SinePattern (512, 1.0, 0.0, 3.0, Wave);PlotWaveform (panelHandle, PANEL_GRAPH, Wave, 512, V AL_DOUBLE, 1.0,0.0, 0.0, 1.0, V AL_THIN_LINE, V AL_EMPTY_SQUARE,V AL_SOLID, 1, V AL_RED);break;}return 0;到现在为止我们已经完成了AcquireCallback( )函数的的程序代码.添加ClearCallback( )函数的程序代码:ClearCallback( )函数完成以下功能:当Clear按扭按下后,计算机会清除Graph上所画的正弦图形.现在请将鼠标放在ClearCallback( )函数Event_Commit:下面的空白行上,如下图所示:请选择:Library>>User Interface在弹出的对话框中选择:Control/Graph/Strip Chart>>Graph and Strip Chart>>Graph Plotting and Deleting>>Delete Graph Plot把函数面板中的对应各项填写成如下所示:PanelHandle: panelHandeleControl ID : PANEL_GRAPHPlotHandle: -1选择Code>>Insert Function Call完成函数的插入,这时Code 窗中的ClearCallback( )函数应如下所示:int CVICALLBACK ClearCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_COMMIT:DeleteGraphPlot (panelHandle, PANEL_GRAPH, -1, V AL_IMMEDIATE_DRAW);break;}return 0;}到目前为止我们已经完成了程序的编制任务.这一个看起来不算简单的程序,我们编起来并没有写多少源代码,这正是体现了LabWindows/CVI的强大功能所在.第四步运行程序完成项目文件现在请你让源代码(Code)窗为当前响应状态,选择:Run>>Debug FirstSample_dbg.exe便会弹出一个对话框,询问你是否在编译前为该文件命名并添加到工程文件中去.点击yes按扭,把该文件命名为FirstSample.c.然后计算机询问你是否把 "analysis.h"包含到FirstSample.c 中去(因为,我们的程序中用到了高级分析库),点击yes按扭,同意该选项.运行后的程序正如我们预期要求的那样.退出程序后,从源代码(Code)窗中选择: Window>>Project现在项目 (Project)窗为当前响应状态,请选择:Edit>>Add Files to Project…>>All Files(*.*)便会弹出如下图所示的对话框:请你按住键,点击FirstSample.h ,FirstSample.c ,FirstSample.uir.然后点击Add按扭把这些文件方到Selected Files框中.点击OK按扭,把以上文件添加到工程文件中去.至此为止我们已经完成了第一个程序的编制工作,想必大家对LabWindows/CVI编程已经有了一个初步的了解,头脑里已建起程序编制的基本框架.通过本部分的学习,你是否已经掌握LabWindows/CVI 程序编制的基本步骤.简单的用户图形界面(*.uir)的创建.能使用函数面板完成函数的插入,构建源代码程序.项目工程文件的基本构成.第二部分 CVI环境下程序设计通过编制第一章的FirstSample程序,读者已对LabWindows/CVI编程有一定了解.本部分就是在第一部分的基础上进一步讲述LabWindows/CVI程序设计及其编程环境等细节问题.这一章所讲内容请大家都务必动手实际操作一下,只有这样才能使你真正的掌握本章的内容.看完本章后请大家结合第一章把FirstSample重新编制一遍,以巩固本章所讲的加速LabWindows/CVI编程的技巧.第二章 LabWindows/CVI 程序剖析通过例程FirstSample的编制,大家已对LabWindows/CVI编程有了初步的认识.本章是作者从总体上来谈谈自己对LabWindows/CVI程序的理解与认识.LabWindos/CVI 编程的步骤基本如下:制定程序设计的基本方案第一步根据任务确定程序的基本框架如:程序界面,程序中所需的函数等.创建用户图形界面第二步根据第一步制定的方案创建用户图形界面及回调函数名.程序源代码的编制第三步让计算机生成程序代码及回调函数的基本框架.添加函数代码,完成源代码的编制工作.工程项目的完成第四步编译,调试程序.把头文件,用户图形界面文件,源代码文件添加到项目文件中去,完成整个程序的编制程序框架及文件间的相互关系如下图所示(以FirstSample.prj为例):项目工程文件(FirstSample.prj)用户图形界面文件源代码文件头文件(FirstSample.uir) (FirstSample.c) (FirstSample.h)panel include "FirstSample.h" 定义了程序中所需的常事件消息量以及函数原形.Acquire按扭 AcquireCallback( )事件消息 Wave[512]Clear按扭 ClearCallback( )事件消息Quit按扭 QuitCallback( )ShowWave上图所画的构成一项目工程文件的各文件之间的关系是非常重要的.如果你能理解上图所示的内容,那么你就基本理解了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: 用来访问某个已经打开的窗,例如:用户接口编辑窗,源代码窗… .Tools: 运行向导(wizard)或者你添加到Tools菜单中的一些工具.Options: 设置LabWindows/CVI 的编程环境.Help: LabWindows/CVI 在线帮助及Windows SDK 的函数帮助.工程项目文件显示了所列文件的状态,其各项的含义如下图所示:文件名这个标志是指源代码最后修改该文件文件是否是打开的的日期时间S是指该文件已经修 C是指运行该文件之 O是指你可以让该文件 I是指这是一个改过了,请保存该文件前必须先经过编译编译而无需debugging 仪器驱动程序如果你想进一步了解项目工程窗(Project window)细节请使用在线帮助.请选择:Help>>CVI Library>>Related Help…Online Manuals For LabWindows/CVI请查阅 LabWindows/CVI User Manual Chapter 3 Project window.第二节用户接口编辑窗(User Interface Edit window)图形用户接口编辑窗是用来创建,编辑GUI(Graph Uer Interface)的.一个用户接口至少要有一个面板(Panel)以及在面板上的各种控件元素(Control Element).图形用户接口编辑窗为你提供了非常快捷的创建,编辑这些面板和控件元素的方法,可以让你在短时间里创建出符合你要求的图形界面.一个图形用户接口编辑窗就如下图所示,下面我们就详细讲讲图形用户接口编辑窗各菜单项的功能:File: 创建,保存或打开文件.Edit: 可用来编辑面板或控件元素.说明:其实我们直接用鼠标双击我们想要编辑对象即可(就象编制FisrtSample中修改面板和四个按扭那样).Creat: 可用来创建面板和各种控件元素.说明:其实我们只需在 Panel上点击鼠标右键,便会弹出一个快捷菜单,选择你所想创建的对象即可(就象编制FisrtSample 时创建Graph和四个Button那样).View: 当创建多个面板后就可用该项来查看想要看的面板.Arrange: 用来调节各个控件元素的位置与大小.Code: 产生源代码,以及选择你所需的事件消息类型.Run: 运行程序.Library: 函数库.说明:我们将在后面详细的介绍LabWindows/CVI的函数库.Tools: 一些你可使用的工具项.Windows: 用来访问某个已经打开的窗,例如:项目工程窗,用户接口编辑窗,源代码窗… .Options: 设置用接口编辑窗的编辑环境.Help: LabWindows/CVI 在线帮助及Windows SDK 的函数帮助.说明:在用户接口编辑窗中有一快捷菜单是非常有用的,当你把鼠标指在某一控件元素上点击右键后便弹出一快捷菜单,通过该菜单你可以生成回调函数以及查看回调函数,而无须你再切换到源代码窗后再查看.这是一个大家以后在编程中要常用到的技巧,请掌握.图形用户接口编辑窗中还有四个模式选择按扭,现介绍如下:当该按扭被按下后,你可以操作面板上的控件,同时在图形用户接口编辑窗的右上角上来观察面板上的事件消息.在这种模式下你可以创建,编辑面板和控件元素以及修改它们的属性.在这种模式下你可以直接修改控件元素的名字,标签等文字相关方面的东西.在这种模式下你可以直接修改面板,控件元素的颜色.先把鼠标方在你所想修改颜色的对象上,点击右键便会弹出一个选色对话框,选择你所想要的颜色后点击后即可.在图形用户接口编辑窗中Panel 的灰色区域中单击鼠标右键,便会弹出一个快捷菜单如下所示:说明:请读者用鼠标点击各项自己看一看,在这里就无须作者多言.如果你想进一步了解用户接口编辑窗(User Interface Edit window)细节请使用在线帮助.请选择:Help>>CVI Library>>Related Help…Online Manuals For LabWindows/CVI请查阅 LabWindows/CVI User Manual Chapter 4 User Interface Edit window源代码编辑窗(Sourse window)你可以在源代码编辑窗中开发你的C 语言代码文件.例如:添加,删除,插入函数等编程所需的基本编辑操作.但是LabWindows/CVI 又有其独特的简捷快速的开发,编辑工具,可以让你在短时间内完成一个较复杂的C程序代码的开发.一个源代码编辑窗(Source window)就如下图所示,下面我们就详细讲讲源代码编辑窗中各菜单项的功能:File: 创建,保存或打开文件.Edit: 可用来编辑源代码文件.View: 设置源代码编辑窗的风格等功能.Build: 编译文件以及编译设置.Run: 运行程序.Instrument: 装入仪器驱动程序.Library: 函数库.Tools: 一些你可使用的工具项.Windows: 用来访问某个已经打开的窗,例如:项目工程窗,用接口编辑窗,源代码窗… .Options: 设置用接口编辑窗的编辑环境.Help: LabWindows/CVI 在线帮助及Windows SDK 的函数帮助.说明:在编程中有一快捷菜单是非常有用的,当你把鼠标指在某一函数上点击右键后便弹出一快捷菜单,通过该菜单你可以查看回调函数以及与该函数对应控件元素.这是一个大家以后在编程中要常用到的技巧,请掌握.第四节函数面板(Fuction Panel)在LabWindows/CVI 编程环境下,当你想在源程序某处插入函数时,你只需从函数所在的库中选择该函数后便会弹出一个与之对应的函数面板,你所做的就是:填入该函数所需的参数后完成插入即可.而且更为方便的是:若参数是一你以有的常量或变量,你只需点击常量或变量工具按扭后选择你所需的量即可;若参数是一变量,你直接可声明该变量而无须再切换至源代码窗.下面我们就谈谈这些在LabWindows/CVI中可以加快你编程的技巧.一个函数面板如下图所示:这是FirstSample中产生一个正弦波的函数其中SinePattern项是用来装正弦波的数组,我们在程序中使用数组Wave[512] 来装正弦波的.当我们在SinePattern项填入Wave后,由于Wave 是一变量,所以我们需要声明该变量:让鼠标指在Wave上然后点击工具条中的声明变量按扭后, 便弹出一个声明变量对话框即可声明该变量为局域变量或为全局变量.当你所填参数是一以有的常量或变量,你只需点击选择常量或变量工具按扭后选择你所需的量即可,下面就介绍该技巧:上图是FirstSample中把数组Wave中的正弦波画到Graph上去的PlotWaveform函数.其中,Control ID 项所填的是程序中用来标识GUI中控件元素的常量,该常量是由LabWindows/CVI自动在头文件中预定义的(你可以打开头文件看看).故当我们填入该常量时只需将鼠标放在Control ID项的文本框中然后用鼠标点击工具条中的选择属性或UIR常量按扭后, 便弹出一个选择属性或UIR常量对话框,选择你所需的常量或属性即可.Panel Handle 是程序运行开始时UIR的句柄,是由LabWindows/CVI 自动生成的是一变量;Number of Points 项需填的是512,这正是我们在声明Wave时已用过的;Y Array 项所填的是我们已经声明过的变量——数组Wave;故当我们填入以上各项时只需将鼠标放在对应项下文本框中,然后用鼠标点击工具条中的选择变量按扭后, 便弹出一个选择变量对话框,选择你所需的变量Wave即可.当你填完函数的参数后,点击插入按扭后即可完成函数的插入,而无须再选择菜单中的插入命令.以上这些都是加快你编程的技巧,这些技巧你以后编程时是会非常频繁使用的.而这些也正是LabWindows/CVI 开发环境所独具的加快你编程速度的特色.说明:当你的鼠标落在工具条按扭上时,计算机会自动的显示该工具按扭的功能.请你使用上面所讲技巧重新编制FirstSample,我相信你将会有新的收获.当你对函数中的某个参数有不明白的时候,你只须将鼠标置于该项的文本框中点击鼠标右键后便会出现对此参数说明的在线帮助,这一技巧在编程中是非常有帮助的.如果你想进一步了函数面板(Function Panel )细节请使用在线帮助.请选择:Help>>CVI Library>>Related Help…Online Manuals For LabWindows/CVI请查阅 LabWindows/CVI User Manual Chapter 6 Using Function Panels第四章 LabWindows/CVI 的函数库(Library)LabWindows/CVI 其强大功能的所在就是基于其非常丰富的库函数.LabWindows/CVI 所提供的库函数从用户图形界面,数据采集,数据分析,仪器控制…到现在Internet时代的TCP.所以说LabWindows/CVI 在测量领域成为先锋的同时又与当前时代的新科技保持了同步.下面我们就来谈谈LabWindows/CVI 的函数库,我们把LabWindows/CVI 的函数库分为了五个大的方面,各个方面又分成了不同的小类:·数据采集方面(Data Acquisition),7个库:Instrument Library: 仪器驱动库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: 高级分析库·数据显示方面:User Interface Library : 用户接口库说明: 用户接口库中提供了许多用于与面板上各种控件元素打交道的函数,通过这些函数你可以非常容易的把一个采集来的波形画到Panel 的Graph上或删除Graph 上已画的图形;得到Panel上某个控件元素的数值以及把某个数值写到Panel上的某个控件元素上去(亦就是改变该控件元素的值);修该Panel上控件元素的属性.总之,你只有熟练掌握了用户接口库函数后才能使你创建的用户图形界面正正的动起来,该库是初学者应迅速熟悉的库.·网络,通信与数据交换方面,四个库:DDE Library : 动态数据交换库TCP Library: TCP库Active X Automation Library: Active X自动化库DataSocket Library: DataSocket库·其它方面:ANSI C Library: 标准C 库如果你想进一步了解LabWindows/CVI 函数库(Library)细节请使用在线帮助.请选择:Help>>CVI Library>> Library Help中你感兴趣的库通过本部分的学习,你是否已经掌握□LabWindows/CVI程序设计步骤及程序的运行机制.三个主要窗的基本操作.在用户接口编辑窗中用快捷方式生成或查看回调函数,在源代码窗中用快捷方式返回到函数面板或对应控件元素等编程中所需的快捷操作.在函数面板上声明变量,选择变量或常量,插入函数等快捷操作.LabWindows/CVI 库的构成及其在编程中适用的方向.第四部分 CVI 中数据采集的应用通过前两部分的学习,读者应该已掌握了LabWindows/CVI程序设计的基本步骤,思路以及编程环境.本部分将在前两部分的基础上讲解LabWindows/CVI中的数据采集,并在讲解的过程中编制一个程序:EeasyIOSample .请读者确保自己已经安装了Daq驱动,否则你会找不到例子中要用到的函数.Easy IO 库中数采函数的应用本章我们将使用Easy IO 库中的数采函数来编制一个真正能用于实际工作中的数据采集程序 EasyIOSample.我们程序运行时的界面如下图所示:其中各控件元素的功能说明如下:ChannelSrting 项是一字符串控件,我们通过该项来设置采集数据的通道(数采路径).我们把该项缺省设置为:daq::1!(0)其意思是指:采集设备(device)1的0通道(channel).其中设备号正是你在Measurement &Automation 中所看到的对应于数采板的编号.在数采停止时,该项是可以修改的.daq::1!(0) 这段字符串是NI 数采通道的语法表示,具体说明如下: daq::1!(0,2,5) 是指采集设备1的通道0,2,5.daq::1!(2:6)是指采集设备1的通道2,3,4,5,6.ScanRate项是一数字控件,我们通过该项来设置扫描速率,其缺省设置为1000Acquire/Stop项是一开关控件,我们通过该开关来控制数据采集的开始与停止.Clear项是一按扭,当我们按下该按扭后即可清除Acquire Wave上所画的波形.Quit项是一按扭,当我们按下该按扭后,退出程序.Acquire Wave项是一波形显示控件,我们所采集的数据正是通过该控件来显示的.现在我们就开使创建该程序.首先按下面步骤起动CVI:开始>>程序>>National Instrument CVI>>CVI IDE或者直接从桌面起动CVI 的快捷方式,双击桌面National Instrument CVI 图标当LabWindows/CVI打开后你就会见到如下所示的项目(Project)窗,里面装的正是我们上次创建的FirstSample.prj:选择:File>>New>>Project(*.prj)…便会弹出一个对话框,如下所示:询问你是否移走当前的项目工程,点击OK按扭,确定移走后又会弹出一个对话框如下所示:。