Simulink中的周期性CAN消息传输行为
这个例子展示了如何在Simulink®中使用MathWorks®虚拟CAN通道设置CAN消息的周期性传输和接收。虚拟通道通过环回配置连接。
车辆网络工具箱™提供了通过Simulink模型在控制器区域网络(CAN)上传输和接收实时消息的Simulink块。此示例使用可以配置,可以包,可以传输,可以接收而且可以解压块在CAN总线上执行数据传输。
发送和接收CAN消息
创建一个模型,以在不同的时间发送两条消息,只接收指定的消息,并使用指定的ID解压消息。
使用一个可以接收块从MathWorks虚拟通道2接收CAN消息。设置块为:
只接收ID为250和500的消息。
如果Receive块在任何特定的时间步上接收到新消息,则生成一个函数调用触发器。
的可以解压块在函数调用子系统.只有当CAN Receive块在特定的时间步接收到新消息时,子系统才会被执行。
以不同的时间戳可视化信息
绘制结果以查看每个解压缩消息的计数器值和时间戳。图中的x轴对应模拟时间步长。时间戳图显示消息在指定的时间发送。还可以看到,由于为ID 250指定了不同的周期速率,因此为ID 250传输的消息数量是为ID 500传输的消息数量的一半。
扩展示例
本例中使用了MathWorks虚拟CAN通道。但是,您可以将您的模型连接到其他受支持的硬件。您还可以修改模型以不同的速率传输或者传输周期性和非周期性消息的组合。
本例使用CAN块,但演示的概念也适用于Simulink中的CAN FD块。