NI製品ディスカッション

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

LabVIEWが入っているPCがGPIBで計測器から測定データを取得しているのを、別のLabVIEWの入ったPCで取得するには?

LabVIEWのプログラムの入ったPC Aを計測器(パワーメータ)に
GPIBで接続し、GPIBを介して測定データを取得している。
一方、別のLabVIEWの入ったPC Bを測定器と繋がっているPC Aに
GPIBで接続する。
PC Bは計測器からPC Aに送信されたデータをGPIB488.2 Receive関数
でReadすると、PC AのLabVIEWでGPIB通信エラーが発生してしまう。
GPIB488.2 Receive関数を実行すると、何かの制御信号を発生させてしまう
のでしょうか?
PC Aと計測器のGPIB通信に影響を与えずにPC Bで計測器
の情報を受信することはできますでしょうか?
できるとすればどのような方法があるのでしょうか?
0 件の賞賛
メッセージ1/7
4,660件の閲覧回数
Beginner I 様

PC BからPC Aで受信した値を読み取るとエラーになるとのことですが、
問題解決にあたり、もう少し情報が必要であるため、
以下に関しての情報をお願いいたします。

1.計測器、PC A、PC BのGPIBアドレスはどのように割り振られていますでしょうか。
2.通信エラーが発生するとのことですが、エラー番号等はございますでしょうか。
3.具体的にどのようなコマンドでPC Aと計測器は通信していますでしょうか。できればプログラムを送っていただくことはできますでしょうか。
4.直接PC Bと通信機を直接つなげない理由はなにかありますでしょうか。
5.LabVIEWのバージョンとドライバのバージョン。

お手数ですが、よろしくお願いいたします。

日本ナショナルインスツルメンツ 湯田
0 件の賞賛
メッセージ2/7
4,637件の閲覧回数
湯田様
ご返信ありがとうございます。
PC AのLabVIEWプログラムですが、社外の者が作ったEXEファイルのため、
中身がどうなっているかわからない状況です。
システム構成としては、もともとPC Aが計測器の測定データを受け取り、制御を行って
いるものに、PC Bを新たに接続し、計測器からのデータを取得する感じです。
 
>1.計測器、PC A、PC BのGPIBアドレスはどのように割り振られていますでしょうか。
計測器は2台ありますが、それぞれ、アドレス2、3でした。
PC A、PC BのアドレスはMAXの設定ではPC A:0、PC B:16となっておりますが、
このことでしょうか。
 
>2.通信エラーが発生するとのことですが、エラー番号等はございますでしょうか。
PC Aはブラックボックスのため、エラー番号等の情報を見ることができません。
GPIB通信エラーはPC Aのプログラム上で発生したものです。
PC Aのプログラムを作成した会社に問い合わせたところ、PC BがRead関数を
実行した際に、PC Bがコントローラになったため、発生してるのではないかとのことでした。
PC Bでリスナの状態でGPIB関数を読み出すことは可能なんでしょうか。
可能であればやり方を教えてください。
PC Bをリスナに設定する方法もできれば教えてください。
 
>3.具体的にどのようなコマンドでPC Aと計測器は通信していますでしょうか。
>      できればプログラムを送っていただくことはできますでしょうか。
上記と同じ理由でPC Aの中でどのようなことをやっているかわからず、
プログラムソースも持ち合わせておりません。
現在、PC Aのプログラムを作成した会社に問い合わせております。
 
>4.直接PC Bと通信機を直接つなげない理由はなにかありますでしょうか。
PC Aと計測器のシステムをそのまま残しながら、PC Bを新たに接続して
通信の盗み見を行うことができればPC Bと通信機(計測器?)を直接接続でもかまわないです。
ただし、PC Bと計測機を直接つないだ場合も、おなじくPC A側でGPIBの通信エラー
が発生しており、計測器とPC Aを比べた場合、PC Aの方が接続しやすいため
PC A側にGPIBを接続しました。
 
>5.LabVIEWのバージョンとドライバのバージョン。
      LabVIEWのバージョン : 7.1
      ドライバ : 7.1標準だと思います。(PCMCIA-GPIB I/Fのドライバのことでよろしかったですか?)
 
PC Aがブラックボックスのため、湯田様の質問に明確に答えられない感があり、まことに恐縮ですが
以上、よろしくお願いします。
 
0 件の賞賛
メッセージ3/7
4,600件の閲覧回数
補足
 
>>3.具体的にどのようなコマンドでPC Aと計測器は通信していますでしょうか。
>>      できればプログラムを送っていただくことはできますでしょうか。
>上記と同じ理由でPC Aの中でどのようなことをやっているかわからず、
>プログラムソースも持ち合わせておりません。
>現在、PC Aのプログラムを作成した会社に問い合わせております。
→問い合わせの回答がもらえました。
   PC Aで使用している関数は IEEE 488 GPIB Read関数だそうです。
 
0 件の賞賛
メッセージ4/7
4,583件の閲覧回数
Beginner I 様

詳細情報とご質問に対してのご返答ありがとうございました。
PC間でGPIB通信を行ってデータの送受信を行う方法ですが、
以下のウェブサイトに詳細が記載されておりますので、ご覧いただければ幸いです。

http://digital.ni.com/public.nsf/websearchj/CF5854533A7B38DD86256EC300103ED3?OpenDocument

PC Aがどのように動作しているか分かりかねるとのことですが、
上記のウェブどおりに行うことで、通信は可能となります。
お手数ですが、上記の方法で確認していただくことはできますでしょうか。

以上、よろしくお願いいたします。

日本ナショナルインスツルメンツ 湯田
0 件の賞賛
メッセージ5/7
4,566件の閲覧回数
湯田様
 
ご返答ありがとうございます。
説明がわかりにくくて申し訳ございません。
2台のPC間の通信というよりは、計測器からPC Aへ送られるデータを
別のPC Bで盗み見るという感じです。
また、今回頂いた回答の方法を拝見いたしましたが、
コントローラPC(PC A)のプログラムはEXEファイル(LabVIEWで作成)のため、変更できず、
非コントローラ側のプログラムのみの変更、作成で対応しなければならない
ため、適用できないような気がします。
PC B側で今回頂いた方法の非コントローラの処理のみを行えばいいのでしょうか。
以上、よろしくお願いします。
0 件の賞賛
メッセージ6/7
4,562件の閲覧回数
Beginner I 様

ご連絡ありがとうございます。
PC Aではどのようなプログラムが動作しているのか分かりかねるため、
以前に送らせていただいた方法とは設定が異なる可能性がございますが、
非コントローラ側の設定は行っていただくことができます。
また、常に値を読み取るような形とするということですので、
ibrdを行うことでデータを読むことはできるかと思われます。
一度上記の方法をお試しいただけますでしょうか。
もし正常に動作しない場合には、PC Aでどのようなプログラムとなっているか
確認する必要がございます。

お手数ですがご確認よろしくお願いいたします。

日本ナショナルインスツルメンツ 湯田
0 件の賞賛
メッセージ7/7
4,528件の閲覧回数