提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
在工作、学习Labview过程中,突然对CAN通信的原理来了兴趣,从使用已经封装的CAN通信Vi转变为想要自己修改CAN通信Vi的学习过程,记录一下自己的成长过程。
环境:
Labview13.0(32位)
周立功CAN通信USBCAN_E_U、USBCAN_2E_U
(下文中以USBCAN_2E_U作为例子记录)
ZLGCAN驱动dll与周立功CAN使用说明
资源链接: https://pan.baidu.com/s/1LXGLLEUchKFmMmZGxgnbQw?pwd=xedf 提取码: xedf
一、周立功CAN接口库函数使用流程
该图为周立功CAN使用说明中第8页的2.2 接口库函数使用流程。我们可以看到,Labview上位机需要使用周立功设备,需要进行打开设备-设置信息-初始化CAN-启动CAN-读取/发送CAN帧-关闭设备。
二、Labview配置
1.打开设备
选择后面板,右键互连接口-库与可执行程序-调用库函数节点,双击打开设置文件,下图。
请下载资源链接中的驱动dll,然后可以按照上图进行配置,数据类型都选择无符号32位,传递选值。
该图为周立功CAN使用说明中第7页的2.1 接口卡设备类型定义。参数中的DevType的就按照这个来进行输入的,如下图。
参数中的DevIndex为设备索引号。第一个是0,第二个是1,以此类推。参数中的Reserved为保留参数,通常为0。返回值为 1 表示操作成功,0 表示操作失败。
详情可以打开周立功CAN使用说明中第18页的2.6.1 VCI_OpenDevice查看。
2.设置信息
因为我们使用的是USBCAN-XE-U,所以在初始化之前需要对CAN的波特率进行设置。
具体可查看周立功CAN使用说明中第31页的2.6.8 VCI_SetReference。
波特率的数字由周立功CAN使用说明中第31页的2.6.8 VCI_SetReference中的备注给出。
3.初始化CAN
只需对工作模式Mode进行设置即可具体可查看周立功CAN使用说明中第20页的2.6.3 VCI_InitCAN。
如不是USBCAN-XE-U设备,具体可查看下图即周立功CAN使用说明第14页2.5.5 VCI_INIT_CONFIG。
如不是USBCAN-XE-U设备,上图中AccMask为0xFFFFFFFF,即全部接收,Timing0为0x00,Timing1为0x1C,即波特率为500Kbps。
4.CAN滤波
帧接收过滤应该在调用 VCI_InitCAN函数之后用 VCI_SetReference 函数进行设置。
总结
初步介绍Labview与周立功通信的前半部分,后续在补充后半部分。
后半部分链接:http://t.csdnimg.cn/28jSg