OPCクライアント-C#.NETサンプル

.NET系の開発言語からOPCサーバーにアクセスするには、COMと.NETの変換を行うラッパーが必要になります。
ここではRCW(Runtime Callble Wrapper)を使って、OPCサーバーにアクセスするC#.NETの実装方法を説明します。

OPCサーバーへのCOM接続

OPCサーバーのクラスIDを指定してCOM接続のインスタンスを生成し、OPCサーバーオブジェクトやブラウズオブジェクト等、OPCの各インフェーフェイスポインタを取得します。


OPCグループオブジェクトの生成とタグ登録

外部からOPCサーバー経由で実データを取得するためには、OPCサーバー内にグループオブジェクトを生成する必要があります。グループオブジェクトにはデータ更新周期を設定することができ、通常、同一周期でアクセスするデバイスを一括して、同じグループに登録します。なお、OPCサーバー内ではグループ毎にスレッドが生成されますので、細分化のし過ぎによるCPU負荷増加には注意してください。


同期(Sync)と非同期(ASync)

OPCグループオブジェクトによる交信には、同期と非同期の2種類あります。同期交信では、呼び出し直後から通信処理が完了するまでクライアント側は実行を停止させられますが、サーバー側で全ての通信処理が完了したタイミングで、その結果(リターン値)がクライアントに返されますので、通信が正常完了したかどうか確認することができます。一般的なプロシージャコールのスタイルです。それに対して、非同期交信は、処理要求を受け付けると即座に、クライアント側へ実行を移し、サーバー側プロセスでバックグランド処理を行い、通信完了時にコールバックハンドラを呼び出す仕組みになります。非同期方式は、通信によるウェイト時間を少なくし、高速にクライアントアプリケーションを実行させることができます。(注:非同期機能はアドバイスモード時のみ有効です)

キャッシュリード(OPC_DS_CACHE)は即座に物理的な通信を行わず、メモリ上にキャッシュされている最新のデータ値を返します。OPCサーバーは、グループ毎に登録されている更新周期に従って自動的にデータ更新を行い、キャッシュしています。必ずしも最新のデータでなくてもよい場合に高速アクセスすることが可能になります。






OPCサーバー

DAサーバー

製品情報

販売情報

オンラインショップ

困ったときは


会社情報