新闻中心

EEPW首页>测试测量>设计应用> 在LabVIEW下使用ZLGCAN接口函数库

在LabVIEW下使用ZLGCAN接口函数库

作者: 时间:2012-07-11 来源:网络 收藏


图2.6在前面板上创建VCI_CAN_OBJ结构的簇

此时,簇壳内的成员的数据类型都为默认的Double类型。在簇壳内的边框上弹出快捷菜单,选择Representation。在下一级子菜单中选择与VCI_CAN_OBJ结构成员类型一致的类型。


图2.7设置成员类型

2.2调用VCI库函数

中调用VCI库函数的过程比较简单。在Advanced函数子模板中提供了CallingLibraryFunctionNode,只要知道动态连接库里被导出的函数名称及其参数,就可以通过CallingLibraryFunctionNode调用。ZLGVCI函数库已经提供了库里的函数声明,因此,在中使用VCI函数库将通过CallingLibraryFunctionNode来实现。

以调用VCI_OpenDevice函数为例。在LabVIEW图形代码窗口中放上调用库函数节点,用鼠标双击节点或使用快捷菜单命令Configure弹出如图2.8所示的对话框。


图2.8调用库函数1

单击Browse…按钮,打开一个文件对话框,找到ControlCAN.dll文件。或者直接输入库文件路径和名称。

在FunctionName下拉列表框中照到VCI_OpenDevice函数。或直接输入函数名。


图2.9调用库函数2

在CallingConventions下拉列表框中选中stdcall(WINAPI),因为VCI库函数使用的是stdcall调用约定。

Parameter框中的returntype不变。Type框中选Numeric。DataType框中选Unsigned32-bitInterger。即指定返回32位整形数。

单击AddaParameterAfter按钮,Parameter框中的选项变为图2.10所示。将缺省值agr1改为DevType,因为在VCI_OpenDevice函数声明中定义了参数DevType。


图2.10调用库函数3

Type框中选Numeric,并在DataType框中选Unsigned32-bitInteger。表示将编程时指定的LabVIEW数据类型为32位无符号整型。Pass框中选择Value。

同样,按以上步骤添加DevIndex、Reserved参数。

单击OK按钮退出这个对话框。调用库函数节点变为图2.11所示中的情况。图中的参数端口由上到下分别为returntype、DevType、DevIndex和Reserved。每个端口均有一个输入端和一个输出端,左边的端口为输入端,右边的端口位输出端。因为第一个端口是函数的返回值,所以没有输入端,在图中可以看到其输入端为填充的蓝色。其他端口则是函数的参数,如果参数的类型是指针的话,可以通过参数的输出端输出数据。在其他情况下,不需要使用参数的输出端。


图2.11调用库函数程序框图

2.3应用示例

应用示例Demo演示了在LabVIEW7.0下如何使用VCI库函数。其界面如图2.12所示。


图2.12demo界面

在Demo中实现了数据的收发,并将在CAN总线上收发的数据在列表示图中显示。Demo程序当中有3个主要的While循环:主循环、发送数据循环和接收数据循环。这三个循环是并行运行的。其中,主循环处理与用户交互的界面,并通过用户事件TREvent与发送数据循环和接收数据循环通信。



关键词:LabVIEW

评论


相关推荐

技术专区

关闭