チュートリアル > 複数のメータファンクションを使用した測定 > 測定の完了を検知する

複数のメータファンクションを設定する
トリガカウントを指定したマルチポイント測定 | 測定の完了を検知する

複数のメータファンクションを使用した測定

測定の完了を検知する

*OPC?クエリまたは*OPCコマンドを使用した測定完了の検知方法は、待機中のすべての測定が完了したかどうかを知ることはできますが、トリガを細かく設定しているときの測定アクションの途中経過の状況や、トリガ待ちを検知するには不十分です。非同期に動作するシーケンス1グループ(インピーダンス測定)とシーケンス2グループ(電圧測定と電流測定)の測定状況やトリガ待ち状況を別々に検知するにも不十分です。*OPC/*OPC?も含めて、測定作業の状況を知る方法を説明します。

*OPC?クエリは、待機中のすべての処理が完了すると、出力バッファにASCII文字の1を準備します。1が準備されるまでは、レスポンスデータを受け取れません。レスポンスデータを受け取らずに別のコマンドを送信すると、クエリを中断したと見なされます。OQAS(Operation Complete Query Active State)がリセットされて、再度*OPC?クエリを送らない限りASCII文字の1は準備されません。

*OPCコマンドは、待機中のすべての処理が完了すると、標準イベントステータスレジスタのOPCビット(ビット0)を真にします。標準イベントステータスイネーブルレジスタやサービスリクエストイネーブルレジスタを設定すれば、このイベントをサービスリクエスト(SRQ)に伝達できます。OPCビットが立つよりも前に*CLSコマンドを送信すると、*CLSによってOCAS(Operation Complete Command Active State)がリセットされて、再度*OPCコマンドを送信しない限りOPCビットはセットされません。

例えば、

INIT;*OPC;*CLS

のコマンド列を送信した場合には、最後の*CLSコマンドが*OPCを取り消してしまいます。INITされた測定アクションが*CLSによって中止されることはありません。*CLSには測定を中断する効果はありません。

MEAS:<meter_fn>?クエリとREAD[:<meter_fn>]?クエリは、測定を開始して測定データを問合せます。測定が完了したときレスポンスデータが生成されます。レスポンスデータの受信動作することで待機中処理の検知ができます。INITコマンド送信後のFETC[:<meter_fn>]?クエリも同じ効果がありますが、INITコマンドを使用したあとの完了検知は、*OPC?/*OPCまたは、次に説明するステータスレジスタを使用した検知方法を推奨します。

*WAIコマンドは、待機中のすべての処理が完了するまで、以降のすべてのコマンド処理を停止します。*WAIコマンドを送信したら、ABOR/*RST/*RCLコマンドによる測定の中断はできません。例外として、IEEE488.1 sdc/dclメッセージだけは、*WAIコマンドに割り込んで待機中の処理を中断させます。sdcとdclはGPIBとUSBでのみで使用できます。RS232Cには該当する機能はありませんが、本製品はブレーク信号を受信するとsdc/dclと同じ動作をします。

STATU:OPER:MEASレジスタは、現在測定作業が進行しているかどうかを示します。インピーダンス測定(シーケンス1グループ)が測定状態の場合には、SEQ1ビット(ビット1)が真になります。電圧・電流測定(シーケンス2グループ)が測定状態の場合には、SEQ2ビット(ビット2)が真になります。このレジスタのサマリ情報は、STAT:OPERレジスタのMEASビット(ビット4)とリンクしています。

STATU:OPER:TRIGレジスタは、シーケンスグループがトリガ待ち状態であるかどうかを示します。シーケンス1グループ(インピーダンス測定)がトリガ待ち状態(WTG状態)の場合に、レジスタのSEQ1ビット(ビット1)が真になります。シーケンス2グループ(電圧・電流測定)がWTG状態の場合に、SEQ2ビット(ビット2)が真になります。該当するシーケンスグループのトリガソースがIMMになっている場合には、WTG状態にならないので、レジスタの該当ビットも設定されません。STATU:OPER:TRIGレジスタのサマリ情報は、STAT:OPERレジスタのWaiting for TRIGgerビット(ビット5)とリンクしています。