OLE for Process Control

OLE for Process Control (OPC) は、1996年にファクトリーオートメーション業界のタスクフォースが策定したプロセス制御 (process control) の標準規格。この規格は、異なる製造元の各種制御機器間でリアルタイムでデータ通信を行うためのものである。
最初のリリース後 OPC Foundation が創設され、規格の保守にあたっている。その後、規格が追加され、名称も変化してきた。2006年6月時点では「OPCは一連の規格を指す」とされている（7つの現行規格と2つの策定中の規格）。「（元々 OPC Specification と呼ばれていた）最初の規格は、今では Data Access Specificaion」、または（同じページの後の方で）「OPC Data Access」、あるいは OPC Data Access Specification と呼ばれている。
OPC は本来は "OLE for Process Control" の略だが、OPC Foundation の公式見解では、OPCはもはや頭字語ではなく、その技術を単に "OPC" と呼ぶとしている。その背景には、OPCがプロセス制御だけでなく、部品加工や組み立てなどの物理的な工程の制御にも使われているという事実がある。
本来の内容と用途.
OPC Specification は、OLE、COM、DCOMというマイクロソフトが Microsoft Windows 向けに開発した技術に基づいている。この規格では、プロセス制御やファクトリーオートメーションで相互運用性を確保するためのオブジェクト、インタフェース、メソッドの標準セットを定義している。
OPCはWindowsベースのアプリケーションとプロセス制御ハードウェアをつなぐよう設計されていた。規格には、工場の各種機器からのデータにアクセスする一貫した方法が定義されている。この方法はデータの種類やソースに関わらず同じである。
OPCサーバ（OPCを実装したサーバソフトウェア）は様々なソフトウェアパッケージがプロセス制御機器（PLCやDCS）にアクセスする方法を提供する。従来、あるパッケージがある機器からのデータにアクセスする必要が生じると、特別なインタフェースまたはドライバを書く必要があった。OPCはインタフェースを共通化することで、1度コードを作成したら、それをどんなビジネスでもSCADAでもHMIでも独自ソフトウェアパッケージでも再利用できるようにした。
特定のデバイス向けにOPCサーバを1度開発すると、OPCクライアントとして動作する任意のアプリケーションでそれを再利用できる。OPCサーバはマイクロソフトのOLE技術（あるいはCOM）を使ってクライアントとやりとりする。COM技術は、ソフトウェアアプリケーションとプロセスハードウェアの間でリアルタイムの情報交換を可能にする。
将来.
新たに OPC Unified Architecture (UA) が策定され、既に実装と評価が始まっている。Java、.NET Framework、C言語で実装でき、Microsoft Windows が必須ではなくなった。UAには既存のOPCインタフェースに加えて、XMLとWebサービスといった新技術が導入されており、より高度なMESやERPをサポートする。製造におけるデータ交換の標準となる可能性があり、FactoryTalk や Archestra を置換し、一部のModbusアプリケーションも置換する可能性がある。