プロが教える店舗&オフィスのセキュリティ対策術

以下のプログラムで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
以上

A 回答 (1件)

> ibdevでdctに数値が入る(正の値)ので初期化はできていると思います。



初期か出来たかどうかの判断はibdevの帰り値を確認するのでは?
ヘルプ、リファレンスを確認して、ibdevの帰り値が正常終了かどうか確認してください。

以降、ibclr、ibwrtも同様で、こういうケースでは「初期化出来ていないのに、出来ていると思い込んでいた。」というケースが多いです。

この回答への補足

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

補足日時:2005/04/19 12:43
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/04/18 17:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!