tft每日頭條

 > 生活

 > 環保數據傳輸協議

環保數據傳輸協議

生活 更新时间:2025-01-16 22:02:19

1. 儀器協議

在線監測儀器與數采儀之間通信協議采用Modbus RTU标準,數采儀作為Modbus主機,每台在線監測儀器作為Modbus從機。

環保數據傳輸協議(-安徽綠石動态管控協議)1

圖1 Modbus主從通信系統結構

協議适用接口描述:

(1)适用于RS-485通訊接口通訊;

(2)每個RS-485接口可以同時連接多個在線監測儀器。

(3)适用于RS-232通訊接口通訊;

2. 協議層次

在線監測儀器與數采儀之間通訊協議采用Modbus RTU标準,可承載在多種通訊接口上。

環保數據傳輸協議(-安徽綠石動态管控協議)2

圖2 Modbus RTU協議層次圖

3. 通信協議

在線監測儀器與數采儀之間通信協議采用Modbus RTU标準,通過Modbus寄存器定義通信數據内容。

3.1 Modbus RTU

3.1.1 報文幀結構

環保數據傳輸協議(-安徽綠石動态管控協議)3

圖3 Modbus RTU串行鍊路PDU

表1 Modbus報文結構表

名稱

類型

長度(字節)

描述

設備地址

byte

對應儀器中的設備地址,用于區分挂在同一個485總線下不同在線監測儀器。取值範圍1~127

功能碼

BYTE

功能碼定義見6.1.2

數據

BYTE[n]

N

變長數據,伴随功能碼、應答模式不同而不同

CRC

WORD

2

Modbus CRC16校驗結果

3.1.2 功能碼定義

表2 Modbus功能碼定義表

代碼

功能

數據類型

備注

0x03

整形、浮點、字符

讀多個寄存器

0x10

整形、浮點、字符

寫多個寄存器

0x06

整形、浮點、字符

寫單個寄存器

3.1.3 報文應答格式

3.1.3.1 功能碼(0x03)讀

主機請求:

設備地址

功能碼

寄存器地址

寄存器數量

CRCH

CRCL

1B

1B

2B

2B

1B

1B

設備地址:主控闆地址,為0x01-0xF7可選

功能碼:為0x03

寄存器地址:要讀取數據的存放開始地址。

寄存器數量:要讀取的寄存器的個數

從機應答:

設備地址

功能碼

寄存器地址

數據字節數

數據

CRCH

CRCL

1B

1B

2B

2B

...

1B

1B

設備地址:下位機地址,為0x01-0xF7可選

功能碼:為0x03

數據字節數:寄存器數量×2

數據:N =(寄存器數量×2)BYTE

錯誤應答:

設備地址(1BYTE) 出錯功能碼 錯誤類型(1BYTE) CRC校驗

注意出錯功能碼是功能碼BYTE最高位取反得到。例如0x03 出錯功能碼為0x83

錯誤類型:

01 非法功能

02 非法數據地址

03 非法數據值

04 從站設備故障

05 确認

06 從屬設備忙

注:以上錯誤類型為Modbus RTU标準含義。

示例:

讀取命令:

01 03 00 00 00 02 C4 0B (設備地址01)

02 03 00 00 00 02 C4 38 (設備地址02)

其中設備地址(01) 功能碼(03) 寄存器起始地址(00 00) 寄存器數量(00 02 即指數據長度為2個字) CRC校驗(C4 0B)

應答報文:

01 03 04 41 CB 42 B7 EF 27

設備地址(01) 功能碼(03) 數據字節數(04) 讀取數據(實際為16進制數42 B7 41 CB對應的浮點型數據為91.63) CRC校驗(EF 27)。

3.1.3.2 功能碼(0x10)寫

主機請求:

設備地址

功能碼

寄存器地址

寄存器數量

字節數

DATA

CRCH

CRCL

1B

1B

2B

2B

1B

...

1B

1B

設備地址:主控闆地址,為0x01-0xF7可選

功能碼:為0x10

寄存器地址:要讀取數據的存放開始地址

寄存器數量:要寫入寄存器的個數

字節數:寫入數據的字節數

數據:要寫入的數據

注意如寫一個寄存器,則寄存器數量為1,字節數為2,數據為一個WORD。

從機應答:

設備地址

功能碼

寄存器地址

寄存器數量

CRCH

CRCL

1B

1B

2B

2B

1B

1B

示例:

主機發送:01 10 00 6B 00 02 04 00 0F 06 08 86 51

從機回複:01 10 00 6B 00 02 30 14

錯誤應答: 設備地址(1BYTE) 出錯功能碼 錯誤類型(1BYTE) CRC校驗

注意出錯功能碼是功能碼BYTE最高位取反得到。例如0x03出錯功能碼為0x83

錯誤類型:

01 非法功能

02 非法數據地址

03 非法數據值

04 從站設備故障

05 确認

06 從站設備忙

注:以上錯誤類型為Modbus RTU标準含義。

3.1.3.3 功能碼(0x06)寫

主機請求:

設備地址

功能碼

寄存器地址

DATA

CRCH

CRCL

1B

1B

2B

2B

1B

1B

從機應答:

設備地址

功能碼

寄存器地址

DATA

CRCH

CRCL

1B

1B

2B

2B

1B

1B

3.1.4 應用規約

表3 Modbus數據類型定義表

數據類型

描述及要求

BYTE

無符号單字節整型(字節,8位)

WORD

無符号2字節整型(字,16位)

DWORD

無符号4字節整型(雙字,32位)

FLOAT

4字節浮點數型(字節,32位)IEEE 754 标準

DOUBLE

8字節浮點數型(字節,64位)

BYTE[n]

N字節

STRING

GBK編碼,采用0終結符,若無數據,則放一個0終結符

DATE

日期類型6字節

年(BYTE)-月(BYTE)-日(BYTE)-時(BYTE)-分(BYTE)-秒(BYTE)。

其中:年=byte 2000, 月:1-12,日:1-31,時:0-23 分:0-59 秒:0-59

數值格式:BCD碼

數據字節序定義:

協議采用大端模式(big-endian)來傳遞WORD、DWORD、FLOAT、DOUBLE。對于DWORD、FLOAT、DOUBLE,字間順序也按照大端模式(big-endian)排列(也就是Modbus的Swap模式)。

  1. 關鍵參數

名稱

寄存器偏移

數據類型

寄存器描述

讀寫

單位

備注

關鍵參數

0x2200

WORD

消解溫度

R

攝氏度

0x2201

WORD

消解時長

R

分鐘

0x2204

FLOAT

量程下限

R

毫克/升

0x2205

0x2206

FLOAT

量程上限

R

毫克/升

0x2207

0x2208

FLOAT

曲線斜率k

R

0x2209

0x220A

FLOAT

曲線截距b

R

0x220B

0x2210

FLOAT

标液一濃度

R

毫克/升

零标

0x2211

0x2212

FLOAT

标液一

測量過程值

R

信号值

0x2213

0x2214

FLOAT

标液二濃度

R

毫克/升

量标

0x2215

0x2216

FLOAT

标液二

測量過程值

R

信号值

0x2217

  • 關鍵參數的例子

讀取消解溫度的例子

請求報文: 01 03 22 00 00 01 8E 72

應答報文: 01 03 02 00 64 B9 AF

00 64 表示的是讀取消解溫度的值,消解溫度是100度

2.工作狀态

名稱

寄存器偏移

數據類型

寄存器描述

讀寫

備注

工作狀态

0x2000

WORD

工作狀态

R

16位整形

測量模式

0x2002

DWORD

測量模式

R

1連續測量

2周期測量

3定點測量

4觸發測量

5調試模式

告警位圖

0x2004

DWORD

告警位圖

R

8個寄存器,表示128種告警。從低到高依次對應告警位0~15

儀器工作狀态定義表

編碼

描述

備注

1

離線/調試

2

待機

3

測量

4

維護

5

清洗

6

故障

7

零點校準

8

量程校準

9

預留

10

預留

11

标樣核查

12~99

可擴展

2.1讀取工作狀态的例子

請求報文: 01 03 20 00 00 01 8F CA

應答報文: 01 03 02 00 02 39 85

00 02 表示工作狀态是2,查表可以知道工作的狀态在待機狀态。

2.2 讀取測量模式的例子

請求報文: 01 03 20 02 00 01 2E 0A

應答報文: 01 03 02 00 02 39 85

00 02 表示測量的模式是2,查表可以知道模式的狀态就是周期模式。

報警值

描述

針對方法

0x00

無故障

通用

0x01

缺試劑告警

通用

0x02

缺水樣告警

通用

0x04

缺空白水告警

通用

0x08

缺标液

通用

0x10

備用

通用

0x20

标定異常告警

通用

0x40

超量程告警

通用

0x80

加熱異常

通用

0x100

低試劑預警

通用

0x200

超上限告警

通用

0x400

超下限告警

通用

0x800

儀表内部其它異常

通用

3.反向控制

名稱

寄存器偏移

數據類型

寄存器描述

讀寫

備注

遠程控制命令

0x2C00

WORD

遠程控制命令碼

W

0x2C01

BYTE[n]

遠程控制命令參數

W

當遠程控制命令碼為時間校準命令時,該字段為6字節的DATE

...

0x2CFF

編碼

名稱

參數

返回說明

1

啟動測量

執行成功/失敗

2

停止測量

執行成功/失敗

3

清洗

執行成功/失敗

4

标定

1,被動觸發

2,周期标定

執行成功/失敗

5

标液一校準

标液一校準

執行成功/失敗

6

标液二校準

标液二校準

執行成功/失敗

7

預留

8

時間校準

Date類型

返回儀器設定後的時間

9

标樣核查

1 标樣一核查

2 标樣二核查

執行成功/失敗

11~99

可擴展

3.1 反向控制的例子

操作名稱

示例報文

備注

啟動測量

請求報文:01 10 2c 00 00 01 02 00 01 8a 52

應答報文:01 10 2c 00 00 01 09 59

停止測量

請求報文:01 10 2c 00 00 01 02 00 02 ca 53

應答報文:01 10 2c 00 00 01 09 59

清洗

請求報文:01 10 2c 00 00 01 02 00 03 0b 93

應答報文:01 10 2c 00 00 01 09 59

标定

請求報文:01 10 2c 00 00 02 04 00 04 00 01 bf 6f

應答報文:01 10 2c 00 00 02 49 58

00 01表示被動觸發标定

零點和量标一起标定

标液一校準

請求報文:01 10 2c 00 00 01 02 00 05 8b 91

應答報文:01 10 2c 00 00 01 09 59

零标

标液二校準

請求報文:01 10 2c 00 00 01 02 00 06 cb 90

應答報文:01 10 2c 00 00 01 09 59

量标

4.讀取數據

名稱

寄存器偏移

數據類型

寄存器描述

讀寫

備注

測量數據

0x1000

DATE

數據時間

R

測量啟動時間

0x1001

0x1002

0x1005

FLOAT

測量數值

R

0x1006

0x1007

WORD

預留

R

0x1008

WORD

數據标識

R

零點校準數據

0x5200

WORD

備用

R

0x5201

DATE

零點數據時間

R

0x5202

0x5203

0x5204

float

零點濃度

R

0x5205

0x5206

float

零點吸光度值

R

0x5207

量程校準數據

0x5208

WORD

備用

R

0x5209

DATE

量程校準數據時間

R

0x520A

0x520B

0x520C

FLOAT

量程校準液濃度

R

0x520D

0x520E

FLOAT

量程校準吸光度

R

0x520F

0x5210

WORD

備用

R

标液核查數據

0x5211

DATE

标樣核查數據時間

R

0x5212

0x5213

0x5214

FLOAT

标樣核查測量濃度值

R

0x5215

0x5216

FLOAT

标樣核查測量數值吸光度

R

0x5217

0x5218

FLOAT

标樣核查标準濃度值

R

已知标液的濃度值

0x5219

儀器測量數據時間定義表

數據類型

描述及要求

DATE

日期類型6字節

年(BYTE)-月(BYTE)-日(BYTE)-時(BYTE)-分(BYTE)-秒(BYTE)。

其中:年=byte 2000, 月:1-12,日:1-31,時:0-23 分:0-59 秒:0-59

數值格式:BCD碼

數據标識表

标識

标識定義

說明

N

正常

測量數據正常有效

T

超上限

監測濃度超儀器測量上限

L

超下限

監測濃度超儀器下限或小于檢出限

D

儀器故障

儀器故障

B

儀器離線

儀器離線(數據通信正常)

M

維護調試數據

在線監控(監測)儀器儀表處于維護(調試)期間産生的數據

CZ

标液一校準(零點校準)

零點校準

CS

标液二校準

标液校準

SC

标液核查

标液核查

4.1 讀取數據報文

請求報文:01 03 10 00 00 0B 00 CD

應答報文:01 03 16 17 01 01 00 00 00 00 00 00 00 40 00 00 00 00 0000 4E 00 00 00 00 C3B9

17 01 01 00 00 00表示數據時間2017-01-01 00:00:00

40 00 00 00表示數據通道1測量值為2.0

00 4E表示數據标示“N”正常

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved