CAN Message Read

This MotoHawk™ block will receive and unpack a CAN message on the selected CAN channel.

Block ID

Read CAN Message


MotoHawk_lib/CAN Blocks



Attach Simulink signal specifications the output ports, to convert the output signals to an appropriate data type. Specifically, if a gain or offset is applied in the message specification, assign the signal to the floating-point data type. More information about configuring a CAN read definition script as well as using a payload mask and payload ID to route messages with same CAN message ID to different CAN read blocks, and configuring a CAN mask ID filter to receive multiple CAN frames on the same CAN read block can be found here.

Note: Unpacking signals which consists of signed or unsigned integers greater than 32-bits long is not supported.

Block Parameters

Parameter Field Values Comments/Description
Reference Name Alpha-numeric text, single-quote enclosed. Reference to CAN Definition channel to read, matching "Name" entry in CAN Definition block. No special characters, such as spaces, dashes, commas (underscore allowed)
Message Definition Identify message definition file.  See motohawk_can_example.m for single frame use, and motohawk_can_multiread_example.m for using payload filtering of received messages. Details on defining CAN definition scripts can be found here.
Queue Size Numeric Sets the size of the incoming message queue that will hold messages until this block executes. A value of zero or one will make only the most recently received message available.
Slot Name Alpha-numeric text, single-quote enclosed. May be empty.  It allows other blocks to reference the slot, such as the CAN Receive Slot Properties Set block which can be used to dynamically set by ID, ID Mask, Payload, and Payload Mask. It is also referenced by the CAN Receive Slot Trigger block.
No special characters, such as spaces, dashes, commas (underscore allowed).
Show Data Available Port Check Box (enable) If selected, a port will be added that will have the value 1 if a message is available and zero otherwise. If the queue size is larger than 1, one can associate a Simulink Do-While block to this port and poll all of the messages out of the Queue.
Show Age Count Port Check Box (enable) This port increments every time the block executes and no messages are available. The date from this port can be used to do timeout logic on a message.
Label Wires with Field Names Check Box (enable) Select this checkbox to cause the field names to be applied to the wires leading into the block.