主要内容

记录和重播CAN消息

这个示例向您展示了如何在Simulink®中使用MathWorks Virtual CAN通道记录和重放CAN消息。金宝app您可以更新此模型以连接到系统上受支持的硬件。金宝app

加载保存的CAN消息sourceMsgs.mat文件从示例文件夹。该文件包含CAN消息,代表围绕测试轨道90秒的驱动器周期。

将这些消息转换为与CAN重播块兼容的格式,并将其保存到一个单独的文件。

Name Size Bytes Class Attributes canMsgTimetable 100000x8 33510851 timetable canMsgs 1x1 2401176 struct . canMsgs . Name Size Bytes Class Attributes

可以回放模型

这个模型包含:

  • 发送到的CAN重放块虚拟通道1

  • 通过CAN网络接收消息的CAN接收块虚拟通道2

CAN接收块被配置为阻止所有扩展id,只允许WheelSpeed使用标准ID的消息1200通过。

轮速子系统从接收到的CAN消息中解包轮速信息,并将它们绘制到一个范围。子系统还将消息记录到文件中。

车轮速度信息可视化

该图显示了测试驾驶期间所有车轮的速度。

加载记录的消息文件

每次运行模型时,CAN Log块都会创建一个惟一的文件。使用dir在MATLAB命令窗口中查找最新的日志文件。

WheelSpeeds_2011-May-03_020634。mat Name Size Bytes Class Attributes canmsg时刻表100000x8 33510851时刻表canMsgs 1x1 2401176 struct outMsgs 1x1 154320 struct . Name Size Bytes Class Attributes canmsg时刻表100000x8 33510851时刻表canMsgs 1x1 2401176 struct outMsgs 1x1 154320 struct . Name Size Bytes Class Attributes

将登录信息

使用canMessageTimetable将模拟期间记录的消息转换为可在命令窗口中使用的时间表。

要直接访问消息信号,请在转换过程中同时使用适当的数据库文件canSignalTimetable

ans = 15×8时间表时间ID扩展名称数据远程信号长度错误  ___________ ____ ________ _______________ ___________________________ ______ ____________ _____ ______ 0.10701秒1200假{‘WheelSpeeds} {[39 16 39 39 16 39]} {1 x1 struct} 8假假0.1153秒1200假{‘WheelSpeeds} {[39 16 39 39 16 39]} 8 {1 x1struct}假假0.12349秒1200假{‘WheelSpeeds} {[39 16 39 39 16 39]} {1 x1 struct} 8假假0.13178秒1200假{‘WheelSpeeds} {[39 16 39 39 16 39]} {1 x1 struct} 8假假0.13998秒1200假{‘WheelSpeeds} {[39 16 39 39 16 39]} {1 x1 struct} 8假假0.14826秒1200假{‘WheelSpeeds} {[39 1639 16 39 39 16] 8} {1 x1 struct}假假0.15647秒1200假{‘WheelSpeeds} {[39 16 39 39 16 39]} {1 x1 struct} 8假假0.16475秒1200假{‘WheelSpeeds} {[39 16 39 39 16 39]} {1 x1 struct} 8假假0.17338秒1200假{‘WheelSpeeds} {[39 16 39 39 16 39]} {1 x1 struct} 8假假0.18122秒1200假{‘WheelSpeeds} {[39 16 39 39 16 39]} 8 {1 x1 struct}假假0.18941秒1200假{‘WheelSpeeds} {[39 16 39 16 39 39]} 8 {1 x1 struct}假假0.19768秒1200假{‘WheelSpeeds} {[39 16 39 16 39 39]} 8 {1 x1 struct}假假0.20591秒1200假{‘WheelSpeeds} {[39 16 39 16 39 39]} 8 {1 x1 struct}假假0.2142秒1200假{‘WheelSpeeds} {[39 16 39 39 16 39]} {1 x1 struct} 8假假0.2224秒1200假{‘WheelSpeeds} {[39 16 39 39 16 39]} {1 x1 struct} 8假假ans = 15 x4时间表时间LR_WSpeed RR_WSpeed RF_WSpeed LF_WSpeed  ___________ _________ _________ _________ _________ 0.10701秒0 0 0 0 0.1153秒0 00 0 0.12349 sec 0 0 0 0 0.13178 sec 0 0 0 0 0.13998 sec 0 0 0 0 0.14826 sec 0 0 0 0 0.15647 sec 0 0 0 0 0.16475 sec 0 0 0 0 0.17338 sec 0 0 0 0 0.18122 sec 0 0 0 0 0.18941 sec 0 0 0 0 0.19768 sec 0 0 0 0 0.20591 sec 0 0 0 0 0.2142 sec 0 0 0 0 0.2224 sec 0 0 0 0

本示例使用了MathWorks CAN虚拟通道。但是,您可以将您的模型连接到其他受支持的硬件。金宝app