blochの日記

自虐ネタ以外のぐちは書かないようにしましょう

2012-06-01から1ヶ月間の記事一覧

両振れメータ

マグネットのインダクタンスがかなり大きく、磁場が止まるまでに何と1分以上かかる。そういう用途なのでそれで全然困らないのだが、信号を探す際に、磁場が止まっているのか未だ動いているのかすぐに知りたいので、両振れのメータを付けることにした。 電源…

Fourier Step Sum (FSS)

磁場掃引しながらエコーをFFTした結果をずらして積算して行くことをFourier Step Sum (FSS)と呼ぶらしい。名前があるということを初めて知った。 KitagawaさんのマニュアルKAMEや、こちらのカゴメ(Y2Mo2O7)の論文に紹介されている。 測定磁場をH0=ω0/γとす…

最初だけRemote Enableが自動でONになる

SMS120CをUSB経由(兼visa経由)で制御する際、リモート制御のスイッチは手動でONにする必要がある。これがOFFのままだとPCからの制御は受け付けず、PC側のプログラムもエラーを吐く。しかし、装置の電源をONして、最初にプログラムを起動した際は、自動でリモ…

VISAにおけるGPIBコマンド

USBの際は、viReadとviWriteさえあれば十分なのだが、GPIBはそうは行かない。GPIBには、ATNラインのon/offで切り替えられる、データモードとコマンドモードがあるのだ。データモードでは、トーカーとリスナのアドレス指定をしたり、その他、$01〜$1Fのバイナ…

手持ちのデバイス

前に書いたようにCryogenic SMS電源は、USBケーブルを接続すると、Windows(XP以降)が、仮想COMを勝手にダウンロードしてくれる。実は、USBとは見かけだけで、中身は9800bpsのRS-232C(シリアル)である。 Tektronixのオシロは「デバイスドライバを探しています…

viSetAttribute

いろいろなパラメタを設定する関数viSetAttribute 引数は三つで、戻し値はstat、(vi:ViSession; attribute:Viattr; attrstate:ViAttrState):longword; stdcall; たとえば、 stat=vi_setattr(visms,VI_ATTR_TERMCHAR,$0a); のようにして使う。stat 定数VI_ATT…

SMS120に繋いで見る

C社(と言うかCryogenicね)の電源(SMS150)をPC(Win7)に繋いで見た。やったことは、 PCに、NI-VISAをインストール(500MB以上ある) NI-VISAは売り物みたいなのだけど、ログオン出来る(以前にGPIBを山ほど買った)人にはとりあえずダウンロードさせてくれるみたい…

必要な関数

どこまでやれば良いのかをはっきりさせておく必要がある。全てをUSBにするのか、GPIBと混在させるのか。もし混在させるなら、GPIBのユニバーサルコマンドとアドレストコマンドを打てて、あと、大データをブロック転送するところまでやっておく必要がある。 v…

もうちょい肉体頭脳労働

始発の新幹線で帰って来て1限を終えて朦朧としているので、三時半のミーティングまでvisaの使い方のメモを続けることにした。次の関数は、timeoutを設定するもので、VBの例では、 stat = viSetAttribute(sesn, VI_ATTR_TMO_VALUE, 5000) である。第一引数se…

viOpenの長い定義

結局、viOpenの定義は、visa32.basでの表記と並べて書くと、 Declare Function viOpen Lib "VISA32.DLL" Alias "#131" (ByVal sesn As Long, ByVal viDesc As String, ByVal mode As Long, ByVal timeout As Long, vi As Long) As Long long=viopen(値sesn:…

pcharの定義

実は、pcharは、その昔、NIのGPIB制御dllを、Delphiに移植した際に既に使ったことがあって、 type GPIB_buffer=packed array[0..200010]of char; のように型定義しておいて(どうしてこんなに大きな配列にしたかというと、オシロスコープの数万点のT1測定エコ…

typedef続き

370423a.pdfのVBの例題Example2-1のお次の関数は、 stat = viOpen(dfltRM, "GPIB0::1::INSTR", VI_NULL, VI_NULL, sesn) である。stat=ViStatus=long、dfltRM=ViSession=longwordであることは既にわかっている。 まず、最後の引数sesnは、プログラム上(v…

typedefの整理

NIのドキュメント370423a.pdfを並べながら、visatype.hを落ち着いて良く読んで見た。 まず、typedefは、typedef [定義済の型][エイリアス]のように使う。しかし、visatype.hには、typedefに3つの引数が付いて、 typedef ViSession _VI_PTR ViPSession; と…

頭脳ブルーカラー

VISA制御by Delphiメモ。dllをロードして、その中に隠されている各ルーチンのアドレスを、前もって確保して置いた同名の変数のアドレスに埋め込むのだ。埋め込むのだ!こっそり埋め込むのだ! 引数の順番を間違えないように、アドレス渡しと値渡しを間違えな…

visa32.basを探せ

ni以外のvisaには「変数定義ファイル」入っているかもしれぬ、と、tekVISAや、アジレントのIOLibSuite_16_2_15823のインストールを試みたが、niVISAがインストールされている状態では途中でコケてしまい、インストール出来ない。やれやれ、と半ばあきらめな…

visa32.dllのオープン

VISAを使うには、取りあえず、visa32.dllをオープンしないことには始まらない。以前、GPIBのドライバルーチンを書いたときには、 Gpib32Lib := LoadLibrary('GPIB-32.DLL'); でNIのDLLを読み込んだものだ。当時の自作ソースには、例えば、Gpib32Lib: THandle…

ni-visaとtek-visa

VISAを使えば何とかなる、と言っていたアジレントのセールスマンの言葉を信じてインストールしてみた。National Instrumentsのni-ivsaはここ(約500MB)、Tektronixのtek-visaはここ(約100MB)。いずれも巨大。 インストールしてオシロTDS2014をつなぐと、「デ…

tek-usb-488が壊れた?

テクトロニクスのUSBオシロスコープに繋いでGP-IBに変換する巨大なアダプタが壊れた。2A電源で5VをUSB給電してもパワーインジケータが緑点滅のまま。ファームウェアのアップデートも試したが、こちらも、アダプタインジケータが橙で点滅しっぱなしでエラー。…

高周波コンポーネント

こちらindexProで検索するといろいろ見つかる。廉価版VNAとか、PLLシンセサイザとか。

CryoconのCryo62

sensor D-SUB9: A=84-□-59, B=61-□-27 heater two-pin pluggable 0.200" terminal block RSコンポーネンツでは、ホーム > コネクタ > 汎用 > ターミナルブロック(プラグ,282807-2,2極,15-13AWG) 変更になった:ホーム > コネクタ > DINレール/端子台 > ヒ…

直交変調器を取り替えた

昔、4相直交変調器を、R&Kの筐体入りのパーツで作ったはず、と思い込んでいたのだが、見つからない。もしかして、どこか遠くに持って行って使っていた?と思ったがそんなはずはない。部屋をいくつも回ってひとつひとつ確かめたら、なんとジュニアラボで使っ…