ORiN2 仕様書ORiN2 仕様書 3 Version 1.0, August 25, 2005 ORiN Forum

319
ORiN2 仕様書 1 Version 1.0, August 25, 2005 ORiN Forum ORiN2 仕様書 version 1.0 August 25, 2005 【備考】

Transcript of ORiN2 仕様書ORiN2 仕様書 3 Version 1.0, August 25, 2005 ORiN Forum

ORiN2 仕様書 1

Version 1.0, August 25, 2005 ORiN Forum

ORiN2 仕様書

version 1.0

August 25, 2005

【備考】

ORiN2 仕様書 2

Version 1.0, August 25, 2005 ORiN Forum

【改版履歴】

日付 版数 内容

2005/8/25 1.0.0 初版.

ORiN2 仕様書 3

Version 1.0, August 25, 2005 ORiN Forum

目次

1 ORiN2 ..................................................................................................................................................7

1.1. 背景.................................................................................................................................................7 1.2. 技術概要..........................................................................................................................................8 1.3. モデル化の範囲................................................................................................................................8

1.3.1. 不揮発性リソースと揮発性リソース................................................................................................9 1.3.2. プル型デバイスとプッシュ型デバイス............................................................................................9

1.4. CAO の概要......................................................................................................................................9 1.4.1. CAOのオブジェクトモデル..........................................................................................................11 1.4.2. CAOの機能..............................................................................................................................12

1.5. CRD の概要....................................................................................................................................12 1.6. CAP の概要....................................................................................................................................13

2 CAO - 標準プログラムインターフェイス ............................................................................... 14

2.1. CAOコンポーネントの構成...............................................................................................................14 2.1.1. CAOエンジン ...........................................................................................................................14 2.1.2. CAOプロバイダ........................................................................................................................15 2.1.3. 共通インターフェイスの実装.......................................................................................................15

2.2. CAO オブジェクトの構造..................................................................................................................16 2.2.1. CAOエンジンの構造.................................................................................................................16 2.2.2. CAOプロバイダの構造..............................................................................................................17 2.2.3. CAOエンジンと CAO プロバイダの関連......................................................................................18

2.3. CAO エンジンの詳細.......................................................................................................................20 2.3.1. クラスとインターフェイスの一覧...................................................................................................20 2.3.2. メソッドおよびプロパティの一覧..................................................................................................22

2.3.2.1. CaoEngine Object - エンジン............................................................................................ 22 2.3.2.2. CaoWorkspace(s) Object - ワークスペース........................................................................ 23 2.3.2.3. CaoController(s) Object - コントローラ................................................................................ 25 2.3.2.4. CaoVariable(s) Object - 変数............................................................................................. 28 2.3.2.5. CaoRobot(s) Object - ロボット.......................................................................................... 30 2.3.2.6. CaoFile(s) Object - ファイル............................................................................................. 33 2.3.2.7. CaoTask(s) Object - タスク............................................................................................... 36 2.3.2.8. CaoCommand(s) Object - コマンド.................................................................................... 38 2.3.2.9. CaoExtension(s) Object - 拡張ボード................................................................................. 40 2.3.2.10. CaoMessage Object - メッセージ .................................................................................... 42 2.3.2.11. CaoEngineStatus Object - エンジンステータス................................................................ 43

2.3.3. イベントの一覧..........................................................................................................................44

ORiN2 仕様書 4

Version 1.0, August 25, 2005 ORiN Forum

2.3.3.1. CaoController Object - コントローラ.................................................................................... 44 2.3.3.2. CaoCommands Object - コマンド...................................................................................... 44

2.3.4. 関数仕様.................................................................................................................................45 2.3.4.1. ICaoEngine.......................................................................................................................... 45 2.3.4.2. ICaoWorkspaces................................................................................................................... 46 2.3.4.3. ICaoWorkspace.................................................................................................................... 48 2.3.4.4. ICaoControllers.................................................................................................................... 50 2.3.4.5. ICaoController ..................................................................................................................... 52 2.3.4.6. ICaoVariables...................................................................................................................... 61 2.3.4.7. ICaoVariable........................................................................................................................ 63 2.3.4.8. ICaoRobots.......................................................................................................................... 65 2.3.4.9. ICaoRobot ........................................................................................................................... 67 2.3.4.10. ICaoFiles........................................................................................................................... 73 2.3.4.11. ICaoFile............................................................................................................................. 75 2.3.4.12. ICaoTasks.......................................................................................................................... 82 2.3.4.13. ICaoTask ........................................................................................................................... 84 2.3.4.14. ICaoCommands.................................................................................................................. 88 2.3.4.15. ICaoCommand ................................................................................................................... 90 2.3.4.16. ICaoExtensions................................................................................................................... 93 2.3.4.17. ICaoExtension.................................................................................................................... 95 2.3.4.18. ICaoMessage...................................................................................................................... 98 2.3.4.19. ICaoEngineStatus.............................................................................................................. 100 2.3.4.20. IEventSink....................................................................................................................... 102 2.3.4.21. _ICaoControllerEvents...................................................................................................... 102 2.3.4.22. _ICaoCommandsEvents..................................................................................................... 102

2.4. CAO プロバイダの詳細.................................................................................................................. 104 2.4.1. クラスとインターフェイスの一覧................................................................................................. 104 2.4.2. メソッドおよびプロパティの一覧................................................................................................ 105

2.4.2.1. CaoProvController Object - コントローラ........................................................................... 105 2.4.2.2. CaoProvVariable Object - 変数........................................................................................ 107 2.4.2.3. CaoProvRobot Object - ロボット..................................................................................... 108 2.4.2.4. CaoProvFile Object - ファイル.........................................................................................110 2.4.2.5. CaoProvTask Object - タスク...........................................................................................112 2.4.2.6. CaoProvCommand Object - コマンド................................................................................113 2.4.2.7. CaoProvExtension Object - 拡張ボード.............................................................................114 2.4.2.8. CaoProvMessage Object - メッセージ ..............................................................................115

2.4.3. 関数仕様............................................................................................................................... 116 2.4.3.1. ICaoProvController..............................................................................................................116 2.4.3.2. ICaoProvVariable............................................................................................................... 121

ORiN2 仕様書 5

Version 1.0, August 25, 2005 ORiN Forum

2.4.3.3. ICaoProvRobot................................................................................................................... 123 2.4.3.4. ICaoProvFile...................................................................................................................... 128 2.4.3.5. ICaoProvTask .................................................................................................................... 133 2.4.3.6. ICaoProvCommand............................................................................................................. 136 2.4.3.7. ICaoProvExtension ............................................................................................................. 138 2.4.3.8. ICaoProvMessage............................................................................................................... 140 2.4.3.9. _ICaoProvControllerEvents.................................................................................................. 142

2.5. CAO オブジェクトの生成................................................................................................................ 143 2.5.1. CaoWorkspace::AddController メソッドの接続パラメータ.............................................................. 144

2.6. CAO システム変数......................................................................................................................... 144 2.6.1. CaoController オブジェクト....................................................................................................... 144 2.6.2. CaoRobot オブジェクト.............................................................................................................. 146 2.6.3. CaoTask オブジェクト............................................................................................................... 147 2.6.4. CaoExtension オブジェクト........................................................................................................ 148

2.7. CAOイベントメッセージ.................................................................................................................. 149 2.8. CAO のオプション文字列............................................................................................................... 151

2.8.1. @EventDisenable オプション...................................................................................................... 153 2.8.2. @Create オプション.................................................................................................................. 153

2.9. CAO の非同期実行....................................................................................................................... 153 2.9.1. CaoCommand::State プロパティ................................................................................................. 153 2.9.2. CaoCommand::Execute メソッド ................................................................................................. 154

3 CRD - 標準データスキーマ....................................................................................................155

3.1. CRD の構成.................................................................................................................................. 155 3.2. CRD 固有のメソッド・プロパティ....................................................................................................... 156

3.2.1. CaoWorkspace::AddController メソッド....................................................................................... 156 3.3. CRD ファイルの構造...................................................................................................................... 157

3.3.1. CRD の要素と CAO のインタフェース........................................................................................ 157 3.3.2. ヘッダとルート要素.................................................................................................................. 159 3.3.3. CRD コントローラ要素............................................................................................................... 159 3.3.4. CRD 変数要素........................................................................................................................ 161 3.3.5. CRD コマンド要素.................................................................................................................... 161 3.3.6. CRD 拡張要素........................................................................................................................ 162 3.3.7. CRD ファイル要素.................................................................................................................... 162 3.3.8. CRD ロボット要素..................................................................................................................... 163 3.3.9. CRD タスク要素....................................................................................................................... 164

4 CAP - インターネット対応通信プロトコル ..........................................................................165

4.1. CAP の構成.................................................................................................................................. 165

ORiN2 仕様書 6

Version 1.0, August 25, 2005 ORiN Forum

4.2. CAP固有のメソッド・プロパティ........................................................................................................ 165 4.2.1. CaoWorkspace::AddController メソッド....................................................................................... 165

4.3. CAP の通信仕様........................................................................................................................... 166 4.3.1. CAP のメッセージ構造............................................................................................................. 166

4.3.1.1. Service_<Method>.............................................................................................................. 167 4.3.1.2. Controller_<Method>.......................................................................................................... 168 4.3.1.3. Variable_<Method>............................................................................................................ 177 4.3.1.4. Robot_<Method> ............................................................................................................... 180 4.3.1.5. File_<Method>................................................................................................................... 187 4.3.1.6. Task_<Method>................................................................................................................. 195 4.3.1.7. Command_<Method> ......................................................................................................... 200 4.3.1.8. Extension_<Method>.......................................................................................................... 204 4.3.1.9. Message_<Method>............................................................................................................ 208

A 付録 ...............................................................................................................................................211

A.1. DCOM-CAO Engine IDL............................................................................................................... 211 A.2. DCOM-CAO Provider IDL............................................................................................................ 223 A.3. CORBA-CAO Engine IDL............................................................................................................. 231 A.4. CORBA-CAO Provider IDL........................................................................................................... 236 A.5. CRD-スキーマ.............................................................................................................................. 239 A.6. CAP-WSDL.................................................................................................................................. 244 A.7. CAP Listener IDL......................................................................................................................... 310

B 付録 ...............................................................................................................................................316

B.1. 用語集......................................................................................................................................... 316

ORiN2 仕様書 7

Version 1.0, August 25, 2005 ORiN Forum

1 ORiN2

1.1. 背景

近年,工場でのPCアプリケーションプログラムの稼動数は増加傾向にあります.生産管理システム,

工程管理システム,稼動監視システム,不具合解析システムなど,さまざまなアプリケーションプログラ

ムが工場で稼動しており,現在ではそれらは製造システムの基幹になりつつあります. しかしながら,それらのアプリケーションプログラムは,そのほとんどが特定メーカの特定機種でしか

利用することができません.それは,それらが特定の専用ネットワークや専用プロトコルに依存した「一

品物」であることに起因しています.そのようなシステムを一旦工場に導入してしまうと,専任のソフト

ウェア開発者を常駐させなければ,システムの改善は止まってしまい,真に使い易い姿にはほど遠い形で

工場に残っていきます.このような状態では,システム導入の費用対効果は悪化し,しいてはシステムそ

のものの価値を低下させます. また,近年の製品の需要は初期段階で急激に伸びる傾向が顕著なので,これに追従できなければ機会損

失を招くことになります.そのため,各製造メーカは設備の垂直立ち上げに取り組んでいるおり,そこで

は設備のライフサイクル全体を考慮して,ハードウェア・ソフトウェアを含めた高度な再利用性が重要に

なってきます.上記のような「一品物」は再利用性も極端に低くなってしまうのです. そこで,我々は標準的なPCアプリケーションプラットフォームを開発する目的で ORiN を開発しまし

た.ORiNとは,Open Robot/Resource interface for the Network の略で,ロボットや様々な FA機器などの幅

広いリソースを統一的に扱うことのできるフレームワークです.この ORiN を利用することにより,メー

カや機種に依存しないアプリケーションを開発することができるようになり,PCアプリケーションプロ

グラムの再利用性は飛躍的に向上します. 1999 年から開始された ORiNプロジェクトの成果として,2002 年に ORiN version1 が制定されました.

この ORiN version1 は,さまざまな FAアプリケーションに適用され,そのアプリケーション開発の中で培

われた技術をもとに,新しい規格として ORiN version 2 (以降 ORiN2) が制定されました.本書はこの ORiN2の仕様書です.

図 1: ORiN の目指す姿

ORiN

生産管 工程管 稼動監 不具合解

ORiN2 仕様書 8

Version 1.0, August 25, 2005 ORiN Forum

1.2. 技術概要

ORiN2 とは,産業用ロボット,PLC,NC等の FAデバイス(機器)との標準的なプログラムインターフェ

イスを与えるミドルウェアであり,次のような特徴を持ちます. プログラミング言語からの中立性 通信プロトコルからの独立性 ネットワークの透過性

ここで,プログラミング言語からの中立性とはさまざまなプログラミング言語から使えることを意味し

ます.また,通信プロトコルからの中立性とは,メーカ独自の通信プロトコルに依存しないことを意味し,

ネットワーク透過性とは実装モジュールがネットワーク上のどこに配置されてもクライアントプログラム

から透過的に扱えることを意味します. ORiN2 は次の 3つの技術から構成されています. 1. CAO - 標準プログラムインターフェイス (2 章) 2. CRD - 標準データスキーマ (3章) 3. CAP – インターネット対応通信プロトコル (4章) それぞれ,CAO (Controller Access Object) は分散オブジェクト技術,CRD (Controller Resource Definition)

は XML 技術,CAP (Controller Access Protocol) は SOAP 技術を基盤としています.この 3つの技術の関係

を図 2に示します.

図 2: ORiN2 のモデル化と3つの技術

1.3. モデル化の範囲

ORiN の仕様は,「外部からデバイス内部のリソースどのように公開するか」という切り口で策定されて

います.そのためにFAデバイスを抽象化したデバイスモデルを規定しており,そのモデル化の対象とな

るリソースが図 3 に示したものです.

アプリケーション

ORiNデバイスモデル

デバイス(実体)

この皮を被せて抽象化し,それに対する標準的

なアクセス手段を提供する.

⇒ ① プログラムインターフェイス CAO

このデバイスが持つリソースを表現するための

標準的なスキーマを提供する.=CRD

⇒ ② データスキーマ CRD

このデバイスがインターネットを介して接続され

ても透過的に扱えるようにする.=CAP

⇒ ③ インターネット対応プロトコル CAP

ORiN2 仕様書 9

Version 1.0, August 25, 2005 ORiN Forum

ここで示した全てのリソースがなければ ORiN を使えないわけではなく,概念的にマッチする 低一つ

のリソースが存在しさえすればいいのです.この緩やかな制約が様々な FAデバイスへの適用を可能にしま

した.

図 3: ORiN2 の対象領域

1.3.1. 不揮発性リソースと揮発性リソース

対象とするリソースには不揮発性と揮発性の 2 つに大別できます.例えば,PLC(Programmable Logic Controller)の I/O やレジスタ変数などはデバイスの電源が入っている限り,どの時点でも存在するリソー

スを不揮発性リソースと呼んでいます.逆に,デバイスがある時点で発生させたメッセージ文字列や,逆

にデバイスに対して発行したコマンド文字列などを不揮発性のリソースと呼んでいます.ORiNではこの両

方のタイプをモデル化しています. 1.3.2. プル型デバイスとプッシュ型デバイス

対象とするデバイスにはプル型(またはストア型と呼ぶ)と,プッシュ型(またはイベント型)の 2 つ

のタイプがあります.例えば,PLC やロボットコントローラなどの多くはプル型のデバイスで,外部から

リソースデータを参照するというアクセス手段をとります.このプル型デバイスの特徴は「現在値」を持

つことです.逆に,プッシュ型デバイスとはバーコードスキャナのようにデバイスから外部にデータをプ

ッシュするタイプです.

1.4. CAO の概要

CAO(Controller Access Object)は,標準プログラムインターフェイスを与える ORiNの核となる仕様です.

CAOは分散オブジェクト技術をベースにした仕様です.CAOはエンジン部とプロバイダ部の 2つのパート

から成ります.エンジン部はアプリケーションプログラムに対して,唯一のインターフェイスを与えます.

ファイル

コントローラ(メイン)

タスク(ジョブ)

I/O 変数 ロボット管理

起動生成

サーボ

教示ボックス

タスク管理

メッセージ

コマンド

揮発性リソース

不揮発性リソース

・・・

拡張カード• 言語解釈

ファイル管理

・・・

PC

FAデバイス

ORiN2 仕様書 10

Version 1.0, August 25, 2005 ORiN Forum

これをアプリケーション向けインターフェイスと呼んでいます.また,エンジン部は各FAデバイスに依

存しない汎用的な機能を提供します.逆に,プロバイダ部はFAデバイスと CAOの抽象デバイスとの違い

を吸収するモジュールです.プロバイダ部はエンジン部に対して,唯一のインターフェイスを与えます.

これをデバイス向けインターフェイスと呼んでいます.(図 4)

図 4: CAO の概要

この CAO によりアプリケーションメーカはデバイスにあまり依存しないでアプリケーションを開発で

き,逆にデバイスメーカはアプリケーションに依存しないで機能を公開することができます.また,エン

ジンとプロバイダの 2 つのパートに分離することで,デバイスに依存する部分を吸収するという本質的に

必要な部分の開発を容易にします. CAOアプリケーションのフレームワークを簡単に述べると下記のようになります.

1. CAOアプリケーションは CAOエンジンで抽象化されたデバイスオブジェクトを操作します. 2. CAOエンジンはその操作要求にもとづいて,実際のデバイスに依存しないような処理を実施します. 3. CAO プロバイダは CAO エンジンが処理できなかった実際のデバイスに依存するような処理を実施し

ます. 一般的に,「プログラム = アルゴリズム + データ」であり,CAO の設計はアルゴリズムを共通化さ

せることを目的にしています.プログラムの一本化を目的にすると非常に制限された仕様になってしまい

ますが,アルゴリズムの一本化を目的にすることで,汎用性と多様性を両立することができます.その為,

データ表現は各社で定義することができます.しかしながら,そのデータ表現の自由度が完全にフリーな

状態ではやはりプログラムの汎用化が難しくなるため,ORiNでは 2つのアイデアが導入されています.そ

の1つが,システム変数です.予めある程度意味を限定したシステム変数を規定することでデータの汎用

性を図ります.もう一つが,CAOモデル記述言語です.あるシナリオの中で必要なオブジェクト郡を予め

ORiN2 仕様書 11

Version 1.0, August 25, 2005 ORiN Forum

定義しておくことができ,そうるすことでプログラムとデータの分離を促すことができます.

1.4.1. CAOのオブジェクトモデル

CAOのオブジェクトツリーを図 5 に示します.上述したように,CAOのアーキテクチャはエンジン部と

プロバイダ部の 2層に分離されていますので,オブジェクトモデルも 2 つになっています.図 3 と比較す

ると分かるように,プロバイダ部のモデルはコントローラ内の対象リソースとほぼ一対一に対応する宣言

的なシンプルなモデルになっています.

図 5: CAO のオブジェクトモデル

エンジン部,プロバイダ部ともに宣言的なモデルしか含まず,操作的なモデルは 小限のものしか含ま

れていません.その理由を述べる前に,まずはここでいう操作的なモデルと宣言的なモデルとは何かにつ

いて例を使って説明しまs.例えば,デジタル I/Oというリソースを考えたとき,その現在値や INか OUTかという属性などは宣言的なモデルに含まれます.しかし,実際のアプリケーションを考えたときそれだ

けでは不足で,その値を同期型あるいは非同期型で取得する,もしくは値の変化があったらイベントとし

て受け取る,など様々な取得手段が必要とされます.その手段や値の加工などが操作的なモデルに含まれ

ます.CAO ではそのような操作的な機能を CAO 上の各種ゲートウェイアプリケーションが与える構造に

なっています.その理由は,操作的な機能は開発しようとしているアプリケーションによって必要とされ

る機能が様々で,エンジンがそれらを汎用的に与えることが難しいからです.ただし,CaoCommand クラ

スは元々操作的な拡張用クラスであるので,例外的にエンジンで非同期処理などの機能を与えています. また,CAO では,コントローラの抽象化は,実際のリソースをそのままマッピングするのではなくて,

その部分集合をマッピングするようにしました.つまり,CAOのコレクションは実際のリソース数の部分

集合になります.こうすることで,数千から数万というリソースをもつようなコントローラに対しても現

実的なインスタンスの数でそれらにアクセスすることができます.

ORiN2 仕様書 12

Version 1.0, August 25, 2005 ORiN Forum

1.4.2. CAOの機能

CAOエンジンは,コレクション管理,アクセス制限,メッセージ管理,ログ管理などの汎用的な機能を

与えます.これらの機能はインターフェイスの仕様とはある程度分離されたものですので,インターフェ

イス仕様に準拠していれば機能は比較的今後も拡張できます.つまり,機能の違うエンジンを実装するこ

とも可能です. CAOは分散オブジェクト技術を基盤にしているので,CAOのモジュールはネットワーク上に自由に配置

することができます.これにより,ハードウェア構成や,ソフトウェア構成,CPU負荷などによってその

配置を自由に変更できるというメリットが生まれます. 現時点での CAOのモジュールの分散配置の基盤としては,Microsoft の DCOM,OMGの CORBA,W3C

の SOAP があります.要求されるパフォーマンスや,セキュリティに応じてそれらを選択することが可能

です.

図 6: CAO モジュールの配置形態

1.5. CRD の概要

CRD(Controller Resource Definition)は FAデバイスが持つ各種静的リソースをXMLで記述するための規格

です.そのデータスキーマを CRDスキーマと呼び,この CRDスキーマに従い記述されている XML ファ

イルをCRDファイルと呼びます. CRDは FAデバイスの情報をファイルとして管理するためにあります. CRDの機能を実装した CAOプロバイダが CRDプロバイダです. CRDスキーマで定義された書式に従

って書かれた XML ファイルにアクセスするためのプロバイダです. CRDスキーマでは,CAOインタフェースと CRDの各要素が密接に関連するよう図 7のように設計され

ています.これに関しては「3.3. CRDファイル」で詳しく解説しています.

ORiN2 仕様書 13

Version 1.0, August 25, 2005 ORiN Forum

図 7: CRD スキーマタグと CAO インターフェイスの対応

1.6. CAP の概要

CAP とは,Controller Access Protocolの略で,インターネット経由で CAOプロバイダにアクセスするた

めの「インターネット向け通信プロトコル」です.CAO エンジンを利用して,リモートの CAO プロバイ

ダにアクセスするためには DCOM を利用していますが,DCOM はセキュリティ上の制約から,インター

ネットを介したアクセスは実質上不可能です.また,企業などで存在するファイアウォールを越えてリモ

ートアクセスすることは通常できません.そこで,この問題を解決するために ORiN2 では CAP が開発さ

れました. CAP は,SOAP(Simple Object Access Protocol)を使用して,インターネット経由でオブジェクト間のリモ

ートアクセスを実現するためのプロトコルです.ORiN2 では,CAP プロバイダを提供することにより,CAPの仕様に従ったメッセージを作成,送信することができます.これにより,HTTP で接続可能な環境であ

れば,容易にインターネットを介してリモートのプロバイダに接続することが可能となります.これは

ORiN2 での「ネットワーク透過」の概念を実装したものです. CAP の機能を実装した CAOプロバイダが CAP プロバイダです.

CRDタグ CAOプロバイダ

CAOエンジン

CaoEngine

CaoWorkspace

CaoController

CaoTask

CaoVariable

CaoFile

CaoRobot

CaoProvController

CaoProvTask

CaoProvVariable

CaoProvFile

CaoProvRobot

<CRD>

<Controller> (1, *)

<Task> (0, *)

<Variable> (0, *)

<File> (0, *)

<Robot> (0, *)

ORiN2 仕様書 14

Version 1.0, August 25, 2005 ORiN Forum

2 CAO - 標準プログラムインターフェイス

2.1. CAO コンポーネントの構成

図 8は CAOのコンポーネント構成を表わしています.

図 8: CAO のコンポーネント構成

CAO のコンポーネントは,エンジン部(カーネル部)と,プロバイダ部の 2 層構造になっています.エン

ジンが,クライアントアプリケーションに対して共通インターフェイスの機能を提供し,プロバイダがデ

バイス依存部分を吸収する機能をエンジンに対して提供します.これにより,デバイスメーカはクライア

ントアプリケーションに依存しないで,デバイスが持つ機能を公開することができます.また,アプリケ

ーションベンダは,デバイスに依存しないで,クライアントアプリケーションを開発することができるよ

うになります. CAOのエンジン部のコンポーネントを CAOエンジン,プロバイダ部のコンポーネントを CAOプロバイ

ダと呼びます.また,CAO の機能を使用するアプリケーションを CAO クライアントアプリケーションと

呼びます. 2.1.1. CAO エンジン

CAOエンジンは CAOの中核となるコンポーネントです. CAOエンジンは CAOクライアントアプリケーションと CAOプロバイダとの間に存在し,両者間のデー

タあるいはコマンドの仲介を担います.クライアントアプリケーションは常に CAOエンジンとリンクを行

い,クライアントの要求に応じてエンジンが必要な CAOプロバイダとリンクを行います. クライアントアプリケーション⇔CAO エンジン⇔CAO プロバイダ間のリンクは分散オブジェクト技術

である DCOM または CORBAの仕様で行われます.このため,これらのリンクはプロセスを越えて,ある

いは PCマシン,インターネットをも越えて行うことが出来ます.この機能によってクライアントアプリケ

ーションは実に簡単にリモートアクセスや負荷分散を行うことが出来るようになります. CAOエンジンの機能は以下のものがあります.

Application 1

Engine

Provider 1 Provider 2 Provider 3

Application 2

Device 1 Device 2 Device 3

CAO

ORiN2 仕様書 15

Version 1.0, August 25, 2005 ORiN Forum

・ CAOプロバイダの管理 ・ オブジェクトコレクションの管理 ・ メッセージプールによる非同期処理(イベント処理) ・ メッセージのオブジェクト化によるコンテキスト管理 ・ オブジェクトの事前登録(CAOモデル) ・ ダイナミックバインディングによるAPIの動的変更 ・ CRDファイルによる静的情報マージ処理 ・ リモートエンジンの接続

2.1.2. CAO プロバイダ

CAOプロバイダは,FAデバイスの違いを吸収するためのコンポーネントです. CAOプロバイダは CAOエンジンと FAデバイスとの間に存在し,両者間のデータあるいはコマンドの仲

介を担います. CAOプロバイダの機能は以下のものがあります.

・ 抽象化デバイスと実デバイスの差異を吸収 ・ 実デバイスへのアクセス

2.1.3. 共通インターフェイスの実装

インターフェイスとはコンポーネントが実装すべき規約を定めるもので,その動作はインターフェイス

クラスでは実装はされていません.つまり,インターフェイスは「クラスの骨組みを表したもの」です.

インターフェスを実装することで,クラス階層構造で関係のないクラス同士が共通のメソッドやプロパテ

ィを持っていることを明示することができます. CAOでは ORiNが対象としている FAデバイスのモデル化において,各リソースに対応するオブジェク

トとその雛形であるクラスを割り当て,そのオブジェクトにアクセスするための共通手法を定めるために,

上記のインターフェイスクラスを用いています. CAOでは,この共通インターフェイスの実装を行うのに C++の言語処理系を用いています.そのためイ

ンターフェイスを定義するのに IDL ファイルを用いて行っています.これによりインターフェイスは抽象

クラスとして作成され,そのメンバー関数は純粋仮想関数になります.このクラスをインターフェイスク

ラスと呼びます. CAOエンジンの各リソースを抽象化して実装しているクラス(リソースクラス)は Cao<リソース名>と

し,そのインターフェイスは ICao<リソース名>として定義しています.また,CAOプロバイダの各リソー

スを抽象化して実装しているリソースクラスは CaoProv<リソース名>とし,そのインターフェイスは

ICaoProv<リソース名>として定義しています. リソースクラスは対応するインターフェイスクラスを継承してその動作を実装することで,オブジェク

トに共通のインターフェイスを与えています.

表 2-1 実装とインターフェイスのクラス名

CAOオブジェクト 実装クラス インターフェイスクラス

CAO Engine Cao<リソース名> ICao<リソース名>

ORiN2 仕様書 16

Version 1.0, August 25, 2005 ORiN Forum

CAO Provider CaoProv<リソース名> ICaoProv<リソース名>

2.2. CAO オブジェクトの構造

図 9は CAOのオブジェクト階層を表わしています. 階層の上位にクライアントアプリケーションがあり,続いて,CAOエンジン,CAOプロバイダ,そして

下位に FAデバイスが存在しています. CAOのクライアントアプリケーションは,CAOエンジンのインターフェイスを介して,FAデバイス内

のリソースにアクセス(読み書き)します.

クライアントアプリケーション

CAO エンジン(カーネル)

CAO プロバイダ 各社実装部

各社 FAデバイス

図 9: CAO のオブジェクト階層

2.2.1. CAO エンジンの構造

以下に CAOエンジンのクラス構造を示します.

ORiN2 仕様書 17

Version 1.0, August 25, 2005 ORiN Forum

図 10: CAO Engine のクラス構造

2.2.2. CAO プロバイダの構造

以下に CAOプロバイダのクラス構造を示します.

CaoEngine CaoEngineStatus

1

0..*

1

0..*

CaoWorkspaces

CaoWorkspace

1

0..*

1 1

1

0..*

0..*

CaoController

CaoMessage

1 0..* CaoExtensions CaoExtension 0..*

1 0..* CaoCommands CaoCommand 0..*

1 0..* CaoTasks CaoTask 0..*

1 0..* CaoFiles CaoFile 0..*

1 0..* CaoRobots CaoRobot 0..*

1 0..* CaoVariables CaoVariable 0..*

CaoControllers

1

CaoProvController

CaoProvMessage 0..*

1

CaoProvExtension 0..*

CaoProvCommand 0..*

CaoProvTask 0..*

CaoProvFile 0..*

CaoProvRobot 0..*

CaoProvVariable 0..*

ORiN2 仕様書 18

Version 1.0, August 25, 2005 ORiN Forum

図 11: CAO Provider のクラス構造

2.2.3. CAO エンジンと CAO プロバイダの関連

以下に CAOエンジンと CAOプロバイダの関連を示します.

図 12: CAO の Engine と Provider の関連

CaoProvController

1

CaoEngine CaoEngineStatus

1

0..*

1

0..*

CaoWorkspaces

CaoWorkspace

1

0..*

1 1

1 1

CaoProvMessage 0..* 1 1

0..*

CAO Engine

CAO Provider

CRD Provider

CaoProvExtension 1 0..* CaoExtensions 1 1 0..* 0..*

CaoProvCommand 1 0..* CaoCommands 1 1 0..* 0..*

CaoProvTask 1 0..* CaoTasks 1 1 CaoTask 0..* 0..*

CaoProvFile 1 0..* CaoFiles 1 1 CaoFile 0..* 0..*

CaoProvRobot 1 0..* CaoRobots 1 1 CaoRobot 0..* 0..*

CaoProvVariable 1 0..* CaoVariables 1 1 CaoVariable 0..* 0..*

0..1

CaoControllers

CaoController

1

0..*

1

CaoMessage

CaoCommand

CaoExtension

ORiN2 仕様書 19

Version 1.0, August 25, 2005 ORiN Forum

図 12 が示すように CAOエンジンとプロバイダは密接にリンクし,CAOエンジンのリソースクラスに 1対 1 に対応する CAOプロバイダのリソースクラスが存在しています.この対応はエンジンがデバイスに接

続する際に指示されたプロバイダオブジェクトを作成して動的に対応付けています. CRDプロバイダのオブジェクトがエンジンのリソースクラスにリンクしていますが,これはエンジンの

「CRDファイルによる静的情報マージ処理」を行うために行われます.エンジンは必要に応じて接続プロ

バイダへアクセスしたり,あるいは CRDプロバイダへアクセスしたりと処理を分岐できるような構造にな

っています.CRDプロバイダもまた,CAOプロバイダの一種であるため通常のプロバイダと同じインター

フェイスを持っています.そのため,この分岐処理はオブジェクトのポインターをスイッチするだけの単

純な構造になっています. CRDプロバイダに関しては「3 CRD - 標準データスキーマ」で詳しく解説しています.

ORiN2 仕様書 20

Version 1.0, August 25, 2005 ORiN Forum

2.3. CAO エンジンの詳細

2.3.1. クラスとインターフェイスの一覧

表 2-2 CAO Engine のクラス一覧

クラス名 対象リソース 説明

CaoEngine - ルートクラス.このクラスを起点に各クラスを生成

します. CaoWorkspace - 作業クラス. CaoWorkspaces - 作業クラスの動的コレクションクラス.

CaoController コントローラ コントローラクラス.

CaoControllers - コントローラクラスの動的コレクションクラス.

CaoVariable 変数 変数クラス. CaoVariables - 変数クラスの動的コレクションクラス.

CaoRobot ロボット ロボットクラス.

CaoRobots - ロボットクラスの動的コレクションクラス.

CaoFile ファイル ファイルクラス. CaoFiles - ファイルクラスの動的コレクションクラス.

CaoTask タスク タスククラス.

CaoTasks - タスククラスの動的コレクションクラス.

CaoCommand コマンド コマンドクラス. CaoCommands - コマンドクラスの動的コレクションクラス.

CaoExtension 拡張ボード 拡張ボードクラス.

CaoExtensions - 拡張ボードクラスの動的コレクションクラス.

CaoMessage メッセージ メッセージクラス. CaoEngineStatus - CAO のステータスクラス.(CAO エンジンの監視

用)

表 2-3 CAO Engine のインターフェイスクラス一覧

インターフェイス名 実装クラス 説明

ICaoEngine CaoEngine エンジン IFクラス. ICaoWorkspace CaoWorkspace 作業 IFクラス. ICaoWorkspaces CaoWorkspaces 作業 IFクラスの動的コレクションクラス.

ICaoController CaoController コントローラ IFクラス.

ICaoControllers CaoControllers コントローラ IFクラスの動的コレクションクラス.

ICaoVariable CaoVariable 変数 IFクラス. ICaoVariables CaoVariables 変数 IFクラスの動的コレクションクラス.

ORiN2 仕様書 21

Version 1.0, August 25, 2005 ORiN Forum

ICaoRobot CaoRobot ロボット IFクラス. ICaoRobots CaoRobots ロボット IFクラスの動的コレクションクラス.

ICaoFile CaoFile ファイル IFクラス.

ICaoFiles CaoFiles ファイル IFクラスの動的コレクションクラス. ICaoTask CaoTask タスク IFクラス.

ICaoTasks CaoTasks タスク IFクラスの動的コレクションクラス.

ICaoCommand CaoCommand コマンド IFクラス.

ICaoCommands CaoCommands コマンド IFクラスの動的コレクションクラス. ICaoExtension CaoEntension 拡張ボード IFクラス.

ICaoExtensions CaoEntensions 拡張ボード IFクラスの動的コレクションクラス.

ICaoMessage CaoMessage メッセージ IFクラス.

ICaoEngineStatus CaoEngineStatus CAOのステータス IFクラス. IEventSink EventSink イベント IFクラス

_ICaoControllerEvents CaoController コントローラのイベント IFクラス

_ICaoCommandsEvents CaoCommands コマンドコレクションのイベント IFクラス

ORiN2 仕様書 22

Version 1.0, August 25, 2005 ORiN Forum

2.3.2. メソッドおよびプロパティの一覧

2.3.2.1. CaoEngine Object - エンジン

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoEngine EngineStatus P エンジンステータスオブジェ

クトの取得

R オブジェクト:ICaoEngineStatus

Workspaces P ワークスペースコレクション

の取得

R コレクショ ン:ICaoWorkspaces

AddWorkspace M ワークスペースオブジェクト

の追加

S ワークスペース名:

BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoWorkspace CaoWorkspaces::Add()と同じ機能.

Execute M 拡張コマンドの実行 S コマンド:VARIANT 結果:VARIANT 機能拡張用(予約)

記号の意味 M:メソッド (注1) ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

(注1)記号の意味は次の通り.この中で,CAOエンジンのアクセス制限機能(書込み制限機能)の ON/OFF に影響を受けるのは,W 属性のメソッドおよびプロパティのみ.

R -Read : コントローラ,またはプロバイダ,またはエンジンのステータスやコンフィギュレーションを取得する.

W -Write : コントローラのステータスや,コンフィギュレーションを変化させる.ただし,Execute メソッドはコマンドの内容に依存するので,S属性とする.必要があれば,プロバイダで書込み制限を実装

する.

S -Setup : プロバイダ,またはエンジンのステータスやコンフィギュレーションを変化させる.

ORiN2 仕様書 23

Version 1.0, August 25, 2005 ORiN Forum

2.3.2.2. CaoWorkspace(s) Object - ワークスペース

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoWorkspaces Count P コレクショ ン数の取得 R コレクショ ン数:long

Add M ワークスペースオブジェ

クトの追加

S ワークスペース名:

BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoWorkspace ワークスペース名は任意の文字列.ワークスペ

ース名を省略(NULL 指定)した場合は自動的にユ

ニークな名前が付けられます.

Clear M 全てのワークスペースオ

ブジェクトの解放

S

IsMember M ワークスペースオブジェ

クトの登録確認

R ワークスペース名/番号:

VARIANT

チェック結果:VARIANT_BOOL

Item M ワークスペースオブジェ

クトの取得

R ワークスペース名/番号:

VARIANT

オブジェクト:ICaoWorkspace デフォルトメンバー

Remove M ワークスペースオブジェ

クトの開放

S ワークスペース名/番号:

VARIANT

CaoWorkspace Controllers P コントローラコレクション

の取得

R コレクショ ン:ICaoControllers

Index P ワークスペース番号の取

R ワークスペース番号:long

Name P ワークスペース名の取得 R ワークスペース名:BSTR

ProviderNames P プロバイダ名リストの取

R [オプショ ン:BSTR] プロバイダ名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

ORiN2 仕様書 24

Version 1.0, August 25, 2005 ORiN Forum

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

AddController M コントローラオブジェクト

の追加

S コントローラ名:BSTR,

プロバイダ名:BSTR,

[マシン名:BSTR,

[オプショ ン:BSTR]]

オブジェクト:ICaoController CaoControllers::Add()と同じ機能.

Execute M 拡張コマンドの実行 S コマンド:VARIANT 結果:VARIANT 機能拡張用(予約)

記号の意味 M:メソッド ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 25

Version 1.0, August 25, 2005 ORiN Forum

2.3.2.3. CaoController(s) Object - コントローラ

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoControllers Count P コレクショ ン数の取得 R コレクショ ン数:long

Add M コントローラオブジェクト

の追加

S コントローラ名:BSTR,

プロバイダ名:BSTR,

[マシン名:BSTR],

[オプショ ン:BSTR]

オブジェクト:ICaoController コントローラ名は任意の文字列.

オプショ ンはタイムアウト値,イベント許可など.

イベント許可: @EventEnable[=True/False] デフォルト

値は"True"

Clear M 全てのコントローラオブ

ジェクトの解放

S

IsMember M コントローラオブジェクト

の登録確認

R コントローラ名/番号:

VARIANT

チェック結果:VARIANT_BOOL

Item M コントローラオブジェクト

の取得

R コントローラ名/番号:

VARIANT

オブジェクト:ICaoController デフォルトメンバー

Remove M コントローラオブジェクト

の開放

S コントローラ名/番号:

VARIANT

CaoController Attribute P 属性の取得 R 属性:long

CommandNames P コマンド名リストの取得 R [オプショ ン:BSTR] コマンド名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

Commands P コマンドコレクショ ンの取

R コレクショ ン:ICaoCommands

ExtensionNames P 拡張ボード名リストの取

R [オプショ ン:BSTR] 拡張ボード名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

ORiN2 仕様書 26

Version 1.0, August 25, 2005 ORiN Forum

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

Extensions P 拡張ボードコレクショ ン

の取得

R コレクショ ン:ICaoExtensions

FileNames P ファイル名リストの取得 R [オプショ ン:BSTR] ファイル名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

Files P ファイルコレクションの取

R コレクショ ン:ICaoFiles ルートディレクトリのファイルコレクション.

Help P ヘルプ R ヘルプ文字列:BSTR

ID P ID R/W ID:VARIANT ID:VARIANT

Index P コントローラ番号の取得 R コントローラ番号:long

Name P コントローラ名の取得 R コントローラ名:BSTR

RobotNames P ロボット名リストの取得 R [オプショ ン:BSTR] ロボット名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

Robots P ロボットコレクションの取

R コレクショ ン:ICaoRobots

Tag P タグ R/S タグデータ:VARIANT タグデータ:VARIANT

TaskNames P タスク名リストの取得 R [オプショ ン:BSTR] タスク名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

Tasks P タスクコレクショ ンの取得 R コレクショ ン:ICaoTasks

VariableNames P 変数名リストの取得 R [オプショ ン:BSTR] 変数名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

Variables P 変数コレクショ ンの取得 R コレクショ ン:ICaoVariables

AddCommand M コマンドオブジェクトの追 S コマンド名:BSTR, オブジェクト:ICaoCommand CaoCommands::Add()と同じ機能.

ORiN2 仕様書 27

Version 1.0, August 25, 2005 ORiN Forum

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

加 [オプショ ン:BSTR]

AddExtension M 拡張ボードオブジェクト

の追加

S 拡張ボード名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoExtension CaoExtensions::Add()と同じ機能.

AddFile M ファイルオブジェクトの追

S ファイル名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoFile CaoFiles::Add()と同じ機能.

AddRobot M ロボットオブジェクトの追

S ロボット名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoRobot CaoRobots::Add()と同じ機能.

AddTask M タスクオブジェクトの追

S タスク名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoTask CaoTasks::Add()と同じ機能.

AddVariable M 変数オブジェクトの追加 S 変数名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoVariable CaoVariables::Add()と同じ機能.

Execute M 拡張コマンドの実行 S コマンド:VARIANT 結果:VARIANT 機能拡張用

GetMessage M メッセージの取得 R メッセージ:ICaoMessage エンジン内のメッセージキューからメッセージを取得.

OnMessage イベント機能が無効の場合にのみ取得で

きる.

記号の意味 M:メソッド ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 28

Version 1.0, August 25, 2005 ORiN Forum

2.3.2.4. CaoVariable(s) Object - 変数

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoVariables Count P コレクショ ン数の取得 R コレクショ ン数:long

Add M 変数オブジェクトの追加 S 変数名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoVariable

Clear M 全ての変数オブジェクトの

解放

S

IsMember M 変数オブジェクトの登録確

R 変数名/番号:VARIANT チェック結果:VARIANT_BOOL

Item M 変数オブジェクトの取得 R 変数名/番号:VARIANT オブジェクト:ICaoVariable デフォルトメンバー

Remove M 変数オブジェクトの開放 S 変数名/番号:VARIANT

CaoVariable Attribute P 属性の取得 R 属性:long

DateTime P タイムスタンプ(日時)の取

R タイムスタンプ:VARIANT

Help P ヘルプ R ヘルプ文字列:BSTR

ID P ID R/W ID:VARIANT ID:VARIANT

Index P 変数番号の取得 R 変数番号:Long

Microsecond P タイムスタンプ(マイクロ秒)

の取得

R タイムスタンプ:Long

Name P 変数名の取得 R 変数名:BSTR システム変数名は@で始まる.

Tag P タグ R/S タグデータ:VARIANT タグデータ:VARIANT

Value P 値の取得 R/W 値:VARIANT 値:VARIANT デフォルトメンバー

記号意味 M:メソッド ・[]内は省略可能引数.

ORiN2 仕様書 29

Version 1.0, August 25, 2005 ORiN Forum

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 30

Version 1.0, August 25, 2005 ORiN Forum

2.3.2.5. CaoRobot(s) Object - ロボット

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoRobots Count P コレクショ ン数の取得 R コレクショ ン数:long

Add M ロボットオブジェクトの追

S ロボット名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoRobot

Clear M 全てのロボットオブジェク

トの解放

S

IsMember M ロボットオブジェクトの登

録確認

R ロボット名/番号:

VARIANT

チェック結果:VARIANT_BOOL

Item M ロボットオブジェクトの取

R ロボット名/番号:

VARIANT

オブジェクト:ICaoRobot デフォルトメンバー

Remove M ロボットオブジェクトの開

S ロボット名/番号:

VARIANT

CaoRobot Attribute P 属性の取得 R 属性:long

Help P ヘルプ R ヘルプ文字列:BSTR

ID P ID R/W ID:VARIANT ID:VARIANT

Index P ロボット番号の取得 R ロボット番号:long

Name P CaoRobot 名の取得 R ロボット名:BSTR

Tag P タグ R/S タグデータ:

VARIANT

タグデータ:VARIANT

VariableNames P 変数名リストの取得 R [オプショ ン:BSTR] 変数名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

Variables P 変数コレクショ ンの取得 R コレクショ ン:ICaoVariables

ORiN2 仕様書 31

Version 1.0, August 25, 2005 ORiN Forum

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

Accelerate M SLIMのACCEL文の仕様

参照

W 軸番号:long,

加速度:float,

[減速度:float]

軸番号は,‐1:手先加(減)速度,0:全軸加(減)速

度,その他は指定軸の加(減)速度.

AddVariable M 変数オブジェクトの追加 S 変数名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoVariable CaoVariables::Add()と同じ機能.

Cancel M 実行中のロボット制御メ

ソッドのキャンセル

W [オプショ ン:BSTR]

Change M SLIM の CHANGE 文の仕

様参照

W ハンド名:BSTR

Chuck M SLIM の GRASP 文の仕

様参照

W [オプショ ン:BSTR]

Drive M SLIM の DRIVE 文の仕様

参照

W 軸番号:long,

移動量:float,

[オプショ ン:BSTR]

SLIM のように同時に複数の軸を動かすことはでき

ない.その場合は,MOVE を使うことを推奨.

Execute M 拡張コマンドの実行 S コマンド:VARIANT 結果:VARIANT 機能拡張用

GoHome M SLIMのGOHOME文の仕

様参照

W

Move M SLIM の MOVE 文の仕様

参照

W 補間指定:long,

ポーズ列:

VARIANT,

[オプショ ン:BSTR]

・補間指定は,1:PTP,2:直線,3:円弧.

・ポーズの指定は各メーカ依存.円弧補間の場合な

どは,配列になる.

・オプションのデフォルト値は"".

ORiN2 仕様書 32

Version 1.0, August 25, 2005 ORiN Forum

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

Rotate M SLIM の ROTATE 文の仕

様参照

W 回転面:VARIANT,

角度:float,

回転中心:

VARIANT,

[オプショ ン:BSTR]

回転面の指定は各メーカ依存.

Speed M SLIM の SPEED/JSPEED

文の仕様参照

W 軸番号:long,

速度:float

軸番号は,‐1:手先速度,0:全軸速度,その他は

指定軸の軸速度.

Unchuck M SLIM の RELEASE 文の

仕様参照

W [オプショ ン:BSTR] SLIM の Release は予約語で使えないため

Chuck/Unchuck に変更.

記号意味 M:メソッド ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 33

Version 1.0, August 25, 2005 ORiN Forum

2.3.2.6. CaoFile(s) Object - ファイル

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoFiles Count P コレクショ ン数の取得 R コレクショ ン数:long

Add M ファイルオブジェクトの追

S ファイル名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoFile ファイル作成: @Create=[数値] デフォルト値は 0

0: 作成しない

0 以外:作成する

プロバイダが書込み禁止のとき,@Createオプションが0

以外のときは書き込みエラーになる.

Clear M 全てのファイルオブジェク

トの解放

S

IsMember M ファイルオブジェクトの登

録確認

R ファイル名/番号:

VARIANT

チェック結果:VARIANT_BOOL

Item M ファイルオブジェクトの取

R ファイル名/番号:

VARIANT

オブジェクト:ICaoFile デフォルトメンバー

Remove M ファイルオブジェクトの開

S ファイル名/番号:

VARIANT

CaoFile Attribute P 属性の取得 R 属性:long

DateCreated P 作成日時 R 作成日時:VARIANT

DateLastAccessed P 終アクセス日時 R 終アクセス日時:VARIANT

DateLastModified P 終変更日時 R 終変更日時:VARIANT

FileNames P ファイル名リストの取得 R [オプショ ン:BSTR] ファイル名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.属性がディレクトリの場

合に子ファイル名一覧を返す.

Files P ファイルコレクションの取 R コレクショ ン:ICaoFiles

ORiN2 仕様書 34

Version 1.0, August 25, 2005 ORiN Forum

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

Help P ヘルプ R ヘルプ文字列:BSTR

ID P ID R/W ID:VARIANT ID:VARIANT

Index P ファイル番号の取得 R ファイル番号:long

Name P ファイル名の取得 R ファイル名:BSTR

Path P パスの取得 R パス名:BSTR 絶対パス.ファイル名を含めない. 後の区切り文字は

含める.

Size P ファイルサイズの取得 R ファイルサイズ:long

Tag P タグ R/S タグデータ:VARIANT タグデータ:VARIANT

Type P ファイルのタイプの取得 R ファイルタイプ:BSTR

Value P ファイルデータ R/W データ:VARIANT データ:VARIANT デフォルトメンバー

VariableNames P 変数名リストの取得 R [オプショ ン:BSTR] 変数名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

Variables P 変数コレクショ ンの取得 R コレクショ ン:ICaoVariables

AddFile M ファイルオブジェクトの追

S ファイル名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoFile CaoFiles::Add()と同じ機能.

AddVariable M 変数オブジェクトの追加 S 変数名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoVariable CaoVariables::Add()と同じ機能.

Copy M 複写 W 複写先ファイル名:BSTR

[オプショ ン:BSTR]

Delete M 削除 W [オプショ ン:BSTR]

Execute M 拡張コマンドの実行 S コマンド:VARIANT 結果:VARIANT 機能拡張用

ORiN2 仕様書 35

Version 1.0, August 25, 2005 ORiN Forum

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

Move M 移動 W 移動先ファイル名:BSTR

[オプショ ン:BSTR]

Run M タスクの生成 W [オプショ ン:BSTR] タスク名:BSTR

記号意味 M:メソッド ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 36

Version 1.0, August 25, 2005 ORiN Forum

2.3.2.7. CaoTask(s) Object - タスク

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoTasks Count P コレクショ ン数の取得 R コレクショ ン数:long

Add M タスクオブジェクトの追加 S タスク名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoTask

Clear M 全てのタスクオブジェクト

の解放

S

IsMember M タスクオブジェクトの登録

確認

R タスク名/番号:VARIANT チェック結果:VARIANT_BOOL

Item M タスクオブジェクトの取得 R タスク名/番号:VARIANT オブジェクト:ICaoTask デフォルトメンバー

Remove M タスクオブジェクトの開放 S タスク名/番号:VARIANT

CaoTask Attribute P 属性の取得 R 属性:long

FileName P 対応ファイル名の取得 R ファイル名:BSTR

Help P ヘルプ R ヘルプ文字列:BSTR

ID P ID R/W ID:VARIANT ID:VARIANT

Index P タスク番号の取得 R タスク番号:long

Name P タスク名の取得 R タスク名:BSTR

Tag P タグ R/S タグデータ:VARIANT タグデータ:VARIANT

VariableNames P 変数名リストの取得 R [オプショ ン:BSTR] 変数名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

Variables P 変数コレクショ ンの取得 R コレクショ ン:ICaoVariables

AddVariable M 変数オブジェクトの追加 S 変数名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoVariable CaoVariables::Add()と同じ機能.

ORiN2 仕様書 37

Version 1.0, August 25, 2005 ORiN Forum

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

Delete M タスクの削除 W [オプショ ン:BSTR]

Execute M 拡張コマンドの実行 S コマンド:VARIANT 結果:VARIANT 機能拡張用

Start M タスクの開始 W モード:long,

[オプショ ン:BSTR]

モードは1:1サイクル実行,2:連続実行,3:1ステップ

送り,4:1ステップ 戻し

オプショ ンは開始位置など.

Stop M タスクの停止 W モード:long,

[オプショ ン:BSTR]

モードは0:デフォルト停止,1:瞬時停止,2:ステップ停

止,3:サイクル停止.4:初期化停止

(注)デフォルト停止とは,実際には何れかの停止方法.

記号意味 M:メソッド ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 38

Version 1.0, August 25, 2005 ORiN Forum

2.3.2.8. CaoCommand(s) Object - コマンド

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoCommands Count P コレクショ ン数の取得 R コレクショ ン数:long

Add M コマンドオブジェクトの追

S コマンド名:BSTR,

[オプショ ン:BSTR]

オブジェクト:

ICaoCommand

Clear M 全てのコマンドオブジェク

トの解放

S

IsMember M コマンドオブジェクトの登

録確認

R コマンド名/番号:

VARIANT

チェック結果:

VARIANT_BOOL

Item M コマンドオブジェクトの取

R コマンド名/番号:

VARIANT

オブジェクト:

ICaoCommand

デフォルトメンバー

Remove M コマンドオブジェクトの開

S コマンド名/番号:

VARIANT

CaoCommand Attribute P 属性の取得 R 属性:long

Help P ヘルプ R ヘルプ文字列:BSTR

ID P ID R/W ID:VARIANT ID:VARIANT

Index P コマンド番号の取得 R コマンド番号:long

Name P コマンド名の取得 R コマンド名:BSTR

Parameters P コマンドパラメータ R/W コマンドパラメータ:

VARIANT

コマンドパラメータ:

VARIANT

Result P 直前の Execute()の実行

結果

R 実行結果:VARIANT

State P 状態の取得 R 状態:long 状態の1ビット目は,0:待機中,1:実行中.その他のビ

ORiN2 仕様書 39

Version 1.0, August 25, 2005 ORiN Forum

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

ットはプロバイダ依存.

Tag P タグ R/S タグデータ:VARIANT タグデータ:VARIANT

Timeout P タイムアウト R/W タイムアウト:long タイムアウト:long

Cancel M 実行中コマンドのキャンセ

S

Execute M コマンドの実行 S モード:long モードは 0:同期実行,1:非同期実行.非同期実行のと

きは S_FALSE を返す.

記号意味 M:メソッド ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 40

Version 1.0, August 25, 2005 ORiN Forum

2.3.2.9. CaoExtension(s) Object - 拡張ボード

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoExtensions Count P コレクショ ン数の取得 R コレクショ ン数:long

Add M 拡張ボードオブジェクト

の追加

S 拡張ボード名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoExtension

Clear M 全ての拡張ボードオブジ

ェクトの解放

S

IsMember M 拡張ボードオブジェクト

の登録確認

R 拡張ボード名/番号:

VARIANT

チェック結果:VARIANT_BOOL

Item M 拡張ボードオブジェクト

の取得

R 拡張ボード名/番号:

VARIANT

オブジェクト:ICaoExtension デフォルトメンバー

Remove M 拡張ボードオブジェクト

の開放

S 拡張ボード名/番号:

VARIANT

CaoExtension Attribute P 属性の取得 R 属性:long

Help P ヘルプ R ヘルプ文字列:BSTR

ID P ID R/W ID:VARIANT ID:VARIANT

Index P 拡張ボード番号の取得 R 拡張ボード番号:long

Name P 拡張ボード名の取得 R 拡張ボード名:BSTR

Tag P タグ R/S タグデータ:VARIANT タグデータ:VARIANT

VariableNames P 変数名リストの取得 R [オプショ ン:BSTR] 変数名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

Variables P 変数コレクショ ンの取得 R コレクショ ン:ICaoVariables

AddVariable M 変数オブジェクトの追加 S 変数名:BSTR, オブジェクト:ICaoVariable CaoVariables::Add()と同じ機能.

ORiN2 仕様書 41

Version 1.0, August 25, 2005 ORiN Forum

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

[オプショ ン:BSTR]

Execute M 拡張コマンドの実行 S コマンド:VARIANT 結果:VARIANT 機能拡張用

記号意味 M:メソッド ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 42

Version 1.0, August 25, 2005 ORiN Forum

2.3.2.10. CaoMessage Object - メッセージ

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoMessage DateTime P 作成日時 R 作成日時:VARIANT

Description P 説明 R 説明:BSTR

Destination P 送り先 R 送り先:BSTR

Number P メッセージ番号 R メッセージ番号:long

SerialNumber P メッセージ連番 R メッセージ連番:long エンジンで自動的に付加される0~LONG_MAX

までの連番.LONG_MAXに達したら0にクリアさ

れる.

Source P 送り元 R 送り元:BSTR

Value P メッセージ本文 R メッセージ本文:VARIANT

Clear M メッセージのクリア W

Reply M メッセージの返信 W

記号意味 M:メソッド (注

1)

・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 43

Version 1.0, August 25, 2005 ORiN Forum

2.3.2.11. CaoEngineStatus Object - エンジンステータス

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoEngineStatus CurrentDateTime P 現在の日時 R 現在日時:VARIANT

ComputerName P コンピュータ名 R コンピュータ名:BSTR

ObjectCounts P 各クラスごとのオブジェクト数 R クラス名/番号:VARIANT オブジェクト数:long

StartDateTime P 開始日時 R 開始日時:VARIANT

Values P (将来用の予約) R ステータス名/番号:

VARIANT

データ:VARIANT

Version P エンジンのバージョ ンの取得 R バージョ ン:BSTR <Major Ver.>.<Minor

Ver.>.<Revision>

記号意味 M:メソッド (注1) ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 44

Version 1.0, August 25, 2005 ORiN Forum

2.3.3. イベントの一覧

2.3.3.1. CaoController Object - コントローラ

関数の引数 クラス イベント 説明 R/W

IN OUT RETVAL

備考

CaoController OnMessage E メッセージ受信イベント R メッセージ:

ICaoMessage

・プロバイダ(コントローラ)→エンジン→クライアントの

呼び出しを実現する.

・メッセージ番号の負の範囲は ORiN で予約されてい

る.

・イベントの無効化はAddController()のオプションで指

定する.

記号の意味 E:イベント

2.3.3.2. CaoCommands Object - コマンド

関数の引数 クラス イベント 説明 R/W

IN OUT RETVAL

備考

CaoCommands ExecuteComplete E コマンド実行完了イベント コマンド番号:long 結果は Result プロパティで取得する.

記号意味 E:イベント

ORiN2 仕様書 45

Version 1.0, August 25, 2005 ORiN Forum

2.3.4. 関数仕様

2.3.4.1. ICaoEngine

HRESULT ICaoEngine::EngineStatus ( [out, retval] ICaoEngineStatus ** ppICaoEngineStatus ) 機能 エンジンステータスの取得

パラメータ [out] ppICaoEngineStatus

CaoEngineStatus IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoEngineStatus オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoEngine::Workspaces ( [out, retval] ICaoWorkspaces ** ppICaoWSs ) 機能 ワークスペースコレクションの取得

パラメータ [out] ppICaoWSs CaoWorkspaces IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoWorkspacesオブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoEngine::AddWorkspace ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoWorkspace ** ppICaoWS ) 機能 ワークスペースオブジェクトの追加

パラメータ [in] bstrName ワークスペース名. NULL を指定した時,ワークスペース名は自動的に作成された名前になります.

[in] bstrOption オプション

現在,使用されていません.設定内容はすべて無視されます.

[out] ppICaoWS

CaoWorkspace IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoWorkspaces オブジェクトを作成,取得します.作成されたオブジェクトは,

ICaoWorkspacesに自動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoWokspace::Release メソッドを実行してください.

ORiN2 仕様書 46

Version 1.0, August 25, 2005 ORiN Forum

ICaoWorkspacesから登録削除するときは,ICaoWorkspaces::Remove メソッドを実行して

ください.

HRESULT ICaoEngine::Execute ( [in] VARIANT vntCommand, [out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 現在,実装されていません.実行時には何も処理せず,必ず S_OK を返します.

2.3.4.2. ICaoWorkspaces

HRESULT ICaoWorkspaces::Add ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoWorkspace ** ppICaoWS ) 機能 ワークスペースオブジェクトの追加

パラメータ [in] bstrName ワークスペース名. NULL を指定した時,ワークスペース名は自動的に作成された名前になります.

[in] bstrOption オプション

現在,使用されていません.設定内容はすべて無視されます.

[out] ppICaoWSs CaoWorkspaces IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoWorkspaces オブジェクトを作成,取得します.作成されたオブジェクトは,

ICaoWorkspacesに自動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoWokspace::Release メソッドを実行してください.

ICaoWorkspacesから登録削除するときは,ICaoWorkspaces::Remove メソッドを実行して

ください.

HRESULT ICaoWorkspaces::Clear ( ) 機能 全てのワークスペースオブジェクトの解放

パラメータ なし.

ORiN2 仕様書 47

Version 1.0, August 25, 2005 ORiN Forum

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoWorkspacesに登録されている全てのオブジェクトを解放します.

解放された ICaoWorkspace オブジェクトをクライアントが保持している場合,オブジェクト

はメモリから破棄されません.破棄するときは ICaoWorkspace::Release メソッドを実行し

てください.また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

E_ACCESSDENIED を返します.

HRESULT ICaoWorkspaces::Count ( [out, retval] long * pVal ) 機能 コレクション数の取得

パラメータ [out] pVal コレクションの登録数

戻り値 HRESULT

成功時には S_OK を返します.

説明 現在コレクションに登録されているオブジェクトの登録数を取得します.

HRESULT ICaoWorkspaces::IsMember ( [in] VARIANT Index, [out, retval] VARIANT_BOOL * pVal ) 機能 ワークスペースオブジェクトの登録確認

パラメータ [in] bstrName ワークスペース名/番号

[out] pVal 登録参照結果

VARIANT_TRUE : 登録済み

VARIANT_FALSE: 未登録

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したワークスペース番号又はワークスペース名がコレクションに登録されているか

どうかを確認します.

HRESULT ICaoWorkspaces::Item ( [in] VARIANT Index, [out, retval] ICaoWorkspace ** ppICaoWS ) 機能 ワークスペースオブジェクトの取得

パラメータ [in] bstrName ワークスペース名/番号

[out] ppICaoWS

CaoWorkspace IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したワークスペース番号又はワークスペース名に対応する ICaoWorkspace オブジ

ORiN2 仕様書 48

Version 1.0, August 25, 2005 ORiN Forum

ェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoWorkspaces::Remove ( [in] VARIANT Index ) 機能 ワークスペースオブジェクトの開放

パラメータ [in] bstrName ワークスペース名/番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したワークスペース番号又はワークスペース名に対応する ICaoWorkspace オブジ

ェクトを解放します.

解放された ICaoWorkspace オブジェクトをクライアントが保持している場合,オブジェクト

はメモリから破棄されません.破棄するときは ICaoWorkspace::Release メソッドを実行し

てください.また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

E_ACCESSDENIED を返します.

2.3.4.3. ICaoWorkspace

HRESULT ICaoWorkspace::AddController ( [in] BSTR bstrController, [in] BSTR bstrProvider, [in, defaultvalue("")] BSTR bstrMachine, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoController ** ppICaoCtrl ) 機能 コントローラオブジェクトの追加

パラメータ [in] bstrController コントローラ名. NULL を指定した時,ワークスペース名は自動的に作成された名前になります.

[in] bstrProvider プロバイダ名. 起動する CAOプロバイダのプログラム ID を指定します.リモートマシンで CAOエン

ジンを起動して CAO プロバイダを指定する場合は,以下ように指定します. <プロバイダ名>:<リモートマシン名>

[in] bstrMachine マシン名. リモートマシンにある CAO プロバイダを起動するときは,このパラメータでマシン名,

または IP アドレスを指定します. [in] bstrOption オプション

現在,使用されていません.設定内容はすべて無視されます.

ORiN2 仕様書 49

Version 1.0, August 25, 2005 ORiN Forum

[out] ppICaoCtrl CaoWorkspace IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoController オブジェクトを作成,取得します.作成されたオブジェクトは,

ICaoControllers に自動的に登録されます.

オブジェクト作成時に bstrProvider で指定したプロバイダを起動し,CAOプロバイダ

の コ ン ト ロ ー ラ を ラッ プ し ま す .こ の と き , CAO プロ バ イ ダ の

CaoProvController::Connect メソッドを実行します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoWokspace::Release メソッドを実行してください.

ICaoWorkspacesから登録削除するときは,ICaoWorkspaces::Remove メソッドを実行して

ください.

HRESULT ICaoWorkspace::Controllers ( [out, retval] ICaoControllers ** ppICaoCtrls ) 機能 コントローラコレクションの取得

パラメータ [out] ppICaoCtrls CaoControllers IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoControllers オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoWorkspace::Execute ( [in] VARIANT vntCommand, [out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 現在,実装されていません.実行時には何も処理せず,必ず S_OK を返します.

HRESULT ICaoWorkspace::Index ( [out, retval] long * pVal ) 機能 ワークスペース番号の取得

パラメータ [out] pVal ワークスペース番号

戻り値 HRESULT

成功時には S_OK を返します.

ORiN2 仕様書 50

Version 1.0, August 25, 2005 ORiN Forum

説明 オブジェクトのワークスペース番号を取得します.

HRESULT ICaoWorkspace::Name ( [out, retval] BSTR * pVal ) 機能 ワークスペース名の取得

パラメータ [out] pVal ワークスペース名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのワークスペース名を取得します.

HRESULT ICaoWorkspace::ProviderNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 プロバイダ名リストの取得

パラメータ [in] bstrOption オプション

現在,使用されていません.設定内容はすべて無視されます.

[out] pVal プロバイダ名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 ローカルマシンに登録されている CAO プロバイダのリストを取得します.

2.3.4.4. ICaoControllers

HRESULT ICaoControllers::Add ( [in] BSTR bstrController, [in] BSTR bstrProvider, [in, defaultvalue("")] BSTR bstrMachine, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoController ** ppICaoCtrl ) 機能 コントローラオブジェクトの追加

パラメータ [in] bstrController コントローラ名. NULL を指定した時,ワークスペース名は自動的に作成された名前になります.

[in] bstrProvider プロバイダ名. 起動する CAOプロバイダのプログラム ID を指定します.リモートマシンで CAOエン

ジンを起動して CAO プロバイダを指定する場合は,以下ように指定します. <プロバイダ名>:<リモートマシン名>

[in] bstrMachine マシン名.

ORiN2 仕様書 51

Version 1.0, August 25, 2005 ORiN Forum

リモートマシンにある CAO プロバイダを起動するときは,このパラメータでマシン名,

または IP アドレスを指定します. [in] bstrOption オプション

現在,使用されていません.設定内容はすべて無視されます.

[out] ppICaoCtrl CaoWorkspace IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoController オブジェクトを作成,取得します.作成されたオブジェクトは,

ICaoControllers に自動的に登録されます.

オブジェクト作成時に bstrProvider で指定したプロバイダを起動し,CAOプロバイダ

のコントローラをラップします.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoWokspace::Release メソッドを実行してください.

ICaoWorkspacesから登録削除するときは,ICaoWorkspaces::Remove メソッドを実行して

ください.

HRESULT ICaoControllers::Clear ( ) 機能 全てのコントローラオブジェクトの解放

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoControllers に登録されている全てのオブジェクトを解放します.

解放された ICaoControllersオブジェクトをクライアントが保持している場合,オブジェクト

はメモリから破棄されません.破棄するときは ICaoControllers::Release メソッドを実行し

てください.また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

E_ACCESSDENIED を返します.

HRESULT ICaoControllers::Count ( [out, retval] long * pVal ) 機能 コレクション数の取得

パラメータ [out] pVal コレクションの登録数

戻り値 HRESULT

成功時には S_OK を返します.

説明 現在コレクションに登録されているオブジェクトの登録数を取得します.

HRESULT ICaoControllers::IsMember ( [in] VARIANT Index, [out, retval] VARIANT_BOOL * pVal ) 機能 コントローラオブジェクトの登録確認

パラメータ [in] bstrName

ORiN2 仕様書 52

Version 1.0, August 25, 2005 ORiN Forum

コントローラ名/番号 [out] pVal 登録参照結果

VARIANT_TRUE : 登録済み

VARIANT_FALSE: 未登録

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したコントローラ番号又はコントローラ名がコレクションに登録されているかどうか

を確認します.

HRESULT ICaoControllers::Item ( [in] VARIANT Index, [out, retval] ICaoController ** ppICaoCtrl ) 機能 コントローラオブジェクトの取得

パラメータ [in] bstrName コントローラ名/番号

[out] ppICaoCtrl CaoWorkspace IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したコントローラ番号又はコントローラ名に対応する ICaoController オブジェクトを

取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoControllers::Remove ( [in] VARIANT Index ) 機能 コントローラオブジェクトの開放

パラメータ [in] bstrName コントローラ名/番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したコントローラ番号又はコントローラ名に対応する ICaoController オブジェクトを

解放します.

解放された ICaoController オブジェクトをクライアントが保持している場合,オブジェクト

はメモリから破棄されません.破棄するときは ICaoController::Release メソッドを実行し

てください.また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

E_ACCESSDENIED を返します.

2.3.4.5. ICaoController

HRESULT ICaoController::AddCommand ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption,

ORiN2 仕様書 53

Version 1.0, August 25, 2005 ORiN Forum

[out, retval] ICaoCommand ** ppICaoCommand ) 機能 コマンドオブジェクトの追加

パラメータ [in] bstrName コマンド名.

[in] bstrOption オプション

[out] ppICaoCommand

CaoCommand IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoCommand オブジェクトを作成,取得します.作成されたオブジェクトは,

ICaoCommandsに自動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoCommand::Release メソッドを実行してください.

ICaoCommands から登録削除するときは,ICaoCommands::Remove メソッドを実行してく

ださい.

HRESULT ICaoController::AddExtension ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoExtension ** ppICaoExtension ) 機能 拡張ボードオブジェクトの追加

パラメータ [in] bstrName 拡張ボード名.

[in] bstrOption オプション

[out] ppICaoExtension

CaoExtension IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoExtension オブジェクトを作成,取得します.作成されたオブジェクトは,

ICaoExtensions に自動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoExtension::Release メソッドを実行してください.

ICaoExtensions から登録削除するときは,ICaoExtensions::Remove メソッドを実行してく

ださい.

HRESULT ICaoController::AddFile ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoFile ** ppICaoFile

ORiN2 仕様書 54

Version 1.0, August 25, 2005 ORiN Forum

) 機能 ファイルオブジェクトの追加

パラメータ [in] bstrName ファイル名.

[in] bstrOption オプション

[out] ppICaoFile

CaoFile IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoFile オブジェクトを作成,取得します.作成されたオブジェクトは,ICaoFiles に自動

的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoFile::Release メソッドを実行してください.

ICaoFilesから登録削除するときは,ICaoFiles::Remove メソッドを実行してください.

HRESULT ICaoController::AddRobot ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoRobot ** ppICaoRobot ) 機能 ロボットオブジェクトの追加

パラメータ [in] bstrName ロボット名.

[in] bstrOption オプション

[out] ppICaoRobot CaoRobot IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoRobot オブジェクトを作成,取得します.作成されたオブジェクトは,ICaoRobots に

自動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoRobot::Release メソッドを実行してください.

ICaoRobots から登録削除するときは,ICaoRobots::Remove メソッドを実行してください.

HRESULT ICaoController::AddTask ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoTask ** ppICaoTask ) 機能 タスクオブジェクトの追加

パラメータ [in] bstrName

ORiN2 仕様書 55

Version 1.0, August 25, 2005 ORiN Forum

タスク名. [in] bstrOption オプション

[out] ppICaoTask

CaoTask IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoTask オブジェクトを作成,取得します.作成されたオブジェクトは,ICaoTasks に自

動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoTask::Release メソッドを実行してください.

ICaoTasks から登録削除するときは,ICaoTasks::Remove メソッドを実行してください.

HRESULT ICaoController::AddVariable ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoVariable ** ppICaoVar ) 機能 変数オブジェクトの追加

パラメータ [in] bstrName 変数名.

[in] bstrOption オプション

[out] ppICaoVar CaoVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを作成,取得します.作成されたオブジェクトは,ICaoVariables

に自動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoVariable::Release メソッドを実行してください.

ICaoVariablesから登録削除するときは,ICaoVariables::Remove メソッドを実行してくださ

い.

HRESULT ICaoController::Attribute ( [out, retval] long * pVal ) 機能 属性の取得

パラメータ [out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラの属性値を取得します.

CAO プロバイダの CaoProvController::Attribute メソッドを実行します.

ORiN2 仕様書 56

Version 1.0, August 25, 2005 ORiN Forum

HRESULT ICaoController::CommandNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 コマンド名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal コマンド名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンド名リストを取得します.

CAO プロバイダの CaoProvController::CommandNamesメソッドを実行します.

HRESULT ICaoController::Commands ( [out, retval] ICaoCommands ** ppICaoCommands ) 機能 コマンドコレクションの取得

パラメータ [out] ppICaoCommands CaoCommands IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoCommandsオブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoController::Execute ( [in] VARIANT vntCommand, [out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

CAO プロバイダの CaoProvController::Execute メソッドを実行します.

HRESULT ICaoController::ExtensionNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 拡張ボード名リストの取得

パラメータ [in] bstrOption オプション

ORiN2 仕様書 57

Version 1.0, August 25, 2005 ORiN Forum

[out] pVal 拡張ボード名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボード名リストを取得します.

CAO プロバイダの CaoProvController::ExtensionNames メソッドを実行します.

HRESULT ICaoController::Extensions ( [out, retval] ICaoExtensions ** ppICaoExtensions ) 機能 拡張ボードコレクションの取得

パラメータ [out] ppICaoExtensions CaoExtensions IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoExtensions オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoController::FileNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 ファイル名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal ファイル名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイル名リストを取得します.

CAO プロバイダの CaoProvController::FileNames メソッドを実行します.

HRESULT ICaoController::Files ( [out, retval] ICaoFiles ** ppICaoFiles ) 機能 ファイルコレクションの取得

パラメータ [out] ppICaoFiles CaoFiles IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoFiles オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoController::GetMessage ( [out, retval] ICaoMessage ** ppICaoMessage ) 機能 メッセージの取得

パラメータ [out] ppICaoMessage

ORiN2 仕様書 58

Version 1.0, August 25, 2005 ORiN Forum

CaoMessage IF ポインタのアドレス

戻り値 HRESULT

メッセージの取得時には S_OK,メッセージがないときは S_FALSE を返します.

説明 ICaoMessage オブジェクトを取得します.

このメソッドはAddControllerメソッド実行時の“@EventDisenable”オプションで TRUEに

設定されているときのみ使用することができます.

プロバイダからメッセージが送信されていないときは,戻り値に S_FALSE を返し,メッセ

ージは取得しません.

HRESULT ICaoController::Help ( [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラの属性値を取得します.

CAO プロバイダの CaoProvController::Helpメソッドを実行します.

HRESULT ICaoController::ID ( [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラの ID を設定します.

CAO プロバイダの CaoProvController::IDメソッドを実行します.

HRESULT ICaoController::ID ( [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラの ID を取得します.

CAO プロバイダの CaoProvController::IDメソッドを実行します.

HRESULT ICaoController::Index ( [out, retval] long * pVal ) 機能 コントローラ番号の取得

パラメータ [out] pVal コントローラ番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのコントローラ番号を取得します.

ORiN2 仕様書 59

Version 1.0, August 25, 2005 ORiN Forum

HRESULT ICaoController::Name ( [out, retval] BSTR * pVal ) 機能 コントローラ名の取得

パラメータ [out] pVal コントローラ名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのコントローラ名を取得します.

HRESULT ICaoController::RobotNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 ロボット名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal ロボット名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボット名リストを取得します.

CAO プロバイダの CaoProvController::RobotNamesメソッドを実行します.

HRESULT ICaoController::Robots ( [out, retval] ICaoRobots ** ppICaoRobots ) 機能 ロボットコレクションの取得

パラメータ [out] ppICaoRobots CaoRobots IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoRobots オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoController::Tag ( [in] VARIANT newVal ) 機能 タグの設定

パラメータ [in] newVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラのタグを設定します.

HRESULT ICaoController::Tag ( [out, retval] VARIANT * pVal ) 機能 タグの取得

パラメータ [out] pVal タグ

ORiN2 仕様書 60

Version 1.0, August 25, 2005 ORiN Forum

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラのタグを取得します.

HRESULT ICaoController::TaskNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 タスク名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal タスク名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスク名リストを取得します.

CAO プロバイダの CaoProvController::TaskNamesメソッドを実行します.

HRESULT ICaoController::Tasks ( [out, retval] ICaoTasks ** ppICaoTasks ) 機能 タスクコレクションの取得

パラメータ [out] ppICaoTasks CaoTasks IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoTasks オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoController::VariableNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 変数名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数名リストを取得します.

CAO プロバイダの CaoProvController::VariableNamesメソッドを実行します.

HRESULT ICaoController::Variables ( [out, retval] ICaoVariables ** ppICaoVariables ) 機能 変数コレクションの取得

パラメータ [out] ppICaoVariables

ORiN2 仕様書 61

Version 1.0, August 25, 2005 ORiN Forum

CaoVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

2.3.4.6. ICaoVariables

HRESULT ICaoVariables::Add ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoVariable ** ppICaoVar ) 機能 変数オブジェクトの追加

パラメータ [in] bstrName 変数名.

[in] bstrOption オプション

[out] ppICaoVar CaoVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを作成,取得します.作成されたオブジェクトは,ICaoVariables

に自動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoVariable::Release メソッドを実行してください.

ICaoVariablesから登録削除するときは,ICaoVariables::Remove メソッドを実行してくださ

い.

HRESULT ICaoVariables::Clear ( ) 機能 全ての変数オブジェクトの解放

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariablesに登録されている全てのオブジェクトを解放します.

解放された ICaoVariables オブジェクトをクライアントが保持している場合,オブジェクト

はメモリから破棄されません.破棄するときは ICaoVariables::Release メソッドを実行して

ください.また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

E_ACCESSDENIED を返します.

HRESULT ICaoVariables::Count ( [out, retval] long * pVal ) 機能 コレクション数の取得

ORiN2 仕様書 62

Version 1.0, August 25, 2005 ORiN Forum

パラメータ [out] pVal コレクションの登録数

戻り値 HRESULT

成功時には S_OK を返します.

説明 現在コレクションに登録されているオブジェクトの登録数を取得します.

HRESULT ICaoVariables::IsMember ( [in] VARIANT Index, [out, retval] VARIANT_BOOL * pVal ) 機能 変数オブジェクトの登録確認

パラメータ [in] bstrName 変数名/番号

[out] pVal 登録参照結果

VARIANT_TRUE : 登録済み

VARIANT_FALSE: 未登録

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したコ変数番号又は変数名がコレクションに登録されているかどうかを確認しま

す.

HRESULT ICaoVariables::Item ( [in] VARIANT Index, [out, retval] ICaoVariable ** ppICaoVar ) 機能 変数オブジェクトの取得

パラメータ [in] bstrName 変数名/番号

[out] ppICaoVar CaoWorkspace IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定した変数番号又は変数名に対応する ICaoVariable オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoVariables::Remove ( [in] VARIANT Index ) 機能 変数オブジェクトの解放

パラメータ [in] bstrName 変数名/番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定した変数番号又は変数名に対応する ICaoVariable オブジェクトを解放します.

ORiN2 仕様書 63

Version 1.0, August 25, 2005 ORiN Forum

解放された ICaoVariable オブジェクトをクライアントが保持している場合,オブジェクトは

メモリから破棄されません.破棄するときは ICaoVariable::Release メソッドを実行してくだ

さい.また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

E_ACCESSDENIED を返します.

2.3.4.7. ICaoVariable

HRESULT ICaoVariable::Attribute ( [out, retval] long * pVal ) 機能 属性の取得

パラメータ [out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数の属性値を取得します.

CAO プロバイダの CaoProvVariable::Attribute メソッドを実行します.

HRESULT ICaoVariable::DateTime ( [out, retval] VARIANT * pVal ) 機能 タイムスタンプ(日時)の取得

パラメータ [out] pVal タイムスタンプ(日時)

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数のタイムスタンプ(日時)を取得します.

CAO プロバイダの CaoProvVariable::DateTime メソッドを実行します.

HRESULT ICaoVariable::Help ( [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数のヘルプ文字列を取得します.

CAO プロバイダの CaoProvVariable::Help メソッドを実行します.

HRESULT ICaoVariable::ID ( [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数の ID を設定します.

CAO プロバイダの CaoProvVariable::ID メソッドを実行します.

HRESULT ICaoVariable::ID ( [out, retval] VARIANT * pVal )

ORiN2 仕様書 64

Version 1.0, August 25, 2005 ORiN Forum

機能 ID の取得

パラメータ [out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数の ID を取得します.

CAO プロバイダの CaoProvVariable::ID メソッドを実行します.

HRESULT ICaoVariable::Index ( [out, retval] long * pVal ) 機能 変数番号の取得

パラメータ [out] pVal 変数番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトの変数番号を取得します.

HRESULT ICaoVariable::Microsecond ( [out, retval] long * pVal ) 機能 タイムスタンプ(マイクロ秒)の取得

パラメータ [out] pVal タイムスタンプ(マイクロ秒)

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数のタイムスタンプ(マイクロ秒)を取得します.

CAO プロバイダの CaoProvVariable::Microsecond メソッドを実行します.

HRESULT ICaoVariable::Name ( [out, retval] BSTR * pVal ) 機能 変数名の取得

パラメータ [out] pVal 変数名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトの変数名を取得します.

HRESULT ICaoVariable::Tag ( [in] VARIANT newVal ) 機能 タグの設定

パラメータ [in] newVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数のタグを設定します.

HRESULT ICaoVariable::Tag ( [out, retval] VARIANT * pVal ) 機能 タグの取得

パラメータ [out] pVal

ORiN2 仕様書 65

Version 1.0, August 25, 2005 ORiN Forum

タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数のタグを取得します.

HRESULT ICaoVariable::Value ( [in] VARIANT newVal ) 機能 値の設定

パラメータ [in] newVal 変数値

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数値を設定します.

CAO プロバイダの CaoProvVariable::Value メソッドを実行します.

HRESULT ICaoVariable::Value ( [out, retval] VARIANT * pVal ) 機能 値の取得

パラメータ [out] pVal 変数値

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数値を取得します.

CAO プロバイダの CaoProvVariable::Value メソッドを実行します.

2.3.4.8. ICaoRobots

HRESULT ICaoRobots::Add ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoRobot ** ppICaoRobot ) 機能 ロボットオブジェクトの追加

パラメータ [in] bstrName ロボット名.

[in] bstrOption オプション

[out] ppICaoRobot CaoRobot IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoRobot オブジェクトを作成,取得します.作成されたオブジェクトは,ICaoRobots に

自動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoRobot::Release メソッドを実行してください.

ORiN2 仕様書 66

Version 1.0, August 25, 2005 ORiN Forum

ICaoRobots から登録削除するときは,ICaoRobots::Remove メソッドを実行してください.

HRESULT ICaoRobots::Clear ( ) 機能 全てのロボットオブジェクトの解放

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoRobots に登録されている全てのオブジェクトを解放します.

解放された ICaoRobotsオブジェクトをクライアントが保持している場合,オブジェクトはメ

モリから破棄されません.破棄するときは ICaoRobots::Release メソッドを実行してくださ

い.また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

E_ACCESSDENIED を返します.

HRESULT ICaoRobots::Count ( [out, retval] long * pVal ) 機能 コレクション数の取得

パラメータ [out] pVal コレクションの登録数

戻り値 HRESULT

成功時には S_OK を返します.

説明 現在コレクションに登録されているオブジェクトの登録数を取得します.

HRESULT ICaoRobots::IsMember ( [in] VARIANT Index, [out, retval] VARIANT_BOOL * pVal ) 機能 ロボットオブジェクトの登録確認

パラメータ [in] bstrName ロボット名/番号

[out] pVal 登録参照結果

VARIANT_TRUE : 登録済み

VARIANT_FALSE: 未登録

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したロボット番号又はロボット名がコレクションに登録されているかどうかを確認し

ます.

HRESULT ICaoRobots::Item ( [in] VARIANT Index, [out, retval] ICaoRobot ** ppICaoRobot ) 機能 ロボットオブジェクトの取得

パラメータ [in] bstrName ロボット名/番号

[out] ppICaoRobot

ORiN2 仕様書 67

Version 1.0, August 25, 2005 ORiN Forum

CaoWorkspace IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したロボット番号又はロボット名に対応する ICaoRobot オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoRobots::Remove ( [in] VARIANT Index ) 機能 ロボットオブジェクトの解放

パラメータ [in] bstrName ロボット名/番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したロボット番号又はロボット名に対応する ICaoRobot オブジェクトを解放します.

解放された ICaoRobot オブジェクトをクライアントが保持している場合,オブジェクトはメ

モリから破棄されません.破棄するときは ICaoRobot::Release メソッドを実行してくださ

い.また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

E_ACCESSDENIED を返します.

2.3.4.9. ICaoRobot

HRESULT ICaoRobot::Accelerate ( [in] long lAxis, [in] float fAccel, [in, defaultvalue(0)] float fDecel ) 機能 ACCEL文の実行

パラメータ [in] lAxis 軸番号 ‐1:手先加(減)速度,0:全軸加(減)速度,その他は指定軸の加(減)速度.

[in] fAccel 加速度

[in] fDecel 減速度

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットの加速,減速の設定を行います.

詳細については SLIM のACCEL 文の仕様を参照してください.

CAO プロバイダの CaoProvRobot::Accelerate メソッドを実行します.

HRESULT ICaoRobot::AddVariable ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoVariable ** ppICaoVar

ORiN2 仕様書 68

Version 1.0, August 25, 2005 ORiN Forum

) 機能 変数オブジェクトの追加

パラメータ [in] bstrName 変数名.

[in] bstrOption オプション

[out] ppICaoVar CaoVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを作成,取得します.作成されたオブジェクトは,ICaoVariables

に自動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoVariable::Release メソッドを実行してください.

ICaoVariablesから登録削除するときは,ICaoVariables::Remove メソッドを実行してくださ

い.

HRESULT ICaoRobot::Attribute ( [out, retval] long * pVal ) 機能 属性の取得

パラメータ [out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットの属性値を取得します.

CAO プロバイダの CaoProvRobot::Attribute メソッドを実行します.

HRESULT ICaoRobot::Cancel ( [in, defaultvalue("")] BSTR bstrOption ) 機能 実行中のロボット制御メソッドのキャンセル

パラメータ [in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボット制御メソッド実行中のロボットに対してメソッドのキャンセルを行います.

CAO プロバイダの CaoProvRobot::Cancelメソッドを実行します.

HRESULT ICaoRobot::Change ( [in] BSTR bstrName ) 機能 CHANGE文の実行

パラメータ [in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM のCHANGE 文の仕様を参照してください.

ORiN2 仕様書 69

Version 1.0, August 25, 2005 ORiN Forum

CAO プロバイダの CaoProvRobot::Change メソッドを実行します.

HRESULT ICaoRobot::Chuck ( [in, defaultvalue("")] BSTR bstrOption ) 機能 GRASP文の実行

パラメータ [in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM の GRASP 文の仕様を参照してください.

CAO プロバイダの CaoProvRobot::Chuck メソッドを実行します.

HRESULT ICaoRobot::Drive ( [in] long lNo, [in] float fMov, [in, defaultvalue("")] BSTR bstrOpt ) 機能 DRIVE 文の実行

パラメータ [in] lNo 軸番号

[in] fMov 移動量

[in] bstrOpt オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM のDRIVE文の仕様を参照してください.

CAO プロバイダの CaoProvRobot::Drive メソッドを実行します.

SLIM のように同時に複数の軸を動かすことはできません.その場合は,

CaoRobot::Move メソッドを使用してください.

HRESULT ICaoRobot::Execute ( [in] VARIANT vntCommand, [out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

CAO プロバイダの CaoProvRobot::Execute メソッドを実行します.

HRESULT ICaoRobot::GoHome ( )

ORiN2 仕様書 70

Version 1.0, August 25, 2005 ORiN Forum

機能 GOHOME 文の実行

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM の GOHOME文の仕様を参照してください.

CAO プロバイダの CaoProvRobot::GoHome メソッドを実行します.

HRESULT ICaoRobot::Help ( [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットのヘルプ文字列を取得します.

CAO プロバイダの CaoProvRobot::Help メソッドを実行します.

HRESULT ICaoRobot::ID ( [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットの ID を設定します.

CAO プロバイダの CaoProvRobot::ID メソッドを実行します.

HRESULT ICaoRobot::ID ( [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットの ID を取得します.

CAO プロバイダの CaoProvRobot::ID メソッドを実行します.

HRESULT ICaoRobot::Index ( [out, retval] long * pVal ) 機能 ロボット番号の取得

パラメータ [out] pVal ロボット番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのロボット番号を取得します.

HRESULT ICaoRobot::Move ( [in] long lComp, [in] VARIANT vntPose,

ORiN2 仕様書 71

Version 1.0, August 25, 2005 ORiN Forum

[in, defaultvalue("")] BSTR bstrOpt ) 機能 MOVE 文の実行

パラメータ [in] lComp 補間指定. 1:PTP,2:直線,3:円弧.

[in] vntPose ポーズ列 指定方法は各メーカに依存します.

[in] bstrOpt オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM のMOVE文の仕様を参照してください.

CAO プロバイダの CaoProvRobot::Move メソッドを実行します.

HRESULT ICaoRobot::Name ( [out, retval] BSTR * pVal ) 機能 ロボット名の取得

パラメータ [out] pVal ロボット名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのロボット名を取得します.

HRESULT ICaoRobot::Rotate ( [in] VARIANT vntRotSuf, [in] float fDeg, [in] VARIANT vntPivot, [in, defaultvalue("")] BSTR bstrOpt ) 機能 ROTATE文の実行

パラメータ [in] vntRotSuf 回転面 指定方法は各メーカに依存します.

[in] fDeg 角度

[in] vntPivot 回転中心

[in] bstrOpt オプション

戻り値 HRESULT

成功時には S_OK を返します.

ORiN2 仕様書 72

Version 1.0, August 25, 2005 ORiN Forum

説明 詳細については SLIM のROTATE 文の仕様を参照してください.

CAO プロバイダの CaoProvRobot::Rotate メソッドを実行します.

HRESULT ICaoRobot::Speed ( [in] long lAxis, [in] float fSpeed ) 機能 SPEED/JSPEED文の実行

パラメータ [in] lAxis 軸番号 ‐1:手先速度,0:全軸速度,その他は指定軸の軸速度.

[in] fSpeed 速度

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM の SPEED/JSPEED 文の仕様を参照してください.

CAO プロバイダの CaoProvRobot::Speed メソッドを実行します.

HRESULT ICaoRobot::Tag ( [in] VARIANT newVal ) 機能 タグの設定

パラメータ [in] newVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットのタグを設定します.

HRESULT ICaoRobot::Tag ( [out, retval] VARIANT * pVal ) 機能 タグの取得

パラメータ [out] pVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットのタグを取得します.

HRESULT ICaoRobot::Unchuck ( [in, defaultvalue("")] BSTR bstrOption ) 機能 RELEASE文の実行

パラメータ [in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM のRELEASE 文の仕様を参照してください.

CAO プロバイダの CaoProvRobot::Unchuckメソッドを実行します.

HRESULT ICaoRobot::VariableNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal

ORiN2 仕様書 73

Version 1.0, August 25, 2005 ORiN Forum

) 機能 変数名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数名リストを取得します.

CAO プロバイダの CaoProvRobot::VariableNames メソッドを実行します.

HRESULT ICaoRobot::Variables ( [out, retval] ICaoVariables ** ppICaoVariables ) 機能 変数コレクションの取得

パラメータ [out] ppICaoVariables CaoVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

2.3.4.10. ICaoFiles

HRESULT ICaoFiles::Add ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoFile ** ppICaoFile ) 機能 ファイルオブジェクトの追加

パラメータ [in] bstrName ファイル名.

[in] bstrOption オプション

[out] ppICaoFile

CaoFile IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoFile オブジェクトを作成,取得します.作成されたオブジェクトは,ICaoFiles に自動

的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoFile::Release メソッドを実行してください.

ICaoFilesから登録削除するときは,ICaoFiles::Remove メソッドを実行してください.

ORiN2 仕様書 74

Version 1.0, August 25, 2005 ORiN Forum

HRESULT ICaoFiles::Clear ( ) 機能 全てのファイルオブジェクトの解放

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoFiles に登録されている全てのオブジェクトを解放します.

解放された ICaoFilesオブジェクトをクライアントが保持している場合,オブジェクトはメモ

リから破棄されません.破棄するときは ICaoFiles::Release メソッドを実行してください.

また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

E_ACCESSDENIED を返します.

HRESULT ICaoFiles::Count ( [out, retval] long * pVal ) 機能 コレクション数の取得

パラメータ [out] pVal コレクションの登録数

戻り値 HRESULT

成功時には S_OK を返します.

説明 現在コレクションに登録されているオブジェクトの登録数を取得します.

HRESULT ICaoFiles::IsMember ( [in] VARIANT Index, [out, retval] VARIANT_BOOL * pVal ) 機能 ファイルオブジェクトの登録確認

パラメータ [in] bstrName ファイル名/番号

[out] pVal 登録参照結果

VARIANT_TRUE : 登録済み

VARIANT_FALSE: 未登録

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したファイル番号又はファイル名がコレクションに登録されているかどうかを確認し

ます.

HRESULT ICaoFiles::Item ( [in] VARIANT Index, [out, retval] ICaoFile ** ppICaoFile ) 機能 ファイルブジェクトの取得

パラメータ [in] bstrName ファイル名/番号

[out] ppICaoFile

CaoWorkspace IF ポインタのアドレス

ORiN2 仕様書 75

Version 1.0, August 25, 2005 ORiN Forum

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したファイル番号又はファイル名に対応する ICaoRobotオブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoFiles::Remove ( [in] VARIANT Index ) 機能 ファイルブジェクトの解放

パラメータ [in] bstrName ファイル名/番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したファイル番号又はファイル名に対応する ICaoFile オブジェクトを解放します.

解放された ICaoFile オブジェクトをクライアントが保持している場合,オブジェクトはメモ

リから破棄されません.破棄するときは ICaoFile::Release メソッドを実行してください.ま

た,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

E_ACCESSDENIED を返します.

2.3.4.11. ICaoFile

HRESULT ICaoFile::AddFile ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoFile ** ppICaoFile ) 機能 ファイルオブジェクトの追加

パラメータ [in] bstrName ファイル名.

[in] bstrOption オプション

[out] ppICaoFile

CaoFile IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoFile オブジェクトを作成,取得します.作成されたオブジェクトは,ICaoFiles に自動

的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoFile::Release メソッドを実行してください.

ICaoFilesから登録削除するときは,ICaoFiles::Remove メソッドを実行してください.

HRESULT ICaoFile::AddVariable ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoVariable ** ppICaoVar

ORiN2 仕様書 76

Version 1.0, August 25, 2005 ORiN Forum

) 機能 変数オブジェクトの追加

パラメータ [in] bstrName 変数名.

[in] bstrOption オプション

[out] ppICaoVar CaoVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを作成,取得します.作成されたオブジェクトは,ICaoVariables

に自動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoVariable::Release メソッドを実行してください.

ICaoVariablesから登録削除するときは,ICaoVariables::Remove メソッドを実行してくださ

い.

HRESULT ICaoFile::Attribute ( [out, retval] long * pVal ) 機能 属性の取得

パラメータ [out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの属性値を取得します.

CAO プロバイダの CaoProvFile::Attribute メソッドを実行します.

HRESULT ICaoFile::Copy ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption ) 機能 ファイルのコピー

パラメータ [in] bstrName 複写先ファイル名

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルをコピーします.

CAO プロバイダの CaoProvFile::Copyメソッドを実行します.

HRESULT ICaoFile::DateCreated ( [out, retval] VARIANT * pVal ) 機能 ファイルの作成日時の取得

パラメータ [out] pVal

ORiN2 仕様書 77

Version 1.0, August 25, 2005 ORiN Forum

作成日時

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの作成日時を取得します.

CAO プロバイダの CaoProvFile::DateCreatedメソッドを実行します.

HRESULT ICaoFile::DateLastAccessed ( [out, retval] VARIANT * pVal ) 機能 ファイルの 終アクセス日時の取得

パラメータ [out] pVal 終アクセス日時

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの 終アクセス日時を取得します.

CAO プロバイダの CaoProvFile::DateLastAccessedメソッドを実行します.

HRESULT ICaoFile::DateLastModified ( [out, retval] VARIANT * pVal ) 機能 ファイルの 終変更日時の取得

パラメータ [out] pVal 終変更日時

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの 終変更日時を取得します.

CAO プロバイダの CaoProvFile::DateLastModified メソッドを実行します.

HRESULT ICaoFile::Delete ( [in, defaultvalue("")] BSTR bstrOption ) 機能 ファイルの削除

パラメータ [in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルを削除します.

CAO プロバイダの CaoProvFile::Delete メソッドを実行します.

HRESULT ICaoFile::Execute ( [in] VARIANT vntCommand, [out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

ORiN2 仕様書 78

Version 1.0, August 25, 2005 ORiN Forum

説明 拡張コマンドを実行します.

CAO プロバイダの CaoProvFile::Execute メソッドを実行します.

HRESULT ICaoFile::FileNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 ファイル名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal ファイル名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイル名リストを取得します.

CAO プロバイダの CaoProvFile::FileNames メソッドを実行します.

HRESULT ICaoFile::Files ( [out, retval] ICaoFiles ** ppICaoFiles ) 機能 ファイルコレクションの取得

パラメータ [out] ppICaoFiles CaoFiles IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoFiles オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoFile::Help ( [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのヘルプ文字列を取得します.

CAO プロバイダの CaoProvFile::Help メソッドを実行します.

HRESULT ICaoFile::ID ( [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの ID を設定します.

CAO プロバイダの CaoProvFile::ID メソッドを実行します.

ORiN2 仕様書 79

Version 1.0, August 25, 2005 ORiN Forum

HRESULT ICaoFile::ID ( [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの ID を取得します.

CAO プロバイダの CaoProvFile::ID メソッドを実行します.

HRESULT ICaoFile::Index ( [out, retval] long * pVal ) 機能 ファイル番号の取得

パラメータ [out] pVal ファイル番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのファイル番号を取得します.

HRESULT ICaoFile::Move ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption ) 機能 ファイルの移動

パラメータ [in] bstrName 移動先ファイル名

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイル移動します.

CAO プロバイダの CaoProvFile::Move メソッドを実行します.

HRESULT ICaoFile::Name ( [out, retval] BSTR * pVal ) 機能 ファイル名の取得

パラメータ [out] pVal ファイル名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのファイル名を取得します.

HRESULT ICaoFile::Path ( [out, retval] BSTR * pVal ) 機能 ファイルパスの取得

パラメータ [out] pVal ファイルパス

戻り値 HRESULT

ORiN2 仕様書 80

Version 1.0, August 25, 2005 ORiN Forum

成功時には S_OK を返します.

説明 ファイルのパスを取得します.

CAO プロバイダの CaoProvFile::Path メソッドを実行します.

HRESULT ICaoFile::Run ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] BSTR * bstrName ) 機能 タスクの生成

パラメータ [in] bstrOption オプション

[out] bstrName

タスク名

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルからタスクを生成し,生成されたタスク名を返します.

CAO プロバイダの CaoProvFile::Run メソッドを実行します.

HRESULT ICaoFile::Size ( [out, retval] long * pVal ) 機能 ファイルサイズの取得

パラメータ [out] pVal ファイルサイズ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのサイズを取得します.

CAO プロバイダの CaoProvFile::Size メソッドを実行します.

HRESULT ICaoFile::Tag ( [in] VARIANT newVal ) 機能 タグの設定

パラメータ [in] newVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのタグを設定します.

HRESULT ICaoFile::Tag ( [out, retval] VARIANT * pVal ) 機能 タグの取得

パラメータ [out] pVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのタグを取得します.

HRESULT ICaoFile::Type ( [out, retval] BSTR * pVal ) 機能 ファイルタイプの取得

ORiN2 仕様書 81

Version 1.0, August 25, 2005 ORiN Forum

パラメータ [out] pVal ファイルタイプ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのタイプを取得します.

CAO プロバイダの CaoProvFile::Size メソッドを実行します.

HRESULT ICaoFile::Value ( [in] VARIANT newVal ) 機能 ファイルデータの設定

パラメータ [in] newVal ファイルデータ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルデータを設定します.

CAO プロバイダの CaoProvFile::Value メソッドを実行します.

HRESULT ICaoFile::Value ( [out, retval] VARIANT * pVal ) 機能 ファイルデータの取得

パラメータ [out] pVal ファイルデータ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルデータを取得します.

CAO プロバイダの CaoProvFile::Value メソッドを実行します.

HRESULT ICaoFile::VariableNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 変数名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数名リストを取得します.

CAO プロバイダの CaoProvFile::VariableNamesメソッドを実行します.

HRESULT ICaoFile::Variables ( [out, retval] ICaoVariables ** ppICaoVariables ) 機能 変数コレクションの取得

パラメータ [out] ppICaoVariables CaoVariable IF ポインタのアドレス

戻り値 HRESULT

ORiN2 仕様書 82

Version 1.0, August 25, 2005 ORiN Forum

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

2.3.4.12. ICaoTasks

HRESULT ICaoTasks::Add ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoTask ** ppICaoTask ) 機能 タスクオブジェクトの追加

パラメータ [in] bstrName タスク名.

[in] bstrOption オプション

[out] ppICaoTask

CaoTask IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoTask オブジェクトを作成,取得します.作成されたオブジェクトは,ICaoTasks に自

動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoTask::Release メソッドを実行してください.

ICaoTasks から登録削除するときは,ICaoTasks::Remove メソッドを実行してください.

HRESULT ICaoTasks::Clear ( ) 機能 全てのタスクオブジェクトの解放

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoTasks に登録されている全てのオブジェクトを解放します.

解放された ICaoTasks オブジェクトをクライアントが保持している場合,オブジェクトはメ

モリから破棄されません.破棄するときは ICaoTasks::Release メソッドを実行してくださ

い.また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

E_ACCESSDENIED を返します.

HRESULT ICaoTasks::Count ( [out, retval] long * pVal ) 機能 コレクション数の取得

パラメータ [out] pVal コレクションの登録数

戻り値 HRESULT

ORiN2 仕様書 83

Version 1.0, August 25, 2005 ORiN Forum

成功時には S_OK を返します.

説明 現在コレクションに登録されているオブジェクトの登録数を取得します.

HRESULT ICaoTasks::IsMember ( [in] VARIANT Index, [out, retval] VARIANT_BOOL * pVal ) 機能 タスクオブジェクトの登録確認

パラメータ [in] bstrName タスク名/番号

[out] pVal 登録参照結果

VARIANT_TRUE : 登録済み

VARIANT_FALSE: 未登録

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したタスク番号又はタスク名がコレクションに登録されているかどうかを確認しま

す.

HRESULT ICaoTasks::Item ( [in] VARIANT Index, [out, retval] ICaoTask ** ppICaoTask ) 機能 タスクブジェクトの取得

パラメータ [in] bstrName タスク名/番号

[out] ppICaoTask

CaoWorkspace IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したタスク番号又はタスク名に対応する ICaoRobot オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoTasks::Remove ( [in] VARIANT Index ) 機能 タスクブジェクトの解放

パラメータ [in] bstrName タスク名/番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したタスク番号又はタスク名に対応する ICaoTask オブジェクトを解放します.

解放された ICaoTaskオブジェクトをクライアントが保持している場合,オブジェクトはメモ

リから破棄されません.破棄するときは ICaoTask::Release メソッドを実行してください.

また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

ORiN2 仕様書 84

Version 1.0, August 25, 2005 ORiN Forum

E_ACCESSDENIED を返します.

2.3.4.13. ICaoTask

HRESULT ICaoTask::AddVariable ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoVariable ** ppICaoVar ) 機能 変数オブジェクトの追加

パラメータ [in] bstrName 変数名.

[in] bstrOption オプション

[out] ppICaoVar CaoVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを作成,取得します.作成されたオブジェクトは,ICaoVariables

に自動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoVariable::Release メソッドを実行してください.

ICaoVariablesから登録削除するときは,ICaoVariables::Remove メソッドを実行してくださ

い.

HRESULT ICaoTask::Attribute ( [out, retval] long * pVal ) 機能 属性の取得

パラメータ [out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクの属性値を取得します.

CAO プロバイダの CaoProvTask::Attribute メソッドを実行します.

HRESULT ICaoTask::Delete ( [in, defaultvalue("")] BSTR bstrOption ) 機能 タスクの削除

パラメータ [in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクを削除します.

CAO プロバイダの CaoProvTask::Delete メソッドを実行します.

HRESULT ICaoTask::Execute ( [in] VARIANT vntCommand,

ORiN2 仕様書 85

Version 1.0, August 25, 2005 ORiN Forum

[out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

CAO プロバイダの CaoProvTask::Execute メソッドを実行します.

HRESULT ICaoTask::FileName ( [out, retval] BSTR * pVal ) 機能 対応ファイル名の取得

パラメータ [out] pVal 対応ファイル名

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクと対応しているファイル名を取得します.

CAO プロバイダの CaoProvTask::FileName メソッドを実行します.

HRESULT ICaoTask::Help ( [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクのヘルプ文字列を取得します.

CAO プロバイダの CaoProvTask::Helpメソッドを実行します.

HRESULT ICaoTask::ID ( [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクの ID を設定します.

CAO プロバイダの CaoProvTask::IDメソッドを実行します.

HRESULT ICaoTask::ID ( [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [out] pVal ID

ORiN2 仕様書 86

Version 1.0, August 25, 2005 ORiN Forum

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクの ID を取得します.

CAO プロバイダの CaoProvTask::IDメソッドを実行します.

HRESULT ICaoTask::Index ( [out, retval] long * pVal ) 機能 タスク番号の取得

パラメータ [out] pVal タスク番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのタスク番号を取得します.

HRESULT ICaoTask::Name ( [out, retval] BSTR * pVal ) 機能 タスク名の取得

パラメータ [out] pVal タスク名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのタスク名を取得します.

HRESULT ICaoTask::Start ( [in, defaultvalue(0)] long lMode, [in, defaultvalue("")] BSTR bstrOption ) 機能 タスクの開始

パラメータ [in] lMode モード 1:1サイクル実行,2:連続実行,3:1ステップ 送り,4:1ステップ 戻し

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクの実行を開始します.

CAO プロバイダの CaoProvTask::Start実行します.

HRESULT ICaoTask::Stop ( [in, defaultvalue(0)] long lMode, [in, defaultvalue("")] BSTR bstrOption ) 機能 タスクの停止

パラメータ [in] lMode モード 0:デフォルト停止,1:瞬時停止,2:ステップ停止,3:サイクル停止.4:初期化停止 (デフォルト停止とは,実際には何れかの停止方法.)

ORiN2 仕様書 87

Version 1.0, August 25, 2005 ORiN Forum

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 実行中のタスクを停止します.

CAO プロバイダの CaoProvTask::Stop 実行します.

HRESULT ICaoTask::Tag ( [in] VARIANT newVal ) 機能 タグの設定

パラメータ [in] newVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクのタグを設定します.

HRESULT ICaoTask::Tag ( [out, retval] VARIANT * pVal ) 機能 タグの取得

パラメータ [out] pVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクのタグを取得します.

HRESULT ICaoTask::VariableNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 変数名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数名リストを取得します.

CAO プロバイダの CaoProvTask::VariableNames メソッドを実行します.

HRESULT ICaoTask::Variables ( [out, retval] ICaoVariables ** ppICaoVariables ) 機能 変数コレクションの取得

パラメータ [out] ppICaoVariables CaoVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを取得します.

ORiN2 仕様書 88

Version 1.0, August 25, 2005 ORiN Forum

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

2.3.4.14. ICaoCommands

HRESULT ICaoCommands::Add ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoCommand ** ppICaoCommand ) 機能 コマンドオブジェクトの追加

パラメータ [in] bstrName コマンド名.

[in] bstrOption オプション

[out] ppICaoCommand

CaoCommand IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoCommand オブジェクトを作成,取得します.作成されたオブジェクトは,

ICaoCommandsに自動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoCommand::Release メソッドを実行してください.

ICaoCommands から登録削除するときは,ICaoCommands::Remove メソッドを実行してく

ださい.

HRESULT ICaoCommands::Clear ( ) 機能 全てのコマンドオブジェクトの解放

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoCommandsに登録されている全てのオブジェクトを解放します.

解放された ICaoCommandsオブジェクトをクライアントが保持している場合,オブジェクト

はメモリから破棄されません.破棄するときは ICaoCommands::Release メソッドを実行し

てください.また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

E_ACCESSDENIED を返します.

HRESULT ICaoCommands::Count ( [out, retval] long * pVal ) 機能 コレクション数の取得

パラメータ [out] pVal コレクションの登録数

戻り値 HRESULT

成功時には S_OK を返します.

ORiN2 仕様書 89

Version 1.0, August 25, 2005 ORiN Forum

説明 現在コレクションに登録されているオブジェクトの登録数を取得します.

HRESULT ICaoCommands::IsMember ( [in] VARIANT Index, [out, retval] VARIANT_BOOL * pVal ) 機能 コマンドオブジェクトの登録確認

パラメータ [in] bstrName コマンド名/番号

[out] pVal 登録参照結果

VARIANT_TRUE : 登録済み

VARIANT_FALSE: 未登録

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したコマンド番号又はコマンド名がコレクションに登録されているかどうかを確認し

ます.

HRESULT ICaoCommands::Item ( [in] VARIANT Index, [out, retval] ICaoCommand ** ppICaoCommand ) 機能 コマンドブジェクトの取得

パラメータ [in] bstrName コマンド名/番号

[out] ppICaoCommand

CaoWorkspace IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したコマンド番号又はコマンド名に対応する ICaoRobot オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoCommands::Remove ( [in] VARIANT Index ) 機能 コマンドブジェクトの解放

パラメータ [in] bstrName コマンド名/番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定したコマンド番号又はコマンド名に対応する ICaoCommand オブジェクトを解放しま

す.

解放された ICaoCommand オブジェクトをクライアントが保持している場合,オブジェクト

はメモリから破棄されません.破棄するときは ICaoCommand::Release メソッドを実行し

てください.また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

ORiN2 仕様書 90

Version 1.0, August 25, 2005 ORiN Forum

E_ACCESSDENIED を返します.

2.3.4.15. ICaoCommand

HRESULT ICaoCommand::Attribute ( [out, retval] long * pVal ) 機能 属性の取得

パラメータ [out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの属性値を取得します.

CAO プロバイダの CaoProvCommand::Attribute メソッドを実行します.

HRESULT ICaoCommand::Cancel ( ) 機能 コマンドのキャンセル

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 実行中のコマンドをキャンセルします.

CAO プロバイダの CaoProvCommand::Cancelメソッドを実行します.

HRESULT ICaoCommand::Execute ( [in, defaultvalue(0)] long lMode ) 機能 拡張コマンドの実行

パラメータ [in] lMode モード 1ビット目は,0:同期実行,1:非同期実行.その他のビットはプロバイダ依存.

戻り値 HRESULT

成功時には S_OK を返します.

非同期実行のときは S_FALSEを返します.

説明 拡張コマンドを実行します.

CAO プロバイダの CaoProvCommand::Execute メソッドを実行します.

コマンドの実行結果を取得するときは CaoCommand::Result メソッドを実行してください.

HRESULT ICaoCommand::Help ( [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドのヘルプ文字列を取得します.

CAO プロバイダの CaoProvCommand::Help メソッドを実行します.

HRESULT ICaoCommand::ID ( [in] VARIANT newVal ) 機能 ID の設定

ORiN2 仕様書 91

Version 1.0, August 25, 2005 ORiN Forum

パラメータ [in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの ID を設定します.

CAO プロバイダの CaoProvCommand::ID メソッドを実行します.

HRESULT ICaoCommand::ID ( [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの ID を取得します.

CAO プロバイダの CaoProvCommand::ID メソッドを実行します.

HRESULT ICaoCommand::Index ( [out, retval] long * pVal ) 機能 コマンド番号の取得

パラメータ [out] pVal コマンド番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのコマンド番号を取得します.

HRESULT ICaoCommand::Name ( [out, retval] BSTR * pVal ) 機能 コマンド名の取得

パラメータ [out] pVal コマンド名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのコマンド名を取得します.

HRESULT ICaoCommand::Parameters ( [in] VARIANT newVal ) 機能 パラメータの設定

パラメータ [in] newVal パラメータ

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの実行時のパラメータを設定します.

CAO プロバイダの CaoProvCommand::Parameters メソッドを実行します.

HRESULT ICaoCommand::Parameters ( [out, retval] VARIANT * pVal ) 機能 パラメータの取得

パラメータ [out] pVal

ORiN2 仕様書 92

Version 1.0, August 25, 2005 ORiN Forum

パラメータ

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの実行時のパラメータを取得します.

CAO プロバイダの CaoProvCommand:: Parametersメソッドを実行します.

HRESULT ICaoCommand::Result ( [out, retval] VARIANT * pVal ) 機能 実行結果の取得

パラメータ [out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.コマンドが実行時にエラーがあったときは,ここでエラ

ーコードを返します.

説明 直前にCaoCommand::Execute メソッドの実行結果を取得します.

HRESULT ICaoCommand::State ( [out, retval] long * pVal ) 機能 実行状態の取得

パラメータ [out] pVal 状態

1ビット目は,0:待機中,1:実行中.その他のビットはプロバイダ依存.

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの実行状態を取得します.

CAO プロバイダの CaoProvCommand::State メソッドを実行します.

HRESULT ICaoCommand::Tag ( [in] VARIANT newVal ) 機能 タグの設定

パラメータ [in] newVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクのタグを設定します.

HRESULT ICaoCommand::Tag ( [out, retval] VARIANT * pVal ) 機能 タグの取得

パラメータ [out] pVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクのタグを取得します.

HRESULT ICaoCommand::Timeout ( [in] long newVal ) 機能 タイムアウト時間の設定

パラメータ [in] newVal

ORiN2 仕様書 93

Version 1.0, August 25, 2005 ORiN Forum

タイムアウト時間

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの実行時のタイムアウト時間を設定します.

CAO プロバイダの CaoProvCommand::Timeout メソッドを実行します.

HRESULT ICaoCommand::Timeout ( [out, retval] long * pVal ) 機能 タイムアウト時間の取得

パラメータ [out] pVal タイムアウト時間

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの実行時のタイムアウト時間を取得します.

CAO プロバイダの CaoProvCommand::Timeout メソッドを実行します.

2.3.4.16. ICaoExtensions

HRESULT ICaoExtensions::Add ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoExtension ** ppICaoExtension ) 機能 拡張ボードオブジェクトの追加

パラメータ [in] bstrName 拡張ボード名.

[in] bstrOption オプション

[out] ppICaoExtension

CaoExtension IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoExtension オブジェクトを作成,取得します.作成されたオブジェクトは,

ICaoExtensions に自動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoExtension::Release メソッドを実行してください.

ICaoExtensions から登録削除するときは,ICaoExtensions::Remove メソッドを実行してく

ださい.

HRESULT ICaoExtensions::Clear ( ) 機能 全ての拡張ボードブジェクトの解放

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

ORiN2 仕様書 94

Version 1.0, August 25, 2005 ORiN Forum

説明 ICaoExtensions に登録されている全てのオブジェクトを解放します.

解放された ICaoExtensions オブジェクトをクライアントが保持している場合,オブジェクト

はメモリから破棄されません.破棄するときは ICaoExtensions::Release メソッドを実行し

てください.また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

E_ACCESSDENIED を返します.

HRESULT ICaoExtensions::Count ( [out, retval] long * pVal ) 機能 コレクション数の取得

パラメータ [out] pVal コレクションの登録数

戻り値 HRESULT

成功時には S_OK を返します.

説明 現在コレクションに登録されているオブジェクトの登録数を取得します.

HRESULT ICaoExtensions::IsMember ( [in] VARIANT Index, [out, retval] VARIANT_BOOL * pVal ) 機能 拡張ボードブジェクトの登録確認

パラメータ [in] bstrName 拡張ボード名/番号

[out] pVal 登録参照結果

VARIANT_TRUE : 登録済み

VARIANT_FALSE: 未登録

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定した拡張ボード番号又は拡張ボード名がコレクションに登録されているかどうかを

確認します.

HRESULT ICaoExtensions::Item ( [in] VARIANT Index, [out, retval] ICaoExtension ** ppICaoExtension ) 機能 拡張ボードブジェクトの取得

パラメータ [in] bstrName 拡張ボード名/番号

[out] ppICaoExtension

CaoWorkspace IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定した拡張ボード番号又は拡張ボード名に対応する ICaoRobot オブジェクトを取得し

ます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

ORiN2 仕様書 95

Version 1.0, August 25, 2005 ORiN Forum

棄するときは必ず Release メソッドを実行してください.

HRESULT ICaoExtensions::Remove ( [in] VARIANT Index ) 機能 拡張ボードブジェクトの解放

パラメータ [in] bstrName 拡張ボード名/番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 指定した拡張ボード番号又は拡張ボード名に対応する ICaoExtension オブジェクトを解

放します.

解放された ICaoExtension オブジェクトをクライアントが保持している場合,オブジェクト

はメモリから破棄されません.破棄するときはICaoExtension::Releaseメソッドを実行して

ください.また,コレクションから解放されたオブジェクトは,メソッドの実行時に必ず

E_ACCESSDENIED を返します.

2.3.4.17. ICaoExtension

HRESULT ICaoExtension::AddVariable ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoVariable ** ppICaoVar ) 機能 変数オブジェクトの追加

パラメータ [in] bstrName 変数名.

[in] bstrOption オプション

[out] ppICaoVar CaoVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを作成,取得します.作成されたオブジェクトは,ICaoVariables

に自動的に登録されます.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoVariable::Release メソッドを実行してください.

ICaoVariablesから登録削除するときは,ICaoVariables::Remove メソッドを実行してくださ

い.

HRESULT ICaoExtension::Attribute ( [out, retval] long * pVal ) 機能 属性の取得

パラメータ [out] pVal 属性

戻り値 HRESULT

ORiN2 仕様書 96

Version 1.0, August 25, 2005 ORiN Forum

成功時には S_OK を返します.

説明 拡張ボードの属性値を取得します.

CAO プロバイダの CaoProvExtension::Attribute メソッドを実行します.

HRESULT ICaoExtension::Execute ( [in] VARIANT vntCommand, [out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

CAO プロバイダの CaoProvExtension::Execute メソッドを実行します.

HRESULT ICaoExtension::Help ( [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードのヘルプ文字列を取得します.

CAO プロバイダの CaoProvExtension::Helpメソッドを実行します.

HRESULT ICaoExtension::ID ( [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの ID を設定します.

CAO プロバイダの CaoProvExtension::IDメソッドを実行します.

HRESULT ICaoExtension::ID ( [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの ID を取得します.

CAO プロバイダの CaoProvExtension::IDメソッドを実行します.

ORiN2 仕様書 97

Version 1.0, August 25, 2005 ORiN Forum

HRESULT ICaoExtension::Index ( [out, retval] long * pVal ) 機能 拡張ボード番号の取得

パラメータ [out] pVal 拡張ボード番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトの拡張ボード番号を取得します.

HRESULT ICaoExtension::Name ( [out, retval] BSTR * pVal ) 機能 拡張ボード名の取得

パラメータ [out] pVal 拡張ボード名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトの拡張ボード名を取得します.

HRESULT ICaoExtension::Tag ( [in] VARIANT newVal ) 機能 タグの設定

パラメータ [in] newVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードのタグを設定します.

HRESULT ICaoExtension::Tag ( [out, retval] VARIANT * pVal ) 機能 タグの取得

パラメータ [out] pVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードのタグを取得します.

HRESULT ICaoExtension::VariableNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 変数名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数名リストを取得します.

ORiN2 仕様書 98

Version 1.0, August 25, 2005 ORiN Forum

CAO プロバイダの CaoProvExtension::VariableNames メソッドを実行します.

HRESULT ICaoExtension::Variables ( [out, retval] ICaoVariables ** ppICaoVariables ) 機能 変数コレクションの取得

パラメータ [out] ppICaoVariables CaoVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破

棄するときは必ず Release メソッドを実行してください.

2.3.4.18. ICaoMessage

HRESULT ICaoMessage::Clear ( ) 機能 メッセージのクリア

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 メッセージのクリアを行います.

CAO プロバイダの CaoProvMessage::Clearメソッドを実行します.

HRESULT ICaoMessage::DateTime ( [out, retval] VARIANT * pVal ) 機能 作成日時の取得

パラメータ [out] pVal 作成日時

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの作成日時を取得します.

CAO プロバイダの CaoProvMessage::DateTime メソッドを実行します.

HRESULT ICaoMessage::Description ( [out, retval] BSTR * pVal ) 機能 説明文の取得

パラメータ [out] pVal 説明文

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの説明文を取得します.

CAO プロバイダの CaoProvMessage::Description メソッドを実行します.

HRESULT ICaoMessage::Destination ( [out, retval] BSTR * pVal ) 機能 送り先の取得

パラメータ [out] pVal 送り先

ORiN2 仕様書 99

Version 1.0, August 25, 2005 ORiN Forum

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの送り先を取得します.

CAO プロバイダの CaoProvMessage::Destination メソッドを実行します.

HRESULT ICaoMessage::Number ( [out, retval] long * pVal ) 機能 メッセージ番号の取得

パラメータ [out] pVal メッセージ番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードのメッセージ番号を取得します.

CAO プロバイダの CaoProvMessage::Number メソッドを実行します.

HRESULT ICaoMessage::Reply ( VARIANT vntData ) 機能 メッセージの返信

パラメータ [out] pVal 返信データ

戻り値 HRESULT

成功時には S_OK を返します.

説明 メッセージに対する返信を行います.

CAO プロバイダの CaoProvMessage::Replyメソッドを実行します.

HRESULT ICaoMessage::SerialNumber ( [out, retval] long * pVal ) 機能 メッセージ連番の取得

パラメータ [out] pVal メッセージ連番

戻り値 HRESULT

成功時には S_OK を返します.

説明 メッセージの連番を取得します.

HRESULT ICaoMessage::Source ( [out, retval] BSTR * pVal ) 機能 送り元の取得

パラメータ [out] pVal 送り元

戻り値 HRESULT

成功時には S_OK を返します.

説明 メッセージの送り元を取得します.

CAO プロバイダの CaoProvMessage::Source メソッドを実行します.

HRESULT ICaoMessage::Value ( [out, retval] VARIANT * pVal ) 機能 メッセージ本文の取得

パラメータ [out] pVal 本文

ORiN2 仕様書 100

Version 1.0, August 25, 2005 ORiN Forum

戻り値 HRESULT

成功時には S_OK を返します.

説明 メッセージの本文を取得します.

CAO プロバイダの CaoProvMessage::Value メソッドを実行します.

2.3.4.19. ICaoEngineStatus

HRESULT ICaoEngineStatus::ComputerName ( [out, retval] BSTR * pVal ) 機能 コンピュータ名の取得

パラメータ [out] pVal コンピュータ名

戻り値 HRESULT

成功時には S_OK を返します.

説明 CAO エンジンの起動しているコンピュータ名を取得します.

HRESULT ICaoEngineStatus::CurrentDateTime ( [out, retval] VARIANT * pVal ) 機能 現在日時の取得

パラメータ [out] pVal 現在日時

戻り値 HRESULT

成功時には S_OK を返します.

説明 現在日時を取得します.

HRESULT ICaoEngineStatus::ObjectCounts ( [in] VARIANT vntName, [out, retval] long * pVal ) 機能 各クラスごとのオブジェクト数の取得

パラメータ [in] vntName クラス名/番号 クラス名とクラス番号は以下のように対応しています.

表 2-4 クラス番号とクラス名の対応表

クラス番号 クラス名

0. CaoEngine 1 CaoWorkspaces 2 Caoworkspace

3 CaoControllers 4 CaoController

5 CaoExtensions 6 CaoExtension

ORiN2 仕様書 101

Version 1.0, August 25, 2005 ORiN Forum

7 CaoFiles 8 CaoFile

9 CaoRobots 10 CaoRobot

11 CaoTasks 12 CaoTask

13 CaoVariables 14 CaoVariable

15 CaoCommands 16 CaoCommand

17 CaoMessage 18 CaoEngineStatus

[out] pVal オブジェクト数

戻り値 HRESULT

成功時には S_OK を返します.

説明 クラス名又はクラス番号でしていしたオブジェクトの総数を取得します.

HRESULT ICaoEngineStatus::StartDateTime ( [out, retval] VARIANT * pVal ) 機能 CAO エンジンの開始日時の取得

パラメータ [out] pVal 開始日時

戻り値 HRESULT

成功時には S_OK を返します.

説明 CAO エンジンを起動した日時を取得します.

HRESULT ICaoEngineStatus::Values ( [in] VARIANT vntName, [out, retval] VARIANT * pVal ) 機能 将来用の予約

パラメータ [in] vntName ステータス名/番号

[out] pVal データ

戻り値 HRESULT

必ず S_OK を返します.

説明 将来のための予約されているメソッドです.

現在は実装されていません.

HRESULT ICaoEngineStatus::Version ( [out, retval] BSTR * pVal )

ORiN2 仕様書 102

Version 1.0, August 25, 2005 ORiN Forum

機能 CAO エンジンのバージョン取得

パラメータ [out] pVal バージョン

戻り値 HRESULT

成功時には S_OK を返します.

説明 CAO エンジンのバージョン情報を取得します.

2.3.4.20. IEventSink

HRESULT IEventSink::OnMessage ( [in] IUnknown * pVal, [in, defaultvalue(0)] long lOption ) 機能 OnMessage イベントシンク

パラメータ [in] pVal CaoProvMessage IF ポインタのアドレス

[in] lOption メッセージオプション 詳細は表 2-8 を参照してください.

戻り値 HRESULT

成功時には S_OK を返します.

説明 CAO プロバイダがメッセージイベントを発生させるために呼び出されるメソッドです.

パラメータで指定した CAO プロバイダのメッセージオブジェクトをラップしてクライアント

に対してOnMessage イベントを発生させます.

2.3.4.21. _ICaoControllerEvents

HRESULT _ICaoControllerEvents::OnMessage ( [in] ICaoMessage * pICaoMess ) 機能 OnMessage イベント

パラメータ [in] pICaoMess CaoMessage IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 CAO エンジンのOnMessage イベントです.

このイベントは CAO プロバイダで OnMessage イベントを発生させたときに起こります.

このメソッドは AddController メソッド実行時の“@EventDisenable”オプションで FALSE

に設定されているときのみ使用することができます.

2.3.4.22. _ICaoCommandsEvents

HRESULT _ICaoCommandsEvents::ExecuteComplete ( [in] long lID ) 機能 ExecuteComplete イベント

パラメータ [in] lID

ORiN2 仕様書 103

Version 1.0, August 25, 2005 ORiN Forum

コマンド番号

コマンドの非同期実行が完了した CaoCommand オブジェクトのコマンド番号が入りま

す.

戻り値 HRESULT

成功時には S_OK を返します.

説明 CaoController クラスで発生する ExecuteComplete イベントです.

このイベントは,CaoCommand::Execute メソッドの非同期実行が完了した時に発生しま

す.

このメソッドは AddController メソッド実行時の“@EventDisenable”オプションで FALSE

に設定されているときのみ使用することができます.

ORiN2 仕様書 104

Version 1.0, August 25, 2005 ORiN Forum

2.4. CAO プロバイダの詳細

2.4.1. クラスとインターフェイスの一覧

表 2-5 CAO Provider のクラスの一覧

クラス名 対象リソース 説明

CaoProvController コントローラ コントローラクラス.コントローラのリソース全般に関わる機能を提

供します. CaoProvVariable 変数 変数クラス.変数リソースに関わる機能を提供します. CaoProvRobot ロボット ロボットクラス.ロボットリソースに関わる機能を提供します.

CaoProvFile ファイル ファイルクラス.ファイル,フォルダリソースに関わる機能を提供し

ます.

CaoProvTask タスク タスククラス.タスクリソースに関わる機能を提供します.

CaoProvCommand コマンド コマンドクラス.コマンドリソースに関わる機能を提供します. CaoProvExtension 拡張ボード 拡張クラス.拡張ボードリソースに関わる機能を提供します.

CaoProvMessage メッセージ メッセージクラス.メッセージリソースに関わる機能を提供します.

表 2-6 CAO Provider のインターフェイスクラスの一覧

インターフェイス名 実装クラス 説明

ICaoProvController CaoProvController コントローラ IFクラス. ICaoProvVariable CaoProvVariable 変数 IFクラス.

ICaoProvRobot CaoProvRobot ロボット IFクラス.

ICaoProvFile CaoProvFile ファイル IFクラス.

ICaoProvTask CaoProvTask タスク IFクラス. ICaoProvCommand CaoProvCommand コマンド IFクラス.

ICaoProvExtension CaoProvEntension 拡張ボード IFクラス.

ICaoProvMessage CaoProvMessage メッセージ IFクラス.

_ICaoProvControllerEvents CaoProvController コントローラのイベント IFクラス

ORiN2 仕様書 105

Version 1.0, August 25, 2005 ORiN Forum

2.4.2. メソッドおよびプロパティの一覧

2.4.2.1. CaoProvController Object - コントローラ

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoProvController Attribute P 属性の取得 R 属性:long

Help P ヘルプ R ヘルプ文字列:BSTR

ID P ID R/W ID:VARIANT ID:VARIANT

Name P コントローラ名の取得 R コントローラ名:BSTR

CommandNames P 拡張ボード名リストの取

R [オプショ ン:BSTR] コマンド名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

ExtensionNames P コマンド名リストの取得 R [オプショ ン:BSTR] 拡張ボード名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

FileNames P ファイル名リストの取得 R [オプショ ン:BSTR] ファイル名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

RobotNames P ロボット名リストの取得 R [オプショ ン:BSTR] ロボット名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

TaskNames P タスク名リストの取得 R [オプショ ン:BSTR] タスク名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

VariableNames P 変数名リストの取得 R [オプショ ン:BSTR] 変数名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

GetCommand M コマンドオブジェクトの

取得

S コマンド名:BSTR,

[オプショ ン:BSTR]

オブジェクト:

ICaoProvCommand

GetExtension M 拡張ボードオブジェクト

の取得

S 拡張ボード名:BSTR,

[オプショ ン:BSTR]

オブジェクト:

ICaoProvExtension

ORiN2 仕様書 106

Version 1.0, August 25, 2005 ORiN Forum

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

GetFile M ファイルオブジェクトの

取得

S ファイル名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoProvFile

GetRobot M ロボットオブジェクトの取

S ロボット名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoProvRobot

GetTask M タスクオブジェクトの取

S タスク名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoProvTask

GetVariable M 変数オブジェクトの取得 S 変数名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoProvVariable

Connect M 接続を実行 S コントローラ名:BSTR,

[オプショ ン:BSTR]

Disconnect M 切断を実行 S

Execute M 拡張コマンドの実行 S コマンド:VARIANT 結果:VARIANT 機能拡張用

記号の意味 M:メソッド ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 107

Version 1.0, August 25, 2005 ORiN Forum

2.4.2.2. CaoProvVariable Object - 変数

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoProvVariable Attribute P 属性の取得 R 属性:long

DateTime P タイムスタンプ(日時)の取

R タイムスタンプ:VARIANT

Help P ヘルプ R ヘルプ文字列:BSTR

ID P ID R/W ID:VARIANT ID:VARIANT

Microsecond P タイムスタンプ(マイクロ

秒)の取得

R タイムスタンプ:Long

Name P 変数名の取得 R 変数名:BSTR システム変数名は@で始まる.

Value P 値の取得 R/W 値:VARIANT 値:VARIANT デフォルトメンバー

記号意味 M:メソッド ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 108

Version 1.0, August 25, 2005 ORiN Forum

2.4.2.3. CaoProvRobot Object - ロボット

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoProvRobot Attribute P 属性の取得 R 属性:long

Help P ヘルプ R ヘルプ文字列:BSTR

ID P ID R/W ID:VARIANT ID:VARIANT

Name P CaoRobot 名の取得 R ロボット名:BSTR

VariableNames P 変数名リストの取得 R [オプショ ン:BSTR] 変数名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

Accelerate M SLIM の ACCEL 文の仕

様参照

W 軸番号:long,

加速度:float,

[減速度:float]

軸番号は,‐1:手先加(減)速度,0:全軸加

(減)速度,その他は指定軸の加(減)速度.

GetVariable M 変数オブジェクトの取得 S 変数名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoProvVariable

Cancel M 実行中のロボット制御メ

ソッドのキャンセル

W [オプショ ン:BSTR]

Change M SLIM の CHANGE 文の仕

様参照

W ハンド名:BSTR

Chuck M SLIM の GRASP 文の仕

様参照

W [オプショ ン:BSTR]

Drive M SLIM の DRIVE 文の仕様

参照

W 軸番号:long,

移動量:float,

[オプショ ン:BSTR]

SLIM のように同時に複数の軸を動かすことは

できない.その場合は,MOVE を使うことを推

奨.

Execute M 拡張コマンドの実行 S コマンド:VARIANT 結果:VARIANT 機能拡張用

ORiN2 仕様書 109

Version 1.0, August 25, 2005 ORiN Forum

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

GoHome M SLIMのGOHOME文の仕

様参照

W

Move M SLIM の MOVE 文の仕様

参照

W 補間指定:long,

ポーズ列:VARIANT,

[オプショ ン:BSTR]

・補間指定は,1:PTP,2:直線,3:円弧.

・ポーズの指定は各メーカ依存.円弧補間の場

合などは,配列になる.

・オプションのデフォルト値は"".

Rotate M SLIM の ROTATE 文の仕

様参照

W 回転面:VARIANT,

角度:float,

回転中心:VARIANT,

[オプショ ン:BSTR]

回転面の指定は各メーカ依存.

Speed M SLIM の SPEED/JSPEED

文の仕様参照

W 軸番号:long,

速度:float

軸番号は,‐1:手先速度,0:全軸速度,その

他は指定軸の軸速度.

Unchuck M SLIM の RELEASE 文の

仕様参照

W [オプショ ン:BSTR] SLIM の Release は予約語で使えないため

Chuck/Unchuck に変更.

記号意味 M:メソッド ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 110

Version 1.0, August 25, 2005 ORiN Forum

2.4.2.4. CaoProvFile Object - ファイル

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoProvFile Attribute P 属性の取得 R 属性:long

DateCreated P 作成日時 R 作成日時:VARIANT

DateLastAccessed P 終アクセス日時 R 終アクセス日時:VARIANT

DateLastModified P 終変更日時 R 終変更日時:VARIANT

FileNames P ファイル名リストの取得 R [オプショ ン:BSTR] ファイル名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.属性がディレクトリの場

合に子ファイル名一覧を返す.

Files P ファイルコレクションの取

R コレクショ ン:ICaoFiles

Help P ヘルプ R ヘルプ文字列:BSTR

ID P ID R/W ID:VARIANT ID:VARIANT

Name P ファイル名の取得 R ファイル名:BSTR

Path P パスの取得 R パス名:BSTR 絶対パス.ファイル名を含めない. 後の区切り文字は

含める.

Size P ファイルサイズの取得 R ファイルサイズ:long

Type P ファイルのタイプの取得 R ファイルタイプ:BSTR

Value P ファイルデータ R/W データ:VARIANT データ:VARIANT デフォルトメンバー

VariableNames P 変数名リストの取得 R [オプショ ン:BSTR] 変数名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

GetFile M ファイルオブジェクトの取

S ファイル名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoProvFile

GetVariable M 変数オブジェクトの取得 S 変数名:BSTR, オブジェクト:ICaoProvVariable

ORiN2 仕様書 111

Version 1.0, August 25, 2005 ORiN Forum

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

[オプショ ン:BSTR]

Copy M 複写 W 複写先ファイル名:BSTR

[オプショ ン:BSTR]

Delete M 削除 W [オプショ ン:BSTR]

Execute M 拡張コマンドの実行 S コマンド:VARIANT 結果:VARIANT 機能拡張用

Move M 移動 W 移動先ファイル名:BSTR

[オプショ ン:BSTR]

Run M タスクの生成 W [オプショ ン:BSTR] タスク名:BSTR

記号意味 M:メソッド ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 112

Version 1.0, August 25, 2005 ORiN Forum

2.4.2.5. CaoProvTask Object - タスク

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoProvTask Attribute P 属性の取得 R 属性:long

FileName P 対応ファイル名の取得 R ファイル名:BSTR

Help P ヘルプ R ヘルプ文字列:BSTR

ID P ID R/W ID:VARIANT ID:VARIANT

Name P タスク名の取得 R タスク名:BSTR

VariableNames P 変数名リストの取得 R [オプショ ン:BSTR] 変数名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

GetVariable M 変数オブジェクトの取得 S 変数名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoProvVariable

Delete M タスクの削除 W [オプショ ン:BSTR]

Execute M 拡張コマンドの実行 S コマンド:VARIANT 結果:VARIANT 機能拡張用

Start M タスクの開始 W モード:long,

[オプショ ン:BSTR]

モードは1:1サイクル実行,2:連続実行,3:1ステップ

送り,4:1ステップ 戻し

オプショ ンは開始位置など.

Stop M タスクの停止 W モード:long,

[オプショ ン:BSTR]

モードは0:デフォルト停止,1:瞬時停止,2:ステップ停

止,3:サイクル停止.4:初期化停止

(注)デフォルト停止とは,実際には何れかの停止方法.

記号意味 M:メソッド ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 113

Version 1.0, August 25, 2005 ORiN Forum

2.4.2.6. CaoProvCommand Object - コマンド

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoProvCommand Attribute P 属性の取得 R 属性:long

Help P ヘルプ R ヘルプ文字列:BSTR

ID P ID R/W ID:VARIANT ID:VARIANT

Name P コマンド名の取得 R コマンド名:BSTR

Parameters P コマンドパラメータ R/W コマンドパラメータ:

VARIANT

コマンドパラメータ:VARIANT

Result P 直前の Execute()の実行

結果

R 実行結果:VARIANT

State P 状態の取得 R 状態:long 状態の1ビット目は,0:待機中,1:実行中.そ

の他のビットはプロバイダ依存.

Timeout P タイムアウト R/W タイムアウト:long タイムアウト:long

Cancel M 実行中コマンドのキャン

セル

S

Execute M コマンドの実行 S モード:long モードは 0:同期実行,1:非同期実行.非同期

実行のときは S_FALSE を返す.

記号意味 M:メソッド ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 114

Version 1.0, August 25, 2005 ORiN Forum

2.4.2.7. CaoProvExtension Object - 拡張ボード

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoProvExtension Attribute P 属性の取得 R 属性:long

Help P ヘルプ R ヘルプ文字列:BSTR

ID P ID R/W ID:VARIANT ID:VARIANT

Name P 拡張ボード名の取得 R 拡張ボード名:BSTR

Tag P タグ R/S タグデータ:VARIANT タグデータ:VARIANT

VariableNames P 変数名リストの取得 R [オプショ ン:BSTR] 変数名リスト:VARIANT

(VT_VARIANT¦VT_ARRAY)

オプショ ンはフィルター条件等.

GetVariable M 変数オブジェクトの取得 S 変数名:BSTR,

[オプショ ン:BSTR]

オブジェクト:ICaoProvVariable

Execute M 拡張コマンドの実行 S コマンド:VARIANT 結果:VARIANT 機能拡張用

記号意味 M:メソッド ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

E:イベント ・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 115

Version 1.0, August 25, 2005 ORiN Forum

2.4.2.8. CaoProvMessage Object - メッセージ

関数の引数 クラス プロパティ,メソッド 説明 R/W

IN OUT RETVAL

備考

CaoProvMessage DateTime P 作成日時 R 作成日時:VARIANT

Description P 説明 R 説明:BSTR

Destination P 送り先 R 送り先:BSTR

Number P メッセージ番号 R メッセージ番号:long

Source P 送り元 R 送り元:BSTR

Value P メッセージ本文 R メッセージ本文:VARIANT

Clear M メッセージのクリア W

Reply M メッセージの返信 W

記号意味 M:メソッド (注1) ・[]内は省略可能引数.

P:プロパティ ・BSTR 型の省略可能引数のデフォルト値は空文字.

・数値型の省略可能引数のデフォルト値はゼロ.

ORiN2 仕様書 116

Version 1.0, August 25, 2005 ORiN Forum

2.4.3. 関数仕様

2.4.3.1. ICaoProvController

HRESULT ICaoProvController::Attribute ( [out, retval] long * pVal ) 機能 属性の取得

パラメータ [out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラの属性値を取得します.

HRESULT ICaoProvController::CommandNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 コマンド名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal コマンド名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンド名リストを取得します.

HRESULT ICaoProvController::Connect ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption ) 機能 プロバイダ接続処理

パラメータ [in] bstrName コントローラ名

[out] bstrOption

オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 プロバイダの対応するデバイスに接続します.

HRESULT ICaoProvController::Disconnect ( ) 機能 プロバイダ切断処理

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 プロバイダからデバイスを接続します.

HRESULT ICaoProvController::Execute ( [in] VARIANT Command, [out, retval] VARIANT * pVal

ORiN2 仕様書 117

Version 1.0, August 25, 2005 ORiN Forum

) 機能 拡張コマンドの実行

パラメータ [in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

HRESULT ICaoProvController::ExtensionNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 拡張ボード名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal 拡張ボード名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボード名リストを取得します.

HRESULT ICaoProvController::FileNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 ファイル名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal ファイル名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイル名リストを取得します.

HRESULT ICaoProvController::GetCommand ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvCommand ** ppCaoProvCommand ) 機能 コマンドオブジェクトの追加

パラメータ [in] bstrName コマンド名.

[in] bstrOption

ORiN2 仕様書 118

Version 1.0, August 25, 2005 ORiN Forum

オプション

[out] ppCaoProvCommand

CaoProvCommand IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoProvCommand オブジェクトを作成,取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoProvCommand::Release メソッドを実行してください.

HRESULT ICaoProvController::GetExtension ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvExtension ** ppCaoProvExtension ) 機能 拡張ボードオブジェクトの追加

パラメータ [in] bstrName 拡張ボード名.

[in] bstrOption オプション

[out] ppCaoProvExtension

CaoProvExtension IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoProvExtension オブジェクトを作成,取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoProvExtension::Release メソッドを実行してください.

HRESULT ICaoProvController::GetFile ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvFile ** ppCaoProvFile ) 機能 ファイルオブジェクトの追加

パラメータ [in] bstrName ファイル名.

[in] bstrOption オプション

[out] ppCaoProvFile

CaoProvFile IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoProvFile オブジェクトを作成,取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

ORiN2 仕様書 119

Version 1.0, August 25, 2005 ORiN Forum

するときは必ず ICaoProvFile::Release メソッドを実行してください.

HRESULT ICaoProvController::GetRobot ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvRobot ** ppCaoProvRobot ) 機能 ロボットオブジェクトの追加

パラメータ [in] bstrName ロボット名.

[in] bstrOption オプション

[out] ppCaoProvRobot CaoProvRobot IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoProvRobot オブジェクトを作成,取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoProvRobot::Release メソッドを実行してください.

HRESULT ICaoProvController::GetTask ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvTask ** ppCaoProvTask ) 機能 タスクオブジェクトの追加

パラメータ [in] bstrName タスク名.

[in] bstrOption オプション

[out] ppCaoProvTask

CaoProvTask IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoProvTask オブジェクトを作成,取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoProvTask::Release メソッドを実行してください.

HRESULT ICaoProvController::GetVariable ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvVariable ** ppCaoProvVar ) 機能 変数オブジェクトの追加

パラメータ [in] bstrName

ORiN2 仕様書 120

Version 1.0, August 25, 2005 ORiN Forum

変数名. [in] bstrOption オプション

[out] ppCaoProvVar CaoProvVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoProvVariable オブジェクトを作成,取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoPrpvVariable::Release メソッドを実行してください.

HRESULT ICaoProvController::Help ( [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラの属性値を取得します.

HRESULT ICaoProvController::ID ( [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラの ID を設定します.

HRESULT ICaoProvController::ID ( [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラの ID を取得します.

HRESULT ICaoProvController::Name ( [out, retval] BSTR * pVal ) 機能 コントローラ名の取得

パラメータ [out] pVal コントローラ名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのコントローラ名を取得します.

HRESULT ICaoProvController::RobotNames ( [in, defaultvalue("")] BSTR bstrOption,

ORiN2 仕様書 121

Version 1.0, August 25, 2005 ORiN Forum

[out, retval] VARIANT * pVal ) 機能 ロボット名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal ロボット名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボット名リストを取得します.

HRESULT ICaoProvController::TaskNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 タスク名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal タスク名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスク名リストを取得します.

HRESULT ICaoProvController::VariableNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 変数名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数名リストを取得します.

2.4.3.2. ICaoProvVariable

HRESULT ICaoProvVariable::Attribute ( [out, retval] long * pVal ) 機能 属性の取得

パラメータ [out] pVal 属性

戻り値 HRESULT

ORiN2 仕様書 122

Version 1.0, August 25, 2005 ORiN Forum

成功時には S_OK を返します.

説明 変数の属性値を取得します.

HRESULT ICaoProvVariable::DateTime ( [out, retval] VARIANT * pVal ) 機能 タイムスタンプ(日時)の取得

パラメータ [out] pVal タイムスタンプ(日時)

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数のタイムスタンプ(日時)を取得します.

HRESULT ICaoProvVariable::Help ( [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数のヘルプ文字列を取得します.

HRESULT ICaoProvVariable::ID ( [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数の ID を設定します.

HRESULT ICaoProvVariable::ID ( [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数の ID を取得します.

HRESULT ICaoProvVariable::Microsecond ( [out, retval] long * pVal ) 機能 タイムスタンプ(マイクロ秒)の取得

パラメータ [out] pVal タイムスタンプ(マイクロ秒)

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数のタイムスタンプ(マイクロ秒)を取得します.

HRESULT ICaoProvVariable::Name ( [out, retval] BSTR * pVal ) 機能 変数名の取得

ORiN2 仕様書 123

Version 1.0, August 25, 2005 ORiN Forum

パラメータ [out] pVal 変数名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトの変数名を取得します.

HRESULT ICaoProvVariable::Value ( [in] VARIANT newVal ) 機能 値の設定

パラメータ [in] newVal 変数値

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数値を設定します.

HRESULT ICaoProvVariable::Value ( [out, retval] VARIANT * pVal ) 機能 値の取得

パラメータ [out] pVal 変数値

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数値を取得します.

2.4.3.3. ICaoProvRobot

HRESULT ICaoProvRobot::Accelerate ( [in] long lAxis, [in] float fAccel, [in, defaultvalue(0)] float fDecel ) 機能 ACCEL文の実行

パラメータ [in] lAxis 軸番号 ‐1:手先加(減)速度,0:全軸加(減)速度,その他は指定軸の加(減)速度.

[in] fAccel 加速度

[in] fDecel 減速度

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットの加速,減速の設定を行います.

詳細については SLIM のACCEL 文の仕様を参照してください.

HRESULT ICaoProvRobot::Attribute ( [out, retval] long * pVal ) 機能 属性の取得

ORiN2 仕様書 124

Version 1.0, August 25, 2005 ORiN Forum

パラメータ [out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットの属性値を取得します.

HRESULT ICaoProvRobot::Cancel ( [in, defaultvalue("")] BSTR bstrOption ) 機能 実行中のロボット制御メソッドのキャンセル

パラメータ [in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボット制御メソッド実行中のロボットに対してメソッドのキャンセルを行います.

HRESULT ICaoProvRobot::Change ( [in] BSTR bstrName ) 機能 CHANGE文の実行

パラメータ [in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM のCHANGE 文の仕様を参照してください.

HRESULT ICaoProvRobot::Chuck ( [in, defaultvalue("")] BSTR bstrOption ) 機能 GRASP文の実行

パラメータ [in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM の GRASP 文の仕様を参照してください.

HRESULT ICaoProvRobot::Drive ( [in] long lNo, [in] float fMov, [in, defaultvalue("")] BSTR bstrOpt ) 機能 DRIVE 文の実行

パラメータ [in] lNo 軸番号

[in] fMov 移動量

[in] bstrOpt オプション

戻り値 HRESULT

成功時には S_OK を返します.

ORiN2 仕様書 125

Version 1.0, August 25, 2005 ORiN Forum

説明 詳細については SLIM のDRIVE文の仕様を参照してください.

SLIM のように同時に複数の軸を動かすことはできません.その場合は,

CaoRobot::Move メソッドを使用してください.

HRESULT ICaoProvRobot::Execute ( [in] VARIANT Command, [out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

HRESULT ICaoProvRobot::GetVariable ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvVariable ** ppCaoProvVar ) 機能 変数オブジェクトの追加

パラメータ [in] bstrName 変数名.

[in] bstrOption オプション

[out] ppCaoProvVar CaoProvVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoProvVariable オブジェクトを作成,取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoProvVariable::Release メソッドを実行してください.

HRESULT ICaoProvRobot::GoHome ( ) 機能 GOHOME 文の実行

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM の GOHOME文の仕様を参照してください.

HRESULT ICaoProvRobot::Help ( [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [out] pVal

ORiN2 仕様書 126

Version 1.0, August 25, 2005 ORiN Forum

ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットのヘルプ文字列を取得します.

HRESULT ICaoProvRobot::ID ( [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットの ID を設定します.

HRESULT ICaoProvRobot::ID ( [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットの ID を取得します.

HRESULT ICaoProvRobot::Move ( [in] long lComp, [in] VARIANT vntPose, [in, defaultvalue("")] BSTR bstrOpt ) 機能 MOVE 文の実行

パラメータ [in] lComp 補間指定. 1:PTP,2:直線,3:円弧.

[in] vntPose ポーズ列 指定方法は各メーカに依存します.

[in] bstrOpt オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM のMOVE文の仕様を参照してください.

HRESULT ICaoProvRobot::Name ( [out, retval] BSTR * pVal ) 機能 ロボット名の取得

パラメータ [out] pVal ロボット名

戻り値 HRESULT

ORiN2 仕様書 127

Version 1.0, August 25, 2005 ORiN Forum

成功時には S_OK を返します.

説明 オブジェクトのロボット名を取得します.

HRESULT ICaoProvRobot::Rotate ( [in] VARIANT vntRotSuf, [in] float fDeg, [in] VARIANT vntPivot, [in, defaultvalue("")] BSTR bstrOpt ) 機能 ROTATE文の実行

パラメータ [in] vntRotSuf 回転面 指定方法は各メーカに依存します.

[in] fDeg 角度

[in] vntPivot 回転中心

[in] bstrOpt オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM のROTATE 文の仕様を参照してください.

HRESULT ICaoProvRobot::Speed ( [in] long lAxis, [in] float fSpeed ) 機能 SPEED/JSPEED文の実行

パラメータ [in] lAxis 軸番号 ‐1:手先速度,0:全軸速度,その他は指定軸の軸速度.

[in] fSpeed 速度

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM の SPEED/JSPEED 文の仕様を参照してください.

HRESULT ICaoProvRobot::Unchuck ( [in, defaultvalue("")] BSTR bstrOption ) 機能 RELEASE文の実行

パラメータ [in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM のRELEASE 文の仕様を参照してください.

ORiN2 仕様書 128

Version 1.0, August 25, 2005 ORiN Forum

HRESULT ICaoProvRobot::VariableNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 変数名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数名リストを取得します.

2.4.3.4. ICaoProvFile

HRESULT ICaoProvFile::Attribute ( [out, retval] long * pVal ) 機能 属性の取得

パラメータ [out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの属性値を取得します.

HRESULT ICaoProvFile::Copy ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption ) 機能 ファイルのコピー

パラメータ [in] bstrName 複写先ファイル名

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルをコピーします.

HRESULT ICaoProvFile::DateCreated ( [out, retval] VARIANT * pVal ) 機能 ファイルの作成日時の取得

パラメータ [out] pVal 作成日時

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの作成日時を取得します.

HRESULT ICaoProvFile::DateLastAccessed ( [out, retval] VARIANT * pVal )

ORiN2 仕様書 129

Version 1.0, August 25, 2005 ORiN Forum

機能 ファイルの 終アクセス日時の取得

パラメータ [out] pVal 終アクセス日時

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの 終アクセス日時を取得します.

HRESULT ICaoProvFile::DateLastModified ( [out, retval] VARIANT * pVal ) 機能 ファイルの 終変更日時の取得

パラメータ [out] pVal 終変更日時

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの 終変更日時を取得します.

HRESULT ICaoProvFile::Delete ( [in, defaultvalue("")] BSTR bstrOption ) 機能 ファイルの削除

パラメータ [in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルを削除します.

HRESULT ICaoProvFile::Execute ( [in] VARIANT Command, [out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

HRESULT ICaoProvFile::FileNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 ファイル名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal ファイル名リスト

ORiN2 仕様書 130

Version 1.0, August 25, 2005 ORiN Forum

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイル名リストを取得します.

HRESULT ICaoProvFile::GetFile ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvFile ** ppCaoProvFile ) 機能 ファイルオブジェクトの追加

パラメータ [in] bstrName ファイル名.

[in] bstrOption オプション

[out] ppCaoProvFile

CaoProvFile IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoProvFile オブジェクトを作成,取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoProvFile::Release メソッドを実行してください.

HRESULT ICaoProvFile::GetVariable ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvVariable ** ppCaoProvVar ) 機能 変数オブジェクトの追加

パラメータ [in] bstrName 変数名.

[in] bstrOption オプション

[out] ppCaoProvVar CaoProvVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 CaoProvVariable オブジェクトを作成,取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず CaoProvVariable::Release メソッドを実行してください.

HRESULT ICaoProvFile::Help ( [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [out] pVal ヘルプ文字列

ORiN2 仕様書 131

Version 1.0, August 25, 2005 ORiN Forum

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのヘルプ文字列を取得します.

HRESULT ICaoProvFile::ID ( [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの ID を設定します.

CAO プロバイダの CaoProvFile::ID メソッドを実行します.

HRESULT ICaoProvFile::ID ( [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの ID を取得します.

HRESULT ICaoProvFile::Move ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption ) 機能 ファイルの移動

パラメータ [in] bstrName 移動先ファイル名

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイル移動します.

HRESULT ICaoProvFile::Name ( [out, retval] BSTR * pVal ) 機能 ファイル名の取得

パラメータ [out] pVal ファイル名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのファイル名を取得します.

HRESULT ICaoProvFile::Path ( [out, retval] BSTR * pVal ) 機能 ファイルパスの取得

パラメータ [out] pVal

ORiN2 仕様書 132

Version 1.0, August 25, 2005 ORiN Forum

ファイルパス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのパスを取得します.

HRESULT ICaoProvFile::Run ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] BSTR * pVal ) 機能 タスクの生成

パラメータ [in] bstrOption オプション

[out] bstrName

タスク名

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルからタスクを生成し,生成されたタスク名を返します.

HRESULT ICaoProvFile::Size ( [out, retval] long * pVal ) 機能 ファイルサイズの取得

パラメータ [out] pVal ファイルサイズ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのサイズを取得します.

HRESULT ICaoProvFile::Type ( [out, retval] BSTR * pVal ) 機能 ファイルタイプの取得

パラメータ [out] pVal ファイルタイプ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのタイプを取得します.

CAO プロバイダの CaoProvFile::Size メソッドを実行します.

HRESULT ICaoProvFile::Value ( [in] VARIANT newVal ) 機能 ファイルデータの設定

パラメータ [in] newVal ファイルデータ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルデータを設定します.

HRESULT ICaoProvFile::Value ( [out, retval] VARIANT * pVal ) 機能 ファイルデータの取得

ORiN2 仕様書 133

Version 1.0, August 25, 2005 ORiN Forum

パラメータ [out] pVal ファイルデータ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルデータを取得します.

HRESULT ICaoProvFile::VariableNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 変数名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数名リストを取得します.

2.4.3.5. ICaoProvTask

HRESULT ICaoProvTask::Attribute ( [out, retval] long * pVal ) 機能 属性の取得

パラメータ [out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクの属性値を取得します.

HRESULT ICaoProvTask::Delete ( [in, defaultvalue("")] BSTR bstrOption ) 機能 タスクの削除

パラメータ [in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクを削除します.

HRESULT ICaoProvTask::Execute ( [in] VARIANT Command, [out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] vntCommand コマンド

[out] pVal

ORiN2 仕様書 134

Version 1.0, August 25, 2005 ORiN Forum

実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

HRESULT ICaoProvTask::FileName ( [out, retval] BSTR * pVal ) 機能 対応ファイル名の取得

パラメータ [out] pVal 対応ファイル名

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクと対応しているファイル名を取得します.

HRESULT ICaoProvTask::GetVariable ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvVariable ** ppCaoProvVar ) 機能 変数オブジェクトの追加

パラメータ [in] bstrName 変数名.

[in] bstrOption オプション

[out] ppCaoProvVar CaoProvVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoProvVariable オブジェクトを作成,取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoProvVariable::Release メソッドを実行してください.

HRESULT ICaoProvTask::Help ( [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクのヘルプ文字列を取得します.

HRESULT ICaoProvTask::ID ( [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] newVal ID

戻り値 HRESULT

ORiN2 仕様書 135

Version 1.0, August 25, 2005 ORiN Forum

成功時には S_OK を返します.

説明 タスクの ID を設定します.

HRESULT ICaoProvTask::ID ( [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクの ID を取得します.

HRESULT ICaoProvTask::Name ( [out, retval] BSTR * pVal ) 機能 タスク名の取得

パラメータ [out] pVal タスク名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのタスク名を取得します.

HRESULT ICaoProvTask::Start ( [in, defaultvalue(0)] long lMode, [in, defaultvalue("")] BSTR bstrOption ) 機能 タスクの開始

パラメータ [in] lMode モード 1:1サイクル実行,2:連続実行,3:1ステップ 送り,4:1ステップ 戻し

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクの実行を開始します.

HRESULT ICaoProvTask::Stop ( [in, defaultvalue(0)] long lMode, [in, defaultvalue("")] BSTR bstrOption ) 機能 タスクの停止

パラメータ [in] lMode モード 0:デフォルト停止,1:瞬時停止,2:ステップ停止,3:サイクル停止.4:初期化停止 (デフォルト停止とは,実際には何れかの停止方法.)

[in] bstrOption オプション

戻り値 HRESULT

ORiN2 仕様書 136

Version 1.0, August 25, 2005 ORiN Forum

成功時には S_OK を返します.

説明 実行中のタスクを停止します.

HRESULT ICaoProvTask::VariableNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 変数名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数名リストを取得します.

2.4.3.6. ICaoProvCommand

HRESULT ICaoProvCommand::Attribute ( [out, retval] long * pVal ) 機能 属性の取得

パラメータ [out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの属性値を取得します.

HRESULT ICaoProvCommand::Cancel ( ) 機能 コマンドのキャンセル

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 実行中のコマンドをキャンセルします.

CAO プロバイダの CaoProvCommand::Cancelメソッドを実行します.

HRESULT ICaoProvCommand::Execute ( [in, defaultvalue(0)] long lOption, [out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] lMode モード 1ビット目は,0:同期実行,1:非同期実行.その他のビットはプロバイダ依存.

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

ORiN2 仕様書 137

Version 1.0, August 25, 2005 ORiN Forum

HRESULT ICaoProvCommand::Help ( [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドのヘルプ文字列を取得します.

HRESULT ICaoProvCommand::ID ( [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの ID を設定します.

HRESULT ICaoProvCommand::ID ( [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの ID を取得します.

HRESULT ICaoProvCommand::Name ( [out, retval] BSTR * pVal ) 機能 コマンド名の取得

パラメータ [out] pVal コマンド名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのコマンド名を取得します.

HRESULT ICaoProvCommand::Parameters ( [in] VARIANT newVal ) 機能 パラメータの設定

パラメータ [in] newVal パラメータ

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの実行時のパラメータを設定します.

HRESULT ICaoProvCommand::Parameters ( [out, retval] VARIANT * pVal ) 機能 パラメータの取得

パラメータ [out] pVal パラメータ

ORiN2 仕様書 138

Version 1.0, August 25, 2005 ORiN Forum

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの実行時のパラメータを取得します.

HRESULT ICaoProvCommand::State ( [out, retval] long * pVal ) 機能 実行状態の取得

パラメータ [out] pVal 状態

1ビット目は,0:待機中,1:実行中.その他のビットはプロバイダ依存.

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの実行状態を取得します.

HRESULT ICaoProvCommand::T imeout ( [in] long newVal ) 機能 タイムアウト時間の設定

パラメータ [in] newVal タイムアウト時間

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの実行時のタイムアウト時間を設定します.

HRESULT ICaoProvCommand::T imeout ( [out, retval] long * pVal ) 機能 タイムアウト時間の取得

パラメータ [out] pVal タイムアウト時間

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの実行時のタイムアウト時間を取得します.

2.4.3.7. ICaoProvExtension

HRESULT ICaoProvExtension::Attribute ( [out, retval] long * pVal ) 機能 属性の取得

パラメータ [out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの属性値を取得します.

HRESULT ICaoProvExtension::Execute ( [in] VARIANT Command, [out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] vntCommand

ORiN2 仕様書 139

Version 1.0, August 25, 2005 ORiN Forum

コマンド [out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

HRESULT ICaoProvExtension::GetVariable ( [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvVariable ** ppCaoProvVar ) 機能 変数オブジェクトの追加

パラメータ [in] bstrName 変数名.

[in] bstrOption オプション

[out] ppCaoProvVar CaoProvVariable IF ポインタのアドレス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoProvVariable オブジェクトを作成,取得します.

取得したオブジェクトの参照カウンタは+1された状態で取得します.オブジェクトを破棄

するときは必ず ICaoProvVariable::Release メソッドを実行してください.

HRESULT ICaoProvExtension::Help ( [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードのヘルプ文字列を取得します.

HRESULT ICaoProvExtension::ID ( [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの ID を設定します.

HRESULT ICaoProvExtension::ID ( [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [out] pVal

ORiN2 仕様書 140

Version 1.0, August 25, 2005 ORiN Forum

ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの ID を取得します.

HRESULT ICaoProvExtension::Name ( [out, retval] BSTR * pVal ) 機能 拡張ボード名の取得

パラメータ [out] pVal 拡張ボード名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトの拡張ボード名を取得します.

HRESULT ICaoProvExtension::VariableNames ( [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 変数名リストの取得

パラメータ [in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数名リストを取得します.

2.4.3.8. ICaoProvMessage

HRESULT ICaoProvMessage::Clear ( ) 機能 メッセージのクリア

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 メッセージのクリアを行います.

HRESULT ICaoProvMessage::DateTime ( [out, retval] VARIANT * pVal ) 機能 作成日時の取得

パラメータ [out] pVal 作成日時

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの作成日時を取得します.

HRESULT ICaoProvMessage::Description ( [out, retval] BSTR * pVal ) 機能 説明文の取得

ORiN2 仕様書 141

Version 1.0, August 25, 2005 ORiN Forum

パラメータ [out] pVal 説明文

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの説明文を取得します.

HRESULT ICaoProvMessage::Destination ( [out, retval] BSTR * pVal ) 機能 送り先の取得

パラメータ [out] pVal 送り先

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの送り先を取得します.

HRESULT ICaoProvMessage::Number ( [out, retval] long * pVal ) 機能 メッセージ番号の取得

パラメータ [out] pVal メッセージ番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードのメッセージ番号を取得します.

HRESULT ICaoProvMessage::Reply ( [in] VARIANT vntData ) 機能 メッセージの返信

パラメータ [out] pVal 返信データ

戻り値 HRESULT

成功時には S_OK を返します.

説明 メッセージに対する返信を行います.

HRESULT ICaoProvMessage::Source ( [out, retval] BSTR * pVal ) 機能 送り元の取得

パラメータ [out] pVal 送り元

戻り値 HRESULT

成功時には S_OK を返します.

説明 メッセージの送り元を取得します.

CAO プロバイダの CaoProvMessage::Source メソッドを実行します.

HRESULT ICaoProvMessage::Value ( [out, retval] VARIANT * pVal ) 機能 メッセージ本文の取得

パラメータ [out] pVal 本文

戻り値 HRESULT

ORiN2 仕様書 142

Version 1.0, August 25, 2005 ORiN Forum

成功時には S_OK を返します.

説明 メッセージの本文を取得します.

2.4.3.9. _ICaoProvControllerEvents

HRESULT _ICaoProvControllerEvents::OnMessage ( [in] ICaoProvMessage * pCaoProvMessage, [in, defaultvalue(0)] long lOption ) 機能 OnMessage イベント

パラメータ [in] pCaoProvMessage CaoProvMessage IF ポインタのアドレス

[in] lOption メッセージオプション

詳細は表 2-8 を参照してください.

戻り値 HRESULT

成功時には S_OK を返します.

説明 CaoProvControllerの OnMessage イベントです.

このイベントはプロバイダから任意のタイミングで発生します.

ORiN2 仕様書 143

Version 1.0, August 25, 2005 ORiN Forum

2.5. CAO オブジェクトの生成

CAOオブジェクトの生成は次の順序で行います.

図 13: CAO オブジェクトの生成順序

(1) CaoEngine を生成 まず 初に CAOのトップオブジェクトである CAOエンジンを生成します. ORiN2 では CAOエンジンの実装は DCOM で行われています.この場合は,通常の COM オブジェ

クト同様に生成します. ProgID=”CAO.CaoEngine”,ClassID=” {60555f1b-e473-4250-bb43-933990fbeced}”

(2) CaoEngine から CaoWorkspace を生成 CaoEngine::AddWorkspace()を実行して,エンジンに生成を依頼します.エンジンは生成時に自動的

に一つの CaoWorkspace を生成するので CaoEngine::Workspacesコレクションからそれを取得して使

用することもできます.

(3) CaoWorkspace から CaoController を生成 CaoWorkspace::AddController()の引数に使用する CAOプロバイダ名を指定して CaoController を生成

Workspace object

Controller object

Extension object

Command object

Task object

File object

Robot object

Variable object

Engine object (1)

(2)

(3)

(4)

AddWorkspace(…)

AddController(…)

AddVariable(…)

AddRobot(…)

AddFile(…)

AddTask(…)

AddCommand(…)

AddExtension(…)

ORiN2 仕様書 144

Version 1.0, August 25, 2005 ORiN Forum

します.

(4) CaoController から必要な CaoVariable,CaoFile,CaoTask,CaoRobot,CaoExtension,CaoCommand を生成

CaoController::Add***()実行して必要なオブジェクトを生成します.

2.5.1. CaoWorkspace::AddController メソッドの接続パラメータ

以下に CaoWorkspace クラスの AddController メソッドのインターフェイス仕様を示します.

AddController ( <コントローラ名>, <プロバイダ名>, <マシン名>, <オプション> )

このメソッドの引数(パラメータ)の指定方法で,使用するプロバイダ,実行マシン,動作が決ま

ります.このため,このパラメータを接続パラメータと呼んでいます.

表 2-7 AddController メソッドの引数

No. 引数:型 説明

1

コントローラ名:BSTR コントローラ識別用の文字列.同じWorkspace オブジ

ェクトに属する Controller を特定するための識別情

報.任意文字列が使用可能.

2 プロバイダ名:BSTR 使用するプロバイダ固有の名を指定.

3

マシン名:BSTR プロバイダが実行するマシン名を指定.

ネットワーク上で PC が特定できる識別情報で,IP ま

たは NETBIOS 名等.

4 オプション:BSTR プロバイダ毎時のオプションを指定.

オプション文字列の詳細は 2.8. を参照.

2.6. CAO システム変数

CAOシステム変数は CAOの各クラスの AddVariable メソッドで指定する変数名のうち,システム予約で

ある”@”で開始されるものを指します. CAOのシステム変数は,変数名とその意味が予め定義されています. CAOの各クラスの CAOシステム変数の一覧を次に示します. 2.6.1. CaoController オブジェクト

変数名 バリアントの型 変数の意味

日付・時刻・メモリ

ORiN2 仕様書 145

Version 1.0, August 25, 2005 ORiN Forum

変数名 バリアントの型 変数の意味

@CURRENT_DATETIME VT_DATE コントローラ保有の現在日時.

@OPERATING_TIME VT_R4 電源投入時からの稼働(電源オン)時間

単位は H(時間)

@TOTAL_OPERATING_TIME VT_R4 稼働(電源オン)積算時間

単位は H(時間)

@FREE_USER_MEMORY VT_I4 空きユーザ仮想メモリのバイト数.仮想メモリがない場合

は物理メモリ.

@TOTAL_USER_MEMORY VT_I4 全ユーザ仮想メモリのバイト数.仮想メモリがない場合は

物理メモリ.

コントローラ ステータス

@NORMAL_STATUS VT_BOOL true=正常,false=異常(エラー発生中)

(注)S_ERROR_CODEのBOOL 型.

@READY VT_BOOL true=運転準備完了,false=運転準備未完了.

@AUTO_MODE VT_BOOL true=自動モード,false=自動モード以外

@BUSY_STATUS VT_BOOL true=プログラム実行中,false=プログラム実行中ではな

@EMERGENCY_STOP VT_BOOL true=非常停止中,false=非常停止中ではない

@ERROR_CODE VT_I4 発生中のエラーの番号.エラーが発生していないとき

は,0を返す.

@ERROR_DESCRIPTION VT_BSTR 発生中のエラーの説明.エラーが発生していないとき

は,NULL を返す.

@ERROR_MODULE VT_BSTR 発生中のエラーの発生モジュール名.エラーが発生して

いないときは,NULL を返す.

コントローラ コンフィギュレーション

@ROBOT_MAX VT_I2 制御(接続)ロボット台数

@MOTOR_MAX VT_I2 制御可能軸数.

メーカ情報

@MAKER_NAME VT_BSTR コントローラのメーカ名

@TYPE VT_BSTR コントローラの形式

@SERIAL_ID VT_BSTR コントローラのシリアル番号

@VERSION VT_BSTR コントローラのバージョン

ORiN2 仕様書 146

Version 1.0, August 25, 2005 ORiN Forum

変数名 バリアントの型 変数の意味

@SPECIFICATION VT_BSTR コントローラの仕様(欧州仕様,北米仕様など)

2.6.2. CaoRobot オブジェクト

変数名 バリアントの型 変数の意味

ロボット ステータス

@BASE_POSITION VT_R4 ¦

VT_ARRAY

プリセット基準のロボットの現在位置.単位は任意.

@WORK_POSITION VT_R4 ¦

VT_ARRAY

作業座標系基準のロボットの現在位置.単位は任意.

@TOOL_OFFSET VT_R4 ¦

VT_ARRAY

現在のツール座標系定義.単位は任意.

@JOINT_ANGLE VT_R4 ¦

VT_ARRAY

ロボットの現在位置(各軸値).単位は任意.

@SPEED VT_R4 ロボットの現在の手先速度.現在値が取得できない場合

は設定値.

@JOINT_SPEED VT_R4 ¦

VT_ARRAY

ロボットの現在の軸速度.現在値が取得できない場合は

設定値.

@ACCELERATION VT_R4 ロボットの現在の手先加速度.現在値が取得できない場

合は設定値.

@JOINT_ACCELERATION VT_R4 ¦

VT_ARRAY

ロボットの現在の軸加速度.現在値が取得できない場合

は設定値.

@DECELERATION VT_R4 ロボットの現在の手先減速度.現在値が取得できない場

合は設定値.

@JOINT_DECELERATION VT_R4 ¦

VT_ARRAY

ロボットの現在の軸減速度.現在値が取得できない場合

は設定値.

@MOTOR_LOAD VT_R4 ¦

VT_ARRAY

モータ負荷.単位は任意.

@OPERATING_TIME VT_R4 電源投入時からのロボットの稼動(通電)時間

単位は H(時間)

@TOTAL_OPERATING_TIME VT_R4 ロボットの稼動(通電)積算時間

単位は H(時間)

@OPERATING_DIST VT_R4 ¦

VT_ARRAY

電源投入時からのロボットの各軸毎の動作距離.単位は

任意.

@TOTAL_OPERATING_DIST VT_R4 ¦

VT_ARRAY

ロボットの各軸毎の積算動作距離.単位は任意.

@BUSY_STATUS VT_BOOL true=ロボット動作中,false=ロボット動作中ではない

ORiN2 仕様書 147

Version 1.0, August 25, 2005 ORiN Forum

変数名 バリアントの型 変数の意味

@SERVO_ON VT_BOOL true=サーボ ON,false=サーボ OFF

@ZERO_RETURN_REQUIRED VT_BOOL true=原点復帰が必要,false=原点復帰は必要でない

ロボット コンフィギュレーション

@MOTOR_MAX VT_I2 ロボットの制御軸数

@JOINT_MAX VT_I2 ロボットの可動軸数

(注)制御軸数ではない.

@JOINT_DATA(n)

(n = 1~@JOINT_MAX)

VT_VARIANT ¦

VT_ARRAY

ロボットの軸詳細情報(下表参照)

メーカ情報

@MAKER_NAME VT_BSTR ロボットのメーカ名

@TYPE VT_BSTR ロボットの形式

@SERIAL_ID VT_BSTR ロボットのシリアル番号

@VERSION VT_BSTR ロボットのバージョン

@SPECIFICATION VT_BSTR ロボットの仕様(標準,壁掛け,天吊りなど)

◆ 軸詳細情報

インデックス番号:名称 バリアントの型 変数の意味

1:Type VT_I2 軸タイプ(1:回転,2:直動,その他)

2:Unit VT_I2 軸の移動単位(1:DEG,2:RAD,3:mm,4:inch,その他)

3:Direction VT_I2 軸の移動方向(1:X,2:Y,3:Z,その他)

4:ControlAxis VT_I2 制御軸番号

5:ParentJoint VT_I2 親軸番号( 1~ C_JOINT_MAX)

2.6.3. CaoTask オブジェクト

変数名 バリアントの型 変数の意味

タスク ステータス

@STATUS VT_I4 タスクの状態.(注 1)

@PRIORITY VT_I4 タスクの優先度.

@LINE_NO VT_I4 現在実行中のメインプログラムの行番号.

@CYCLE_TIME VT_I4 タスクの 1 サイクルの実行時間.

ORiN2 仕様書 148

Version 1.0, August 25, 2005 ORiN Forum

@SUB_PROGRAM VT_BSTR 現在実行中のサブプログラム名

@SUB_LINE_NO VT_I4 現在実行中のサブプログラムの行番号

@SUB_DEPTH VT_I4 現在実行中のサブプログラムの呼び出しレベル(深さ)

(注 1)タスクの状態は次の通り.

0: NON-EXISTENT(未登録状態), 1: DORMANT(休止状態), 2: READY(実行可能状態), 3: RUN(実行状態), 4:

WAIT(待ち状態), 5: WAIT-SUSPEND(二重待ち状態), 6: SUSPEND(強制待ち状態)

2.6.4. CaoExtension オブジェクト

変数名 バリアントの型 変数の意味

メーカ情報

@MAKER_NAME VT_BSTR 拡張ボードのメーカ名

@TYPE VT_BSTR 拡張ボードの形式

@SERIAL_ID VT_BSTR 拡張ボードのシリアル番号

@VERSION VT_BSTR 拡張ボードのバージョン

@SPECIFICATION VT_BSTR 拡張ボードの仕様

ORiN2 仕様書 149

Version 1.0, August 25, 2005 ORiN Forum

2.7. CAO イベントメッセージ

以下に CAOイベントメッセージメカニズムの概要図を示す.

図 14: CAO イベントメッセージメカニズム

図 14 のようにメッセージは,CAO エンジンのメッセージプールに蓄積された後,アプリケーションに

送信されます.このメッセージプールの 大サイズは 1000 個であり, 大数を超えてメッセージを出力し

た場合は非同期タイプのメッセージの場合でも,メッセージプールに空きができるまで“待ち”状態にな

ります. CAO でイベントメッセージのクライアントアプリケーションへの通知は CaoController クラスの

OnMessage イベントを経由して行われます.CAOプロバイダから発行されるメッセージを OnMessage イベ

ントで受け取らない場合や受け取れない場合は,CaoControlle オブジェクトのメッセージプールにメッセー

ジが蓄えられます.この場合,蓄えられたメッセージを必要に応じて取得するには,CaoController クラス

の GetMessage プロパティを使用します. CAO プロバイダから CAO エンジンに対してメッセージを発行する場合は,メッセージプールを経由せ

ずに直接クライアントアプリケーションに届けるとか,逆に,メッセージプールに貯めてクライアントア

プリケーションにはイベントを発行しないとかの動作を指定することができます.

CAO Engine

Application

A Co. CaoController

B Co. CaoController

C Co. CaoController

Messag e Handle Thread

Msg.Pool

Messag e Handle Thread

Messag e Handle Thread

Msg.Pool

Msg.Pool

Msg.X

Msg.X’

CaoMessage

Clear Reply

DateTime Description Destination Number SerialNumber Source Value

CaoProvMessag e

Clear Reply

DateTime Description Destination Number Source Value

CaoProvMessageオブジェクト送信

コントローラ単位で独立に処理

メッセージプール

FIFOで同期/非同期に処理.

プロバイダが指定.

Msg. Y

ユーザメッセージシステムメッセージ

ログ出力,他

Device A

コンテキスト管理

CaoMessageオブジェクト受信(イベント)

Device B Device C

A Co. Prov ider

B Co. Prov ider

C Co. Prov ider

ORiN2 仕様書 150

Version 1.0, August 25, 2005 ORiN Forum

表 2-8 にこのメッセージオプションの仕様を示しています.

ORiN2 仕様書 151

Version 1.0, August 25, 2005 ORiN Forum

表 2-8 メッセージオプションとその動作

メッセージオプシ

ョン 動作 備考

一般メッセージ CAO_MSG_ NORMAL(=0)

メッセージを CAOエンジンの

メッセージキューに格納し,順

次クライアントに送信します.

-

同期メッセージ CAO_MSG_ SYNC(=1)

メッセージを CAOエンジンの

メッセージキューに格納し,ク

ライアントに送信します.

メッセージキューに前のメッ

セージが残っているときは送

信待ちをします. プロバイダの発行したメッセ

ージイベント(FireOnMessage)は,送信が完了するまで処理が

返ってきません. ログ書き込み要求 CAO_MSG_

OUTPUT_LOG(=2) ログとしてメッセージを出力

します. -

エンジン制御 メッセージ

CAO_MSG_ SYSTEM(=4)

エンジンにメッセージを送信

しません. -

緊急メッセージ CAO_MSG_ BYPASS(=8)

メッセージを CAOエンジンの

メッセージキューに格納しな

いで,クライアントに送信しま

す. メッセージにキューに前のメ

ッセージがあるときは,順番に

割り込んで送信します.

他のメッセージオプションが

同時に指定されているときは,

緊急メッセージ以外を無視し

ます.

これらのオプション値は,ビットフラグとなっており,複合して使用することができます.

2.8. CAO のオプション文字列

オプション文字列は以下の書式に従います.

<オプション名 1>[=<オプション値 1>],<オプション名 2>[=<オプション値 2>]・・・ また,オプション文字列には囲み文字を使用することができます.囲み文字として使用できるものを以

下に示します. ・ 括弧(“( )”) ・ 中括弧(“{ }”) ・ 大括弧(“[ ]”) ・ 角括弧(“< >”)

ORiN2 仕様書 152

Version 1.0, August 25, 2005 ORiN Forum

これらの囲み文字のうち 初に現れたものを囲み文字とし,それ以降に出てきた括弧は通常の記号とし

て扱われます. 以下に,オプションが複数あるときの例を示します.

オプション文字列: Test1=Sample1,Test2=Sample2

表 2-9 オプション文字列 例1

オプション名 オプション値

Test1 Sample1 Test2 Sample2

以下に,オプション値が括弧の中にあるときの例を示します.

オプション文字列: Test1=(Sample1),Test2=(Sample2)

表 2-10 オプション文字列 例 2

オプション名 オプション値

Test1 Sample1 Test2 Sample2

以下に,オプション値が異なる括弧の中にあるときの例を示します.

オプション文字列: Test1=(Sample1),Test2=<Sample2>

表 2-11 オプション文字列 例 3

オプション名 オプション値

Test1 Sample1 Test2 <Sample2>

以下に,オプション値の括弧内に別の括弧があるときの例を示します.

オプション文字列: Test1=((Sample1)),Test2=(<Sample2>)

表 2-12 オプション文字列 例 4

オプション名 オプション値

Test1 (Sample1) Test2 <Sample2>

ORiN2 仕様書 153

Version 1.0, August 25, 2005 ORiN Forum

2.8.1. @EventDisenable オプション

この@EventDisenableオプションを指定するとCAOの OnMassageイベント機能のON/OFFを指定するこ

とが出来ます. このオプションは,CaoController オブジェクトを作成するための CaoWorkspace::AddController 及び

CaoControllers::Addメソッドのオプション文字列に指定します. @EventDisenable オプションの値とその意味は以下の通りです.

表 2-13 @EventEnable オプションの値とその意味

オプション値 意味

True イベント機能 OFF False イベント機能 ON(デフォルト)

2.8.2. @Create オプション

この@ Create オプションは CAO がオブジェクトに関連するものを新規作成するかどうかを判断するた

めに使用されます.実際に何を作成するかはプロバイダの実装によります. このオプションは全ての Add…メソッドのオプション文字列に指定することができます. @ Create オプションの値とその意味は以下の通りです.

表 2-14 @Create オプションの値とその意味

オプション値 意味

0 作成しない(デフォルト) 0 以外 作成する

2.9. CAO の非同期実行

CaoCommandクラスは,CAOプロバイダに固有のコマンドを実行するためのクラスで,コマンドを非同

期実行することが可能です.非同期実行処理を行うには,CaoCommandクラスの State プロパティと Executeメソッドを使用します.

CAOでは非同期実行を CaoCommandクラスでのみサポートしています. 2.9.1. CaoCommand::State プロパティ

コマンドの現在の状態を取得するプロパティです. 取得した値の1ビット目はコマンドの実行中を示すフラグです.ただし,このフラグは CAOエンジンで

は設定を行いませんので,CAOプロバイダで判断して入力する必要があります.1 ビット目以外の箇所は

プロバイダで任意に使用することができます.

表 2-15 状態値の 1 ビット目の意味

ORiN2 仕様書 154

Version 1.0, August 25, 2005 ORiN Forum

状態 意味

0 待機中 1 実行中

2.9.2. CaoCommand::Execute メソッド

CaoCommand::Execute メソッドのオプションの指定によって,コマンドが同期実行か非同期実行かを選

択することができます. 非同期実行のとき,Execute コマンドの返り値は S_FALSE を返します.実際にコマンドの実行が終了し

た時は,CaoCommands:: ExecuteComplete イベントが発生します.

表 2-16 CaoCommand::Execute のオプション

状態 意味

0 同期実行 1 非同期実行

ORiN2 仕様書 155

Version 1.0, August 25, 2005 ORiN Forum

3 CRD - 標準データスキーマ

3.1. CRD の構成

図 15: CRD ファイルへのアクセス

図 15に CRDプロバイダが CRDファイルにアクセスする構造を示します.CRDファイルは CRDプロバ

イダ経由でアクセスする方法ともう一つ,ネイティブアプリケーションで XML パーザを組み込み,直接ア

クセスする方法の二通りがあります.

Engine

App.

X

Native

App. Y

CRD

アプリ

CAO

エンジン

CAO

プロバイダ CRD

Provider

CRDSchema.xsd

CRD

ファイル

[1] [2]

[1] ネイティブアプリケーション

App. CRD

[2] CAOアプリケーション

App. CAO CRD

静的な情報

CRD

スキー

XML

Parser

ORiN2 仕様書 156

Version 1.0, August 25, 2005 ORiN Forum

図 16: エンジンの静的情報マージ機能

CAOエンジンには,CAOプロバイダの静的情報を補完するために必要な情報を CRDファイルから取得

してクライアントアプリケーションに返す機能があります.CAO プロバイダは情報取得の要求に対して

E_CRDIMPL の値を返せば,エンジンが自動的に CRDプロバイダ経由でリンクされている CRDから対応

する情報を取得して返しますという仕組みになっています. 3.2. CRD 固有のメソッド・プロパティ

3.2.1. CaoWorkspace::AddController メソッド

以下に CRDプロバイダの固有名を示します.

表 3-1 CRD プロバイダの固有名

プロバイダ通称名 CRDプロバイダー プロバイダ固有名 CaoProv.CRD

このメソッドのプロバイダ名に“CaoProv.CRD”を指定して CRDプロバイダを指定します. このメソッドを実行するときに,CRDファイルのパスをオプション文字列に指定します.以下にオプシ

ョン文字列に指定するリストを示します.

表 3-2 CAP の CaoWorkspace::AddController のオプション文字列

App.

X

Engine

A Co. Provider

CRD Provider

CRD file

(1) Query

(2) Return E_CRDIMPL

(3) Query

(4) Reply 静的な情報

動的に変化する情報

2つのプロバイダを自動的に切替え.

1つのデバイスとして扱える.

→ 情報源は意識しない.

ORiN2 仕様書 157

Version 1.0, August 25, 2005 ORiN Forum

オプション 意味

Path=<CRDファイルのパス> CRDファイルのパスを指定します. 必須オプション

コントローラ名には CRDファイル内の Controller タグの名前を指定します.Controller タグとして存在し

ない名前を指定したときは,このメソッドは失敗します. 以下に AddController メソッドを実行するときの例を示します.

AddController ( “RC1”, // コントローラ名 = RC1 “CaoProv.CRD”, // 固定 “”, // CAOエンジンプロセスでCAPプロバイダを実行 “Path=C:¥ORiN2¥CRD¥Text.xml” // CRDファイルの場所 “C:¥ORiN2¥CRD¥Test.xml” );

3.3. CRD ファイルの構造

3.3.1. CRD の要素と CAO のインタフェース

CRDスキーマでは,CAOインタフェースとCRDの各要素とが密接に関連するように設計されています.

ここではCRDプロバイダにおいてCAOインタフェースとCRDの各要素とがどのようにマッピングされて

いるかを解説します. CRDスキーマの詳細に関しては付録 A.5. CRD-スキーマの CRDSchema.xsdファイルを参照してください.

表 3-3 CRD の要素と CAO インタフェースとの関連

CRD要素名 CAOインタフェース

Controller CaoController Command CaoCommand

Extension CaoExtension File CaoFile

Robot CaoRobot Task CaoTask

Variable CaoVariable

表 3-3 から分かるように,CRDの要素と CAOインタフェース(内のプロパティ)はほぼ一対一で対応して

おり,直感的に理解しやすいデータ構造になっています. また,Variable の Value 要素,Commandの Parameters要素及び各オブジェクトの ID要素は VARIANT 型

を表現するための構造を持ちます. VARIANT 型の要素は保持するデータ型を指定するために,属性値として“Type”を持っています.CRD

では,この Type 属性値とそれに対応するデータ型の要素を与えることで VARIANT 型を表現しています.

型タイプを表す Type 属性値の値はあらかじめ取り決めています.Type 属性値と VARIANT のデータ型の対

ORiN2 仕様書 158

Version 1.0, August 25, 2005 ORiN Forum

応を表 3-4 に示します.

表 3-4 バリアント型の型タイプ属性値とデータ型

データ型の名称 型タイプ属性表記 タグ表記 XML Schema 内の型

VT_I2 iVal short VT_I4 lVal int

VT_R4 fltVal float VT_R8 dblVal double

VT_DATE dateVal dateTime VT_BSTR bstrVal string

VT_BOOL boolVal boolean VT_UI1 bVal unsignedByte

VT_VARIANT varVal Variant VT_ARRAY array array

CRDデータの表記例として,バリアント型の要素 Value に 32bit 整数値を与える場合を以下に示します.

<Value type=" VT_I4 "> <lVal>12345</lVal> </Value>

また,Variant 型のなかには,varValという要素があり,これは,Variant 型の変数の中に Variant 型を持つ

ときに使用します.以下に使用例を示します.

<Value type=" VT_VARIANT "> <varVal type="VT_I2"> <iVal>0</iVal> </varVal> </Value>

VARIANT 型の要素を使って配列を表現する場合は,array 要素をその子要素として追加し,さらにその

子要素として次元数をあらわす dimension,各次元の要素数をあらわす arrayBound,配列の個々のデータを

あらわす arrayData を持ちます.arrayBound は要素としてその次元に対するインデックスの起点を表す

lBoundと要素数をあらわす elementsを持っています.arrayData は子要素として各型の要素を持つことによ

り,任意の型のデータを取ることができます. CRDデータの表記例として,16bit 整数値を持つ要素数 2の1次元配列の場合を示します.

<Variable name="testarray"> <Value type="VT_ARRAY"> <array type="VT_I2"> <dimension>1</dimension> <!-- 1次元配列 --> <arrayBound>

ORiN2 仕様書 159

Version 1.0, August 25, 2005 ORiN Forum

<lBound>0</lBound> <!-- 最初のインデックス = 0 --> <elements>5</elements> <!-- 要素数 = 5 --> </arrayBound> <arrayData> <iVal>1</iVal> <iVal>2</iVal> </arrayData> </array> </Value> </Variable>

3.3.2. ヘッダとルート要素

CRD ファイルは XML ファイルであるので,まずファイルの先頭には XML を使用する宣言として以下

のような記述をおこないます.

<?xml version="1.0" encoding="Shift_JIS"?>

ここで encoding属性は CRDファイルで使用する文字コード1に合わせて記述する必要があります. 次に CRDドキュメントのルート要素として以下の指定をおこないます.

<CRD xmlns="http://www.orin.jp/CRD/CRDSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.orin.jp/CRD/CRDSchema CRDSchema.xsd">

この要素において, 後の“CRDSchema.xsd”の部分にはスキーマのパスを指定します.指定したパス

にスキーマがない場合は CRDファイルの構造のチェックがおこなわれません. また,CRDのルート要素には,以下の子要素を持つことができます.

表 3-5 ルート要素の子要素

タグ名 型 説明 出現頻度

Help String ヘルプ情報 0,1 Version String バージョン情報 0,1 Controller Controller コントローラ要素 0,*

ここで出現頻度は,“0,1”はこの要素が 0 回または 1回出現することをあらわしており,“0,*”は,この

要素が 0~無限回出現するということをあらわしています.

3.3.3. CRD コントローラ要素

CRD コントローラ要素は CaoController のインスタンスを示し,CRD スキーマに従って以下のような形

で表現されます.

<Controller name="RC1"> … </Controller>

1 XML では UTF-8 が推奨されています.

ORiN2 仕様書 160

Version 1.0, August 25, 2005 ORiN Forum

name 属性は必ず必要であり,コントローラ名を表しています.ここで注意したいのは CaoController オブ

ジェクトのインスタンス一つに対し CRDコントローラ要素が一つに対応することです.つまり,RC1,RC2という二つのコントローラを CRDで表現したい場合は以下のように,二つのコントローラ要素を記述する

必要があります.

<Controller Name="RC1"> … </Controller> <Controller Name="RC2"> … </Controller>

また以下に示す子要素を含むことが可能です.

表 3-6 Controller 要素の子要素

タグ名 型 説明 出現頻度

Attribute int 属性情報 0,1 Help String ヘルプ情報 0,1 ID Variant ID情報 0,1

Extension Extension 拡張ボード要素 0,* File File ファイル要素 0,*

Robot Robot ロボット要素 0,* Task Task タスク要素 0,*

Variable Variable 変数要素 0,* Command Command コマンド要素 0,*

それぞれのオブジェクトをこのコントローラから取得できるようにするには,以下のように,コントロ

ーラ要素以下にそれぞれのオブジェクトの要素を子要素として追加します.

<Controller name="RC1"> <File name=“pro1.pac”> … </File> <Variable name=“I1”> … </Varriable>

</Controller>

上記の例では CaoController「RC1」は,「pro1.pac」という CaoFile と,「I1」という CaoVariable を持って

います. さらに,CaoController,CaoCommand,CaoExtension,CaoFile,CaoRobot,CaoTask,CaoVariable 要素は,

Attribute プロパティをあらわす Attribute 要素と,Help プロパティをあらわす Help 要素を子要素として含む

ことができます.

<Controller name="RC1">

ORiN2 仕様書 161

Version 1.0, August 25, 2005 ORiN Forum

<Attribute>1</Attribute> <Help>CRD Test Controller Class</Help> <File name="abc.txt">

<Attribute>3</Attribute> <Help> CRD Test Controller Class</Help> </File>

</File>

3.3.4. CRD 変数要素

CRD変数及びシステム変数要素は CaoVariable のインスタンスを示し,以下のような形で表現されます.

<Variable name="I1"> … </Variable>

name 属性は必ず必要であり,変数リソースの名前をあらわしています.コントローラ要素と同様にインス

タンスと変数要素は一対一で対応しています. また,Variable 要素は以下に示す子要素を含むことが可能です.

表 3-7 Variable 要素の子要素

タグ名 型 説明 出現頻度

Attribute int 属性情報 0,1 Help String ヘルプ情報 0,1 ID Variant ID情報 0,1

DateTime DateTime 変数取得日時 0,1 Microsecond int 変数取得日時[ミリ秒] 0,1

Value Variant 変数の値 0,1

3.3.5. CRD コマンド要素

CRDコマンド要素は,CaoCommandのインスタンスを示しており,CRDスキーマに従って,以下のよう

な形で表現されます.

<Command name="StartRobot"> … </Command>

name 属性は必ず必要であり,コマンド名をあらわしています.コントローラ要素と同様にインスタンス

とファイル要素は一対一で対応します. また,コマンド要素には,以下に示す子要素を含むことが可能です.

表 3-8 Command 要素の子要素

タグ名 型 説明 出現頻度

Attribute int 属性情報 0,1 Help String ヘルプ情報 0,1

ORiN2 仕様書 162

Version 1.0, August 25, 2005 ORiN Forum

ID Variant ID情報 0,1 Timeout int タイムアウト時間 0,1

State int 状態 0,1 Parameters Variant パラメータ 0,1

3.3.6. CRD 拡張要素

CRD拡張要素は,CaoExtension のインスタンスを示しており,CRDスキーマに従って,以下のような形

で表現されます.

<Extension name="Config"> … </Extension>

name 属性は必ず必要であり,拡張要素名をあらわしています.コントローラ要素と同様にインスタンス

とファイル要素は一対一で対応します. また,拡張要素では,以下に示す子要素を含むことが可能です.

表 3-9 拡張ボード要素の子要素

タグ名 型 説明 出現頻度

Attribute int 属性情報 0,1 Help String ヘルプ情報 0,1

ID Variant ID情報 0,1 Variable Variable 変数要素 0,*

3.3.7. CRD ファイル要素

CRDファイル要素は CaoFile のインスタンスを示し,CRDスキーマに従って,以下のような形で表現さ

れます.

<File name="pro1.pac"> … </File>

name 属性は必ず必要であり,ファイルリソースの名前をあらわしています.コントローラ要素と同様にイ

ンスタンスとファイル要素は一対一で対応します. またファイル要素には,以下に示す子要素を含むことが可能です.

表 3-10 ファイル要素の子要素

タグ名 型 説明 出現頻度

Attribute int 属性情報 0,1 Help String ヘルプ情報 0,1

ORiN2 仕様書 163

Version 1.0, August 25, 2005 ORiN Forum

ID Variant ID情報 0,1 DateCreated DateTime 作成日時 0,1

DateLastAccessed DateTime 終アクセス日時 0,1 DateLastModified DateTime 終更新日時 0,1

Path String ファイルパス 0,1 Size int ファイルサイズ 0,1

Type String ファイルタイプ 0,1 Value Variant ファイルの内容 0,1

File File File 要素 0,* Variable Variable Variable 要素 0,*

Value 要素の値に通常の文字列を入れた場合,通常のテキストと判断されます.バイナリのファイルを

CRDで表現したい場合は,以下に示すようにバイナリデータをバイト配列で表現します.

<Value type="VT_ARRAY"> <array type="VT_UI1"> <!-- 配列の情報 --> <dimension>1</dimension> <arrayBound> <lBound>0</lBound> <elements>3</elements> </arrayBound> <!-- データ --> <arrayData> <cVal>0</cVal> <cVal>1</cVal> <cVal>2</cVal> </arrayData> </array> </Value>

3.3.8. CRD ロボット要素

CRDロボット要素は CaoRobot のインスタンスを示し,CRDスキーマに従って,以下のような形で表現

されます.

<Robot name="VM-1"> … </Robot>

name 属性は必ず必要であり,ロボットの名前をあらわしています.コントローラ要素と同様にインスタ

ンスとロボット要素は一対一で対応しています. また,ロボット要素は,以下に示す子要素を含むことが可能です.

表 3-11 ロボット要素の子要素

タグ名 型 説明 出現頻度

Attribute int 属性情報 0,1 Help String ヘルプ情報 0,1

ORiN2 仕様書 164

Version 1.0, August 25, 2005 ORiN Forum

ID Variant ID情報 0,1 Variable Variable Variable 要素 0,*

3.3.9. CRD タスク要素

CRDタスク要素は CaoTask のインスタンスを示し,CRDスキーマに従って,以下のような形で表現され

ます.

<Task name="Carry"> … </Task>

name 属性は必ず必要であり,タスクの名前をあらわしています.コントローラ要素と同様にインスタン

スとロボット要素は一対一で対応しています. また,ロボット要素は,以下に示す子要素を含むことが可能です.

表 3-12 タスク要素の子要素

タグ名 型 説明 出現頻度

Attribute int 属性情報 0,1 Help String ヘルプ情報 0,1

ID Variant ID情報 0,1 FileName String ファイル名 0,1

Variable Variable Variable 要素 0,*

ORiN2 仕様書 165

Version 1.0, August 25, 2005 ORiN Forum

4 CAP - インターネット対応通信プロトコル

4.1. CAP の構成

図 17 の[3]に示すように,CAP プロバイダはリモートの CAOプロバイダに接続するための CAP メッセ

ージ(SOAPパケット)を Webサーバへと送信します.Webサーバにより呼び出された CAP リスナはメッセ

ージを解析し,目的の CAOプロバイダを呼び出して必要な情報の受け渡しを仲介します.これにより,ク

ライアントアプリケーション側では,ローカルに存在するロボットコントローラと同様に,インターネッ

ト経由でロボットコントローラにアクセスすることができます.

図 17: CAPの動作

CAP のクライアントとサーバの接続形態は図 17 で示す通り,四つあり,[3]に関しては先ほど説明した

通りで,CAP の機能を持たない CAOプロバイダであっても CAOのリモートエンジンの機能と CAP プロ

バイダの仲介でインターネント,ファイアウォールを越えてアクセスする経路です.[1]と[2]はクライアン

トアプリケーションが自前で CAP の機能を実装した場合の経路を指します.また,[4]は逆にサーバ(機器)

側が自前で XML パーサ,SOAP を使用して CAP の機能を組み込んだ場合の経路を指します.[3],[4]の接

続形態は CaoController オブジェクトを生成する際の CaoWorkspace::AddController メソッドのオプション引

数によって決まります.

4.2. CAP 固有のメソッド・プロパティ

4.2.1. CaoWorkspace::AddController メソッド

以下に CAP プロバイダの固有名を示します.

表 4-1 CAP プロバイダの固有名

Internet

ネイティブCAPアプリケーション

CAOアプリケーション

組込みCAPデバイス

Non-CAPデバイス

CAO App. CAO

Engine

Controller CAP

Listener

Gateway PC CAO

Engine

B Co. Provider

CAP Listener

CAP App.

CAP Msg.

[1]

Controller

[2]

[3]

[4]

Firewall ..

【オフィス】 【工場】

XML Parser

CAP Provider

ORiN2 仕様書 166

Version 1.0, August 25, 2005 ORiN Forum

プロバイダ通称名 CAP プロバイダー プロバイダ固有名 CaoProv.CAP

このメソッドのプロバイダ名に“CaoProv.CAP”を指定して,実行するとサーバで CAOエンジンと CAP

プロバイダ,リモート CAOプロバイダを起動し,接続します. リモート起動するプロバイダに必要なパラメータは,このメソッドのオプション文字列に指定します.

以下にオプション文字列の仕様を示します.

表 4-2 CAP の CaoWorkspace::AddController のオプション文字列

オプション 意味

Provider[=<プロバイダ名>] リモート起動するプロバイダ名. (デフォルト値:空文字列)

Server[=<Webサーバ名>] WEBサーバ名を指定します. (デフォルト値:“localhost”)

Machine[=<マシン名>] WEB サーバと異なるマシンでリモートプロバイ

ダを起動するときに指定します. (デフォルト値:空文字列)

Option[=<オプション文字列>] リモートプロバイダに必要なオプション文字列を

指定します.(デフォルト値:空文字列)

Message[=<True/False>] メッセージ取得の有無. True:メッセージ取得あり(デフォルト) False:メッセージ取得なし

以下に AddController メソッドを実行するときの例を示します.

AddController ( “RC1”, // コントローラ名 = RC1 “CaoProv.CAP”, // 固定 “”, // CAOエンジンプロセスでCAPプロバイダを実行 “Server=TestServer,Provider=CaoProv.DataStore” // WEBサーバ“TestServer”でDataStore

//プロバイダを起動します. );

4.3. CAP の通信仕様

4.3.1. CAP のメッセージ構造

CAP の通信は SOAP メッセージの構造をそのまま採用しています. CAP メッセージタグ名と CAOプロバイダのインターフェイスとの対応を図 18に示します.

ORiN2 仕様書 167

Version 1.0, August 25, 2005 ORiN Forum

図 18: CAPメッセージタグと CAO インターフェイスの対応

CAP では,CAOプロバイダが持っている各メソッドと一対一に対応するリクエスト用のタグを持ってい

ます.CAP リスナにはこのリクエスト用のタグにマップしたインターフェイスを持っていて,CAP プロバ

イダからの SOAP メッセージで要求された処理に対応するメソッドを呼び出します.CAP リスナはさらに,

SOAPメッセージでコールされたメソッドに対応するリモートのCAOエンジンのオブジェクトのインター

フェイスを呼び出します.以降の処理はリモートの CAOエンジンの処理で通常の CAOのプロバイダの呼

び出しになります. CAP プロバイダと CAP リスナの一対一の対応を行うのに WSDL ファイルを定義して実現しています. CAP での CAP メッセージ,つまり SOAP パケットに関する厳密な仕様は,付録の CapListener.WSDL フ

ァイルに定義されていますので詳細に関してはそちらを参照して下さい.

4.3.1.1. Service_<Method>

HRESULT ICapServices::Service_Start ( ) 機能 CapListenerの開始

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 CapListener の開始処理を行います.CapListener を使用するときは必ず 初に使用し

なければなりません.

CAP Provider CAP Listener

Controller_<Method> CaoController

CaoMessage Message_<Method>

CaoExtension CaoProvExtension Extension_<Method>

CaoCommand CaoProvCommand Command_<Method>

CaoTask CaoProvTask Task_<Method>

CaoFile CaoProvFile File_<Method>

CaoRobot CaoProvRobot Robot_<Method>

CaoVariable CaoProvVariable Variable_<Method>

CaoProvMessage

CaoProvController

Internet

Firewall

SOAP RPC Remote CAO Engine

ORiN2 仕様書 168

Version 1.0, August 25, 2005 ORiN Forum

このメソッドは,CAO プロセスを起動し,CAO エンジンへの参照カウンタを+1します.

CapListener を終了するには ICapServices::Service_Stopメソッドを呼び出してください.

HRESULT ICapServices::Service_Stop ( ) 機能 CapListenerの停止

パラメータ なし.

戻り値 HRESULT

成功時には S_OK を返します.

説明 CapListener の終了処理を行います.CapListener を終了するときは必ず使用しなけれ

ばなりません.

このメソッドは,CAOエンジンへの参照カウンタを-1し,参照カウンタが0 になるとCAO

プロセスを終了します.

4.3.1.2. Controller_<Method>

HRESULT ICapServices::Controller_Connect ( [in] BSTR bstrController, [in] BSTR bstrProvider, [in, defaultvalue("")] BSTR bstrMachine, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long * hController ) 機能 コントローラオブジェクトの追加

パラメータ [in] bstrController コントローラ名. NULL を指定した時,ワークスペース名は自動的に作成された名前になります.

[in] bstrProvider プロバイダ名. 起動する CAOプロバイダのプログラム ID を指定します.リモートマシンで CAOエン

ジンを起動して CAO プロバイダを指定する場合は,以下ように指定します. <プロバイダ名>:<リモートマシン名>

[in] bstrMachine マシン名. リモートマシンにある CAO プロバイダを起動するときは,このパラメータでマシン名,

または IP アドレスを指定します. [in] bstrOption オプション

現在,使用されていません.設定内容はすべて無視されます.

[out] hController コントローラオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

ORiN2 仕様書 169

Version 1.0, August 25, 2005 ORiN Forum

説明 ICaoController オブジェクトを作成し,CapListener でのコントローラオブジェクトの管理

ハンドルを取得します.

作成したコントローラオブジェクトは CapListener で管理されます.オブジェクトを破棄す

るときは必ず ICapServices::Controller_Disconnect メソッドを実行してください.

HRESULT ICapServices::Controller_Disconnect ( [in] long hController ) 機能 プロバイダ切断処理

パラメータ [in] hController コントローラオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 プロバイダからデバイスを接続します.

HRESULT ICapServices::Controller_Execute ( [in] long hController, [in] VARIANT vntCommand, [out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] hController コントローラオブジェクトのハンドル

[in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

HRESULT ICapServices::Controller_GetAttribute ( [in] long hController, [out, retval] long * pVal ) 機能 属性の取得

パラメータ [in] hController コントローラオブジェクトのハンドル

[out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラの属性値を取得します.

HRESULT ICapServices::Controller_GetCommand ( [in] long hController, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption,

ORiN2 仕様書 170

Version 1.0, August 25, 2005 ORiN Forum

[out, retval] long * hCommand ) 機能 コマンドオブジェクトの追加

パラメータ [in] hController コントローラオブジェクトのハンドル

[in] bstrName コマンド名.

[in] bstrOption オプション

[out] hCommand

コマンドオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoCommandオブジェクトを作成し,CapListenerでのコマンドオブジェクトの管理ハンド

ルを取得します.

作成したコマンドオブジェクトは CapListener で管理されます.オブジェクトを破棄すると

きは必ず ICapServices::Command_Release メソッドを実行してください.

HRESULT ICapServices::Controller_GetCommandNames ( [in] long hController, [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 コマンド名リストの取得

パラメータ [in] hController コントローラオブジェクトのハンドル

[in] bstrOption オプション

[out] pVal コマンド名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンド名リストを取得します.

HRESULT ICapServices::Controller_GetExtension ( [in] long hController, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long * hExtension ) 機能 拡張ボードオブジェクトの追加

パラメータ [in] hController コントローラオブジェクトのハンドル

ORiN2 仕様書 171

Version 1.0, August 25, 2005 ORiN Forum

[in] bstrName 拡張ボード名.

[in] bstrOption オプション

[out] hExtension

拡張ボードオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoExtension オブジェクトを作成し,CapListenerでの拡張ボードオブジェクトの管理ハ

ンドルを取得します.

作成した拡張ボードオブジェクトは CapListener で管理されます.オブジェクトを破棄す

るときは必ず ICapServices::Extension_Release メソッドを実行してください.

HRESULT ICapServices::Controller_GetExtensionNames ( [in] long hController, [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 拡張ボード名リストの取得

パラメータ [in] hController コントローラオブジェクトのハンドル

[in] bstrOption オプション

[out] pVal 拡張ボード名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボード名リストを取得します.

HRESULT ICapServices::Controller_GetFile ( [in] long hController, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long * hFile ) 機能 ファイルオブジェクトの追加

パラメータ [in] hController コントローラオブジェクトのハンドル

[in] bstrName ファイル名.

[in] bstrOption オプション

[out] hFile

ORiN2 仕様書 172

Version 1.0, August 25, 2005 ORiN Forum

ファイルオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoFile オブジェクトを作成し,CapListener でのファイルオブジェクトの管理ハンドルを

取得します.

作成したファイルオブジェクトは CapListener で管理されます.オブジェクトを破棄すると

きは必ず ICapServices::File_Release メソッドを実行してください.

HRESULT ICapServices::Controller_GetFileNames ( [in] long hController, [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 ファイル名リストの取得

パラメータ [in] hController コントローラオブジェクトのハンドル

[in] bstrOption オプション

[out] pVal ファイル名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイル名リストを取得します.

HRESULT ICapServices::Controller_GetHelp ( [in] long hController, [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [in] hController コントローラオブジェクトのハンドル

[out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラの属性値を取得します.

HRESULT ICapServices::Controller_GetID ( [in] long hController, [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [in] hController コントローラオブジェクトのハンドル

[out] pVal

ORiN2 仕様書 173

Version 1.0, August 25, 2005 ORiN Forum

ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラの ID を取得します.

HRESULT ICapServices::Controller_GetMessage ( [in] long hController, [out, retval] long * hMessage ) 機能 メッセージの取得

パラメータ [in] hController コントローラオブジェクトのハンドル

[out] hMessage

メッセージオブジェクトのハンドル

戻り値 HRESULT

メッセージの取得時には S_OK,メッセージがないときは S_FALSE を返します.

説明 プロバイダからのメッセージを取得し,CapListener でのメッセージオブジェクトの管理ハ

ンドルを返します.

取得したメッセージブジェクトは CapListener で管理されます.オブジェクトを破棄すると

きは必ず ICapServices::Message_Release メソッドを実行してください.

HRESULT ICapServices::Controller_GetName ( [in] long hController, [out, retval] BSTR * pVal ) 機能 コントローラ名の取得

パラメータ [in] hController コントローラオブジェクトのハンドル

[out] pVal コントローラ名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのコントローラ名を取得します.

HRESULT ICapServices::Controller_GetRobot ( [in] long hController, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long * hRobot ) 機能 ロボットオブジェクトの追加

パラメータ [in] hController コントローラオブジェクトのハンドル

[in] bstrName ロボット名.

ORiN2 仕様書 174

Version 1.0, August 25, 2005 ORiN Forum

[in] bstrOption オプション

[out] hRobot ロボットオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoRobot オブジェクトを作成し,CapListener でのロボットオブジェクトの管理ハンドル

を取得します.

作成したロボットオブジェクトは CapListener で管理されます.オブジェクトを破棄すると

きは必ず ICapServices::Robot_Release メソッドを実行してください.

HRESULT ICapServices::Controller_GetRobotNames ( [in] long hController, [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 ロボット名リストの取得

パラメータ [in] hController コントローラオブジェクトのハンドル

[in] bstrOption オプション

[out] pVal ロボット名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボット名リストを取得します.

HRESULT ICapServices::Controller_GetTag ( [in] long hController, [out, retval] VARIANT * pVal ) 機能 タグの取得

パラメータ [in] hController コントローラオブジェクトのハンドル

[out] pVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラのタグを取得します.

HRESULT ICapServices::Controller_GetTask ( [in] long hController, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long * hTask

ORiN2 仕様書 175

Version 1.0, August 25, 2005 ORiN Forum

) 機能 タスクオブジェクトの追加

パラメータ [in] hController コントローラオブジェクトのハンドル

[in] bstrName タスク名.

[in] bstrOption オプション

[out] hTask

タスクオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoTaskオブジェクトを作成し,CapListenerでのタスクオブジェクトの管理ハンドルを取

得します.

作成したタスクオブジェクトは CapListener で管理されます.オブジェクトを破棄するとき

は必ず ICapServices::Task_Release メソッドを実行してください.

HRESULT ICapServices::Controller_GetTaskNames ( [in] long hController, [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 タスク名リストの取得

パラメータ [in] hController コントローラオブジェクトのハンドル

[in] bstrOption オプション

[out] pVal タスク名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスク名リストを取得します.

HRESULT ICapServices::Controller_GetVariable ( [in] long hController, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long * hVariable ) 機能 変数オブジェクトの追加

パラメータ [in] hController コントローラオブジェクトのハンドル

[in] bstrName

ORiN2 仕様書 176

Version 1.0, August 25, 2005 ORiN Forum

変数名. [in] bstrOption オプション

[out] hVariable

変数オブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを作成し,CapListener での変数オブジェクトの管理ハンドルを

取得します.

作成した変数オブジェクトは CapListener で管理されます.オブジェクトを破棄するとき

は必ず ICapServices::Variable_Release メソッドを実行してください.

HRESULT ICapServices::Controller_GetVariableNames ( [in] long hController, [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 変数名リストの取得

パラメータ [in] hController コントローラオブジェクトのハンドル

[in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数名リストを取得します.

HRESULT ICapServices::Controller_PutID ( [in] long hController, [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] hController コントローラオブジェクトのハンドル

[in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラの ID を設定します.

HRESULT ICapServices::Controller_PutTag ( [in] long hController, [in] VARIANT newVal )

ORiN2 仕様書 177

Version 1.0, August 25, 2005 ORiN Forum

機能 タグの設定

パラメータ [in] hController コントローラオブジェクトのハンドル

[in] newVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 コントローラのタグを設定します.

4.3.1.3. Variable_<Method>

HRESULT ICapServices::Variable_GetAttribute ( [in] long hVariable, [out, retval] long * pVal ) 機能 属性の取得

パラメータ [in] hVariable 変数オブジェクトのハンドル

[out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数の属性値を取得します.

HRESULT ICapServices::Variable_GetDateTime ( [in] long hVariable, [out, retval] VARIANT * pVal ) 機能 タイムスタンプ(日時)の取得

パラメータ [in] hVariable 変数オブジェクトのハンドル

[out] pVal タイムスタンプ(日時)

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数のタイムスタンプ(日時)を取得します.

HRESULT ICapServices::Variable_GetHelp ( [in] long hVariable, [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [in] hVariable 変数オブジェクトのハンドル

[out] pVal

ORiN2 仕様書 178

Version 1.0, August 25, 2005 ORiN Forum

ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数のヘルプ文字列を取得します.

HRESULT ICapServices::Variable_GetID ( [in] long hVariable, [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [in] hVariable 変数オブジェクトのハンドル

[out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数の ID を取得します.

HRESULT ICapServices::Variable_GetMicrosecond ( [in] long hVariable, [out, retval] long * pVal ) 機能 タイムスタンプ(マイクロ秒)の取得

パラメータ [in] hVariable 変数オブジェクトのハンドル

[out] pVal タイムスタンプ(マイクロ秒)

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数のタイムスタンプ(マイクロ秒)を取得します.

HRESULT ICapServices::Variable_GetName ( [in] long hVariable, [out, retval] BSTR * pVal ) 機能 変数名の取得

パラメータ [in] hVariable 変数オブジェクトのハンドル

[out] pVal 変数名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトの変数名を取得します.

HRESULT ICapServices::Variable_GetTag ( [in] long hVariable, [out, retval] VARIANT * pVal

ORiN2 仕様書 179

Version 1.0, August 25, 2005 ORiN Forum

) 機能 タグの取得

パラメータ [in] hVariable 変数オブジェクトのハンドル

[out] pVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数のタグを取得します.

HRESULT ICapServices::Variable_GetValue ( [in] long hVariable, [out, retval] VARIANT * pVal ) 機能 値の取得

パラメータ [in] hVariable 変数オブジェクトのハンドル

[out] pVal 変数値

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数値を取得します.

HRESULT ICapServices::Variable_PutID ( [in] long hVariable, [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] hVariable 変数オブジェクトのハンドル

[in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数の ID を設定します.

HRESULT ICapServices::Variable_PutTag ( [in] long hVariable, [in] VARIANT newVal ) 機能 タグの設定

パラメータ [in] hVariable 変数オブジェクトのハンドル

[in] newVal タグ

ORiN2 仕様書 180

Version 1.0, August 25, 2005 ORiN Forum

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数のタグを設定します.

HRESULT ICapServices::Variable_PutValue ( [in] long hVariable, [in] VARIANT newVal ) 機能 値の設定

パラメータ [in] hVariable 変数オブジェクトのハンドル

[in] newVal 変数値

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数値を設定します.

HRESULT ICapServices::Variable_Release ( [in] long hVariable ) 機能 変数オブジェクトの解放

パラメータ [in] hVariable 変数オブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 CapListenerで管理している指定したハンドルの変数オブジェクトを解放します.

4.3.1.4. Robot_<Method>

HRESULT ICapServices::Robot_Accelerate ( [in] long hRobot, [in] long lAxis, [in] float fAccel, [in] float fDecel ) 機能 ACCEL文の実行

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[in] lAxis 軸番号 ‐1:手先加(減)速度,0:全軸加(減)速度,その他は指定軸の加(減)速度.

[in] fAccel 加速度

[in] fDecel 減速度

戻り値 HRESULT

ORiN2 仕様書 181

Version 1.0, August 25, 2005 ORiN Forum

成功時には S_OK を返します.

説明 ロボットの加速,減速の設定を行います.

詳細については SLIM のACCEL 文の仕様を参照してください.

HRESULT ICapServices::Robot_Cancel ( [in] long hRobot, [in] BSTR bstrOption ) 機能 実行中のロボット制御メソッドのキャンセル

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボット制御メソッド実行中のロボットに対してメソッドのキャンセルを行います.

HRESULT ICapServices::Robot_Change ( [in] long hRobot, [in] BSTR bstrName ) 機能 CHANGE文の実行

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM のCHANGE 文の仕様を参照してください.

HRESULT ICapServices::Robot_Chuck ( [in] long hRobot, [in] BSTR bstrOption ) 機能 GRASP文の実行

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM の GRASP 文の仕様を参照してください.

HRESULT ICapServices::Robot_Drive ( [in] long hRobot, [in] long lNo, [in] float fMov,

ORiN2 仕様書 182

Version 1.0, August 25, 2005 ORiN Forum

[in, defaultvalue("")] BSTR bstrOpt ) 機能 DRIVE 文の実行

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[in] lNo 軸番号

[in] fMov 移動量

[in] bstrOpt オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM のDRIVE文の仕様を参照してください.

SLIM のように同時に複数の軸を動かすことはできません.その場合は,

ICapService::Robot_Move メソッドを使用してください.

HRESULT ICapServices::Robot_Execute ( [in] long hRobot, [in] VARIANT vntCommand, [out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

HRESULT ICapServices::Robot_GetAttribute ( [in] long hRobot, [out, retval] long * pVal ) 機能 属性の取得

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[out] pVal 属性

戻り値 HRESULT

ORiN2 仕様書 183

Version 1.0, August 25, 2005 ORiN Forum

成功時には S_OK を返します.

説明 ロボットの属性値を取得します.

HRESULT ICapServices::Robot_GetHelp ( [in] long hRobot, [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットのヘルプ文字列を取得します.

HRESULT ICapServices::Robot_GetID ( [in] long hRobot, [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットの ID を取得します.

HRESULT ICapServices::Robot_GetName ( [in] long hRobot, [out, retval] BSTR * pVal ) 機能 ロボット名の取得

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[out] pVal ロボット名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのロボット名を取得します.

HRESULT ICapServices::Robot_GetTag ( [in] long hRobot, [out, retval] VARIANT * pVal ) 機能 タグの取得

ORiN2 仕様書 184

Version 1.0, August 25, 2005 ORiN Forum

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[out] pVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットのタグを取得します.

HRESULT ICapServices::Robot_GetVariable ( [in] long hRobot, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long * hVariable ) 機能 変数オブジェクトの追加

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[in] bstrName 変数名.

[in] bstrOption オプション

[out] hVariable

変数オブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを作成し,CapListener での変数オブジェクトの管理ハンドルを

取得します.

作成した変数オブジェクトは CapListener で管理されます.オブジェクトを破棄するとき

は必ず ICapServices::Variable_Release メソッドを実行してください.

HRESULT ICapServices::Robot_GetVariableNames ( [in] long hRobot, [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 変数名リストの取得

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

ORiN2 仕様書 185

Version 1.0, August 25, 2005 ORiN Forum

成功時には S_OK を返します.

説明 変数名リストを取得します.

HRESULT ICapServices::Robot_GoHome ( [in] long hRobot ) 機能 GOHOME 文の実行

パラメータ [in] hRobot ロボットオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM の GOHOME文の仕様を参照してください.

HRESULT ICapServices::Robot_Move ( [in] long hRobot, [in] long lComp, [in] VARIANT vntPose, [in, defaultvalue("")] BSTR bstrOpt ) 機能 MOVE 文の実行

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[in] lComp 補間指定. 1:PTP,2:直線,3:円弧.

[in] vntPose ポーズ列 指定方法は各メーカに依存します.

[in] bstrOpt オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM のMOVE文の仕様を参照してください.

HRESULT ICapServices::Robot_PutID ( [in] long hRobot, [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットの ID を設定します.

ORiN2 仕様書 186

Version 1.0, August 25, 2005 ORiN Forum

HRESULT ICapServices::Robot_PutTag ( [in] long hRobot, [in] VARIANT newVal ) 機能 タグの設定

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[in] newVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ロボットのタグを設定します.

HRESULT ICapServices::Robot_Release ( [in] long hRobot ) 機能 ロボットオブジェクトの解放

パラメータ [in] hRobot ロボットオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 CapListenerで管理している指定したハンドルのロボットオブジェクトを解放します.

HRESULT ICapServices::Robot_Rotate ( [in] long hRobot, [in] VARIANT vntRotSuf, [in] float fDeg, [in] VARIANT vntPivot, [in, defaultvalue("")] BSTR bstrOpt ) 機能 ROTATE文の実行

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[in] vntRotSuf 回転面 指定方法は各メーカに依存します.

[in] fDeg 角度

[in] vntPivot 回転中心

[in] bstrOpt オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM のROTATE 文の仕様を参照してください.

ORiN2 仕様書 187

Version 1.0, August 25, 2005 ORiN Forum

HRESULT ICapServices::Robot_Speed ( [in] long hRobot, [in] long lAxis, [in] float fSpeed ) 機能 SPEED/JSPEED文の実行

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[in] lAxis 軸番号 ‐1:手先速度,0:全軸速度,その他は指定軸の軸速度.

[in] fSpeed 速度

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM の SPEED/JSPEED 文の仕様を参照してください.

HRESULT ICapServices::Robot_Unchuck ( [in] long hRobot, [in] BSTR bstrOption ) 機能 RELEASE文の実行

パラメータ [in] hRobot ロボットオブジェクトのハンドル

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 詳細については SLIM のRELEASE 文の仕様を参照してください.

4.3.1.5. File_<Method>

HRESULT ICapServices::File_Copy ( [in] long hFile, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption ) 機能 ファイルのコピー

パラメータ [in] hFile ファイルオブジェクトのハンドル

[in] bstrName 複写先ファイル名

[in] bstrOption オプション

ORiN2 仕様書 188

Version 1.0, August 25, 2005 ORiN Forum

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルをコピーします.

HRESULT ICapServices::File_Delete ( [in] long hFile, [in, defaultvalue("")] BSTR bstrOption ) 機能 ファイルの削除

パラメータ [in] hFile ファイルオブジェクトのハンドル

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルを削除します.

HRESULT ICapServices::File_Execute ( [in] long hFile, [in] VARIANT vntCommand, [out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] hFile ファイルオブジェクトのハンドル

[in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

HRESULT ICapServices::File_GetAttribute ( [in] long hFile, [out, retval] long * pVal ) 機能 属性の取得

パラメータ [in] hFile ファイルオブジェクトのハンドル

[out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの属性値を取得します.

ORiN2 仕様書 189

Version 1.0, August 25, 2005 ORiN Forum

HRESULT ICapServices::File_GetDateCreated ( [in] long hFile, [out, retval] VARIANT * pVal ) 機能 ファイルの作成日時の取得

パラメータ [in] hFile ファイルオブジェクトのハンドル

[out] pVal 作成日時

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの作成日時を取得します.

HRESULT ICapServices::File_GetDateLastAccessed ( [in] long hFile, [out, retval] VARIANT * pVal ) 機能 ファイルの 終アクセス日時の取得

パラメータ [in] hFile ファイルオブジェクトのハンドル

[out] pVal 終アクセス日時

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの 終アクセス日時を取得します.

HRESULT ICapServices::File_GetDateLastModified ( [in] long hFile, [out, retval] VARIANT * pVal ) 機能 ファイルの 終変更日時の取得

パラメータ [in] hFile ファイルオブジェクトのハンドル

[out] pVal 終変更日時

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの 終変更日時を取得します.

HRESULT ICapServices::File_GetFile ( [in] long hParetntFile, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long * hFile ) 機能 ファイルオブジェクトの追加

ORiN2 仕様書 190

Version 1.0, August 25, 2005 ORiN Forum

パラメータ [in] hParetntFile ファイルオブジェクトのハンドル

[in] bstrName ファイル名.

[in] bstrOption オプション

[out] hFile

ファイルオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoFile オブジェクトを作成し,CapListener でのファイルオブジェクトの管理ハンドルを

取得します.

作成したファイルオブジェクトは CapListener で管理されます.オブジェクトを破棄すると

きは必ず ICapServices::File_Release メソッドを実行してください.

HRESULT ICapServices::File_GetFileNames ( [in] long hFile, [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 ファイル名リストの取得

パラメータ [in] hFile ファイルオブジェクトのハンドル

[in] bstrOption オプション

[out] pVal ファイル名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイル名リストを取得します.

HRESULT ICapServices::File_GetHelp ( [in] long hFile, [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [in] hFile ファイルオブジェクトのハンドル

[out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのヘルプ文字列を取得します.

ORiN2 仕様書 191

Version 1.0, August 25, 2005 ORiN Forum

HRESULT ICapServices::File_GetID ( [in] long hFile, [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [in] hFile ファイルオブジェクトのハンドル

[out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの ID を取得します.

HRESULT ICapServices::File_GetName ( [in] long hFile, [out, retval] BSTR * pVal ) 機能 ファイル名の取得

パラメータ [in] hFile ファイルオブジェクトのハンドル

[out] pVal ファイル名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのファイル名を取得します.

HRESULT ICapServices::File_GetPath ( [in] long hFile, [out, retval] BSTR * pVal ) 機能 ファイルパスの取得

パラメータ [in] hFile ファイルオブジェクトのハンドル

[out] pVal ファイルパス

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのパスを取得します.

HRESULT ICapServices::File_GetSize ( [in] long hFile, [out, retval] long * pVal ) 機能 ファイルサイズの取得

パラメータ [in] hFile ファイルオブジェクトのハンドル

ORiN2 仕様書 192

Version 1.0, August 25, 2005 ORiN Forum

[out] pVal ファイルサイズ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのサイズを取得します.

HRESULT ICapServices::File_GetTag ( [in] long hFile, [out, retval] VARIANT * pVal ) 機能 タグの設定

パラメータ [in] hFile ファイルオブジェクトのハンドル

[in] newVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのタグを設定します.

HRESULT ICapServices::File_GetType ( [in] long hFile, [out, retval] BSTR * pVal ) 機能 ファイルタイプの取得

パラメータ [in] hFile ファイルオブジェクトのハンドル

[out] pVal ファイルタイプ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのタイプを取得します.

HRESULT ICapServices::File_GetValue ( [in] long hFile, [out, retval] VARIANT * pVal ) 機能 ファイルデータの取得

パラメータ [in] hFile ファイルオブジェクトのハンドル

[out] pVal ファイルデータ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルデータを取得します.

HRESULT ICapServices::File_GetVariable ( [in] long hFile,

ORiN2 仕様書 193

Version 1.0, August 25, 2005 ORiN Forum

[in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long * hVariable ) 機能 変数オブジェクトの追加

パラメータ [in] hFile ファイルオブジェクトのハンドル

[in] bstrName 変数名.

[in] bstrOption オプション

[out] hVariable

変数オブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを作成し,CapListener での変数オブジェクトの管理ハンドルを

取得します.

作成した変数オブジェクトは CapListener で管理されます.オブジェクトを破棄するとき

は必ず ICapServices::Variable_Release メソッドを実行してください.

HRESULT ICapServices::File_GetVariableNames ( [in] long hFile, [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 変数名リストの取得

パラメータ [in] hFile ファイルオブジェクトのハンドル

[in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数名リストを取得します.

HRESULT ICapServices::File_Move ( [in] long hFile, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption ) 機能 ファイルの移動

パラメータ [in] hFile

ORiN2 仕様書 194

Version 1.0, August 25, 2005 ORiN Forum

ファイルオブジェクトのハンドル

[in] bstrName 移動先ファイル名

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイル移動します.

HRESULT ICapServices::File_PutID ( [in] long hFile, [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] hFile ファイルオブジェクトのハンドル

[in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルの ID を設定します.

HRESULT ICapServices::File_PutTag ( [in] long hFile, [in] VARIANT newVal ) 機能 タグの設定

パラメータ [in] hFile ファイルオブジェクトのハンドル

[in] newVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルのタグを設定します.

HRESULT ICapServices::File_PutValue ( [in] long hFile, [in] VARIANT newVal ) 機能 ファイルデータの設定

パラメータ [in] hFile ファイルオブジェクトのハンドル

[in] newVal ファイルデータ

戻り値 HRESULT

ORiN2 仕様書 195

Version 1.0, August 25, 2005 ORiN Forum

成功時には S_OK を返します.

説明 ファイルデータを設定します.

HRESULT ICapServices::File_Release ( [in] long hFile ) 機能 ファイルオブジェクトの解放

パラメータ [in] hFile ファイルオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 CapListenerで管理している指定したハンドルのファイルオブジェクトを解放します.

HRESULT ICapServices::File_Run ( [in] long hFile, [in, defaultvalue("")] BSTR bstrOption, [out, retval] BSTR * bstrName ) 機能 タスクの生成

パラメータ [in] hFile ファイルオブジェクトのハンドル

[in] bstrOption オプション

[out] bstrName

タスク名

戻り値 HRESULT

成功時には S_OK を返します.

説明 ファイルからタスクを生成し,生成されたタスク名を返します.

4.3.1.6. Task_<Method>

HRESULT ICapServices::Task_Delete ( [in] long hTask, [in, defaultvalue("")] BSTR bstrOption ) 機能 タスクの削除

パラメータ [in] hTask タスクオブジェクトのハンドル

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクを削除します.

HRESULT ICapServices::Task_Execute ( [in] long hTask, [in] VARIANT vntCommand, [out, retval] VARIANT * pVal

ORiN2 仕様書 196

Version 1.0, August 25, 2005 ORiN Forum

) 機能 拡張コマンドの実行

パラメータ [in] hTask タスクオブジェクトのハンドル

[in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

HRESULT ICapServices::Task_GetAttribute ( [in] long hTask, [out, retval] long * pVal ) 機能 属性の取得

パラメータ [in] hTask タスクオブジェクトのハンドル

[out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクの属性値を取得します.

HRESULT ICapServices::Task_GetFileName ( [in] long hTask, [out, retval] BSTR * pVal ) 機能 対応ファイル名の取得

パラメータ [in] hTask タスクオブジェクトのハンドル

[out] pVal 対応ファイル名

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクと対応しているファイル名を取得します.

HRESULT ICapServices::Task_GetHelp ( [in] long hTask, [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [in] hTask タスクオブジェクトのハンドル

ORiN2 仕様書 197

Version 1.0, August 25, 2005 ORiN Forum

[out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクのヘルプ文字列を取得します.

HRESULT ICapServices::Task_GetID ( [in] long hTask, [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [in] hTask タスクオブジェクトのハンドル

[out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクの ID を取得します.

HRESULT ICapServices::Task_GetName ( [in] long hTask, [out, retval] BSTR * pVal ) 機能 タスク名の取得

パラメータ [in] hTask タスクオブジェクトのハンドル

[out] pVal タスク名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのタスク名を取得します.

HRESULT ICapServices::Task_GetTag ( [in] long hTask, [out, retval] VARIANT * pVal ) 機能 タグの取得

パラメータ [in] hTask タスクオブジェクトのハンドル

[out] pVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクのタグを取得します.

HRESULT ICapServices::Task_GetVariable ( [in] long hTask,

ORiN2 仕様書 198

Version 1.0, August 25, 2005 ORiN Forum

[in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long * hVariable ) 機能 変数オブジェクトの追加

パラメータ [in] hTask タスクオブジェクトのハンドル

[in] bstrName 変数名.

[in] bstrOption オプション

[out] hVariable

変数オブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを作成し,CapListener での変数オブジェクトの管理ハンドルを

取得します.

作成した変数オブジェクトは CapListener で管理されます.オブジェクトを破棄するとき

は必ず ICapServices::Variable_Release メソッドを実行してください.

HRESULT ICapServices::Task_GetVariableNames ( [in] long hTask, [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 変数名リストの取得

パラメータ [in] hTask タスクオブジェクトのハンドル

[in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数名リストを取得します.

HRESULT ICapServices::Task_PutID ( [in] long hTask, [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] hTask タスクオブジェクトのハンドル

ORiN2 仕様書 199

Version 1.0, August 25, 2005 ORiN Forum

[in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクの ID を設定します.

HRESULT ICapServices::Task_PutTag ( [in] long hTask, [in] VARIANT newVal ) 機能 タグの設定

パラメータ [in] hTask タスクオブジェクトのハンドル

[in] newVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクのタグを設定します.

HRESULT ICapServices::Task_Release ( [in] long hTask ) 機能 タスクオブジェクトの解放

パラメータ [in] hTask タスクオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 CapListenerで管理している指定したハンドルのタスクオブジェクトを解放します.

HRESULT ICapServices::Task_Start ( [in] long hTask, [in] long lMode, [in, defaultvalue("")] BSTR bstrOption ) 機能 タスクの開始

パラメータ [in] hTask タスクオブジェクトのハンドル

[in] lMode モード 1:1サイクル実行,2:連続実行,3:1ステップ 送り,4:1ステップ 戻し

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクの実行を開始します.

HRESULT ICapServices::Task_Stop ( [in] long hTask,

ORiN2 仕様書 200

Version 1.0, August 25, 2005 ORiN Forum

[in] long lMode, [in, defaultvalue("")] BSTR bstrOption ) 機能 タスクの停止

パラメータ [in] hTask タスクオブジェクトのハンドル

[in] lMode モード 0:デフォルト停止,1:瞬時停止,2:ステップ停止,3:サイクル停止.4:初期化停止 (デフォルト停止とは,実際には何れかの停止方法.)

[in] bstrOption オプション

戻り値 HRESULT

成功時には S_OK を返します.

説明 実行中のタスクを停止します.

4.3.1.7. Command_<Method>

HRESULT ICapServices::Command_Cancel ( [in] long hCommand ) 機能 コマンドのキャンセル

パラメータ [in] hCommand コマンドオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 実行中のコマンドをキャンセルします.

HRESULT ICapServices::Command_Execute ( [in] long hCommand, [in] long lMode ) 機能 拡張コマンドの実行

パラメータ [in] hCommand コマンドオブジェクトのハンドル

[in] lMode モード 1ビット目は,0:同期実行,1:非同期実行.その他のビットはプロバイダ依存.

戻り値 HRESULT

成功時には S_OK を返します.

非同期実行のときは S_FALSEを返します.

説明 拡張コマンドを実行します.

コマンドの実行結果を取得するときは ICapService::Command_GetResult メソッドを実行

してください.

ORiN2 仕様書 201

Version 1.0, August 25, 2005 ORiN Forum

HRESULT ICapServices::Command_GetAttribute ( [in] long hCommand, [out, retval] long * pVal ) 機能 属性の取得

パラメータ [in] hCommand コマンドオブジェクトのハンドル

[out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの属性値を取得します.

¥HRESULT ICapServices::Command_GetHelp ( [in] long hCommand, [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [in] hCommand コマンドオブジェクトのハンドル

[out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドのヘルプ文字列を取得します.

HRESULT ICapServices::Command_GetID ( [in] long hCommand, [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [in] hCommand コマンドオブジェクトのハンドル

[out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの ID を取得します.

HRESULT ICapServices::Command_GetName ( [in] long hCommand, [out, retval] BSTR * pVal ) 機能 コマンド名の取得

パラメータ [in] hCommand コマンドオブジェクトのハンドル

ORiN2 仕様書 202

Version 1.0, August 25, 2005 ORiN Forum

[out] pVal コマンド名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトのコマンド名を取得します.

HRESULT ICapServices::Command_GetParameters ( [in] long hCommand, [out, retval] VARIANT * pVal ) 機能 パラメータの取得

パラメータ [in] hCommand コマンドオブジェクトのハンドル

[out] pVal パラメータ

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの実行時のパラメータを取得します.

HRESULT ICapServices::Command_GetResult ( [in] long hCommand, [in] VARIANT * pVal ) 機能 実行結果の取得

パラメータ [in] hCommand コマンドオブジェクトのハンドル

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.コマンドが実行時にエラーがあったときは,ここでエラ

ーコードを返します.

説明 直前に ICapServices::Command_Execute メソッドの実行結果を取得します.

HRESULT ICapServices::Command_GetState ( [in] long hCommand, [out, retval] long * pVal ) 機能 実行状態の取得

パラメータ [in] hCommand コマンドオブジェクトのハンドル

[out] pVal 状態

1ビット目は,0:待機中,1:実行中.その他のビットはプロバイダ依存.

戻り値 HRESULT

成功時には S_OK を返します.

ORiN2 仕様書 203

Version 1.0, August 25, 2005 ORiN Forum

説明 コマンドの実行状態を取得します.

HRESULT ICapServices::Command_GetTag ( [in] long hCommand, [out, retval] VARIANT * pVal ) 機能 タグの取得

パラメータ [in] hCommand コマンドオブジェクトのハンドル

[out] pVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクのタグを取得します.

HRESULT ICapServices::Command_GetTimeout ( [in] long hCommand, [out, retval] long * pVal ) 機能 タイムアウト時間の取得

パラメータ [in] hCommand コマンドオブジェクトのハンドル

[out] pVal タイムアウト時間

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの実行時のタイムアウト時間を取得します.

HRESULT ICapServices::Command_PutID ( [in] long hCommand, [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] hCommand コマンドオブジェクトのハンドル

[in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの ID を設定します.

HRESULT ICapServices::Command_PutParameters ( [in] long hCommand, [in] VARIANT newVal ) 機能 パラメータの設定

パラメータ [in] hCommand

ORiN2 仕様書 204

Version 1.0, August 25, 2005 ORiN Forum

コマンドオブジェクトのハンドル

[in] newVal パラメータ

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの実行時のパラメータを設定します.

HRESULT ICapServices::Command_PutTag ( [in] long hCommand, [in] VARIANT newVal ) 機能 タグの設定

パラメータ [in] hCommand コマンドオブジェクトのハンドル

[in] newVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 タスクのタグを設定します.

HRESULT ICapServices::Command_PutTimeout ( [in] long hCommand, [in] long newVal ) 機能 タイムアウト時間の設定

パラメータ [in] hCommand コマンドオブジェクトのハンドル

[in] newVal タイムアウト時間

戻り値 HRESULT

成功時には S_OK を返します.

説明 コマンドの実行時のタイムアウト時間を設定します.

HRESULT ICapServices::Command_Release ( [in] long hCommand ) 機能 コマンドオブジェクトの解放

パラメータ [in] hCommand コマンドオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 CapListenerで管理している指定したハンドルのコマンドオブジェクトを解放します.

4.3.1.8. Extension_<Method>

HRESULT ICapServices::Extension_Execute ( [in] long hExtension, [in] VARIANT vntCommand,

ORiN2 仕様書 205

Version 1.0, August 25, 2005 ORiN Forum

[out, retval] VARIANT * pVal ) 機能 拡張コマンドの実行

パラメータ [in] hExtension 拡張ボードオブジェクトのハンドル

[in] vntCommand コマンド

[out] pVal 実行結果

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張コマンドを実行します.

HRESULT ICapServices::Extension_GetAttribute ( [in] long hExtension, [out, retval] long * pVal ) 機能 属性の取得

パラメータ [in] hExtension 拡張ボードオブジェクトのハンドル

[out] pVal 属性

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの属性値を取得します.

HRESULT ICapServices::Extension_GetHelp ( [in] long hExtension, [out, retval] BSTR * pVal ) 機能 ヘルプ文字列の取得

パラメータ [in] hExtension 拡張ボードオブジェクトのハンドル

[out] pVal ヘルプ文字列

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードのヘルプ文字列を取得します.

HRESULT ICapServices::Extension_GetID ( [in] long hExtension, [out, retval] VARIANT * pVal ) 機能 ID の取得

パラメータ [in] hExtension

ORiN2 仕様書 206

Version 1.0, August 25, 2005 ORiN Forum

拡張ボードオブジェクトのハンドル

[out] pVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの ID を取得します.

HRESULT ICapServices::Extension_GetName ( [in] long hExtension, [out, retval] BSTR * pVal ) 機能 拡張ボード名の取得

パラメータ [in] hExtension 拡張ボードオブジェクトのハンドル

[out] pVal 拡張ボード名

戻り値 HRESULT

成功時には S_OK を返します.

説明 オブジェクトの拡張ボード名を取得します.

HRESULT ICapServices::Extension_GetTag ( [in] long hExtension, [out, retval] VARIANT * pVal ) 機能 タグの取得

パラメータ [in] hExtension 拡張ボードオブジェクトのハンドル

[out] pVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードのタグを取得します.

HRESULT ICapServices::Extension_GetVariable ( [in] long hExtension, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long * hVariable ) 機能 変数オブジェクトの追加

パラメータ [in] hExtension 拡張ボードオブジェクトのハンドル

[in] bstrName 変数名.

[in] bstrOption

ORiN2 仕様書 207

Version 1.0, August 25, 2005 ORiN Forum

オプション

[out] hVariable

変数オブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 ICaoVariable オブジェクトを作成し,CapListener での変数オブジェクトの管理ハンドルを

取得します.

作成した変数オブジェクトは CapListener で管理されます.オブジェクトを破棄するとき

は必ず ICapServices::Variable_Release メソッドを実行してください.

HRESULT ICapServices::Extension_GetVariableNames ( [in] long hExtension, [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT * pVal ) 機能 変数名リストの取得

パラメータ [in] hExtension 拡張ボードオブジェクトのハンドル

[in] bstrOption オプション

[out] pVal 変数名リスト

戻り値 HRESULT

成功時には S_OK を返します.

説明 変数名リストを取得します.

HRESULT ICapServices::Extension_PutID ( [in] long hExtension, [in] VARIANT newVal ) 機能 ID の設定

パラメータ [in] hExtension 拡張ボードオブジェクトのハンドル

[in] newVal ID

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの ID を設定します.

HRESULT ICapServices::Extension_PutTag ( [in] long hExtension, [in] VARIANT newVal ) 機能 タグの設定

パラメータ [in] hExtension

ORiN2 仕様書 208

Version 1.0, August 25, 2005 ORiN Forum

拡張ボードオブジェクトのハンドル

[in] newVal タグ

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードのタグを設定します.

HRESULT ICapServices::Extension_Release ( [in] long hExtension ) 機能 拡張ボードオブジェクトの解放

パラメータ [in] hExtension 拡張ボードオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 CapListenerで管理している指定したハンドルの拡張ボードオブジェクトを解放します.

4.3.1.9. Message_<Method>

HRESULT ICapServices::Message_Clear ( [in] long hMessage ) 機能 メッセージのクリア

パラメータ [in] hMessage メッセージオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 メッセージのクリアを行います.

HRESULT ICapServices::Message_GetDateTime ( [in] long hMessage, [out, retval] VARIANT * pVal ) 機能 作成日時の取得

パラメータ [in] hMessage メッセージオブジェクトのハンドル

[out] pVal 作成日時

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの作成日時を取得します.

HRESULT ICapServices::Message_GetDescription ( [in] long hMessage, [out, retval] BSTR * pVal ) 機能 説明文の取得

パラメータ [in] hMessage メッセージオブジェクトのハンドル

ORiN2 仕様書 209

Version 1.0, August 25, 2005 ORiN Forum

[out] pVal 説明文

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの説明文を取得します.

HRESULT ICapServices:: Message_GetDestination ( [in] long hMessage, [out, retval] BSTR * pVal ) 機能 送り先の取得

パラメータ [in] hMessage メッセージオブジェクトのハンドル

[out] pVal 送り先

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードの送り先を取得します.

HRESULT ICapServices::Message_GetNumber ( [in] long hMessage, [out, retval] long * pVal ) 機能 メッセージ番号の取得

パラメータ [in] hMessage メッセージオブジェクトのハンドル

[out] pVal メッセージ番号

戻り値 HRESULT

成功時には S_OK を返します.

説明 拡張ボードのメッセージ番号を取得します.

HRESULT ICapServices::Message_GetSerialNumber ( [in] long hMessage, [out, retval] long * pVal ) 機能 メッセージ連番の取得

パラメータ [in] hMessage メッセージオブジェクトのハンドル

[out] pVal メッセージ連番

戻り値 HRESULT

成功時には S_OK を返します.

説明 メッセージの連番を取得します.

HRESULT ICapServices::Message_GetSource ( [in] long hMessage,

ORiN2 仕様書 210

Version 1.0, August 25, 2005 ORiN Forum

[out, retval] BSTR * pVal ) 機能 送り元の取得

パラメータ [in] hMessage メッセージオブジェクトのハンドル

[out] pVal 送り元

戻り値 HRESULT

成功時には S_OK を返します.

説明 メッセージの送り元を取得します.

HRESULT ICapServices::Message_GetValue ( [in] long hMessage, [out, retval] VARIANT * pVal ) 機能 メッセージ本文の取得

パラメータ [in] hMessage メッセージオブジェクトのハンドル

[out] pVal 本文

戻り値 HRESULT

成功時には S_OK を返します.

説明 メッセージの本文を取得します.

HRESULT ICapServices::Message_Release ( [in] long hMessage ) 機能 メッセージオブジェクトの解放

パラメータ [in] hMessage メッセージオブジェクトのハンドル

戻り値 HRESULT

成功時には S_OK を返します.

説明 CapListenerで管理している指定したハンドルのメッセージオブジェクトを解放します.

HRESULT ICapServices:: Message_Reply ( [in] long hMessage, [in] VARIANT vntData ) 機能 メッセージの返信

パラメータ [in] hMessage メッセージオブジェクトのハンドル

[out] pVal 返信データ

戻り値 HRESULT

成功時には S_OK を返します.

説明 メッセージに対する返信を行います.

ORiN2 仕様書 211

Version 1.0, August 25, 2005 ORiN Forum

A 付録

A.1. DCOM-CAO Engine IDL

List 4-1 CAO.idl

/** @file CAO.idl * * @brief CAO.dll 用の IDL ソース ファイル * * このファイルはタイプ ライブラリ (CAO.tlb) を作成するために * タイプ ライブラリ作成ツール MIDL によって処理されます. * * @version 1.0 * @date 2003/8/8 * @author DENSO WAVE * */ import "oaidl.idl"; import "ocidl.idl"; /* ------------------------- */ /* CAO Interface Definitions */ /* ------------------------- */ interface ICaoWorkspaces; interface ICaoWorkspace; interface ICaoControllers; interface ICaoController; interface ICaoExtensions; interface ICaoExtension; interface ICaoFiles; interface ICaoFile; interface ICaoRobots; interface ICaoRobot; interface ICaoTasks; interface ICaoTask; interface ICaoVariables; interface ICaoVariable; interface ICaoCommands; interface ICaoCommand; interface ICaoMessage; interface ICaoEngineStatus; // ICaoEngine Interface [ object, uuid(5acfd9fe-41f0-43f6-a0d6-c10c079315fc), dual, helpstring("ICaoEngine Interface"), pointer_default(unique) ] interface ICaoEngine : IDispatch { [propget, id(1), helpstring("Property EngineStatus")] HRESULT EngineStatus([out, retval] ICaoEngineStatus **ppICaoEngineStatus); [propget, id(2), helpstring("Property Workspaces")] HRESULT Workspaces([out, retval] ICaoWorkspaces **ppICaoWSs); [id(3), helpstring("Method AddWorkspace")] HRESULT AddWorkspace([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoWorkspace **ppICaoWS); [id(4), helpstring("Method Execute")] HRESULT Execute([in] VARIANT vntCommand, [out, retval] VARIANT *pVal); }; // ICaoWorkspaces Interface [ object,

ORiN2 仕様書 212

Version 1.0, August 25, 2005 ORiN Forum

uuid(8dcdfb4e-cf07-47ca-895f-db1d5afa8f74), dual, helpstring("ICaoWorkspaces Interface"), pointer_default(unique) ] interface ICaoWorkspaces : IDispatch { [propget, id(-4), helpstring("Property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] LPUNKNOWN *pVal); [id(0), helpstring("Method Item")] HRESULT Item([in] VARIANT Index, [out, retval] ICaoWorkspace **ppICaoWS); [propget, id(1), helpstring("Property Count")] HRESULT Count([out, retval] long *pVal); [id(2), helpstring("Method Add")] HRESULT Add([in] BSTR bstrName,[in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoWorkspace **ppICaoWS); [id(3), helpstring("Method Remove")] HRESULT Remove([in] VARIANT Index); [id(4), helpstring("Method Clear")] HRESULT Clear(); [id(5), helpstring("Method IsMember")] HRESULT IsMember([in] VARIANT Index, [out, retval] VARIANT_BOOL *pVal); }; // ICaoWorkspace Interface [ object, uuid(0ed07c17-b078-40cf-9b0f-3a4974de55e5), dual, helpstring("ICaoWorkspace Interface"), pointer_default(unique) ] interface ICaoWorkspace : IDispatch { [id(1), helpstring("Method _PutIndex"), restricted] HRESULT _PutIndex([in] long newVal); [propget, id(2), helpstring("Property Controllers")] HRESULT Controllers([out, retval] ICaoControllers **ppICaoCtrls); [propget, id(3), helpstring("Property Index")] HRESULT Index([out, retval] long *pVal); [propget, id(4), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(5), helpstring("Property ProviderNames")] HRESULT ProviderNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [id(6), helpstring("Method AddController")] HRESULT AddController([in] BSTR bstrController, [in] BSTR bstrProvider, [in, defaultvalue("")] BSTR bstrMachine, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoController **ppICaoCtrl); [id(7), helpstring("Method Execute")] HRESULT Execute([in] VARIANT vntCommand, [out, retval] VARIANT *pVal); }; // ICaoControllers Interface [ object, uuid(474b2753-9f06-41e0-840b-1f26b1ac1c2c), dual, helpstring("ICaoControllers Interface"), pointer_default(unique) ] interface ICaoControllers : IDispatch { [propget, id(-4), helpstring("Property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] LPUNKNOWN *pVal); [id(0), helpstring("Method Item")] HRESULT Item([in] VARIANT Index, [out, retval] ICaoController **ppICaoCtrl); [propget, id(1), helpstring("Property Count")] HRESULT Count([out, retval] long *pVal); [id(2), helpstring("Method Add")] HRESULT Add([in] BSTR bstrController, [in] BSTR bstrProvider, [in, defaultvalue("")] BSTR bstrMachine, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoController **ppICaoCtrl); [id(3), helpstring("Method Remove")] HRESULT Remove([in] VARIANT Index);

ORiN2 仕様書 213

Version 1.0, August 25, 2005 ORiN Forum

[id(4), helpstring("Method Clear")] HRESULT Clear(); [id(5), helpstring("Method IsMember")] HRESULT IsMember([in] VARIANT Index, [out, retval] VARIANT_BOOL *pVal); }; // ICaoController Interface [ object, uuid(c94e794f-ec5b-43f2-879f-777a49e7305b), dual, helpstring("ICaoController Interface"), pointer_default(unique) ] interface ICaoController : IDispatch { [id(1), helpstring("Method _PutIndex"), restricted] HRESULT _PutIndex([in] long newVal); [propget, id(2), helpstring("Property Attribute")] HRESULT Attribute([out, retval] long *pVal); [propget, id(3), helpstring("Property ExtensionNames")] HRESULT ExtensionNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(4), helpstring("Property Extensions")] HRESULT Extensions([out, retval] ICaoExtensions **ppICaoExtensions); [propget, id(5), helpstring("Property FileNames")] HRESULT FileNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(6), helpstring("Property Files")] HRESULT Files([out, retval] ICaoFiles **ppICaoFiles); [propget, id(7), helpstring("Property Help")] HRESULT Help([out, retval] BSTR *pVal); [propget, id(8), helpstring("Property Index")] HRESULT Index([out, retval] long *pVal); [propget, id(9), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(10), helpstring("Property RobotNames")] HRESULT RobotNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(11), helpstring("Property Robots")] HRESULT Robots([out, retval] ICaoRobots **ppICaoRobots); [propget, id(12), helpstring("Property Tag")] HRESULT Tag([out, retval] VARIANT *pVal); [propput, id(12), helpstring("Property Tag")] HRESULT Tag([in] VARIANT newVal); [propget, id(13), helpstring("Property TaskNames")] HRESULT TaskNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(14), helpstring("Property Tasks")] HRESULT Tasks([out, retval] ICaoTasks **ppICaoTasks); [propget, id(15), helpstring("Property VariableNames")] HRESULT VariableNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(16), helpstring("Property Variables")] HRESULT Variables([out, retval] ICaoVariables **ppICaoVariables); [propget, id(17), helpstring("Property CommandNames")] HRESULT CommandNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(18), helpstring("Property Commands")] HRESULT Commands([out, retval] ICaoCommands **ppICaoCommands); [propget, id(19), helpstring("Property ID")] HRESULT ID([out, retval] VARIANT *pVal); [propput, id(19), helpstring("Property ID")] HRESULT ID([in] VARIANT newVal); [id(20), helpstring("Method AddExtension")] HRESULT AddExtension([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoExtension **ppICaoExtension); [id(21), helpstring("Method AddFile")] HRESULT AddFile([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoFile **ppICaoFile); [id(22), helpstring("Method AddRobot")] HRESULT AddRobot([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoRobot **ppICaoRobot); [id(23), helpstring("Method AddTask")] HRESULT AddTask([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoTask **ppICaoTask); [id(24), helpstring("Method AddVariable")] HRESULT AddVariable([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoVariable **ppICaoVar); [id(25), helpstring("Method AddCommand")] HRESULT AddCommand([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoCommand **ppICaoCommand); [id(26), helpstring("Method Execute")] HRESULT Execute([in] VARIANT vntCommand, [out, retval] VARIANT *pVal); [id(27), helpstring("Method GetMessage")] HRESULT GetMessage([out, retval] ICaoMessage **ppICaoMessage); }; // ICaoExtensions Interface

ORiN2 仕様書 214

Version 1.0, August 25, 2005 ORiN Forum

[ object, uuid(c5cd2d49-d7b9-4c6d-8d0d-56a566b78042), dual, helpstring("ICaoExtensions Interface"), pointer_default(unique) ] interface ICaoExtensions : IDispatch { [propget, id(-4), helpstring("Property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] LPUNKNOWN *pVal); [id(0), helpstring("Method Item")] HRESULT Item([in] VARIANT Index, [out, retval] ICaoExtension **ppICaoExtension); [propget, id(1), helpstring("Property Count")] HRESULT Count([out, retval] long *pVal); [id(2), helpstring("Method Add")] HRESULT Add([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoExtension **ppICaoExtension); [id(3), helpstring("Method Remove")] HRESULT Remove([in] VARIANT Index); [id(4), helpstring("Method Clear")] HRESULT Clear(); [id(5), helpstring("Method IsMember")] HRESULT IsMember([in] VARIANT Index, [out, retval] VARIANT_BOOL *pVal); }; // ICaoExtension Interface [ object, uuid(a2e8ab44-325e-4fd8-8e92-55a91d213d19), dual, helpstring("ICaoExtension Interface"), pointer_default(unique) ] interface ICaoExtension : IDispatch { [id(1), helpstring("Method _PutIndex"), restricted] HRESULT _PutIndex([in] long newVal); [propget, id(2), helpstring("Property Attribute")] HRESULT Attribute([out, retval] long *pVal); [propget, id(3), helpstring("Property Help")] HRESULT Help([out, retval] BSTR *pVal); [propget, id(4), helpstring("Property Index")] HRESULT Index([out, retval] long *pVal); [propget, id(5), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(6), helpstring("Property Tag")] HRESULT Tag([out, retval] VARIANT *pVal); [propput, id(6), helpstring("Property Tag")] HRESULT Tag([in] VARIANT newVal); [propget, id(7), helpstring("Property VariableNames")] HRESULT VariableNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(8), helpstring("Property Variables")] HRESULT Variables([out, retval] ICaoVariables **ppICaoVariables); [propget, id(9), helpstring("Property ID")] HRESULT ID([out, retval] VARIANT *pVal); [propput, id(9), helpstring("Property ID")] HRESULT ID([in] VARIANT newVal); [id(10), helpstring("Method AddVariable")] HRESULT AddVariable([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoVariable **ppICaoVar); [id(11), helpstring("Method Execute")] HRESULT Execute([in] VARIANT vntCommand, [out, retval] VARIANT *pVal); }; // ICaoFiles Interface [ object, uuid(9f1e5eaf-4c53-4718-9d79-efc3f8758d02), dual, helpstring("ICaoFiles Interface"), pointer_default(unique) ] interface ICaoFiles : IDispatch { [propget, id(-4), helpstring("Property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] LPUNKNOWN *pVal); [id(0), helpstring("Method Item")] HRESULT Item([in] VARIANT Index, [out, retval] ICaoFile

ORiN2 仕様書 215

Version 1.0, August 25, 2005 ORiN Forum

**ppICaoFile); [propget, id(1), helpstring("Property Count")] HRESULT Count([out, retval] long *pVal); [id(2), helpstring("Method Add")] HRESULT Add([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoFile **ppICaoFile); [id(3), helpstring("Method Remove")] HRESULT Remove([in] VARIANT Index); [id(4), helpstring("Method Clear")] HRESULT Clear(); [id(5), helpstring("Method IsMember")] HRESULT IsMember([in] VARIANT Index, [out, retval] VARIANT_BOOL *pVal); }; // ICaoFile Interface [ object, uuid(9a4617d6-3e02-499d-a1b9-3d33bca0569f), dual, helpstring("ICaoFile Interface"), pointer_default(unique) ] interface ICaoFile : IDispatch { [propget, id(0), helpstring("Property Value")] HRESULT Value([out, retval] VARIANT *pVal); [propput, id(0), helpstring("Property Value")] HRESULT Value([in] VARIANT newVal); [id(1), helpstring("Method _PutIndex"), restricted] HRESULT _PutIndex([in] long newVal); [propget, id(2), helpstring("Property Attribute")] HRESULT Attribute([out, retval] long *pVal); [propget, id(3), helpstring("Property DateCreated")] HRESULT DateCreated([out, retval] VARIANT *pVal); [propget, id(4), helpstring("Property DateLastAccessed")] HRESULT DateLastAccessed([out, retval] VARIANT *pVal); [propget, id(5), helpstring("Property DateLastModified")] HRESULT DateLastModified([out, retval] VARIANT *pVal); [propget, id(6), helpstring("Property FileNames")] HRESULT FileNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(7), helpstring("Property Files")] HRESULT Files([out, retval] ICaoFiles **ppICaoFiles); [propget, id(8), helpstring("Property Help")] HRESULT Help([out, retval] BSTR *pVal); [propget, id(9), helpstring("Property Index")] HRESULT Index([out, retval] long *pVal); [propget, id(10), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(11), helpstring("Property Path")] HRESULT Path([out, retval] BSTR *pVal); [propget, id(12), helpstring("Property Size")] HRESULT Size([out, retval] long *pVal); [propget, id(13), helpstring("Property Tag")] HRESULT Tag([out, retval] VARIANT *pVal); [propput, id(13), helpstring("Property Tag")] HRESULT Tag([in] VARIANT newVal); [propget, id(14), helpstring("Property Type")] HRESULT Type([out, retval] BSTR *pVal); [propget, id(15), helpstring("Property VariableNames")] HRESULT VariableNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(16), helpstring("Property Variables")] HRESULT Variables([out, retval] ICaoVariables **ppICaoVariables); [propget, id(17), helpstring("Property ID")] HRESULT ID([out, retval] VARIANT *pVal); [propput, id(17), helpstring("Property ID")] HRESULT ID([in] VARIANT newVal); [id(18), helpstring("Method AddFile")] HRESULT AddFile([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoFile **ppICaoFile); [id(19), helpstring("Method AddVariable")] HRESULT AddVariable([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoVariable **ppICaoVar); [id(20), helpstring("Method Copy")] HRESULT Copy([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption); [id(21), helpstring("Method Delete")] HRESULT Delete([in, defaultvalue("")] BSTR bstrOption); [id(22), helpstring("Method Execute")] HRESULT Execute([in] VARIANT vntCommand, [out, retval] VARIANT *pVal); [id(23), helpstring("Method Move")] HRESULT Move([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption); [id(24), helpstring("Method Run")] HRESULT Run([in, defaultvalue("")] BSTR bstrOption, [out, retval] BSTR *bstrName); }; // ICaoRobots Interface

ORiN2 仕様書 216

Version 1.0, August 25, 2005 ORiN Forum

[ object, uuid(76cddba4-09e9-4292-95ef-1a5a85dcbea9), dual, helpstring("ICaoRobots Interface"), pointer_default(unique) ] interface ICaoRobots : IDispatch { [propget, id(-4), helpstring("Property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] LPUNKNOWN *pVal); [id(0), helpstring("Method Item")] HRESULT Item([in] VARIANT Index, [out, retval] ICaoRobot **ppICaoRobot); [propget, id(1), helpstring("Property Count")] HRESULT Count([out, retval] long *pVal); [id(2), helpstring("Method Add")] HRESULT Add([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoRobot **ppICaoRobot); [id(3), helpstring("Method Remove")] HRESULT Remove([in] VARIANT Index); [id(4), helpstring("Method Clear")] HRESULT Clear(); [id(5), helpstring("Method IsMember")] HRESULT IsMember([in] VARIANT Index, [out, retval] VARIANT_BOOL *pVal); }; // ICaoRobot Interface [ object, uuid(02105032-6ae1-4251-a72f-9aadc04f6659), dual, helpstring("ICaoRobot Interface"), pointer_default(unique) ] interface ICaoRobot : IDispatch { [id(1), helpstring("Method _PutIndex"), restricted] HRESULT _PutIndex([in] long newVal); [propget, id(2), helpstring("Property Attribute")] HRESULT Attribute([out, retval] long *pVal); [propget, id(3), helpstring("Property Help")] HRESULT Help([out, retval] BSTR *pVal); [propget, id(4), helpstring("Property Index")] HRESULT Index([out, retval] long *pVal); [propget, id(5), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(6), helpstring("Property Tag")] HRESULT Tag([out, retval] VARIANT *pVal); [propput, id(6), helpstring("Property Tag")] HRESULT Tag([in] VARIANT newVal); [propget, id(7), helpstring("Property VariableNames")] HRESULT VariableNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(8), helpstring("Property Variables")] HRESULT Variables([out, retval] ICaoVariables **ppICaoVariables); [propget, id(9), helpstring("Property ID")] HRESULT ID([out, retval] VARIANT *pVal); [propput, id(9), helpstring("Property ID")] HRESULT ID([in] VARIANT newVal); [id(10), helpstring("Method Accelerate")] HRESULT Accelerate([in] long lAxis, [in] float fAccel, [in, defaultvalue(0)] float fDecel); [id(11), helpstring("Method AddVariable")] HRESULT AddVariable([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoVariable **ppICaoVar); [id(12), helpstring("Method Cancel")] HRESULT Cancel([in, defaultvalue("")] BSTR bstrOption); [id(13), helpstring("Method Change")] HRESULT Change([in] BSTR bstrName); [id(14), helpstring("Method Chuck")] HRESULT Chuck([in, defaultvalue("")] BSTR bstrOption); [id(15), helpstring("Method Drive")] HRESULT Drive([in] long lNo, [in] float fMov, [in, defaultvalue("")] BSTR bstrOpt ); [id(16), helpstring("Method Execute")] HRESULT Execute([in] VARIANT vntCommand, [out, retval] VARIANT *pVal); [id(17), helpstring("Method GoHome")] HRESULT GoHome(); [id(18), helpstring("Method Move")] HRESULT Move([in] long lComp, [in] VARIANT vntPose, [in, defaultvalue("")] BSTR bstrOpt ); [id(19), helpstring("Method Rotate")] HRESULT Rotate([in] VARIANT vntRotSuf, [in] float fDeg, [in] VARIANT vntPivot, [in, defaultvalue("")] BSTR bstrOpt ); [id(20), helpstring("Method Speed")] HRESULT Speed([in] long lAxis, [in] float fSpeed); [id(21), helpstring("Method Unchuck")] HRESULT Unchuck([in, defaultvalue("")] BSTR bstrOption); };

ORiN2 仕様書 217

Version 1.0, August 25, 2005 ORiN Forum

// ICaoTasks Interface [ object, uuid(a2a35844-148b-4762-8b41-68015bbc26f7), dual, helpstring("ICaoTasks Interface"), pointer_default(unique) ] interface ICaoTasks : IDispatch { [propget, id(-4), helpstring("Property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] LPUNKNOWN *pVal); [id(0), helpstring("Method Item")] HRESULT Item([in] VARIANT Index, [out, retval] ICaoTask **ppICaoTask); [propget, id(1), helpstring("Property Count")] HRESULT Count([out, retval] long *pVal); [id(2), helpstring("Method Add")] HRESULT Add([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoTask **ppICaoTask); [id(3), helpstring("Method Remove")] HRESULT Remove([in] VARIANT Index); [id(4), helpstring("Method Clear")] HRESULT Clear(); [id(5), helpstring("Method IsMember")] HRESULT IsMember([in] VARIANT Index, [out, retval] VARIANT_BOOL *pVal); }; // ICaoTask Interface [ object, uuid(cc23c152-1d58-4c70-bd1b-539fd0329ae2), dual, helpstring("ICaoTask Interface"), pointer_default(unique) ] interface ICaoTask : IDispatch { [id(1), helpstring("Method _PutIndex"), restricted] HRESULT _PutIndex([in] long newVal); [propget, id(2), helpstring("Property Attribute")] HRESULT Attribute([out, retval] long *pVal); [propget, id(3), helpstring("Property FileName")] HRESULT FileName([out, retval] BSTR *pVal); [propget, id(4), helpstring("Property Help")] HRESULT Help([out, retval] BSTR *pVal); [propget, id(5), helpstring("Property Index")] HRESULT Index([out, retval] long *pVal); [propget, id(6), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(7), helpstring("Property Tag")] HRESULT Tag([out, retval] VARIANT *pVal); [propput, id(7), helpstring("Property Tag")] HRESULT Tag([in] VARIANT newVal); [propget, id(8), helpstring("Property VariableNames")] HRESULT VariableNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(9), helpstring("Property Variables")] HRESULT Variables([out, retval] ICaoVariables **ppICaoVariables); [propget, id(10), helpstring("Property ID")] HRESULT ID([out, retval] VARIANT *pVal); [propput, id(10), helpstring("Property ID")] HRESULT ID([in] VARIANT newVal); [id(11), helpstring("Method AddVariable")] HRESULT AddVariable([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoVariable **ppICaoVar); [id(12), helpstring("Method Delete")] HRESULT Delete([in, defaultvalue("")] BSTR bstrOption); [id(13), helpstring("Method Execute")] HRESULT Execute([in] VARIANT vntCommand, [out, retval] VARIANT *pVal); [id(14), helpstring("Method Start")] HRESULT Start([in, defaultvalue(0)] long lMode, [in, defaultvalue("")] BSTR bstrOption); [id(15), helpstring("Method Stop")] HRESULT Stop([in, defaultvalue(0)] long lMode, [in, defaultvalue("")] BSTR bstrOption); }; // ICaoVariables [ object, uuid(8d392e7a-eb9e-46ef-86c6-8e7acd0eceab), dual, helpstring("ICaoVariables Interface"), pointer_default(unique)

ORiN2 仕様書 218

Version 1.0, August 25, 2005 ORiN Forum

] interface ICaoVariables : IDispatch { [propget, id(-4), helpstring("Property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] LPUNKNOWN *pVal); [id(0), helpstring("Method Item")] HRESULT Item([in] VARIANT Index, [out, retval] ICaoVariable **ppICaoVar); [propget, id(1), helpstring("Property Count")] HRESULT Count([out, retval] long *pVal); [id(2), helpstring("Method Add")] HRESULT Add([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoVariable **ppICaoVar); [id(3), helpstring("Method Remove")] HRESULT Remove([in] VARIANT Index); [id(4), helpstring("Method Clear")] HRESULT Clear(); [id(5), helpstring("Method IsMember")] HRESULT IsMember([in] VARIANT Index, [out, retval] VARIANT_BOOL *pVal); }; // ICaoVariable Interface [ object, uuid(3dc12940-6c7b-43e4-b375-136c3e6e7e3a), dual, helpstring("ICaoVariable Interface"), pointer_default(unique) ] interface ICaoVariable : IDispatch { [propget, id(0), helpstring("Property Value")] HRESULT Value([out, retval] VARIANT *pVal); [propput, id(0), helpstring("Property Value")] HRESULT Value([in] VARIANT newVal); [id(1), helpstring("Method _PutIndex"), restricted] HRESULT _PutIndex([in] long newVal); [propget, id(2), helpstring("Property Attribute")] HRESULT Attribute([out, retval] long *pVal); [propget, id(3), helpstring("Property DateTime")] HRESULT DateTime([out, retval] VARIANT *pVal); [propget, id(4), helpstring("Property Help")] HRESULT Help([out, retval] BSTR *pVal); [propget, id(5), helpstring("Property Index")] HRESULT Index([out, retval] long *pVal); [propget, id(6), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(7), helpstring("Property Tag")] HRESULT Tag([out, retval] VARIANT *pVal); [propput, id(7), helpstring("Property Tag")] HRESULT Tag([in] VARIANT newVal); [propget, id(8), helpstring("Property ID")] HRESULT ID([out, retval] VARIANT *pVal); [propput, id(8), helpstring("Property ID")] HRESULT ID([in] VARIANT newVal); [propget, id(9), helpstring("Property Microsecond")] HRESULT Microsecond([out, retval] long *pVal); }; // ICaoCommands Interface [ object, uuid(480CA4D6-ADCB-4cb4-812B-7E41BE891E03), dual, helpstring("ICaoCommands Interface"), pointer_default(unique) ] interface ICaoCommands : IDispatch { [propget, id(-4), helpstring("Property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] LPUNKNOWN *pVal); [id(0), helpstring("Method Item")] HRESULT Item([in] VARIANT Index, [out, retval] ICaoCommand **ppICaoCommand); [propget, id(1), helpstring("Property Count")] HRESULT Count([out, retval] long *pVal); [id(2), helpstring("Method Add")] HRESULT Add([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoCommand **ppICaoCommand); [id(3), helpstring("Method Remove")] HRESULT Remove([in] VARIANT Index); [id(4), helpstring("Method Clear")] HRESULT Clear(); [id(5), helpstring("Method IsMember")] HRESULT IsMember([in] VARIANT Index, [out, retval]

ORiN2 仕様書 219

Version 1.0, August 25, 2005 ORiN Forum

VARIANT_BOOL *pVal); }; // ICaoCommand Interface [ object, uuid(3DA3B42D-EA6A-468b-A57F-C375DEFD11E9), dual, helpstring("ICaoCommand Interface"), pointer_default(unique) ] interface ICaoCommand : IDispatch { [id(1), helpstring("Method _PutIndex"), restricted] HRESULT _PutIndex([in] long newVal); [propget, id(2), helpstring("Property Attribute")] HRESULT Attribute([out, retval] long *pVal); [propget, id(3), helpstring("Property Help")] HRESULT Help([out, retval] BSTR *pVal); [propget, id(4), helpstring("Property Index")] HRESULT Index([out, retval] long *pVal); [propget, id(5), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(6), helpstring("Property Parameters")] HRESULT Parameters([out, retval] VARIANT *pVal); [propput, id(6), helpstring("Property Parameters")] HRESULT Parameters([in] VARIANT newVal); [propget, id(7), helpstring("Property Result")] HRESULT Result([out, retval] VARIANT *pVal); [propget, id(8), helpstring("Property State")] HRESULT State([out, retval] long *pVal); [propget, id(9), helpstring("Property Tag")] HRESULT Tag([out, retval] VARIANT *pVal); [propput, id(9), helpstring("Property Tag")] HRESULT Tag([in] VARIANT newVal); [propget, id(10), helpstring("Property Timeout")] HRESULT Timeout([out, retval] long *pVal); [propput, id(10), helpstring("Property Timeout")] HRESULT Timeout([in] long newVal); [propget, id(11), helpstring("Property ID")] HRESULT ID([out, retval] VARIANT *pVal); [propput, id(11), helpstring("Property ID")] HRESULT ID([in] VARIANT newVal); [id(12), helpstring("Method Cancel")] HRESULT Cancel(); [id(13), helpstring("Method Execute")] HRESULT Execute([in, defaultvalue(0)] long lMode); }; // ICaoMessage Interface [ object, uuid(964497c9-a444-48e3-ad6c-78b1fa5be46f), dual, helpstring("ICaoMessage Interface"), pointer_default(unique) ] interface ICaoMessage : IDispatch { [propget, id(1), helpstring("Property DateTime")] HRESULT DateTime([out, retval] VARIANT *pVal); [propget, id(2), helpstring("Property Description")] HRESULT Description([out, retval] BSTR *pVal); [propget, id(3), helpstring("Property Destination")] HRESULT Destination([out, retval] BSTR *pVal); [propget, id(4), helpstring("Property Number")] HRESULT Number([out, retval] long *pVal); [propget, id(5), helpstring("Property SerialNumber")] HRESULT SerialNumber([out, retval] long *pVal); [propget, id(6), helpstring("Property Source")] HRESULT Source([out, retval] BSTR *pVal); [propget, id(7), helpstring("Property Value")] HRESULT Value([out, retval] VARIANT *pVal); [id(8), helpstring("Method Clear")] HRESULT Clear(); [id(9), helpstring("Method Reply")] HRESULT Reply(VARIANT vntData); }; // ICaoEngineStatus Interface [ object, uuid(9b77d6e0-b941-4513-8a63-08c59c992991), dual, helpstring("ICaoEngineStatus Interface"), pointer_default(unique)

ORiN2 仕様書 220

Version 1.0, August 25, 2005 ORiN Forum

] interface ICaoEngineStatus : IDispatch { [propget, id(1), helpstring("Property CurrentDateTime")] HRESULT CurrentDateTime([out, retval] VARIANT *pVal); [propget, id(2), helpstring("Property ComputerName")] HRESULT ComputerName([out, retval] BSTR *pVal); [propget, id(3), helpstring("Property ObjectCounts")] HRESULT ObjectCounts([in] VARIANT vntName, [out, retval] long *pVal); [propget, id(4), helpstring("Property StartDateTime")] HRESULT StartDateTime([out, retval] VARIANT *pVal); [propget, id(5), helpstring("Property Values")] HRESULT Values([in] VARIANT vntName, [out, retval] VARIANT *pVal); [propget, id(6), helpstring("Property Version")] HRESULT Version([out, retval] BSTR *pVal); }; // IEventSink Interface [ object, uuid(2b27bcbf-c3c2-45dd-ba66-8ac0fa898c1c), dual, helpstring("IEventSink Interface"), pointer_default(unique) ] interface IEventSink : IDispatch { [id(1), helpstring("Method OnMessage")] HRESULT OnMessage([in] IUnknown *pVal, [in, defaultvalue(0)] long lOption); }; /* ---------------------- */ /* CAO Object Definitions */ /* ---------------------- */ [ uuid(e2f77a83-3965-44e7-99a5-e75c6b07d59c), version(1.0), helpstring("CAO 1.0 タイプ ライブラリ") ] library CAOLib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); // _ICaoControllerEvents dispinterface [ uuid(a7b43ef1-0215-4940-a6f6-21744b8cba52), helpstring("_ICaoControllerEvents Interface") ] dispinterface _ICaoControllerEvents { properties: methods: [id(1), helpstring("Method OnMessage")] HRESULT OnMessage([in] ICaoMessage* pICaoMess); }; // _ICaoommandEvents dispinterface [ uuid(DC17F478-F7B2-4ce7-819D-8EF34F70E351), helpstring("_ICaoCommandsEvents Interface") ] dispinterface _ICaoCommandsEvents { properties: methods: [id(1), helpstring("Method ExecuteComplete")] HRESULT ExecuteComplete([in] long lID); };

ORiN2 仕様書 221

Version 1.0, August 25, 2005 ORiN Forum

// CaoEngine Class [ uuid(60555f1b-e473-4250-bb43-933990fbeced), helpstring("CaoEngine Class") ] coclass CaoEngine { [default] interface ICaoEngine; }; // CaoWorkspaces Class [ uuid(f7430785-4ec2-4193-8552-f5cb2d6be732), helpstring("CaoWorkspaces Class") ] coclass CaoWorkspaces { [default] interface ICaoWorkspaces; }; // CaoWorkspace Class [ uuid(22fc99b8-9c3a-48c9-9f4d-8eee16ed365a), helpstring("CaoWorkspace Class") ] coclass CaoWorkspace { [default] interface ICaoWorkspace; }; // CaoControllers Class [ uuid(41c404be-bfd1-40ce-8454-2f47e04a09b1), helpstring("CaoControllers Class") ] coclass CaoControllers { [default] interface ICaoControllers; }; // CaoController Class [ uuid(d1baa44e-9ca9-4075-8ad1-481aa21434a8), helpstring("CaoController Class") ] coclass CaoController { [default] interface ICaoController; [default, source] dispinterface _ICaoControllerEvents; }; // CaoExtensions Class [ uuid(0AF9CEC7-4F11-4EA4-8033-142CF4E45512), helpstring("CaoExtensions Class") ] coclass CaoExtensions { [default] interface ICaoExtensions; }; // CaoExtension Class [ uuid(FE266A3E-9435-4F25-85E2-B4350A378B81), helpstring("CaoExtension Class") ] coclass CaoExtension { [default] interface ICaoExtension; };

ORiN2 仕様書 222

Version 1.0, August 25, 2005 ORiN Forum

// CaoFiles Class [ uuid(2d662501-91ce-49e0-bafa-453a2d610b50), helpstring("CaoFiles Class") ] coclass CaoFiles { [default] interface ICaoFiles; }; // CaoFile Class [ uuid(b7466915-2234-4382-b9e7-da74a34acaff), helpstring("CaoFile Class") ] coclass CaoFile { [default] interface ICaoFile; }; // CaoRobots Class [ uuid(f6981128-7e0f-4159-86b0-7397eb1596a3), helpstring("CaoRobots Class") ] coclass CaoRobots { [default] interface ICaoRobots; }; // CaoRobot Class [ uuid(c486acdd-451e-4fb5-a20b-3cc747f8cc2e), helpstring("CaoRobot Class") ] coclass CaoRobot { [default] interface ICaoRobot; }; // CaoTasks Class [ uuid(eb5211bb-dd98-4e91-b84f-a619f636de30), helpstring("CaoTasks Class") ] coclass CaoTasks { [default] interface ICaoTasks; }; // CaoTask Class [ uuid(1ab45162-d81d-475c-a73f-3f9bbc0f0768), helpstring("CaoTask Class") ] coclass CaoTask { [default] interface ICaoTask; }; // CaoVariables Class [ uuid(5691304f-610a-4645-8d58-64138e059824), helpstring("CaoVariables Class") ] coclass CaoVariables { [default] interface ICaoVariables; };

ORiN2 仕様書 223

Version 1.0, August 25, 2005 ORiN Forum

// CaoVariable Class [ uuid(2c9b6656-32d1-425c-ad61-536c5a07c773), helpstring("CaoVariable Class") ] coclass CaoVariable { [default] interface ICaoVariable; }; // CaoCommands Class [ uuid(887FFEAF-3E41-4d54-A558-DE75E7E11B44), helpstring("CaoCommands Class") ] coclass CaoCommands { [default] interface ICaoCommands; [default, source] dispinterface _ICaoCommandsEvents; }; // CaoCommand Class [ uuid(9289DBE4-ADEC-4001-9CF0-C58C756B2E79), helpstring("CaoCommand Class") ] coclass CaoCommand { [default] interface ICaoCommand; }; // CaoMessage Class [ uuid(4f2f3700-71c8-452a-81ac-5a8539b8a5c6), helpstring("CaoMessage Class"), ] coclass CaoMessage { [default] interface ICaoMessage; }; // CaoEngineStatus Class [ uuid(f5e9b29c-e1d6-4f78-ac18-a85ae49dbbb2), helpstring("CaoEngineStatus Class") ] coclass CaoEngineStatus { [default] interface ICaoEngineStatus; }; // EventSink Class [ uuid(12654e13-f7bc-4f1a-831d-a7a93e733cb7), helpstring("EventSink Class") ] coclass EventSink { [default] interface IEventSink; }; };

A.2. DCOM-CAO Provider IDL

List 4-2 CaoProv.id l

ORiN2 仕様書 224

Version 1.0, August 25, 2005 ORiN Forum

/** @file CaoProv.idl * * @brief CAOPROV.dll 用の IDL ソース ファイル * * このファイルはタイプ ライブラリ (CAOPROV.tlb) を作成するために<br> * タイプ ライブラリ作成ツール MIDL によって処理されます. * * @version 1.0 * @date 2003/8/8 * @author DENSO WAVE * */ // 以下のコメントアウトを外し,UUIDなどを上書きします. // その際には,全てのUUIDを変更するようにして下さい.一部だけ変更すると,不測の状態を招きます. // 新しいUUIDを生成するには,uuidgen.exe -n8 を実行します. /* #define CAOPROV_TYPELIB 4dc66a5a-9b6e-4261-a1ef-6fb6017d8c4c // (注) この値は,.rgs ファイルの'TypeLib'の値と一致させること! #define CAOPROV_TYPELIB_HELP "CAOPROV 1.0 タイプ ライブラリ" #define CAOPROV_TYPELIB_VER 1.0 #define CAOPROV_CONTROLLER b0aaafa4-42a6-4063-89cb-de288dd26f58 // (注) この値は,.rgs ファイルの CLSID & AppID の値と一致させること! #define CAOPROV_EXTENSION 893a5aea-2d8b-4404-91e9-447e5ce93310 #define CAOPROV_FILE b62e56b0-42ab-460d-8278-83191ce7c6f1 #define CAOPROV_ROBOT c813051e-b391-4aa5-b22f-613b6b1fd6d4 #define CAOPROV_TASK 5013642b-e8ac-4377-ad3c-9ac6edbadf3f #define CAOPROV_VARIABLE 479ff09a-65a1-4f50-a63c-15c8d9b14cb6 #define CAOPROV_MESSAGE 6bdc21c0-f6c1-4e73-a59b-8369e3b57a20 #define CAOPROV_COMMAND 3a43c9e7-fd90-4a7d-bb33-42bdcef82fb4 */ // >>>>>>>>>> これ以降は編集しないで下さい.<<<<<<<<<< #include "CAOPROVIF.idl"

List 4-3 CaoProvIF.idl

/** @file CAOPROVIF.idl * * @brief CAO Provider インタフェース定義ファイル * * @version 1.0 * @date 2003/8/8 * @author DENSO WAVE * */ // >>>>>>>>>> このファイルは編集しないで下さい.<<<<<<<<<< #ifndef CAOPROV_TYPELIB #define CAOPROV_TYPELIB 4489ef8d-cf16-414e-9d93-cb9af157cff2 #endif #ifndef CAOPROV_TYPELIB_HELP #define CAOPROV_TYPELIB_HELP "CAOPROV 1.0 タイプ ライブラリ" #endif #ifndef CAOPROV_TYPELIB_VER #define CAOPROV_TYPELIB_VER 1.0 #endif #ifndef CAOPROV_CONTROLLER #define CAOPROV_CONTROLLER 1de03cfd-535f-42db-88cf-3a72bee12813

ORiN2 仕様書 225

Version 1.0, August 25, 2005 ORiN Forum

#endif #ifndef CAOPROV_EXTENSION #define CAOPROV_EXTENSION e4472ad7-05f4-4a39-a000-0831231def08 #endif #ifndef CAOPROV_FILE #define CAOPROV_FILE a6ba526c-f31b-4b74-8399-06bd3322514d #endif #ifndef CAOPROV_ROBOT #define CAOPROV_ROBOT e1ee5e51-beee-4f70-8885-8511437d1cf0 #endif #ifndef CAOPROV_TASK #define CAOPROV_TASK fcc5e43e-3bf3-4056-84ae-0048772e16e5 #endif #ifndef CAOPROV_VARIABLE #define CAOPROV_VARIABLE 490b0408-8b6f-4997-97a9-03bed8dc852b #endif #ifndef CAOPROV_COMMAND #define CAOPROV_COMMAND dea64af0-5fe3-41f0-8edc-b5d631760a9e #endif #ifndef CAOPROV_MESSAGE #define CAOPROV_MESSAGE 36f58255-c9b0-4e27-9ae5-4a6230d98b56 #endif import "oaidl.idl"; import "ocidl.idl"; /* ----------------------------- */ /* CAOPROV Interface Definitions */ /* ----------------------------- */ interface ICaoProvController; interface ICaoProvExtension; interface ICaoProvFile; interface ICaoProvRobot; interface ICaoProvTask; interface ICaoProvVariable; interface ICaoProvCommand; interface ICaoProvMessage; // ICaoProvController Interface [ object, uuid(35d6f2f9-b5d8-4467-becf-545e991fe0f4), dual, helpstring("ICaoProvController Interface"), pointer_default(unique) ] interface ICaoProvController : IDispatch { [propget, id(0), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(1), helpstring("Property Attribute")] HRESULT Attribute([out, retval] long *pVal); [propget, id(2), helpstring("Property ExtensionNames")] HRESULT ExtensionNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(3), helpstring("Property FileNames")] HRESULT FileNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(4), helpstring("Property Help")] HRESULT Help([out, retval] BSTR *pVal); [propget, id(5), helpstring("Property RobotNames")] HRESULT RobotNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(6), helpstring("Property TaskNames")] HRESULT TaskNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(7), helpstring("Property VariableNames")] HRESULT VariableNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(8), helpstring("Property CommandNames")] HRESULT CommandNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(9), helpstring("Property ID")] HRESULT ID([out, retval] VARIANT *pVal); [propput, id(9), helpstring("Property ID")] HRESULT ID([in] VARIANT newVal); [id(10), helpstring("Method Connect")] HRESULT Connect([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption); [id(11), helpstring("Method Disconnect")] HRESULT Disconnect();

ORiN2 仕様書 226

Version 1.0, August 25, 2005 ORiN Forum

[id(12), helpstring("Method GetExtension")] HRESULT GetExtension([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvExtension **ppCaoProvExtension); [id(13), helpstring("Method GetFile")] HRESULT GetFile([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvFile **ppCaoProvFile); [id(14), helpstring("Method GetRobot")] HRESULT GetRobot([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvRobot **ppCaoProvRobot); [id(15), helpstring("Method GetTask")] HRESULT GetTask([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvTask **ppCaoProvTask); [id(16), helpstring("Method GetVariable")] HRESULT GetVariable([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvVariable **ppCaoProvVar); [id(17), helpstring("Method GetCommand")] HRESULT GetCommand([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvCommand **ppCaoProvCommand); [id(18), helpstring("Method Execute")] HRESULT Execute([in] VARIANT Command, [out, retval] VARIANT *pVal); }; // ICaoProvExtension Interface [ object, uuid(288f7a31-613e-455d-a2db-a2a1f7048418), dual, helpstring("ICaoProvExtension Interface"), pointer_default(unique) ] interface ICaoProvExtension : IDispatch { [propget, id(0), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(1), helpstring("Property Attribute")] HRESULT Attribute([out, retval] long *pVal); [propget, id(2), helpstring("Property Help")] HRESULT Help([out, retval] BSTR *pVal); [propget, id(3), helpstring("Property VariableNames")] HRESULT VariableNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(4), helpstring("Property ID")] HRESULT ID([out, retval] VARIANT *pVal); [propput, id(4), helpstring("Property ID")] HRESULT ID([in] VARIANT newVal); [id(5), helpstring("Method GetVariable")] HRESULT GetVariable([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvVariable **ppCaoProvVar); [id(6), helpstring("Method Execute")] HRESULT Execute([in] VARIANT Command, [out, retval] VARIANT *pVal); }; // ICaoProvFile Interface [ object, uuid(14d6e888-40fe-4ce3-a61c-c5847236339e), dual, helpstring("ICaoProvFile Interface"), pointer_default(unique) ] interface ICaoProvFile : IDispatch { [propget, id(0), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(1), helpstring("Property Attribute")] HRESULT Attribute([out, retval] long *pVal); [propget, id(2), helpstring("Property DateCreated")] HRESULT DateCreated([out, retval] VARIANT *pVal); [propget, id(3), helpstring("Property DateLastAccessed")] HRESULT DateLastAccessed([out, retval] VARIANT *pVal); [propget, id(4), helpstring("Property DateLastModified")] HRESULT DateLastModified([out, retval] VARIANT *pVal); [propget, id(5), helpstring("Property FileNames")] HRESULT FileNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(6), helpstring("Property Help")] HRESULT Help([out, retval] BSTR *pVal); [propget, id(7), helpstring("Property Path")] HRESULT Path([out, retval] BSTR *pVal); [propget, id(8), helpstring("Property Size")] HRESULT Size([out, retval] long *pVal); [propget, id(9), helpstring("Property Type")] HRESULT Type([out, retval] BSTR *pVal); [propget, id(10), helpstring("Property Value")] HRESULT Value([out, retval] VARIANT *pVal); [propput, id(10), helpstring("Property Value")] HRESULT Value([in] VARIANT newVal);

ORiN2 仕様書 227

Version 1.0, August 25, 2005 ORiN Forum

[propget, id(11), helpstring("Property VariableNames")] HRESULT VariableNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(12), helpstring("Property ID")] HRESULT ID([out, retval] VARIANT *pVal); [propput, id(12), helpstring("Property ID")] HRESULT ID([in] VARIANT newVal); [id(13), helpstring("Method GetFile")] HRESULT GetFile([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvFile **ppCaoProvFile); [id(14), helpstring("Method Copy")] HRESULT Copy([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption); [id(15), helpstring("Method Delete")] HRESULT Delete([in, defaultvalue("")] BSTR bstrOption); [id(16), helpstring("Method GetVariable")] HRESULT GetVariable([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvVariable **ppCaoProvVar); [id(17), helpstring("Method Execute")] HRESULT Execute([in] VARIANT Command, [out, retval] VARIANT *pVal); [id(18), helpstring("Method Move")] HRESULT Move([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption); [id(19), helpstring("Method Run")] HRESULT Run([in, defaultvalue("")] BSTR bstrOption, [out, retval] BSTR *pVal); }; // ICaoProvRobot Interface [ object, uuid(08b49065-586e-4819-9992-dc7b5dc26f3e), dual, helpstring("ICaoProvRobot Interface"), pointer_default(unique) ] interface ICaoProvRobot : IDispatch { [propget, id(0), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(1), helpstring("Property Attribute")] HRESULT Attribute([out, retval] long *pVal); [propget, id(2), helpstring("Property Help")] HRESULT Help([out, retval] BSTR *pVal); [propget, id(3), helpstring("Property VariableNames")] HRESULT VariableNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(4), helpstring("Property ID")] HRESULT ID([out, retval] VARIANT *pVal); [propput, id(4), helpstring("Property ID")] HRESULT ID([in] VARIANT newVal); [id(5), helpstring("Method GetVariable")] HRESULT GetVariable([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvVariable **ppCaoProvVar); [id(6), helpstring("Method Execute")] HRESULT Execute([in] VARIANT Command, [out, retval] VARIANT *pVal); [id(7), helpstring("Method Accelerate")] HRESULT Accelerate([in] long lAxis, [in] float fAccel, [in, defaultvalue(0)] float fDecel); [id(8), helpstring("Method Cancel")] HRESULT Cancel([in, defaultvalue("")] BSTR bstrOption); [id(9), helpstring("Method Change")] HRESULT Change([in] BSTR bstrName); [id(10), helpstring("Method Chuck")] HRESULT Chuck([in, defaultvalue("")] BSTR bstrOption); [id(11), helpstring("Method Drive")] HRESULT Drive([in] long lNo, [in] float fMov, [in, defaultvalue("")] BSTR bstrOpt ); [id(12), helpstring("Method GoHome")] HRESULT GoHome(); [id(13), helpstring("Method Move")] HRESULT Move([in] long lComp, [in] VARIANT vntPose, [in, defaultvalue("")] BSTR bstrOpt ); [id(14), helpstring("Method Rotate")] HRESULT Rotate([in] VARIANT vntRotSuf, [in] float fDeg, [in] VARIANT vntPivot, [in, defaultvalue("")] BSTR bstrOpt ); [id(15), helpstring("Method Speed")] HRESULT Speed([in] long lAxis, [in] float fSpeed); [id(16), helpstring("Method Unchuck")] HRESULT Unchuck([in, defaultvalue("")] BSTR bstrOption); }; // ICaoProvTask Interface [ object, uuid(3f23b096-03ce-465e-8a91-fc861e0a3448), dual, helpstring("ICaoProvTask Interface"), pointer_default(unique) ] interface ICaoProvTask : IDispatch

ORiN2 仕様書 228

Version 1.0, August 25, 2005 ORiN Forum

{ [propget, id(0), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(1), helpstring("Property Attribute")] HRESULT Attribute([out, retval] long *pVal); [propget, id(2), helpstring("Property FileName")] HRESULT FileName([out, retval] BSTR *pVal); [propget, id(3), helpstring("Property Help")] HRESULT Help([out, retval] BSTR *pVal); [propget, id(4), helpstring("Property VariableNames")] HRESULT VariableNames([in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [propget, id(5), helpstring("Property ID")] HRESULT ID([out, retval] VARIANT *pVal); [propput, id(5), helpstring("Property ID")] HRESULT ID([in] VARIANT newVal); [id(6), helpstring("Method GetVariable")] HRESULT GetVariable([in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] ICaoProvVariable **ppCaoProvVar); [id(7), helpstring("Method Delete")] HRESULT Delete([in, defaultvalue("")] BSTR bstrOption); [id(8), helpstring("Method Execute")] HRESULT Execute([in] VARIANT Command, [out, retval] VARIANT *pVal); [id(9), helpstring("Method Start")] HRESULT Start([in, defaultvalue(0)] long lMode, [in, defaultvalue("")] BSTR bstrOption); [id(10), helpstring("Method Stop")] HRESULT Stop([in, defaultvalue(0)] long lMode, [in, defaultvalue("")] BSTR bstrOption); }; // ICaoProvVariable Interface [ object, uuid(a1702324-e8cb-48bc-a963-9bbc7ac4b7a1), dual, helpstring("ICaoProvVariable Interface"), pointer_default(unique) ] interface ICaoProvVariable : IDispatch { [propget, id(0), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(1), helpstring("Property Attribute")] HRESULT Attribute([out, retval] long *pVal); [propget, id(2), helpstring("Property DateTime")] HRESULT DateTime([out, retval] VARIANT *pVal); [propget, id(3), helpstring("Property Help")] HRESULT Help([out, retval] BSTR *pVal); [propget, id(4), helpstring("Property Value")] HRESULT Value([out, retval] VARIANT *pVal); [propput, id(4), helpstring("Property Value")] HRESULT Value([in] VARIANT newVal); [propget, id(5), helpstring("Property ID")] HRESULT ID([out, retval] VARIANT *pVal); [propput, id(5), helpstring("Property ID")] HRESULT ID([in] VARIANT newVal); [propget, id(6), helpstring("Property Microsecond")] HRESULT Microsecond([out, retval] long *pVal); }; // ICaoProvCommand Interface [ object, uuid(97455CAD-FE7C-4abb-A95F-7FE62898CD14), dual, helpstring("ICaoProvCommand Interface"), pointer_default(unique) ] interface ICaoProvCommand : IDispatch { [propget, id(0), helpstring("Property Name")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(1), helpstring("Property Attribute")] HRESULT Attribute([out, retval] long *pVal); [propget, id(2), helpstring("Property Help")] HRESULT Help([out, retval] BSTR *pVal); [propget, id(3), helpstring("Property Parameters")] HRESULT Parameters([out, retval] VARIANT *pVal); [propput, id(3), helpstring("Property Parameters")] HRESULT Parameters([in] VARIANT newVal); [propget, id(4), helpstring("Property State")] HRESULT State([out, retval] long *pVal); [propget, id(5), helpstring("Property Timeout")] HRESULT Timeout([out, retval] long *pVal); [propput, id(5), helpstring("Property Timeout")] HRESULT Timeout([in] long newVal); [propget, id(6), helpstring("Property ID")] HRESULT ID([out, retval] VARIANT *pVal); [propput, id(6), helpstring("Property ID")] HRESULT ID([in] VARIANT newVal);

ORiN2 仕様書 229

Version 1.0, August 25, 2005 ORiN Forum

[id(7), helpstring("Method Cancel")] HRESULT Cancel(); [id(8), helpstring("Method Execute")] HRESULT Execute([in, defaultvalue(0)] long lOption, [out, retval] VARIANT *pVal); }; // ICaoProvMessage Interface [ object, uuid(96920f0f-d5cd-4568-852f-b21022af8640), dual, helpstring("ICaoProvMessage Interface"), pointer_default(unique) ] interface ICaoProvMessage : IDispatch { [propget, id(1), helpstring("Property DateTime")] HRESULT DateTime([out, retval] VARIANT *pVal); [propget, id(2), helpstring("Property Description")] HRESULT Description([out, retval] BSTR *pVal); [propget, id(3), helpstring("Property Destination")] HRESULT Destination([out, retval] BSTR *pVal); [propget, id(4), helpstring("Property Number")] HRESULT Number([out, retval] long *pVal); [propget, id(5), helpstring("Property Source")] HRESULT Source([out, retval] BSTR *pVal); [propget, id(6), helpstring("Property Value")] HRESULT Value([out, retval] VARIANT *pVal); [id(7), helpstring("Method Clear")] HRESULT Clear(); [id(8), helpstring("Method Reply")] HRESULT Reply([in] VARIANT vntData); }; /* -------------------------- */ /* CAOPROV Object Definitions */ /* -------------------------- */ [ uuid(CAOPROV_TYPELIB), version(CAOPROV_TYPELIB_VER), helpstring(CAOPROV_TYPELIB_HELP) ] library CAOPROVLib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); // _ICaoProvControllerEvents dispinterface [ uuid(90ec8be4-5552-4541-86d2-5fb082bfa0f8), helpstring("_ICaoProvControllerEvents Interface") ] dispinterface _ICaoProvControllerEvents { properties: methods: [id(1), helpstring("Method OnMessage")] HRESULT OnMessage([in] ICaoProvMessage *pCaoProvMessage, [in, defaultvalue(0)] long lOption); }; // CaoProvController Class [ uuid(CAOPROV_CONTROLLER), helpstring("CaoProvController Class") ] coclass CaoProvController { [default] interface ICaoProvController; [default, source] dispinterface _ICaoProvControllerEvents; }; // CaoProvExtension Class [ uuid(CAOPROV_EXTENSION),

ORiN2 仕様書 230

Version 1.0, August 25, 2005 ORiN Forum

helpstring("CaoProvExtension Class") ] coclass CaoProvExtension { [default] interface ICaoProvExtension; }; // CaoProvFile Class [ uuid(CAOPROV_FILE), helpstring("CaoProvFile Class") ] coclass CaoProvFile { [default] interface ICaoProvFile; }; // CaoProvRobot Class [ uuid(CAOPROV_ROBOT), helpstring("CaoProvRobot Class") ] coclass CaoProvRobot { [default] interface ICaoProvRobot; }; // CaoProvTask Class [ uuid(CAOPROV_TASK), helpstring("CaoProvTask Class") ] coclass CaoProvTask { [default] interface ICaoProvTask; }; // CaoProvVariable Class [ uuid(CAOPROV_VARIABLE), helpstring("CaoProvVariable Class") ] coclass CaoProvVariable { [default] interface ICaoProvVariable; }; // CaoProvCommand Class [ uuid(CAOPROV_COMMAND), helpstring("CaoProvCommand Class") ] coclass CaoProvCommand { [default] interface ICaoProvCommand; }; // CaoProvMessage Class [ uuid(CAOPROV_MESSAGE), helpstring("CaoProvMessage Class") ] coclass CaoProvMessage { [default] interface ICaoProvMessage; }; #ifdef CAOPROV_APPEND_CLASS #include CAOPROV_APPEND_CLASS #endif

ORiN2 仕様書 231

Version 1.0, August 25, 2005 ORiN Forum

};

A.3. CORBA-CAO Engine IDL

List 4-4 CaoCorba.id l

/** @file CaoCorba.idl * * @brief Interface Definition of 'CAO Engine' for CORBA. * * @version 1.0 * @date 2004/11/01 * @author DENSO WAVE * */ /* NOTES: * There are the following differences between this OMG IDL version and the Microsoft IDL version, * because of the differences of those IDL specifications such as the system-reserved name. * * Microsoft IDL (COM) -> OMG IDL (CORBA) * ---------------------------------------------------------------------------- * - CaoControllers (interface name) -> ControllerCollection (*1) * - CaoEngine::EngineStatus -> Engine::Status * - EngineStatus::get_ObjectCount -> EngineStatus::getObjectCount * - EngineStatus::get_Values -> EngineStatus::getValues * - <all classes>::get_Attribute -> <all classes>::type * - CaoFile::get_Type -> File::fileType * - CaoController::get_VariableNames -> Controller::getVariableNames * ---------------------------------------------------------------------------- * (*1) All collection interfaces were changed, too. */ // >>>>>>>>>> このファイルは編集しないで下さい.<<<<<<<<<< #ifndef __CAOCORBA_IDL__ #define __CAOCORBA_IDL__ module Cao { interface Engine; interface WorkspaceCollection; interface Workspace; interface ControllerCollection; interface Controller; interface ExtensionCollection; interface Extension; interface FileCollection; interface File; interface RobotCollection; interface Robot; interface TaskCollection; interface Task; interface VariableCollection; interface Variable; interface CommandCollection; interface Command; interface Message; interface EngineStatus; interface ControllerEvents; struct Variant; typedef sequence <Variant> SafeArray; struct Variant {

ORiN2 仕様書 232

Version 1.0, August 25, 2005 ORiN Forum

unsigned short vt; any val; SafeArray sa; }; // Engine Interface interface Engine { readonly attribute EngineStatus status; readonly attribute WorkspaceCollection workspaces; Workspace addWorkspace(in wstring wszName, in wstring wszOption); Variant execute(in Variant Command); }; // WorkspaceCollection Interface interface WorkspaceCollection { readonly attribute long count; Workspace item(in Variant Index); Workspace add(in wstring wszName, in wstring wszOption); void remove(in Variant Index); void clear(); boolean isMember(in Variant Index); }; // Workspace Interface interface Workspace { readonly attribute ControllerCollection controllers; readonly attribute long index; readonly attribute wstring name; Variant getProviderNames(in wstring wszOption); Controller addController(in wstring wszName, in wstring wszProvider, in wstring wszMachine, in wstring wszOption); Variant execute(in Variant Command); }; // ControllerCollection Interface interface ControllerCollection { readonly attribute long count; Controller item(in Variant Index); Controller add(in wstring wszName, in wstring wszProvider, in wstring wszMachine, in wstring wszOption); void remove(in Variant Index); void clear(); boolean isMember(in Variant Index); }; // Controller Interface interface Controller { readonly attribute long type; readonly attribute wstring help; readonly attribute long index; readonly attribute wstring name; attribute Variant tag; attribute Variant id; readonly attribute ExtensionCollection extensions; readonly attribute FileCollection files; readonly attribute RobotCollection robots; readonly attribute TaskCollection tasks; readonly attribute VariableCollection variables; readonly attribute CommandCollection commands;

ORiN2 仕様書 233

Version 1.0, August 25, 2005 ORiN Forum

Variant getExtensionNames(in wstring wszOption); Variant getFileNames(in wstring wszOption); Variant getRobotNames(in wstring wszOption); Variant getTaskNames(in wstring wszOption); Variant getVariableNames(in wstring wszOption); Variant getCommandNames(in wstring wszOption); Extension addExtension(in wstring wszName, in wstring wszOption); File addFile(in wstring wszName, in wstring wszOption); Robot addRobot(in wstring wszName, in wstring wszOption); Task addTask(in wstring wszName, in wstring wszOption); Variable addVariable(in wstring wszName, in wstring wszOption); Command addCommand(in wstring wszName, in wstring wszOption); Variant execute(in Variant Command); Message getMessage(); }; // ExtensionCollection Interface interface ExtensionCollection { readonly attribute long count; Extension item(in Variant Index); Extension add(in wstring wszName, in wstring wszOption); void remove(in Variant Index); void clear(); boolean isMember(in Variant Index); }; // Extension Interface interface Extension { readonly attribute long type; readonly attribute wstring help; readonly attribute long index; readonly attribute wstring name; attribute Variant tag; attribute Variant id; readonly attribute VariableCollection variables; Variant getVariableNames(in wstring wszOption); Variable addVariable(in wstring wszName, in wstring wszOption); Variant execute(in Variant Command); }; // FileCollection Interface interface FileCollection { readonly attribute long count; File item(in Variant Index); File add(in wstring wszName, in wstring wszOption); void remove(in Variant Index); void clear(); boolean isMember(in Variant Index); }; // File Interface interface File { readonly attribute long type; readonly attribute wstring help; readonly attribute long index; readonly attribute wstring name; attribute Variant tag; attribute Variant id; readonly attribute Variant dateCreated;

ORiN2 仕様書 234

Version 1.0, August 25, 2005 ORiN Forum

readonly attribute Variant dateLastAccessed; readonly attribute Variant dateLastModified; readonly attribute wstring path; readonly attribute long size; readonly attribute wstring fileType; attribute Variant value; readonly attribute FileCollection files; readonly attribute VariableCollection variables; Variant getFileNames(in wstring wszOption); Variant getVariableNames(in wstring wszOption); File addFile(in wstring wszName, in wstring wszOption); Variable addVariable(in wstring wszName, in wstring wszOption); void copy(in wstring wszName, in wstring wszOption); void deleteFile(in wstring wszOption); Variant execute(in Variant Command); void move(in wstring wszName, in wstring wszOption); wstring run(in wstring wszOption); }; // RobotCollection Interface interface RobotCollection { readonly attribute long count; Robot item(in Variant Index); Robot add(in wstring wszName, in wstring wszOption); void remove(in Variant Index); void clear(); boolean isMember(in Variant Index); }; // IRobot Interface interface Robot { readonly attribute long type; readonly attribute wstring help; readonly attribute long index; readonly attribute wstring name; attribute Variant tag; attribute Variant id; readonly attribute VariableCollection variables; Variant getVariableNames(in wstring wszOption); Variable addVariable(in wstring wszName, in wstring wszOption); Variant execute(in Variant Command); void accelerate(in long lAxis, in float fAccel, in float fDecel); void cancel(in wstring wszOption); void change(in wstring wszName); void chuck(in wstring wszOption); void drive(in long lNo, in float fMov, in wstring wszOption); void goHome(); void move(in long lComp, in Variant vntPose, in wstring wszOption); void rotate(in Variant vntRotSuf, in float fDeg, in Variant vntPivot, in wstring wszOption); void speed(in long lAxis, in float fSpeed); void unchuck(in wstring wszOption); }; // ICaoTaskCollection Interface interface TaskCollection { readonly attribute long count; Task item(in Variant Index); Task add(in wstring wszName, in wstring wszOption);

ORiN2 仕様書 235

Version 1.0, August 25, 2005 ORiN Forum

void remove(in Variant Index); void clear(); boolean isMember(in Variant Index); }; // ITask Interface interface Task { readonly attribute long type; readonly attribute wstring help; readonly attribute long index; readonly attribute wstring name; attribute Variant tag; attribute Variant id; readonly attribute wstring fileName; readonly attribute VariableCollection variables; Variant getVariableNames(in wstring wszOption); Variable addVariable(in wstring wszName, in wstring wszOption); Variant execute(in Variant Command); void deleteTask(in wstring wszOption); void start(in long lMode, in wstring wszOption); void stop(in long lMode, in wstring wszOption); }; // VariableCollection Interface interface VariableCollection { readonly attribute long count; Variable item(in Variant Index); Variable add(in wstring wszName, in wstring wszOption); void remove(in Variant Index); void clear(); boolean isMember(in Variant Index); }; //IVariable Interface interface Variable { readonly attribute long type; readonly attribute wstring help; readonly attribute long index; readonly attribute wstring name; readonly attribute long microsecond; attribute Variant tag; attribute Variant id; readonly attribute Variant dateTime; attribute Variant value; }; // CommandCollection Interface interface CommandCollection { readonly attribute long count; Command item(in Variant Index); Command add(in wstring wszName, in wstring wszOption); void remove(in Variant Index); void clear(); boolean isMember(in Variant Index); }; // Command Interface interface Command { readonly attribute long type; readonly attribute wstring help;

ORiN2 仕様書 236

Version 1.0, August 25, 2005 ORiN Forum

readonly attribute long index; readonly attribute wstring name; attribute Variant tag; attribute Variant id; attribute Variant parameters; attribute long timeout; readonly attribute Variant result; readonly attribute long state; Variant execute(in long lOption); void cancel(); }; // IMessage Interface interface Message { readonly attribute Variant dateTime; readonly attribute wstring description; readonly attribute wstring destination; readonly attribute long serialNumber; readonly attribute wstring source; readonly attribute Variant value; void clear(); void reply(in Variant vntData); }; // EngineStatus Interface interface EngineStatus { readonly attribute Variant currentDateTime; readonly attribute wstring computerName; readonly attribute Variant startDateTime; readonly attribute wstring version; Variant getObjectCounts(in Variant vntName); Variant getValues(in Variant vntName); }; //ControllerEvents dispinterface interface ControllerEvents { void onMessage(in Message CaopMessage); }; }; #endif

A.4. CORBA-CAO Provider IDL

List 4-5 CaoProvCorba.idl

/** @file CaoProvCorba.idl * * @brief Interface Definition of 'CAO Provider' for CORBA. * * @version 1.1 * @date 2004/11/01 * @author DENSO WAVE * */ /* NOTES:

ORiN2 仕様書 237

Version 1.0, August 25, 2005 ORiN Forum

* There are the following differences between this OMG IDL version and the Microsoft IDL version, * because of the differences of those IDL specifications such as the system-reserved name. * * Microsoft IDL (COM) -> OMG IDL (CORBA) * ---------------------------------------------------------------------------- * - <all classes>::get_Attribute -> <all classes>::type * - CaoProvFile::get_Type -> File::fileType * - CaoProvController::get_VariableNames -> Controller::getVariableNames * ---------------------------------------------------------------------------- */ // >>>>>>>>>> このファイルは編集しないで下さい.<<<<<<<<<< #ifndef __CAOPROVCORBA_IDL__ #define __CAOPROVCORBA_IDL__ module CaoProv { interface Controller; interface Extension; interface File; interface Robot; interface Task; interface Variable; interface Message; interface Command; interface ControllerEvents; struct Variant; typedef sequence <Variant> SafeArray; struct Variant { unsigned short vt; any val; SafeArray sa; }; // Controller Interface interface Controller { readonly attribute wstring name; readonly attribute long type; readonly attribute wstring help; attribute Variant id; Variant getExtensionNames(in wstring wszOption); Variant getFileNames(in wstring wszOption); Variant getRobotNames(in wstring wszOption); Variant getTaskNames(in wstring wszOption); Variant getVariableNames(in wstring wszOption); Variant getCommandNames(in wstring wszOption); void connect(in wstring wszName, in wstring wszOption, in ControllerEvents pCaoEvent); void disconnect(); Extension getExtension(in wstring wszName, in wstring wszOption); File getFile(in wstring wszName, in wstring wszOption); Robot getRobot(in wstring wszName, in wstring wszOption); Task getTask(in wstring wszName, in wstring wszOption); Variable getVariable(in wstring wszName, in wstring wszOption); Command getCommand(in wstring wszName, in wstring wszOption); Variant execute(in Variant Command); }; // Extension Interface interface Extension { readonly attribute wstring name; readonly attribute long type; readonly attribute wstring help; attribute Variant id; Variant getVariableNames(in wstring wszOption);

ORiN2 仕様書 238

Version 1.0, August 25, 2005 ORiN Forum

Variable getVariable(in wstring wszName, in wstring wszOption); Variant execute(in Variant Command); }; // IFile Interface interface File { readonly attribute wstring name; readonly attribute long type; readonly attribute wstring help; readonly attribute Variant dateCreated; readonly attribute Variant dateLastAccessed; readonly attribute Variant dateLastModified; readonly attribute wstring path; readonly attribute long size; readonly attribute wstring fileType; attribute Variant value; attribute Variant id; Variant getFileNames(in wstring wszOption); Variant getVariableNames(in wstring wszOption); File getFile(in wstring wszName, in wstring wszOption); Variable getVariable(in wstring wszName, in wstring wszOption); void copy(in wstring wszName, in wstring wszOption); void deleteFile(in wstring wszOption); Variant execute(in Variant Command); void move(in wstring wszName, in wstring wszOption); wstring run(in wstring wszOption); }; // IRobot Interface interface Robot { readonly attribute wstring name; readonly attribute long type; readonly attribute wstring help; attribute Variant id; Variant getVariableNames(in wstring wszOption); Variable getVariable(in wstring wszName, in wstring wszOption); Variant execute(in Variant Command); void accelerate(in long lAxis, in float fAccel, in float fDecel); void cancel(in wstring wszOption); void change(in wstring wszName); void chuck(in wstring wszOption); void drive(in long lNo, in float fMov, in wstring wszOption); void goHome(); void move(in long lComp, in Variant vntPose, in wstring wszOption); void rotate(in Variant vntRotSuf, in float fDeg, in Variant vntPivot, in wstring wszOption); void speed(in long lAxis, in float fSpeed); void unchuck(in wstring wszOption); }; // ITask Interface interface Task { readonly attribute wstring name; readonly attribute long type; readonly attribute wstring help; readonly attribute wstring fileName; attribute Variant id; Variant getVariableNames(in wstring wszOption); Variable getVariable(in wstring wszName, in wstring wszOption); Variant execute(in Variant Command); void deleteTask(in wstring wszOption); void start(in long lMode, in wstring wszOption); void stop(in long lMode, in wstring wszOption); };

ORiN2 仕様書 239

Version 1.0, August 25, 2005 ORiN Forum

// IVariable Interface interface Variable { readonly attribute wstring name; readonly attribute long type; readonly attribute wstring help; readonly attribute Variant dateTime; readonly attribute long microsecond; attribute Variant value; attribute Variant id; }; // ICommand Interface interface Command { readonly attribute wstring name; readonly attribute long type; readonly attribute wstring help; readonly attribute long state; attribute Variant parameters; attribute long timeout; attribute Variant id; Variant execute(in long lOption); void cancel(); }; // IMessage Interface interface Message { readonly attribute Variant dateTime; readonly attribute wstring description; readonly attribute wstring destination; readonly attribute long number; readonly attribute wstring source; readonly attribute Variant value; void clear(); void reply(in Variant vntData); }; interface ControllerEvents { void onMessage(in Message CaopMessage, in long lOption); }; }; #endif

A.5. CRD-スキーマ

List 4-6 CRDSchema.xsd

<?xml version="1.0" encoding="UTF-8" ?> <!-- ================================================================================ [ORiN2] CRD (Controller Resource Definition) Schema ver. 1.0 beta Copyright(C) 2003- DENSO WAVE ================================================================================ --> <xs:schema targetNamespace="http://www.orin.jp/CRD/CRDSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:crd="http://www.orin.jp/CRD/CRDSchema"> <xs:annotation> <xs:documentation xmlns="http://www.w3.org/1999/xhtml"> <p>[ORiN2] CRD Schema ver. 1.0</p> </xs:documentation>

ORiN2 仕様書 240

Version 1.0, August 25, 2005 ORiN Forum

</xs:annotation> <!-- ================================================================================ CRD primitives (Variant, Array, and common elements) ================================================================================ --> <!-- ********** CRD Variant ********** --> <!-- VariantType --> <xs:simpleType name="varType"> <xs:restriction base="xs:string"> <xs:enumeration value="VT_BOOL"/> <xs:enumeration value="VT_I1"/> <xs:enumeration value="VT_UI1"/> <xs:enumeration value="VT_I2"/> <xs:enumeration value="VT_UI2"/> <xs:enumeration value="VT_I4"/> <xs:enumeration value="VT_UI4"/> <xs:enumeration value="VT_R4"/> <xs:enumeration value="VT_R8"/> <xs:enumeration value="VT_DATE"/> <xs:enumeration value="VT_BSTR"/> <xs:enumeration value="VT_VARIANT"/> <xs:enumeration value="VT_ARRAY"/> </xs:restriction> </xs:simpleType> <!-- VariantData --> <xs:element name="boolVal" type="xs:boolean"/> <xs:element name="cVal" type="xs:byte"/> <xs:element name="bVal" type="xs:unsignedByte"/> <xs:element name="iVal" type="xs:short"/> <xs:element name="uiVal" type ="xs:unsignedShort"/> <xs:element name="lVal" type="xs:int"/> <xs:element name="ulVal" type="xs:unsignedInt"/> <xs:element name="fltVal" type="xs:float"/> <xs:element name="dblVal" type="xs:double"/> <xs:element name="date" type="xs:dateTime"/> <xs:element name="bstrVal" type="xs:string"/> <!-- Variant --> <xs:element name="varVal" type="crd:Variant"/> <xs:complexType name="Variant"> <xs:choice> <xs:element ref="crd:boolVal"/> <xs:element ref="crd:cVal"/> <xs:element ref="crd:bVal"/> <xs:element ref="crd:iVal"/> <xs:element ref="crd:uiVal"/> <xs:element ref="crd:lVal"/> <xs:element ref="crd:ulVal"/> <xs:element ref="crd:fltVal"/> <xs:element ref="crd:dblVal"/> <xs:element ref="crd:date"/> <xs:element ref="crd:bstrVal"/> <xs:element ref="crd:varVal"/> <xs:element ref="crd:array"/> </xs:choice> <xs:attribute name="type" type="crd:varType" use="required"/> </xs:complexType> <!-- ********** CRD Array ********** --> <!-- ArrayBound --> <xs:element name="dimension" type="xs:int" default="1"/> <xs:element name="lBound" type="xs:int" default="0"/> <xs:element name="elements" type="xs:int"/>

ORiN2 仕様書 241

Version 1.0, August 25, 2005 ORiN Forum

<xs:element name="arrayBound"> <xs:complexType> <xs:sequence> <xs:element ref="crd:lBound"/> <xs:element ref="crd:elements"/> </xs:sequence> </xs:complexType> </xs:element> <!-- ArrayData --> <xs:element name="arrayData"> <xs:complexType> <xs:choice> <xs:element ref="crd:boolVal" maxOccurs="unbounded"/> <xs:element ref="crd:cVal" maxOccurs="unbounded"/> <xs:element ref="crd:bVal" maxOccurs="unbounded"/> <xs:element ref="crd:iVal" maxOccurs="unbounded"/> <xs:element ref="crd:uiVal" maxOccurs="unbounded"/> <xs:element ref="crd:lVal" maxOccurs="unbounded"/> <xs:element ref="crd:ulVal" maxOccurs="unbounded"/> <xs:element ref="crd:fltVal" maxOccurs="unbounded"/> <xs:element ref="crd:dblVal" maxOccurs="unbounded"/> <xs:element ref="crd:date" maxOccurs="unbounded"/> <xs:element ref="crd:bstrVal" maxOccurs="unbounded"/> <xs:element ref="crd:varVal" maxOccurs="unbounded"/> <xs:element ref="crd:arrayData" maxOccurs="unbounded"/> </xs:choice> </xs:complexType> </xs:element> <!-- Array --> <xs:element name="array"> <xs:complexType> <xs:sequence> <xs:element ref="crd:dimension"/> <xs:element ref="crd:arrayBound" maxOccurs="unbounded"/> <xs:element ref="crd:arrayData"/> </xs:sequence> <xs:attribute name="type" type="crd:varType"/> </xs:complexType> </xs:element> <!-- ********** Common Elements ********** --> <xs:attributeGroup name="comAttributes"> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="option" type="xs:string"/> </xs:attributeGroup> <xs:element name="Value" type="crd:Variant"/> <xs:element name="Attribute" type="xs:int"/> <xs:element name="Help" type="xs:string"/> <xs:element name="ID" type="crd:Variant"/> <!-- ================================================================================ CRD Structure (Object model) ================================================================================ --> <!-- ********** CRD [Root] ********** --> <xs:element name="Version" type="xs:string"/> <xs:element name="CRD"> <xs:complexType> <xs:sequence> <xs:element ref="crd:Help" minOccurs="0"/> <xs:element ref="crd:Version" minOccurs="0"/> <xs:element ref="crd:Controller" minOccurs="0" maxOccurs="unbounded"/>

ORiN2 仕様書 242

Version 1.0, August 25, 2005 ORiN Forum

</xs:sequence> </xs:complexType> </xs:element> <!-- ********** CRD Controller ********** --> <xs:attributeGroup name="comCtrlAttributes"> <xs:attributeGroup ref="crd:comAttributes"/> <xs:attribute name="provider" type="xs:string"/> <xs:attribute name="machine" type="xs:string"/> </xs:attributeGroup> <xs:element name="Controller"> <xs:complexType> <xs:sequence> <xs:element ref="crd:Attribute" minOccurs="0"/> <xs:element ref="crd:Help" minOccurs="0"/> <xs:element ref="crd:ID" minOccurs="0"/> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="crd:Extension"/> <xs:element ref="crd:File"/> <xs:element ref="crd:Robot"/> <xs:element ref="crd:Task"/> <xs:element ref="crd:Variable"/> <xs:element ref="crd:Command"/> </xs:choice> </xs:sequence> <xs:attributeGroup ref="crd:comCtrlAttributes"/> </xs:complexType> </xs:element> <!-- ********** CRD Extension ********** --> <xs:element name="Extension"> <xs:complexType> <xs:sequence> <xs:element ref="crd:Attribute" minOccurs="0"/> <xs:element ref="crd:Help" minOccurs="0"/> <xs:element ref="crd:ID" minOccurs="0"/> <xs:element ref="crd:Variable" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attributeGroup ref="crd:comAttributes"/> </xs:complexType> </xs:element> <!-- ********** CRD File ********** --> <xs:element name="DateCreated" type="xs:dateTime"/> <xs:element name="DateLastAccessed" type="xs:dateTime"/> <xs:element name="DateLastModified" type="xs:dateTime"/> <xs:element name="Path" type="xs:string"/> <xs:element name="Size" type="xs:int"/> <xs:element name="Type" type="xs:string"/> <xs:element name="File"> <xs:complexType> <xs:sequence> <xs:element ref="crd:Attribute" minOccurs="0"/> <xs:element ref="crd:Help" minOccurs="0"/> <xs:element ref="crd:ID" minOccurs="0"/> <xs:element ref="crd:DateCreated" minOccurs="0"/> <xs:element ref="crd:DateLastAccessed" minOccurs="0"/> <xs:element ref="crd:DateLastModified" minOccurs="0"/> <xs:element ref="crd:Path" minOccurs="0"/> <xs:element ref="crd:Size" minOccurs="0"/> <xs:element ref="crd:Type" minOccurs="0"/> <xs:element ref="crd:Value" minOccurs="0"/> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="crd:File"/> <xs:element ref="crd:Variable"/>

ORiN2 仕様書 243

Version 1.0, August 25, 2005 ORiN Forum

</xs:choice> </xs:sequence> <xs:attributeGroup ref="crd:comAttributes"/> </xs:complexType> </xs:element> <!-- ********** CRD Robot ********** --> <xs:element name="Robot"> <xs:complexType> <xs:sequence> <xs:element ref="crd:Attribute" minOccurs="0"/> <xs:element ref="crd:Help" minOccurs="0"/> <xs:element ref="crd:ID" minOccurs="0"/> <xs:element ref="crd:Variable" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attributeGroup ref="crd:comAttributes"/> </xs:complexType> </xs:element> <!-- ********** CRD Task ********** --> <xs:element name="FileName" type="xs:string"/> <xs:element name="Task"> <xs:complexType> <xs:sequence> <xs:element ref="crd:Attribute" minOccurs="0"/> <xs:element ref="crd:Help" minOccurs="0"/> <xs:element ref="crd:ID" minOccurs="0"/> <xs:element ref="crd:FileName" minOccurs="0"/> <xs:element ref="crd:Variable" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attributeGroup ref="crd:comAttributes"/> </xs:complexType> </xs:element> <!-- ********** CRD Variable ********** --> <xs:element name="DateTime" type="xs:dateTime"/> <xs:element name="Microsecond" type="xs:int"/> <xs:element name="Variable"> <xs:complexType> <xs:sequence> <xs:element ref="crd:Attribute" minOccurs="0"/> <xs:element ref="crd:Help" minOccurs="0"/> <xs:element ref="crd:ID" minOccurs="0"/> <xs:element ref="crd:DateTime" minOccurs="0"/> <xs:element ref="crd:Microsecond" minOccurs="0"/> <xs:element ref="crd:Value" minOccurs="0"/> </xs:sequence> <xs:attributeGroup ref="crd:comAttributes"/> </xs:complexType> </xs:element> <!-- ********** CRD Command ********** --> <xs:element name="Parameters" type="crd:Variant"/> <xs:element name="State" type="xs:int"/> <xs:element name="Timeout" type="xs:int"/> <xs:element name="Command"> <xs:complexType> <xs:sequence> <xs:element ref="crd:Attribute" minOccurs="0"/> <xs:element ref="crd:Help" minOccurs="0"/> <xs:element ref="crd:ID" minOccurs="0"/> <xs:element ref="crd:Timeout" minOccurs="0"/> <xs:element ref="crd:State" minOccurs="0"/> <xs:element ref="crd:Parameters" minOccurs="0"/> </xs:sequence>

ORiN2 仕様書 244

Version 1.0, August 25, 2005 ORiN Forum

<xs:attributeGroup ref="crd:comAttributes"/> </xs:complexType> </xs:element> <!-- ********** CRD Message ********** --> <xs:attributeGroup name="MsgAttribute"> <xs:attribute name="number" type="xs:int" use="required"/> </xs:attributeGroup> <xs:element name="Description" type="xs:string"/> <xs:element name="Destination" type="xs:string"/> <xs:element name="Source" type="xs:string"/> <xs:element name="Message"> <xs:complexType> <xs:sequence> <xs:element ref="crd:DateTime" minOccurs="0"/> <xs:element ref="crd:Description" minOccurs="0"/> <xs:element ref="crd:Destination" minOccurs="0"/> <xs:element ref="crd:Source" minOccurs="0"/> <xs:element ref="crd:Value" minOccurs="0"/> </xs:sequence> <xs:attributeGroup ref="crd:MsgAttribute"/> </xs:complexType> </xs:element> </xs:schema>

A.6. CAP-WSDL

List 4-7 CapListener.WSDL

<?xml version='1.0' encoding='UTF-8' ?> <!-- Generated 08/30/05 by Microsoft SOAP Toolkit WSDL File Generator, Version 3.00.1325.0 --> <definitions name='CapListener' targetNamespace='http://tempuri.org/CapListener/wsdl/' xmlns:wsdlns='http://tempuri.org/CapListener/wsdl/' xmlns:typens='http://tempuri.org/CapListener/type/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:stk='http://schemas.microsoft.com/soap-toolkit/wsdl-extension' xmlns:dime='http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/' xmlns:ref='http://schemas.xmlsoap.org/ws/2002/04/reference/' xmlns:content='http://schemas.xmlsoap.org/ws/2002/04/content-type/' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns='http://schemas.xmlsoap.org/wsdl/'> <types> <schema targetNamespace='http://tempuri.org/CapListener/type/' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' elementFormDefault='qualified'> <import namespace='http://schemas.xmlsoap.org/soap/encoding/'/> <import namespace='http://schemas.xmlsoap.org/wsdl/'/> <import namespace='http://schemas.xmlsoap.org/ws/2002/04/reference/'/> <import namespace='http://schemas.xmlsoap.org/ws/2002/04/content-type/'/> </schema> </types> <message name='CapServices.Service_Start'> </message>

ORiN2 仕様書 245

Version 1.0, August 25, 2005 ORiN Forum

<message name='CapServices.Service_StartResponse'> </message> <message name='CapServices.Service_Stop'> </message> <message name='CapServices.Service_StopResponse'> </message> <message name='CapServices.Controller_Connect'> <part name='bstrController' type='xsd:string'/> <part name='bstrProvider' type='xsd:string'/> <part name='bstrMachine' type='xsd:string'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Controller_ConnectResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Controller_Disconnect'> <part name='hController' type='xsd:int'/> </message> <message name='CapServices.Controller_DisconnectResponse'> </message> <message name='CapServices.Controller_GetExtension'> <part name='hController' type='xsd:int'/> <part name='bstrName' type='xsd:string'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Controller_GetExtensionResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Controller_GetFile'> <part name='hController' type='xsd:int'/> <part name='bstrName' type='xsd:string'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Controller_GetFileResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Controller_GetRobot'> <part name='hController' type='xsd:int'/> <part name='bstrName' type='xsd:string'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Controller_GetRobotResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Controller_GetTask'> <part name='hController' type='xsd:int'/> <part name='bstrName' type='xsd:string'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Controller_GetTaskResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Controller_GetVariable'> <part name='hController' type='xsd:int'/> <part name='bstrName' type='xsd:string'/>

ORiN2 仕様書 246

Version 1.0, August 25, 2005 ORiN Forum

<part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Controller_GetVariableResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Controller_GetCommand'> <part name='hController' type='xsd:int'/> <part name='bstrName' type='xsd:string'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Controller_GetCommandResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Controller_GetExtensionNames'> <part name='hController' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Controller_GetExtensionNamesResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Controller_GetFileNames'> <part name='hController' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Controller_GetFileNamesResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Controller_GetRobotNames'> <part name='hController' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Controller_GetRobotNamesResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Controller_GetTaskNames'> <part name='hController' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Controller_GetTaskNamesResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Controller_GetVariableNames'> <part name='hController' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Controller_GetVariableNamesResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Controller_GetCommandNames'> <part name='hController' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Controller_GetCommandNamesResponse'> <part name='Result' type='xsd:anyType'/> </message>

ORiN2 仕様書 247

Version 1.0, August 25, 2005 ORiN Forum

<message name='CapServices.Controller_Execute'> <part name='hController' type='xsd:int'/> <part name='vntCommand' type='xsd:anyType'/> </message> <message name='CapServices.Controller_ExecuteResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Controller_GetMessage'> <part name='hController' type='xsd:int'/> </message> <message name='CapServices.Controller_GetMessageResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Controller_GetAttribute'> <part name='hController' type='xsd:int'/> </message> <message name='CapServices.Controller_GetAttributeResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Controller_GetHelp'> <part name='hController' type='xsd:int'/> </message> <message name='CapServices.Controller_GetHelpResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Controller_GetName'> <part name='hController' type='xsd:int'/> </message> <message name='CapServices.Controller_GetNameResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Controller_GetTag'> <part name='hController' type='xsd:int'/> </message> <message name='CapServices.Controller_GetTagResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Controller_PutTag'> <part name='hController' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.Controller_PutTagResponse'> </message> <message name='CapServices.Controller_GetID'> <part name='hController' type='xsd:int'/> </message> <message name='CapServices.Controller_GetIDResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Controller_PutID'> <part name='hController' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message>

ORiN2 仕様書 248

Version 1.0, August 25, 2005 ORiN Forum

<message name='CapServices.Controller_PutIDResponse'> </message> <message name='CapServices.Extension_GetVariable'> <part name='hExtension' type='xsd:int'/> <part name='bstrName' type='xsd:string'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Extension_GetVariableResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Extension_GetVariableNames'> <part name='hExtension' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Extension_GetVariableNamesResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Extension_Execute'> <part name='hExtension' type='xsd:int'/> <part name='vntCommand' type='xsd:anyType'/> </message> <message name='CapServices.Extension_ExecuteResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Extension_GetAttribute'> <part name='hExtension' type='xsd:int'/> </message> <message name='CapServices.Extension_GetAttributeResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Extension_GetHelp'> <part name='hExtension' type='xsd:int'/> </message> <message name='CapServices.Extension_GetHelpResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Extension_GetName'> <part name='hExtension' type='xsd:int'/> </message> <message name='CapServices.Extension_GetNameResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Extension_GetTag'> <part name='hExtension' type='xsd:int'/> </message> <message name='CapServices.Extension_GetTagResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Extension_PutTag'> <part name='hExtension' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.Extension_PutTagResponse'>

ORiN2 仕様書 249

Version 1.0, August 25, 2005 ORiN Forum

</message> <message name='CapServices.Extension_GetID'> <part name='hExtension' type='xsd:int'/> </message> <message name='CapServices.Extension_GetIDResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Extension_PutID'> <part name='hExtension' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.Extension_PutIDResponse'> </message> <message name='CapServices.Extension_Release'> <part name='hExtension' type='xsd:int'/> </message> <message name='CapServices.Extension_ReleaseResponse'> </message> <message name='CapServices.File_GetFile'> <part name='hParetntFile' type='xsd:int'/> <part name='bstrName' type='xsd:string'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.File_GetFileResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.File_GetVariable'> <part name='hFile' type='xsd:int'/> <part name='bstrName' type='xsd:string'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.File_GetVariableResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.File_GetFileNames'> <part name='hFile' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.File_GetFileNamesResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.File_GetVariableNames'> <part name='hFile' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.File_GetVariableNamesResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.File_Execute'> <part name='hFile' type='xsd:int'/> <part name='vntCommand' type='xsd:anyType'/> </message> <message name='CapServices.File_ExecuteResponse'> <part name='Result' type='xsd:anyType'/>

ORiN2 仕様書 250

Version 1.0, August 25, 2005 ORiN Forum

</message> <message name='CapServices.File_Copy'> <part name='hFile' type='xsd:int'/> <part name='bstrName' type='xsd:string'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.File_CopyResponse'> </message> <message name='CapServices.File_Delete'> <part name='hFile' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.File_DeleteResponse'> </message> <message name='CapServices.File_Move'> <part name='hFile' type='xsd:int'/> <part name='bstrName' type='xsd:string'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.File_MoveResponse'> </message> <message name='CapServices.File_Run'> <part name='hFile' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.File_RunResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.File_GetDateCreated'> <part name='hFile' type='xsd:int'/> </message> <message name='CapServices.File_GetDateCreatedResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.File_GetDateLastAccessed'> <part name='hFile' type='xsd:int'/> </message> <message name='CapServices.File_GetDateLastAccessedResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.File_GetDateLastModified'> <part name='hFile' type='xsd:int'/> </message> <message name='CapServices.File_GetDateLastModifiedResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.File_GetPath'> <part name='hFile' type='xsd:int'/> </message> <message name='CapServices.File_GetPathResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.File_GetSize'>

ORiN2 仕様書 251

Version 1.0, August 25, 2005 ORiN Forum

<part name='hFile' type='xsd:int'/> </message> <message name='CapServices.File_GetSizeResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.File_GetType'> <part name='hFile' type='xsd:int'/> </message> <message name='CapServices.File_GetTypeResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.File_GetValue'> <part name='hFile' type='xsd:int'/> </message> <message name='CapServices.File_GetValueResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.File_PutValue'> <part name='hFile' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.File_PutValueResponse'> </message> <message name='CapServices.File_GetAttribute'> <part name='hFile' type='xsd:int'/> </message> <message name='CapServices.File_GetAttributeResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.File_GetHelp'> <part name='hFile' type='xsd:int'/> </message> <message name='CapServices.File_GetHelpResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.File_GetName'> <part name='hFile' type='xsd:int'/> </message> <message name='CapServices.File_GetNameResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.File_GetTag'> <part name='hFile' type='xsd:int'/> </message> <message name='CapServices.File_GetTagResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.File_PutTag'> <part name='hFile' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.File_PutTagResponse'> </message>

ORiN2 仕様書 252

Version 1.0, August 25, 2005 ORiN Forum

<message name='CapServices.File_GetID'> <part name='hFile' type='xsd:int'/> </message> <message name='CapServices.File_GetIDResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.File_PutID'> <part name='hFile' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.File_PutIDResponse'> </message> <message name='CapServices.File_Release'> <part name='hFile' type='xsd:int'/> </message> <message name='CapServices.File_ReleaseResponse'> </message> <message name='CapServices.Robot_GetVariable'> <part name='hRobot' type='xsd:int'/> <part name='bstrName' type='xsd:string'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Robot_GetVariableResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Robot_GetVariableNames'> <part name='hRobot' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Robot_GetVariableNamesResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Robot_Execute'> <part name='hRobot' type='xsd:int'/> <part name='vntCommand' type='xsd:anyType'/> </message> <message name='CapServices.Robot_ExecuteResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Robot_Cancel'> <part name='hRobot' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Robot_CancelResponse'> </message> <message name='CapServices.Robot_Accelerate'> <part name='hRobot' type='xsd:int'/> <part name='lAxis' type='xsd:int'/> <part name='fAccel' type='xsd:float'/> <part name='fDecel' type='xsd:float'/> </message> <message name='CapServices.Robot_AccelerateResponse'> </message>

ORiN2 仕様書 253

Version 1.0, August 25, 2005 ORiN Forum

<message name='CapServices.Robot_Change'> <part name='hRobot' type='xsd:int'/> <part name='bstrName' type='xsd:string'/> </message> <message name='CapServices.Robot_ChangeResponse'> </message> <message name='CapServices.Robot_Chuck'> <part name='hRobot' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Robot_ChuckResponse'> </message> <message name='CapServices.Robot_Drive'> <part name='hRobot' type='xsd:int'/> <part name='lNo' type='xsd:int'/> <part name='fMov' type='xsd:float'/> <part name='bstrOpt' type='xsd:string'/> </message> <message name='CapServices.Robot_DriveResponse'> </message> <message name='CapServices.Robot_GoHome'> <part name='hRobot' type='xsd:int'/> </message> <message name='CapServices.Robot_GoHomeResponse'> </message> <message name='CapServices.Robot_Move'> <part name='hRobot' type='xsd:int'/> <part name='lComp' type='xsd:int'/> <part name='vntPose' type='xsd:anyType'/> <part name='bstrOpt' type='xsd:string'/> </message> <message name='CapServices.Robot_MoveResponse'> </message> <message name='CapServices.Robot_Rotate'> <part name='hRobot' type='xsd:int'/> <part name='vntRotSuf' type='xsd:anyType'/> <part name='fDeg' type='xsd:float'/> <part name='vntPivot' type='xsd:anyType'/> <part name='bstrOpt' type='xsd:string'/> </message> <message name='CapServices.Robot_RotateResponse'> </message> <message name='CapServices.Robot_Speed'> <part name='hRobot' type='xsd:int'/> <part name='lAxis' type='xsd:int'/> <part name='fSpeed' type='xsd:float'/> </message> <message name='CapServices.Robot_SpeedResponse'> </message> <message name='CapServices.Robot_Unchuck'> <part name='hRobot' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Robot_UnchuckResponse'> </message>

ORiN2 仕様書 254

Version 1.0, August 25, 2005 ORiN Forum

<message name='CapServices.Robot_GetAttribute'> <part name='hRobot' type='xsd:int'/> </message> <message name='CapServices.Robot_GetAttributeResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Robot_GetHelp'> <part name='hRobot' type='xsd:int'/> </message> <message name='CapServices.Robot_GetHelpResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Robot_GetName'> <part name='hRobot' type='xsd:int'/> </message> <message name='CapServices.Robot_GetNameResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Robot_GetTag'> <part name='hRobot' type='xsd:int'/> </message> <message name='CapServices.Robot_GetTagResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Robot_PutTag'> <part name='hRobot' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.Robot_PutTagResponse'> </message> <message name='CapServices.Robot_GetID'> <part name='hRobot' type='xsd:int'/> </message> <message name='CapServices.Robot_GetIDResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Robot_PutID'> <part name='hRobot' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.Robot_PutIDResponse'> </message> <message name='CapServices.Robot_Release'> <part name='hRobot' type='xsd:int'/> </message> <message name='CapServices.Robot_ReleaseResponse'> </message> <message name='CapServices.Task_GetVariable'> <part name='hTask' type='xsd:int'/> <part name='bstrName' type='xsd:string'/> <part name='bstrOption' type='xsd:string'/> </message>

ORiN2 仕様書 255

Version 1.0, August 25, 2005 ORiN Forum

<message name='CapServices.Task_GetVariableResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Task_GetVariableNames'> <part name='hTask' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Task_GetVariableNamesResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Task_Execute'> <part name='hTask' type='xsd:int'/> <part name='vntCommand' type='xsd:anyType'/> </message> <message name='CapServices.Task_ExecuteResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Task_Start'> <part name='hTask' type='xsd:int'/> <part name='lMode' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Task_StartResponse'> </message> <message name='CapServices.Task_Stop'> <part name='hTask' type='xsd:int'/> <part name='lMode' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Task_StopResponse'> </message> <message name='CapServices.Task_Delete'> <part name='hTask' type='xsd:int'/> <part name='bstrOption' type='xsd:string'/> </message> <message name='CapServices.Task_DeleteResponse'> </message> <message name='CapServices.Task_GetFileName'> <part name='hTask' type='xsd:int'/> </message> <message name='CapServices.Task_GetFileNameResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Task_GetAttribute'> <part name='hTask' type='xsd:int'/> </message> <message name='CapServices.Task_GetAttributeResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Task_GetHelp'> <part name='hTask' type='xsd:int'/> </message> <message name='CapServices.Task_GetHelpResponse'> <part name='Result' type='xsd:string'/>

ORiN2 仕様書 256

Version 1.0, August 25, 2005 ORiN Forum

</message> <message name='CapServices.Task_GetName'> <part name='hTask' type='xsd:int'/> </message> <message name='CapServices.Task_GetNameResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Task_GetTag'> <part name='hTask' type='xsd:int'/> </message> <message name='CapServices.Task_GetTagResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Task_PutTag'> <part name='hTask' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.Task_PutTagResponse'> </message> <message name='CapServices.Task_GetID'> <part name='hTask' type='xsd:int'/> </message> <message name='CapServices.Task_GetIDResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Task_PutID'> <part name='hTask' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.Task_PutIDResponse'> </message> <message name='CapServices.Task_Release'> <part name='hTask' type='xsd:int'/> </message> <message name='CapServices.Task_ReleaseResponse'> </message> <message name='CapServices.Variable_GetDateTime'> <part name='hVariable' type='xsd:int'/> </message> <message name='CapServices.Variable_GetDateTimeResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Variable_GetValue'> <part name='hVariable' type='xsd:int'/> </message> <message name='CapServices.Variable_GetValueResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Variable_PutValue'> <part name='hVariable' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message>

ORiN2 仕様書 257

Version 1.0, August 25, 2005 ORiN Forum

<message name='CapServices.Variable_PutValueResponse'> </message> <message name='CapServices.Variable_GetAttribute'> <part name='hVariable' type='xsd:int'/> </message> <message name='CapServices.Variable_GetAttributeResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Variable_GetHelp'> <part name='hVariable' type='xsd:int'/> </message> <message name='CapServices.Variable_GetHelpResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Variable_GetName'> <part name='hVariable' type='xsd:int'/> </message> <message name='CapServices.Variable_GetNameResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Variable_GetTag'> <part name='hVariable' type='xsd:int'/> </message> <message name='CapServices.Variable_GetTagResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Variable_PutTag'> <part name='hVariable' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.Variable_PutTagResponse'> </message> <message name='CapServices.Variable_GetID'> <part name='hVariable' type='xsd:int'/> </message> <message name='CapServices.Variable_GetIDResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Variable_PutID'> <part name='hVariable' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.Variable_PutIDResponse'> </message> <message name='CapServices.Variable_GetMicrosecond'> <part name='hVariable' type='xsd:int'/> </message> <message name='CapServices.Variable_GetMicrosecondResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Variable_Release'> <part name='hVariable' type='xsd:int'/> </message>

ORiN2 仕様書 258

Version 1.0, August 25, 2005 ORiN Forum

<message name='CapServices.Variable_ReleaseResponse'> </message> <message name='CapServices.Command_Execute'> <part name='hCommand' type='xsd:int'/> <part name='lMode' type='xsd:int'/> </message> <message name='CapServices.Command_ExecuteResponse'> </message> <message name='CapServices.Command_Cancel'> <part name='hCommand' type='xsd:int'/> </message> <message name='CapServices.Command_CancelResponse'> </message> <message name='CapServices.Command_GetTimeout'> <part name='hCommand' type='xsd:int'/> </message> <message name='CapServices.Command_GetTimeoutResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Command_PutTimeout'> <part name='hCommand' type='xsd:int'/> <part name='newVal' type='xsd:int'/> </message> <message name='CapServices.Command_PutTimeoutResponse'> </message> <message name='CapServices.Command_GetState'> <part name='hCommand' type='xsd:int'/> </message> <message name='CapServices.Command_GetStateResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Command_GetParameters'> <part name='hCommand' type='xsd:int'/> </message> <message name='CapServices.Command_GetParametersResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Command_PutParameters'> <part name='hCommand' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.Command_PutParametersResponse'> </message> <message name='CapServices.Command_GetResult'> <part name='hCommand' type='xsd:int'/> <part name='pVal' type='xsd:anyType'/> </message> <message name='CapServices.Command_GetResultResponse'> </message> <message name='CapServices.Command_GetAttribute'> <part name='hCommand' type='xsd:int'/> </message>

ORiN2 仕様書 259

Version 1.0, August 25, 2005 ORiN Forum

<message name='CapServices.Command_GetAttributeResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Command_GetHelp'> <part name='hCommand' type='xsd:int'/> </message> <message name='CapServices.Command_GetHelpResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Command_GetName'> <part name='hCommand' type='xsd:int'/> </message> <message name='CapServices.Command_GetNameResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Command_GetTag'> <part name='hCommand' type='xsd:int'/> </message> <message name='CapServices.Command_GetTagResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Command_PutTag'> <part name='hCommand' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.Command_PutTagResponse'> </message> <message name='CapServices.Command_GetID'> <part name='hCommand' type='xsd:int'/> </message> <message name='CapServices.Command_GetIDResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Command_PutID'> <part name='hCommand' type='xsd:int'/> <part name='newVal' type='xsd:anyType'/> </message> <message name='CapServices.Command_PutIDResponse'> </message> <message name='CapServices.Command_Release'> <part name='hCommand' type='xsd:int'/> </message> <message name='CapServices.Command_ReleaseResponse'> </message> <message name='CapServices.Message_Reply'> <part name='hMessage' type='xsd:int'/> <part name='vntData' type='xsd:anyType'/> </message> <message name='CapServices.Message_ReplyResponse'> </message> <message name='CapServices.Message_Clear'> <part name='hMessage' type='xsd:int'/>

ORiN2 仕様書 260

Version 1.0, August 25, 2005 ORiN Forum

</message> <message name='CapServices.Message_ClearResponse'> </message> <message name='CapServices.Message_GetDateTime'> <part name='hMessage' type='xsd:int'/> </message> <message name='CapServices.Message_GetDateTimeResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Message_GetDescription'> <part name='hMessage' type='xsd:int'/> </message> <message name='CapServices.Message_GetDescriptionResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Message_GetDestination'> <part name='hMessage' type='xsd:int'/> </message> <message name='CapServices.Message_GetDestinationResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Message_GetNumber'> <part name='hMessage' type='xsd:int'/> </message> <message name='CapServices.Message_GetNumberResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Message_GetSerialNumber'> <part name='hMessage' type='xsd:int'/> </message> <message name='CapServices.Message_GetSerialNumberResponse'> <part name='Result' type='xsd:int'/> </message> <message name='CapServices.Message_GetSource'> <part name='hMessage' type='xsd:int'/> </message> <message name='CapServices.Message_GetSourceResponse'> <part name='Result' type='xsd:string'/> </message> <message name='CapServices.Message_GetValue'> <part name='hMessage' type='xsd:int'/> </message> <message name='CapServices.Message_GetValueResponse'> <part name='Result' type='xsd:anyType'/> </message> <message name='CapServices.Message_Release'> <part name='hMessage' type='xsd:int'/> </message> <message name='CapServices.Message_ReleaseResponse'> </message> <portType name='CapServicesSoapPort'>

ORiN2 仕様書 261

Version 1.0, August 25, 2005 ORiN Forum

<operation name='Service_Start'> <input message='wsdlns:CapServices.Service_Start'/> <output message='wsdlns:CapServices.Service_StartResponse'/> </operation> <operation name='Service_Stop'> <input message='wsdlns:CapServices.Service_Stop'/> <output message='wsdlns:CapServices.Service_StopResponse'/> </operation> <operation name='Controller_Connect' parameterOrder='bstrController bstrProvider bstrMachine bstrOption'> <input message='wsdlns:CapServices.Controller_Connect'/> <output message='wsdlns:CapServices.Controller_ConnectResponse'/> </operation> <operation name='Controller_Disconnect' parameterOrder='hController'> <input message='wsdlns:CapServices.Controller_Disconnect'/> <output message='wsdlns:CapServices.Controller_DisconnectResponse'/> </operation> <operation name='Controller_GetExtension' parameterOrder='hController bstrName bstrOption'> <input message='wsdlns:CapServices.Controller_GetExtension'/> <output message='wsdlns:CapServices.Controller_GetExtensionResponse'/> </operation> <operation name='Controller_GetFile' parameterOrder='hController bstrName bstrOption'> <input message='wsdlns:CapServices.Controller_GetFile'/> <output message='wsdlns:CapServices.Controller_GetFileResponse'/> </operation> <operation name='Controller_GetRobot' parameterOrder='hController bstrName bstrOption'> <input message='wsdlns:CapServices.Controller_GetRobot'/> <output message='wsdlns:CapServices.Controller_GetRobotResponse'/> </operation> <operation name='Controller_GetTask' parameterOrder='hController bstrName bstrOption'> <input message='wsdlns:CapServices.Controller_GetTask'/> <output message='wsdlns:CapServices.Controller_GetTaskResponse'/> </operation> <operation name='Controller_GetVariable' parameterOrder='hController bstrName bstrOption'> <input message='wsdlns:CapServices.Controller_GetVariable'/> <output message='wsdlns:CapServices.Controller_GetVariableResponse'/> </operation> <operation name='Controller_GetCommand' parameterOrder='hController bstrName bstrOption'> <input message='wsdlns:CapServices.Controller_GetCommand'/> <output message='wsdlns:CapServices.Controller_GetCommandResponse'/> </operation> <operation name='Controller_GetExtensionNames' parameterOrder='hController bstrOption'> <input message='wsdlns:CapServices.Controller_GetExtensionNames'/> <output message='wsdlns:CapServices.Controller_GetExtensionNamesResponse'/> </operation> <operation name='Controller_GetFileNames' parameterOrder='hController bstrOption'> <input message='wsdlns:CapServices.Controller_GetFileNames'/> <output message='wsdlns:CapServices.Controller_GetFileNamesResponse'/> </operation> <operation name='Controller_GetRobotNames' parameterOrder='hController bstrOption'>

ORiN2 仕様書 262

Version 1.0, August 25, 2005 ORiN Forum

<input message='wsdlns:CapServices.Controller_GetRobotNames'/> <output message='wsdlns:CapServices.Controller_GetRobotNamesResponse'/> </operation> <operation name='Controller_GetTaskNames' parameterOrder='hController bstrOption'> <input message='wsdlns:CapServices.Controller_GetTaskNames'/> <output message='wsdlns:CapServices.Controller_GetTaskNamesResponse'/> </operation> <operation name='Controller_GetVariableNames' parameterOrder='hController bstrOption'> <input message='wsdlns:CapServices.Controller_GetVariableNames'/> <output message='wsdlns:CapServices.Controller_GetVariableNamesResponse'/> </operation> <operation name='Controller_GetCommandNames' parameterOrder='hController bstrOption'> <input message='wsdlns:CapServices.Controller_GetCommandNames'/> <output message='wsdlns:CapServices.Controller_GetCommandNamesResponse'/> </operation> <operation name='Controller_Execute' parameterOrder='hController vntCommand'> <input message='wsdlns:CapServices.Controller_Execute'/> <output message='wsdlns:CapServices.Controller_ExecuteResponse'/> </operation> <operation name='Controller_GetMessage' parameterOrder='hController'> <input message='wsdlns:CapServices.Controller_GetMessage'/> <output message='wsdlns:CapServices.Controller_GetMessageResponse'/> </operation> <operation name='Controller_GetAttribute' parameterOrder='hController'> <input message='wsdlns:CapServices.Controller_GetAttribute'/> <output message='wsdlns:CapServices.Controller_GetAttributeResponse'/> </operation> <operation name='Controller_GetHelp' parameterOrder='hController'> <input message='wsdlns:CapServices.Controller_GetHelp'/> <output message='wsdlns:CapServices.Controller_GetHelpResponse'/> </operation> <operation name='Controller_GetName' parameterOrder='hController'> <input message='wsdlns:CapServices.Controller_GetName'/> <output message='wsdlns:CapServices.Controller_GetNameResponse'/> </operation> <operation name='Controller_GetTag' parameterOrder='hController'> <input message='wsdlns:CapServices.Controller_GetTag'/> <output message='wsdlns:CapServices.Controller_GetTagResponse'/> </operation> <operation name='Controller_PutTag' parameterOrder='hController newVal'> <input message='wsdlns:CapServices.Controller_PutTag'/> <output message='wsdlns:CapServices.Controller_PutTagResponse'/> </operation> <operation name='Controller_GetID' parameterOrder='hController'> <input message='wsdlns:CapServices.Controller_GetID'/> <output message='wsdlns:CapServices.Controller_GetIDResponse'/> </operation> <operation name='Controller_PutID' parameterOrder='hController newVal'> <input message='wsdlns:CapServices.Controller_PutID'/> <output message='wsdlns:CapServices.Controller_PutIDResponse'/> </operation> <operation name='Extension_GetVariable' parameterOrder='hExtension bstrName bstrOption'> <input message='wsdlns:CapServices.Extension_GetVariable'/>

ORiN2 仕様書 263

Version 1.0, August 25, 2005 ORiN Forum

<output message='wsdlns:CapServices.Extension_GetVariableResponse'/> </operation> <operation name='Extension_GetVariableNames' parameterOrder='hExtension bstrOption'> <input message='wsdlns:CapServices.Extension_GetVariableNames'/> <output message='wsdlns:CapServices.Extension_GetVariableNamesResponse'/> </operation> <operation name='Extension_Execute' parameterOrder='hExtension vntCommand'> <input message='wsdlns:CapServices.Extension_Execute'/> <output message='wsdlns:CapServices.Extension_ExecuteResponse'/> </operation> <operation name='Extension_GetAttribute' parameterOrder='hExtension'> <input message='wsdlns:CapServices.Extension_GetAttribute'/> <output message='wsdlns:CapServices.Extension_GetAttributeResponse'/> </operation> <operation name='Extension_GetHelp' parameterOrder='hExtension'> <input message='wsdlns:CapServices.Extension_GetHelp'/> <output message='wsdlns:CapServices.Extension_GetHelpResponse'/> </operation> <operation name='Extension_GetName' parameterOrder='hExtension'> <input message='wsdlns:CapServices.Extension_GetName'/> <output message='wsdlns:CapServices.Extension_GetNameResponse'/> </operation> <operation name='Extension_GetTag' parameterOrder='hExtension'> <input message='wsdlns:CapServices.Extension_GetTag'/> <output message='wsdlns:CapServices.Extension_GetTagResponse'/> </operation> <operation name='Extension_PutTag' parameterOrder='hExtension newVal'> <input message='wsdlns:CapServices.Extension_PutTag'/> <output message='wsdlns:CapServices.Extension_PutTagResponse'/> </operation> <operation name='Extension_GetID' parameterOrder='hExtension'> <input message='wsdlns:CapServices.Extension_GetID'/> <output message='wsdlns:CapServices.Extension_GetIDResponse'/> </operation> <operation name='Extension_PutID' parameterOrder='hExtension newVal'> <input message='wsdlns:CapServices.Extension_PutID'/> <output message='wsdlns:CapServices.Extension_PutIDResponse'/> </operation> <operation name='Extension_Release' parameterOrder='hExtension'> <input message='wsdlns:CapServices.Extension_Release'/> <output message='wsdlns:CapServices.Extension_ReleaseResponse'/> </operation> <operation name='File_GetFile' parameterOrder='hParetntFile bstrName bstrOption'> <input message='wsdlns:CapServices.File_GetFile'/> <output message='wsdlns:CapServices.File_GetFileResponse'/> </operation> <operation name='File_GetVariable' parameterOrder='hFile bstrName bstrOption'> <input message='wsdlns:CapServices.File_GetVariable'/> <output message='wsdlns:CapServices.File_GetVariableResponse'/> </operation> <operation name='File_GetFileNames' parameterOrder='hFile bstrOption'> <input message='wsdlns:CapServices.File_GetFileNames'/> <output message='wsdlns:CapServices.File_GetFileNamesResponse'/> </operation> <operation name='File_GetVariableNames' parameterOrder='hFile bstrOption'>

ORiN2 仕様書 264

Version 1.0, August 25, 2005 ORiN Forum

<input message='wsdlns:CapServices.File_GetVariableNames'/> <output message='wsdlns:CapServices.File_GetVariableNamesResponse'/> </operation> <operation name='File_Execute' parameterOrder='hFile vntCommand'> <input message='wsdlns:CapServices.File_Execute'/> <output message='wsdlns:CapServices.File_ExecuteResponse'/> </operation> <operation name='File_Copy' parameterOrder='hFile bstrName bstrOption'> <input message='wsdlns:CapServices.File_Copy'/> <output message='wsdlns:CapServices.File_CopyResponse'/> </operation> <operation name='File_Delete' parameterOrder='hFile bstrOption'> <input message='wsdlns:CapServices.File_Delete'/> <output message='wsdlns:CapServices.File_DeleteResponse'/> </operation> <operation name='File_Move' parameterOrder='hFile bstrName bstrOption'> <input message='wsdlns:CapServices.File_Move'/> <output message='wsdlns:CapServices.File_MoveResponse'/> </operation> <operation name='File_Run' parameterOrder='hFile bstrOption'> <input message='wsdlns:CapServices.File_Run'/> <output message='wsdlns:CapServices.File_RunResponse'/> </operation> <operation name='File_GetDateCreated' parameterOrder='hFile'> <input message='wsdlns:CapServices.File_GetDateCreated'/> <output message='wsdlns:CapServices.File_GetDateCreatedResponse'/> </operation> <operation name='File_GetDateLastAccessed' parameterOrder='hFile'> <input message='wsdlns:CapServices.File_GetDateLastAccessed'/> <output message='wsdlns:CapServices.File_GetDateLastAccessedResponse'/> </operation> <operation name='File_GetDateLastModified' parameterOrder='hFile'> <input message='wsdlns:CapServices.File_GetDateLastModified'/> <output message='wsdlns:CapServices.File_GetDateLastModifiedResponse'/> </operation> <operation name='File_GetPath' parameterOrder='hFile'> <input message='wsdlns:CapServices.File_GetPath'/> <output message='wsdlns:CapServices.File_GetPathResponse'/> </operation> <operation name='File_GetSize' parameterOrder='hFile'> <input message='wsdlns:CapServices.File_GetSize'/> <output message='wsdlns:CapServices.File_GetSizeResponse'/> </operation> <operation name='File_GetType' parameterOrder='hFile'> <input message='wsdlns:CapServices.File_GetType'/> <output message='wsdlns:CapServices.File_GetTypeResponse'/> </operation> <operation name='File_GetValue' parameterOrder='hFile'> <input message='wsdlns:CapServices.File_GetValue'/> <output message='wsdlns:CapServices.File_GetValueResponse'/> </operation> <operation name='File_PutValue' parameterOrder='hFile newVal'> <input message='wsdlns:CapServices.File_PutValue'/> <output message='wsdlns:CapServices.File_PutValueResponse'/> </operation> <operation name='File_GetAttribute' parameterOrder='hFile'>

ORiN2 仕様書 265

Version 1.0, August 25, 2005 ORiN Forum

<input message='wsdlns:CapServices.File_GetAttribute'/> <output message='wsdlns:CapServices.File_GetAttributeResponse'/> </operation> <operation name='File_GetHelp' parameterOrder='hFile'> <input message='wsdlns:CapServices.File_GetHelp'/> <output message='wsdlns:CapServices.File_GetHelpResponse'/> </operation> <operation name='File_GetName' parameterOrder='hFile'> <input message='wsdlns:CapServices.File_GetName'/> <output message='wsdlns:CapServices.File_GetNameResponse'/> </operation> <operation name='File_GetTag' parameterOrder='hFile'> <input message='wsdlns:CapServices.File_GetTag'/> <output message='wsdlns:CapServices.File_GetTagResponse'/> </operation> <operation name='File_PutTag' parameterOrder='hFile newVal'> <input message='wsdlns:CapServices.File_PutTag'/> <output message='wsdlns:CapServices.File_PutTagResponse'/> </operation> <operation name='File_GetID' parameterOrder='hFile'> <input message='wsdlns:CapServices.File_GetID'/> <output message='wsdlns:CapServices.File_GetIDResponse'/> </operation> <operation name='File_PutID' parameterOrder='hFile newVal'> <input message='wsdlns:CapServices.File_PutID'/> <output message='wsdlns:CapServices.File_PutIDResponse'/> </operation> <operation name='File_Release' parameterOrder='hFile'> <input message='wsdlns:CapServices.File_Release'/> <output message='wsdlns:CapServices.File_ReleaseResponse'/> </operation> <operation name='Robot_GetVariable' parameterOrder='hRobot bstrName bstrOption'> <input message='wsdlns:CapServices.Robot_GetVariable'/> <output message='wsdlns:CapServices.Robot_GetVariableResponse'/> </operation> <operation name='Robot_GetVariableNames' parameterOrder='hRobot bstrOption'> <input message='wsdlns:CapServices.Robot_GetVariableNames'/> <output message='wsdlns:CapServices.Robot_GetVariableNamesResponse'/> </operation> <operation name='Robot_Execute' parameterOrder='hRobot vntCommand'> <input message='wsdlns:CapServices.Robot_Execute'/> <output message='wsdlns:CapServices.Robot_ExecuteResponse'/> </operation> <operation name='Robot_Cancel' parameterOrder='hRobot bstrOption'> <input message='wsdlns:CapServices.Robot_Cancel'/> <output message='wsdlns:CapServices.Robot_CancelResponse'/> </operation> <operation name='Robot_Accelerate' parameterOrder='hRobot lAxis fAccel fDecel'> <input message='wsdlns:CapServices.Robot_Accelerate'/> <output message='wsdlns:CapServices.Robot_AccelerateResponse'/> </operation> <operation name='Robot_Change' parameterOrder='hRobot bstrName'> <input message='wsdlns:CapServices.Robot_Change'/> <output message='wsdlns:CapServices.Robot_ChangeResponse'/> </operation> <operation name='Robot_Chuck' parameterOrder='hRobot bstrOption'>

ORiN2 仕様書 266

Version 1.0, August 25, 2005 ORiN Forum

<input message='wsdlns:CapServices.Robot_Chuck'/> <output message='wsdlns:CapServices.Robot_ChuckResponse'/> </operation> <operation name='Robot_Drive' parameterOrder='hRobot lNo fMov bstrOpt'> <input message='wsdlns:CapServices.Robot_Drive'/> <output message='wsdlns:CapServices.Robot_DriveResponse'/> </operation> <operation name='Robot_GoHome' parameterOrder='hRobot'> <input message='wsdlns:CapServices.Robot_GoHome'/> <output message='wsdlns:CapServices.Robot_GoHomeResponse'/> </operation> <operation name='Robot_Move' parameterOrder='hRobot lComp vntPose bstrOpt'> <input message='wsdlns:CapServices.Robot_Move'/> <output message='wsdlns:CapServices.Robot_MoveResponse'/> </operation> <operation name='Robot_Rotate' parameterOrder='hRobot vntRotSuf fDeg vntPivot bstrOpt'> <input message='wsdlns:CapServices.Robot_Rotate'/> <output message='wsdlns:CapServices.Robot_RotateResponse'/> </operation> <operation name='Robot_Speed' parameterOrder='hRobot lAxis fSpeed'> <input message='wsdlns:CapServices.Robot_Speed'/> <output message='wsdlns:CapServices.Robot_SpeedResponse'/> </operation> <operation name='Robot_Unchuck' parameterOrder='hRobot bstrOption'> <input message='wsdlns:CapServices.Robot_Unchuck'/> <output message='wsdlns:CapServices.Robot_UnchuckResponse'/> </operation> <operation name='Robot_GetAttribute' parameterOrder='hRobot'> <input message='wsdlns:CapServices.Robot_GetAttribute'/> <output message='wsdlns:CapServices.Robot_GetAttributeResponse'/> </operation> <operation name='Robot_GetHelp' parameterOrder='hRobot'> <input message='wsdlns:CapServices.Robot_GetHelp'/> <output message='wsdlns:CapServices.Robot_GetHelpResponse'/> </operation> <operation name='Robot_GetName' parameterOrder='hRobot'> <input message='wsdlns:CapServices.Robot_GetName'/> <output message='wsdlns:CapServices.Robot_GetNameResponse'/> </operation> <operation name='Robot_GetTag' parameterOrder='hRobot'> <input message='wsdlns:CapServices.Robot_GetTag'/> <output message='wsdlns:CapServices.Robot_GetTagResponse'/> </operation> <operation name='Robot_PutTag' parameterOrder='hRobot newVal'> <input message='wsdlns:CapServices.Robot_PutTag'/> <output message='wsdlns:CapServices.Robot_PutTagResponse'/> </operation> <operation name='Robot_GetID' parameterOrder='hRobot'> <input message='wsdlns:CapServices.Robot_GetID'/> <output message='wsdlns:CapServices.Robot_GetIDResponse'/> </operation> <operation name='Robot_PutID' parameterOrder='hRobot newVal'> <input message='wsdlns:CapServices.Robot_PutID'/> <output message='wsdlns:CapServices.Robot_PutIDResponse'/> </operation>

ORiN2 仕様書 267

Version 1.0, August 25, 2005 ORiN Forum

<operation name='Robot_Release' parameterOrder='hRobot'> <input message='wsdlns:CapServices.Robot_Release'/> <output message='wsdlns:CapServices.Robot_ReleaseResponse'/> </operation> <operation name='Task_GetVariable' parameterOrder='hTask bstrName bstrOption'> <input message='wsdlns:CapServices.Task_GetVariable'/> <output message='wsdlns:CapServices.Task_GetVariableResponse'/> </operation> <operation name='Task_GetVariableNames' parameterOrder='hTask bstrOption'> <input message='wsdlns:CapServices.Task_GetVariableNames'/> <output message='wsdlns:CapServices.Task_GetVariableNamesResponse'/> </operation> <operation name='Task_Execute' parameterOrder='hTask vntCommand'> <input message='wsdlns:CapServices.Task_Execute'/> <output message='wsdlns:CapServices.Task_ExecuteResponse'/> </operation> <operation name='Task_Start' parameterOrder='hTask lMode bstrOption'> <input message='wsdlns:CapServices.Task_Start'/> <output message='wsdlns:CapServices.Task_StartResponse'/> </operation> <operation name='Task_Stop' parameterOrder='hTask lMode bstrOption'> <input message='wsdlns:CapServices.Task_Stop'/> <output message='wsdlns:CapServices.Task_StopResponse'/> </operation> <operation name='Task_Delete' parameterOrder='hTask bstrOption'> <input message='wsdlns:CapServices.Task_Delete'/> <output message='wsdlns:CapServices.Task_DeleteResponse'/> </operation> <operation name='Task_GetFileName' parameterOrder='hTask'> <input message='wsdlns:CapServices.Task_GetFileName'/> <output message='wsdlns:CapServices.Task_GetFileNameResponse'/> </operation> <operation name='Task_GetAttribute' parameterOrder='hTask'> <input message='wsdlns:CapServices.Task_GetAttribute'/> <output message='wsdlns:CapServices.Task_GetAttributeResponse'/> </operation> <operation name='Task_GetHelp' parameterOrder='hTask'> <input message='wsdlns:CapServices.Task_GetHelp'/> <output message='wsdlns:CapServices.Task_GetHelpResponse'/> </operation> <operation name='Task_GetName' parameterOrder='hTask'> <input message='wsdlns:CapServices.Task_GetName'/> <output message='wsdlns:CapServices.Task_GetNameResponse'/> </operation> <operation name='Task_GetTag' parameterOrder='hTask'> <input message='wsdlns:CapServices.Task_GetTag'/> <output message='wsdlns:CapServices.Task_GetTagResponse'/> </operation> <operation name='Task_PutTag' parameterOrder='hTask newVal'> <input message='wsdlns:CapServices.Task_PutTag'/> <output message='wsdlns:CapServices.Task_PutTagResponse'/> </operation> <operation name='Task_GetID' parameterOrder='hTask'> <input message='wsdlns:CapServices.Task_GetID'/> <output message='wsdlns:CapServices.Task_GetIDResponse'/> </operation>

ORiN2 仕様書 268

Version 1.0, August 25, 2005 ORiN Forum

<operation name='Task_PutID' parameterOrder='hTask newVal'> <input message='wsdlns:CapServices.Task_PutID'/> <output message='wsdlns:CapServices.Task_PutIDResponse'/> </operation> <operation name='Task_Release' parameterOrder='hTask'> <input message='wsdlns:CapServices.Task_Release'/> <output message='wsdlns:CapServices.Task_ReleaseResponse'/> </operation> <operation name='Variable_GetDateTime' parameterOrder='hVariable'> <input message='wsdlns:CapServices.Variable_GetDateTime'/> <output message='wsdlns:CapServices.Variable_GetDateTimeResponse'/> </operation> <operation name='Variable_GetValue' parameterOrder='hVariable'> <input message='wsdlns:CapServices.Variable_GetValue'/> <output message='wsdlns:CapServices.Variable_GetValueResponse'/> </operation> <operation name='Variable_PutValue' parameterOrder='hVariable newVal'> <input message='wsdlns:CapServices.Variable_PutValue'/> <output message='wsdlns:CapServices.Variable_PutValueResponse'/> </operation> <operation name='Variable_GetAttribute' parameterOrder='hVariable'> <input message='wsdlns:CapServices.Variable_GetAttribute'/> <output message='wsdlns:CapServices.Variable_GetAttributeResponse'/> </operation> <operation name='Variable_GetHelp' parameterOrder='hVariable'> <input message='wsdlns:CapServices.Variable_GetHelp'/> <output message='wsdlns:CapServices.Variable_GetHelpResponse'/> </operation> <operation name='Variable_GetName' parameterOrder='hVariable'> <input message='wsdlns:CapServices.Variable_GetName'/> <output message='wsdlns:CapServices.Variable_GetNameResponse'/> </operation> <operation name='Variable_GetTag' parameterOrder='hVariable'> <input message='wsdlns:CapServices.Variable_GetTag'/> <output message='wsdlns:CapServices.Variable_GetTagResponse'/> </operation> <operation name='Variable_PutTag' parameterOrder='hVariable newVal'> <input message='wsdlns:CapServices.Variable_PutTag'/> <output message='wsdlns:CapServices.Variable_PutTagResponse'/> </operation> <operation name='Variable_GetID' parameterOrder='hVariable'> <input message='wsdlns:CapServices.Variable_GetID'/> <output message='wsdlns:CapServices.Variable_GetIDResponse'/> </operation> <operation name='Variable_PutID' parameterOrder='hVariable newVal'> <input message='wsdlns:CapServices.Variable_PutID'/> <output message='wsdlns:CapServices.Variable_PutIDResponse'/> </operation> <operation name='Variable_GetMicrosecond' parameterOrder='hVariable'> <input message='wsdlns:CapServices.Variable_GetMicrosecond'/> <output message='wsdlns:CapServices.Variable_GetMicrosecondResponse'/> </operation> <operation name='Variable_Release' parameterOrder='hVariable'> <input message='wsdlns:CapServices.Variable_Release'/> <output message='wsdlns:CapServices.Variable_ReleaseResponse'/> </operation>

ORiN2 仕様書 269

Version 1.0, August 25, 2005 ORiN Forum

<operation name='Command_Execute' parameterOrder='hCommand lMode'> <input message='wsdlns:CapServices.Command_Execute'/> <output message='wsdlns:CapServices.Command_ExecuteResponse'/> </operation> <operation name='Command_Cancel' parameterOrder='hCommand'> <input message='wsdlns:CapServices.Command_Cancel'/> <output message='wsdlns:CapServices.Command_CancelResponse'/> </operation> <operation name='Command_GetTimeout' parameterOrder='hCommand'> <input message='wsdlns:CapServices.Command_GetTimeout'/> <output message='wsdlns:CapServices.Command_GetTimeoutResponse'/> </operation> <operation name='Command_PutTimeout' parameterOrder='hCommand newVal'> <input message='wsdlns:CapServices.Command_PutTimeout'/> <output message='wsdlns:CapServices.Command_PutTimeoutResponse'/> </operation> <operation name='Command_GetState' parameterOrder='hCommand'> <input message='wsdlns:CapServices.Command_GetState'/> <output message='wsdlns:CapServices.Command_GetStateResponse'/> </operation> <operation name='Command_GetParameters' parameterOrder='hCommand'> <input message='wsdlns:CapServices.Command_GetParameters'/> <output message='wsdlns:CapServices.Command_GetParametersResponse'/> </operation> <operation name='Command_PutParameters' parameterOrder='hCommand newVal'> <input message='wsdlns:CapServices.Command_PutParameters'/> <output message='wsdlns:CapServices.Command_PutParametersResponse'/> </operation> <operation name='Command_GetResult' parameterOrder='hCommand pVal'> <input message='wsdlns:CapServices.Command_GetResult'/> <output message='wsdlns:CapServices.Command_GetResultResponse'/> </operation> <operation name='Command_GetAttribute' parameterOrder='hCommand'> <input message='wsdlns:CapServices.Command_GetAttribute'/> <output message='wsdlns:CapServices.Command_GetAttributeResponse'/> </operation> <operation name='Command_GetHelp' parameterOrder='hCommand'> <input message='wsdlns:CapServices.Command_GetHelp'/> <output message='wsdlns:CapServices.Command_GetHelpResponse'/> </operation> <operation name='Command_GetName' parameterOrder='hCommand'> <input message='wsdlns:CapServices.Command_GetName'/> <output message='wsdlns:CapServices.Command_GetNameResponse'/> </operation> <operation name='Command_GetTag' parameterOrder='hCommand'> <input message='wsdlns:CapServices.Command_GetTag'/> <output message='wsdlns:CapServices.Command_GetTagResponse'/> </operation> <operation name='Command_PutTag' parameterOrder='hCommand newVal'> <input message='wsdlns:CapServices.Command_PutTag'/> <output message='wsdlns:CapServices.Command_PutTagResponse'/> </operation> <operation name='Command_GetID' parameterOrder='hCommand'> <input message='wsdlns:CapServices.Command_GetID'/> <output message='wsdlns:CapServices.Command_GetIDResponse'/> </operation>

ORiN2 仕様書 270

Version 1.0, August 25, 2005 ORiN Forum

<operation name='Command_PutID' parameterOrder='hCommand newVal'> <input message='wsdlns:CapServices.Command_PutID'/> <output message='wsdlns:CapServices.Command_PutIDResponse'/> </operation> <operation name='Command_Release' parameterOrder='hCommand'> <input message='wsdlns:CapServices.Command_Release'/> <output message='wsdlns:CapServices.Command_ReleaseResponse'/> </operation> <operation name='Message_Reply' parameterOrder='hMessage vntData'> <input message='wsdlns:CapServices.Message_Reply'/> <output message='wsdlns:CapServices.Message_ReplyResponse'/> </operation> <operation name='Message_Clear' parameterOrder='hMessage'> <input message='wsdlns:CapServices.Message_Clear'/> <output message='wsdlns:CapServices.Message_ClearResponse'/> </operation> <operation name='Message_GetDateTime' parameterOrder='hMessage'> <input message='wsdlns:CapServices.Message_GetDateTime'/> <output message='wsdlns:CapServices.Message_GetDateTimeResponse'/> </operation> <operation name='Message_GetDescription' parameterOrder='hMessage'> <input message='wsdlns:CapServices.Message_GetDescription'/> <output message='wsdlns:CapServices.Message_GetDescriptionResponse'/> </operation> <operation name='Message_GetDestination' parameterOrder='hMessage'> <input message='wsdlns:CapServices.Message_GetDestination'/> <output message='wsdlns:CapServices.Message_GetDestinationResponse'/> </operation> <operation name='Message_GetNumber' parameterOrder='hMessage'> <input message='wsdlns:CapServices.Message_GetNumber'/> <output message='wsdlns:CapServices.Message_GetNumberResponse'/> </operation> <operation name='Message_GetSerialNumber' parameterOrder='hMessage'> <input message='wsdlns:CapServices.Message_GetSerialNumber'/> <output message='wsdlns:CapServices.Message_GetSerialNumberResponse'/> </operation> <operation name='Message_GetSource' parameterOrder='hMessage'> <input message='wsdlns:CapServices.Message_GetSource'/> <output message='wsdlns:CapServices.Message_GetSourceResponse'/> </operation> <operation name='Message_GetValue' parameterOrder='hMessage'> <input message='wsdlns:CapServices.Message_GetValue'/> <output message='wsdlns:CapServices.Message_GetValueResponse'/> </operation> <operation name='Message_Release' parameterOrder='hMessage'> <input message='wsdlns:CapServices.Message_Release'/> <output message='wsdlns:CapServices.Message_ReleaseResponse'/> </operation> </portType> <binding name='CapServicesSoapBinding' type='wsdlns:CapServicesSoapPort' > <stk:binding preferredEncoding='UTF-8'/> <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/> <operation name='Service_Start'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Service_Start'/>

ORiN2 仕様書 271

Version 1.0, August 25, 2005 ORiN Forum

<input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Service_Stop'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Service_Stop'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Controller_Connect'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_Connect'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='bstrController bstrProvider bstrMachine bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_Disconnect'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_Disconnect'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController'/> </input> <output> <soap:body

ORiN2 仕様書 272

Version 1.0, August 25, 2005 ORiN Forum

use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Controller_GetExtension'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetExtension'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController bstrName bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_GetFile'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetFile'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController bstrName bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_GetRobot'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetRobot'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController bstrName bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation>

ORiN2 仕様書 273

Version 1.0, August 25, 2005 ORiN Forum

<operation name='Controller_GetTask'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetTask'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController bstrName bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_GetVariable'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetVariable'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController bstrName bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_GetCommand'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetCommand'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController bstrName bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_GetExtensionNames'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetExtensionNames'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/'

ORiN2 仕様書 274

Version 1.0, August 25, 2005 ORiN Forum

encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_GetFileNames'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetFileNames'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_GetRobotNames'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetRobotNames'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_GetTaskNames'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetTaskNames'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController bstrOption'/> </input> <output> <soap:body use='encoded'

ORiN2 仕様書 275

Version 1.0, August 25, 2005 ORiN Forum

namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_GetVariableNames'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetVariableNames'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_GetCommandNames'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetCommandNames'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_Execute'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_Execute'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController vntCommand'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation>

ORiN2 仕様書 276

Version 1.0, August 25, 2005 ORiN Forum

<operation name='Controller_GetMessage'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetMessage'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_GetAttribute'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetAttribute'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_GetHelp'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetHelp'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_GetName'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetName'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/'

ORiN2 仕様書 277

Version 1.0, August 25, 2005 ORiN Forum

encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_GetTag'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetTag'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_PutTag'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_PutTag'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Controller_GetID'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_GetID'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/'

ORiN2 仕様書 278

Version 1.0, August 25, 2005 ORiN Forum

encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Controller_PutID'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Controller_PutID'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hController newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Extension_GetVariable'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Extension_GetVariable'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hExtension bstrName bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Extension_GetVariableNames'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Extension_GetVariableNames'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hExtension bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Extension_Execute'> <soap:operation

ORiN2 仕様書 279

Version 1.0, August 25, 2005 ORiN Forum

soapAction='http://tempuri.org/CapListener/action/CapServices.Extension_Execute'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hExtension vntCommand'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Extension_GetAttribute'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Extension_GetAttribute'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hExtension'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Extension_GetHelp'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Extension_GetHelp'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hExtension'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Extension_GetName'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Extension_GetName'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'

ORiN2 仕様書 280

Version 1.0, August 25, 2005 ORiN Forum

parts='hExtension'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Extension_GetTag'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Extension_GetTag'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hExtension'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Extension_PutTag'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Extension_PutTag'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hExtension newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Extension_GetID'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Extension_GetID'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hExtension'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'

ORiN2 仕様書 281

Version 1.0, August 25, 2005 ORiN Forum

parts='Result'/> </output> </operation> <operation name='Extension_PutID'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Extension_PutID'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hExtension newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Extension_Release'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Extension_Release'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hExtension'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='File_GetFile'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetFile'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hParetntFile bstrName bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_GetVariable'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetVariable'/> <input> <soap:body

ORiN2 仕様書 282

Version 1.0, August 25, 2005 ORiN Forum

use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile bstrName bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_GetFileNames'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetFileNames'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_GetVariableNames'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetVariableNames'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_Execute'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_Execute'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile vntCommand'/> </input> <output>

ORiN2 仕様書 283

Version 1.0, August 25, 2005 ORiN Forum

<soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_Copy'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_Copy'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile bstrName bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='File_Delete'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_Delete'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='File_Move'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_Move'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile bstrName bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='File_Run'>

ORiN2 仕様書 284

Version 1.0, August 25, 2005 ORiN Forum

<soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_Run'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_GetDateCreated'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetDateCreated'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_GetDateLastAccessed'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetDateLastAccessed'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_GetDateLastModified'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetDateLastModified'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/'

ORiN2 仕様書 285

Version 1.0, August 25, 2005 ORiN Forum

encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_GetPath'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetPath'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_GetSize'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetSize'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_GetType'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetType'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/'

ORiN2 仕様書 286

Version 1.0, August 25, 2005 ORiN Forum

encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_GetValue'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetValue'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_PutValue'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_PutValue'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='File_GetAttribute'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetAttribute'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_GetHelp'> <soap:operation

ORiN2 仕様書 287

Version 1.0, August 25, 2005 ORiN Forum

soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetHelp'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_GetName'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetName'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_GetTag'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetTag'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_PutTag'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_PutTag'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'

ORiN2 仕様書 288

Version 1.0, August 25, 2005 ORiN Forum

parts='hFile newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='File_GetID'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_GetID'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='File_PutID'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_PutID'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='File_Release'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.File_Release'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hFile'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output>

ORiN2 仕様書 289

Version 1.0, August 25, 2005 ORiN Forum

</operation> <operation name='Robot_GetVariable'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_GetVariable'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot bstrName bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Robot_GetVariableNames'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_GetVariableNames'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Robot_Execute'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_Execute'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot vntCommand'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Robot_Cancel'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_Cancel'/> <input> <soap:body

ORiN2 仕様書 290

Version 1.0, August 25, 2005 ORiN Forum

use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Robot_Accelerate'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_Accelerate'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot lAxis fAccel fDecel'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Robot_Change'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_Change'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot bstrName'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Robot_Chuck'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_Chuck'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/'

ORiN2 仕様書 291

Version 1.0, August 25, 2005 ORiN Forum

encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Robot_Drive'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_Drive'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot lNo fMov bstrOpt'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Robot_GoHome'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_GoHome'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Robot_Move'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_Move'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot lComp vntPose bstrOpt'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Robot_Rotate'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_Rotate'/> <input> <soap:body

ORiN2 仕様書 292

Version 1.0, August 25, 2005 ORiN Forum

use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot vntRotSuf fDeg vntPivot bstrOpt'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Robot_Speed'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_Speed'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot lAxis fSpeed'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Robot_Unchuck'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_Unchuck'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Robot_GetAttribute'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_GetAttribute'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/'

ORiN2 仕様書 293

Version 1.0, August 25, 2005 ORiN Forum

encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Robot_GetHelp'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_GetHelp'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Robot_GetName'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_GetName'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Robot_GetTag'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_GetTag'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Robot_PutTag'>

ORiN2 仕様書 294

Version 1.0, August 25, 2005 ORiN Forum

<soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_PutTag'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Robot_GetID'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_GetID'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Robot_PutID'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_PutID'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Robot_Release'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Robot_Release'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hRobot'/>

ORiN2 仕様書 295

Version 1.0, August 25, 2005 ORiN Forum

</input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Task_GetVariable'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_GetVariable'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask bstrName bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Task_GetVariableNames'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_GetVariableNames'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Task_Execute'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_Execute'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask vntCommand'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/>

ORiN2 仕様書 296

Version 1.0, August 25, 2005 ORiN Forum

</output> </operation> <operation name='Task_Start'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_Start'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask lMode bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Task_Stop'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_Stop'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask lMode bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Task_Delete'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_Delete'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask bstrOption'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Task_GetFileName'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_GetFileName'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/'

ORiN2 仕様書 297

Version 1.0, August 25, 2005 ORiN Forum

encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Task_GetAttribute'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_GetAttribute'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Task_GetHelp'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_GetHelp'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Task_GetName'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_GetName'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask'/> </input> <output> <soap:body use='encoded'

ORiN2 仕様書 298

Version 1.0, August 25, 2005 ORiN Forum

namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Task_GetTag'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_GetTag'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Task_PutTag'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_PutTag'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Task_GetID'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_GetID'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Task_PutID'>

ORiN2 仕様書 299

Version 1.0, August 25, 2005 ORiN Forum

<soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_PutID'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Task_Release'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Task_Release'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hTask'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Variable_GetDateTime'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Variable_GetDateTime'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hVariable'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Variable_GetValue'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Variable_GetValue'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hVariable'/>

ORiN2 仕様書 300

Version 1.0, August 25, 2005 ORiN Forum

</input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Variable_PutValue'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Variable_PutValue'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hVariable newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Variable_GetAttribute'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Variable_GetAttribute'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hVariable'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Variable_GetHelp'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Variable_GetHelp'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hVariable'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/>

ORiN2 仕様書 301

Version 1.0, August 25, 2005 ORiN Forum

</output> </operation> <operation name='Variable_GetName'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Variable_GetName'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hVariable'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Variable_GetTag'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Variable_GetTag'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hVariable'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Variable_PutTag'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Variable_PutTag'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hVariable newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Variable_GetID'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Variable_GetID'/> <input> <soap:body

ORiN2 仕様書 302

Version 1.0, August 25, 2005 ORiN Forum

use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hVariable'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Variable_PutID'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Variable_PutID'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hVariable newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Variable_GetMicrosecond'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Variable_GetMicrosecond'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hVariable'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Variable_Release'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Variable_Release'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hVariable'/> </input> <output> <soap:body

ORiN2 仕様書 303

Version 1.0, August 25, 2005 ORiN Forum

use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Command_Execute'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_Execute'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand lMode'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Command_Cancel'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_Cancel'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Command_GetTimeout'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_GetTimeout'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Command_PutTimeout'> <soap:operation

ORiN2 仕様書 304

Version 1.0, August 25, 2005 ORiN Forum

soapAction='http://tempuri.org/CapListener/action/CapServices.Command_PutTimeout'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Command_GetState'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_GetState'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Command_GetParameters'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_GetParameters'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Command_PutParameters'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_PutParameters'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand newVal'/>

ORiN2 仕様書 305

Version 1.0, August 25, 2005 ORiN Forum

</input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Command_GetResult'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_GetResult'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand pVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Command_GetAttribute'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_GetAttribute'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Command_GetHelp'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_GetHelp'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output>

ORiN2 仕様書 306

Version 1.0, August 25, 2005 ORiN Forum

</operation> <operation name='Command_GetName'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_GetName'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Command_GetTag'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_GetTag'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Command_PutTag'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_PutTag'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Command_GetID'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_GetID'/> <input> <soap:body use='encoded'

ORiN2 仕様書 307

Version 1.0, August 25, 2005 ORiN Forum

namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Command_PutID'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_PutID'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand newVal'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Command_Release'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Command_Release'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hCommand'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Message_Reply'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Message_Reply'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hMessage vntData'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/'

ORiN2 仕様書 308

Version 1.0, August 25, 2005 ORiN Forum

encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Message_Clear'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Message_Clear'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hMessage'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> <operation name='Message_GetDateTime'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Message_GetDateTime'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hMessage'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Message_GetDescription'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Message_GetDescription'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hMessage'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Message_GetDestination'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Message_GetDestination'/>

ORiN2 仕様書 309

Version 1.0, August 25, 2005 ORiN Forum

<input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hMessage'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Message_GetNumber'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Message_GetNumber'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hMessage'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Message_GetSerialNumber'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Message_GetSerialNumber'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hMessage'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Message_GetSource'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Message_GetSource'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hMessage'/>

ORiN2 仕様書 310

Version 1.0, August 25, 2005 ORiN Forum

</input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Message_GetValue'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Message_GetValue'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hMessage'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='Result'/> </output> </operation> <operation name='Message_Release'> <soap:operation soapAction='http://tempuri.org/CapListener/action/CapServices.Message_Release'/> <input> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' parts='hMessage'/> </input> <output> <soap:body use='encoded' namespace='http://tempuri.org/CapListener/message/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> </binding> <service name='CapListener' > <port name='CapServicesSoapPort' binding='wsdlns:CapServicesSoapBinding' > <soap:address location='http://localhost/Cap/CapListener.WSDL'/> </port> </service> </definitions>

A.7. CAP Listener IDL

List 4-8 CapListener.IDL /** @file CapListener.idl *

ORiN2 仕様書 311

Version 1.0, August 25, 2005 ORiN Forum

* @brief CapListener.dll 用の IDL ソース ファイル * * @version 1.0 * @date 2003/12/17 * @author DENSO WAVE * */ // このファイルはタイプ ライブラリ (CapListener.tlb) を作成するために // タイプ ライブラリ作成ツール MIDL によって処理されます. import "oaidl.idl"; import "ocidl.idl"; [ object, uuid(3A427B16-2FBE-4FB4-B20C-1AC32F669B75), dual, helpstring("ICapServices Interface"), pointer_default(unique) ] interface ICapServices : IDispatch { [id(1), helpstring("Method Service_Start")] HRESULT Service_Start(); [id(2), helpstring("Method Service_Stop")] HRESULT Service_Stop(); [id(3), helpstring("Method Controller_Connect")] HRESULT Controller_Connect([in] BSTR bstrController, [in] BSTR bstrProvider, [in, defaultvalue("")] BSTR bstrMachine, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long *hController); [id(4), helpstring("Method Controller_Disconnect")] HRESULT Controller_Disconnect([in] long hController); [id(5), helpstring("Method Controller_GetExtension")] HRESULT Controller_GetExtension([in] long hController, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long *hExtension); [id(6), helpstring("Method Controller_GetFile")] HRESULT Controller_GetFile([in] long hController, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long *hFile); [id(7), helpstring("Method Controller_GetRobot")] HRESULT Controller_GetRobot([in] long hController, [in] BSTR bstrName, [in,defaultvalue("")] BSTR bstrOption, [out, retval] long *hRobot); [id(8), helpstring("Method Controller_GetTask")] HRESULT Controller_GetTask([in] long hController, [in]BSTR bstrName, [in,defaultvalue("")] BSTR bstrOption, [out, retval] long *hTask); [id(9), helpstring("Method Controller_GetVariable")] HRESULT Controller_GetVariable([in] long hController, [in] BSTR bstrName, [in,defaultvalue("")] BSTR bstrOption, [out, retval] long *hVariable); [id(10), helpstring("Method Controller_GetCommand")] HRESULT Controller_GetCommand([in] long hController, [in] BSTR bstrName, [in,defaultvalue("")] BSTR bstrOption, [out, retval] long *hCommand); [id(11), helpstring("Method Controller_GetExtensionNames")] HRESULT Controller_GetExtensionNames([in] long hController, [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [id(12), helpstring("Method Controller_GetFileNames")] HRESULT Controller_GetFileNames([in] long hController, [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [id(13), helpstring("Method Controller_GetRobotNames")] HRESULT Controller_GetRobotNames([in] long hController, [in,defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [id(14), helpstring("Method Controller_GetTaskNames")] HRESULT Controller_GetTaskNames([in] long hController, [in,defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [id(15), helpstring("Method Controller_GetVariableNames")] HRESULT Controller_GetVariableNames([in] long hController, [in,defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [id(16), helpstring("Method Controller_GetCommandNames")] HRESULT Controller_GetCommandNames([in] long hController, [in,defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [id(17), helpstring("Method Controller_Execute")] HRESULT Controller_Execute([in] long hController, [in] VARIANT vntCommand, [out, retval] VARIANT *pVal); [id(18), helpstring("Method Controller_GetMessage")] HRESULT Controller_GetMessage([in] long hController, [out,retval] long *hMessage); [id(19), helpstring("Method Controller_GetAttribute")] HRESULT

ORiN2 仕様書 312

Version 1.0, August 25, 2005 ORiN Forum

Controller_GetAttribute([in] long hController, [out, retval] long *pVal); [id(20), helpstring("Method Controller_GetHelp")] HRESULT Controller_GetHelp([in] long hController, [out, retval] BSTR *pVal); [id(21), helpstring("Method Controller_GetName")] HRESULT Controller_GetName([in] long hController, [out, retval] BSTR *pVal); [id(22), helpstring("Method Controller_GetTag")] HRESULT Controller_GetTag([in] long hController, [out, retval] VARIANT *pVal); [id(23), helpstring("Method Controller_PutTag")] HRESULT Controller_PutTag([in] long hController, [in] VARIANT newVal); [id(24), helpstring("Method Controller_GetID")] HRESULT Controller_GetID([in] long hController, [out, retval] VARIANT *pVal); [id(25), helpstring("Method Controller_PutID")] HRESULT Controller_PutID([in] long hController, [in] VARIANT newVal); [id(26), helpstring("Method Extension_GetVariable")] HRESULT Extension_GetVariable([in] long hExtension, [in] BSTR bstrName, [in,defaultvalue("")] BSTR bstrOption, [out, retval] long *hVariable); [id(27), helpstring("Method Extension_GetVariableNames")] HRESULT Extension_GetVariableNames([in] long hExtension, [in,defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [id(28), helpstring("Method Extension_Execute")] HRESULT Extension_Execute([in] long hExtension, [in] VARIANT vntCommand, [out, retval] VARIANT *pVal); [id(29), helpstring("Method Extension_GetAttribute")] HRESULT Extension_GetAttribute([in] long hExtension, [out, retval] long *pVal); [id(30), helpstring("Method Extension_GetHelp")] HRESULT Extension_GetHelp([in] long hExtension, [out, retval] BSTR *pVal); [id(31), helpstring("Method Extension_GetName")] HRESULT Extension_GetName([in] long hExtension, [out, retval] BSTR *pVal); [id(32), helpstring("Method Extension_GetTag")] HRESULT Extension_GetTag([in] long hExtension, [out, retval] VARIANT *pVal); [id(33), helpstring("Method Extension_PutTag")] HRESULT Extension_PutTag([in] long hExtension, [in] VARIANT newVal); [id(34), helpstring("Method Extension_GetID")] HRESULT Extension_GetID([in] long hExtension, [out, retval] VARIANT *pVal); [id(35), helpstring("Method Extension_PutID")] HRESULT Extension_PutID([in] long hExtension, [in] VARIANT newVal); [id(36), helpstring("Method Extension_Release")] HRESULT Extension_Release([in] long hExtension); [id(37), helpstring("Method File_GetFile")] HRESULT File_GetFile([in] long hParetntFile, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption, [out, retval] long *hFile); [id(38), helpstring("Method File_GetVariable")] HRESULT File_GetVariable([in] long hFile, [in] BSTR bstrName, [in,defaultvalue("")] BSTR bstrOption, [out, retval] long *hVariable); [id(39), helpstring("Method File_GetFileNames")] HRESULT File_GetFileNames([in] long hFile, [in, defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [id(40), helpstring("Method File_GetVariableNames")] HRESULT File_GetVariableNames([in] long hFile, [in,defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [id(41), helpstring("Method File_Execute")] HRESULT File_Execute([in] long hFile, [in] VARIANT vntCommand, [out, retval] VARIANT *pVal); [id(42), helpstring("Method File_Copy")] HRESULT File_Copy([in] long hFile, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption); [id(43), helpstring("Method File_Delete")] HRESULT File_Delete([in] long hFile, [in, defaultvalue("")] BSTR bstrOption); [id(44), helpstring("Method File_Move")] HRESULT File_Move([in] long hFile, [in] BSTR bstrName, [in, defaultvalue("")] BSTR bstrOption); [id(45), helpstring("Method File_Run")] HRESULT File_Run([in] long hFile, [in, defaultvalue("")] BSTR bstrOption, [out, retval] BSTR *bstrName); [id(46), helpstring("Method File_GetDateCreated")] HRESULT File_GetDateCreated([in] long hFile, [out, retval] VARIANT *pVal); [id(47), helpstring("Method File_GetDateLastAccessed")] HRESULT File_GetDateLastAccessed([in] long hFile, [out, retval] VARIANT *pVal); [id(48), helpstring("Method File_GetDateLastModified")] HRESULT File_GetDateLastModified([in] long hFile, [out, retval] VARIANT *pVal); [id(49), helpstring("Method File_GetPath")] HRESULT File_GetPath([in] long hFile, [out, retval] BSTR *pVal); [id(50), helpstring("Method File_GetSize")] HRESULT File_GetSize([in] long hFile, [out, retval] long *pVal); [id(51), helpstring("Method File_GetType")] HRESULT File_GetType([in] long hFile, [out, retval] BSTR *pVal);

ORiN2 仕様書 313

Version 1.0, August 25, 2005 ORiN Forum

[id(52), helpstring("Method File_GetValue")] HRESULT File_GetValue([in] long hFile, [out, retval] VARIANT *pVal); [id(53), helpstring("Method File_PutValue")] HRESULT File_PutValue([in] long hFile, [in] VARIANT newVal); [id(54), helpstring("Method File_GetAttribute")] HRESULT File_GetAttribute([in] long hFile, [out, retval] long *pVal); [id(55), helpstring("Method File_GetHelp")] HRESULT File_GetHelp([in] long hFile, [out, retval] BSTR *pVal); [id(56), helpstring("Method File_GetName")] HRESULT File_GetName([in] long hFile, [out, retval] BSTR *pVal); [id(57), helpstring("Method File_GetTag")] HRESULT File_GetTag([in] long hFile, [out, retval] VARIANT *pVal); [id(58), helpstring("Method File_PutTag")] HRESULT File_PutTag([in] long hFile, [in] VARIANT newVal); [id(59), helpstring("Method File_GetID")] HRESULT File_GetID([in] long hFile, [out, retval] VARIANT *pVal); [id(60), helpstring("Method File_PutID")] HRESULT File_PutID([in] long hFile, [in] VARIANT newVal); [id(61), helpstring("Method File_Release")] HRESULT File_Release([in] long hFile); [id(62), helpstring("Method Robot_GetVariable")] HRESULT Robot_GetVariable([in] long hRobot, [in] BSTR bstrName, [in,defaultvalue("")] BSTR bstrOption, [out, retval] long *hVariable); [id(63), helpstring("Method Robot_GetVariableNames")] HRESULT Robot_GetVariableNames([in] long hRobot, [in,defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [id(64), helpstring("Method Robot_Execute")] HRESULT Robot_Execute([in] long hRobot, [in] VARIANT vntCommand, [out, retval] VARIANT *pVal); [id(65), helpstring("Method Robot_Cancel")] HRESULT Robot_Cancel([in] long hRobot, [in] BSTR bstrOption); [id(66), helpstring("Method Robot_Accelerate")] HRESULT Robot_Accelerate([in] long hRobot, [in] long lAxis, [in] float fAccel, [in] float fDecel); [id(67), helpstring("Method Robot_Change")] HRESULT Robot_Change([in] long hRobot, [in] BSTR bstrName); [id(68), helpstring("Method Robot_Chuck")] HRESULT Robot_Chuck([in] long hRobot, [in] BSTR bstrOption); [id(69), helpstring("Method Robot_Drive")] HRESULT Robot_Drive([in] long hRobot, [in] long lNo, [in] float fMov, [in,defaultvalue("")] BSTR bstrOpt); [id(70), helpstring("Method Robot_GoHome")] HRESULT Robot_GoHome([in] long hRobot); [id(71), helpstring("Method Robot_Move")] HRESULT Robot_Move([in] long hRobot, [in] long lComp, [in] VARIANT vntPose, [in,defaultvalue("")] BSTR bstrOpt); [id(72), helpstring("Method Robot_Rotate")] HRESULT Robot_Rotate([in] long hRobot, [in] VARIANT vntRotSuf, [in] float fDeg, [in] VARIANT vntPivot, [in,defaultvalue("")] BSTR bstrOpt); [id(73), helpstring("Method Robot_Speed")] HRESULT Robot_Speed([in] long hRobot, [in] long lAxis, [in] float fSpeed); [id(74), helpstring("Method Robot_Unchuck")] HRESULT Robot_Unchuck([in] long hRobot, [in] BSTR bstrOption); [id(75), helpstring("Method Robot_GetAttribute")] HRESULT Robot_GetAttribute([in] long hRobot, [out, retval] long *pVal); [id(76), helpstring("Method Robot_GetHelp")] HRESULT Robot_GetHelp([in] long hRobot, [out, retval] BSTR *pVal); [id(77), helpstring("Method Robot_GetName")] HRESULT Robot_GetName([in] long hRobot, [out, retval] BSTR *pVal); [id(78), helpstring("Method Robot_GetTag")] HRESULT Robot_GetTag([in] long hRobot, [out, retval] VARIANT *pVal); [id(79), helpstring("Method Robot_PutTag")] HRESULT Robot_PutTag([in] long hRobot, [in] VARIANT newVal); [id(80), helpstring("Method Robot_GetID")] HRESULT Robot_GetID([in] long hRobot, [out, retval] VARIANT *pVal); [id(81), helpstring("Method Robot_PutID")] HRESULT Robot_PutID([in] long hRobot, [in] VARIANT newVal); [id(82), helpstring("Method Robot_Release")] HRESULT Robot_Release([in] long hRobot); [id(83), helpstring("Method Task_GetVariable")] HRESULT Task_GetVariable([in] long hTask, [in] BSTR bstrName, [in,defaultvalue("")] BSTR bstrOption, [out, retval] long *hVariable); [id(84), helpstring("Method Task_GetVariableNames")] HRESULT Task_GetVariableNames([in] long hTask, [in,defaultvalue("")] BSTR bstrOption, [out, retval] VARIANT *pVal); [id(85), helpstring("Method Task_Execute")] HRESULT Task_Execute([in] long hTask, [in] VARIANT vntCommand, [out, retval] VARIANT *pVal); [id(86), helpstring("Method Task_Start")] HRESULT Task_Start([in] long hTask, [in]

ORiN2 仕様書 314

Version 1.0, August 25, 2005 ORiN Forum

long lMode, [in, defaultvalue("")] BSTR bstrOption); [id(87), helpstring("Method Task_Stop")] HRESULT Task_Stop([in] long hTask, [in] long lMode, [in, defaultvalue("")] BSTR bstrOption); [id(88), helpstring("Method Task_Delete")] HRESULT Task_Delete([in] long hTask, [in, defaultvalue("")] BSTR bstrOption); [id(89), helpstring("Method Task_GetFileName")] HRESULT Task_GetFileName([in] long hTask, [out, retval] BSTR *pVal); [id(90), helpstring("Method Task_GetAttribute")] HRESULT Task_GetAttribute([in] long hTask, [out, retval] long *pVal); [id(91), helpstring("Method Task_GetHelp")] HRESULT Task_GetHelp([in] long hTask, [out, retval] BSTR *pVal); [id(92), helpstring("Method Task_GetName")] HRESULT Task_GetName([in] long hTask, [out, retval] BSTR *pVal); [id(93), helpstring("Method Task_GetTag")] HRESULT Task_GetTag([in] long hTask, [out, retval] VARIANT *pVal); [id(94), helpstring("Method Task_PutTag")] HRESULT Task_PutTag([in] long hTask, [in] VARIANT newVal); [id(95), helpstring("Method Task_GetID")] HRESULT Task_GetID([in] long hTask, [out, retval] VARIANT *pVal); [id(96), helpstring("Method Task_PutID")] HRESULT Task_PutID([in] long hTask, [in] VARIANT newVal); [id(97), helpstring("Method Task_Release")] HRESULT Task_Release([in] long hTask); [id(98), helpstring("Method Variable_GetDateTime")] HRESULT Variable_GetDateTime([in] long hVariable, [out, retval] VARIANT *pVal); [id(99), helpstring("Method Variable_GetValue")] HRESULT Variable_GetValue([in] long hVariable, [out, retval] VARIANT *pVal); [id(100), helpstring("Method Variable_PutValue")] HRESULT Variable_PutValue([in] long hVariable, [in] VARIANT newVal); [id(101), helpstring("Method Variable_GetAttribute")] HRESULT Variable_GetAttribute([in] long hVariable, [out, retval] long *pVal); [id(102), helpstring("Method Variable_GetHelp")] HRESULT Variable_GetHelp([in] long hVariable, [out, retval] BSTR *pVal); [id(103), helpstring("Method Variable_GetName")] HRESULT Variable_GetName([in] long hVariable, [out, retval] BSTR *pVal); [id(104), helpstring("Method Variable_GetTag")] HRESULT Variable_GetTag([in] long hVariable, [out, retval] VARIANT *pVal); [id(105), helpstring("Method Variable_PutTag")] HRESULT Variable_PutTag([in] long hVariable, [in] VARIANT newVal); [id(106), helpstring("Method Variable_GetID")] HRESULT Variable_GetID([in] long hVariable, [out, retval] VARIANT *pVal); [id(107), helpstring("Method Variable_PutID")] HRESULT Variable_PutID([in] long hVariable, [in] VARIANT newVal); [id(108), helpstring("Method Variable_GetMicrosecond")] HRESULT Variable_GetMicrosecond([in] long hVariable, [out, retval] long *pVal); [id(109), helpstring("Method Variable_Release")] HRESULT Variable_Release([in] long hVariable); [id(110), helpstring("Method Command_Execute")] HRESULT Command_Execute([in] long hCommand, [in] long lMode); [id(111), helpstring("Method Command_Cancel")] HRESULT Command_Cancel([in] long hCommand); [id(112), helpstring("Method Command_GetTimeout")] HRESULT Command_GetTimeout([in] long hCommand, [out, retval] long *pVal); [id(113), helpstring("Method Command_PutTimeout")] HRESULT Command_PutTimeout([in] long hCommand, [in] long newVal); [id(114), helpstring("Method Command_GetState")] HRESULT Command_GetState([in] long hCommand, [out, retval] long *pVal); [id(115), helpstring("Method Command_GetParameters")] HRESULT Command_GetParameters([in] long hCommand, [out, retval] VARIANT *pVal); [id(116), helpstring("Method Command_PutParameters")] HRESULT Command_PutParameters([in] long hCommand, [in] VARIANT newVal); [id(117), helpstring("Method Command_GetResult")] HRESULT Command_GetResult([in] long hCommand, [in] VARIANT *pVal); [id(118), helpstring("Method Command_GetAttribute")] HRESULT Command_GetAttribute([in] long hCommand, [out, retval] long *pVal); [id(119), helpstring("Method Command_GetHelp")] HRESULT Command_GetHelp([in] long hCommand, [out, retval] BSTR *pVal); [id(120), helpstring("Method Command_GetName")] HRESULT Command_GetName([in] long hCommand, [out, retval] BSTR *pVal);

ORiN2 仕様書 315

Version 1.0, August 25, 2005 ORiN Forum

[id(121), helpstring("Method Command_GetTag")] HRESULT Command_GetTag([in] long hCommand, [out, retval] VARIANT *pVal); [id(122), helpstring("Method Command_PutTag")] HRESULT Command_PutTag([in] long hCommand, [in] VARIANT newVal); [id(123), helpstring("Method Command_GetID")] HRESULT Command_GetID([in] long hCommand, [out, retval] VARIANT *pVal); [id(124), helpstring("Method Command_PutID")] HRESULT Command_PutID([in] long hCommand, [in] VARIANT newVal); [id(125), helpstring("Method Command_Release")] HRESULT Command_Release([in] long hCommand); [id(126), helpstring("Method Message_Reply")] HRESULT Message_Reply([in] long hMessage, [in] VARIANT vntData); [id(127), helpstring("Method Message_Clear")] HRESULT Message_Clear([in] long hMessage); [id(128), helpstring("Method Message_GetDateTime")] HRESULT Message_GetDateTime([in] long hMessage, [out, retval] VARIANT *pVal); [id(129), helpstring("Method Message_GetDescription")] HRESULT Message_GetDescription([in] long hMessage, [out, retval] BSTR *pVal); [id(130), helpstring("Method Message_GetDestination")] HRESULT Message_GetDestination([in] long hMessage, [out, retval] BSTR *pVal); [id(131), helpstring("Method Message_GetNumber")] HRESULT Message_GetNumber([in] long hMessage, [out, retval] long *pVal); [id(132), helpstring("Method Message_GetSerialNumber")] HRESULT Message_GetSerialNumber([in] long hMessage, [out, retval] long *pVal); [id(133), helpstring("Method Message_GetSource")] HRESULT Message_GetSource([in] long hMessage, [out, retval] BSTR *pVal); [id(134), helpstring("Method Message_GetValue")] HRESULT Message_GetValue([in] long hMessage, [out, retval] VARIANT *pVal); [id(135), helpstring("Method Message_Release")] HRESULT Message_Release([in] long hMessage); }; [ uuid(64A6006F-DB26-48E8-BB25-F1F62B52A27A), version(1.0), helpstring("CapListener 1.0 タイプ ライブラリ") ] library CAPLISTENERLib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); [ uuid(8FCA775A-6855-4741-B891-D4EA9F4CA550), helpstring("CapServices Class") ] coclass CapServices { [default] interface ICapServices; }; };

ORiN2 仕様書 316

Version 1.0, August 25, 2005 ORiN Forum

B 付録

B.1. 用語集

分散オブジェクト技術 共通の呼び出し規約に従って動作するソフトウェア部品(オブジェクト)をネットワーク上の複数のコ

ンピュータに配置し,それらを連携動作させることによりシステムを構築する手法.分散オブジェクト

技術には,Microsoft社がWindowsプラットフォーム向けに開発したDCOMや,OMGが策定したCORBA,Java 言語で利用される JavaRMI などあります. インターフェース (Interface) 二つのものの間に立って,情報のやり取りを仲介するものを指します.また,その規格.IT 関連では,

「ハードウェアインターフェース」「ソフトウェアインターフェース」「ユーザインターフェース」の三

つに大別できます. XML (eXtensible Markup Language)

XML とは,自己拡張可能なマークアップ言語のことで,文書構造を決定するための規則を文書の作成

者が決定できます.(これが「自己拡張可能」と言われる所以です)この,文書の構造をその作り手が自

由に決定できるという機能を利用すれば,XML という標準仕様を用いながら,特定の構造にとらわれ

ない自由度の高いデータを広く交換できるようになります. XML には,以下のような特徴があります. ・ 意味と内容を持ったデータ形式 ・ 階層的なデータ構造定義が可能 ・ タグを論理的に記述でき,構造化された分かりやすい文書を作成可能 ・ 拡張性があり,業界標準として普及しつつあるデータ形式

DOM (Document Object Model)

DOM とは,XML 文書をオブジェクトとして扱うための標準 API です. XML 文書自体は,テキストファイルですが,これをブラウザや CAO などのアプリケーションが処理

するときには,XML で記述されている個々の要素を,一つのオブジェクトとして読み出します.この

とき XML をオブジェクトとして扱う方法が,アプリケーションによって異なってしまうと,開発者に

とって大きな負担になります.そこでW3Cにより統一的な規格として定められているのがDOMです.

XMLのAPIとしては,DOMの他に SAX(Simple API for XML)があり,どちらも広く使用されています. また,DOM には,いくつかのレベルがあり,レベルが大きい方がより新しく高機能となっています.

現在 W3Cより勧告されている中では Level-2 が 新であり,CRDプロバイダなどでもこれを使用して

います. XML パーサ (XML Parser)

XML 文書は通常テキストファイルとして存在しています.しかし,XML にはさまざまな表記方法が許

されており,そのデータをアプリケーションで読込むためにはいくつかの手順を踏む必要があります.

ORiN2 仕様書 317

Version 1.0, August 25, 2005 ORiN Forum

その手順のうち汎用的に使用されるものを取り出したものが XML パーサです. アプリケーションから XML パーサを呼び出す場合には,標準化された API を使用します.標準 APIには,先ほど説明した DOM や SAXなどがあります.DOM は公開された標準であるため,現在これに

準拠した XML パーサが複数公開されています.なかでも Windows 環境において Visual C++や Visual Basic で容易に使用可能なものとして MSXML があげられ,CRDプロバイダなどではこの MSXML が

採用されています.また MSXML は現在複数のバージョンが存在しますが,CRD プロバイダでは

MSXML4.0 を使用しています.CRDプロバイダを使用するときは,インストールされている MSXMLのバージョンの確認が必要となります.

XML スキーマ (XML Schema)

XML におけるスキーマとは,XML 文書の取り得る構造を記述したものです.つまり要素や属性の配列

に正しい並び方を記述したものであり,このスキーマを記述することによって,XML パーサなどで

XML 文書の正しさをある程度まで自動的にチェックすることが可能となります. XML 用の代表的なスキーマ言語には,DTD,XML Schema,RELAX,XDRなどがあげられますが,CRDでは XML Schema を採用しています.

SOAP (Simple Object Access Protocol) SOAP とは,XML フォーマットで記述されたメッセージを HTTP で送信することにより,リモートの

PC上にあるオブジェクトを呼び出すためのプロトコルです. リモートの PC上のオブジェクトを呼び出す技術としては,CORBAやDCOMなどがあります.しかし,

これらの技術は,独自のポート番号を利用して通信をおこなうために,ファイアウォールを介して通信

をおこなう場合,特定のポートに対して通信を許可する設定をおこなう必要があります.近年では,

DCOM のセキュリティホールを利用したワームなどが存在しますので,一般的には,DCOM のポート

に通信を許可する設定はおこないません. そこで,これらの問題を解決するために SOAP という技術が開発されました.SOAP では,オブジェク

ト間でやり取りされるメッセージの構造を規定しているだけなので,通信用プロトコルには既存の

HTTPや SMTP を利用します.これにより,HTTP や SMTPが通信可能であれば,SOAP を利用するこ

とにより,ファイアウォールを介しての分散オブジェクト技術が利用可能になります. WSDL (Web Services Description Language)

WSDL とは,XML ベースの Webサービスにおけるインタフェース記述言語です.Webサービスにおけ

るアクセスポイント (URL),使用プロトコル (SOAP,HTTP,MIME) メッセージの形式 (XML Schema) などの情報を記述することが可能です.SOAP において,WSDL ファイルは CORBAや COM にとって

の IDL(インターフェイス定義言語)ファイルと等価です. DCOM (Distributed Component Object Model)

Microsoft 社が定めた分散オブジェクト技術の仕様.同社の COM 仕様にしたがって作成されたソフトウ

ェア部品(「COM オブジェクト」と呼ばれる)同士がネットワークを通じて通信を行い,データの交換

や処理依頼のやり取りなどを行なうことができます.

ORiN2 仕様書 318

Version 1.0, August 25, 2005 ORiN Forum

CORBA (Common Object Request Broker Architecture)

OMG(オブジェクト指向技術の標準化,普及をすすめるため,1989 年に設立された業界団体)が定めた

分散オブジェクト技術の仕様.DCOM が Windowsプラットフォーム向けであるのに対して CORBAは

プラットフォームには依存しません. CAO (Controller Access Object)

CAOとは,クライアントアプリケーションおよびロボットコントローラに対して,共通のインタフェ

ースと機能を提供する「標準プログラムインタフェース」です. CAOインタフェース (CAO Interface) (API)

クライアントアプリケーションに対して CAO が提供するロボットコントローラを操作するためのイ

ンタフェースです.“CAO API”とは,このインタフェースを指します. CAOエンジン (CAO Engine)

CAOエンジンとは,CAOのインタフェースを実装したミドルウェア(EXE)で,クライアントに対して

CAOプロバイダに対する共通の機能と CAOインタフェースを提供します.CAOプロバイダに対する

共通の機能として,コレクション機能,メッセージ出力,CRD切り替え機能等があります. CAOプロバイダ (CAO Provider)

CAOプロバイダとは,CAOの下位モジュールで,ロボットメーカ各社に依存した部分を実装した DLLです.

CAOプロバイダテンプレート (CAO Provider template)

CAO Provider の実装をサポートする C++テンプレートです.このテンプレートは ProviderWizardで自

動生成されます. CAP(Controller Access Protocol)

インターネット経由で CAOプロバイダにアクセスするための「インターネット向け通信プロトコル」

です.CAP では,SOAP を使用した CAOプロバイダにアクセスするためのメッセージを定義していま

す.

CAP プロバイダ(CAP Provider) CAP メッセージの生成,送受信をおこなうための CAOプロバイダです.

CAP リスナ(CAP Listener)

CAP メッセージを受信して,リモートマシン上で CAOを動作させるためのサーバプログラムです. CAP メッセージ(CAP Message)

ORiN2 仕様書 319

Version 1.0, August 25, 2005 ORiN Forum

CAP により定義される SOAP メッセージです. CRD (Controller Resource Definition)

メーカや機種によって異なるロボットのリソース情報を表現するための汎用のデータフォーマットを

定義するデータスキーマです. CRDリソース (CRD Resource)

CRDによって表現されるロボットのリソースです. CRDデータ (CRD Data)

CRDに従って記述されたロボットのリソースデータで,XML によって記述されます. CRDデータスキーマ (CRD Data Schema)

CRDデータのフォーマットを定義するスキーマです. CRDファイル (CRD File)

CRDデータの記述された XML ファイルです. CRDプロバイダ (CRD Provider)

CRDデータにアクセスするための CAOプロバイダの一種です.