CN103124938B - 对可编程逻辑控制器的执行环境进行升级的方法及系统 - Google Patents
对可编程逻辑控制器的执行环境进行升级的方法及系统 Download PDFInfo
- Publication number
- CN103124938B CN103124938B CN201180046999.8A CN201180046999A CN103124938B CN 103124938 B CN103124938 B CN 103124938B CN 201180046999 A CN201180046999 A CN 201180046999A CN 103124938 B CN103124938 B CN 103124938B
- Authority
- CN
- China
- Prior art keywords
- upgrade
- controller
- user
- information
- function
- 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.)
- Active
Links
Classifications
-
- 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
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
提供一种控制器OS数据的升级方法,其对控制器OS数据升级的必要性进行确认,避免自动进行控制器OS数据的不必要升级,费用、时间、作业方面的效率优良,并考虑到了安全性。充分使用当前发达的互联网和控制器用编程工具的组合,在使控制器用编程工具与控制器进行了连接时,自动确认控制器的OS版本,对存在于互联网上的规定站点中的最新OS版本进行确认。并且,在判断为应进行升级的情况(例如在判断出控制器为已被报告具有内在缺陷的控制器的情况)下,将最新OS数据下载至控制器。
Description
技术领域
本发明涉及方法、系统及程序。
背景技术
在现代制造设备,特别是工业自动化领域中,自动化过程在多数情况下是通过低水平的自动化系统或过程控制及监视系统等进行控制的。低水平的自动化系统有时包含通过可编程逻辑控制器(PLC)进行控制或监视的专用机器人设备或其他自动化系统。另外,为了对上述过程进行监视,有时使用机器视觉系统、条形码阅读器、及各种光学、电气、电气机械、温度传感器等多种检测装置及测量仪表。
通常,用户开发如梯形图程序那样的控制逻辑,PLC(控制器)为了实现用户期望的制造过程而执行该控制逻辑。控制逻辑作为用户应用软件而存储在控制器的存储器中,其可由控制器读取。向控制器提供使得控制器的处理器能够处理控制逻辑并执行用户应用程序的执行环境。该(例如类似于个人计算机中的操作系统(OS)的)执行环境是控制器的一部分,因此,控制器制造商承担维护该执行环境的责任。如果该执行环境中存在问题或故障,则控制器制造商常常会进行执行环境的升级。由于该执行环境存储在非易失性存储器中,因此,制造商在大多情况下是更换控制器整体,而对执行环境实施升级,但该方法对于这些控制器的制造商而言,导致产品支持费用增加。并且,用户在对该执行环境进行升级时必须使制造过程停止。
发明内容
因此,要求一种用于实现控制器执行环境的高效升级的系统和方法。
本发明例示的实施方式提及了至少前面所描述的问题或不妥当 之处、及前面没有描述的其他不妥当之处。本发明并非要求克服上述不妥当之处,另外,通过本发明的实施方式也并不必然能够克服上述不妥当之处。
根据本发明的第1技术方案,提供一种对可编程逻辑控制器的执行环境进行升级的方法。该方法包含下述步骤:读取所述控制器的控制器类型及所述控制器的操作系统的版本信息的步骤;读取与所述控制器类型及所述版本信息相对应的升级信息的步骤;基于所述升级信息而判定所述执行环境中应进行升级的部分的步骤;以及对所述执行环境中的所述判定出的部分进行升级的步骤。
根据本发明的第2技术方案,提供一种执行可编程逻辑控制器的软件维护的系统。该系统具有编程工具和控制器。所述编程工具能够进行用于对所述控制器的执行环境进行升级的操作。另外,所述编程工具包含下述单元:控制器类型判定单元,其读取该控制器的控制器类型及所述控制器的操作系统的版本信息;升级信息判定单元,其读取与所述控制器类型及所述版本信息相对应的升级信息;升级区域判定单元,其基于所述升级信息,判定所述执行环境中应进行升级的部分;以及升级单元,其对所述执行环境中的所述判定出的部分进行升级。
关于本发明的上述方式及/或其他方式,通过参照附图对本发明的几个例示性的实施方式进行说明,将会更加清楚。
附图说明
图1是表示系统结构例的图。
图2是说明能够对控制器(定序器)的执行环境(操作系统)实施升级的处理流程例的图。
图3A是表示控制器的结构例的图。
图3B是表示控制器的软件的构造例的图。
图4A是表示OS执行参数的实施例的图。
图4B是表示OS执行参数的实施例的图。
图5是更详细地说明OS程序的图。
图6是表示梯形图程序例的图。
图7A是表示升级信息及升级软件的图。
图7B是表示升级信息及升级软件的图。
图8A是更详细地说明图2的处理流程例的图。
图8B是更详细地说明图2的处理流程例的图。
图9是说明编程工具的内部构造的图。
具体实施方式
下面,参照附图,对本发明的几个实施方式详细地进行说明。
在以下说明中,即使是不同的附图,也对类似的要素使用类似的参考编号。为了帮助对于发明的全面理解,在说明书中例示了详细的结构和结构要素等,但即使没有具体例示的这些事项,本发明也能够实施。并且,由于记载不必要的细节有时会使发明变得难以理解,因此,已知的功能或结构不做详细说明。
实施方式
图1表示本发明的例示性的实施方式所涉及的系统结构。编程工具1将由用户开发的程序安装在控制定序器2中。定序器2是对用户的制造过程进行控制的设备。定序器2也可以是可编程逻辑控制器(PLC)。定序器2及编程工具1能够利用USB(通用串行总线)等手段彼此进行连接。编程工具1也可以包含具有执行不同功能的单独的逻辑单元或处理单元的处理器。这些各自不同的逻辑单元能够组合到在处理器上实现的软件中。服务器3经由互联网4与编程工具1连接,存储对定序器2所使用的软件进行维护/升级所需的信息或文件。以下会交替使用“定序器”及“控制器”这两个用语,但它们都是指定序器2。服务器3也可以是由定序器2的制造商或对定序器2实施产品支持的其他维护公司进行管理的计算机。服务器3与互联网4连接,接受基于规定的URL作出的规定请求。在服务器3中,可以作为存储单元而具有硬盘驱动单元,在该存储单元内能够存储为了定序器2的维护及更换而准备的(后述)升级软件52及(后述)升级信息53。
下面,图2表示能够针对控制器2的执行环境(例如操作系统) 实施升级的处理流程。
在步骤S201中,顾客将编程工具与自身希望维护的对象控制器连接。在步骤S202中,通过编程工具读取表示对象控制器的OS(操作系统)版本的数据(即,版本信息)及其他数据。在步骤S203中,关于从该控制器读取的OS版本(版本信息),编程工具参照存储在服务器3中的OS数据信息。在步骤S204中,编程工具对是否应对控制器的执行环境(例如操作系统)实施升级进行判定。另外,编程工具基于编程工具从控制器读取的表示OS版本的数据(即,版本信息)及其他数据,确定升级的内容。编程工具在判定为不应实施升级的情况(在步骤S204中为“否”的情况)下,结束处理,在判定为应实施升级的情况(在步骤S204中为“是”的情况)下,使处理进入步骤S205。在步骤S205中,编程工具对控制器的执行环境实施升级。上述处理流程是关于本发明所设想的一个处理流程例的概略记述,其详细内容通过下面对控制器的构造详细进行说明将会很清楚。
图3A是用于说明定序器2的结构的图。在定序器2中,外部单元21及22经由系统总线24与控制器模块23连接。外部单元21及22是与未图示的传感器、灯、致动器及伺服器等外部装置或外部设备连接的单元,存储有与外部装置或外部设备相关的数据。这些外部装置或外部设备例如通过与外部单元21及22之间交换信息或信号等,从而执行规定的制造过程。外部单元21及22能够用于基于比特组实现的数字信息或模拟信号的输入输出。
控制器模块23包含:处理器231、存储器单元232、系统总线I/F233及编程工具连接单元234。控制器模块经由系统总线I/F233与系统总线24通信。处理器231是执行由用户开发的程序或定序器2的操作系统(OS)的MPU(微处理单元)。以下,由用户开发的程序称为应用程序。存储器单元232具有非易失性存储器232a及易失性存储器232b。非易失性存储器232a存储有OS执行参数31、OS程序文件32、OS版本信息33、用户程序34及控制器信息35等。易失性存储器232b从外部单元21及22经由系统总线24获取与外部装置或外部设备相关的数据并进行存储。然而,存储在非易失性存储器232a中的信息的全 部或一部分,出于高速存取的目的,也能够进一步存储在易失性存储器232b中。
存储器单元232的内容能够经由载波、RF信号、以太网(注册商标)(Ethernet(注册商标))信号、TCP/IP等多种手段进行升级。虽然并未涵盖全部种类,但存储介质的列表中包含:具有大于或等于1根配线的电气连接、磁盘(Floppy)(注册商标)或软盘这种便携用计算机存储盘、磁带或其他磁性介质、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、存储卡、其他存储芯片或盒式存储器、光纤、便携用致密盘只读存储器(CD-ROM)、其他光学介质、打孔卡、纸带、其他具有孔形图案的物理介质、计算机/控制器可读取的其他介质、或它们的适当组合。
编程工具连接单元234也可以包含网络接口模块104,网络接口模块104能够使定序器2经由网络接口模块与编程工具通信。网络接口模块104也可以包含与数据总线连结的网络接口卡。网络接口模块提供与网络链路之间的双向数据通信连接。这种双向数据通信连接也可以是与局域网(LAN)连接。例如,网络接口模块104也可以是提供与对应类型的电话线路之间的数据通信连接的综合业务数字网(ISDN)卡或调制解调器。另外,作为其他实施例,网络接口模块104也可以是提供与具有互换性的LAN之间的数据通信连接的局域网接口卡(LAN NIC)。已知的802.11a、802.11b、802.11g及Bluetooth等无线链路也可以用于实现网络。在上述实现方法中,均是网络接口模块104接收/发送电信号、电磁信号或光学信号,其中,这些信号用于对表示多种类别的信息的数字/模拟数据流进行传输。
OS执行参数31包含OS程序32的运算参数,例如,能够包含看门狗定时器(WDT)设定作为OS执行参数31。OS程序32参照为了执行某种运算而使用OS执行参数的功能。例如,能够将错误处理用功能(例如,定义出在发生除以零的运算时或无法通过控制器执行用户代码中的规定时,会发生什么的功能)识别作为OS程序32。OS程序32设计为,OS程序的运算基于各功能所用的运算参数而变化。作为OS程序32的其他例子,可以是对看门狗定时器(WDT)设定进行监 视,在看门狗定时器(WDT)设定超过了某个值(例如200毫秒)的情况下,使当前执行中的程序停止的程序。
OS程序32代表对控制器的执行环境的整体功能进行调整的程序代码。OS程序32类似于个人计算机的OS内核程序代码。与OS内核程序代码同样地,OS程序32在特权模式下动作,梯形图程序等用户程序无法对OS程序进行变更或控制,OS程序对用户程序的执行进行控制。并且,OS程序32承担下述责任,即,控制器硬件的最优化执行、用户定序程序的管理及执行、与编程工具的通信、控制器硬件的诊断、及硬件诊断结果的报告等。
OS版本信息33是用于识别当前的OS程序32的版本的信息。用户程序34是用于对控制器进行控制的命令列表。在工厂自动化领域中,大多使用梯形图形式的程序。控制器信息35相当于与控制器的制造商、型号名称、类型等相关的信息。
图3B表示控制器的软件的内部构造,图3B的详细说明在图6的说明之后进行。
图4A及图4B更详细地示出了OS执行参数31的几个例子。看门狗定时器(WDT)设定401是OS执行参数31的一个例子。图4A经由图形用户界面示出多个OS执行参数。即,多个OS执行参数能够使用图形用户界面构成。图4A也示出作为OS执行参数31的另一个例子的错误检查402。OS执行参数如图4B所示,能够按照如MPU寄存器那样的数据构造而构成。关于数据构造403,示出了WDT设定401,包含有代表WDT设定401各部分的多个位(bit)。例如,数据构造403的位0用于指定初始执行监视时间是开启还是关闭。位1用于指定低速执行监视时间是开启还是关闭。数据构造403中其余多个位,能够用于指定在图4A中输入至WDT设定字段的值。同样地,关于数据构造404,示出了与图4A中的错误检查402的设定相关的多个位。例如,在由用户在图4A中选中电池检查执行设定的情况下,数据构造404中的位0为“1”。
图5更详细地示出OS程序32。如图5所示,OS程序32能够被进一步被分割为多个执行模块。例如执行模块32a能够执行某个错 误处理,另一个执行模块32b能够执行看门狗定时器(WDT),再另一个执行模块32c能够执行包含与在梯形图程序中使用的操作符相对应的命令的命令码。例如,执行模块32能够包含LD、MOV等命令或它们的定义。
图6表示存储在用户程序34中的梯形图程序例。梯形图程序是一种用户应用程序。梯形图程序的各程序步由操作数构成,其中,操作符按照操作数进行动作。操作符是表示运算类别的标识符。操作数是供操作符进行相应动作的数据或变量。例如命令LD SM400由操作数SM400和操作符LD的组合构成。操作符LD是能够将存储在SM400中的值载入存储器的命令。LD命令能够定义为,将存储在存储器中的数据载入SM400。该LD命令只是一个例子,如果执行环境不同,则能够以不同方式定义LD。
在图3B中,图示出控制器的软件的内部构造。控制器的软件的内部构造能够分割为7个层(7个软件层),OS程序文件32包含该7个层中的5个层。此外,在图3B中例示了7个层中的6个层。
用户层301包含有OS执行参数、用户定序程序及I/O数据。用户层301没有包含在控制器的OS程序32(参照图3A)的文件中,但与控制器的OS程序32的文件紧密关联。OS执行参数与OS执行参数31(参照图3A)相对应,用户定序程序与用户程序34(参照图3A)相对应。I/O数据是指用于执行用户定序程序的输入数据及输出数据。控制器从外部单元21、22获取输入数据,执行用户定序程序后,将数据向外部单元21、22输出。
用户I/F层302是控制器OS的一部分。更具体地说,用户I/F层302是OS程序32(参照图3A)的文件的一部分。用户I/F层302包含有OS执行参数解码及用户定序程序解码等功能。OS执行参数解码功能是用于读取OS执行参数31(参照图3A)并进行译码的功能。同样地,用户定序程序解码功能是用于读取用户定序程序并进行译码的功能。
应用层303是OS程序32(参照图3A)的文件的一部分,负责执行用户定序程序。更具体地说,应用层303包含有用户定序程序命令 执行及通信功能。用户定序程序命令执行是用于执行在用户I/F层302通过用户定序程序解码功能进行译码后的命令的功能。通信功能是用于实施控制器和编程工具之间的通信的功能。
诊断层304也是OS程序32(参照图3A)的文件的一部分,负责控制器自身的检查及诊断。诊断层304包含有诊断结果管理、系统总线诊断、模块诊断及电池诊断。诊断结果管理是对从系统总线诊断功能、模块诊断功能及电池诊断功能等不同的诊断功能得到的诊断结果进行存储。系统总线诊断是负责系统总线的状态检查的功能。模块诊断是负责控制器模块自身及外部单元的状态检查的功能。电池诊断是负责电池的状态检查的功能。
抽象化层305包含有文件访问、设备的存储器访问、模块访问、通信数据缓冲及动作管理等功能。抽象化层305也同样是OS程序32(参照图3A)的文件的一部分。文件访问功能是针对其他软件层,对针对OS执行参数31(参照图3A)的文件或用户定序程序(用户程序34)的文件的访问进行控制(例如容许或禁止)。设备存储器访问是针对其他层,对针对设备存储器的访问进行控制(例如容许或禁止)。设备组例如包含构成程序的构成要素(例如接点及线圈组),并且,包含控制器的CPU中的编程用虚拟要素。虚拟要素也可以包含由控制器的CPU使用的编程语言的一部分。这些虚拟要素也可以包含用于确定某个功能、并且表示在用户程序中使用的基本编译程序块的要素。例如虚拟要素(设备)也可以包含表示开关的要素。用户通过加入与开关相对应的虚拟要素,从而能够在自身的程序中加入开关。设备存储器位于易失性存储器内。模块访问是针对各种软件层,对针对外部单元中的数个单元的抽象访问进行控制(例如容许或禁止)。通信数据缓冲是在不请求使用通信协议的状态下,对软件层与所连接的设备之间的通信进行控制(例如容许或禁止)。动作管理是对LED、开关及电池进行操作。动作管理针对软件层组,对针对LED或开关、电池的抽象访问进行控制(例如容许或禁止)。
最后一层是硬件I/F(硬件接口)层306。硬件I/F层306也同样是OS程序32(参照图3A)的文件的一部分,包含有进行与硬件资源 之间的接口处理的驱动程序。硬件I/F层306包含有定序命令执行引擎驱动,该定序命令执行引擎驱动基于定序命令的执行而负责不同模块的控制。硬件I/F层306还包含有作为非易失性存储器用驱动的闪存ROM驱动、作为系统总线用驱动的系统总线通信驱动、和担任通信端口的通信驱动。
下面,利用图7A及图7B对升级信息53进行详细说明。升级信息53及升级信息53特有的构造使得本发明具有升级控制器软件时的独有的灵活性,对于本发明而言是重要的特征。升级信息53存储在服务器3(参照图1)中,经由互联网4从服务器3传送至编程工具1。值得一提的是,无论是何种类别的网络,均能够用于从服务器3向编程工具1传送升级信息。升级软件52是基于升级信息53的内容而通过编程工具1安装在定序器2中的。升级软件52基于升级信息53,将OS程序32(参照图3A)完全置换为新版本,或将OS程序32的一部分置换为新版本。
如图7A及图7B所示,升级信息53是最高阶词条(entry)为“控制器类型”的树状构造。控制器类型700是对被升级软件52作为对象的控制器的型号进行识别的信息。在控制器存在大于或等于2个型号时,能够针对每个型号准备不同的升级软件52,大于或等于2个的升级信息53也同样地能够对应于各升级信息52而准备。
如果控制器类型700得到了确定,则针对升级软件52确定了OS版本701。升级信息53还包含“是否变更硬件”702,“是否变更硬件”702表示控制器是否包含存在问题的硬件设计,或者,是否需要变更硬件。在“是否变更硬件”702为1(true)的情况下,可向控制器的用户显示需要进行硬件更换的信息。该信息也可以通过编程工具1显示。
其次,升级因素703包含主要升级信息、次要升级信息及问题信息。升级因素703还包含维护的重要程度即确定紧急性的信息。在升级软件52包含有控制器中尚不存在的新功能的情况下,“主要升级”为“1(true)”。例如,有时要将新功能加入至经由互联网进行通信的控制器OS(执行环境)中。在次要升级信息中示出以下情况:应该对已作为控制器OS的一部分的某个功能进行改良,且升级软件52包 含有改良点的情况。例如,也能够在升级软件52中安装扩展WDT功能。值得一提的是,在次要升级字段为“1(true)”的情况下,升级的重要程度较低。在重要性为“低”的情况下,向用户提供选项,使用该选项,用户可以通过自己判断而选择安装升级软件52。
升级因素703中的问题字段(问题信息)表示控制器的执行环境是否存在问题。更具体地说,问题字段能够在OS程序32中存在问题时设为“1(true)”。例如,问题字段可在WDT功能不起作用、或WDT功能从WDT数据构造403提取参数失败时,设为“1(true)”。在问题字段为1(true)的情况下,升级的重要程度为“高”。在重要程度为“高”的情况下,由于升级软件52是为了修正实质问题而准备的,因此,能够立即/强制地将升级软件52安装在控制器(定序器2)中。然而,控制器(定序器2)的用户有时不使用存在问题的功能,在此情况下,向用户提供选项,使用该选项,用户可以选择跳过对控制器OS实施升级。
并且,OS升级位置704能够指定升级所影响到的OS层。例如升级软件52有时仅影响诊断层,或者会影响到OS程序32的诊断层及抽象化层两方。
升级信息705是用于确定受升级软件52影响的OS程序32的部分的信息。在该词条中存在从属词条。例如,第1从属词条可以是升级功能一览705-1。升级功能一览705-1用于确定OS程序32中所包含的功能。例如,在WDT功能受到影响的情况下,升级功能一览705-1在功能1后的升级词条中指定“1(true)”。同样地,在升级软件52对初始执行监视、低速执行监视等其他OS功能造成影响的情况下,能够针对这些功能分别确定出升级词条。在升级信息705中,作为其他从属词条,还能够包含升级命令列表705-2。升级命令列表705-2用于确定是否对LD、MOV等不同的命令实施升级。
在图7B中,图示出升级软件52。升级软件52包含有作为对控制器的执行环境(OS)的升级而使用的二进制数据。根据例示的实现形式,在图3B中说明的软件层的某一个应进行升级的情况下,升级软件52包含有与该层的特定功能相对应的二进制数据。因此,在层中的一 个层不需要升级的情况下,OS数据706不包含用于对该层进行升级的二进制数据。并且,升级软件52也可以包含有用于OS数据706的校验和707。
下面,使用图8A及图8B,对图2所示的处理流程进行详细说明。在步骤S801中,用户为了执行对于对象控制器的维护,将编程工具与对象控制器连接。在步骤S802-1中,编程工具从对象控制器读取控制器类型信息。在步骤S802-2中,编程工具从对象控制器读取OS版本信息。在步骤S803-1中,编程工具将对象控制器与互联网连接。在步骤S803-2中,编程工具为了从服务器读取升级信息而访问服务器3。服务器也可以存储有用于大于或等于2台控制器的升级信息。因此,在步骤S804中,编程工具判定是否存在与对象控制器相对应的升级信息。在不存在的情况下,能够结束处理流程,或者,由用户确定执行对于下一个控制器的维护。在图8A中,例示了结束处理流程的情况。值得一提的是,上述各步骤能够通过编程工具1中的逻辑单元组执行。即,编程工具能够具有从服务器读取数据的第1逻辑单元和读取OS版本类型的第2逻辑单元。
在步骤S804中,在判定为从服务器读取出的升级信息中存在与对象控制器相对应的升级信息的情况下,编程工具使处理流程进入步骤S806-1。在步骤S806-1中,读取OS升级信息(例如图7A所示的升级信息53)以用于相应的对象控制器。编程工具有时必须对升级信息进行解析,以找出与对象控制器相对应的升级信息53。
在步骤S806-1中,如果升级信息已确定,即,找出了与对象控制器相对应的升级信息53,则在步骤S806-2中,编程工具对升级信息53中的“是否变更硬件”702进行确认。在步骤S807中,编程工具检查“是否变更硬件”702在升级信息53中是否为“1(true)”。在为“1(true)”的情况(步骤S807为“是”的情况)下,编程工具使处理流程进入步骤S808。在步骤S808中,编程工具通知管理者,需要对于PLC进行硬件更换。例如,编程工具通知需要更换控制器。在步骤S807为“0(false)”的情况(步骤S807为“否”的情况)下,编程工具使处理流程进入步骤S809-1。在步骤S809-1中,编程工具对 升级信息53中的OS升级位置704进行确认。在步骤S809-2中,编程工具判定是否存在应通过该升级修正的问题。这是通过检查升级信息53中的升级因素703之下的“问题”信息是否为“1(true)”而判定的。在问题信息为“1(true)”的情况(步骤S809-2为“是”的情况)下,“升级”的重要程度高,因此,编程工具使处理流程进入步骤S810-1。在问题信息为“0(false)”的情况(步骤S809-2为“否”的情况)下,编程工具结束处理流程。
在步骤S810-1中,编程工具对升级信息53中的OS升级位置704进行确认。在步骤S810-2中,编程工具检查升级是否对控制器的OS程序32的基本部分造成了影响。即,在OS升级位置704之下的诊断层、抽象化层、硬件I/F层中的任一个为“1(true)”的情况下,编程工具判定为,该升级会对控制器的OS程序32的基本部分造成影响。在判定为升级对控制器的OS程序32的基本部分造成了影响的情况(步骤S810-2为“是”的情况)下,编程工具使处理流程直接进入步骤S814-1。在步骤814-1中,编程工具经由互联网访问产品支持站点,从产品支持站点读取OS数据。在步骤S814-2中,编程工具使用升级软件52,对控制器的OS程序32的基本部分中的各层的对应部分进行替换。例如,在抽象化层305中存在问题的情况下,编程工具使用升级软件52,替换OS程序32中的抽象化层305。
另一方面,编程工具在判定为升级没有对控制器的OS程序32的基本部分造成影响的情况(步骤S810为“否”的情况)下,使处理流程进入步骤S811-1。在步骤S811-1中,编程工具从对象控制器读取OS执行参数31及OS程序32。在步骤S812-1及步骤S812-2中,编程工具通过参照升级信息53,对OS执行参数及OS程序中受升级程序52影响的部分进行判定。例如在步骤S812-1中,编程工具通过读取OS执行参数31,从而确定用户所使用的OS功能。例如,在数据构造403(参照图4B)的位中的1个得到了设定的情况下,可认为其代表了由WDT功能使用WDT设定。并且,可能存在用户没有使用但却受到升级程序52的影响的功能。因此,在步骤S812-2中,编程工具对升级信息53中的升级功能一览705-1进行确认。升级功能一览705 -1提供会受到升级软件52影响的功能的列表。
此外,基于用户使用的功能,编程工具也可以向用户提供对于是否应该对这些功能进行升级的选项。
并且,在升级功能一览与用户使用的功能之间没有重复的情况下,存在可以不对OS程序32实施升级的可能性。这种情况会在升级功能一览中确定出的几个功能存在问题,而用户不使用这些功能时出现。因此,也存在可以不对OS程序32中的这些功能进行升级的可能性。因此,在步骤S810-3中,编程工具为了确认升级的次级必要性,进行下面的检查。编程工具检查在升级功能一览与用户所使用的功能之间是否有重复,即,用于应对问题的OS数据是否以用户所使用的功能为对象。编程工具在用于应对问题的OS数据以用户所使用的功能为对象的情况(步骤S810-3为“是”的情况)下,使处理流程进入步骤S814-1,在用于应对问题的OS数据没有以用户所使用的功能为对象的情况(步骤S810-3为“否”的情况)下,使处理流程进入步骤S811-2。
此外,在步骤S812-2中向用户提供选项时,用户选择应进行升级的选项的情况,与步骤S810-3为“是”的情况相对应,用户选择不应进行升级的选项的情况,与步骤S810-3为“否”的情况相对应。
并且,编程工具还能够提取出梯形图程序或应用程序中用户所使用的命令/操作符。编程工具能够将提取出的命令与升级命令列表705-2中的命令进行比较,与其相对应地,对梯形图程序实施升级。因此,在步骤S811-2中,编程工具从对象控制器读取OS执行参数31及OS程序32。在步骤S812-3及步骤S812-4中,编程工具通过参照升级信息53,从而对OS执行参数及OS程序中受到升级程序52影响的部分进行判定。例如,在步骤S812-3中,编程工具通过读取OS执行参数31,从而确定用户使用的命令。并且,可能存在用户没有使用但受到升级程序52影响的命令。因此,在步骤S812-4中,编程工具对升级信息53中的升级命令一览705-2进行确认。升级命令一览705-2提供受到升级软件52影响的命令的列表。
此外,基于用户所使用的命令,编程工具也可以向用户提供关于 是否应对这些命令进行升级的选项。
并且,在升级命令一览与用户所使用的功能之间没有重复的情况下,存在可以不对OS程序32实施升级的可能性。这种情况会在升级命令一览中确定出的几个命令存在问题、而用户不使用这些命令时出现。因此,存在可以不对OS程序32中的这些命令进行升级的可能性。因此,在步骤S810-4中,编程工具为了确认升级的三级必要性,进行下面的检查。编程工具检查在升级命令一览与用户所使用的命令之间是否有重复,即,用于应对问题的OS数据是否以用户所使用的命令为对象。编程工具在用于应对问题的OS数据以用户所使用的功能为对象的情况(步骤S810-4为“是”的情况)下,使处理流程进入步骤S814-1,在用于应对问题的OS数据没有以用户所使用的功能为对象的情况(步骤S810-4为“否”的情况)下,结束处理流程。
此外,在步骤S812-4中向用户提供了选项时,用户选择应进行升级的选项的情况,与步骤S810-4为“是”的情况相对应,用户选择不应进行升级的选项的情况,与步骤S810-4为“否”的情况相对应。
通过上述处理流程,用户能够针对控制器操作系统的升级处理流程实施更好的控制,能够实现如下控制:在即使会受到升级的影响但用户不使用某个功能或程序组的情况下,不对控制器实施升级。
下面,参照图9,对编程工具的内部构造更详细地进行说明。编程工具1包含:控制器类型判定单元901,其读取控制器的控制器类型及控制器的操作系统的版本信息;升级信息判定单元902,其读取与控制器类型及版本信息相对应的升级信息;升级区域判定单元903,其基于升级信息判定操作系统中应进行升级的部分;以及升级单元904,其对操作系统中的所判定出的部分进行升级。
升级信息包含用于确定操作系统中应进行升级的部分的信息。如前所述,升级信息包含对升级功能一览进行确定的信息。升级功能一览包含与操作系统中所包含的应进行升级的功能相关的信息。升级区域判定单元903通过读取操作系统执行参数,从而能够判定操作系统中所包含的功能是否被控制器的用户使用。升级单元904能够仅对操 作系统的功能中用户所使用的功能实施升级。
并且,编程工具能够向用户提供用于选择是否对升级功能一览中的一个功能进行升级的选项。升级单元904使用这些选项,仅对用户选择的功能进行升级。
升级区域判定单元903还能够对用户应用程序是否使用了在升级信息53中确定出的多个命令中的一个命令进行判定,升级单元904能够在判定为用户应用程序使用了多个命令中的至少一个命令的情况下,对该用户应用程序进行升级。
可理解为流程图或框图的各个框及流程图或框图内的框组的组合,能够通过计算机程序命令组来实施。这些计算机程序命令能够被供给至通用计算机、专用计算机或其他可编程数据处理装置等的处理器,并通过经由计算机或其他可编程数据处理装置的处理器执行的命令组,生成执行由流程图或框图的框或多个框确定的功能/动作的单元。并且,图9中的框组各自能够通过FPGA、ASIC等处理器实现。
这些计算机程序命令组存储在能够指引计算机、或其他可编程数据处理装置、或其他设备组以使它们按特定的方法起作用的计算机可读取介质中,或更具体地说,存储在计算机可读取的存储介质中,由此,通过存储在计算机可读取的介质中的命令组,能够制造下述产品,即,该产品包含用于实施由流程图或框图的框或框组确定的功能/动作的命令组。
上述的多个实施方式仅为例示,不应解释为对本发明进行限制。本公开内容能够容易地应用于其他类别的装置。同样地,本发明的实施方式的说明并不是对权利要求书进行限定,而是旨在作为例示,能够进行多种替代、变更及变形,这一点对于本领域技术人员来说是显而易见的。
标号的说明
1 编程工具
2 定序器
3 服务器
4 互联网
52 升级软件
53 升级信息
Claims (8)
1.一种对可编程逻辑控制器的执行环境进行升级的方法,该方法的特征在于,具有下述步骤:
读取所述控制器的控制器类型及所述控制器的操作系统的版本信息的步骤;
读取与所述控制器类型及所述版本信息相对应的升级信息的步骤;
基于所述升级信息判定所述执行环境中应进行升级的部分的步骤;以及
对所述执行环境中的所述判定出的部分进行升级的步骤,
所述升级信息包含:
关于是否变更硬件的信息;
关于有无应修正的问题的信息;
升级功能一览;以及
升级命令一览,
所述方法还具有下述步骤,即,在基于所述升级信息判断为需要变更硬件的情况下,通知用户需要更换所述控制器的步骤,
所述判定的步骤包含下述步骤:
在基于所述升级信息判断为存在应修正的问题的情况下,判断为具有升级的1级必要性的步骤;
在基于所述升级信息判断为在升级功能一览和用户使用的功能之间存在重复的情况下,判断为具有升级的2级必要性的步骤;
在基于所述升级信息判断为在升级命令一览和用户使用的命令之间存在重复的情况下,判断为具有升级的3级必要性的步骤;以及
将具有所述1级必要性和所述2级必要性或具有所述1级必要性和所述3级必要性的部分,判定为应进行所述升级的部分的步骤。
2.根据权利要求1所述的方法,其特征在于,还具有下述步骤:
通过读取所述控制器的操作系统的执行参数,而对所述控制器的用户是否使用所述执行环境所包含的所述功能进行判定的步骤;以及
仅对所述执行环境中,所述用户所使用的执行环境的功能实施升级的步骤。
3.根据权利要求1所述的方法,其特征在于,还具有以下步骤:
向所述用户提供用于选择是否对所述升级功能一览中的功能进行升级的选项的步骤;以及
仅对使用所述选项由所述用户选择的功能进行升级的步骤。
4.根据权利要求1所述的方法,其特征在于,还具有以下步骤:
对用户应用程序是否使用了所述多个命令中的一个命令进行判定的步骤;以及
在判定为所述用户应用程序使用了所述多个命令中的至少1个命令的情况下,对所述用户应用程序进行升级的步骤。
5.一种执行可编程逻辑控制器的软件维护的系统,该系统的特征在于,具有:
编程工具;以及
控制器,
所述编程工具能够进行操作,以对所述控制器的执行环境进行升级,
所述编程工具具有:
控制器类型判定单元,其读取所述控制器的控制器类型及所述控制器的操作系统的版本信息;
升级信息判定单元,其读取与所述控制器类型及所述版本信息相对应的升级信息;
升级区域判定单元,其基于所述升级信息判定所述执行环境中应进行升级的部分;以及
升级单元,其对所述执行环境中的所述判定出的部分进行升级,
所述升级信息包含:
关于是否变更硬件的信息;
关于有无应修正的问题的信息;
升级功能一览;以及
升级命令一览,
所述系统还包含下述单元,即,在基于所述升级信息判断为需要变更硬件的情况下,通知用户需要更换所述控制器的单元,
所述升级区域判定单元包含下述单元:
在基于所述升级信息判断为存在应修正的问题的情况下,判断为具有升级的1级必要性的单元;
在基于所述升级信息判断为在升级功能一览和用户使用的功能之间存在重复的情况下,判断为具有升级的2级必要性的单元;
在基于所述升级信息判断为在升级命令一览和用户使用的命令之间存在重复的情况下,判断为具有升级的3级必要性的单元;以及
将具有所述1级必要性和所述2级必要性或具有所述1级必要性和所述3级必要性的部分,判定为应进行所述升级的部分的单元。
6.根据权利要求5所述的系统,其特征在于,
所述升级区域判定单元通过读取所述控制器的操作系统的执行参数,判定所述控制器的用户是否使用了所述执行环境所包含的所述功能,
所述升级单元仅对所述执行环境中,所述用户使用的执行环境的功能实施升级。
7.根据权利要求5所述的系统,其特征在于,
在所述系统中,向所述用户提供用于选择是否对所述升级功能一览中的功能进行升级的选项,
所述升级单元仅对由所述用户选择的功能进行升级。
8.根据权利要求5所述的系统,其特征在于,
所述升级区域判定单元对用户应用程序是否使用了所述多个命令中的一个命令进行判定;以及
所述升级单元在判定为所述用户应用程序使用了所述多个命令中的至少1个命令的情况下,对所述用户应用程序进行升级。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/893,914 | 2010-09-29 | ||
US12/893,914 US8806470B2 (en) | 2010-09-29 | 2010-09-29 | System, method, and apparatus for software maintenance of sensor and control systems |
PCT/JP2011/065522 WO2012043008A1 (ja) | 2010-09-29 | 2011-07-06 | プログラマブル・ロジック・コントローラの実行環境をバージョンアップする方法、システム、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103124938A CN103124938A (zh) | 2013-05-29 |
CN103124938B true CN103124938B (zh) | 2015-05-13 |
Family
ID=45872020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180046999.8A Active CN103124938B (zh) | 2010-09-29 | 2011-07-06 | 对可编程逻辑控制器的执行环境进行升级的方法及系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8806470B2 (zh) |
JP (1) | JP4987169B2 (zh) |
KR (1) | KR101493628B1 (zh) |
CN (1) | CN103124938B (zh) |
DE (1) | DE112011103308B4 (zh) |
WO (1) | WO2012043008A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9229771B2 (en) * | 2012-03-08 | 2016-01-05 | Microsoft Technology Licensing, Llc | Cloud bursting and management of cloud-bursted applications |
EP2711797A1 (en) * | 2012-09-21 | 2014-03-26 | ABB Research Ltd. | Operating a programmable logic controller |
US9444896B2 (en) | 2012-12-05 | 2016-09-13 | Microsoft Technology Licensing, Llc | Application migration between clouds |
CN104216725B (zh) * | 2013-06-04 | 2019-04-19 | Sap欧洲公司 | 用于软件解决方案托管的存储库层策略调整 |
KR101707266B1 (ko) * | 2013-08-29 | 2017-02-15 | 엘에스산전 주식회사 | Plc에서의 os의 업데이트 장치 및 방법 |
JP5937637B2 (ja) * | 2014-04-30 | 2016-06-22 | ファナック株式会社 | シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置 |
CN104035799A (zh) * | 2014-06-19 | 2014-09-10 | 浪潮电子信息产业股份有限公司 | 一种软件可定制升级的方法 |
JP2016218932A (ja) * | 2015-05-26 | 2016-12-22 | 京セラ株式会社 | ソフトウェア更新装置およびソフトウェア更新システム |
CN106293851A (zh) * | 2016-08-19 | 2017-01-04 | 联想(北京)有限公司 | 一种固件升级方法及设备 |
JP6696383B2 (ja) * | 2016-09-27 | 2020-05-20 | ブラザー工業株式会社 | 数値制御装置 |
CN111133412A (zh) | 2017-07-25 | 2020-05-08 | 奥罗拉实验室有限公司 | 基于工具链构建车辆ecu软件的软件增量更新和异常检测 |
EP3462262A1 (de) * | 2017-09-29 | 2019-04-03 | Siemens Aktiengesellschaft | Automatisiertes zuordnen von messdaten zur cloudbasierten überwachung mechanischer assets |
EP3742240A1 (de) * | 2019-05-22 | 2020-11-25 | Siemens Aktiengesellschaft | Verfahren und engineering-system zur änderung eines programms einer industriellen automatisierungskomponente |
CN115421820B (zh) * | 2022-11-03 | 2023-02-21 | 深圳市江元智造科技有限公司 | 一种基于安卓应用的自动清理方法、系统和可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002222005A (ja) * | 2001-01-24 | 2002-08-09 | Yaskawa Electric Corp | 数値制御装置システム |
JP2002297388A (ja) * | 2001-03-29 | 2002-10-11 | Yaskawa Electric Corp | システムパートプログラムのダウンロード方法、それに用いるシステムメモリおよびシステムパートプログラム |
JP2003015879A (ja) * | 2001-06-29 | 2003-01-17 | Sharp Corp | ファーム格納方法 |
JP2003022233A (ja) * | 2001-07-06 | 2003-01-24 | Toshiba Corp | 入出力モジュール装置、制御装置及びプログラミング装置 |
JP2003216430A (ja) * | 2002-01-18 | 2003-07-31 | Nec Corp | ソフトウェア自動更新システムおよび端末 |
JP2006227871A (ja) * | 2005-02-17 | 2006-08-31 | Fujitsu Ten Ltd | アップデートシステム、情報処理装置、情報配信装置、及びアップデート方法 |
JP4305740B2 (ja) * | 2003-07-16 | 2009-07-29 | オムロン株式会社 | プログラマブルコントローラシステムおよび接続保証方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805898A (en) * | 1995-02-24 | 1998-09-08 | International Business Machines Corporation | Method and apparatus for estimating installation time in a data processing system |
JP3444737B2 (ja) | 1996-12-26 | 2003-09-08 | 東京瓦斯株式会社 | 燃焼機器修理支援装置 |
JP3635903B2 (ja) | 1997-12-15 | 2005-04-06 | 三菱電機株式会社 | プログラマブルコントローラ |
US6360363B1 (en) * | 1997-12-31 | 2002-03-19 | Eternal Systems, Inc. | Live upgrade process for object-oriented programs |
US7080371B1 (en) * | 1998-03-03 | 2006-07-18 | Siebel Systems, Inc. | Method, system, apparatus and program product for distribution and instantiation of software upgrades |
US6711738B1 (en) * | 2000-11-27 | 2004-03-23 | Siemens Aktiengesellschaft | Method for replacing technologically aging sub-systems in a system |
US6763517B2 (en) * | 2001-02-12 | 2004-07-13 | Sun Microsystems, Inc. | Automated analysis of kernel and user core files including searching, ranking, and recommending patch files |
US7093244B2 (en) * | 2001-04-18 | 2006-08-15 | Domosys Corporation | Method of remotely upgrading firmware in field-deployed devices |
US7051327B1 (en) * | 2001-05-08 | 2006-05-23 | Gateway Inc. | System for providing data backup and restore with updated version by creating data package based upon configuration data application data and user response to suggestion |
DE10161321A1 (de) * | 2001-12-13 | 2003-06-26 | Siemens Ag | Verfahren zur Aktualisierung von elektronisch modifizierbaren Komponenten eines Automatisierungsgerätes |
US20040031029A1 (en) * | 2002-08-06 | 2004-02-12 | Kyu-Woong Lee | Methods and systems for automatically updating software components in a network |
JP4085930B2 (ja) * | 2002-11-08 | 2008-05-14 | コニカミノルタホールディングス株式会社 | 画像処理装置 |
US7454745B2 (en) * | 2003-07-31 | 2008-11-18 | International Business Machines Corporation | Automated semantic-based updates to modified code base |
US20060080656A1 (en) * | 2004-10-12 | 2006-04-13 | Microsoft Corporation | Methods and instructions for patch management |
US20060106920A1 (en) * | 2004-11-15 | 2006-05-18 | Microsoft Corporation | Method and apparatus for dynamically activating/deactivating an operating system |
US20070016432A1 (en) * | 2005-07-15 | 2007-01-18 | Piggott Bryan N | Performance and cost analysis system and method |
US8392602B2 (en) | 2005-09-30 | 2013-03-05 | Rockwell Automation Technologies, Inc. | Embedding controllers and devices with data to facilitate up-to-date control and configuration information |
JP5025562B2 (ja) | 2008-05-26 | 2012-09-12 | 三菱電機株式会社 | プログラマブルコントローラシステム |
-
2010
- 2010-09-29 US US12/893,914 patent/US8806470B2/en active Active
-
2011
- 2011-07-06 CN CN201180046999.8A patent/CN103124938B/zh active Active
- 2011-07-06 DE DE112011103308.7T patent/DE112011103308B4/de active Active
- 2011-07-06 JP JP2011542619A patent/JP4987169B2/ja active Active
- 2011-07-06 KR KR1020137010198A patent/KR101493628B1/ko active IP Right Grant
- 2011-07-06 WO PCT/JP2011/065522 patent/WO2012043008A1/ja active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002222005A (ja) * | 2001-01-24 | 2002-08-09 | Yaskawa Electric Corp | 数値制御装置システム |
JP2002297388A (ja) * | 2001-03-29 | 2002-10-11 | Yaskawa Electric Corp | システムパートプログラムのダウンロード方法、それに用いるシステムメモリおよびシステムパートプログラム |
JP2003015879A (ja) * | 2001-06-29 | 2003-01-17 | Sharp Corp | ファーム格納方法 |
JP2003022233A (ja) * | 2001-07-06 | 2003-01-24 | Toshiba Corp | 入出力モジュール装置、制御装置及びプログラミング装置 |
JP2003216430A (ja) * | 2002-01-18 | 2003-07-31 | Nec Corp | ソフトウェア自動更新システムおよび端末 |
JP4305740B2 (ja) * | 2003-07-16 | 2009-07-29 | オムロン株式会社 | プログラマブルコントローラシステムおよび接続保証方法 |
JP2006227871A (ja) * | 2005-02-17 | 2006-08-31 | Fujitsu Ten Ltd | アップデートシステム、情報処理装置、情報配信装置、及びアップデート方法 |
Also Published As
Publication number | Publication date |
---|---|
DE112011103308T5 (de) | 2013-08-29 |
US20120079470A1 (en) | 2012-03-29 |
JP4987169B2 (ja) | 2012-07-25 |
DE112011103308B4 (de) | 2018-02-01 |
WO2012043008A1 (ja) | 2012-04-05 |
US8806470B2 (en) | 2014-08-12 |
JPWO2012043008A1 (ja) | 2014-02-06 |
KR101493628B1 (ko) | 2015-02-23 |
KR20130095763A (ko) | 2013-08-28 |
CN103124938A (zh) | 2013-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103124938B (zh) | 对可编程逻辑控制器的执行环境进行升级的方法及系统 | |
EP3285127B1 (en) | Remote industrial automation site operation in a cloud platform | |
US9218233B2 (en) | Systems and methods for control reliability operations | |
US20140032169A1 (en) | Systems and methods for improving control system reliability | |
US9043263B2 (en) | Systems and methods for control reliability operations using TMR | |
CN104049579A (zh) | 从现场仪表设备后台收集诊断数据 | |
CN105359110A (zh) | 故障监测方法、控制和数据传输设备以及控制装置 | |
US20140032172A1 (en) | Systems and methods for health assessment of a human-machine interface (hmi) device | |
JP6649764B2 (ja) | 生産システムのための制御装置のコンフィグレーション方法、及び、生産システム | |
JP2012510194A (ja) | 安全ステップの判定方法および安全マネージャ | |
CN106464575A (zh) | 提供映射到独立底层网络的逻辑模型的网关 | |
US11619923B2 (en) | Digital twin management system and method | |
JP7491746B2 (ja) | 分散システム | |
CN116095101A (zh) | 基于内部部署网关设备的工业设备系统的符号访问和方法 | |
CN115292078A (zh) | 一种基于vue架构的飞行模拟机诊断系统 | |
CN111597676B (zh) | 用于检查信息物理系统的系统要求的系统和方法 | |
CN115220710A (zh) | 用于为工业域生成工程程序的方法和系统 | |
US20220366735A1 (en) | Distributed system and data processing method | |
US20220171692A1 (en) | Digital mirroring method, server, and storage medium | |
US20220350311A1 (en) | Multi-cloud industrial controller | |
US20230091963A1 (en) | Industrial automation project design telemetry |
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 |