• 締切済み

GPIBの応答について

以下のプログラムでGPIBでつないだヒーターから温度を受け取りたいのですがうまくいきません。 ibdevでdctに数値が入る(正の値)ので初期化はできていると思います。ibrdでタイムアウトしています。 GPIB診断プログラムでは値が帰ってきますのでプログラムに問題があると思うのですが原因がまったくわかりません。一行ごとにストップさせましたが時間は関係ないようです。 帰ってくる値300K(27℃)のときR+3000です。 dim dtc as integer dim RD as string private sub button1_click... ibdev(0,24,0,T10s,1,0,dtc) ibclr(dtc) ibwrt(dtc,"$C3") ibwrt(dtc,"$Q2") RD=space$(20) 'これがないとタイムアウトしませんが値は帰ってきません。 ibwrt(dtc,"R2") ibrd(dtc,RD) textbox1.text=RD 以上

みんなの回答

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

> ibdevでdctに数値が入る(正の値)ので初期化はできていると思います。 初期か出来たかどうかの判断はibdevの帰り値を確認するのでは? ヘルプ、リファレンスを確認して、ibdevの帰り値が正常終了かどうか確認してください。 以降、ibclr、ibwrtも同様で、こういうケースでは「初期化出来ていないのに、出来ていると思い込んでいた。」というケースが多いです。

tanaka2030
質問者

お礼

初心者なのでよくわかりませんが値は31256が帰ってきます。 電流計と電圧計もつないでいますが電流計のみ使うときは電流計の返り値が31256となって、電流計と電圧計の両方を使うときは先に初期化したほうが31256であとのが31257になります。 電流計と電圧計は制御できます。

tanaka2030
質問者

補足

初期化できていないかもしれません。 装置の電源が入っていなくても同じ値が帰ってきました。

関連するQ&A