ArCanGetRtrData()

<< 点击显示目录 >>

主页  贝加莱CAN通讯使用例程说明 > 通过编程实现CAN通讯 > 功能块与函数说明 > ArCan >

ArCanGetRtrData()

发送一个RTR请求,并等待收到的RTR数据或直到超时。

因为它是异步处理的,该功能块必须被调用,直到 "Busy "等于 FALSE

 

该功能块只能  在某些情况下用于冗余!这一点 在以下章节中有所描述。

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

 

通信

异步执行

 

关于冗余的更多信息,请参见 冗余部分

 

clip0049

输入/输出

参数

数据类型

说明

IN

Execute

BOOL

功能块的执行在该输入的上升沿开始。

IN

DeviceName

STRING[127]

CAN接口的名称,例如:SS1.IF1

IN

CAN ID

UDINT

CAN RTR标识符

IN

CanIdFormat

UDINT

CAN标识符的格式:arCAN_11BIT或arCAN_29BIT

IN

ResponseDataLength

UDINT

请求数据的长度;值可以是0

IN

Timeout

UDINT

RTR请求的超时(以ms为单位)。

OUT

Done

BOOL

执行成功。该功能块已经完成。

OUT

Busy

BOOL

该功能块处于活动状态,必须继续调用。

OUT

Error

BOOL

在执行功能块时发生错误。

OUT

StatusID

DINT

错误编号

OUT

RtrFrame

ArCanFrameType

接收CAN帧

OUT

Timestamp

ArCanTimestampType

接收CAN帧的时间。

 

 

这些错误号可以被返回:

名称

描述

arCAN_ERR_INVALID_PARAMETER

-1070584147

检查参数。

arCAN_ERR_DEVICE_NAME

-1070584148

检查设备名称。

arCAN_ERR_TIMEOUT

-1070584149

达到超时。

arCAN_ERR_INVALID_ID

-1070584145

检查ID。