自動化対応測定プログラムKAME



スクリーンショット(クリックで拡大)
(概要) C++で書いたマルチスレッドな測定用プログラム。 自分の固体NMRを用いた物性研究に使ってますが、特にNMR専用という訳ではなく汎用です。 対応している測定器の組み合わせならばプログラムの変更が必要ないようになっています。 グラフ表示が速かったり、測定をRubyスクリプトで自動化できるのが特徴。 マルチプラットフォーム(Mac OS X/Linux/Windows)。
Features
一般
マルチスレッド(同期にソフトウェアトランザクショナルメモリ使用)
OpenGLによる高速なグラフ描画
スカラ量(温度、電圧等)の組み合わせは任意にグラフ化可能
ほぼすべての設定等の保存/読み込みが可能
Rubyスクリプトによりほぼすべて制御可能
通信エラー等は例外捕捉により安全に処理
装置からの取得データを全記録/後日再解析可能
NMR部分
National Instruments社のDAQ デバイスをパルサー/オシロとすることができる
FFT/MUSIC/MEM等によるリアルタイムスペクトラム解析
緩和曲線(T1, T2, Tst.e.)もリアルタイムフィット
フーリエステップサムによる磁場/周波数スイープスペクトル測定
緩和・スペクトル測定において測定後でも窓関数(畳み込み)選択可能

ソースコード/バイナリ/マニュアル/API

ライセンスはGPL(GNU public licence) 2 or laterです。
最近の変更点抜粋
Tue Dec 19 2023  (6.0.0)
- Windows 64bit版のコンパイルに対応 - Windows版でメッセージウィンドウが表示されないバグの修正 - グラフでいくつかの計算ツールを使えるようにした - Firewireデジタルカメラ(OSX)
Sun Jun 25 2023  (5.8.5)
- LXI 3390任意波形発生器 - 最近のMinGW32に対応 - 4端子測定のバグフィックス - LibreVNAネットワークアナライザ - AutoLCTuner: 機能追加
- 5.8.2でNI DAQパルサーに不具合が出たのを修正
Fri Dec 9 2022  (5.8.3)
- Signal Recovery 7260 lockin-in-amplifier
- 5.8.2でNI DAQパルサーに不具合が出たのを修正
Sun Nov 13 2022  (5.8.2)
- OceanOptics/Seabreeze HR2000+/4000 optical spectromters
- USB機器初期化の改善、ThamwayUSB機器のM1 macでの動作確認
- FlexARの停止に関するバグ修正
Mon Apr 18 2022  (5.5.2)
- Mingw32のコンパイルが通らなくなっていたのを修正
- PCIe-6374/6376の実験的サポート
Sun Feb 13 2022  (5.5.1)
- Mac apple siliconでのarm64/Universal Binaryビルドに対応。
- グラフ:右ボタンのクリックで3D視点をリセットできるようにした。
- Thamway: libusbの初期化のバグ修正
Sun Dec 19 2020  (5.3.2)
- NMRT1のFlatten GeneratorがP1Maxに達しないのを修正
- AutoLCTunerを収束しやすく
Sun Apr 26 2020  (5.3.1)
- Pfeiffer TPG361/362ゲージ制御器に対応
Sun Dec 1 2019  (5.3)
- NMRT1: Tikhonov正則化による密度マッピング
Fri Sep 6 2019  (5.2.2)
- NMRT1: CPMGでのT2測定
- NMREcho: 電圧リミットの警告、バックグラウンド警告のバグ訂正
- Thamway PROTで機器側のステータスをリアルタイムに反映
- Thamway DSO(USB3)のトリガ位置ずれ対策
- Mac版Qt OpenGLのメモリーリーク対策
Wed Jun 27 2018  (5.1.4)
- スクリプトでのファイル書き込み安定性の改善
- Qt 5.11でのコンパイル
- Thamway PROT3リアルタイム取り込みの改善
Wed Oct 16 2017  (5.1.3)
- OS X High Sierraに対応
- Agilent/HP4282A LCRメータ(experimental)
- PPMSのソフト磁場掃引の修正
Thu Jun 22 2017  (5.0)
- Rubyスクリプトの実行時に、スリープ時間の表示、ログファイルの作成を追加
- PPMSで遅い磁場掃引を追加
Sun Jan 22 2017  (4.2.8)
- Lakeshore 350に対応。
Fri Dec 9 2016  (4.2.7)
- Mac OS X版でAppNap等を停止。動作が概ね安定。
Thu Sep 1 2016  (4.2.2-1)
- Digilent Waveform Ainを使用したDSOドライバ
Wed Aug 27 2016  (4.2.0-1)
- 4.1.13-16でmingwのSSEバグでクラッシュする問題を修正
- とても長いT1に対応するため、NMR周波数掃引で"cyclic sweep mode"、緩和測定で"Tracks peak freq."を追加
Thu Jun 23 2016  (4.1.13-1)
- Quantum Design PPMSの温度・磁場・ポジション制御ドライバ及びNMR磁場掃引での対応
- Modbus RTUのエラー率低減
- Quantum Design PPMSのモニターに対応
Sun Feb 7 2016  (4.1.11-1)
- ウェーブ形式データの保存がタイミングによっては複数回掃き出されるバグの修正
- Modbus RTUのbaudrateを57600bpsに変更
- OMRON E5*C 調整器(MODBUS)に対応
- Quantum Design PPMSのモニターに対応
Mon May 18 2015  (4.1.0-1)
- NMR I=9/2緩和関数の間違いを修正
- SML SGの修正
- Cryogenic SMSのver7に対する対策
- Windows版でのシリアルポートの動作とDAQmxドライバ、Windowの振る舞いに対する修正
Thu Aug 28 2014  (4.0.10-1)
- 高速化
- T1のオートフェーズの改良
- NMR周波数掃引でステップ毎にチューニングを待つモードを追加
Thu Aug 20 2014  (4.0.8-1)
- Overpaintモードを標準にした。Linux版でもFTGL/mikachanfontはもう必要ない
- Thamway パルサー/AD変換/PROT/インピーダンスアナライザーに対応
Fri Aug 19 2014  (4.0.7-1)
- Windows版のTCP接続に対応
- Lecroy DSOの最近の機種に対応
Thu Aug 14 2014  (4.0.6-1)
- KAME4リリース版
- R&Sの信号発生器に対応
- --overpaintオプションでの起動によりグラフのフォントレンダリングにOpenGLを使わない
- WindowsでのGPIB関係のバグ修正
Sun Aug 3 2014  (4.0.1-1)
- β2版、ポップアップに代わってメッセージウィンドウを追加
- 多数のバグ修正。概ね常用可?
Fri Aug 1 2014  (4.0-1)
- β版、表示に若干の乱れ等。
- Windowsに対応
- Mac/Windows版からKDEとFTGLを外した。

全てのChangeLog

対応デバイス

()内は対応している通信手段。"(GPIB)"の場合は測定器のシリアルポートは未テスト・未調整。
DCソース
YOKOGAWA 7651 DC source (GPIB)
ADVANTEST TR6144/R6142/R6144 DC source (GPIB)
MICROTASK/Leiden Triple Current Source (GPIB)

デジタルマルチメータ(DMM)
Keithley 2000/2001 DMM (GPIB)

HP/Agilent 34420A nanovolt meter (GPIB)
HP/Agilent 3458A/3478A DMM (GPIB)
Keithley 6482 picoammeter (GPIB)
SANWA PC500/510/520M/PC5000 DMM (IR SerialPort)
ファンクションジェネレータ
NF WAVE-FACTORY (GPIB)

液面計
Oxford ILM Helium levelmeter (GPIB, SerialPort)

Cryomagnetics LM-500 levelmeter (GPIB)
ロックインアンプ等
Stanford Resrearch SR830 lock-in amplifier (GPIB)

NF LI5640 lock-in amplifier (GPIB)
Andeen-Hagerling 2500A capacitance bridge (GPIB)
Signal Recovery lock-in amplifier 7265 (GPIB)
超伝導磁石用電源
Oxford PS/IPS-120 magnet power supply (GPIB, SerialPort)

Cryogenic SMS magnet power supply (USB serial port)
ネットワークアナライザ
HP/Agilent 8711/8712/8713/8714 network analyzer (GPIB)

Agilent E5061/E5062 network analyzer (GPIB)
Copper Mountain TR1300/1,5048,4530 Network Analyzer (TCP/IP)
DG8SAQ VNWA3E network analyzer (TCP/IP)
LibreVNA network analyzer (TCP/IP)
Thamway T300-1049A Impedance Analyzer (SerialPort)
標準信号発生器
KENWOOD SG7130/SG7200 signal generator (GPIB)

HP/Agilent 8643/8644/8648/8664/8665 signal generator (GPIB)
DSTech. DPL-3.2XGF (SerialPort)
Rhode-Schwartz SML-01/02/03/SMV-03 signal generator (GPIB, SerialPort)
Thamway NMR PROT built-in signal generator (USB,TCP/IP)
任意波形発生器
LXI 3390 (GPIB)

温度コントローラ
Cryocon M32/M62 temperature controller (GPIB)

LakeShore 340 temperature controller (GPIB)
LakeShore 355 temperature controller (GPIB)
LakeShore 370 temperature controller (GPIB)
Picowatt AVS-47 bridge (GPIB)
Oxford ITC-503 temperature controller (GPIB, SerialPort)
Neocera LTC-21 temperature controller (GPIB)
Keithley 2700 DMM w/ 7700 scanner as temperature controller (GPIB)
OMRON E5*C controller via modbus (SerialPort)
カウンター
Mutoh NPS counter (SerialPort)

流量制御弁
Fujikin FCST1000 Series Mass Flow Controllers (Serial Port 38400bps)

モーター制御
OrientalMotor FLEX CRK motor controller (Serial Port Modbus RTU 115200bps)
OrientalMotor FLEX AR/DG2 motor controller (Serial Port Modbus RTU 115200bps)

ターボ分子ポンプ制御
Pfeiffer Turbo molecular pump controller TC110 (Serial Port)
圧力ゲージ
Pfeiffer TPG361/362 Gauge Controller (Serial Port)
デジタルストレージオシロスコープ(DSO)
Tektronix DSO (GPIB)

Lecroy/Iwatsu DSO (GPIB)
DSO on NI-DAQ M,S series (NI-DAQmx)
Thamway A/D conversion DV14U25 (USB)
Digilent WaveForms AIN DSO (USB)
PPMS
Quantum Design PPMS low-level interface (GPIB, Serial Port 9600bps)
NMR用パルサー
NMR pulser on NI-DAQ M series (NI-DAQmx)
NMR handmade pulser on H8 (SerialPort)
NMR handmade pulser on SH2(SerialPort)
NMR pulser Thamway N210-1026 PG (USB,GPIB,TCP/IP)
光スペクトロメータ
OceanOptics/Seabreeze HR2000+/4000 (USB)

デジタルカメラ
Generic IIDC Camera (IEEE1394)

解析/制御ドライバ
電流反転抵抗測定
2軸回転制御
Gコード3軸制御
NMR FID/echo analyzer
NMR field-swept spectrum measurement
NMR frequency-swept spectrum measurement
NMR relaxation(T1/T2/Tst.e.) measurement
NMR LC circuit autotuner

実行環境

プログラムの実行には一般的なQt アプリケーションとしての他に以下の外部ライブラリが必要です。詳しくはマニュアルを参照。
  1. Ruby (スクリプト系のオブジェクト指向言語。測定の自動化と設定の保存/読み込みに使います。)
  2. GSL (GNU Scientific Library。非線形フィットと補完に使ってます。)
  3. FFTW (ver.3系列。FFTライブラリ。)
  4. ATLAS (LAPACK, BLAS) (線形代数ライブラリ。固有値問題に使っています。)
  5. Eigen (ver.3系列。線形代数ライブラリ。)
  6. linux-gpib (GPIBを使用する場合に必要。RPMはこちら、SRPMはこちら。)
    もしくはNational Instruments NI-488.2ドライバ。
  7. National Instruments DAQmx (DAQデバイスを使用する場合のみ必要。)
  8. zlib (Rawデータの圧縮用)
Linux/Mac版のコンパイル時には上記に加え以下が必要です。
  1. libtool-ltdl (GNU libtool dynamic module loader。起動時にモジュールを読み込む為に必要。)
  2. libdc1394 (Macのみ。Firewireデジタルカメラ用)
上記のライブラリのほとんどはパッケージシステム(MacPortsなど)で取ってこれると思います。

技術的特徴

リアルタイム性を確保するため、ロックフリー(lock-free)アルゴリズムに凝った作りになっています。

その他

メッセージ(gettextの翻訳リソース)は関西弁やで。

参考文献


Valid HTML 4.01 Strict 正当なCSSです!