2010年08月15日 rubyとGPIB
_ 古いscriptのバグ
かなり前に書いた、windows用のgpibをrubyから使うためのscriptにバグを発見した。自分のhomepageに載っているものを見ていたら、何か変だと思ったら、バグだった。ibwaitというほとんど使っていないメソッドだったので、これまで気がつかなかったし、それほど大きな問題にならないだろうが、一応訂正しておいた。
このプログラムは、いつ頃書いたのか忘れたが、おそらく2003年ぐらいだったと思う。それまで、計測用のプログラムは、LabView, VisualBasic, IgorProなど、いくつかの言語で書いていたが、いずれも苦痛だった。そこで、rubyで計測用のプログラムを書こうと思い立ち、windowsのrubyからGPIBを使う方法を調べた。ある掲示板には田鎖さんという方が、そんなことをやっていたという形跡は見つかったのだが、よく分からない。それなら自分で書いてしまえということで作ったのです。C言語の使用例などはあったので、Win32APIを使えばあっけなく動きました。Win32APIの使い方もよく理解していなかったのだが。その後、windowsでしばらく計測をしていたが、今ではlinuxに移行したので、私自身はこのscriptはほとんど使わなくなってしまった。その代わりに、田鎖さんのruby-gpibを利用させて頂いている。
ところが、最近の市販の測定システムのほとんどがwindows上で動いている。windowsは、セキュリティー上で問題になるばかりでなく、測定中に再起動しようとしたりしていろいろと面倒なのだが、そのような流れになってしまっている。このような装置を自分でGPIBから制御するときには、windows用のGPIBが役に立つ。
さて、linux上で測定をしている人はwindowsほどは多くないようで、なかなか情報交換の機会が無い。そのため、それぞれ独自の手法を取ることが多いように感じられる。私は、ruby+ruby-gpib+Tkで測定をしている。Tkはくせがあってあまり好きではないが、GUIを作る時にはある程度の苦痛は我慢するしかないだろう。