智能电表的DLT645 | 您所在的位置:网站首页 › 河东智能用的什么协议 › 智能电表的DLT645 |
![]() 最近在做电量负荷预测的研究过程中需要采集实时用电负荷,需要一款智能电表采集数据,调试此智能电表的过程中需要发送和解析报文,特此记录。 文章目录 一、DL/T645-2007协议介绍1、DL/T645-2007协议格式2、地址域3、控制码4、数据域长度5、数据域6、校验码二、Modbus协议介绍1、Modbus RTU2、Modbus ASCII3、Modbus TCP三、智能电表调试1、智能电表介绍2、智能电表本地联调3、智能电表与网关联调 一、DL/T645-2007协议介绍 DLT645协议是一种国内电表远传协议,与Modbus协议类似,采用请求应答式交互模型,采集器和电表一问一答进行通信,电气层可以是经典的RS485有线通信,也可以是非接触式红外无线通信。DLT645是国内电力行业通信标准,国网南网的表基本都支持,距今为止有两个版本,DL/T645-1997协议和DL/T645-2007协议,以下简称97协议和07协议,两者帧结构类似,新出厂的表具都会支持07协议,电表厂商为了向前兼容,支持07的表,会同时支持97协议,用两种协议都可以进行通信。 1、DL/T645-2007协议格式 每条数据由:帧起始符、从站地址域、控制码、数据域长度、数据域、帧信息纵向校验码及帧结束符7个域组成,每部分由若干字节组成![]() 地址域由6个字节组成,地址域传输时低字节在前,高字节在后。以下图智能电表为例,编号为220208005371,该厂家定义的电表地址为71 53 00 08 02 22。 ![]() 这部分类似于Modbus的功能码,但是比功能码更加复杂,所携带的信息更多,程序根据这个控制码C判断后续的操作。 ![]() 04,表示包含4个字节的数据。 5、数据域 数据域包括数据标识、密码、操作者代码、数据、帧序号等,其结构随控制码的功能而改变 数据域传输时低字节在前,高字节在后,传输时发送方按字节进行加33H处理,接收方按字节进行减33H处理![]() 以读取电压为例: 发送 68 71 53 00 08 02 22 68 11 04 33 32 34 35 A3 16 发送的数据域为33 32 34 35,按减33H处理后为 00 FF 01 02,低位在前高位在后,对应协议标准文件中的电压数据块 应答 68 71 53 00 08 02 22 68 91 0A 33 32 34 35 8C 55 33 33 33 33 D6 16 应答数据域为33 32 34 35 8C 55 33 33 33 33 其中33 32 34 35为数据标识处理后为02 01 FF 00,即电压数据块 8C 55 33 33 33 33数据按减33H处理后得到59 22 00 00 00 00 ,转为十进制为22818,小数点往前移两位得到228.18V常用的数据标识有: 电压数据:0201FF00 电流数据:0202FF00 瞬时视在功率:0205FF00 瞬时总有功功率:0203FF00 瞬时总无功功率:0204FF00 瞬时总视在功率:0205FF00 功率因数数据块:0206FF00 零线电流:02800001 正向有功总电能:0001FF00 反向有功总电能:0002FF00 组合无工1总电能:0003FF00 组合无工2总电能:0004FF00 正向有功总最大需量及发生时间:01010000 运行状态字:040005FF 电网频率:02800002 当前有功需量:02800004 6、校验码从第一个帧起始符开始到校验码之前的所有各字节的模 256 的和,即各字节二进制算术和,不计超过 256 的溢出值。 二、Modbus协议介绍Modbus协议目前存在Modbus RTU、Modbus ASCII、Modbus TCP三个版本。 Modbus RTU协议是一种紧凑的,采用二进制表示数据的方式,带有循环冗余校验的校验和; Modbus ASCII协议是一种人类可读的,冗长的表示方式,采用纵向冗余校验的校验和; Modbus TCP协议,这种方式不需要校验和计算。大多数Modbus设备如:液位计、流量计、智能电表等通过串行通信,采用Modbus RTU和Modbus ASCII协议。PLC设备一般通过TCP/UDP连接,采用Modbus TCP协议。因为设备的限制和串行通信的需求,也可以采用Modbus RTU over TCP/UDP的通信方式,即通过TCP/UDP连接,但是采用Modbus RTU协议。 1、Modbus RTUModbus RTU为传感器类设备、普通智能电表常用的协议一定要弄清楚。请求:01 03 00 00 00 02 C4 0B01:设备地址 ,设备地址为103:功能码 ,当前为03读取请求00 00:寄存器起始地址,从00 00寄存器开始读取00 02:读取寄存器长度 ,读取2个长度,对应回复4个字节C4 0B:CRC效验和回复:01 03 04 00 0C 00 02 BB F101:设备地址 ,设备地址为103:功能码,当前为03读取回复04:数据长度 ,包含4个字节的数据00 0C:寄存器1数值00 02:寄存器2数值BB F1:CRC效验和 2、Modbus ASCII同一条命令用Modbus RTU和Modbus ASCII方式表现出来,虽然在命令长度上有很大区别(ASCII为RTU的两倍),但表达的意思是完全一样的,所以不建议使用。请求:3A 30 31 30 33 30 30 30 30 30 30 30 32 46 41 0D 0A3A:起始符30 31:设备地址30 33:功能码30 30 30 30:寄存器起始地址30 30 30 32:读取寄存器长度46 41:LRC效验和0D 0A:结束符回复:3A 30 31 30 33 30 34 30 30 30 43 30 30 30 32 45 41 0D 0A3A:起始符30 31:设备地址30 33:功能码30 34:数据长度30 30 30 43:寄存器1数值30 30 30 32:寄存器2数值45 41:LRC效验和0D 0A: 结束符 3、Modbus TCP因为以TCP为连接,有TCP效验保证数据准确,所以协议中取消了效验和。请求:00 00 00 00 00 06 01 03 00 00 00 0200 00:事务标识符,当前为第几次通信,回复与一直,可以通过这项判断请求与指令是否匹配00 00:协议标识符00 06:剩余长度01:设备地址03:功能码00 00:寄存器起始地址00 02:读取寄存器长度回复:00 00 00 00 00 07 01 03 04 00 0C 00 0200 00:事务标识符00 00:协议标识符00 07:剩余长度01:设备地址03:功能码04:数据长度00 0C:寄存器1数值00 02:寄存器2数值 三、智能电表调试 1、智能电表介绍 本次采用浙江正泰仪器仪表有限责任公司的DDSU666.001型单相电子式电能表(导轨)。DDSU666型单相电子式电能表(导轨)(以下简称“仪表”)是针对电力系统、通信行业、建筑行业等电力监控和电能计量需求而设计,为新一代智能仪表,集测量、通讯于一体,主要用于电气线路中电压、电流、功率、频率、功率因数、有功电能等电参量的测量与显示。可通过RS485通讯接口与外部装置实现组网;采用准 DIN35mm导轨式安装,结构模数化设计,具有体积小、易安装、易组网等优点;广泛应用于工矿企业、宾馆、学校、大型公建内部电能考核与监测。 工作原理:仪表通过采样电路将电压、电流信号转换成 MCU可识别的信号,MCU通过计算采样电路中的信号将其计算及转换成电能、功率、功率因数等电参量,并通过显示电路显示给用户,同时将数据保存到存储电路中,另外该仪表也可通过通讯电路与其他符合本仪表接口及协议的通讯设备进行通讯。仪表工作原理框图如图所示: ![]() 仪表采用 RS485通信方式,波特率可设为 1200、2400bps、4800bps、9600bps。 同一条通讯线路上最多可以同时连接 32个仪表,每个仪表均可设定其通讯地址,通讯连接应使用带有铜网的屏蔽双绞线,线径不小于 0.5mm2 。布线时应使通讯线远离强电电缆或其他强电场环境,最大传输距离为 1200m,典型的网络连接方式如图,用户可根据具体情况选用其他合适的连接方式。 连接方式:![]() 使用USB转485的工具连接智能电表,USB连接到电脑上,使用串口调试助手发送报文和接收报文,当本地调试测试无误后再将智能电表添加负载并连接到智能网关进行部署。 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 原创文章,作者:happytang,如若转载,请注明出处:https://www.wudianban.com/zndbmodbus.html |
CopyRight 2018-2019 实验室设备网 版权所有 |