应用中的诊断
CANopen 状态
可以通过三种不同方式在应用程序中查询设备的 CANopen 状态:
GET_STATE
功能块(民航局中央情报局 405
图书馆)<name in device tree>.CANopenState
财产 (3S CANopenStack
图书馆)<name in device tree>.GetDeviceState
方法 (CAA 设备诊断
图书馆)该方法不返回 CANopen 状态,而是返回设备是否正在运行的信息。之间的映射表
CANopenState
和DEVICE_STATE
可以在图书馆文档中找到CANopenStack
.
CANopen 管理器还具有询问是否所有必需和可选从站都在 OPERATIONAL
状态。请注意,如果条件适用,这些属性仅在配置阶段后设置一次。如果从属服务器随后发生故障,则这些属性将保持相应设置。
此外,还可以通过功能块设置 CANopen 状态 NMT
(图书馆 民航局中央情报局 405
) 或方法 <name in device tree>.SetCommunicationState
(CAA 设备诊断
图书馆)。
CANopen 内核状态
CANopen 内核状态的询问可用于检测总线错误、配置错误或监控错误。
国家可以通过财产进行讯问 <name of CANopen Manager in device tree>.KernelState
或功能块 GET_CANOPEN_KERNEL_STATE
(民航局中央情报局 405
图书馆)。
紧急情况
您可以通过 CIA405 功能块接收紧急电报。
RECV_EMCY
:接收母线所有设备的所有紧急情况RECV_EMCY_DEV
:接收特定设备的紧急情况
预定义的错误字段和错误寄存器
从站的对象目录的对象可以用 SDO_READ4
和 SDO_READ_DATA
CiA405 功能块。
安全诊断
在安全的情况下,隐式创建的带有前缀“S_”的功能块提供相应的诊断输出。使用这些功能块,您可以定义与从站的 SRDO 通信是否处于活动状态或是否已达到安全状态。
此外,该功能块还提供输入以确认单个从站的错误以及暂时停用 SRDO 通信。
有关更多信息,请参阅: CANopenManagerSIL2
和 CANRemoteDeviceSafe (FB)