• 締切済み

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

  • フレーク・デュアルディスプレイ・マルチメータのパソコンを使った自動計測

    こんにちわ、matsuhiraといいます。 今回は、フレーク・デュアルディスプレイ・マルチメータをパソコン経由で自動計測制御するためのプログラムを作成するにあたり、 何か参考になるような本や、資料、文献などがあれば教えていただきたいと思います。 (インターフェースはRS-232,IEEE-488(GP-IB)など、どんなものでもかまいません。) どうかよろしくお願いします。

  • デジタルマルチメータの自動計測プログラム…

    プログラムはc言語とjavaを少し齧った程度しかありませんので、可笑しな質問をしてすみません。 いま大学の卒業研究で、抵抗の温度特性を調べる研究をしているのですが、抵抗値の変動が激しく抵抗変化を測定できません。そこでデジタルマルチメータを”RS-232”ケーブルでPCと繋ぎ、自動計測をしたいと思うのですが、、、 どの様なプログラム言語がよいでしょうか? 卒業研究の為お金は全くありません↓↓↓ 何の言語が分からないので壱をjavaにしました。 デジタルマルチメータの仕様 ADVANTEST デジタル・マルチメータR6451 RS-232より出力されるデータです 1.エコー 2.プロンプト 3.測定データ 4.照会結果(照会コマンドの場合) 5.リコール・データ(ICメモリカード使用時)→ICメモリカードは使用していません。 http://green.advantest.co.jp/techinfo/www/product/R6451_R6452A.html おねがいします。

    • ベストアンサー
    • Java
  • Visual Basic 2005でRS-232Cを用いて機器を制御する際のエラーについて

    現在,ディジタルマルチメータをPCで制御するため,PCとディジタルマルチメータをRS-232Cケーブルで接続し,Visual Basic 2005を用いて制御しようとプログラムを作成しています. 以前は,Visual Basic 6.0で制御していたのですが,今後の為を考え,2005へ移行することにしました. そこで,VB6のプログラムと同様の設定を用いて,同じ命令をマルチメータ側に送信しようとするのですが,マルチメータ側で命令を受信した後に,マルチメータがエラーを出してしまいます. 全ての命令に対してエラーを出すのではなく,マルチメータ側から返信を伴う命令に対してのみエラーが出るようです. 環境は,PC:Windows XP (Home),マルチメータ:Agilent 34401Aです. 以下がソースの一部です. [VB6] With SerialPort .CommPort = 4 .Settings = "9600,n,8,1" .Handshaking = comNone .RThreshold = 1 .SThreshold = 1 .InputLen = 0 .PortOpen = True End With SerialPort.Output = ":SYST:REM" & vbCrLf 'マルチメータをリモートにする SerialPort.Output = "MEAS:VOLT:DC? 10V,0.003V" & vbCrLf '直流電圧を測定 [VB2005] With SerialPort .PortName = "COM4" .BaudRate = 9600 .DataBits = 8 .Parity = IO.Ports.Parity.None .Handshake = IO.Ports.Handshake.None .Open() End With SerialPort.WriteLine("SYST:REM" & vbCrLf) 'マルチメータをリモートにする(エラーは出ない) SerialPort.WriteLine("MEAS:VOLT:DC? 10V, 0.003V" & vbCrLf) '直流電圧を測定(エラーが出る) 原因などが分かれば,教えてください. よろしくお願いします.

  • 回路

    抵抗Rの両端の電圧ERとコンデンサCの両端の電圧Ecの値をデジタルマルチメータで計測する実験で、理論値と実験で得られた計測値の比較,分析を行うことってなんて書けばいいのか思いつきません。 考えてください 計測値 f[Hz]| 10 | 20 | 30 | ER[V]|0.050|0.104|0.155| Ec[V]|0.986|0.983|0.976| 理論値 f[Hz]| 10 | 20 | 30 | ER[V]|0.0627|0.124|0.185| Ec[V]|0.998|0.992|0.983|

  • バッファオーバフローについて

    Media Playerを開くとたまにオーバーフローが起きてしまうのですが、これを起きないようにするにはどうすればいいですか。

  • 理論値との比較

    RC直列回路(R=10kΩ,C=0.1[uF])に実効値1.0Vの正弦波交流電圧e(t)を加えたとき、抵抗Rの両端の電圧ERとコンデンサCの両端の電圧Ecの値をデジタルマルチメータで計測する実験で、理論値と実験で得られた計測値の比較,分析を行うことってなんて書けばいいのか思いつきません。 考えてください。誤差?の出し方がわかりません 計測値 f[Hz]|10|20|30|50|70|100|160|200|300|500|700|1000||1500|2000| ER[V]|0.050|0.104|0.155|0.252|0.340|0.454|0.623|0.699|0.816|0.908|0.938| |0.953|0.952|0.938| Ec[V]|0.986|0.983|0.976|0.951|0.921|0.865|0.748|0.677|0.532|0.359|0.269| |0.192|0.127|0.094| 理論値 f[Hz]|10|20| |30|50|70|100|160|200|300 |500|700|1000|1500|2000| ER[v]|0.0627|0.124|0.185|0.300|0.403|0.532|0.709|0.782|0.883|0.953|0.975| |0.988||0.994|0.997| Ec[V]|0.998|0.992|0.983|0.954|0.915|0.846|0.705|0.622|0.469|0.303|0.269| |0.221|0.106|0.079|

  • 計器等の精度について

    計測器の精度について、いくつかご質問です。 1)デジタルマルチメータなどのカタログで、「確度0.5%rdg+1digit」のような表記を見るのですが、これはどういう意味ですか? 2)たとえば、精度0.5%のメータ(電圧計等)を校正しようとした場合、そのメータに電圧を印加する電圧発生器は、最低でもどれくらいの精度が必要だと考えればよいですか? 3)電圧計と電流計の読みから有効電力を算出しようとした場合、それぞれの計器の精度が、0.5%だとすると、結果として算出した電力は、何%の精度と考えればよいのでしょうか? いずれも基本的なことなのですが、よくわかっていません。 宜しくお願いします。

  • 電圧の理論値の計算方法

    RC直列回路(R=10kΩ,C=0.1[uF])に実効値1.0Vの正弦波交流電圧e(t)を加える。交流電圧の周波数fを変化させ、抵抗Rの両端の電圧ERとコンデンサCの両端の電圧Ecの値をデジタルマルチメータで計測すること。という実験で 計測した抵抗器とコンデンサにかかる電圧の理論値の計算方法と値の出し方が全然わかりません。。また交流電圧の周波数が160[Hz]のときに流れる電流の理論値の求め方も教えてください おねがいします。表が分かりにくかったら教えてください f[Hz]| 10 | 20 | 30 | 50 | 70  |100  |160 |200  |300 |500 |700 | ER[V]|0.050|0.104|0.155|0.252|0.340|0.454|0.623|0.699|0.816|0.908|0.938| Ec[V]|0.986|0.983|0.976|0.951|0.921|0.865|0.748|0.677|0.532|0.359|0.269|

  • VisualBASICによるインターフェースプログラム。

    VisualBASICでRS232Cによるシリアル通信や、計測機器との通信を行う話しをちょっと目にしました。VisualBASIC自体まだまだ初歩ですが、将来的にはいろんな計測器と接続して自分の使いやすいソフトを作りたいと考えてます。(現在、シーメンスのレコーダーを使っているのですが、入力は1~5V、100Vなどの電圧入力です。)温度調節器や圧力調節器・表示器、流量などの計測器にはRS232C若しくはRS485の通信ポートがありますが、これらの計測機器との通信がVisualBASICで可能なんでしょうか?教えてくださいませんか?

  • お薦めのマルチメータ?

    自動機に取り付けるマルチメータを探しています。 適当な製品を教えてください。 1.電圧測定(5V、12V、精度0.1%以上) 2.GP-IB制御可能なこと。 3.校正が可能なこと 4.安いこと。 以上、よろしくお願いします。