(57)【要約】【課題】  記憶手段が故障して記憶値が記憶領域に固着した場合にそれを検出できて確実に素早く処理実施異常を検出できる処理実施異常の検出方法を提供する。【解決手段】  この処理実施異常の検出方法では、各処理Ａ〜Ｚの実施結果を表す判定値を保存するための記憶領域７ａ〜７ｚを有するＲＡＭ７が用いられ、記憶領域７ａ〜７ｚに前記判定値を保存する前に、ＲＡＭ７の全記憶領域のうちの記憶領域７ａ〜７ｚについてのみ記憶領域の異常診断が行われる工程Ｓ５，Ｓ６と、工程Ｓ５，Ｓ６の異常診断の結果、記憶領域７ａ〜７ｚが正常である場合に、各処理Ａ〜Ｚの実施結果に応じて記憶領域７ａ〜７ｚに各処理Ａ〜Ｚに対する判定値が保存される工程Ｓ７ａ−３，…，Ｓ７ｚ−３と、記憶領域７ａ〜７ｚに保存されている各処理Ａ〜Ｚに対する判定値に基づいて各処理Ａ〜Ｚが不実施であるか否かの判定が行われる工程Ｓ８とを含む。【選択図】図２
2005352640.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の所定の処理を繰り返し実施する処理装置が前記１つ以上の所定の処理の何れかの処理を実施しなかった場合に、その不実施に関する実施異常を検出する処理実施異常の検出方法であって、
前記各処理の実施結果を表す判定値を保存するための実施結果用記憶領域を有する第１の記憶手段が用いられ、
（ｂ）前記第１の記憶手段の前記実施結果用記憶領域に前記判定値を保存する前に、前記第１の記憶手段の全記憶領域のうちの前記実施結果用記憶領域についてのみ記憶領域の異常診断が行われる工程と、
（ｃ）前記工程（ｂ）の異常診断の結果、前記実施結果用記憶領域が正常である場合に、前記各処理の実施結果に応じて前記実施結果用記憶領域に前記各処理に対する前記判定値が保存される工程と、
（ｄ）前記実施結果用記憶領域に保存されている前記各処理に対する前記判定値に基づいて前記各処理が不実施であるか否かの判定が行われる工程と、
を含むことを特徴とする処理実施異常の検出方法。
【請求項２】
１つ以上の所定の処理を繰り返し実施する処理装置が前記１つ以上の所定の処理の何れかの処理を実施しなかった場合に、その不実施に関する実施異常を検出する処理実施異常の検出方法であって、
前記各処理の実施結果を表す判定値を保存するための実施結果用記憶領域を有する第１の記憶手段が用いられ、
前記１つ以上の所定の処理の実施が繰り返される毎に、その回の実施で用いる前記判定値が今回判定値として以前の回の実施で用いた判定値と異なる値に変更され、
（ｃ−１）前記１つ以上の所定の処理のうちの今回の実施で実施された処理に対してのみ、前記実施結果用記憶領域に保存されているその処理に対する判定値が前記今回判定値に書き換えられる工程と、
（ｄ−１）前記工程（ｃ−１）後に、前記実施結果用記憶領域に保存されている前記各処理に対する判定値が前記今回判定値と一致するか否かの判定が行われ、前記１つ以上の所定の処理のうちの一致しない処理については、今回の実施では実施されなかったと判定される工程と、
を含むことを特徴とする処理実施異常の検出方法。
【請求項３】
今回の実施で用いる前記今回判定値を保存するための第２の記憶手段が用いられており、
（ａ−１）前記今回判定値が前記第２の記憶手段に設定される工程と、
（ａ−２）前記第２の記憶手段に設定されている判定値が前記今回判定値であるかの確認が行われる工程と、
を含み、前記工程（ａ−２）の確認の結果、前記第２の記憶手段に設定されている判定値が前記今回判定値である場合に、前記工程（ｂ）以降の工程が行われることを特徴とする請求項１または請求項２に記載の処理実施異常の検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つ以上の所定の処理を繰り返し実施する処理装置が前記１つ以上の所定の処理のうちの何れかの処理を実施しなかった場合に、その不実施に関する実施異常を検出する処理実施異常の検出方法に関する。
【背景技術】
【０００２】
この種の従来の処理実施異常の検出方法としては、処理の実施結果を表すフラグを用いて処理実施異常を検出する方法（第１の方法）や、実施すべき処理数と実施した処理数とを比較して処理実施異常を検出する方法（第２の方法）がある。
【０００３】
前記第１の方法は、ＲＡＭ等の記憶手段に当該１つ以上の所定の処理の各々の判定値（例えばフラグ）を設定し、当該１つ以上の所定の処理の実施が繰り返される毎に、それら所定の処理の各々のフラグのうち、その回の実施で実施された処理のフラグについては「１」に書き換え、その回の実施で実施されなかった処理のフラグについては「０」に書き換え、その回の終了時に各処理のフラグを確認して「０」があるか否かにより、処理実施異常を検出するものである。
【０００４】
他方、前記第２の方法は、当該１つ以上の所定の処理の実施が繰り返される毎に、ＲＡＭ等の記憶手段に保存されているカウント数をゼロから１つずつカウントアップして書き換えて行き、その回の実施の終了時に記憶手段に保存されているカウント数（実施した処理数）と当該１つ以上の所定の処理の当該処理数（実施すべき処理数）とを比較し、それらの数が一致しているか否かにより、処理実施異常を検出するものである。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記第１の場合や第２の場合では、記憶手段が故障して記憶値（フラグやカウント数）が記憶領域に固着（少なくとも書き込み不能な状態）した場合、記憶値の書き換えを行っても、記憶値を書き換える事ができず、即ち前回の実施の際に書き込んだ記憶値のままとなり、正しく処理実施異常の検出を行えないという欠点がある。
【０００６】
尚、ＲＡＭの故障に関しては、ミラーチェック等により検出できるが、ＲＡＭの全領域をチェックするので時間が掛かるという欠点がある。
【０００７】
また、前記第１の方法の様に、処理が実施されなかった場合にフラグ（判定値）をその旨の内容に書き換えるという処理を行うことにより処理実施異常の検出を行うものでは、処理が実施されなかったという異常（処理実施異常）に起因してその処理に対するフラグの書き換えが行われないという異常が生じた場合には、処理実施異常の検出が正確に行えないという欠点がある。
【０００８】
そこで、この発明の課題は、第１に、記憶手段が故障して記憶値が記憶領域に固着した場合にそれを検出できて確実に素早く処理実施異常の検出を行える処理実施異常の検出方法を提供すること、第２に、処理が実施されないという異常（処理実施異常）に起因してその処理に対する判定値の書き換えが行われないという異常が生じても、確実に処理実施異常を検出できる処理実施異常の検出方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決する為に、請求項１に記載の発明は、１つ以上の所定の処理を繰り返し実施する処理装置が前記１つ以上の所定の処理の何れかの処理を実施しなかった場合に、その不実施に関する実施異常を検出する処理実施異常の検出方法であって、前記各処理の実施結果を表す判定値を保存するための実施結果用記憶領域を有する第１の記憶手段が用いられ、（ｂ）前記第１の記憶手段の前記実施結果用記憶領域に前記判定値を保存する前に、前記第１の記憶手段の全記憶領域のうちの前記実施結果用記憶領域についてのみ記憶領域の異常診断が行われる工程と、（ｃ）前記工程（ｂ）の異常診断の結果、前記実施結果用記憶領域が正常である場合に、前記各処理の実施結果に応じて前記実施結果用記憶領域に前記各処理に対する前記判定値が保存される工程と、（ｄ）前記実施結果用記憶領域に保存されている前記各処理に対する前記判定値に基づいて前記各処理が不実施であるか否かの判定が行われる工程と、を含むものである。
【００１０】
請求項２に記載の発明は、１つ以上の所定の処理を繰り返し実施する処理装置が前記１つ以上の所定の処理の何れかの処理を実施しなかった場合に、その不実施に関する実施異常を検出する処理実施異常の検出方法であって、前記各処理の実施結果を表す判定値を保存するための実施結果用記憶領域を有する第１の記憶手段が用いられ、前記１つ以上の所定の処理の実施が繰り返される毎に、その回の実施で用いる前記判定値が今回判定値として以前の回の実施で用いた判定値と異なる値に変更され、（ｃ−１）前記１つ以上の所定の処理のうちの今回の実施で実施された処理に対してのみ、前記実施結果用記憶領域に保存されているその処理に対する判定値が前記今回判定値に書き換えられる工程と、（ｄ−１）前記工程（ｃ−１）後に、前記実施結果用記憶領域に保存されている前記各処理に対する判定値が前記今回判定値と一致するか否かの判定が行われ、前記１つ以上の所定の処理のうちの一致しない処理については、今回の実施では実施されなかったと判定される工程と、を含むものである。
【００１１】
請求項３に記載の発明は、今回の実施で用いる前記今回判定値を保存するための第２の記憶手段が用いられており、（ａ−１）前記今回判定値が前記第２の記憶手段に設定される工程と、（ａ−２）前記第２の記憶手段に設定されている判定値が前記今回判定値であるかの確認が行われる工程と、を含み、前記工程（ａ−２）の確認の結果、前記第２の記憶手段に設定されている判定値が前記今回判定値である場合に、前記工程（ｂ）以降の工程が行われるものである。
【発明の効果】
【００１２】
請求項１に記載の発明によれば、第１の記憶手段の実施結果用記憶領域に判定値を保存する前に、第１の記憶手段の全記憶領域のうちの実施結果用記憶領域についてのみ記憶領域の異常診断が行われるので、確実に実施結果用記憶領域に判定値を保存できる（即ち書き換える事ができ）、しかも、その第１の記憶手段の異常診断は、第１の記憶手段の全記憶領域のうちの実施結果用記憶領域についてのみ行われるので、素早く診断でき、これらにより、記憶手段が故障して判定値が記憶領域に固着した場合にそれを検出できて確実に素早く処理実施異常を検出できる。
【００１３】
請求項２に記載の発明によれば、各処理のうちの実施された処理に対してのみ、実施結果用記憶領域に保存されているその処理に対する判定値が今回判定値に書き換えられ、実施結果用記憶領域に保存されている各処理に対する判定値が今回判定値と一致しない処理については、今回の実施では実施されなかったと判定されるので、処理が実施されないという異常（処理実施異常）に起因してその処理に対する判定値の書き換えが行われないという異常が生じても、確実に処理実施異常を検出できる。
【００１４】
また、各処理の実施が繰り返される毎に、その回の実施で用いる判定値が以前の回の実施で用いた判定値と異なる値に変更されるので、実施結果用記憶領域に保存されている判定値が今回判定値であるか否かの区別を確実に行える。
【００１５】
請求項３に記載の発明によれば、第２の記憶手段に設定されている判定値が今回判定値であるかの確認が行われるので、確実に第２の記憶手段に今回判定値を設定でき、確実に処理実施異常を検出できる。
【発明を実施するための最良の形態】
【００１６】
図１は、この実施の形態に係る処理実施異常の検出方法が適用された処理装置の構成概略図である。この処理装置１は、例えばマイコンとして構成されており、予め設定されたプログラムに従って、１つ以上の所定の処理（ここでは所定の処理Ａ〜Ｚ）を繰り返し実施すると共に、それら所定の処理Ａ〜Ｚの何れかの処理を実施しなかった場合にその不実施に関する処理実施異常を検出する処理部（ＣＰＵ）３と、前記プログラムが設定されたＲＯＭ５と、各処理Ａ〜Ｚの実施結果（実施されたか否かの結果）等が保存されるＲＡＭ（第１の記憶手段）７とを備えて主構成される。
【００１７】
ＲＡＭ７には、各処理Ａ〜Ｚの実施結果を表す判定値（実施に処理を実施した事を表す判定値）を保存するための各処理Ａ〜Ｚ毎の実施結果用記憶領域７ａ〜７ｚが確保されている。また、例えば処理部３内には、今回の実施で用いる判定値（今回判定値）を保存するための今回判定値用レジスタ（第２の記憶手段）３ａと、前回の実施で用いた判定値（前回判定値）を保存するための前回判定値用レジスタ３ｂと、ＲＡＭ７の実施結果用記憶領域７ａ〜７ｚの異常診断（ここでは固着診断）を行う際に用いる判定値（固着診断用判定値）を保存するための固着診断用判定値用レジスタ３ｃとが備えられている。尚、ここでは、処理部３内に各レジスタ３ａ，３ｂ，３ｃを備えてそれらレジスタに今回判定値、前回判定値および固着診断用判定値を保存するが、そうする代わりにＲＡＭ７にそれら判定値を保存する様にしてもよい。
【００１８】
図２は、処理部３による処理の流れを示したフローチャートである。
【００１９】
即ち、まずステップＳ１で、今回判定値および前回判定値が初期化される。即ち、処理部３内の今回判定値用レジスタ３ａに今回判定値として「０」が保存されると共に、処理部３内の前回判定値用レジスタ３ｂに前回判定値として「０」が保存される。
【００２０】
そしてステップＳ２で、今回判定値用レジスタ３ａに保存されている今回判定値が１つカウントアップされた値（例えば１回目の実施の場合では「１」）に書き換えられる。
【００２１】
そしてステップＳ３で、今回判定値用レジスタ３ａに保存されている今回判定値がカウントアップされた値（例えば１回目の実施の場合では「１」）に書き換えられているかが確認される。
【００２２】
具体的には、例えば１回目の実施の場合では、今回判定値用レジスタ３ａに保存されている今回判定値と前回判定値用レジスタ３ｂに保存されている前回判定値「０」とが比較される。そして、その比較の結果、両判定値が一致しない場合は、今回判定値用レジスタ３ａに保存されている今回判定値は「０」ではなく、従ってカウントアップされた値「１」に書き換えられていると判定され、ステップＳ４に進む。他方、両判定値が一致する場合は、今回判定値用レジスタ３ａに保存されている今回判定値は「０」であり、従ってカウントアップされた値「１」に書き換えられていない（カウントアップ異常）と判定され、ステップＳ９に進む。
【００２３】
尚、ステップＳ９では、ステップＳ３でカウントアップ異常と判定された場合においては、カウントアップ異常時に備えて予め設定されている所定の処理（例えばカウントアップ異常の発生を外部装置に通知したり、各処理Ａ〜Ｚの実施を停止させる等の処理）が行われる。
【００２４】
そしてステップＳ４では、次回の実施に備えて、今回判定値用レジスタ３ａに保存されている今回判定値（例えば１回目の実施の場合では「１」）が前回判定値として前回判定値用レジスタ３ｂに保存される。これにより、次回の実施に備えて、前回判定値用レジスタ３ｂに保存されている前回判定値「０」が「１」に書き換えられる。
【００２５】
そしてステップＳ５，Ｓ６で、ＲＡＭ７の全記憶領域のうちの各処理Ａ〜Ｚ毎の実施結果用記憶領域７ａ〜７ｚについてのみ記憶領域の固着診断（即ち記憶領域７ａ〜７ｚに記憶値（判定値）が固着しているか否かの診断）が行われる。
【００２６】
即ち、まずステップＳ５で、ＲＡＭ７の各処理Ａ〜Ｚ用の実施結果用記憶領域７ａ〜７ｚに固着診断用判定値が書き込まれる。ここでは、この固着診断用判定値としては、例えば前回判定値用レジスタ３ｂに保存されている前回判定値を用いて（前回判定値−２（例えば１回目の実施では「−１」））の値が用いられるが、今回判定値用レジスタ３ａに保存されている今回判定値を用いて（今回判定値−２）の値を用いてもよい。尚、この固着診断用判定値としては、少なくとも今回の実施で用いる判定値および前回の実施で用いた判定値の双方の判定値と異なる値であればよい。尚、ここでは、この固着診断用判定値は、ステップＳ４で一度算出された後、処理部３内の固着診断用判定値用レジスタ３ｃに保存され、以後必要な時は、そのレジスタから読み出されて用いられる。
【００２７】
そしてステップＳ６で、各処理Ａ〜Ｚ毎の実施結果用記憶領域７ａ〜７ｚに保存されている判定値が固着診断用判定値に書き換えられているかが確認される。
【００２８】
具体的には例えば、ＲＡＭ７の各処理Ａ〜Ｚ用の実施結果用記憶領域７ａ〜７ｚに保存されている判定値と固着診断用判定値用レジスタ３ｃに保存されている固着診断用判定値とが比較される。そして、その比較の結果、ＲＡＭ７の各処理Ａ〜Ｚ用の実施結果用記憶領域７ａ〜７ｚのうちに両判定値の一致しない実施結果用記憶領域がある場合は、その一致しない実施結果用記憶領域については、その実施結果用記憶領域に保存されている判定値は固着診断用判定値に書き換えられていない（即ちその実施結果用記憶領域は固着している（実施結果用記憶領域の固着異常））と判定され、ステップＳ９に進む。他方、各実施結果用記憶領域７ａ〜７ｚの全てにおいて両判定値が一致する場合は、各実施結果用記憶領域７ａ〜７ｚの全てについて、その記憶領域に保存されている判定値は固着診断用判定値に書き換えられている（即ち全ての実施結果用記憶領域７ａ〜７ｚは固着していない）と判定され、順次ステップＳ７ａ−１〜Ｓ７ｚ−３に進む。
【００２９】
尚、ステップＳ９では、ステップＳ６で実施結果用記憶領域の固着異常と判定された場合においては、実施結果用記憶領域の固着異常時に備えて予め設定されている所定の処理（例えば実施結果用記憶領域の固着異常の発生を外部装置に通知したり、各処理Ａ〜Ｚの実施を停止させる等の処理）が行われる。
【００３０】
そしてステップＳ７ａ−１〜Ｓ７ｚ−３では、各処理Ａ〜Ｚの実施が行われると共に、処理Ａ〜Ｚのうちの実際に実施された処理についてのみ、ＲＡＭ７のその処理用の実施結果用記憶領域に今回判定値用レジスタ３ａに保存されている今回判定値が書き込まれる。
【００３１】
即ち、例えば処理Ａの場合（ステップＳ７ａ−１〜ステップＳ７ａ−３）で詳述すると、ステップＳ７ａ−１で、処理Ａの実施が行われ、ステップＳ７ａ−２で、その処理Ａが実際に実施された場合は、ステップＳ７ａ−３に進み、ＲＡＭ７の処理Ａ用の実施結果用記憶領域７ａに保存されている判定値が今回判定値用レジスタ３ａに保存されている今回判定値（例えば１回目の実施の場合は「１」）に書き換えられて、次の処理Ｂの場合の処理（ステップＳ７ｂ−１〜Ｓｂ−３）に進む。他方、ステップＳ７ａ−２で、処理Ａが実際には実施されなかった場合は、ステップ７ａ−３を経由せずに（即ち、ＲＡＭ７の処理Ａ用の実施結果用記憶領域７ａに保存されている判定値が今回判定値用レジスタ３ａに保存されている今回判定値に書き換えられる事なく、従って前回の実施で書き込まれた判定値のままにされて）、次の処理Ｂの場合の処理（ステップＳ７ｂ−１〜Ｓｂ−３）に進む。この様にして処理Ｚの場合の処理（ステップＳ７ｚ−１〜Ｓ７ｚ−３）まで同様の処理が行われる。そしてステップＳ８に進む。
【００３２】
そしてステップＳ８では、ＲＡＭ７の各処理Ａ〜Ｚ用の実施結果用記憶領域７ａ〜７ｚに保存されている判定値が、今回判定値用レジスタ３ａに保存されている今回判定値（例えば１回目の実施の場合は「１」）に書き換えられているか否か（即ち今回判定値に一致するか否か）の判定が行われる。その判定の結果、処理Ａ〜Ｚの全ての実施結果用記憶領域７ａ〜７ｚに保存されている判定値が今回判定値に書き換えられている場合（即ち今回判定値に一致する場合）は、今回の実施（Ｓ７ａ−１，Ｓ７ｂ−１，…，Ｓ７ｚ−１）で処理Ａ〜Ｚは全て実際に実施されたと判定され、ステップＳ２に戻りステップＳ２〜Ｓ９が繰り返される。他方、各実施結果用記憶領域７ａ〜７ｚのうちにその保存されている判定値が今回判定値に書き換えられていないものがある場合（即ち、その保存されている判定値が今回判定値に一致しないものがある場合）は、今回の実施では、処理Ａ〜Ｚのうちのその一致しない実施結果用記憶領域に対応する処理については実施されなかった（実施処理異常）と判定され、ステップＳ９に進む。
【００３３】
ステップＳ９では、ステップＳ８で処理実施異常と判定された場合においては、その処理実施異常時に備えて予め設定されている所定の処理（例えばその処理実施異常の発生を外部装置に通知したり、各処理Ａ〜Ｚの実施を停止させる等の処理）が行われる。
【００３４】
以上に説明した処理実施異常の検出方法によれば、ステップＳ５，Ｓ６で、ＲＡＭ７の実施結果用記憶領域７ａ〜７ｚに判定値を保存する前に、ＲＡＭ７の全記憶領域のうちの実施結果用記憶領域７ａ〜７ｚについてのみ記憶領域の異常診断が行われるので、確実に実施結果用記憶領域７ａ〜７ｚに判定値を保存でき（即ち書き換える事ができ）、しかも、そのＲＡＭ７の異常診断は、ＲＡＭ７の全記憶領域のうちの実施結果用記憶領域７ａ〜７ｚについてのみ行われるので、素早く診断でき、これらにより、ＲＡＭ７が故障して判定値が記憶領域に固着した場合にそれを検出できて確実に素早く処理実施異常を検出できる。
【００３５】
また、各ステップＳ７ａ−３，Ｓ７ｂ−３，…，Ｓ７ｚ−３で、各処理Ａ〜Ｚのうちの実施された処理に対してのみ、ＲＡＭ７の実施結果用記憶領域７ａ〜７ｚに保存されているその処理に対する判定値が今回判定値に書き換えられ、ステップＳ８で、実施結果用記憶領域７ａ〜７ｚに保存されている各処理Ａ〜Ｚに対する判定値が今回判定値と一致しない処理については、今回の実施では実施されなかったと判定されるので、処理が実施されないという異常（処理実施異常）に起因してその処理に対する判定値の書き換えが行われないという異常が生じても、確実に処理実施異常を検出できる。
【００３６】
また、各処理Ａ〜Ｚの実施が繰り返される毎に、ステップＳ２で、その回の実施で用いる判定値（今回判定値）が以前の回の実施で用いた判定値と異なる値に変更されるので、ステップＳ８で、実施結果用記憶領域７ａ〜７ｚに保存されている判定値が今回判定値（今回の実施で用いた判定値）であるか否かの区別を確実に行える。
【００３７】
また、ステップＳ３で、今回判定値用レジスタ３ａに設定されている判定値が今回判定値（今回の実施で用いる判定値）であるかの確認が行われるので、確実に今回判定値用レジスタ３ａに今回判定値を設定でき、確実に処理実施異常を検出できる。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施の形態に係る処理実施異常の検出方法が適用された処理装置の構成図である。
【図２】本発明の実施の形態に係る処理実施異常の検出方法を説明するフローチャートである。
【符号の説明】
【００３９】
１  処理装置
３  処理部
３ａ  今回判定値用レジスタ
３ｂ  前回判定値用レジスタ
３ｃ  固着診断用判定値用レジスタ
７  ＲＡＭ
７ａ〜７ｂ  実施結果用記憶領域
【図１】
2005352640.tif 000003
【図２】
2005352640.tif 000004