DL/T645-2007电表协议 数据域DATA注意事项

调07规约电表时忽略了一点,导致一直调不通

过程:
1、想要修改电表波特率
2、查看通信协议
在这里插入图片描述
在这里插入图片描述
我想把它设为2400bps
就发送了如下指令:
[发送]68 01 00 12 01 19 20 68 17 01 08 3D 16
[接收]FE FE 68 01 00 12 01 19 20 68 D7 01 35 2A 16
结果出错了。。。
通信速率特征字Z为08就是设置为2400bps没问题啊,为什么一直回复出错。
后来又看了一遍协议,才恍然大悟,问题出在DATA字段,协议中有对DATA字段的介绍,发送的DATA要按字节加33H发送,这里的通信速率特征字Z也属于DATA字段,所以也要加33H再发送。

在这里插入图片描述
在这里插入图片描述
正确协议
[发送]68 01 00 12 01 19 20 68 17 01 3B 70 16
[接收]FE FE 68 01 00 12 01 19 20 68 97 01 3B F0 16

08H + 33H = 3B,所以设置波特率为2400,要发送3BH而不是08H。

所有指令都必须遵循数据域DATA传输时发送方按字节进行加 33H 处理,接收方按字节进行减 33H 处理。

DL/T645-1997通讯规约是智能电表领域中非常重要的标准,它规定了如何在电能表和数据终端设备之间进行通信。为了实现基于该规约的数据通信,首先需要设计一个符合标准的RS-485接口电路。RS-485是一种差分信号传输方式,可以实现长距离、高速率的通信,非常适合于多设备的连接环境。接口电路设计时,通常需要考虑以下几个方面: 参考资源链接:[DL/T645-1997智能电表通讯规约解析](https://wenku.csdn.net/doc/3omyvjbf2v) 1. 驱动端和接收端的静电防护能力,通常需要±15kV的ESD保护。 2. 共模输入电压范围,一般要求在-7V到+12V之间。 3. 差模输入电压阈值和驱动输出电压规格。 4. 必须支持三态方式输出,以实现半双工通信。 5. 最大驱动能力,通常需要支持至少32个同类接口。 6. 在100kbps速率下的有效传输距离,至少需要保证1200米。 7. RS-485总线为无源总线,需要由费率装置或数据终端提供隔离电源。 数据帧格式的校验过程也是至关重要的。一个标准的DL/T645-1997数据帧由多个部分组成,包括帧起始符(68H)、地址域(6个字节)、控制码、数据长度域、数据域DATA)以及校验码(CS)和结束符(16H)。校验过程包括: 1. 发送端在数据帧的发送前,计算数据域DATA)的校验码。 2. 校验码通常采用累加和(Sum)或者循环冗余校验(CRC)。 3. 接收端在接收到数据帧后,根据收到的数据域DATA)重新计算校验码。 4. 接收端将重新计算的校验码与收到的校验码进行比较。 5. 如果两者一致,则认为数据帧正确无误;若不一致,则数据传输存在问题,需要重新发送或处理错误。 掌握了上述知识后,你可以利用这些技术细节来设计和实现符合DL/T645-1997通讯规约的智能电表数据通信系统。为了进一步深入理解和掌握这一规约的应用,我推荐你阅读《DL/T645-1997智能电表通讯规约解析》一书,它详细介绍了规约的各个方面,从基础到应用,都是理解和实施DL/T645-1997的关键资源。 参考资源链接:[DL/T645-1997智能电表通讯规约解析](https://wenku.csdn.net/doc/3omyvjbf2v)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Li-Yongjun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值