DL/T645-2007通信协议指令学习记录
DL/T645-2007通信協議指令學習記錄
- DL/T645協議版本
- DL/T645通信鏈路
- DL/T645-2007數據格式
- 地址域
- 控制碼C
- 數據長度L
- 數據域 DATA
- 校驗碼 CS
- 數據標識
- 后記
 
DL/T645協議版本
DL/T645協議目前存在DL/T645-1997、DL/T645-2007兩個版本。
DL/T645通信鏈路
DL/T645協議設計初時采用RS-485 標準串行電氣接口,為主-從結構的半雙工通信方式。所以設計了起始符、結束符、效驗碼等標記保證數據準確性,當然也可以通過TCP方式通信。
DL/T645-2007數據格式
每條數據由:幀起始符、從站地址域、控制碼、數據域長度、數據域、幀信息縱向校驗碼及幀結束符7個域組成。每部分由若干字節組成。
 
 一般在起始符前面會有0~4個FE不等,程序主站發送指令時,直接發送4個FE即可,但是從站回復不一定帶幾個FE或不帶FE。
地址域
地址域由6個字節組成,地址域傳輸時低字節在前,高字節在后。設備地址是100210003518,在指令中是18 35 00 10 02 10。
 如:68 18 35 00 10 02 10 68 11 04 33 34 34 35 24 16
控制碼C
這部分類似于Modbus的功能碼,但是比功能碼更加復雜,所攜帶的信息更多,程序根據這個控制碼C判斷后續的操作。
 
 以讀取A相電壓為例
 主站請求:68 18 35 00 10 02 10 68 11 04 33 34 34 35 24 16
 從站回復:68 18 35 00 10 02 10 68 91 06 33 34 34 35 7C 55 77 16
 請求控制碼是11,轉為二進制是:0001 0001。
 根據控制碼定義可以得出含義是:傳送方向:0主站發出、功能碼:10001讀數據。
 回復控制碼是91,轉為二進制是:1001 0001。
 根據控制碼定義可以得出含義是:傳送方向:1從站發出、功能碼:10001讀數據。
數據長度L
請求數據04,表示包含4個字節的數據。響應06同理。
數據域 DATA
數據域包括數據標識、密碼、操作者代碼、數據、幀序號等,其結構隨控制碼的功能而改變。
 數據域傳輸時低字節在前,高字節在后
 傳輸時發送方按字節進行加33H處理,接收方按字節進行減33H處理
 以讀取A相電壓為例
 主站請求:68 18 35 00 10 02 10 68 11 04 33 34 34 35 24 16
 從站回復:68 18 35 00 10 02 10 68 91 06 33 34 34 35 7C 55 77 16
 請求數據域是33 34 34 35為加33H的結果,轉為原始數據為02 01 01 00。
 響應數據域是33 34 34 35 7C 55,轉為原始數據為22 49 02 01 01 00,所以A相電壓數值為224.9。(電壓數據格式是XXX.X)
 
校驗碼 CS
從第一個幀起始符開始到校驗碼之前的所有各字節的模 256 的和,即各字節二進制算術和,不計超過 256 的溢出值。
數據標識
數據標識編碼用四個字節區分不同數據項,四字節分別用DI3、DI2、DI1和DI0代表,每字節采用十六進制編碼。數據類型分為七類:電能量、最大需量及發生時間、變量、事件記錄、參變量、凍結量、負荷記錄。
 單個數據項可以用對應數據項的標識碼唯一地標識。
 如單獨讀取A相電壓的數據標識為:02 01 01 00、B相為:02 01 02 00、C相為:02 01 03 00。
 主站請求:68 18 35 00 10 02 10 68 11 04 33 34 34 35 24 16
 數據標識DI2 、DI1 、DI0中任意一字節取值為FFH時(其中DI3不存在FFH的情況),代表該字節定義的所有數據項與其它三字節組成的數據塊。
 當請求訪問由若干數據項組成的數據集合時,可使用數據塊標識碼。
 如同時讀取三相電壓的數據標識為:02 01 FF 00。
 主站請求:68 18 35 00 10 02 10 68 11 04 33 32 34 35 22 16
后記
本文只是記錄本人學習過程中的理解,可能有部分內容有紕漏,望各位不吝賜教。
 下篇DL/T645-2007通信協議應用層學習記錄
總結
以上是生活随笔為你收集整理的DL/T645-2007通信协议指令学习记录的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 物流英语与计算机操作,物流【英语】与计算
- 下一篇: VS无法使用编辑并继续 及 警告LNK4
