CANread()

<< 点击显示目录 >>

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

CANread()

CANread()函数用于从CAN控制器读取CAN报文。

enable 输入通知CAN控制器是否要为给定的CAN标识符定义一个缓冲区( enable 的正边  0->1),或者是否要再次删除它( enable 的负边  1->0)。如果 使能 =1,当前的数据将从CAN控制器中获取。

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

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

 

手柄必须被初始化

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

隐藏指针的使用

 

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

参数

输入/输出

参数

数据类型

说明

IN

enable

BOOL

启用的含义 。

位置边缘(0->1)。

定义CAN标识符的COB

Neg. edge (1->0):

删除COB。

enable = 1。

从控制器接收数据。

IN

us_ident

UDINT

来自 CANopen() 函数的用户识别号  。

IN

can_id

UDINT

CAN标识符

IN

data_adr

UDINT

(given as a pointer)

存储读取数据的地址(最大8个字节)。

OUT

data_lng

USINT

数据的长度。

OUT

status

UINT

状态

描述

0

数据被成功读取。

xxxx

错误号码也会输出到 状态 输出。

调用语法(自动化基础)

CANread(enable, us_ident, can_id, adr(data_adr), data_lng, status)

 

注意事项

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

 

仅适用于带有英特尔82527或博世CC770 CAN控制器的CAN接口

CANread()函数可以同时定义最多13个不同的CAN标识符(例如,SG3或5AC901.ICAN-00)。

在函数本身中,在第一次调用时(即 启用 输入0->1的正边)为每个CAN标识符分配了一个临时的内部COB(COB=通信对象)  。

例子

Automation Basic

ANSI C

Structured Text