DLT698協議

落幕无痕發表於2024-07-09

DLT698協議為提高用電資訊採集系統的業務適應性、採集效率、安全性和資料溯源性,規範用電資訊資料交換協議的通訊架構、資料鏈路層、應用層、介面類與物件標識,制定本標準。

使用範圍

本標準規定了用電資訊資料交換協議的通訊架構、資料鏈路層、應用層、介面類與物件標識。本標準適用於用電資訊採集系統主站(以下簡稱“主站”)、採集終端、電能表之間的通訊資料交換。水、氣、熱等表計的資料採集可參照使用。

物件導向的用電資訊資料交換協議

基於物件導向建模方法建立的一套適用於用電資訊採集系統的互操作性資料交換通訊協議。物件導向建模以介面類實現繼承關係,以物件來封裝資料及操作,以物件為互操作的基本要素。

客戶機/伺服器

主站訪問採集終端時,採集終端為伺服器,主站為客戶機;主站訪問電能表時,電能表為伺服器,主站為客戶機;採集終端訪問電能表時,電能表為伺服器,採集終端為客戶機。

客戶機和伺服器之間的資訊交換借助於通訊協議實現。客戶機和伺服器的應用程序使用協議應用層的服務,應用層是唯一包含服務元件的協議層,應用層資料單元(APDU)透過資料鏈路層協議傳輸幀的鏈路使用者資料域傳輸。

DLT698協議

位元組格式

鏈路層幀的基本單元為8位位元組,傳輸順序為低位在前,高位在後;低位元組在前,高位元組在後。

幀結構

DLT698協議

長度域L

由2位元組組成,

DLT698協議

控制域C

為1個位元組,按位或位的組合使用

DLT698協議DLT698協議

分幀標誌位: bit5=0,表示此幀鏈路使用者資料為完整APDU(應用層資料單元);bit5=1,表示此幀鏈路使用者資料為APDU(應用層資料單元)片段。

擾碼標誌位: bit3=0,表示此幀鏈路使用者資料不加擾碼;bit3=1,表示此幀鏈路使用者資料加擾碼,傳送時鏈路使用者資料按位元組加33H。

DLT698協議

例:控制域 值為43 ,則轉換為2進位制 0 1 0 0 0 0 1 1,則代表 DIR PRM為0 1代表客戶端發起的請求,分幀標識位為0表示此幀鏈路使用者資料為完整APDU,bit4保留為0,擾碼標識為0則代表不加擾碼,最後功能碼是011也就是3代表使用者資料

地址域

地址域A由可變位元組數的伺服器地址SA(伺服器通訊地址)和1位元組的客戶機地址CA(客戶機通訊地址)組成

伺服器地址SA由1位元組地址特徵和N個位元組地址組成

DLT698協議

1、bit0…bit3:為地址的位元組數,取值範圍:0…15,對應表示 1…16 個位元組長度;

2、 bit4…bit5:邏輯地址;

3、bit6…bit7:為伺服器地址的地址型別,0 表示單地址,1 表示通配地址,2 表示組地址,3表示廣播地址。

3.1、單地址的長度為可變位元組。

3.2、組地址的長度為可變位元組。組地址對系統中屬於該群組的伺服器有效,無需應答。

3.3、通配地址的長度為可變位元組。每位元組二進位制高低各4位分別編碼表示兩個0到9的十進位制數或萬用字元AH。萬用字元按十進位制位使用,對應的十進位制位為AH時,表示該十進位制位可為0到9的任意值。

3.4、廣播地址的長度固定為1位元組,廣播地址=AAH。廣播地址對系統所有伺服器有效,無需應答。

4、 編碼方式為壓縮 BCD 碼,0 保留;

5、當伺服器地址的十進位制位數為奇數時,最後位元組的 bit3…bit0 用 FH 表示。

例:地址為030200000002

03為特徵地址轉換為二進位制:00000011 代表的是 地址型別00單地址,他的地址長度是可變的。00邏輯地址,0011地址長度

服務地址為:02000000 高低轉換實際為 00 00 00 00 02

客戶端地址 02(0表示不關注客戶機地址)

幀頭校驗 HCS

幀頭校驗HCS為2位元組,是對幀頭部分不包含起始字元和HCS本身的所有位元組的校驗

鏈路使用者資料

對於本地通訊通道 如:RS485、紅外等。當物理連線建立時,預設預連線的通道即存在,不需要額外的建立以及預連線管理。

例:APDU 05 01 01 40 01 02 00 00

響應:85 01 01 40 01 02 00 01 09 06 12 34 56 78 90 12 00 00

下面解析例項:

05:代表讀取 GET-Request

DLT698協議

01:代表請求讀取一個物件屬性(GET-Request)

DLT698協議

01 40 01 02 00 是PIID和OAD(GetRequestNormal)如下

DLT698協議

01:PIID(高優先順序)

DLT698協議

40 01 02 00:OAD

DLT698協議

下面是物件標識的定義 OI:

物件標識(OI)由兩位元組組成,採用十六進位制編碼表示,其格式定義見圖15 。物件標識按位元組劃分為OIA和OIB,OIA按位劃分為OIA1和OIA2,OIB按位劃分為OIB1和OIB2。本標準採用分類編碼的方式定義各個物件標識編碼,未定義的物件標識編碼保留

DLT698協議

40 01 02 00 即代表讀取表好。

DLT698協議

00:無時間標籤

總結:APDU 05 01 01 40 01 02 00 00 就是高優先順序的讀取表號,無時間標籤

幀校驗

FCS幀校驗FCS為2位元組,是對整幀不包含起始字元、結束字元和FCS本身的所有位元組的校驗

結束字元

資料解析

85 01 01 40 01 02 00 01 09 06 12 34 56 78 90 12 00 00

電錶相當於服務端,我們可以檢視下服務端的APDU響應組成:

85轉換成十進位制就是133,代表讀取響應(GET-Response)

DLT698協議

01代表讀取一個物件屬性的響應(GetResponseNormal)

DLT698協議DLT698協議

01PIID高優先順序,

DLT698協議

01 40 01 02:OAD和之前傳送請求的一一對應

01讀取結果

09:型別(octet-string)

DLT698協議

06:資料長度

12 34 56 78 90 12:資料,即表地址為123456789012

00:代表無後續訊息

00:標識無時間標籤

總結:85 01 01 40 01 02 00 01 09 06 12 34 56 78 90 12 00 00 標識服務端返回了一個讀取屬性的結果指令,指令是讀取表地址的,返回的資料長度為6,表地址為123456789012無後續訊息 無時間標籤。

讀取若干個物件屬性示例:

讀取三相電壓、電流,

05 02 02 02 20 00 02 00 20 01 02 00 00

響應

85 02 02 02 20 00 02 00 01 01 03 12 09 6D 12 09 6D 12 09 6D 20 01 02 00 01 01 03 05 00 00 03 E8 05 00 00 03 E8 05 00 00 03 E8 00 00

85轉換成十進位制就是133,代表讀取響應(GET-Response)

01代表讀取一個物件屬性的響應(GetResponseNormalList)

02PIID

02個數=2

DLT698協議

20 00 02 00:OAD電壓

01:資料

01:型別(arry)陣列

03:代表資料個數

12 09 6D :12十進位制18 對應的資料型別是long-unsigned 096d轉換為十進位制為241.3V A相

12 09 6D :12十進位制18 對應的資料型別是long-unsigned 096d轉換為十進位制為241.3V B相

12 09 6D :12十進位制18 對應的資料型別是long-unsigned 096d轉換為十進位制為241.3V C相

20 01 02 00 :oad電流

01:資料

01:型別(arry)陣列

03:代表資料個數

05 00 00 03 E8 :05型別double-long 00 00 03 E8轉換為十進位制為 1A A相

05 00 00 03 E8 :05型別double-long 00 00 03 E8轉換為十進位制為 1A B相

05 00 00 03 E8 :05型別double-long 00 00 03 E8轉換為十進位制為 1A C相

00:代表無後續訊息

00:標識無時間標籤