イベントファイル( .evt形式)の構造
【注】
・struct K2_HEADERのフォーマットは、将来、機能追加のためのバージョンアップにより、変更されることがありますので、
あらかじめご了承ください。
C言語で、K2_HEADERの中の情報を参照するプログラムを作成する場合には、kwhdrs.hで定義された構造体の利用
を推奨いたします。
・表中の型、および変数は、ファイルフォーマットを定義したC言語用のヘッダファイル、kwhdrs.hの構造体宣言の中で
使用されているものです。
・表に示される型は、すべてモトローラオーダ、すなわちビッグエンディアンです。
・型のサイズは、char=1byte, short=2bytes,
int=2bytes, long=4bytes, floaat=4bytesです。
項目 |
型 |
バイト |
説明 |
struct KFF_TAG |
16 |
KFF_TAGのlengthが、次に続くK2_HEADERのバイト数を示しています。 |
|
struct K2_HEADER |
KFF_TAGのlength |
K2ヘッダです。機器、測定条件、測定日時等の情報を含んでいます。 |
|
struct KFF_TAG |
16 |
KFF_TAGの以下の変数に、次に続くフレームヘッダ、およびデータ部のサイズが示されています。 |
|
struct FRAME_HEADER |
KFF_TAGのlength |
フレームヘッダ |
|
符号付整数 2、3、4バイト長 |
KFF_TAGのdataLength |
データ部(0.1秒分) |
|
- |
以下A、C、Dの繰り返し |
- | - |
A. KFF_TAG(16バイト)
項目 |
型 |
変数名 |
バイト数 |
バイト位置 |
説明 |
A.1 |
unsigned char |
sync |
1 |
0 |
同期キャラクタ'K' |
A.2 |
unsigned char |
byteOrder |
1 |
1 |
バイト順。常に1。 |
A.3 |
unsigned char |
version |
1 |
2 |
ファイルフォーマットバージョン =1 |
A.4 |
unsigned char |
instrumentType |
1 |
3 |
機器種別コード |
A.5 |
unsigned long |
type |
4 |
4 |
構造体タイプコード |
A.6 |
unsigned short |
length |
2 |
8 |
構造体サイズ(バイト) |
A.7 |
unsigned short |
dataLength |
2 |
10 |
構造体に続くデータサイズ(バイト) |
A.8 |
unsigned short |
id |
2 |
12 |
機器の製造番号 |
A.9 |
unsigned short |
checksum |
2 |
14 |
構造体とデータの16ビットチェックサム |
C. FRAME_HEADER(32バイト)
項目 |
型 |
変数 |
バイト数 |
バイト位置 |
説明 |
C.1 |
unsigned char |
frameType |
1 |
0 |
フレームタイプ (K2の場合は3 |
C.2 |
unsigned char |
instrumentCode |
1 |
1 |
測定ード |
C.3 |
unsigned short |
recorderID |
2 |
2 |
製造番号 |
C.4 |
unsigned short |
frameSize |
2 |
4 |
当該フレームのサイズ(フレームヘッダ32バイトを含む) |
C.5 |
unsigned long |
blockTime |
4 |
6 |
ブロックタイム |
C.6 |
unsigned short |
channelBitMap |
2 |
10 |
使用チャンネルビットマップ ch.1=bit0、ch.2=bit1
… |
C.7 |
unsigned short |
streamPar |
2 |
12 |
Bits 0-11 =サンプリングレート 1..4095(sps) |
C.8 |
unsigned char |
frameStatus |
1 |
14 |
Bits 0-3 =フレームシーケンス番号 0..9 |
C.9 |
unsigned char |
frameStatus2 |
1 |
15 |
Bit 0 = ADD SCAN commandが実行されていれば1 |
C.10 |
unsigned short |
msec |
2 |
16 |
時刻msec 0..999 |
C.11 |
unsigned char |
channelBitMap1 |
1 |
18 |
拡張チャンネルビットマップ ch17-24 |
C.12 |
unsigned char |
timeCode [TIMECODE_BYTES] |
13 |
19 |
タイムコード |
D. データ部
項目 | 型名 | バイト | 説明 |
D.1 | int data [nch] ........D#1 | D#1 | 最初のサンプルのデータです。 |
・・・ | int data [nch] ........D#1 | D#1 | n番目のサンプルのデータです。 |
D.X | int data [nch] ........D#1 | D#1 | 最終サンプルのデータです。 D#2 |
D#1
ただし、このintのサイズは2,3,4バイトの何れかの符号付整数です。
FRAME_HEADRのframe_Statusのbit6-7から知ることができます。
アルタスK2では通常3バイトです。
また、nchはチャンネル数で、FRAME_HEADERのchannelBitMapで、1にセットされている
ビットの数から知ることができます。
データは、小さいチャンネルから大きいチャンネルの順に並んでいます。
D#2
1フレームには0.1秒分のデータが含まれます。したがって、サンプリングレートによりデータ数が
異なります。サンプリングレートが100Hzの場合、10サンプルです。