ここでは、作成した設定ファイルで正しく動作するかどうかを、会話型CAMAC制御ソフトウエアを使って確かめる方法を述べます。
会話型CAMAC制御ソフトウエアは、CAMACクレートコントローラと直接SCSIで接続されたWindowsNT計算機上のPV-WAVE上で動作するソフトで、モジュール定義ファイルと実行時情報ファイルとから制御リストを生成して実行することが出来ます。会話型CAMAC制御ソフトウエアには、以下のようなコマンドが用意されていますが、詳細は仕様書を参照してください。
SetupList | 制御リストの生成 |
ExecuteList | 制御リストの実行 |
DisplayList | 制御リストの表示 |
DisplayData | CAMACコマンドのステータス情報の表示 |
DisplayStatus | CAMACコマンドのリターンコードの表示 |
DeleteList | 制御リストの削除 |
動作確認に必要な次の3つのソフトウェアは、LABCOMホームページからダウンロードしてインストールします。
図4を参考にしてWindowsNT計算機とCAMACをSCSIケーブルで接続します。
図4.ハードウェアの接続
ここでは設定ファイルのテスト手順をAurora14の例(モジュール名 LAB01)で述べます。うまく動作しない場合は設定ファイルを修正して手順4から繰り返します。なお、手順6で制御リストを作成した後は、任意の制御リストを任意の順序で実行することが可能となります。
1. CAMACの電源を先に入れてから計算機を起動します。
2. 設定ファイルを置くモジュール情報フォルダを決めます。ここではC:\CAMAC\ModuleInfoとしておきます。
3. モジュール情報フォルダに実行時情報ファイルを入れ、名前がモジュール種名のフォルダを作ります。そのフォルダにモジュール定義ファイルを入れます。ディレクトリ構成は次のようになります。
C:\CAMAC\ModuleInfo ----- Data_LAB01.cnf | +-- Aurora14 ----- Aurora14_Module.cnf | --- Aurora14_Setup.cnf | --- Aurora14_Init.cnf | --- Aurora14_Completed.cnf | --- Aurora14_Acquire.cnf | --- Aurora14_Trigger.cnf
4. PV-WAVEを起動します。
5. 次のコマンドを実行してモジュール情報フォルダを登録します。
WAVE> SETMODULEINFO,'C:\CAMAC\ModuleInfo'
6. 次のコマンドを実行して制御リストを作ります。
WAVE> ret=SetupList('Data_LAB01.cnf')
7. 次のコマンドを実行して制御リストを表示することができます。
WAVE> ret=DisplayList('Setup_LAB01') WAVE> ret=DisplayList('Init_LAB01') WAVE> ret=DisplayList('Completed_LAB01') WAVE> ret=DisplayList('Acquire_LAB01') WAVE> ret=DisplayList('Acquire1_LAB01') WAVE> ret=DisplayList('Acquire2_LAB01') WAVE> ret=DisplayList('Acquire3_LAB01') WAVE> ret=DisplayList('Acquire4_LAB01') WAVE> ret=DisplayList('Acquire5_LAB01') WAVE> ret=DisplayList('Acquire6_LAB01') WAVE> ret=DisplayList('Trigger_LAB01')
8. 次のコマンドを実行してブロック転送で収集するデータの格納領域を確保します。
WAVE> BLKDATA1=INTARR(128*1024L) WAVE> BLKDATA2=INTARR(128*1024L) WAVE> BLKDATA3=INTARR(128*1024L) WAVE> BLKDATA4=INTARR(128*1024L) WAVE> BLKDATA5=INTARR(128*1024L) WAVE> BLKDATA6=INTARR(128*1024L)
注:ブロック転送で24ビット転送を使っているときはINTARRの代りにLONARRを使います。
9. Setupリストの実行
WAVE> ret=ExecuteList('Setup_LAB01')
10. Initリストの実行
WAVE> ret=ExecuteList('Init_LAB01')
11. トリガ信号入力またはTriggerリストの実行
WAVE> ret=ExecuteList('Trigger_LAB01')
12. Completedリストの実行
WAVE> ret=ExecuteList('Completed_LAB01')
13. Acquireリストの実行
WAVE> ret=ExecuteList('Acquire_LAB01')
14. チャンネル毎のAcquireリストの実行
WAVE> ret=ExecuteList('Acquire1_LAB01',BLKDATA1) WAVE> ret=ExecuteList('Acquire2_LAB01',BLKDATA2) WAVE> ret=ExecuteList('Acquire3_LAB01',BLKDATA3) WAVE> ret=ExecuteList('Acquire4_LAB01',BLKDATA4) WAVE> ret=ExecuteList('Acquire5_LAB01',BLKDATA5) WAVE> ret=ExecuteList('Acquire6_LAB01',BLKDATA6)
15. 取り込んだデータをグラフに表示する。
WAVE> PLOT,BLKDATA1 WAVE> PLOT,BLKDATA2 WAVE> PLOT,BLKDATA3 WAVE> PLOT,BLKDATA4 WAVE> PLOT,BLKDATA5 WAVE> PLOT,BLKDATA6
手順5以降のPV-WAVEのコマンドは、まとめてプロシージャとしてファイルに出来ます。Aurora14用のサンプルがありますから参考にしてください。サンプルを実行するには次のコマンドを実行します。
WAVE> @USER