社内温度監視システム用サーバインターフェイス設計書

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

改定履歴

 

日付

改定者

改定内容

2014/06/30

初版

N.Y

新規作成

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

目次

1.資料概要... 5

2.関連資料... 5

3.インターフェイス... 5

3.1      共通通信フォーマット... 5

3.1.1.概要... 5

3.1.2.ヘッダ部... 6

3.1.3.データ部... 7

3.1.4.フッタ部... 7

3.2DBへの温度データ登録... 8

3.2.1.概要... 8

3.2.2.個別ヘッダ情報... 8

3.2.3.入力データ部... 8

3.2.4.出力データ部... 9

3.3.指定日に接続されたPC名の取得... 10

3.3.1.概要... 10

3.3.2.個別ヘッダ情報... 10

3.3.3.入力データ部... 10

3.3.4.出力データ部... 11

3.4.指定日に接続されたPCの一日分の詳細データの取得... 12

3.4.1.概要... 12

3.4.2.個別ヘッダ情報... 12

3.4.3.入力データ部... 12

3.4.4.出力データ部... 13

3.5.指定PCの最新データの取得... 15

3.5.1.概要... 15

3.5.2.個別ヘッダ情報... 15

3.5.3.入力データ部... 15

3.5.4.出力データ部... 16

3.6.年情報の取得... 17

3.6.1.概要... 17

3.6.2.個別ヘッダ情報... 17

3.6.3.入力データ部... 17

3.6.4.出力データ部... 17

3.7.指定年にDBに登録されているデータの日付取得... 18

3.7.1.概要... 18

3.7.2.個別ヘッダ情報... 18

3.7.3.入力データ部... 18

3.7.4.出力データ部... 19

3.8.指定月の1ヶ月分のデータを取得... 20

3.8.1.概要... 20

3.8.2.個別ヘッダ情報... 20

3.8.3.入力データ部... 20

3.8.4.出力データ部... 21

3.9.指定日に接続されたPCの一日分のデータの取得... 22

3.9.1.概要... 22

3.9.2.個別ヘッダ情報... 22

3.9.3.入力データ部... 22

3.9.4.出力データ部... 23

3.10.最新接続リスト取得... 24

3.10.1.概要... 24

3.10.2.個別ヘッダ情報... 24

3.10.3.入力データ部... 24

3.10.4.出力データ部... 24

 


 

1.資料概要

社内温度監視システム用サーバの通信データ定義を記載する。

 

2.関連資料

社内温度監視システム要件定義書

 

3.インターフェイス

3.1   共通通信フォーマット

3.1.1.概要

各機能で利用する通信データのフォーマットは、次のようにする。

データ最大長は、0x0578(1400)バイトとする。

WindowsMTUの値を考慮し、100バイト単位で切り下げた値)

内訳は、ヘッダ部、データ部、フッタ部の3部構成にする。

ヘッダ部は、0x0000 ~ 0x002Fまでの固定長。

データ部は、0x0030 ~ 0x0573までの可変長。

例えば、データが16BYTEしかない場合は、終端は、0x003Fとなる。

フッタ部は、データ部から終端から4BYTEとする。

 

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

テキスト ボックス: ヘッダ部(0x0000 ~ 0x002F)固定長0xF

0x0000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0x0010

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0x0020

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

テキスト ボックス: データ部(0x0030 ~ 0x0573)可変長

0x0030

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0x0040

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0x0050

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

… 省略

 

0x0550

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0x0560

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0x0570

 

 

 

 

 

 

 

テキスト ボックス: フッタ部(最後から4BYTE)

 

 


 

3.1.2.ヘッダ部

 

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0000

ProcID

Re

TransactionID

DataSize

CommandID

Type

Re

Re

Re

Re

Re

Re

Re

0x0010

Re

Re

Re

Re

Re

Re

Re

Re

Re

Re

Re

Re

Re

Re

Re

Re

0x0020

Re

Re

Re

Re

Re

Re

Re

Re

Re

Re

Re

Re

Re

Re

Re

Re

 

No

名前

サイズ

[バイト]

説明

0

ProcID

1

BYTE

プロトコルID

0x00:温度モニター 、温度サーバインターフェイス間

0x01:温度サーバインターフェイス間、トレンドビューアー間

0x02:温度サーバインターフェイス間、履歴閲覧画面

0x03:アラーム検出、アラーム通知画面間

1

TransactionID

2

WORD

通信用ID。送信の度に、インクリメントする。

2

DataSize

2

WORD

データ部のサイズ

3

CommandID

2

WORD

コマンドの種別(各通信間で定義)

 

温度モニター

0 E_CmndTempMoni

トレンドビューアー

20E_CmndTrendPCName

21E_CmndTrendPCNameEnd

22E_CmndTrendDayData      

23E_CmndTrendDayDataEnd             

24E_CmndTrendNewData     

履歴閲覧画面

30E_CmndHistoryYear

31E_CmndHistoryMDP          

32E_CmndHistoryMDPEnd

33E_CmndHistoryDayALL

34E_CmndHistoryTemp         

35E_CmndHistoryTempEnd  

アラーム検出

40E_CmndAlerm      

41E_CmndAlermTemp

4

Type

1

BYTE

タイプ(0x00:リクエスト, 0x01:レスポンス、0x02:イベント)

5

Re

-

-

Reserved (予約)

 


 

3.1.3.データ部

各通信間にて、定義

 

3.1.4.フッタ部

 

 

0x0

0x1

0x2

0x3

0x0570

CheckSum

 

No

名前

サイズ

[バイト]

説明

0

CheckSum

4

DWORD

データ部の、1バイト毎の加算値。

ゴミデータを間違って処理しないように付加。

Bit落ちの検出を目的とするものではない。)

 

 

 

 

 


3.2DBへの温度データ登録

3.2.1.概要

 温度データをDBに蓄積するコマンド。

 

3.2.2.個別ヘッダ情報

入力

CommandIDE_CmndTempMoni

DataSize97

 

出力

CommandIDE_CmndTempMoni

DataSize128

 

3.2.3.入力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

bTempStatus

stTime

0x0040

stTime

dfTempData

dfHumidityData

0x0050

dfHumidityData

chPCName

0x0060

 

0x0070

0x0080

0x0090

 

 

 

No

名前

サイズ

[バイト]

説明

0

bTempStatus

1

bool

ステータス(正常、読込失敗)

1

stTime

16

SYSTEMTIME

計測時間

2

dfTempData

8

double

温度

3

dfHumidityData

8

double

湿度

4

chPCName

64

char

コンピュータ名

 

 

 

 

 

 

 

 

3.2.4.出力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

chStatus

0x0040

stTime

0x0050

dfTemperature

dfHumidity

0x0060

chPCName

0x0070

0x0080

0x0090

0x00A0

chAddress

 

 

No

名前

サイズ

[バイト]

説明

0

chStatus

16

char

ステータス(正常、読込失敗)

1

stTime

16

SYSTEMTIME

計測時間

2

dfTemperature

8

double

温度

3

dfHumidity

8

double

湿度

4

chPCName

64

char

PC

5

chAddress

16

char

アドレス

 

 


 

3.3.指定日に接続されたPC名の取得

3.3.1.概要

 指定日に接続されたPC名を応答するコマンド。

1つの要求に対し、すべてのPC名を送り終えるまで送信を繰り返す。1回の送信で最大21個のPC名を送信する。1回目から、最終−1回目のCommandIDE_CmndTrendDayData最終送信時のCommandIDE_CmndTrendPCNameEndを応答する。

 

3.3.2.個別ヘッダ情報

入力

CommandIDE_CmndTrendPCName

DataSize16

出力

  1回目〜最終−1回目の送信時

CommandIDE_CmndTrendPCName

DataSize4 + 64 * 21 = 1348

最終送信時

CommandIDE_CmndTrendPCNameEnd

DataSize4 + 64 * (iPCNameCount)

 

3.3.3.入力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

stTime

 

No

名前

サイズ

[バイト]

説明

0

stTime

16

SYSTEMTIME

日付

 

 

 

 

 

 

 


 

3.3.4.出力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

iPCNameCount

 

0x0040

chPCName1

 

0x0050

 

0x0060

0x0070

 

 

 

・・・

・・・

 

 

 

 

0x0540

chPCName21

0x0550

0x0560

0x0570

 

 

 

No

名前

サイズ

[バイト]

説明

0

iPCNameCount

4

int

1回の送信で送るPC名の数

1

chPCName1

64

char

PC

21

chPCName21

64

char

PC

 

 

 

 

 


 

3.4.指定日に接続されたPCの一日分の詳細データの取得

3.4.1.概要

指定日に接続されたPCの一日分のデータを応答するコマンド。

1つの要求に対し、すべてのデータを送り終えるまで送信を繰り返す。1回の送信で最大10個のデータを送信する。1回目から最終−1回目のCommandIDE_CmndTrendDayData最終送信時のCommandIDE_CmndTrendPCNameEndを応答する。

 

3.4.2.個別ヘッダ情報

入力

CommandIDE_CmndTrendDayData

DataSize80

出力

  1回目〜最終送信−1回目の送信時

CommandIDE_CmndTrendDayData

DataSize4 + 128 * 10 = 1284

最終送信時

CommandIDE_CmndTrendDayDataEnd

DataSize4 + 128 * (iDataCount)

 

3.4.3.入力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

stTime

0x0040

chPCName

0x0050

0x0060

0x0070

 

No

名前

サイズ

[バイト]

説明

0

stTime

16

SYSTEMTIME

本日の日付を指定

1

chPCName

64

char

PC

 

 

 

 

 

 

 

3.4.4.出力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

iDataCount

chStatus1

0x0040

chStatus1

stTime1

0x0050

stTime1

dfTemperature1

dfHumidity1

0x0060

dfHumidity1

 

0x0070

chPCName1

0x0080

0x0090

0x00A0

 

chAddress1

0x00B0

chAddress1

chStatus10

0x04C0

chStatus10

stTime10

0x04D0

stTime10

dfTemperature10

dfHumidity10

0x04E0

dfHumidity10

 

0x04F0

chPCName10

0x0500

0x0510

0x0520

 

chAddress10

0x0530

chAddress10

 

 

No

名前

サイズ

[バイト]

説明

0

iDataCount

4

int

1回の送信で送るデータ数

1

chStatus1

16

char

ステータス(正常、読込失敗)

2

stTime1

16

SYSTEMTIME

計測時間

3

dfTemperature1

8

double

温度

4

dfHumidity1

8

double

湿度

5

chPCName1

64

char

PC

6

chAddress1

16

char

アドレス

1

chStatus10

16

char

状態

2

stTime10

16

SYSTEMTIME

計測時間

3

dfTemperature10

8

double

温度

4

dfHumidity10

8

double

湿度

5

chPCName10

64

char

PC

6

chAddress10

16

char

アドレス

 


 

3.5.指定PCの最新データの取得

3.5.1.概要

指定されたPCの最新データを応答するコマンド。

 

3.5.2.個別ヘッダ情報

入力

CommandIDE_CmndTrendNewData

DataSize64

出力

CommandIDE_CmndTrendNewData

DataSize128

 

3.5.3.入力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

chPCName

0x0040

0x0050

0x0060

 

No

名前

サイズ

[バイト]

説明

0

chPCName

64

char

PC

 


 

3.5.4.出力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

chStatus

0x0040

stTime

0x0050

dfTemperature

dfHumidity

0x0060

chPCName

0x0070

0x0080

0x0090

0x00A0

chAddress

 

No

名前

サイズ

[バイト]

説明

0

chStatus

16

char

ステータス(正常、読込失敗)

1

stTime

16

SYSTEMTIME

計測時間

2

dfTemperature

8

double

温度

3

dfHumidity

8

double

湿度

4

chPCName

64

char

PC

5

chAddress

16

char

アドレス

 

 

 


 

3.6.年情報の取得

3.6.1.概要

DBに登録されている年データを応答するコマンド。

最大で10年分応答することができる。

 

3.6.2.個別ヘッダ情報

入力時

CommandIDE_CmndHistoryYear

DataSize0

出力時

CommandIDE_CmndHistoryYear

DataSize4 * 年データ数

 

3.6.3.入力データ部

データ部情報なし

 

3.6.4.出力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

iYear1

iYear2

iYear3

iYear4

0x0040

iYear5

iYear6

iYear7

iYear8

0x0050

iYear9

iYear10

 

 

 

No

名前

サイズ

[バイト]

説明

0

iYear1

4

int

10

iYear10

4

int

 

 

 

 


 

3.7.指定年にDBに登録されているデータの日付取得

3.7.1.概要

指定年の日付データを応答するコマンド。

1リクエストに対し、すべてのデータを送り終えるまで送信を繰り返す。1回の送信で最大19個の日付情報を送信する。1回目から最終−1回目のCommandIDE_CmndHistoryMDP最後送信時のCommandIDE_CmndHistoryMDPEndを応答する。

 

3.7.2.個別ヘッダ情報

入力時

CommandIDE_CmndHistoryMDP

DataSize4

出力時

  1回目〜最終送信−1 回目の送信時

CommandIDE_CmndHistoryMDP

DataSize70 * 19 = 1330

最終送信時

CommandIDE_CmndHistoryMDPEnd

DataSize70 * 日付データ数

 

3.7.3.入力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x0030

iYear

 

No

名前

サイズ

[バイト]

説明

0

iYear1

4

int

 

 

 

 

 

 

 

 

 

 

 

 

 

3.7.4.出力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

wYear1

wMonth1

wDay1

 

0x0040

chPCName1

0x0050

0x0060

0x0070

 

 

 

 

wYear19

wMonth19

0x0520

wDay19

 

 

0x0530

chPCName19

0x0540

0x0550

0x0560

 

 

 

No

名前

サイズ

[バイト]

説明

0

wYear1

2

WORD

1

wMonth1

2

WORD

2

wDay1

2

WORD

3

chPCName1

64

char

PC

0

wYear19

2

WORD

1

wMonth19

2

WORD

2

wDay19

2

WORD

3

chPCName19

64

char

PC

 

 


 

3.8.指定月の1ヶ月分のデータを取得

3.8.1.概要

指定月の1か月分のデータを応答するコマンド。

1リクエストに対し、すべてのデータを送り終えるまで送信を繰り返す。1回の送信で最大14個のデータを送信する。1回目から最終−1回目のCommandIDE_CmndHistoryDayALL最後送信時のCommandIDE_CmndHistoryTempEndを応答する。

 

3.8.2.個別ヘッダ情報

入力時

CommandIDE_CmndHistoryDayALL

DataSize70

出力時

  1回目〜最終送信−1 回目の送信時

CommandIDE_CmndHistoryDayALL

DataSize96 * 14 = 1330

最終送信時

CommandIDE_CmndHistoryTempEnd

DataSize96 * データ数

 

3.8.3.入力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

wYear1

wMonth1

wDay1

 

0x0040

chPCName1

0x0050

0x0060

0x0070

 

 

 

No

名前

サイズ

[バイト]

説明

0

wYear1

2

WORD

1

wMonth1

2

WORD

2

wDay1

2

WORD

3

chPCName1

64

char

PC

 

 


 

3.8.4.出力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

stTime

0x0040

dfTempData

dfHumidityData

0x0060

chPCName

0x0070

0x0080

0x0090

 

 

No

名前

サイズ

[バイト]

説明

0

stTime

16

SYSTEMTIME

計測時間

1

dfTempData

8

double

温度

2

dfHumidityData

8

double

湿度

3

chPCName

64

char

コンピュータ名

 

 

 

 


 

3.9.指定日に接続されたPCの一日分のデータの取得

3.9.1.概要

指定日に接続されたPCの一日分のデータを応答するコマンド。

1リクエストに対し、すべてのデータを送り終えるまで送信を繰り返す。1回の送信で最大14個のデータを送信する。1回目から最終−1回目のCommandIDE_CmndHistoryTemp最終送信時のCommandIDE_CmndHistoryTempEndを応答する。

 

3.9.2.個別ヘッダ情報

入力時

CommandIDE_CmndHistoryTemp

DataSize

出力時

  1回目〜最終送信−1 回目の送信時

CommandIDE_CmndHistoryTemp

DataSize96 * 14 = 1344

最終送信時

CommandIDE_CmndHistoryTempEnd

DataSize96 * データ数

 

3.9.3.入力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

wYear1

wMonth1

wDay1

 

0x0040

chPCName1

0x0050

0x0060

0x0070

 

 

 

No

名前

サイズ

[バイト]

説明

0

wYear1

2

WORD

1

wMonth1

2

WORD

2

wDay1

2

WORD

3

chPCName1

64

char

PC

 

 

 


 

3.9.4.出力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

stTime

0x0040

dfTempData

dfHumidityData

0x0060

chPCName

0x0070

0x0080

0x0090

0x0520

stTime

0x0530

dfTempData

dfHumidityData

0x0540

chPCName

0x0550

0x0560

0x0570

 

No

名前

サイズ

[バイト]

説明

0

stTime1

16

SYSTEMTIME

計測時間

1

dfTempData1

8

double

温度

2

dfHumidityData1

8

double

湿度

3

chPCName1

64

char

コンピュータ名

56

stTime14

16

SYSTEMTIME

計測時間

57

dfTempData14

8

double

温度

58

dfHumidityData14

8

double

湿度

59

chPCName14

64

char

コンピュータ名

 

 

 


 

3.10.最新接続リスト取得

3.10.1.概要

現在サーバに接続している温度モニターのリストを応答するコマンド。

最大10個のPC名を送信する。

 

3.10.2.個別ヘッダ情報

入力時

CommandIDE_CmndAlermTemp

DataSize0

出力時

CommandIDE_CmndAlermTemp

DataSize97 * 接続数

 

3.10.3.入力データ部

データ部情報なし

 

3.10.4.出力データ部

データ部構成

 

0x0

0x1

0x2

0x3

0x4

0x5

0x6

0x7

0x8

0x9

0xA

0xB

0xC

0xD

0xE

0xF

0x0030

bTempStatus

stTime

0x0040

stTime

dfTempData

dfHumidityData

0x0050

dfHumidityData

chPCName

0x0060

 

0x0070

0x0080

0x0090

 

stTime

stTime

dfTempData

0x03B0

dfTempData

dfHumidityData

 

0x03C0

 

0x03D0

chPCName

0x03E0

0x03F0

 

 

 

 

No

名前

サイズ

[バイト]

説明

0

bTempStatus1

1

bool

ステータス(正常、読込失敗)

1

stTime1

16

SYSTEMTIME

計測時間

2

dfTempData1

8

double

温度

3

dfHumidityData1

8

double

湿度

4

chPCName1

64

char

コンピュータ名

50

bTempStatus10

1

bool

ステータス(正常、読込失敗)

51

stTime10

16

SYSTEMTIME

計測時間

52

dfTempData10

8

double

温度

53

dfHumidityData10

8

double

湿度

54

chPCName10

64

char

コンピュータ名