DeviceNetとCANの違いは何ですか?

更新しました Jan 11, 2023

使用製品

ドライバ

  • NI-XNET
  • NI-CAN

問題

DeviceNetとCAN(Controller Area Network)はどのように関係していますか?NI-XNETとNI-Industrial Communications for DeviceNetの違いは何ですか?

解決策

これらの2つの仕様がどのように関連しているかを理解する最善の方法は、Open System Interconnection(OSI)モデルを参照することです。OSIモデルは、通信プロトコルを実装するために7階層のフレームワークを上層から下層に定義されています。CAN仕様は、通信システムの物理層とデータリンク層を定義しています。CAN仕様はBosch社(ISO 11898-1)によって開発され、データリンク層を完全に定義しています。CAN物理層にはさまざまな規格があります(関連リンクを参照)。CAN仕様を使用して、ネットワーク設計者はCANバスからフレームを送受信する手段があり、フレームを使用してデータをどのように転送するかを指定するのは設計者次第です。
 
  • アプリケーション層
  • プレゼンテーション層
  • セッション層
  • トランスポート層
  • ネットワーク層
  • データリンク層
  • 物理層


CAN仕様は、内蔵されたエラー検出と閉じ込めを備えた堅牢な通信チャンネルを提供します。DeviceNetは、より高いレベルの通信プロトコルの基礎としてCAN標準を使用します。DeviceNetは、しばしばCANのアプリケーション層プロトコルと呼ばれます。DeviceNet仕様の主な目的は、異なるベンダのDeviceNetデバイス間の相互接続と互換性を可能にすることです。これらを実現するために、DeviceNetは以下を定義します。

  • CAN物理層 - CAN物理接続に対して単一の規格が定義されています。標準では高速CAN(ISO 11898-2)です。仕様には、バス電源電圧、接続可能なデバイス数、許容されるコネクタタイプ、ケーブルの長さ、およびボーレートも含まれます。
     
  • CANデータリンク層 - 仕様は変更されません。 標準CANコントローラ(Intel 82527など)はDeviceNetデバイスで使用できます。
     
  • アプリケーション層 - DeviceNet仕様の主な貢献は、データがデバイス間で整理され、転送される方法です。DeviceNetは、デバイスが実装する必要があるオブジェクトモデルを指定します。このように、すべてのデバイスはネットワークの他の部分と一貫したインタフェースを提供し、デバイスの内部詳細を隠します。


アプリケーションプログラミングに関して、NI-XNETを使用してアプリケーションを作成する開発者はフレームを操作し、ネットワーク内の他のデバイスの詳細な知識を持って、アービトレーションIDを使用してアドレス指定できる必要があります。 これは、高速かつ信頼性の高い通信ネットワークを主目的とする自動車ネットワークなどの小規模クローズドネットワークに最適です。

開発者は、NI-Industrial Communications for DeviceNetを使用して、ネットワーク上の他のデバイスと通信オブジェクトを開きます。DeviceNet仕様は、ネットワーク上のデバイスを検出して、あるノードから別のノードにメッセージをルーティングする手段を提供します。この場合、NI-Industrial Communication for DeviceNetドライバは、DeviceNet対応デバイスと通信することができます。これにより、異なるベンダの機能的に同等のデバイスと通信できることを意味します。

追加情報

CAL(CANアプリケーション層)、CANopen、PCAL、SDS(Smart Distributed System)、CAN Kingdomなど、他のCANアプリケーション層プロトコルがあります。 ナショナルインスツルメンツの製品は、CANopenおよびDeviceNetをサポートしています。