? ? ? ?DLMS通訊過程共有三層逐虚,包括以下 物理層聋溜,鏈路層,應用層叭爱。每層通訊都是CS模式撮躁,數據請求端為C,數據提供端為S买雾。此處的CS對應關系不是固定把曼,比如DCU設備(采集器)它既可以作為智能終端的server端,也可以作為網關服務器的client端(即DCU實現采集智能終端數據漓穿,且上報給網關服務器要建立兩次DLMS通訊)
一嗤军,建立物理層連接
? ? ? ? 物理層通訊是整個通訊模型的最底層,物理層的做用主要是對底層通訊硬件的操做晃危,比如硬件設備通訊硬件的初始化叙赚,打開,關閉僚饭。
二震叮,建立鏈路層連接
? ? ? ? 物理層連接通過后,即可開始進行鏈路層的通訊鳍鸵,鏈路層主要作用是CS建立穩(wěn)定可靠的連接(類似于HTTPS協(xié)議的握手環(huán)節(jié))苇瓣,包括有地址校驗,報文長度校驗偿乖,以及CRC算法計算報文整體內容是否正確击罪。以及對多幀的組包拆包(一幀一般最大為1440字節(jié),所以當一次數據傳輸大于1440贪薪,我們一般多幀發(fā)送媳禁,此時鏈路層需要把client上傳給服務器的多幀組裝為一個數據塊,同理將服務器下發(fā)給client數據塊拆分為多幀發(fā)送)古掏,同時向應用層提供基本的數據傳輸服務损话。
三,建立應用層連接
? ? ? ?鏈路層連接建立之后槽唾,在DLMS建立應用層連接,才可以進行數據的通訊光涂。這個過程是為數據通訊提供一些配置參數庞萍。應用層連接請求由Client端發(fā)起,Client端發(fā)AARQ幀忘闻,Server端響應AARE幀钝计。(之后的文章會有AARQ和AARE的詳細說明)
三,通訊流程
? ? ? 當所有連接建立成功后就可以進行數據通訊啦,由client請求私恬,server端相應數據债沮,通訊過程中不同的操作,比如寫入操作的請求數據和相應數據會有不同的標志區(qū)分(目前操作類型劃分有寫入操作本鸣,讀取操作疫衩,方法操作斜脂,事件上報,事件上報是類似于心跳等狀態(tài)數據的上報)墓懂,在請求不同的數據時损谦,要使用特定數據的獨有的class id和OBIS(這個可以理解為不同API接口)揽乱,用以標識不同類型的數據位他。
四朝蜘,通訊結束
? ? ? ? 通訊結束時蚂四,發(fā)送鏈路結束幀歼疮,結束一次通訊過程署咽,還有一種既是不發(fā)鏈路結束幀近顷,停止一切與服務的數據交互,server的超時機制也會掛斷通訊宁否。
? ? ? ? ?然后再關閉設備的端口或者通訊模塊窒升。(物理關閉)
引用文獻
l?IEC 62056-21, Electricity Metering-Data Exchange for Meter Reading, Tariff and Load Control-Part?21:?Direct local data exchange.2001
l?IEC 62056-61, Electricity Metering-Data Exchange for Meter Reading, Tariff and Load Control-Part 61: Object Identification System(OBIS).?2001
l?IEC 62056-62, Electricity Metering-Data Exchange for Meter Reading, Tariffand Load Control-Part 62: Interface Classes.?2001?Data exchange of automatic meter reading system
l?IEC62056-46,Electricity Metering-Data Exchange for Meter Reading, Tariff and Load Control-Part?46: Data?link layer using HDLC protocol
l?IEC 62056-53, Electricity Metering-Data Exchange for Meter Reading, Tariff and Load Control-Part 53: COSEM Application Layer.?2001
l?IEC 61334-6, A-XDR encoding rule