コマンドとは |
コマンド / メッセージ |
通信機器と受信・送信されるデータをメッセージといいます。メッセージは以下の図のように分類されます。
|
|
|
|
|
|
|
|
コマンド・プログラム・メッセージ、およびクエリ・プログラム・メッセージを総称してコマンドと呼びます。
(コマンドは、HIOKI固有のSCPI言語です)
コマンド・シンタックス |
コマンドは大文字・小文字・その混合のいずれの場合も受け付けます。
コマンド名は、実行しようとする機能にできるだけ近いものが選ばれており、そのほとんどは短縮可能です。
コマンド名そのものを「ロングフォーム」といい、短縮したものを「ショートフォーム」といいます。
本取扱説明では、ショートフォームの部分を大文字で、小文字まで含めた部分をロングフォームとして記述しています。
本体からの応答メッセージは、大文字のロングフォームで返されます。
【例】
本取扱説明の表記 |
ショートフォーム |
ロングフォーム |
DISPlay |
DISP |
DISPLAY |
DiSpLayのように大文字と小文字が混ざっていても受け付けますが、DISPLA 、DISPL 、DIS はエラーとなります。
コマンド・プログラム・ヘッダ |
ヘッダは、そのコマンドがどんな機能を持つかを示します。
コマンドは必ずヘッダが必要で、「単純コマンド型」、
「複合コマンド型」、および「共通コマンド型」の3種類の形式があります。
コマンドの種類 |
説明 |
単純コマンド型 |
![]() |
複合コマンド型 |
![]() |
共通コマンド型 |
*RST |
クエリ・プログラム・ヘッダ |
機器のコマンドに対する動作結果や設定を問合せるために使用し、プログラム・ヘッダの後に「?」をつけるとクエリとして認識されます。
コマンドの種類 |
説明 |
単純コマンド型 |
![]() |
複合コマンド型 |
![]() |
共通コマンド型 |
*IDN? |
応答メッセージ |
クエリに対する応答メッセージは、プログラムメッセージと同様にヘッダ部とデータ部からなり、原則としてそのクエリに対応するプログラムメッセージのフォーマットと同様のフォーマットで出力します。なお、ヘッダ部をなくすこともできます。
【例】
|
|
|
|
|
|
(1) メッセージターミネータ
メッセージターミネータとは、1 回のメッセージ転送の区切りを意味します。
ただしターミネータ自身はメッセージに含まれません。
本体 / 通信 |
ANSI文字コード |
意味 |
英語名称 |
デリミタの設定 |
LF |
0Ah |
改行 |
Line Feed |
デリミタを LF に設定します |
CR+LF |
0Dh 0Ah |
|
|
デリミタを CR+LF に設定します |
(2) メッセージ単位セパレータ
セミコロン「;」はメッセージ単位セパレータとして使用され、1行に複数のメッセージを記述する場合に使用します。
(3) ヘッダ・セパレータ
ヘッダとデータを持つメッセージにおいて、ヘッダとデータを分離するもの(ヘッダ・セパレータ)として、スペース「 」を使用します。
スペース「 」は実際のプログラムは表示しません。
(4) データ・セパレータ
カンマ「,」は、複数のデータ間を区切るもの(データ・セパレータ)として使用します。
コマンド・ツリー |
複数の複合コマンド型のメッセージを記述する場合、セミコロン(メッセージ単位セパレータ)「;」の次のヘッダにコロン「:」がないときは、
原則としてヘッダが直前メッセージの最後のコロンより前のヘッダに引き続いているものとみなします。
これは、UNIXや MS-DOS のディレクトリ構造におけるカレントディレクトリの概念に相当し、この直前のヘッダを
カレント・パスと呼ぶことにします。
【例1】
データ形式 |
コマンドのデータは、文字データ、10進数値データ、および文字列データを使用します。
■文字データ
(1) 先頭文字は、必ず英文字とします。
(2) 先頭以外の文字は、英文字、数字、およびアンダースコア「_」だけを含みます。
(3) 英文字は、送信側は大文字だけですが、受信側は大文字、小文字の両方を許容します。
【例】
:HEADER ON
■10進数値データ
(1) 10進数の数値データ表現は、次に示す NR形式を使用します。
(2) NR 形式は、NR1、NR2、およびNR3の3種類で、これら 3種類を全て含む形式をNRf形式と呼びます。
NRf 形式 |
意味 |
例 |
NR1 |
整数 |
+15,-20, 25 |
NR2 |
固定小数点 |
+1.23,-4.57, 7.89 |
NR3 |
浮動小数点 |
+10.0E-3,-2.3E+3, 5E3 |
(3) NR 形式は、符号つき数値、符号なし数値の両方を受け付けます。符号のない数値は、正の数と判断します。
(4) 数値の精度が本器の取扱い範囲を越えた場合は、四捨五入を行います。
(5) 本器で数値データを受信する場合、NRf形式で受け付けますが、送信は NR1〜NR3 のいずれかを、コマンドに応じて送信します。
【例1】NR1形式
■文字列データ
(1) 文字列データは、前後をクォーテーション・マークで囲みます。
(2) 8ビット ASCII 文字からなるデータです。
(3) 本体で扱えない文字は、スペースに置き換わります。
(4) クォーテーション・マークとして、送信側はダブル・クォート「"」だけですが、受信側はダブル・クォートとシングル・クォート「'」の両方を受け付けます。
【例】
:COMMent:TITLe:COMMent 'HIOKI'
:COMMent:TITLe:COMMent "HIOKI"