OPC UA Serverの実装
通常、OPC UA Server SDKは情報モデルのスケルトンを提供します
販売されている多くのOPC UA Server(Empressの場合はStandard及びExpress Edition)はデフォルトではOpc.Ua.NodeSet2.xmlをロードした情報モデルのスケルトンだけを提供します。通常、Empress以外も同様ですがOPC UA Severを購入すると情報モデルのスケルトンの部分しか提供されていません。まず、オブジェクトをUMLを用いてモデル化します。次にモデル化されたオブジェクトをNodeモデルに変換します。作成されたObjectTypeやVariableTypeを使用しObjectやVariableをインスタンス化し自社用のXML(Vendor Specific Extensions)を作成します。次に作成したXMLファイルを<AddtionalNodesetFile>に追記し、OPC UA Serverを立ち上げれば自社用の情報モデルをもったOPC UA Serverが立ち上がります。モデリングとOPC UAの基本的な知識やノーハウがあればそれほど難しい作業ではありません。
Companion Specの実装
それではEUROMAP83など業界標準のCompanion Information ModelをServerに取り込むにはどうすれば良いのでしょう。Information Companion ModelをServerに取り込むにはCompanion Spec(CSと略されます)で定義されたProfileやFacetの要件をServerに実装しなければなりません。これらの要件をServerに実装することはCS(例えばEUROMAP 83)で独自定義されたVariableType、DataType、Reference、Event、MethodをServerのプログラムに追加することを意味します。DataTypとはVariableやVariableTypeのValue Attributeのデータ型を示します。一般的なデータ型はBuilt-in DataTypeとしてデフォルトで実装されていますが、CS独自の構造体はデフォルトでは実装されていません。
EventはServerからClientに提供される通知です。これもOPC UAの仕様で定義されているEventは実装されていますが、CS独自のものは実装されていません。
MethodはFA機器の軽量なプログラム、たとえばコマンドです。これはCSのObjectTypeに依存するので実装されていません。
これらはデフォルトのSeverでは実装されていません。XMLだけを作成しOPC UA SeverにロードすればCSに対応はできると誤解されている方がいらっしゃいますが、CSで独自に定義された3つをOPC UA Serverに実装することが必要になります。実装はベンダーが提供するToolkitを用いて開発する場合や提供されたAPIを使用し開発する場合などがあります。
これら3つの実装が終了しOPC UA Serverが情報モデルのXMLファイル(VDMAなどの団体が作成している場合や自社でCSをもとに作成する場合もあります。)をロードすることではじめて業界標準のInformation Companion Modelに対応したOPC UA Severが立ち上がります。