CN110442074B - 可编程逻辑控制器程序的处理装置 - Google Patents
可编程逻辑控制器程序的处理装置 Download PDFInfo
- Publication number
- CN110442074B CN110442074B CN201910063050.7A CN201910063050A CN110442074B CN 110442074 B CN110442074 B CN 110442074B CN 201910063050 A CN201910063050 A CN 201910063050A CN 110442074 B CN110442074 B CN 110442074B
- Authority
- CN
- China
- Prior art keywords
- program
- programmable logic
- modified
- logic controller
- block
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 14
- 230000008901 benefit Effects 0.000 abstract description 7
- 230000004048 modification Effects 0.000 description 20
- 238000012986 modification Methods 0.000 description 19
- 238000000034 method Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- 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
-
- 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
- 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/054—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- 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
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- 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
- G06F8/656—Updates while running
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/11—Plc I-O input output
- G05B2219/1103—Special, intelligent I-O processor, also plc can only access via processor
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13114—Use of relative addresses for program
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13152—Modification of program
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)
- Computer Security & Cryptography (AREA)
- Programmable Controllers (AREA)
Abstract
本发明涉及可编程逻辑控制器程序的处理装置。本发明一实施例的可编程逻辑控制器(PLC)程序的处理装置包括:存储部,其用于存储以块单位进行存储的可编程逻辑控制器程序、和用于对可编程逻辑控制器程序的存储位置进行定义的程序块表;以及控制部,参照已修改的可编程逻辑控制器程序的块编号、已修改的可编程逻辑控制器程序的大小信息和程序块表,来确定已修改的可编程逻辑控制器程序所要存储的存储位置的起始地址,并且参照起始地址将已修改的可编程逻辑控制器程序存储于存储部。根据本发明,具有在可编程逻辑控制器运行期间多个用户连接到可编程逻辑控制器并能同时可编程逻辑控制器程序进行修改的优点。
Description
技术领域
本发明涉及一种可编程逻辑控制器程序的处理装置。
背景技术
在产业现场的工厂自动化系统等中,使用如可编程逻辑控制器(PLC:Programmable Logic Controller)的集成控制装置。
在可编程逻辑控制器中,存储有用于控制各种装置的诸如初始化程序、扫描程序、中断程序等的可编程逻辑控制器程序。这样的多个可编程逻辑控制器程序由诸如安装于PC(PersonalComputer:个人计算机)等客户端装置的编程和调试工具(PADT:ProgrammingAnd Debugging Tool)的专用应用程序而创建或修改。
图1是示出普通PLC程序的处理过程的流程图。
当开始运行PLC时,首先在PLC内部执行初始化(102)。初始化包括:内置于PLC的主处理单元(MPU:Main Processing Unit)或其他模块的硬件初始化;以及用于执行PLC程序的变量等的软件初始化。
其次,对输入图像区域执行刷新(104)。若开始运行PLC,则由输入模块所输入的多个数据输入到诸如存储器等的存储部的输入区域,这些数据再次复制到输入图像区域,并用作执行运算期间的输入数据。如此地,输入区域中的数据复制到输入图像区域的操作被称为输入刷新(Input Refresh)。
接着,PLC对先前执行的初始化是否结束进行确认(106)。若确认结果为初始化未结束,则PLC执行预先存储的初始化程序而执行初始化(108)。若确认结果为初始化已结束,则PLC执行预先存储的扫描程序(110)。若在执行扫描程序的期间发生中断信号,则PLC停止执行扫描程序并执行预先存储的中断程序(112),然后重新执行扫描程序110。
若结束初始化程序或扫描程序的执行,则执行针对输出图像区域的刷新(114)。输出刷新(Output Refresh)是指,通过初始化程序或扫描程序来取回的多个数据复制到输出图像区域的操作。若针对输出图像区域的刷新已结束,则PLC返回到针对输入图像区域的刷新操作104,并且重复执行前述的过程。
另一方面,根据现有技术,在PLC处于运行状态时,用户通过诸如PC等的客户端装置来连接到PLC,由此能够对存储于PLC内部的PLC程序(初始化程序、扫描程序、中断程序等)进行修改。如此地,在PLC处于运行状态时对PLC程序进行修改的功能被称为“运行(Run)期间修改”。
图2是示出在PLC的运行期间所执行的运行期间修改过程的流程图。
当PLC处于运行状态时,用户通过执行诸如安装于客户端装置的PADT等的用于修改PLC程序的应用程序,来打开用于修改PLC程序的新项目文件(202)。用户通过客户端装置和PLC之间的通信功能来连接于PLC(204)。通过这样的连接,开启基于用于修改PLC程序的应用程序的运行期间修改功能(206),并且在PLC中执行用于确认是否修改程序的监控功能(208)。
用户利用用于修改PLC程序的应用程序来对期望的PLC程序进行修改(210)。若修改结束,则已修改的PLC程序传输到PLC,PLC将已修改的PLC程序存储于存储部并对现有的PLC程序进行更新(212)。据此,运行期间修改功能将会结束。
图3示出现有技术中的程序块表。另外,图4示出PLC程序的运行期间修改的程序块表的更新结果。
为了执行如上所述的运行期间修改功能,用于修改PLC程序的应用程序将会参照图3所示的程序块表(program block table)。根据现有技术,程序块表作为对存储于PLC的存储部中的每个程序的存储位置进行定义的数据,其由PLC程序的类型(例如,初始化/扫描/中断)、每个PLC程序的块编号(block number)(例如,1,2,...,14)、每个PLC程序所存储的位置的起始地址和结束地址(例如,0x0000,0x00FF)构成。
根据现有技术,用于修改PLC程序的应用程序,通过如图3所示的程序块表来确认与用户期望要修改的PLC程序的块编号(例如,6号)相对应的起始地址(0x1000)和结束地址(0x10FF),从而将相对应的PLC程序下载到客户端装置。这里,起始地址和结束地址是,表示6号块(block)的程序存储于存储部中的物理位置的地址。
若PLC程序的修改结束,则用于修改PLC程序的应用程序将用户通过运行期间修改来结束修改的PLC程序传输到PLC,同时更新程序块表以与已修改的PLC程序相对应。
例如,在PLC的运行期间,用户修改了在PLC的存储部的6号块所存储的扫描程序,其结果,在该扫描程序的大小增加了0x200字节的情况下,如图4所示,用于修改PLC程序的应用程序使6号块的结束地址增加0x200,从而更新为0x12FF。如此地,随着6号块的结束地址相加0x200,具有大于6号块的块编号的多个块、即7号至14号块的起始地址和结束地址分别会增加0x200。随着运行期间修改结束,如图4所示,PLC将预先备份的7号至14号块的程序重新存储到与新变更的起始地址和结束地址相对应的存储位置。
然而,根据现有技术,会发生多名用户同时连接到一个PLC并各自修改PLC程序的情况。例如,当第一用户和第二用户同时连接到一个PLC,并且参照如图3所示的程序块表并修改彼此不同的块的PLC程序时,如图4所示,若第一用户的PLC程序的修改先结束并实现程序块表的更新,则被第二用户修改了的PLC程序因参照如图3所示的现有的程序块表,由此可能会存储于错误的位置。
为了防止这种情况,现有技术中,在多个用户请求修改PLC程序的情况下,直到一个用户的PLC程序的修改以及与其相应的程序块表的更新结束,其他用户无法修改PLC程序。
其结果,根据现有技术,在PLC的运行期间多个用户连接到PLC并同时修改PLC程序是不可能的。
发明内容
本发明的目的在于,提供一种在可编程逻辑控制器的运行期间多个用户同时连接到PLC并能够对可编程逻辑控制器程序进行修改的可编程逻辑控制器程序的处理装置
本发明的目的并不限于如上所述的目的,通过以下说明能够理解本发明的未提及到的其他目的以及优点,并且根据本发明的实施例更能清楚地理解本发明。另外,显而易见的是,本发明的目的以及优点可以通过权利要求中阐述的手段及其组合来实现。
本发明一实施例的可编程逻辑控制器(PLC)程序的处理装置,包括:存储部,其用于存储:以块单位进行存储的PLC程序;和对所述PLC程序的存储位置进行定义的程序块表;以及控制部,其参照已修改的PLC程序的块编号、所述已修改的PLC程序的大小信息以及所述程序块表,确定所述已修改的PLC程序所要存储的存储位置的起始地址,并且,参照所述起始地址而将所述已修改的PLC程序存储于所述存储部。
在本发明一实施例中,所述程序块表包括:与每个PLC程序相对应的块编号;和每个PLC程序的大小信息。
另外,在本发明一实施例中,通过相加存储于所述已修改的PLC程序的之前块中的所有程序的大小,来确定所述已修改的PLC程序所要存储的存储位置的起始地址。
另外,在本发明一实施例中,若所述控制部接收到所述已修改的PLC程序时,则对块编号大于所述已修改的PLC程序的PLC程序进行备份,而在结束针对所述已修改的PLC程序的存储之后,所述控制部参照所述已修改的PLC程序的下一个块的起始地址,将已备份的PLC程序存储于所述存储部。
另外,在本发明一实施例中,通过使所述已修改的PLC程序所要存储的存储位置的起始地址相加所述已修改的PLC程序的大小,来确定所述已修改的PLC程序的下一个块的起始地址。
另外,在本发明一实施例中,通过使块编号小于所述已修改的PLC程序的已修改的其他PLC程序的下一个块的起始地址增加存储在块编号小于所述已修改的PLC程序的所述已修改的其他PLC程序和所述已修改的PLC程序之间的块中的程序的大小,来确定所述已修改的PLC程序所要存储的存储位置的起始地址。
根据本发明具有如下优先:在可编程逻辑控制器的运行期间,多个用户连接到可编程逻辑控制器并能同时对可编程逻辑控制器程序进行修改的优点。
附图说明
图1是示出普通PLC程序的处理过程的流程图。
图2是示出在PLC的运行期间所执行的运行期间修改过程的流程图。
图3示出现有技术中的程序块表。
图4示出PLC程序的运行期间修改的程序块表的更新结果。
图5示出本发明一实施例的PLC程序的处理装置的构成。
图6示出在本发明一实施例的PLC程序的处理过程中参照的新程序块表的构成。
图7示出本发明的PLC程序的运行期间修改的程序块表的更新结果。
具体实施方式
参照附图,详细说明前述的目的、特征以及优点,由此,本领域技术人员能够容易实施本发明的技术思想。在对本发明进行说明的过程中,当判断针对与本发明相关的公知技术的具体说明模糊本发明的主旨时,省略其详细说明。下面,将参照附图详细说明本发明的优选实施例。在附图中,相同的附图标记表示相同或类似的结构要素。
图5示出本发明一实施例的PLC程序处理装置的构成。
参照图5,本发明一实施例的PLC程序的处理装置包括控制部30和存储部32。
控制部30执行存储于存储部32中的用于运行PLC的PLC程序321。根据实施例,控制部30可以包括编译器(compiler),所述编译器用于将存储于存储部32的PLC程序321翻译为机器语言或中间语言。
控制部30可以参照存储于存储部32的程序块表322,以取回(retrieve)存储于存储部32的每个PLC程序321。程序块表322是,用于定义存储于存储部32的每个PLC程序321的存储位置的表。本发明的程序块表322具有与如上所述的现有技术中的程序块表不同的新结构,对此将进行后述。
另外,控制部30可以通过与客户端装置34_1、34_2、...、34_n之间的通信,来将用户欲修改的PLC程序321传输到客户端装置34_1、34_2、...、34_n。根据实施例,根据用户的PLC程序修改请求,客户端装置34_1、34_2、...、34_n也可以直接参照存储于存储部32的程序块表322而下载用户请求修改的PLC程序。
另外,若用户结束针对PLC程序的修改,则控制部30从客户端装置34_1、34_2、...、34_n接收已修改的PLC程序、已修改的PLC程序的块编号、已修改的PLC程序的大小信息。控制部30基于已修改的PLC程序的块编号、已修改的PLC程序的大小信息而对程序块表322进行更新。
另外,控制部30通过参照已修改的PLC程序的块编号、已修改的PLC程序的大小信息以及已更新的程序块表322,来确定被用户修改了的PLC程序所要存储的存储位置的起始地址。
此处,通过增加在已修改的PLC程序块的之前块所存储的所有程序的大小,来确定已修改的PLC程序所要存储的存储位置的起始地址。控制部30参照已确定的起始地址并将已修改的PLC程序存储于存储部32。
尤其,在同时对多个PLC程序进行修改的情况下,通过使块编号小于已修改的PLC程序的已修改的其他PLC程序的下一个块的起始地址增加存储在块编号小于已修改的PLC程序的所述已修改的其他PLC程序和所述已修改的PLC程序之间的块中所存储的程序的大小程序的大小,来确定已修改的PLC程序所要存储的存储位置的起始地址。
此外,若控制部30从客户端装置34_1、34_2、...、34_n接收已修改的PLC程序,则对块编号大于已修改的PLC程序的PLC程序进行备份,在针对已修改的PLC程序的存储结束之后,参照已修改的PLC程序块的下一个块的起始地址并将已备份的PLC程序存储于存储部32。
此处,通过使已修改的PLC程序所要存储的存储位置的起始地址增加PLC程序的大小,来确定已修改的PLC程序的下一个块的起始地址。
下面,参照图5至图7,对本发明一实施例的PLC程序的处理装置的运行期间修改功能进行说明。
图6示出在本发明一实施例的PLC程序处理过程中参照的新的程序块表的构成。另外,图7示出本发明的PLC程序的运行期间修改的程序块表的更新结果。
如图6所示,存储于本发明的PLC程序的处理装置的程序块表包括:存储于存储部32的PLC程序的类型(例如,初始化/扫描/中断);存储有每个PLC程序的块的块编号(例如,1至14);以及存储于每个块的PLC程序的大小(例如,0x0100)。即,与现有技术不同,本发明的程序块表不包括存储有每个PLC程序的位置的起始地址和结束地址,不过,仅包括每个PLC程序所占据的空间的大小。
首先,在第一实施例中,关于在PLC的运行期间一个用户对存储于6号块的扫描程序进行修改的过程,说明如下。
当用户请求对与存储于存储部32的6号块相对应的位置的扫描程序进行修改时,客户端装置34_1通过控制部30下载存储于存储部32的6号块的扫描程序。
此时,控制部30参照与在如图6所示的程序块表中所记录的6号块相对应的程序的大小(0x0100),来确定6号块的起始地址和结束地址,并且,参照已确定的起始地址和结束地址而取回与6号块相对应的扫描程序。
控制部30通过相加在用户请求修改的PLC程序块的之前块所存储的所有程序的大小,来确定6号块的起始地址。例如,控制部30通过将存储于6号块(其作为用户请求修改的扫描程序块)的多个之前块、即1号至5号块的PLC程序的大小(0x0000,0x0100,0x0E00)全部相加,来能够确定6号块的起始地址。
控制部30参照如上所述那样确定了的6号块的起始地址而从存储部32的6号块取回扫描程序,并且将取回的扫描程序传输到客户端装置34_1。
若用户通过客户端装置34_1结束针对与存储于存储部32的6号块相对应的位置的扫描程序的修改,则客户端装置34_1将已修改的扫描程序与已修改的扫描程序的块编号(6号)和已修改的扫描程序的大小(0x0200)一起传输到控制部30。
如图7所示,接收到已修改的扫描程序的控制部30,将程序块表中的6号块的程序大小更新为作为已修改的扫描程序的大小的0x0200。然后,为了将已修改的扫描程序存储于存储部32,控制部30确定“已修改的扫描程序所要存储的存储位置的起始地址”。
更具体地,控制部30通过将在已修改的PLC程序块的之前块中所存储的所有程序的大小相加,来确定“已修改的扫描程序所要存储的存储位置的起始地址”。例如,控制部30通过将存储于6号块(其为已修改的扫描程序块)的多个之前块、即1号至5号块的PLC程序的大小(0x0000,0x0100,0x0E00)全部相加,来能够确定已修改的扫描程序所要存储的6号块的起始地址。
控制部30参照如上所述那样确定的起始地址而将已修改的扫描程序存储于存储部32。
另一方面,若控制部30从客户端装置34_1接收已修改的PLC程序,则对块编号大于已修改的PLC程序的PLC程序进行备份。例如,控制部30将在块编号大于6号块(其作为已修改的扫描程序块)的7号至14号块所存储的每个PLC程序,备份到存储部32或者非存储部32的额外的存储空间。
如此地,在对存储于7号至14号块中的每个PLC程序进行备份之后,如上所述,若结束针对已修改的扫描程序的存储,则控制部30参照作为已修改的扫描程序块(6号块)的下一个块的7号块的起始地址,并将已备份的7号至14号块的PLC程序依次存储于存储部32。
这里,控制部30通过将已修改的扫描程序的大小(0x0200)增加到此前已确定的“已修改的扫描程序所要存储的存储位置的起始地址”、即6号块的起始地址,来能够确定“已修改的PLC程序块的下一个块的起始地址”、即7号块的起始地址。
通过如上所述的过程,在PLC的运行期间结束针对存储于6号块的扫描程序的运行期间修改。
接下来,关于在PLC的运行期间两个用户同时对存储于6号块的扫描程序和存储于10号块的中断程序进行修改的过程,说明如下。
首先,控制部30从客户端装置34_1接收针对存储于6号块的扫描程序的修改请求,同时从客户端装置34_2接收针对存储于10号块的中断程序的修改请求。
控制部30根据这样的修改请求而参照图6所示的程序块表,并且分别确定6号块的起始地址和10号地址的起始地址。如上所述,控制部30通过将1号至5号块的程序大小全部相加来确定6号块的起始地址,并且,通过将1号至9号块的程序大小全部相加来确定10号块的起始地址。
控制部30分别参照6号块的起始地址和10号地址的起始地址,分别取回存储于6号块的扫描程序和存储于10号块的中断程序。控制部30将取回的每个PLC程序分别传输到客户端装置34_1和客户端装置34_2。
之后,控制部30从客户端装置34_1接收已修改的扫描程序、已修改的扫描程序的块编号和大小,同时从客户端装置34_2接收已修改的中断程序、已修改的中断程序的块编号和大小。作为参考,在控制部30从客户端装置34_1和客户端装置34_2以规定的时间差分别接收已修改的PLC程序的情况下,如上所述的一个已修改的程序的存储过程依次执行。
接下来,如图7所示,控制部30对6号块中的已修改的扫描程序的大小和10号块中的已修改的中断程序的大小进行更新。
接下来,控制部30参照图7所示的程序块表,分别确定已修改的PLC程序所要存储的6号块和10号块的起始地址。
更具体地,控制部30通过将在已修改的PLC程序块的之前块中所存储的所有程序的大小相加,来确定“已修改的扫描程序所要存储的存储位置的起始地址”。例如,控制部30可以通过将存储于6号块(其为已修改的扫描程序块)的多个之前块、即1号至5号块的PLC程序的大小(0x0000,0x0100,0x0E00)全部相加,来确定已修改的扫描程序所要存储的6号块的起始地址。
此外,控制部30通过将存储在块编号小于已修改的PLC程序(10号)的已修改的其他PLC程序(6号)和已修改的PLC程序(10号)之间的块(7-9号块)的程序的大小,增加到已修改的其他PLC程序(6号)的下一个块(其具有小于已修改的其他PLC程序的块编号)的起始地址,来确定10号块的起始地址。
例如,控制部30首先确定:块编号比已修改的中断程序(10号)小的已修改的扫描程序(6号)的下一个块(7号块)的起始地址。如上所述,控制部30通过将此前已确定的“已修改的扫描程序所要存储的存储位置的起始地址”、即6号块的起始地址增加已修改的扫描程序的大小(0x0200),来能够确定“已修改的PLC程序块的下一个块的起始地址”、即7号块的起始地址。
控制部30通过将存储在块编号小于已修改的中断程序(10号)的已修改的扫描程序(6号)和已修改的中断程序(10号)之间的块、即7号至9号块的程序的大小(0x0100,0x1E10)增加到如上所述那样确定的7号块的起始地址,来确定10号块的起始地址。
并且,控制部30通过将10号块的起始地址增加已修改的中断程序的大小(0x0150),来能够确定11号块的起始地址。
控制部30通过这样的过程来参照已确定的6号块的起始地址和10号地址的起始地址,由此将已修改的扫描程序和已修改的中断程序同时存储于存储部32。
另一方面,在将已修改的扫描程序和已修改的中断程序分别存储于存储部32之前,控制部30利用如上所述的方法来可以预先对未修改的其他PLC程序、即存储于1号至5号块、7号至9号块、11号至14号块的PLC程序进行备份。
在通过控制部30将已修改的扫描程序和已修改的中断程序分别存储于存储部32之后,控制部30分别参照此前已确定的6号块的起始地址、7号块的起始地址、10号块的起始地址、11号块的起始地址,由此将此前已备份的1号至5号块、7号至9号块、11号至14号块的PLC程序重新存储于存储部32。
根据现有技术,PLC在取回存储于存储部的每个PLC程序,或者存储已修改的PLC程序时,直接从程序块表确认存储每个PLC程序的位置的起始地址。然而,根据本发明的PLC程序处理装置仅仅参照程序块表中所包括的块编号和程序大小而直接计算存储每个PLC程序的位置的起始地址。
因此,当使用本发明的PLC程序的处理装置时,具有多个用户可以同时对PLC程序进行修改的优点。
对于本领域技术人员来说,在不脱离本发明的技术思想的范围内,可以进行各种替换、变形以及变更,因此上述的本发明并不限于上述的实施例和附图。
Claims (5)
1.一种可编程逻辑控制器程序的处理装置,其特征在于,包括:
存储部,用于存储:以块单位进行存储的可编程逻辑控制器程序;和对所述可编程逻辑控制器程序的存储位置进行定义的程序块表;以及
控制部,若在可编程逻辑控制器的运行期间所述可编程逻辑控制器程序被修改,则所述控制部通过参照已修改的可编程逻辑控制器程序的块编号、所述已修改的可编程逻辑控制器程序的大小信息以及所述程序块表,来确定所述已修改的可编程逻辑控制器程序所要存储的存储位置的起始地址,并且,参照所述起始地址将所述已修改的可编程逻辑控制器程序存储于所述存储部,
通过相加存储于已修改的可编程逻辑控制器程序块之前的块中的所有程序的大小,来确定所述已修改的可编程逻辑控制器程序所要存储的存储位置的起始地址。
2.根据权利要求1所述的可编程逻辑控制器程序的处理装置,其中,
所述程序块表包括:与每个可编程逻辑控制器程序相对应的块编号;和每个可编程逻辑控制器程序的大小信息。
3.根据权利要求1所述的可编程逻辑控制器程序的处理装置,其中,
若所述控制部接收到所述已修改的可编程逻辑控制器程序,则对具有比所述已修改的可编程逻辑控制器程序的块编号大的块编号的可编程逻辑控制器程序进行备份,
在结束针对所述已修改的可编程逻辑控制器程序的存储之后,所述控制部参照所述已修改的可编程逻辑控制器程序的下一个块的起始地址,将已备份的可编程逻辑控制器程序存储于所述存储部。
4.根据权利要求3所述的可编程逻辑控制器程序的处理装置,其中,
通过将所述已修改的可编程逻辑控制器程序所要存储的存储位置的起始地址增加所述已修改的可编程逻辑控制器程序的大小,来确定所述已修改的可编程逻辑控制器程序的下一个块的起始地址。
5.根据权利要求1所述的可编程逻辑控制器程序的处理装置,其中,
通过将具有比所述已修改的可编程逻辑控制器程序的块编号小的块编号的已修改的其他可编程逻辑控制器程序的下一个块的起始地址增加存储在具有比所述已修改的可编程逻辑控制器程序的块编号小的块编号的所述已修改的其他可编程逻辑控制器程序和所述已修改的可编程逻辑控制器程序之间的块中的程序的大小,来确定所述已修改的可编程逻辑控制器程序所要存储的存储位置的起始地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0051265 | 2018-05-03 | ||
KR1020180051265A KR102434126B1 (ko) | 2018-05-03 | 2018-05-03 | Plc 프로그램 처리 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442074A CN110442074A (zh) | 2019-11-12 |
CN110442074B true CN110442074B (zh) | 2022-07-22 |
Family
ID=64746276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910063050.7A Active CN110442074B (zh) | 2018-05-03 | 2019-01-23 | 可编程逻辑控制器程序的处理装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10824128B2 (zh) |
EP (1) | EP3564764B1 (zh) |
JP (1) | JP6843823B2 (zh) |
KR (1) | KR102434126B1 (zh) |
CN (1) | CN110442074B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3882766A1 (de) * | 2020-03-20 | 2021-09-22 | Siemens Aktiengesellschaft | Verfahren und anordnung zum verwalten von automatisierungs-programmen für industrielle automatisierungsplattformen |
KR102300334B1 (ko) | 2021-05-06 | 2021-09-09 | 김정훈 | 링커 서버를 이용한 다수의 클라이언트 제어 시스템 |
CN113986321A (zh) * | 2021-11-15 | 2022-01-28 | 深圳市海浦蒙特科技有限公司 | 一种plc设备的升级方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63177205A (ja) * | 1987-01-19 | 1988-07-21 | Toshiba Corp | プログラマブルコントロ−ラのプログラミング装置 |
JP2006202233A (ja) * | 2005-01-24 | 2006-08-03 | Fuji Electric Fa Components & Systems Co Ltd | コントローラ、そのプログラム |
CN101281470A (zh) * | 2008-05-09 | 2008-10-08 | 浙江大学 | 多核体系结构下elf文件格式改造的方法 |
CN104391496A (zh) * | 2014-12-09 | 2015-03-04 | 北京四方继保自动化股份有限公司 | 一种工业控制系统数据内存的管理方法 |
CN104751050A (zh) * | 2015-04-13 | 2015-07-01 | 成都睿峰科技有限公司 | 一种客户端应用程序管理方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001142510A (ja) * | 1999-11-11 | 2001-05-25 | Omron Corp | コントローラシステム及びプログラミングツール並びにコントローラ |
US7487316B1 (en) * | 2001-09-17 | 2009-02-03 | Rockwell Automation Technologies, Inc. | Archive and restore system and methodology for on-line edits utilizing non-volatile buffering |
KR100453053B1 (ko) * | 2002-06-10 | 2004-10-15 | 삼성전자주식회사 | 플래쉬 메모리용 파일 시스템 |
JP2006190119A (ja) * | 2005-01-07 | 2006-07-20 | Hitachi Industrial Equipment Systems Co Ltd | プログラマブルコントローラ |
US20120117029A1 (en) * | 2010-11-08 | 2012-05-10 | Stephen Gold | Backup policies for using different storage tiers |
KR20130104453A (ko) | 2012-03-14 | 2013-09-25 | 엘에스산전 주식회사 | 피엘시 시스템의 cpu 모듈, 피엘시 시스템의 프로그램 업데이트 처리 방법 |
JP5683518B2 (ja) | 2012-03-27 | 2015-03-11 | 三菱電機株式会社 | ファームウェア更新装置およびその方法 |
JP6136493B2 (ja) * | 2013-04-10 | 2017-05-31 | ブラザー工業株式会社 | データ作成装置およびデータ作成プログラム |
CN103593321B (zh) | 2013-10-16 | 2016-05-04 | 北京航天自动控制研究所 | 一种支持梯形图功能块指令扩展的双核plc系统 |
KR101771289B1 (ko) * | 2014-05-19 | 2017-08-24 | 엘에스산전 주식회사 | Plc 프로그램 관리 장치 |
-
2018
- 2018-05-03 KR KR1020180051265A patent/KR102434126B1/ko active Active
- 2018-12-17 JP JP2018235819A patent/JP6843823B2/ja active Active
- 2018-12-18 US US16/223,316 patent/US10824128B2/en active Active
- 2018-12-19 EP EP18214261.2A patent/EP3564764B1/en active Active
-
2019
- 2019-01-23 CN CN201910063050.7A patent/CN110442074B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63177205A (ja) * | 1987-01-19 | 1988-07-21 | Toshiba Corp | プログラマブルコントロ−ラのプログラミング装置 |
JP2006202233A (ja) * | 2005-01-24 | 2006-08-03 | Fuji Electric Fa Components & Systems Co Ltd | コントローラ、そのプログラム |
CN101281470A (zh) * | 2008-05-09 | 2008-10-08 | 浙江大学 | 多核体系结构下elf文件格式改造的方法 |
CN104391496A (zh) * | 2014-12-09 | 2015-03-04 | 北京四方继保自动化股份有限公司 | 一种工业控制系统数据内存的管理方法 |
CN104751050A (zh) * | 2015-04-13 | 2015-07-01 | 成都睿峰科技有限公司 | 一种客户端应用程序管理方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20190127110A (ko) | 2019-11-13 |
US10824128B2 (en) | 2020-11-03 |
US20190339663A1 (en) | 2019-11-07 |
JP6843823B2 (ja) | 2021-03-17 |
KR102434126B1 (ko) | 2022-08-18 |
JP2019194837A (ja) | 2019-11-07 |
CN110442074A (zh) | 2019-11-12 |
EP3564764A1 (en) | 2019-11-06 |
EP3564764B1 (en) | 2024-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5039428B2 (ja) | プログラマブルコントローラ及びplcシステム | |
CN110442074B (zh) | 可编程逻辑控制器程序的处理装置 | |
JP5491675B2 (ja) | 情報処理装置及び情報処理装置制御方法 | |
JP2000357095A (ja) | 埋込式システムにソフトウェアをダウンロードする方法および装置 | |
CN102402442B (zh) | 信息处理装置、启动控制方法 | |
GB2466685A (en) | Fault tolerant updating of firmware | |
CN102089753B (zh) | 用于在网络上安全地更新瘦客户机操作系统的系统和方法 | |
CN112947977A (zh) | 一种软件在线升级方法及系统 | |
US7386711B1 (en) | Method and apparatus for redirecting the boot operations of one or more systems | |
CN111026417A (zh) | 一种嵌入式设备的升级方法及嵌入式设备 | |
CN100495340C (zh) | 数据控制装置和方法 | |
WO2019207729A1 (ja) | 産業用コンピュータ、産業用コンピュータシステム、オペレーティングシステム更新方法及びプログラム | |
JP2012093961A (ja) | 制御装置及び方法、並びにプログラム書込システム | |
JP5084853B2 (ja) | ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム | |
CN113515082A (zh) | 轮询通信方法以及装置 | |
CN102298531B (zh) | 在嵌入式系统中对闪存文件系统进行升级的方法 | |
CN109697077B (zh) | 硬盘固件启动方法、装置及设备 | |
EP1835398A1 (en) | Frequency converter controller, peripheral device, method and program | |
JP6455096B2 (ja) | コントロールシステム、その支援装置、プログラマブルコントロール装置 | |
JP2015005224A (ja) | プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム | |
CN109428936A (zh) | App的升级方法、装置、系统、电子设备及存储介质 | |
JP2018160208A (ja) | 車載制御装置、及び、プログラム更新ソフトウェア | |
JP2004126658A (ja) | プロセッサシステム | |
US11360462B2 (en) | Support device and support program | |
EP1302851A2 (en) | Improvements relating to reprogramming an electronic apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |