DLMS通讯过程共有三层,包括以下 物理层,链路层,应用层。每层通讯都是CS模式,数据请求端为C,数据提供端为S。此处的CS对应关系不是固定,比如DCU设备(采集器)它既可以作为智能终端的server端,也可以作为网关服务器的client端(即DCU实现采集智能终端数据,且上报给网关服务器要建立两次DLMS通讯)
一,建立物理层连接
物理层通讯是整个通讯模型的最底层,物理层的做用主要是对底层通讯硬件的操做,比如硬件设备通讯硬件的初始化,打开,关闭。
二,建立链路层连接
物理层连接通过后,即可开始进行链路层的通讯,链路层主要作用是CS建立稳定可靠的连接(类似于HTTPS协议的握手环节),包括有地址校验,报文长度校验,以及CRC算法计算报文整体内容是否正确。以及对多帧的组包拆包(一帧一般最大为1440字节,所以当一次数据传输大于1440,我们一般多帧发送,此时链路层需要把client上传给服务器的多帧组装为一个数据块,同理将服务器下发给client数据块拆分为多帧发送),同时向应用层提供基本的数据传输服务。
三,建立应用层连接
链路层连接建立之后,在DLMS建立应用层连接,才可以进行数据的通讯。这个过程是为数据通讯提供一些配置参数。应用层连接请求由Client端发起,Client端发AARQ帧,Server端响应AARE帧。(之后的文章会有AARQ和AARE的详细说明)
三,通讯流程
当所有连接建立成功后就可以进行数据通讯啦,由client请求,server端相应数据,通讯过程中不同的操作,比如写入操作的请求数据和相应数据会有不同的标志区分(目前操作类型划分有写入操作,读取操作,方法操作,事件上报,事件上报是类似于心跳等状态数据的上报),在请求不同的数据时,要使用特定数据的独有的class id和OBIS(这个可以理解为不同API接口),用以标识不同类型的数据。
四,通讯结束
通讯结束时,发送链路结束帧,结束一次通讯过程,还有一种既是不发链路结束帧,停止一切与服务的数据交互,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
网友评论