CN102736551A - 一种plc梯形图代码软解题方法 - Google Patents
一种plc梯形图代码软解题方法 Download PDFInfo
- Publication number
- CN102736551A CN102736551A CN2012102052162A CN201210205216A CN102736551A CN 102736551 A CN102736551 A CN 102736551A CN 2012102052162 A CN2012102052162 A CN 2012102052162A CN 201210205216 A CN201210205216 A CN 201210205216A CN 102736551 A CN102736551 A CN 102736551A
- Authority
- CN
- China
- Prior art keywords
- row
- ladder diagram
- plc
- code
- network
- 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
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
本发明公开了一种PLC梯形图代码软解题方法,包括以下步骤:上位机编写的梯形图代码下载到PLC中时,转化为PLC能够识别的梯形图代码指令序列,转化后的梯形图代码指令序列形成至少一个矩阵网络; PLC运行时启动梯形图代码指令解析功能,采用纵向扫描解析方式,同一网络的解析顺序是按不同列从左到右逐列进行,同一列从上到下逐行进行;将解析的结果通过通信传递给上位机或PLC自身的数字量或模拟量输入输出点执行相应的动作。本发明易于实现,实现成本低,是一种可维护性高的PLC梯形图代码软解题方法。
Description
[技术领域]
本发明涉及可编程逻辑控制器,尤其涉及一种PLC梯形图代码软解题方法。
[背景技术]
将PLC梯形图转化为PLC的逻辑控制指令的解题方式分为二种,一种是使用程序实现,称为软件解题,另一种为使用专用的芯片来进行,称为硬件解题。软解题技术应用在PLC的单核CPU架构体系上, CPU不仅完成对梯形图代码的解题而且还要执行PLC系统的运行。传统PLC进行软解题时采用的是横向扫描技术,该方式是指梯形图在解析的过程中网络解析顺序从左向右逐行进行,目标码采用布林代数,布林代数结构对编译软件的要求相当高,在非同节点的多输出的情况下,会使整个代数树变得过于复杂,从而很难转换成正确的中间码。数据结构中‘树’的特性决定它是一种非线性结构,随着编写的梯形图程序越复杂树的深度越深形成树的算法、从中拆分各个树之间的关系越难,而与树不同的是:任意两点之间都可能有直接的关系,所以在图中一个结点的前驱和后继的数目是没有限制的。因此,国内外多数PLC厂商多数都采用硬件解题的方式,处理品采用双核架构,其中通用处理器完成PLC控制,使用专用解题芯片或FPGA来实现梯形图转化为PLC的逻辑控制指令。
[发明内容]
本发明要解决的技术问题是提供一种功能易于实现、实现成本低、可维护性高的PLC梯形图代码软解题方法。
为了解决上述技术问题,本发明采用的技术方案是,一种PLC梯形图代码软解题方法,包括以下步骤:
101)上位机编写的梯形图代码下载到PLC中时,转化为PLC能够识别的梯形图代码指令序列,转化后的梯形图代码指令序列形成至少一个矩阵网络;
102)PLC运行时启动梯形图代码指令解析功能,采用纵向扫描解析方式,同一网络的解析顺序是按不同列从左到右逐列进行,同一列从上到下逐行进行;
103)将解析的结果通过通信传递给上位机或PLC自身的数字量或模拟量输入输出点执行相应的动作。
以上所述的PLC梯形图代码软解题方法,所述的梯形图代码指令包括程序结束码、网络起始码、列起始码和元件操作码,所述的梯形图代码指令序列结束处的指令是程序结束码,每一个矩阵网络的第一条指令是网络起始码,网络每一列的第一条指令是列起始码;在代码解析过程中,一旦遇到程序结束码时,整个解题过程结束。
以上所述的PLC梯形图代码软解题方法, 所述的列起始码包含起始码的指令类型区分信息、同一列中各行含有的元件信息和同一列中各行上下导通连接关系信息。
以上所述的PLC梯形图代码软解题方法, 所述的列起始码的第0-6位包含起始码的指令类型区分信息,第4-12位包含同一列中各行含有的元件信息,第7-12位包含同一列中各行上下导通连接关系信息;一个网络包含的最大行数为7行,最大列数为11列。
以上所述的PLC梯形图代码软解题方法, 所述的元件操作码包括元件类型信息、变量数据存放空间信息和存放的偏移位信息。
以上所述的PLC梯形图代码软解题方法,每一列解析完毕后,计算该列的导通状态,导通状态分为元件导通状态、垂直连线状态、行导通状态,每一列的行导通状态用于下一列输入的导通状态。
以上所述的PLC梯形图代码软解题方法,每一列解析完毕后,计算该列7行的导通状态,行与行之间的导通状态分为‘元件导通状态’、‘垂直连线状态’、‘行导通状态’,在计算7行导通状态时,首先计算的是第4行的导通状态,接着计算 3、2、1、5、6、7行的状态。
以上所述的PLC梯形图代码软解题方法, 当读到网络起始码为预设的高亮显示标志时,计算该网络的高亮显示数据,计算每一列元件导通的状态,存储在高亮数组中,并传递给上位机。。
本发明易于实现,实现成本低、是一种可维护性高的PLC梯形图代码软解题方法。
[附图说明]
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明PLC梯形图代码软解题方法的解析过程示意图。
图2是本发明PLC梯形图代码软解题方法实施例需要解析的梯形图。
图3是本发明PLC梯形图代码软解题方法的流程图。
[具体实施方式]
PLC厂商都拥有一套属于自己的梯形图代码指令集。本发明以下实施例使用发明人的PLC指令集HLS实现用户所编写的梯形图代码转化为PLC能够识别的控制命令完成过程控制功能。
在HLS指令集中,定义了梯形图所有元件的指令含义,上位机编写的梯形图下载到PLC中时,均是以HSL指令存在的方式存储在内存中。当PLC运行时就会启动梯形图代码的指令解析功能,最终将解析的结果通过通信传递给上位机或其他设备或PLC自身的数字量或模拟量输入输出点执行相应的动作。
现以图2所示的梯形图来说明本发明的工作原理。该梯形图的功能是,当用户按下启动或停止按钮时,PLC将导通或闭合输出点从而控制设备的运行或停止状态。
PLC逻辑控制指令:在梯形图网络0中10001表示输入按钮,00010表示输出线圈,在物理设备接线上,将设备的开关按钮线接入到PLC的10001对应的物理输入点上,将设备开关控制线接入到PLC的00010对应的物理输出点上,运行PLC,即可完成输入控制输出的功能。
在上位机中编写的梯形图代码采用解释执行方式,用户在编写梯形图的所有逻辑指令都根据HLS指令格式生成PLC在进行解题时能够识别的指令码程序。
表一:梯形图代码指令结构表
表二:元件类型描述表
指令码序列的一个网络最多有7行11列,这个大小是由HLS指令中BOC(列起始码)指令长度所决定,BOC表示每个列上下行的导通连接关系,其中E0-E6位表示1-7行是否有元件的存在,V0-V5表示7行上下是否有导通连接关系(‘或’操作关系),由于该指令为一字(16位)大小,所以决定了最多只能够有7行,在上位机编写梯形图时,形成的梯形图代码中已经排除了7行11列之外的可能。
变量数据存放空间的定义:
根据HLS指令的特点来划分变量空间,在梯形图代码中变量分为:输入位变量,输出位变量,输入型寄存器,保持型寄存器,指针五大类
表三:变量数据存放空间定义表
上位机将梯形图代码下载梯形图代码到PLC中后,PLC中自动在下载的代码最尾处添加两个0xE2FF作用梯形图代码的结束码,PLC运行执行软解题,在每一个扫描周期都会对整个梯形图代码程序进行一次解题,直到解题过程中遇到0xE2FF 梯形图结束标志时,本次梯形图代码解题执行结束。
PLC中软解题的解题过程以图2的梯形图下载后的PLC的指令码进行:0xF000 0xA187 0x0000 0x0001 0x0002 0xA007 0x8800 0x0003 0x8802 0xA002 0x8801 0xF000 0xA000 0xE2FF。
整个梯形图代码实现的功能是:
电路开关保护功能,当3路一级短路检测开关任意一路闭合时一级保险启动;当3路一级短路检测开关任意一路闭合并且二级保险也闭合时一、二级保险均启动。
梯形图描述:
一级保险启动:当‘常开开关’10001、10002、10003任意一路‘导通’时,‘输出线圈’00001、00003‘输出ON’启动保险。
一、二级保险启动:当‘常开开关’10001、10002、10003任意一路‘导通’并且‘常开开关’10004也‘导通’时,‘输出线圈’00001、00002、00003‘输出ON’启动保险。表四:指令类型与数据偏移表
梯形图程序解题:
0xE2FF为梯形图代码结束标志。每个扫描周期会将梯形图代码解题一次,直到遇见梯形图程序的结束标志0xE2FF,解题结束。首先取出第一条指令判断是否为‘0xF000’,‘0xF000’为网络起始码(SON码)。网络起始码表示一个网络的开始,本例是是网络0开始。如果不是,则解题结束,如果是继续取下一条指令。
第2条指令判断是否为列起始码(BOC码),本例中BOC码为‘0xA187’D0-D6位‘000 0111’表示当前列哪一行存在元件,在第一、二、三行均存在元件,D7-D12位‘0 0001 1’表示上下行之间是否存在‘或’操作关系,其中第一行与第二行有‘或’操作关系,第二行与第三行有‘或’操作关系,继续取下一条指令。
第3条指令‘0x0000’解析D13-D15位判断元件类型为‘常开开关’,本例中在第一行第一列,解析D0-D12位取出位取出在‘变量数据存放空间的定义’表中存放的偏移位为‘0’取出开关元件‘数值状态’是‘ON’还是‘OFF’再和当前元件前一列的‘导通状态’进行比较,如果导通状态为‘导通’元件数值状态为‘OFF’,那么该线圈‘输出状态’为‘ON’,如果导通状态为‘断开’元件数值状态为‘ON’,那么该线圈‘输出状态’为‘OFF’,当二者状态属性相同时元件输出相同的状态,反之输出的状态要由元件的前一列导通状态决定,本例中当导通‘常开开关’10001,导通状态为‘导通’,元件数值状态由‘OFF’改变为‘ON’,输出状态为‘ON’,‘输出状态’可以持续影响到该元件的后面一列元件的导通状态也就是‘输出线圈’00001的导通状态,继续取下一条指令。
第4条指令‘0x0001’解析D13-D15位判断元件类型为‘常开开关’,解析D0-D12位取出元件‘数值状态’,根据前一列的‘导通状态’,计算‘常开开关’10002的‘输出状态’
第5条指令‘0x0002’解析D13-D15位判断元件类型为‘常开开关’,解析D0-D12位取出元件‘数值状态’,根据前一列的‘导通状态’,计算‘常开开关’10003的‘输出状态’,第一列解析完毕
第6条指令判断是否为BOC码,本例中BOC码为‘0xA007’D0-D6位‘000 0111’表示当前列哪一行存在元件,在第一、二、三行均存在元件,D7-D12位‘0 0001 1’表示上下行之间是否存在‘或’操作关系,其中第一行与第二行有‘或’操作关系,第二行与第三行有‘或’操作关系,继续取下一条指令。
第7指令‘0x8800’ 解析D13-D15位判断元件类型为‘输出线圈’00001,解析D0-D12位取出数据状态值,该元件‘导通状态’为第三条指令的输出状态,而第三条指令的输出状态可以由它的输入状态和上下行相连接元件的导通状态来决定,本例中如10001、10002、10003中任意一个‘常开开关’导通则当前‘输出线圈’的输出状态为ON,继续取下一条指令。
第8条指令0x0003 解析D13-D15位判断元件类型为‘常开开关’10004,解析D0-D12位取出数据状态值,该元件的‘导通状态’是由自身的数值状态决定和前一列元件的输出状态决定,如10001、10002、10003中任意一个‘常开开关’导通并且常开开关’10004的数值状态为‘ON’,则本元件的输出状态为‘ON’继续取下一条指令。
第9条指令‘0x8802’ 解析D13-D15位判断元件类型为‘输出线圈’00003,解析D0-D12位取出数据状态值,该元件‘导通状态’为第三条指令的输出状态,而第三条指令的输出状态可以由它的输入状态和上下行相连接元件的导通状态来决定,本例中如10001、10002、10003中任意一个‘常开开关’导通则当前‘输出线圈’的输出状态为ON,第2列解析完毕,继续取下一条指令。
第10条指令判断是否为BOC码,本例中BOC码为‘0xA002’D0-D6位‘000 0010’表示当前列哪一行存在元件,只在第二行存在元件,继续取下一条指令。
第11条指令‘0x8801’ 解析D13-D15位判断元件类型为‘输出线圈’00002,解析D0-D12位取出数据状态值,该元件‘导通状态’为第8条指令的输出状态,如10004导通则00002线圈输出,第二列解析完毕,继续取下一条指令。
第12条指令‘0xF000’为网络开始,本例中为网络1,继续取下一条指令。
第13条指令判断是否为BOC码本例中SOC码为‘0xA000’D0-D6位‘0000000’表示当前列哪一行存在元件,本例中当前网络为空网络,继续取下一条指令。
第14条指令‘0xE2FF’为结束标志,本次梯形图解题结束
当每一列解析完毕后,开始计算该列7行的导通状态,行与行之间的导通状态分为‘元件导通状态’、‘垂直连线状态’、‘行导通状态’,在计算7行导通状态时,为了提高计算速度,首先计算的是第4行的导通状态,接着计算 3、2、1、5、6、7行的状态,计算每一列的行导通状态主要用于下一列的输入导通状态。
计算高亮显示数据,计算每一列元件导通的状态,存储在高亮数组中,等待通信时传递给上位机。
高亮获取:首先上位机向PLC发送请求获取当前‘网络号’的高亮数据,PLC接收到高亮‘网络号’后将梯形图中的SON码设置为0xFFFF标记为该网络需要高亮信息,在梯形图解题中每一个网络解题完毕后就会判断是否为高亮网络,如果为高亮网络那么就需要将当前网的元件导通状态(‘0’或‘1’)和在网络中的位置(7行X11列)组合成的数据传递给上位机用于显示高亮状态。本发明相纵向解析因其结构的特点,同一列的‘与’‘或’操作可以在一个指令周期内操作完毕,相当于在同一网络之中是并行执行的,这一种扫描方式吻合物理的电器图原理,同时此扫描方式也最适合图的解析。因为纵向扫描方式对于梯形图的构图要求很低,基本上可以解析任意的图,因为是以图的方式去执行,所以梯形图程序被分成了一个一个的网络,有电气关系的程序被视作同一样网络,图1所示就是一个独立的梯形图网络。一个大的程序由若干个网络构成,在一个网络内,通过这样的纵向扫描方式并行执行,而在网络与网络之间则是串行执行的,本方式适用于中、大型PLC执行复杂的梯形图解题。因此发明具有以下有益效果:
1、可以多驱动,一个输入节点可以驱动多个输出节点,这是由于采用了以图的形式进行的纵向扫描解析方式;
2、符合电路执行特性;
3、多个网络之间串行执行,上一个网络执行的结果可以适用于下一个网络;
4、上位机实时在线编程不会影响梯形图代码的解题执行,无需停止解题从新下更改后的梯形图再解题。
Claims (8)
1.一种PLC梯形图代码软解题方法,其特征在于,包括以下步骤:
101)上位机编写的梯形图代码下载到PLC中时,转化为PLC能够识别的梯形图代码指令序列,转化后的梯形图代码指令序列形成至少一个矩阵网络;
102)PLC运行时启动梯形图代码指令解析功能,采用纵向扫描解析方式,同一网络的解析顺序是按不同列从左到右逐列进行,同一列从上到下逐行进行;
103)将解析的结果通过通信传递给上位机或PLC自身的数字量或模拟量输入输出点执行相应的动作。
2.根据权利要求1所述的PLC梯形图代码软解题方法,其特征在于,所述的梯形图代码指令包括程序结束码、网络起始码、列起始码和元件操作码,所述的梯形图代码指令序列结束处的指令是程序结束码,每一个矩阵网络的第一条指令是网络起始码,网络每一列的第一条指令是列起始码;在代码解析过程中,一旦遇到程序结束码时,整个解题过程结束。
3.根据权利要求2所述的PLC梯形图代码软解题方法,其特征在于, 所述的列起始码包含起始码的指令类型区分信息、同一列中各行含有的元件信息和同一列中各行上下导通连接关系信息。
4.根据权利要求3所述的PLC梯形图代码软解题方法,其特征在于, 所述的列起始码的第0-6位包含起始码的指令类型区分信息,第4-12位包含同一列中各行含有的元件信息,第7-12位包含同一列中各行上下导通连接关系信息;一个网络包含的最大行数为7行,最大列数为11列。
5.根据权利要求2所述的PLC梯形图代码软解题方法,其特征在于, 所述的元件操作码包括元件类型信息、变量数据存放空间信息和存放的偏移位信息。
6.根据权利要求2所述的PLC梯形图代码软解题方法,其特征在于,每一列解析完毕后,计算该列的导通状态,导通状态分为元件导通状态、垂直连线状态、行导通状态,每一列的行导通状态用于下一列输入的导通状态。
7.根据权利要求4所述的PLC梯形图代码软解题方法,其特征在于,每一列解析完毕后,计算该列7行的导通状态,行与行之间的导通状态分为‘元件导通状态’、‘垂直连线状态’、‘行导通状态’,在计算7行导通状态时,首先计算的是第4行的导通状态,接着计算 3、2、1、5、6、7行的状态。
8.根据权利要求1所述的PLC梯形图代码软解题方法,其特征在于, 当读到网络起始码为预设的高亮显示标志时,计算该网络的高亮显示数据,计算每一列元件导通的状态,存储在高亮数组中,并传递给上位机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210205216.2A CN102736551B (zh) | 2012-06-20 | 2012-06-20 | 一种plc梯形图代码软解题方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210205216.2A CN102736551B (zh) | 2012-06-20 | 2012-06-20 | 一种plc梯形图代码软解题方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102736551A true CN102736551A (zh) | 2012-10-17 |
CN102736551B CN102736551B (zh) | 2015-11-25 |
Family
ID=46992220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210205216.2A Active CN102736551B (zh) | 2012-06-20 | 2012-06-20 | 一种plc梯形图代码软解题方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102736551B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104820393A (zh) * | 2015-03-17 | 2015-08-05 | 浪潮集团有限公司 | 一种基于plc梯形图矩阵编译解释方法 |
CN109388107A (zh) * | 2017-08-10 | 2019-02-26 | 欧姆龙株式会社 | 控制装置 |
CN112379635A (zh) * | 2020-11-19 | 2021-02-19 | 航天新长征大道科技有限公司 | Plc梯形图解析方法、装置、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0775333B1 (de) * | 1994-08-01 | 2002-06-05 | Siemens Aktiengesellschaft | Programmiergerät |
CN101364098A (zh) * | 2008-09-12 | 2009-02-11 | 南京航空航天大学 | 一种将梯形图转换为指令表程序及解释执行的方法与系统 |
CN102298516A (zh) * | 2011-09-20 | 2011-12-28 | 北京航天自动控制研究所 | 一种plc梯形图硬件处理器 |
CN102354144A (zh) * | 2011-09-06 | 2012-02-15 | 北京联合大学 | 一种将梯形图转化成plc程序指令的方法 |
CN102393670A (zh) * | 2011-10-24 | 2012-03-28 | 杭州电子科技大学 | 一种梯形图内嵌高级语言进行混合编程的实现方法 |
-
2012
- 2012-06-20 CN CN201210205216.2A patent/CN102736551B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0775333B1 (de) * | 1994-08-01 | 2002-06-05 | Siemens Aktiengesellschaft | Programmiergerät |
CN101364098A (zh) * | 2008-09-12 | 2009-02-11 | 南京航空航天大学 | 一种将梯形图转换为指令表程序及解释执行的方法与系统 |
CN102354144A (zh) * | 2011-09-06 | 2012-02-15 | 北京联合大学 | 一种将梯形图转化成plc程序指令的方法 |
CN102298516A (zh) * | 2011-09-20 | 2011-12-28 | 北京航天自动控制研究所 | 一种plc梯形图硬件处理器 |
CN102393670A (zh) * | 2011-10-24 | 2012-03-28 | 杭州电子科技大学 | 一种梯形图内嵌高级语言进行混合编程的实现方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104820393A (zh) * | 2015-03-17 | 2015-08-05 | 浪潮集团有限公司 | 一种基于plc梯形图矩阵编译解释方法 |
CN104820393B (zh) * | 2015-03-17 | 2017-06-23 | 浪潮集团有限公司 | 一种基于plc梯形图矩阵编译解释方法 |
CN109388107A (zh) * | 2017-08-10 | 2019-02-26 | 欧姆龙株式会社 | 控制装置 |
CN109388107B (zh) * | 2017-08-10 | 2021-09-21 | 欧姆龙株式会社 | 控制装置 |
CN112379635A (zh) * | 2020-11-19 | 2021-02-19 | 航天新长征大道科技有限公司 | Plc梯形图解析方法、装置、电子设备及可读存储介质 |
CN112379635B (zh) * | 2020-11-19 | 2022-03-04 | 航天新长征大道科技有限公司 | Plc梯形图解析方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102736551B (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190087243A1 (en) | Programmable device, heirarchical parallel machines, and methods for providing state information | |
CN106372040B (zh) | 智能变电站配置文件差异性比较系统 | |
CN102508654B (zh) | 嵌入式可编程控制器的梯形图编辑器设计方法 | |
KR101658920B1 (ko) | 입력 방법, 시스템, 프로그램 및 기록매체 | |
CN105867944B (zh) | Web前端数据操作层及其实现方法 | |
CN102736551A (zh) | 一种plc梯形图代码软解题方法 | |
CN105046032A (zh) | 基于cad绘制配电网线路的方法及系统 | |
CN103412734A (zh) | 一种自动设置拼接单元地址的方法 | |
CN103037106A (zh) | 手机输入键盘切换方法和装置 | |
CN102724505B (zh) | Jpeg_ls游程编码fpga实现方法 | |
CN104656543A (zh) | 一种plc梯形图矩阵编辑显示方法 | |
CN102298498A (zh) | 软键盘字符输入处理方法及装置 | |
CN110246208A (zh) | 一种可提高动画制作流程效率的插件 | |
CN114610288A (zh) | 基于阵列式解析基元结构的后端编译器实现方法及装置 | |
CN106850559A (zh) | 一种可扩展的网络协议解析系统及方法 | |
CN111814417B (zh) | 一种基于字符分隔值文件转换Verilog代码的方法 | |
CN102156789B (zh) | Fpga约束文件自动生成系统及方法 | |
CN102736552A (zh) | 一种应用于plc开发的梯形图转换为语句表的方法 | |
CN102945113A (zh) | 通过输入法对字符进行替换的方法及客户端 | |
CN102184214B (zh) | 一种数据分组快速查找定位法 | |
CN105551069A (zh) | 一种索引图像的实时快速生成方法及系统 | |
CN102523525B (zh) | 数字电视中焦点记忆的方法 | |
CN106775717B (zh) | 基于矩阵编码自动插入Feed-through路径的方法 | |
CN104572457B (zh) | 一种对含有特殊转换过程的非通用有限状态机进行改造的方法 | |
CN109100981A (zh) | 在plc控制设备中日志记录过程数据的方法 |
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 |