ここでOPC Classicが偉かった(?)のは、事実上、物理層の定めがなかった事だ。OPC ClassicはOPC DA(Data Access)、AE(Alarm & Events)、HDA(Historical Data Access)の3つが定義されている。DAは値やタイムスタンプ、品質情報などを、AEは状態の値、状態の管理、アラーム及びイベントのメッセージ交換を、HDAは履歴データやタイムスタンプ付きデータに対する問い合わせ方法や分析機能などをそれぞれ定義している。
ただいずれの仕様もWindows OLEのベースであるCOM/DCOM(Distributed Component Object Model)に基づくものとなっている。つまり、ベースとしてWindowsが動作するPC(それもWindows 95ないしWindows NT 4.0以降)が要求されており、逆にこれらのPCがサポートするTCP/IPベースのネットワーク(でないとCOM/DCOMが動かない)であれば何でもいい、という形で実装されたことだ。
この結果として既存フィールドバスはもちろんのこと、RS422やRS485といったシリアル通信で接続されていた機器であっても、そこに1台のWindows PCを介在させるだけでOPCとして管理することが可能になった。Photo01の図で言えば、PLCとかDCSにも、そのそばにOPCで接続するためのWindows PCを1台挟み込んでいる形だ。
さてこの第一世代のOPC(OPC Classic)はそれなりに成功を収めたが、Windowsをベースにしているというのはどうしてもいろいろな制約が出るのも事実であり、もう少しオープンな環境向けの仕様が必要という議論になった。またOPC Classicが実際に製造施設などで利用される事になり、ここからのさらなる要求も出てきた。
こうした要求に向けて、新しく仕様が定められたのがOPC UA(Unified Architecture)である。このOPC UAの仕様がリリースされたのは2008年の事で、OPC Classicの1996年から12年も掛かっている計算だ。
実はこの間に、幾つかのバージョンが挟まっている。まずXMLとSOAPが登場した事により、これをベースとしたXML DAと呼ばれる仕様が2003年に策定された。また、登場時期的にはOPC UAの後になってしまったのだが、OLE(というか、COM/DCOM)が古くなってしまった事もあり、途中でOPC .NET 3.0(正式名称はOPC Xi:Express Interface)と呼ばれる、OLEを.NETに置き換えたものがリリースされているが、これは通信方式をWCF(Windows Communication Foundation)に入れ替えただけのものである。
さてこのOPC UAはOPC Classicとの後方互換性をきちんと保ちつつ、大幅な機能拡張を施した。具体的にOPC UAの特徴として挙げられているものとしては以下のようなものとなる。
Photo02がそのOPC UAで提供されるInformation Modelである。
Copyright © ITmedia, Inc. All Rights Reserved.