连接 CAN 网关与 EtherCAT 的桥梁

EtherCAT CAN 网关会输出一系列 CAN 报文。通常,要将选定的报文转换为应用程序可用的数据,需要额外编写定制逻辑。

KPA EtherCAT Master 中的 CAN DBC 驱动程序与 KPA EtherCAT Studio 中的 CAN Interface 插件共同解决了这一问题:驱动程序负责提供信号,插件负责完成配置。选定的 CAN 报文将转换为 Master 过程映像中的变量。

支持的网关:Beckhoff EL6751 和 KPA EtherCAT 4CAN Gateway。

申请免费试用

CAN DBC 集成

核心功能

两个组件,实现一个目标:插件负责配置,驱动程序负责数据传输

网关设备(例如 EL6751)会输出一系列 CAN 报文。
通常,要让应用程序使用选定的报文,需要额外编写定制逻辑。该解决方案由两个协同工作的组件组成,下面分别介绍它们的优势。

Studio 中的插件

在一个位置完成 CAN 配置

在插件中,您可以从网关输出的数据流中选择需要映射的 CAN 报文,并设置 CAN Master 参数和驱动程序队列长度。随后,KPA EtherCAT Master 和 CAN 网关将根据这些设置完成配置,无需使用单独的配置工具。选定的报文将以原始值的形式映射到过程映像变量中。

  • 在 Studio 中从网关数据流选择报文
  • 在同一位置设置 CAN Master 参数和驱动程序队列长度
  • Master 和网关使用相同的设置完成配置

Master 中的驱动程序

将信号写入过程映像

CAN DBC 驱动程序运行于 KPA EtherCAT Master 内部,是 Master 过程映像之上的一层。它将 CAN 数据从网关复制到自己的缓冲区,根据 Studio 中的设置解析报文,并将解析结果写入过程映像的自定义区域。

  • 按照 Studio 中的设置解析报文
  • 将信号写入过程映像的自定义区域
  • 同时处理 DBC 文件描述的 CAN 报文和未定义报文

DBC 的优势

导入 DBC 文件,自动创建正确的变量

您可以选择使用描述 CAN 对象的 DBC 文件。在配置阶段,CAN Interface 插件中的 DBC 导入功能会自动创建所需变量,为其分配正确的数据类型并完成映射。在运行时,驱动程序会根据 DBC 文件中的偏移量、增益和物理单位转换接收到的报文数据。对于模拟传感器,应用程序读取的是实际物理值,而不是原始 CAN 字节。

  • 导入时自动创建具有正确数据类型的变量
  • 自动映射到过程映像
  • 使用 DBC 文件中的偏移量、增益和物理单位

工作原理

在 Studio 中配置,在 Master 中执行

CAN DBC 驱动程序位于 Master 过程映像之上,并与运行在 Raw CAN 模式下的 EtherCAT CAN 网关配合工作。驱动程序通过 KPA EtherCAT Studio 中的 CAN Interface 插件进行配置。过程映像由 Master 区域和自定义区域组成:Master 将网关数据写入自己的区域,而 CAN DBC 驱动程序则将解析后的信号写入自定义区域,供应用程序读取。

Raw CAN 模式:网关按照接收时的原始状态转发 CAN 帧;驱动程序在解析数据时应用 Studio 中的配置。

通过驱动程序可以采用两种方式交换数据:一种是通过 DBC 文件添加到配置中的指定信号;另一种是通过驱动程序队列发送和接收未指定的报文。这涵盖了两个方向的数据传输:从总线接收 CAN 数据,以及由应用程序向总线发送 CAN 报文。未指定的报文会通过驱动程序队列传递,并以原始帧的形式提供给应用程序,不进行解析。

在运行时,数据路径固定且可预测:数据从网关缓冲区出发,经过 Master 过程映像和驱动程序,最终进入过程映像的自定义区域。

01

在 Studio 中配置

所有设置均在 Studio 插件中完成:加载 DBC 文件(可选),选择需要映射的 CAN 报文,并设置 CAN Master 参数和驱动程序队列长度。驱动程序队列用于在应用程序处理未指定的 CAN 报文之前暂存这些报文。Master 和 CAN 网关均根据这些设置进行配置。
指定信号和未指定报文都在同一个 Studio 插件配置中完成设置。

02

网关接收 CAN 数据

EtherCAT CAN 网关将总线上的 CAN 数据接收到自身缓冲区中。在 Raw CAN 模式下,网关按照接收时的原始状态转发 CAN 帧,无论这些报文是否在 DBC 文件中进行了描述。

03

Master 填充过程映像

KPA EtherCAT Master 从网关获取过程数据,并将其写入过程映像。从这一步开始,接收到的 CAN 帧便可作为 Master 内部的过程数据使用。

04

驱动程序复制并解析数据

CAN DBC 驱动程序将数据复制到自己的缓冲区,并根据 Studio 中的设置进行解析:对于指定信号,驱动程序使用 DBC 文件中的偏移量、增益和单位计算数值;对于未指定的报文,则通过驱动程序队列进行处理。

05

信号写入自定义区域

驱动程序将处理结果写入过程映像的自定义区域。应用程序可以直接读取可用的变量,而无需自行解码原始 CAN 字节,也不需要额外编写定制逻辑。

反向发送数据

同样的数据路径也支持反向传输:应用程序在过程映像中设置相应信号,数据随后沿相反方向经过 CAN DBC 驱动程序和网关,最终发送到 CAN 设备。这样,应用程序便可以控制和驱动 CAN 节点:向执行器和 ECU 发送命令,在测试台上设置测试条件,并在自动化测试序列中控制 CAN 设备。所有操作均通过同一组过程映像变量完成,无需额外编写接口代码。

应用场景

典型应用与使用场景

典型应用包括汽车测试环境。在这些环境中,CAN 节点由 DBC 文件描述,其信号需要传输到 Master 过程映像中。

汽车测试系统

ECU 等 CAN 节点的信息由 DBC 文件描述,并通过 Studio 插件导入 Master 配置。

物理传感器数值

模拟传感器的数值按照 DBC 文件中定义的偏移量、增益和单位进行转换,应用程序无需解码原始 CAN 字节。

混合 CAN 数据流

同一个驱动程序既可以处理由 DBC 文件描述的报文,也可以处理未指定的 CAN 报文,无需对原始报文流进行单独处理。

旧设备支持

从传统 CAN 标准平稳迁移到现代高性能 EtherCAT,无需一次性替换现有设备。

功能提供与许可

KPA EtherCAT Master 的内置功能,集成于 Master 2

CAN DBC 驱动程序是 KPA EtherCAT Master 的一项功能,随每个 Master 2 一同提供,无需单独安装其他组件。要启用此功能,需要购买相应许可证,作为 Master 的扩展许可提供。