• 締切済み

RS-232C経由マルチメータを使用して自動計測でバッファがオーバフローします

現在RS232C経由でデジタルマルチメータ(KEITHLEY 2000 MULTIMETER)の自動計測をしようとしています(C#.NET)。 timerで高速制御(10msぐらいで電圧値がほしい)しようとすると、KEITHLEYのバッファがオーバーフローして困っています。timerをゆっくり(200msぐらい)にするとちゃんとデータを送ってきてくれます。 そこで、最速の時間分解能で計測するために、PCから、マルチメータのバッファの中身が0だったら、次の電圧値要求を送るというようにしたいのですが、「バッファの中身が0だったら」という命令が分かりません。 どのようにしたらよいでしょうか。また他のいいやり方はあるのでしょうか。

みんなの回答

回答No.3

ブツは知りませんが、 http://www.keithley.jp/products/localizedproducts/allmaterials/i2v/12705 で、DCシステムスピードで RS-232(ボーレート19.2k)へのアスキー転送 : 55/秒 ACシステムスピードで RS-232(ボーレート19.2k)ヘのアスキー転送 : 50/秒 とありますから、10ms周期では最初から無理なのでは?

noname#210617
noname#210617
回答No.2

timerを設定して、Triggerをかけて計測を開始し、データの要求をするまでに、10msではバッファがあふれてしまうが、200msではあふれないということは、Triggerからデータ要求までの間隔が長すぎる、か、データの桁数が多すぎるのではないでしょうか。 「バッファが空だったら」データ要求をする意味がないと思います。 また、バッファの中身を送信してから、次のバッファの中身を送信するまでの時間間隔というのはTimerの設定とは無関係のように思われますから、それらのデータを一定時間間隔での連続したものとして扱うのは誤りだと思います。 バッファに収まる範囲でのデータだけを取るものなのではないでしょうか。

  • PECSOSO
  • ベストアンサー率36% (30/83)
回答No.1

双方同じ値でボーレートを落とすってのは、だめですか?

関連するQ&A