当前位置: 首页 > news >正文

4G模块DTU网关远程抄表方案(二):DL645/698协议国网电表

4G模块DTU网关远程抄表方案(二):DL645/698协议国网电表

1 DL 645协议简介

DL645协议是一种用于智能电能表的远程抄读通讯标准。制定该标准是为统一和规范多功能电能表与数据终端设备进行数据交换时的物理连接和通信链路及应用技术规范。DL645协议可用于远程监测电力传输和使用状态,是国家在电力行业标准中规定的统一的通信协议。

DL/T 698.45是面对对象的通信协议,适用于主站和采集终端、采集终端和电能表、主站和电能表之间。

DL645/698协议与Modbus协议类似,采用主-从模式的半双工通讯方式,多功能电能表与数据终端设备可进行点对点的或主多从的数据交换。电气层可以是经典的RS485有线通信,也可以是非接触式红外无线通信

其中非接触式红外读表方式较为常见,它的特点是易于工程实施,电表、计量柜不需要停电接线,将支持DLT645标准的红外读表器放置在电表前方就可以读到电表电量、电压、电流、功率等数据。本篇文章主要是简要介绍DLT645协议,以及介绍利用重庆展联科技的智能网关ZL400实现高性价比4G远程抄表方案(当然也可以使用配套的ZL011红外超表器)

1.1 数据传输协议

DL645协议的信息帧由帧起始符、从站地址域、控制码、数据域长度、数据域、帧信息纵向校验码及帧结束符7个域组成。

由采集器向表计发送的查询帧数据格式如下:

代码描述
68h帧起始符
A0-A5地址域
68h帧起始符
C控制码
L数据域长度
DATA数据域
CS校验码
16h帧结束符

例:读表计数据: FE FE FE FE 68 66 55 44 33 22 11 68 11 04 33 33 34 33 17 16

说 明帧起始符地址域帧起始符控制码数据域长度数据域校验码帧结束符
实 例6866554433221168110433 33 34 331716

说明:FE FE FE FE - 引导字符;68 – 帧起始符;11 22 33 44 55 66 – 表地址; 11 – 控制码;04 – 数据域长度;33 33 34 33 – 数据域;17 – 校验码;16 – 帧结束符。

由表计向采集器发送的应答帧数据格式如下:

代码描述
68h帧起始符
A0-A5地址域
68h帧起始符
C控制码
L数据域长度
DATA数据域(数据标识+数据)
CS校验码
16h帧结束符

例:表计应答:FE FE FE FE 68 66 55 44 33 22 11 68 91 09 33 33 34 33 97 3C 33 33 0B 16

字节01-56789-131415
说 明帧起始符地址域帧起始符控制码数据域长度数据标识+数据校验码帧结束符
实 例6866554433221168910833 33 34 33+97 3C 33 33XX16

说明:FE FE FE FE - 引导字符;68 – 帧起始符; 66 55 44 33 22 11 – 表地址(真实地址为112233445566); 91 – 控制码;08 – 数据域长度;33 33 34 33 – 数据标识(真是为正向有功总00100000);97 3C 33 33 – 数据(真实数据为000009.33) XX – 校验码;16 – 帧结束符。

1.1.1 帧起始符 68H

DLT645协议的数据帧每帧的开始都固定为0x68,作为数据的起始符方便接收方做数据解析

1.1.2 地址域 A0~A5(采用BCD码)

在485总线上可能挂着多个645设备,要找到指定的设备,必须要根据设备的地址查找。每台设备出厂会有自己的地址,也可以修改设备的通信地址。

地址域A0~A5用来表示电表地址,由6个字节构成,低位在前,高位在后;可以为表号、资产号、用户号、设备号等。当使用的地址码长度不足6字节时,用十六进制AAH补足6字节。

在这里插入图片描述
如上图该设备的地址为000001684866

1.1.3控制码

1个字节,例如读取数据的控制码为0x11(00010001),读取通讯地址的控制码为0x13(00010011)
在这里插入图片描述

其中功能码又分为两种97规约07规约
在这里插入图片描述

1.1.4 数据域长度L

1个字节,表示数据域的字节数,读取数据时L<= 200;写数据时L <= 50,L=0表示无数据域。

1.1.5 数据域

数据域包括数据标识和数据、密码等,其结构随控制码的功能而改变。传输时发送方按字节进行加33H处理,接收方按字节进行减33H处理。数据域为变长,字节数由数据长度L决定,传输时候。

数据标识编码具体可以查阅相关文档的《附录A.2——数据标识编码
常见数据标识编码表如下:
在这里插入图片描述
在这里插入图片描述
发送方需要加0x33,接收方解析需要减去0x33。

发送方数据33333333
真实值00000000

1.1.6 校验码CS

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

1.1.7 结束符16H

DLT645的指令帧均以0x16作为结束符。

1.1.8 表计数据编码格式(采用BCD码)

所有数据项均先传送低位字节,后传送高位字节,如表计数据是000009.33,则从站应答数据如下:
D0—0x66—33+33
D1—0x3C—09+33
D2—0x33—00+33
D3—0x33—00+33

1.1.9 串口参数

DL645协议的缺省速率为2400 bps,字节校验为偶校验。也可以设置为600bps,1200bps,4800bps,9600bps,19200bps。

2 DEVELOPLINK 远程抄表方案

DEVELOPLINK展联科技的远程抄表网关(ZL400 DTU)内置了Modbus,DLT645/698,CT/J 188协议的解析,只需要简单的可视化配置,就能采集到国网电表的数据,然后将返回数据通过4G,以太网,WIFI等网络方式传到客户服务器,也可以直接解析成json格式上传。

2.1 功能:

  • 支持对Modbus、DLT645/698、CT/J 188协议的水气表自动读取,直转转换json上传,支持周期轮询、变化上传;
  • 支持HTTP /TCP/UDP/MQTT通信;
  • 支持阿里云/腾讯云/中移物联/华为云/DevelopLink平台接入;
  • 支持自定义心跳包、注册包,支持魔法值;
  • 支持远程参数配置;
  • 支持远程、本地固件升级;
  • 支持差分升级DFOTA,CDN加速。

2.2 优势:

  • 开放性:支持不同厂家的智能电表;
  • 灵活性:可根据需求,自行设计轮询任务;
  • 便捷性:可视化配置,无需一行代码;
  • 可扩展性:能够实现多种负载控制策略;
  • 低成本:高性价比远程抄表方案,适合批量使用。

2.3 应用:

  • 住宅小区:人工抄表收费成本高、误差大、效率低,远程抄表能监测和故障排查十分智能
  • 学校:学校配用电情况难以监测,师生用电安全隐患大,远程抄表能实时监测各区域用电情况,且可具备远程阀控功能
  • 商业中心:店铺变更、临时柜台等管理不方便,催缴费困难,远程抄表能分时段、分区域进行用能数据的统计、分析和处理
  • 工业园区:配用电情况难以监测及用电安全隐患大,能源能耗管理没有数据依据,远程抄表能快速直观的反映数工厂设备的实时和历史能耗情况,掌握能耗规律,为制定合理的能源管理策略、实现节能减排管理提供数据支撑。

3 案例

3.1 调试准备

硬件准备软件准备
ZL400 DTU(固件版本4.45.63)上位机 DevelopLink_SDRTU_V2.2.9
DL645协议电表
红外抄表器(选配)

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

3.2 设置串口

一般DT645协议的水表,通讯波特率为2400bp,偶检验
在这里插入图片描述

3.3 设置645协议轮询

  • 选择645协议版本
  • 配置表地址
  • 选择配置命令
    在这里插入图片描述
    不需要关注645协议本身,只需要选择需要读取的量,例如这里我们读取电表的正向有功总量,即命令选择电能量/当前/正向有功/总
    在这里插入图片描述
    配置完成,点击写入配置
    在这里插入图片描述
    查看报文,可以看到发送的协议报文和水表返回的报文,以及DTU解析后的json报文{“a”:9.33}在这里插入图片描述

3.4 设置网络

ZL400 DTU网络通道支持MQTT,TCP,UDP,HTTP;还内置了阿里云,腾讯云,onenet,developlink平台,华为云,jetlinks的解析内核
用户只需要选择通道类型,简单配置就能上传数据
在这里插入图片描述
————————————————————————————————————————
对物联网技术感兴趣请加入我们交流群,欢迎各种技术交流,
QQ群: 830407941
对我们产品感兴趣请查看:
DEVELOPLINK
DEVELOPLINK__ DTU

相关文章:

4G模块DTU网关远程抄表方案(二):DL645/698协议国网电表

4G模块DTU网关远程抄表方案(二):DL645/698协议国网电表 1 DL 645协议简介 DL645协议是一种用于智能电能表的远程抄读通讯标准。制定该标准是为统一和规范多功能电能表与数据终端设备进行数据交换时的物理连接和通信链路及应用技术规范。DL645协议可用于远程监测电力传输和使用…...

认识微服务

目录 认识微服务 单体架构 分布式架构 服务架构演变 服务治理 微服务 总结 微服务技术对比 微服务结构 微服务技术对比 企业需求 SpringCloud SpringCloud和SpringBoot的版本兼容 认识微服务 单体架构 单体架构&#xff1a;将业务的所有功能集中在一个项目中开发&a…...

升级Android Studio Electric Eel问题汇总

1.升级以后找不到java可执行程序 问题原因&#xff1a;升级后&#xff0c;Android Studio自带的java目录不再是根目录/jre&#xff0c;调整为一个新目录 Studio根目录/jbr 修改方法&#xff1a;1&#xff09;修改系统环境变量&#xff0c; JAVA_HOME调整为Studio下对应的java…...

令执法机构头疼的“虚拟货币犯罪”,为何链上天眼能“行”

谈到洗钱&#xff0c;你脑海中率先想到的可能是影视剧中利用赌场、收藏品拍卖等来实施犯罪。其实洗钱犯罪的花样不止于此&#xff0c;在近期热播的扫黑剧《狂飙》中&#xff0c;唐小龙为洗白“赌博资金、高利贷业务”&#xff0c;便通过“卖酒网销”的方式达成洗钱目的。 随着科…...

【unity】开发rts 3

一 出生点、阵营类型、阵营 实例栏-GameManage&#xff0c;默认有一个插槽 size 插槽数量 role 权限&#xff0c;host是主人&#xff0c;权限高 type 阵营类型&#xff0c;不选不限制&#xff0c;选的效果没看懂&#xff0c;文档原文&#xff1a; The Type field in Data al…...

突破老旧OA系统局限,打通五大业务管理体系,让效率“狂飙”

目录 用无代码构建上海致远信息化平台 一、支持类(行政人事、财务)体系 二、营销体系 三、供应链体系 四、质量管理体系 五、技术研发体系 下一步规划 我们公司用的第一套系统是 IBM 的系统,部署在本地服务器,这套系统用了十几年,当时 2020 年要全部迁移到LCHub低代…...

【vue2小知识】路由守卫的使用与解决RangeError: Maximum call stack size exceeded问题的报错。

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;当我们在路由跳转前与后我们可实现触发的操作 【前言】当我们在做类似于登录页面的时候&…...

Google Guice 5:AOP

1. AOP 1.1 实际开发中面临的问题 在实际开发中&#xff0c;经常需要打印一个方法的执行时间&#xff0c;以确定是否存在慢操作 最简单的方法&#xff0c;直接修改已有的方法&#xff0c;在finnally语句中打印耗时 Override public Optional<Table> getTable(String da…...

【同步、共享和内容协作软件】上海道宁与​ownCloud让您的团队随时随地在任何设备上轻松处理数据

ownCloud是 一款开源文件同步、共享和 内容协作软件 可让团队随时随地 在任何设备上轻松处理数据 ownCloud开发并提供 用于内容协作的开源软件 使团队能够轻松地无缝 共享和处理文件 而无需考虑设备或位置 开发商介绍 ownCloud成立于2010年&#xff0c;是一个托管和同…...

Linux 文件、目录与磁盘格式

用户与用户组 用户&#xff1a;即某个文件的拥有者&#xff0c;可以管理自己账号下的文件&#xff0c;另有一个超级账号 root&#xff0c;可以统一管理全局&#xff0c;利用 su root 命令登录该账号。用户组&#xff1a;相当于群组&#xff0c;多个用户之间可以组成用户组&…...

锁屏面试题百日百刷-Hive篇(五)

锁屏面试题百日百刷&#xff0c;每个工作日坚持更新面试题。锁屏面试题app、小程序现已上线&#xff0c;官网地址&#xff1a;https://www.demosoftware.cn。已收录了每日更新的面试题的所有内容&#xff0c;还包含特色的解锁屏幕复习面试题、每日编程题目邮件推送等功能。让你…...

java多线程(七)线程等待与唤醒

一、wait()、notify()、notifyAll()等方法介绍 在Object.java中&#xff0c;定义了wait(), notify()和notifyAll()等接口。wait()的作用是让当前线程进入等待状态&#xff0c;同时&#xff0c;wait()也会让当前线程释放它所持有的锁。而notify()和notifyAll()的作用&#xff0…...

第13天-仓储服务(仓库管理,采购管理 ,SPU规格维护)

1.仓储服务开发配置 1.1.加入到Nacos注册中心 spring:application:name: gmall-warecloud:nacos:discovery:server-addr: 192.168.139.10:8848namespace: 36854647-e68c-409b-9233-708a2d41702c1.2.配置网关路由 spring:cloud:gateway:routes:- id: ware_routeuri: lb://gmal…...

Maven 命令行及例子

基本 mvn -v - show-version -version 显示版本信息mvn -h - help 显示帮助信息mvn -e -errors控制 maven 的日志级别&#xff0c;产生执行错误相关消息mvn -q - quiet 控制 maven 的日志级别&#xff0c;仅仅显示错误mvn -o - offline 运行 offline 模式&#xff0c;不联网更…...

JavaScript手写题

一、防抖 function debounce(fn, delay200) {let timeout null; // 定时器控制return function(...args) {if (timeout) { // 定时器存在&#xff0c;表示某个动作之前触发过了clearTimeout(timeout); // 清除定时器timeout null;} else {// 对第一次输入立即执行fn.apply…...

为什么图标的宽度总是8的倍数?

对于 Windows 上的所有图标而言&#xff0c;它的宽度总是8的倍数&#xff0c;这可不是因为人们喜欢2的幂&#xff0c;虽然在计算机世界&#xff0c;你会看到很多这样的数字&#xff0c;例如&#xff0c;1024&#xff0c;4096等。 在 Windows 的早期阶段&#xff0c;大多数显卡…...

常用的xpath

一、xpath 语法 简单看一下菜鸟教程即可 1、基本语法 XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式&#xff1a; 表达式描述nodename选取此节点的所有子节点。/从根节点选取&#xff08;取子节点&#…...

【035】基于java的进销库存管理系统(Vue+Springboot+Mysql)前后端分离项目,附万字课设论文

1.3 系统实现的功能 本次设计任务是要设计一个超市进销存系统&#xff0c;通过这个系统能够满足超市进销存系统的管理及员工的超市进销存管理功能。系统的主要功能包括&#xff1a;首页、个人中心、员工管理、客户管理、供应商管理、承运商管理、仓库信息管理、商品类别管理、 …...

【Spark分布式内存计算框架——Spark Streaming】7. Kafka集成方式

集成方式 Spark Streaming与Kafka集成&#xff0c;有两套API&#xff0c;原因在于Kafka Consumer API有两套&#xff0c; 文档&#xff1a;http://spark.apache.org/docs/2.4.5/streaming-kafka-integration.html。 方式一&#xff1a;Kafka 0.8.x版本 老的Old Kafka Consum…...

如何引入elementUI

elementUI的引入完整引入按需引入完整引入 在 main.js 中写入以下内容&#xff1a; import Vue from ‘vue’; import ElementUI from ‘element-ui’; import ‘element-ui/lib/theme-chalk/index.css’; import App from ‘./App.vue’; Vue.use(ElementUI); new Vue({ el: ‘…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

Bean 作用域有哪些?如何答出技术深度?

导语&#xff1a; Spring 面试绕不开 Bean 的作用域问题&#xff0c;这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开&#xff0c;结合典型面试题及实战场景&#xff0c;帮你厘清重点&#xff0c;打破模板式回答&#xff0c…...