主要内容

Simulink中的周期性CAN消息传输行为金宝app

这个示例演示了如何使用MathWorks虚拟CAN通道在Simulink中设置CAN消息的周期性传输和接收。金宝app通过环回配置连接虚拟通道。

车辆网络工具箱™提供Simulink模块,通过控制器区域网络(CAN金宝app)上的Simulink模型发送和接收实时消息。本示例使用可以配置可以包能传播可以接收可以解压块来在CAN总线上执行数据传输。

发送和接收CAN消息

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

  • 使用一个能传播块发送ID为250的CAN消息,每1秒发送一次。

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

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

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

使用一个可以接收阻塞从MathWorks虚拟通道2接收CAN消息。将block设置为:

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

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

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

可视化不同时间戳的消息

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

扩展示例

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

这个例子使用了CAN块,但是演示的概念也适用于Simulink中的CAN FD块。金宝app