CN103403634A - 控制装置以及***程序 - Google Patents
控制装置以及***程序 Download PDFInfo
- Publication number
- CN103403634A CN103403634A CN2012800112006A CN201280011200A CN103403634A CN 103403634 A CN103403634 A CN 103403634A CN 2012800112006 A CN2012800112006 A CN 2012800112006A CN 201280011200 A CN201280011200 A CN 201280011200A CN 103403634 A CN103403634 A CN 103403634A
- Authority
- CN
- China
- Prior art keywords
- task
- variable
- program
- reference data
- collection unit
- 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
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/323—Visualisation of programs or trace data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Programmable Controllers (AREA)
- Debugging And Monitoring (AREA)
Abstract
控制装置包括:任务执行部、存储能够在程序中更新以及参照的变量的存储部、在执行任务时收集变量的收集部。在存储部中存储与变量对应的参照用数据。多个任务包含能够更新以及参照变量的更新任务和能够参照参照用数据的参照任务。收集部在执行多个任务时,收集参照用数据。
Description
技术领域
本发明涉及对控制对象设备进行控制的控制装置以及由该控制装置执行的***程序。
背景技术
以往,已知对工厂的生产线上设置的工业用机械等进行控制的PLC(Programmable Logic Controller:可编程逻辑控制器)(例如,参照专利文献1)。
PLC包括控制PLC的CPU单元、输入来自传感器的信号的输入单元、对工业用机械等输出控制信号的输出单元。CPU单元具有存储用于控制工业用机械等的用户程序的存储器。该用户程序可由CPU单元所连接的工具装置编辑。
而且,PLC中,重复进行将输入单元输入的信号取入到CPU单元的存储器的处理、执行用户程序的处理、将用户程序的执行结果(运算结果)写入存储器并发送到输出单元的处理、在与工具装置之间进行数据的发送接收等的周边处理。由此,PLC基于来自传感器的输入来控制工业用机械等。
此外,以往,也已知具有个人计算机的高度的软件功能和PLC的可靠性的PAC(Programmable Automation Controller:可编程自动化控制器)(例如,参照专利文献1)。
上述专利文献1的PAC通过分时方式并行执行多个任务,并且,将多个任务的各任务以对应于各任务的周期执行。即,该PAC中,通过多任务进行处理。另外,任务包括与各任务对应的用户程序的执行等。
【现有技术文献】
【专利文献】
【专利文献1】特开2009-181443号公报
发明内容
但是,专利文献1所公开的以往的PAC中,多个任务访问对程序整体定义的全局变量(广域变量)的情况下,例如,在规定的任务的执行开始到结束期间,由于规定的任务以外的任务被执行而更新了全局变量的值的情况下,存在规定的任务不能进行使用全局变量的具有一贯性的运算的问题。
本发明为了解决上述课题而完成,本发明的目的在于提供一种即使在多个任务访问变量的情况下,也能够进行具有一贯性的运算的控制装置以及在该控制装置中执行的***程序
用于解决课题的手段
本发明的控制装置是一种对控制对象设备进行控制的控制装置,其特征在于,包括:任务执行部,执行包含程序的任务;存储部,存储能够在程序中参照以及更新的变量;以及收集部,在任务执行部执行包含程序的任务时,收集变量,任务执行部并行执行多个任务,并且,将多个任务的各任务以对应于各任务的周期执行,存储部中存储与变量对应的参照用数据,多个任务包括能够更新以及参照变量的更新任务和能够参照参照用数据的参照任务,收集部在任务执行部执行多个任务时,收集参照用数据。
另外,并行执行多个任务包含同时并行执行多个任务的情况,以及通过分时方式并行执行多个任务的情况。此外,与变量对应的参照用数据是变量的参照用的缓冲。
通过这样构成,只有更新任务对变量进行更新以及参照,参照任务参照变量对应的参照用数据,从而在参照任务的执行中(参照任务的程序开始到结束的期间),即使在由更新任务更新了变量的值的情况下,由于参照任务参照参照用数据,所以也能够在参照任务中进行具有一贯性的运算。即,在参照任务的执行中,由参照任务参照的参照用数据不会被更新任务更新,所以在参照任务中能够进行具有一贯性的运算。此外,在更新任务中,只有更新任务更新以及参照变量,因此能够在更新任务中进行具有一贯性的运算。因此,即使在多个任务访问变量的情况下,通过使参照任务参照参照用数据,从而能够进行具有一贯性的运算。进而,收集部在任务被执行时,收集参照用数据,从而对于由参照任务参照的参照用数据能够进行数据跟踪。由此,在多个任务访问变量的情况下,即使为了进行具有一贯性的运算,而让参照任务参照参照用数据的情况下,也能够对参照任务的参照目的地即参照用数据适当地进行数据跟踪。
上述控制装置中,收集部也可以在任务执行部执行多个任务时,收集由更新任务更新以及参照的变量。
如果这样构成,则收集部在任务被执行时收集变量,从而能够对由更新任务更新以及参照的变量进行数据跟踪。
上述控制装置中,也可以多个任务包含1个更新任务和多个参照任务,存储部中对多个参照任务的每个存储与变量对应的参照用数据,收集部在任务执行部执行多个任务时,收集多个参照用数据。
如果这样构成,即使有多个参照任务的情况下,也能够在各参照任务中进行具有一贯性的运算。进而,在有多个参照任务的情况下,也能够对各参照任务的参照目的地即参照用数据适当地进行数据跟踪。
上述控制装置中,也可以包括参照用数据管理部,对存储部中存储的参照用数据进行管理,参照用数据管理部在参照任务被执行之前,将参照用数据的值变更为变量的值。
如果这样构成,则能够使参照用数据与变量对应,同时在更新任务中进行具有一贯性的运算。
上述控制装置中,也可以包括设定部,设定收集部的收集对象,收集部在任务执行部执行多个任务时,收集由设定部设定的收集对象的值。
如果这样构成,则通过设定部能够容易地设定数据跟踪的对象。
上述控制装置中,也可以包括通信部,用于从工具装置接收收集部的收集对象和对收集对象的值进行收集的收集周期,收集部在任务执行部执行多个任务时,以通信部接收到的收集周期收集由通信部接收到的收集对象的值。
如果这样构成,则用户可以使用工具装置设定数据跟踪的收集对象以及收集周期。
在该情况下,通信部也可以具有将由收集部收集的收集结果发送给工具装置的功能。
如果这样构成,则由于工具装置能够得到收集结果,因此用户能够使用工具装置确认收集结果。
上述控制装置中,存储部也可以存储由收集部收集的收集结果。
如果这样构成,则可以将收集结果存储在存储部中。
本发明的***程序使对控制对象设备进行控制的控制装置完成以下各部的功能:任务执行部,执行包含程序的任务;存储部,存储能够在程序中参照以及更新的变量;以及收集部,在任务执行部执行包含程序的任务时,收集变量,存储部中存储与变量对应的参照用数据,任务执行部并行执行包括能够更新以及参照变量的更新任务和能够参照参照用数据的参照任务的多个任务,并且,将多个任务的各任务以对应于各任务的周期执行,收集部在任务执行部执行多个任务时,收集参照用数据。
通过这样构成,通过使参照任务参照参照用数据,从而使控制装置进行具有一贯性的运算,同时能够对参照任务的参照目的地即参照用数据适当地进行数据跟踪。
发明效果
根据本发明,可以提供一种即使多个任务访问变量的情况下,也能够进行具有一贯性的运算的控制装置以及其控制装置中执行的***程序。
附图说明
图1是表示本发明的一实施方式的包括CPU单元的PAC的结构的硬件方框图。
图2是表示图1所示的PAC的CPU单元的结构的硬件方框图。
图3是用于说明图2所示的CPU单元的ROM中存储的任务相关的信息的图。
图4是用于说明图2所示的CPU单元的ROM中存储的对于全局变量的设定信息的图。
图5是图2所示的CPU单元的CPU的功能方框图。
图6是用于说明图2所示的CPU单元的对于全局变量任务间的排他控制的图。
图7是用于说明图2所示的从工具装置对CPU单元发送的数据跟踪信息的图。
图8是表示在图2所示的工具装置中通过曲线图显示跟踪结果的状态的图。
图9是用于说明本发明的一实施方式的CPU单元的数据跟踪时的动作的时序图。
图10是用于说明图2所示的CPU单元的RAM中存储的跟踪结果的图。
具体实施方式
以下,参照附图说明本发明的实施方式。
首先,参照图1~图8,说明本发明的一实施方式的包括CPU单元1的PAC100的结构。
PAC100如图1所示,包括:控制PAC100的CPU单元1、输入来自传感器50的信号的输入单元2、对工业用机械等控制对象设备60输出控制信号的输出单元3、对各单元供给电力的电源单元4、将各单元进行连接的内部总线5。另外,CPU单元1是本发明的“控制装置”的一例。
PAC100通过执行任务,基于来自传感器50的输入对控制对象设备60进行控制。这里,任务中包含用于对控制对象设备60进行控制的用户程序的执行。
CPU单元1中,安装了包含用户程序的***程序121(参照图2),通过执行该***程序121,控制CPU单元1的动作。
另外,***程序121包含用于执行将输入单元2输入的信号取入CPU单元1的处理的程序,以及用于执行将CPU单元1的运算结果发送到输出单元3的处理的程序等。此外,***程序121包含对程序整体定义的全局变量(广域变量)。全局变量是能够从多个任务(程序)访问的变量。
CPU单元1如图2所示,包括CPU11、ROM12、RAM13、通信接口(以下,称作“通信IF”)14以及15。另外,RAM13是本发明的“存储部”的一例,通信IF15是本发明的“通信部”的一例。
CPU11具有执行***程序121的功能。CPU11通过分时方式并行执行多个任务。即,CPU11中,多任务执行处理。
ROM12是非易失性存储器,例如,是闪存存储器。ROM12中存储***程序121,并且存储在CPU单元1中执行的任务相关的信息L1(参照图3)。任务相关的信息L1包括各任务的名称、各任务的优先级、各任务执行的周期、各任务中执行的程序。另外,任务中,优先级的值小的任务优先执行。此外,CPU单元1中,采用预先设定的时间间隔(例如,1ms)的控制循环作为处理全体的共同周期。此外,程序例如是用户程序,由阶梯式语言记述。
在图3的例子中,任务A比任务B以及C优先执行,并且以1ms的周期执行程序P1以及P2。即,任务A将1次的控制循环(1ms的时间间隔)作为执行循环。此外,任务B比任务C优先执行,而且以2ms的周期执行程序P3以及P4。即,任务B以2次的控制循环(2ms的时间间隔)作为执行循环。此外,任务B的周期设定为任务A的周期的整数倍(2倍)。此外,任务C比任务A以及B滞后执行,而且以4ms的周期执行程序P5。即,任务C以4次的控制循环(4ms的时间间隔)作为执行循环。此外,任务C的周期设定为任务A的周期的整数倍(4倍)。
此外,ROM12中存储由***程序121定义的对于全局变量的设定信息L2(参照图4)。设定信息L2中包含全局变量的名称、更新任务的名称、参照任务的名称。这里,更新任务是可以更新以及参照全局变量的任务,参照任务是可以参照全局变量但不能更新的任务。更新任务对于1个全局变量可以仅设定1个,参照任务对于1个全局变量可以设定1个以上。另外,如后所述,参照任务实际上参照与全局变量对应的参照用数据。
在图4的例子中,作为全局变量GV1的更新任务设定任务A,作为全局变量GV1的参照任务设定了任务B以及C。即,在任务A中,可以对全局变量GV1进行更新以及参照。另一方面,任务B以及C中,对于全局变量GV1仅能进行参照,对于全局变量GV1不能进行更新。
RAM13是易失性存储器,例如,是DRAM。RAM13具有临时存储由CPU11执行的***程序121等的功能。具体来说,RAM13具有存储在执行***程序121时,由更新任务即任务A更新以及参照的全局变量GV1(参照图6)、以及由参照任务即任务B以及C参照的参照用数据RD1以及RD2(参照图6)的功能。这里,参照用数据RD1以及RD2是全局变量GV1的参照用的缓冲,被设为分别对应于参照任务即任务B以及C。
通信IF14连接到内部总线5,被设置用于CPU单元1经由内部总线5与各单元进行通信。通信IF15连接到工具装置70,被设置用于CPU单元1与工具装置70进行通信。
此外,CPU单元1如图5所示,包括任务执行部21、参照用数据管理部22、收集部23、设定部24。另外,任务执行部21、参照用数据管理部22、收集部23以及设定部24通过CPU11执行***程序121而实现。
任务执行部21并行执行多个任务,并且,将多个任务的各任务以对应于各任务的周期执行。具体来说,任务执行部21通过分时方式并行执行任务A,B以及C。此外,任务执行部21将任务A以1ms的周期执行,将任务B以2ms的周期执行,将任务C以4ms的周期执行。
参照用数据管理部22具有在***程序121被执行时,管理RAM13中存储的参照用数据的功能。具体来说,参照用数据管理部22在参照任务被执行之前(在开始执行参照任务的程序之前),将参照用数据的值变更为全局变量的值。即,参照用数据管理部22在参照任务即任务B被执行之前,将参照用数据RD1的值变更为全局变量GV1的值,在参照任务即任务C被执行之前,将参照用数据RD2变更为全局变量GV1的值。
收集部23具有在任务执行部21执行任务时,收集全局变量的值的功能。此外,收集部23具有在任务执行部21执行任务时,收集参照用数据的值的功能。具体来说,收集部23具有收集全局变量GV1、参照用数据RD1以及RD2的值的功能。由此,CPU单元1中,可以收集***程序121执行时的变量(全局变量GV1和参照用数据RD1以及RD2等)的经时变化。即,CPU单元1中,在执行***程序121时,可以对变量进行数据跟踪。
设定部24具有设定收集部23的收集对象的功能。即,设定部24具有设定数据跟踪的变量的功能。具体来说,设定部24基于后述的数据跟踪信息T(参照图7)设定数据跟踪的变量。
此外,CPU单元1进行对于全局变量的任务间的排他控制。例如,CPU单元1中如图6所示,更新任务即任务A、参照任务即任务B以及C访问全局变量GV1。
具体来说,任务A的程序P1中注册了外部变量(全局变量)GV1。由于任务A是更新任务,因此该程序P1的外部变量P1.GV1直接访问RAM13的全局变量GV1的主体。
此外,任务B的程序P4中注册了外部变量GV1。由于任务B是参照任务,因此该程序P4的外部变量P4.GV1访问RAM13的任务B用的参照用数据RD1。该任务B用的参照用数据RD1的值在任务执行部21(参照图5)执行任务B时,由参照用数据管理部22(参照图5)变更(更新)为全局变量GV1的值。
此外,任务C的程序P5中注册了外部变量GV1。由于任务C是参照任务,因此该程序P5的外部变量P5.GV1访问RAM13的任务C用的参照用数据RD2。该任务C用的参照用数据RD2的值在由任务执行部21执行任务C时,由参照用数据管理部22变更(更新)为全局变量GV1的值。
工具装置70例如是个人计算机,具有在PAC100中执行的用户程序的生成、编辑功能。此外,工具装置70具有将用户程序从PAC100下载的功能,并且具有将用户程序上载到PAC100的功能。
此外,工具装置70具有变更在ROM12中存储的对于全局变量的设定信息L2(参照图4)的功能。由此,用户可以使用工具装置70,设定对于全局变量的更新任务以及参照任务。
此外,工具装置70具有指示CPU单元1执行数据跟踪的功能。具体来说,工具装置70将包含成为数据跟踪的对象的变量名和数据跟踪的采样周期(收集周期)的数据跟踪信息T(参照图7)发送给CPU单元1。
此外,工具装置70为了用户确认数据跟踪的结果,如图8所示,具有将CPU单元1的跟踪结果的曲线图显示在表示部(图示省略)的功能。
接着,参照图9以及图10,说明本实施方式的CPU单元1的数据跟踪时的动作。另外,以下的动作通过CPU单元1(参照图2)的CPU11执行***程序121而进行。即,***程序121是用于使CPU单元1执行以下的动作的***程序。此外,数据跟踪在对程序进行调试时,为了确认程序的动作而进行。即,数据跟踪为了检测程序的缺陷而进行。
另外,以下,在开始数据跟踪之前,以全局变量GV1被设定为“0”,同时参照用数据RD1以及RD2被设定为0的情况为例进行说明。
首先,从工具装置70(参照图2)将数据跟踪信息T(参照图7)发送到CPU单元1。另外,该数据跟踪信息T中,包含数据跟踪的数据(值)的收集对象(变量名)以及对收集对象的数据进行收集的收集周期(采样周期)。在图7的例中,作为收集对象而制定程序P1の外部变量P1.GV1、程序P4的外部变量P4.GV1、程序P5的外部变量P5.GV1,作为收集周期而制定1ms。
CPU单元1中,在通信IF15(参照图2)从工具装置70接收到数据跟踪信息T的情况下,开始数据跟踪。此时,设定部24(参照图5)基于通信IF15接收到的数据跟踪信息T,设定收集部23(参照图5)的数据的收集对象。具体来说,程序P1的外部变量P1.GV1、程序P4的外部变量P4.GV1、程序P5の外部变量P5.GV1被设定为收集对象。
然后,CPU11与控制循环同时开始任务A,B以及C的执行循环。另外,任务A以1ms的周期执行,任务B以2ms的周期执行,任务C以4ms的周期执行。
具体来说,首先,任务执行部21(参照图5)开始优先级最高的任务A的处理。此时,任务B和C比任务A的优先级低,因此处于等待状态而不开始实际的处理。
然后,执行更新任务即任务A的程序P1,在该程序P1中,对外部变量(全局变量)GV1写入“1”。由此,RAM13中存储的全局变量GV1的值从“0”更新为“1”。此时,任务A由于是更新任务,因此直接访问RAM13的全局变量GV1主体。然后,执行任务A的程序P2,任务A的处理完成。
然后,在执行比任务C优先级高的任务B之前,通过参照用数据管理部22,用于任务B的参照用数据RD1的值被变更为全局变量GV1的值。此时,由于全局变量GV1的值是“1”,因此参照用数据RD1的值从“0”更新为“1”。
然后,任务执行部21执行参照任务即任务B的程序P3以及P4。另外,程序P4中,进行外部变量GV1的读出。此时,任务B由于是参照任务,因此访问RAM13的参照用数据RD1。由此,读出参照用数据RD1的“1”。
接着,若任务A、B以及C的执行循环同时开始起经过1ms,则中断任务B的程序P4。然后,通过收集部23(参照图5),收集由设定部24设定的程序P1的外部变量P1.GV1、程序P4の外部变量P4.GV1以及程序P5的外部变量P5.GV1的值。此时,全局变量GV1为“1”,参照用数据RD1为“1”,参照用数据RD2为“0”,外部变量P1.GV1为“1”,外部变量P4.GV1为“1”,外部变量P5.GV1为“0”。然后,通过CPU11,收集部23的收集结果与数据跟踪开始起的经过时间(1ms)相关联存储在RAM13中,从而在RAM13中存储跟踪结果L3(参照图10)。
然后,由于任务A的执行循环经过,因此任务执行部21执行任务A。此时,任务B以及C为等待状态。因此,执行更新任务即任务A的程序P1,在该程序P1中对外部变量(全局变量)GV1写入“2”。由此,RAM13中存储的全局变量GV1的值从“1”更新为“2”。然后,执行任务A的程序P2,若任务A的处理完成,则再开始中断的任务B的处理。另外,此时,由于任务B中断,因此参照用数据RD1的值不被更新。然后,任务执行部21执行任务B的程序P4的剩余,任务B的处理完成。
然后,在执行任务C之前,参照用数据管理部22将任务C所使用的参照用数据RD2的值变更为全局变量GV1的值。此时,全局变量GV1的值为“2”,因此参照用数据RD2的值从“0”更新为“2”。
然后,任务执行部21执行参照任务即任务C的程序P5。另外,在程序P5中进行外部变量GV1的读出。此时,任务C由于是参照任务,因此访问RAM13的参照用数据RD2。由此,读出参照用数据RD2的“2”。
接着,若任务A、B以及C的执行循环同时开始起经过2ms,则任务C的程序P5中断。然后,收集部23收集程序P1的外部变量P1.GV1、程序P4的外部变量P4.GV1、以及程序P5的外部变量P5.GV1的值。此时,全局变量GV1为“2”,参照用数据RD1为“1”,参照用数据RD2为“2”,因此外部变量P1.GV1为“2”,外部变量P4.GV1为“1”,外部变量P5.GV1为“2”。然后,通过CPU11,收集部23的收集结果与数据跟踪开始起的经过时间(2ms)相关联存储在RAM13中,在RAM13中存储跟踪结果L3。
然后,由于任务A的执行循环经过,所以任务执行部21执行任务A。此时,由于任务B的执行循环也经过,所以任务B以及C为等待状态。因此,执行更新任务即任务A的程序P1,在该程序P1中对外部变量(全局变量)GV1写入“3”。由此,RAM13中存储的全局变量GV1的值从“2”更新为“3”。然后,执行任务A的程序P2,任务A的处理完成。
然后,在执行比任务C优先级高的任务B之前,参照用数据管理部22将任务B所使用的参照用数据RD1的值变更为全局变量GV1的值。此时,由于全局变量GV1的值为“3”,因此参照用数据RD1的值从“1”更新为“3”。
然后,任务执行部21执行参照任务即任务B的程序P3以及P4。另外,在程序P4中进行外部变量GV1的读出。此时,任务B由于是参照任务,因此访问RAM13的参照用数据RD1。由此,参照用数据RD1的“3”被读出。
接着,若任务A、B以及C的执行循环同时开始起经过3ms,则任务B的程序P4被中断。然后,收集部23收集程序P1的外部变量P1.GV1、程序P4的外部变量P4.GV1、以及程序P5的外部变量P5.GV1的值。此时,全局变量GV1为“3”,参照用数据RD1为“3”,参照用数据RD2为“2”,外部变量P1.GV1为“3”,外部变量P4.GV1为“3”,外部变量P5.GV1为“2”。然后,通过CPU11,收集部23的收集结果与数据跟踪开始起的经过时间(3ms)相关联存储在RAM13中,从而在RAM13中存储跟踪结果L3。
然后,由于任务A的执行循环经过,因此任务执行部21执行任务A。此时,任务B以及C为等待状态。因此,执行更新任务即任务A的程序P1,在该程序P1中对外部变量(全局变量)GV1写入“4”。由此,RAM13中存储的全局变量GV1的值从“3”被更新为“4”。然后,执行任务A的程序P2,若任务A的处理完成,则再开始中断的任务B的处理。另外,此时,由于任务B中断,所以参照用数据RD1的值被更新。此时,任务C为等待状态。然后,任务执行部21执行任务B的程序P4的剩余。然后,若任务B的处理完成,则开始中断的任务C的处理。另外,此时,由于任务C被中断,所以参照用数据RD2的值不被更新。
然后,任务执行部21执行参照任务即任务C的程序P5的剩余。另外,在程序P5中进行外部变量GV1的读出。此时,任务C由于是参照任务,因此访问RAM13的参照用数据RD2。由此,参照用数据RD2的“2”被读出。
然后,任务C的处理完成后,若任务A、B以及C的执行循环同时开始后经过4ms,则收集部23收集程序P1的外部变量P1.GV1、程序P4的外部变量P4.GV1、以及程序P5的外部变量P5.GV1的值。此时,全局变量GV1为“4”,参照用数据RD1为“3”,参照用数据RD2为“2”,因此外部变量P1.GV1为4,外部变量P4.GV1为“3”,外部变量P5.GV1为“2”。而且,通过CPU11,收集部23的收集结果与数据跟踪开始起的经过时间(4ms)相关联存储在RAM13中,从而在RAM13中存储跟踪结果L3。
然后,因为任务A的执行循环经过,因此通过任务执行部21执行任务A。此时,任务B以及C的执行循环也经过,因此任务B以及C为等待状态。
然后,重复进行与上述动作同样的动作。
然后,若CPU单元1的数据跟踪结束,则通过CPU11,从通信IF15将跟踪结果L3发送给工具装置70。由此,工具装置70中,基于接收到的跟踪结果L3,如图8所示,可以将曲线图显示在表示部(省略图示)中。图8所示的曲线图中,通过折线示出对于数据跟踪的对象的程序P1的外部变量P1.GV1、程序P4的外部变量P4.GV1、以及程序P5的外部变量P5.GV1开始数据跟踪起的经过时间和各外部变量的值的关系。
本实施方式中,如上所述,只有更新任务即任务A对全局变量GV1进行更新以及参照,同时参照任务即任务B参照与全局变量GV1对应的参照用数据RD1,从而任务B的程序P3开始到程序P4结束期间,即使任务A更新了全局变量GV1的值的情况下,由于任务B参照参照用数据RD1,所以在任务B中能够进行具有一贯性的运算。即,任务B的程序P3开始之前,与全局变量GV1对应地更新,程序P3开始到程序P4结束期间任务B参照一定的参照用数据RD1,从而在程序P3开始到程序P4结束的期间,不会对参照用数据RD1进行任务B未预期的更新,因此能够在任务B中进行具有一贯性的运算。
同样,只有更新任务即任务A对全局变量GV1进行更新以及参照,同时参照任务即任务C参照与全局变量GV1对应的参照用数据RD2,从而即使在任务C的程序P5开始到结束期间,任务A更新了全局变量GV1的值的情况下,由于任务C参照参照用数据RD2,所以在任务C中中能够进行具有一贯性的运算。即,任务C的程序P5开始之前与全局变量GV1对应地更新,程序P5开始到结束期间,任务C参照一定的参照用数据RD2,从而在程序P5开始到结束的期间,不会对参照用数据RD2进行任务C未预期的更新,所以在任务C中能够进行具有一贯性的运算。
此外,更新任务即任务A中,只有任务A对全局变量GV1进行更新以及参照,从而在任务A中能进行具有一贯性的运算。因此,即使在多个任务A、B以及C访问全局变量GV1的情况下,通过使参照任务即任务B以及C分别参照参照用数据RD1以及RD2,从而能够进行具有一贯性的运算。其结果,能够适当地进行对于全局变量GV1的任务A、B以及C间的排他控制。
此外,本实施方式中,由收集部23执行任务A、B以及C时,收集全局变量GV1的值,从而能够对由更新任务即任务A更新以及参照的全局变量GV1(外部变量P1.GV1)进行数据跟踪。此外,收集部23执行任务A、B以及C时,收集参照用数据RD1以及RD2的值,从而能够对由参照任务即任务B以及C参照的全局变量GV1(外部变量P4.GV1以及P5.GV1)进行数据跟踪。因此,在任务A、B以及C访问全局变量GV1的情况下,即使为了进行具有一贯性的运算而分别使参照任务即任务B以及C参照参照用数据RD1以及RD2的情况下,也可以对任务B以及C的参照目的地即参照用数据RD1以及RD2适当地进行数据跟踪。
此外,本实施方式中,在执行参照任务即任务B时,将参照用数据RD1的值变更为全局变量GV1的值,在执行参照任务即任务C时,将参照用数据RD2的值变更为全局变量GV1的值,从而使参照用数据RD1以及RD2对应于全局变量GV1,同时在更新任务即任务B以及C中能够进行具有一贯性的运算。
此外,本实施方式中,通信IF15基于从工具装置70接收到的数据跟踪信息T,设定数据跟踪的收集对象和收集周期,从而用户可以使用工具装置70设定收集对象以及收集周期。
此外,本实施方式中,通过从通信IF15对工具装置70发送跟踪结果L3,从而工具装置70可以得到跟踪结果L3,所以用户可以使用工具装置70确认跟踪结果L3。
此外,本实施方式中,CPU11通过分时方式并行执行多个任务,从而能够有效地利用CPU11的处理能力。
另外,本次公开的实施方式在所有方面都是例示,不能作为限定解释的根据。因此,本发明的技术范围不是仅由上述实施方式解释,根据权利要求范围而划定。此外,本发明的技术范围中,包含与专利权利要求范围等同的意思和和范围内的所有变更。
例如,本实施方式中,示出了PAC100包括CPU单元1、输入单元2、输出单元3、电源单元4的例子,但不限于此,PAC也可以包括通信单元等其他单元,也可以不在PAC中设置输入单元。
此外,本实施方式中,示出了PAC100由多个单元构成的例子,但不限于此,也可以PAC由1个筐体构成,该筐体中组装各单元的功能。
此外,本实施方式中,任务A的程序P2中也可以注册外部变量(全局变量)GV1。该情况下,该程序P2的外部变量P2.GV1中,由于任务A为更新任务,因此直接访问RAM13的全局变量GV1的主体。
此外,本实施方式中,任务B的程序P3中也可以注册外部变量GV1。该情况下,由于任务B是参照任务,因此该程序P3的外部变量P3.GV1访问RAM13的任务B用的参照用数据RD1。
此外,本实施方式中,示出了CPU11通过分时方式并行执行多个任务的例子,但不限于此,CPU也可以是多核,同时并行执行多个任务。如果这样构成,能够实现任务的处理能力的提高。
此外,本实施方式中,示出了通过CPU11执行***程序121,从而实现任务执行部21、参照用数据管理部22、收集部23以及设定部24的例子,但不限于此,任务执行部21、参照用数据管理部22、收集部23以及设定部24也可以分别由硬件构成。
此外,本实施方式中,示出了数据跟踪信息T中包含的采样周期通过时间间隔设定的例子,但不限于此,也可以通过指定的任务的周期设定采样周期。
此外,本实施方式中,为了简化说明,示出了1ms~8ms的跟踪结果L3,但实际上,数据跟踪执行更长期间。例如,数据跟踪执行10秒(10000ms)。
此外,本实施方式中,示出了跟踪结果L3中包含收集结果和经过时间的例子,但不限于此,跟踪结果也可以包含收集数据的时刻信息、表示收集的顺序的索引信息等。
此外,本实施方式中,示出了跟踪结果L3存储在RAM13中的例子,但不限于此,跟踪结果L3也可以存储在ROM12中。
此外,本实施方式中,示出多个任务中包含1个更新任务(任务A)和2个参照任务(任务B以及C)的例子,但不限于此,如果更新任务为1个,参照任务也可以是1个,参照任务也可以是3个以上。
此外,本实施方式中,任务中,除了定期执行的任务(定周期任务)之外,还可以包含在预先设定的执行条件成立的情况下执行的任务(事件任务)。
产业上的可利用性
本发明可利用于对控制对象设备进行控制的控制装置以及其控制装置中执行的***程序。
标号说明
1CPU单元(控制装置)
13RAM(存储部)
15通信IF(通信部)
21任务执行部
22参照用数据管理部
23收集部(收集部)
24设定部(设定部)
60控制对象设备
70工具装置
121***程序
Claims (9)
1.一种控制装置,对控制对象设备进行控制,其特征在于,包括:
任务执行部,执行包含程序的任务;
存储部,存储能够在程序中参照以及更新的变量;以及
收集部,在所述任务执行部执行包含程序的任务时,收集所述变量,
所述任务执行部并行执行多个所述任务,并且,将所述多个任务的各任务以对应于所述各任务的周期执行,
所述存储部中存储与所述变量对应的参照用数据,
所述多个任务包括能够更新以及参照所述变量的更新任务和能够参照所述参照用数据的参照任务,
所述收集部在所述任务执行部执行所述多个任务时,收集所述参照用数据。
2.如权利要求1所述的控制装置,其特征在于,
所述收集部在所述任务执行部执行所述多个任务时,收集由所述更新任务更新以及参照的变量。
3.如权利要求1或权利要求2所述的控制装置,其特征在于,
所述多个任务包括1个所述更新任务和多个所述参照任务,
所述存储部中,按照所述多个参照任务的每个存储与所述变量对应的参照用数据,
所述收集部在所述任务执行部执行所述多个任务时,收集多个所述参照用数据。
4.如权利要求1至权利要求3的任何一项所述的控制装置,其特征在于,
包括参照用数据管理部,对所述存储部中存储的参照用数据进行管理,
所述参照用数据管理部在所述参照任务被执行之前,将所述参照用数据的值变更为所述变量的值。
5.如权利要求1至权利要求4的任何一项所述的控制装置,其特征在于,
包括设定部,设定所述收集部的收集对象,
所述收集部在所述任务执行部执行所述多个任务时,收集由所述设定部设定的收集对象的值。
6.如权利要求1至权利要求5的任何一项所述的控制装置,其特征在于,
包括通信部,用于从工具装置接收所述收集部的收集对象和对所述收集对象的值进行收集的收集周期,
所述收集部在所述任务执行部执行所述多个任务时,以所述通信部接收到的收集周期收集由所述通信部接收到的收集对象的值。
7.如权利要求6所述的控制装置,其特征在于,
所述通信部具有将所述收集部收集的收集结果发送给所述工具装置的功能。
8.如权利要求1至权利要求7的任何一项所述的控制装置,其特征在于,
所述存储部存储由所述收集部收集的收集结果。
9.一种***程序,使对控制对象设备进行控制的控制装置完成以下各部的功能:
任务执行部,执行包含程序的任务;
存储部,存储能够在程序中参照以及更新的变量;以及
收集部,在所述任务执行部执行包含程序的任务时,收集所述变量,
所述存储部中存储与所述变量对应的参照用数据,
所述任务执行部并行执行包括能够更新以及参照所述变量的更新任务和能够参照所述参照用数据的参照任务的多个任务,并且,将所述多个任务的各任务以对应于所述各任务的周期执行,
所述收集部在所述任务执行部执行所述多个任务时,收集所述参照用数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011056872A JP5218585B2 (ja) | 2011-03-15 | 2011-03-15 | 制御装置およびシステムプログラム |
JP2011-056872 | 2011-03-15 | ||
PCT/JP2012/055675 WO2012124542A1 (ja) | 2011-03-15 | 2012-03-06 | 制御装置およびシステムプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103403634A true CN103403634A (zh) | 2013-11-20 |
CN103403634B CN103403634B (zh) | 2016-08-10 |
Family
ID=46830617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280011200.6A Active CN103403634B (zh) | 2011-03-15 | 2012-03-06 | 控制装置及其控制方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9778630B2 (zh) |
EP (1) | EP2687931B1 (zh) |
JP (1) | JP5218585B2 (zh) |
CN (1) | CN103403634B (zh) |
WO (1) | WO2012124542A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106104397A (zh) * | 2014-03-14 | 2016-11-09 | 欧姆龙株式会社 | 控制装置及控制*** |
CN106233211A (zh) * | 2014-04-24 | 2016-12-14 | 三菱电机株式会社 | Plc单元以及可编程逻辑控制器 |
CN107615189A (zh) * | 2015-05-19 | 2018-01-19 | 三菱电机株式会社 | 可编程逻辑控制器、工程设计工具及工程设计工具程序 |
CN111052683A (zh) * | 2018-03-15 | 2020-04-21 | 欧姆龙株式会社 | 网络*** |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012092622A2 (en) * | 2010-12-31 | 2012-07-05 | Nest Labs, Inc. | Inhibiting deleterious control coupling in an enclosure having multiple hvac regions |
JP5252014B2 (ja) * | 2011-03-15 | 2013-07-31 | オムロン株式会社 | 制御装置、制御システム、ツール装置および収集指示プログラム |
US10191887B2 (en) * | 2013-07-18 | 2019-01-29 | Microsoft Technology Licensing, Llc | Context affinity in a remote scripting environment |
FR3038990B1 (fr) * | 2015-07-13 | 2019-04-05 | Tlogic Automation | Procede de surveillance et d'expertise du fonctionnement d'une installation industrielle pilotee par un controleur programmable et equipement mettant en œuvre ledit procede |
DE102016202305A1 (de) | 2016-02-16 | 2017-08-17 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Betreiben eines Steuergeräts |
KR102492399B1 (ko) * | 2016-07-27 | 2023-01-26 | 엘에스일렉트릭(주) | 감시제어장치 |
JP2018133037A (ja) | 2017-02-17 | 2018-08-23 | オムロン株式会社 | 制御装置 |
JP6859922B2 (ja) * | 2017-10-24 | 2021-04-14 | オムロン株式会社 | 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体 |
CN109284194B (zh) * | 2018-08-16 | 2024-05-24 | 平安科技(深圳)有限公司 | 数据采集方法、征信主体设备、计算机设备及存储介质 |
JP6761158B1 (ja) * | 2019-12-16 | 2020-09-23 | 株式会社安川電機 | プログラム作成装置、プログラム作成方法、及びプログラム |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10511484A (ja) * | 1994-12-21 | 1998-11-04 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | 技術的プロセスの制御方法 |
JP2001154711A (ja) * | 1999-11-29 | 2001-06-08 | Omron Corp | 工程歩進型プログラムのデバッグ方法および装置 |
JP2003233403A (ja) * | 2002-02-06 | 2003-08-22 | Toshiba Corp | 制御装置およびプログラミング装置 |
CN1938658A (zh) * | 2004-04-15 | 2007-03-28 | 三菱电机株式会社 | 可编程逻辑控制器的***装置及其程序生成方法 |
JP2007219920A (ja) * | 2006-02-17 | 2007-08-30 | Omron Corp | データ収集管理システム |
CN101048761A (zh) * | 2004-10-25 | 2007-10-03 | 罗伯特·博世有限公司 | 用于在多处理器***中进行同步的方法和设备 |
CN101467111A (zh) * | 2006-06-13 | 2009-06-24 | 三菱电机株式会社 | 可编程逻辑控制器的***装置以及程序的自动验证方法 |
JP2009146040A (ja) * | 2007-12-12 | 2009-07-02 | Omron Corp | Plcを用いたデータトレースシステム |
JP2009181443A (ja) * | 2008-01-31 | 2009-08-13 | Omron Corp | 産業用コントローラ用機器 |
CN101770215A (zh) * | 2008-12-26 | 2010-07-07 | 欧姆龙株式会社 | 可编程控制器 |
JP2010181923A (ja) * | 2009-02-03 | 2010-08-19 | Yaskawa Electric Corp | ロボットの制御システムおよびリアルタイムos |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003114908A (ja) * | 2001-10-05 | 2003-04-18 | Omron Corp | データ収集装置及びデータ収集システム並びにプログラム製品 |
JP4660058B2 (ja) * | 2002-09-24 | 2011-03-30 | 株式会社東芝 | 監視計測用ネットワーク情報端末 |
US20070067373A1 (en) * | 2003-11-03 | 2007-03-22 | Steven Higgins | Methods and apparatuses to provide mobile applications |
JP2005275846A (ja) * | 2004-03-25 | 2005-10-06 | Hitachi Information Systems Ltd | データファイル自動収集システム、データファイル自動収集方法およびそのためのプログラム |
US8065499B2 (en) * | 2006-02-22 | 2011-11-22 | Oracle America, Inc. | Methods and apparatus to implement parallel transactions |
JP4609381B2 (ja) * | 2006-06-14 | 2011-01-12 | 株式会社デンソー | 異常監視用プログラム、記録媒体及び電子装置 |
US20080056239A1 (en) * | 2006-07-13 | 2008-03-06 | Kalat Software, Inc. | VOIP Service Over a Regular Phone |
JP5186334B2 (ja) * | 2008-11-06 | 2013-04-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 変換装置、プログラムおよび変換方法 |
US8776061B2 (en) * | 2010-12-16 | 2014-07-08 | International Business Machines Corporation | Real-time distributed monitoring of local and global processor resource allocations and deallocations |
US9377769B2 (en) | 2011-03-15 | 2016-06-28 | Omron Corporation | Control apparatus for updating a user program while processing is being performed and recording medium |
-
2011
- 2011-03-15 JP JP2011056872A patent/JP5218585B2/ja active Active
-
2012
- 2012-03-06 EP EP12757853.2A patent/EP2687931B1/en active Active
- 2012-03-06 WO PCT/JP2012/055675 patent/WO2012124542A1/ja active Application Filing
- 2012-03-06 CN CN201280011200.6A patent/CN103403634B/zh active Active
-
2013
- 2013-09-16 US US14/027,578 patent/US9778630B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10511484A (ja) * | 1994-12-21 | 1998-11-04 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | 技術的プロセスの制御方法 |
US5974346A (en) * | 1994-12-21 | 1999-10-26 | Robert Bosch Gmbh | Method for controlling technical processes |
JP2001154711A (ja) * | 1999-11-29 | 2001-06-08 | Omron Corp | 工程歩進型プログラムのデバッグ方法および装置 |
JP2003233403A (ja) * | 2002-02-06 | 2003-08-22 | Toshiba Corp | 制御装置およびプログラミング装置 |
CN1938658A (zh) * | 2004-04-15 | 2007-03-28 | 三菱电机株式会社 | 可编程逻辑控制器的***装置及其程序生成方法 |
CN101048761A (zh) * | 2004-10-25 | 2007-10-03 | 罗伯特·博世有限公司 | 用于在多处理器***中进行同步的方法和设备 |
JP2007219920A (ja) * | 2006-02-17 | 2007-08-30 | Omron Corp | データ収集管理システム |
CN101467111A (zh) * | 2006-06-13 | 2009-06-24 | 三菱电机株式会社 | 可编程逻辑控制器的***装置以及程序的自动验证方法 |
JP2009146040A (ja) * | 2007-12-12 | 2009-07-02 | Omron Corp | Plcを用いたデータトレースシステム |
JP2009181443A (ja) * | 2008-01-31 | 2009-08-13 | Omron Corp | 産業用コントローラ用機器 |
CN101770215A (zh) * | 2008-12-26 | 2010-07-07 | 欧姆龙株式会社 | 可编程控制器 |
JP2010181923A (ja) * | 2009-02-03 | 2010-08-19 | Yaskawa Electric Corp | ロボットの制御システムおよびリアルタイムos |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106104397A (zh) * | 2014-03-14 | 2016-11-09 | 欧姆龙株式会社 | 控制装置及控制*** |
US10162328B2 (en) | 2014-03-14 | 2018-12-25 | Omron Corporation | Controller and control system |
CN106233211A (zh) * | 2014-04-24 | 2016-12-14 | 三菱电机株式会社 | Plc单元以及可编程逻辑控制器 |
CN106233211B (zh) * | 2014-04-24 | 2019-03-08 | 三菱电机株式会社 | Plc单元以及可编程逻辑控制器 |
CN107615189A (zh) * | 2015-05-19 | 2018-01-19 | 三菱电机株式会社 | 可编程逻辑控制器、工程设计工具及工程设计工具程序 |
CN107615189B (zh) * | 2015-05-19 | 2019-04-12 | 三菱电机株式会社 | 可编程逻辑控制器、工程设计工具及存储有工程设计工具程序的存储装置 |
CN111052683A (zh) * | 2018-03-15 | 2020-04-21 | 欧姆龙株式会社 | 网络*** |
Also Published As
Publication number | Publication date |
---|---|
WO2012124542A1 (ja) | 2012-09-20 |
JP5218585B2 (ja) | 2013-06-26 |
JP2012194683A (ja) | 2012-10-11 |
US9778630B2 (en) | 2017-10-03 |
EP2687931A1 (en) | 2014-01-22 |
EP2687931A4 (en) | 2015-08-26 |
US20140018939A1 (en) | 2014-01-16 |
EP2687931B1 (en) | 2019-05-08 |
CN103403634B (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103403634A (zh) | 控制装置以及***程序 | |
CN103430111B (zh) | 控制装置、控制***、以及工具装置 | |
US11625011B2 (en) | Control system database systems and methods | |
US9740186B2 (en) | Monitoring control system and control device | |
CN103403692B (zh) | 数据传输装置 | |
JP6388050B1 (ja) | 制御装置 | |
EP2733613B1 (en) | Controller and program | |
JP2018133037A (ja) | 制御装置 | |
CN111267111B (zh) | 一种机器人控制方法、装置及*** | |
CN101770404A (zh) | 可保存状态的看门狗电路及其保存重启状态方法 | |
JP4906286B2 (ja) | ソフトウェア開発環境システム | |
JP6808090B1 (ja) | 制御装置および分散処理方法 | |
EP3879366A2 (en) | Production system, control method, and program | |
JP4890497B2 (ja) | プラント監視制御システム | |
CN113874802B (zh) | 控制***、可编程逻辑控制器以及信息处理方法 | |
EP3885852A1 (en) | Production system, data transmission method, and program | |
WO2023276351A1 (ja) | 制御装置、システムプログラムおよび方法 | |
EP3879367A2 (en) | Production system, data transmission method, and program | |
JP2009075803A (ja) | プログラマブルコントローラのデータ処理方法、プログラマブルコントローラ及び端末 |
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 |