主要内容

记录和回放CAN FD消息

这个例子向您展示了如何在Simulink中使用MathWorks虚拟CAN FD通道记录和重播CAN FD消息。您可以更新此模型以连接到系统上支持的硬件。

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

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

名称大小字节字节类属性canfdmsg时间表100000x12 45411725时间表canFDMsgs 1x1 8401848 struct

CAN FD重放模型

这个模型包含:

  • 一个CAN FD重放块,传输到MathWorks虚拟通道1

  • CAN FD接收块,它通过CAN FD网络接收消息MathWorks虚拟通道2

CAN FD接收块被配置为阻断所有扩展id,只允许WheelSpeed消息的标准ID1200通过。

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

可视化车轮速度信息

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

加载日志消息文件

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

WheelSpeeds_2018-Apr-30_132033。mat名称大小字节类属性canfdmsg时间表100000x12 45411725时间表canFDMsgs 1x1 8401848 struct outFDMsgs 1x1 841848 struct . matc . matc

将登录信息

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

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

ans = 15 x12时间表时间ID扩展名ProtocolMode数据远程BRS ESI DLC信号长度错误  __________ ____ ________ _______________ ____________ __________________________________ ______ ___ ____________ _____ ______ _____ _____ 75.393秒576假{0 x0 char}{'可以FD} {[79 136 166 71]} 4 4 {0 x0 struct}假假真假75.397秒1200假{‘WheelSpeeds}{'可以FD} {[54 171 55 39 54 180 55 39]} 8 8 {1 x1 struct}假假真假75.398秒128假{0 x0 char}{'可以FD '} {[41 89 117 48 83 218]} 7 7 {0 x0 struct}假假真假75.398秒133假{0 x0 char}{'可以FD} {[0 102 0 0 0 0 0 0]} 8 8 {0 x0 struct}假假真假75.398秒144假{0 x0 char}{'可以FD} {[167 129 247 8 200 145 24 93]} 8 8 {0 x0 struct}假假真假75.398秒528假{0 x0 char}{'可以FD} {[60 64 255 254 0 0]} 7 7 {0 x0 struct}假假真假75.399秒529假{0 x0 char}{'可以FD} {[60 255 255 255 255 255 255 255]} 8 8 {0 x0struct}假假真假75.399秒1201假{0 x0 char}{'可以FD} {[15 155 16 23 15 164 16 23]} 8 8 {0 x0 struct}假假真假75.399秒512假{0 x0 char}{'可以FD} {[2 125 213 2 129 128 255]} 8 8 {0 x0 struct}假假真假75.399秒513假{0 x0 char}{'可以FD} {[31 179 255 255 54 222 38 255]} 8 8 {0 x0 struct}假假真假75.399秒533假{0 x0 char}{'可以FD} {[2 168 168 2 42 35 0]} 8 8 {0 x0 struct}假假真虚假的75.4秒1312假{0 x0 char}{'可以FD} {[250 0 200 50 0]} 5 5 {0 x0 struct}假假真假75.405秒1200假{‘WheelSpeeds}{'可以FD} {[54 173 55 41 54 180 55 40]} 8 8 {1 x1 struct}假假真假75.406秒1201假{0 x0 char}{'可以FD} {[15 157 16 25 15 164 24]} 8 8 {0 x0 struct}假假真假75.408秒1296假{0 x0 char}{'可以FD} {[39 0 1]} 3 3 {0 x0 struct}假假真假ans = 15 x4时间表时间RR_WSpeed RF_WSpeed LR_WSpeed LF_WSpeed__________ _________ _________ _________ _________ 75.397秒41.19 40.04 41.19 39.95 41.2 40.04 41.21 39.97 75.414 75.405 41.22 40.05 41.26 40.03 41.25 40.13 41.3 40.05 75.433 75.424 41.19 40.14 41.28 40.08 41.17 40.18 41.31 40.14 75.45 75.441 41.31 40.27 41.31 40.17 41.37 40.25 41.31 40.19 75.466 75.458 41.39 40.22 41.3 40.19 41.39 40.25 41.3 40.2 75.483 75.475 41.37 40.26 41.33 40.21 41.44 40.35 41.33 40.19 75.501 75.492 41.51 40.44 41.36 40.2275.509 SEC 41.58 40.47 41.44 40.29 75.517 SEC 41.63 40.45 41.44 40.31

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

Baidu
map