監視制御およびデータ収集(SCADA)のためのオープン標準通信の使用は、世界中のますます多くの公益事業および産業部門で確立されています。 これにより、システムの展開と運用に大きな利点がもたらされました。
DNP3は、世界中で採用されている最も成功したSCADAオープン規格の一つです。 特に水セクターはSCADAコミュニケーションのためのDNP3を広い規模の基礎で採用しました。 ガスおよび石油セクターのDNP3の使用はまた地面を得ています。
DNP3の概念
DNP3は、SCADAとテレメトリシステムについて話すときに聞いたことがあるかもしれない一般的に誤解された用語です。
テレメトリシステムに技術的に精通していない人のためにDNP3を分かりやすく説明するために、ここにいくつかの情報が含まれています。 DNPはDistributed Network Protocolの略です。
まず、DNP3がどこに適合するかを理解するために、二人の人間が通信するという類推を使用します。
お互いの間で通信する際には、トランシーバーや2ウェイラジオ、固定電話回線、携帯電話回線、またはskypeなどを使用したインターネット経由など、多種多様な通信媒体を使用することがあります。 私たちが使用する媒体は変更することができますが、私たちは同じ言語、すなわち英語を使用して通信する必要があります。
SCADAやテレメトリシステムの周りの通信について話すとき、2人の人間が通信するときと同じように、イーサネットケーブル、無線、公衆電話システムのよ
この場合、同じ言語を使用する必要があり、一般的に使用する言語はDNP3です。
だから、誰かがDNP3を参照するとき、彼らは言語デバイスを参照しており、SCADAマシンは、ラジオのように、彼らが使用する通信媒体ではなく、話しています。
これはDNP3について技術的に明確ではない人々のための一般的な誤解であり、その類推が物事をクリアすることを願っています。
DNP3
DNP3(Distributed Network Protocol)は、プロトコルのグループです。 それはシステムコンポーネントの間で使用されるSCADAシステムの重要な役割を担います。 このプロトコルは、Rtuが互いに通信できるように特別に開発された
DNP3は、他のオブジェクト指向の少ないプロトコルで伝統的に必要とされてい それはまた一般に事実上前もって定義された目的を提供しない議定書で見つけられる状態の監視および制御範例の広い不均衡を減らす。
これらの代替プロトコルの純粋主義者は、必要なオブジェクトは既存のオブジェクトから’構築’することができると主張するでしょう。しかし、
いくつかの事前定義されたオブジェクトを持つことで、DNP3はSCADAエンジニアや技術者にとってやや快適な設計と展開フレームワークになります。
DNP3(Distributed Network Protocol)は、プロセス自動化システムのコンポーネント間で使用される通信プロトコルのセットです。 その主な用途は、電気会社や水道会社などの公益事業にあります。 他の産業での使用は一般的ではありません。
各種データ収集-制御機器間の通信用に開発されました。 それはSCADAのマスターステーション(別名コントロールセンター)、遠隔端末装置(Rtu)、および理性的な電子デバイス(Ied)によって使用されるSCADAsystemsの重大な役割を担う。 主に、マスターステーションとRtuまたはIedとの間の通信に使用されます。
ICCPは、制御センター間通信プロトコル(IEC60870-6の一部)であり、マスターステーション間通信に使用されます。
DNP3とは何ですか?
DNP3は、SCADA/”リモート監視”システムで使用される通信プロトコルです。 それは”開いている”ので、それは非常に人気となっています。 どの製造業者でも他のDNP3装置と互換性があるDNP3装置を開発できます。
DNP3はマスター/リモートモデルを使用します。
DNP3は、一般的に中央マスターと広く普及しているリモート間で使用されます。 マスター(”オペレーティングセンター”と思う)は、人間(あなた)と監視システムをリンクします。 リモート(”サブステーション”と思う)は、マスターと監視または制御されている実際のデバイスとの間のインターフェイスを提供します。
マスターとリモートの両方が共通オブジェクトのライブラリを使用してデータを交換します。 DNP3議定書は騒々しい干渉に応じてあるかもしれない媒体に確実に使用することができます。
DNP3は、オープンでインテリジェントで堅牢で効率的な最新のSCADAプロトコルです。
- 単一のメッセージで複数のデータ型を要求して応答することができ、
- メッセージを複数のフレームにセグメント化して優れたエラー検出と回復を保証し、
- 応答メッセージに変更されたデータのみを含めることができ、
- データ項目に優先順位を割り当て、その優先順位に基づいて定期的にデータ項目を要求することができます。
- 要求なしで応答する(未承諾)。4867>
- 時刻同期と標準時刻形式をサポートし、
- は複数のマスターとピアツーピア操作を許可し、
- はファイルを含むユーザー定義可能なオブジェクトを許可します 転送。
DNP3要素はどのように通信しますか?
DNP3は、マスター(”コントロールセンター”と思う)とリモート(”ポンプヤード”と思う)の間でデータを交換するために27の基本的な機能コードを使用しています。 これらの機能コードの中には、マスターがリモートからステータス情報を要求および受信できるようにするものもあります。 他の機能コードはマスターがリモートの設定を変えることを可能にする。
その他の機能コードは、DNP3マスターがリモートまたはリモートの隣のギアを制御するために定義されています。 一つの機能コードは、リモートがその領域で発生する特定のイベントに迷惑なメッセージで応答することを可能にするために提供されています。
ご覧のとおり、ほとんどのメッセージはDNP3managerによって発行されます。 未承諾メッセージはリモートによって開始される可能性があるため、通常はアラームを報告するために使用されます。
これは、次の要求を待つのではなく、アラーム状態が発生するとすぐにDNP3マスターに通知します。
DNP3オブジェクトライブラリの理解。
DNP3フレームワークには、多くのSCADAシステムで使用されるオブジェクトのライブラリが含まれています。 このライブラリは、DNP Usersグループのメンバーには無料です。 訪問www.dnp.org より多くのために。 これらの標準オブジェクトには、バイナリ入力が含まれます。 これらは、電源がオンまたはオフ、アクセスパネルが開いているか閉じているという2つの状態があることを報告します。
もう一つの一般的なオブジェクトは、値の範囲を持つものを報告するために使用されるアナログ入力です。 換気扇の速度は40から400のRPMからどこでもある場合もあります。 主電源は110から128VACまで変わることができます。
このライブラリを使用すると、メーカーはdnp3リモートレスポンダを設計して、これらの共通オブジェクトを使用して上流マスターに報告することが容易に また、マスターがリモートから収集したデータを統合し、あなたのためにそれを提示することが容易になります。
この共通オブジェクトの枠組みがなければ、製造業者は状態を報告し、制御能力を提供するための独自のモデルを開発しなければならない。 これらのモデルは、多くの場合、非常に異なる、その後、マスターに”コンパイル”され、効率的な管理のための共通のオブジェクトのいくつかの種類に変換
これらのよりオープンなフレームワークによく見られる別のツールは、リモートにアクセスして制御するための独自のインターフェイスまたは翻訳モジュー
DNP3ライブラリ内のオブジェクトは、グループとバリエーションに分かれています。 たとえば、アナログ入力グループには、ステータスビットマップの有無にかかわらず、16ビットまたは32ビットの整数値または浮動小数点値を提供する
アナログイベントグループには、ステータスビットマップとタイムスタンプの有無にかかわらず、16または32ビットの整数値または浮動小数点値を提供するための8つのバリエーションがあります。
アナログイベントグループには、ステータスビットマップのないバリエーションは含まれません。
DNP3階層通信について
DNP3は階層通信モデルを使用しています:
- アプリケーション層は、いくつかの部分を結合します。 アプリケーション-サービス-データ-ユニット(ASDU)です。 次に、パッケージ化されたオブジェクトがあります。 Application protocol control info(APCI)ブロックが追加され、application protocol data unit(APDU)が作成されます。
- トランスポート層は、APDUを最大サイズ16バイトのセグメントに分割し、8ビットのトランスポート制御ヘッダーと16ビットのセグメントCRCセパレータと
- リンク層は、コントロールとアドレス情報にヘッダーを追加します。 これで、パケットは配信の準備が整いました。
これらの層は国防総省によって開発された4層モデルにマッピングすることができます(インターネットのDoDの起源を思い出すかもしれません)。パケットがLAN/WAN経由で送信される場合、3つのDNP3層がアプリケーション層にロールアップされます。
アセンブルされたパケットは、トランスポート層によってトランスポート制御プロトコル(TCP)にラップされ、トランスポート層は(やや明白な)インターネッ
User Datagram Protocol(UDP)も使用できますが、混雑したネットワークでの信頼性の高い配信に関連するいくつかの追加の問題があります。
第四層は、組み立てられたパケットが実際にある種の輸送媒体(例えば、ツイストペア銅、RG58コーアクシャルまたはファイバ)にインタフェースされるネットワー
この多層モデルは少し混乱しているように見えるかもしれませんが、通信のタスクを効果的に分離し、最終的にはネットワークの設計と実装を支援
この層状モデルを示すために、LAN上の単一のDNP3読み取り要求を見てみましょう。 DNP3マスターはリモートの力の状態を知りたいと思い、そのオブジェクトのための読まれた要求メッセージを準備します。
3つのDNP3層すべてを通過した後、メッセージはTCP/UDPトランスポート層に渡されます。 トランスポート層は、マスターポートと、リモートDNP3プロセスがメッセージをリッスンすることを期待するポートをIdするデータブロックを追加します。 その後、パケットはIP層に渡されます。
ここでは、マスターとリモートのIPアドレスとメディアアクセスアドレスを保持するデータブロックが追加されます。 次に、完全なパケットがネットワークインターフェイス層に渡されます。
ネットワークインターフェイス層は、メディアアクセスと可用性をチェックします。 その後、パケットを送信するためにメディアに配置します。
IP情報に基づいて橋を渡ってルーター(”over the river and through the woods”のようなもの)を通って作業した後、パケットはリモートに到着します。
ここでは、マスターで行ったのとは逆の順序で同じ四つの層を通過します。 まず、ネットワークインターフェイス層によってメディアからプルオフされます。 パケットが無傷で有効であることを確認した後、ネットワークインターフェイス層はそれをIP層に渡します。
IP層はメディアアクセスとIPアドレスをチェックし、それをTCP/UDP層に渡し、ターゲットポートが接続されているアプリケーションのチェックを行います。 アプリケーションがターゲットポートでリッスンしている場合、パケットはアプリケーション層に渡されます。 ListeningアプリがリモートDNP3プロセスの場合、読み取り要求が渡されます。
リクエストをチェックし、どの情報を収集する必要があるかを確認するために、3つのレイヤーを移動します。 その後、リモート応答は、マスターに到達するために逆に同じパスをたどります。
DNP3メッセージは、managerとagentの両方のプロトコル層を通過します。 各レイヤーは、特定の通信タスクに対処します。
トラブルシューティングのための援助
DNP3のこの階層化モデルを知ることで、ネットワークの問題を見つけて修正することが容易になります。 問題がある場合は、単にそれをトレースし、一方の端を出て、もう一方の端に、もう一方の端を上にすることができます。 LAN/WANリンクおよびステータスライトはネットワークインターフェイス層にショーを提供します。 ICMP echo requests and responses(Ping)は、IP層の適切な機能に関する情報を提供します。
DNP3処理インジケータを使用して、TCP/UDP層を介したDNP3パケットの通過とアプリケーション層の機能を確認できます。
各ステップは、すべてのステップがエンドツーエンド通信のために正しく動作するまで、独立して検証することができます。
DNP3の利点
DNP3は、多重化、データの断片化などを提供します。
DNP3はレイヤ2プロトコルです。 これは、以下を提供することを意味します:
- データの断片化。
- エラーチェック。
- リンク制御。
- 優先ソート。
また、ユーザーデータのレイヤ2アドレス指定サービスも提供します。
DNP3は、プロセス自動化システム内のさまざまなデバイスが話すことを可能にします。 DNP3議定書は公益事業会社によって電気の、ガスおよび水遠隔測定工学のために広く利用されています。 一般的ではありませんが、DNP3を他の分野で利用することも可能です。
SCADA CommunicationsはDNP3プロトコルを使用します。
SCADAシステムは、システムコンポーネント間で使用するためにDNP3プロトコルを使用します。 DNP3プロトコルは、SCADAシステムマスター、Rtu、およびインテリジェント電子デバイス(Ied)間の通信を提供します。
DNP3は、異なるベンダーが開発したSCADAシステムコンポーネントが話すことを可能にする標準プロトコルの必要性を満たすために開発されました。 ベースとしてIEC60870-5を使用して、DNP3は、これらの場合に使用するためのオープンプロトコルとして作成されました。
このプロトコルはSCADAネットワーク内で迅速に使用でき、北米の組織によってレイアウトされた仕様に対応していました。
DNP3は、ユーティリティの通信信頼性を提供します。
DNP3は、ユーティリティの過酷な環境内での通信の信頼性を保証します。 このプロトコルは、EMI、legacysystemコンポーネント、およびDNP3の通信形式による送信不良による歪みを回避することができます。
プロトコルにはエラーチェックがありますが、DNP3は保護されていません。 これは、SCADA計画の際の重要な考慮事項です。
なぜそんなに人気があるのですか?
DNP3が非常に強力で、テレメトリシステムで一般的に使用されている理由はいくつかあります:-
- それは標準的で開いています。 これは「言語」がすぐに利用可能であり、すべてのDNP3デバイスが同じ言語を使用して通信することを意味します。 初期のRTUは独自のプロトコルを使用して通信していたため、通信した言語は同じベンダーによって生産された他の製品にのみ知られていました。 今日、多くのデバイスは、独自のプロトコルを使用して通信するだけでなく、DNP3プロトコルを使用した通信を可能にするという点で多言語であり、これは多くのベンダーによって行われており、時間の経過とともにDNP3へのネットワークの段階的なアップグレードを可能にしています。
- ルーティングプロトコルです。 これは、メッセージの宛先に到達するために異なる通信ネットワークを介して通信できるという点で、DNP3プロトコルの特に重要かつ重要な機能です。 たとえば、SCADAマシンはイーサネット接続に接続されていても、RTUは無線接続に接続されていてもよく、DNP3はイーサネット接続から中間RTUを介して無線接続にルーティングすることができます。 これは複雑に聞こえるが、簡単に言えば、あなたの友人に電話接続を介して話し、近くのトランシーバーで誰かにメッセージを中継するようなものである。 DNP3のパワーは、複雑なI/Oマッピングを必要とせずに、ほとんどの最新のRTUでこれを非常に簡単に行うことができることです。
- 通信チャネルをうまく活用しています。 DNP3は、高速イーサネットネットワークと低速無線ネットワークの両方で動作できるように設計されており、”必要なときにのみ通信する”ことが非常に良 たとえば、ポンプがオンまたはオフになると、DNP3はSCADAにその1つの変更を通知してメッセージを送信します。 MODBUSのような固定ポーリングプロトコルは、ポーリングによってすべてのデータを常に更新する必要があるため、これを達成することはできません。 私たちの人間の類推に戻ると、これはあなたが絶えずあなたの友人に信号機が何を示しているかを伝えるように頼むようなものです。 DNP3では、友人は光がはるかに少ない帯域幅を使用してそのために変更されたときにのみあなたを教えてくれます。
- 一度に多くの友人。 上記のこのポイント番号3が意味することは、一度に多くの友人との会話を保持することができ、これは確かにDNP3の力であり、多くのポンプ場、変電所