Simulink J1939 通信快速入门
此示例说明如何在 Simulink® 中发送和接收 J1939 参数组 (PG) 报文。
Vehicle Network Toolbox™ 提供 J1939 模块,用于通过控制器局域网 (CAN) 在 Simulink 模型中传输和接收参数组。此示例使用 J1939 Network Configuration、J1939 Node Configuration、J1939 CAN Transport Layer、J1939 Transmit 和 J1939 Receive 模块通过 CAN 总线执行数据传输。通信发生在以环回配置形式连接的 MathWorks® 虚拟 CAN 通道上。
设置 J1939 模块参数
创建一个模型以通过网络执行 J1939 通信。该模型配置为在 J1939 DBC 文件中定义的两个节点之间传输和接收单帧报文。
使用 J1939 Network Configuration 模块并选择文件
J1939.dbc
。此 J1939 数据库文件定义两个网络节点Node1
和Node2
、一个单帧报文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 将尝试在网络通信以时钟时间进行的同时尽可能快地进行仿真。
另请参阅
工具
- 仿真调速选项 (Simulink)
相关主题
- 硬件接口模型中的计时
- 选择求解器 (Simulink)