• 検索結果がありません。

● 概要図

'E' 'B' CR LF

BINARYデータ 

ASCII形式 

BINARY形式  データ長 

データサム 

フラグ  識別  ヘッダサム  1バイト 

BINARYヘッダ  (12バイト)

BINARYデータ 

BINARYフッタ  (2バイト)

● EBCRLF

データがBINARYであることを示します。

● データ長

「フラグ+識別+ヘッダサム+BINARYデータ+データサム」のバイト値です。

● ヘッダサム

「データ長+フラグ+識別」のサム値です。

● BINARYデータ

データごとの出力フォーマットについては,6.3節をご覧ください。

● データサム

「BINARYデータ」のサム値です。

Note

BINARYヘッダ部のデータ長は,BOコマンドで設定されたバイトオーダに従って出力されま す。

6.1 レスポンスの書式

1

2

3

4

5

6

7

● フラグ

ビット 名称(略称) フラグ

0 1 フラグの意味

7 BO MSB LSB バイト出力順序

6 CS 無 有 チェックサムの有無

5 − − −

4 − − −

3 − − −

2 − − −

1 − − −

0 END 中間 最終 連続データの中間/最終

・ BOフラグが「0」のとき,MSB(上位バイト)から出力されます。BOフラグが「1」のとき,

LSB(下位バイト)から出力されます。

・ CSコマンドのパラメータをチェックサム有り(パラメータ1)にすると,前ページ「●概要図」

のヘッダサムとデータサムの部分にサム値が入ります。パラメータをチェックサム無し(パラ メータ0)にすると,ヘッダサムとデータサムの部分にはゼロ(0)が入ります。サム値を計算する サンプルプログラムについては,次ページ「●サム値の計算」をご覧ください。

・ ME/MI/MOコマンドで出力されるデータの容量が大きい場合,1回の出力要求(パラメータ GET)では全データを出力しきれないときがあります。この場合はENDフラグが「0」になりま す。ENDフラグが「1」になるまで,続きのデータを出力要求(パラメータNEXT)する必要があ ります。

・ 名称とフラグ欄に「−」があるビットは未使用です。値は不定になります。

● 識別

識別 番号 BINARYデータの種類 形式 フォーマット

0 不特定ファイル ファイル(*.*) −

1 測定/演算データ データ ○

1 FIFOデータ データ ○

2 表示データファイル ファイル(*.DDS) ×

3 イベントデータファイル ファイル(*.DEV) ×

4 マニュアルサンプルデータファイル ファイル(*.DMN) ○

5 時報データファイル ファイル(*.DHR) ○

6 日報データファイル ファイル(*.DDR) ○

7 週報データファイル ファイル(*.DWR) ○

8 月報データファイル ファイル(*.DMR) ○

9 TLOGデータファイル ファイル(*.DTG) ×

10 設定データファイル ファイル(*.PNL) ×

11 表示データ データ ○

12 イベントデータ データ ○

13 画面イメージデータ ファイル(*.PNG) −

○:公開,×:非公開,−:一般形式

・ BINARYデータには,上表の種類があります。

・ BINARYデータには,データとファイルの2種類があります。

・データ

・ FDコマンドで測定/演算データを出力できます。

・ FFコマンドでFIFOデータを出力できます。

・ MIコマンドで表示データやイベントデータを出力できます。

・ データのフォーマットは公開されています。6.3節をご覧ください。

・ ファイル

・ 表示データ/イベントデータ/TLOGデータ/設定データの各ファイルは,本機器付属のス タンダードソフトウエアDXA120で扱えます。詳しくは,スタンダードソフトウエア DXA120のマニュアルIM 04L41B01-61をご覧ください。

・ フォーマットが一般形式のファイルは,市販のソフトウエアで読み込めます。

・ その他のファイルはASCIIコードで書かれています。適当なエディタソフトで読み込めま 6.1 レスポンスの書式

● サム値の計算

CSコマンドのパラメータを「1(有)」にすると,シリアル通信のときだけチェックサム 値が出力されます。TCP/IPのときに使用するサム値で,以下のアルゴリズムで求めら れます。

サム値の対象バッファ

・ ヘッダサムの場合は,「データ長+フラグ+識別」で,6バイト固定です。

・ データサムの場合は,「BINARYデータ」です。

1バイト 

0

(1) (2) (3) (4) (5) (6)

パディング 

バッファのデータ長が奇数の場合は,偶数になるように「0(ゼロ)」でパディング し,符号なし2バイト整数(unsigned short)単位で,(1)〜(6)まで加算します。この とき桁あふれしたときは,さらに「1」を加算します。最後に加算結果をビット反転 させます。

サンプルプログラム

以下のサンプルプログラムで求められ,関数の戻値に計算結果が入ります。サンプルプ ログラムで求められた計算結果と,BINARY出力されたBINARYヘッダ部のヘッダサム やBINARYフッタ部のデータサムとを比較し,値が正しいかどうかの確認ができます。

/ *

  *   サム値算出関数( 3 2 b i t C P U 用)  *

  *  引数  buff:サム値算出対象のデータの先頭ポインタ   *       l e n   : サム値算出対象のデータ長

  *   戻値      : 算出したサム値   * /

i n t c k s u m ( u n s i g n e d   c h a r   * b u f f ,   i n t   l e n ) {

u n s i g n e d   s h o r t   * p ; /*  対象バッファの次に加算すべき2バイトデータを指すポインタ

* /

u n s i g n e d   i n t       c s u m ; / *   チェックサム値  * / i n t i ;

i n t o d d ;

c s u m   =   0 ; / *   初期化  * /

o d d   =   l e n % 2 ; /*  データ数が奇数かどうかをチェック  */

l e n   > > =   1 ; / *   s h o r t 単位の個数を求める  * / p   =   ( u n s i g n e d   s h o r t   * ) b u f f ;

f o r ( i = 0 ; i < l e n ; i + + ) / *   u n s i g n e d   s h o r t 単位で加算していく  * / c s u m   + =   * p + + ;

i f ( o d d ) { / *   データ長が奇数の場合の処理  * /

u n i o n   t m p { / *   0 をパディングし,u n s i g n e d   s h o r t データに加算していく  * / u n s i g n e d   s h o r t   s ;

u n s i g n e d   c h a r c [ 2 ] ; } t m p ;

t m p . c [ 1 ]   =   0 ;

t m p . c [ 0 ]   =   * ( ( u n s i g n e d   c h a r   * ) p ) ; c s u m   + =   t m p . s ;

}

i f ( ( c s u m   =   ( c s u m   &   0 x f f f f )   +   ( ( c s u m > > 1 6 )   &   0 x f f f f ) )   >   0 x f f f f ) 6.1 レスポンスの書式

1

2

3

4

5

6

7