Volume 03, No.4 Pages 22 - 24
3. 共用ビームライン/PUBLIC BEAMLINE
BL39XU実験ステーションにおける分析用測定ソフトウェアの開発
Development of Experimental Software for BL39XU
1.はじめに
National Instruments社製のLabVIEWはFORTRANやC、BASICなどのテキストベースのプログラム言語と異なり、プログラムの流れを視覚的に捉えることのできるソフトウェア開発環境を提供している、測定機器制御に特化したプログラム言語である。LabVIEWはNational Instruments社のGPIBボードだけでなく他社製のボードでも、そのメーカがLabVIEW用のファイルを用意していれば、そのボードを用いて機器を制御可能である。また、かつてのプログラム言語のサブルーチンがサブviと呼ばれる一つのファイルで扱われるため、基本的なコマンドを集めたサブviがあれば誰でも容易に高度なプログラムを組むことができるのが特徴である。
BL39XUビームラインではLabVIEW version 4.0を用いた分析用ソフトウェア開発が1997年8月より始まった。 LabVIEWを用いたソフトウェア開発が進んでいたBL09XU核共鳴散乱グループの依田芳卓先生(東大)のプログラムを参考にBL39XU独自の分析用測定ソフトの開発を行った。BL39XUで行う分析測定ではカウンタ(ORTEC 974)、MCA(SEIKO EG&G MCA7700)、パルスモータ・コントローラ(PMC、ツジ電子PM16C−02N)を同時に制御し、早川慎二郎先生(東大)が開発した蛍光X線イメージングチェンバーでμmオーダーの空間分解能のマイクロビーム分析等を行う。この他にモノクロメーターの制御を加えて、多様な実験を行えるようなソフトウェアが1998年3月に完成したので報告する。BL39XUで分析実験用に用いられる端末はPentium 133MHzのCPUを搭載したマシンでRAMは64MByte、OSはWindowsNT version 4.0である。機器の制御のために、National Instruments社製のGPIBボードをインストールしてある。LabVIEWはプログラムに図を使用しているため、少し複雑なプログラムを作ると1MBを超えることがある。したがって、ソフトウェアの開発にあたりSCSIボードとMOドライブがあると便利である。
2.ソフトウェアの概要
今回開発した分析用ソフトウェアのビームライン・ワークステーション(BL−WS)などに対する位置づけについて説明する(図1)。測定ソフトを動かす端末をBL−PCと呼ぶことにする。ビームライン全体の制御はBL−WSが行い、BL−WSはRS−232Cケーブルを用いてシリアル通信でBL−PCと各種のコマンドをやりとりするようになっている。その手順は次のとおりである。
1) ソフトウェアがBL−PCからBL−WSへコマンドを送信する。
2) BL−WSがコマンドを受信して装置を動かす。
3) 機器の動作が完了するとBL−WSが動作結果をBL−PCに送信する。
4) BL−WSからの返事をソフトウェアが受信する。
図1 BL−PCの位置づけ
ビームラインから独立した機器(カウンタなど)はBL−PCにインストールされたGPIBボードを通して、ソフトウェアが直接測定機器にコマンドを送信している。
測定ソフトウェアを起動するとMain画面が現れる。ここからはモノクロメーターのエネルギーとΔθやフロントエンド及び輸送チャンネルのスリットのコントロールのほか、パルスモータの制御、MCAのスペクトルデータ転送などが可能である。BL−WSとBL−PCの間で用いられる挿入光源のギャップ変更コマンドがユーザーに知らされていないため、現段階ではBL−PCからIDギャップを制御することはできない。入射エネルギーの設定やΔθの調整の後、測定モードを選択する(表1)。測定条件の入力は過去に用いたパラメータファイルから条件を読み込み入力の手間を省けるようになっている(図2)。図3は実際の測定画面でカウンタと2個のパルスモータを用いて二次元スキャンをする場合のものである。測定終了後にPrint Graphボタンを押すと測定結果をプリンタへ出力できる。測定データは逐次保存するため、一回の測定ごとにデータファイルを開いて書き込み、ファイルを閉じる作業を行ってデータを保存しているので、二次元スキャンなどでは測定時間が長くなる問題があるが、これが解決されれば実験時間が短縮される。実験データはデータラベルと共にタブ区切りでテキストファイルに保存し、表計算ソフトやグラフソフトで容易に読み込むことができる。1998年3月現在、エネルギーに対するΔθの調整は手動で行っているが、XANESスペクトル測定を考慮して、本ソフトウェアでは暫定的に「エネルギー−Δθ対応表」を用いて、移動する先のエネルギーに応じたΔθの値をソフトウェアが自動調整するようになっている。この対応表に載っていないエネルギーがモノクロメーターの移動先に指定された場合、そのエネルギー付近の2点で直線近似してΔθを推定している。
表1 利用できる主な測定モード
図2 Main画面
図3 測定パラメータ入力画面
図4 パルスモーターによる2軸スキャン測定画面
3.ソフトウェア開発における障害・問題点
LabVIEWで測定機器を制御するにあたり判明した問題点をいくつか挙げる。
1) ORTEC 974
このカウンタは1チャンネルが測定時間もしくは計数に、また、残りの3チャンネルを計数に用いることができる4チャンネルカウンタである。ORTECカウンタは一番容易に制御できる機器の一つであるが2チャンネルカウンタの994と比べると、プリセットを用いて計数した値をアラームを使用して読み取る場合に不合理な挙動を示す。また、974のマニュアルには書かれていないが、GPIBのサービスリクエスト(SRQ)に対応している様子である。しかし、LabVIEWとの相性に何らかの問題があるらしく長時間の測定では974が発したSRQ信号をソフトウェアが見落として測定が止まることがある。
2) MCA7700
このMCAには複数の種類のコマンドが用意されている。MCAの内蔵メモリと直接データをやり取りする唯一のコマンド(ORSIMコマンド)とORTECのコマンドに似た制御用コマンド(MCBコマンド)、さらにMCA7700のタッチパネル(画面)の操作をエミュレートする制御用コマンド(7800コマンド)の3系統である。SEIKO EG&Gの資料によると制御用コマンドのうち7800コマンドはMCBコマンドより解説が少ないなどの点から、MCAの制御にはMCBコマンドを利用することにした。また、このMCAにはGPIB通信に関する初期化コマンドがないため、コマンド送信の手順を誤ると端末からのGPIBコマンドを受け付けなくなることがあり、この場合は背面のリセットボタンを押すか電源スイッチを切らなければ復旧しない。コマンドを送信するには、そのコマンドの文字数をバイナリ文字列で表わしてコマンドの先頭に付して送信する必要がある。そして、送信したコマンドに対するレスポンスを要求するコマンドを必ず送らなければならない煩雑さがある。測定したスペクトルデータを受信する際にはデータの並び方を変更しなければならないほか、スペクトルデータのカウント数に相当するバイト数が仕様書に明記されていないなどの問題があり、最後まで手を煩わせた機器であった。
3) PM16C−02N
PMCは問題となるような事項はほとんどなく、WhileループなどでPMCに連続してコマンドを送信する際は10 msから100 msの適当なウェイトをかける必要がある程度である。
4.LabVIEWによるソフトウェア開発における指針
今回のソフトウェア開発ではBL−WSとBL−PCの間のコマンド送受信に玉作賢治氏のサブviを、また、PMCで必要な10進数と16進数の変換などに依田芳卓先生のチームが開発したサブviを流用した。また、私が作成したカウンタ用のサブviも同じBL39XUの他のグループで用いられることがあった。このようなプログラムの借用によりプログラムの開発が早くなるのがLabVIEWの特徴であるが、複雑なサブviは他で利用する際の障害となる。簡単なサブviの作成により測定プログラム作成の分担作業が可能になり、新しい実験手法の開発が迅速に進むものと思われる。
生体分析BL39XU実験ステーションでは初めて放射光を用いるユーザーの増加が予想されるほか、ハッチ内のスペースの一部にユーザーが独自の装置を持ち込んで行う実験も予定されるため、測定ソフトウェアに汎用性を持たせる必要がある。今回開発したソフトウェアが多様なユーザーの分析に役立つことを期待している。
本プログラムの開発にあたりビームライン担当者の後藤俊治先生や鈴木基寛先生をはじめ、分析サブグループの早川慎二郎(東大)、桜井健次(金材研)、中井泉(東京理科大)、林好一(京大)、河合潤(京大)の各先生方にご迷惑をおかけした上、多くの助言を賜ったことに感謝します。また、ビームライン立ち上げの際の貴重な時間をソフトウェアの動作チェックに使わせて下さった諸先生方にお礼申し上げます。
山本 篤史郎 YAMAMOTO Tokujiro
京都大学大学院工学研究科材料工学専攻 博士後期課程1回
〒606-8501 京都市左京区吉田本町
TEL:075-753-5481
FAX:075-753-5461
e-mail: toku@process.mtl.kyoto-u.ac.jp
略歴:平成10年3月京都大学大学院工学研究科材料工学専攻修士課程修了。同年4月同専攻博士後期課程進学。平成10年4月より日本学術振興会特別研究員。日本金属学会、日本分析化学会、日本放射光学会会員。
現在の研究テーマ:水素吸蔵金属間化合物の格子欠陥と水素吸蔵特性の相関。
趣味:テニス、史跡巡り、昼寝、回転寿司食べ放題