AnyMath 文档

RITM-CAN RX

接收CAN消息。

模块类型: CFunction

库中的路径:

/RITM/RITM CAN/RITM-CAN RX

资料描述

要使用该块,请安装/更新支持包。 节奏块

RITM-CAN RX 它用于接收CAN消息。

CAN RX块中的消息过滤器

接收到的CAN消息的标识符的长度可以是 29 位(用于扩展帧格式)或 11 位(对于标准帧格式)。 CAN消息通过过滤器,并且仅当标识符的所有位都通过过滤器时才被接受。 如果消息标识符的至少一个比特未通过过滤器,则丢弃该消息。 参数值 Filter ID:Mask: 允许您根据收到的CAN消息的标识符的单个位设置过滤器。

如果满足以下条件,则消息将通过筛选器: CAN ID&Mask==过滤器ID&Mask,

其中*CAN ID*是接收到的CAN消息的标识符。

换句话说,过滤器可以以下列规则的形式表示
  1. 如果值为 Mask: 如果单个位为零,则不过滤此位。 也就是说,该位在过滤器中不被检查并通过过滤器。

  2. 如果值为 Mask: 对于单个位等于1,则通过该位的值执行过滤: 如果来自*的位可以ID*和来自 *Filter ID: 如果它们匹配,则该位通过滤波器。 如果来自*的位可以ID*和来自 *Filter ID: 如果它们不同,则该位不通过滤波器。

过滤器操作示例

让下面的消息过滤器设置。:

FilterID = 0b0100;
Mask     = 0b0110;

带有CAN标识符的消息 0x4, 0x50xC 它们通过过滤器并被接受:

CAN_ID = [0b0100 0b0101 0b1100];
can_msg_passed = bitand(CAN_ID, Mask) == bitand(FilterID, Mask)
can_msg_passed =

  1×3 logical array

   1   1   1

带有CAN标识符的消息 0x1, 0x20x6 它们不穿过过滤器而被丢弃:

CAN_ID = [0b0001 0b0010 0b0110];
can_msg_passed = bitand(CAN_ID, Mask) == bitand(FilterID, Mask)
can_msg_passed =

  1×3 logical array

   0   0   0

港口

输入

# RITM-CAN设置 — 端口描述符端口
标量,标量

Details

接收器单元必须连接到相应的端口配置单元。 RITM-CAN Setup.

数据类型

漂浮64

复数支持

非也。

输出

# 消息数量 — 可从输出*消息中读取的接收消息数*
标量,标量

Details
数据类型

UInt32

复数支持

非也。

# 信息 — 收到的CAN消息
轮胎

Details

接收到的CAN消息是总线类型的形式 CAN_MESSAGE_BUS.

数据类型

N.公共标志

复数支持

非也。

参数

Параметры:

# Интерфейс CAN: — CAN端口用于接收消息
CAN 1 | CAN 2 | CAN 3 | CAN 4 | CAN 5 | CAN 6 | CAN 7 | CAN 8

Details

端口号显示在KPM"节奏"的情况下。

CAN 1 | CAN 2 | CAN 3 | CAN 4 | CAN 5 | CAN 6 | CAN 7 | CAN 8

默认值

CAN 1

程序使用名称

m_interfaceCAN

可调谐

可计算

# Максимальное число сообщений: — 最大消息数

Details

在一个计算步骤中从操作系统缓冲区传输到模型的最大消息数

默认值

1

程序使用名称

m_maxMsgNum

可调谐

可计算

# Шаг расчёта, с: — 在实时应用程序中接收CAN消息的计算步骤(以秒为单位)

Details
默认值

-1

程序使用名称

m_smplT

可调谐

可计算

Фильтр:

# Filter ID: — 在操作系统级别过滤接收的消息

Details

要禁用过滤器并接收所有消息,请设置参数 Filter ID:Mask: 价值 0. 过滤器操作的详细描述在CAN RX块中的消息过滤器一节中给出。

默认值

0x00

程序使用名称

m_canId

可调谐

可计算

# Mask: — CAN消息标识符过滤器的位掩码

Details

指定接收到的CAN消息的标识符的哪些位参与操作系统级别的过滤。 如果满足条件,则接受消息: CAN_ID&Mask==Filter_ID&Mask.

  • 0 在位 面具 --相应的位 CAN_ID 未勾选(跳过);

  • 1 在位 面具 --相应的位 CAN_ID 必须匹配位 过滤器_id 否则,该消息被丢弃。

要禁用过滤器并接收所有消息,请设置参数 Filter ID:Mask: 价值 0. 过滤器操作的详细描述在CAN RX块中的消息过滤器一节中给出。 CAN标识符可以长 11 位(用于扩展帧格式)或 11 位(对于标准帧格式)。

默认值

0x00

程序使用名称

m_canMask

可调谐

可计算