Why can't I receive the signal data normally when I use the CAN Receive block

38 次查看(过去 30 天)
These are my test configurations:
Results below:
Sample Time: 0.01
Fixed Step Discrete

回答(1 个)

Sayan
Sayan 2024-9-17,13:41
Hi 审言,
I assume you are asking about the requirement of using an additional block i.e. "CAN Unpack" block with the "CAN Receive" block to read the received data. The "CAN Unpack" block is used for the following reasons:
  • The "CAN Receive" block receives raw CAN messages. It can not inherently understand or manipulate the data content within these messages. To use the received signals in Simulink the "CAN Unpack" block is used.
  • In the "CAN Unpack" the individual signal from the CAN messages are read with the functionality of selecting start bit, length , byte order etc which can be error-prone and complex if done manually.
  • A CAN message from "CAN Receive" can carry signals from multiple CAN message IDs. With the "CAN Unpack" block the the data for individual IDs can be read. You can refer to the following example model to understand more on its usage with multiple message IDs received from "CAN Receive" block: https://www.mathworks.com/help/vnt/ug/implement-can-network-for-robotic-arm-in-simulink.html
Hope this answers the query.

类别

Help CenterFile Exchange 中查找有关 Outputs 的更多信息

产品


版本

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by