SCADA
システムの概念
SCADA という用語は一般に、1つのサイト全体や地理的に分散したシステム群を集中的に監視制御するシステムを指す。制御のほとんどは遠方監視制御装置 (RTU) またはプログラマブルロジックコントローラ (PLC) が自動的に行う。ホストの制御機能は監督的な介入や優先的なものに限られることが多い。例えば、PLCが工業プロセスにおける冷却水の流量を制御する場合、フィードバック制御ループ自体はRTUやPLCでほぼ完結している。これに対し、SCADAシステムはそれらループの状態を監視するシステムという位置づけで、具体的には、SCADAシステムによりオペレータが流量の設定値を変更出来たり、警報発生条件（不正な流量や高温）を変更出来たり、現在の状態をオペレータに対して表示し記録する機能を提供する。
 
データ収集はRTUやPLCのレベルで行われ、必要に応じてSCADAに送られる。SCADAでは、収集されたデータを監視室のオペレータが見て監督的決定を行えるような形にして提示する。データは普通のデータベース管理システム上に構築された履歴システムにも送られ、傾向などの分析に使われる。
SCADAシステムでは通常、「タグデータベース」と呼ばれる分散データベースを実装している。これは、「タグ」または「ポイント」と呼ばれるデータ要素を格納するものである。1つのポイントは、1つの入力信号（監視データ）または1つの出力信号（制御コマンド）に対応している。ポイントには「ハード」と「ソフト」がある。ハードポイントはシステム内の実際の入出力に対応し、ソフトポイントは他のポイント群の値を使って計算や論理で得られるものである（多くの実装では、ハードポイントもソフトポイントの一種とされており、単に1つのデータだけを使ってそのまま出力するソフトポイントになっている）。ポイントは通常、値とタイムスタンプの対で格納され、この場合のタイムスタンプは記録または計算した時刻を表している。一連の値とタイムスタンプの対によって、そのポイントの履歴が得られる。タグに付加的なメタデータを格納することも多く、対応する機器やPLCレジスタへの経路、設計時コメント、警報情報などが記述される。
ヒューマンマシンインタフェース
ヒューマンマシンインタフェース（HMI）は、人間のオペレータにプロセスのデータを提示する機構であり、また人間のオペレータがプロセスを制御する際にもそれを経由する。
HMI は通常 SCADA システムのデータベースやソフトウェアプログラムとリンクしており、傾向を見るためのデータや診断データ、保守手続きの予定などの管理情報、ロジスティック情報、特定のセンサや機械の詳細図、エキスパートシステムによるトラブルシューティングなどが提供される。
HMI はそれらの情報を操作者にグラフィカルに提示する。すなわち、制御対象のプラントの図解の形で提示される。例えば、ポンプとそれに接続されたパイプが図示され、ポンプの稼働状況やパイプの流量が表示される。オペレータはポンプを停止させることができる。パイプの流量の変化は実時間で示される。図解は機器の写真を使ったり、アニメーション化された記号を使うこともある。
SCADAシステム用HMIパッケージには、オペレータなどが図を修正できる描画プログラムが含まれることが多い。HMIの図は単純なものから、超高層ビルの全エレベータの現在位置を示すとか、鉄道の全列車の現在位置を示すといった複雑なものまで様々である。
多くのSCADA実装で最も重要な点は、警報である。警報は何らかの状態値が異常になったときに発せられる。自動車の燃料タンクが空であることを示すライトも警報の一種である。警報を発する際には、電子メールが所定の管理者に送られることもある。
ハードウェア
SCADA は分散制御システム (DCS) と共に構成されることが多い。マスタコンピュータの関与なしで自律的に単純な論理プロセスを実行できる RTU や PLC が使われることが増えている。RTU や PLC 上で動作するプログラムは IEC 61131-3 で定義されている言語を使っていることが多い。C言語やFORTRANなどの手続き型言語とは異なり、IEC 61131-3 はリレーによる制御回路の記述に似せてあるため、この分野の人にとっては訓練が少なくて済む利点がある。これによって、SCADAシステムの技術者はRTUやPLC上で実行されるプログラムの設計や実装も可能となっている。1998年ごろには、ほぼ全てのPLC製造企業が HMI/SCADA 統合システムを提供しており、その多くがオープンな通信プロトコルを採用している。サードパーティ製の HMI/SCADA パッケージの多くは、各社の主なPLCと互換性があり、制御対象のシステムの技術者が直接HMIを設定可能になっている。
監視制御ステーション
監視制御ステーションとは、各種装置（RTU、PLC など）と通信するソフトウェアおよびサーバと、制御室内のワークステーションなどで動作するHMIソフトウェアを総称したものである。小型のSCADAシステムでは、1台のパーソナルコンピュータで動作する。大規模なSCADAシステムでは、複数台のサーバ上で分散ソフトウェアが動作し、災害リカバリ用の別サイトも用意される。システムの保全性を高めるため、各サーバを冗長構成またはホットスタンバイ構成にし、サーバ故障時にも連続的な制御や監視が行えるようにすることが多い。
かつては、UNIXやOpenVMSが使われることが多く、Linuxなどはあまり使われなかったが、最近では主要なオペレーティングシステムがサーバにもHMIワークステーションにも利用可能となっている。
運用方針
実際の運用では、制御システムの障害が多大な損失を生じることがある。場合によっては人命に関わることもある。SCADA用ハードウェアは、温度変化・振動・電圧変動などに耐性があるものが使われるが、特に信頼性を要求される場合はハードウェアや通信路を冗長化し、場合によっては制御センターそのものを複数用意する。故障した箇所は素早く特定され、その機能はバックアップハードウェアで即座に代替される。故障箇所はプロセスを止めることなく交換可能となっていることが多い。このようなシステムの信頼性は、統計的に故障までの時間で表される（平均故障間隔）。高信頼システムの平均故障間隔は、数百年のオーダーになることもある。
通信基盤と通信方法
SCADA システムの通信には従来から無線やシリアル通信が使われてきたが、鉄道や発電所などの大規模なサイトでは SONET / SDH 上の IP やイーサネットも使われる。SCADAシステムの遠隔管理/監視機能はテレメトリと呼ばれることがある。
SCADAのデータを既存の企業内ネットワークを使って転送するとか、他のアプリケーションとネットワークを共有させるといった動きもある。しかし初期の低帯域のプロトコルも未だに使われ続けている。SCADAのプロトコルは非常にコンパクトに設計され、マスタ側がRTUに要求しないと情報が送信されないようになっている。古くからあるSCADAプロトコルとしては、Modbus、RP-570、Profibus、Conitel などがある。これらはいずれもベンダー固有の通信プロトコルである。標準プロトコルとしては、IEC 60870-5-101 または 104、IEC 61850、DNP3 がある。これらは主要な業者の多くが採用している。これらのプロトコルの多くは、拡張としてTCP/IP上での運用が可能になっている。セキュリティを考慮して、SCADAシステムはインターネットに接続しないことが多い。
標準規格は後から生まれたものであるため、それまでに様々な制御プロトコルが考案され、使われてきた。また、ベンダロックインを意図して独自プロトコルを作った例もある。
最近では、異なるハードウェアやソフトウェア間の通信手法として OLE for Process Control (OPC) が広く採用されつつあり、元々産業ネットワークに接続することを考慮していない機器との通信も可能にしている。
最近の傾向
PLC と HMI/SCADA ソフトウェアは統合される傾向にある。1990年代中ごろ、データ収集装置は RS-485のような物理キャリア上の独自プロトコルを使って通信するものが多かった。特定ベンダーの製品を使っているユーザーは、何らかの変更を必要としたとき（システム拡張、性能向上など）、選択肢があまりないことに気づかされる。そのような問題を緩和するべく、IEC870-5-101/104 や DNP 3.0 といったオープンな通信プロトコルの採用が広がっていった。オープンアーキテクチャのSCADAシステムは、複数ベンダーの製品を組み合わせることができ、単一ベンダーに制限されている場合よりも良いソリューションを開発できる可能性がある。
1990年代末には、個々のI/O装置製造業者にもオープン化の流れが広まった。2000年までに多くのI/Oメーカーが Modicon MODBUS over TCP/IP のようなオープンなインタフェースを採用するようになった。
SCADAシステムは、ネットワーク技術の標準化と共に進化してきた。イーサネットとTCP/IPに基づくプロトコルは、古い独自規格を置換しつつある。一部の分野ではイーサネットの採用は限定的だが、市場の大部分はHMI/SCADAにイーサネットによるネットワークを採用した。
OPC-UA、Wonderware の Archestra、Rockwell Automation の FactoryTalk などの次世代プロトコルは、XML、Webサービスなどの最新Web技術を生かしたものとなっている。
ソフトウェア業界で Software as a Service の考え方が生まれ、インターネット上の遠隔プラットフォーム上でSCADAシステムのホスティングをするベンダーが出現している（PumpView、MultiTrode など）。これは、ユーザーがシステムをインストールして設定する必要を無くすもので、インターネット技術として既にある VPN や SSL といったセキュリティ機能を利用する。しかし、セキュリティ、信頼性、レイテンシを問題視する向きもある。
SCADAシステムは益々遍在するようになっている。シンクライアント、Webポータル、Webベースの製品が主要なベンダーで一般化しつつある。遠隔からプロセスを監視でき、便利にはなったが、セキュリティ上の懸念も増大している。