From: Shun-ichi GOTO Date: 2001-01-15T16:19:41+09:00 Subject: [ruby-list:27163] Re: gpib-rb >>>>> at Mon, 15 Jan 2001 15:25:55 +0900 >>>>> 岡部 == kiwamu said, > VISAは細かい制御を切り捨てた分、依存度が減り、GPIB/VXI/MXI などのスケー > ラビリティが上がり、また扱いも容易になっています。 岡部> えーと、素人にはかなり謎なキーワードが連発なんですが。(^^;; 失礼しました (^^; 岡部> GPIBと同じようなインターフェイスでVXIとかMXIとゆーのがあるんですか。 岡部> ふーむ。 一応フォローとして解説しておきます。 普通のパソコン計測の場合は、単体計測器(オシロとかデジボル(DMM)とか)を GPIBでつないでコントロールしますよね。ただ、それだとパフォーマンスやら、 配置(ラッキング)やらで、ちょっとした規模のシステムを組もうとすると、 大変になってくるのは想像できると思います。 パソコンでの計測でもA/D変換ボードとDIOボードを使って計測しよう、などと 考えるのと同様に、VXIなるシャーシにカード型の計測ボードをさして1つの ユニットを作ってしまおう、といった発想だと思っていただければよいです。 # キーワードとしては NI, Agilent, VISA, VXI PnP, VME, PXI, CompactPCI と # かでしょうか。 でも、こうやってGPIBだけでない複雑なモノが出てくるとソフトを書く側は大変 なので、NIやHP(Agilent)など、GPIBボードメーカが独自に規定してたライブラ リやVXI計測ボードを標準的な形(Plug & Play で) で使えるように、VXIコンソー シアムという組織を作り、標準的なルールを作ったのです。VISAはその中で通信 部分の共通化(抽象化)を担っています。 VXIは既に終りの見えているシステムですが、VXI PnPの成果は計測関連のいろい ろなところで引続き継承されているため、かなり有用なものです。 で、VISAなのですが、一般的なGPIB通信の使い方に絞り、シリアル通信のような stream 風の扱いが出来るように考慮されたもので、およそ以下の関数だけで 大抵の計測は満足できます。 viOpenDefaultRM() ... ライブラリの初期化のようなもの viOpen() ... デバイスのオープン viClose() ... デバイスのクローズ viWrite() ... データの書き込み viRead() ... データの読み込み viReadSTB() ... ステータスバイトの取得 viInstallHandler() ... SRQ(などの) イベントハンドラの登録 viEnableEvent() ... SRQ(などの) イベントのハンドラ呼び出し許可 また、上記のVISA のAPIが規定されており、HP(Agilent)やNIがVISA ライブラリ として提供しているため、ユーザはVISAのAPIを使ってプログラミングしていれ ば、HPのGPIBボードとを使おうがNIのボードを使おうが、プログラムを変更する 事無しに(同じプラットフォームであればバイナリ互換で)動作させる事が出来る、 というのが利点です。それに、GPIBライブラリは1種類覚えれば良い、という点 でもメリットはあるでしょう。 岡部> Linux版はどこにあるのでしょうか? 岡部> をざっと探したところないよーな気が…。 NI VISA の取得はここ↓ですが、 http://digital.ni.com/softlib.nsf/current?OpenView&Start=1&Count=500&Expand=32#32 Linux 版は、、、あれ、ないですねぇ(^^; あると聞いた気がしていたのですが、勘違いかも知のようで、ごめんなさい。 ## Linux での事例の経験は実はないので ちなみにHP-VISA (HP I/O Library)は以下のところから入手可能です。 I/O Library for Win95/98/NT/2000/Me or HP-UX 10.20 http://www.tm.agilent.com/classes/MasterServlet?view=TechSupport&language=eng&locale=US > ## 私は計測関係が仕事なのですが、よっぽどの事がない限り、VISA で作ります。 > > ## VISA 用のモジュールを作ろう、作ろうと思いつつ、未だに手をつけてない... 岡部> うわ。期待しちゃいます。(^^) 期待されても 私の Ruby 習熟レベル(と好奇心レベル)をあげないと... (^^;; ## ちょっと頑張ってみます --- Regards, Shun-ichi Goto R&D Group, TAIYO Corp., Tokyo, JAPAN