nxcosNmt()

<< 点击显示目录 >>

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

nxcosNmt()

 

该 FB 可用于设置从属设备的 NMT 状态。通常情况下,NMT状态由NMT主站设置,但有时需要从应用中设置NMT状态。

 

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

 

参数

输入/输出

参数

数据类型

说明

IN

enable

BOOL

该功能块仅在enable为<>0时执行。

IN

pDevice

UDINT

(given as a pointer to STRING)

接口的名称。

例如。"SS1.IF1"

IN

command

UDINT

NMT命令

状态

描述

nxcosNMT_CMD_START

1

启动节点

nxcosNMT_CMD_STOP

2

停止节点

nxcosNMT_CMD_ENTER_PREOP

128

将节点设置为预操作模式。

nxcosNMT_CMD_RESET_NODE

129

重置节点。

nxcosNMT_CMD_RESET_COMM

130

重置与节点的通信。

OUT

status

UINT

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

OUT

coStatus

UDINT

该输出包含 CANopen堆栈的状态

 

调用语法

nxcosNmt(enable, pDevice, command, status, coStatus)

 

pDevice

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

 

错误号码

误差数字

常数

错误描述

0

ERR_OK

无错误

65534

ERR_FUB_ENABLE_FALSE

FB "enable "参数不等于1。

65535

ERR_FUB_BUSY

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

 

 

 

34600

nxcosERR_INVALID_DEVICE

为接口指定的名称无效。

34601

nxcosERR_SEND_MESSAGE

发送到CANopen堆栈的消息失败。

34602

nxcosERR_TIMEOUT

发送到CANopen堆栈的消息超时了。

34603

nxcosERR_CANOPEN_STACK

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