2014年5月8日木曜日

FETCh?, READ?, MEAS? の違い


横河GS820をEXCEL VBA で制御、数10msの高速測定が目標。GS820 ソース・メジャーユニットは、発生側と、測定側それぞれにタイミング設定ができるのでややこしい。
タイマを使ったトリガ設定から始めたが、ソースがオンになる時間が変動し、サンプリングエラーのランプが点灯する。
エラーが点灯しないようにするにはどうすべきか、いろいろやってみて、分かったような気がする。(以下、検査時間=ソースオン、ディレイ、測定、ソースオフまでの時間)

【測定時間】
  • 図にある積分時間を最小にする
  • オートゼロ機能が入ると測定時間は積分時間の倍に延びる
  • この測定時間よりトリガ周期が早いとエラー
  • オートレンジ機能は使わない
【サンプリングエラー】
  • 発生中に新たなソーストリガが発生すると、サンプリングエラー
  • 測定中に新たなメジャートリガが発生すると、サンプリングエラー
  • 検査時間の短縮の為、トリガに使用するタイマ周期を、単純に早くすると測定時間が間に合わずにエラーになる
【FETCh?】
  • 測定結果の問い合わせ
  • 実行時点の測定値を受け取るのでタイミングは任意
  • 制御プログラム側で時間管理が必要
  • 予め何らかの方法(タイマやコマンド)で測定が実行されていること
【READ?】
  • 測定結果クリア+測定結果の問い合わせ
  • 測定結果が得られるまでの時間、「ディレイ+測定時間」は固定
  • タイマトリガで使うと、その周期の間で検査時間が変動する
【MEAS?】
  • 測定結果クリア+トリガ発生+測定結果の問い合わせ
  • メジャートリガをIMMにし、MEAS->SOURの順に設定した後、MEAS?を使う
  • ソーストリガはEXT(外部トリガ):トリガ発生の*TRGコマンドを受け付ける
  • 実行時点から測定結果が得られるまでの検査時間はメジャーディレイに近づく
  • 繰り返し検査を実行してもほぼ一定(Windowsの変動有)
【タイマ】
  • ソーストリガの初期値が、タイマ1の50ms
  • CH1,CH2共通に使えることで、チャンネル間の同期がとれる
  • ディレイと混同しやすいが、コマンドとは関係なく独立して周期的に発生している
  • 例えば設定の50ms以内に二つの発生コマンドが来るとエラー
  • エラーでも動作するが波形は思った幅にはならない
  • メジャーアクション無しで、やってみるといい
【測定終了時( イミディエート)(Imm)】
ソースアクションの終了が次のソースアクションのトリガになります。最速で測定を繰り返すときなどに使用します。
の説明にもあるように、繰り返し(周期的に)測定することを前提にしているので「前回の測定の終わり」がある。説明文をわかりにくくしていることのひとつの原因。もう少し図解があれば助かる。

手作業のデータ取りのように、「ボタンを押している間計測器の表示を目視確認する」のような場合は、トリガをタイマにしてフリーで測定させて、ボタンオフのタイミングでFETCH?を使えばいい。

GS820は、レンジ切替、モード切替などコマンドによるセットアップが高速で、ゼロ発生モードに切り替えることで、出力のオンオフリレーを動作させずに使用できるのが特長のひとつ。下位機種のGS200も同時に扱ってみたが、こっちは細かく設定できなさすぎ、測定時間が1PLC以下が無い。


2017/02/26 追記 
Keysight のフォーラムから拾った情報
FETCH?、MEASure?、READ?、SENSe:DATA? の違いについて

1. ":FETCh?" command
最新の結果を返し、開始時には使用できません。
以前のデータはコマンドによって消去されません。

2. ":MEASure?" command
単一点測定を実行し、結果を返します。
開始時には使用できません。
以前のデータはコマンドによってクリアされます。

3. ":READ?" command
":INITiate"コマンドと ":FETCh:ARRay?"コマンドを実行します。 コマンドを連続して実行し、結果を返します。
開始時には使用できません。
以前のデータはコマンドによってクリアされます。

4. ":SENSe:DATA?" command
指定されたパラメータに基づいて最新の結果を返します。
それは開始時にも利用可能です。
以前のデータはコマンドによって消去されません。