none
VB2014からのGP-IB通信について RRS feed

  • 質問

  • 私は現在、VB2014を使ってGP-IB通信により測定機器を制御しようとしています。そこで前担当者がインタフェース社よりダウンロードしたモジュールについて疑問を持ったため、今回質問をさせていただきました。

    現在この二つのGP-IBインタフェースモジュールをインストールしています。Windows 7 で使用しています。

    • Windows ドライバ GPC-4301 対応:Windows 7, VB2013
    • ActiveX コントロール BPA-0515 対応:Windows Vista, VB2005

    今作成しているプログラムではBPAの方のマニュアルを見ながら設計しているのですが、BPAでは正式にWindows 7 が対応しているわけではないので、GPCを使った設計に変えたほうがよいのかと悩んでおります。7の対応が明記されてなくてもそれほど問題がないようであれば、このままBPAの方を使い続けたいのですが。

    もう一つ疑問を持ったのですが、この二つは両方ともなければならないのでしょうか。ドライバがなければActiveXコントロールは上手く動作しないのでしょうか。ドライバ、ActiveX、このあたりの知識が乏しいので、教えていただきたいです。

    よろしくお願いします。

    2014年12月19日 4:15

回答

  • 佐祐理さんが提示してくださったリンクを読めば自明ですが、
    GPC-4301は、ドライバ、アクセス用API(DLL)、ライブラリとヘッダー、
    動作確認用実行ファイル、サンプル等のセットですね。
    オンラインヘルプを確認してみてください。

    BPA-0515のセット内容は不明でしたが、VB、Excel等に貼り付けて使用する
    ActiveXコントロールなので、別にドライバが必要なはずで、かつ、
    インターフェースするDLLも使用しているかもしれません。

    いずれにしても不足があれば、何かプロンプトされるのではないでしょうか。
    今すぐにやってみてはどうでしょう(タダだし)。

    さて、「両方必要か」=> 片方あれば十分なはずです。
          それが正常に動作する場合で、ActiveXが提供する機能で十分な場合はそれだけで良いはずです。
       細かい制御をする場合は、GPC-4301の提供する関数を必要とする場合もありえます。

    PCにさせる対応ボードがあるなら今すぐダウンロードして試してみるのが一番簡単ですね。
    それとも、テストコードも書かないうちに設計を初めてしまいましたか。

    • 回答としてマーク student_ 2014年12月20日 2:51
    2014年12月19日 6:16
  • 外池と申します。小生も実験屋で、GP-IB制御の測定器を使ったプログラミンの経験もあるので、貴殿の置かれた状況にコメントしますと・・・、

    おそらく、動作実績のある古い環境のパソコン(先輩が使っていたもの?)を引っ張り出してきて、その環境でプログラムして、測定を実現させてデータを取得して、その上で、データを今のパソコンに移すことを検討した方が良いと思います。

    スケジュールがカツカツの実験計画で、現時点でパソコンの環境を云々しているのは遅すぎます。早急に指導されている先生と相談されるべきかと。
    • 回答としてマーク student_ 2014年12月20日 2:52
    2014年12月20日 1:31
  • 外池です。

    pepperleaf01さんのコメントと、student_さんのお話しを伺って雰囲気理解しました。

    http://www.interface.co.jp/catalog/prdchelp/Japanese/gpc4301/help.pdf
    を見る限り、小生ならGPC-4301とVB.NETでやってみると思います。ActiveXは不要ですね。

    本件は、VBの理解というよりも、.Net FrameworkとGPC-4031をどう連動させるのか、という問題だと思います。上記のオンラインマニュアルを見る限り、GPC-4031はネイティブDLLで提供されているんだと推察されます。.Net Framework上で動作するVB.NETやC#からこのネイティブDLLをどのように呼び出すか、そこを習得できれば、どうにでもなると思います。

    ちなみに、小生は職場で、National Instruments社のGP-IB装置とソフトウェアを愛用していました。National Instruments社のドライバーソフトのインターフェイスは、.Net Frameworkのクラスライブラリとして用意されています。要するに、VBの機能の一部のように見えてしまうところまで面倒を見てくれているので、非常に楽でした。


    • 編集済み 外池 2014年12月23日 0:47
    • 回答としてマーク student_ 2015年1月20日 6:13
    2014年12月23日 0:09

すべての返信

  • 詳しくありませんが、GPC-4301BPA-0515のページを参考にされてみてはどうでしょう? 特に最終更新日、後者はぎりぎり今世紀のようで。

    またヘルプファイルがあるそうですがそちらは確認済みでしょうか?

    2014年12月19日 5:15
  • 佐祐理さんが提示してくださったリンクを読めば自明ですが、
    GPC-4301は、ドライバ、アクセス用API(DLL)、ライブラリとヘッダー、
    動作確認用実行ファイル、サンプル等のセットですね。
    オンラインヘルプを確認してみてください。

    BPA-0515のセット内容は不明でしたが、VB、Excel等に貼り付けて使用する
    ActiveXコントロールなので、別にドライバが必要なはずで、かつ、
    インターフェースするDLLも使用しているかもしれません。

    いずれにしても不足があれば、何かプロンプトされるのではないでしょうか。
    今すぐにやってみてはどうでしょう(タダだし)。

    さて、「両方必要か」=> 片方あれば十分なはずです。
          それが正常に動作する場合で、ActiveXが提供する機能で十分な場合はそれだけで良いはずです。
       細かい制御をする場合は、GPC-4301の提供する関数を必要とする場合もありえます。

    PCにさせる対応ボードがあるなら今すぐダウンロードして試してみるのが一番簡単ですね。
    それとも、テストコードも書かないうちに設計を初めてしまいましたか。

    • 回答としてマーク student_ 2014年12月20日 2:51
    2014年12月19日 6:16
  • 佐祐理さん、返信ありがとうございます。

    そうなんです。BPA-0515はvista以降更新されていないようで。

    ヘルプファイルというのはどちらのことでしょうか?ダウンロードしたときのフォルダに一緒に入っているのでしょうか?

    2014年12月19日 12:43
  • 仲澤さん、返信ありがとうございます。

    やはりどちらか一方でも十分そうですよね。意見ありがとうございます。

    確かにGPC-4301をアンインストールしてみるのがいいのかもしれませんが、前の先輩のアプリケーションが動作しなくなってしまうのは避けたいので躊躇しています。ちなみに私は学生です。

    すでにBPA-0515を使って測定装置を動かすことには成功しています。現在までに特に問題は起きていないのですが、研究発表も近く気になったので質問しました。どちらか一方でよいのなら対応が明記されているGPC-4301にしておくべきでしょうか。

    • 回答としてマーク student_ 2014年12月20日 2:52
    • 回答としてマークされていない student_ 2014年12月20日 2:52
    2014年12月19日 13:08
  • 外池と申します。小生も実験屋で、GP-IB制御の測定器を使ったプログラミンの経験もあるので、貴殿の置かれた状況にコメントしますと・・・、

    おそらく、動作実績のある古い環境のパソコン(先輩が使っていたもの?)を引っ張り出してきて、その環境でプログラムして、測定を実現させてデータを取得して、その上で、データを今のパソコンに移すことを検討した方が良いと思います。

    スケジュールがカツカツの実験計画で、現時点でパソコンの環境を云々しているのは遅すぎます。早急に指導されている先生と相談されるべきかと。
    • 回答としてマーク student_ 2014年12月20日 2:52
    2014年12月20日 1:31
  • 外池さん、回答ありがとうございます。

    現時点で特に動作がおかしくなったとかいう問題は起きてないんです。ですが、もし今使っているBPA-0515が単体で動いているようなら、研究発表ではGPC-4301の名前は出したくなくて。先生に突っ込まれるだけなんで・・・。

    今まではGPC-4301がないとBPA-0515が動かないという認識でしたが、最近になってGPC-4301もBPAと同じ機能があることに気付きまして、それならどっちかだけで十分なんじゃないかと。どなたか詳しい方がいたら確認をしたいというしだいです。

    皆様の意見をもとに考えると、どうやらBPA-0515だけで十分そうですね。研究発表ではBPA-0515の名前だけ出そうと思います。

    このフォーラムを利用したのは今回で2回目となりますが、毎回迅速に回答を返してもらったり相談相手になっていただけて、とても助けになっています。本当にありがとうございます。またお気づきの点があれば引き続きご協力お願いします。

    2014年12月20日 2:29
  • 外池です。状況をよく把握していないので、適切な回答になっているかわかりませんが・・・、

    GP-IBのインターフェイス(通信のプログラミングを含む)の研究をなさっているのですか? であれば、どの製品を使っているかは重要なんでしょうね。

    もし、GP-IB通信による測定機器制御は単なる手段であって、目的でないのであれば、どんな製品を使っているかはどうでも良いこと(製品名を出す必要はまったくない)と思います。また、だからこそ、敢えて新しいものを使う必要は無いはず、というわけです。


    • 編集済み 外池 2014年12月20日 8:36
    2014年12月20日 7:39
  • こんにちは、
    既に回答済みのマークが付いているようですが、、、

    以前にも同様の質問があったと思いますが、
    その時の確認では、 GPC-4301が必須で、 BPA-0515がオプションでは無いかとの認識でした。正確には、メーカに確認するのがスジで、或いは仲澤さんの書かれたように、外してテストが簡単かと。
    BPA-0515 は、GPC-4301を内部で呼び出していると推測しています。以前、類似のものを使った事はあるのですが、2年以上前で、記憶のみとなります。Webサイトは、途中から、会員登録が必要なので、見ていませんが。
    (昔、登録したような気もするのですが、、、覚えてません)
    また、GPC-4301には、サポート対象として、64bit/32bitの区別がありますが、BPA-0515には、ありませんね。とすると、ドライバが含まれていないと考えるべきではないかと思います。

    > ヘルプファイルというのはどちらのことでしょうか?ダウンロードしたときのフォルダに一緒に入っているのでしょうか?
    ハードウェアと同梱で、この手の資料が入っていると思ったのですが、ありませんか?
    以前、作業した時は、紙は CDか忘れましたが、、、、CDのデータを印刷したような気がしますが、、、見ながら、作業した記憶があります。

    あと、以前にも書きましたが、BPA-0515は、VB6のモジュール呼出しを行っている気配がありますが、そちらはクリアされたでしょうか?

    余計なお世話かと思いますが。

    2014年12月20日 12:14
  • >外池さん

    おっしゃるとおりですが・・・。

    私の参加する研究発表会は学内のものでして、学生がどれだけその研究について理解をできているかを確認することが目的となっています。ですから、「それは何をするためのものなの?」などと質問された場合にしっかり答えられるようにしておきたいのです。フォーラムをご利用の他の方とは少し立場が違うのかもしれませんが。

    2014年12月21日 8:56
  • pepperleaf01さん、先日はどうもありがとうございました。あれから、皆さんの回答を参考に作業を進めることができました。

    BPA-0515はできれば使いたくなかったのですが、色々ありまして妥協して使っていました。最近になってGPC-4301に同じような機能があることを知りました。今後はGPC-4301だけで対処しようと思います。

    BPA-0515は、GPC-4301を内部で呼び出していると推測>そうですか。気になっていたので助かります。

    ヘルプファイルについて>返答ありがとうございます。探してみます。

    2014年12月21日 9:27
  • 外池です。

    「研究について」と「研究に使う道具について」は、かなり明確に区別すべきと思います。

    「道具が性能を発揮していることをちゃんと確認している」その上で「道具を使いこなせている」なら、実は、その道具はブラックボックスであって良いはずです。

    そういう意味で、とにかく早くGP-IB通信をしながらの実験が実現できることをお祈りしています。そのためにこのフォーラムが役に立つならそれは結構なことかと。逆に、このフォーラムは「最短距離の解決」を目指すために効率的に活用されてよいと思います。あまり微に入り細に入りで時間をとられないように・・・。GP-IB通信はとにかくケリをつけて、「いいデータが採れる」プログラミングの方に時間を割くべきです。

    過去の小生の経験では、実験現場に臨んでなお通信制御・取得データリアルタイム解析の自作ソフトのGUIを修正し続けていたら、ベテラン研究員に怒鳴られたことがあります。「既に動くとわかっているモノを、もうイジるな」と。GUIが少々まずくても採れているデータが良ければOK。GUIが死んで実験・測定が止まる方が困る、というわけです。


    • 編集済み 外池 2014年12月21日 11:18
    2014年12月21日 11:17
  • 外池さん、

    > 「研究について」と「研究に使う道具について」は、かなり明確に区別すべきと思います。
    たしかにそうですね。

    でも学生の研究だと、その過程も重視される事も多いのではないかと思います。
    特に高専とか、学部生の研究だと、その成果より、どう実現したかが重視ではないでしょうか。
    自分の?十年前も恥ずかしながら、、、で、当時は頑張ったと思うのですが、思い返すと疑問符一杯。

    > GUIが死んで実験・測定が止まる方が困る、というわけです。
    実務の現場では正しい言葉です。ただ、不確かなツールで得られた結果に信憑性があるかも大切で、その辺が重視される場合もあるかと思います。
    また、古いツールを使い続けてサポート切れの機材(PC etc.)でしか動かないのも問題かなと思います。死にそうな機材のメンテで時間が取られた、なんてのもあちこちに転がっている話です。 (少々、心当たりもあるもので)

    完全に余談ですが。

    2014年12月21日 14:28
  • 外池さん、pepperさん

    はい、高専生なんです。だから普通の大学生や大学院生の研究とは少し違うのかもしれません。

    ですが、今回の相談で「本来の目的を見失っていはいけない」という考え方は大事だなと考えさせられました。私も細かいことまで気にしてしまう性格でして。一番の問題は学内にVBに詳しい者がいないことが原因なんですが・・・。

    2014年12月22日 2:04
  • 外池です。

    pepperleaf01さんのコメントと、student_さんのお話しを伺って雰囲気理解しました。

    http://www.interface.co.jp/catalog/prdchelp/Japanese/gpc4301/help.pdf
    を見る限り、小生ならGPC-4301とVB.NETでやってみると思います。ActiveXは不要ですね。

    本件は、VBの理解というよりも、.Net FrameworkとGPC-4031をどう連動させるのか、という問題だと思います。上記のオンラインマニュアルを見る限り、GPC-4031はネイティブDLLで提供されているんだと推察されます。.Net Framework上で動作するVB.NETやC#からこのネイティブDLLをどのように呼び出すか、そこを習得できれば、どうにでもなると思います。

    ちなみに、小生は職場で、National Instruments社のGP-IB装置とソフトウェアを愛用していました。National Instruments社のドライバーソフトのインターフェイスは、.Net Frameworkのクラスライブラリとして用意されています。要するに、VBの機能の一部のように見えてしまうところまで面倒を見てくれているので、非常に楽でした。


    • 編集済み 外池 2014年12月23日 0:47
    • 回答としてマーク student_ 2015年1月20日 6:13
    2014年12月23日 0:09
  • 外池さん、返信が遅れて申し訳ありません.

    そうですか。ご指摘通り、やはりActiveXの方は使用を止め、GPC-4301による対処で進めていこうと思います。

    National Instruments社については存じていなかったので自分でも調べてみようと思います。ありがとうございます。

    2015年1月20日 6:12