2025年05月17日 16:46:21 来源:广州智维电子科技有限公司 >> 进入该公司展台 阅读量:16
这是使用Kvaser Memorator第二代设备通过kvmlib进行配置和读取记录数据4篇系列文章的篇:
1. kvmlib入门指南
2. 在配置中添加脚本和触发器
3. 深入了解kvmlib
4. 使用kvmlib配置SD卡
篇文章将概述如何使用Python配置Kvaser设备。第二篇文章在配置上增加了一些复杂性,而第三篇文章将更深入地讲述如何在C API级别使用kvmlib。篇文章讲述在只可访问可移动SD卡的情况下如何配置设备。全部程序列表可在GitHub上获得。
1.1简介
Kvaser Memorator第二代设的配置备通常使用Kvaser Memomorator配置工具完成,它是一种GUI工具。但是你也可以使用包含在CANlib SDK1开发包中的kvmlib来编程配置这些设备。这里我们将讲述如何使用kvmlib配置Kvaser Memorator Pro 5xHS2
有关Kvaser SDK库的概述,请阅读这篇关于如何使用KvaserSDK库从硬件中获得更多信息的博文。
我们是在Windows系统上运行,所以首先我们需要下载并安装CANlib SDK。本文将使用Python3来访问kvmlib,因此如果你之前没有看过通过Python访问CANlib的博文,那你可能需要首先阅读下。
为了简洁,本博文中的代码片段省略了以下import语句:4
列表1:应包含在所有代码片段中的import语句
1.2初始化SD卡
仅仅在我们的操作系统文件管理器中格式化SD卡是不够的,我们还需要使用我们的Kvaser Memorator设备初始化SD卡。将SD卡插入我们的Kvaser Memorator设备后,我们将Kvaser Memorator设备连接到我们计算机上的空闲的USB端口,并运行我们的代码的个位,让我们看到该设备开始运作。
列表2:使用kvDevice模块连接到Kvaser设备

在这里我们注意到,我们能够连接设备,我们确实使用的是固件版本3.0。现在让我们打开设备并且使用默认值初始化SD卡。

列表3:在Kvaser设备中初始化SD卡
1.3创建配置
现在我们必须通过编写一段XML代码来创建配置6。有关XML格式版本的更多信息,见Kvaser Memorator设备配置XML格式规范文档中相关描述。让我们举一个简单的例子,假如我们只使用通道1和2。我们将这两个通道的波特率设置为1Mbps,并在静默模式下记录一切内容。

列表4:简单的XML配置示例
XML的当前版本是v2.0,我们的设备运行的是v3.0版本固件,而我们期望运行的二进制版本6.0。
在下一篇文章中,我们增加了配置的复杂性,我们将研究如何在尝试下载配置之前将其进行显式验证。现在我们只能确保我们输入的XML没有任何错误。
1.4下载配置
我们现在将要准备开始记录,我们只需要将配置放在设备上。然后将通过读入我们刚刚创建的XML文件,将此XML配置转换为二进制配置并将二进制配置下载到设备。

列表5:将配置下载到Kvaser设备
现在我们将我们配置的设备与计算机断开,并且将我们的设备连接到现有的CAN总线,通过给设备的CAN 1总线连接器通电来开始记录。
1.5读取所记录的报文
在我们记录了一些报文后,我们再次将我们的KvaserMemorator设备连接到我们计算机上的一个空闲的USB端口,并读出结果。

列表6:读取记录的报文并打印到标准输出(stdout)

这就是此文所有内容。我们现在已经知道如何使用kvmlib进行配置和读回记录的数据。在下一篇文章,我们将分支出来,再添加一些复杂的配置进行讲述。
脚注
1. CANlib SDK可以从/developer/canlib-sdk下载。
2. 编码73-30130-00778-9
3. 目前,Python包装器仅在Pythonv2.7下测试。
4. 完整的程序列表见github.com/Kvaser/developer-blog。
5. Kvaser Memorator Pro 5xHS固件捆绑在Kvaser固件更新工具中,可在这里下载/downloads
6. XML格式的版本见文档Kvaser Memorator设备配置的XML格式规范相关描述。