CanRecv – Receive CAN message

Block SymbolLicensing group: CANDRV
Qt SVG Document Exported by REXYGEN Studio itemRef msgId data length nDRDY iErr age CanRecv

Function Description
The CanRecv block receives message via CAN bus. The block accepts only messages that match the filter (parameters filterId, filterIdMask, filterLength, RTR, EXT).

Number of messages received in the current task period (i.e. since the previous execution) is indicated by the nDRDY output.

The data from the last received message is available at the msgId, data and length outputs. Previous messages (with respect to the nmax parameter) are available using the CanItem block(s) linked to the itemRef output.

The block must be linked with the CanDrv driver. The driver must be configured to use the simple CAN mode (i.e. the parameter NodeMode = 256). The block’s name must be in the form <DRV>__<blkname> (see e.g. Goto, OUTQUAD or OUTOCT blocks for details about referencing data from I/O drivers). The <blkname> part of the name has no special meaning in this case and it is recommended to keep the original CanRecv.

The block supports short (11-bit) and long (29-bit) message IDs (see the EXT parameter) and RequestToReceive messages (see the RTR parameter). FD mode which allows up to 64 data bytes in a single message is not supported.

This block does not propagate the signal quality. More information can be found in the 1.4 section.

Parameter

filterId

MessageId of packets to receive by this block   0  536870911

Long (I32)

filterIdMask

Mask for the filterId parameter (marks valid bits)   0  536870911

Long (I32)

filterLength

Data length of packets to receive by this block (-1 allows all lengths)   -1  8

Long (I32)

RTR

Request To Receive flag  on

Bool

EXT

Extended message ID (29bits)  on

Bool

timeout

Error is indicated if no packet is received within the timeout interval [s]   0.0

Double (F64)

nmax

Maximum number of received messages in one period   1  255

Long (I32)

Output

itemRef

Secondary received packet reference

Reference

msgId

CAN message ID (COB-ID)

Long (I32)

data

Message data (8 bytes maximum, LSB first)   -9.22337E+18  9.22337E+18

Large (I64)

length

Message length (number of bytes of data)   0  8

Long (I32)

nDRDY

Number of received messages in the last period   255

Word (U16)

iErr

Error code

Error

age

Elapsed time since the last received message [s]   0.0

Double (F64)

2024 © REX Controls s.r.o., www.rexygen.com