<< 前へ        次へ >>

ID : 2243

Caoオブジェクト

Caoオブジェクトはプロバイダの生成と消滅を管理するためのオブジェクトです。
CaoオブジェクトはORiN2のCaoWorkspaceオブジェクトに該当します。

"Cao"と"gCao"

PacScript言語において、Caoオブジェクトと同じ型(CaoWorkspace)は"Cao"と"gCao"の2つあります。
上図は、PacScript言語における、"Cao"と"gCao"の関係を示しています。
"Cao"はタスク(プログラム)内にローカルに、一つのみ存在する組込みオブジェクトであるのに対して、"gCao"は1つのグローバルオブジェクトとして、タスク外に存在します。
異なるタスクの"Cao"は互いに関連し合わないのに対して、"gCao"は異なるタスクであっても同じオブジェクト(gCao[n]のnが同じ場合)を参照する場合は影響し合います。

オブジェクトの生成と消滅

CaoオブジェクトはPacScriptのタスク単位で独立に管理されます。タスクが実行開始する直前に生成され、タスクが終了すると自動で消滅します。
タスクが実行中にCaoオブジェクトによって生成されたプロバイダは、タスク終了と共に自動で破棄されます。
Caoオブジェクトによって管理されているプロバイダは、タスクの停止のタイミングで実行中の処理をキャンセルする"プロバイダキャンセル要求 (ProviderCancel)"が行われます。また、タスクの開始のタイミングでプロバイダに対してキャンセルを取り消すための"プロバイダクリア要求 (ProviderClear)"が行われます。

関連コマンド

コマンド名 機能
Cao.AddController プロバイダを生成します。
Cao.Index プロバイダの番号を参照します。
Cao.Name プロバイダ名を参照します。
Cao.Controllers 管理下にあるコントローラオブジェクト(コレクション)を参照します。

用例

'Pro1.pcs
Sub Main
  PrintDbg "Cao.Name = " & Cao.Name
  PrintDbg "Cao.Index = " & Cao.Index

  ' 外部IP=192.168.0.1のコントローラへの接続を行う
  Call Cao.AddController("RC1", "CaoProv.DENSO.RC8", "", "Conn=eth:192.168.0.1")
  ' 外部IP=192.168.0.2のコントローラへの接続を行う
  Call Cao.AddController("RC2", "CaoProv.DENSO.RC8", "", "Conn=eth:192.168.0.2")
  
  ' Cao.Controllersに追加されたオブジェクト数を表示する
  PrintDbg "Cao.Controllers.Count = " & Cao.Controllers.Count()
  
  '"RC1"(=外部IP=192.168.0.1のコントローラ)のエラーをクリアする
  Call Cao.Controllers("RC1").Execute("ClearError" )
  '"RC2"(=外部IP=192.168.0.2のコントローラ)のエラーをクリアする
  Call Cao.Controllers("RC2").Execute("ClearError" )
 
End Sub

ID : 2243

<< 前へ        次へ >>