ユーザ用ツール

サイト用ツール


tabuchi:qtxtop

文書の過去の版を表示しています。


QtXTop : FLIライブラリを利用して CCD カメラ等を使用するための Stars ドライバ 

FLIのライブラリを使用し、FLI のライブラリに認識されるCCDカメラに対して Stars 経由でコマンドを送って制御する為の Strs ドライバです。

  • 2016.02.18 : 実際にX線を使って正しく撮影されているかどうかは確認していません。
    光がない状態で、実装されているコマンドを送って応答が正しいこと、撮影コマンドを送った時内部状態が正しく遷移しデータファイルができること、は確認してあります。
  • 2016.02.19 : 幾つかコマンド追加(Set/GetSeqFileNo, Set/GetUseSeqFNo)。実装を忘れてた GetMode を追加。
  • 2016.02.23 : カメラにシャッターがないので、露光と読み出しを連続で行ってしまうと像が流れる。
    その対策として、Exposure コマンドの中身を3つのコマンド(StartExposure, RBIFlush, DownLoadImage)に分割。
    外部でシャッター制御を行う余地を作った。

履歴

  • 2016.2.18 : この Wiki ページでの公開を開始しました。
  • 2016.2.19 : 更新
  • 2016.2.23 : Exposure を分解した 3つのコマンドを実装。StartExposure, RBIFlush, DownLoadImage

簡単な説明 :

QtXTop の設定ファイル(config.cfg)の内容

STARS_IP     192.168.11.111  # Stars サーバの IP アドレス
STARS_PORT    6057        # Stars サーバの Port 番号
KEY_FILE_NAME  QtXTop       # Stars のコネクション確立に使う Key ファイルの名前
NAME_ON_STARS  QtXTop       # Stars 上で名乗る自分の名前

CAMERA_NO 0       # PC に FLI ライブラリが認識する複数のカメラがある場合、何番目のカメラを制御するかを指定

 
 

QtXTop が認識する Stars 経由のコマンド

コマンド名 引数 説明 応答例
IsBusy    無し 撮影中は 1 そうでなければ 0 を返す  
GetLibVer    無し ライブラリのバージョンを表す文字列を返す  
GetModel    無し モデル名を表す文字列を返す  
GetSerialSTR   無し シリアル番号を表す文字列を返す  
GetHWRev     無し ハードウエアのバージョンを表す数字を返す  
GetPixSize    無し ピクセルサイズを表す 2つの数字を返す  
GetArrayArea   無し デバイスのピクセルサイズ?を表す 4 つの数字を返す 0 0 3448 2574
GetVisArea    無し デバイスの有効サイズ?を表す 4 つの数字を返す 43 46 3369 2550
SetTemp     1つ 温度を設定する(実数、℃)
GetTemp     無し デバイスの CCD温度と、ベース温度を示す2つの数字を返す
GetCCDTemp    無し デバイスの CCD温度を返す
GetBaseTemp    無し デバイスの ベース温度を返す
GetCoolerPWR   無し クーラーパワーの数値を返す

SetBin     : 引数 3つ : bin を設定する。hbin, vbin, rbin の順 デフォルトは全部 1 : SetBin 1 1 1
GetBin     : 引数 無し : bin を表す3つの数字を返す。 hbin, vbin, rbin の順 : 1 1 1
SetRBIFlushes : 引数 1つ : 何回 RBI Flush を行うかを指定 (デフォルト は 0)
GetRBIFlushes : 引数 無し : 設定されている RBIFlushes の数字を返す
SetRBIExpTime : 引数 1つ : RBI Flush に際して露光を行う時間を指定。デフォルトは 500 (500ミリ秒?)
GetRBIExpTime : 引数 無し : 設定されている RBIExpTime の数字を返す
SetTDIRate   : 引数 1つ : 本番撮影の際の TDI Rate を指定。デフォルトは 0
GetTDIRate   : 引数 無し : 設定されている TDIRate の数字を返す。

SetImages   : 引数 1つ : 連続して何枚イメージを撮影するかの指定。デフォルトは 1
GetImages   : 引数 無し : 設定されている Images の数字を返す。
SetExpTime   : 引数 1つ : 本番撮影の露光時間を指定。デフォルトは 500 (500ミリ秒?)
GetExpTime   : 引数 無し : 設定されている露光時間を返す。
SetInterval   : 引数 1つ : 複数枚イメージを取る際、間を開ける時間。デフォルトは 0。現在内部では使われていない(無効)。
GetInterval   : 引数 無し : 設定されている Interval を返す。
SetFileName   : 引数 1つ : 撮影されたデータを保存するファイル名の設定。
                 実際の保存の際には、指定された名前にイメージ番号を付け加えた名前になります。
GetFileName   : 引数 無し : 設定されているデータファイル名を返す。 

Exposure     : 引数 無し : 撮影。即 OK が返ってきます。
         撮影が終わったかどうかは IsBusy できくか、EvChangedIsBusy 0 を待つかしてください。
         このコマンドを実行する前に設定した hbin, vbin, rbin, RBIFlushes, RBIExpTime, Images, ExpTime,
           FileName, TDIRate の数字が使われます。 
StartExposure   : 引数 無し : 撮影。即 OK が返ってきます。CCDからのデータ読み出しは行いません。
           事前に設定した hbin, vbin, ExpTime, TDIRate の値が使われます。
DownLoadImage     : 引数 無し : 撮影されて CCD 上に残っている像を読みだし、ファイルに書き出します。
           事前に設定した FileName が使われます。
RBIFlush      : 引数 無し : 決められた条件で CCD に借りの露光動作とデータの空読みを行います。
           撮影前のデバイスクリアの動作?
            rbin, RBIFlushes, RBIExpTime の値が使われます。

EvChangedIsBusy : QtXTop 側から能動的に発生するイベントメッセージ。撮影が始まるった時点で 1, 終わった時点で 0 が発生。

SetUseSeqFNo   : 引数 1つ : ファイル名に通し番号を付けるかどうか。 1 : Yes, 0 : No。
                 Yes にすると、SetFileName したファイル名に通し番号がついた名前でデータが保存されます。
GetUseSeqFNo   : 引数 無し : ファイル名に通し番号を付ける設定かどうかを尋ねる。 1 : Yes, 0 : No
SetSeqFileNo   : 引数 1つ : 通し番号の最初の数字を指定。以降データファイルが作られるたびに一つづつ増えます。
GetSeqFileNo   : 引数 無し : 次に使われる通し番号。セットした数字との差で保存されたデータファイルの数がわかります。
tabuchi/qtxtop.1582685172.txt.gz · 最終更新: 2020/02/26 02:46 by mtab