CanKing数据库格式器

  • 2018-04-26
  • Magnus Carlsson

怎样在 CanKing 中使用 DBC 格式器

最新版 CanKing (v6.6) 包含了一个新的 DBC 格式器。这里我们介绍一下这个新的格式器,并介绍怎样用它在 CanKing 的输出窗口显示信号意义。我们这里使用 Kvaser 虚拟 CAN 驱动器,所以不需要适配器。

设置 CanKing 以使用 Kvaser 虚拟 CAN 驱动 1 和 2

启动 CANKing,用模板建立一个新项目并点击 OK。在模板中,从标准选项中选 2 个 CAN 通道并点击
OK。请注意要从同一个虚拟设备上选两个虚拟通道 (0 – Kvaser 虚拟CAN驱动器和 1 – Kvaser 虚拟CAN 驱动器 ), 并确认CAN模式和总线参数设置完全相同。


图1: 选择虚拟设备通道,并确认总线设置和 CAN 1 及 CAN 2 窗口的通道匹配。

设置 CanKing 格式器

在 ‘Window’ 菜单上选‘Select formatters’(选择格式器)。如果看不到 ‘Select formatters’ 窗口, 请确认在View menu(视窗)上该窗口已被启用.


图 2: 从视窗菜单上选‘Select formatters’ 。


图 3: 在视窗中打开 ‘Select formatters’ 窗口。

在下拉菜单有效格式器目录中,选出厂标准文字格式化设置,点击 ‘Remove’,已取消出厂设置 。如果出厂格式化设置仍未被取消,我们在输出窗口中的信息将会重复出现。从可选格式器中选择 ‘DBCFormatter’,点击 ‘Use’。

要设置新加入的 DBC 格式器, 在有效格式器目录中选  ‘formatter’,点击 ‘ Options’ 键。在这里我们可以在两个窗口中选择 CAN1 和 CAN 2 通道用什么数据库。按下 CAN 1 的 open 键,选择 ‘Example-Database.dbc’1。 我们不选 ‘Show data’,因为我们不需要看 CAN 信息的全部数据。结束之后点 OK。

同时我们给有效格式器加一个指导筛选 ’direction filter’,因为我们不需要 TX 和 RX 信息。请注意设置有效格式器的先后顺序不重要,但推荐先加筛选。所以我们选择 ’direction filter’,并点击 Up,将它移到有效格式器之前。


图 4: 用有效格式器(Active Formatters)目录中的DBC格式器取代标准文字格式器。


图 5: DBC 格式器选择窗口

在 CanKing 输出窗口固定报文位置

在处理数据库文件和信号时,通常在输出窗口使用 ‘Fixed Positions(固定位置)’选项是很有益处的。每一个 CAN 报文将出现在固定的位置,并与它的 CAN 标识符相对应,而不只是显示一列报文,而且同一标识符的新报文会不断替代旧报文。点击输出窗口的数据区域,选择 ‘Fixed Positions’。
设置产生数据

现在要用流量产生器(Traffic Generator,又称为 CAN Bus Loader)来生成一些与我们选的数据库相匹配的数据。因为数据库包含 CAN 标识符 0 至 6 的报文,我们设置流量产生器来生成同样代码的报文。在主窗口的 Messages 选项处,打开流量产生器,选择 ‘Id’  项。在 CAN Identifier(CAN 标识符)方框里,将 lowest 设为 0,highest 设为 6。注意不要选 .‘Use extended (29-bit) identifiers’ ,因为我们的数据库用的是标准标识符。


图 6: 设置流量产生器生成 CAN 标识符 0 到 6。

到 ‘Data’ (数据选项)处,选 ‘Random data’(随机数据),并注意不要选 ‘Random length’ 数据范围。在这里,我们还去 ’Options’  选项,在 ‘Start Run’ 里选择 ‘Start automatically on’。这个选项让我们能方便地点击主窗口的 ‘Start Run’ 和 ‘Stop’,来启动和关闭流量产生器。

产生流量

我们现在可以产生流量了。在主窗口中点‘Start run’,启动 CAN 控制器和流量产生器,生成报文。


图 7: 结果输出窗口显示所选数据库的信号意义。

希望本文能使你对CanKing过滤筛选过程有所了解。如果你有任何问题或反馈,请电邮至 support@kvaser.com


推荐的CANKing产品

联系我们

更多问题?

Author Image

Magnus Carlsson

Margus Carlsson是Kvaser AB公司的软件开发人员,从2007年以来深度参与了Kvaser固件和软件的开发。他还为Kvaser的技术博客撰写了许多用流行的Python语言编写应用程序的文章。

联系我们