nxcomRecvEmcyDev()

<< 点击显示目录 >>

主页  贝加莱CANopen通信使用助手 > 通过编程实现CANopen通讯 > 功能块与函数说明  > AsNxCoM - FBs >

nxcomRecvEmcyDev()

这个FB可以用来读取紧急电报。CANopen堆栈总是保存最后5个电报。读取的电报会被缓冲器删除。

 

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

 

参数

输入/输出

参数

数据类型

说明

IN

enable

BOOL

该功能块只有在enable为<>0时才会执行。

IN

pDevice

UDINT

(given as a pointer to STRING)

接口的名称。

例如。"SS1.IF1"

IN

node

USINT

所需从属设备的节点号(1...127)。

IN

flags

UDINT

标志。

nxcomFLAG_PEEK - 不要从诊断列表中删除节点。

IN

pEmcyData

UDINT

(given as a pointer to STRUCT nxcomEmcyTelegrams_t)

指针指向一个由5个紧急电报组成的数组,每个8字节。

OUT

status

UINT

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

OUT

coStatus

UDINT

该输出包含 CANopen堆栈的状态

OUT

emcyCount

UDINT

实际读取的紧急电报的数量。

 

调用语法

nxcomRecvEmcyDev(enable, pDevice, node, flags, pEmcyData, status, coStatus, emcyCount)

 

pDevice

该参数指定了接口名称(STRING)的地址。接口名称(语法:SL<x>.SS<y>.IF<z>)描述应该被访问的CAN接口(例如 "SS1.IF1")。

 

pEmcyData

该参数指定紧急电报的地址(结构nxcomEmcyTelegrams_t)。结构 nxcomEmcyTelegrams_t 包含 5 个电报,每个有 8 个数据字节。当FB处理成功后,紧急电报会被保存在这里。

 

错误编号

误差数字

常数

错误描述

纠错

0

ERR_OK

无错误


65534

ERR_FUB_ENABLE_FALSE

FB "enable "参数不等于1。

启用FB。

65535

ERR_FUB_BUSY

任务仍在处理中,再次调用FB。

继续调用FB。

 

 

 


34500

nxcomERR_INVALID_DEVICE

为接口指定的名称无效。

检查接口的名称。

34501

nxcomERR_SEND_MESSAGE

发送到CANopen协议栈的消息失败。

这是一个内部AR错误,没有纠错建议。请联系B&R支持。

34502

nxcomERR_TIMEOUT

发送到CANopen协议栈的消息超时。

这是一个内部AR错误,没有纠正错误的建议。请联系B&R支持部门。

34503

nxcomERR_CANOPEN_STACK

发送到CANopen协议栈的消息因错误而终止。

检查CANopen堆栈状态(见参数coStatus - CANopen堆栈状态)。

34504

nxcomERR_DATALEN

指定的文件长度是无效的。

检查指定的数据长度。