特殊機能オブジェクト

CANopenには、特殊なネットワーク動作を可能にする3種類の特殊なプロトコルが用意されています。

  • SYNCオブジェクト: 同期ネットワークの動作を可能にします。
  • タイムスタンプオブジェクト: 一意のネットワーク時間の調整に使用されます。
  • エマージェンシーオブジェクト: 他のネットワークデバイスにデバイスの内部エラーを通知する場合に使用できます。

同期(SYNC)オブジェクト

SYNCオブジェクトはSYNCプロデューサによって周期的に送信されます。連続する2つのSYNCメッセージ間の時間間隔は、通信サイクル時間と呼ばれます。SYNCメッセージは、あらかじめ定められたコネクションセットに従って、80hというIDを持つ単一のCANフレームにマッピングされます。デフォルトで、SYNCメッセージはデータを伝送しません(DLC = 0)。CANopen CiA 301バージョン4.1以上をサポートするデバイスでは、1バイトのSYNCカウンタ値を持つSYNCメッセージをオプションで提供できます。このため、複数のデバイスの同期動作の調整がさらに容易になります。

エマージェンシーオブジェクト

エマージェンシーメッセージはデバイス内部のエラーによってトリガーされます。エマージェンシーメッセージはエマージェンシープロデューサによって送信され、最大8バイトのデータを含む単一のCANフレームにマッピングされます。データの内容は、1バイトのエラーレジスタ(ローカルオブジェクトディクショナリのオブジェクト1001h)、16ビットのエマージェンシーエラーコード、および最大5バイトのベンダー固有のエラー情報と定められています。デフォルトで、エマージェンシープロデューサ機能をサポートするデバイスは、CAN-ID 80h +(ノードID)をエマージェンシーメッセージに割り当てます。エマージェンシーメッセージはエラーイベントごとに1回だけ送信されます。デバイスで新たなエラーが発生しない限り、エマージェンシーメッセージは送信されません。任意の数のエマージェンシーコンシューマがこれらのメッセージを受信して、アプリケーション固有の適切な対応策を実行することができます。

タイムスタンプオブジェクト

タイムスタンプオブジェクトを使用すると、CANopenシステムのユーザーは一意のネットワーク時間を調整することができます。タイムスタンプは6バイトのデータ長コードを持つ単一のCANフレームにマッピングされます。 これらのデータバイトは「時刻」情報を提供します。この情報は午前零時からのミリ秒数(データ型:Unsigned28)と1984年1月1日からの日数(データ型: Unsigned16)として提供されます。関連するCANフレームのデフォルトCAN-IDは100h です。