CANMulQueue()

<< 点击显示目录 >>

主页  贝加莱CAN通讯使用例程说明 > 通过编程实现CAN通讯 > 功能块与函数说明 > CAN_Lib > CAN_Lib - CAN Function Blocks and Functions >

CANMulQueue()

CANMulQueue函数用于在读取方向上为多个CAN标识符安装一个队列。

如果  用一个大于0的值定义了 大小 ,那么就为指定的CAN标识符建立了一个接收队列。该队列和相应的通信对象(COB)通过再次调用enable = 0而被删除。队列的内容被删除,在 size 输入  上的值为0  , enable = 1。当队列已满时,不能再接受电报(状态=8810)。队列在内存中的 每个条目(大小) 需要10字节。

 

 

这个功能块只能有条件地 用于冗余

适用的限制在下面的章节中描述。

 

手柄必须被初始化

不活动的CPU上的特殊错误代码

隐藏指针的使用

 

其他信息可以在 "冗余 " 部分找到

参数

输入/输出

参数

数据类型

说明

IN

enable

BOOL

该功能块仅在 enable 为<>0时执行 。

IN

us_ident

UDINT

us_ident来自CANopen / CANMulOpen

IN

pCAN_id

UDINT

(given as a pointer)

地址/指向CAN标识符阵列的指针

IN

ID_nr

USINT

CAN标识符的数量

IN

size

UINT

队列中电报的数量。队列内容被删除,大小=0。

OUT

q_id

UDINT

CANmulrd的标识符

OUT

status

UINT

错误编号 (0=无错误)

调用语法(自动化基础)

CANMulOpen(enable, us_ident, adr(CAN_id), ID_nr, size, q_ident,status)

注意事项

如果CAN功能块在C函数中被本地调用(并且FBK结构在该函数中被本地声明,而不是用_LOCAL/_GLOBAL),那么静态FBK内存必须被初始化为0。

 

例子

Automation Basic

ANSI C

Structured Text