T473 RunContorl URD
目的:
T473ProcessはT473RunControlによって状態遷移をするプロセスクラスとなります。 したがって、ユーザーにより制御されるであろうプロセスはこのクラスを継承すること になります。
T473RunControlは 一括したプロセス制御をするので、制御したいプロセスが走っている ホスト名・プロセスIDを知らせなければなりません。それらの情報をNameSpaceから 取得して、ユーザーは意識することなくプロセス制御をすることになります。
使用法:
実行ファイル
[controlerT473]
基底クラスT473Processの基本的動作は、シグナルを受けとってControlerから文字列を受けとることにあります。 その文字列は
[begin,end,pause,resume,shutdown]
と想定されており、vertualによって与えられた関数に 遷移するようになります。
コマンドを受けとった処理は各プロセスの判断に任せる形になっています。しかし、 例えばDAQプロセスはプロセスがもつ状態と Controlerもしくはユーザーが想定している状態とは食い違うことが頻繁に起こる可能 性があるので、構築過程で綿密な打ち合せが行なわれるでしょう。
クラス
T473Process
T473にて制御されるプロセスは、このクラスを継承しなくてはなりません。
T473RunControlからシグナルを受けとると、UDP通信での返答をT473RunControl へ送ります。
T473RunControlは返答が返ってきたのを確認してからコマンド文字列を UDP通信で返答します。
T473Process は KInt型の
mode
を持っており
modeに入る値は
受けとったコマンド文字列
[begin,pause,resume,end,shutdown]
に対して以下のようになります。
beginの場合は
mode → READY
resumeの場合は
mode → READY
pauseの場合
mode → IDLE
endの場合
mode → STADSBY
shutdownの場合
mode → NONE
上記に当てはまらない
mode → UNKNOWN
enum {
UNKNOWN = -1 , NONE , STANDBY, READY , IDLE
} が設定されています。
クラス
T473StatusChecker
このクラスはネームスペースの項目"CMD_STATUS"の初期化と参照をするために作られたクラスです。
RunControlに持たれます。
その他:
ネームスペース
アイテム
値
働き
*****_HOST
ホスト名
ランコントロールが読む
*******_PID
プロセスID
ランコントロールが読む
CONTROL_CMD_PORT
ポート番号
コマンド文字列のためのUDPポート
CMD_STATUS
none,true,false
コマンドを送ったプロセスの返答チェック
一般的なコントロールの作用:コマンド文字列とKInt T473Process::modeの関係
DAQに対するコントロール
File = konoe/examples/t473/RunControl/urd.html last modified = 8-Oct-2000
KONOEコラボレーション
konoe-req@konoe.kek.jp