2010年
8月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

setup diary

2007|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|06|08|11|
2015|01|02|03|04|05|06|07|08|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|

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を作る時にはある程度の苦痛は我慢するしかないだろう。