|
setup diary |
PCと測定装置の間のインターフェースとしては、少し前まではGPIBが一般的だった。しかし、最近ではGPIBは使えない装置も増えてきた。代わりに増えてきたのがLANかUSBである。LANの場合には、IPの設定や測定装置用のLANの構築が面倒だ。一方USBはどのようにPCに認識されるかが問題である。特にLINUXで制御する場合には問題である。
いろいろと調べていたら、USBTMCという規格があるらしく、LINUXでも標準で対応しているようだ。そこで、近くにあったagilentのUSBを持つ装置をubuntuで試してみた。USBケーブルとつなぐと、/dev/usbtmc0ができて、これをIOとして読み書きできるようだ。そこで、rubyから"r+"でopenしてコマンドを書き込んでみると、いくつかのコマンドは受け付けたが、エラーが返ってくるときもある。いろいろと試してみたら、コマンドを送ったあとで、flushすると、うまく動くようになった。これで、基本的にはLINUXマシンのUSBから装置の制御ができる。
しかし、考慮しなければいけない問題も残っている。まず、USBの装置が何台かあった場合に、それをどのように区別するかである。一つの方法としては、*IDN?をつかって、装置を特定して、プログラムの上からそれを割り当てることができる。また、ファイルのアクセスの権限がrootにしか無いので、これをどうするかである。今回はchownして使ったが、それはあまり良い方法とは言えない。ケーブルを接続するときにできるデバイスなので、あらかじめ権限を変えておくわけには行かないし。おそらく何か設定する方法があるのだろうから、それを探さないと。
USBを使った測定システムを構築することが、これでずいぶん簡単になった。まだあまりUSBの装置は手元に無いが、今度装置を買うときには、GPIBが無くてもUSBがあれば、気にせずに買うことができる。