OTO-Ohshima Tamashima Observatory-  Index  Search  Changes  Login

OTO - Ohshima Tamashima Observatory- - operate_ccd_via_ccdsoft Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

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

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

RubyのスクリプトでWIN32OLEライブラリを利用する詳細は[[ここを参照|RubyでTheSky6を操る]]。

以下の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-]]トップへ戻る

{{counter}}