プログラム・メッセージは、コマンド・メッセージとクエリ・メッセージに分けることができます。
機器の設定、リセットなどの機器を制御する命令
動作結果、測定結果、または機器の設定状態を問い合わせる命令
クエリ・メッセージを受信して、構文をチェックした時点で作成します。
ヘッダの有無を"HEADer"コマンドで選択できます。
ヘッダON :FREQUENCY 1000
ヘッダOFF 1000
(現在の周波数は1kHz)
コマンド名は、実行しようとする機能にできるだけ理解しやすい言語が選ばれ、しかも短縮が可能です。
コマンド名そのものをロングフォーム、短縮したものをショートフォームといいます。
本書では、ショートフォームの部分を大文字で、残りの部分を小文字で記述しますが、大文字と小文字のどちらでも受け付けます。
FREQUENCY | OK(ロングフォーム) |
FREQ | OK(ショートフォーム) |
FREQu | エラー |
FRE | エラー |
本体からの応答メッセージは、すべて大文字のロングフォームで返されます。
ヘッダは、何を制御するかを表します。プログラム・メッセージには、必ずヘッダが必要です。
単純コマンド型、複合コマンド型、共通コマンド型の3種類があります。
機器のコマンドに対する動作確認、測定結果、または現在の機器の設定状態を問い合わせるために使用します。
下の例のように、プログラム・ヘッダの後にクエスチョンマーク"?"を付けるとクエリとして認識されます。
:FREQuency?
メッセージ・ターミネータは、コマンドの終了を表します。
本器は、メッセージ・ターミネータとして次のものを受け付けます。
IM7580シリーズでは、メッセージ・ターミネータ、または、メッセージ単体セパレータをを確認してからメッセージを解析します。
また、応答メッセージのターミネータとして、インターフェースの設定によって次のものが選択できます。
複合メッセージを実行するときに使用します。
複合メッセージは、それぞれセミコロン";"でつなげることで、1行で記述することができます。
メッセージを続けて記述した場合、文中でコマンドエラーが起こると、それ以降からターミネータまでのメッセージは実行されません。
(例):RAN:AUTO ON;:BEEPer:KEY ON;*IDN?を実行すると、:RAN:AUTOがコマンドエラーなので、それ以降のBEEPer:KEY ON;*IDN?は実行されません。
ヘッダとデータを持つメッセージは、スペース(空白)を使用することで、ヘッダ部とデータ部に分離します。
複数のデータを持つメッセージは、データ間をコンマ","で分離します。
命令の内容を表します。
本器では、データ部に"文字データ"と"10進数値データ"を使用し、コマンドにより使い分けます。
必ず英文字で始まり、英文字と数字で構成されるデータです。文字データは、大文字と小文字の両方で受け付けますが、 本器からの応答メッセージは必ず大文字で返します。
:TRIGger INTernal
数値データのフォーマットには、NR1、NR2、NR3形式があります。
それぞれ符号付き数値、符号なし数値の両方を受け付けます。
符号なし数値の場合、正の数値として扱います。
また、数値の精度が本器の取扱範囲を超える場合、四捨五入します。
NR1 | 整数データ(例:+12, -23, 34) |
NR2 | 小数データ(例:+1.23, -23.45, 3.456) |
NR3 | 浮動小数点指数表示データ(例:+1.0E-2, -2.3E+4) |
以上の3種類の形式をすべて含む形式を"NRf形式"と呼びます。
本器では、NRf形式で受け付けます。
応答データに関しては、コマンドごとにフォーマットを指定しており、その形式で送信します。
:FREQuency 1000000
:LEVel:POWer 1.0
データを持つコマンドは、極力指定されたデータ形式で入力してください。
複合コマンドの中で、先頭の部分が共通であるもの(例:BEEPer:KEYと:BEEPer:JUDGmentなど)は、これらを続けて記述する場合に限り、コマンドの共通部分(例 :BEEPer:)を省略することができます。
この共通部分は"カレント・パス"と呼ばれ、これがクリアされるまではそれ以降のコマンドは、『カレント・パスを省略したもの』と判断して解析を行ないます。
カレント・パスの使用方法を以下の例に示します。
カレント・パスは、電源投入、インターフェースの種類の変更、デバイスクリア(GP-IBのみ)、コマンドの先頭のコロン":"、およびメッセージ・ターミネータの検出でクリアします。
共通コマンド型のメッセージは、カレント・パスに関係なく実行可能です。また、カレント・パスに影響を与えません。
単純および複合コマンド型ヘッダの先頭にコロン":"を付ける必要はありません。ただし、省略形との混乱と誤動作を防ぐために、弊社では、コマンドの先頭に":"を付けることを推奨しています。