NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

Visual Basic 2010におけるGPIB制御構文について

解決済み
解決策を見る
常日頃よりお世話になっております。
伊藤と申します。
 
初歩的な質問で大変恐縮ですが、検索しても情報が見つからないため、こちらに投稿させていただきます。
 
この度、貴社のGPIB-USB-HS+を用いて測定機器を制御するソフトウェアを開発することになりました。
【大まかな環境】
・GPIB-USB-HS+
・Windows8.1、64bit
・Visual Basic 2010 Express
・ドライバはNI-488.2 Ver14.0、Mesurement Studio for VS2005、2008、2010、2012
 
制御したい機器は古いもの(Win3.1、PCからGPIBボードを通じて操作)である上にGPIBコードが非公開なので、
貴社のGPIBボードに付属していたGPIBSpy(現在のNI I/O Trace)でログを参考にしながら検討を進めています。
プログラムについては、こちらのフォーラムでご紹介されていたサンプルプログラムと、MAXのヘルプを元にしようと考えております。
例えば、ドライバ一式をインストールした際に入る、以下の場所にあるようなものです。
C:\Users\Public\Documents\National Instruments\NI-488.2\Examples\DotNET4.5\SimpleReadWrite\vb
 
ここからが質問なのですが、サンプルプログラムに示されている構文と、MAXのヘルプで見られるVisualBasic向けの構文とが
異なるため、細かい命令についてどう記述していいかわからない状況になっております。
【例】
データバイトの送信をする場合
 ・サンプルプログラム⇒GpibDevice.Write
 ・MAXのヘルプ⇒CALL SendList
サンプルプログラムに"CALL SendList"と入力しても宣言されてないとエラーになります。
 
私としましては、MAXのヘルプにある構文を使えた方が、GPIBSpyで見えるログを
そのまま使えそうなので都合がいいのですが、上記のサンプルプログラムで実施する手法がわかりません。
したがって、上記サンプルプログラムでCALL~のような構文が使えるようにする方法、もしくは
使えるサンプルプログラムをご教示いただけますと幸いです。
 
ご多忙のところ誠に申し訳ございませんが、ご検討の程よろしくお願いいたします。
 
0 件の賞賛
メッセージ1/4
5,741件の閲覧回数

伊藤様

 

>使えるサンプルプログラムをご教示いただけますと幸いです。
 
Examples にVisual BasicってフォルダがあったらそこにいろいろVisual Basic6.0のサンプルが入っていると思います。
なかったら4882のドライバーインストール時にカスタムで一覧の中からそれっぽいのをインストールできるか確かめてください。
 
ちなみに私のパソコン(Win7 32bit)には下記フォルダに入ってます。
C:\Users\Public\Documents\National Instruments\NI-488.2\Examples\Visual Basic
 
これはGpib-32.dllの APIを使った方法ですよ。  
Visual Basic6.0のサンプルしかないと思います。(vbib-32.bas / niglobal.basをプロジェクト追加すれば宣言されてないとエラーは消えると)
 
0 件の賞賛
メッセージ2/4
5,722件の閲覧回数

su-sann5073 さん

 

ご指南いただきまして、どうもありがとうございました。

 

VisualBasic 6.0 と2010(.NET)との違いについてはあまり認識が無かったのですが、

ご指摘いただいた場所のサンプルコードを見て驚きました。結構違うものですね…。

MAXのヘルプも、6.0向けの文法で書かれているということでしょうか。

 

6.0が動作する環境を作ることと、2010に自力でコンバートすることのどちらが可能性があるか(容易か)

少し考えてから動こうかと思います。

 

まずはご報告でした。どうもありがとうございました。


su-sann5073 さんは書きました:

伊藤様

 

>使えるサンプルプログラムをご教示いただけますと幸いです。
 
Examples にVisual BasicってフォルダがあったらそこにいろいろVisual Basic6.0のサンプルが入っていると思います。
なかったら4882のドライバーインストール時にカスタムで一覧の中からそれっぽいのをインストールできるか確かめてください。
 
ちなみに私のパソコン(Win7 32bit)には下記フォルダに入ってます。
C:\Users\Public\Documents\National Instruments\NI-488.2\Examples\Visual Basic
 
これはGpib-32.dllの APIを使った方法ですよ。  
Visual Basic6.0のサンプルしかないと思います。(vbib-32.bas / niglobal.basをプロジェクト追加すれば宣言されてないとエラーは消えると)
 

 

0 件の賞賛
メッセージ3/4
5,674件の閲覧回数
解決策
トピック作成者sunkichiが受理

伊藤様

>6.0が動作する環境を作ることと

やめた方が良いです。

>制御したい機器は古いもの(Win3.1、PCからGPIBボードを通じて操作)である上に

まずMAXを使ってある程度、遊ぶ(通信して反応するかを確認)のが一番だと思います。

 

ちょっと話がそれますが

もし計測器が手元にあるのであれば、繋いでMAX上でGPIBボードを選択すると「計測器をスキャン」してみると良いです。
測定器が現れれば、選択し「計測器と通信する」をクリックすると表示された画面でコマンドの送受信が出来ると思います。

 

0 件の賞賛
メッセージ4/4
5,660件の閲覧回数