主要内容

使用CAN资源管理器接收和可视化CAN数据

这个例子展示了如何使用能资源管理器应用程序接收和可视化CAN数据。它使用在环回配置中连接的MathWorks®虚拟通道。能资源管理器配置为使用MathWorks Virtual 1 Channel 1接收数据。预先录制的数据在mat文件中提供,并回放到MathWorks Virtual 1 Channel 2上,以模拟连接到实际车辆系统所产生的CAN流量。

打开CAN资源管理器

打开能资源管理器应用程序使用命令canExplorer.或者,你可以找到能资源管理器在MATLAB®应用程序选项卡。

选择设备通道

设备列表显示连接到系统的设备的所有可访问的CAN通道,当前正在使用的设备通道用蓝色轮廓线突出显示。每次你开始能资源管理器时,列表中的第一个设备通道默认自动选择。从列表中选择MathWorks Virtual 1通道1设备列表默认不选择。

配置数据库文件

将数据库文件添加到能资源管理器解码传入的信息和信号。

  1. 要打开数据库配置对话框,请选择数据库在将来发布。

  2. 点击添加打开文件选择对话框。选择CANExplorerDatabase.dbc示例中提供的文件。

  3. 点击好吧保存数据库配置并关闭对话框。

配置通道总线速度

如果所需的网络速度与默认值不一致,则配置通道总线速度。

  1. 要打开设备通道配置对话框,请选择设备通道在将来发布。

  2. 此示例使用默认总线速度为每秒500000位。确认当前设备通道配置,单击好吧

在同一个对话框中,您可以分别为标准ID和扩展ID配置消息过滤器,以控制哪些消息通过通道。默认情况下,这两个过滤选项都设置为允许所有消息通过,但您也可以指定允许或阻止某些id。

配置信号表

在信号表中添加感兴趣的信号。中定义的所有信号CANExplorerDatabase.dbc文件。

  1. 要打开信号表配置对话框,请选择信号>配置信号表在将来发布。

  2. 添加来自可用的信号面板的配置的信号窗格使用按钮。您可以添加单个信号,通过添加消息添加消息中的所有信号,或通过添加数据库添加数据库中的所有信号。对于本例,请选择CANExplorerDatabase.dbc可用的信号窗格中,单击添加数据库中要查看的所有信号。

  3. 点击好吧保存信号表配置并关闭对话框。

如果您提供信号或消息的搜索文本并单击找到,可用的信号窗格更新以显示与搜索文本不区分大小写的部分匹配的搜索结果。

配置信号范围

在信号范围中添加感兴趣的信号。能资源管理器提供3个作用域,每个作用域都可以配置为可视化选择信号。作用域的数量是固定的,不能自定义。在本例中,您将查看来自Message_A在顶部信号范围内,所有信号来自Message_BMessage_C在中间信号范围内,所有信号来自Message_D在底部信号范围。

  1. 要打开顶部信号范围配置对话框,请选择信号>配置Top信号范围在将来发布。

  2. 选择Message_A可用的信号窗格中,单击将此消息中的所有信号添加到顶部信号范围中查看。

  3. 点击好吧保存顶部信号范围配置并关闭对话框。

  4. 使用类似的方法,添加来自Message_BMessage_C查看中间的信号范围,并从Message_D查看底部信号范围。

开始监控

开始监控能资源管理器在开始重放之前,以避免丢失任何数据。点击开始在将来发布。

重放预录的CAN数据

文件中提供了从CAN网络记录的数据CANExplorerData.mat.数据以时间表的形式保存,时间范围约为60秒。

将CAN数据重放到MathWorks Virtual 1 Channel 2中能资源管理器在同一MATLAB实例中的MathWorks Virtual 1 Channel 1上接收。要启动数据重播,请执行脚本replayCANData.m.您还可以连续多次执行该脚本,以生成超过60秒的can数据,以便进行额外的实验。

探索监视器和显示选项

能资源管理器继续接收数据时,可以在控件中进行试验监控显示工具条的部分。

  1. 点击暂停暂停能资源管理器从视觉上更新。而停了下来能资源管理器在后台继续积累和处理数据。

  2. 点击继续恢复视觉更新能资源管理器

为进一步探索:

  1. 如果您点击明确的数据时,所有累积的数据将完全清除能资源管理器

  2. 默认情况下,消息表按时间顺序显示所有CAN消息。要查看每个唯一消息的最新实例,请进行切换独特的消息

  3. 默认情况下,消息表和信号表都显示监控开始后的时间。若要查看每个表中自最后一条消息或信号以来的时间差,请切换三角洲的时间

停止监控

当您完成您的实时获取活动时,单击停止使设备通道脱机。

清理数据重播

通过执行脚本进行清理replayCANDataCleanup.m,它将停止用于重播的MathWorks Virtual 1 Channel 2,并清除不需要的变量。

导出数据以供额外使用

在工具条中,单击控件的上半部分出口按钮将接收到的数据以时间表格式导出到MATLAB工作空间中。

如果您想保留导出的变量以备将来使用:

  • 要将变量保存到mat文件中,请使用保存函数。

  • 要将变量保存到blf文件,请使用blfwrite函数。

导出的消息时间表也可转换为信号数据的个别时间表。的canSignalTimetable函数返回一个结构,该结构为时间表中的每个唯一消息提供一个字段。每个字段值都是该消息中定义的所有信号的时间表。