セイコーEG&G 製のマルチチャンネルアナライザ MCA7700 を ethernet で接続
して、Linux で、制御するプログラムを作成しました。
この装置は、RS-232C, GPIB, ethernet 等多様なインターフェイスに対応でき
るのですが(オプション機器併用で)、ethernet 接続なら、高速にデータ転送が
出来、さらに各種 UNIX 系マシンにも容易に対応できるので、とても便利です。
しかし、ethernet 経由でのコントロールは、UNIX 系の OS で、socket を日常的に
使用している人ならともかく、普通の物性屋さん(核物理よりも大きくて日常的
な物質を扱う物理学研究者?)には荷が重いらしいので、サンプルプログラム的
な物を作ってみました。ダウンロードして make; make install 何て甘い物では
ないですが、ひょっとしたら同じ機種を持っている人がいて、Linux で、何とか
制御したいという人がいれば参考になるでしょう。ただ、あちこちに転がってい
るほど安い品物ではないですが……
mca_cmd.c
これは、対話的に MCA7700 の MCB コマンドを発行して、動作確認をするための
プログラムです。実際に使用するプログラムを作成する前に、このようなプログラム
で、動作確認をすると良いでしょう。
プログラム中にべたで、MCA7700 自身の IP アドレス, ポート番号が書いてありま
すので(#define のところ)、そこを、自分の設定に合わせて変更して、
cc -o mca_cmd mca_cmd.c
とすれば、良いでしょう。実行すれば、プロンプトが出ますので、マニュアルの
MCB コマンド編を見ながら、いろいろなコマンドを入力して、動作を見てください。
ピリオドだけ入力すればプログラムは終了します。数値2つをカンマで区切って
入力すると、最初の数値をスタートアドレス、次の数値を読み込みチャンネル数
として、MCA7700 のメモリから、測定データを取り込み、標準出力に出力します。
mca.c
このプログラムは、上記プログラムより、より実際の使用に近くなっています。
プログラムの作成は、mca_cmd.c の時と同様。このプログラムを実行すると、
MCA7700 内の(パネルなどで)指定されたセグメントのデータをクリアし、
プリセットタイムをリアルタイムで10秒に設定し、測定を開始。測定が終了す
ると、測定データを取り込み、標準出力に出力します。
mca >test.dat
等とすると、測定データを test.dat に保存できます。適当にプログラムをいじって
遊んでください。
この計測機器を制御するプログラムは、多分私の実験に必要な範囲でしか作らない
ので、これ以上の物は、このページに載らないと思いますが、たまたま偶然、同じ
機種を Linux で制御しようとしてお困りの方がいらっしゃいましたら、多少は
お力になれると思いますので、ご相談下さい。
このページに関する、ご意見、感想、苦情はこちらまで 松本 徳真 / matsu@netfort.gr.jp