7. 測定器のエラーチェック

測定器のエラーチェック(以下エラーチェック)は、リモート制御アプリケーションの2番目に重要な要素です。エラーチェックの目的は、測定器との通信にエラーが生じないようにすることで、必要なすべての設定が正しく実行され、必要な設定を使用して収集された測定結果が得られるようにすることです。

機器ステータスサブシステムに含まれるエラーメッセージバッファーは、エラー待ち行列と呼ばれています。例えば、送信したSCPIコマンドが測定器に認識されなかった場合、エラー待ち行列に新しいエントリーが作成されます。エラー待ち行列の長さは有限で、通常は10個のエントリーを格納でき、古いエントリーが廃棄されて新しいエントリーのスペースが作られます。

測定同期の章で説明したステータスバイトには、ビット2 - エラーメッセージ使用可能が含まれています。エラー待ち行列が空かどうかを知るには、*STB?でビット2を問い合わせます。値が0の場合は、そのまま次の操作に進んでかまいません。0でない場合は、SCPI問い合わせSYSTem:ERRor?を使用します。測定器からは、最後に発生したエラー(例:-113,”Undefined Header”)が返されます。同時に、このエントリーがエラー待ち行列から削除されます。すべてのエントリーを読み取るには、SYSTem:ERRor?をループ内で呼び出し、未処理のエラーがないことを示す0,”No Error”が返されるまで続けます。

次のVISAトレースは、実際のエラーチェックを示します。

  • 最初のコマンド*RSTは正しく送信され、エラーは発生しません。
  • 2番目のコマンド*RSaTは綴りが間違っているので、-113, "Undefined Header"というエラーが発生します。SYST:ERR?問い合わせがループ内で送信され、応答が0,"No Error" になるまで続けられます。
RsVisaTraceToolによるエラーチェックのログ
RsVisaTraceToolによるエラーチェックのログ
ライトボックスを開く

測定器ドライバーを使用する場合、エラーチェックはすでに実装されており、すべての関数内と、すべてのプロパティ(属性)の設定後に実行されます。これにより、発生したエラーと、どのコマンドの後で発生したかがすぐにわかるので、とても便利です。最大限の速度が必要な場合、ドライバーにはこの機能をオフにする方法が用意されています(次の第8章:速度の最適化の最初のヒントを参照)。

直接SCPIコマンドを使用する場合、エラーチェックは自分で行う必要があります。エラーチェックはコマンドの論理的なブロックの後で行うことを推奨します。この場合、1つのブロックで送信するコマンドが多いほど、エラーの原因となったコマンドを特定するのが難しくなります。

前の第6章:測定同期の例を使用して、PCでの操作のみに注目してみましょう。エラーチェックの実用的な実装は、上記の章からリンクされている例に示されています。次の図では、コマンドの論理的なブロックの後でエラーチェックを行っています。

Request information

Do you have questions or need additional information? Simply fill out this form and we will get right back to you.

マーケティング・パーミッション

お問い合わせ内容が送信されました。 後ほどご連絡致します。
An error is occurred, please try it again later.