- 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
Why can't I receive the signal data normally when I use the CAN Receive block
2 views (last 30 days)
Show older comments
These are my test configurations:
Results below:
Sample Time: 0.01
Fixed Step Discrete
0 Comments
Answers (1)
Sayan
on 17 Sep 2024
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:
Hope this answers the query.
0 Comments
See Also
Categories
Find more on Outputs in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!