orinとopcの技術比較¯じめに...

12
ORiNOPCの技術比較 0.1版 May 30, 2005 ORiN協議会 技術委員会

Upload: vunhi

Post on 08-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ORiNとOPCの技術比較¯じめに l本資料はORiN協議会が独自にOPCクライアント&サーバを 実装し,それを元に技術比較したもので,関連団体・会社・個

ORiNとOPCの技術比較

第0.1版

May 30, 2005

ORiN協議会 技術委員会

Page 2: ORiNとOPCの技術比較¯じめに l本資料はORiN協議会が独自にOPCクライアント&サーバを 実装し,それを元に技術比較したもので,関連団体・会社・個

はじめに

l 本資料はORiN協議会が独自にOPCクライアント&サーバを実装し,それを元に技術比較したもので,関連団体・会社・個人に承諾を得た資料ではありません.

l 本資料は「技術」の比較を主眼とし「組織」の比較などは含んでいません.

l OPCの全仕様を正しく理解しているわけではないので,間違いがあるかもしれません.指摘していただければ,すぐに検討・修正を加えます.

Page 3: ORiNとOPCの技術比較¯じめに l本資料はORiN協議会が独自にOPCクライアント&サーバを 実装し,それを元に技術比較したもので,関連団体・会社・個

概要

www.orin.jpwww.opcfoundation.orgホームページ

日本米国発祥の地

DCOM/CORBA/JAVA

DCOM分散オブジェクト技術

ロボット工業会マイクロソフト事務局(日本)

Open Resource interface for the Network

OLE for Process Control正式名

ORiN協議会OPC協議会サポート団体

ORiN 2OPC

Page 4: ORiNとOPCの技術比較¯じめに l本資料はORiN協議会が独自にOPCクライアント&サーバを 実装し,それを元に技術比較したもので,関連団体・会社・個

対応技術

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

本資料の対象

Page 5: ORiNとOPCの技術比較¯じめに l本資料はORiN協議会が独自にOPCクライアント&サーバを 実装し,それを元に技術比較したもので,関連団体・会社・個

オブジェクト化対象リソースORiN 2OPC

ファイル

コントローラ

タスク

I/O

変数

ロボット管理

起動生成

サーボ

教示ボックス

Controller (ex. Robot, PLC, NC)

タスク管理

拡張ボード

ファイル管理

ファイル

コントローラ

タスク

I/O

変数

ロボット管理

起動生成

サーボ

教示ボックス

Controller (ex. Robot, PLC, NC)

タスク管理

メッセージ

揮発性リソース

不揮発性リソース

・・・・・

拡張ボード

ファイル管理

・・・・・ コマンド

対象リソース

Page 6: ORiNとOPCの技術比較¯じめに l本資料はORiN協議会が独自にOPCクライアント&サーバを 実装し,それを元に技術比較したもので,関連団体・会社・個

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エンジン (デュアルインターフェイス)

Page 7: ORiNとOPCの技術比較¯じめに l本資料はORiN協議会が独自にOPCクライアント&サーバを 実装し,それを元に技術比較したもので,関連団体・会社・個

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プロバイダ (デュアルインターフェイス)

Page 8: ORiNとOPCの技術比較¯じめに l本資料はORiN協議会が独自にOPCクライアント&サーバを 実装し,それを元に技術比較したもので,関連団体・会社・個

考察1:オブジェクトモデル

uOPC-DAの対象リソースは少なく,例えばファイル操作をするアプリケーションをきれいに書くことは難しい.

u対象リソースがOPC-DAとCAOでは大きく違うのに,関数の総数は2倍に満たない.

uこの大きな理由はCAOのモデルには最低限の宣言的モデルしか含まれず,操作的モデルはアプリケーションを想定したアドオンで実現するという設計になっているためである.

u実際にOPC-DAのオブジェクトモデルに最も近いのは,CaoSQLというCAO上のSCADAを指向したアドオンである.

uまた,別のアドオンとして,CaoOPCがあるがこれはまさにCAO上でOPC-DAサーバの機能与えるアドオンである.

Page 9: ORiNとOPCの技術比較¯じめに l本資料はORiN協議会が独自にOPCクライアント&サーバを 実装し,それを元に技術比較したもので,関連団体・会社・個

CAOOPC-DA

アーキテクチャ

CAOエンジン

アプリケーションCAOエンジンCAOプロバイダ

■CAOアーキテクチャ■OPCアーキテクチャアプリケーションOPC-DAサーバ

共通インターフェイス

■特徴:• 各アプリケーションがOPC-DAサーバを操作する.• 各デバイスメーカが自社用のOPC-DAサーバを実装する.

■特徴:• 各アプリケーションはエンジンが与えるインターフェイスを介して,抽象化されたデバイスを操作する.• 抽象化されたデバイスと実デバイスの差をプロバイダで吸収する.• エンジンは共通な機能を提供する.• 各デバイスメーカはプロバイダを実装する.

Page 10: ORiNとOPCの技術比較¯じめに l本資料はORiN協議会が独自にOPCクライアント&サーバを 実装し,それを元に技術比較したもので,関連団体・会社・個

(参考)CAOのアーキテクチャ

CAO Engine

← アプリケーションIF

← デバイスIF

ゲートウェイ・アプリケーションアプリケーションIFを直接使えないアプリケーション向け(例) CaoOPC,CaoUPnP

ゲートウェイ・プロバイダデバイスIFを持たないデバイス向け(例) OPCプロバイダ,HLAプロバイダ

特定アプリケーション向けミドルウェア(例) CaoSQL – SCADA,MES向け

データ共有型プロバイダ(例) DBプロバイダ,共有メモリプロバイダ,黒板プロバイダ,CRDプロバイダ

標準通信プロバイダ(例) CAPプロバイダ,e-CAPプロバイダ,CORBAプロバイダ

ユーティリティ型プロバイダ(例) Pingプロバイダ, FTPプロバイダ

デバイスプロバイダ

アプリケーション

.NET/JAVAアプリケーション

リアルタイムアプリケーション

Page 11: ORiNとOPCの技術比較¯じめに l本資料はORiN協議会が独自にOPCクライアント&サーバを 実装し,それを元に技術比較したもので,関連団体・会社・個

考察2:アーキテクチャ

uOPC-DAは二層モデルで,アプリケーションはサーバを直接操作する.

uCAOは三層モデルで,アプリケーションはCAOで抽象化されたデバイスを操作し,実デバイスとの差はプロバイダで吸収する.

uCAOのプロバイダは本質的なモデルしか含まないのでOPC-DAと比べると実装が非常に容易である.

uOPC-DAには共通な機能を与える場がないので,例えばCAOエンジンのダイナミックバインディング機能(APIを動的に変化させる機能)のような高度な機能を実現するのは困難.

Page 12: ORiNとOPCの技術比較¯じめに l本資料はORiN協議会が独自にOPCクライアント&サーバを 実装し,それを元に技術比較したもので,関連団体・会社・個

結論

l ORiNとOPCはそれぞれ別の背景を持って開発された別の仕様である.

l その為,オブジェクト化の対象リソースが大きく違い,アーキテクチャ設計のポリシーも違う.

l また,遅れて開発した分だけ,ORiNの仕様はエレガントに設計されており,多様なニーズに対応できる.