<< 点击显示目录 >> 主页 贝加莱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)
该参数指定了接口名称(STRING)的地址。接口名称(语法:SL<x>.SS<y>.IF<z>)描述应该被访问的CAN接口(例如 "SS1.IF1")。
该参数指定紧急电报的地址(结构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 |
指定的文件长度是无效的。 |
检查指定的数据长度。 |