技术领域
[0001] 本发明涉及例如进行上下水道成套设备等的监视控制的成套设备监视控制系统中使用的控制器等的计算机装置。
相关背景技术
[0002] 近年来,作为成套设备监视控制系统所使用的计算机,因为存储器的大容量化得到发展,而且处理器的运算性能也得到提高,所以能够实现利用了大容量的运算程序的高速运算。
[0003] 其中,以PLC(可编程逻辑控制器)为首的控制器,能够用1台实现多数控制设备的监视、操作,从成套设备的维修保养方面来看,低成本且高效率化也在向前发展。
[0004] 作为本技术领域的背景技术,存在专利文献1。在专利文献1中,提出了一种在具备可充电备用单元、易失性的主存储器、以及用于备份主存储器的初始参数的非易失性的备份存储器的控制器中,根据停电时间的长短从备份存储器向主存储器转录参数的方法。
[0005] 据此,在专利文献1中,即使在停电后也能够继续执行稳定运转。
[0006] 专利文献1:JP特开平5-53932号公报
[0007] 但是,为了应用专利文献1的方法,作为前提条件则需要是具有可充电备用单元的控制器。因此,对于没有可充电备用单元的控制器而言则不得不研究其他方法。此外,作为可充电备用单元,存在一次电池、二次电池,但是根据设置控制器的场所的环境,存在不能连接这些电池的情况,结果,非易失性的存储器的有用性降低。
[0008] 由于以上原因,每当实际构成控制器交货时,需要根据可充电备用单元的设置的有无,来变更停电对策,或者对控制器的构成下工夫。
具体实施方式
[0056] 对于作为本发明的一实施例的计算机装置,以作为其一例的控制器为例,通过图1至图6进行说明。
[0057] 实施例
[0058] 图1是表示本实施例所涉及的控制器的内部构成的框图。
[0059] 一般的控制器1由运算装置2和存储器3等构成,运算装置2参照存储器3执行各种运算,此外适当地与外部设备进行控制信息的发送、接收。
[0060] 在控制器1中,虽然未进行图示,但是提供有控制电源。此外,有时作为控制电源丧失时的备用而连接可充电备用单元Bat。在本发明中,具有如下特征:无论有无可充电备用单元Bat,都能够进行停电后的应对。
[0061] 在存储器3中具备多种存储单元。在图示的例子中,使用了数据的改写、擦除的处理速度是高速但若切断电源则数据会被擦除的易失性存储器4、数据的改写、擦除的处理速度是低速但容量大并且即使切断电源数据也会被保存的非易失性存储器6、以及作为其他能够进行改写且即使断电数据也不消失的半导体存储器的闪速存储器5等。
[0062] 其中,作为易失性存储器4,使用SRAM(Static Random Access Memory,静态随机存取存储器)、DRAM(Dynamic Random Access Memory,动态随机存取存储器)等。作为非易失性存储器6,使用MRAM(Magnetoresistive Random Access Memory,磁阻随机存取存储器)。闪速存储器5是EEPROM的一种。
[0063] 接下来,说明图1的存储器4中的处理功能以及存储内容。首先,存储内容以数据库或者表的形式(以下简单称为表TB)进行保持。表TB中存储的内容,若非常简单地说的话则是控制程序、控制程序的地址、以及其他标志等的数据。
[0064] 其中,控制程序保持在由易失性存储器4和非易失性存储器6分别确保的控制程序表TB1、TB2中。在低速但大容量的非易失性存储器6的控制程序表TB1、和高速但小容量的易失性存储器4的控制程序表TB2中,基本上保持着相同内容的程序。
[0065] 关于控制程序的地址,在易失性存储器4内准备了对控制器1中的运算所使用的程序的地址进行管理的控制程序地址表TB1A、TB2A。控制程序地址表TB1A监视存储控制程序表TB1的地址,控制程序地址表TB2A监视存储控制程序表TB2的地址。
[0066] 进而,关于控制程序的地址,在易失性存储器4的内部具备TB3A作为第3控制程序地址表,在这里,两个控制程序地址表TB1A、TB2A的存储内容被分别存储在主和副的任意一个区域中。
[0067] 此外,在易失性存储器4中,作为存储表示备用单元有无的标志的区域,具备备用单元有无标志表TB4。
[0068] 接下来,说明图1的存储器4中的处理功能。使用在存储器3内保持的上述存储内容,通过未图示的存储器控制装置来实施以下的处理功能。该相关的处理功能被图示为控制程序地址表存储处理功能PR1、备用单元有无判断处理功能PR2、控制程序表备份处理功能PR3、以及控制程序处理功能PR4,并被具备在易失性存储器4内。
[0069] 首先,所涉及的处理功能中,最初的控制程序地址表存储处理功能PR1,参照备用单元有无标志表TB4,将控制程序地址表TB2A和控制程序地址表TB1A的存储内容中的一方作为第1优先而另一方作为第2优先存储到控制程序地址表TB3A中。
[0070] 接下来,备用单元有无判断处理功能PR2参照备用单元有无标志表TB4、控制程序表TB2和控制程序表TB1执行处理。
[0071] 控制程序表备份处理功能PR3参照备用单元有无标志表TB4,将控制程序表TB2的数据存储到控制程序表TB1中。
[0072] 在控制程序处理功能PR4中,参照记载了控制程序表TB2或者控制程序表TB1的地址的控制程序地址表TB3A,并参照控制程序表TB2和控制程序表TB1的任意一个表来执行处理。
[0073] 以下参照附图来详细说明存储器4中的处理功能以及存储内容。首先,使用图2和图3来说明存储内容。其中图2示出了图1的构成中的控制程序地址表TB1A、TB2A、TB3A的具体构成(与存储内容的相互关系)例。
[0074] 在图2中,首先,在控制程序地址表TB3A中准备了主用表TB3AP和副用表TB3AS这两个表。在主用表TB3A中,为了存储控制程序地址信息,具备表1起始地址60a~表n起始地址60n的n个表起始地址。此外,在副用表51中,为了存储控制程序地址信息,具备表2起始地址61a~表n起始地址61n的n个表起始地址。
[0075] 另一方面,在控制程序地址表TB2A中,为了存储控制程序地址信息,具备易失性存储器用表1起始地址70a~易失性存储器用表n起始地址70n。此外,在控制程序地址表TB1A中,为了存储控制程序地址信息,具备非易失性存储器用表1起始地址71a~非易失性存储器用表n起始地址71n。
[0076] 对于控制程序地址表TB2A、TB1A中所保持的控制程序地址信息而言,一方被存储到主用表TB3AP中,另一方被存储到副用表TB3AS中。如后所述,通过备用单元有无标志表TB4的存储内容来决定将哪一方存储到主用表TB3AP中。
[0077] 另外,运算装置2每次执行运算时所参照的是主用表TB3AP中所记述的控制程序地址,副用表TB3AS中所记述的控制程序地址作为备份用而等待使用。
[0078] 接下来,在图3中图示了图1的构成中的备用单元有无标志表TB4、控制程序表TB2和控制程序表TB1的存储内容。
[0079] 在图3的备用单元有无标志表TB4中具备备用单元有无100和主信息101。在本实施例中,作为在备用单元有无100中保有的数据,若是“0”则设为在控制器1中没有连接可充电备用单元Bat的状态,若是“1”则设为在控制器1中连接了可充电备用单元Bat的状态。另外在此,所说的连接了(没有连接)可充电备用单元Bat的状态也可以是指,并非仅意味着有无机械连接,即使连接了可充电备用单元Bat,若是没有保持充分的充电容量的状态,则这也与没有连接等同。在该备用单元有无100中,始终保持有最新的可充电备用单元Bat的连接状态。
[0080] 主信息101中保有的数据若是“0”则将易失性存储器4作为主用存储器TB3AP,若是“1”则将非易失性存储器6作为主用存储器TB3AP。
[0081] 另一方面,就图3的2组控制程序表TB1、TB2看来,在控制程序表TB2中具备备份周期TB3A0、和控制程序用表1a(TB3A1a)~控制程序用表na(TB3A1n)的n个数据表。此外在控制程序表TB1中也与控制程序表TB2同样地,至少具备备份周期120、和控制程序用表1b(121a)~控制程序用表nb(121n)的n个数据表。
[0082] 以上,使用图2、3说明了存储器4中的存储内容。接下来,参照图4、6、7来详细说明存储器4中的处理功能。首先,在图4中示出了图1所示的备用单元有无判断处理功能PR2的处理流程。
[0083] 在图4的最初的处理即处理步骤S150中,接通控制器1的电源后,进行判断备用单元有无判断处理功能PR2是否是第一次动作的处理。在备用单元有无判断处理功能PR2已经执行过动作的情况下,结束处理,在备用单元有无判断处理功能PR2是初次动作的情况下,转移到处理步骤S151。
[0084] 在处理步骤S151中,参照图3的备用单元有无判断处理标志表TB4内的主信息101,进行以此为条件的判别处理。这里记述了,作为主信息101,若是“0”则将易失性存储器4作为主用存储器TB3AP,若是“1”则将非易失性存储器6作为主用存储器TB3AP。在处理步骤S151的判断结果是主信息101为“0”的情况下,转移到处理步骤S154。此外在主信息101为“1”的情况下,转移到处理步骤S152。
[0085] 在主信息101为“1”而示出了“将非易失性存储器6作为主用存储器TB3AP”的状态时的下一处理即处理步骤S152中,参照图3的备用单元有无判断处标志表TB4内的备用单元有无100,进行以此为条件的判别处理。在备用单元有无100中,在控制器1中没有连接可充电备用单元的状态被存储为“0”,在控制器1中连接了可充电备用单元的状态被存储为“1”。在该判断中,在备用单元有无100为“0”的情况下,转移到处理步骤S153。此外在备用单元有无100为“1”的情况下,转移到处理步骤S154。
[0086] 在处理步骤S153中,向控制程序表TB2转录控制程序表TB1的数据,并转移到处理步骤S154。在处理步骤S154中将备用单元有无100改写为“1”,结束处理。
[0087] 图5是以表形式来示出了基于图4的流程的判断结果的图。在该图中,纵向表示处理步骤S150~S154的判断,横向表示判断结果。由该结果的表可以看出,图4的处理表示初次启动时的处理,第2次以后不是处理的对象。
[0088] 初次的情况下,备用单元有无100的设定最终设为“1”,但是在之前的过程中分为几种情形。在主信息101为“0”的情况下,直接将备用单元有无100的设定设为“1”。该情况是参照非易失性存储器6内的控制程序表TB1来进行运算的模式,因此控制程序不会因停电而受到损伤,确保了控制程序,所以可以设为备用单元有。
[0089] 在主信息101为“1”、并且备用单元有无100为“1”的情况下,将备用单元有无100的设定设为“1”。该情况是参照易失性存储器4内的控制程序表TB2来进行运算的模式,但因为事实上连接了备用单元Bat,所以是再次确认了备用单元Bat的连接那样的含义。
[0090] 在主信息101为“1”、并且备用单元有无100为“0”的情况下,是参照易失性存储器4内的控制程序表TB2来进行运算的模式,但因为没有连接备用单元Bat,所以担心断电时的控制程序表TB2内的数据丧失。因此,将非易失性存储器6内的控制程序表TB1的内容转录到易失性存储器4内的控制程序表TB2之后,设为备用单元有。
[0091] 接下来,说明图1所示的控制程序地址表存储处理功能PR1的具体处理内容。图6表示控制程序地址表存储处理功能PR1中的处理流程。这里,根据主信息101来决定在控制程序地址表TB3A内的主和副的区域中存储的控制程序地址表TB1A、TB2A。
[0092] 在最初的处理步骤S200中,接通控制器1的电源后,进行判断控制程序地址表存储处理功能PR1是否是第一次动作的处理。在控制程序地址表存储处理功能PR1已经执行过动作的第2次以后的处理的情况下,结束处理。
[0093] 在控制程序地址表存储处理功能PR1是初次动作的情况下,转移到处理步骤S201。在处理步骤S201中,进行以图3的主信息101为条件的判别处理。在主信息101为“1”的情况下(将易失性存储器4作为主用存储器TB3AP)转移到处理步骤S202,在主信息101为“0”的情况下(将非易失性存储器6作为主用存储器TB3AP)转移到处理步骤S204。
[0094] 在将易失性存储器4作为主用存储器TB3AP的规格时的处理步骤S202中,在图2的主用表TB3AP的表1起始地址60a~表n起始地址60n的区域中,存储控制程序地址表TB2A的易失性存储器用表1起始地址70a~易失性存储器用表n起始地址70n的信息,并转移到处理步骤S203。
[0095] 接下来,在处理步骤S203中,在副用表TB3AS的表1起始地址61a~表n起始地址61n的区域中,存储控制程序地址表TB1A的非易失性存储器用表1起始地址71a~非易失性存储器用表n起始地址71n,结束处理。
[0096] 在将非易失性存储器6作为主用存储器TB3AP的规格时的处理步骤S204中,在主用表TB3AP的表1起始地址60a~表n起始地址60n的区域中,存储控制程序地址表TB1A的非易失性存储器用表1起始地址71a~非易失性存储器用表n起始地址71n,并转移到处理步骤S205。
[0097] 在处理步骤S205中,在副用表TB3AS的表1起始地址61a~表n起始地址61n的区域中,存储控制程序地址表TB1A的非易失性存储器用表1起始地址71a~非易失性存储器用表n起始地址71n,结束处理。
[0098] 通过如上所述的图4和图5的流程中的处理,从而在初次启动时,选择了以后的控制程序表、和与其对应的控制程序地址表。
[0099] 此外,在具有可充电备用单元Bat的情况下,控制程序处理功能PR4使用在易失性存储器4中映射的控制程序表TB2来执行动作。在此,即使在控制器1的电源瞬时断电的情况下,通过可充电备用单元,也能够原样不变地保存控制程序表TB2中所存储的数据。因此,再次接通电源后,控制程序处理功能PR4也能够参照电源即将瞬时断电之前的控制程序表TB2的数据,能够在易失性存储器4上执行处理。
[0100] 相对与此,在没有可充电备用单元Bat的情况下,控制程序处理功能PR4使用在非易失性存储器6中映射的控制程序表TB1来执行动作。在此,即使在控制器1的电源瞬时断电的情况下,利用在没有电源的环境下能够保存数据的非易失性存储器6的特性,控制程序表TB1能够保存电源即将瞬时断电之前的数据。因此,在再接通电源后,控制程序处理功能PR4也能够参照电源即将瞬时断电之前的控制程序表TB1的数据,能够在非易失性存储器6上执行处理。
[0101] 接下来,使用图7来说明图1所示的控制程序表备份处理功能PR3中的具体处理内容。图7是表示控制程序表备份处理功能PR3中的具体处理内容的流程图。在此,参照备用单元有无标志TB4,将控制程序表TB2的数据存储到控制程序表TB1中。
[0102] 在表示控制程序表备份功能PR3中的处理流程的图7中的最初的处理步骤S250中,进行以主信息101为条件的判别处理。在主信息101为“0”的情况下,结束处理。在主信息101为“1”的情况下,转移到处理步骤S251。
[0103] 在处理步骤S251中,参照备份周期T和控制器1具有的控制周期t,转移到处理步骤S252。在处理步骤S252中,对备份周期T和控制器1具有的控制周期t进行比较,判断是否是进行备份的周期。结果,在成为进行备份的控制周期T的情况下转移到处理步骤S253,在是不进行备份的控制周期的情况下,在下一控制周期再次转移到处理步骤S252。
[0104] 在处理步骤S253中,在图3所示的控制程序表TB1的控制程序用表121a~控制程序用表121n的区域中,存储控制程序表TB2的控制程序用表11a~控制程序用表11n,结束处理。在图3中用虚线表示该数据移动。
[0105] 通过本处理,即使在主用表TB3AP中存储有控制程序地址表TB2A时在中途没有了可充电备用单元的情况下,通过与图4中所示的备用单元有无判断处理功能PR2进行组合,也能够在电源断电并恢复电力后,通过向控制程序表TB2转录周期性地进行了备份的控制程序表TB1,从而使用所备份的周期的数据来重新开始控制程序处理功能PR4。
[0106] 最后,在控制程序处理功能PR4中,参照记载了控制程序表TB2或者控制程序表TB1的地址的控制程序地址表TB3A,并参照控制程序表TB2和控制程序表TB1的任意一个表来执行处理。
[0107] 通过上述处理在本发明的控制器中,按照如下两种情况进行定义并存储:将对控制程序所使用的程序表的地址进行记载的地址表配置于易失性存储器的情况和配置于非易失性存储器的情况。而且通过具备可充电备用单元的有无信息,来决定任意一个地址表,开始执行控制程序。
[0108] 进而,在控制器连接了可充电备用单元的情况下,将易失性的存储器用作主而将非易失性的存储器用作副,定期地转录主的数据。在控制器的电源发生了长时间断电的情况下,在恢复电力时,从副向主转录数据。
[0109] 在控制器没有连接可充电备用单元的情况下,将非易失性的存储器作为主,仅用主来执行控制程序。