大家好,我是小头菜,最近收到一个小伙伴求助,他买的几个DLT698协议的电表都读不到数据,怀疑是这批电表有问题。 后来我发现是他的波特率不对造成的,DLT698默认波特率不是2400。
我们习惯了DLT645默认波特率是2400,可能会误以为DLT698协议也是一样,其实DLT698和DLT645协议在默认的波特率和奇偶校验方面有一些相似之处,但也存在差异。下面详细分析:
DLT645:
默认波特率为 2400 bps,红外端口波特率默认是1200。
也支持其他波特率,如1200、4800、9600等,但2400bps是最常见的默认值。
DLT698:
默认波特率为 9600 bps,红外端口波特率也是9600。
支持更高的波特率(如19200、38400等),以适应更高效的通信需求。
DLT645:
默认使用偶校验(Even)。
数据帧中每个字节的校验位为偶校验位。
DLT698:
默认也是使用偶校验,但有些电表使用无校验(None)。
数据帧偶校验位或不校验,报文帧通过帧头校验(HCS)和帧校验序列(FCS)实现。
数据位:
两者默认均为8位数据位。
停止位:
两者默认均为1位停止位。
波特率:DLT645默认2400,DLT698默认9600。
奇偶校验:两者均为偶校验。
数据位和停止位:两者均为8位数据位和1位停止位。
在实际应用中,如果电表同时支持DLT645和DLT698协议,通常需要参考设备的说明书,看两个协议是否需要在设置中切换。
推荐阅读: