トップ回答者
VB2014からのGP-IB通信について

質問
-
私は現在、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、このあたりの知識が乏しいので、教えていただきたいです。
よろしくお願いします。
回答
-
佐祐理さんが提示してくださったリンクを読めば自明ですが、
GPC-4301は、ドライバ、アクセス用API(DLL)、ライブラリとヘッダー、
動作確認用実行ファイル、サンプル等のセットですね。
オンラインヘルプを確認してみてください。BPA-0515のセット内容は不明でしたが、VB、Excel等に貼り付けて使用する
ActiveXコントロールなので、別にドライバが必要なはずで、かつ、
インターフェースするDLLも使用しているかもしれません。いずれにしても不足があれば、何かプロンプトされるのではないでしょうか。
今すぐにやってみてはどうでしょう(タダだし)。さて、「両方必要か」=> 片方あれば十分なはずです。
それが正常に動作する場合で、ActiveXが提供する機能で十分な場合はそれだけで良いはずです。
細かい制御をする場合は、GPC-4301の提供する関数を必要とする場合もありえます。PCにさせる対応ボードがあるなら今すぐダウンロードして試してみるのが一番簡単ですね。
それとも、テストコードも書かないうちに設計を初めてしまいましたか。- 回答としてマーク student_ 2014年12月20日 2:51
-
外池と申します。小生も実験屋で、GP-IB制御の測定器を使ったプログラミンの経験もあるので、貴殿の置かれた状況にコメントしますと・・・、
おそらく、動作実績のある古い環境のパソコン(先輩が使っていたもの?)を引っ張り出してきて、その環境でプログラムして、測定を実現させてデータを取得して、その上で、データを今のパソコンに移すことを検討した方が良いと思います。
スケジュールがカツカツの実験計画で、現時点でパソコンの環境を云々しているのは遅すぎます。早急に指導されている先生と相談されるべきかと。- 回答としてマーク student_ 2014年12月20日 2:52
-
外池です。
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の機能の一部のように見えてしまうところまで面倒を見てくれているので、非常に楽でした。
すべての返信
-
佐祐理さんが提示してくださったリンクを読めば自明ですが、
GPC-4301は、ドライバ、アクセス用API(DLL)、ライブラリとヘッダー、
動作確認用実行ファイル、サンプル等のセットですね。
オンラインヘルプを確認してみてください。BPA-0515のセット内容は不明でしたが、VB、Excel等に貼り付けて使用する
ActiveXコントロールなので、別にドライバが必要なはずで、かつ、
インターフェースするDLLも使用しているかもしれません。いずれにしても不足があれば、何かプロンプトされるのではないでしょうか。
今すぐにやってみてはどうでしょう(タダだし)。さて、「両方必要か」=> 片方あれば十分なはずです。
それが正常に動作する場合で、ActiveXが提供する機能で十分な場合はそれだけで良いはずです。
細かい制御をする場合は、GPC-4301の提供する関数を必要とする場合もありえます。PCにさせる対応ボードがあるなら今すぐダウンロードして試してみるのが一番簡単ですね。
それとも、テストコードも書かないうちに設計を初めてしまいましたか。- 回答としてマーク student_ 2014年12月20日 2:51
-
仲澤さん、返信ありがとうございます。
やはりどちらか一方でも十分そうですよね。意見ありがとうございます。
確かにGPC-4301をアンインストールしてみるのがいいのかもしれませんが、前の先輩のアプリケーションが動作しなくなってしまうのは避けたいので躊躇しています。ちなみに私は学生です。
すでにBPA-0515を使って測定装置を動かすことには成功しています。現在までに特に問題は起きていないのですが、研究発表も近く気になったので質問しました。どちらか一方でよいのなら対応が明記されているGPC-4301にしておくべきでしょうか。
-
外池と申します。小生も実験屋で、GP-IB制御の測定器を使ったプログラミンの経験もあるので、貴殿の置かれた状況にコメントしますと・・・、
おそらく、動作実績のある古い環境のパソコン(先輩が使っていたもの?)を引っ張り出してきて、その環境でプログラムして、測定を実現させてデータを取得して、その上で、データを今のパソコンに移すことを検討した方が良いと思います。
スケジュールがカツカツの実験計画で、現時点でパソコンの環境を云々しているのは遅すぎます。早急に指導されている先生と相談されるべきかと。- 回答としてマーク student_ 2014年12月20日 2:52
-
外池さん、回答ありがとうございます。
現時点で特に動作がおかしくなったとかいう問題は起きてないんです。ですが、もし今使っているBPA-0515が単体で動いているようなら、研究発表ではGPC-4301の名前は出したくなくて。先生に突っ込まれるだけなんで・・・。
今まではGPC-4301がないとBPA-0515が動かないという認識でしたが、最近になってGPC-4301もBPAと同じ機能があることに気付きまして、それならどっちかだけで十分なんじゃないかと。どなたか詳しい方がいたら確認をしたいというしだいです。
皆様の意見をもとに考えると、どうやらBPA-0515だけで十分そうですね。研究発表ではBPA-0515の名前だけ出そうと思います。
このフォーラムを利用したのは今回で2回目となりますが、毎回迅速に回答を返してもらったり相談相手になっていただけて、とても助けになっています。本当にありがとうございます。またお気づきの点があれば引き続きご協力お願いします。
-
-
こんにちは、
既に回答済みのマークが付いているようですが、、、以前にも同様の質問があったと思いますが、
その時の確認では、 GPC-4301が必須で、 BPA-0515がオプションでは無いかとの認識でした。正確には、メーカに確認するのがスジで、或いは仲澤さんの書かれたように、外してテストが簡単かと。
BPA-0515 は、GPC-4301を内部で呼び出していると推測しています。以前、類似のものを使った事はあるのですが、2年以上前で、記憶のみとなります。Webサイトは、途中から、会員登録が必要なので、見ていませんが。
(昔、登録したような気もするのですが、、、覚えてません)
また、GPC-4301には、サポート対象として、64bit/32bitの区別がありますが、BPA-0515には、ありませんね。とすると、ドライバが含まれていないと考えるべきではないかと思います。> ヘルプファイルというのはどちらのことでしょうか?ダウンロードしたときのフォルダに一緒に入っているのでしょうか?
ハードウェアと同梱で、この手の資料が入っていると思ったのですが、ありませんか?
以前、作業した時は、紙は CDか忘れましたが、、、、CDのデータを印刷したような気がしますが、、、見ながら、作業した記憶があります。あと、以前にも書きましたが、BPA-0515は、VB6のモジュール呼出しを行っている気配がありますが、そちらはクリアされたでしょうか?
余計なお世話かと思いますが。
-
外池です。
「研究について」と「研究に使う道具について」は、かなり明確に区別すべきと思います。
「道具が性能を発揮していることをちゃんと確認している」その上で「道具を使いこなせている」なら、実は、その道具はブラックボックスであって良いはずです。
そういう意味で、とにかく早くGP-IB通信をしながらの実験が実現できることをお祈りしています。そのためにこのフォーラムが役に立つならそれは結構なことかと。逆に、このフォーラムは「最短距離の解決」を目指すために効率的に活用されてよいと思います。あまり微に入り細に入りで時間をとられないように・・・。GP-IB通信はとにかくケリをつけて、「いいデータが採れる」プログラミングの方に時間を割くべきです。
過去の小生の経験では、実験現場に臨んでなお通信制御・取得データリアルタイム解析の自作ソフトのGUIを修正し続けていたら、ベテラン研究員に怒鳴られたことがあります。「既に動くとわかっているモノを、もうイジるな」と。GUIが少々まずくても採れているデータが良ければOK。GUIが死んで実験・測定が止まる方が困る、というわけです。
- 編集済み 外池 2014年12月21日 11:18
-
外池さん、
> 「研究について」と「研究に使う道具について」は、かなり明確に区別すべきと思います。
たしかにそうですね。でも学生の研究だと、その過程も重視される事も多いのではないかと思います。
特に高専とか、学部生の研究だと、その成果より、どう実現したかが重視ではないでしょうか。
自分の?十年前も恥ずかしながら、、、で、当時は頑張ったと思うのですが、思い返すと疑問符一杯。> GUIが死んで実験・測定が止まる方が困る、というわけです。
実務の現場では正しい言葉です。ただ、不確かなツールで得られた結果に信憑性があるかも大切で、その辺が重視される場合もあるかと思います。
また、古いツールを使い続けてサポート切れの機材(PC etc.)でしか動かないのも問題かなと思います。死にそうな機材のメンテで時間が取られた、なんてのもあちこちに転がっている話です。 (少々、心当たりもあるもので)完全に余談ですが。
-
外池です。
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の機能の一部のように見えてしまうところまで面倒を見てくれているので、非常に楽でした。