CN103136407A - 一种基于数据整体存取技术实现emtdc仿真模型快照功能的方法 - Google Patents

一种基于数据整体存取技术实现emtdc仿真模型快照功能的方法 Download PDF

Info

Publication number
CN103136407A
CN103136407A CN2011103976623A CN201110397662A CN103136407A CN 103136407 A CN103136407 A CN 103136407A CN 2011103976623 A CN2011103976623 A CN 2011103976623A CN 201110397662 A CN201110397662 A CN 201110397662A CN 103136407 A CN103136407 A CN 103136407A
Authority
CN
China
Prior art keywords
data
snapshot
page
application
district
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.)
Granted
Application number
CN2011103976623A
Other languages
English (en)
Other versions
CN103136407B (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.)
NR Electric Co Ltd
NR Engineering Co Ltd
Original Assignee
NR Electric Co Ltd
NR Engineering 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 NR Electric Co Ltd, NR Engineering Co Ltd filed Critical NR Electric Co Ltd
Priority to CN201110397662.3A priority Critical patent/CN103136407B/zh
Publication of CN103136407A publication Critical patent/CN103136407A/zh
Application granted granted Critical
Publication of CN103136407B publication Critical patent/CN103136407B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

基于数据整体存取技术实现EMTDC仿真型快照功能的方法,1)以应用结构体为数据模型组织和管理应用程序:程序由若干应用程序组成,应用程序由可视化页面组成,将应用程序的变量组成结构体进行封装;在结构体中,按照页面的执行顺序和数据流顺序依次排列变量,在运行时这些变量放在连续的内存中,提高了内存程序运行效率;2)通过可视化编程工具形成应用程序代码,并在形成代码中嵌入自定义的数据快照的接口;3)为应用提供数据快照操作的系统接口;本发明是一种基于结构体整体分配快照数据区,按页面数据块批量刷新数据的方法,不需要识别单个变量类型和大小,并给应用程序封装了数据快照和恢复的操作接口,保证了数据快照的实时性和正确性。

Description

一种基于数据整体存取技术实现EMTDC仿真模型快照功能的方法
技术领域
本发明属于电力系统离线数字仿真技术领域,具体涉及一种基于数据整体存取技术实现EMTDC仿真模型快照功能的方法。
背景技术
EMTDC(Electro-Magnetic Transient in DC system)是一个电力系统电磁暂态仿真分析软件,它具有精确和丰富的电力系统应用模型、方便的数据输入方式以及强大的数据分析功能,是进行电力系统分析和工程研究的有力工具,在全世界范围内有着广泛的应用。
快照功能是仿真断点镜像保存和恢复功能的简称。EMTDC仿真软件提供数据快照(snapshot)的基本接口。EMTDC仿真软件允许仿真模型在运行过程中进行快照操作,保存某个仿真时刻的断点镜像数据,并在该模型下一次仿真运行时从该断点镜像恢复数据。
EMTDC仿真软件分别提供了整型、浮点型数据的快照数据存储区的内存首地址和变量偏移计数值。应用程序在每个任务函数运行时,把变量值写入到快照数据区,当停止仿真时,把数据存储到文件。当下次重新启动运行时,把文件内容读到快照数据区,应用程序从该数据区读取上次运行值,实现恢复运行的功能。由于EMTDC只提供了数据指针的首地址,需要应用程序自己区分变量类型并分配读写地址,需要针对程序中每个变量人工书写处理代码。已经实现的仿真模块快照实现方法是基于单个变量逐个处理的,当程序规模庞大时,这种方法工作量大,容易出错,开发调试的效率比较低。
EMTDC在在直流工程仿真中有很多应用,其仿真结果对实际工程有很大参考知道价值,在使用过程中需经常使用模型快照功能,进行不同工况下数据分析,直流工程的程序量非常大,有2000多页可视化程序文件,10万行代码量,如果逐行代码进行单个变量的数据快照处理,工作量很大,迫切需要提供一种高效率自动化的快照方法。本发明以面向对象的思想,用结构体来组织管理可视化页面程序,以结构体为单位实现数据整体分配和恢复,以页面块为单位进行数据快照,这种方法是EMTDC快照应用的首次实现。
发明内容
本发明的目的是:提供一种EMTDC应用程序自动实现数据快照和恢复的高效率实现方法。
本发明的技术方案由三部分组成,第一部分是可视化应用程序面向对象的数据结构定义;第二部分为可视化应用程序的代码生成方法;第三部分为开发基于整块内存的快照调用的系统软件接口。
第一部分,以面向对象的思想组织和管理可视化图形程序,程序由若干应用组成。将应用程序的变量用结构体进行封装,应用包含输入变量、输出变量、参数、构造函数、初始化函数、任务函数。在应用程序的头文件定义成员变量结构体,在应用程序源文件定义页面任务函数、应用构造函数、应用初始化函数。结构体的数据组织如图1所示,在结构体里,按照页面执行顺序依次排列变量,形成一块连续的内存。
第二部分,可视化应用程序的代码生成。提供可视化编程环境和编程符号库,用图形符号编写应用程序。把程序划分成若干应用组成,每个应用由多个页面组成,完成特定的功能。为了实现基于整体内存块快照功能,把每个页面的变量按数据流执行顺序排列组织,然后按照页面的执行顺序把所有页面的变量组织在一个结构体里,应用数据的结构体实例化后,编译器编译程序时就分配了整块连续的全局数据区,在这个全局数据区里,每个页面的数据是连续分配的,记住每个页面的起始地址和结束地址,就可以在页面任务函数执行完后,把该页面的新数据刷新到快照区,实现页面数据的即时刷新。当恢复数据时,可以通过memcpy函数,基于整个结构体的大小实现一次批量恢复,这样就不必为单个变量逐个区分类型和刷新恢复。为了提高内存复制的效率,在页面变量首部添加一个Uint32(unsigned int)类型的变量snap_start,在页面变量尾部添加一个Uint32(unsigned int)类型的变量snap_end,确保了应用首地址、页面首地址是按4字节的整型数对齐,寄存器进行内存地址访问时可以快速定位。
定义的数据快照接口包括三个函数:第一个函数在快照数据区分配一块连续的内存;第二个函数把运行区内存数据刷新到快照数据区;第三个函数从快照数据区恢复运行数据。
第三部分,为应用提供数据快照操作的系统接口。由于是基于内存块操作,只需使用快照整型数据区STORI和整型数计数NSTORI。在应用的构造函数中,通过调用mallocStor接口,按照应用结构体大小,在STORI申请一块连续内存区,并修改计数器NSTORI值,轮到下一个应用构造时,紧挨上一个应用连续分配快照数据区。这样程序的所有的应用按照执行顺序连续申请了快照数据区,单个应用内部的各个页面连续划分了应用所属的快照数据区,实现了以应用为单位申请快照内存和恢复数据,以页面为单位写数据。
本发明是一种基于结构体整体分配快照数据区,按页面数据块批量刷新数据的方法,不需要识别单个变量类型和大小,不需要本地存储单个变量在快照数据区的地址,并给应用程序封装了数据快照和恢复的操作接口,保证了数据快照的实时性和正确性。当以快照模式运行时,在程序的初始化函数中以结构体为单位往快照数据区申请写内存,在每个运行周期中,以页面块为单位往快照数据区刷新实时数据。当恢复运行时,在程序的初始化函数中以结构体为单位从快照数据区读取数据,恢复上次运行结果。以内存块为单位自动进行EMTDG数据快照功能是首次实现。
本发明的有益效果:本发明提供的方法不需要分析应用程序单个变量的类型,不需要为单个变量添加快照的处理代码,而是以页面、应用结构体的整块数据区为单位,整体实现快照功能,是通过自主开发的代码生成工具自动嵌入仿真模型的快照功能接口操作,不需要人工修改应用程序,保证了正确性并提高了程序执行效率。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明。
图1单个应用程序的数据结构体原理图。
图2是应用程序组织原理图。
图3是以结构体组织应用变量代码示例图。
图4是基于应用内存块快照分配原理图。
图5是应用构造函数中整体分配和读取快照数据示例图。
图6是不同等级页面任务刷新快照数据区原理图。
图7是单个页面把数据刷新到快照数据区示例图。
图8是基于内存块的快照数据操作接口示例图。
具体实施方式
图1单个应用的数据结构体原理图,将应用的变量组成结构体(结构体类型名、实例名),成员变量有多个页面组成,分输入变量、输出变量、参数、内部变量。变量有不同的类型,当结构体实例化后,例如声明TCC_APP tcc_inst;则在运行内存中申请了一块连续的数据区,这个数据区又可以用不同大小的页面分片组成。
图2基于应用的应用程序组织原理图,一个装置的程序有多个插件,插件有多个应用,应用有多个页面,1个页面代表1个运行任务。任务在不同的周期中执行,分9个等级的运行任务。单个任务执行运算完后,把该页面任务对应的运行数据块刷新到快照数据区。
图3以结构体组织应用变量代码示例,在图3的代码片段中,Uint32是unsigned int的简称,表示无符号4字节整形变量。Uint8是unsigned char的简称,表示无符号1字节整形变量。float32表示4字节浮点数。
示例的结构体名字为BIP1_S1_P1_PCP_MAINCPU_TCC,页面有INPUT、TCCSET1、TCCSET2等,以TCCSET2页面为例,定义了TCCSET2_snap_start,表示页面内存块起始变量,定义了TCCSET2_snap_end,表示页面内存终止变量。若结构体的实例名定义为inst,则inst.snap_addr表示TCCInst在快照数据区对应的首地址,&inst.TCCSET2_snap_start表示页面TCCSET2的起始地址,&inst.TCCSET2_snap_end表示页面TCCSET2的终止地址,(Uint32)&inst.TCCSET2_snap_start-(Uint32)&inst.TCCSET2_snap_end表示页面TCCSET2内存区大小,inst.snap_addr+(Uint32)&inst.TCCSET2_snap_start-(Uint32)&inst表示页面TCCSET2在快照数据区对应的首地址。
图4基于结构体内存块快照分配原理图,在图4中,底部紫色框表示运行内存区,以结构体为单位划分运行数据区。与之对应的快照数据区,通过自定义的mallocStor接口,把应用数据以结构体为单位为整体进行同等大小的映射分配。通过自定义的readStor接口,从快照数据区整体进行数据恢复。
图5构造函数中整体分配和读取快照数据示例图,在图5中,应用构造函数通过判断emtdc_first_snap_snap的标记,如果为1表示是首次恢复运行,则从快照数据区同步恢复数据。通过调用mallocStor接口,从快照数据区分配写数据的内存。图3、图5的代码是通过自定义的代码生成工具coder自动形成的,不需要人工干预。
图6不同等级页面任务刷新快照图,如图6所示,EMTDC仿真运行过程中,以页面块为单位进行区域数据刷新,只有轮到该页面执行后才需要调用wrieStor接口刷新数据,按需刷新同步数据,提高运行效率。
图7单个页面刷新快照示例图,图7中页面名为TCCPERM,对应任务函数为TCCPERM(void*pv),在执行完该页面对应子函数后,实时运行数据通过writeStor接口,同步刷新到快照数据区。保证快照触发时,获取到最新运行数据。
本发明分三部分内容:
第一部分,以应用结构体为数据模型组织和管理应用程序。应用程序的变量由若干结构体组成,数据模型见图1,各个页面的输入输出参数变量依次排列,组成结构体。
第二部分为通过可视化编程工具形成应用程序代码,并在形成代码中嵌入自定义的数据快照的接口。应用程序组织结构见图2,通过层次化数据模型,装置管理若干插件,插件管理若干应用,应用管理若干页面任务,任务有不同执行周期,按照执行周期形成任务链。在生成可视化应用代码时,应用的数据头文件用结构体管理。在图3中举例了一个应用结构体对应的源代码,在结构体里按照页面顺序依次声明变量,单个页面有snap_start、snap_end变量用于标识页面块起始和结束。把应用的所有变量组织成结构体,从而实现以结构体为单位的内存分配和读取(见图4),单个应用的快照数据内存整体分配的C语言接口示例:
mallocStor(pstori,pnstori,&dp->snap_addr,sizeof(struct_type));
在应用的构造函数中,调用系统封装的接口,在snapshot数据区为应用实例映射整块内存,也可从快照数据区一次恢复数据(见图5),恢复接口调用示例为:
readStor(pstori,&nstori,dp,sizeof(struct_type));
形参说明:
pstori:快照数据区指针
pnstori:快照数据已经分配的计数指针
nstori:快照数据已经分配的计数
dp:实例化的结构体数据指针
snap_addr:单个应用实例在快照数据区的起始地址
sizeof:返回结构体大小
struct_type:结构体类型,例如BIP1_S1_P1_PCP_MAINCPU_TCC。
在任务函数执行过程中,可以页面块为单位周期把最新数据写到快照区(见图6、图7)。
以页面块为单位的把数据写到快照区接口示例:
writeStor(snap_write_addr,page_start_addr,page_end_addr);
snap_write_addr:页面在快照数据区写地址;
page_star_addr:页面在运行内存中首地址;
page_end_addr:页面在运行内存中尾地址;
通过writeStor接口把大小=&page_end_addr-&page_start_addr的内存块数据刷新到以snap_write_addr为起始的快照数据区。这个过程不需要考虑每个变量的类型,不需要为每个变量单独分配快照地址,而是基于结构体为整体分配和读取数据,基于页面内存块刷新收据,为了提高memcpy复制内存的效率,定义的snap_start、snap_end为Uint32(unsigned int)类型,大小为4字节,确保了应用起始地址、页面起始地址是按4字节对齐,结合编译器优化原理,memcpy可以采用寄存器的内存块复制方法,而不是逐个字节复制,提高了程序运行效率,在程序的EMTDC仿真运行过程中,数据快照只占用了5%的运行时间。
第三部分为开发快照数据区访问接口,提供了基于连续内存块分配、读数据、写数据的接口,见图8。mallocStor接口实现应用在快照数据区分配功能,writeStor接口实现页面内存块数据刷新写到快照区的功能,readStor接口实现从快照数据区读取数据的功能。
自定义的数据接口如下:
1)int mallocStor(int*pstori,int*pnstori,unsigned int*pcomp_addr,intsize);
功能说明:在快照数据区分配一块连续的内存
形参说明:
pstori:快照数据区指针
pnstori:快照数据已经分配的计数指针
pcomp_addr:应用结构体指针
size:需要分配的内存大小
2)int writeStor(unsigned int pcomp_addr,void*psrc,int size);
功能说明:把运行区内存数据刷新到快照数据区
形参说明:pcomp_addr:需要刷新的快照数据区首地址
psrc:运行内存区指针
size:需要刷新的内存大小
3)int readStor(int*pstori,int*pnstori,void*pdest,int size);
功能说明:从快照数据区恢复运行数据
形参说明:pstori:快照数据区指针
pnstori:快照数据已经分配的计数指针
pdest:需要恢复的内存数据指针
size:需要恢复的内存大小
利用上述方法开发的EMTDC应用程序数据快照功能,由于是自动形成应用程序的代码,确保了快照数据实时性和正确性,已经在多个直流工程程序仿真中应用。

Claims (3)

1.一种基于数据整体存储技术实现EMTDC仿真模型快照功能实现方法,其特征是:包含以下三部分内容:
第一部分:以应用结构体为数据模型组织和管理应用程序:程序由若干应用程序组成,应用程序由可视化页面组成,将应用程序的变量组成结构体进行封装;在结构体中,按照页面的执行顺序和数据流顺序依次排列变量,在运行时这些变量放在连续的内存中,提高了内存程序运行效率。
第二部分:通过可视化编程工具形成应用程序代码,并在形成代码中嵌入自定义的数据快照的接口:
提供可视化编程环境和编程符号库,用图形符号编写应用程序;把程序划分成若干应用组成,每个应用由多个页面组成,完成特定的功能;为了实现基于整体内存块快照功能,把每个页面的变量按数据流执行顺序排列组织,然后按照页面的执行顺序把所有页面的变量组织在一个结构体里,结构体实例化后,编译器编译程序时就分配了整块连续的全局数据区,在这个全局数据区里,每个页面的数据是连续分配的,记住每个页面的起始地址和结束地址,就可以在页面任务函数执行完后,把该页面的新数据刷新到快照区,实现页面数据的即时刷新;当恢复数据时,通过自定义接口实现基于整个结构体内存批量恢复;
自定义的数据快照接口包括三个函数:第一个函数在快照数据区分配一块连续的内存;第二个函数把运行区内存数据刷新到快照数据区;第三个函数从快照数据区恢复运行数据。
第三部分,为应用提供数据快照操作的系统接口;由于是基于内存块操作,只需使用快照整型数据区和整型数计数器;在应用的构造函数中,通过调用接口函数,按照应用结构体大小,在快照整型数据区申请一块连续内存区,并修改整型数计数器的值,轮到下一个应用构造时,紧挨上一个应用连续分配快照数据区。
2.如权利要求1所述的一种基于数据整体存储技术实现EMTDC仿真模型快照功能实现方法,其特征是:在所述第二部分中,把应用程序变量用结构体组织,从而以结构体为单位进行快照数据分配和读取,以页面内存块为单位进行快照数据刷新,在应用程序中嵌入数据快照接口是通过自主开发的可视化程序代码生成工具自动实现。
3.如权利要求1所述的一种基于数据整体存储技术实现EMTDC仿真模型快照功能实现方法,其特征是:在所述的第三部分中,提供了基于内存块的快照数据的分配、刷新、恢复的接口函数,内存块的数据操作都是按4字节对齐,提高了内存访问和数据操作的效率。
CN201110397662.3A 2011-12-03 2011-12-03 基于数据整体存取的emtdc仿真模型快照的方法 Expired - Fee Related CN103136407B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110397662.3A CN103136407B (zh) 2011-12-03 2011-12-03 基于数据整体存取的emtdc仿真模型快照的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110397662.3A CN103136407B (zh) 2011-12-03 2011-12-03 基于数据整体存取的emtdc仿真模型快照的方法

Publications (2)

Publication Number Publication Date
CN103136407A true CN103136407A (zh) 2013-06-05
CN103136407B CN103136407B (zh) 2015-06-03

Family

ID=48496230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110397662.3A Expired - Fee Related CN103136407B (zh) 2011-12-03 2011-12-03 基于数据整体存取的emtdc仿真模型快照的方法

Country Status (1)

Country Link
CN (1) CN103136407B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885782A (zh) * 2014-04-03 2014-06-25 南京南瑞继保电气有限公司 一种可视化编程页面程序库函数封装重用方法
CN104331526A (zh) * 2013-07-22 2015-02-04 南京南瑞继保电气有限公司 一种数字仿真程序实现快照功能的方法
CN105824613A (zh) * 2015-01-20 2016-08-03 联发科技股份有限公司 电子装置及休眠工作方法
CN106293776A (zh) * 2016-10-28 2017-01-04 黑龙江省电力科学研究院 一种电力系统emtpe辅助编译系统
CN107135189A (zh) * 2016-02-26 2017-09-05 华为技术有限公司 一种报文发送方法及物理机
CN112749124A (zh) * 2020-12-28 2021-05-04 深圳壹账通创配科技有限公司 页面信息管理方法、装置、计算机设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110026A (zh) * 2007-08-03 2008-01-23 北京握奇数据系统有限公司 一种资源受限设备及数据访问方法
CN101452379A (zh) * 2007-11-28 2009-06-10 无锡江南计算技术研究所 内存空间的分析方法和装置、检查点的保留方法和装置
WO2011128946A1 (ja) * 2010-04-16 2011-10-20 三菱電機株式会社 データアクセス方法及びデータアクセス装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110026A (zh) * 2007-08-03 2008-01-23 北京握奇数据系统有限公司 一种资源受限设备及数据访问方法
CN101452379A (zh) * 2007-11-28 2009-06-10 无锡江南计算技术研究所 内存空间的分析方法和装置、检查点的保留方法和装置
WO2011128946A1 (ja) * 2010-04-16 2011-10-20 三菱電機株式会社 データアクセス方法及びデータアクセス装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331526A (zh) * 2013-07-22 2015-02-04 南京南瑞继保电气有限公司 一种数字仿真程序实现快照功能的方法
CN103885782A (zh) * 2014-04-03 2014-06-25 南京南瑞继保电气有限公司 一种可视化编程页面程序库函数封装重用方法
CN105824613A (zh) * 2015-01-20 2016-08-03 联发科技股份有限公司 电子装置及休眠工作方法
CN107135189A (zh) * 2016-02-26 2017-09-05 华为技术有限公司 一种报文发送方法及物理机
CN107135189B (zh) * 2016-02-26 2020-02-14 华为技术有限公司 一种报文发送方法及物理机
CN106293776A (zh) * 2016-10-28 2017-01-04 黑龙江省电力科学研究院 一种电力系统emtpe辅助编译系统
CN106293776B (zh) * 2016-10-28 2019-06-21 黑龙江省电力科学研究院 一种电力系统emtpe辅助编译系统
CN112749124A (zh) * 2020-12-28 2021-05-04 深圳壹账通创配科技有限公司 页面信息管理方法、装置、计算机设备及可读存储介质

Also Published As

Publication number Publication date
CN103136407B (zh) 2015-06-03

Similar Documents

Publication Publication Date Title
CN103136407A (zh) 一种基于数据整体存取技术实现emtdc仿真模型快照功能的方法
Foster et al. Productive parallel programming: The PCN approach
Gorlick et al. Using weaves for software construction and analysis
US8752020B2 (en) System and process for debugging object-oriented programming code leveraging runtime metadata
CN103136406B (zh) 可视化应用程序自动生成仿真用函数代码的方法
CN102346671B (zh) 基于可扩展式脚本语言的计算方法
CN106886411A (zh) 一种基于qt的继电保护装置逻辑图形化配置方法
CN101206614B (zh) 仿真特殊功能寄存器的仿真器
US8683439B2 (en) System and process for debugging object-oriented programming code leveraging preprocessors
Yang et al. Towards a formal semantics for the AADL behavior annex
CN101706737A (zh) 软硬件协同函数库的构造方法
CN105573763B (zh) 一种支持rtos的嵌入式系统建模方法
CN115983047B (zh) 一种适用于多图形接口的跨平台的仿真系统
CN103729180A (zh) 一种快速开发cuda并行程序的方法
US20220397875A1 (en) Runtime Environment and Method for Creating an Event-Driven Execution Model of an Industrial Application
Vulgarakis et al. Task synthesis for control applications on multicore platforms
CN104951922A (zh) 快速灵活定义时间周期的方法
Alexandrescu et al. Real-time inter-process communication in heterogeneous programming environments
Li et al. Debugging with domain-specific events via macros
Park et al. Weaving aspects into real-time operating system design using object-oriented model transformation
HengJun et al. Wireless remote water meter design of automatic meter reading system
Locci et al. IEPLC framework, automated communication in a heterogeneous control system environment
Lazarescu et al. Energy-aware parallelization toolset and flow for C code
Mäkelä et al. Towards a parallel debugging framework for the massively multi-threaded, step-synchronous REPLICA architecture
Ganty et al. Analyzing real-time event-driven programs

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: 20150603