blochの日記

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

手持ちのデバイス

前に書いたようにCryogenic SMS電源は、USBケーブルを接続すると、Windows(XP以降)が、仮想COMを勝手にダウンロードしてくれる。実は、USBとは見かけだけで、中身は9800bpsのRS-232C(シリアル)である。
Tektronixのオシロは「デバイスドライバを探しています」が表示され、「見つかりません」が出ることもあるのだが、なぜか大丈夫、最後は「使用できます」のありがたいメッセージが出る。こちらは当然、きっちりした高速USBである。
Cryocon62のUSBは、一見簡単そうで、実は何と、仮想COMなどではなく、モノホンのUSBなのでドライバ必須である。NIのVISAのdriver wizardで確かめた。しかし、model 62は既にディスコンで、webサイトからは消去されている。とりあえず、仁木に持ってないか聞いてみた。だめならCryocon社にメールを出してみよう。
いずれも、NIのVISA interactive toolで、USB::0x0699::0x0368::C036164::INSTRみたいなリソース文字列をゲットしてプログラムに貼り付けておく。モノホンUSBの場合は特に長い文字列なので、昔のGPIBみたいに「アドレス○○番」とか書いたシールを貼るわけには行かないようだ。
あと、以下は今日のメモ。

  • とりあえず、set attribでデリミタを^Jにして、Write時には送信文字列に^Jを付ける。
  • 受信時には^Jも付いて来るので、visa32.pas(visa32.dllを管理するルーチン)側で、最後の1文字削除とした。
    • 【後記】バイナリーを読む際にはこれではダメで読んだ文字数をきっちり返す必要がある。
  • Cryogenicの電源sms120は、*IDN? と update を両方受信したときに限り、例の押しかけメッセージを出して来る。これに対してvisa制御では、押しかけメッセージの異常は今のところ見られない
  • NIのVISA interactive toolが立ち上がっていると、visa32.dllを呼ぶプログラムは全く動かない
    • NIのIO Traceとは、Delphiプログラムは共存する。デバッグの際には有効。

【後記】2014/2/7、ここに書いたように、単につないでもWindowsにシリアルポートとして認識されない場合もある。その場合は、FTDI社のドライバを自分でインストールする必要がある。