CAN FD Receive
Receive CAN FD messages from specified CAN FD device
Libraries:
Vehicle Network Toolbox /
CAN FD Communication
Description
The CAN FD Receive block receives messages from the CAN network and delivers them to the Simulink® model. It outputs one message or all messages at each timestep, depending on the block parameters.
Note
You need a license for both Vehicle Network Toolbox™ and Simulink software to use this block.
The CAN FD Receive block has two output ports:
The
f()
output port is a trigger to a Function-Call subsystem. If the block receives a new message, it triggers a Function-Call from this port. You can then connect to a Function-Call Subsystem (Simulink) to unpack and process a message.The
Msg
output port contains the CAN messages received at that particular timestep. The block outputs messages as a Simulink bus signal. For more information on Simulink bus objects, see Composite Interfaces (Simulink).
The CAN FD Receive block stores CAN messages in a first-in, first-out (FIFO) buffer. The FIFO buffer delivers the messages to your model in the queued order at every timestep.
Note
You cannot have more than one CAN FD Receive block in a model using the same PEAK-System device channel.
Other Supported Features
The CAN FD Receive block supports the use of Simulink accelerator mode. Using this feature, you can speed up the execution of Simulink models. For more information, see Acceleration (Simulink).
The CAN FD Receive block supports the use of code generation along with the packNGo function to group required source code and dependent shared libraries.
Code Generation
Vehicle Network Toolbox Simulink blocks allow you to generate code, enabling models containing these blocks to run in accelerator, rapid accelerator, external, and deployed modes.
You can use Vehicle Network Toolbox, Simulink Coder™, and Embedded Coder® software together to generate code on the host end that you can use to implement your model. For more information on code generation, see Generated Code Compilation (Simulink Coder).
The block generates code with limited portability. The block uses
precompiled shared libraries, such as DLLs, to support I/O for
specific types of devices. With this block, you can use the
packNGo
function supported by Simulink
Coder to set up and manage the build information for your
models. The packNGo
(Simulink Coder) function
allows you to package model code and dependent shared libraries into
a zip file for deployment. You do not need MATLAB® installed on the target system, but the target system
needs to be supported by MATLAB.
To set up packNGo
:
set_param(gcs,'PostCodeGenCommand','packNGo(buildInfo)');
In this example, gcs
is the current model that you
want to build. Building the model creates a zip file with the same name as
model name. You can move this zip file to another machine and there build
the source code in the zip file to create an executable which can run
independent of MATLAB and Simulink. The generated code compiles with both C and C++ compilers.
For more information, see Code Compilation Customization (Simulink Coder).
Note
On Linux® platforms, you need to add the folder where
you unzip the libraries to the environment variable
LD_LIBRARY_PATH
.
Examples
Ports
Output
Parameters
Extended Capabilities
Version History
Introduced in R2018a