DL/T645-2007_Part1(协议帧解析)

news2024/11/15 10:58:59

帧结构

起始字符68H地址域起始字符68H控制码C数据域长度L数据域校验和CS结束字符16H
1Byte6Byte1Byte1Byte1ByteN Byte1Byte1Byte

地址域

  • 地址域为6个字节的BCD码构成,当使用的地址码长度不足6字节,高位用0补足;
  • 当通信地址为99999999999H时,为广播地址,只针对特殊命令有效,如广播校时和广播冻结等,广播命令时,不要求从站应答;
  • 地址域支持缩位寻址,,即从若干低位起,剩余高位补AAH作为通配符进行读表操作,从站应答帧的地址域返回实际通信地址;
  • 地址域传输时低字节在前,高字节在后;

控制码C

D7D6D5D4-D0
传输方向从站应答标志后续帧标志功能码
0:主站发出的命令帧0:从站正确应答标志0:无后续帧标志00000:保留
1: 从站发出的命令帧1:从站异常应答标志1:有后续帧标志01000:广播校时
10001:读数据
10010:读后续数据
10011:读通信地址
10100:写数据
10101:写通信地址
10110:冻结命令
10111:更改通信速率
11000:修改密码
11001:最大需量清零
11010:电量清零
11010:事件清零

数据长度L

读数据时 L小于等于200,写数据时 L小于等于50,L=0表示无数据域。

数据域

数据域包括数据标识、密码、操作者代码、数据、帧序号等,其结构岁控制码的功能而改变。传输时发送方按字节进行加33H处理,接收方按字节进行减33H处理。

校验码

从第一帧其实符到校验码之前的所有字节的的二进制算术和,不计超过256的溢出值。

传输

前导字节

在主站发送帧信息之前,先发送4个字节 EFH,以唤醒接收方。

传输次序

所有数据项均先传低位字节,后传高位字节。例:电能值为 123456.78 kWh

传输次序图

字节校验为偶校验,帧校验为纵向信息校验和,接收方无论检测到偶检验出错或者纵向信息校验和出错,均放弃信息帧,不予响应。

传输响应

每次通信都是由主站向按信息帧地址域选择的从站发出请求命令帧开始,被请求的从站接收到命令后作出响应。收到命令帧后的响应延时:大于20ms小于500ms;字节之间停顿时间应小于500ms.

数据标识

数据标识结构

数据标识码用4个字节区分不同数据项,4字节分别用 DI3、DI2、DI1、DI0代表,梅子姐采用16进制编码。数据类型分为7类:电能量、最大需量及发生时间、变量、事件记录、参变量、冻结量、负荷记录。

数据传输形式

数据标识码标识单个数据项或数据项集合。当请求方位由若干数据项组成的数据集合时,可使用数据块标识码。实际应用以数据标识编码表定义内容为准。

除特殊说明的数据项以 ASCII 码表示外,其他数据均采用若干压缩BCD吗表示。

数据标识DI3、DI2、DI1、DI0中任一字节取值为 FFH 时(其中DI3不存在 FFH 情况),代表该字节定义的所有数据项与其他3个字节组成的数据块。例子“

  • 标识码 DI3、DI2、DI1、DI0=00010000H(数据项)表示当前正向有功总电能;
  • 标识码 DI3、DI2、DI1、DI0=000100FFH(数据块)表示正向有功总电能数据块,包含当前、上1结算日~上12结算日正向有功总电能数据;
  • 标识码 DI3、DI2、DI1、DI0=0001FF00H(数据块)表示当前正向有功电能量数据块,包含总、费率1、费率2…的当前正向有功电能数据;

应用层

读数据

主站请求帧

  1. 功能:请求读电能表数据
  2. 控制码:11H
  3. 数据长度:L=04H+(数据长度)

m=0时:

68HA0 A1 A2 A3 A4 A568H11H04HDI0 DI1 DI2 DI3CS16H
起始帧地址域后续帧标志控制码数据域长度数据标识校验码结束字符

m=1时,读给定块数的符合记录:

68HA0 A1 A2 A3 A4 A568H11H05HDI0 DI1 DI2 DI3NCS16H
起始帧地址域后续帧标志控制码数据域长度数据标识负荷记录块数校验码结束字符

m=6时,读给定时间、块数的负荷记录:

68HA0 A1 A2 A3 A4 A568H11H0AHDI0 DI1 DI2 DI3NmmhhDDMMYYCS16H
起始帧地址域后续帧标志控制码数据域长度数据标识负荷记录块数校验码结束字符

从站正常应答

  1. 控制码:C=91H 无后续数据帧; C=B1H 有后续数据帧;
  2. 数据域长度:L=04H+m(数据长度);

无后续数据帧:

68HA0 A1 A2 A3 A4 A568H91HLDI0 DI1 DI2 DI3N1…NmCS16H
起始帧地址域后续帧标志控制码数据域长度数据标识数据校验码结束字符

有后续数据帧:

68HA0 A1 A2 A3 A4 A568HB1HLDI0 DI1 DI2 DI3N1…NmCS16H
起始帧地址域后续帧标志控制码数据域长度数据标识数据校验码结束字符

从站异常应答帧

  1. 控制码: C=D1H;
  2. 数据域长度: L=01H;
68HA0 A1 A2 A3 A4 A568HD1H01HERRCS16H
起始帧地址域后续帧标志控制码数据域长度错误信息字校验码结束字符

读后续数据

主站请求帧

  1. 功能:请求读后续数据;
  2. 控制码: C=12H;
  3. 数据域长度: L=05H
68HA0 A1 A2 A3 A4 A568H12H05HDI0 DI1 DI2 DI3SEQCS16H
起始帧地址域后续帧标志控制码数据域长度数据标识帧序号校验码结束字符

从站正常应答帧

  1. 控制码: C=92H 表示无后续数据帧, C=B2H 表示有后续数据帧,;
  2. 数据域长度:L=05H+m(数据长度);

无后续数据帧格式

68HA0 A1 A2 A3 A4 A568H92HLDI0 DI1 DI2 DI3N1…NmSEQCS16H
起始帧地址域后续帧标志控制码数据域长度数据标识数据帧序号校验码结束字符

无后续数据帧格式

68HA0 A1 A2 A3 A4 A568HB2HLDI0 DI1 DI2 DI3N1…NmSEQCS16H
起始帧地址域后续帧标志控制码数据域长度数据标识数据帧序号校验码结束字符

从站异常应答帧

  1. 控制码 C=D2H;
  2. 数据域长度: L=01H;
68HA0 A1 A2 A3 A4 A568HD2H01HERRCS16H
起始帧地址域后续帧标志控制码数据域长度错误信息字数据校验码

写数据

主站请求帧

  1. 功能:主站向从站请求设置数据(或编程)
  2. 控制码: C=14H;
  3. 数据域长度:L=04H+04H(密码)+04H(操作者代码)+m(数据长度)
68HA0 A1 A2 A3 A4 A568H14HLDI0 DI1 DI2 DI3PA P0 P1 P2C0 C1 C2 C3N1…NmSEQCS16H
起始帧地址域后续帧标志控制码数据域长度数据标识密码操作者代码数据帧序号校验码结束字符

P0P1P2为密码,PA表示该密码权限;C0C1C2C3是操作者代码,为要求记录操作人员信息的项目提供数据;本命令必须与编程键配合使用。

从站应答帧

从站正常应答帧

  1. 控制码: C=94H;
  2. 数据域长度: L=00H;
68HA0 A1 A2 A3 A4 A568H94H00HCS16H
起始帧地址域后续帧标志控制码数据域长度校验码结束字符

从站异常应答帧

  1. 控制码: C=D4H;
  2. 数据域长度: L=01H;
68HA0 A1 A2 A3 A4 A568HD4H01HERRCS16H
起始帧地址域后续帧标志控制码数据域长度错误信息字校验码结束字符

读通信地址

主站请求帧

  1. 功能:请求读电能表通信地址,仅支持点对点通信;
  2. 地址域:AAH…AAH
  3. 控制码: C=13H;
  4. 数据域长度: L=00H;
68HAAH AAH AAH AAH AAH AAH68H13H00HCS16H
起始帧地址域后续帧标志控制码数据域长度校验码结束字符

从站正常应答帧

  1. 控制码: C=93H;
  2. 数据域长度: L=06H;
68HA0 A1 A2 A3 A4 A568H93H06HA0 A1 A2 A3 A4 A5CS16H
起始帧地址域后续帧标志控制码数据域长度通信地址校验码结束字符

写通信地址

主站请求帧

  1. 功能:设置某从站的通信地址,仅支持点对点通信;
  2. 地址域:AAH…AAH
  3. 控制码: C=15H;
  4. 数据域长度: L=06H;
68HA0 A1 A2 A3 A4 A568H15H06HA0 A1 A2 A3 A4 A5CS16H
起始帧地址域后续帧标志控制码数据域长度通信地址校验码结束字符

从站正常应答帧

  1. 控制码: C=95H;
  2. 地址域:新设置的通信地址
  3. 数据域长度: L=00H;
68HA0 A1 A2 A3 A4 A568H95H00HCS16H
起始帧地址域后续帧标志控制码数据域长度校验码结束字符

从站异常时不应答。

广播校时

  1. 功能:强制从站与主站时间同步;
  2. 控制码: C=08H;
  3. 数据域长度: L=06H;
68HA0 A1 A2 A3 A4 A568H08H06HssmmhhDDMMYYCS16H
起始帧地址域后续帧标志控制码数据域长度校验码结束字符

广播校时不要求应答;仅当从站的日期和时钟与主站的时差在正负5min以内时执行广播校时命令,即将从站的日期时钟调整到与命令下达的日期时钟一致;不推荐在0点校时,以免影响在0时进行的某些例行操作;每天只允许校时一次。

冻结命令

主站请求帧

  1. 功能:冻结电能表数据,冻结内容见冻结数据标识编码表;
  2. 控制码: C=16H;
  3. 数据域长度: L=04H;
68HA0 A1 A2 A3 A4 A568H16H04HmmhhDDMMCS16H
起始帧地址域后续帧标志控制码数据域长度校验码结束字符

广播冻结命令帧格式

68HA0 A1 A2 A3 A4 A568H16H04HmmhhDDMMCS16H
起始帧地址域后续帧标志控制码数据域长度校验码结束字符

广播冻结不要求应答;数据域99DDhhmm表示以月为周期定时冻结,数据域9999hhmm表示以日为周期定时冻结,数据域999999mm表示以小时为周期定时冻结,数据域99999999表示瞬时冻结。

从站正常应答帧

  1. 控制码: C=96H;
  2. 数据域长度: L=00H;
68HA0 A1 A2 A3 A4 A568H96H00HCS16H
起始帧地址域后续帧标志控制码数据域长度校验码结束字符

从站异常应答帧

  1. 控制码: C=D6H;
  2. 数据域长度: L=01H;
68HA0 A1 A2 A3 A4 A568HD6H01HERRCS16H
起始帧地址域后续帧标志控制码数据域长度错误信息字校验码结束字符

更改通信速率

主站请求帧

  1. 功能: 更改电能表当前通信速率为其他标准速率;
  2. 控制码: C=17H;
  3. 数据域长度: L=01H;
68HA0 A1 A2 A3 A4 A568H17H01HZCS16H
起始帧地址域后续帧标志控制码数据域长度通信速率特征字校验码结束字符

从站正常应答帧

  1. 控制码: C=97H;
  2. 数据域长度: L=01H;
68HA0 A1 A2 A3 A4 A568H97H01HZCS16H
起始帧地址域后续帧标志控制码数据域长度通信速率特征字校验码结束字符

从站异常应答帧

  1. 控制码: C=D7H;
  2. 数据域长度: L=01H;
68HA0 A1 A2 A3 A4 A568HD7H01HERRCS16H
起始帧地址域后续帧标志控制码数据域长度错误信息字校验码结束字符

修改密码

主站请求帧

  1. 功能: 修改从站密码设置;
  2. 控制码: C=18H;
  3. 数据域长度: L=0CH;
68HA0 A1 A2 A3 A4 A568H18H0CHDI0 DI1 DI2 DI3PA P0 P1 P2PAn P0n P1n P2nCS16H
起始帧地址域后续帧标志控制码数据域长度数据标识原始密码新密码校验码结束字符

P0 P1 P2为源密码或更高权限的密码,PA表示该密码权限;P0n P1n P2n表示新密码或需要设置的密码,PAn 为新密码的权限。PA 的取值范围为00-09,00为最高权限,数值越大权限越低。权限级别分别为:02级电表清零、时间清零;04级写数据、最大需量清零。本命令必须与编程键配合使用。

从站正常应答帧

  1. 控制码: C=98H;
  2. 数据域长度: L=01H;
68HA0 A1 A2 A3 A4 A568H98H04HPAn P0n P1n P2nCS16H
起始帧地址域后续帧标志控制码数据域长度新密码校验码结束字符

从站异常应答帧

  1. 控制码: C=D8H;
  2. 数据域长度: L=01H;
68HA0 A1 A2 A3 A4 A568HD7H01HERRCS16H
起始帧地址域后续帧标志控制码数据域长度错误信息字校验码结束字符

最大需量清零

主站请求帧

  1. 功能: 当前最大需量及发生时间数据清零;
  2. 控制码: C=19H;
  3. 数据域长度: L=08H;
68HA0 A1 A2 A3 A4 A568H19H08HDI0 DI1 DI2 DI3PA P0 P1 P2C0 C1 C2 C3CS16H
起始帧地址域后续帧标志控制码数据域长度数据标识密码操作者代码校验码结束字符

本命令必须与编程键配合使用。

从站正常应答帧

  1. 控制码: C=99H;
  2. 数据域长度: L=00H;
68HA0 A1 A2 A3 A4 A568H99H00HCS16H
起始帧地址域后续帧标志控制码数据域长度校验码结束字符

从站异常应答帧

  1. 控制码: C=D9H;
  2. 数据域长度: L=01H;
68HA0 A1 A2 A3 A4 A568HD9H01HERRCS16H
起始帧地址域后续帧标志控制码数据域长度错误信息字校验码结束字符

电表清零

主站请求帧

  1. 功能: 清空电能表内电能量、最大需量及发生时间、冻结量、事件记录、负荷纪录等数据;
  2. 控制码: C=1AH;
  3. 数据域长度: L=08H;
68HA0 A1 A2 A3 A4 A568H1AH08HPA P0 P1 P2C0 C1 C2 C3CS16H
起始帧地址域后续帧标志控制码数据域长度密码校验码结束字符

本命令必须与编程键配合使用。命令执行事电能表应保证电表清零事件记录不被清除,并自动保存该事件的相应数据。

从站正常应答帧

  1. 控制码: C=9AH;
  2. 数据域长度: L=00H;
68HA0 A1 A2 A3 A4 A568H9AH00HCS16H
起始帧地址域后续帧标志控制码数据域长度校验码结束字符

从站异常应答帧

  1. 控制码: C=DAH;
  2. 数据域长度: L=01H;
68HA0 A1 A2 A3 A4 A568HDAH01HERRCS16H
起始帧地址域后续帧标志控制码数据域长度错误信息字校验码结束字符

事件清零

主站请求帧

  1. 功能: 清空电能表内存储的全部或某类事件的记录数据;
  2. 控制码: C=1BH;
  3. 数据域长度: L=0CH;

事件总清零

68HA0 A1 A2 A3 A4 A568H1BH0CHPA P0 P1 P2C0 C1 C2 C3FFH FFH FFH FFHCS16H
起始帧地址域后续帧标志控制码数据域长度密码操作者代码校验码结束字符

分项事件清零

68HA0 A1 A2 A3 A4 A568H1BH0CHPA P0 P1 P2C0 C1 C2 C3FFH DI1 DI2 DI3CS16H
起始帧地址域后续帧标志控制码数据域长度密码操作者代码校验码结束字符

本命令必须与编程键配合使用,执行此命令时不允许清空事件清零记录和电表清零记录数据。

从站正常应答帧

  1. 控制码: C=9BH;
  2. 数据域长度: L=00H;
68HA0 A1 A2 A3 A4 A568H9BH00HCS16H
起始帧地址域后续帧标志控制码数据域长度校验码结束字符

从站异常应答帧

  1. 控制码: C=DBH;
  2. 数据域长度: L=01H;
68HA0 A1 A2 A3 A4 A568HDBH01HERRCS16H
起始帧地址域后续帧标志控制码数据域长度错误信息字校验码结束字符

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1939562.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自学 阿里巴巴Java开发手册最新版(嵩山版)

🔴 阿里巴巴Java开发手册最新版(嵩山版) 一、编程规约(一) 命名风格(二) 常量定义(三) 代码格式(四) OOP 规约(五) 日期时间(六) 集合处理(七) 并发处理(八) 控制语句(九) 注释规约(十) 前后端规范 二、异常日志(一) 错误码(二) 异常处理(三)…

【BUG】已解决:python setup.py bdist_wheel did not run successfully.

已解决:python setup.py bdist_wheel did not run successfully. 目录 已解决:python setup.py bdist_wheel did not run successfully. 【常见模块错误】 解决办法: 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主…

自动驾驶-预测概览

通过生成一条路径来预测一个物体的行为,在每一个时间段内,为每一辆汽车重新计算预测他们新生成的路径,这些预测路径为规划阶段做出决策提供了必要信息 预测路径有实时性的要求,预测模块能够学习新的行为。我们可以使用多源的数据…

NetSuite Saved Search迁移工具

我们需要在系统间迁移Saved Search,但是采用Copy To Account或者Bundle时,会有一些Translation不能迁移,或者很多莫名其妙的Dependency,导致迁移失败。因此,我们想另辟蹊径,借助代码完成Saved Search的迁移…

数据库事务隔离级别及底层原理详解

本文详细记录了数据库中事务的隔离级别及其定义,以及每个隔离级别下可能会遇到哪些问题及对应的解决方案和原理,以下内容结合为各大平台的知识点加自己的理解进行的总结,希望大家在读完以后能对事务有个全新的认识~~ 1. MySQL事务管理 自动…

Connecting weaviate with langflow across docker containers

题意:在Docker容器之间连接Weaviate与Langflow 问题背景: I am trying to build a local RAG application using Langflow. For my vectore store, I want to use a local Weaviate instance, hosted in a separate docker container on the same netwo…

使用dock构建基于lnmp的WrodPress

项目要求: 1.创建nginx容器环境 上传nginx.conf文件、上传阿里云镜像、上传html目录 2.准备mysql cd /opt mkdir mysql 上传my.conf文件、上传阿里云镜像、写好的Dockfile文件 3.准备php cd /opt mkdir php 上传所需文件: 构建各镜像: …

【艺术向】【素描创作记录】《如何为你的红颜知己创作一幅画像(之二)》

写在前面 之前分析过类似的创作过程,见博客【艺术向】【素描创作记录】《如何为你的红颜知己创作一幅画像》 本人业余时间修习素描多年,在此撰文记录《如何为你的红颜知己创作一幅画像(之二)》,博得对方好感&#xff…

JQuery+HTML+JavaScript:实现地图位置选取和地址模糊查询

本文详细讲解了如何使用 JQueryHTMLJavaScript 实现移动端页面中的地图位置选取功能。本文逐步展示了如何构建基本的地图页面,如何通过点击地图获取经纬度和地理信息,以及如何实现模糊查询地址并在地图上标注。最后,提供了完整的代码示例&…

【proteus经典实战】LCD滚动显示汉字

一、简介 Proteus是一款功能丰富的电子设计和仿真软件,它允许用户设计电路图、进行PCB布局,并在虚拟环境中测试电路功能。这款软件广泛应用于教育和产品原型设计,特别适合于快速原型制作和电路设计教育。Proteus的3D可视化功能使得设计更加直…

Elasticsearch ILM 热节点迁移至冷节点 IO 打满、影响读写解决方案探讨

1、实战问题 ILM(索引生命周期管理) 遇到热数据迁移至冷节点时造成 IO 打满影响读写的情况。 现在采取的方案是调整索引生命周期策略,定时的将Cold phase 开启/关闭。低峰开启,高峰关闭。 就是不知道这里面会有啥坑。 热节点&…

C++笔试强训7

文章目录 一、选择题1-5题6-10题 二、编程题题目一题目二 一、选择题 1-5题 基础知识,函数代码少,频繁调用的时候才适合定义内联函数。 故选C。 在C中,inline关键字是用来向编译器建议将函数体在每个调用点“内联展开”的。这意味着编译器会…

意得辑润色极致优惠方案

祝审稿人们编辑们及他们全家工作顺利身体健康万事如意心想事成🙇🏻🙇🏻🙇🏻 好人一生平安🙏🏻🙏🏻🙏🏻 #accept

探索 io_uring:理解高效异步 IO 的工作原理与实现细节

概述 io_uring 是一个 Linux 内核提供的高性能异步 I/O 框架,最初在 Linux 5.1 版本中引入。它的设计目标是解决传统的异步 I/O 模型(如 epoll 或者 POSIX AIO)在大规模 I/O 操作中效率不高的问题。 关键特点和优势包括: 零拷贝…

驱动框架——CMSIS第一部分 RTE驱动框架介绍

一、介绍CMISIS 什么是CMSIS(cortex microcontrol software interface standard一种软件标准接口),官网地址:https://arm-software.github.io/CMSIS_6/latest/General/index.html 包含的core、driver、RTOS、dsp、nn等部分&…

【C++】位运算:消失的两个数字

1.题目 2.算法思路 众所周知:相同的两个数字异或在一起等于0,而异或运算又遵循交换律和结合律。 所以这道题目的思路就有了: 1.可以将数组和1~N中的所有整数全部异或在一起,就可以得到缺失的两个数(a,b)…

使用Python创建和扫描二维码

二维码(Quick Response code)已成为在物理和数字领域之间架起桥梁的多功能工具。从分享联系信息和网站链接到促进支付和跟踪库存,二维码在各个行业中找到了应用。通过利用Python的功能,用户可以自动化生成个性化的二维码&#xff…

基于SpringBoot+Vue的财务管理系统(带1w+文档)

基于SpringBootVue的财务管理系统(带1w文档) 基于SpringBootVue的财务管理系统(带1w文档) 财务管理系统的开发运用java技术、springboot框架,MIS的总体思想,以及Mysql等技术的支持下共同完成了该系统的开发,实现了财务管理的信息化&#xff0…

C语言函数:编程世界的魔法钥匙(2)-学习笔记

引言 注:由于这部分内容比较抽象,而小编我又是一个刚刚进入编程世界的计算机小白,所以我的介绍可能会有点让人啼笑皆非。希望大家多多包涵!万分感谢!待到小编我学有所成,一定会把这块知识点重新介绍一遍&a…

VB利用API调用系统的通用颜色对话框

Option Explicit 在窗体上添加一个Command1按钮控件 Private Type ChooseColor lStructSize As Long hwndOwner As Long hInstance As Long rgbResult As Long lpCustColors As String Flags As Long lCustData As Long lpfnHook As Long lpTemplateName As String End Type 该…