Main Content

Simulink J1939 通信快速入门

此示例说明如何在 Simulink® 中发送和接收 J1939 参数组 (PG) 报文。

Vehicle Network Toolbox™ 提供 J1939 模块,用于通过控制器局域网 (CAN) 在 Simulink 模型中传输和接收参数组。此示例使用 J1939 Network ConfigurationJ1939 Node ConfigurationJ1939 CAN Transport LayerJ1939 TransmitJ1939 Receive 模块通过 CAN 总线执行数据传输。通信发生在以环回配置形式连接的 MathWorks® 虚拟 CAN 通道上。

设置 J1939 模块参数

创建一个模型以通过网络执行 J1939 通信。该模型配置为在 J1939 DBC 文件中定义的两个节点之间传输和接收单帧报文。

  • 使用 J1939 Network Configuration 模块并选择文件 J1939.dbc。此 J1939 数据库文件定义两个网络节点 Node1Node2、一个单帧报文 VehicleDataSingle 和一个多帧报文 VehicleDataMulti

  • 使用 J1939 CAN Transport Layer 模块并将设备设置为 MathWorks Virtual 1 (Channel 1)。传输层配置为在 CAN 上通过指定的通道传输 J1939 报文。

  • 将 Counter Limited 和 Constant 等 Simulink 信源模块连接到 J1939 Transmit 模块的输入。J1939 Transmit 模块设置为在启用触发端口后对数据排队以在每个时间步进行传输。对于此示例,周期性触发子系统每 50 毫秒发送一个高脉冲。

  • 使用 J1939 Receive 模块接收通过网络传输的报文。

可视化在网络上收到的信号

运行 Simulink 模型,在示波器上观察接收的车辆信号值。

在此示例中,模型配置为在启用仿真调速并将每挂钟秒的仿真时间设置为 1 的情况下运行。这允许仿真速度变慢并展示接近实时的行为。如果您选择禁用仿真调速,Simulink 将尝试在网络通信以时钟时间进行的同时尽可能快地进行仿真。

另请参阅

工具

相关主题