08-24-2015 03:52 AM
現在C#にて、GPIBのデータ送受信とステータスバイトの制御をする治具ソフトを作成していますが、
C#の関数ヘルプなどが見れない為(ヘルプのインストールがうまくいかなかった?)、サンプルを参考にコーディングをしています。
データの送受信と相手機器の立てたステータスバイトのチェックは出来たのですが、自分でステータスバイトを立てる部分がサンプルソースを見てもよくわからなかったのでその部分を教えて頂きたいと思います。
やりたい内容は、
①SRQのON/OFF(SRQに限らずステータスバイトを任意に立てる)
②SRQを待つ(タイムアウトを設定して待つ)
以上の2つです。
作成しているソフトの参考イメージとして、サンプルソフトの”SimpleReadWrite”の”MainForm.cs”を変更した物を添付します。元のソースからの変更内容は、シリアルポールとSRQのON/OFFに関するボタンを追加して、ソースファイルの最後の方にボタンクリックの関数とコメント書いただけです。
お手数おかけしまして申し訳ありませんが、ご教授をよろしくお願いいたします。
解決済! 解決策の投稿を見る。
08-25-2015 12:23 AM - 編集済み 08-25-2015 12:24 AM
こんにちは。
Visual Studio でヘルプが見れないということですが、下記の資料を見てみてください。
Configuring Measurement Studio Help in Visual Studio 2010
http://digital.ni.com/public.nsf/allkb/8C2C52759863304D86257811007F709C
488.2 のコマンドについては、下記のリンクのヘルプも見やすいです。
NI-488.2 ヘルプ
http://digital.ni.com/manuals.nsf/websearch/F824A737D13B94C786257D3300578D19
使用するコマンドの種類にもよりますが、ibconfig(IbcRSV)とibwait がご希望されているものではないかと。
08-25-2015 03:17 AM
ご返信ありがとうございました。
ヘルプのインストールについてですが、私の使っている開発ツールが、Microsoft visual studio 2008でして、2010とは違うのかなと思い資料を見ても資料にある画面がないのでインストールは出来ないのかなとあきらめています。
GPIBのヘルプもダウンロードしましたが、このヘルプにはCとVBの関数は載っていますがC#の方は載っていないのかと思います。
私の開発環境は以下のようになっています。(最初の投稿の時に書いておけばよかったです。すみません)
OSはWindows7 32ビット
開発ツールは、Microsoft visual studio 2008で開発言語はC#
使用している機器はGPIB-USB-HS
です。
動作確認に、別PCのコ○○ック製GPIBボードに接続して動作確認しています。
この環境で、コマンドの送受信と別PCから立てたステータスバイトを読み込むところまでは確認できました。
VC++6.0でも試に同様の治具アプリを作成しましたが
ibrsv( m_DevHandle, nStatus);
ibconfig( m_DevHandle, IbcRsv, nStatus);
上の2つの関数を試してみましたがステータスバイトがセットできませんでした。(ひょっとしたら別PCの方が怪しい可能性もあり得るのでちょっと確認してみます)
C#のサンプルソースだとdeviceクラスを使って制御しているようなので、このクラスにステータスバイトの制御をする関数があるのかな?と思い、ざっと関数を見たのですがどれなのかがわかりませんでした。
何かわかりましたご教授ください。よろしくお願いいたします。
08-26-2015 02:23 AM
度々すみません。VisualStusioのサイトをみてヘルプのインストールは無事に出来ました。
ステータスバイトの制御の方は進展ありません。
諦めて別メーカーのGPIBカードに選定し直す事を検討しようかと思います。
どうもお騒がせいたしました。
12-09-2015 10:23 PM
問題が解決しました。
そもそもGPIB-USB-HSはコントローラー用であるためにSRQやステータスバイトの送信の機能がありませんでした。
ラトック社の製品のを試している時にマニュアルにSR0という記述があり、SR0の物はスレーブとしては使えないという事が分かりました。
なので、GPIB-USB-HSをあきらめて、コンテック社のGP-IB(USB)FL という製品を使って試してみようと思います。
どうもお騒がせいたしました。