CN103325069B - 基于数据库嵌套触发器的理论网损电量自动计量方法 - Google Patents

基于数据库嵌套触发器的理论网损电量自动计量方法 Download PDF

Info

Publication number
CN103325069B
CN103325069B CN201310213960.1A CN201310213960A CN103325069B CN 103325069 B CN103325069 B CN 103325069B CN 201310213960 A CN201310213960 A CN 201310213960A CN 103325069 B CN103325069 B CN 103325069B
Authority
CN
China
Prior art keywords
day
mon
year
value
triggering device
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.)
Expired - Fee Related
Application number
CN201310213960.1A
Other languages
English (en)
Other versions
CN103325069A (zh
Inventor
苟骁毅
汤磊
肖岚
王鹏
路轶
孙宏斌
兰强
郭庆来
周剑
王彬
张蓓
孙百哲
初祥祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SICHUAN ELECTRIC POWER Corp INFORMATION COMMUNICATION CO Ltd
State Grid Corp of China SGCC
Beijing King Star Hi Tech System Control Co Ltd
Original Assignee
SICHUAN ELECTRIC POWER Corp INFORMATION COMMUNICATION CO Ltd
State Grid Corp of China SGCC
Beijing King Star Hi Tech System Control Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SICHUAN ELECTRIC POWER Corp INFORMATION COMMUNICATION CO Ltd, State Grid Corp of China SGCC, Beijing King Star Hi Tech System Control Co Ltd filed Critical SICHUAN ELECTRIC POWER Corp INFORMATION COMMUNICATION CO Ltd
Priority to CN201310213960.1A priority Critical patent/CN103325069B/zh
Publication of CN103325069A publication Critical patent/CN103325069A/zh
Application granted granted Critical
Publication of CN103325069B publication Critical patent/CN103325069B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E40/00Technologies for an efficient electrical power generation, transmission or distribution
    • Y02E40/70Smart grids as climate change mitigation technology in the energy generation sector
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S10/00Systems supporting electrical power generation, transmission or distribution
    • Y04S10/50Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications

Abstract

本发明涉及基于数据库嵌套触发器的理论网损电量自动计量方法,属于电力系统中电网网络损耗分析与节能减排技术领域,该方法首先分别建立储存单位时段网损电量值以及不同时段网损电量计量值的数据表,并在数据表上分别定义触发器;其次,在线理论网损计算软件实时将单位时段网损值写入数据表,并通过单位时段网损电量数据表的触发器自动更新日计量值表,通过日计量值表的触发器自动更新月计量值表,通过月计量值表的触发器自动更新年计量值表。本发明提高了在线网损分析的自动化程度;并可实时了解当前日、月、年网损电量计量值的变化情况;从而可及时发现高网损的线路、变压器等,制定科学的降低网损的方法,提高能源利用率。

Description

基于数据库嵌套触发器的理论网损电量自动计量方法
技术领域
本发明属于电力系统中电网网络的损耗分析与节能减排技术领域,特别涉及在线理论网损计算中不同时间周期的网损电量的计算方法。
背景技术
电能是由一次能源转换而得到的二次能源,可以转化为机械能、热能、磁能等。随着社会的发展,电能己经成为国民民经济发展的命脉,其应用己深入到生产、生活的各个领域。随着电网输送电量的迅猛增长,电网有功损耗(以下简称网损)也随之大幅度增长。以2007年为例,中国全年发电量约3.3万亿千瓦时,输配电网的网损率平均约7%,仅网损一项,中国每年损失电量达2300亿千瓦时,相当于多消耗标准煤0.9亿吨,多排放CO2约2亿吨。如何通过以最小的电能损耗获取最大的经济效益,实现电网的网损降低和节能减排,意义十分重大。
电力网在输送和分配电能的过程中,由于输电设备存在着电阻,在电流流过时,就会产生一定数量的有功功率损耗,在给定的时段(日、月、季、年)内,各电网设备中所消耗的全部有功电量称为网损电量,一般包括线路设备所消耗的有功电量(简称线损)和变压器设备所消耗的有功电量(简称变损)。对于管理电能输送的电网企业,例如各个省、市级电网公司,虽然电网在物理上整体连接在一起,但是各电网公司所管辖的电网只是整个电网的一部分,或者按照地域进行划分,或者按照电压等级进行划分,各个电网公司所管辖的电网设备范围之间均规定了明确的边界位置。同样,电网企业和发电企业所管理的电网设备范围也有明确的边界。各电网公司在计量计算电网的有功网损电量时,只计量计算本公司管辖范围内的设备在传输电能时引起网损。
电网网损的种类从计算方式上划分,可以分为计量网损、理论网损二类。计量网损是根据电能表指示数计算出来的,是参与网损计量计算的电网范围在给定的时段内全部流入电量(即上网电量)与流出电量(即下网电量)的差值。理论网损是根据掌握的电网结构参数和运行参数,运用电工原理和电学中的理论,将管辖范围中所包含各输电设备的电压、电流以及对应的网损电量计算出来,这样计算得到的网损称之为理论网损,电网的理论网损即为管辖范围内包含的全部电气设备的理论网损之和。
计量网损基于电量数据采集系统,一般情况下出于节约成本的考虑,电网公司仅在所管辖电网范围的边界设备处安装电能表计,因此计量网损只能给出总的网损数值,无法对电网内各元件的网损进行分别的计算和分析。理论网损计算分析可以给出管辖电网范围内精确各元件网损和网损分布情况,如果结合电网实时的运行方式,实现在线理论网损分析计算,则可以很好地弥补计量网损的缺陷。
在电网理论网损在线实时计算方面,李碧君在文献《实时计算输变电系统的理论线损》(华中电力,1993年,第6卷第2期,67-69页)中进行了研究,提出了一种基于电网监控系统进行实时理论网损计算的方法,该文中提出的理论网损计算式为:
ΔA = Σ i = 1 m Σ j = 1 n Δ A ij = Σ i = 1 m Σ j = 1 n Δ P ij Δ t j ( i ) - - - ( 1 )
其中:
ΔA:管辖电网的全部网损电量,单位:千瓦时
m:管辖电网中包含的消耗有功电量的总设备个数,包括线路和变压器
n:计算的总时段个数
ΔPij:第i个设备在第j个时段内平均消耗的有功潮流,单位:千瓦
第j个计算时段的时长,也是在线理论网损计算的时间周期,单位:小时
在该文中,式(1)中的ΔPij采用电网监控系统系统提供的输电设备实时有功潮流量测值进行计算,既包括线路设备也包括变压器设备,从而实现了电网在线理论网损计算。许汉平、侯进峰等在《基于状态估计数据的电网线损理论计算方法》(电网技术,2003年,第27卷第3期,59-62页)中,进一步发展了电网在线理论线损计算的方法,提出采用电网实时状态估计计算得到的设备有功潮流值计算ΔPij,由于状态估计计算结果可以排除量测数据中的坏数据,因此可以得到更准确的理论网损计算结果;李旭阳、邢波在《实时理论线损计算分析系统的实现》(电力信息化,2007年,第5卷第10期,63-65页)中提出根据电网实时潮流计算得到的设备有功潮流值计算ΔPij的方法,也是对电网在线理论网损计算方法的进一步完善。
上述文献中涉及到电网实时状态估计计算,于尔铿在著作《电力系统状态估计》(北京:水利电力出版社,1985年)中进行了论述,电网实时状态估计是基于电网状态监控系统采集到的具有冗余度的设备量测值,自动排除错误的量测值并计算电网实时运行状态的在线计算程序。涉及到实时潮流计算,何仰赞、温增银等在《电力系统分析(第三版)》(湖北:华中科技大学出版社,2002年)中进行了论述,是根据发电和负荷计算电网各元件的有功、无功潮流的在线计算程序。
采用上述在线理论网损计算,一方面可以实时计算得到电网公司所关注的管辖范围内的总的理论网损,另一方面可以得到完整的网损分布,即总网损产生的原因和组成。这对电网公司制定降低网损的调度决策非常有意义,可以将设备按照网损大小进行排序,通过调整电网运行方式,减少高网损设备上输送的电网有功潮流,从而有效降低电网网损。
采用上述方法,可以得到任意给定n个时段的理论网损电量计算结果。在实际的应用中,电网运行管理人员往往更关心各种特定时间周期的网损电量计量结果,主要包括每日、每月、每年的总网损电量计量值。目前的在线理论网损分析软件中,对各种周期的网损电量计量多采用离线计算的方法,其方法是:在线计算程序将每个计算时段Δtj的电网理论网损ΔAj存入历史数据库中,需要计量时,人工输入日、月、年的起始和终止时间,软件进行计算并给出结果。采用这种方法,计算时间长,并且无法实时在线看到当前日、当月、当年的网损电量的实时变化情况,无法为降低网损提供详细、丰富的基础数据,极大程度上影响了节能减排效果。从已公开的文献来看,还没有更好的方法能够解决该问题。
本申请的内容涉及到关系数据库的表、字段(列)、记录(行)、SQL指令以及触发器技术。触发器是关系数据库软件为应用程序开发人员及数据库分析人员提供的保证数据完整性的一种重要的方法。触发器是存储过程的特殊类型,它在对表进行插入、修改或删除操作时执行,触发器是后过滤器,它在数据修改通过所有规则、缺省值之后才执行。如果触发器请求失败,将拒绝修改信息,并返回错误信息。关系数据库的表、字段、记录、SQL指令以及触发器的详细介绍参见StevenFeuerstein等在著作《OraclePL/SQL程序设计(第5版)》(北京:人民邮电出版社,2011年)。
发明内容
本发明的目的是为克服已有技术的不足之处,提供一种基于数据库嵌套触发器的理论网损电量自动计量的方法,该方法能够根据理论网损电量计算方法在每个计算时段给出的网损电量,实时自动计量小时、日、月、年等各种时段的计量电量,用户不需要进行任何人工操作,就可以得到各种时段的网损电量计量结果,从而协助电网公司及时发现高网损的线路、变压器等,制定科学的降低网损的方法。
本发明提出基于数据库嵌套触发器的理论网损电量自动计量方法,该方法包括:事先确定理论网损计算的周期Δt,(一般该计算周期为1分钟到5分钟不等),具体包括以下步骤:
1)建立存储每个单位时段Δt的电网理论网损电量计算值的历史数据表Hseg,该表中的字段包括每个单位时段Δt的起始时刻值tj,以及该单位时段的网损电量计算值ΔAsge.j,该表中的记录以(tj,ΔAseg.j)表示,且tj+1=tj+Δt;
2)建立分别存储日、月、年计量网损电量计量值的历史数据表,分别为:Hday、Hmon、Hyear,表中的字段包括每个计量时段的起始时刻值td、tm、ty,以及该时段的网损电量计量值ΔAday.d、ΔAmon.m、ΔAyear.y,表中的记录分别以(td,ΔAday.d)、(tm,ΔAmon.m)、(ty,ΔAyear.y)表示;
3)在历史数据表Hseg上定义第一触发器,用于在表Hseg中有新的记录插入或记录更新时被触发,其具体实现如下:
3.1)当表Hseg中有新数据(tj,ΔAseg.j)插入时,第一触发器根据tj值确定其所属的日期的起始时刻td,从表Hday中读出td对应的ΔAday.d,计算新的网损电量ΔA′day.d=Aday.d+ΔAseg.j,将Hday表中td对应的值更新为ΔA′day.d;如果Hday表中td时刻的记录不存在,则令ΔA′day.d=ΔAseg.j后向Hday表中插入新记录(td,ΔA′day.d);
3.2)当表Hseg中tj对应的数据ΔAseg.j更新为ΔAseg.j时第一触发器根据tj值确定其所属的日期的起始时刻td,从表Hday中读出td对应的ΔAday.d,计算ΔA′day.d=ΔAday.d-ΔAseg.j+ΔAseg.j,将Hday表中td对应的值更新为ΔA′day.d,如果Hday表中td时刻的记录不存在,则令ΔA′day.d=ΔAseg.j后向Hday表中插入新记录(td,ΔA′day.d);
4)在表Hday上定义第二触发器,用于在表Hday中有新的记录插入或记录更新时被触发,其具体实现为:
4.1)当表Hday中有新数据(td,ΔAday.d)插入时,第二触发器根据td值确定其所属的月份的起始时刻tm,从表Hmon中读出tm对应的ΔAmon.m,计算ΔA′mon.m=Amon.m+ΔAday.d,将Hmon表中tm对应的值更新为ΔA′mon.m;如果Hmon表中tm时刻的记录不存在,则令ΔA′mon.m=ΔAday.y后向Hmon表中插入新记录(tm,ΔA′mon.m);
4.2)当表Hday中td对应的数据ΔAday.d更新为ΔA′day.d时第二触发器根据td值确定其所属的月份的起始时刻tm,从表Hmon中读出tm对应的ΔAmon.m,计算ΔA′mon.m=Amon.m-ΔAday.d+ΔA′day.d,将表Hmon中tm对应的值更新为ΔA′mon.m,如果Hmon表中tm时刻的记录不存在,则令ΔA′mon.m=ΔA′day.y后向Hmon表中插入新记录(tm,ΔA′mon.m);
5)在表Hmon上定义第三触发器,用于在表Hmon中有新的记录插入或记录更新时被触发,其具体实现为:
5.1)当表Hmon中有新数据(tm,ΔAmon.m)插入时,第三触发器根据tm值确定其所属的年份的起始时刻ty,从表Hyear中读出ty对应的ΔAyear.y,计算ΔA′year.y=Ayear.y+ΔAmon.m,将Hyear表中ty对应的值更新为ΔA′year.y;如果Hyear表中ty时刻的记录不存在,则令ΔA′year.y=ΔAmon.m后向Hyear表中插入新记录(ty,ΔA′year.y);
5.2)当表Hmon中tm对应的数据ΔAmon.m更新为ΔA′mon.m时第三触发器根据tm值确定其所属的年份的起始时刻ty,从表Hyear中读出ty对应的ΔAyear.y,计算ΔA′year.y=Ayear.y-ΔAmon.n+ΔA′mon.m,将表Hyear中ty对应的值更新为ΔA′year.y,如果Hyear表中ty时刻的记录不存在,则令ΔA′year.y=ΔA′mon.m后向Hyear表中插入新记录(ty,ΔA′year.y);
6)当在线理论网损计算周期到来时,计算得到当前第j个单位时段的理论网损值ΔAsge.j,触发第一触发器,将记录(tj,ΔAsge.j)写入表Hseg,其中tj为当前单位时段的起始时刻;
7)第一触发器将更新tj对应的日期td的网损电量日计量值,将更新后的日计量值ΔA′day.d插入或更新到表Hday中并触发第二触发器;
8)第二触发器将更新td对应的月份tm的网损电量月计量值,并将更新后的月计量值ΔA′mon.m插入或更新到表Hmon中;
9)对表Hmon写入或更新触发第三触发器,该第三触发器将更新tm对应的年份ty的网损电量年计量值,并将更新后的年计量值ΔA′year.y插入或更新到表Hyear中;
步骤6)-9)的执行,嵌套触发了第一、二、三触发器,当步骤9)执行完成后,这些触发器也依次执行完成,表Hday、Hmon、Hyear经保存了最新的日、月、年的网损电量计量值ΔA′day.d、ΔA′mon.m、ΔA′year.y,完成了对这些计量值的自动在线计算。
10)当下一个在线理论网损计算周期到来时,返回步骤6),开始下一轮计算。
本发明的技术特点及效果:
本发明区别于以往方法的显著特征是提出了在电网在线理论网损计算中,当计算得到单位时段的网损电量后,能够在线自动计算日、月、年等多时段网损电量计量值的方法。该方法利用了关系数据库提供的触发器功能,利用触发器的自动嵌套调用,在保存单位时段网损电量的同时,即可自动更新其对应的日、月、年的网损电量的计量值。
通过此方法,一方面该过程完全自动执行,不需要任何人工干预和操作,提高了在线网损分析的自动化程度;另一方面,该方法实现了对各种计量电量的在线计算,每个单位时段的网损电量计算结果进行存储时,其对应的各个时段的计量值也实时更新,运行人员可以实时了解当前日、月、年网损电量计量值的变化情况;从而协助电网公司及时发现高网损的线路、变压器等,制定科学的降低网损的方法,提高能源利用率,实现重要的经济、社会、环境效益。
附图说明
图1为采用本发明方法的嵌套触发器自动计量日月年计量电量示意图。
具体实施方式
本发明提出的基于数据库嵌套触发器的理论网损电量自动计量方法结合附图及实施例详细说明如下:
本方法中事先确定计算周期Δt,一般在线电网理论网损计算的计算周期为1分钟到5分钟不等,此周期可根据实际情况和需求人工设定;
本方法包括以下步骤:
1)建立存储每个单位时段Δt的电网理论网损电量计算值的历史数据表Hseg,该表中的字段包括每个单位时段Δt的起始时刻值tj,以及该单位时段的网损电量计算值ΔAseg.j,该表中的记录以(tj,ΔAseg.j)表示,tj+1=tj+Δt。
本方法采用常用的关系数据库系统,在本方法中,建立数据表的SQL命令为createtable,建立历史数据表Hseg的典型脚本为:
createtableH_SEG(IDINTEGER,T_JDATE,A_JFLOAT)
该脚本在关系数据库中建立了一个关系表,其包括3个字段(列),分别是:
ID:存储对象的标识编号,在具体实施时,在H_SEG表中存储多个物理对象的网损电量,例如多个计量区域,或者多个电气设备,以ID作为唯一标识,其数据类型为整数(INTEGER)。
T_J:存储单位时段Δt的起始时刻值tj,常用的关系数据库系统均提供了专门的时间戳数据类型,用于存储时刻,可以精确到秒。
A_J:存储单位时段的网损电量计算值ΔAsge.j
该表建立完成后,表中的每条记录(行)即存储了某个对象(如电气设备)在T_J时刻开始的单位时段中,其理论网损电量值A_J。
2)建立分别存储日、月、年计量网损电量计量值的历史数据表Hday、Hmon、Hyear,表中的字段包括每个计量时段的起始时刻值td、tm、ty,以及该时段的网损电量计量值ΔAday.d、ΔAmon.m、ΔAyear.y,表中的记录分别以(td,ΔAday.d)、(tm,ΔAmon.m)、(ty,ΔAyear.y)表示。
类似于上述步骤1)的说明,建立历史数据表Hday的脚本为
createtableH_DAY(IDINTEGER,T_DDATE,A_DFLOAT)
类似于上述步骤1)的说明,建立历史数据表Hmon的脚本为
createtableH_MON(IDINTEGER,T_MDATE,A_MFLOAT)
类似于上述步骤1)的说明,建立历史数据表Hday的脚本为
createtableH_YEAR(IDINTEGER,T_YDATE,A_YFLOAT)
同一个物理对象(例如电气设备),在不同表中对应的ID相同,各表分别保存该对象不同的时间段的网损电量计量值,表中字段意义与步骤1)说明类似。
3)在表Hseg上定义第一触发器,用于在表Hseg中有新的记录插入或记录更新时被触发,其具体实现如下:
本发明采用常用的关系数据库,其中,对数据表的触发器定义,可以指定其在有新记录插入时触发,或者在原有某记录被更新后触发,其实现的方式有所不同,例如在Oracle数据库中,可以对插入或更新数据定义不同的触发器,定义插入数据的触发器的脚本为:
CREATEORREPLACETRIGGERday_auto_insert
AFTERINSERTONH_SEG
REFERENCINGNEWASnewval
foreachROW
(…)
其中,“day_auto_insert”为触发器名字,“H_SEG”为表的名字,即表示该触发器定义在表Hseg上,“AFTERINSERT”表示该触发器在插入新数据后被触发,“newval”为触发器函数体中引用新插入数据的变量指针,“foreachROW”表示定义的是一个行级触发器,在插入一行数据后立即被触发。
定义该数据更新的触发器脚本为:
CREATEORREPLACETRIGGERday_auto_update
AFTERUPDATEONH_SEG
REFERENCINGNEWASnewvalOLDASoldval
foreachROW
其中,“day_auto_update”为触发器名字,“H_SEG”为表的名字,即表示该触发器定义在表Hseg上,“AFTERUPDATE”表示该触发器在已有数据更新后被触发,“newval”为触发器函数体中引用更新后数据的变量指针,“oldval”为引用更新前数据的变量指针,“foreachROW”表示定义的是一个行级触发器,在更新一行数据后被触发。
3.1)当表Hseg中有新数据(tj,ΔAseg.j)插入时,第一触发器根据tj值确定其所属的日期的起始时刻td,从表Hday中读出td对应的ΔAday.d,计算ΔA′day.d=Aday.d+ΔAseg.j,将Hday表中td对应的值更新为ΔA′day.d;如果Hday表中td时刻的记录不存在,则令ΔA′day.d=ΔAseg.j后向Hday表中插入新记录(td,ΔA′day.d)。
上述操作在表H_SEG的触发器day_auto_insert中定义,其主要指令为(以Oracle数据库的PL/SQL指令为例,其他数据库系统指令类似):
v_dt=TO_DATE(TO_CHAR(newval.T_J,'YYYYMMDD'),'YYYYMMDD');
SELECTA_DINTOv_fAdFROMH_DAYWHERET_D=v_dtANDID=newval.ID;
IF(v_fAdISNOTNULL)THEN
v_fAd1=v_fAd+newval.A_J;
UPDATEH_DAYSETA_D=v_fAd1WHERET_D=v_dtANDID=newval.ID;
ELSE
v_fAd1=newval.A_J;
INSERTINTOH_DAY(ID,T_D,A_D)VALUES(newval.ID,v_dt,v_fAd1);
ENDIF;
说明如下:
触发器函数中,newval.T_J对应tj,为插入新记录中tj的值;newval.A_J对应ΔAseg.j,为插入新记录中ΔAseg.j的值。变量v_dt对应td,为tj对应的日期的起始时刻,v_fAd对应ΔAday.d,v_fAd1对应ΔA′day.d,。其中IF(v_fAdISNOTNULL)表示在表Hday中已经有td时刻的记录,这时通过执行Update指令更新原来的值,否则通过执行Insert指令插入新的值。在语句中,对ID的匹配表示找到同一个物理对象(如电气设备)。
3.2)当表Hseg中tj对应的数据ΔAseg.j更新为ΔAseg.j时触发器根据tj值确定其所属的日期的起始时刻td,从表Hday中读出td对应的ΔAday.d,计算ΔA′day.d=ΔAday.d-ΔAseg.j+ΔAseg.j,将Hday表中td对应的值更新为ΔA′day.d,如果Hday表中td时刻的记录不存在,则令ΔA′day.d=ΔAseg.j后向Hday表中插入新记录(td,ΔA′day.d)。
上述操作在表H_SEG的触发器day_auto_update中定义,其主要指令为(以Oracle数据库的PL/SQL指令为例,其他数据库指令类似):
v_dt=TO_DATE(TO_CHAR(newval.T_J,'YYYYMMDD'),'YYYYMMDD');
SELECTA_DINTOv_fAdFROMH_DAYWHERET_D=v_dtANDID=newval.ID;
IF(v_fAdISNOTNULL)THEN
v_fAd1=v_fAd–oldval.A_J+newval.A_J;
UPDATEH_DAYSETA_D=v_fAd1WHERET_D=v_dtANDID=newval.ID;
ELSE
v_fAd1=newval.A_J;
INSERTINTOH_DAY(ID,T_D,A_D)VALUES(newval.ID,v_dt,v_fAd1);
ENDIF;
说明如下:
触发器函数中,newval.T_J对应tj,为更新记录中tj的值,oldval.A_J对应ΔAseg.j,为更新前记录中的网损电量值,newval.A_J对应ΔAseg.j,为更新后记录中的网损电量值;变量v_dt对应td,为tj对应的日期的起始时刻,v_fAd对应ΔAday.d,v_fAd1对应ΔA′day.d。其中IF(v_fAdISNOTNULL)表示在表Hday中已经有td时刻的记录,这时通过执行Update指令更新原来的值,否则通过执行Insert指令插入新的值。在语句中,对ID的匹配表示找到同一个物理对象(如电气设备)。
4)在表Hday上定义第二触发器,该触发器在表Hday中有新的记录插入或记录更新时被触发,其具体实现如下:
4.1)当表Hday中有新数据(td,ΔAday.d)插入时,第二触发器根据td值确定其所属的月份的起始时刻tm,从表Hmon中读出tm对应的ΔAmon.m,计算ΔA′mon.m=Amon.m+ΔAday.d,将Hmon表中tm对应的值更新为ΔA′mon.m;如果Hmon表中tm时刻的记录不存在,则令ΔA′mon.m=ΔAday.y后向Hmon表中插入新记录(tm,ΔA′mon.m)。
类似于对步骤3.1)的说明,上述功能在表H_DAY的触发器mon_auto_insert中定义,其主要指令为(以Oracle数据库的PL/SQL指令为例,其他数据库指令类似):
v_dt=TO_DATE(TO_CHAR(newval.T_D,'YYYYMM'),'YYYYMM');
SELECTA_MINTOv_fAmFROMH_MONWHERET_M=v_dtANDID=newval.ID;
IF(v_fAmISNOTNULL)THEN
v_fAm1=v_fAm+newval.A_D;
UPDATEH_MONSETA_M=v_fAm1WHERET_M=v_dtANDID=newval.ID;
ELSE
v_fAm1=newval.A_M;
INSERTINTOH_MON(ID,T_M,A_M)VALUES(newval.ID,v_dt,v_fAm1);
ENDIF;
其中:newval.T_D对应td;newval.A_D对应ΔAday.d;变量v_dt对应tm;变量v_fAm对应ΔAmon.m,v_fAm1对应ΔA′mon.m。其中IF(v_fAmISNOTNULL)表示在表Hmon中已经有tm时刻的记录,这时通过执行Update指令更新原来的值,否则通过执行Insert指令插入新的值。在语句中,对ID的匹配表示找到同一个物理对象(如电气设备)。
4.2)当表Hday中td对应的数据ΔAday.d更新为ΔA′day.d时第二触发器根据td值确定其所属的月份的起始时刻tm,从表Hmon中读出tm对应的ΔAmon.m,计算ΔA′mon.m=Amon.m-ΔAday.d+ΔA′day.d,将表Hmon中tm对应的值更新为ΔA′mon.m,如果Hmon表中tm时刻的记录不存在,则令ΔA′mon.m=ΔA′day.y后向Hmon表中插入新记录(tm,ΔA′mon.m)。
类似于对步骤3.2)的说明,上述功能在表H_DAY的触发器mon_auto_update中定义,其主要指令为
(v_dt=TO_DATE(TO_CHAR(newval.T_D,'YYYYMM'),'YYYYMM');
SELECTA_MINTOv_fAmFROMH_MONWHERET_M=v_dtANDID=newval.ID;
IF(v_fAmISNOTNULL)THEN
v_fAm1=v_fAm–oldval.A_D+newval.A_D;
UPDATEH_MONSETA_M=v_fAm1WHERET_M=v_dtANDID=newval.ID;
ELSE
v_fAm1=newval.A_D;
INSERTINTOH_MON(ID,T_M,A_M)VALUES(newval.ID,v_dt,v_fAm1);
ENDIF;
以Oracle数据库的PL/SQL指令为例,其他数据库指令类似):
其中:oldval.A_D对应ΔAday.d;newval.A_D对应ΔA′day.d,其他与上述对4.1)的说明相同。
5)在表Hmon上定义第三触发器,该触发器在表Hmon中有新的记录插入或记录更新时被触发,其具体实现如下:
5.1)当表Hmon中有新数据(tm,ΔAmon.m)插入时,第三触发器根据tm值确定其所属的年份的起始时刻ty,从表Hyear中读出ty对应的ΔAyear.y,计算ΔA′year.y=Ayear.y+ΔAmon.m,将Hyear表中ty对应的值更新为ΔA′year.y;如果Hyear表中ty时刻的记录不存在,则令ΔA′year.y=ΔAmon.m后向Hyear表中插入新记录(ty,ΔA′year.y)。
类似于对步骤4.1)的说明,上述功能在表H_MON的触发器year_auto_insert中定义,其主要指令为(以Oracle数据库的PL/SQL指令为例,其他数据库指令类似):
v_dt=TO_DATE(TO_CHAR(:newval.T_M,'YYYY')||'0101','YYYYMMDD');;
SELECTA_YINTOv_fAyFROMH_YEARWHERET_Y=v_dtANDID=newval.ID;
IF(v_fAyISNOTNULL)THEN
v_fAy1=v_fAy+newval.A_M;
UPDATEH_YEARSETA_Y=v_fAy1WHERET_Y=v_dtANDID=newval.ID;
ELSE
v_fAy1=newval.A_M;
INSERTINTOH_YEAR(ID,T_Y,A_Y)VALUES(newval.ID,v_dt,v_fAy1);
ENDIF;
其中:newval.T_M对应tm;newval.A_M对应ΔAmon.m;变量v_dt对应ty;变量v_fAy对应ΔAyear.y,v_fAy1对应ΔA′year.y。其中IF(v_fAyISNOTNULL)表示在表Hyear中已经有ty时刻的记录,这时通过执行Update指令更新原来的值,否则通过执行Insert指令插入新的值。在语句中,对ID的匹配表示找到同一个物理对象(如电气设备)。
5.2)当表Hmon中tm对应的数据ΔAmon.m更新为ΔA′mon.m时,触发器根据tm值确定其所属的年份的起始时刻ty,从表Hyear中读出ty对应的ΔAyear.y,计算ΔA′year.y=Ayear.y-ΔAmon.n+ΔA′mon.m,将表Hyear中ty对应的值更新为ΔA′year.y,如果Hyear表中ty时刻的记录不存在,则令ΔA′year.y=ΔA′mon.m后向Hyear表中插入新记录(ty,ΔA′year.y)。
类似于对步骤4.2)的说明,上述功能在表H_MON的触发器year_auto_update中定义,其主要指令为(以Oracle数据库的PL/SQL指令为例,其他数据库指令类似):
v_dt=TO_DATE(TO_CHAR(:newval.T_M,'YYYY')||'0101','YYYYMMDD');
SELECTA_YINTOv_fAyFROMH_YEARWHERET_Y=v_dtANDID=newval.ID;
IF(v_fAyISNOTNULL)THEN
v_fAy1=v_fAy–oldval.A_M+newval.A_M;
UPDATEH_YEARSETA_Y=v_fAy1WHERET_Y=v_dtANDID=newval.ID;
ELSE
v_fAy1=newval.A_M;
INSERTINTOH_YEAR(ID,T_Y,A_Y)VALUES(newval.ID,v_dt,v_fAy1);
ENDIF;
其中:oldval.A_M对应ΔAmon.m;newval.A_M对应ΔA′mon.m,其他与上述对5.1)的说明相同。
6)上述数据表和触发器在理论网损计算程序运行前进行定义。当在线理论网损计算周期到来时,程序计算得到当前第j个单位时段的理论网损值ΔAsge.j,将记录(tj,ΔAsge.j)写入表Hseg,其中tj为当前单位时段的起始时刻。
对于本方法在线实时计算得到当前第j个单位时段的理论网损值ΔAsge.j,形成记录(ID,tj,ΔAsge.j)并写入到表H_SEG中。由于计算是在线实时进行的,tj为当前时段的起始时刻,因此正常情况下在写入前表H_SEG是没有T_S=tj的记录的,因此采用insert指令进行写入。在离线人工操作情况下,可能对表H_SEG中已有的tj时刻的记录数据进行修正,这时采用update指令进行修改。对表Hseg的写入将触发第一触发器;
7)第一触发器将更新tj对应的日期td的网损电量日计量值,并将更新后的日计量值ΔA′day.d插入或更新到表Hday中,并触发第二触发器;如果调用了insert指令,则会触发表H_SEG定义的第一触发器中day_auto_insert触发器,如果调用了update指令,则会触发表H_SEG定义的第一触发器中day_auto_update触发器,这2个触发器会将由ID标识的当前物理对象的网损电量日计量值进行更新,并调用insert或update指令,插入或更新表H_DAY,这将触发第二触发器;
8)该触发器将更新td对应的月份tm的网损电量月计量值,并将更新后的月计量值ΔA′mon.m插入或更新到表Hmon中。
如果调用了insert指令,则会触发表H_DAY定义的第二触发器中mon_auto_insert触发器,如果调用了update指令,则会触发表H_DAY定义的第二触发器中mon_auto_update触发器,这2个触发器会将由ID标识的当前物理对象的网损电量月计量值进行更新,并调用insert或update指令,插入或更新表H_MON。对表Hmon的写入或更新将触发第三触发器;
9)该触发器将更新tm对应的年份ty的网损电量年计量值,并将更新后的年计量值ΔA′year.y插入或更新到表Hyear中。
如果调用了insert指令,则会触发表H_MON定义的第三触发器中year_auto_insert触发器;如果调用了update指令,则会触发H_MON定义的第三触发器year_auto_update触发器,这2个触发器会将由ID标识的当前物理对象的网损电量年计量值进行更新,并调用insert或update指令,插入或更新表H_YEAR。
可以看到,从步骤6)开始的执行,嵌套触发了第一、二、三触发器,当步骤6)-9)执行完成后,这些触发器也依次执行完成,表Hday、Hmon、Hyear中已经保存了最新的日、月、年的网损电量计量值ΔA′day.d、ΔA′mon.m、ΔA′year.y,完成了对这些计量值的自动在线计算。
10)当下一个在线理论网损计算周期到来时,返回步骤6),开始下一轮计算。
在实际运行中,第一触发器即表H_SEG的触发器day_auto_insert,是由在线理论网损计算程序执行的insert指令触发的,而触发器day_auto_insert中的insert(或update)指令会自动触发表H_DAY的触发器mon_auto_insert(或者mon_auto_update),而触发器mon_auto_insert(或者mon_auto_update)中的insert(或update)指令会自动触发H_MON的的触发器year_auto_insert(或者year_auto_update),从而完成对该物理对象日、月、年网损电量的自动计量计算和更新,可见这是一个3层嵌套的触发器,其嵌套调用如图1所示。
本发明方法的一个实施例说明如下:
本发明实施例是对电网总理论网损以及某线路A的理论网损进行实时在线计量,总网损对象的ID=1,线路对象的ID=2。
本发明实施例中,确定计算周期Δt=5分钟,即1/12小时。
按照上述方法步骤1)~步骤5)建立表H_SEG、H_DAY、H_MON、H_YEAR,以及表上的第一、二、三触发器,表建立完成后,表中均没有记录。
当第一轮在线理论网损计算周期到来时,设当前时间为2013年1月1日0时5分,进入数据存储和自动计量过程如下:
步骤6):计算给出总理论网损为100,线路理论网损为10,执行insert指令,向H_SEG表中插入数据为(1,’2013-01-0100:00:00’,100)和(2,’2013-01-0100:00:00’,10)
步骤7):上步中执行的insert语句触发表H_SEG定义的第一触发器day_auto_insert,由于表H_DAY为空,该触发器最后调用insert语句,向表H_DAY中插入数据为(1,’2013-01-01’,100)和(2,’2013-01-01’,10)。
步骤8):上步中执行的insert语句触发表H_DAY表中定义的第二触发器mon_auto_insert,由于表H_MON为空,该触发器最后调用insert语句,向表H_MON中插入数据为(1,’2013-01’,100)和(2,’2013-01’,10)。
步骤9):上步中执行的insert语句触发表H_MON表中定义的第三触发器year_auto_insert,由于表H_YEAR为空,该触发器最后调用insert语句,向表H_YEAR中插入数据为(1,’2013’,100)和(2,’2013’,10)。
在本轮数据写入H_SEG完成后,H_DAY、H_MON、H_YEAR表中已经分别自动产生2条记录,分别存储电网总网损电量和线路A网损电量在2013年1月1日的日计量值、在2013年1月的月计量值,以及在2013年的年计量值,计量值均为100(总网损)和10(线路A网损)。
当第二轮在线理论网损计算周期到来时,设当前时间为2013年1月1日0时10分,进入数据存储和自动计量过程如下:
步骤6):计算给出总理论网损为200,线路理论网损为20,执行insert指令,向H_SEG表中插入数据为(1,’2013-01-0100:05:00’,200)和(2,’2013-01-0100:05:00’,20)
步骤7):在上步中执行的insert语句触发表H_SEG定义的第一触发器day_auto_insert,由于表H_DAY中已有日期为‘2013-01-01’的记录,该触发器最后调用update语句,向表H_DAY中更新数据为(1,’2013-01-01’,300)和(2,’2013-01-01’,30)。
步骤8):上步中执行的update语句触发表H_DAY表中定义的第二触发器mon_auto_update,由于表H_MON中已有月份为‘2013-01’的记录,该触发器最后调用insert语句,向表H_MON中更新数据为(1,’2013-01’,300)和(2,’2013-01-01’,30)。
步骤9):在上步中执行的update语句触发表H_MON表中定义的第三触发器year_auto_update,由于表H_YEAR中已有年份为‘2013’的记录,该触发器最后调用update语句,向表H_YEAR中更新数据为(1,’2013’,300)和(2,’2013’,30)。
在本轮数据写入H_SEG完成后,H_SEG中有4条记录,如下:
ID T_J A_J
1 2013-01-0100:00:00 100
2 2013-01-0100:00:00 10
1 2013-01-0100:05:00 200
2 2013-01-0100:05:00 20
表H_DAY中有2条记录,如下:
ID T_D A_D
1 2013-01-01 300
2 2013-01-01 30
表H_MON中有2条记录,如下:
ID T_M A_M
1 2013-01 300
2 2013-01 30
表H_YEAR中有2条记录,如下:
ID T_Y A_Y
1 2013 300
2 2013 30

Claims (1)

1.一种基于数据库嵌套触发器的理论网损电量自动计量的方法,该方法包括:事先确定理论网损计算的周期Δt,具体包括以下步骤:
1)建立存储每个单位时段Δt的电网理论网损电量计算值的历史数据表Hseg,该表中的字段包括每个单位时段Δt的起始时刻值tj,以及该单位时段的网损电量计算值ΔAsge.j,该表中的记录以(tj,ΔAseg.j)表示,tj+1=tj+Δt;
2)建立分别存储日、月、年计量网损电量计量值的历史数据表Hday、Hmon、Hyear,表中的字段包括每个计量时段的起始时刻值td、tm、ty,以及该时段的网损电量计量值ΔAday.d、ΔAmon.m、ΔAyear.y,表中的记录分别以(td,ΔAday.d)、(tm,ΔAmon.m)、(ty,ΔAyear.y)表示;
3)在表Hseg上定义第一触发器,在表Hseg中有新的记录插入或记录更新时被触发,其功能如下:
3.1)当表Hseg中有新数据(tj,ΔAseg.j)插入时,触发器功能为:根据tj值确定其所属的日期的起始时刻td,从表Hday中读出td对应的ΔAday.d,计算ΔA′day.d=ΔAday.d+ΔAseg.j,将Hday表中td对应的值更新为ΔA′day.d;如果Hday表中td时刻的记录不存在,则令ΔA′day.d=ΔAseg.j后向Hday表中插入新记录(td,ΔA′day.d);
3.2)当表Hseg中tj对应的数据ΔAseg.j更新为ΔA′seg.j时触发器功能为:根据tj值确定其所属的日期的起始时刻td,从表Hday中读出td对应的ΔAday.d,计算ΔA′day.d=ΔAday.d-ΔAseg.j+ΔA′seg.j,将Hday表中td对应的值更新为ΔA′day.d,如果Hday表中td时刻的记录不存在,则令ΔA′day.d=ΔA′seg.j后向Hday表中插入新记录(td,ΔA′day.d);
4)在表Hday上定义第二触发器,在表Hday中有新的记录插入或记录更新时被触发,其功能如下:
4.1)当表Hday中有新数据(td,ΔAday.d)插入时,触发器功能为:根据td值确定其所属的月份的起始时刻tm,从表Hmon中读出tm对应的ΔAmon.m,计算ΔA′mon.m=ΔAmon.m+ΔAday.d,将Hmon表中tm对应的值更新为ΔA′mon.m;如果Hmon表中tm时刻的记录不存在,则令ΔA′mon.m=ΔAday.y后向Hmon表中插入新记录(tm,ΔA′mon.m);
4.2)当表Hday中td对应的数据ΔAday.d更新为ΔA′day.d时触发器功能为:根据td值确定其所属的月份的起始时刻tm,从表Hmon中读出tm对应的ΔAmon.m,计算ΔA′mon.m=ΔAmon.m-ΔAday.d+ΔA′day.d,将表Hmon中tm对应的值更新为ΔA′mon.m,如果Hmon表中tm时刻的记录不存在,则令ΔA′mon.m=ΔA′day.y后向Hmon表中插入新记录(tm,ΔA′mon.m);
5)在表Hmon上定义第三触发器,在表Hmon中有新的记录插入或记录更新时被触发,其功能如下:
5.1)当表Hmon中有新数据(tm,ΔAmon.m)插入时,触发器功能为:根据tm值确定其所属的年份的起始时刻ty,从表Hyear中读出ty对应的ΔAyear.y,计算ΔA′year.y=ΔAyear.y+ΔAmon.m,将Hyear表中ty对应的值更新为ΔA′year.y;如果Hyear表中ty时刻的记录不存在,则令ΔA′year.y=ΔAmon.m后向Hyear表中插入新记录(ty,ΔA′year.y);
5.2)当表Hmon中tm对应的数据ΔAmon.m更新为ΔA′mon.m时触发器功能为:根据tm值确定其所属的年份的起始时刻ty,从表Hyear中读出ty对应的ΔAyear.y,计算ΔA′year.y=ΔAyear.y-ΔAmon.m+ΔA′mon.m,将表Hyear中ty对应的值更新为ΔA′year.y,如果Hyear表中ty时刻的记录不存在,则令ΔA′year.y=ΔA′mon.m后向Hyear表中插入新记录(ty,ΔA′year.y);
6)上述数据表和触发器在理论网损计算程序运行前进行定义;当在线理论网损计算周期到来时,程序计算得到当前第j个单位时段的理论网损值ΔAsge.j,将记录(tj,ΔAsge.j)写入表Hseg,其中tj为当前单位时段的起始时刻,对表Hseg的写入将触发第一触发器;
7)该第一触发器将更新tj对应的日期td的网损电量日计量值,并将更新后的日计量值ΔA′day.d插入或更新到表Hday中,对表Hday的写入或更新将触发第二触发器;
8)该第二触发器将更新td对应的月份tm的网损电量月计量值,并将更新后的月计量值ΔA′mon.m插入或更新到表Hmon中,对表Hmon的写入或更新将触发第三触发器;
9)该第三触发器将更新tm对应的年份ty的网损电量年计量值,并将更新后的年计量值ΔA′year.y插入或更新到表Hyear中;
步骤6)的执行,嵌套触发了第一、二、三触发器,当步骤6)执行完成后,这些触发器也依次执行完成,表Hday、Hmon、Hyear中已经保存了最新的日、月、年的网损电量计量值ΔA′day.d、ΔA′mon.m、ΔA′year.y,完成了对这些计量值的自动在线计算;
10)当下一个在线理论网损计算周期到来时,返回步骤6),开始下一轮计算。
CN201310213960.1A 2013-05-31 2013-05-31 基于数据库嵌套触发器的理论网损电量自动计量方法 Expired - Fee Related CN103325069B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310213960.1A CN103325069B (zh) 2013-05-31 2013-05-31 基于数据库嵌套触发器的理论网损电量自动计量方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310213960.1A CN103325069B (zh) 2013-05-31 2013-05-31 基于数据库嵌套触发器的理论网损电量自动计量方法

Publications (2)

Publication Number Publication Date
CN103325069A CN103325069A (zh) 2013-09-25
CN103325069B true CN103325069B (zh) 2016-06-15

Family

ID=49193793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310213960.1A Expired - Fee Related CN103325069B (zh) 2013-05-31 2013-05-31 基于数据库嵌套触发器的理论网损电量自动计量方法

Country Status (1)

Country Link
CN (1) CN103325069B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479285A (zh) * 2010-11-23 2012-05-30 上海市电力公司 一种用于电能质量的暂降特征量的计算方法
CN102651049A (zh) * 2011-02-23 2012-08-29 河北省电力研究院 电力系统新建变电站降损率的计算方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479285A (zh) * 2010-11-23 2012-05-30 上海市电力公司 一种用于电能质量的暂降特征量的计算方法
CN102651049A (zh) * 2011-02-23 2012-08-29 河北省电力研究院 电力系统新建变电站降损率的计算方法

Also Published As

Publication number Publication date
CN103325069A (zh) 2013-09-25

Similar Documents

Publication Publication Date Title
CN102751728B (zh) 基于负荷中断模型的微网孤网运行的能量管理方法
US20160092622A1 (en) Method for modeling medium and long term wind power output model of medium and long term optimal operationof power system
CN107403256B (zh) 一种考虑需求响应不确定性的光伏微网电池储能配置方法
CN102074954A (zh) 一种城乡配电网综合节能评估与决策方法
CN104008432A (zh) 基于emd-kelm-ekf的微网短期负荷预测方法
CN103514571B (zh) 一种基于负荷曲线分解的商业居民负荷类型负荷建模方法
CN108258710A (zh) 一种计及电池容量衰减的电池储能系统优化配置方法
CN112700066B (zh) 一种电-热综合能源系统调度最佳时间尺度配合方法
CN103325009A (zh) 电网供不应求情况下电力负荷移峰的控制及费用计算方法
CN106203769A (zh) 一种基于时差系数的节假日天级需水量在线预测方法
CN104598999A (zh) 一种计及可靠性的配电网分时电价优化方法
CN103632031B (zh) 一种基于负荷曲线分解的农村负荷类型负荷建模方法
CN102567645B (zh) 基于在线理论网损计算的电网设备统计及计算网损的方法
CN104299051A (zh) 一种用于电网工程技术经济性分析评论的网络系统
CN104809543A (zh) 基于月度输变电设备检修计划的电网运行方式生成方法
CN103325069B (zh) 基于数据库嵌套触发器的理论网损电量自动计量方法
JP3336140B2 (ja) 発電機負荷配分装置
CN105279706A (zh) 用于确定电网运行安全状态的方法
CN112418700B (zh) 一种电力容量市场需求曲线设计方法、装置及设备
CN103426080A (zh) 抽水蓄能电站生产日报系统
CN107294090A (zh) 基于营配调多源数据的配电自动化应用提升方法
CN103310040B (zh) 电气二次装置仿真中通用定制平台的构建方法
CN105260946A (zh) 低压同期线损统计方法
Liang et al. Fast large-scale optimal power flow analysis for smart grid through network reduction
CN116561393B (zh) 基于用水量因素的万元gdp用水量可视化系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160615

Termination date: 20180531