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