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

誘電体の比誘電率をN-88-basic 6.0を使って測定しているのですが、エラーがでて測定が中止されてしまいます。プログラムは30℃から160℃まで温度を順に上げて測定するものです。

エラー内容は

Temperature Over
Overflow in 3700
OK

と出ます。温度は常温のままなのに測定を開始すると出てしまいます。私自身プログラムに無頓着なため勉強中ですが中々解決できません。完全回答でなくヒント程度でも良いのでよろしくお願いします。

A 回答 (5件)

測定装置も昔のままですか?


ソフトが古いからといって、故障するはずもありませんので、原因はハードウェアの設定にあると思います。
interfaceがRS232Cなら、伝送速度の設定をN-88-basicの"OPEN"記述と同じに設定してありますか?
N-88-basicとの相性を考えて、装置の設定等を見直すことも大切です。
基本的には、N-88-basic側が前提とする環境設定を、プログラムの説明書に従って見直すことです。
    • good
    • 0

当方も5~6年程前、N88-BASIC(86)、Quick BASICで土木系プログラムを自作していました。



>Overflow in 3700

は、#4の方が書いているように、変数に代入された数値が型の範囲を超えた場合のエラーだったと記憶しています。

エラーは3700行目で起きているので、その一つ前にSTOP文を入れてプログラムを一時停止、その後、PRINT 変数名 リターンで変数の数値を表示させて見て下さい。

例:
3700 A=B*C
でエラー表示されるとして、
3695 STOP
を追加、RUNでプログラムを実行、3695行でストップするので、
PRINT B,C リターン
で変数 B,Cを表示
この場合B*CがAの型を超えていれば

1.Aの型を変更

2.B,Cが規定の想定範囲を超えている場合は、B,Cの変数を追って見ることも必要

3.B,Cに0.01等の定数を掛けて一時的にオーバーフローを回避してみる(結果表示等で再度100を掛けて補正が必要)

など手を考えられます。

まずは変数の数値を表示して原因を確認してみましょう。
一度やってみて下さい。
    • good
    • 0

懐かしいですね。



Overflowですと(1)演算結果を変数に格納する際、変数の型が許す値の範囲を超えた、(2)演算結果の型が固定されている演算において、型が許す値の範囲を演算結果が超えた、のいずれかが発生しています。

ちなみに、添え字の範囲の逸脱であればSubscript out of rangeエラーとなるはずです。
    • good
    • 0

なんとも言えませんが


>Temperature Over
直訳すると温度が越えている
つまりは高温だと言う事ですが
これはプログラム側の
プリント文によるメッセージ
ではないかと思うのですが、、。

>Overflow in 3700
これは3700行で
何らかの関数値が
値を超えた意味です。
色々なケースがあるのですが
例えば
・DIM A(7)を指定して
あってA(8)以上を指定した場合
・関数に入れる数値が以上に高い
他にもFOR~NEXT文で
カウントさせる数値を
直接扱うと出る可能性があります。

10年近く言語から離れているので
正確な答えは出せないかもしれませんが
その問題な3700行あたりを
補足で出してみた方が
いいかもしれません。
    • good
    • 0

リストの3700行の変数が想定されるものより大きい数値が入っている.たぶん160℃以上の数値.ソースがないので何とも言えませんが.



初期設定がおかしいのかな?

でも今までちゃんと動いていたとしたら・・・

3700行の変数をさかのぼっていって下さい.
    • good
    • 0

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