DL/T 645 协议学习笔记

一、多功能电能表通信协议

  DL/T645多功能电能表通信协议(Multi-function watt-hour meter communication protocol)标准是为统一和规范电能表的多功能电能表与数据终端设备进行数据交换时的物理连接和协议。

1、RS-485 标准串行电气接口

  本标准采用 RS-485 标准串行电气接口,使多点连接成为可能。RS-485 接口的一般性能应符合下列要求:

  • 驱动与接收端耐静电放电 (ESD)±15kV(人体模式);
  • 共模输入电压:-7V~+12V;
  • 差模输入电压:大于 0.2V;
  • 驱动输出电压:在负载阻抗 54Ω 时,最大 5V,最小 1.5V;
  • 三态方式输出;
  • 半双工通信方式;
  • 驱动能力不小于 32 个同类接口;
  • 缺省速率:2400bps,在通信速率不大于 100kbps 条件下,有效传输距离不小于 1200m;
  • 总线是无源的,由多功能电能表或数据终端提供隔离电源。
  • 缺省校验:偶校验
2、数据链路层

  本协议为主-从结构的半双工通信方式。手持单元或其它数据终端为主站,多功能电能表为从站。每个多功能电能表均有各自的地址编码。通信链路的建立与解除均由主站发出的信息帧来控制。每帧由帧起始符从站地址域控制码数据域长度数据域帧信息纵向校验码帧结束符 7 个域组成。每部分由若干字节组成。

2.1 字节格式

  每字节含 8 位二进制码,传输时加上一个起始位(0)、一个偶校验位和一个停止位(1), 共 11 位。其传输序列如图 7。D0 是字节的最低有效位,D7 是字节的最高有效位。先传低位,后传高位
在这里插入图片描述

2.2 帧格式

在这里插入图片描述

2.2.1 帧起始符 68H

  标识一帧信息的开始,其值为 68H=01101000B。

2.2.2 地址域 A0~A5

  地址域由 6 个字节构成,每字节 2 位 BCD 码,地址长度可达 12 位十进制数。每块表具有唯一的通信地址,且与物理层信道无关。当使用的地址码长度不足 6 字节时,高位用“0”补足
  通信地址 999999999999H 为广播地址,只针对特殊命令有效,如广播校时和广播冻结等。广播命令不要求从站应答。
  地址域支持缩位寻址,即从若干低位起,剩余高位补 AAH 作为通配符进行读表操作,从站应答帧的地址域返回实际通信地址。
  地址域传输时低字节在前,高字节在后。

2.2.3 控制码 C

  控制码的格式如下所示。
在这里插入图片描述

2.2.4 数据域长度 L

  L 为数据域的字节数。读数据时 L≤200写数据时 L≤50L=0 表示无数据域

2.2.5 数据域 DATA

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

2.2.6 校验码 CS

  从第一个帧起始符开始到校验码之前的所有各字节的模 256 的和,即各字节二进制算术和,不计超过 256 的溢出值。

2.2.7 结束符 16H

  标识一帧信息的结束,其值为 16H=00010110B。

3、传输
3.3.1 前导字节

  在主站发送帧信息之前,先发送 4 个字节 FEH,以唤醒接收方。有可能有,有可能没有。

3.3.2 传输次序

  所有数据项均先传送低位字节,后传送高位字节。数据传输的举例:电能量值为 123456.78kWh,其传输次序如图
在这里插入图片描述

3.3.3 传输响应

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

3.3.4 差错控制

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

3.3.5 通信速率

  标准速率:600bps,1200bps,2400bps,4800bps,9600bps,19200bps。
  特殊速率:由厂家规定。
  通信速率特征字见附录 C,特征字的各位不允许组合使用,修改通信速率时特征字仅在 Bit0~Bit7一个二进制位为 1 时有效。
在这里插入图片描述

  通信速率的变更,首先由主站向从站发变更速率请求,从站发确认应答帧或否认应答帧。收到从站确认帧后,双方以确认的新速率进行以后的通信,并在通信结束后保持更改速率不变
  注: 最大通信速率受光电头或多功能电能表光学接口的限制,也受多功能电能表数据处理单元中工作时钟频率的限制。

4、数据标识
4.1 数据标识结构

  数据标识编码用四个字节区分不同数据项,四字节分别用 DI3、DI2、DI1和 DI0代表,每字节采用十六进制编码。数据类型分为七类电能量、最大需量及发生时间、变量、事件记录、参变量、冻结量、负荷记录。数据标识具体定义见附录 A 的 A.2 数据标识编码表。
在这里插入图片描述

4.2 数据传输形式

  数据标识码标识单个数据项或数据项集合。单个数据项可以用附录 A.2 中对应数据项的标识码唯一地标识。当请求访问由若干数据项组成的数据集合时,可使用数据块标识码。实际应用以数据标识编码表定义内容为准。

4.2.1 数据项、数据块
4.2.1.1 数据项

  除特殊说明的数据项以 ASCII 码表示外,其它数据项均采用压缩 BCD 码表示

4.2.1.2 数据块

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

4.2.2 举例

  a、标识码 DI3DI2DI1DI0=00010000H(数据项)表示当前正向有功总电能。
  b、标识码 DI3DI2DI1DI0=000100FFH(数据块)表示正向有功总电能数据块,包含当前、上 1 结算日~上 12 结算日正向有功总电能数据。
  c、标识码 DI3DI2DI1DI0=0001FF00H(数据块)表示当前正向有功电能数据块,包含总、费率 1、费率 2….的当前正向有功电能数据。

二、举例
1、串口通信速率设置

在这里插入图片描述

2、通信地址设置和读取

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

注意:

  压缩BCD码是一种用于表示十进制数的编码方式。它使用一个字节来表示两位BCD码,其中高位表示十位数的BCD码,低位表示个位数的BCD码。压缩BCD码可以有效地减少存储空间的使用,因为它将两个BCD码合并到一个字节中。
  例如,十进制数56用压缩BCD码表示为0101 0110。其中,高位0101表示十位数的BCD码为5,低位0110表示个位数的BCD码为6。
  压缩BCD码在一些特定的应用中非常常见,特别是在嵌入式系统和单片机中。它可以用于节省存储空间和提高数据传输效率。

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

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

相关文章

按键控制LED灯

目录 文件夹Hardware: 文件LED.c: 文件LED.h: 文件Key.c: 文件Key.h: 文件夹User: 文件main.c: 首先模块化管理代码 文件夹Hardware: 文件LED.c: // 引入STM32F10x系列微控制器的头文件,包含了一些基本的寄存器和函数声…

5.Python爬虫前的准备工作

知识准备 1) Python语言 Python 爬虫作为 Python 编程的进阶知识,要求具备较好的 Python 编程基础 了解 Python 语言的多进程与多线程,并熟悉正则表达式语法,也有助于编写爬虫程序 2) Web前端 了解 Web 前端的基本知识,比如 …

2-项目介绍

项目介绍 1.文件结构 1.1.后端结构 com.ruoyi ├── common // 工具类 │ └── annotation // 自定义注解 │ └── config // 全局配置 │ └── constant // 通用…

用Netty手写Http/Https服务器

Netty是一个以事件驱动的异步通信网络框架&#xff0c;可以帮助我们实现多种协议的客户端和服务端通信&#xff0c;话不多说&#xff0c;上代码&#xff0c;需要引入下方依赖 <dependency><groupId>io.netty</groupId><artifactId>netty-all</artif…

BUU LFI COURSE 1

靶场教程 1.开局界面&#xff0c;已给出源代码。2.存在文件包含include &#xff0c;直接通过传参 file 进行获取 flag。3.通过访问 url 发现报错&#xff0c;说明 flag 并不在当前目录下&#xff0c;只需要向前访问目录即可。 http://b6ed0fd6-c852-40d0-b285-32d9d00fbf00.…

抖去推短视频矩阵系统+实景无人直播系统技术源头开发

抖去推爆款视频生成器&#xff0c;通过短视频矩阵、无人直播&#xff0c;文案引流等&#xff0c;打造实体商家员工矩阵、用户矩阵、直播矩阵&#xff0c;辅助商家品牌曝光&#xff0c;团购转化等多功能赋能商家拓客引流。 短视频矩阵通俗来讲就是批量剪辑视频和批量发布视频&a…

查询小世界账号网页HTML源码

HTML源码&#xff0c;记事本打开后可以修改里面的内容&#xff0c;电脑本地双击html可以查看效果&#xff0c;复制小世界个人主页链接就可以查询QQ号&#xff0c; 蓝奏云&#xff1a;https://wfr.lanzout.com/ihXCn1lz2jnc

MySQL数据库面试知识点

1、数据库基础&#xff1a; MySQL是一个开源的关系型数据库管理系统&#xff0c;用于存储、管理和检索数据。它支持多种存储引擎&#xff0c;包括InnoDB、MyISAM等。MySQL是由瑞典公司MySQL AB开发&#xff0c;后来被Sun Microsystems收购&#xff0c;最终被甲骨文公司(Oracle…

4G物联网LED智慧路灯杆显示屏产品介绍

4GLED显示屏是一种具有4G网络连接功能的LED显示屏。它可以通过4G网络连接到互联网&#xff0c;实现远程管理和控制&#xff0c;方便进行内容更新和管理。同时&#xff0c;4GLED显示屏具有高亮度、高清晰度和高对比度的特点&#xff0c;可以提供清晰明亮的图像和视频展示效果。它…

stm32产品架构

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据 总结 前言 起因是我在看野火的ucosiii&#xff0c;然后他是基于i.mx芯片。然后我就很疑惑i.mx是什么芯片&#xff0c;看了下好像是ARM-M7(或者叫ARMCM7)架构的芯片。然后我又疑惑ARM-M7又是什么架…

omron adept控制器维修SmartController EX

欧姆龙机器人adept运动控制器维修SmartController EX 19300-000 维修范围&#xff1a;姆龙机器人&#xff1b;码垛机器人&#xff1b;搬运机器人&#xff1b;焊机机器人&#xff1b;变位机等。 Adept Viper s650/s850用于装配、物料搬运、包装和机械装卸&#xff0c;循环周期短…

二进制?十进制!(C语言刷题)(位运算)

专栏:https://blog.csdn.net/2301_79293429/category_12545690.html 题目描述 给定两个十进制整数 : A,B 你需要把它们的二进制形式以十进制的运算法则相加输出结果。 例如&#xff1a; A3,B2的时候&#xff0c;A 的二进制表示是 : 11 , B 的二进制表示是 10 &#xff0c;…

物流实时数仓——概述与准备工作

目录 一、架构设计与技术栈 (一)数仓架构设计 (二)所用技术栈 (三)最终效果 二、关于离线与实时的相关概念 三、实时数仓设计思路 一、架构设计与技术栈 (一)数仓架构设计 (二)所用技术栈 Hadoop 3.3.4 Zookeeper 3.7.1 Kafka 3.3.1 Hbase 2.4.11 Redis 6.0.8 Flink 1.17…

mysqldump添加从库或者重新同步从库

一、GTID添加从库的方法 1.如果master所有的binlog还在&#xff0c;安装slave后&#xff0c;直接change master 到master 原理是直接获取master所有的gtid并执行 优点是简单 缺点是如果binlog太多&#xff0c;数据完全同步需要的时间较长&#xff0c;并且需要master一开始就启…

Leetcode2806. 取整购买后的账户余额

Every day a Leetcode 题目来源&#xff1a;2806. 取整购买后的账户余额 解法1&#xff1a;数学 题目要求为将 purchaseAmount 四舍五入到最近的 10 的倍数作为 roundedAmount&#xff0c;计算 100−roundedAmount 的值并返回。 分类讨论即可。 代码&#xff1a; /** lc…

机器学习实验3——支持向量机分类鸢尾花

文章目录 &#x1f9e1;&#x1f9e1;实验内容&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;数据预处理&#x1f9e1;&#x1f9e1;代码认识数据相关性分析径向可视化各个特征之间的关系图 &#x1f9e1;&#x1f9e1;支持向量机SVM求解&#x1f9e1;&#x1f9e1;直觉…

CentOS:nohup后台运行jar文件包程序

1、java -jar XXX.jar 特点&#xff1a;当前ssh窗口被锁定&#xff0c;可按CTRL C打断程序运行&#xff0c;或直接关闭窗口&#xff0c;程序退出 那如何让窗口不锁定&#xff1f; 2、java -jar XXX.jar & &代表在后台运行。 特定&#xff1a;当前ssh窗口不被锁定&…

Parade Series - Android Studio

硬件支持 CPU i7 RAM 16Gb -------------- ------- Java 3Gb Android 33GbJava Enviroment C:\ ├─ Java │ ├─ jdk1.8.0_181 │ ├─ jre1.8.0_181 │ ├─ maven-3.8.5 │ └─ gradle-6.5 └─ Cache├─ gr…

世微AP2915宽电压无MOS管切换双色灯性价比方案

1&#xff1a;产品描述 AP2915 是一款可以一路灯串切换两路灯串的降压恒流驱动器,高效率、外围简单、内置功率管&#xff0c;适用于 5-100V 输入的高精度降压 LED 恒流驱动芯片。内置功率管输出功率可达 12W&#xff0c;电流 1.2A。AP2915 一路灯亮切换两路灯亮&#xff0c;其…

【第十五课】数据结构:堆 (“堆”的介绍+主要操作 / acwing-838堆排序 / c++代码 )

目录 关于堆的一些知识的回顾 数据结构&#xff1a;堆的特点 "down" 和 "up"&#xff1a;维护堆的性质 down up 数据结构&#xff1a;堆的主要操作 acwing-838堆排序 代码如下 时间复杂度分析 确实是在写的过程中频繁回顾了很多关于树的知识&…