nxcomGetState()

<< 点击显示目录 >>

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

nxcomGetState()

 

这个FB可以用来读取指定节点的NMT状态。

 

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

 

参数

输入/输出

参数

数据类型

说明

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 - 不要从诊断列表中删除节点。

OUT

status

UINT

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

OUT

coStatus

UDINT

该输出包含 CANopen堆栈的状态。

OUT

nmtState

UDINT

所需从站的当前NMT状态。

状态

说明

nxcomNMT_STATE_UNKNOWN

0

未知

nxcomNMT_STATE_INITIALISING

1

初始化

nxcomNMT_STATE_STOPPED

2

已停止运行

nxcomNMT_STATE_OPERATIONAL

3

运行中

nxcomNMT_STATE_PRE_OPERATIONAL

4

运行前

nxcomNMT_STATE_RESET_APPL

5

复位应用

nxcomNMT_STATE_RESET_COMM

6

复位通信

 

调用语法

nxcomGetState(enable, pDevice, node, flags, status, coStatus, nmtState)

 

pDevice

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

 

错误号码

误差数字

常数

错误描述

纠错

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

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

检查指定的数据长度。