JP6269228B2 - プログラマブルロジックコントローラのram検査方法及びプログラマブルロジックコントローラ - Google Patents

プログラマブルロジックコントローラのram検査方法及びプログラマブルロジックコントローラ Download PDF

Info

Publication number
JP6269228B2
JP6269228B2 JP2014061861A JP2014061861A JP6269228B2 JP 6269228 B2 JP6269228 B2 JP 6269228B2 JP 2014061861 A JP2014061861 A JP 2014061861A JP 2014061861 A JP2014061861 A JP 2014061861A JP 6269228 B2 JP6269228 B2 JP 6269228B2
Authority
JP
Japan
Prior art keywords
ram
inspection
value
area
programmable logic
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
Application number
JP2014061861A
Other languages
English (en)
Other versions
JP2015184992A (ja
Inventor
健一 池上
健一 池上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JTEKT Corp
Original Assignee
JTEKT Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by JTEKT Corp filed Critical JTEKT Corp
Priority to JP2014061861A priority Critical patent/JP6269228B2/ja
Priority to US14/660,106 priority patent/US9817384B2/en
Priority to CN201510128135.0A priority patent/CN104950784B/zh
Priority to EP15160240.6A priority patent/EP2924525A1/en
Publication of JP2015184992A publication Critical patent/JP2015184992A/ja
Application granted granted Critical
Publication of JP6269228B2 publication Critical patent/JP6269228B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14085Memory testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online 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)
  • Programmable Controllers (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、プログラマブルロジックコントローラのRAM検査方法及びプログラマブルロジックコントローラに関する。
プログラマブルロジックコントローラ(Programmable Logic Controller、以下、PLCと記載する)は、工場の自動機械の制御等に使用されている。PLCは、小型のコンピュータであり、プログラムで動作する中央処理装置(以下、CPUと記載する)を備え、プログラムの設計にはラダー回路が利用され、用途に合わせたシーケンスプログラムに適宜書き換えられて利用されている。そしてPLCには種々の入力機器(スイッチ、センサ等)からの導通状態に関する信号(ONまたはOFFの情報)が入力され、PLCは、種々の入力機器を所望する形態に組み合わせた(直列または並列に組み合わせた)シーケンスプログラムを用いて、出力機器(リレー、モータ等)を制御(ONまたはOFF信号を出力等)している。
また工場等で使用されるPLCは、所定の安全規格(例えばIEC規格)を満足する必要があり、当該安全規格の中の1つに、CPUが利用するRAMに関する安全規格がある。当該RAMに関する安全規格を満足するための検査方法には、種々の方法が考えられ、例えばGalpatという手法を用いてRAMの検査を行うことで、RAMに関する安全規格を満足することができる。しかし、Galpatの手法を用いてRAMの検査を行うと、非常に長い時間(例えば2〜3時間程度)を必要としてしまい、異常の検知に時間がかかってしまうので、好ましくない。
特許文献1では、用途に応じて変更されるシーケンス制御を行うためのPLCの応用プログラムの記憶領域(ROMの領域)を検査する方法として、予め検査対象領域のプログラムコードを合計したチェックサム(検査基準値)をROMに記憶している。検査を実行する際は、検査対象領域のROMから読み出した値を合計し、ROMに記憶されているチェックサムと一致するか否かを判定している。
また、特許文献2では、PLCの検査対象のRAMを複数に分割しておき、電源が1回投入される毎に、1つの検査単位を対象として検査し、電源が切断され、再度、電源が投入されると、前回の電源の切断前に完了していた検査単位の次の検査単位から検査を開始している。
特開平8−87429号公報 特開2006−40122号公報
特許文献1に記載の検査方法は、ROMに記憶されたプログラムコードの検査を行うものであり、随時、値を書き換え可能なRAMの検査を行うものではなく、RAMの検査に適用できるものではない。
また特許文献2に記載の検査方法は、電源が投入されたときに検査対象となるRAM領域の全てを1度に検査しているのでなく、電源の投入毎に、少しずつ検査を行い、N回目の電源投入がされたときに、ようやく検査対象のRAM領域の全体の検査が完了することになるので、あまり好ましくない。
本発明は、このような点に鑑みて創案されたものであり、検査対象となるRAM検査領域内の全てのRAMの検査を数分程度で実施することが可能であり、かつ所定の安全規格を適切に満足することができる、プログラマブルロジックコントローラのRAM検査方法及びプログラマブルロジックコントローラを提供することを課題とする。
上記課題を解決するため、本発明に係るプログラマブルロジックコントローラのRAM検査方法及びプログラマブルロジックコントローラは次の手段をとる。本発明の第1の発明は、プログラマブルロジックコントローラのRAM検査方法である。そして、制御手段を用いて、RAMの検査対象となる領域であるRAM検査領域が複数に分割されたブロックの中から抽出した2つのブロックを組合せた組合せブロック内の各RAMに対して、所定値を書き込んだ後、当該RAMから読み出した値が書き込んだ値と一致するか否かを順番に検査する、書き込み読み出しステップ、を有し、前記書き込み読み出しステップを、分割した複数の前記ブロックの中から2つのブロックを抽出する全ての組合せに対して実行する、プログラマブルロジックコントローラのRAM検査方法である。
次に、本発明の第2の発明は、上記第1の発明に係るプログラマブルロジックコントローラのRAM検査方法であって、前記RAMの領域には、前記RAM検査領域とは異なる領域であるRAM一時退避領域があり、前記RAM検査領域は、プログラマブルロジックコントローラのRAM検査方法による検査の前に記憶していた値を前記RAM検査方法による検査の後にも維持しておく必要がある。そして、前記ブロック内のRAMの個数は、前記RAM一時退避領域のRAMの個数の1/2以下に設定されており、前記書き込み読み出しステップを実行する際、抽出した前記組合せブロック内の各RAMの値を前記一時退避領域に記憶した後に前記書き込み読み出しステップを実行し、前記書き込み読み出しステップを実行した後に前記一時退避領域に記憶した値を前記組合せブロック内の各RAMに書き戻す、プログラマブルロジックコントローラのRAM検査方法である。
次に、本発明の第3の発明は、上記第1の発明または第2の発明に係るプログラマブルロジックコントローラのRAM検査方法を用いて前記RAM検査領域のRAMの検査を行うRAM検査プログラムが搭載された、プログラマブルロジックコントローラである。
第1の発明によれば、RAM検査領域を分割した複数のブロックの中から2つのブロックを抽出する全ての組合せに対して、書き込み読み出しステップを実行することで、適切に所定の安全規格(IEC規格等)を満足することができるとともに、RAMの検査をより短時間に行うことができる。
第2の発明によれば、複数に分割する各ブロックのサイズを、適切なサイズにすることが可能であり、RAM検査領域のRAMの値を、RAM検査後であっても、RAM検査前の値を適切に保持させておくことができる。
第3の発明によれば、適切なRAMの検査を、より短時間に行うことができる、プログラマブルロジックコントローラを実現することができる。
本発明のPLCを構成する制御ユニットと、入力ユニットと、出力ユニットの外観の例を説明する斜視図である。 制御ユニットと、入力ユニットと、出力ユニットにて構成されたPLCのブロック構成及び接続の例を説明する図である。 PLCのCPUによるRAM検査の処理手順を説明するフローチャートである。 図3に示すフローチャートにおける「RAM書き込み・読み出し(SB100)」の処理の詳細を説明するフローチャートである。 図3に示すフローチャートにおける「RAM書き込み・読み出し(SB100)」の処理の詳細を説明するフローチャートである。 図3に示すフローチャートにおける「RAM書き込み・読み出し(SB100)」の処理の詳細を説明するフローチャートである。 図3に示すフローチャートにおける「RAM書き込み・読み出し(SB100)」の処理の詳細を説明するフローチャートである。 検査対象となるRAM検査領域等の例を説明する図である。
以下に本発明を実施するための形態を図面を用いて説明する。
●[PLC1の外観(図1)]
図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等が設けられている。
●[PLC1のブロック構成及び接続例(図2)]
次に図2を用いてPLC1のブロック構成及び接続の例について説明する。入力ユニット20の入力端子25には、複数の入力機器(スイッチ40a、センサ40b・・入力手段40n等)からの配線が接続され、複数の入力機器の導通状態に関する信号(ONまたはOFFの情報等)が入力される。入力された導通状態に関する信号は、インターフェース21a(以下、インターフェースをI/Fと記載する)及びコネクタ22を介して制御ユニット10に伝送される。
制御ユニット10は、CPU11a(制御手段に相当)を中心に構成され、RAM11b、ROM11cが設けられている。ROM11cには、EEPROM、FlashROM等の書替え可能なROMが用いられ、任意の入力機器を直列または並列に組み合わせて構成したシーケンスプログラム等が記憶されている。ユーザは端末装置50を用いて、ラダー回路等を用いてシーケンスプログラムを作成可能であり、作成したシーケンスプログラムを制御ユニット10に記憶させる(書き込む)ことが可能である。このシーケンスプログラムには、後述する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に接続された出力機器に出力する。
●[RAM検査プログラムの処理手順(図3)]
次に図3を用いて、図2に示すPLC1の制御ユニット10のCPU11a(制御手段に相当)によるRAM11bの検査の処理手順について説明する。図3に示す処理は、例えば、制御ユニット10が通常の制御(メイン処理あるいは通常処理と呼ばれる機械の制御処理)の実行中に、割り込み等にて起動される。また、起動のタイミングは特に限定しない。なお、本実施の形態にて説明する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は、これらのアドレスを読み出して、RAM検査領域、RAM一時退避領域を確認する。また、RAM検査領域の各RAMの値は、当該RAM検査プログラムを実行する前に記憶していた値を、RAM検査プログラムの実行後にも維持(保持)しておく必要があるものとする。なお、RAM一時退避領域は、例えばスタック領域である。また図8の例ではRAM検査領域が連続したアドレスの領域である例を示しているが、、RAM検査領域は、連続したアドレスの領域に限定されず、複数の非連続の領域であってもよい。
ステップS15にてCPU11aは、RAM検査領域を複数のブロックに分割してステップS20に進む。複数のブロックに分割する際、CPU11aは、各ブロック内のRAMの個数が、RAM一時退避領域のRAMの個数の1/2以下となるように分割する。例えば図8の例の場合、RAM一時退避領域のRAMは0xC0〜0xFFの64個であるので、各ブロックのRAMの個数が64(個)*1/2=32(個)以下となるように分割する。なお、分割するブロックの数ができるだけ少ないほうが検査時間を短くすることができるので、図8の例では、各ブロックのRAMの個数が32個となるように分割しており、RAM検査領域を第1ブロック〜第6ブロックに分割した例を示している。なお、予めRAM検査領域を複数のブロックに分割しておき、ステップS10とステップS15を省略するようにしてもよい。
ステップS20にてCPU11aは、分割したブロックの中から抽出した2つのブロックを組合せた組合せブロック(例えば、第1ブロックと第2ブロックの組合せ、第3ブロックと第4ブロックの組合せ等)において、最初に検査するべき(m、n)の組合せブロックを抽出してステップS35に進む。例えば第1ブロックと第2ブロックの組合せを抽出した場合では(m、n)=(1、2)であり、第3ブロックと第4ブロックの組合せを抽出した場合では(m、n)=(3、4)であることを示している。例えばこの場合、最初に検査するべき組合せブロックは、(1、2)の組合せブロックである。以降の説明において、「(m、n)」は、第mブロックと第nブロックの組合せ(ただし、m<n)を示す。
ステップS35にてCPU11aは、抽出した(m、n)の組合せブロック内の各RAMの値を、RAM一時退避領域の各RAMにコピー(退避)してステップS40に進む。例えば(m、n)=(1、2)の場合では、図8に示す第1ブロックの各RAM(アドレス0x00〜0x1F)の値を、RAM一時退避領域の各RAM(アドレス0xC0〜0xDF)にコピーして、第2ブロックの各RAM(アドレス0x20〜0x3F)の値を、RAM一時退避領域の各RAM(アドレス0xE0〜0xFF)にコピーする。
そしてステップS40にてCPU11aは、図4〜図7に示すサブルーチンSB100の処理を実行し、サブルーチンSB100からリターンするとステップS50へ進む。なお、サブルーチンSB100では、後述するように、抽出した(m、n)の組合せブロック内の各RAMに対して、所定値を書き込んだ後、当該RAMから読み出した値が、書き込んだ値と一致するか否かを順番に検査する。このサブルーチンSB100の処理は、書き込み読み出しステップに相当しており、詳細については後述する。
ステップS50にてCPU11aは、サブルーチンSB100の処理の結果、RAMが正常であるか否かを判定し、RAMが正常の場合(Yes)はステップS60に進み、RAMが正常でない場合(No)はステップS80に進む。なおステップS80では、CPU11aは、RAMに異常が発見されたことを報知して(例えば異常ランプを点灯等して)動作を停止する。
ステップS60に進んだ場合、CPU11aは、RAM一時退避領域の各RAMにコピーした値(ステップS35にてコピーした値)を、抽出した(m、n)の組合せブロック内の各RAMに書き戻してステップS65に進む。例えば(m、n)=(1、2)の場合では、図8に示すRAM一時退避領域の各RAM(アドレス0xC0〜0xDF)にコピー(退避)しておいた値を、第1ブロックの各RAM(アドレス0x00〜0x1F)に書き戻し、RAM一時退避領域の各RAM(アドレス0xE0〜0xFF)にコピー(退避)しておいた値を、第2ブロックの各RAM(アドレス0x20〜0x3F)に書き戻す。これにより、RAM検査前に保持していた値を、RAM検査後でも維持(保持)させておくことができる。
そしてステップS65にてCPU11aは、全ての(m、n)の組合せブロックの検査が終了したか否かを判定し、全ての組合せブロックの検査が終了した場合(Yes)は、本RAMの検査の処理を終了し、全ての組合せブロックの検査が終了していない場合(No)はステップS70に進む。例えば図8に示すように、第1ブロック〜第6ブロックに分割した場合では、(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)の、62=15(通り)の全ての組合せブロックの検査が終了した場合に、本RAMの検査の処理を終了する。
ステップS70に進んだ場合、CPU11aは、次に検査するべき(m、n)の組合せブロックを抽出してステップS35に戻る。例えば(1、2)の組合せブロックの検査を行った際にステップS70に達した場合は、次の(1、3)の組合せブロックを抽出してステップS35に戻る。
●[サブルーチン(SB100)の処理手順の詳細(図4〜図7)]
次に、図3に示すステップSB100にて実行されるサブルーチンSB100の処理手順について、図4〜図7を用いて説明する。なお、図4に示す処理手順は、RAMを昇順、かつ書き込み及び読み出しするデータ(値)を昇順、にして実行するRAMの書き込み・読み出し検査である。また、図5に示す処理手順は、RAMを昇順、かつ書き込み及び読み出しするデータ(値)を降順、にして実行するRAMの書き込み・読み出し検査である。また、図6に示す処理手順は、RAMを降順、かつ書き込み及び読み出しするデータ(値)を昇順、にして実行するRAMの書き込み・読み出し検査である。また、図7に示す処理手順は、RAMを降順、かつ書き込み及び読み出しするデータ(値)を降順、にして実行するRAMの書き込み・読み出し検査である。
●[図4に示すフローチャートの処理(RAM:昇順、データ:昇順)の処理手順]
図4に示すステップS110にてCPU11aは、(m、n)の組合せブロック内の全RAMに、昇順に、第1・1所定値を書き込み、ステップS115に進む。例えば(1、2)の組合せブロックの場合では、ますアドレス0x00のRAMに0x00(第1・1所定値)を書き込み、昇順である次のアドレス0x01のRAMに0x00(第1・1所定値)を書き込み、以降、アドレス0x3FのRAMまで順番に0x00(第1・1所定値)を書き込む。
ステップS115にてCPU11aは、インデックスに(m、n)の組合せブロック内の先頭のRAMのアドレス(この場合、先頭のRAMのアドレスは0x00)を代入してステップS125に進む。そしてステップS125にてCPU11aは、インデックス先が示すアドレスのRAMから値を読み出し、読み出した値が第1・1所定値(ステップS110にて書き込んだ値)と一致するか否かを判定し、一致する場合(Yes)はステップS130に進み、一致しない場合(No)はステップS180に進む。なおステップS180に進んだ場合は、RAMに異常が発見された場合であり、CPU11aは、RAM異常を記憶してサブルーチンSB100からリターンする。
ステップS130に進んだ場合、CPU11aは、インデックス先が示すアドレスのRAMに、第1・2所定値(例えば0x01)を書き込み、ステップS135に進む。そしてステップS135にてCPU11aは、インデックス先が示すアドレスのRAMから値を読み出し、読み出した値が第1・2所定値(ステップS130にて書き込んだ値)と一致するか否かを判定し、一致する場合(Yes)はステップS140に進み、一致しない場合(No)はステップS180に進む。ステップS180に進んだ場合は、上述したように、CPU11aは、RAM異常を記憶してサブルーチンSB100からリターンする。なお、ステップS135〜ステップS140の間は、ステップS130及びステップS135と同様に、インデックス先のアドレスのRAMに、所定値を書き込んで、読み出した値が所定値であるか否かのチェックを、第1・3所定値(例えば0x03)、第1・4所定値(例えば0x07)、第1・5所定値(例えば0x0F)、第1・6所定値(例えば0x1F)、第1・7所定値(例えば0x3F)、第1・8所定値(例えば0x7F)等を用いて、昇順のデータにて行うことを省略している。
ステップS140に進んだ場合、CPU11aは、インデックス先が示すアドレスのRAMに、第1・a所定値(例えば0xFF)を書き込み、ステップS145に進む。そしてステップS145にてCPU11aは、インデックス先が示すアドレスのRAMから値を読み出し、読み出した値が第1・a所定値(ステップS140にて書き込んだ値)と一致するか否かを判定し、一致する場合(Yes)はステップS150に進み、一致しない場合(No)はステップS180に進む。ステップS180に進んだ場合は、上述したように、CPU11aは、RAM異常を記憶してサブルーチンSB100からリターンする。
ステップS150に進んだ場合、CPU11aは、インデックス先が示すアドレスが、現在チェックしている(m、n)の組合せブロック内の最終RAMのアドレスであるか否かを判定し、最終RAMのアドレスである場合(Yes)は「B」に示す図5の処理に移行し、最終RAMのアドレスでない場合(No)はステップS155に進む。例えば図8に示す(1、2)の組合せブロック(第1ブロックと第2ブロック)の場合、CPU11aは、インデックス先が示すアドレスが、0x3Fである場合、最終RAMのアドレスであると判定する。
ステップS155に進んだ場合、CPU11aは、現在抽出している(m、n)の組合せブロック内における次に検査するべきRAMのアドレスをインデックスに代入してステップS125に戻る。例えば現在(1、2)の組合せブロックを抽出している場合であって、0x00のRAMのチェックを終えた場合、この図4の処理ではRAMを昇順に検査しているので、次に検査するべきRAMのアドレスである0x01をインデックスに代入する。
以上、図4に示す処理手順にて、RAMを昇順、かつ書き込み及び読み出しするデータ(値)を昇順、にして実行するRAMの書き込み・読み出し検査が完了する。続いて、図5に示す処理手順にて、RAMを昇順、かつ書き込み及び読み出しするデータ(値)を降順、にして実行するRAMの書き込み・読み出し検査を実行する。
●[図5に示すフローチャートの処理(RAM:昇順、データ:降順)の処理手順]
図4に示すフローチャートにてステップS150からYesにて「B」に進むと、図5に示す処理に突入する。図5に示すステップS215〜ステップS280の処理は、図4に示す処理に対して、同じ(m、n)の組合せブロック内のRAMを昇順にチェックする点は同じであるが、書き込み及び読み出しするデータが、昇順でなく降順である点が異なる。
ステップS215の処理は、図4のステップS115の処理と同じであるので説明を省略する。またステップS225の処理は、図4のステップS125の処理に対して、読み出した値が第1・a所定値(ステップS140で書き込んだ値であり、例えば0xFF)である点が異なる。CPU11aは、読み出した値が第1・a所定値と一致する場合(Yes)はステップ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に進んだ場合、CPU11aは、図4のステップS150の処理と同様に、インデックス先が示すアドレスが、現在チェックしている(m、n)の組合せブロック内の最終RAMのアドレスであるか否かを判定し、最終RAMのアドレスである場合(Yes)は「C」に示す図6の処理に移行し、最終RAMのアドレスでない場合(No)はステップS255に進む。
ステップS255に進んだ場合、CPU11aは、現在抽出している(m、n)の組合せブロック内における次に検査するべきRAMのアドレスをインデックスに代入してステップS225に戻る。例えば現在(1、2)の組合せブロックを抽出している場合であって、0x00のRAMのチェックを終えた場合、この図5の処理ではRAMを昇順に検査しているので、次に検査するべきRAMのアドレスである0x01をインデックスに代入する。
以上、図5に示す処理手順にて、RAMを昇順、かつ書き込み及び読み出しするデータ(値)を降順、にして実行するRAMの書き込み・読み出し検査が完了する。続いて、図6に示す処理手順にて、RAMを降順、かつ書き込み及び読み出しするデータ(値)を昇順、にして実行するRAMの書き込み・読み出し検査を実行する。
●[図6に示すフローチャートの処理(RAM:降順、データ:昇順)の処理手順]
図5に示すフローチャートにてステップS250からYesにて「C」に進むと、図6に示す処理に突入する。図6に示すステップS305〜ステップS380の処理は、図4に示す処理に対して、同じ(m、n)の組合せブロック内のRAMを降順にチェックする点が異なり、書き込み及び読み出しするデータが昇順である点は同じである。
ステップS305にてCPU11aは、(m、n)の組合せブロック内の全RAMから順番に値を読み出し(例えばRAMアドレスの昇順に読み出し)、読み出した値が第2・b所定値(0x00)と一致するか否かを判定し、一致する場合(Yes)はステップS315に進み、一致しない場合(No)はステップS380に進む。ステップS380に進んだ場合、CPU11aは、RAM異常を記憶してサブルーチンSB100からリターンする。
ステップS315に進んだ場合、CPU11aは、インデックスに(m、n)の組合せブロック内の最終のRAMのアドレス(この場合、最終RAMのアドレスは0x3F)を代入してステップS325に進む。そしてステップS325にてCPU11aは、インデックス先が示すアドレスのRAMから値を読み出し、読み出した値が第2・b所定値(ステップS240にて書き込んだ値)と一致するか否かを判定し、一致する場合(Yes)はステップS330に進み、一致しない場合(No)はステップS380に進む。ステップS180に進んだ場合、CPU11aは、RAM異常を記憶してサブルーチンSB100からリターンする。
ステップS330、S335・・S340、S345の処理は、図4のステップS130、S135・・S140、S145の処理と同様、書き込む値及び読み出した値は昇順であるが、インデックスの値が最終RAMのアドレスから先頭RAMのアドレスへと降順に変化する点が異なる。例えば、書き込み及び読み出しは、第1・2所定値(0x01)、第1・3所定値(0x03)、第1・4所定値(0x07)・・第1・a所定値(0xFF)のようにデータを昇順にして書き込み及び読み出しを行う。
そしてステップS350に進んだ場合、CPU11aは、インデックス先が示すアドレスが、現在チェックしている(m、n)の組合せブロック内の先頭のRAMのアドレスであるか否かを判定し、先頭のRAMのアドレスである場合(Yes)は「D」に示す図7の処理に移行し、先頭のRAMのアドレスでない場合(No)はステップS355に進む。例えば図8に示す(1、2)の組合せブロック(第1ブロックと第2ブロック)の場合、CPU11aは、インデックス先が示すアドレスが、0x00である場合、先頭のRAMのアドレスであると判定する。
ステップS355に進んだ場合、CPU11aは、現在抽出している(m、n)の組合せブロック内における次に検査するべきRAMのアドレスをインデックスに代入してステップS325に戻る。例えば現在(1、2)の組合せブロックを抽出している場合であって、0x3FのRAMのチェックを終えた場合、この図6の処理ではRAMを降順に検査しているので、次に検査するべきRAMのアドレスである0x3Eをインデックスに代入する。
以上、図6に示す処理手順にて、RAMを降順、かつ書き込み及び読み出しするデータ(値)を昇順、にして実行するRAMの書き込み・読み出し検査が完了する。続いて、図7に示す処理手順にて、RAMを降順、かつ書き込み及び読み出しするデータ(値)を降順、にして実行するRAMの書き込み・読み出し検査を実行する。
●[図7に示すフローチャートの処理(RAM:降順、データ:降順)の処理手順]
図6に示すフローチャートにてステップS350からYesにて「D」に進むと、図7に示す処理に突入する。図7に示すステップS415〜ステップS490の処理は、図6に示す処理に対して、同じ(m、n)の組合せブロック内のRAMを降順にチェックする点は同じであるが、書き込み及び読み出しするデータが、昇順でなく降順である点が異なる。
ステップS415の処理は、図6のステップS315の処理と同じであるので説明を省略する。またステップS425の処理は、図6のステップS325の処理に対して、読み出した値が第1・a所定値(ステップS340で書き込んだ値であり、例えば0xFF)である点が異なる。CPU11aは、読み出した値が第1・a所定値と一致する場合(Yes)はステップ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に進んだ場合、CPU11aは、図6のステップS350の処理と同様に、インデックス先が示すアドレスが、現在チェックしている(m、n)の組合せブロック内の先頭のRAMのアドレスであるか否かを判定し、先頭のRAMのアドレスである場合(Yes)はステップS490に進み、先頭のRAMのアドレスでない場合(No)はステップS455に進む。
ステップS455に進んだ場合、CPU11aは、現在抽出している(m、n)の組合せブロック内における次に検査するべきRAMのアドレスをインデックスに代入してステップS425に戻る。例えば現在(1、2)の組合せブロックを抽出している場合であって、0x3FのRAMのチェックを終えた場合、この図7の処理ではRAMを降順に検査しているので、次に検査するべきRAMのアドレスである0x3Eをインデックスに代入する。
以上、図7に示す処理手順にて、RAMを降順、かつ書き込み及び読み出しするデータ(値)を降順、にして実行するRAMの書き込み・読み出し検査が完了する。そしてステップS490に進んだ場合、抽出した(m、n)の組合せブロック内の全RAMに対して、図4に示すRAMを昇順かつデータを昇順としたRAMの検査、図5に示すRAMを昇順かつデータを降順としたRAMの検査、図6に示すRAMを降順かつデータを昇順としたRAMの検査、図7に示すRAMを降順かつデータを降順としたRAMの検査、の全てで正常であることが確認できたことになるので、CPU11aは、RAM正常を記憶してサブルーチンSB100からリターンする。
以上に説明したRAM検査方法により、例えばRAM検査領域を第1ブロック、第2ブロック、第3ブロックの3つのブロックに分割した場合、(1、2)、(1、3)、(2、3)の各組合せブロックで、それぞれRAMの干渉が無いことを確認すれば、第1ブロック、第2ブロック、第3ブロックで互いにRAMの干渉が無い、といえる。本実施の形態にて説明したRAM検査方法では、RAM検査領域のサイズが大きく、RAM検査領域内の全てのRAMの値を一時退避できるようなRAM一時退避領域のサイズが無い場合であっても、RAM検査領域を例えば第1ブロック、第2ブロック、第3ブロックに分割して、2つのブロックの全ての組合せで検査することで、所定の安全規格を満足しつつ、RAM検査領域の全体のRAMが正常であることを、適切に、より短時間に検査することができる。
本発明のプログラマブルロジックコントローラのRAM検査方法は、本実施の形態にて説明した処理手順等に限定されず、本発明の要旨を変更しない範囲で種々の変更、追加、削除が可能である。また本発明のプログラマブルロジックコントローラは、本実施の形態にて説明した構成、構造、外観、形状等に限定されず、本発明の要旨を変更しない範囲で種々の変更、追加、削除が可能である。また、RAM検査領域、分割するブロックの数、RAM一時退避領域等の各アドレス等は、図8に示すものに限定されるものではない。また、本実施の形態の説明に用いた数値は一例であり、この数値に限定されるものではない。
1 PLC
10 制御ユニット
11a CPU(制御手段)
11b RAM
11c ROM
20 入力ユニット
25 入力端子
30 出力ユニット
35 出力端子
12、13、22、33 コネクタ
50 端末装置
60 他のPLC

Claims (3)

  1. プログラマブルロジックコントローラのRAM検査方法であって、
    制御手段を用いて、RAMの検査対象となる領域であるRAM検査領域が複数に分割されたブロックの中から抽出した2つのブロックを組合せた組合せブロック内の各RAMに対して、所定値を書き込んだ後、当該RAMから読み出した値が書き込んだ値と一致するか否かを順番に検査する、書き込み読み出しステップ、を有し、
    前記書き込み読み出しステップを、分割した複数の前記ブロックの中から2つのブロックを抽出する全ての組合せに対して実行し、
    前記書き込み読み出しステップを実行する際、前記組合せブロック内の各RAMに対してRAMの昇順に前記検査を実行するとともに書き込み値を昇順にして前記検査を実行し、前記組合せブロック内の各RAMに対してRAMの昇順に前記検査を実行するとともに書き込み値を降順にして前記検査を実行する、
    プログラマブルロジックコントローラのRAM検査方法。
  2. 請求項1に記載のプログラマブルロジックコントローラのRAM検査方法であって、
    前記RAMの領域には、前記RAM検査領域とは異なる領域であるRAM一時退避領域があり、
    前記RAM検査領域は、プログラマブルロジックコントローラのRAM検査方法による検査の前に記憶していた値を前記RAM検査方法による検査の後にも維持しておく必要があり、
    前記ブロック内のRAMの個数は、前記RAM一時退避領域のRAMの個数の1/2以下に設定されており、
    前記書き込み読み出しステップを実行する際、抽出した前記組合せブロック内の各RAMの値を前記一時退避領域に記憶した後に前記書き込み読み出しステップを実行し、前記書き込み読み出しステップを実行した後に前記一時退避領域に記憶した値を前記組合せブロック内の各RAMに書き戻す、
    プログラマブルロジックコントローラのRAM検査方法。
  3. 請求項1または2に記載のプログラマブルロジックコントローラのRAM検査方法を用いて前記RAM検査領域のRAMの検査を行うRAM検査プログラムが搭載された、
    プログラマブルロジックコントローラ。

JP2014061861A 2014-03-25 2014-03-25 プログラマブルロジックコントローラのram検査方法及びプログラマブルロジックコントローラ Expired - Fee Related JP6269228B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014061861A JP6269228B2 (ja) 2014-03-25 2014-03-25 プログラマブルロジックコントローラのram検査方法及びプログラマブルロジックコントローラ
US14/660,106 US9817384B2 (en) 2014-03-25 2015-03-17 Method of inspecting RAM of programmable logic controller, and programmable logic controller
CN201510128135.0A CN104950784B (zh) 2014-03-25 2015-03-23 可编程逻辑控制器的ram的检查方法以及可编程逻辑控制器
EP15160240.6A EP2924525A1 (en) 2014-03-25 2015-03-23 Method of inspecting ram of programmable logic controller, and programmable logic controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014061861A JP6269228B2 (ja) 2014-03-25 2014-03-25 プログラマブルロジックコントローラのram検査方法及びプログラマブルロジックコントローラ

Publications (2)

Publication Number Publication Date
JP2015184992A JP2015184992A (ja) 2015-10-22
JP6269228B2 true JP6269228B2 (ja) 2018-01-31

Family

ID=52697262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014061861A Expired - Fee Related JP6269228B2 (ja) 2014-03-25 2014-03-25 プログラマブルロジックコントローラのram検査方法及びプログラマブルロジックコントローラ

Country Status (4)

Country Link
US (1) US9817384B2 (ja)
EP (1) EP2924525A1 (ja)
JP (1) JP6269228B2 (ja)
CN (1) CN104950784B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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 복구 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541090A (en) 1981-06-09 1985-09-10 Matsushita Electric Industrial Co., Ltd. Semiconductor memory device
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 プログラマブルコントローラ
JP4647951B2 (ja) 2004-07-29 2011-03-09 株式会社ジェイテクト 安全制御装置、安全制御システム及び通信エラー検出方法
JP2006040122A (ja) * 2004-07-29 2006-02-09 Toyoda Mach Works Ltd プログラマブルコントローラ
JP4455547B2 (ja) * 2006-07-07 2010-04-21 株式会社東芝 半導体集積回路
CN201352313Y (zh) * 2009-01-16 2009-11-25 北京凯迪恩自动化技术有限公司 具有多路数字量输入/输出复用通道的plc扩展模块装置
WO2012111135A1 (ja) * 2011-02-18 2012-08-23 三菱電機株式会社 メモリ診断装置及びメモリ診断方法及びプログラム
KR101279710B1 (ko) * 2011-04-01 2013-06-27 엘에스산전 주식회사 Plc 데이터 로그모듈 및 이의 데이터 저장 방법

Also Published As

Publication number Publication date
US9817384B2 (en) 2017-11-14
US20150277417A1 (en) 2015-10-01
JP2015184992A (ja) 2015-10-22
CN104950784A (zh) 2015-09-30
CN104950784B (zh) 2019-04-09
EP2924525A1 (en) 2015-09-30

Similar Documents

Publication Publication Date Title
JP4442524B2 (ja) 安全plc
JP5747584B2 (ja) 制御装置およびシステムプログラム
CN107885305B (zh) 控制装置、控制方法以及记录介质
JP6269228B2 (ja) プログラマブルロジックコントローラのram検査方法及びプログラマブルロジックコントローラ
US9921565B2 (en) Programming assist device for programmable logic controller program and programming assist method for the program
JP2010122824A (ja) プログラマブルコントローラのダイアグラムのデバッグシステム、そのプログラミング装置及びそのプログラム
JP6435826B2 (ja) データ処理装置およびデータ処理方法
EP3196718A1 (en) Embedded emulation modules in industrial control devices
US20160104536A1 (en) Eeprom backup method and device
US20150066168A1 (en) Apparatus and method for updating operating system in programmable logic controller
JP2005310144A (ja) 決定論的有限状態マシンをプログラムするための同期式形式言語
JP4556787B2 (ja) プログラマブルコントローラの編集装置
JP6316919B2 (ja) 工作機械の数値制御装置
KR101593835B1 (ko) Plc 시스템
KR101527419B1 (ko) 자동화 라인의 정상 상태 판단을 위한 기준 마스터 패턴 생성 방법
JP2007304939A (ja) プログラマブルコントローラおよびモニタ
US10768601B2 (en) Programmable controller
CN104572019B (zh) 一种巡查任务的方法和装置
Bedi et al. Monitoring and controlling of industrial crane using programmable logic controllers
KR101409070B1 (ko) 데이터 처리 장치 및 데이터 처리 방법
JP2010079356A (ja) プログラマブルコントローラ
Andrzejewski et al. Time dependencies modelling in traffic control algorithms
JP5937637B2 (ja) シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置
CN106708592B (zh) 一种微控制器以及用于微控制器的代码烧录方法
KR20100125752A (ko) Plc에서의 컨트롤 명령 처리 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171218

R150 Certificate of patent or registration of utility model

Ref document number: 6269228

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees