説明

サブルーチン実行監視装置及びサブルーチン実行監視方法

【課題】実行すべきサブルーチンが全く実行されなかったり、重複して実行されたり、誤った順序で実行されてしまったことを検出することを可能とする。
【解決手段】中央演算処理装置1aは、ROM1bに格納されたサブルーチンを実行時に、サブルーチンの実行順番が識別できる情報として、規則性を持ったカウンタ値をRAM1c内に監視用カウンタとして、サブルーチン毎に格納する。中央演算処理装置1aは、サブルーチンの実行監視を行うプログラムにて、RAM1c内のサブルーチン毎に格納された監視用カウンタが規則正しく更新されていることを確認する。この規則性が崩れた場合に、サブルーチンが期待する順序で実行されなかったことを検出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、プログラマブルコントローラーがメインルーチン内で周期的に実行する複数のサブルーチンが、予め設定された順番通りに実行されているかどうかを監視する場合に適用して好適なサブルーチン実行監視装置及びサブルーチン実行監視方法に関する。
【背景技術】
【0002】
従来、火力、水力、原子力等の発電所において用いられるプラント制御システムのプログラマブルコントローラーは、メインルーチンを一定周期で実行して制御を行っている。このメインルーチンは、入力、演算、出力等の複数のサブルーチンを、予め設定された順番で実行する機能を有する。このようなプラントでは、高い信頼性が要求されており、処理の誤動作を防止するために各種の制御が行われている。
【0003】
近年では、世界的に「機能安全」が注目されており、その一環として、上述したプラント制御システムで用いられるプラント制御方法に関しても、予め設定された順番で複数のサブルーチンが実行されているかを監視する手法が求められている。従来のサブルーチン実行の監視を行う技術には、以下のようなものがある。
【0004】
特許文献1には、複数のサブルーチンを実行することによって、サブルーチンの実行状態を判断する技術が開示されている。この技術では、サブルーチンを実行後に、実行したサブルーチンの情報を記憶する。そして、次のサブルーチンが実行される前に、次に実行するサブルーチンに対応するサブルーチンの情報と、記憶しているサブルーチンの情報を比較する。この比較した情報が相違している場合にサブルーチン実行状態に異常ありと判断することを特徴とするものである。
【0005】
特許文献2には、プログラムが実行される度に識別情報を比較して、プログラムの正常動作又は暴走発生状態を識別する技術が開示されている。この技術では、プログラムの特定の複数の実行順序を記憶させておき、コンピューターが、プログラムの実行を開始する前に、1番目の識別情報を記憶する。そして、プログラムの実行位置が特定の複数の位置のいずれか1つに到達するごとに、記憶していた識別情報と当該特定位置に対応する識別情報を比較して、識別情報が一致すると正常動作とみなし、特定位置の次の接続順序にあたる特定位置の識別情報を記憶する。一方、識別情報が不一致である場合に、コンピューターは、暴走発生状態とみなすことを特徴とするものである。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2000−339197号公報
【特許文献2】特開平6−324914号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、前述した1つ目の従来例(特許文献1)では、例えば、呼出しサブルーチンがサブルーチンSR4であるか判断した後(ST2a)、サブルーチンSR1の処理(ST2b)が2回実行されると、サブルーチンの重複実行に基づく異常を検出することができない。この原因は、サブルーチンを実行したという記録を、実行したサブルーチン内で行っていないためである。
【0008】
また、前述した2つ目の従来例(特許文献2)では、例えば、チェックプログラムをコールするプログラムが全て実行されなかった場合は、異常を検出することができない。この原因は、プログラムの実行をチェックするチェックプログラムが、サブルーチン内で実行されておらず、そもそもプログラムが実行されなければ、チェックプログラムが実行されないためである。
【0009】
本発明では、上述した従来技術の問題点を解消するため、メインルーチン内で実行される複数のサブルーチンの実行状態を確実に監視することを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するために、本発明に係るサブルーチン実行監視装置は、予め実行順番が定められている複数のサブルーチンを実行するメインルーチンが、複数回実行されるコンピューターシステムに用いられ、サブルーチンの実行状態を監視するサブルーチン実行監視に適用される。
このとき、メインルーチンの実行回数を示すカウンタ値を第1の実行回数記憶部に記憶し、サブルーチンの実行回数を示すカウンタ値を第2の実行回数記憶部に記憶し、サブルーチンの実行回数を示すカウンタ値とメインルーチンの実行回数を示すカウンタ値の和を、サブルーチンの実行を示すカウンタ値として、サブルーチン毎にサブルーチン実行回数記憶部に記憶する。
そして、メインルーチンの実行が開始される度に第1及び第2の実行回数記憶部に記憶されるカウンタ値を初期化し、第2の実行回数記憶部に記憶されたカウンタ値を読出して、サブルーチンの実行状態を検証する場合に、第1の実行回数記憶部から読出したカウンタ値及びサブルーチンの実行順番の和と、実行順番に対応して設けられたサブルーチン実行回数記憶部から読出したカウンタ値とを比較し、不一致の場合は、サブルーチンが実行順番の通りに実行されなかったと判断するものである。
【発明の効果】
【0011】
本発明によれば、実行すべきサブルーチンが実行されなかったり、重複して実行されたり、誤った順序で実行されてしまったことを検出することが可能である。このため、判定結果より、予め実行順序が定められたサブルーチンが確実に実行されていること保証することができる。特に従来技術と比較し、サブルーチンが全く実行されなかった場合も検出することが可能である。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施の形態例に係るプログラマブルコントローラーの回路構成を示すブロック図である。
【図2】本発明の一実施の形態例に係る中央演算処理装置がアクセスするメモリ、カウンタ及びプログラムの構成例を示すブロック図である。
【図3】本発明の一実施の形態例に係るメインルーチンの処理手順を示すフローチャートである。
【図4】本発明の一実施の形態例に係る監視カウンタを初期化する処理手順を示すフローチャートである。
【図5】本発明の一実施の形態例に係る監視カウンタを更新する処理手順を示すフローチャートである。
【図6】本発明の一実施の形態例に係る監視カウンタをチェックする処理手順を示すフローチャートである。
【図7】本発明の一実施の形態例に係る正常状態における監視カウンタの変化例を示す説明図である。
【図8】本発明の一実施の形態例に係る起動番号2のサブルーチンが実行されなかった場合の監視カウンタの変化を示す説明図である。
【図9】本発明の一実施の形態例に係る起動番号2のサブルーチンが2回実行された場合の監視カウンタの変化を示す説明図である。
【発明を実施するための形態】
【0013】
<1.一実施の形態>
以下、本発明の一実施の形態例について、添付図面を参照して説明する。本実施の形態では、予め実行順番が定められている複数のサブルーチンを実行するメインルーチンが、複数回実行されるコンピューターシステムに用いられ、サブルーチンの実行状態を監視するサブルーチン実行監視装置として、プログラマブルコントローラー1に適用した例について説明する。
【0014】
図1は、プログラマブルコントローラー1の内部構成例を示す。
プログラマブルコントローラー1は、各部の処理を制御する中央演算処理装置(CPU:Central Processing Unit)1a、プログラムメモリとして用いられるROM(Read Only Memory)1b、ワークメモリとして用いられるRAM(Random Access Memory)1c、時間を監視するウォッチドッグタイマー1d、I/O(Input/Output)制御部1e、基幹ネットワークへのデータの送受信を制御するネットワーク制御部1fから構成されている。プログラマブルコントローラー1は、例えば、プラント等を制御するメインルーチンで呼び出されるサブルーチンの実行有無や実行回数等を監視する機能を有する。
【0015】
ROM1bは、外部からの不正なアクセスを遮断するためプロテクトが施されている。ROM1b内には、OS(Operating System)と、プラント制御を行うためのメインルーチン13と、複数のサブルーチン14−1〜14−3(後述する図2参照)と、各種の演算に用いる固定情報が格納されている。
【0016】
I/O制御部1eは、制御プラント6から入力するプラント入力データ2をRAM1c内に一時的に保存し、RAM1c内のプラント出力データ3を制御プラント6へ出力する制御を行う。ネットワーク制御部1fは、基幹ネットワーク7から入力するネットワーク入力データ4をRAM1c内に一時的に保存し、RAM1c内のネットワーク出力データ5を基幹ネットワーク7へ出力する制御を行う。
【0017】
ウォッチドッグタイマー1dは、OSから、定周期で起動されるメインルーチンが実際に実行されているかどうかをメインルーチン13が更新するウォッチドッグタイマーがタイムアップする前に更新されるかどうかで監視する。RAM1c内には、本発明に関わるサブルーチン実行監視に使用するカウンタ情報(カウンタ値)を図2に示す監視メモリ10に保存する。
【0018】
図2は、中央演算処理装置1aがアクセスするメモリ、カウンタ及びプログラムの構成例を示す。
【0019】
ROM1bには、監視メモリ10が備える各種のカウンタを初期化する監視用カウンタ初期化プログラム11と、監視メモリ10に格納されたカウンタ値をチェックする監視用カウンタチェックプログラム12が格納される。監視用カウンタ初期化プログラム11は、監視用カウンタ初期化プログラム11メインルーチンの実行が開始される度に、ベースカウンタM1とカレントカウンタM2に記憶されるカウンタ値を初期化するカウンタ値初期化部として用いられる。また、カウンタチェックプログラム12は、カレントカウンタM2に記憶されたカウンタ値を読出して、サブルーチンの実行状態を検証する実行状態検証部として用いられる。
【0020】
また、ROM1bには、メインルーチン13と、メインルーチン13によって順序が定められて実行されるサブルーチン14−1〜14−3と、各サブルーチンの実行に伴い、監視メモリ10内の起動番号1用カウンタM3を更新する起動番号1用カウンタ更新プログラム15−1〜起動番号3用カウンタM5を更新する起動番号3用カウンタ更新プログラム15−3が格納される。以下、起動番号が“n”である場合に実行されるサブルーチンの実行回数を更新するプログラムを、「起動番号n用カウンタ更新プログラム」と呼び、このプログラムが監視メモリ10の所定位置にカウンタ値を書き込む領域を、「起動番号n用カウンタ」と呼ぶ。
【0021】
サブルーチン14−1〜14−3には、起動順として、予め起動番号1〜3が割り振られる。サブルーチン14−1〜14−3内の任意の位置には、監視メモリ10内の起動番号n用カウンタを更新するための起動番号n用カウンタ更新プログラムが、起動番号に対応してそれぞれ設けられている。
【0022】
中央演算処理装置1aは、サブルーチン14−1〜14−3を全て実行した後、監視用カウンタチェックプログラム12を起動して、ベースカウンタM1から読出したカウンタ値及びサブルーチンの実行順番の和と、実行順番に対応して設けられたサブルーチン実行回数記憶部から読出したカウンタ値とを比較し、不一致の場合は、サブルーチンが実行順番の通りに実行されなかったと判断する。これにより、中央演算処理装置1aは、監視メモリ10から取り出した各カウンタ値より、サブルーチンの実行順番、未実行又は重複実行の有無等の実行結果を確認することができる。
【0023】
RAM1cに構成される監視メモリ10は、メインルーチンの実行回数を示すカウンタ値を記憶する第1の実行回数記憶部としてベースカウンタM1と、サブルーチンの実行回数を示すカウンタ値を記憶する第2の実行回数記憶部としてカレントカウンタM2を備える。また、監視メモリ10は、サブルーチン毎に設けられ、サブルーチンの実行を示すカウンタ値として、サブルーチンの実行回数を示すカウンタ値とメインルーチンの実行回数を示すカウンタ値の和をサブルーチン毎に記憶するサブルーチン実行回数記憶部として、起動番号1用カウンタM3〜起動番号3用カウンタM5を備える。
【0024】
ベースカウンタM1は、中央演算処理装置1aがメインルーチン13を実行する際に、初期値を格納する。カレントカウンタM2は、メインルーチン13の実行に際して、サブルーチン14−1〜14−3が起動番号順に実行される度に“1”ずつカウントアップしたカウンタ値を格納する。
【0025】
中央演算処理装置1aは、ROM1bから読出す監視用カウンタ初期化プログラム11,監視用カウンタチェックプログラム12を用いて、RAM1cに構成する監視メモリ10の各種のカウンタ値を演算する。また、中央演算処理装置1aは、OSから定周期(例えば、100ミリ秒〜200ミリ秒)で起動されたメインルーチン13が、複数のサブルーチン14−1〜14−3を実行することで、RAM1c内の入力情報とROM1b内に格納されている演算情報を元に演算を行い、RAM1c内に出力情報を格納する。
【0026】
上述したように、中央演算処理装置1aがメインルーチン13を実行すると、サブルーチン14−1〜14−3が起動番号順に実行される。そして、サブルーチン14−1〜14−3が実行される度に、監視メモリ10に割り当てられた起動番号n用カウンタのうち、起動番号nに対応する起動番号n用カウンタのカウンタ値を“1”ずつカウントアップして更新する起動番号n用カウンタ更新プログラムが実行される。
【0027】
図3は、メインルーチン13の処理手順を示す。
始めに、中央演算処理装置1aは、監視用カウンタ初期化プログラム11を実行し、ベースカウンタM1とカレントカウンタM2のカウンタ値を更新する(ステップS1)。次に、中央演算処理装置1aは、ウォッチドッグタイマー1dに対して、タイマのリフレッシュ動作を指示する(ステップS2)。
【0028】
次に、メインルーチン13は、起動されるサブルーチンの順番に従い、予め起動番号が設定された、起動番号1〜3のサブルーチン14−1〜14−3(ステップS3〜S5)を順に実行する。各サブルーチン14−1〜14−3は、自身の実行に合わせて、起動番号n用カウンタ更新プログラム(ステップS7〜S9)を実行し、起動番号n用カウンタのカウンタ値を更新する。
【0029】
そして、中央演算処理装置1aは、監視用カウンタチェックプログラム12を実行し(ステップS6)、監視メモリ10に格納された各カウンタ値より、サブルーチン14−1〜14−3の実行が正常に行われたかどうかをチェックする。
【0030】
図4は、監視用カウンタ初期化プログラム11の処理内容を示す。
中央演算処理装置1aによって実行される監視用カウンタ初期化プログラム11は、RAM1cから、ベースカウンタM1のカウンタ値に“1”を加算して、ベースカウンタM1に加算した値を書き戻す(ステップS10)。そして、ベースカウンタM1に書き戻したカウンタ値を、カレントカウンタM2にも書込む(ステップS11)。
【0031】
図5は、起動番号n用カウンタ更新プログラムの処理内容を示す。
中央演算処理装置1aによって実行される起動番号n用カウンタ更新プログラムは、RAM1cから、カレントカウンタM2のカウンタ値に“1”を加算して、カレントカウンタM2に書き戻す(ステップS20)。そして、カレントカウンタM2に書き戻したカウンタ値を、実行されたサブルーチンに設定されている起動番号nに対応する起動番号n用カウンタにも書込む(ステップS21)。
【0032】
図6は、監視用カウンタチェックプログラム12の処理内容を示す。
中央演算処理装置1aによって実行される監視用カウンタチェックプログラム12は、RAM1cから、ベースカウンタM1とカレントカウンタM2からカウンタ値を読出し、カウンタ値が一致しているかどうかを判定する(ステップS30)。
【0033】
判定結果が“Yes”の場合、監視用カウンタチェックプログラム12は、サブルーチンが一度も実行されていないと判断し、異常処理を実行する。この異常処理とは、例えば、二重系のシステムであれば、主従のシステムを切替えたり、プログラマブルコントローラー1の動作を停止したりする処理である。判定結果が“No”の場合、監視用カウンタチェックプログラム12は、起動番号1〜nが振られた全ての起動番号1用カウンタM3〜起動番号3用カウンタM5に対して以下の処理を行う。
【0034】
始めに、ベースカウンタM1にサブルーチンの起動番号nを加算した数値が、起動番号n用カウンタに格納されているカウンタ値と一致しているかを、起動番号1用カウンタM3から順に判定する(ステップS31)。判定結果が“No”の場合は、サブルーチンが設定された順番通りに実行されなかったと判断し、異常処理を行う。判定結果が“Yes”の場合は、設定された最大の起動番号(本例では、n=3)に達するまで、ステップS31に示したチェック処理を行う(ステップS32)。
【0035】
次に、監視メモリ10に格納された各カウンタ値の例について、図7〜図9を参照して説明する。
【0036】
図7は、メインルーチン13が正常に終了した場合におけるカウンタ値の例を示す。
ここでは、監視用カウンタ初期化プログラム11が実行された後にベースカウンタM1と、カレントカウンタM2の初期値が“10”となっていた場合を想定する。このとき、正常に起動番号1〜3のサブルーチン14−1〜14−3が実行されると、起動番号n用カウンタは、各サブルーチンの実行に合わせて図7に示すように変化する。このため、監視用カウンタチェックプログラム12は、監視カウンタのカウンタ値を読出して、図6に示す処理を実行することによって、サブルーチン14−1〜14−3が正常に実行されたことを検証できる。なお、メインルーチン13が一定周期後に再起動され、監視用カウンタ初期化プログラム11が実行された場合におけるベースカウンタM1と、カレントカウンタM2の初期値は“11”となる。
【0037】
図8は、起動番号2のサブルーチン14−2が実行されなかった場合における、監視カウンタの例を示す。
この場合、起動番号2用カウンタM4には、前の周期に格納されたカウンタ値“11”が残っている。ここで、監視用カウンタチェックプログラム12は、起動番号2用カウンタに格納された値“11”と、ベースカウンタM1に格納された数値“10”に起動番号2を加算した数値である“12”を比較する(図6のステップS32)。このとき、比較結果が一致しないため、監視用カウンタチェックプログラム12は、サブルーチン14−2が正常に実行されなかったことを検出できる。
【0038】
図9は、起動番号2のサブルーチンが2回実行された場合における、監視カウンタの例を示す。
この場合、起動番号2用カウンタM4は、2回実行されたことを示すカウンタ値“13”が格納される。ここで、監視用カウンタチェックプログラム12にて、ベースカウンタM1と起動番号2を加算した数値である“12”を比較する(図6のステップS32)。このとき、比較結果が一致しないため、監視用カウンタチェックプログラム12は、サブルーチン14−2が2回実行されたことを検出できる。
【0039】
以上説明した本実施の形態に係るプログラマブルコントローラー1によれば、実行すべき複数のサブルーチンにそれぞれ実行順番を表す起動番号を付与し、監視メモリ10に、ベースとなるベースカウンタM1、プログラム実行ごとにカウントアップするカレントカウンタM2、及び実行すべきサブルーチンの数と同じ数の実行カウンタとして起動番号n用カウンタを備える。そして、サブルーチン14−1〜14−3の実行前には、カレントカウンタM2に記憶されるカウンタ値をベースカウンタM1にコピーしておき、サブルーチンの実行ごとにカレントカウンタM2に”1”を加算し、加算した値を実行したサブルーチンに対応する起動番号n用カウンタに格納する。そして、特定のチェックポイントにおいて、ベースカウンタM1とカレントカウンタM2に格納したカウンタ値が一致すれば、サブルーチンが1度も実行されていないということを判定する。一方、各サブルーチンに割り当てられる起動番号n用カウンタに格納されたカウンタ値が、ベースカウンタM1と起動番号を加算した値と一致していることで、サブルーチンの実行が正常であったということを判定する。
【0040】
このように、一周期のメインルーチン内で複数のサブルーチンを実行した後、中央演算処理装置1aが監視用カウンタチェックプログラム12を実行して、カウンタ値をチェックすることによって、サブルーチンの正常実行、未実行、重複実行を検出することができる。このため、サブルーチンの未実行や重複実行を速やかに検出し、システムへの影響を最小限に抑えることができるという効果がある。
【0041】
また、従来は、サブルーチンを実行する度に実行状態をチェックしたが、複数のサブルーチンが実行された後、まとめて各サブルーチンの実行状態をチェックすることができる。これにより、サブルーチンの重要度の軽重に併せて、監視用カウンタチェックプログラム12を起動させることが可能となる。
【0042】
なお、上述した実施の形態例において、監視用カウンタチェックプログラム12の起動タイミングを、サブルーチン14−1〜14−3を実行した後としたが(図3のステップS6)、検証対象となるサブルーチンを実行した後であれば、どの位置で実行してもよい。このため、図3のステップS3,S4の実行後に、監視用カウンタチェックプログラム12の起動タイミングを設定してもよい。このように、サブルーチンの実行をチェックする監視用カウンタチェックプログラム12の位置を任意とすることが可能であり、サブルーチンを機能単位で纏めてチェックすることができるようになっているため、処理効率を向上させることが可能である。
【0043】
また、本発明は上述した実施の形態例に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
【符号の説明】
【0044】
1…プログラマブルコントローラー、1a…中央演算処理装置、1b…ROM、1c…RAM、1d…ウォッチドッグタイマー、1e…I/O制御部、1f…ネットワーク制御部、6…制御プラント、7…基幹ネットワーク、10…監視メモリ、11…監視用カウンタ初期化プログラム、12…監視用カウンタチェックプログラム、13…メインルーチン、14−1〜14−3…サブルーチン、15−1〜15−3…起動番号3用カウンタ更新プログラム、M1…ベースカウンタ、M1…起動番号1用カウンタ、M2…カレントカウンタ、M3…起動番号1用カウンタ、M4…起動番号2用カウンタ、M5…起動番号3用カウンタ

【特許請求の範囲】
【請求項1】
予め実行順番が定められている複数のサブルーチンを実行するメインルーチンが、複数回実行されるコンピューターシステムに用いられ、前記サブルーチンの実行状態を監視するサブルーチン実行監視装置において、
前記メインルーチンの実行回数を示すカウンタ値を記憶する第1の実行回数記憶部と、
前記サブルーチンの実行回数を示すカウンタ値を記憶する第2の実行回数記憶部と、
前記サブルーチン毎に設けられ、前記サブルーチンの実行を示すカウンタ値として、前記サブルーチンの実行回数を示すカウンタ値と前記メインルーチンの実行回数を示すカウンタ値の和を前記サブルーチン毎に記憶するサブルーチン実行回数記憶部と、
前記メインルーチンの実行が開始される度に前記第1及び第2の実行回数記憶部に記憶される前記カウンタ値を初期化するカウンタ値初期化部と、
前記第2の実行回数記憶部に記憶された前記カウンタ値を読出して、前記サブルーチンの実行状態を検証する実行状態検証部と、を備え、
前記実行状態検証部は、前記第1の実行回数記憶部から読出したカウンタ値及び前記サブルーチンの実行順番の和と、前記実行順番に対応して設けられた前記サブルーチン実行回数記憶部から読出したカウンタ値とを比較し、不一致の場合は、前記サブルーチンが前記実行順番の通りに実行されなかったと判断することを特徴とするサブルーチン実行監視装置。
【請求項2】
前記実行状態検証部は、前記第1の実行回数記憶部から読出したカウンタ値と、前記第2の実行回数記憶部から読出したカウンタ値を比較し、一致した場合は、前記複数のサブルーチンが1回も実行されなかったと判断することを特徴とする
請求項1に記載のサブルーチン実行監視装置。
【請求項3】
前記実行状態検証部は、検証対象となるサブルーチン実行後のどの位置で実行してもよいことを特徴とする
請求項1又は2に記載のサブルーチン実行監視装置。
【請求項4】
前記実行状態検証部は、複数のサブルーチンの実行状態を一度に検証することを特徴とする
請求項1又は2に記載のサブルーチン実行監視装置。
【請求項5】
予め実行順番が定められている複数のサブルーチンを実行するメインルーチンが、複数回実行されるコンピューターシステムに用いられ、前記サブルーチンの実行状態を監視するサブルーチン実行監視方法において、
前記メインルーチンの実行回数を示すカウンタ値を第1の実行回数記憶部に記憶するステップと、
前記サブルーチンの実行回数を示すカウンタ値を第2の実行回数記憶部に記憶するステップと、
前記サブルーチン毎に設けられるサブルーチン実行回数記憶部に、前記サブルーチンの実行を示すカウンタ値として、前記サブルーチンの実行回数を示すカウンタ値と前記メインルーチンの実行回数を示すカウンタ値の和を記憶するステップと、
前記メインルーチンの実行が開始される度に前記第1及び第2の実行回数記憶部に記憶される前記カウンタ値を初期化するステップと、
前記第2の実行回数記憶部に記憶された前記カウンタ値を読出して、前記サブルーチンの実行状態を検証する場合に、前記第1の実行回数記憶部から読出したカウンタ値及び前記サブルーチンの実行順番の和と、前記実行順番に対応して設けられた前記サブルーチン実行回数記憶部から読出したカウンタ値とを比較し、不一致の場合は、前記サブルーチンが前記実行順番の通りに実行されなかったと判断するステップと、を有することを特徴とするサブルーチン実行監視方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−14523(P2012−14523A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−151203(P2010−151203)
【出願日】平成22年7月1日(2010.7.1)
【出願人】(000005108)株式会社日立製作所 (27,607)
【出願人】(000153443)株式会社日立情報制御ソリューションズ (359)
【Fターム(参考)】