GP-IBケーブルで機器をつないで、
VisualBasicで、機器の制御(データの管理)を行なうプログラムを作成しようと思っています。
そこででてきた言葉・GP-IBインターフェース。

初心者なので良くわからないのですが、
検索すると見かける”インターフェース”というのは、具体的には何を行なう為のものなのでしょうか?
これが無くても、上記のようなプログラムを作成し、機器を制御することは可能でしょうか。

出来れば、市販の製品などを極力避けて、且つエコノミーに作りたいので、
必要とあらば、あらゆる部品を手作りする気もあるのですが。
このインターフェースって・・・手作りで出来るのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (5件)

まず、インターフェースですが、「顔と顔の対面」といった感じで「コミュニケーション」に近い意味で使われます。

更に「コミュニケーション」を行なう際の規約・約束事(ルール)と言う意味でも使われ、何かと何かをつなぐためには、必ずインターフェースを取り決め、これを守る必要があります。

次に「GP-IB」は計測器の老舗ヒューレット・パッカード社(HPと略記)が多種類の計測器とコンピュータとをつなぐために開発したインターフェースです。
今では世界標準となっています。GP-IBとは汎用目的のインターフェースバスと言う意味です。

自作してでもと言う意気込みは立派ですが、できるだけ市販のものを組み合わせて利用するほうが得策でしょう。

参考URL:http://www.mogami-wire.co.jp/company/products/gp …
    • good
    • 0

インターフェイスには、USB、IEEE1394、SCSI,ATA,パラレル,シリアル(RS-232C)等がありますと言えば,


少しは感じがわかりますか。


>出来れば、市販の製品などを極力避けて、且つエコノミーに作りたいので、
>必要とあらば、あらゆる部品を手作りする気もあるのですが。
>このインターフェースって・・・手作りで出来るのでしょうか?

技術のある人なら可能でしょうが、初心者と名乗る人にはまず無理と思います。
また、ハードウェアができても、Windows用のデバイスドライバを書いて,
VBで使えるようにActiveXなりなんなりでプログラムを組む必要があるでしょうし。

シリアル通信程度ならまだ歯が立つかも知れませんが、
例えれば,USBインターフェイスボードを作成して、
ドライバ類を全部自分で作る程度の手間と考えていいと思います。
    • good
    • 0

パソコンにはGP-IB用のポートがありませんので、別途 GP-IB用の拡張ボードが必要になります。

製品の中に Windows用のドライバがあるものを選ぶとプログラミングが楽になります。VBでしたら、それ用の OCXなんかもあると楽でしょうね。

シリアル(RS-232C)を GP-IBに変換するようなものを作れば自作もできるかもしれませんが、ハードウェアソフトウェアともにGP-IBのすべての知識が必要になるのではないでしょうか。ハードルは高いと思います。

インターフェースと言っても広い範囲で使われますが、この場合のインターフェースとは、パソコンと機器を繋ぐ物理的な仕組みを指す場合と、機器を制御するためのソフトウェア的なやりとり(プロトコル)を指す場合とがあると思います。
    • good
    • 0

GP-IBインターフェースを持つ機器とPCを接続するには、GP-IBインターフェースカードが必要です。


LANインターフェースというと、LANのボードとケーブルが必要ですよね。それと同じです。

国内では下記で作ってます。(私が使ったことがある)
コンテック:http://www.contec.co.jp
インターフェース:http://www.interface.co.jp
ナショナルインスツルメンツ:http://digital.ni.com/worldwide/japan.nsf/main?r …

GP-IBケーブルも売っています。

次に、このボードを動かす為のドライバが必要です。これも各メーカでActiveXとかの形式で販売しているはずです。それを購入してVBから使います。

DOSの頃は私もオールアセンブラでドライバを書きましたが、今は書けません(苦笑)。GP-IB通信の仕様、コントローラの仕様、Windowsのドライバについて深くご存知で手間を惜しまないのなら別ですが、そうでないのならお勧めしません。

厄介なのはその次です。各機器の取扱説明書のGP-IBに関する部分をよく読んでアドレスやターミネータ、ポーリングなどを適切に設定してやることが必要です。この設定に合うような形でプログラム側から呼び出してやれば、動くはずです。
多分各機器の取扱説明書にはサンプルプログラムが載っていると思いますので、参考にされたらいいと思います。

接続される予定の機器が一つならそれほどでもないですが複数あれば、きちんと動く条件を見つけてやらなければなりません。ここ5年ぐらいの機器であればちゃんと動くと思いますが、昔のであれば結構通信の仕様を都合よく解釈している場合もあって、動かない場合もありますので気をつけてください。

ではがんばってください。
    • good
    • 0

インタフェースというのはコンピュータが、外部にあって直接自分のデータバスと繋がっていない装置とコミュニケーションをするための手段です。


通信ソフトを組みたいのならインタフェースの構造や規格、プロトコルを良く知っていなければなりません。(コミュニケーション手段がなければ通信ソフトを組んだ意味がありませんよね?)
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QGPIBインターフェイスの今後。

レコーダー(オシロスコープ)とPCのインターフェイスにGPIBを用いることがありますが、計測機器を使う分野では今後どのように進むのか、どなたか教えてください。
(今、レコーダのデータ処理をGPIBを使って取り込んでます。型も古くなってきたのですが、やはりインターフェイスはGPIBなので・・・。安い買い物ではないだけに慎重になってまして。)

Aベストアンサー

制御屋から見るといいかげんGP-IBもやめて欲しい所ですが、多分計測スタンダードとしてかなり先まで続くと思います。
先のことは多分誰もわからないでしょうが、5年は無くならないとおもいます。

今後LANが発達して10BASE-Tあたりが標準になれば本当のオープンネットワークとして使えると思いますが・・・
制御業界でも毎年新しい規格や通信手段が出てきては衰退してきていますが、バックボーンがなんとなくイーサネットに決まるような雰囲気があります(私個人の感想です)。

Q三菱シーケンサで時計制御(時間制御)

三菱電機のFX2Nで、メモリバックアップ電池切れ警報(M8006)を検知後、24時間以上経過すると、動作を停止するシーケンスを組みたいです。
具体的に、タイマ、時計等をどのようにすればよいのか教えてください。
電池交換を促すのが目的です。(M8006)を検知後シーケンサの電源OFF/ONいずれの場合でも成立するようにする必要があります。

Aベストアンサー

特殊データレジスタ
リアルタイムクロック
D 8013~D 8019の内容をM8006のONエッジで記憶させる

----|M8006|--------------------[PLS M0 ]

----|M0|-----------------------[TRD D0 ]時計データ読出



後は
http://wwwf2.mitsubishielectric.co.jp/melfansweb/plc_fx/index.html
FX1S/FX1N/FX2N/FX1NC/FX2NCシリーズ プログラミングマニュアル
JY992D62001 Ver. Q
364/580ページ
6-17.FNC160~FNC169 「時計演算」

のページを百回ほど暗誦出来るまで読み返して下さい



ただ、何で24時間?
日付比較だけじゃあいけないの?

QGPIB制御

計測器を購入しGPIB制御をしようとしてます。
予備知識がありません。既に出来上がった測定系を使用し測定したことがある程度です。今回は1から自力でする必要があります。メーカがGPIB用のコマンドを用意してる事を知っている程度です。

1.必要なハード
パソコン、GPIBカード、GPIBケーブル
この程度と思ってますが、これでいいですか?

2.ソフト
何を用意すればいいでしょうか?VisualBasicですか?使ったことはありません。

3.勉強方法
ここが一番問題です。GPIBは書籍を探してもなかなかありません。ホームページではなく出来ればまとまった書籍がありがたいのですが。。。何か無いでしょうか?

Aベストアンサー

参考情報として

『GP‐IBインターフェイスの使い方』
『IEEE‐488(GPIB)とその応用』―標準ディジタル・バスの使い方から設計法まで
両方とも新本は在庫無し、Amazonで中古本が出品されています、検索してください。

『Excel実験データ処理』
http://www.interface.co.jp/whatsnew/press_release/book.asp
GPIBサンプルプログラムが添付されています。
VisualBasicの知識は必要のようです。

Qモデル予測制御の簡単な使用方法、簡単な回路の制御

matlabのmodel predictive control toolbox を用いて研究を行っている者ですが・・・ 実際に簡単な回路を組んでシミュレーションを行ってみました。Mファイルは以下のようになってます。
--------Mファイル----------
A=2;
B=1;
C=1;
D=0;
sys=ss(A,B,C,D);
x0=0;

Ts=.1;

model=c2d(ss(A,B,C,D),Ts);
mpciti=mpc(model,Ts,10,1);
--------End-----------

回路図はここには載せれないみたいなので載せてませんが、上のMファイルからわかるように非常に簡単な回路です。 出力の指令値を2とし、あとはMPC Controller をモデルに繋げただけの回路となっております。
 一応制御できることはできたのですが、1ステップごとに行われている計算が全く理解できておりません。誰か分かる方がいましたら、是非詳しく教えてください。よろしくおねがいします。

matlabのmodel predictive control toolbox を用いて研究を行っている者ですが・・・ 実際に簡単な回路を組んでシミュレーションを行ってみました。Mファイルは以下のようになってます。
--------Mファイル----------
A=2;
B=1;
C=1;
D=0;
sys=ss(A,B,C,D);
x0=0;

Ts=.1;

model=c2d(ss(A,B,C,D),Ts);
mpciti=mpc(model,Ts,10,1);
--------End-----------

回路図はここには載せれないみたいなので載せてませんが、上のMファイルからわかるように非常に簡単な回路です。 出力の指令値を...続きを読む

Aベストアンサー

えーと、そのスクリプトだと、ほんとにモデルを作ってるだけなんですが、具体的にどこが分からないんでしょうかね。
やってることは、単純なよくある線形システムを作って、それを離散化した、ってだけみたいですが。

matlabの話ではなくて、制御の話自体が知りたいということであれば、「現代制御理論」とかそんな感じの教科書を読まれるといいと思います。
http://ja.wikipedia.org/wiki/%E7%B7%9A%E5%BD%A2%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E8%AB%96
http://ja.wikipedia.org/wiki/%E5%88%B6%E5%BE%A1%E7%90%86%E8%AB%96

QPC9801(MS-DOS)+GPIB => Win98+GPIB(C

PC9801(MS-DOS)+GPIB => Win98+GPIB(CEC 488)に移行しました。

NECの9801に専用GPIBボードを挿して、N88Basicで複数の機器(デジタルマルチメータ等)の自動制御を行ってました。しかし、PC9801が壊れたため、Windows98のPCとUSBのGPIB(CEC488)システムに変更しました。そうしたら、今までコントロールできていた機器の一部がコントロールできなくなりました。
具体的には、送信は出来るのですが、受信が出来ないようです。メータは「Talk」マークを点灯させたままになります。GPIB(CEC488)のユーティリティーから直接制御しても同様の結果なので、プログラムの問題ではないようです。

何かアドバイスを宜しくお願いします。

http://www.mccdaq.com/usb-data-acquisition/USB-488.aspx

Aベストアンサー

PC-9801を買い直したら? その方が早いんじゃないの?
http://www.pc-98.jp/

Q制御工学を用いないで制御する方法を教えてください

制御工学は、全く意味がなく、
顧客をだます為のものだそうです。

私は、温調とかステージ制御とかのプログラミングをし、
顧客に提供してきました。
その際PID制御など、制御工学の成果を利用してきました。

こんなのは無意味だったんですね。

では、皆さんは、制御工学を使わず、
どのように温度制御やモーター制御をしていますか?

大至急勉強しなおしたいので
宜しくお願いします。

Aベストアンサー

そもそもの前提として「制御工学」の定義がない。
提示URLを読んでも、その定義がないから話が両極端になっている。

>では、皆さんは、制御工学を使わず、
>どのように温度制御やモーター制御をしていますか?
「制御」するためには、「Aを行ったらBという結果になる」という前提があるからこそ制御ができる。
その前提を「工学」としてとらえれば「使ってる」となり、とらえなければ「使っていない」となる。

>こんなのは無意味だったんですね。
と本気で思っているのなら、その分野の業務はやめた方がいいと思う。
そこで学んだことが、全て使えなず経験の一つとしてもとらえられない「時間の無駄」と認識しているのなら。

QGPIBとRS232Cの違いについて

GPIBとRS-232Cの違い、特徴について教えて下さい。いままでは、研究室でずっとGPIBで計測、制御していたのですが、結構遅いという話を聞いたことがあるくらいで、なぜこれを使っているのかという根本的なところが全く理解できていませんでした。また、GPIBの場合にはPCに専用のボードを挿す必要がありましたが、RS-232Cの場合はどうすればよいのでしょうか。非常に基礎的な質問ですいません。よろしくお願いします。

Aベストアンサー

計測装置でGPIBが使われる理由ですが、外部装置も多種多様になり”同時に複数のマシンをコントロールする場合にはどうしてもGPIBになってしまう”ってのが、主な理由なんでしょうか?
アドレスさえ割り当ててしまえばデイジーチェーンでいけますから・・・。
当方でも両方の環境が存在しますが、RS232C-WIN PCで制御情報の監視なんぞするときがあります。
お使いの機器によりますが、当方では232C25ピン-9ピンケーブルを使用してシリアルポートに入れています。
USB-232C変換プラグなんてのも売っていたりします。
簡単な制御でしたら、参考URLを参照願います。

参考URL:http://www.mescorp.co.jp/main/products/cctwin/index.html

Qインターフェースってズバリ何なんでしょうか?

最近DirectX9をやってます。
始める→挫折→C++をもう一度勉強→また始める
という状況で、だいたいのことは分かってきたのですが、
IDirect3D9というのがいまいち分かりません。

インターフェースというのは私の中では、「関数をたくさん定義して、継承させるためのもの」という適当な認識をしているのですが、
IDirect3D9インターフェースは、インスタンス化されていますし、これを継承したクラスは使いませんし、普通にメンバ関数を扱っています。

いったい、インターフェースとは何なのでしょうか?
また、IDirect3D9インターフェースは、何故インターフェース何でしょうか?

是非ご教授ください。

Aベストアンサー

Interfaceというのは、
こういう時にこの引数でこれを呼ぶと、こうなる。
他者との間で、呼出と応答のお約束を決めたものです。
(原義は、顔の間、界面という意味です)

そして、本来的なinterfaceは必ずしも継承とは関係ありません。
(継承のないC言語であっても関数宣言などはinterfaceの一部です)

IDirect3D9に限らず、interfaceを *使う際には* インタンス化/実体化が必要です。
DirectXのようなCOMのinterfaceは、通常 *提供する側が* 継承したインスタンスを提供するので、
使う側は、GUIDを指定するだけで、その具象クラスをあまり意識していないだけです。

中身を意識せず、呼び出して使えるのがinterfaceであって、
提供する側(ここではMicrosoft)は、interfaceのルールさえ守れば、
中身の実装を自由に変えられて、影響を与えないのがinterfaceの利点です。
(実装を公開しないので、こっそり?DirectX側のバグを直したりすることが可能です)

「受付担当」インターフェイスがあったとして、
適切な同じ回答をしてくれる限り、それが「事務員」クラスの「鈴木」インスタンスでも、
「人間」クラスの「田中」インスタンスでも、
「自動応答装置」クラスの「Answer01」でも、受付にお願いした方はそれを気にしない。
受付業務を行うクラスが受付担当インターフェイスを実現し、
そのクラスのインスタンスが実際の責務を果たせばよい。
インターフェイスを解したやり取りというのはそういうことです。
# 共通のインターフェイスがないと、人間にお願いする時と自動応答装置にお願いする時には手順が変わってしまうでしょう。

Interfaceというのは、
こういう時にこの引数でこれを呼ぶと、こうなる。
他者との間で、呼出と応答のお約束を決めたものです。
(原義は、顔の間、界面という意味です)

そして、本来的なinterfaceは必ずしも継承とは関係ありません。
(継承のないC言語であっても関数宣言などはinterfaceの一部です)

IDirect3D9に限らず、interfaceを *使う際には* インタンス化/実体化が必要です。
DirectXのようなCOMのinterfaceは、通常 *提供する側が* 継承したインスタンスを提供するので、
使う側は、GUIDを指定...続きを読む

QGPIBとPCIインターフェイスについて

装置の周辺機器の制御のために装置間のインターフェイスを作成しなければなりません。
自作装置はPCI、市販装置はGPIBで制御するのですが、
PCIとGPIB自体よくわかっていません。
インターフェイス・PCI・GPIBについて、どのようなものか、またどのように考えて理解したらよいかなど、教えていただけないでしょうか?

素人なもので質問が至らないかもしれませんが、よろしくお願いいたします。

Aベストアンサー

まあ理由はわかりましたけど

>その働きや使い方の違いが分からず
インターフェースカードに添付されているマニュアルを読む
としか言いようが無いですね。

ドライバーがあってPCIカードを制御していて
ドライバーに対してコマンドを投げればレスポンスが帰ってくる
と思うけど、型番も解らないPCIカードでは、回答は「マニュアルを読む」しかないです。

自作装置に関してはまったく内容はわかりません。

GP-IBに関してはGP-IBを経由して主に計測器とGP-IBというパラレルIOで通信をするものです。
通信コマンドを出して、アンサーデータが帰ってくるものです。
カードにはGP-IBのコマンドリファレンスが添付されているはず。
たとえば
http://cp.literature.agilent.com/litweb/pdf/04396-97054.pdf

QIBのオブジェクトにXcodeからコードでアクセスするにはどうすればよ

IBのオブジェクトにXcodeからコードでアクセスするにはどうすればよいのでしょうか?

InterfaceBuilder上で配置したビューや、すでにあるウィンドウなどの、
コード上で定義されていないオブジェクトに、コードでアクセスしたいのですが、やり方がわかりません。。。

例えば、最初にXcodeで新規ファイルを作ると、InterFaceBuilderのdocウィンドウ内にwindowのアイコンがすでに作られていますよね? 
このNSWindowインスタンス(キーウィンドウ)から、ある別のインスタンスにデリゲートする際、
InterfaceBuilderでwindowアイコンから、その別のインスタンスにデリゲートの接続線を引っ張ることで実現していますが、
そうではなく、コードのみで接続できるのかどうか、ということが知りたいです。


ご存知の方、教えてもらえると助かります!

Aベストアンサー

> Xcodeのバージョンは3.2.2、OSは10.6です。

了解しました。
ただし今回は、バージョンは関係なく、じっさいのコードを見なければ、回答できない内容でした。

Interface Builderで生成するインスタンス(AppControllerのインスタンス)は、初期化メソッド「init~」で、初期化処理を行うと、うまくいかないことが、よくあります。
今回の件でいうなら、メソッド「init」が実行される時点で、まだウインドウ「myWin」が生成されていないかもしれないからです。myWinが存在しない段階で、myWinのDelegateを指定することはできません。
Interface BuilderのNib(xib)からインスタンスがすべて生成されたことが保証されてから、初期化処理をするには、NSObjectのプロトコル「NSNibAwaking Protocol」にある、メソッド「awakeFromNib」に記述します。

- (void)awakeFromNib
{
[myWin setDelegate:self];
}

としてみてください。

> Xcodeのバージョンは3.2.2、OSは10.6です。

了解しました。
ただし今回は、バージョンは関係なく、じっさいのコードを見なければ、回答できない内容でした。

Interface Builderで生成するインスタンス(AppControllerのインスタンス)は、初期化メソッド「init~」で、初期化処理を行うと、うまくいかないことが、よくあります。
今回の件でいうなら、メソッド「init」が実行される時点で、まだウインドウ「myWin」が生成されていないかもしれないからです。myWinが存在しない段階で、myWinのDelegateを指定...続きを読む


人気Q&Aランキング

おすすめ情報