CN104950784B - 可编程逻辑控制器的ram的检查方法以及可编程逻辑控制器 - Google Patents
可编程逻辑控制器的ram的检查方法以及可编程逻辑控制器 Download PDFInfo
- Publication number
- CN104950784B CN104950784B CN201510128135.0A CN201510128135A CN104950784B CN 104950784 B CN104950784 B CN 104950784B CN 201510128135 A CN201510128135 A CN 201510128135A CN 104950784 B CN104950784 B CN 104950784B
- Authority
- CN
- China
- Prior art keywords
- ram
- storage region
- value
- region
- inspection
- 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
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
- G05B19/058—Safety, monitoring
-
- 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/14—Plc safety
- G05B2219/14085—Memory testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Programmable Controllers (AREA)
Abstract
本发明涉及一种可编程逻辑控制器的RAM的检查方法以及可编程逻辑控制器。该可编程逻辑控制器的RAM检查方法能够用几分钟左右实施成为检查对象的RAM检查区域内的全部的单位存储区域的检查,并且能够满足规定的安全标准。该检查方法具有写入读出步骤,在该写入读出步骤中,使用控制装置针对将从多个块中提取出的两个块组合而成的组合块内的各单位存储区域,写入了规定值之后,顺序检查从该单位存储区域读出的值是否与写入的值一致,针对从已分割的多个块中提取出两个块而组成的全部组合执行所述写入读出步骤,其中,所述块是将RAM的成为检查对象的区域即RAM检查区域分割成多个而成的。
Description
技术领域
本发明涉及可编程逻辑控制器的RAM的检查方法以及可编程逻辑控制器。
本申请要求于2014年3月25日提交的日本专利申请第2014-061861号的优先权,并在此引用其全部内容。
背景技术
可编程逻辑控制器(Programmable Logic Controller,以下记载为PLC)被用于工厂的自动机械的控制等。PLC是小型的计算机,具备执行程序的中央处理装置(以下记载为CPU),PLC在程序的制作中利用模拟了梯形电路的梯形图,并适当地改写成与用途匹配的顺序程序而加以利用。然后,向PLC输入与来自各种输入设备(开关、传感器等)的导通状态相关的信号(接通或者断开的信息),PLC使用将各种输入设备组合成所希望的方式的(以串联或者并联的方式连接的)顺序程序,来控制(输出接通或者断开信号等)输出设备(继电器、马达等)。
另外,在工厂等使用的PLC需要满足规定的安全标准(例如IEC标准),作为该安全标准中的一项有与CPU利用的RAM(Random Access Memory的简称。能够对任意的地址随时读写的存储器)相关的安全标准。对于用于满足与该RAM相关的安全标准的检查方法,考虑各种方法,例如能够通过使用Galpat这一方法进行RAM的检查来满足与RAM相关的安全标准。但是,若使用Galpat的方法进行RAM的检查,则需要非常长的时间(例如2~3个小时左右),由于导致在RAM的异常检测上耗费时间,所以不优选。
在日本特开平8-87429号公报中,作为对PLC的应用程序的存储区域(ROM的区域)进行检查的方法,预先将合计了检查对象区域的程序代码的校验和(检查基准值)存储于ROM,其中,PLC的应用程序用于进行与用途相应地变更的顺序控制。在执行检查时,合计从检查对象区域的ROM读出的值,并判定与存储于ROM的校验和是否一致。
另外,在日本特开2006-40122号公报中,将PLC的检查对象的RAM的区域分割成多个,每当接通一次电源时将一个检查单位作为对象进行检查,若切断电源并再次接通电源,则对在上次的电源切断前检查出的检查单位的下一检查单位进行检查。
日本特开平8-87429号公报所记载的检查方法是进行存储于ROM的程序代码的检查的方法,并不进行能够随时改写值的RAM的检查,并不能够应用于RAM的检查。
另外,由于日本特开2006-40122号公报所记载的检查方法不在电源接通时一次检查成为检查对象的RAM区域的全部区域,而在每当接通电源时逐点检查,由于在进行了第N次的电源接通时检查对象的RAM区域的整体的检查才得以完成,所以从RAM产生异常至检测到异常耗费时间,不优选。
发明内容
本发明的目的之一在于提供一种能够用几分钟左右来实施成为检查对象的RAM检查区域内的全部的RAM的检查,并且能够适当地满足规定的安全标准的可编程逻辑控制器的RAM检查方法以及可编程逻辑控制器。
本发明的一个方式的可编程逻辑控制器的RAM的检查方法具有写入读出步骤,在该写入读出步骤中,将RAM的成为检查对象的区域即RAM检查区域分割成多个块,并使用控制装置针对将从已分割的所述块中提取出的两个块组合而成的组合块内的各单位存储区域,写入了规定值之后,顺序检查从该单位存储区域读出的值是否与写入的值一致,其特征在于,所述控制装置针对从已分割的多个所述块中提取出两个块而组成的全部组合执行所述写入读出步骤。
根据上述方式,通过针对从分割RAM检查区域而成的多个块中提取出两个块而组成的全部组合执行写入读出步骤,能够适当地满足规定的安全标准(IEC标准等),并且能够在更短时间内进行RAM的检查。
本发明的其他方式在上述方式的可编程逻辑控制器的RAM检查方法的基础上,在所述RAM设置有与所述RAM检查区域不同的区域即RAM暂时移存区域,所述块内的单位存储区域的个数被设定为所述RAM暂时移存区域的单位存储区域的个数的1/2以下,所述控制装置在将提取出的所述组合块内的各单位存储区域的值存储至所述RAM暂时移存区域之后,执行所述写入读出步骤,在执行了所述写入读出步骤之后将存储至所述RAM暂时移存区域的值写回至原来的所述组合块内的各单位存储区域,在所述RAM的检查之后再现并维持在所述RAM的检查之前存储于所述RAM检查区域的值。
根据上述方式,能够使分割成多个的各块的尺寸为适当的尺寸,即便是RAM检查后,也能够使RAM检查区域的RAM的值适当地保持RAM检查前的值。
本发明的其他方式为可编程逻辑控制器,该可编程逻辑控制器搭载有使用上述方式的可编程逻辑控制器的RAM检查方法来进行所述RAM检查区域的RAM的检查的RAM检查程序。
根据上述方式,能够实现能够在更短时间内进行适当的RAM的检查的可编程逻辑控制器。
附图说明
通过以下参照附图对本发明的优选实施方式进行的详细描述,本发明的上述以及其它特征和优点会变得更加清楚,其中,相同的符号表示相同的要素,其中:
图1是对构成本发明的PLC的控制单元、输入单元以及输出单元的外观的例子进行说明的立体图。
图2是对由控制单元、输入单元、以及输出单元构成的PLC的块结构以及连接的例子进行说明的图。
图3是对通过PLC的CPU执行的RAM检查的处理次序进行说明的流程图。
图4是对处于图3的流程图中的RAM写入读出子例行程序(SB100)的处理的详细内容进行说明的流程图。
图5是图4的接续。
图6是图5的接续。
图7是图6的接续。
图8是对包括成为检查对象的RAM检查区域的RAM的区域的结构的例子进行说明的图。
具体实施方式
以下,使用附图对本发明的实施方式进行说明。如图1所示,PLC1包括控制单元10、输入单元20、以及输出单元30。与输入输出的数量相应地适当增设输入单元20以及输出单元30。在输入单元20内收纳有具备用于与控制单元10连接的连接器22的输入板21,并设置有连接来自多个输入设备(开关、传感器等)的布线的输入端子25。在输出单元30内收纳有具备用于与控制单元10连接的连接器33的输出板31,并设置有连接与多个输出设备(继电器、马达等)连接的布线的输出端子35。在控制单元10内收纳有具备用于与输入单元20连接的连接器12、用于与输出单元30连接的连接器13的控制板11,并设置有能够连接个人计算机等终端装置的连接器15、用于与其他的PLC连接的连接器16等。
接下来,使用图2对PLC1的块结构以及连接的例子进行说明。在输入单元20的输入端子25上连接来自多个输入设备(开关40a、传感器40b……输入装置40n等)的布线,并向输入单元20的输入端子25输入与多个输入设备的导通状态相关的信号(接通或者断开的信息等)。被输入了的与导通状态相关的信号经由接口21a(以下将接口记载为I/F)以及连接器22被传输至控制单元10。
控制单元10以CPU11a(与控制装置相当)为中心构成,并具备RAM11b、ROM11c。ROM11c使用EEPROM、Flash ROM等能够改写的ROM,在ROM11c存储有模拟以串联或者并联的方式连接任意的输入设备而构成的顺序电路的顺序程序等。用户能够使用终端装置50并使用梯形电路等来制作顺序程序,并能够使制作出的顺序程序存储(写入)至控制单元10。在该顺序程序中也安装(implement)有实现下述的RAM检查方法的RAM检查程序。此外,在ROM11c中也储存有经由I/F11g与终端装置50、其他的PLC60等进行通信的程序等。CPU11a将基于存储于ROM11c的顺序程序和经由连接器12以及I/F11d从输入单元20输入的与来自各输入设备的导通状态相关的信号的运算结果,经由I/F11f以及连接器13输出至输出单元30。
在输出单元30的输出端子35上连接有与多个输出设备(马达42a、继电器42b……输出装置42n等)连接的布线。而且,将由控制单元10基于顺序程序和各输入设备的导通状态求出的运算结果经由连接器33以及I/F31a输出至与输出端子35连接的输出设备。
接下来,使用图3对通过图2所示的PLC1的控制单元10的CPU11a(与控制装置相当)执行的RAM11b的检查的处理次序进行说明。图3所示的RAM检查例如在控制单元10执行通常的控制即被称为主处理或者通常处理的机械的控制处理中因中断处理等而被起动。对RAM检查的起动的定时没有特别限定。此外,将在本实施方式中说明的RAM检查的方法的处理次序设为基于March C这样的公知的存储器测试方法的处理次序。另外,将RAM检查区域设为除了堆栈区域、通信用区域、周边装置用区域等特殊的使用区域之外的全部的区域。
在步骤S10,CPU11a确认RAM的成为检查对象的区域即RAM检查区域和RAM暂时移存区域,并进入至步骤S15。应予说明,RAM检查区域的先头的RAM的地址以及最后的RAM的地址、RAM暂时移存区域的先头的RAM的地址以及最后的RAM的地址等被预先存储于ROM11c的程序区域的任意一个位置。例如在图8所示的例子中,RAM检查区域为地址0x00~0xBF,RAM暂时移存区域为地址0xC0~0xFF。这些区域的先头和最后的地址被存储于ROM11c,CPU11a从ROM11c读出这些地址,并确认RAM检查区域、RAM暂时移存区域。另外,对于RAM检查区域的各RAM的值,需要在RAM检查程序的执行后也维持(保持)在执行该RAM检查程序之前存储了的值。应予说明,RAM暂时移存区域例如是堆栈区域。另外,在图8的例子中示出RAM检查区域是连续的地址的区域的例子,但不限定RAM检查区域是连续的地址的区域,也可以是多个非连续的区域。
在步骤S15,CPU11a将RAM检查区域分割成多个块并进入至步骤S20。在分割成多个块时,CPU11a以各块内的单位存储区域的个数在RAM暂时移存区域的单位存储区域的个数的1/2以下的方式进行分割。单位存储区域是指进行数据的写入、读出时的最小单位的存储区域,例如是一个字节的存储区域。对各单位区域分配不同的地址。在图8的RAM的区域结构的例子的情况下,由于有跨0xC0~0xFF(0x表示16进制)的地址的64个RAM暂时移存区域的单位存储区域,所以以各块的单位存储区域的个数在64(个)*1/2=32(个)以下的方式进行分割。此外,由于若分割的块的数量尽量少,则能够缩短检查时间,所以在图8的例子中示出以各块的单位存储区域的个数为32个的方式进行分割,将RAM检查区域分割成了第一块~第六块的例子。此外,也可以预先将RAM检查区域分割成多个块而省略步骤S10和步骤S15。
在步骤S20,CPU11a在将从分割成的块中提取出的两个块组合而成的组合块(例如第一块与第二块的组合、第三块与第四块的组合等)中提取出最初应检查的(m,n)的组合块,并进入至步骤S35。例如在提取出第一块与第二块的组合的情况下表示(m,n)=(1,2),在提取出第三块与第四块的组合的情况下表示(m,n)=(3,4)。例如,最初应检查的组合块是(1,2)的组合块。在以下的说明中,(m,n)表示第m块与第n块的组合(其中,m<n)。
在步骤S35,CPU11a将提取出的(m,n)的组合块内的各单位存储区域的值复制(移存)至RAM暂时移存区域的各单位存储区域,并进入至步骤S40。例如在(m,n)=(1,2)的情况下,将图8所示的第一块的各单位存储区域(地址0x00~0x1F)的值复制至RAM暂时移存区域的各单位存储区域(地址0xC0~0xDF),并将第二块的各单位存储区域(地址0x20~0x3F)的值复制至RAM暂时移存区域的各单位存储区域(地址0xE0~0xFF)。
然后,在步骤S40,CPU11a执行图4~图7所示的子例行程序SB100的处理,若从子例行程序SB100返回,则进入至步骤S50。应予说明,在子例行程序SB100中,如下述那样,在向提取出的(m,n)的组合块内的各单位存储区域写入了规定值之后,按顺序检查从该单位存储区域读出的值是否与写入的值一致。该子例行程序SB100的处理与写入读出步骤相当,下述详细内容。
在步骤S50,CPU11a判定子例行程序SB100的处理结果是否为RAM正常,在RAM正常的情况(是)下进入至步骤S60,在RAM不正常的情况(否)下进入至步骤S80。应予说明,在步骤S80,CPU11a报告在RAM中发现了异常(例如使异常灯点亮等)并使动作停止。
在进入至了步骤S60的情况下,CPU11a将已复制至RAM暂时移存区域的各单位存储区域的值(在步骤S35复制的值)写回至提取出的(m,n)的组合块内的各单位存储区域并进入至步骤S65。例如在(m,n)=(1,2)的情况下,将复制(移存)至图8所示的RAM暂时移存区域的各单位存储区域(地址0xC0~0xDF)的值写回至第一块的各单位存储区域(地址0x00~0x1F),将复制(移存)至RAM暂时移存区域的各单位存储区域(地址0xE0~0xFF)的值写回至第二块的各单位存储区域(地址0x20~0x3F)。由此,能够使在RAM检查前保持的值在RAM检查后也得以维持(保持)。
然后,在步骤S65,CPU11a判定全部的(m,n)的组合块的检查是否结束,在全部的组合块的检查结束了的情况(是)下,结束本RAM的检查的处理,在全部的组合块的检查未结束的情况(否)下进入至步骤S70。例如在如图8所示那样分割成第一块~第六块的情况下,在(1,2)、(1,3)、(1,4)、(1,5)、(1,6)、(2,3)、(2,4)、(2,5)、(2,6)、(3,4)、(3,5)、(3,6)、(4,5)、(4,6)、(5,6)的6C2=15(组)的全部的组合块的检查结束了的情况下,结束本RAM的检查的处理。
在进入至了步骤S70的情况下,CPU11a提取接下来应检查的(m,n)的组合块,并返回至步骤S35。例如在进行了(1,2)的组合块的检查时到达了步骤S70的情况下,提取接下来的(1,3)的组合块并返回至步骤S35。
接下来,使用图4~图7对在图3所示的步骤S40执行的子例行程序SB100的处理次序进行说明。其中,图4所示的处理次序是使单位存储区域的地址为升序并且使写入以及读出的数据(值)为升序而执行的RAM的写入读出检查。另外,图5所示的处理次序是使单位存储区域的地址为升序并且使写入以及读出的数据(值)为降序而执行的RAM的写入读出检查。另外,图6所示的处理次序是使单位存储区域的地址为降序并且使写入以及读出的数据(值)为升序而执行的RAM的写入读出检查。另外,图7所示的处理次序是使单位存储区域的地址为降序并且使写入以及读出的数据(值)为降序而执行的RAM的写入读出检查。
在图4所示的步骤S110,CPU11a按照地址的升序向(m,n)的组合块内的全部单位存储区域写入第1-1规定值,并进入至步骤S115。例如在(1,2)的组合块的情况下,首先向地址0x00的单位存储区域写入第1-1规定值的0x00(),向升序下的接下来的地址0x01的单位存储区域写入0x00(第1-1规定值),以后顺序写入0x00(第1-1规定值),直至地址0x3F的单位存储区域为止。
在步骤S115,CPU11a将(m,n)的组合块内的先头的单位存储区域的地址(在该情况下,先头的单位存储区域的地址为0x00)保存至索引值的存储区域(以下称为索引存储器),并进入至步骤S125。然后在步骤S125,CPU11a从与索引存储器内的地址对应的单位存储区域读出值,并判定读出的值是否与第1-1规定值(在步骤S110写入的值)一致,在一致的情况(是)下进入至步骤S130,在不一致的情况(否)下进入至步骤S180。进入至步骤S180的情况是在RAM中发现了异常的情况,CPU11a存储RAM异常并从子例行程序SB100返回。
在进入至步骤S130的情况下,CPU11a向索引存储器内的地址的单位存储区域写入按照升序变更了的第1-2规定值,并进入至步骤S135。第1-2规定值例如是0x01。然后在步骤S135,CPU11a从索引存储器内的地址的单位存储区域读出值,并判定读出的值是否与第1-2规定值(在步骤S130写入的值)一致,在一致的情况(是)下进入至步骤S140,在不一致的情况(否)下进入至步骤S180。在进入至步骤S180的情况下,如上述那样,CPU11a存储RAM异常并从子例行程序SB100返回。其中,在步骤S135~步骤S140之间省略描绘了以下的多个步骤。即,与步骤S130以及步骤S135相同,向索引存储器内的地址的单位存储区域写入规定值,并使用第1-3规定值(例如0x03)、第1-4规定值(例如0x07)、第1-5规定值(例如0x0F)、第1-6规定值(例如0x1F)、第1-7规定值(例如0x3F)、第1-8规定值(例如0x7F)等以升序的数据进行读出的值是否是规定值的校验的步骤。
在进入至步骤S140的情况下,CPU11a向索引存储器内的地址的单位存储区域写入第1-a规定值(例如0xFF),并进入至步骤S145。然后在步骤S145,CPU11a从索引存储器内的地址的单位存储区域读出值,并判定读出的值是否与第1-a规定值(在步骤S140写入的值)一致,在一致的情况(是)下进入至步骤S150,在不一致的情况(否)下进入至步骤S180。在进入至步骤S180的情况下,如上述那样,CPU11a存储RAM异常并从子例行程序SB100返回。
在进入至了步骤S150的情况下,CPU11a判定索引存储器内的地址是否是当前正在校验的(m,n)的组合块内的最后的单位存储区域的地址,在是最后的单位存储区域的地址的情况(是)下,移至与符号B对应的图5的处理,在不是最后单位存储区域的地址的情况(否)下进入至步骤S155。例如在图8所示的(1,2)的组合块(第一块与第二块)的情况下,CPU11a在索引存储器内的地址为0x3F的情况下,判定为是最后的单位存储区域的地址。
在进入至步骤S155的情况下,CPU11a将当前正在提取的(m,n)的组合块内的接下来应检查的单位存储区域的地址保存至索引存储器,并返回至步骤S125。例如在为当前正提取(1,2)的组合块的情况下,且在为结束了0x00的单位存储区域的校验的情况下,在该图4的处理中按照升序改变单位存储区域的地址并检查,所以将接下来应检查的单位存储区域的地址的0x01保存至索引存储器。
通过图4所示的处理次序,按照升序变更单位存储区域的地址并且按照升序变更写入以及读出的数据(值)地执行的RAM的写入读出检查完成。接下来,按照图5所示的处理次序执行按照升序变更单位存储区域的地址并且按照降序变更写入以及读出的数据(值)地执行的RAM的写入读出检查。
若在图4所示的流程图中从步骤S150进入至B,则移至图5所示的处理。图5所示的步骤S215~步骤S280的处理相对于图4所示的处理,在按照升序校验相同的(m,n)的组合块内的单位存储区域的地址这一点上相同,但写入以及读出的数据不是按照升序而是按照降序这一点不同。
由于步骤S215的处理与图4的步骤S115的处理相同,所以省略说明。另外,步骤S225的处理相对于图4的步骤S125的处理,在读出的值是第1-a规定值(是在步骤S140写入的值,例如0xFF)这一点上不同。CPU11a在读出的值与第1-a规定值一致的情况(是)下进入至步骤S230,在与第1-a规定值不一致的情况下进入至步骤S280。在进入至了步骤S280的情况下,CPU11a存储RAM异常并从子例行程序SB100返回。
步骤S230、S235……S240、S245的处理相对于图4的步骤S130、S135……S140、S145的处理,写入的值以及读出的值不同,且在不是按照升序而是按照降序这一点上不同。即,在图4的步骤S130、S135……S140、S145中,如第1-2规定值(0x01)、第1-3规定值(0x03)、第1-4规定值(0x07)……第1-a规定值(0xFF)这样按照升序对数据进行写入以及读出,但在步骤S230、S235……S240、S245的处理中,如第2-1规定值(例如0xFE)、第2-2规定值(例如0xFC)、第2-3规定值(例如0xF8)、第2-4规定值(例如0xF0)、第2-5规定值(例如0xE0)、第2-6规定值(例如0xC0)、第2-7规定值(例如0x80)、第2-b规定值(例如0x00)这样按照降序对数据进行写入以及读出。
然后,在进入至了步骤S250的情况下,与图4的步骤S150的处理相同,CPU11a判定索引存储器内的地址是否是当前正在校验的(m,n)的组合块内的最后单位存储区域的地址,在是最后单位存储区域的地址的情况(是)下移至表示为C的图6的处理,在不是最后单位存储区域的地址的情况(否)下进入至步骤S255。
在进入至了步骤S255的情况下,CPU11a将当前正在提取的(m,n)的组合块内的接下来应检查的单位存储区域的地址保存至索引存储器,并返回至步骤S225。例如在当前正提取(1,2)的组合块的情况下,且在结束了0x00的单位存储区域的校验的情况下,在该图5的处理中按照升序检查单位存储区域的地址,所以将接下来应检查的单位存储区域的地址的0x01保存至索引存储器。
通过图5所示的处理次序,按照升序变更单位存储区域的地址并且按照降序变更写入以及读出的数据(值)地执行的RAM的写入读出检查完成。接下来,在图6所示的处理次序中,执行使单位存储区域的地址为降序并且使写入以及读出的数据(值)为升序地执行的RAM的写入读出检查。
在图5所示的流程图中,若从步骤S250进入至C,则移至图6所示的处理。图6所示的步骤S305~步骤S380的处理相对于图4所示的处理,按照降序校验相同的(m,n)的组合块内的单位存储区域的地址这一点不同,写入以及读出的数据为升序这一点相同。
在步骤S305,CPU11a从(m,n)的组合块内的全部单位存储区域顺序读出值(例如按照单位存储区域地址的升序读出),并判定读出的值是否与第2-b规定值(0x00)一致,在一致的情况(是)下进入至步骤S315,在不一致的情况(否)下进入至步骤S380。在进入至了步骤S380的情况下,CPU11a存储RAM异常并从子例行程序SB100返回。
在进入至了步骤S315的情况下,CPU11a将(m,n)的组合块内的最后的单位存储区域的地址(在该情况下,最后单位存储区域的地址为0x3F)保存至索引存储器并进入至步骤S325。在步骤S325,CPU11a从索引存储器内的地址的单位存储区域读出值,并判定读出的值是否与第2-b规定值(在步骤S240写入的值)一致。在一致的情况(是)下进入至步骤S330,在不一致的情况(否)下进入至步骤S380。在进入至了步骤S380的情况下,CPU11a存储RAM异常并从子例行程序SB100返回。
步骤S330、S335……S340、S345的处理与图4的步骤S130、S135……S140、S145的处理相同,写入的值以及读出的值为升序,但索引存储器内的值从最后单位存储区域的地址向先头单位存储区域的地址降序地变化这一点不同。对于写入以及读出,如第1-2规定值(0x01)、第1-3规定值(0x03)、第1-4规定值(0x07)…第1-a规定值(0xFF)这样使数据为升序地进行写入以及读出。
然后,在进入至了步骤S350的情况下,CPU11a判定索引存储器内的地址是否是当前正在校验的(m,n)的组合块内的先头的单位存储区域的地址,在是先头的单位存储区域的地址的情况(是)下,移至表示为D的图7的处理,在不是先头的单位存储区域的地址的情况(否)下进入至步骤S355。在图8所示的(1,2)的组合块(第一块与第二块)的情况下,CPU11a在索引存储器内的地址为0x00的情况下判定为是先头的单位存储区域的地址。
在进入至了步骤S355的情况下,CPU11a将当前正在提取的(m,n)的组合块内的接下来应检查的单位存储区域的地址保存至索引存储器并返回至步骤S325。例如在当前正提取(1,2)的组合块的情况下,且在结束了0x3F的单位存储区域的校验的情况下,由于在该图6的处理中按照降序检查单位存储区域的地址,所以将接下来应检查的单位存储区域的地址的0x3E保存至索引存储器。
通过图6所示的处理次序,按照降序变更单位存储区域的地址并且按照升序变更写入以及读出的数据(值)地执行的RAM的写入读出检查完成。接下来,通过图7所示的处理次序,执行按照降序变更单位存储区域的地址并且按照降序变更写入以及读出的数据(值)地执行的RAM的写入读出检查。
在图6所示的流程图中,若从步骤S350进入至D,则移至图7所示的处理。图7所示的步骤S415~步骤S490的处理相对于图6所示的处理,按照降序校验相同的(m,n)的组合块内的单位存储区域的地址这一点相同,但写入以及读出的数据不是按照升序而是按照降序这一点不同。
由于步骤S415的处理与图6的步骤S315的处理相同,所以省略说明。另外,步骤S425的处理相对于图6的步骤S325的处理,读出的值为第1-a规定值(是在步骤S340写入的值,例如为0xFF)这一点不同。CPU11a在读出的值与第1-a规定值一致的情况(是)下进入至步骤S430,在与第1-a规定值不一致的情况下进入至步骤S480。在进入至了步骤S480的情况下,CPU11a存储RAM异常并从子例行程序SB100返回。
步骤S430、S435……S440、S445的处理相对于图6的步骤S330、S335……S340、S345的处理,写入的值以及读出的值不同且不是按照升序而是按照降序这一点不同。在图6的步骤S330、S335……S340、S345中,如第1-2规定值(0x01)、第1-3规定值(0x03)、第1-4规定值(0x07)…第1-a规定值(0xFF)这样使数据升序地进行写入以及读出,但在步骤S430、S435……S440、S445的处理中,如第2-1规定值(例如0xFE)、第2-2规定值(例如0xFC)、第2-3规定值(例如0xF8)、第2-4规定值(例如0xF0)、第2-5规定值(例如0xE0)、第2-6规定值(例如0xC0)、第2-7规定值(例如0x80)、第2-b规定值(例如0x00)这样使数据降序地进行写入以及读出。
然后,在进入至了步骤S450的情况下,与图6的步骤S350的处理相同,CPU11a判定索引存储器内的地址是否是当前正在校验的(m,n)的组合块内的先头的单位存储区域的地址。在是先头的单位存储区域的地址的情况(是)下进入至步骤S490,在不是先头的单位存储区域的地址的情况(否)下进入至步骤S455。
在进入至了步骤S455的情况下,CPU11a将当前正在提取的(m,n)的组合块内的接下来应检查的单位存储区域的地址保存至索引存储器,并返回至步骤S425。例如在当前正提取(1,2)的组合块的情况下,且在结束了0x3F的单位存储区域的校验的情况下,由于在该图7的处理中按照降序检查单位存储区域的地址,所以将接下来应检查的单位存储区域的地址的0x3E保存至索引存储器。
通过图7所示的处理次序,按照降序变更单位存储区域的地址并且按照降序变更写入以及读出的数据(值)地执行的单位存储区域的写入读出检查完成。然后,在进入至了步骤S490的情况下,针对提取出的(m,n)的组合块内的全部单位存储区域确认了图4所示的使地址为升序且使数据为升序的RAM的检查、图5所示的使地址为升序且使数据为降序的RAM的检查、图6所示的使地址为降序并且使数据为升序的RAM的检查、图7所示的使地址为降序且使数据为降序的RAM的检查的全部检查均正常,所以CPU11a存储RAM正常并从子例行程序SB100返回。
通过以上说明的RAM检查方法,例如在将RAM检查区域分割成了第一块、第二块、第三块的三个块的情况下,若对于(1,2)、(1,3)、(2,3)的块的组合分别确认了没有RAM的干扰,则能够确认在第一块、第二块、第三块之间相互没有RAM的干扰。RAM的干扰是若改写第一地址的单位存储区域的数据,则与其不同的第二地址的单位存储区域的数据也发生改变的现象。在本实施方式中说明的RAM检查方法中,即便在RAM检查区域的尺寸较大,没有能够暂时移存RAM检查区域内的全部的单位存储区域的值这样的RAM暂时移存区域的尺寸的情况下,通过将RAM检查区域例如分割成多个块,并对两个块的全部组合进行检查,也能够满足规定的安全标准,且在更短时间内适当地检查RAM检查区域的整体的单位存储区域正常这一情况。
Claims (2)
1.一种可编程逻辑控制器的RAM的检查方法,具有写入读出步骤,在该写入读出步骤中,将RAM的成为检查对象的区域即RAM检查区域分割成多个块,并使用控制装置针对将从已分割的所述块中提取出的两个块组合而成的组合块内的各单位存储区域,写入了规定值之后,顺序检查从该单位存储区域读出的值是否与写入的值一致,其特征在于,
针对从已分割的多个所述块中提取出两个块而组成的全部组合执行所述写入读出步骤,
在所述RAM设置有与所述RAM检查区域不同的区域即RAM暂时移存区域,
所述块内的单位存储区域的个数被设定为所述RAM暂时移存区域的单位存储区域的个数的1/2以下,
所述控制装置在将提取出的所述组合块内的各单位存储区域的值存储至所述RAM暂时移存区域之后,执行所述写入读出步骤,在执行了所述写入读出步骤之后将存储至所述RAM暂时移存区域的值写回至原来的所述组合块内的各单位存储区域,在所述RAM的检查之后再现并维持所述RAM的检查之前存储至所述RAM检查区域的值。
2.一种可编程逻辑控制器,其特征在于,
搭载有使用权利要求1所述的可编程逻辑控制器的RAM检查方法来进行所述RAM检查区域的单位存储区域的检查的RAM检查程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014-061861 | 2014-03-25 | ||
JP2014061861A JP6269228B2 (ja) | 2014-03-25 | 2014-03-25 | プログラマブルロジックコントローラのram検査方法及びプログラマブルロジックコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104950784A CN104950784A (zh) | 2015-09-30 |
CN104950784B true CN104950784B (zh) | 2019-04-09 |
Family
ID=52697262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510128135.0A Expired - Fee Related CN104950784B (zh) | 2014-03-25 | 2015-03-23 | 可编程逻辑控制器的ram的检查方法以及可编程逻辑控制器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9817384B2 (zh) |
EP (1) | EP2924525A1 (zh) |
JP (1) | JP6269228B2 (zh) |
CN (1) | CN104950784B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102015219266A1 (de) * | 2015-10-06 | 2017-04-06 | Robert Bosch Gmbh | Verfahren zum Testen einer Speichereinheit eines Mikrocontrollers |
KR102110340B1 (ko) * | 2018-11-27 | 2020-05-13 | 엘에스일렉트릭(주) | Plc 통신모듈에서 슬레이브 장치의 eeprom 복구 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4541090A (en) * | 1981-06-09 | 1985-09-10 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory device |
CN101432671A (zh) * | 2004-07-29 | 2009-05-13 | 株式会社捷太格特 | 安全控制设备、安全控制系统和用于检测通信错误的方法 |
CN201352313Y (zh) * | 2009-01-16 | 2009-11-25 | 北京凯迪恩自动化技术有限公司 | 具有多路数字量输入/输出复用通道的plc扩展模块装置 |
CN102737102A (zh) * | 2011-04-01 | 2012-10-17 | Ls产电株式会社 | Plc数据日志模块以及在其中存储数据的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57203298A (en) * | 1981-06-09 | 1982-12-13 | Matsushita Electric Ind Co Ltd | Semiconductor storage device |
JP2811580B2 (ja) * | 1989-04-28 | 1998-10-15 | エヌシーアール インターナショナル インコーポレイテッド | Lsiメモリーのテスト方法 |
US5377148A (en) * | 1990-11-29 | 1994-12-27 | Case Western Reserve University | Apparatus and method to test random access memories for a plurality of possible types of faults |
JPH0887429A (ja) | 1994-09-19 | 1996-04-02 | Fuji Electric Co Ltd | プログラマブルコントローラ |
JP2006040122A (ja) * | 2004-07-29 | 2006-02-09 | Toyoda Mach Works Ltd | プログラマブルコントローラ |
JP4455547B2 (ja) * | 2006-07-07 | 2010-04-21 | 株式会社東芝 | 半導体集積回路 |
JP5409936B2 (ja) * | 2011-02-18 | 2014-02-05 | 三菱電機株式会社 | メモリ診断装置及びメモリ診断方法及びプログラム |
-
2014
- 2014-03-25 JP JP2014061861A patent/JP6269228B2/ja not_active Expired - Fee Related
-
2015
- 2015-03-17 US US14/660,106 patent/US9817384B2/en active Active
- 2015-03-23 CN CN201510128135.0A patent/CN104950784B/zh not_active Expired - Fee Related
- 2015-03-23 EP EP15160240.6A patent/EP2924525A1/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4541090A (en) * | 1981-06-09 | 1985-09-10 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory device |
CN101432671A (zh) * | 2004-07-29 | 2009-05-13 | 株式会社捷太格特 | 安全控制设备、安全控制系统和用于检测通信错误的方法 |
CN201352313Y (zh) * | 2009-01-16 | 2009-11-25 | 北京凯迪恩自动化技术有限公司 | 具有多路数字量输入/输出复用通道的plc扩展模块装置 |
CN102737102A (zh) * | 2011-04-01 | 2012-10-17 | Ls产电株式会社 | Plc数据日志模块以及在其中存储数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6269228B2 (ja) | 2018-01-31 |
CN104950784A (zh) | 2015-09-30 |
US20150277417A1 (en) | 2015-10-01 |
JP2015184992A (ja) | 2015-10-22 |
EP2924525A1 (en) | 2015-09-30 |
US9817384B2 (en) | 2017-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104750063B (zh) | 用于配置工业安全继电器的系统和工业安全系统配置方法 | |
CN104749993B (zh) | 用于配置工业安全继电器的系统和方法 | |
US7200543B2 (en) | Method for fault analysis using simulation | |
JP6852519B2 (ja) | プログラム作成支援装置、プログラム作成支援装置の制御方法、およびプログラム作成支援装置の制御プログラム | |
CN103460650A (zh) | 网络系统、主机及网络系统的控制方法 | |
CN111104768B (zh) | 一种基于数字孪生模型的时序类潜在问题识别方法及系统 | |
CN104750514B (zh) | 配置工业安全继电器的系统和安全继电器程序配置方法 | |
CN104950784B (zh) | 可编程逻辑控制器的ram的检查方法以及可编程逻辑控制器 | |
KR102471141B1 (ko) | 전기 시설, 특히 핵 시설을 제어하기 위한 프로그래밍가능 논리 회로, 연관된 제어 디바이스 및 방법 | |
US20130144409A1 (en) | Control program generation device, control program generation program, and control program generation method | |
CN103064992A (zh) | 一种基于有向网格点的布线存储结构及其布线方法 | |
US5949674A (en) | Reconstruction tool for editing distributed industrial controller programs | |
CN110209118A (zh) | 具有使用多种类多数量资源和柔性路径特征的基于Petri网的稳健性控制方法 | |
US20050033457A1 (en) | Simulation aid tools and ladder program verification systems | |
CN105144168A (zh) | 模拟装置以及模拟程序 | |
KR102258079B1 (ko) | 전기 시스템들의 전기 회로도들의 후속적 도식적 생성을 목적으로 자동차들에 관한 데이터를 관리하기 위한 방법 | |
CN106776775B (zh) | 并发主从同步方法及装置 | |
EP3196718A1 (en) | Embedded emulation modules in industrial control devices | |
KR101527419B1 (ko) | 자동화 라인의 정상 상태 판단을 위한 기준 마스터 패턴 생성 방법 | |
CN116661427A (zh) | 一种列控中心区间逻辑占用检查并行测试方法及装置 | |
Hammer et al. | Model-driven application development for evaluation and optimization of automotive E/E-architectures | |
KR20150131004A (ko) | 전기 시스템의 전기 회로도를 도식적으로 생성할 목적으로 후속적으로 이용될 데이터의 세트를 처리하기 위한 방법 | |
CN112395224B (zh) | 数据处理方法、系统、串接装置及电子设备 | |
US20110010689A1 (en) | System for Writing a Simulation Program | |
Ko et al. | Machine control level simulation of an AS/RS in the automotive industry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190409 |
|
CF01 | Termination of patent right due to non-payment of annual fee |