CN114513564A - 一种基于面向对象技术的构造下发报文数据的方法 - Google Patents
一种基于面向对象技术的构造下发报文数据的方法 Download PDFInfo
- Publication number
- CN114513564A CN114513564A CN202111614150.8A CN202111614150A CN114513564A CN 114513564 A CN114513564 A CN 114513564A CN 202111614150 A CN202111614150 A CN 202111614150A CN 114513564 A CN114513564 A CN 114513564A
- Authority
- CN
- China
- Prior art keywords
- protocol
- data
- message frame
- instruction message
- constructing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000005516 engineering process Methods 0.000 title claims abstract description 15
- 230000009191 jumping Effects 0.000 claims description 6
- 239000000463 material Substances 0.000 abstract description 4
- 239000011800 void material Substances 0.000 description 15
- 238000004891 communication Methods 0.000 description 6
- 230000005611 electricity Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000004128 high performance liquid chromatography Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种基于面向对象技术的构造下发报文数据的方法,通过采用面向对象技术,构造了新的Data类,将DL/T698.45协议和Q/GDW376.1协议中的数据和方法封装在Data类的内部,当边缘设备需要发送指令报文帧给终端设备时,若判断指令报文帧满足DL/T698.45协议,则调用Data类中的Encode698(),若判断指令报文帧满足Q/GDW376.1协议,则调用Data类中的Encode376(),然后发送指令报文帧给终端设备。这样既节省了人力物力投入,也大大提高了系统的安全性和可靠性。
Description
技术领域
本发明关于一种基于面向对象技术的构造下发报文数据的方法,特别是有关于一种基于C++面向对象技术的构造DL/T698.45和Q/GDW376.1下发报文数据的方法。
背景技术
现有技术中,DL/T698.45和Q/GDW376.1是中国国家电网基于HPLC通信中的两个标准协议,主要用于主站管理集中器、电表等电力设备。
DL/T698.45是最新的、基于面向对象的用电信息数据交换协议,该协议可以贯穿系统主站、集中器以及智能电能表,实现用电信息采集系统通信协议的统一和规范,以提升系统运行的可靠性。Q/GDW376.1是主站与采集终端间的通信协议,它规定了电力用户用电信息采集系统主站和采集终端之间进行数据传输的帧格式、数据编码及传输规则。
市场上的终端设备既有基于DL/T698.45通信协议,也有基于Q/GDW376.1通信协议的,是主站在采集用电数据时必须面对的两个协议。主站在和终端设备通信时,是采用BCD码数据流格式,因此需要将具体的命令和信息构造成BCD码的下行报文帧,发送给集中器。两种协议皆有多种下行报文帧,涉及到数据采集的方方面面,但两种协议的设计架构不同,DL/T698.45是面向对象的用电信息数据交换协议,而Q/GDW376.1是结构化的。因此,主站的采集程序设计通常是分开的,针对每个通信协议主站有一套采集程序。这样会增加一倍的人力物力投入,并且降低系统开发的效率和可靠性。
发明内容
针对上述问题,本发明提供一种基于面向对象技术的构造下发报文数据的方法,本方法构造了新的Data类,在新的Data类中包含Encode()函数,在Encode()函数里同时封装了Encode698()和Encode376()两个函数,其中,Encode698()是对DL/T698.45协议的数据帧重新编码而成,Encode376()是对Q/GDW376.1协议的数据帧重新编码而成;当边缘设备通过DL/T698.45协议或Q/GDW376.1协议向终端设备发送指令报文帧,发送指令报文帧的步骤如下:
S1:准备要发送的指令报文帧;
S2:判断该指令报文帧是否满足DL/T698.45协议,若是,则进行S3,若否,则跳至S4;
S3:调用Encode698(),跳至S6;
S4:判断指令报文帧是否满足Q/GDW376.1协议,若是,则进行S5,若否,则返回S1;
S5:调用Encode376();
S6:向终端设备发送指令报文帧;
构造的该新的Data类存储于该边缘设备,当该边缘设备需要发送指令报文数据帧给该终端设备时,若判断该指令报文帧满足DL/T698.45协议,则调用该Data类中的Encode698(),若判断该指令报文帧满足Q/GDW376.1协议,则调用该Data类中的Encode376(),然后发送指令报文帧给该终端设备。
进一步地,该Data类还包括需要采集数据的结构体和存储该结构体的数组。
进一步地,该Data类还包括将单个结构体变量添加到数组中去的Add函数。
本发明提供一种基于面向对象技术的构造下发报文数据的方法,通过采用面向对象技术,构造了新的Data类,将DL/T698.45协议和Q/GDW376.1协议中的数据和方法封装在Data类的内部,当边缘设备需要发送指令报文帧给终端设备时,若判断指令报文帧满足DL/T698.45协议,则调用Data类中的Encode698(),若判断指令报文帧满足Q/GDW376.1协议,则调用Data类中的Encode376(),然后发送指令报文帧给终端设备。既节省了人力物力投入,也大大提高了系统的安全性和可靠性。
附图说明
图1为本发明边缘设备向终端设备发送指令报文帧的流程图。
具体实施方式
为使对本发明的目的、构造、特征、及其功能有进一步的了解,兹配合实施例详细说明如下。
本发明提供一种基于面向对象技术的构造下发报文数据的方法,本方法构造了新的Data类,在新的Data类中包含Encode()函数,在Encode()函数里同时封装了Encode698()和Encode376()两个函数,其中,Encode698()是对DL/T698.45协议的数据帧重新编码而成,Encode376()是对Q/GDW376.1协议的数据帧重新编码而成;当边缘设备通过DL/T698.45协议或Q/GDW376.1协议向终端设备发送指令报文帧,发送指令报文帧的步骤如下:
S1:准备要发送的指令报文帧;
S2:判断该指令报文帧是否满足DL/T698.45协议,若是,则进行S3,若否,则跳至S4;
S3:调用Encode698(),跳至S6;
S4:判断指令报文帧是否满足Q/GDW376.1协议,若是,则进行S5,若否,则返回S1;
S5:调用Encode376();
S6:向终端设备发送指令报文帧;
构造的该新的Data类存储于该边缘设备,当该边缘设备需要发送指令报文数据帧给该终端设备时,若判断该指令报文帧满足DL/T698.45协议,则调用该Data类中的Encode698(),若判断该指令报文帧满足Q/GDW376.1协议,则调用该Data类中的Encode376(),然后发送指令报文帧给该终端设备。
DL/T698.45协议的报文帧结构包括有帧头、链路用户数据、帧尾。Q/GDW376.1协议的报文帧结构包括有固定长度的报文头、用户数据区和帧尾。根据DL/T698.45协议和Q/GDW376.1协议的报文帧结构,重新定义Head(头域)、Control(控制域)、Data(数据域)、Auxiliary(辅助域)和Tail(尾域),其中Head(头域)、Control(控制域)、Auxiliary(辅助域)和Tail(尾域)协议内容较为简单,在实际操作过程中可在各自协议中完成编码,本文主要针对Data(数据域)进行构造,即本文所述的新的Data类,并完成统一的封装。当该边缘设备需要发送指令报文帧给该终端设备时,若判断该指令报文帧满足DL/T698.45协议,则调用该Data类中的Encode698(),若判断该指令报文帧满足Q/GDW376.1协议,则调用该Data类中的Encode376(),然后发送指令报文帧给该终端设备。
优选地,Data类除了包含原有Data域所需的变量外,构造的新的Data类还包括需要采集数据的结构体和存储该结构体的数组,比如日冻结数据、月冻结数据等等,代码如下:
vector<EVENTDATA>event_data;
vector<CONCENTRATEINFO>concentrates;
vector<DAILYICEWATTMETERING>dailyice_metering_data;
vector<DAILYOPPOSITEWATTMETERING>dailyice_opposite_metering_data;
vector<DAILYFORWARDMAXDEMANDWATTMETERING>dailyice_maxdemand_metering_data;
vector<DAILYOPPOSITEMAXDEMANDWATTMETERING>dailyice_oppositemaxdemand_metering_data;
vector<MONTHFORWARDWATTMETERING>month_forwardwatt_metering_data;
vector<MONTHOPPOSITEWATTMETERING>month_oppositewatt_metering_data;
vector<MONTHFORWARDMAXDEMANDWATTMETERING>month_maxdemand_metering_data;
vector<MONTHOPPOSITEMAXDEMANDWATTMETERING>month_opposite_maxdemand_metering_data;
vector<DAILYLOADMAXMIN>dailyice_loadmaxmin;
vector<ABCPHASEFAILURETIMES>dailyicce_ABCphase_failure_times;
vector<DAILYNONBALANCETIME>dailyice_ABCphase_nobalance_times;
vector<DAILYVOLTAGESTATISTICS>dailyice_voltage_statistics;
vector<DAILYCURRENTSTATISTICS>dailyice_current_statistics;
优选地,该Data类还包括将单个结构体变量添加到数组中去的Add函数,代码如下:
void addDailyForwardWattMetering(DAILYICEWATTMETERING meteringdata);
void addDailyOppositeWattMetering(DAILYOPPOSITEWATTMETERINGmeteringdata);
void addDailyForwardMaxDemandWattMetering(DAILYFORWARDMAXDEMANDWATTMETERING me teringdata);
void addDailyOppositeMaxDemandWattMetering(DAILYOPPOSITEMAXDEMANDWATTMETERING meteringdata);
void addMonthForwardWattMetering(MONTHFORWARDWATTMETERINGmeteringdata);
void addMonthOppositeWattMetering(MONTHOPPOSITEWATTMETERINGmeteringdata);
void addMonthForwardMaxDemandWattMetering(MONTHFORWARDMAXDEMANDWATTMETERING me teringdata);
void addMonthOppositeMaxDemandWattMetering(MONTHOPPOSITEMAXDEMANDWATTTERING me teringdata);
void addDailyLoadMaxMin(DAILYLOADMAXMIN meteringdata);
void addDailyABCPhaseFailureTimes(ABCPHASEFAILURETIMES meteringdata);
void addDailyVoltageStatistics(DAILYVOLTAGESTATISTICS meteringdata);
void addDailyNonBalanceTime(DAILYNONBALANCETIME meteringdata);
void addDailyCurrentStatistics(DAILYCURRENTSTATISTICS meteringdata);
void addEventData(EVENTDATA evData);
void addConcentrates(CONCENTRATEINFO concentrate);
本发明提供一种基于面向对象技术的构造下发报文数据的方法,通过采用面向对象技术,构造了新的Data类,将DL/T698.45协议和Q/GDW376.1协议中的数据和方法封装在Data类的内部,当边缘设备需要发送指令报文帧给终端设备时,若判断指令报文帧满足DL/T698.45协议,则调用Data类中的Encode698(),若判断指令报文帧满足Q/GDW376.1协议,则调用Data类中的Encode376(),然后发送指令报文帧给终端设备。这样既节省了人力物力投入,也大大提高了系统的安全性和可靠性。
本发明已由上述相关实施例加以描述,然而上述实施例仅为实施本发明的范例。必需指出的是,已揭露的实施例并未限制本发明的范围。相反地,在不脱离本发明的精神和范围内所作的更动与润饰,均属本发明的专利保护范围。
Claims (3)
1.一种基于面向对象技术的构造下发报文数据的方法,其特征在于:
构造新的Data类,该Data类包含Encode()函数,该Encode()函数同时封装了Encode698()和Encode376()两个函数,其中,该Encode698()是对DL/T698.45协议的数据帧重新编码而成,该Encode376()是对Q/GDW376.1协议的数据帧重新编码而成;
边缘设备通过DL/T698.45协议或Q/GDW376.1协议向终端设备发送指令报文帧,发送该指令报文帧的步骤如下:
S1:准备要发送的指令报文帧;
S2:判断该指令报文帧是否满足DL/T698.45协议,若是,则进行S3,若否,则跳至S4;
S3:调用Encode698(),跳至S6;
S4:判断指令报文帧是否满足Q/GDW376.1协议,若是,则进行S5,若否,则返回S1;
S5:调用Encode376();
S6:向终端设备发送指令报文帧;
构造的该新的Data类存储于该边缘设备,当该边缘设备需要发送指令报文帧给该终端设备时,若判断该指令报文帧满足DL/T698.45协议,则调用该Data类中的Encode698(),若判断该指令报文帧满足Q/GDW376.1协议,则调用该Data类中的Encode376(),然后发送指令报文帧给该终端设备。
2.据权利要求1所述的一种基于面向对象技术的构造下发报文数据的方法,其特征在于,该Data类还包括需要采集数据的结构体和存储该结构体的数组。
3.根据权利要求1和2中任一项所述的一种基于面向对象技术的构造下发报文数据的方法,其特征在于,该Data类还包括将单个结构体变量添加到数组中去的Add函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111614150.8A CN114513564A (zh) | 2021-12-27 | 2021-12-27 | 一种基于面向对象技术的构造下发报文数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111614150.8A CN114513564A (zh) | 2021-12-27 | 2021-12-27 | 一种基于面向对象技术的构造下发报文数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114513564A true CN114513564A (zh) | 2022-05-17 |
Family
ID=81548367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111614150.8A Pending CN114513564A (zh) | 2021-12-27 | 2021-12-27 | 一种基于面向对象技术的构造下发报文数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114513564A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095609A (zh) * | 2013-01-09 | 2013-05-08 | 大唐软件技术股份有限公司 | 一种基于物联网终端的接入适配方法和装置 |
CN109768958A (zh) * | 2018-12-05 | 2019-05-17 | 国家电网有限公司 | 一种采集运维仿真培训系统与仿真柜之间的数据采集方法及系统 |
CN110971491A (zh) * | 2019-12-16 | 2020-04-07 | 科大智能电气技术有限公司 | 一种电力系统101和104通讯规约处理系统及其处理方法 |
CN111835786A (zh) * | 2020-07-23 | 2020-10-27 | 杨承 | 一种对多规约设备数据采集、设备控制的系统及实现方法 |
US20210385174A1 (en) * | 2019-12-10 | 2021-12-09 | Enn Digital Energy Technology Co., Ltd | Internet of things data transmission method and system |
-
2021
- 2021-12-27 CN CN202111614150.8A patent/CN114513564A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095609A (zh) * | 2013-01-09 | 2013-05-08 | 大唐软件技术股份有限公司 | 一种基于物联网终端的接入适配方法和装置 |
CN109768958A (zh) * | 2018-12-05 | 2019-05-17 | 国家电网有限公司 | 一种采集运维仿真培训系统与仿真柜之间的数据采集方法及系统 |
US20210385174A1 (en) * | 2019-12-10 | 2021-12-09 | Enn Digital Energy Technology Co., Ltd | Internet of things data transmission method and system |
CN110971491A (zh) * | 2019-12-16 | 2020-04-07 | 科大智能电气技术有限公司 | 一种电力系统101和104通讯规约处理系统及其处理方法 |
CN111835786A (zh) * | 2020-07-23 | 2020-10-27 | 杨承 | 一种对多规约设备数据采集、设备控制的系统及实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108683636B (zh) | 一种充电桩通讯方法及系统 | |
US20150117464A1 (en) | Communication apparatus, communication method, and computer readable medium | |
CN204465578U (zh) | 综合信息采集网关 | |
CN207518328U (zh) | 一种终端设备及无线充电系统 | |
CN110430210B (zh) | 一种基于群智能网络的协议转换装置及其协议转换方法 | |
CN108957220A (zh) | 一种基于物联网的跌落式熔断器状态传送及故障分析装置 | |
CN114513564A (zh) | 一种基于面向对象技术的构造下发报文数据的方法 | |
CN107425998B (zh) | 一种基于工业wifi的通信链路保障方法 | |
CN101241636A (zh) | 一种用于电能量计量、计费及抄表系统的通信协议转换器 | |
CN202998165U (zh) | 一种电力监控通信转换器 | |
CN102065101A (zh) | 一种基于3g网络的移动识别系统的控制方法 | |
CN111862571B (zh) | 用于读取流量计的方法 | |
CN213937535U (zh) | 融合iec61850规约带通信管理的台区智能融合终端 | |
CN113660286A (zh) | 结合卡尔曼滤波数据融合的通信协议融合方法及相关设备 | |
CN114520837A (zh) | 一种基于面向对象技术的解析上发报文数据的方法 | |
CA3140988A1 (en) | Energy transmission method, energy router and operation control apparatus therefor, and storage medium | |
CN210297755U (zh) | 一种基于群智能网络的协议转换装置 | |
WO2014101109A1 (zh) | 电力网控制系统中的数据传输及控制 | |
CN207381987U (zh) | 一种分布式储能系统实时优化调度装置 | |
CN212784897U (zh) | 一种低压配电分支监测传感器装置 | |
CN216350931U (zh) | 一种基于mqtt的智能电能监测系统 | |
Mu et al. | Research on cloud-edge AC Power Monitoring Systems based on MODBUS | |
CN201117089Y (zh) | 用于电能量计量计费系统及抄表系统的通信协议转换器 | |
CN205283596U (zh) | 一种用于采集配电变压器的信息的装置及系统 | |
CN209497610U (zh) | 一种点对点无线局域网通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |