新闻中心

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

在LabVIEW下使用ZLGCAN接口函数库

作者:时间:2012-07-11来源:网络收藏
1、概述

VirtualCANInterface(VCI)函数库是专门为ZLGCAN设备在PC上使用而提供的应用程序接口。库里的函数从ControlCAN.dll中导出,在7.0中可以直接使用这些库函数而无需额外的操作。VCI函数的使用流程如图1.1所示。


图1.1VCI函数使用流程

2、使用VCI函数

2.1数据结构

VCI函数库中定义了一些数据结构用于数据交换,在使用VCI函数前应该先创建这些数据结构。在中创建这些结构时应该使用簇——Cluster。一个簇就是一个由若干不同的数据类型的成员组成的集合体,类似于C语言中的结构。其成员可以是任意的数据类型,但必须都是控件或都是显示件。成员的逻辑顺序是由它们被放入簇的先后顺序决定的。

2.1.1VCI_BOARD_INFO结构

VCI_BOARD_INFO结构体包含ZLGCAN系列接口卡的设备信息。结构体将在VCI_ReadBoardInfo函数中被填充。

typedefstruct_VCI_BOARD_INFO{
USHORThw_Version;
USHORTfw_Version;
USHORTdr_Version;
USHORTin_Version;
USHORTirq_Num;
BYTEcan_Num;
CHARstr_Serial_Num[20];
CHARstr_hw_Type[40];
USHORTReserved[4];
}VCI_BOARD_INFO,*PVCI_BOARD_INFO;


图2.1VCI_BOARD_INFO结构

2.1.2VCI_CAN_OBJ结构

VCI_CAN_OBJ结构体在VCI_Transmit和VCI_Receive函数中被用来传送CAN信息帧。

typedefstruct_VCI_CAN_OBJ{
UINTID;
UINTTimeStamp;
BYTETimeFlag;
BYTESendType;
BYTERemoteFlag;
BYTEExternFlag;
BYTEDataLen;
BYTEData[8];
BYTEReserved[3];
}VCI_CAN_OBJ,*PVCI_CAN_OBJ;


图2.2VCI_CAN_OBJ结构

2.1.3VCI_CAN_STATUS结构

VCI_CAN_STATUS结构体包含CAN控制器状态信息。结构体将在VCI_ReadCanStatus函数中被填充。

typedefstruct_VCI_CAN_STATUS{
UCHARErrInterrupt;
UCHARregMode;
UCHARregStatus;
UCHARregALCapture;
UCHARregECCapture;
UCHARregEWLimit;
UCHARregRECounter;
UCHARregTECounter;
DWORDReserved;
}VCI_CAN_STATUS,*PVCI_CAN_STATUS;


图2.3VCI_CAN_STATUS结构

2.1.4VCI_ERR_INFO结构

VCI_ERR_INFO结构体用于装载VCI库运行时产生的错误信息。结构体将在VCI_ReadErrInfo函数中被填充。

typedefstruct_ERR_INFO{
UINTErrCode;
BYTEPassive_ErrData[3];
BYTEArLost_ErrData;
}VCI_ERR_INFO,*PVCI_ERR_INFO;


图2.4VCI_ERR_INFO结构

2.1.5VCI_INIT_CONFIG结构

VCI_INIT_CONFIG结构体定义了初始化CAN的配置。结构体将在VCI_InitCan函数中被填充。

typedefstruct_INIT_CONFIG{
DWORDAccCode;
DWORDAccMask;
DWORDReserved;
UCHARFilter;
UCHARTiming0;
UCHARTiming1;
UCHARMode;
}VCI_INIT_CONFIG,*PVCI_INIT_CONFIG;


图2.5VCI_INIT_CONFIG结构

下面以VCI_CAN_OBJ结构为例,在7.0中创建VCI_CAN_OBJ结构。先在ArrayCluster控件子模板选择一个簇的空壳放到前面板上,将其命名为VCI_CAN_OBJ,然后根据需要放置的控件多少用定位工具调整簇空壳的大小;按照VCI_CAN_OBJ结构成员的顺序,从Numeric控件子模板中取NumericIndicator控件或从前面板上移动控件到簇的空壳中,并按图2.6将各NumericIndicator控件重命名。


上一页 1 2 3 4 下一页

关键词: LabVIEW

评论


相关推荐

技术专区

关闭