CN100346290C - 可编程控制器及系统、中央处理器和双重化运转开始方法 - Google Patents
可编程控制器及系统、中央处理器和双重化运转开始方法 Download PDFInfo
- Publication number
- CN100346290C CN100346290C CNB2004101047270A CN200410104727A CN100346290C CN 100346290 C CN100346290 C CN 100346290C CN B2004101047270 A CNB2004101047270 A CN B2004101047270A CN 200410104727 A CN200410104727 A CN 200410104727A CN 100346290 C CN100346290 C CN 100346290C
- Authority
- CN
- China
- Prior art keywords
- cpu element
- version information
- user program
- cpu
- standby system
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
-
- 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/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24187—Redundant processors run identical programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Programmable Controllers (AREA)
- Safety Devices In Control Systems (AREA)
Abstract
本发明的目的是提供一种可编程控制器,能够在可以正常双重化运转状态下,使执行系统和待机系统的CPU单元工作。可编程控制器具有执行系统的第一CPU单元(22)和待机系统的第二CPU单元(22’),两个CPU单元存储保持表示设备自身的功能性的CPU版本和表示存储的用户程序的功能性的功能版本。在开始双重化运转之前,第一CPU单元获得第二CPU单元的单元版本,与自己存储保持的功能版本进行比较,在单元版本比功能版本高的情况下,判断可以双重化运转。在判断出可以运转的情况下,第一CPU单元把自己保存的用户程序与功能版本一起复制到第二CPU单元,开始双重化运转。
Description
技术领域
本发明涉及可编程控制器和可编程控制器系统及CPU单元和双重化运转开始方法。
背景技术
作为设置在生产现场(制造现场)的工业自动(FA)控制装置使用可编程控制器(PLC)。该PLC由多个单元构成。即,适当组合如下各种单元构成:作为电源供给源的电源单元、统一控制整个PLC的CPU单元、输入安装在FA生产装置或者设备装置的适当位置的开关或者传感器的信号的输入单元、把控制输出输出到制动器等的输出单元、用于连接到通讯网络的通讯单元等。
PLC的CPU单元中的控制是把输入单元输入的信号存储在CPU单元的I/O存储器(IN更新),根据预先记录的用户程序描述语言(例如具有错误恢复功能的分布数据访问语言)组成的用户程序进行逻辑计算(执行运算),把执行运算的结果写入I/O存储器,输出到输出单元(OUT更新),然后,一边通过通信单元与通信网络上的其他PLC进行数据发送和接收,一边通过CPU单元具有的通信端口与外部设备进行数据发送和接收(外围处理),反复进行上述循环处理。而且,也存在IN更新和OUT更新一起进行(I/O更新)的情况。
但是,为了提高系统的安全性和可靠性,对构成PLC的各个单元进行双重化。例如,在以本发明,将成为对象的CPU单元进行双重化的情况下,设置两个CPU单元,同时通过CPU之间的总线连接这两个CPU单元。然后,这两个CPU单元基本上具有相同的功能,运行相同的用户程序。
然后,在两个CPU单元中,一个构成执行系统的CPU单元,实际进行循环处理,对存储器进行读和写操作,与外部I/O设备等之间进行控制数据(I/O数据)的接收和发送,控制FA网络系统。而且,另一个CPU单元构成待机系统的CPU单元,在待机过程中,运行与运行系统的用户程序相同的用户程序,但不输出运算执行结果。然后,从执行系统的CPU单元接收处理结果等,更新待机系统的CPU单元的存储器内容。这样,能够确保待机系统的CPU单元与执行系统的CPU单元的存储器内容相同。
然后,在执行系统的CPU单元发生故障的情况下,待机系统的CPU单元代替执行系统的CPU单元,进行实际控制等操作。因此,即使CPU单元发生故障,系统不会立即停止,能够连续运转,所以可靠性提高。
另一方面,CPU单元运行的用户程序通过连接到PLC的支持工具下载,存储在PLC(CPU单元)的用户存储器中。而且,在修正PLC中存储的用户程序的情况下,把支持工具连接到PLC上,加载存储在PLC中的用户程序,完成必要的修正之后,再次把修正后的新用户程序下载到PLC中。而且,支持工具通过个人计算机或者专用外围设备等实现。
而且,在双重化CPU单元的情况下,虽然对于各个CPU单元必须安装相同的用户程序,但是,例如在从支持工具向各个CPU单元下载各个用户程序时,用户必须进行两次下载处理,很复杂。因此,存在从支持工具向执行系统方的CPU下载用户程序,通过CPU单元所具有的复制功能,执行系统的CPU单元把上述下载的用户程序复制到待机系统方的CPU单元中的情况。
可是,伴随着生产方式的高度发展、多样化和技术进步,PLC开发出附加新功能的新类型设备,或者进行了改善,而且,进行搭载软件的功能强化等各种版本升级。虽然版本升级使处理速度提高,增加了新功能等,但是基本与原来的设备具有互换性,旧版本的PLC的功能被新版本的PLC继承。因此,旧版本PLC使用的用户程序也能够原样安装到新版本PLC上。
而且,在这样伴随着提高功能的版本升级的情况下,经常形式不变,只是更换版本。因此,由于存在形式相同但版本不同的CPU单元,用于双重化的实际安装的两个CPU单元的版本可能不同。
而且,支持工具是对应于各个PLC(CPU单元)的,如果PLC的版本升级了,与之配合,支持工具也要升级。即,在新版本的PLC被增加功能的情况下,旧版本的支持工具不能应对增加的功能,为了支持增加的功能,必须使用与之对应的支持工具。当然,由于支持工具也设计成继承原来的支持工具的功能,所以升级之后的支持工具连接到旧版本的PLC,可以下载做成或修正用户程序等。
这样,新版本的支持工具保证与新旧版本中任意一个的PLC的连续性,旧版本的支持工具只保证与旧版本PLC的连接性。然后,在把支持工具连接到PLC上时,通过两者之间的通信,支持工具读出PLC的设备类型信息(例如由形式和版本构成),与支持工具自己保存的可以对应PLC设备类型信息对照,判断能否保证连接,以便旧版本的支持工具不连接到新版本的PLC上,进行规定的支持处理(用户程序的追加和更新等)。即,通过串行通信等通信线路连接PLC和支持工具,把对PLC取得PLC设备类型信息的通信命令,从支持工具向PLC发送,接收所述通信命令的PLC返回自己的PLC设备类型信息作为应答。由于支持工具存储保持自己可以连接的一系列PLC设备类型信息,所以接收所述响应的支持工具比较上述存储保持的一系列数据和作为响应而取得的现在连接的PLC的PLC设备类型信息,判断能否连接。而且,关于设备类型确认的技术例如在专利文献1中公开了。
专利文献1:日本专利特开平10-97310号公报。
发明内容
如果使用上述专利文献1中记载的支持工具,在把用户程序下载到执行系统的CPU时,必须通过支持工具确认设备类型,判断能否连接,因此对于执行系统的CPU单元,能够下载所述CPU单元可以运行的正确版本的用户程序。可是,在从执行系统的CPU单元向待机系统的CPU单元复制用户程序时,不能进行支持工具的版本检测执行。结果,假设执行系统的CPU是新版本,待机系统的CPU单元是旧版本的情况下,虽然能够复制用户程序,但是待机系统的CPU单元顺次运行用户程序,如果运行到自己不能执行对应的线路,就停止或者异常操作。因此,至少在待机系统的CPU单元切换到执行系统时,PLC停止。
另一方面,如果每次版本升级形式都变化,通过使用相同形式的CPU单元,虽然不发生上述停止问题,但是每次升级形式却增加,所以制造商及用户的形式管理变得复杂,不实用。
本发明的目的是提供一种可编程控制器和可编程控制器系统及CPU单元和双重化运转开始方法,能够在可以正常双重化运转状态下,使执行系统和待机系统的CPU单元工作。
根据本发明的可编程控制器,具有两个CPU单元,所述两个CPU单元可以确认对方的状态,一个构成执行系统,另一个构成待机系统,在所述执行系统的CPU单元停机的情况下,所述待机系统的CPU单元切换到执行系统,连续运转,其特征在于:所述待机系统CPU单元存储保持表示设备本身性能的单元版本信息,同时具有基于存储的用户程序的用户程序版本信息,所述可编程控制器包括:判断装置,根据所述待机系统的CPU单元的单元版本信息和所述执行系统的CPU单元所具有的所述用户程序版本信息,判断所述待机系统的CPU单元能否执行所述执行系统的CPU单元所存储保持的用户程序;以及只有在所述判断装置判断出可以运行的情况下才开始双重化运行的装置。其中,单元版本信息表示CPU单元所具有的功能范围就可以。例如,可以是CPU单元所具有的功能名称列表信息,也可以是与功能名称的列表对应的数值信息。而且,用户程序版本信息是表示用于运行所述用户程序的CPU单元所应具有的功能范围就可以。例如,可以是功能名称的列表信息,也可以是对应于功能名称的列表的数值信息。
而且,判断装置虽然在实施方式中安装在执行系统的CPU单元中,但是在设置任何一个CPU单元中都可以,设置在CPU单元以外的其他单元内也可以。而且,在安装在CPU单元内的情况下,双重化运转过程中,如果执行系统的CPU单元停止,则待机系统的CPU单元切换到执行系统,然后使停止的CPU单元恢复后开始双重化运转时,当初的待机系统成为执行系统,因此最好两个CPU单元都安装判断装置。而且,在一个CPU单元中安装的情况下,与执行系统还是待机系统无关,一个CPU单元从另一个CPU单元获得必要的版本信息(单元版本信息或者用户程序版本信息)进行判断。
而且,上述执行系统的CPU单元具有如下功能:从上述待机系统的CPU单元获得所述待机系统的CPU单元所具有的单元版本信息的获得功能;把所获得的上述待机系统的CPU单元的单元版本信息与自己拥有的上述用户程序版本信息进行比较,判断上述待机系统的CPU单元能否运行自己存储保持的用户程序的判断功能,所述获得功能和上述判断功能构成所述判断装置也可以。
而且,上述执行系统的CPU单元具有如下功能也可以,即在开始上述双重化运转时,将上述执行系统的CPU单元保存的用户程序及用户程序版本信息复制到上述待机系统的CPU单元中。
根据上述各个发明,即使在双重化运转时CPU单元的单元版本信息不同的情况下,能够从待机系统的CPU单元的单元版本信息和基于执行系统的CPU单元执行的用户程序的用户程序版本信息,判断待机系统的CPU单元能否运行有关的用户程序。因此,通过以适当的定时(例如开始双重化运转时等)进行检测,能够只在确实能对应双重化的情况下开始双重化运转。即,不能运行执行系统的CPU单元正在运行的用户程序的待机系统的CPU单元,原样工作,表面上双重化运转,如果执行系统的CPU单元停止,则待机系统的CPU单元切换到执行系统,防止发生停止的问题。
而且,上述用户程序版本信息和上述单元版本信息由数值数据构成也可以。这样,能够容易地判断版本的新旧。
上述用户程序版本信息例如用表示上述用户程序的功能性的功能版本信息也可以。而且,上述用户程序版本信息至少由如下信息构成也可以设为表示上述用户程序的功能性的功能版本信息,和通过上述CPU单元中设定的指定参数水平的参数版本信息来特定的应用版本信息。这与后面所示各个发明相同。功能版本信息只要可以表示用于执行用户程序的CPU单元所应具有的功能的范围就可以。例如,可以是功能名称的列表信息,也可以是与功能名称的列表对应的数值信息。其中,参数包括通过用支持工具进行设定,软件化地定义的CPU单元的基本规格、和PLC系统的规格的数据,或者与通过多个网络在PLC之间进行数据发送和接收的情况下的通信线路有关数据等。通过设定变更所述参数,能够在PLC整个系统的可以工作范围内设定多个水平。作为所述可工作范围的设定例子,例如可以是功能名称列表信息,也可以是对应于功能名称列表的数值信息。
而且,“具有版本信息”可以存储保持在非易失性存储装置中,也可以根据需要基于存储保持的信息产生。
而且,上述执行系统的CPU单元构成如下形式也可以:获得所述待机系统的CPU单元的单元版本信息,与自己的单元版本信息进行比较,把旧的单元版本信息通知连接到可编程控制器的支持工具。而且,在本发明的可编程控制器系统中,具有有关的可编程控制器和连接到所述可编程控制器的支持工具,在该系统中,上述支持工具向上述可编程控制器发出关于上述单元版本信息的要求,上述可编程控制器通知上述执行系统和上述待机系统的CPU单元中旧的单元版本信息。
这样,支持工具形成与旧单元版本信息相匹配的用户程序,通过下载,使用该下载的用户程序能够确实进行双重化运转。
而且,适于执行上述各个发明的本发明的CPU单元是设定表示设备功能性的单元版本信息的可编程控制器使用的单元,具有获得构成相同的可编程控制器的其他CPU单元的单元版本信息的装置和判断装置,该判断装置比较所获得的上述其他CPU单元的单元版本信息和基于自己存储保持的用户程序的用户程序版本信息,判断上述其他CPU单元能否运行自己存储保持的用户程序。
而且,具有返回功能也可以,比较自己保存的单元版本信息与上述其他CPU单元的单元版本信息,作为对来自支持工具的读出要求做出的响应,把上述两个单元版本信息中旧的版本信息返回。
而且,根据本发明的双重化运转开始方法,是在具有两个CPU单元,所述两个CPU单元可以识别对方的状态,一方构成执行系统,另一方构成待机系统,在所述执行系统的CPU单元已停止的情况下,所述待机系统的CPU单元替换到执行系统继续运转的可编程控制器中的双重化运转方法,所述待机系统的CPU单元存储保持表示设备本身的功能性的单元版本信息,同时具有基于存储的用户程序的用户程序版本信息,在开始双重化运转之前,构成所述可编程控制器的规定单元比较所述待机系统的CPU单元的单元版本信息和所述执行系统的CPU单元所具有的所述用户程序版本信息,判断所述待机系统的CPU单元能否运行所述执行系统的CPU单元存储保持的用户程序,以所述结果为可以运行作为条件,开始双重化运转。
而且,作为其他解决手段是在具有两个CPU单元,所述两个CPU单元可以识别对方的状态,一方构成执行系统,另一方构成待机系统,在所述执行系统的CPU单元已停止的情况下,所述待机系统的CPU单元替换到执行系统继续运转的可编程控制器中的双重化运转方法;所述CPU单元存储保持表示设备本身的功能性的单元版本信息,而且具有基于存储的用户程序的用户程序版本信息;在开始双重化运转之前,所述执行系统的CPU单元从所述待机系统的CPU单元获得所述待机系统的CPU单元所具有的单元版本;把所获得所述待机系统的CPU单元的单元版本信息与自己具有的所述用户程序版本比较,判断所述待机系统的CPU单元能否运行自己存储保持的用户程序,
在判断出可以运行的情况下,所述执行系统的CPU单元把自己保存的用户程序与所述用户程序的版本信息一起复制到所述待机系统的CPU单元,开始双重化运转。
本发明中,即使在使用存在不同单元版本的CPU单元的情况下,也能够在可以正常双重化运转的情况下使执行系统和待机系统的CPU单元工作。
附图说明
图1是示出本发明的系统的一个实施方式的图;
图2是示出支持工具的内部结构的图;
图3是示出CPU单元的内部结构的图;
图4是说明CPU版本与功能关系的图;
图5是说明CPU版本与功能关系的图;
图6是说明本发明的系统的一个实施方式的主要部分的图;
图7是说明本发明的系统的一个实施方式的作用的图;
图8是说明各个CPU单元的功能的流程图;
图9是说明本发明的系统的一个实施方式的作用的图;
图10是说明本发明的应用版本表的一个实施方式的图;
图11是说明确定本发明的应用版本的处理的流程图;
具体实施方式
图1示出实现本发明的一个最佳实施方式的整个系统。如图1所示,个人计算机构成的支持工具10和PLC20通过规定的通信线路30连接。该通信线路30例如通过利用RS232C等串行回路直接电缆连接实现。当然,不限于这样直接连接形式,也可以采用其他结构,使用其他通信线路,经过网络使PLC20与支持工具10连接。而且,由支持工具10形成(包括修正)的用户程序通过通信线路30下载到PLC20。
PLC 20由多个单元构成。即适当组合如下各种单元构成:作为电源供给源的电源单元21、统一控制整个PLC的第一、第二CPU单元22、22’、输入安装在FA的生产装置或者设备的适当地方的开关或者传感器的信号的输入单元23、把控制输出输出到制动器等的输出单元24、用于连接到通信网络的通信单元25等。而且,本系统中通过支持工具10下载的用户程序存储保持在PCU单元22、22’中,在这里被执行。更具体地说,支持工具10对于执行系统的第一CPU单元22下载用户程序,第一CPU单元22对于待机系统的第二CPU单元22’复制用户程序,从而第一CPU单元22和第二CPU单元22’存储保持相同内容的用户程序。
即,将通信线路30连接到通信单元25上,支持工具10和第一CPU单元22可以通过通信单元25通信,或通过把串行线路的接口内置在第一CPU单元22的内部,使支持工具10直接与第一CPU单元22连接,进行用户程序的下载等。当然,虽然从下载用户程序的角度,说明了支持工具10与第一CPU单元22通信的情况,但是第二CPU单元22’也与第一CPU单元22相同,具有与支持工具10通信的功能。
支持工具10由个人计算机构成,如图2所示,硬件结构包括键盘、鼠标驱动器等输入装置11、显示器等显示装置12、CPU13和存储器14。而且,连接的PLC20(CPU单元22、22’)内安装的用户程序也存储在存储器14内。
另一方面,CPU单元22、22’的内部结构构成为如图3所示。即,系统程序存储在系统ROM 22a、22’a内,所述系统程序被读出到MPU22b、22’b内,在所述MPU22b、22’b中,一边适当使用作为工作存储器的系统RAM 22c、22’c,一边根据程序进行规定处理。而且,运行时,作为一个用户数据的用户程序被存储在用户存储器(UM)22d、22’d内。而且,I/O数据或者参数被存储在IO存储器(IOM)22e、22’e内。
因此,赋予用户程序表示如后述功能性的功能版本,所述功能版本也构成用户程序的一部分,被存储在用户存储器内。而且,参数是通过支持工具设定而可以用软件定义的CPU单元的基本规格、PLC系统规格的数据,或者通过多个网络在PLC之间进行数据发送接收的情况下的有关通信路径的数据等。因此,也可以把指定对应于什么水平的规格的参数版本赋予所述参数来进行管理。于是,如果从CPU单元整体来看,用通过表示用户程序功能的功能版本和参数版本可以指定应用程序(系统)整体的规格、水平(应用程序)。
在本实施方式中,准备表示CPU单元所具有的功能范围的单元版本(CPU版本)、作为用户程序版本的功能版本两种类型版本,存储在后面所述CPU单元的规定存储器中,而且使用所述两个类型的版本判断能否进行双重化运行等。而且,如后面所述,通过CPU版本和应用版本来判断能否进行双重化运行也可以。
CPU版本存储在例如系统ROM22a中。如果CPU单元接收到来自支持工具10等的发出要求,作为响应,把这些CPU版本返回到支持工具10。而且,功能版本作为用户程序的一部分存储在用户存储器22d、22’d内。
而且,在本实施方式中,PLC(CPU单元)附带的CPU版本和功能版本用数值表示,每次版本升级,数值也变大。即,由于数值越大版本越新,所以通过比较有关版本数值的大小关系,能够简单地判断哪个是新版本。因此,由于新版本的PLC20(第一、第二CPU单元22、22’)继承了旧版本的功能,因此在实际安装的用户程序的功能版本数值在自己的CPU版本数值以下的情况下,能够对应。而且,版本数值可以只取整数(称为主版本),也可以利用适当使用小数点的副版本。
举例说明上述功能版本和CPU版本之间的关系及对旧版本的继承,如图4和5所示。即,图4是示出CPU版本和功能版本之间关系的图,每次CPU版本升级,加载(可以利用)的功能增加。因此,使表示可以使用的功能的功能版本与CPU版本的版本号一致。即,如果CPU版本是1.0,可以运行功能A至C,在有关功能A至C范围内使用的用户程序的功能版本为1.0。同样,如果CPU功能版本是2.0,可以运行功能A至F,在有关功能A至F范围内使用的用户程序的功能版本为2.0。因此,如果是CPU版本为2.0的CPU单元,可以运行功能版本为2.0和1.0两种用户程序(参照图5)。
而且,如图6所示意表示的一样,执行系统的第一CPU单元22和待机系统的第二CPU单元22’具有互相确认、比较版本信息的功能。而且,如上所述,具有根据来自支持工具10的要求通知版本信息的功能。
作为检测双重化运行可能性的定时可以以任意定时进行,但是,例如也存在通过外部设备变更执行系统CPU单元内存储的用户程序的一部分或者全部的情况,及通过外部设备变更执行系统CPU单元参数的情况等。当然,在除此之外的定时进行检测也可以。
在上述结构中,第一和第二CPU单元22、22’在进行双重化运转时判断能否进行双重化运转,根据所判断的结果进行规定处理。即,首先开始进行双重化运转的定时存在如下情况:
(1)启动电源时等第一和第二CPU单元22、22’同时启动情况;
(2)一个CPU单元由于故障等进行替换期间,另一个CPU单元单独运转的情况下,再次启动一个CPU单元,返回双重化运转的情况。
如图7所示,比较执行系统的第一CPU单元22的功能版本与待机系统的第二CPU单元22’的CPU单元版本,在执行系统的CPU单元22的功能版本在待机系统的CPU单元22’的CPU版本以下的情况下,判断为可以进行双重化运转,待机系统的CPU单元22’的CPU版本比执行系统的CPU单元22的功能版本低的情况下,判断为不能进行双重化运转。
举一个例子,在执行系统的CPU单元的功能版本为3.0,待机系统的CPU单元的CPU版本为4.0的情况下,执行系统的CPU单元运行功能A至G,与此相对应,待机系统的CPU单元可以运行功能A至I。因此,即使执行系统的CPU单元停止,待机系统的CPU单元切换为执行系统,也能运行全部功能,因此系统原样继续运行。
另一方面,在执行系统的CPU单元的功能版本为3.0,待机系统的CPU单元的CPU版本为2.0的情况下,执行系统的CPU单元运行功能A至G,与此相对反,待机系统的CPU单元可以运行功能A至F,不能运行功能G。因此,如果执行系统的CPU单元停止,待机系统的CPU单元切换为执行系统,则由于不能运行功能G,系统停止。
因此,在判断出不能进行双重化运转的情况下,作为“版本对比异常”,不进行双重化运转,继续单独运转。而且,在启动电源时不能进行双重化运转的情况下,能够通过内部设定等来决定是只有执行系统CPU单元单独运转,还是整体停止运转。
然后,用于进行上述处理的具体处理机能如执行图8所示的流程。即,如果开始双重化运转,首先,执行系统的CPU单元确认待机系统的CPU单元的CPU版本(ST1)。即,向待机系统的CPU单元要求其CPU版本。如果待机系统的CPU单元接受有关要求,就把自己的CPU版本通知执行系统的CPU单元(ST2)。
因此,执行系统的CPU单元把待机系统的CPU单元发送来的CPU版本与自己的功能版本比较(ST3)。然后,根据大小关系,待机系统的CPU单元的CPU版本比执行系统CPU的功能版本低的情况下,判断为不能进行双重化运转(ST4),发出版本对比异常的通知(ST5),开始单独运转(ST6)。
另一方面,在待机系统的CPU单元的CPU版本比执行系统CPU的功能版本高的情况下,判断为能进行双重化(ST5),开始双重化运转(ST8)。而且,进行不能双重化的决定(ST4)或能双重化运转的决定(ST7),分别把决定的内容通知待机系统的CPU单元。
在待机系统的CPU单元通知执行系统CPU单元关于自己的CPU版本后,等待执行系统CPU单元的比较结果(ST9),如果接收到比较结果,则根据比较结果开始双重化运转(ST10、ST8)、或者停止运转并通知版本对比异常(ST10、ST11)。而且,伴随着步骤8开始双重化运转,执行系统CPU单元把自己存储保持的用户程序和根据需要把参数复制到待机系统的CPU单元的规定区域内。
因此,支持工具10保持关于自己可以对应的CPU单元的CPU版本信息,在下载到执行系统的第一CPU单元22内时,获得第一CPU单元22的CPU版本,判断能否对应。然后,只有在能够对应的情况下下载用户程序。
而且,在向CPU单元追加新功能的情况下,如图9所示,(1)首先,支持工具10识别第一CPU单元22的版本信息(CPU版本、功能版本);(2)然后,第一CPU单元22获得第二CPU单元22’的CPU版本,比较其大小关系。(3)然后,第一CPU单元22通知旧的CPU版本和自己的功能版本。而且,不对比功能版本而通知自己的版本,是因为在双重化运转中两个CPU单元以相同功能工作,前提是功能版本一致。
这样,支持工具10能够识别可在双重化PLC中使用的命令或者设定范围,能够防止用户由于差错,下载超范围的命令或者设定。
在上述实施方式中,说明了对于来自支持工具10的读出版本的要求,执行系统的CPU单元比较自己的CPU版本和从待机系统的CPU单元获得的CPU版本,应答旧CPU版本的情况,但是本发明不限于上述情况,执行系统的CPU单元向支持工具10应答自己的CPU版本和待机系统的CPU单元的CPU版本两者也可以。在这种情况下,也可以是以下的结构:支持工具10比较执行系统的CPU单元应答的执行系统的CPU单元的CPU版本和待机系统的CPU单元的CPU版本,将旧的CPU版本作为执行系统的CPU单元和待机系统的CPU单元的共用CPU版本使用。
而且,作为执行系统的CPU单元通知待机系统的CPU单元的CPU版本的方法如实施方式所述,执行系统的CPU单元向待机系统的CPU单元要求CPU版本,待机系统的CPU单元应答所述要求也可以,待机系统的CPU单元把自己的CPU版本预先存储在存储器内,执行系统的CPU单元可以从中读出,执行系统的CPU单元根据需要读出所述版本也可以,可以有各种实施方式。
而且,CPU版本(单元版本)的存储位置如同实施方式所述可以是系统ROM22a、22’a,也可以存储在其他可以擦写式存储器内。而且,功能版本的存储位置如同实施方式所述,可以作为用户程序一部分存储在用户存储器(UM)22d、22’d内,也可以存储在IO存储器22e、22’e,存储位置可以任意选择。
而且,在上述实施方式中,通过比较功能版本和CPU版本,判断能否进行双重化运转,但是也可以通过比较执行系统所具有的应用版本和待机系统所具有的CPU版本来判断能否进行双重化运转。由于通过参数版本和功能版本确定应用版本,所以能够存储在例如IO存储器22e、22’e内。所述应用版本也可以与CPU版本同样存储在不易失性存储器内,也可以暂时存储在易失性存储器、缓冲区内。而且,参数版本或者应用版本与功能版本一样能够通过支持工具设定,CPU单元也可以根据设定的参数、功能版本自动设定。然后,在CPU单元中安装了这样自动设定功能的情况下,应用版本可以在例如判断能否进行双重化运转时求出。
因此,使用预先求出或者在判断能否进行双重化运转时求出的应用版本判断能否进行双重化运转的处理,基本是把上述实施方式中的功能版本置换成应用版本就能够进行。
也可以是以下结构:在上述实施方式中应用版本在形成用户程序时由用户决定,使用支持工具作为用户程序的一部分进行存储。
描述确定应用版本的其他实施方式。如同后面所述,构成为如下形式也可以,CPU单元内预先存储应用版本和与每个应用版本可以实施的功能名称对应的表格。CPU单元的MPU参照UM中存储的用户程序或者IOM中存储的参数来确定应用版本。利用图10和图11进行说明。图10是示出应用版本与每个应用版本可以实施的功能及所述功能的存储位置之间的关系表(以下简称应用版本表)的一个例子。在该例子中,IOM中存储功能名称B、C、F和G的参数。图11是使用图10所示的应用版本表,由用户程序和参数确定应用版本的处理流程的一个例子。执行系统CPU单元的MPU首先检索UM(ST21),判断功能H或功能I是否被使用(ST22)。作为对应于这些步骤ST21、ST22的具体例子,参照UM中存储的用户程序,判断是否使用对应于功能H或者功能I的命令语句。在步骤22判断出是否使用功能H或者功能I的情况下,确定应用版本为Ver4.0(ST32)。在步骤22判断出不使用功能H或者功能I的情况下,进一步判断在UM内是否使用功能D或者功能E(ST23)。作为对应于所述步骤ST23的具体例子,参照UM中存储的用户程序,判断是否使用对应于功能D或者功能E的命令语句。在步骤23判断出使用功能D或者功能E的情况下,检索IOM(步骤28),判断是否使用功能G(ST29)。作为对应于所述步骤28和步骤29的具体例子,参照IOM中存储的参数,判断是否使用功能G。在步骤29判断出使用功能G的情况下,确定应用版本为Ver3.0(ST31)。另一方面,如果在步骤29中判断出不使用功能G的情况下,确定应用版本为Ver2.0(ST30)。在步骤23中判断出没有使用功能D和功能E的情况下,接着检索IOM(步骤24),判断是否使用功能G(ST25)。如果在所述步骤25中判断出使用功能G的情况下,确定应用版本为Ver3.0(ST31)。如果在步骤25中判断出不使用功能G的情况下,进一步判断在IOM中是否使用功能F(ST26)。在所述步骤26判断出使用功能F的情况下,确定应用版本为Ver2.0(ST30)。在所述步骤26判断出不使用功能F的情况下,确定应用版本为Ver1.0(ST27)。通过以上处理确定应用版本。
Claims (12)
1、一种可编程控制器,具有两个CPU单元,所述两个CPU单元可以确认对方的状态,一个构成执行系统,另一个构成待机系统,在所述执行系统的CPU单元停机的情况下,所述待机系统的CPU单元切换到执行系统,连续运转,其特征在于:
所述待机系统的CPU单元存储保持表示设备本身性能的单元版本信息,同时具有基于存储的用户程序的用户程序版本信息,
所述可编程控制器包括:
判断装置,根据所述待机系统的CPU单元的单元版本信息和所述执行系统的CPU单元所具有的所述用户程序版本信息,判断所述待机系统的CPU单元能否执行所述执行系统的CPU单元所存储保持的用户程序;以及
只有在所述判断装置判断出可以运行的情况下才开始双重化运行的装置。
2、根据权利要求1所述的可编程控制器,其特征在于:
所述执行系统的CPU单元具有如下功能:
从所述待机系统的CPU单元获得所述待机系统的CPU单元所具有的单元版本信息的获得功能;
将所获得的所述待机系统的CPU单元的单元版本信息与自己拥有的所述用户程序版本信息进行比较,判断所述待机系统的CPU单元能否运行自己存储保持的用户程序的判断功能,
通过所述获得功能和所述判断功能构成所述判断装置。
3、根据权利要求1所述的可编程控制器,其特征在于:
所述执行系统的CPU单元具有如下功能:在开始所述双重化运转时,至少把所述执行系统的CPU单元保存的用户程序与所述用户程序版本信息一起复制到所述待机系统的CPU单元。
4、根据权利要求1所述的可编程控制器,其特征在于:
所述用户程序版本信息和所述单元版本信息由数值数据构成。
5、根据权利要求1所述的可编程控制器,其特征在于:
所述用户程序版本信息是表示所述用户程序的功能性的功能版本信息。
6、根据权利要求1所述的可编程控制器,其特征在于:
所述用户程序版本信息通过至少表示所述用户程序的功能性的功能版本信息和所述CPU单元中设定的指定参数水平的参数版本信息来特定的应用版本信息。
7、根据权利要求1所述的可编程控制器,其特征在于:
所述执行系统的CPU单元获得所述待机系统的CPU单元的单元版本信息,同时与自己的单元版本信息进行比较,把旧的单元版本信息通知给连接到可编程控制器的支持工具。
8、一种可编程控制器系统,具有权利要求7所述的可编程控制器和连接到所述可编程控制器的支持工具,其特征在于:
所述支持工具向所述可编程控制器发出单元版本信息的要求,
所述可编程控制器通知所述执行系统和所述待机系统的CPU单元中旧的单元版本信息。
9、一种CPU单元,是设定了表示设备功能性的单元版本信息的可编程控制器使用的单元,其特征在于,具有:
获得构成相同的可编程控制器的其他CPU单元的单元版本信息的部件;以及
判断部件,比较所获得的所述其他CPU单元的单元版本信息和基于自己存储保持的用户程序的用户程序版本信息,判断所述其他CPU单元能否运行自己存储保持的用户程序。
10、根据权利要求9所述的CPU单元,其特征是具有如下功能:
比较自己保存的单元版本信息与所述其他CPU单元的单元版本信息,作为对支持工具的读出要求的响应,返回所述两个单元版本信息中旧的版本信息。
11、一种双重化运转开始方法,是在具有两个CPU单元,所述两个CPU单元可以识别对方的状态,一方构成执行系统,另一方构成待机系统,在所述执行系统的CPU单元已停止的情况下,所述待机系统的CPU单元替换到执行系统继续运转的可编程控制器中的双重化运转方法,
所述待机系统的CPU单元存储保持表示设备本身的功能性的单元版本信息,同时具有基于存储的用户程序的用户程序版本信息,
在开始双重化运转之前,构成所述可编程控制器的规定单元比较所述待机系统的CPU单元的单元版本信息和所述执行系统的CPU单元所具有的所述用户程序版本信息,判断所述待机系统的CPU单元能否运行所述执行系统的CPU单元存储保持的用户程序,以该判断结果为可以运行作为条件,开始双重化运转。
12、一种双重化运转开始方法,是在具有两个CPU单元,所述两个CPU单元可以识别对方的状态,一方构成执行系统,另一方构成待机系统,在所述执行系统的CPU单元已停止的情况下,所述待机系统的CPU单元替换到执行系统继续运转的可编程控制器中的双重化运转方法;
所述CPU单元存储保持表示设备本身的功能性的单元版本信息,而且具有基于存储的用户程序的用户程序版本信息;
在开始双重化运转之前,所述执行系统的CPU单元从所述待机系统的CPU单元获得所述待机系统的CPU单元所具有的单元版本;
把所获得所述待机系统的CPU单元的单元版本信息与自己具有的所述用户程序版本比较,判断所述待机系统的CPU单元能否运行自己存储保持的用户程序,
在判断出可以运行的情况下,所述执行系统的CPU单元把自己保存的用户程序与所述用户程序的版本信息一起复制到所述待机系统的CPU单元,开始双重化运转。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003335593 | 2003-09-26 | ||
JP335593/03 | 2003-09-26 | ||
JP335593/2003 | 2003-09-26 | ||
JP272617/2004 | 2004-09-17 | ||
JP272617/04 | 2004-09-17 | ||
JP2004272617A JP3915808B2 (ja) | 2003-09-26 | 2004-09-17 | プログラマブルコントローラおよびプログラマブルコントローラシステムならびにcpuユニット |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1619445A CN1619445A (zh) | 2005-05-25 |
CN100346290C true CN100346290C (zh) | 2007-10-31 |
Family
ID=34197262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004101047270A Expired - Fee Related CN100346290C (zh) | 2003-09-26 | 2004-09-27 | 可编程控制器及系统、中央处理器和双重化运转开始方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7536590B2 (zh) |
EP (1) | EP1519252B1 (zh) |
JP (1) | JP3915808B2 (zh) |
CN (1) | CN100346290C (zh) |
DE (1) | DE602004006208T2 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4289293B2 (ja) * | 2004-12-20 | 2009-07-01 | 日本電気株式会社 | 起動制御方法、二重化プラットフォームシステム及び情報処理装置 |
JP3925557B2 (ja) * | 2005-02-28 | 2007-06-06 | オムロン株式会社 | パラメータ設定装置 |
CA2549540C (en) * | 2005-06-10 | 2008-12-09 | Hitachi, Ltd. | A task management control apparatus and method |
JP2007133735A (ja) * | 2005-11-11 | 2007-05-31 | Mitsubishi Electric Engineering Co Ltd | プログラマブルコントローラのメンテナンス用信号変換機 |
SE0600449L (sv) * | 2006-03-02 | 2007-10-09 | Abb Ab | En metod för att jämföra variabelvärden erhållna från olika versioner av ett applikationsprogram samt ett automationssystem och en styrenhet |
SE529676C2 (sv) * | 2006-03-02 | 2007-10-23 | Abb Ab | En metod för att utvärdera en applikation, ett automationssystem och en styrenhet |
EP2012201B1 (de) * | 2007-07-05 | 2011-10-19 | Sick Ag | Verfahren zum Programmieren einer Sicherheitssteuerung |
JP2009259134A (ja) * | 2008-04-21 | 2009-11-05 | Koyo Electronics Ind Co Ltd | 安全plc |
JP5293141B2 (ja) * | 2008-12-16 | 2013-09-18 | 日本電気株式会社 | 冗長システム |
JP5641181B2 (ja) * | 2009-11-26 | 2014-12-17 | 横河電機株式会社 | 二重化処理装置 |
CN102640112B (zh) * | 2009-12-28 | 2015-05-13 | 三菱电机株式会社 | 程序制作支援装置 |
KR101705504B1 (ko) * | 2014-01-23 | 2017-02-09 | 미쓰비시덴키 가부시키가이샤 | 프로그래머블 컨트롤러 및 프로그래머블 컨트롤러 시스템 |
JP6549050B2 (ja) * | 2016-02-23 | 2019-07-24 | アズビル株式会社 | コントローラおよびその制御方法 |
JP6763940B2 (ja) * | 2016-02-24 | 2020-09-30 | 京セラ株式会社 | 管理システム及び管理方法 |
CN110347433A (zh) * | 2018-04-03 | 2019-10-18 | 京东方科技集团股份有限公司 | 参数配置方法、装置及显示装置 |
CN111538636B (zh) * | 2020-04-24 | 2021-11-19 | 深圳华锐金融技术股份有限公司 | 计算机设备确定方法、装置和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1040083A (ja) * | 1996-07-24 | 1998-02-13 | Nissin Electric Co Ltd | 情報処理装置 |
JP2000305758A (ja) * | 1999-04-20 | 2000-11-02 | Nec Corp | ファームウェア・バージョン管理によるcpu間通信整合性チェック方法 |
JP2001202101A (ja) * | 2000-01-18 | 2001-07-27 | Toshiba Corp | 二重化制御システムおよびそのプログラムメンテナンス方法 |
WO2002039198A2 (en) * | 2000-11-07 | 2002-05-16 | Schneider Automation Inc. | A method and apparatus for an active standby control system on a network |
US20020112052A1 (en) * | 2001-02-13 | 2002-08-15 | Peter Brittingham | Remote computer capabilities querying and certification |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69230117T2 (de) * | 1991-06-17 | 2000-06-15 | Sun Microsystems Inc | Verfahren und Gerät, die es Rechnerschaltkreisen ermöglichen, mit aktualisierten Versionen von Rechnersoftware zu funktionieren |
US20020188934A1 (en) * | 2001-06-12 | 2002-12-12 | Nortel Networks Limited | Method and system for upgrading existing firmware on third party hardware |
US6836859B2 (en) * | 2001-08-15 | 2004-12-28 | Sun Microsystems, Inc. | Method and system for version control in a fault tolerant system |
US7178056B2 (en) * | 2001-12-04 | 2007-02-13 | Intel Corporation | Rolling software upgrades for fault tolerant systems |
US7028177B2 (en) * | 2002-01-31 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Array controller ROM cloning in redundant controllers |
US20040181777A1 (en) * | 2003-03-14 | 2004-09-16 | Swee-Koon Fam | Method and device for programming electronic devices using a uniform parameter format |
-
2004
- 2004-09-17 JP JP2004272617A patent/JP3915808B2/ja not_active Expired - Fee Related
- 2004-09-22 DE DE602004006208T patent/DE602004006208T2/de active Active
- 2004-09-22 EP EP04022593A patent/EP1519252B1/en not_active Expired - Fee Related
- 2004-09-24 US US10/950,171 patent/US7536590B2/en active Active
- 2004-09-27 CN CNB2004101047270A patent/CN100346290C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1040083A (ja) * | 1996-07-24 | 1998-02-13 | Nissin Electric Co Ltd | 情報処理装置 |
JP2000305758A (ja) * | 1999-04-20 | 2000-11-02 | Nec Corp | ファームウェア・バージョン管理によるcpu間通信整合性チェック方法 |
JP2001202101A (ja) * | 2000-01-18 | 2001-07-27 | Toshiba Corp | 二重化制御システムおよびそのプログラムメンテナンス方法 |
WO2002039198A2 (en) * | 2000-11-07 | 2002-05-16 | Schneider Automation Inc. | A method and apparatus for an active standby control system on a network |
US20020112052A1 (en) * | 2001-02-13 | 2002-08-15 | Peter Brittingham | Remote computer capabilities querying and certification |
Also Published As
Publication number | Publication date |
---|---|
JP3915808B2 (ja) | 2007-05-16 |
US20050086560A1 (en) | 2005-04-21 |
EP1519252A1 (en) | 2005-03-30 |
DE602004006208T2 (de) | 2008-01-03 |
CN1619445A (zh) | 2005-05-25 |
DE602004006208D1 (de) | 2007-06-14 |
JP2005122716A (ja) | 2005-05-12 |
EP1519252B1 (en) | 2007-05-02 |
US7536590B2 (en) | 2009-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100346290C (zh) | 可编程控制器及系统、中央处理器和双重化运转开始方法 | |
US8762782B2 (en) | Basic input-output system circuit and method for using the same | |
CN100340983C (zh) | 对非易失可编程逻辑器件在线升级的方法及装置 | |
CN101031890A (zh) | 通过网络对固件的自监控和更新 | |
US20030217357A1 (en) | Monitoring firmware | |
CN1212062A (zh) | 用于远程诊断与维修的扩充基本输入输出系统 | |
CN1804799A (zh) | 单片机在线加载升级方法及系统 | |
CN1684427A (zh) | 一种软件升级及回退方法 | |
WO2005004160A3 (de) | Verfahren zur durchführung eines software-updates eines elektronischen steuergerätes durch eine flash-programmierung über eine serielle schnittstelle und ein entsprechender zustandsautomat | |
CN107273170A (zh) | 一种SoPC程序远程更新系统及方法 | |
CN1781064A (zh) | 工业机器人 | |
CN1646783A (zh) | 锁系统、锁系统设备以及配置锁系统的方法 | |
US6505084B2 (en) | Programmable controller which operates by means of data management using network computers and method for operating a programmable controller | |
CN1786910A (zh) | 一种bios在线升级方法 | |
CN111641669A (zh) | 以网络为中心的进程控制系统中的动态负载平衡 | |
CN100531048C (zh) | 在智能平台管理接口动态设定管理功能的方法 | |
CN100524129C (zh) | 工程装置 | |
CN1534920A (zh) | 实现内外网络物理隔离的方法及其装置 | |
CN1584844A (zh) | 一种单片机在线升级方法和装置 | |
CN116795049A (zh) | 工业厂房中替换现场设备的自动配置 | |
EP1461711B1 (en) | Method and apparatus for modifying the contents of a revision identification register | |
CN1287287C (zh) | 基于控制系统实现在线更新数据的方法 | |
CN1684043A (zh) | 计算机文件的实时监控系统和方法 | |
JP2006260607A (ja) | プログラマブルコントローラおよびcpuユニットおよび二重化運転開始方法 | |
CN101048742A (zh) | 执行计算机程序的方法、操作系统以及计算设备 |
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 |
Granted publication date: 20071031 Termination date: 20210927 |
|
CF01 | Termination of patent right due to non-payment of annual fee |