CANexcep()

<< 点击显示目录 >>

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

CANexcep()

当  收到 一个带有 CAN 标识符 can_id 的帧时 ,CANexcep()函数会激活一个预先安装好的异常对象,异常编号为 exc_no

请注意,这个异常对象可以在CAN中断处理程序(回调)的背景下被调用。

 

当使用CP15x时,异常资源的开销大约为150微秒。此外,还有软件对象的应用部分。因此,在循环系统中调用CANexcep()功能块时,建议谨慎行事(违反周期时间)。

 

可以为同一个异常编号 exc_nr定义多个CAN标识符 ,因为  异常触发 的CAN标识符 can_id 可以通过  异常对象中的CANgetid() 函数来 确定  。

 

 

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

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

 

手柄必须被初始化

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

隐藏指针的使用

 

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

参数

输入/输出

参数

数据类型

说明

IN

enable

BOOL

启用的含义 。

位置边缘(0->1)。

定义COB(COB=通信对象),CAN标识符除外。

负边(1->0)。

删除COB,有异常。

IN

us_ident

UDINT

来自 CANopen()的用户标识

IN

can_id

UDINT

CAN Identifier

IN

exc_no

USINT

异常的编号(异常编号208到223是为CAN保留的)。

OUT

status

UINT

错误编号 (0=无错误)。

调用语法(自动化基础)

CANexcep(enable,us_ident,can_id,exc_nr,status)

注意。

EXC-支持从操作系统V2.65和Automation Studio V2.3开始。

注意事项

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

 

例子

Automation Basic

ANSI C

Structured Text