LabWindowsCVI扫盲技巧贴

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LabWindows/CVI 扫盲+技巧贴(CVI 学习必看)

字体: 小 中 大 | 打印 发表于: 2008-6-11 13:15 作者: LAVA 来源: TestDevelop

1、什么是LabWindows/CVI ?

NI LabWindows/CVI 是一类久经验证的ANSI C 集成开发环境,为工程师和科学家提供用于创建测试和控制应用的全套编程工具。NI LabWindows/CVI 兼有ANSI C 的耐用性、复用性和特定的工程性能,适用于仪器控制、数据采集、分析和用户界面开发。

2、CVI 适合什么人使用?

CVI 是基于ANSI C 的快速开发环境,适用于有C,C++基础。使用VB ,VC ,BC 运用控件式组织用户界面的工程师。

3、CVI 有几种版本?

基本版RMB10220

∙ ANSI C 开发环境 ∙ 用户界面设计 ∙ 数据采集和仪器控制

IVI 驱动连接

完整版RMB21305

∙ 首选的自动化测试软件包 ∙

300多个数学/分析函数

∙ 因特网连接 ∙ Windows SDK ∙

.NET 开发工具

目前最新的是8.5版,下图是CVI 的版本历史:

TimeLine545px.png

4、CVI开发的程序能否独立运行?

可以。和所有的开发工具一样,CVI编写的程序只要提供CVI运行支持库(CVI runtime)即可。

5、CVI的运行支持库在哪里下载?

LabWindows/CVI Run-Time Engine 8.5.1 - Windows 2000/Vista x64/Vista x86/XP

/apps/utf8/niup.ni?ap=GB_NIDU&ip=209&loc=en-US&du=/nidu/cds/view/p/id/907/lang/zhs

LabWindows/CVI Run-Time Engine 8.1.1 for Windows 2000/Vista x64/Vista x86/XP

/support/softlib/labwindows/cvi/Run-Time%20Engines/8.1.1/NILWCVIRTE811.exe

6、是否要每次手动安装支持库?

否,CVI程序带有发布功能。自动生存你项目需要的所有运行库。

菜单Build——distributions下。

7、EXE程序的信息在哪里定义?

菜单Build——Build steps...下可以更改EXE的图标,版权信息等等。

8、新手怎么开始学习CVI?

新手可以先看看这些书籍和资料。

/bbs/thread-4658-1-1.html

/bbs/thread-3180-1-1.html

/bbs/thread-3173-1-1.html

9、CVI在哪里下载?

/bbs/thread-4667-1-1.html

/sq/?uid/4829

10、如何在CVI中获得系统信息

使用CVI提供的toolbox:

GetWinOSVersion 获得操作系统信息

GetWindowsDirs 获得Windows目录

GetDiskSpace 得到磁盘空间大小,对于文件保存有用,先判断磁盘大小再保存,否则提示。

GetMemoryInfo 获得内存信息。

CODE:

GetDiskSpace ("C:", totalBytes64, &freeBytes64);

diskSpaceMB = (double)totalBytes64.hiBytes * 4096 + (double)totalBytes64.loBytes/1048576;

freeSpaceMB = (double)freeBytes64.hiBytes * 4096 + (double)freeBytes64.loBytes/1048576;

我也来说两句查看全部回复

最新回复

LAVA (2008-6-11 13:45:21)

11、CVI中如何打开别的应用程序文件,如Doc,PDF,HLP?

CODE:

OpenDocumentInDefaultViewer ("C:\example.pdf", VAL_NO_ZOOM);12、怎么在CVI中使用非NI公司的PCI板卡?

其它厂家虽然没有NI这样的FP文件或向导,但都提供DLL动态链接库使用。VCBC,CVI通用。

13、如何使用DLL?

需要DLL文件和H头文件,LIB文件。#inlcude "头文件名.h"加入CVI中。将*.lib文件加入工程中。工程右击——add file...即可使用DLL。

14、没有LIB文件如何使用DLL?

在CVI菜单中打开DLL相应的.h文件。Option——Generate DLL Import Library选择DLL文件,即可生成LIB文件。

15、如何根据DLL和.H文件看到C代码?

Option——Generate DLL Import source选择DLL文件,即可生存C文件。不过只有函数定义,源代码就不用想了,现在还没有DLL的破解。

16、如何创建DLL程序文件?

Build——Target Type——Dynamic Link Library ,即可将当前的工程生存DLL形式。同理Static Library生存Lib形式。

17、运行时窗口的响应慢,显示不及时?

CVI是事件驱动式的运行方法,排队响应个个事件。造成显示滞后。需要强制在函数中加入ProcessSystemEvent()。当然有效的方法是使用CVI 或API的多线程技术。

18、CVI中获取本地计算机的IP地址

可以调用GetTCPHostAddr 函数。需要注意的是,该函数获取的是当前程序运行的电脑的默认IP地址。GetTCPHostAddr 函数会向Windows 操作系统获取所有可用的IP地址的列表,但返回的只是其中的第一个。

同样地,如果要获取该电脑的所有IP地址,可以调用GetAllTCPHostAddresses 函数来实现。

19、CVI如何实现右键菜单功能?

调用编辑好的右键菜单可以使用以下两个函数实现:

CODE:

menuHandle = LoadMenuBar (0, "popupmenu.uir", MENUBAR);

RunPopupMenu (menuHandle, MENUBAR_MENU1, panel, eventData1, eventData2, 1, 1, 1, 1); 20、CVI对多线程的如何支持?

CVI对多线程的支持(1)概念篇

【原帖地址:/logs/2006/04/2366573.html】

多线程对于windows应用程序来说,并不是什么先进的技术,打开你的任务管理器,选择“进程”分页,点击菜单的在“查看”->选择列,在“线程计数”前打勾,确定后你在“进程”分页里头看到现在在运行的绝大多数程序都基于2个以上的线程。

那么进程线程的概念以及他们之间的关系又是什么呢?

线程技术是指开发架构将应用程序的一部分分离为“线程”,使线程与程序其余部分执行步骤不一致。线程是一种特殊的对象,是操作系统执行多任务的一部分,它允许应用程序的一部分独立于其他对象而单独运行,因此也就脱离了应用程序的常规执行顺序。

目前主流的Windows系统都是基于多任务机制,即可同时运行多个应用程序(“应用程序”这个词并不恰当,恰当的说法是“进程”)。当启动应用程序时,系统就会为该应用程序分配所需的内存以及其他资源。内存和资源的物理分离叫做进程。换言之,进程是应用程序的一个运行实例,当然,应用程序可以启动多个进程。每个进程至少有一个基本线程(主线程)。线程与数据一起隔离在某一物理区域,在进程中声明的数据可通过该线程进行访问。

Windows操作系统为抢占式多任务运行机制,即采用时间片轮换的方式来执行多任务,时间片轮换的基本对象是线程。操作系统为每一个线程分配时间片,让该线程在这个时间段内运行,之后中断该线程的运行,启动另外的线程执行。多线程技术的优势在于将进程分解,在主线程外产生一个或几个辅助线程,用于完成如数据采集、网络访问、数据存储等后台工作。

相关文档
最新文档