主要内容

Simulink中的周期性CAN消息传输行为万博1manbetx

本例展示了如何使用MathWorks®虚拟CAN通道在Simulink®中设置CAN消息的定期传输和接收。万博1manbetx虚拟通道以环回配置连接。

车辆网络工具箱™提供了Simulink模块,用于通过控制器区域网络(万博1manbetxCAN)上的Simulink模型传输和接收实时消息。本例使用可以配置可以包可以传输可以接收而且可以解压块在CAN总线上执行数据传输。

发送和接收CAN消息

创建一个模型,在不同的时间传输两条消息,只接收指定的消息,并使用指定的ID解包消息。

  • 使用一个可以传输block发送ID为250的CAN消息,每1秒发送一次消息。

  • 使用另一个CAN Transmit块发送ID为500的CAN消息,每0.5秒发送一次消息。

  • 向两者输入一个信号可以包块到一个限制为50的自动递增计数器。

  • 两个CAN传输块都连接到MathWorks虚拟通道1。

使用一个可以接收block接收来自MathWorks虚拟通道2的CAN消息。设置块为:

  • 仅接收ID为250和500的消息。

  • 如果Receive块在任何特定时间步接收到新消息,则生成一个函数调用触发器。

可以解压块位于函数调用子系统(万博1manbetx模型).只有当CAN Receive块在特定的时间步接收到新消息时,子系统才会执行。

在不同的时间戳中可视化消息

绘制结果以查看每个解压缩消息的计数器值和时间戳。图上的x轴对应模拟时间步长。时间戳图显示消息在指定时间发送。还可以看到,由于为ID 250指定了不同的周期速率,为ID 500传输的消息数量是它们的一半。

扩展示例

本例使用MathWorks虚拟CAN通道。但是,您可以将您的模型连接到其他受支持的硬件。万博1manbetx您还可以修改模型以不同的速率传输,或者传输周期性和非周期性消息的组合。

本例使用CAN块,但所演示的概念也适用于Simulink中的CAN FD块。万博1manbetx