超詳細(xì)!DLT645通信協(xié)議介紹
無(wú)線通信協(xié)議傳輸簡(jiǎn)介
目前主要使用的有兩個(gè)版本DLT645-97和DLT645-07,該協(xié)議主要用于電表抄表,采用為主-從結(jié)構(gòu)的半雙工通訊模式,硬件接口使用RS-485,協(xié)議幀報(bào)文和使用方法與modbus rtu類似,我們學(xué)習(xí)時(shí)可以將兩者進(jìn)行比較來(lái)加強(qiáng)記憶。
幀格式
DLT645協(xié)議的數(shù)據(jù)幀由,起始符、地址域、控制符、數(shù)據(jù)域長(zhǎng)度、數(shù)據(jù)域、檢驗(yàn)碼、結(jié)束符組成,每個(gè)部分都由十六進(jìn)制碼構(gòu)成。
1.幀起始符 68H
DLT645協(xié)議的數(shù)據(jù)幀每幀的開(kāi)始都固定為0x68,作為數(shù)據(jù)的起始符方便接收方做數(shù)據(jù)解析。
2.地址域 A0~A5
地址域是用來(lái)表示電表地址,低位在前,高位在后;在485總線上可能掛著多個(gè)645設(shè)備,要找到指定的設(shè)備,必須要根據(jù)設(shè)備的地址查找。每臺(tái)設(shè)備出廠會(huì)有自己的地址,也可以修改設(shè)備的通信地址。如下圖
該設(shè)備的地址為00013310。
3.控制碼
1個(gè)字節(jié),例如讀取數(shù)據(jù)的控制碼為0x11(00010001),讀取通訊地址的控制碼為0x13(00010011)。
4.數(shù)據(jù)長(zhǎng)度L
1個(gè)字節(jié),表示數(shù)據(jù)域的字節(jié)數(shù),讀取數(shù)據(jù)時(shí)L<= 200;寫(xiě)數(shù)據(jù)時(shí)L <= 50,L=0表示無(wú)數(shù)據(jù)域。
5.數(shù)據(jù)域
數(shù)據(jù)域?yàn)樽冮L(zhǎng),字節(jié)數(shù)由數(shù)據(jù)長(zhǎng)度L決定,傳輸時(shí)候。發(fā)送方需要加0x33,接收方需要減去0x33。
6. CS校驗(yàn)碼
1個(gè)字節(jié),采用算術(shù)和進(jìn)行校驗(yàn)。
7.結(jié)束符16H
DLT645的指令幀均已0x16作為結(jié)束符。
應(yīng)答幀
無(wú)線通信協(xié)議傳輸
在發(fā)送幀信息之前,需要根據(jù)設(shè)備需要先發(fā)送前導(dǎo)碼,前導(dǎo)碼由0-4個(gè)FEH組成,所有數(shù)據(jù)項(xiàng)都是按照低字節(jié)在前,高字節(jié)在后的方式傳輸。通訊的時(shí)候現(xiàn)有主站發(fā)出信息幀,然后從站收到后根據(jù)信息做應(yīng)答。
例如
發(fā)送:68 03 20 12 22 20 65 68 11 04 33 33 33 33 8D 16
應(yīng)答:68 03 20 12 22 20 65 68 91 08 33 33 33 33 33 33 33 33 DD 16
發(fā)送:FE FE FE FE 68 18 20 12 22 20 65 68 11 04 33 32 34 35 A4 16
應(yīng)答:FE FE FE FE 68 18 20 12 22 20 65 68 91 0A 33 32 34 35 33 33 33 33 C7 56 13 16
-
通信
+關(guān)注
關(guān)注
18文章
5949瀏覽量
135783
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論