CANopenGetState()

<< 点击显示目录 >>

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

CANopenGetState()

该功能块用于查询设备的节点状态。

状态查询是基于心跳或救生员的监测。在 "状态 "输出上的返回值有以下含义。

 

返回值

描述

UNKNOWN

指定地址的CANopen设备不支持心跳或救生员监控,所以它的状态不能被监控。

NOT_AVAIL

指定地址的CANopen设备不再响应心跳或生命保护查询,使其对系统不可用。

其他。

除了UNKNOWN和NOT_AVAIL状态值外,返回值对应于CiA标准草案301中的各自定义(见 常量概述)。

以 "node=0 "调用功能块,返回本地PLC的本地节点状态。

 

异步处理导致该功能块返回 ERR_FUB_BUSY ,直到FBK成功完成或发生错误。

 

该功能块 不能 用于 冗余!

 

参数

输入/输出

参数

数据类型

说明

IN

enable

BOOL

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

IN

pDevice

UDINT

(transmitted as a pointer to STRING)

设备名称(语法:SL<x>.SS<y>.IF<z>)

IN

node

USINT

要查询的节点的地址(1-127或0代表本地节点)。

OUT

status

UINT

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

OUT

state

UINT

CANopen内核的状态(见 CIA405_STATE 常数)。

 

调用语法(Automation Basic)

CANopenGetState (enable, adr(Device), node, status)