(B)データフィールド
承認されたセンテンスのデータフィールドは、区切り記号“,”と有効文字(コード区切り記号“^”も可)がならぶ。(表6・6参照)
承認されたセンテンス以外の特有なデータフィールドは有効文字および区切り文字“,”と“^”のみから成るが、この規格には定義されていない。
データのあるデータフィールドとデータのないヌルフィールドが混在するため、センテンスのはじめから受け取った文字の総数を数えるより、区切り記号を数えることによってフィールドの位置を知ることがリスナにとっては必須である。
(a)長さの変わるフィールド
いくつかのデータフィールドは長さが一定だが、特定のデバイスの能力や要求性能によって精度の良し悪しで長さが変わること、あるいは情報を運ぶデバイスを幅広く許可できるように、データの長さが変化する場合が多い。
これは英数字あるいは数字のフィールドである。長さの変わる数値フィールドには小数点が含まれ、また、前の方にゼロが続いたり、後ろの方にゼロの列が続くこともある。
(b)データフィールドの型
データフィールドには英字、数字、英数字で、可変長のもの、固定長のもの、固定長と可変長の組み合わせたものがある。いくつかのフィールドは固定長である。許可されているフィールド型の概要を表6・6に示す。
(c)ヌルフィールド
ヌルはフィールドの長さがない、つまり送信する文字がないことで、値が信頼できない場合や無効のときに用いる。
例えば船首方位情報が有効でない場合に“000”を送信すると船首方位の値なのか、無データの意味なのか誤解してしまう。ヌルフィールドは“,,”あるいは“,*”となる。
ASCIIのヌル文字(HEX00)はヌルフィールドとして使わない。
表6・6 フィールドの型の概要
特別なフォーマットのフィールド
フィールドの型 |
記号 |
説明 |
状態 |
A |
単一文字フィールド
A=yes、データ有効、警告フラッグクリア
V=no、データ無効、警告フラッグ設定 |
緯度 |
llll.ll |
フィールドの長さは一定あるいは不定
度(2桁固定)、分(2桁固定)、分の小数点以下(桁数不定)。度と分が0であっても、桁数をそろえるために表示する。小数点と小数点以下は、高分解能を要求しなければ選択は自由である。 |
経度 |
yyyyy.yy |
フィールドの長さは一定あるいは不定
度(3桁固定)、分(2桁固定)、分の小数点以下(桁数不定)。度と分が0であっても、桁数をそろえるために表示する。小数点と小数点以下は、高分解能を要求しなければ選択は自由である。 |
時刻 |
hhmmss.ss |
フィールドの長さは一定あるいは不定
時(2桁固定)、分(2桁固定)、秒(2桁固定)、秒の小数点以下(桁数不定)。時、分、秒は0であっても、桁数をそろえるために表示する。小数点と小数点以下は、高分解能を要求しなければ選択は自由である。 |
定義されたフィールド |
|
いくつかのフィールドでは、予め定義された定数やアルファベット文字を含めることが明記されている。このようなフィールドは本規格では1文字以上の有効な文字で表される。
本規格内でフィールドの型を表示するために用いられる以下の文字は、使用が許可されている文字のリストから外れている。“A”、“a”、“c”、“hh”、“hhmmss.ss”、“llll.ll”、“x”、“yyyyy.yy” |
|
数値フィールド
フィールドの型 |
記号 |
説明 |
変数 |
x.x |
長さ一定の整数と浮動小数点数のフィールド。
前方に0が続く、あるいは後方に0が続いてもよい。
完全な分解能を要求しない場合は、小数点及びそれに続く小数の使用は任意である。
(例:73.10=73.1=073.1=73) |
固定長16進数フィールド |
hh- |
長さ一定の16進数のみ。左が上位ビット。 |
|
情報フィールド
フィールドの型 |
記号 |
説明 |
可変長テキストのフィールド |
c-c |
長さを特定しない有効文字のフィールド |
固定長のアルファベットのフィールド |
aa- |
長さ一定のアルファベット文字の列。
(大文字、小文字、記号など) |
固定長の数字フィールド |
xx- |
長さ一定の数字の列 |
固定長のテキストフィールド |
cc- |
長さ一定の有効文字の列 |
|
注意1 スペースは可変長のテキストフィールドでのみ用いられる。 |
注意2 マイナス記号(-:16進数の2D)は、数値がマイナスの場合、フィールドの先頭に置かれる。固定長のフィールドで使われる場合は、フィールドのサイズが1文字分増える。数値が正の場合は、この記号は省略される。
|
注意3 計測値を示すフィールドで使用する単位は、特別な単位が用いられる場合を除き、表6・3に掲げられている記号を用いる。 |
(C)チェックサムフィールド
チェックサムフィールドはすべてのセンテンスで使用され、最後のフィールドとして送信される。チェックサム区切り記号“*”に続く。チェックサムとはセンテンス内の全ての文字に対する8ビットEX-OR(スタートビット及びストップビットを除く。)である。センテンス内の“,”文字は含むが、“$”文字と“*”文字は除かれる。
(参考:EX-ORとはExclusive ORの略語、例えば入力として、入力信号Aと入力信号Bがあったとき、A=1又はB=1の時のみ、出力Cが1になる。それ以外のA、Bの両方が1の時等は全て0となる。)
結果の上位4ビットと下位4ビットの16進数の値を伝送のために2文字のASCII文字に変換する。上位4ビットが最初に送信される。
チェックサムフィールドの例、
$GPGLL,5057.970,N,00146.110,E,142451,A*27
$GPVTG,089.0,T,,,15.2,N,,*7F
|