`

海量数据采集——645协议解析

    博客分类:
  • java
 
阅读更多

    该通信规约适用于本地系统中多功能表的费率装置与手持单元(HHU)或其它数据终端设备进行点对点的或一主多从的数据交换方式,规定了它们之间的物理连接、通信链路及应用技术规范。该协议在做“电力监控”、“水监控”等“工控领域”,具有广泛的应用。协议具体内容可以从网上Google,下面主要介绍下协议的解析方法。

      

     DL645协议需要先发送“前导字节”,用来唤醒从站,当然有些设备是不需要这样唤醒的。在发送帧信息之前,先发送1-4个字节FEH,以唤醒接收方("FEH",H表示16进制,是一个字节),  “前导字节”  +  “取数据报文”=“整体报文”。

首先我们先整体了解一个发送报文“68 12 34 56 78 90 12 68 01 02 43 C3 cs 16” 

在这之前呢,先看一下BCD码。

BCD码:二进制编码的十进制代码。

比如:

0=00001=00012=00103=00114=01005=01016=01107=01118=10009=1001 BCD码:ASCII表示(都是字符)
BCD码都是由0~9,10个字符构成。
也就是说,BCD码一个字节是两位,一位是0~9,一个字节能够表示00~99。 BCD码1位是2进制的4位。按16进制表示,没有ABCDEF。  发送报文

68 12 34 56 78 90 12 68 01 02 43 C3 cs 16

说明如下:

68(帧起始符)

12   34  56  78  90   12 (6字节,没字节两位,共12位地址,BCD码表示。)  

 

68(帧起始符)

01(控制码“包含功能码”= 01 = 读取数据)

02 (数据域长度,指 “43,C3”一共是两字节。) 

“43 c3” (“43 C3”是数据域,表示读取数据类型 = “10 90”, 发送报文中 数据域需要做“+0x33处理”)

cs(加校验和,一个字节,根据前面的计算)

16(帧结束符)

 

下面详细的解释下:

帧起始符(645协议规定由68H开始,16进制。)

 

0x12(BCD数值码) --- 12(string)      转为字符串0x12.ToString("X2")
0x45(BCD数值码) --- 45(string)

 

如果表地址为:000021010203(电表上看到的地址串),里面就是12位(字符串来看)
通讯时,使用 0x00, 0x00 , 0x21 ,0x01 , 0x02 , 0x03, 6个字节表示地址,但发送的时候要先发低字节,再发高字节。发送时也是“0x03,0x02,0x01, 0x21,0x00,0x00”

 

控制码:
从电脑到表具:0(主从站方向)+0(设备没问题)+0(有无后续帧)+00001(读)=1=0x1

数据域长度:表示数据域有多长

串口传输方式:所有数据项均先传送低位字节,后传送高位字节

数据域内容,也就是“数据类型+数据项”(比如电表): 1001(电能量)+00(当前)+00(有功)+0001(正向电能)+0000(总点能)


02(数据域长度)

10

90(数据域内容,两个字节) 拼接后的报文,要先发低字节(90) ,再发10. 发送报文要加上"33",最后数据域就是"10 + 33"和"90 + 33"最终就是“ 43     c3”。

02 10 90 == 02   (10 + 33)     (90 + 33) = 02   43    c3

 

返回报文:

68   12   34 56 78 90 12 68 81 06 43 c3 33 44 55 66 cs 16

68(帧起始符)
12 34 56 78 90 12(地址域)
68(帧起始符)
81(控制码,返回有功总电能“10000001”,读取数据)
06(数据域长度)
43 C3(数据域)
33  44  55  66 (数据项,四字节)

数据项要减去“33H”,根据数据类型(附录)点小数点。

33   44   55   66 (数据域数据计算) = (33 - 33) (44 - 33) (55 - 33) (66 - 33) = 00112233 = 1122.33   kWh

 

最后我们来看一个电表实例,取地址为“694561”的电表的“反相有功电能(发电量)”。

实例如下:

一、发送报文

1、电表地址:694561(地址,6位BCD码,BCD码1位是2进制的4位。按16进制表示,没有ABCDEF。不足12位,需要在高位“补0”。)。

2、完善地址:000000694561(12位BCD码)

3、前导符字节:0xFE

4、帧起始符:0x68

5、地址域:0x614569000000(第字节在前,高字节在后。DL645协议,先发低字节再发高字节。)

6、帧起始符:0x68

7、控制码:0x01(读数据1,读后续数据2,其中还包含功能码等。)

8、数据域长度:0x02(2字节)

9、待发送数据类型(数据类型放在数据域中):9(1001,电能量)+0(0000,00当前,00有功)+ 2(0010,反向电能)+0(0000,总电能)

 

更多相关资料及645程序下载,请访问:http://17zhongwen.com/dashujupingtaishujucaiji/chapter.html

2
4
分享到:
评论

相关推荐

    多路全并行连续数据采集技术研究

    《多路全并行连续数据采集技术研究》这篇文章深入探讨了一种高效的数据采集方法——多路全并行连续数据采集技术,旨在解决传统数据采集方式中存在的问题,如采集速度慢、数据丢失等问题,从而提高整体数据处理系统的...

    数据采集SDK演变之路

    ### 数据采集SDK演变之路 #### 移动数据采集的特点与挑战 随着移动互联网与大数据技术的飞速发展,人们的生活方式发生了翻天覆地的变化。智能手机成为日常生活中不可或缺的一部分,几乎所有的活动——工作、学习...

    毕业设计 BiShe Project 测井数据采集系统.zip

    《测井数据采集系统——BiShe Project 深度解析》 测井是石油与地质勘探领域中的核心技术之一,它通过向地下发射电磁波或热能,并接收返回的信息,来探测地层的物理特性,如岩性、孔隙度、渗透率等。在这个信息化...

    开发基于移动互联网的普适家庭医疗系统——远程尿液检查数据采集和处理子系统原理和实现.rar

    本项目着重介绍了如何开发一个基于移动互联网的普适家庭医疗系统,特别是其中的远程尿液检查数据采集和处理子系统的原理与实现。 首先,我们需要理解远程尿液检查数据采集子系统的构成。这个子系统通常由传感器硬件...

    互联网大数据采集与处理的关键技术研究整理.pdf

    互联网大数据采集与处理的关键技术研究主要集中在如何有效地获取、处理和利用海量的网络数据。随着互联网的快速发展,尤其是社交网络、电子商务和移动互联网的普及,大数据的特征——Volume(大量)、Variety(多样...

    基于Python Scrapy爬虫框架实现的链家二手房数据爬取系统的设计与实现 毕业设计论文答辩用 1万+字 共41页.docx

    而这套推荐系统的基础便是海量且准确的房源数据。 #### 二、项目目标与解决方案 本项目的首要目标是开发一个能够高效爬取链家网等主要房产交易平台上的二手房源数据的系统,为后续的房源推荐算法提供数据支撑。...

    工业互联网平台的六个支撑要素——解读《工业互联网平台白皮书》.zip

    通过对海量数据的清洗、整合、挖掘,可以发现生产过程中的优化点,提高效率,降低能耗,预测故障,实现智能化决策。 第五,应用开发和创新环境是平台持续演进的动力源泉。平台需要提供开放的API和SDK,支持开发者...

    阿里大数据之路——关键总结版.pdf

    综上所述,阿里大数据之路的总结涵盖了从数据的产生、获取、存储到分析的全过程,强调了在大数据环境中如何有效地处理和利用海量数据,以支持业务决策和创新。这个过程中,数据仓库的分层设计、实时与离线计算的结合...

    2022年高中信息技术学业水平综合复习第五章 数据处理与可视化表达(解析版).pdf

    数据采集是数据处理的第一步,主要方法有系统日志采集、网络数据采集和其他特殊方法。在Python编程中,有多种库用于网络数据采集,如NumPy、SciPy、Pandas和Matplotlib等,它们提供了强大的数据处理和可视化工具。在...

    绘制石油藏宝图的神兵利器——HP Linux.pdf

    7. **解决方案**:HP提供的高性能计算集群方案,结合Red Hat Linux操作系统和CGG、Geodepth等专业处理软件,有效解决了大港分院面临的海量数据处理问题,提升了工作效率。 8. **网络系统**:高性能计算集群中的网络...

    大数据-大营销——互联网时代大数据营销.ppt

    文档中提及的ATLAS系统,它具备数据采集、处理、挖掘和分析的能力,通过云计算中心的大规模计算资源,能够处理每天高达10TB的数据,监测数十亿次的广告曝光。ATLAS通过可视化技术,使得复杂的数据变得易于理解和应用...

    基于大数据技术的高校就业分析系统模型研究——以云南师范大学为例.zip

    1. 大数据技术:大数据技术包括数据采集(如日志记录、调查问卷)、数据存储(如Hadoop HDFS、NoSQL数据库)、数据处理(如MapReduce、Spark)、数据分析(如统计分析、机器学习)和数据可视化(如Tableau、PowerBI...

    论文.docx————电子版_docx版

    - **数据采集**:通过接口与各种医疗设备连接,自动收集患者的基本信息、检查结果等。 - **数据存储**:采用分布式数据库技术,确保数据的安全性和可访问性。 - **数据分析**:运用机器学习算法,如决策树、神经网络...

    C#新浪微博采集分析平台

    接下来,数据入库是数据采集过程中的重要环节。在这个平台上,抓取到的微博数据被存储到MySQL数据库中。MySQL是一款开源、免费的关系型数据库管理系统,因其高效、稳定和易用性而广受青睐。在C#中,可以使用ADO.NET...

    驱动智慧医疗,从至强开始——英特尔,用人工智能解决大问题.rar

    其次,英特尔的人工智能平台涵盖了从数据采集、预处理、模型训练到推理部署的全链条,为智慧医疗提供了端到端的解决方案。例如,通过集成的OpenVINO工具包,医疗机构可以轻松构建和优化深度学习模型,将模型部署到...

    智慧空调接入华为云解决方案.docx

    此时,WG583工业智能网关发挥关键作用,它通过MODBUS TCP协议与中央空调网关交互,执行数据采集、协议解析、边缘计算和数据标准化等一系列任务。这使得空调系统的运行状态、能耗信息等关键数据能够被实时捕获,为...

    大数据分析的道与术

    它涉及到如何从海量数据中提取有价值的信息,帮助企业、政府和个人做出更好的决策。本文将深入探讨大数据分析的“道”——理论基础与理念,以及“术”——实际技术和应用方法。 首先,我们来理解大数据的“道”。...

    金融应用架构——信贷业务持续创新当中的大数据风控架构 共32页.pdf

    通过收集、处理和分析海量数据,金融机构能够更准确地评估借款人的信用风险,从而做出更加明智的贷款决策。这不仅有助于提高贷款质量,减少违约率,还能增强客户体验,促进金融产品的创新和发展。 #### 关键技术与...

Global site tag (gtag.js) - Google Analytics