放射線検出器C12137

Noboru Yamamoto

2019.9.30

概要

やったこと

放射線検出モジュールC12137を浜松フォトニクスからお借りして、 評価を行うことができた。これまでの結果を報告する。

C12137にはUSBタイプとシリアル接続タイプがある。今回お借りしたのは USBタイプ。ドライバはWindows用しか提供されない。Linuxなど で使えるかどうかの調査も目的の一つ

調査内容

  1. Windows10で添付アプリケーションの動作を確認
  2. USBデバイスとしての情報の確認
  3. Windows10 からPython経由でアクセスできることを確認

添付アプリケーション

インストールと起動

  1. インストールは問題なく行えた。ドライバは32bit版と64bit版がある。64bit版をインストールした積もり。
  2. アプリケーションの動作も問題無い。
    1. 空間線量の時系列データ
    2. 累積された放射線のエネルギー分布(30 keV〜2000 keV)
  3. アプリケーションの動作も問題無い。

アプリケーションの出力

空間線量の時系列データ
空間線量の時系列データ
測定された放射線のスペクトラム。5時間分のデータを蓄積(上窪田さんありがとうございました。)
測定された放射線のスペクトラム。5時間分のデータを蓄積(上窪田さんありがとうございました。)

アプリケーションの出力

figone figtwo
空間線量時系列データ

測定された放射線スペクトラム 5時間分のデータを蓄積 (上窪田

さんありがとう。)

(emacs table-fixe-width-mode で作成)

USBデバイス情報

接続試験

  1. Macに接続。USBデバイスとして認識されることを確認。
  2. デバイスクラス等は:

    Device Class/SubClass/Protocol:(Defined at Interface level)/00/00
    Interface class/protocol: (Defined at Interface level)/00/00
  3. つまりドライバが供給されるか、USBメッセージパケットを自分で作るかしないと制御できない。
  4. これ以上の情報は提供され無いということで、LinuxやMacOSXからの制御は無理

Pythonからの制御

ctypes

テストにはctypesを利用

  1. ctypesはPython標準の外部関数ライブラリです。
  2. Pythonプログラムから動的ライブラリ内の関数を直接呼び出せます。
  3. cythonとは異なり C コンパイラは不要です。
  4. C/C++で定義されているデータ構造をPythonのそれにマップするための仕組みを提供します。

ctypes code sample

Test結果

  1. python(32bit)を使って、デバイスの状態を取得することができた。
  2. スペクトラムデータの取得はこれから(配列データの取り扱い)
  3. python(64bit)ではdllをダウンロードできない。64bit版のドライバを入れているつもりだが...

おしまい

お疲れ様でした。1

この資料はreStを使い、pandocでreveal.jsを使ったWebページに変換しました。


  1. この資料はreStを使い、pandocでreveal.jsを使ったWebページに変換しました。