OPC UA Serverの機能

Empress OPC UA Serverは下記の機能を提供します。

1.通信の暗号化

OpenSSLはOPC UA定義の暗号化プロファイルの使用が可能です。対応している暗号化プロファイルは以下の通りでuaserver.config.xmlでは以下のURLで指定可能できます。

  http://opcfoundation.org/UA/SecurityPolicy#None
  http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15
  http://opcfoundation.org/UA/SecurityPolicy#Basic256
  http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256

2.データエンコーディング

データエンコーディングはTCP Binaryに対応しています。

3.ユーザの認証

ユーザの認証方法はAnonymous(ユーザ無し)とUserNamePassword(ユーザ・パスワード)に対応しています。ひとつの暗号化プロファイルに対し、複数の異なる、例えばNoneはAnonymous認証だけ、Basic256はUserNamePasswordだけの様な認証方法にも対応可能です。

4.Client認証機能

ServerのClient認証で使用するOpenSSLのCertificateはCertificate Storeのものの使用をお薦めしていますが、自己署名のCertificateを使用することも可能です。

5.ヒストカルデータ

Node及びVariableNodeのヒストリカルモードがONの場合、ヒストリカルデータはuaserver.config.xmlで指定されたデータベースに保存されます。OPC UAの規格ではヒストリカルデータを保存する場合、データベースを使用することが推奨されていますが、どのデータベースを使用するかなどの指定はありません。Empress OPC UA Serverのヒストリカルデータを保存する場合、Empress暗号化組込みデータベースに保存されます。

-- Empress暗号化組込みデータベースを使用するメリット --

1 フットプリントは2MB程度ですがデータの大量登録・検索を可能とします。
2 Empressは組込みデータベースで唯一AES256ビットの透過性暗号化が実装されています。
3 Empress高速登録APIによりヒストリカルデータ用のEmpress組込み暗号化データベースに直接データの登録、更新が可能です。通常のAPIではClientのNodeIDの検索後に登録しますので登録スピードが遅くなります。
4 ServerにはClientのヒストリカルデータのアクセスのコントロール機能が搭載されています。
5 OPC UA Server内部でEmpress組込み暗号化データベースを利用しているため、ヒストリカルデータ保存用に他社製のデータベースを並行使用することが可能です。

Empressはデータベースベンダーです。ヒストリカルデータベースはNodeごとにデータをテーブルに保存しますが、正規化したRBDMSのテーブル設計へのコンサルティング、ヒストリカルデータベースからERPへのデータ連携ツールなど広範囲なサポートを提供可能です。

6.Empress高速登録API

Empress高速登録APIはデータをServerのAddressSpaceに直接登録することが可能なAPIです。通常のAPIのようにClinetからServerへNodeIdの問い合わせなどのコミュニケーションが発生しないため簡単にコーディングすることが可能です。Empress高速登録APIはID_UaServer_UpdateVariableNodeWithVariant APIを使用し、APIのパラメータを設定することで使用が可能になります。パラメータを設定することで下記が可能となります。

1 NodeIdの取得が可能です。
2 データ獲得時間の短縮が可能です。
3 AddressSpaceのNodeを直接更新しすぐにClientが読める状態にします。
4 NodeとVariableNodeのヒストリカルモードがONの場合、すぐにヒストリカルDBを更新することが可能です。

7.コールバックAPI

Empress高速登録APIを使用し、CPUリソースを多く消費した場合の解決方法としてコールバックAPIの使用をお薦めします。コールバックは以下2つAPIを提供します。  

   ID_UaServer_RegisterPostWriteValueCallback
   ID_UaServer_RegisterPreReadValueCallback
 
詳しい使用方法はマニュアルを参照して下さい。

8.ユーザ定義API

ユーザが定義できるAPIはID_UaServer_BindCallableToMethodNodeを使用します。APIの実行前に必要なパラメーター(MethodIDなど)を設定し、AddressSpaceのNodeIdにバインドし、ClientがCallで定義するとAPIは実行可能になります。