DNP3 アウトステーション
回路図エディタの DNP3 Outstation コンポーネントの説明。
DNP3 アウトステーション
DNP3は、主に電力・水道業界で使用されているオープンな通信プロトコルセットです。SCADAシステムにおいて、SCADAマスターとRTUおよびIED間の通信に主に使用されます。DNP3は、ポイントツーポイントまたはマルチドロップトポロジーのマスターとアウトステーションを接続できます。DNP3はイベント指向であるため、マスターはアウトステーションのすべてのデータポイントを常にスキャンする必要はありません。DNP3には、データ取得のための2つの主要なメカニズムがあります。
- イベントポーリング - マスターは定期的に変更されたデータのみをアウトステーションに問い合わせます。データは異なるクラスに分類でき、クラスごとに独自のスキャン間隔を設定できます。
- 非要求応答 – アウトステーションは変更されたデータを自動的にマスターに報告し、マスターはそれを確認します。このモードは、アウトステーションのデータポイントに変更がない場合、ネットワークが沈黙するため、「静止モード」と呼ばれることもあります。
Typhoon HILツールチェーンのDNP3 Outstationコンポーネント
Typhoon HILツールチェーンでは、DNP3アウトステーションのみが利用可能です。このプロトコルは、以下のTyphoon HILデバイスでサポートされています: HIL402、HIL101、HIL404、HIL602+、HIL604、HIL506、およびHIL606 。
DNP3 アウトステーション コンポーネントには、図 1に示すように 3 つの入力と 2 つの出力があります。

DNP3 コンポーネント ダイアログは、構成 ( [構成] タブ)、リンク ([リンク] タブ)、アウトステーション ([アウトステーション] タブ)、およびデータベース タブ ([データベース] タブ) で構成されています。

各 DNP3 アウトステーションの構成は、モデル初期化スクリプト (名前空間から)、ファイルから、またはコンポーネントのグラフィカル ダイアログ (ダイアログから) からインポートできます。これらは、[構成] タブの上部で選択できます。モデル初期化スクリプトからの構成例が、構成辞書で必要な各キーの簡単な説明とともに表示されます。[構成] タブの左下隅の[コンポーネント プロパティ]グループ ボックスには、構成の名前とコンポーネントの実行速度を入力するための行編集フィールドがあります。[構成] タブの右下隅では、構成ファイルをインポートしたり、現在の構成をファイルにエクスポートしたりできます。

各 DNP3 デバイスは、チャネルを介して他のデバイスと通信します。2 つのデバイスが相互に通信するには、同じチャネル上になければなりません。一意のチャネルは、デバイスに使用される IP アドレスとポートの組み合わせとして定義されます。デバイスの IP アドレスはエイリアス化されているため、単一のデバイスの場合、異なるポートごとにチャネルが自動的に作成されます。各 DNP3 アウトステーションには、リモート アドレスとローカル アドレスを定義する必要があります。リモート アドレスは、アウトステーションが報告する DNP3 マスターのアドレスです。ローカル アドレスは、アウトステーションのアドレスです。同じチャネル上の 2 つの DNP3 アウトステーションは、同じローカル アドレスを持つことはできませんが、同じリモート (マスター) アドレスを持つことはできます。リモート アドレスとローカル アドレスには、0 から 65530 までの値を指定できます。アドレスとポートの設定は、コンポーネントの [リンク] タブ、または構成ディクショナリの [link] キーで使用できます。

これらの設定は、非請求応答、さまざまなタイムアウトと再試行期間、各データ ポイントのイベントの最大数 (イベント バッファ サイズ)、および各アウトステーションのサンプル期間などのアウトステーションの動作を定義します。

データベースタブには、各データ型ごとに6つのサブタブがあります。現在、6つのデータ(オブジェクト)型がサポートされています。入力データ型はバイナリ、ダブルビットバイナリ、アナログです。出力データ型は、バイナリ出力ステータス(制御リレー出力ブロック(CROB)のステータス)、アナログ出力ステータス、オクテット文字列です。
データベースタブの左下には、現在のデータ型に要素を追加するための「要素を追加」ボタンがあります。データベースタブの右下には、現在のデータ型のすべてのエントリをクリアするための「すべてクリア」ボタンがあります。各データポイントの右端には、そのデータポイントの削除ボタンがあります。各データ型には、インデックス、クラス、スタティック、イベント変動の4つの固定プロパティがあります。アナログおよびアナログ出力ステータスデータ型には、デッドバンドプロパティが追加されています。バイナリ出力ステータス、アナログ出力、オクテット文字列データ型には、初期値プロパティも定義されています。
インデックス– 各データ型には、そのデータ型内の各データポイントにインデックスプロパティが設定されます。各データ型は最大65,535個のデータポイントを持つことができます。
クラス– 各データ型にはクラスプロパティがあります。データポイントはクラス0、クラス1、クラス2、クラス3のいずれかに割り当てることができます。クラス0は静的データ(現在の値)に使用され、クラス1、2、3のデータポイントにはイベントデータ(以前の値)も含まれており、各データポイントに任意に割り当てることができます。
静的バリエーションとイベントバリエーション– 各データタイプには、静的バリエーションとイベントバリエーションのプロパティがあります。これらのバリエーションは、使用されるデータ(オブジェクト)タイプによって異なります。各データタイプで利用可能なバリエーションは、以下の表に示されています。
データ(オブジェクト)タイプ | 静的バリエーション | イベントのバリエーション |
バイナリ入力 |
|
|
2ビットバイナリ入力 |
|
|
アナログ入力 |
|
|
バイナリ出力ステータス |
|
|
アナログ出力ステータス |
|
|
オクテット文字列 |
|
|
それぞれの静的およびイベントのバリエーションの詳細な説明については、DNP 組織の Web サイトで入手できる DNP3 ドキュメントを参照してください。
デッドバンド– 前述の通り、アナログ入力とアナログ出力ステータスにはデッドバンドプロパティがあります。デッドバンドは浮動小数点値で、急激に変化する値をフィルターするために使用されます。例えば、デッドバンド値が0.5に設定され、データポイントの現在値と前回値の差が0.5未満の場合、アウトステーションはそのポイントに対してイベント変更を生成しません。差がデッドバンド値より大きい場合、イベントが生成され、値が更新されます。
初期値- これはバイナリ出力ステータス、アナログ出力ステータス、およびオクテット文字列データ型に固有のプロパティです。このプロパティを設定すると、シミュレーション開始時に出力される値が変更されます。
ダイアログ全体の下部には、左から右に、クリップボードにコピー、 OK 、キャンセルのボタンがあります。
「クリップボードにコピー」ボタンは、コンポーネントの現在の設定をクリップボードにコピーします。これにより、モデル初期化スクリプトに簡単に設定を転送したり、他のユーザーと設定を共有したりできます。モデル初期化スクリプトからの設定例(Python辞書形式):
特定のデータ型のデータベースエントリが不要な場合は、データ型キーの値として空のリスト [] を使用してください。すべてのキーは必須です。
時間同期
時刻同期が必要な場合は、 「時刻同期」をご覧ください。
仮想HILサポート
Virtual HILは現在このプロトコルをサポートしていません。非リアルタイム環境(例:ローカルコンピュータでモデルを実行する場合)を使用する場合、このコンポーネントへの入力は破棄され、このコンポーネントからの出力はゼロになります。