GP−IB 2008.10.12
最近、ヤフオクに安価なGP−IBカードがかなりたくさん出品されています。
以前から「TR4172」の画面取り込みが出来ないかなと思っていました。思い切って1つ落札してみました。
|
今回入手したカードです。 メーカーは「CONTEC」製です。 ドライバもCD−ROMで付いてきたので取り付けインストールは すんなりと出来ました。 |
これをどうやって使うかということですが、フリーのソフトでEasyGPIBというものがあります。
http://www.activecell.jp/index.htm
このソフトをダウンロードしてきて使っています。
当方の環境は
パソコン Dell PRECISION340 Pen4 2.2GHz
OS WIN2000 SP4
Office2000
といった環境です。
Office2000の中のExcel2000のマクロ機能を使って制御しています。
TR4172をGP−IB制御するにはまず、背面にあるアドレス(GP−IB用)設定DipSWを使ってアドレスを設定します。(1に設定しました)
このアドレス設定用のDipSWですが、DipSWそのものの番号とアドレス設定用の番号は違っています。最初はこれに気がつかずずいぶんと悩みました。
取説のGP−IBの項目を読んで理解しようとしましたが最初はちんぷんかんぷんでした。
しかし、幾度となく読み返しているうちに少しずつ判るようになってきました。(年のせいで新しいことはなかなかすぐには理解できません。Hi)
いきなりですが、作ったマクロです。
当方のTR4172はOPのプロッタ出力がないので画面のハードコピー的な取り込みは出来ません。
そこでトレースデータ(1001ポイント)を読み出してエクセルのグラフを使って表示させます。
このマクロは、画面のトレースデータを読み出しエクセルのA1セルからA1001セルまで入力するものです。
Sub
getgpib()
eg.CardOpen ‘カードOPEN
eg.ActiveAddress
= 1 ‘TR4172のアドレス=1
eg.Delimiter
= eg.DELIMs.Eoi ‘デリミタはEOI
Dim i As
Integer
eg.AsciiLine
= "RDC0180040" ‘RD=任意のメモリ・データを出力させる。 AメモリのトレースデータはC018から始まる。 0040は定数
Range("A1").Activate
eg.AsciiLine
= "TO" ‘TO=トレース・メモリのデータを10進数で出力させる。
For i = 0 To
1001 ‘1001ポイントのトレースデータをA1セルから順次入力する。
ActiveCell.Value =
eg.AsciiLine
ActiveCell.Offset(1,
0).Activate
Next i
eg.CardCLose カードクローズ
End Sub
このマクロを実行すると、エクセルの指定セルにデータが収納されます。この数値データをエクセルのグラフ機能を使って表示させます。
|
マーカー信号(50MHz −20dbm)を 中心周波数 50MHz SPAN 100KHz レファレンスレベル −10dbm RBW 3KHz で表示させたものを取り込んだものです。 |
|
実際の画像です。 GP−IBで取り込むのには結構時間がかかります。 その後、グラフ表示するための操作などがあるのでデジカメで 撮影して使うのとどっちがいいのかは好みの問題のような感じ です。 |
アドバンテスト社のHPに、R3267(3264、3273、U3700シリーズ用)で使用出来る位相雑音測定用のアプリケーションがあります。
このアプリケーションを利用して位相雑音測定が出来る環境を作ろうと思いました。
このアプリケーションは、GP−IBカードにNI社製のものが必須になります。そこでこのNI社製のGP−IBカードを入手してみました。
|
最初は無謀にも「CONTEC」製のカードでやってみましたが 当然のごとくダメでした。(自己責任です。) 今回入手した、NI社製のGP−IBカードです。 |
|
DLしてきたアプリケーションの初期画面です。 GP−IBアドレスを設定して、測定する信号の周波数を設定 して「PhaseNoise Measurment」ボタンを押すと測定出来る はずです。 しかし、ボタンを押すと 非表示モジュール「ComLib内でコンパイルエラーが発生 しました」 とのメッセージが出てSTOPします。 そこで、アドバンテストのサポートセンターに問い合わせてみた ところ 「このアプリケーションは無償で提供させていただいているもの なので個々の不具合はサポート出来ません」 しかし 「最新のアプリケーションを送りますので、こちらで試してみて ください」 とのことです。 |
|
最新版の初期画面です。 変っているところは、右上の「Interface」の項目が増えています。 |
|
早速、30MHzのCAL信号を測定してみたところ 見事に測定できました。 1KHz Offset −108dbc/Hz 10KHz −119dbc/Hz 20KHz −119dbc/Hz 50KHz −117dbc/Hz 100KHz −122dbc/Hz 元は水晶発振でしょうから、当然いい値です。 |
そこで、手持ちの発信機の位相ノイズを片っ端から測ってみました。
すべて30Mhzの信号です。
|
|
|
R3267 CAL |
HP8657B |
VP8179B10 |
|
|
|
AD9952(RFTTG) |
AD9851(60MHzSG) |
|
こらからみると、AD9952がさすがに良いようです。AD9851はクロックを30MHzの6倍を使っているのでその影響だろうと思います。
しかし、最新のものにはCOM1なる項目があるのでマニュアルを読んでみると「RS232Cにも対応しました」と書いてあります。
え! うっそ〜。
それだったら、NI社製のGP−IBカードは別にいらなかった・・・・・・・
まあ、しかたないです。
こういうアプリケーションを無償で提供してくれるアドバンテストに感謝です。
おまけ
U3700シリーズ用にはスペアナの測定画面をPCに取り込めるアプリケーションもあります。
これは、R3267に対応するとは書いてないのですがダメモトで試してみましたが、コネクト自体は出来ましたが取り込みは出来ませんでした。
(すべて自己責任です。)
この度、EasyGPIBを、再び使ってSSGと電源(HP8642A・HP8657B・HP6632A・HP6633A)の4台をリモートコントロールすることにしました。
これは、作業机の上が手狭になってきて作業効率が悪くなってきたためです。
そこで上記4台を作業机の下に移動してPCから操作することにして、作業スペースを拡大しようというもくろみです。
|
作業机の下に移動したところです。 |
リモートコントロールのアプリは、EXCEL付属のVBAとEasyGPIBを使って作りました。
|
HP8657B用の制御画面です。 必要最小限の機能に絞っています。(以後同) 使い方は、GP−IBアドレスを設定して初期設定ボタンをクリックすることによって 開始となり、周波数・出力レベル・変調(AM・FM)を設定することが出来ます。 |
|
HP8642A用 基本機能は8657Bと一緒で、周波数と出力レベルのSWEEP機能が追加になっています。 |
|
電源 HP6632A・6633A用 設定出来る項目は、電圧と電流です。 出力電圧と電流は、リアルタイムで表示するようにしてあります。 |
|
SG2台と、電源2台の出力は、R3267の下のスペースにパネルを設置しました。 出力電圧と電流をPC上で確認するのは、PCが正面に無いので面倒くさくなり 目の前で確認出来るようにAVRを使って電圧と電流を表示するようにしました。 電流の検出方法には、ハイサイドとローサイドがあるのですが今回は簡単なローサイドで 検出するようにしてあります。 |
|
ついでに、HP5384A周波数カウンターの出力をロガーしてグラフ表示するものも作ってみました。 図のグラフは、Trimble Thunderboltの出力をルビジュウムLPRO−101を基準入力した HP5384Aで計測しその出力をGP−IB経由で取り込みぐらふ化したものです。 横の題目がSになっていますがゲートを10Sにしているので10倍した秒になります。 1mHふらついていますが、Thunderboltが悪いのか、LPRO−101の原因なのかはたまた 測定誤差なのか真相は藪の中です。 |
作業スペースを少し広げることが出来ました。