OTO-Ohshima Tamashima Observatory-  Index  Search  Changes  Login

RubyスクリプトでCCDSoftを操りCCDカメラを操作する

RubyでCCDSoftを通してCCDカメラを制御する

ここではCCDカメラを簡単に操作するために、Rubyのスクリプトで、WIN32OLEライブラリを利用しCCDSoftを操り、CCDカメラを操作する例を示す。

RubyのスクリプトでWIN32OLEライブラリを利用する詳細はここを参照

以下のrubyコードは、CCDカメラの現在の冷却温度を得るプログラムである。先にCCDSoftを立ち上げてCCDカメラと接続しておくとよい。このスクリプトは実際に動作を確認してある。

#see http://www.morijp.com/masarl/homepage3.nifty.com/masarl/article/ruby-win32ole/excel-1.html
# tested on 20101124 with CCDSoft by O.Ohshima
 
require 'win32ole'

class WIN32OLE
  @const_defined = Hash.new
  def WIN32OLE.new_with_const(prog_id, const_name_space)
    result = WIN32OLE.new(prog_id)
    unless @const_defined[const_name_space] then
      WIN32OLE.const_load(result, const_name_space)
      @const_defined[const_name_space] = true
    end
    return result
  end
end
  
module CCDSoftCamera
  def CCDSoftCamera.new()
    ccdsoftcamera = WIN32OLE.new_with_const('CCDSoft.Camera', CCDSoftCamera )
    return ccdsoftcamera
  end
  def CCDSoftCamera.runDuring(&block)
    begin
      ccdsoftcamera = new()
      block.call(ccdsoftcamera)
    ensure
      ccdsoftcamera.quit
    end
  end
end
 
ccdsoftcamera = CCDSoftCamera.new()

print ccdsoftcamera.temperature
print ccdsoftcamera.status
#ccdsoftcamera.takeimage

技術的な覚書きへ戻る

OTO-Ohshima Tamashima Observatory-トップへ戻る

3172
Last modified:2011/03/29 19:57:01
Keyword(s):[CCDSoft] [Ruby] [CCDカメラ操作]
References:[技術的な覚書き]