【GP-IB】自動計測データ収集を語ろう【RS232】
研究室や実験室では、計測器の自動計測、自動データ収集が欠かせません。
レガシィと言われながらも、GP-IBやRS232で、苦戦しながらプログラムを組んでいると思います。
そんなあなたの悩み事を相談したり、教え合ったりするうスレです。
LABVIEWやExcelなどの情報も交換しましょう。 >>49
485って、スター結線できたっけ?
終端局-----+-----+-----+-----+-----+----終端局 という接続しかできないんじゃないかな? CANって、簡単に使えますかね?
入出力がRS232というかシリアルになるモジュールがあるとか。 >>52
簡単に使えると思うが? dsPICやPIC24やCortex-Mx・・・etcモジュールが入っているチップは目白押し。
1フレーム8バイトデータ単位なのででストリーミング風にするとよどみが生じるがRS232Cトランスレーターはあるのでクグッてみれ。
ID区別でのオブジェクト指向モジュールとして構築する用向きなんで、思想が難しいのか、なかなか普及していないが。
CANはロボットモジュールとか計測器向きだと思うんだがねぇ。 液クロとか・・・ ノードが50とか100とか大量にあるなら無線の方が楽。
秋月でも売ってるXbeeがオススメ。
まあ1個1700円×50個で10万円近くなるので個人購入なら死ねるがw
PCからはUARTでアクセスできるので、easy-comも使える。 お教えてください。
GP-IBのアドレスについて質問があります。
・GP-IBのアドレス
・トーカー
・リスナー
・コントローラー
・トークオンリー
・リスンオンリー
が、ごちゃごちゃになっていて、混乱しています。
以下の様に理解しています。
1. GP-IBのアドレス
・0〜31までの任意の番号を付けられる。
・ネットワーク上に、同じ番号が複数あるのは、いけない。
但し、全く同じ動作をするものであれば、複数台合っても良い。
・0〜31の番号に特別扱いは無い(0の時だけ○○になる、とかは無い)
2. トーカー、リスナー
1)トーカー GP-IBのバス線に対して、その瞬間に送信になる機器。
2)リスナー 上記と逆で、その瞬間に受信になる機器。
つまり、プロッターはデータを受信するだけなので、リスナーのように思えるけど、
「受信したデータがエラーしてました、もう一度送って下さい」とかを
送信することもあるので、トーカーにもなる。
つまり、どの機器でもリスナー、トーカーを繰り返して、通信している。
3)コントローラー GP-IBのデータをコントロールする、いわばCPUのような存在。
バス上の機器の送受信をコントロールする管制塔のような役目。
「1番さん、電圧送って〜」
「2番さん、ペンを3番に持ち変えて〜」など。バス上に1台だけ存在できる。
3. トークオンリー、リスンオンリー
これがわかりません。トークオンリーの機器でも、送信だけして、決して受信しない
ってこと、あるのでしょうか? アクノリッジを返す時はトーカーだと思うのです。
4. 1対1の通信、例えばマルチメーターとPC、PCとプリンタという場合、
「トークオンリーに設定して」みたいな事を言われますが、
アドレスを振って通信しても良いのに、なぜトークオンリーとかリスンオンリーとかの
仕組みが必要なのでしょうか?
マイコンのように、機器には全部アドレスが決まっているべきだと思うのです。
宜しくお願いします。 あけまして おめでとうございます。
本年も、自動計測データ収集を語ろう を、宜しくお願いします。 >>56
ttp://www.geocities.jp/susumu_oiso/GPIB_IF.htm とか
ttp://www.mogami-wire.co.jp/notes/gpib.html
をよく読んでみると良いです。
いろいろと勘違いがありますが、GP-IBは
・ハードウェアでハンドシェークするので送ったデータがロストすることが無い
・コントローラーがトーカーとリスナーを指定 -> トーカーがデータを出力
-> デリミタを発見したら転送シーケンス終わり
・GP-IBアドレスはコントローラーがトーカーとリスナーを指定する時にだけ
使われ、データには明示的には含まれない
・受信側がデータバスでACK返すとかあり得ないのでトークオンリーの機器は
データ送出のみ、リスンオンリーの機器はデータ受信のみで困らない
…という感じでTCP/IPとはプロトコルが全然違ってます。 今までエクセルを使ってNIのなんちゃら使って
GPIBコマンド投げてシコシコとプログラム作っていた。
部署異動してGPIB着いていない測定器しかなく
USB接続でも同じだろうと思ったら全然違うようみたいで
かなり戸惑っています。
アジレントのVISAをいれてUSB接続の測定器の
番号さえわかればエクセルから制御できそうな
気がするけど違うのかな?
NIのはVBAからの制御を見切りつけたようだし...。 うわっ!
大幅値下げ売値で40万→24万弱
これでも、アメリカの売値の倍だけど
http://www.keisokuki-land.co.jp/index.php?main_page=product_info&cPath=398&products_id=12382 >>60
AgilentのIO Library Suite入れれば、VBAからVISAをCallして制御できる。
USB測定器のVISAアドレスは、IO Library Suiteで確認できる。
IO Library Suite入れとけば、USBでもGPIBでもRS232でもLANでも、アドレス変えるだけで制御できるから便利。
あと、AgilentのIO Library Suiteを使いつつ、NIのUSB-GPIB-HSを使ってGPIB通信する場合は、
IO Library SuiteのあとにNI USB-GPIB-HSのドライバを入れると制御できる。インストール順を逆にすると動かない。(手動でvisa32.dllをNIに差し替えれば動くけど) RigolのDM3068ってマルチメータなんですけど、
Ethernet接続でAgilent VISAを使おうとすると、Openはできるのですが
コマンド送信した時点でVI_ERROR_RSRC_LOCKEDが出ます。。。
なぜかNI-VISAだと問題なさげ。
そもそもロックなんて使ってないし、全く意味不明です。
なんか回避策ってありますかね? >>63
回答ありがとうございます!
まさにやりたかった事が書いてあります。
今までNIのUSB-GPIB-HSを他のソフトで使っていた関係で
AgilentのSuiteを後にインストールしているカタチとなっていました。
開発用に新たにPCを調達する予定なので、
先にAgilent後にNIの順でやってみます。
関連で別件ですが、
Agilentのを使えば64bitのOSとエクセルから制御出来るならば、
今まで作ってきたコードを一気に置き換えて64bit対応化したいなぁ。
わざわざ32bit仕様のPCを用意しなくても済むので楽になります。
時間が出来次第、いろいろやってみます。
感謝です。 >>64
Agilent IO ExpertがVISAセッション引っつかんでロックしてるとか?
Agilent IO Expertを終了させた状態ではどうか。
あと、そのLANプロトコルはVXI-11なのかSCPI-RAW(ただのソケット)なのか >>66
VXI-11です。
Agilent IO Expertを終了させても駄目でした。
というか、IO Expert上でも計測器情報の取得方法を*IDN queryにすると
情報が取れず通信エラーになってるっぽい。
この時の動きをIO Monitorで見てみると、やっぱり*IDNを送ろうとして
VI_ERROR_RSRC_LOCKEDが発生してるみたい。 >>67
VXI-11はリソースロッキング機構が計測器側にも管理されるので、もしかするとファームウェアの問題かも。IOエキスパートでの*IDN?が、viOpen時にロック獲得待ち付きだと、計測器のバグでviClose時に解放されないケースも考えられるので。
メーカーに問い合わせるか、若しくはSCPI-RAWプロトコル(もし計測器がサポートしてるなら)に変えるか、ですね。
又はIOエキスパートでの検索を*IDN?不使用にすればVXI-11行けるかもです。
SCPI-RAWは、アプリがきちんと改行コード処理してなかったりデバイスクリアやシリアルポーリングに触れてると動かないかも知れないので注意して。 >>60
NIはVISA-COMやIVI-COMを積極的にはサポートしないけど、NI-VISAだってVISA-COMはちゃんと動くよ、VBAならVISA-CよりCOMの方が楽 >>68
残念ながらSCPI-RAWは対応してないようです。
やっぱりファームウェアのバグですかね。
個人輸入した物なので、日本の代理店には聞けないなあ。。。
ただ、イマイチわからないのがNI-VISAだとエラーにならない事です。
で、色々検索してたら、こんなサイト見つけました。
ttp://optics.eee.nottingham.ac.uk/vxi11/
LinuxでVXI11を使おうとしてるみたいなのですが、
Gotchasのところで、DM3068について”timeout valueを0にしろ。さもないとDevice Lockedを返す”と書いてあります。
状況としては似てるのですが、ViOpenのTimeout値はすでに0なんですよね。
(というかロックを使ってないので、そもそも無効なのか?) >>70
そのドキュメント読んでみたけど、DM3068に関する話は明らかにバグ回避策だな。どう考えてもファームが糞。
NIで動くのにAgilentで動かないのは、多分検索機構が働く時のAgilent Connection ExpertとNI-MAXの違いじゃないかな。
もしかすると、Connection Expertでの*IDN?検索はviOpenのAccess Modeパラメータにロックオプションを渡していて、そのままviUnlockしないままviCloseしてしまって
結果ロックカウントが(計測器側で)残留してしまうバグではないかと推測する。でNIのは最初からロックしないとか。
IO Monitor仕掛けてAgilent Connection Expertから検索かけた時のviOpenパラメータみたら何かわかるかも。 >>64
RigolのDM3068ってマルチメータは使ったことないけど、
自分も過去に他の測定器でAgi VISAだと調子悪くて、NI VISAだと動くやつに遭遇したことがある。(ケー○レーの何かだった記憶が。。。)
自分は根本対策は諦めて、NI VISAを使うことでごまかした。今のところNI-VISAで動かないのは遭ったことないな。 Agilentは箱物測定器のメーカーだから自分とこの製品が動けば良い
NIは箱物測定器のメーカーではないので幅広く動作検証する
っていう違いが如実に出てるんだろうか >>71
>>73
うーん、だとしたら測定器の電源を一回切ったり、リセットしたりすれば
測定器内部のロックは解除されて、通信できそうな気がするのですがダメそうです。
モニタした感じではConnection Expert検索時のviOpenのパラメータは、
accessMode=0 / timeout=0 で、いたって普通でした。
NI-VISAのInterractive Controlだと通信できるので、そのときのviOpenパラメータを見たら、
やっぱりaccessMode=0 / timeout=0 でした。もちろんstatus=0 で問題無しです。
どうもロックの判定方法?がAgilentとNIで違うような気がしてます。
>>72
やっぱりNI-VISAに変えるのが手っ取り早いかなあ。 Rigolの製品はもってないけど、Agilent VISAの振る舞いをWiresharkで見てみるわ
viOpenが同じなら、viWriteが発行するRPC(device_write)のLockパラメータが違うのかもしれない。 >>75 さんばかり頼ってもいられないので、私もWiresharkを使ってAgilent VISAとNI VISAの違いをみてみました。
DEVICE_WRITE Callの後の、DEVICE_WRITE Replyで
Agilent VISAの場合はDM3068からDevice Lockedが帰ってきてるのがモニタできました。
DEVICE_WRITE Call時ですが、Lock Timeoutの値が
Agilent VISA : 2000
NI VISA : 0
になってました。
VI_ATTR_TMO_VALUEの値が、Agilent VISAの方はI/O TimeoutとLock Timeout両方にセットされて、
NI-VISAの方は、I/O Timeoutだけにセットされてるっぽい。Lock Timeoutは常にゼロ。
でもって、VI_ATTR_TMO_VALUEはゼロにはできないっぽい。 >>76
私も見てみました。結果は同様ですね。
AgilentのWRITE動作は原則的にIO Timeoutと同じ値をLock Timeoutにも指定してるようです。
(Connection Expertは20秒、自前のプログラムはVISAデフォルトの2秒) 一方NIはLock Timeoutは0になってますね。
ただ、VXI-11仕様的にはFlagsにWait For Lockが含まれていない時はLock Timeoutが幾つであれ待つべきロックは無いので無視するのが正しい解釈。
ちなみにNI-VISAで2つ同時セッション開いて片方をviLockさせてやると、他方のviWriteはVISA自身が管理するロックに阻まれてRPCを発生しない模様。
Agilentではこの部分未確認。最もVXI-11のロック機構はVISAのようなカウント累積式ではないので、VISAはこの部分をデバイス側の管理に一任できず、結局GPIBのようにVISA自身の管理に頼らざるを得ないようです。
で、件のRigolの計測器ですが、もしかしてAgilent VISAでも明示的にviLockを掛けて、そのロックした主のVISAセッションからだとviWriteが動いてしまうとか、そういうオチは無いんでしょうかw >>77
色々教えていただいて有り難うございます。
かなり詳しいですね。勉強になりました。
明示的にロック掛けてみましたが、やはりオープン、ロックの獲得は出来るが、
書き込みでVI_ERROR_RSRC_LOCKEDが帰ってきます。
やっぱりメーカーに聞くか。。。
それかリーダー電子の中の人が見てたらRigolに言っといてください。。。 >>78
ロック有りでもダメですかw 単にAgilent VISAでは一切の動作確認してないのが原因なんでしょうね。
ただ奇妙なのは、LXI認証テストでの(VXI-11 Discovery項目での)推奨はAgilent VISAなんですよね。
Rigolは自社内でLXI認証テストを遂行できる資格(但しClass Cのみ)があるので、多分NI-VISAでテストしてお仕舞いだったんでしょうw
あとリーダー電子に訊きにくければ、Rigolのサポートに直接訊くのも有りですよ。中国語か英語になりますが。 >>79
Rigolは一時期、AgilentのOEMやってたみたいなんですが。
それはそれ、なんですかね。
とりあえず、Webのフォームから質問しときました。
拙い英語が通じれば、そのうち回答が来るんじゃないかな。
色々有り難うございました。 Agilent Technologies電子計測器部門分社後の新会社、Keysight Technologiesは、8/1からAgilentの子会社になり、11月ごろに完全分社化するとの事。
http://www.agilent.com/about/companyinfo/company-separation.html
8/1出荷分からは全部Keysightブランドに成るって事か 未だアジレントじゃない頃の測定器がごろごろしてるのに・・・ この調子でいくとまた10年後には、今度はマイクロウェーブ系とパワー系を分社するかね。もう定期イベントw まあそんな事いったら、ケンウッドTMIだって今はテクシオだし
でもKeysightはついこないだAgilentになったばかりだったのにね NI LabVIEWはそこそこ人気だけど、Agilent、じゃなかった、Keysight VEEとか使ってる変人さんは居るのかな Keysight VEE Pro 9、マイナー変更はされているようだけど、もう何年もVer9のままだな LabVIEWは有料バージョンアップしないと最近の製品は使えないのがちょっとなー LabVIEWは毎年バージョンアップしてるみたいだけど、毎回何か劇的に変わってるの? 元ケンウッドTMIのテクシオは、ブランド名こそ残ってるが会社自体は今は台湾企業なんだよな テクシオテクノロジーだろ?
ブランドと言うより社名の一部が残ってるだけだと思う。 確かテクシオって、カネボウ(?)による買収でケンウッドグループから離脱した時に大規模リストラやったんだっけ Texioそんなに悪くはない。
Gwはあんまり好きではないけど。 GWで設計した製品も日本ではTexioブランドになるのかな スレタイにもあるGPIBだけど、みんなまだ使ってるの?最近はGPIBがなくなってUSBとかLANになってる製品多いよね みんなの党は解散しました「みんな路頭」になったんです。
さて、「みんなまだ使ってるの?」という問いの「みんな」とは
総数を100%として何%以上の人の割合を指していると
みんなは思いますか? >>97
>USBとかLAN
ものによるのか、使い方がまずいのか、たまに通信障害を起こしてエラーを返す。
通信速度が必要なものには使ってるけど、他はGPIBでいいやという感じ。
最近のLabVIEWのベージョンでもちゃんと対応しているしね。 >>99
USBはケーブルが抜けやすいんだよな
LANも端子の爪を直ぐ折ってしまって、そのまま騙し騙しつかってると勝手に抜けるw
GPIBはケーブルは頑丈だけど、エラー訂正や再送メカニズムがないからノイズ劣悪環境だとコマンドが文字化けしたりする >>100
>ノイズ劣悪環境だとコマンドが文字化け
そうなのね。気楽なUSBに移行するかな。こちらは5m縛りがあるけど。
…と思ったら、基本設計が古いのか、うちで使ってる機器にはUSB端子がついてないや。
結局、信号受信の速度をあげるにはそれなりの金額を払ってADボードをはさむしかないのか。
ノイジーなんだろうけど、アナログ出力の方が早いってのは皮肉なもんだな。 GPIBは口金がオープンになってるからそこから拾うのよね、ノイズひどい時は口金も含めてシールドすると少し改善されるけど、GNDループにならないように注意しないと
アナログ制御は文字化けの心配ないけど、電圧コントロールとか基本機能しか操作できない場合が殆どだからなあ あとLAN経由のもあるね
GPIB-ENETとかだっけ、うまく設定すれば無線LANとも組み合わせできるし LANのTCP/IPはエラー検出とか再送メカニズムが元々備わってるからGPIBよりは信頼性は高いでしょうね 結局GPIBが通信のボトルネックになるのね。
機器によって、GPIBのみ、GPIBとUSB、GPIBとLAN、USBのみ
とかいろいろあるね。買うときどのオプション付けるか考えないと。
あ、ADボード買えば良いのかって、そうするとNIの思う壺ですな。
NI GPIB-ENET/1000ってのがでてきた。USB-GPIB2台分か。
別メーカーから出てるだろうし、そっち使えば安く上がるかな。 >>109
USBTMC前提で言うとIVI FoundationかVISAベンダーが存続する限りは新OSのドライバは供給されるよ、Windows限定だけど >>108
あまり変なメーカーのGPIBコントローラ買うと、ソフトウェアの互換性がなくて面倒になる VI書くのも手間が増えるんで、今のところケーブル以外はNIです。 そういえばGPIBケーブルなど久しく買ってないな、手元にあるのも20年以上前のだ 最近機器が増えて買うことになったけど高いね。
確かに他のケーブルはないのかと思うし、LAN、USBって魅力的。 GPIBケーブルは会社の金ならホイホイ買えるが個人だとキツイな TMCは公式のデバイスクラスだから
計測器メーカーがいちいちドライバ提供しないのよ こんなに高いのか。普段かなり乱暴に扱ってるわw
頑丈だから30年来のものがけっこう現役。 30年前、NIはIBMにGPIBアダプターをOEM供給してた
PC/XT全盛期、新型ATが出た頃 DDKのソケット周り(?)の部分がグニャッといきそうだから安いのかと思ってたけど、
何でこんなに高いんだ?
シールドがしっかりしてるとか、そんなん?
あと、エコ対応って何(笑)? >>122
製造工程が環境にやさしいとか、そのくらいしか思い浮かばん なんていうか、製造工程のエコを想像して割高なのを買うものなのかね。 グリーン購入法ってやつかな
製造工程から環境配慮した製品を率先して買いましょう、みたいな >>122
>エコ対応
ROHS対応したコネクタと半田、劣化しても環境を汚染しないケーブル辺りじゃないの? 経験上GPIBケーブルは一生持ちそうなくらい頑丈だわ、高いだけの事はある ごつすぎて取り回ししにくいったらありゃしないからなGPIBケーブルは 細くしたケーブルってのは見た事ないな
しいて言えばNIのGPIB-USBとかは細い
そう言えば昔使ってたNI GPIB-PCMCIAはカード側の接続でケーブルが接触不良起こしたわ、凄く華奢な作りで 随分まえの話だけど、日本NIは一時期古いGPIBコントローラの下取りキャンペーンやってたな
NECの29Nや三流無名メーカーのを何枚か下取りに出してATバス版やPCI版を半額で買った事があった
いまはもうそういうのやってないんだろうか 29N懐かしいな
今や骨董品なのかタダのゴミか
あるいはまだまだ現役で使ってるとか 【レガシー】三保電機、生産ライン向けに「PC―9800」エミュレーションソフト [2014/12/19]©2ch.net・
http://anago.2ch.net/test/read.cgi/bizplus/1419166067/ 叔父が経営してる工場のNC加工機はPC9801Fが現役ですよ
そんなもんです、あの業界は NEC98エミュってGPIBはどうしてるんだろう
NI-GPIBとかを前提にして29NのROMBIOSをエミュレートするのかね 昔はパラレルは高速バスの代名詞だったのに
今は低速バスに成り下がったからな
実際GPIBは遅い 高速化すると配線長誤差とかが無視できなくなって来るからな。 NIが考案したGPIBの高速版規格、GPIB-HSだっけ
全然流行らずに時代はUSBとLANへ移ったな GPIB max 1MB/s
USB Full Speed max 12Mbps
大体互角だからfull speedじゃ全然速くない
Ethernet 100Mbps, 1Gbps
USB High Speed max 480Mbps
この辺りになるとかなり速い GPIBは製造原価に響くのか、安い計測器はGPIB付いてない事が多くなった
代わりにUSBやLANになってる コネクタがなー
GPIBで制御するマクロがあるから
正直、GPIBあってほしい。 VISA使えばGPIBもLANもたいして変わらんだろ GPIBのアドレスが変わっただけで大混乱するうちの職場w N88の時代はアドレスを変数にも置かずにハードコーディングする人が殆どだったわ
PRINT@1,"F1A2"
みたく