labiew 与CAN通信的几种方法

尝试Labview与CAN通信有一年半了。。。这么算进展很慢啊,当然其中还有别的工作

使用Labview与CAN通信(读取CAN信号,解析DBC有如下几种方式,其中有我实验过的成功的,以及在网上查找资料但是没有尝试过的)(我是使用CANOE作为CAN通信介质)

尝试过的:

1、最简单的方法安装CANOE自带插件“C:\Program Files\Vector CANoe 10.0\Installer Additional Components\LabVIEW”安装之后会有例子文件夹“Vector CANoe CANalyzer LabView COM Examples”可以看见其中CANOE文件夹有例子程序且labview中会有控件,如图所示,可直接使用,对CANOE中的环境变量、系统变量、信号、CAPL function等进行操作。直观方便

需要注意的是:a、此CANOE支持的Labview需要是32位的。若是64位Labview无法使用此插件。

                         b、由于Labview通过CANOE读取CAN线上的信号,涉及两个进程间通信,所以Labview通过CANOE读取CAN信号时,时间有延迟,每次时间延迟均不一样。

                               我测试的延时大概再500ms(labview向CAN发送信号,从canoe中观测信号值从0到1的时间)

                         c、使用Labiew控件Signal向CANOE发送信号,需要在CANOE-Simulation setup中添加所要发送信号所属节点,不然信号的值发送不出去(添加节点后,有个问题时,会将节点所要发送的其他报文同时发出(值为默认值),

                               对于只想改变一个节点的值时,很不友好,可以在Labview中改变环境变量,在CANOE中编写CAPL当环境变量改变时发出某一条报文)

labiew 与CAN通信的几种方法_第1张图片labiew 与CAN通信的几种方法_第2张图片

2、在Labview中通过调用XL_DRIVER_Library_Manual_EN.pdf中的DLL函数对CAN报文进行读取。具体例子可看网站中的文件https://forums.ni.com/t5/Example-Code/Vector-XL-Driver-LabVIEW-wrappers/ta-p/3524976?profile.language=zh-CN

labiew 与CAN通信的几种方法_第3张图片labiew 与CAN通信的几种方法_第4张图片

3、使用周立功can卡,周立功can卡自带例子程序,这个程序在使用过程中会经常崩溃,如果一直循环持续运行,会崩溃,不知道什么原因。

labiew 与CAN通信的几种方法_第5张图片

未尝试的:

1、https://blog.csdn.net/weixin_44610323/article/details/103781827使用Kvaser与can通信

2、使用Labview带的XNET好像是需要到官网下载详见其他人介绍:https://zhuanlan.zhihu.com/p/115236130

 

 

你可能感兴趣的:(Labview)