广告招募

当前位置:全球装备网 > 技术中心 > 所有分类

kvmlib入门指南

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格式规范文档中相关描述。让我们举一个简单的例子,假如我们只使用通道12。我们将这两个通道的波特率设置为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格式规范相关描述。

版权与免责声明:
1.凡本网注明"来源:全球装备网"的所有作品,版权均属于全球装备网,转载请必须注明全球装备网。违反者本网将追究相关法律责任。
2.企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
3.本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。 4.如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系。