遠隔監視制御・情報取得

この章は、次の項で構成されています。

SCADA の概要

SCADA は、水管理、電力、製造業などの業界で採用されている制御システムおよび管理システムを意味します。SCADA システムは、システム内のさまざまなタイプの機器からデータを収集し、その情報をコントロール センターに転送して分析します。一般に、コントロール センターの担当者が、SCADA システムのアクティビティをモニタし、必要に応じて介入します。

リモート端末ユニット(RTU)は、SCADA システム内のプライマリ制御システムとして機能します。RTU は、SCADA システム内の特定の機能を制御するように設定されています。これは、ユーザ インターフェイスを使って必要に応じて変更できます。

IR1101 では、回線は非同期インターフェイスと同じ 0/2/0 です。

IR1101 の役割

ネットワークでは、コントロール センターは常に、IR1101 との通信時にネットワーク内のマスターとして機能します。IR1101 は、RTU と通信するときにコントロール センターのプロキシ マスターステーションとして機能します。

IR1101 は、次を実行するために SCADA ゲートウェイとして機能するプロトコル変換を提供します。

  • RTU からデータを受信し、コントロール センターから RTU に設定コマンドを中継する。

  • 設定コマンドをコントロールセンターから受信し、RTU データをコントロールセンターに中継します。

  • RTU がオフラインのときは、コントロール センターから受信する要求を終端する。

IR1101 は、次のプロトコルに対してプロトコル変換を実行します。

  • IEC 60870 T101 と IEC 60870 T104 の送受信。

  • DNP3 シリアルから DNP3 IP へ

主な用語

IR1101 で T101 および T104 プロトコル スタックを設定する場合は、次の用語が関係します。

  • チャネル:各 IR1101 シリアル ポート インターフェイスでチャネルが設定されており、リモート コントロール センターへの各 IP 接続に単一の RTU への接続が提供されます。各接続は、単一の T101(RTU)または T104(コントロール センター)プロトコル スタックを転送します。

  • リンク アドレス:デバイスまたはステーションのアドレスです。

  • リンク モード(平衡型および非平衡型):データ転送のモードです。

    • 非平衡型の設定とは、マスターから開始されたデータ転送を指します。

    • 平衡型の設定とは、プライマリまたはセカンダリのいずれかから開始されたデータ転送を指します。

  • セクター: リモート サイト内の単一の RTU を指します。

  • セッション:リモート サイトへの単一の接続を表します。

IR1101 で DNP3 プロトコル スタックを設定する場合は、次の用語が関係します。

  • チャネル:IR1101 シリアル ポート インターフェイスでチャネルが設定されており、リモート コントロール センターへの各 IP 接続に単一の RTU への接続が提供されます。各接続は、単一の DNP3 シリアル(RTU)または DNP3 IP(コントロール センター)プロトコル スタックを転送します。

  • リンク アドレス:デバイスまたはステーションのアドレスです。

  • セッション:リモート サイトへの単一の接続を表します。

プロトコル変換アプリケーション

以下の図では、(電力網の二次変電所内にインストールされた)IR1101 は、プロトコル変換を使用して、SCADA システム内のコントロールセンターと RTU 間のセキュアなエンドツーエンド接続を提供しています。

IR1101 は、RS232 接続を介して RTU(スレーブ)に接続します。パブリック インフラストラクチャ(セルラーなど)を介して転送されたトラフィックを保護するため、IR1101 は、RTU から SCADA データを、IPSec トンネル(FlexVPN サイト間またはハブ アンド スポーク)を介して SCADA システムのコントロール センターに転送します。IPSec トンネルは、IR1101 とヘッドエンド アグリゲーション ルータ間のすべてのトラフィックを保護します。SCADA トラフィックは、適切なコントロール センターに転送される前に、SCADA トラフィックのパスに配置された IPS デバイスで点検できます。

図 1. SCADA システム内のルータ

前提条件

RTU がネットワークで設定され、動作している必要があります。

IR1101 に接続する RTU ごとに、T101/T104 に関する次の情報が必要になります。

  • チャネル情報

    • チャネル名

    • 接続タイプ:シリアル

    • リンク送信手順の設定:平衡型または非平衡型

    • リンクのアドレス フィールド(オクテットで表される番号)

  • セッション情報

    • セッション名

    • アプリケーション サービス データ ユニット(ASDU)の共通アドレスのサイズ (オクテットで表される数値)

    • 送信原因(COT)のサイズ(オクテットで表される数値)

    • Information Object Address(IOA)のサイズ(オクテットで表される数値)

  • セクター情報

    • セクター名

    • ASDU アドレス(オクテットで表される番号)

IR1101 に接続する RTU ごとに、DNP3 に関する次の情報が必要になります。

  • チャネル情報

    • チャネル名

    • 接続タイプ:シリアル

    • リンク アドレス

  • セッション情報

    • セッション名

注意事項と制約事項

  • 各チャネルは 1 つのセッションのみをサポートします。

  • 各セッションは 1 つのセクターのみをサポートします。

  • オブジェクトタイプ 8、17、18、19、20、38、39、および 40 は、IEC プロトコル変換でサポートされていません。

デフォルト設定

T101/T104 パラメータ

デフォルト

T101 の役割

マスター

T104 の役割

スレーブ

DNP3 パラメータ

デフォルト

未承認応答(DNP3-serial)

有効になっていません

未承認メッセージの送信(DNP3-IP)

有効

プロトコル変換の設定

この項では、次のトピックについて取り上げます。


(注)  


プロトコル変換で動作する IR1101 の設定を変更する前に、プロトコル変換エンジンの開始と停止 のセクションを参照してください。

IR1101 シリアル ポートと SCADA カプセル化の有効化

IR1101 でプロトコル変換を有効にして設定するには、その前に IR1101 のシリアルポートを有効にし、そのポートで SCADA カプセル化を有効にする必要があります。

始める前に

IR1101 のシリアル ポートの可用性を確認します。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

interface async slot/port/interface

async slot/port/interface のコマンド モードを開始します。

slot:値 0

port:値 2

interface:値 0

ステップ 3

no shutdown

管理上ポートを稼働させます。

ステップ 4

encapsulation scada

プロトコル変換およびその他の SCADA プロトコルのシリアルポートでのカプセル化を有効にします。

次の例は、シリアル ポート 0/2/0 を有効にし、そのインターフェイスでカプセル化を有効にして SCADA プロトコルをサポートする方法を示しています。


router# configure terminal 
router(config)# interface async 0/2/0
router (config-if)# no shutdown
router (config-if)# encapsulation scada

T101 および T104 プロトコル スタックの設定

scada システム内のコントロール センター(T104)と RTU(T101)間のエンドツーエンド通信を可能にする T101 および T104 プロトコル スタックを設定できます。

前提条件

すべての必要な設定情報が収集されていることを確認します。

シリアル ポートと SCADA カプセル化を有効にします。

T101 プロトコル スタックの設定

T101 プロトコル スタックのチャネル、セッション、およびセクター パラメータを設定します。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

scada-gw protocol t101

T101 プロトコルのコンフィギュレーション モードを開始します。

ステップ 3

channel channel_name

T101 プロトコルのチャネル コンフィギュレーション モードを開始します。

channel_name:IR1101 のシリアル ポートと RTU とが通信するチャネルを示します。

(注)  

 
入力したチャネル名が存在しない場合、ルータは新しいチャネルを作成します。

このコマンド no の形式を入力すると、既存のチャネルが削除されます。ただし、チャネルを削除するには、すべてのセッションを削除する必要があります。

ステップ 4

role master

マスター ロールを T101 プロトコル チャネルに割り当てます(デフォルト)。

ステップ 5

link-mode {balanced | unbalanced}

リンク モードを平衡型または非平衡型のいずれかに設定します。

非平衡型:マスターから開始されたデータ転送を意味します。

平衡型:マスターまたはスレーブのいずれかのデータ転送を意味します。

ステップ 6

link-addr-size {none | one | two}

リンク アドレス サイズをオクテット単位で定義します。

ステップ 7

bind-to-interface async slot/port/interface

システムが T101 プロトコル トラフィックを送信する IR1101 シリアル インターフェイスを定義します。

slot:値 0

port:値 2

interface:値 0

ステップ 8

exit

チャネルの設定を終了し、チャネル コンフィギュレーション モードを終了します。すべての設定を保存します。

ステップ 9

session session_name

セッション コンフィギュレーション モードを開始し、セッションに名前を割り当てます。

ステップ 10

attach-to-channel channel_name

セッションをチャネルに接続します。

ステップ 3 で入力したのと同じチャネル名を使用します。

channel_name:チャネルを識別します。

ステップ 11

common-addr-size {one | two | three}

共通アドレス サイズをオクテット単位で定義します。

ステップ 12

cot size {one | two | three}

自発的または巡回データ スキームなどの送信原因をオクテット単位で定義します。

ステップ 13

info-obj-addr-size {one | two | three}

情報オブジェクト要素のアドレス サイズをオクテット単位で定義します。

ステップ 14

link-addr-size {one | two | three}

リンク アドレス サイズをオクテット単位で定義します。

ステップ 15

link-addr link_address

RTU のリンク アドレスを意味します。

(注)  

 
ここで入力したリンク アドレスは、シリアル ポートが接続する RTU で設定された値と一致している必要があります。

link_address:0 ~ 65535 の範囲。

ステップ 16

exit

セッション コンフィギュレーション モードを終了します。

ステップ 17

sector sector_name

セクター コンフィギュレーション モードを開始し、RTU のセクターに名前を割り当てます。

sector_name:セクターを識別します。

ステップ 18

attach-to-session session_name

RTU セクターをセッションに接続します。

ステップ 9 で入力したのと同じセッション名を使用します。

session_name:セッションを識別します。

ステップ 19

asdu-addr asdu_address

RTU の ASDU 構造アドレスを意味します。

ステップ 20

exit

セクター コンフィギュレーション モードを終了します。

ステップ 21

exit

プロトコル コンフィギュレーション モードを終了します。

次の例は、RTU_10 の T101 プロトコル スタックのパラメータを設定する方法を示しています。


router# configure terminal 
router(config)# scada-gw protocol t101
router(config-t101)# channel rtu_channel
router(config-t101-channel)# role master
router(config-t101-channel)# link-mode unbalanced
router(config-t101-channel)# link-addr-size
 one
router(config-t101-channel)# bind-to-interface async 0/2/0
router(config-t101-channel)# exit
router(config-t101)# session rtu_session
router(config-t101-session)# attach-to-channel rtu_channel
router(config-t101-session)# common-addr-size two
router(config-t101-session)# cot-size one
router(config-t101-session)# info-obj-addr-size two
router(config-t101-session)# link-addr 3
router(config-t101-session)# exit
router(config-t101)# sector rtu_sector
router(config-t101-sector)# attach-to-session rtu_session
router(config-t101-sector)# asdu-addr 3
router(config-t101-sector)# exit
router(config-t101)# exit
router(config)#

T104 プロトコル スタックの設定

T104 プロトコルを介して接続するコントロール センターごとに、次の手順を実行します。

始める前に

すべての必要な設定情報が収集されていることを確認します。(「前提条件」を参照)。

シリアル ポートと SCADA カプセル化を有効にします。(「IR1101 シリアル ポートと SCADA カプセル化の有効化」を参照)。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

コンフィギュレーション モードに入ります。

ステップ 2

scada-gw protocol t104

T104 プロトコルのコンフィギュレーション モードを開始します。

ステップ 3

channel channel_name

T104 プロトコルのチャネル コンフィギュレーション モードを開始します。

channel_name:ルータがコントロール センターと通信するチャネルを識別します。

(注)  

 
入力したチャネル名が存在しない場合、ルータは新しいチャネルを作成します。

このコマンド no の形式を入力すると、既存のチャネルが削除されます。ただし、チャネルを削除するには、すべてのセッションを削除する必要があります。

ステップ 4

k-value value

チャネルの未処理のアプリケーション プロトコル データ ユニット(APDU)の最大数を設定します。

(注)  

 
APDU には、APDU とコントロール ヘッダーが組み込まれています。

value:値の範囲は 1 ~ 32767 です。デフォルト値は 12 APDU です。

ステップ 5

w-value value

チャネルの APDU の最大数を設定します。

value:値の範囲は 1 ~ 32767 です。デフォルト値は 8 APDU です。

ステップ 6

t0-timeout value

T104 チャネルの接続確立の t0-timeout 値を定義します。

ステップ 7

t1-timeout value

T104 チャネルの送信またはテスト APDU の t1-timeout 値を定義します。

ステップ 8

t2-timeout value

ルータがデータ メッセージを受信しない場合の確認応答のための t2-timeout 値を定義します。

(注)  

 
t2 値には、常に T104 チャネルの t1 値よりも小さい値を設定する必要があります。

ステップ 9

t3-timeout value

T104 チャネルが長いアイドル状態の場合に、S フレームを送信する t3-timeout 値を定義します。

(注)  

 
t3 値は、常に T104 チャネルの t1 値よりも高い値に設定する必要があります。

ステップ 10

tcp-connection {0|1} local-port {port_number | default} remote-ip {A.B.C.D | A.B.C.D/LEN | any} [vrf WORD]

冗長コントロール センターが存在する設定では、プライマリ コントロール センターで定義されたようにセカンダリ コントロール センターの接続値を設定します。

port-number:2000 ~ 65535 の間の値。

デフォルト値 2404。

A.B.C.D:単一ホスト。

A.B.C.D/nn:サブネット A.B.C.D/LEN。

any:任意のリモート ホスト 0.0.0.0/0。

WORD:VRF 名。

ステップ 11

exit

チャネル コンフィギュレーション モードを終了します。

ステップ 12

session session_name

セッション コンフィギュレーション モードを開始し、セッションに名前を割り当てます。

session_nameステップ 3 でチャネルに割り当てたのと同じ名前を使用します。

ステップ 13

attach-to-channel channel_name

セッション トラフィックを転送するチャネルの名前を定義します。

ステップ 14

cot size {one | two | three}

自発的または巡回データ スキームなどの送信原因(cot)をオクテット単位で定義します。

ステップ 15

exit

セッション コンフィギュレーション モードを終了します。

ステップ 16

sector sector_name

セクター コンフィギュレーション モードを開始し、コントロール センターのセクターに名前を割り当てます。

ステップ 17

attach-to-session session_name

コントロール センターのセクターをチャネルに接続します。

session_nameステップ 3 でチャネルに割り当てたのと同じ名前を使用します。

ステップ 18

asdu-addr asdu_address

ASDU 構造アドレスを意味します。ここで入力した値は、RTU の ASDU 値と一致する必要があります。

asdu_addressasdu_address:値は 1 または 2。

ステップ 19

map-to-sector sector_name

コントロール センター(T104)のセクターを RTU(T101)セクターにマッピングします。

ステップ 20

ステップ 1 に戻ります。

ネットワーク内でアクティブになっているコントロール センターごとに、このセクションのすべての手順を繰り返します。

次の例は、コントロール センター 1コントロール センター 2(どちらもマスターとして設定)で T104 プロトコル スタックのパラメータを設定し、T104 セクターを T101 セクターにマッピングする方法を示しています。

コントロール センター 1(cc_master1)を設定するには、次のコマンドを入力します。


router# configure terminal 
router(config)# scada-gw protocol t104
router(config-t104)# channel cc_master1
router(config-t104-channel)# k-value 12
router(config-t104-channel)# w-value 8
router(config-t104-channel)# t0-timeout 30
router(config-t104-channel)# t1-timeout 15
router(config-t104-channel)# t2-timeout 10
router(config-t104-channel)# t3-timeout 30
router(config-t104-channel)# tcp-connection 0 local-port 2050 remote-ip 209.165.200.225
router(config-t104-channel)# tcp-connection 1 local-port 2051 remote-ip 209.165.201.25
router(config-t104-channel)# exit
router(config-t104)# session cc_master1
router(config-t104-session)# attach-to-channel cc_master1
router(config-t104-session)# cot-size two
router(config-t104-session)# exit
router(config-t104)# sector cc_master1-sector
router(config-t104-sector)# attach-to-session cc_master1
router(config-t104-sector)# asdu-adr 3
router(config-t104-sector)# map-to-sector rtu_sector
router(config-t104)# exit
router(config)#

コントロール センター 2(cc_master2)を設定するには、次のコマンドを入力します。


router(config)# scada-gw protocol t104
router(config-t104)# channel cc_master2
router(config-t104-channel)# k-value 12
router(config-t104-channel)# w-value 8
router(config-t104-channel)# t0-timeout 30
router(config-t104-channel)# t1-timeout 15
router(config-t104-channel)# t2-timeout 10
router(config-t104-channel)# t3-timeout 30
router(config-t104-channel)# tcp-connection 0 local-port 2060 remote-ip 209.165.201.237
router(config-t104-channel)# tcp-connection 1 local-port 2061 remote-ip 209.165.200.27
router(config-t104-channel)# exit
router(config-t104)# session cc_master2
router(config-t104-session)# attach-to-channel cc_master2
router(config-t104-session)# cot-size two
router(config-t104-session)# exit
router(config-t104)# sector cc_master2-sector
router(config-t104-sector)# attach-to-session cc_master2
router(config-t104-sector)# asdu-adr 3
router(config-t104-sector)# map-to-sector rtu_sector
router(config-t104-sector)# exit
router(config-t104)# exit
router(config)# 

TNB の SCADA 機能強化

この機能強化により、次のような TNB の WG RTU との互換性が提供されます。

  • TNB RTU では、シリアルの正しい初期化を確実にするために、リセットリンクメッセージをリンクステータスメッセージとともに送信する必要があります。この機能は、新しいコンフィギュレーション CLI scada-gw protocol force reset-link を使用して選択的にオンにすることができます。

  • クロックパススルーが有効になっていて、ルータが DNP3-IP マスターからタイムスタンプを受け取っていない場合は、ルータのハードウェアの時刻がダウンストリームの RTU に送信されます。DNP3-IP マスターから新しいタイムスタンプを受信すると、ルータは DNP3-IP マスターから送信された新しいタイムスタンプを RTU に送信し始めます。

  • メモリ内のバッファ可能な DNP3 イベントの数が 600 から 10000 に増加します。

  • scada-gw プロトコルインターロック コマンドは、DNP3 でサポートされます。以前は、T101 と T104 のみがサポートされていました。この新しい機能強化により、DNP3-IP マスターがダウンしているか到達不能な場合、ルータはシリアルリンクを切断します。同様に、RTU へのシリアルリンクがダウンすると、DNP3-IP マスターへの TCP 接続が解除されます。

  • カスタムの「リクエスト」は優先度に基づいて自動的に順序付けられるため、ユーザーは好きな順序でリクエストを指定できます。

設定例

次の例は、T101 接続用のシリアル ポート インターフェイスの設定、T101 および T104 プロトコル スタックの設定、および IR1101 でプロトコル変換エンジンを開始する方法を示しています。


router# configure terminal 
router(config)# interface async 0/2/0
router (config-if)# no shutdown
router (config-if)# encapsulation scada
router (config-if)# exit
router(config)# scada-gw protocol t101
router(config-t101)# channel rtu_channel
router(config-t101-channel)# role master
router(config-t101-channel)# link-mode unbalanced
router(config-t101-channel)# link-addr-size one
router(config-t101-channel)# bind-to-interface async 0/2/0
router(config-t101-channel)# exit
router(config-t101)# session rtu_session
router(config-t101-session)# attach-to-channel rtu_channel
router(config-t101-session)# common-addr-size two
router(config-t101-session)# cot-size one
router(config-t101-session)# info-obj-addr-size two
router(config-t101-session)# link-addr 3
router(config-t101-session)# exit
router(config-t101)# sector rtu_sector
router(config-t101-sector)# attach-to-session rtu_session
router(config-t101-sector)# asdu-addr 3
router(config-t101-sector)# exit
router(config-t101)# exit
router(config)# scada-gw protocol t104
router(config-t104)# channel cc_master1
router(config-t104-channel)# k-value 12
router(config-t104-channel)# w-value 8
router(config-t104-channel)# t0-timeout 30
router(config-t104-channel)# t1-timeout 15
router(config-t104-channel)# t2-timeout 10
router(config-t104-channel)# t3-timeout 30
router(config-t104-channel)# tcp-connection 0 local-port 2050 remote-ip any
router(config-t104-channel)# tcp-connection 1 local-port 2051 remote-ip any
router(config-t104-channel)# exit
router(config-t104)# session cc_master1
router(config-t104-session)# attach-to-channel cc_master1
router(config-t104-session)# cot-size two
router(config-t104-session)# exit
router(config-t104)# sector cc_master1-sector
router(config-t104-sector)# attach-to-session cc_master1
router(config-t104-sector)# asdu-adr 3
router(config-t104-sector)# map-to-sector rtu_sector
router(config-t104)# exit

router(config-t104)# session cc_master2
router(config-t104-session)# attach-to-channel cc_master2
router(config-t104-session)# cot-size two
router(config-t104-session)# exit
router(config-t104)# sector cc_master2-sector
router(config-t104-sector)# attach-to-session cc_master2
router(config-t104-sector)# asdu-adr 3
router(config-t104-sector)# map-to-sector rtu_sector
router(config-t104-sector)# exit
router(config-t104)# exit
router(config)# scada-gw enable

次の例は、DNP3 プロトコル スタックを使用して SCADA システム内のコントロール センターと RTU 間のエンドツーエンド通信を設定し、IR1101 でプロトコル変換エンジンを開始する方法を示しています。


router# configure terminal 
router(config)# interface async 0/2/0
router (config-if)# no shutdown
router (config-if)# encapsulation scada
router (config-if)# exit
router(config)# scada-gw protocol dnp3-serial
router(config-dnp3s)# channel rtu_channel
router(config-dnp3s-channel)# bind-to-interface async 0/2/0
router(config-dnp3s-channel)# link-addr source 3
router(config-dnp3s-channel)# unsolicited-response enable
router(config-dnp3s-channel)# exit
router(config-dnp3s)# session rtu_session
router(config-dnp3s-session)# attach-to-channel rtu_channel
router(config-dnp3s-session)# link-addr dest 3
router(config-dnp3s-session)# exit
router(config-dnp3s)# exit
router(config)# scada-gw protocol dnp3-ip
router(config-dnp3n)# channel cc_channel
router(config-dnp3n-channel)# link-addr dest 3
router(config-dnp3n-channel)# tcp-connection local-port default remote-ip any
router(config-dnp3n-channel)# exit
router(config-dnp3n)# session cc_session
router(config-dnp3n-session)# attach-to-channel cc_channel
router(config-dnp3n-session)# link-addr source 3
router(config-dnp3n-session)# map-to-session rtu_session
router(config-dnp3n)# exit
router(config)# exit
router(config)# scada-gw enable

(注)  


T101 側から取得した IOA アドレスは、SCADA ゲートウェイによる変更なしで T104 側に送信されます。

SCADA に対する YANG データモデルのサポート

Cisco IOS XE 17.1.1 リリースには、Scada システム向けの Cisco IOS XE YANG モデルのサポートが導入されています。他の領域においては、以前のリリースで YANG モデルが提供されていました。

https://github.com/YangModels/yang/tree/master/vendor/cisco/xe/17111

SCADA YANG モデル

メインの Cisco-IOS-XE ネイティブモデルに属する 2 つの機能モジュールを SCADA で使用できます。

  • Cisco-IOS-XE-scada-gw.yang

このモジュールには SCADA ゲートウェイのコンフィギュレーション コマンドの YANG 定義のコレクションが含まれています。

  • Cisco-IOS-XE-scada-gw-oper.yang

このモジュールには SCADA ゲートウェイの運用データの YANG 定義のコレクションが含まれています。

Scada モデルを機能させるには、8 つの依存モジュール(メインの Cisco-IOS-XE ネイティブモデルに属する)をインポートする必要があります。次の項では、SCADA YANG モデルのリスト、設定 CLI コマンド、および各機能モジュールが対象とする依存モジュールを示します。

Cisco-IOS-XE-scada-gw

次に、このモジュールに対応する CLI コマンドを示します。


(config)# scada-gw protocol t101
(config-t101)# channel <channel-name>
(config-t101)# bind-to-interface <interface-name>
(config-t101)# link-mode <link-mode>
(config-t101)# link-addr-size <size>
(config-t101)# day-of-week <enable>
(config-t101)# session <session_name>
(config-t101)# attach-to-channel <channel-name>
(config-t101)# cot-size <size>
(config-t101)# common-addr-size <size>
(config-t101)# info-obj-addr-size <size>
(config-t101)# link-addr <addr>
(config-t101)# request
(config-t101)# sector <sector_name>
(config-t101)# attach-to-session <session-name>
(config-t101)# asdu-addr <addr>
(config-t101)# request
(config)# scada-gw protocol t104
(config-t104)# channel <channel-name>
(config-t104)# tcp connection
(config-t104)# to-timeout <value>
(config-t104)# t1-timeout <value>
(config-t104)# t2-timeout <value>
(config-t104)# t3-timeout <value>
(config-t104)# k-value <value>
(config-t104)# w-value <value>
(config-t101)# day-of-week <enable>
(config-t101)# send-ei <enable>
(config-t104)# session <session_name>
(config-t104)# attach-to-channel <channel_name>
(config-t104)# sector <sector_name>
(config-t104)# attach-to-session <session-name>
config-t104)# map-to-sector <sector-name>
(config) scada-gw enable

Cisco-IOS-XE-scada-gw モジュールには、次の依存モジュールがあります。

  • Cisco-IOS-XE-native

  • Cisco-IOS-XE-features

  • ietf-inet-types

  • Cisco-IOS-XE-interfaces

  • Cisco-IOS-XE-ip

  • Cisco-IOS-XE-vlan

  • ietf-yang-types @(すべてのリビジョン)

  • cisco-semver

Cisco-IOS-XE-scada-gw-oper

次に、このモジュールに対応する CLI コマンドを示します。


# show scada statistics
# show scada tcp

次に、Cisco-IOS-XE-scada-gw-oper モジュールの依存モジュールを示します。

  • Cisco-IOS-XE-native

  • Cisco-IOS-XE-features

  • ietf-inet-types

  • Cisco-IOS-XE-interfaces

  • Cisco-IOS-XE-ip

  • Cisco-IOS-XE-vlan

  • ietf-yang-types @(すべてのリビジョン)

  • cisco-semver

DNP3 プロトコル スタックの設定

SCADA システム内のコントロール センターと RTU 間のエンドツーエンド通信を可能にする DNP3 シリアルおよび DNP3 IP プロトコル スタックを設定できます。

DNP3 シリアルの設定

RTU との DNP シリアル通信用のチャネルおよびセッション パラメータを設定します。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

scada-gw protocol dnp3-serial

DNP3 シリアル プロトコルのコンフィギュレーション モードを開始します。

ステップ 3

channel channel_name

DNP3 シリアル プロトコルのチャネル コンフィギュレーション モードを開始します。

channel_name:ルータのシリアル ポートと RTU とが通信するチャネルを識別します。

注:入力したチャネル名が存在しない場合、ルータは新しいチャネルを作成します。

このコマンド no の形式を入力すると、既存のチャネルが削除されます。ただし、チャネルを削除するには、すべてのセッションを削除する必要があります。

ステップ 4

bind-to-interface async0/2/0

システムが DNP3 プロトコル トラフィックを送信するルータの非同期インターフェイスを定義します。

ステップ 5

link-addr source source_address

マスターのリンク アドレスです。

source_address:1 ~ 65535 の範囲の値。

ステップ 6

unsolicited-response enable

(任意)未承認応答を許可します。

このコマンドの no 形式を入力すると、未承認応答が無効になります。

デフォルトでは無効です。

ステップ 7

exit

チャネルの設定を終了し、チャネル コンフィギュレーション モードを終了します。すべての設定を保存します。

ステップ 8

session session_name

セッション コンフィギュレーションモードを開始し、セッションに名前を割り当てます。

注:入力したセッション名が存在しない場合、ルータは新しいセッションを作成します。

このコマンドの no 形式を入力すると、既存のセッションが削除されます。

ステップ 9

attach-to-channel channel_name

セッションをチャネルに接続します。

注:ステップ 3 で入力したのと同じチャネル名を使用します。

channel_name:チャネルを識別します。

ステップ 10

link-addr dest destination_address

スレーブのリンク アドレスです。

destination_address:1 ~ 65535 の範囲の値。

ステップ 11

exit

セッション コンフィギュレーション モードを終了します。

ステップ 12

exit

プロトコル コンフィギュレーション モードを終了します。

次の例は、DPN3 シリアル プロトコル スタックのパラメータを設定する方法を示しています。


router# configure terminal 
router(config)# scada-gw protocol dnp3-serial
router(config-dnp3s)# channel rtu_channel
router(config-dnp3s-channel)# bind-to-interface async 0/2/0
router(config-dnp3s-channel)# link-addr source 3
router(config-dnp3s-channel)# unsolicited-response enable
router(config-dnp3s-channel)# exit
router(config-dnp3s)# session rtu_session
router(config-dnp3s-session)# attach-to-channel rtu_channel
router(config-dnp3s-session)# link-addr dest 3
router(config-dnp3s-session)# exit
router(config-dnp3s)# exit
router(config)#

DNP3 IP の設定

DNP3 IP を介して接続するコントロール センターに対して、次の手順を実行します。冗長性を確保するために、同じセッション設定を共有する複数の接続を同じセッション下に作成できます。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

コンフィギュレーション モードに入ります。

ステップ 2

scada-gw protocol dnp3-ip

DNP-IP プロトコルのコンフィギュレーション モードを開始します。

ステップ 3

channel channel_name

DNP-IP プロトコルのチャネル コンフィギュレーション モードを開始します。

channel_name:ルータがコントロール センターと通信するチャネルを識別します。

注:入力したチャネル名が存在しない場合、ルータは新しいチャネルを作成します。

このコマンド no の形式を入力すると、既存のチャネルが削除されます。ただし、チャネルを削除するには、すべてのセッションを削除する必要があります。

ステップ 4

link-addr dest destination_address

マスターのリンク アドレスです。

destination_address:1 ~ 65535 の範囲の値。

ステップ 5

send-unsolicited-msg enable

(任意)未承認メッセージを許可します。

デフォルトでは有効です。

ステップ 6

tcp-connection local-port [default | local_port ] remote-ip [any | remote_ip | remote_subnet ]

TCP 接続のローカル ポート番号とリモート IP アドレスを設定します。

  • デフォルト:20000

  • local_port:2000 ~ 65535 の値の範囲

  • any:任意のリモートホスト 0.0.0.0/0

  • remote_ip:単一ホスト:A.B.C.D

  • remote_subnet:サブネット:A.B.C.D/LEN

remote_subnet が指定されている場合、2 つのチャネルに同じローカル ポートがあると、リモート サブネットは相互にオーバーラップできません。

注:<local-port, remote-ip> はすべてチャネルごとに一意である必要があります。remote_subnet が指定されている場合、2 つのチャネルに同じローカル ポートがあると、リモート サブネットは相互にオーバーラップできません。

ステップ 7

exit

チャネル コンフィギュレーション モードを終了します。

ステップ 8

session session_name

セッション コンフィギュレーションモードを開始し、セッションに名前を割り当てます。

注:入力したセッション名が存在しない場合、ルータは新しいセッションを作成します。

このコマンドの no 形式を入力すると、既存のセッションが削除されます。

ステップ 9

attach-to-channel channel_name

セッションをチャネルに接続します。

ステップ 3 で入力したのと同じチャネル名を使用します。

channel_name:チャネルを識別します。

ステップ 10

link-addr source source_address

スレーブのリンク アドレスです。

source_address:1 ~ 65535 の値。

ステップ 11

map-to-session session_name

dnp3-ip セッションを既存の dnp3-serial セッションにマッピングします。

注:1 つの dnp3-ip セッションは、1 つの dnp3 シリアル セッションにのみマッピングできます。

ステップ 12

exit

セッション コンフィギュレーション モードを終了します。

ステップ 13

exit

プロトコル コンフィギュレーション モードを終了します。

次の例は、DNP3 IP パラメータの設定例を示しています。


router# configure terminal 
router(config)# scada-gw protocol dnp3-ip
router(config-dnp3n)# channel cc_channel
router(config-dnp3n-channel)# link-addr dest 3
router(config-dnp3n-channel)# tcp-connection local-port default remote-ip any
router(config-dnp3n-channel)# exit
router(config-dnp3n)# session cc_session
router(config-dnp3n-session)# attach-to-channel cc_channel
router(config-dnp3n-session)# link-addr source 4
router(config-dnp3n-session)# map-to-session rtu_session
router(config-dnp3n)# exit
router(config)# exit

DNP3 拡張

以前は古い RTU がピアツーピアモードで使用されていた場合もあります。これらの RTU は、メッセージヘッダーのビット DIR=1 を設定することで、DNP 3 シリアル下位およびプライマリのロールを動的にスワップしました。Cisco ルータで使用される ASE の SCADA スタックは、常に DNP3 シリアルプライマリとして設定さています。この場合、DIR=1 の DNP3 シリアルから受信したすべてのパケットが無視され、RTU からの多くのメッセージが廃棄されました。これらのシナリオを処理するために、新しい SCADA 設定 CLI が追加されました。

scada-gw protocol ignore direction を使用して無効にすることができます。

この CLI を有効にすると、DIR=1 の場合でも、ルータは RTU からの着信パケットを受け入れることができます。新しい CLI は、Cisco-IOS-XE-scada-gw.yang 設定モデルにも追加されます。

次に、使用例を示します。


Router# config term
Router(config)# scada-gw protocol ignore direction

設定例

T101/T104 での scada-gw プロトコル方向無視の設定例


scada-gw protocol t101
channel rt-chan
link-addr-size two
bind-to-interface Async0/2/0
session rt-sess
attach-to-channel rt-chan
common-addr-size one
cot-size two
info-obj-addr-size three
link-addr 31
sector rt-sec
attach-to-session rt-sess
asdu-addr 100
scada-gw protocol t104
channel mt-chan
t3-timeout 20
tcp-connection 0 local-port 8001 remote-ip 192.168.1.0/24
session mt-sess
attach-to-channel mt-chan
sector mt-sec
attach-to-session mt-sess
asdu-addr 101
map-to-sector rt-sec
scada-gw protocol ignore direction
scada-gw enable

プロトコル変換エンジンの開始と停止

IR1101 でプロトコル変換を使用するには、プロトコル変換エンジンを開始する必要があります。

Starting :IR1101 シリアル ポートで SCADA カプセル化を有効にし、IR1101 で T101 および T104 プロトコルを設定した後、プロトコル変換エンジンを開始できます。

Stopping :アクティブなプロトコル変換エンジンを使用して IR1101 でプロトコル変換に対する設定変更を行う前に、エンジンを停止する必要があります。

始める前に

firsttime のルータ上のプロトコル変換エンジンのstarting 前に、次の項目が完了していることを確認してください。

IR1101 シリアル ポートと SCADA カプセル化の有効化

T101 および T104 プロトコル スタックの設定

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

[no] scada-gw enable

IR1101 でプロトコル変換エンジンを開始(scada-gw enable )または停止(no scada-gw enable )します。

ルータでプロトコル変換エンジンを起動するには、次のコマンドを入力します。


router# configure terminal
router(config)# scada-gw enable

ルータのプロトコル変換エンジンを停止するには、次のコマンドを入力します。


router# configure terminal
router(config)# no scada-gw enable

設定の確認

コマンド

目的

show running-config

アクティブな機能とその設定を含むルータの設定を示します。

scada データベースの表示

SCADA データベースの詳細の表示

show scada statistics

SCADA ゲートウェイの統計情報を表示します。これには、送受信されたメッセージ数、タイムアウト、およびエラーが含まれます。

scada tcp の表示

SCADA ゲートウェイに関連付けられている TCP 接続を表示します。

次の例は、show scada tcp および show scada statistics コマンドの出力を示しています。


router# show scada tcp
DNP3 network channel [test]: 4 max simultaneous connections
conn: local-ip: 3.3.3.21        local-port 20000        remote-ip 3.3.3.15      data-socket 1
Total:
  1 current client connections
  0 total closed connections
router# show scada statistics 
DNP3 network Channel [test]:
  5 messages sent, 2 messages received
  0 timeouts, 0 aborts, 0 rejections
  2 protocol errors, 2 link errors, 0 address errors
DNP3 serial Channel [test]:
  152 messages sent, 152 messages received
  1 timeouts, 0 aborts, 0 rejections
  0 protocol errors, 0 link errors, 0 address errors

debug コマンド

このセクションでは、トラブルシューティングに役立ついくつかのデバッグ コマンドを示します。

表 1. SCADA 機能レベルのデバッグ コマンド

コマンド

目的

debug scada function config

設定トレース

debug scada function control

コントロール トレース

debug scada function file

ファイル トレース

debug scada function freeze

フリーズ トレース

debug scada function physical

物理トレース

debug scada function poll

ポーリング トレース

debug scada function stack

スタック トレース

debug scada function umode

Umode トレース