Tcl/Tk から CAMAC 制御
Tcl/Tk に CAMAC アクセスコマンドを追加する為の
ローダブルモジュールが libtclcam.so
として提供されています。
Tcl スクリプトの中で
load libtclcam.so
という命令を実行すれば、"camac"
というコマンドが
使えるようになります
(Tcl ライブラリのディレクトリにインストールすれば
auto_load させる事もできます。
詳しくは Tcl/Tk の解説書を参照してください)。
"camac"
は
以下のサブコマンドと組み合わせて使います。
camac crate
<crate>
- クレートの指定をします。最初に一度は呼ばなければなり
ません。該当クレートが off line であった場合はエラー
を返します (CC/7000 の場合、電源が入っていなかったり
存在しないクレートであってもエラーにならないので注意
してください)。クレートの最大数は、一般的には 7 です
が、CC/7000 の場合は 3 ですので、アプリケーションでの
便宜の為に
MAX_CRATE
という大域変数に上限値を設定して
います。
camac naf
<n> <a> <f>
- <n> <a> <f> で指定されるファンクションを実行します。
返り値は Q X に応じて "", "X", "Q", "Q X" のいずれか
となります。
camac read
<n> <a> <f> <varName>
- <n> <a> <f> で指定されるファンクションを実行し、読み
こまれたデータを変数 varName に格納します。返り値は
Q X に応じて "", "X", "Q", "Q X" のいずれかとなります。
camac write
<n> <a> <f> <data>
- <data> をデータバスに書き込み、
<n> <a> <f> で指定され
るファンクションを実行します。返り値は Q X に応じて
"", "X", "Q", "Q X" のいずれかとなります。<data> は
10 進定数のみ受け付けますので、16 進数や式を与えたい
場合は [expr ...] で評価してください。
camac lam
- LAM パターンを 24 個の "0" または "1" の文字列として
返します。例えば N=3 と 8 のモジュールが LAM を発生
している時は 001000010000000000000000 となります。
camac Z
camac initialize
- CAMAC バスに初期化信号を出します。
camac C
camac clear
- CAMAC バスにクリア信号を出します。
camac I
<i>
camac inhibit
<i>
- CAMAC バスのインヒビット信号を ON (i≠0) または OFF
(i=0) します。
戻る