View
6
Download
0
Category
Preview:
Citation preview
ORiNとOPCの技術比較
第0.1版
May 30, 2005
ORiN協議会 技術委員会
はじめに
l 本資料はORiN協議会が独自にOPCクライアント&サーバを実装し,それを元に技術比較したもので,関連団体・会社・個人に承諾を得た資料ではありません.
l 本資料は「技術」の比較を主眼とし「組織」の比較などは含んでいません.
l OPCの全仕様を正しく理解しているわけではないので,間違いがあるかもしれません.指摘していただければ,すぐに検討・修正を加えます.
概要
www.orin.jpwww.opcfoundation.orgホームページ
日本米国発祥の地
DCOM/CORBA/JAVA
DCOM分散オブジェクト技術
ロボット工業会マイクロソフト事務局(日本)
Open Resource interface for the Network
OLE for Process Control正式名
ORiN協議会OPC協議会サポート団体
ORiN 2OPC
対応技術
CAOの一機能OPC Alarms & Eventsアラームとイベント
なし
(CAOのアドオンとして検討中)
OPC Batchバッチプロセス専用機能
CRD
(Controller Resource Definition)
なし標準リソース表現形式
CAOファイルクラス
+ CRDインスタンス
OPC Historical Data Access履歴データアクセス
RAC
ASCII string on TCP
OPC-DX
(Data eXchange)
P2P通信
e-CAPなしHTTP通信
CAP
(Controller Access Protocol)
OPC-XMLSOAP通信
(WEBサービス)
CAO
(Controller Access Object)
OPC-DA
(Data Access)
アプリケーションプログラムインターフェイス
ORiN 2OPC
本資料の対象
オブジェクト化対象リソースORiN 2OPC
ファイル
コントローラ
タスク
I/O
変数
ロボット管理
起動生成
サーボ
教示ボックス
Controller (ex. Robot, PLC, NC)
タスク管理
拡張ボード
ファイル管理
ファイル
コントローラ
タスク
I/O
変数
ロボット管理
起動生成
サーボ
教示ボックス
Controller (ex. Robot, PLC, NC)
タスク管理
メッセージ
揮発性リソース
不揮発性リソース
・・・・・
拡張ボード
ファイル管理
・・・・・ コマンド
対象リソース
CAOOPC-DA
オブジェクトモデル
CaoEngine
CaoFiles
CaoFile
CaoTasks
CaoTask
CaoRobots
CaoRobot
CaoExtensions
CaoExtension
CaoCommands
CaoCommand
CaoMessage
CaoEngineStatus
CaoWorkspace
CaoControllers
CaoController
CaoWorkspaces
CaoVariables
CaoVariable
■DAオートメーションインターフェイス
OPCServer
OPCGroups
OPCGroup
OPCItem
OPCItems
OPCBrowser
■CAOエンジン (デュアルインターフェイス)
CAOOPC-DA
オブジェクトモデル(続き)
CaoControllerOPCServer
OPCGroup
クラス数:6(2)カスタムインターフェイス数:6(12)関数の総数:140(57)()内はDAカスタムインターフェイス
クラス数:19(8)カスタムインターフェイス数:19(8)関数の総数:207(109)()内はCAOプロバイダインターフェイス
(注)OLE標準インターフェイスは含まず.
■DAカスタムインターフェイス
CaoFile
CaoTask
CaoRobot
CaoExtensions
CaoCommand
CaoMessage
CaoVariable
■CAOプロバイダ (デュアルインターフェイス)
考察1:オブジェクトモデル
uOPC-DAの対象リソースは少なく,例えばファイル操作をするアプリケーションをきれいに書くことは難しい.
u対象リソースがOPC-DAとCAOでは大きく違うのに,関数の総数は2倍に満たない.
uこの大きな理由はCAOのモデルには最低限の宣言的モデルしか含まれず,操作的モデルはアプリケーションを想定したアドオンで実現するという設計になっているためである.
u実際にOPC-DAのオブジェクトモデルに最も近いのは,CaoSQLというCAO上のSCADAを指向したアドオンである.
uまた,別のアドオンとして,CaoOPCがあるがこれはまさにCAO上でOPC-DAサーバの機能与えるアドオンである.
CAOOPC-DA
アーキテクチャ
CAOエンジン
アプリケーションCAOエンジンCAOプロバイダ
■CAOアーキテクチャ■OPCアーキテクチャアプリケーションOPC-DAサーバ
共通インターフェイス
■特徴:• 各アプリケーションがOPC-DAサーバを操作する.• 各デバイスメーカが自社用のOPC-DAサーバを実装する.
■特徴:• 各アプリケーションはエンジンが与えるインターフェイスを介して,抽象化されたデバイスを操作する.• 抽象化されたデバイスと実デバイスの差をプロバイダで吸収する.• エンジンは共通な機能を提供する.• 各デバイスメーカはプロバイダを実装する.
(参考)CAOのアーキテクチャ
CAO Engine
← アプリケーションIF
← デバイスIF
ゲートウェイ・アプリケーションアプリケーションIFを直接使えないアプリケーション向け(例) CaoOPC,CaoUPnP
ゲートウェイ・プロバイダデバイスIFを持たないデバイス向け(例) OPCプロバイダ,HLAプロバイダ
特定アプリケーション向けミドルウェア(例) CaoSQL – SCADA,MES向け
データ共有型プロバイダ(例) DBプロバイダ,共有メモリプロバイダ,黒板プロバイダ,CRDプロバイダ
標準通信プロバイダ(例) CAPプロバイダ,e-CAPプロバイダ,CORBAプロバイダ
ユーティリティ型プロバイダ(例) Pingプロバイダ, FTPプロバイダ
デバイスプロバイダ
アプリケーション
.NET/JAVAアプリケーション
リアルタイムアプリケーション
考察2:アーキテクチャ
uOPC-DAは二層モデルで,アプリケーションはサーバを直接操作する.
uCAOは三層モデルで,アプリケーションはCAOで抽象化されたデバイスを操作し,実デバイスとの差はプロバイダで吸収する.
uCAOのプロバイダは本質的なモデルしか含まないのでOPC-DAと比べると実装が非常に容易である.
uOPC-DAには共通な機能を与える場がないので,例えばCAOエンジンのダイナミックバインディング機能(APIを動的に変化させる機能)のような高度な機能を実現するのは困難.
結論
l ORiNとOPCはそれぞれ別の背景を持って開発された別の仕様である.
l その為,オブジェクト化の対象リソースが大きく違い,アーキテクチャ設計のポリシーも違う.
l また,遅れて開発した分だけ,ORiNの仕様はエレガントに設計されており,多様なニーズに対応できる.
Recommended