Log received CAN messages
Vehicle Network Toolbox / CAN Communication
The CAN Log block logs CAN messages from the CAN network, or messages sent
to the block input port, to a
.mat file. You can load the saved messages
into MATLAB® for further analysis or into another Simulink® model.
Configure your CAN Log block to log from the Simulink input port. For more information, see Log and Replay CAN Messages.
The CAN Log block appends the specified filename with the current date and time, creating unique log files for repeated logging.
If you want to use messages logged using Simulink blocks in the MATLAB Command window, use
canMessage to convert messages to the correct
You need a license for both Vehicle Network Toolbox™ and Simulink software to use this block.
You cannot have more than one CAN Log block in a model using the same PEAK-System device channel.
The CAN Log block supports the use of Simulink Accelerator™ and Rapid Accelerator mode. Using this feature, you can speed up the execution of Simulink models. For more information on this feature, see the Simulink documentation.
The CAN Log block supports the use of code generation along with the packNGo function to group required source code and dependent shared libraries.
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 Build Process (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
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
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 Build Process Customization (Simulink Coder).
On Linux® platforms, you need to add the folder where
you unzip the libraries to the environment variable
CAN Msg— CAN messages to log
The CAN Msg input port is available when the Log
messages from parameter is set to
Input port. Provide
an input from another block as a
CAN_MESSAGE or a Simulink signal bus of type
File name— Log file location and name
untitled.mat(default) | file name
Enter the name and path of the file to log CAN messages to, or click Browse to browse to a file location.
The model appends the log file name with the current date and time in the format
YYYY-MMM-DD_hhmmss. Specify a unique name to differentiate between
your files for repeated logging.
Variable name— Variable name for CAN message in log file
ans(default) | variable name
Specify the name for the variable saved in the MAT-file that holds the CAN message information.
Maximum number of messages to log— Limit quantity of messages
10000(default) | numeric
Specify the maximum number of messages this block can log from the selected device
or port. The specified value must be a positive integer. The default value is
10000 messages. The log file saves the most recent messages up to
the specified maximum number.
Log messages from— Source of messages
CAN Bus(default) |
Select the source of the messages logged by the block. To log messages from the CAN
bus network, select
CAN Bus, then specify a
Device. To log messages from another block in the model, select
Input port, which adds an inport port to the block.
Device— CAN device and channel
Select the device on the CAN network that you want to log messages from. This field
is available only if you select
CAN Bus for the Log
messages from option.
Sample time— Block sampling time in simulation
0.01(default) | numeric
Specify the sampling time of the block during simulation. This value defines the
frequency at which the CAN Log block runs during simulation. If the block is inside a
triggered subsystem or to inherit sample time, you can specify
the sample time. You can also specify a MATLAB variable for sample time. The default value is
simulation seconds. For more information, see Timing in Hardware Interface Models.
This block generates code with limited portability that runs only on the host computer. See Code Generation.