最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

CVI驱动程序编写入门

来源:动视网 责编:小OO 时间:2025-10-03 04:18:53
文档

CVI驱动程序编写入门

CVI驱动程序编写入门仪器驱动程序有一个VPP规范(VXI即插即用),这个VPP规范中介绍仪器驱动的架构,使用的接口及前面板规范,函数原形规范等等。看过这个规范的朋友可能知道,VPP就是对CVI开发仪器驱动的规范。在开始编写驱动之前,请先安装NI-Visa、labwindows8.0下面介绍如何用CVI编写仪器驱动•生成仪器驱动程序工程文件(.prj)•设计函数树和函数面板(.fp,.c,.h)•完成驱动程序每个函数的代码(.c)•编译调试,生成动态链接库1新建工程文件双击labWindows
推荐度:
导读CVI驱动程序编写入门仪器驱动程序有一个VPP规范(VXI即插即用),这个VPP规范中介绍仪器驱动的架构,使用的接口及前面板规范,函数原形规范等等。看过这个规范的朋友可能知道,VPP就是对CVI开发仪器驱动的规范。在开始编写驱动之前,请先安装NI-Visa、labwindows8.0下面介绍如何用CVI编写仪器驱动•生成仪器驱动程序工程文件(.prj)•设计函数树和函数面板(.fp,.c,.h)•完成驱动程序每个函数的代码(.c)•编译调试,生成动态链接库1新建工程文件双击labWindows
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”,意思是在此可以创建类和函数前面板。这里的类指用户如何划分函数,根据用户的需要将某些函数规为一类。通常情况我们将错误消息、错误查询、复位,自检和版本查询等函数规为通用函数,具体操作硬件的部分的函数规为功能函数。

单击阴影部分,再单击鼠标右键,选择创建类,并在对话框中填入“Utility Functions”,单击确定,如图1-5

图1-5 创建类

程序中创建了一个“通用函数”类。下面在这个类中添加错误消息、错误查询、复位,自检和版本查询等函数面板。

同样鼠标右击“create class or function panel window”,选择“创建函数面板”,弹出如图1-6对话框

图1-6 创建函数面板

该对话框中的“name”项指的是该函数面板的名字,而”function name ”指的该函数的函数名。单击ok创建成功。

图1-7

函数面板已经创建好了,但还得编辑函数面板。单击”Reset”函数面板,右击选中“edit function panel window”,出现如图1-8

图1-8

函数面板最上面的是加了前缀的函数名,指示当前正在编辑的函数面板。在面板上右键可以添加输入参数、输出参数、返回值等。参数不能随便放,VPP规定函数面板的输入参数放左边,输出参数与返回值放右边。下面是编辑好的Reset面板如图1-9

图1-9

其他函数的前面板编辑方法与Reset面板相同。

如在创建控件时,需要引入VI数据类型,执行以下两步操作,如图1-9-1、1-9-2:

图1-9-1

图1-9-2

下面我们介绍如何创建.c和.h文件。

其实有了上述函数面板的创建过程,源文件与头文件的创建就非常简单了。回到图1-7,这时必须保证reset面板已经编辑完毕了,并保存完毕。单击“Reset”,右键选择“generate source for function node”,将自动创建出源文件和头文件。保存后加入到工程中来即可。

生成出来头文件和源文件都需要修改,源文件只有函数壳,没有函数体,需要自己手动添加,后面再介绍。先来介绍头文件应该做什么样修改。

在头文件需要加入C编译头,如图1-10

图1-10 c编译头

加入C编译头的目的,如果在C++程序中使用,将自动以C语言方式编译和连接,其意义是强制编译器不要修改你的函数名。只有用这种方式,才能在C++程序中正常使用。

3 编写源代码

在源文件中给reset函数添加代码。

return VI_WARN_NSUP_RESET;   //不支持复位

这就是reset函数体内容。复位根据板卡要求,有些板子支持复位,有些板子不支持复位。我们使用的本振,并不支持复位。所以代码就一句。

源代码的实现主要根据负责开发板子的人提出的需求,程序员根据需求来实现的。后面我会讲些具体的例子。怎样去分析需求,来编写源代码。

4 编译生成dll

在编译之前需要对程序的一些属性进行设置。

首先,单击“Build”下拉菜单,选择”target tpye”子菜单,再选中“Dynamic Link Library”。这是最重要的一步,否则无法编译成动态链接库。

其次,单击“Build”下拉菜单,选择“Target setting……”,打开对话框,如图1-11

图1-11 target setting

最上方是设置动态链接库创建的位置和文件名。当前显示的是Debug状态,也可以设置release状态下的输出。

对话框中部有三个按钮分别版本说明、导入库、类型库。它们的设置保持持默认即可。

最下端的两个按钮比较重要:

“Add Files to DLL”:添加文件到DLL,必须将源文件添加进去。如图1-12

图1-12 add files to dll

“Change…”:设置DLL输出。动态链接库函数的输出由这里决定,否则没有函数输出。

图1-13 DLL Export Options

该对话框要按如图1-13 进行设置。在“Export what:”选择”Include file symbols”,在下面的列表框中,选中“zyss.h”头文件。这样在编译DLL时,会链接到头文件,将头文件中的函数作为输出。单击OK完成设置。

最后选择”build”下拉菜单中的”configuration”子菜单,可选择以调试版或发布版编译动态链接库。最后选择build下拉菜单中的“Create debuggable/release Dynamic Link Library”编译工程。

如果编译出错,可能是一些参数类型没有找到,即头文件没有引入;

5 dll转化为llb

整个仪器驱动程序就这样完成了。我们可以通过该仪器驱动生成的DLL和.fp文件,将DLL中的函数转换labview可以使用的子VI。

在labview7.1的Tools下拉菜单中,选择Instrumentation->import CVI instrument Driver,打开对话框选择.fp文件,出现如下对话框。如图1-2

对话框中最上面是保存的LLB的路径及文件名,可以实际情况设定。如果使用默认,那将LLB存放在“\\LabVIEW 7.1\\instr.lib”目录下。

“Instrument prefix”:在生成的subvi中在subvi文件名前加一个前缀

选择DLL,与.fp相对应的DLL文件。

选择select all 再单击OK,LABVIEW就会自动将.fp转换成相应函数的SubVi

文档

CVI驱动程序编写入门

CVI驱动程序编写入门仪器驱动程序有一个VPP规范(VXI即插即用),这个VPP规范中介绍仪器驱动的架构,使用的接口及前面板规范,函数原形规范等等。看过这个规范的朋友可能知道,VPP就是对CVI开发仪器驱动的规范。在开始编写驱动之前,请先安装NI-Visa、labwindows8.0下面介绍如何用CVI编写仪器驱动•生成仪器驱动程序工程文件(.prj)•设计函数树和函数面板(.fp,.c,.h)•完成驱动程序每个函数的代码(.c)•编译调试,生成动态链接库1新建工程文件双击labWindows
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top