検索された製品ページを表示しています その他の検索結果:

 

お問い合わせ窓口

測定器を制御する測定器コマンド(共通コマンド、SCPIコマンド)

> 自動計測Webトップページに戻る

測定器に対して、「一定の動作をさせる」文字列をコマンドと呼びます。一定の動作をさせるコマンドを複数組わせて送る事で、測定器を特定の状態にする、測定器に測定をさせる、測定値を取得するなどのリモート制御が実現できます。例えば、以下のように上から順番に複数のコマンドを送る事で、測定の制御を行います。

オシロスコープの制御例
コマンド コメント

*RST   
:TIM:SCAL 500us   
:CHAN1:DISP ON   
:CHAN1:SCAL 0.5V   
:TRIG:SOUR CHAN1   
:TRIG:SWE NORM   
:TRIG:MODE EDGE   
:TRIG:LEV 0   
:DIGITIZE   
:MEAS:VTOP? CHAN1   
読み取り
:MEAS:VBAS? CHAN1   
読み取り

リセット
時間軸スケールを500usecに設定
チャンネル1の表示をオン
チャンネル1のスケールを0.5Vに設定
トリガソースをチャンネル1に設定
トリガモードをノーマルに設定
トリガをエッジトリガに設定
トリガレベルを0Vに設定
トリガ
Vtopを測定し、値を返す
読み取り
Vbaseを測定し、値を返す
読み取り

「チャンネル表示をオン」などのように、フロントパネルでのボタン操作が、その意味を持つコマンドに置き換わっている事がわかります。このように、フロントパネルで順番にボタンを押して操作している事と、同じ意味を持つコマンドを順番に送る事で、測定器の制御を行っていきます。コマンドは、各測定器のユーザーズガイド(User’s Guide)や、プログラマーズガイド(Programmer’s Guide)に掲載されています。

 

ここからは、コマンドに関して、説明していきます。コマンドは、特に、GPIBの仕様であるIEEE488.2にて定められているコマンドに、共通コマンドと、SCPI(スキッピ)コマンドがあります。 

■ 共通コマンド

IEEE-488.2では、リセット、セルフテスト、ステータス・オペレーションなど、基本機能を実行するコマンドの互換性を持たせるために、共通コマンドを定義しました。そのため、共通コマンドは、どのメーカーの、どの測定器でも、同じ文字列、同じ意味を持ちますので、Keysight社の測定器でも、他メーカーの測定器でも、IEEE488.2準拠の測定器であれば、お使いになることができます。

共通コマンドは、常にアスタリスク(* )で始まり、3文字で構成され、パラメーターを1つ以上含めることができます。例えば、先の「*IDN?」や、測定器をリセット状態にする「*RST」なども、アスタリスクから始まり、3文字で終わります。また、「*ESE 32」など、3文字目の後に空白スペースで区切ったパラメーターを付ける事もできます。

下記の表は、よく測定器制御に用いられる共通コマンドの一部です。

よく用いられる共通コマンド
コマンド 解説
*IDN? 測定器のIDを取得するコマンド。測定器は、以下のようなフォーマットの文字列で情報を返します。
<製造業者>,<モデル番号>,<シリアル番号>,<ファームウェアのリビジョン>
*RST

測定器をリセットするコマンド。リセットには以下の動作が含まれます。

  • 機器を決められた状態にセットする(決められた状態に関しては、各測定器のマニュアルをご参照ください)
  • 実行待ち動作の中止
  • 前に受け取った*OPC、*OPC?コマンドのクリア
*TST? 測定器に対して内部セルフテストを実行させ、テスト結果を返すコマンド。正常時には「0」が返り、異常時には、エラーコードが返ります。
*OPC 動作完了コマンド。実行待ちの動作がすべて終了したら、スタンダード・イベント・ステータスレジスタのビット0をセットします。そのため、動作完了を確認するには、スタンダード・イベント・ステータスレジスタのビットを確認する必要があります。
*OPC? 動作完了クエリ・コマンド。実行待ちの動作がすべて終了したら、「1」を返します。用い方の例としては、測定器の設定コマンドを一連送った後、*OPC?を送れば、測定器の設定が終了した場合に、「1」が返りますので、これを見て、次の測定へ移ります。実行待ち動作に時間が掛かる事が予想される場合には、*OPC?のタイムアウト設定を長めに設定しておきます。
*CLS ステータスクリア。ステータスレジスタをクリアします。ステータスレジスタを用いる場合、事前にレジスタ内のビットをクリアするのに用います。
*STB? ステータスバイトを読み取るコマンド。
*TRG     トリガコマンド。

■ SCPI(スキッピ)コマンドの歴史

SCPIとは、Standard Commands for Programmable Instrumentsの略で、”スキッピ”と読みます。このSCPIコマンドが定められる前は、「F1R2T1」(意味:DC電圧ファンクション、1Vレンジに切替え、読取りをトリガする)のような動作とは意味のないコマンド(文字列)が採用されていました。しかし、コマンドを読んでも、何をしているか理解できない事や、測定器メーカーによって文字列の解釈方法が異なるために、明確さや互換性を高める事を目的に、電子計測器メーカーが集まり、共通の測定器制御方式の一つとして、SCPIコマンドが策定されました。

現在、弊社の測定器のほとんどは、SCPIコマンドを採用しており、他社でもSCPIコマンドをサポートする測定器が増えています。


          図  Infiniiumオシロスコープ SCPIコマンドの例
 

■ SCPI(スキッピ)コマンドの特徴

SCPIコマンドは、意味の分かりやすい文字列になっています。例えば、「:TIMebase:SCALe 0.1」は、オシロスコープの時間軸レンジを、100msecにするというものです。見ただけで、どのような命令の内容か判断する事ができます。

また、大きな特徴は、階層構造(ツリー構造)となっていることです。階層構造を取り、上位(ルート)キーワードと下位のキーワードから構成することで、コマンドの予測性を高めています。例えば、周波数を測定するコマンドは、「:MEASure:FREQuency?」、振幅を測定するコマンドは、「:MEASure:VPP?」となります。測定を司るコマンドは、どれもルートは同じ:MEASureとなり、「:」(セミコロン)を付けて、下位キーワードとして、周波数測定、振幅測定を表します。これにより、“測定”コマンドを探す場合には、ルートが、:MEASureから始まるものを探せば、良いことになります。 

■ SCPI(スキッピ)コマンドの用法

SCPIコマンドには、以下の用法があります。

  • ロングフォームとショートフォーム
    SCPIコマンドには、コマンドすべてを示すロングフォームと、小文字で記述されている文字を省いたショートフォームの2つの記述形式があります。例えば、「:TIMebase:SCALe 0.1」を、ロングフォームで送る場合には「:TIMebase:SCALe 0.1」のまま、ショートフォームで送る場合には、「:TIM:SCAL 0.1」となります。「:TIMe:SCALe 0.1」のような小文字の一部だけを省略したコマンドは、測定器にてエラーとなりますので、ご注意ください。
  • 小文字と大文字の区別
    測定器内部のSCPIパーサーでは、大文字、小文字を区別しません。そのため、「:TIMebase:SCALe 0.1」でも、「:TIMEBASE:SCALE 0.1」でも、測定器は受け取る事ができます。注意すべきは、数値パラメーターに、工学単位のサフィックス(例:M、k、m、u)を付けた場合です。文字「M」、「m」については混乱が生じます。便宜上、機器は「mV」(または「MV」)をミリボルトと解釈しますが、「MHZ」(または「mhz」)をメガヘルツと解釈します。
  • コマンド区切り文字
    コロン (:) を使用して、コマンド・キーワードを下位のキーワードと区切ります。コマンド・キーワードとパラメーターを区切るには空白スペースを挿入する必要があります。2つ以上のパラメーターが必要なコマンドの場合は、以下のようにカンマを使用して隣接するパラメーターと区切る必要があります。
  • パラメーター
    「:TIMebase:SCALe 0.1」のように、コマンドと、パラメーター(0.1)の間には、半角スペースを入れて、区切ります。
  • パラメーターの設定の問合せ
    ほとんどのパラメーターは、コマンドに疑問符(?)を追加することによって、現在の値を問い合わせることができます。例えば、「:TIMebase:SCALe 0.1」は、オシロスコープの時間軸レンジを、100msecにします。
    次に、コマンドに、疑問符を追加した「:TIMebase:SCALe?」 を送る事で、時間レンジを問い合わせする事ができます。
    また、「:TIMebase:SCALe? MAX」、「:TIMebase:SCALe? MIN」のようにすれば、許可されている最小カウントまたは最大カウントを問い合わせることもできます。

■ プログラマーズガイドの読み方

測定器のコマンドは、製品に付属されている取扱い説明書に記載されていることが一般的です。弊社では、多くの測定器では、コマンドは、操作を説明するユーザーズガイドとは、別冊のプログラマーズガイドに収められている事が一般的です。ただ、コマンドが、あまり多くない測定器の場合には、ユーザーズガイドに記載されている場合もあります。
コマンドが多い測定器(=制御できる動作が多い測定器)のプログラマーズガイドは、1000ページを超えるものがあります。これは、その測定器で実現できる事が非常に多いからです。しかし、実際には、良く使うコマンドは、その中でも、一握りです。

一握りのコマンドを把握する方法は、サンプルプログラムのコマンドを追ってみる事です。サンプルプログラムは、その測定器の基本的な動作を網羅した物が多く、そのため、その測定器で、中心となる良く使うコマンドが用いられています。それらのコマンドを、プログラマーズガイドで調べ、パラメーターを把握する事で、基本的な制御ができるようになります。

次に、その上を目指すには、SCPIコマンドのルートを把握します。ルートは、測定、設定などのカテゴリからできており、把握しやすいです。ルートを把握する事で、制御コマンドのあたりが付きやすくなります。

なお、弊社では、ユーザーズガイド(User’s Guide)や、プログラマーズガイド(Programmer’s Guide)は、Webサイトにて公開させて頂いております。

 

> 自動計測Webトップページに戻る