DNP3プロトコル:アーキテクチャ、動作、機能コード、データ形式とそのアプリケーション

問題を排除するために楽器を試してください





DNP3または分散ネットワークプロトコル3は、分散システム間の通信プロトコルを確立するために、1992年に日本企業によって発売されました。 DNP3は、デバイスとリモート入出力デバイス間の通信に使用されるネットワークベースのデバイス制御プロトコルです。このプロトコルは主に、他のあまりオブジェクト指向ではないプロトコルで通常必要とされるデータビットマッピングを減らすオブジェクト指向モデルに依存しています。これは主に、中央マスターステーションと分散リモートユニット間で使用され、中央マスターステーションは単にヒューマンネットワークマネージャーと監視システム間のインターフェイスとして機能します。分散型リモートユニットは、マスターステーションと、離れた場所で監視および制御されている物理的な装置との間のインターフェイスです。これら2つの間のデータ交換は、共通オブジェクトライブラリによって実行できます。この記事では、 DNP3プロトコル –アプリケーションの操作。


DNP3プロトコルとは何ですか?

プロセス自動化システム内の異なるコンポーネント間で使用される通信プロトコルのセットは、DNP3プロトコルとして知られています。このプロトコルは、主にさまざまな種類のデータ取得および制御機器間の通信を目的として設計されました。だからで SCADAシステム 、このプロトコルは、RTU、SCADA、およびIEDで使用される場合に重要な役割を果たします。



DNP3プロトコルアーキテクチャとその動作

DNP3は、第3バージョンの分散ネットワークプロトコルです。 1つの整合性ポーリングと3つのポーリングレベルがあり、整合性ポーリングを使用して1つのポーリングでデータを取得します。

  DNP3プロトコルアーキテクチャ
DNP3プロトコルアーキテクチャ

DNP3ネットワークアーキテクチャは、ユニキャスト、マルチドロップ、およびデータコネクタ/階層アーキテクチャにすることができます。



ユニキャストアーキテクチャ: は1対1アーキテクチャとも呼ばれ、ここではマスターステーションは1つのアウトステーションとのみ通信できますが、 マルチドロップアーキテクチャ マスターステーションは複数のアウトステーションデバイスと通信できます。つまり、マスターステーションは複数のアウトステーションデバイスと通信できます。データコネクタ/階層アーキテクチャは、マルチドロップアーキテクチャとユニキャストアーキテクチャを組み合わせたものです。

DNP3通信プロトコルは、電気事業、上下水道、石油およびガス、輸送、およびその他のSCADA環境で一般的に使用されています。温度、湿度、バッテリーレベル、電圧、燃料レベルなどの重要なレベルをリアルタイムで履歴で表示できます。また、問題を検出してすばやく修正でき、ボトルネックを解消できます。と非効率。

DNP3プロトコルの設計は、データリンク、トランスポート、アプリケーション、ユーザー層などのOSIモデルの層に基づいて行うことができます。このプロトコルには、イーサネット物理メディアだけでなく、シリアルより上の1つ以上のアウトステーションを介して単一のマスターを接続するための柔軟性があります。
他の可能なアーキテクチャは、主に、単一のアウトステーションおよびピアツーピア操作によるさまざまなマスター接続で構成されます。通常、マスターは制御コマンドを開始して、アウトステーションを介して管理されているデバイスからデータを要求したり、デバイスをアクティブ化したりします。このアウトステーションは、適切な情報を送信することによってマスターに反応するだけです。

  DNP3プロトコルレイヤー
DNP3プロトコルレイヤー

OSIモデルに基づいて、DNP3プロトコルには、データリンク、トランスポート機能、アプリケーション、およびユーザー層の4つの層が含まれます。ここで、下部のデータリンク層は、アドレス指定とエラー検出によって物理リンクの信頼性を高めます。トランスポート関数は、リンク層のフレームをアプリケーション層のフラグメントにアセンブルするだけです。このレイヤーはメッセージ全体を受け取り、上記のユーザーレイヤーよりも優先されるデータを指定します。すべてのメッセージは、アナログ、バイナリ、カウンタの入力と出力など、いくつかのデータ型を持つことができます。

DNP3プロトコルはどのように機能しますか?

DNP3プロトコルは、マスターステーションとリモートユニット間の通信を可能にする27の基本機能コードを使用するだけで機能します。一部の機能コードでは、マスターがリモートデバイスから情報の状態を要求して取得できるようになり、他の機能コードでは、マスターがリモートユニットの構成を決定または修正できるようになります。

いくつかの機能コードは、主にリモートサイトの機器またはリモートユニットを制御するためにDNP3マスターステーションで使用されます。 DNP3マスターステーションは、ほとんどの通信をDNP3のリモートデバイスに発行します。ただし、迷惑メッセージ(o / pメッセージ)はリモートユニットを介して開始され、アラームを生成します。アラームが発生すると、このメッセージがマスターにアラートを送信するようにします。

機能コード

DNP3の機能コードは以下のとおりです。

機能コード

説明

0x00

機能コードを確認してください。

0x01

機能コードを読み取ります。
0x02

関数コードを記述します。

0x03

機能コードを選択します。

0x04

機能コードを操作します。

0x05

直接操作機能コード

0x0d

コールドリスタート機能コード

0x0e

ウォームリスタート機能コード

0x12

アプリケーション機能コードを停止します

0x1b

ファイル機能コードの削除

0x81

応答関数コード

0x82

未承諾応答機能コード

DNP3メッセージ形式

DNP3のメッセージフォーマット構造を以下に示します。この構造を調べると、メッセージがマスターとリモートの間で交換されていることがわかります。シリアルテレメトリプロトコル(TBOS)は、通信するために1バイトを交換することによってバイト指向です。

TABSなどの拡張シリアルテレメトリプロトコルは、通信するために交換されるバイトのパケットを使用したパケット指向です。これらのパケットには通常、ヘッダー、データ、チェックサムバイトが含まれます。 DNP3プロトコルはパケット指向であり、次の図に示すパケット構造を利用しています。

  DNP3のメッセージ形式
DNP3のメッセージ形式

上記のメッセージ形式の図では、DNP3 ASDU(アプリケーションサービスデータユニット)は、修飾子とindexSizeフィールドの両方で制御される巧妙なコンテンツの調整に役立ちます。したがって、この設計により、柔軟な構成内でアプリケーションデータにアクセスできるようになります。

次に、特に階層型通信モデルでデータがどのように交換されるかについて説明します。
上の図のアプリケーション層は、ASDU(アプリケーションサービスデータユニット)とAPCI(アプリケーションプロトコル制御)ブロックによってパッケージ化されたオブジェクトを組み合わせて、APDU(アプリケーションプロトコルデータユニット)を作成します。

トランスポート層は、アプリケーションサービスデータユニットまたはAPDUを最大16バイトサイズの異なるセグメントに分割し、8ビットのトランスポート制御ヘッダーと16ビットのセグメントCRCセパレーターによってトランスポートフレームにパッケージ化します。

リンク層は、DoD(国防総省)を通じて開発された4層モデルにマッピングされ、DoDインターネット層は省略されています。シリアルトランスポートが使用されている場合、パケットアセンブリが実行され、配信用のトランスポートメディアに配置されます。

パケットがLANまたはWANを介して送信される場合、3つのDNP3レイヤーが最初のレイヤーにロールアップされます。アセンブルされたパケットは、インターネット層を介してIP(インターネットプロトコル)内にラップされているトランスポート層を介してTCP(トランスポート制御プロトコル)内にラップできます。 UDP(ユーザーデータグラムプロトコル)も利用できますが、パックされたネットワーク内での信頼性の高い配信に関連するいくつかの追加の問題があります。

DNP3データ形式

DNPは、中央ステーションと制御ユニットの間を通過するメッセージの制御に広く使用されています。 DNP3のデータ形式には、主にヘッダーセクションとデータセクションの2つのセクションが含まれます。さらに、ヘッダーは6つのサブセクションに分かれています。

  DNP3データ形式
DNP3データ形式

データフレームのフォーマットとすべてのフィールドに必要なサイズを上の図に示します。この図では、同期は1バイトの最初のフィールドであり、フレームの開始を指定します。
このフィールド値は0564に固定されているため、同期フィールドの位置を調べてフレームを受信すると、マッピングを効率的に実行できます。

フィールド長はフレーム全体の長さを提供するため、宛先で特定のバッファを割り当てて、着信フレームを保持できます。したがって、2番目のフレームは「制御フィールド」であり、受信側で要求する必要のある制御アクションを記述します。

制御フィールドには、アクションタイプに基づいて16進値41、それ以外の場合は42が含まれます。その後、宛先と送信元のアドレスフィールドは、目的の受信者アドレスと送信ノードを提供します。
CRCまたは巡回冗長検査は、フレームエラーの検証に役立つ最後のフィールドです。チェック値は送信時にメッセージに接続され、受信側で相互検証されます。この値が一致すると、フレーム内にエラーが存在しないことを指定します。データのセクションは2〜4バイトですが、メッセージパッシングを制御する役割はありません。

上の図は、DNP3の形式で、あるステーションから別のステーションに、制御から宛先に送信される制御メッセージを示しています。宛先へのさまざまなアクションの通信では、制御フィールドや宛先アドレスなどのフィールドがありますが、一部のフィールドはすべての通信で変更されるわけではありません。

DNP3監視システムの例

DNP3マスターおよびリモート監視システムの図を以下に示します。このモデルは、DNP3を使用してマスターとリモートなどの2つのデバイス間でデータを転送するために使用されます。

  DNP3の例
DNP3試験 the

DNP3マスターおよびリモート監視システムの図を以下に示します。このモデルは、DNP3を使用してマスターとリモートなどの2つのデバイス間でデータを転送するために使用されます。ここで、マスターはコンピューターであり、スレーブまたはリモートはアウトステーションです。送信されるデータは、静的データ、イベントデータのいずれかであり、一方的なイベントデータを受け入れます。

DNP3プロトコルは通常、マスター(コンピューター)とリモート(アウトステーション)の間で使用されます。ここで、マスターは、ヒューマンネットワークマネージャーと監視システムの間のインターフェイスを提供するために使用されます。リモートは、マスターと、制御または監視されている物理デバイスとの間のインターフェイスを提供します。

マスターとリモートの両方が、データ交換に共通のオブジェクトライブラリを利用します。ここでのデータは次のとおりです。DNP3プロトコルは、慎重に設計された機能を含むポーリングプロトコルです。マスターステーションがリモートに接続されると、整合性ポーリングを実行できます。これは、データポイントの場合、すべてのバッファ値を返し、ポイントの現在の値も構成するため、DNP3のアドレス指定にとって非常に重要です。

一般に、DNP3ドライバーは、整合性ポーリング、クラス1、クラス2、クラス3のように、さまざまなポーリングを定期的に実行できます。整合性ポーリングでは、DNP3は単にアウトステーションにクラス1、クラス2、およびクラス3を送信するように要求します。時系列のイベントデータとクラス0静的データ。整合性ポーリングは通常、DNP3マスターとスレーブのデータベースを同期するために使用されるため、遅いポーリングレートが割り当てられる傾向があります。通常、クラス1、クラス2、およびクラス3のポーリングは、これらのイベントの重要性に基づいて変更可能なレートで個々のクラスイベントを回復するために使用され、より重要なイベントがより速いポーリングレートを持つクラスに割り当てられます。

DNP3とIEC61850の違い

DNP3とIEC61850の違いは次のとおりです。

DNP3

IEC 61850

DNP3プロトコルは、オープンな業界仕様です。 IEC61850はIEC規格です。
DNPユーザーのグループは、DNP3プロトコルの標準的な組織です。 国際電気標準会議は、IEC61850の標準化団体です。
DNP3プロトコルは4層アーキテクチャであり、7層もサポートします TCP / IP またはUDP/IP。 IEC 61850プロトコルでの通信は、 OSIモデル 。
DNP3、GOOSE、HMI、IEC、RTU、およびSCADAは、IEC61850通信プロトコルの一般的な用語です。 インテリジェントデバイス(IED)、論理デバイスと論理ノード、データオブジェクトとデータ属性は、IEC61850の階層情報モデルを定義するレベルです。
分散ネットワークプロトコルの第3バージョンの利点は、プロトコルトランスレータが不要であり、メンテナンス、テスト、およびトレーニングにかかる​​時間が短縮され、システムの拡張が容易であり、製品の寿命が長いことです。 IEC 61850プロトコルの利点は、拡張コスト、統合コスト、機器移行コスト、および設置コストが低いことです。

DNP3とModbusの違い

DNP3とModbusの違いは次のとおりです。

DNP3

Modbus

分散ネットワークプロトコルは、1993年にハリスによって開発されました。 Modbusプロトコルは1979年にModiconによって開発されました
分散ネットワークプロトコルはビットを使用します。 Modbus通信プロトコルは、テキストの説明を使用してデータを送信します。
DNP3は、物理層、データリンク層、およびアプリケーション層の3つの層で構成されています。 Modbus通信プロトコルはアプリケーション層のみで構成されています
DNP3プロトコルは、複数のスレーブ、複数のマスター、およびピアツーピア通信をサポートします。 Modbusプロトコルは、ピアツーピア通信のみをサポートします。
DNP3プロトコルで必要な構成パラメーターは、不良レート、フラグメントサイズ、およびデバイスアドレスです。 Modbusプロトコルで必要な構成は、パリティモード、ASCIIモード、RTUモード、およびボーレートです。

DNP3の長所と短所

The DNP3プロトコの利点 l以下を含みます。

  • DNP3はオープンスタンダードのプロトコルであるため、どの設計者も他のDNP3機器とよく一致するDNP3機器を設計できます。
  • DNP3は、インテリジェントで堅牢なプロトコルにより、多くの機能を提供します。
  • 単一のメッセージ内の複数のデータタイプを介して要求および応答できます
  • それはいくつかのマスター&ピアツーピア操作を可能にします
  • 標準の時刻形式と時刻同期をサポートします。
  • ソフトウェアのコストが削減されます。
  • プロトコルトランスレータは必要ありません。
  • メンテナンスとテストが少なくて済みます。

DNP3プロトコルの欠点は次のとおりです。

DNP3はシリアルRTUを使用し、イーサネットRTU(ERTU)を介してアップグレードします。そのステーションへの通信チャネル帯域幅も拡張されていない場合、TCP / IPを介してDNP3をラップする際に実装されるオーバーヘッドのために、ユーザーのリンクは遅くなります。

DNP3アプリケーション

The DNP3アプリケーション 以下のものが含まれます。

  • DNP3を使用すると、プロセス自動化システム内のさまざまなデバイスが通信できます。
  • さまざまな公益事業会社が、このプロトコルをガス、電気、および水の遠隔測定システムに広く使用しています。
  • SCADA通信で使用されます。
  • DNP3通信プロトコルは、リモートおよびSCADA監視システムで使用されます。
  • これは、マスターからリモート、RTUからIED通信を含むSCADA環境全体、およびネットワークアプリケーションに適用できます。

したがって、これはすべてについてです DNP3プロトコルの概要 –アプリケーションの操作。 The DNP3プロトコル仕様 主にオブジェクトモデルに依存します。したがって、このモデルは、他のオブジェクト指向ではないプロトコルで通常必要となるデータビットマッピングを単純に減らします。 SCADAの技術者とエンジニアにとって、事前定義されたオブジェクトがあると、DNP3はより快適な設計と展開のフレームワークになります。ここにあなたへの質問があります、プロトコルは何ですか?