Skip to main content

アプリケーションでの診断

CANopen州

デバイスのCANopen状態は、次の3つの方法でアプリケーションに問い合わせることができます。

  • GET_STATE ファンクションブロック(CAA CiA 405 図書館)

  • <name in device tree>.CANopenState 財産 (3S CANopenStack 図書館)

  • <name in device tree>.GetDeviceState 方法 (CAAデバイスの診断 図書館)

    このメソッドはCANopen状態を返しませんが、デバイスが実行されているかどうかの情報を返します。間のマッピングテーブル CANopenStateDEVICE_STATE のライブラリドキュメントにあります CANopenStack

CANopen Managerには、すべての必須およびオプションのスレーブがにあるかどうかを調べるためのプロパティもあります。 OPERATIONAL 州。これらのプロパティは、条件が適用される場合、構成フェーズの後に1回だけ設定されることに注意してください。その後スレーブに障害が発生した場合、これらのプロパティはそれに応じて設定されたままになります。

さらに、CANopenの状態は機能ブロックを使用して設定することもできます NMT (図書館 CAA CiA 405)またはメソッド <name in device tree>.SetCommunicationState ((CAAデバイスの診断 図書館)。

CANopenカーネルの状態

CANopenカーネル状態の問い合わせは、バスエラー、構成エラー、または監視エラーを検出するために使用できます。

状態は、プロパティを使用して問い合わせることができます <name of CANopen Manager in device tree>.KernelState または機能ブロック GET_CANOPEN_KERNEL_STATE ((CAA CiA 405 図書館)。

緊急

CIA405機能ブロックを使用して緊急電報を受信できます。

  • RECV_EMCY:バスストランドのすべてのデバイスのすべての緊急事態の受信

  • RECV_EMCY_DEV:特定のデバイスの緊急事態の受信

事前定義されたエラーフィールドとエラーレジスタ

スレーブのオブジェクトディレクトリのオブジェクトは、 SDO_READ4SDO_READ_DATA CiA405機能ブロック。

安全診断

Safetyの場合、接頭辞「S_」が付いた暗黙的に作成された機能ブロックは、診断に対応する出力を提供します。これらの機能ブロックを使用して、スレーブへのSRDO通信がアクティブであるかどうか、または安全な状態に到達したかどうかを定義できます。

さらに、機能ブロックは、個々のスレーブのエラーを確認するための入力を提供し、SRDO通信を一時的に非アクティブにします。

詳細については、以下を参照してください。 CANopenManagerSIL2CANRemoteDeviceSafe(FB)