超詳細!DLT645通信協議介紹無線通信協議傳輸簡介 目前主要使用的有兩個版本DLT645-97和DLT645-07,該協議主要用于電表抄表,采用為主-從結構的半雙工通訊模式,硬件接口使用RS-485,協議幀報文和使用方法與modbus rtu類似,我們學習時可以將兩者進行比較來加強記憶。 DLT645協議的數據幀由,起始符、地址域、控制符、數據域長度、數據域、檢驗碼、結束符組成,每個部分都由十六進制碼構成。 DLT645協議的數據幀每幀的開始都固定為0x68,作為數據的起始符方便接收方做數據解析。 2.地址域 A0~A5地址域是用來表示電表地址,低位在前,高位在后;在485總線上可能掛著多個645設備,要找到指定的設備,必須要根據設備的地址查找。每臺設備出廠會有自己的地址,也可以修改設備的通信地址。如下圖 該設備的地址為00013310。 3.控制碼1個字節,例如讀取數據的控制碼為0x11(00010001),讀取通訊地址的控制碼為0x13(00010011)。 4.數據長度L1個字節,表示數據域的字節數,讀取數據時L<= 200;寫數據時L <= 50,L=0表示無數據域。 5.數據域數據域為變長,字節數由數據長度L決定,傳輸時候。發送方需要加0x33,接收方需要減去0x33。 6. CS校驗碼1個字節,采用算術和進行校驗。 7.結束符16HDLT645的指令幀均已0x16作為結束符。 應答幀在發送幀信息之前,需要根據設備需要先發送前導碼,前導碼由0-4個FEH組成,所有數據項都是按照低字節在前,高字節在后的方式傳輸。通訊的時候現有主站發出信息幀,然后從站收到后根據信息做應答。 例如 發送:68 03 20 12 22 20 65 68 11 04 33 33 33 33 8D 16 應答:68 03 20 12 22 20 65 68 91 08 33 33 33 33 33 33 33 33 DD 16 發送:FE FE FE FE 68 18 20 12 22 20 65 68 11 04 33 32 34 35 A4 16 應答: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 |