超詳細!DLT645通信協定介紹
無線通信協定傳輸簡介
目前主要使用的有兩個版本DLT645-97和DLT645-07,該協定主要用于電表抄表,采用為主-從結構的半雙工通訊模式,硬體接口使用RS-485,協定幀封包和使用方法與modbus rtu類似,我們學習時可以将兩者進行比較來加強記憶。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SOyQDNyYDO0IWY3ATNkBjZyYzXzATOxcTM4AzLchDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
幀格式
DLT645協定的資料幀由,起始符、位址域、控制符、資料域長度、資料域、檢驗碼、結束符組成,每個部分都由十六進制碼構成。
1.幀起始符 68H
DLT645協定的資料幀每幀的開始都固定為0x68,作為資料的起始符友善接收方做資料解析。
2.位址域 A0~A5
位址域是用來表示電表位址,低位在前,高位在後;在485總線上可能挂着多個645裝置,要找到指定的裝置,必須要根據裝置的位址查找。每台裝置出廠會有自己的位址,也可以修改裝置的通信位址。如下圖
該裝置的位址為00013310。
3.控制碼
1個位元組,例如讀取資料的控制碼為0x11(00010001),讀取通訊位址的控制碼為0x13(00010011)。
4.資料長度L
1個位元組,表示資料域的位元組數,讀取資料時L<= 200;寫資料時L <= 50,L=0表示無資料域。
5.資料域
資料域為變長,位元組數由資料長度L決定,傳輸時候。發送方需要加0x33,接收方需要減去0x33。
6. CS校驗碼
1個位元組,采用算術和進行校驗。
7.結束符16H
DLT645的指令幀均已0x16作為結束符。
應答幀
無線通信協定傳輸
在發送幀資訊之前,需要根據裝置需要先發送前導碼,前導碼由0-4個FEH組成,所有資料項都是按照低位元組在前,高位元組在後的方式傳輸。通訊的時候現有主站發出資訊幀,然後從站收到後根據資訊做應答。
例如
發送:68 03 20 12 22 20 65 68 11 04 33 33 33 33 8D 16