Skip to main content

应用中的诊断

CANopen 状态

可以通过三种不同方式在应用程序中查询设备的 CANopen 状态:

  • GET_STATE 功能块(民航局中央情报局 405 图书馆)

  • <name in device tree>.CANopenState 财产 (3S CANopenStack 图书馆)

  • <name in device tree>.GetDeviceState 方法 (CAA 设备诊断 图书馆)

    该方法不返回 CANopen 状态,而是返回设备是否正在运行的信息。之间的映射表 CANopenStateDEVICE_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 功能块接收紧急电报。

预定义的错误字段和错误寄存器

从站的对象目录的对象可以用 SDO_READ4SDO_READ_DATA CiA405 功能块。

安全诊断

在安全的情况下,隐式创建的带有前缀“S_”的功能块提供相应的诊断输出。使用这些功能块,您可以定义与从站的 SRDO 通信是否处于活动状态或是否已达到安全状态。

此外,该功能块还提供输入以确认单个从站的错误以及暂时停用 SRDO 通信。

有关更多信息,请参阅: CANopenManagerSIL2CANRemoteDeviceSafe (FB)