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