(57)【要約】【課題】組込み装置において、電源投入時やリセット実行時の自己診断を省略してシステムの立上げ時間の短縮を図るとともに、必要な時には確実に自己診断を実行することにより信頼性を向上させる。【解決手段】組込み装置１００は、連続して自己診断を省略している回数をカウントし、また、継続して自己診断を省略している時間を計測し、自己診断を省略している回数または自己診断を省略している時間が閾値に達している場合に、自己診断を実施し、自己診断の省略回数及び省略時間がともに閾値に達していない場合は、自己診断を省略して、システムを立ち上げる。【選択図】図１
2010165007.tif 000002
【特許請求の範囲】
【請求項１】
立上げ処理時に自己診断を行うとともに、所定の場合に立上げ処理時の自己診断を省略できる情報処理装置であって、
連続して自己診断が省略された立上げ処理の回数を自己診断省略連続回数としてカウントする回数カウント部と、
継続して自己診断が行われていない時間を自己診断省略継続時間として計時する計時部と、
立上げ処理時において、前記回数カウント部によりカウントされた自己診断省略連続回数が閾値以上であるか否かを判定するとともに、前記計時部により計時された自己診断省略継続時間が閾値以上であるか否かを判定して、当該立上げ処理時において自己診断を行うか否かを決定する自己診断決定部とを有することを特徴とする情報処理装置。
【請求項２】
前記自己診断決定部は、
自己診断省略連続回数及び自己診断省略継続時間の少なくともいずれかがそれぞれの閾値以上である場合に、当該立上げ処理時において自己診断を行うよう決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記自己診断決定部は、
前回の立上げ処理時に正常に立上げ処理が完了したか否かを管理しており、前回の立上げ処理時に正常に立上げ処理が完了していない場合は、自己診断省略連続回数と閾値との照合及び自己診断省略継続時間と閾値との照合を行わずに、当該立上げ処理時に自己診断を行うよう決定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
立上げ処理時に自己診断を行うとともに、所定の場合に立上げ処理時の自己診断を省略できる情報処理装置であって、
立上げ処理時における動作環境を測定する動作環境測定部と、
立上げ処理時において前記動作環境測定部により前回の自己診断実行以降に測定された測定値が異常値になったことがあるか否かを判定して、当該立上げ処理時において自己診断を行うか否かを決定する自己診断決定部とを有することを特徴とする情報処理装置。
【請求項５】
前記自己診断決定部は、
立上げ処理時において前記動作環境測定部により前回の自己診断実行以降に測定された測定値が異常値になったことがある場合に、当該立上げ処理時において自己診断を行うよう決定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記自己診断決定部は、
前回の立上げ処理時に正常に立上げ処理が完了したか否かを管理しており、前回の立上げ処理時に正常に立上げ処理が完了していない場合は、前記動作環境測定部により前回の自己診断実行以降に測定された測定値が異常値になったことがあるか否かの判定を行わずに、当該立上げ処理時に自己診断を行うよう決定することを特徴とする請求項４又は５に記載の情報処理装置。
【請求項７】
前記情報処理装置は、更に、
連続して自己診断が省略された立上げ処理の回数を自己診断省略連続回数としてカウントする回数カウント部と、
継続して自己診断が行われていない時間を自己診断省略継続時間として計時する計時部とを有し、
前記自己診断決定部は、
立上げ処理時において前記動作環境測定部により前回の自己診断実行以降に測定された測定値が異常値になったことがあるか否かを判定するとともに、前記回数カウント部によりカウントされた自己診断省略連続回数及び前記計時部により計時された自己診断省略継続時間がそれぞれの閾値以上であるか否かを判定して、当該立上げ処理時において自己診断を行うか否かを決定することを特徴とする請求項４〜６のいずれかに記載の情報処理装置。
【請求項８】
前記自己診断決定部は、
立上げ処理時において前記動作環境測定部により前回の自己診断実行以降に測定された測定値が異常値になったことがあった場合、自己診断省略連続回数が閾値未満であり、かつ自己診断省略継続時間が閾値未満であった場合でも、当該立上げ処理時において自己診断を行うよう決定することを特徴とする請求項４〜７のいずれかに記載の情報処理装置。
【請求項９】
前記動作環境測定部は、
一定周期ごとに、動作環境を測定しており、
前記自己診断決定部は、
前記動作環境測定部により動作環境が測定される度に測定値が異常値であるかを判定し、
前記情報処理装置は、更に、
連続して前記自己診断決定部により測定値が異常値であると判定された回数を異常値連続回数としてカウントする回数カウント部を有し、
前記自己診断決定部は、
立上げ処理時において、前回の自己診断実行以降に前記回数カウント部によりカウントされた異常値連続回数が閾値以上である場合に、当該立上げ処理時において自己診断を行うよう決定することを特徴とする請求項４〜８のいずれかに記載の情報処理装置。
【請求項１０】
前記動作環境測定部は、
一定周期ごとに、動作環境を測定しており、
前記自己診断決定部は、
前記動作環境測定部により動作環境が測定される度に測定値が異常値であるかを判定し、
前記情報処理装置は、更に、
継続して前記自己診断決定部により測定値が異常値であると判定されている時間を異常値継続時間として計時する計時部を有し、
前記自己診断決定部は、
立上げ処理時において、前回の自己診断実行以降に前記計時部により計時された異常値継続時間が閾値以上である場合に、当該立上げ処理時において自己診断を行うよう決定することを特徴とする請求項４〜９のいずれかに記載の情報処理装置。
【請求項１１】
前記動作環境測定部は、
立上げ処理時における動作環境として、温度を測定することを特徴とする請求項４〜１０のいずれかに記載の情報処理装置。
【請求項１２】
前記動作環境測定部は、
立上げ処理時における動作環境として、湿度を測定することを特徴とする請求項４〜１１のいずれかに記載の情報処理装置。
【請求項１３】
前記動作環境測定部は、
立上げ処理時における動作環境として、情報処理装置の振動量を測定することを特徴とする請求項４〜１２のいずれかに記載の情報処理装置。
【請求項１４】
前記情報処理装置は、更に、
情報処理装置のユーザから自己診断の省略を指示する自己診断省略指示を入力する入力部を有し、
前記自己診断決定部は、
判定の結果、立上げ処理時に自己診断を行うよう決定した場合であっても、前記入力部がユーザから前記自己診断省略指示を入力した場合には、当該立上げ処理時に自己診断を行わないよう決定することを特徴とする請求項１〜１３のいずれかに記載の情報処理装置。
【請求項１５】
前記情報処理装置は、
過酷な環境下で使用される組込み装置であることを特徴とする請求項１〜１４のいずれかに記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自己診断（セルフテスト）を行う情報処理装置に関し、例えば、カーナビゲーションシステム（以下、カーナビと表記する）等の組込み装置に関する。
【背景技術】
【０００２】
従来のコンピュータシステムの自己診断（セルフテスト）方法では、システムの起動時に、不揮発性メモリに残されていたそれまでの自己診断実行結果の履歴情報と起動回数条件を元に、対象デバイスのテスト項目毎に自己診断の実行をするかどうかを決める制御を行っている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−１２９４９５号公報  第２頁〜５頁、第５図、第１０図
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の自己診断方法は、自己診断の実行を行うかどうかの判断をするために大容量の不揮発性メモリを必要とするため、コストが増大するという課題がある。
また、長い間システムを起動しなかった場合、実際にはハードウェアの状態が変化している可能性が高いにも関わらず、自己診断を行わずにシステム立上げを行うため、通常動作を開始した後に故障が発生する可能性が高くなり、システム動作の信頼性を低下させる結果になるという課題がある。
さらに、カーナビのような組込み装置では、ハードウェアが複雑になり、規模が増大している上に、使用環境が過酷であるにも関わらず、良好な環境で使用されるコンピュータでも行われている電源投入時やリセット後の自己診断を実行していないため、故障が発生してもシステム動作不良が発生するまで発見できず、システム動作の信頼性を低下させるという課題がある。
【０００５】
この発明は上記のような課題を解決することを主な目的の一つとし、カーナビのように過酷な環境で使用される組込み装置をはじめとする情報処理装置において、電源投入時やリセット実行時に、毎回の自己診断の実行によるシステムの立上げ時間を長くするのを避けた上で、必要な時には確実に自己診断を実行することにより、情報処理装置のシステムとしての信頼性を向上させることを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理装置は、
立上げ処理時に自己診断を行うとともに、所定の場合に立上げ処理時の自己診断を省略できる情報処理装置であって、
連続して自己診断が省略された立上げ処理の回数を自己診断省略連続回数としてカウントする回数カウント部と、
継続して自己診断が行われていない時間を自己診断省略継続時間として計時する計時部と、
立上げ処理時において、前記回数カウント部によりカウントされた自己診断省略連続回数が閾値以上であるか否かを判定するとともに、前記計時部により計時された自己診断省略継続時間が閾値以上であるか否かを判定して、当該立上げ処理時において自己診断を行うか否かを決定する自己診断決定部とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、連続して自己診断を省略している回数をカウントし、また、継続して自己診断を省略している時間を計測し、自己診断を省略している回数及び自己診断を省略している時間を閾値と比較して自己診断を行うか否かを決定するので、閾値に達していない場合は自己診断を省略し閾値に達していれば自己診断を実施し、これにより、装置の立上げ時間の短縮を図るとともに装置の信頼性を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る組込み装置の構成例を示す図。
【図２】実施の形態２に係る組込み装置の構成例を示す図。
【図３】実施の形態３に係る組込み装置の構成例を示す図。
【図４】実施の形態４に係る組込み装置の構成例を示す図。
【図５】実施の形態５に係る組込み装置の構成例を示す図。
【図６】実施の形態６に係る組込み装置の構成例を示す図。
【図７】実施の形態７に係る組込み装置の構成例を示す図。
【図８】実施の形態８に係る組込み装置の構成例を示す図。
【図９】実施の形態９に係る組込み装置の構成例を示す図。
【図１０】実施の形態１０に係る組込み装置の構成例を示す図。
【図１１】実施の形態１１に係る組込み装置の構成例を示す図。
【図１２】実施の形態１２に係る組込み装置の構成例を示す図。
【図１３】実施の形態１３に係る組込み装置の構成例を示す図。
【図１４】実施の形態１４に係る組込み装置の構成例を示す図。
【図１５】実施の形態１５に係る組込み装置の構成例を示す図。
【図１６】実施の形態１に係る組込み装置の動作例を示すフローチャート図。
【図１７】実施の形態３に係る組込み装置の動作例を示すフローチャート図。
【図１８】実施の形態３に係る組込み装置の動作例を示すフローチャート図。
【図１９】実施の形態４に係る組込み装置の動作例を示すフローチャート図。
【図２０】実施の形態４に係る組込み装置の動作例を示すフローチャート図。
【図２１】実施の形態５に係る組込み装置の動作例を示すフローチャート図。
【図２２】実施の形態５に係る組込み装置の動作例を示すフローチャート図。
【図２３】実施の形態７に係る組込み装置の動作例を示すフローチャート図。
【図２４】実施の形態７に係る組込み装置の動作例を示すフローチャート図。
【図２５】実施の形態８に係る組込み装置の動作例を示すフローチャート図。
【図２６】実施の形態８に係る組込み装置の動作例を示すフローチャート図。
【図２７】実施の形態９に係る組込み装置の動作例を示すフローチャート図。
【図２８】実施の形態９に係る組込み装置の動作例を示すフローチャート図。
【図２９】実施の形態１１に係る組込み装置の動作例を示すフローチャート図。
【図３０】実施の形態１１に係る組込み装置の動作例を示すフローチャート図。
【図３１】実施の形態１２に係る組込み装置の動作例を示すフローチャート図。
【図３２】実施の形態１２に係る組込み装置の動作例を示すフローチャート図。
【図３３】実施の形態１３に係る組込み装置の動作例を示すフローチャート図。
【図３４】実施の形態１３に係る組込み装置の動作例を示すフローチャート図。
【図３５】実施の形態１５に係る組込み装置の動作例を示すフローチャート図。
【図３６】実施の形態１５に係る組込み装置の動作例を示すフローチャート図。
【図３７】実施の形態１６に係る組込み装置の動作例を示すフローチャート図。
【発明を実施するための形態】
【０００９】
実施の形態１．
図１は、本実施の形態に係る組込み装置１００の構成を示すブロック図である。
図１において、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１は自己診断を実行するマイクロプロセッサである。
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２は、ＣＰＵ１が実行する初期化、自己診断プログラム、通常動作用システムプログラムのブートローダもしくは通常動作用システムプログラムそのものが記憶された記憶装置である。
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３は、システムプログラムのブート先であり、また、ＲＯＭ２に格納された種々のプログラムやシステムプログラムの実行時に必要な変数などを記憶したりするためのメモリである。
ＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）４はバッテリバックアップされた時計である。
入力部５は、押しボタンなどで構成される。
表示部６は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などで構成される。
ＤＶＤ／ＣＤ７は、ＤＶＤやＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）などの外付け記憶メディア読み込み装置である。
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）８は、ハードディスク装置である。
バッテリ９は、組込み装置１００の電源である。
【００１０】
立上げ成功フラグ１０は、組込み装置１００の前回立上げ時に正常に立上げに成功したか否かを示すフラグである。
連続立上げ成功回数カウント部１１は、連続して立上げに成功した連続立上げ成功回数をカウントする。後述するように、連続立上げ成功回数カウント部１１がカウントする連続立上げ成功回数は、連続して自己診断が省略された立ち上げ処理の回数（自己診断省略連続回数）に相当し、連続立上げ成功回数カウント部１１は回数カウント部の例である。
自己診断非実行回数設定部１２は、連続立上げ成功回数の上限値を設定する。
自己診断非実行期間設定部１３は、一度立上げが成功した後自己診断を実行しない期間である自己診断非実行期間を設定する。
自己診断非実行期限設定部１４は、一度立上げが成功した後自己診断が猶予される期限（時刻）である自己診断非実行期限を設定する。
なお、後述するように、ＲＴＣ４、自己診断非実行期間設定部１３及び自己診断非実行期限設定部１４は、協働して自己診断が行われていない時間（自己診断省略継続時間）を計時し、それぞれ計時部の例に相当する。
自己診断決定部１５は、立上げ処理時において、連続立上げ成功回数カウント部１１によりカウントされた連続立上げ成功回数が自己診断非実行回数（閾値）に達しているか否かを判定するとともに、ＲＴＣ４、自己診断非実行期間設定部１３及び自己診断非実行期限設定部１４により計時された自己診断が省略されている時間が自己診断非実行期限（閾値）に達しているか否かを判定し、連続立上げ成功回数が自己診断非実行回数に達している場合及び自己診断が省略されている時間が自己診断非実行期限に達している場合の少なくともいずれかにおいて自己診断を行うよう決定する。
【００１１】
なお、本実施の形態では、立上げ成功フラグ１０、連続立上げ成功回数カウント部１１、自己診断非実行回数設定部１２、自己診断非実行期間設定部１３および自己診断非実行期限設定部１４は、それぞれハードウェアである。
一方、自己診断決定部１５は、ＲＯＭ２の自己診断プログラムのうちの一部のプログラムである。
また、ＲＴＣ４、立上げ成功フラグ１０、連続立上げ成功回数カウント部１１、自己診断非実行回数設定部１２、自己診断非実行期間設定部１３および自己診断非実行期限設定部１４はバッテリ９によりバックアップされている。
【００１２】
次に、動作について説明する。
組込み装置１００の電源が投入されるか、リセットが実行されると、ＲＯＭ２に格納された自己診断プログラムがＣＰＵ１により読み出され、実行される。
図１６はこの時の動作を示すフローチャートであり、図１６を用いて組込み装置１００の動作を説明する。
【００１３】
自己診断プログラムでは、まず、自己診断決定部１５が立上げ成功フラグ１０の状態を読取る（１０１）。
そして立上げ成功フラグ１０がセットされているかどうか判断する（１０２）。
立上げ成功フラグ１０がセットされていなければ、自己診断決定部１５は、まだ自己診断が正常終了していないと判断し、自己診断の実行を決定し、立上げ成功フラグ１０をクリアし（１１０）、連続立上げ成功回数カウント部１１をクリアする（１１１）。
そして、自己診断プログラムがハードウェアの自己診断を実行する（１１２）。
自己診断実行後、自己診断決定部１５は、自己診断でエラーが発生したかどうかをチェックする（１１３）。
エラーが発生せず正常終了した場合には、自己診断決定部１５は、立上げ成功フラグをセットし（１１４）、ＲＴＣ４から読み出した時刻に自己診断非実行期間設定部１３に設定されている時間を加えた時刻を自己診断非実行期限設定部１４にセットする（１１５）。
そして、自己診断決定部１５が連続立上げ成功回数カウント部１１の内容を１増やした（１１６）後、自己診断プログラムの実行を終了し、実システムの立上げを開始する。
もしも、自己診断でエラーが発生した場合には、自己診断決定部１５は、立上げ成功フラグ１０のセットは行わず、エラー発生の表示を行い（１１７）、システムの立上げを中止する。
【００１４】
一方、ステップ１０２において、立上げ成功フラグ１０がセットされていれば、自己診断決定部１５は、少なくとも１度は自己診断の実行が正常終了したと判断し、連続立上げ成功回数カウント部１１の内容と自己診断非実行回数設定部１２の内容を比較する（１０３）。
連続立上げ成功回数カウント部１１の内容が自己診断非実行回数設定部２２の内容を超えていた場合には、既に指定された回数だけ自己診断の実行を省略済なので、自己診断決定部１５は自己診断の実行を決定し、立上げ成功フラグ１０のクリア以降の処理の後、自己診断プログラムが自己診断を行う（１１０）。
連続立上げ成功回数カウント部１１の内容が自己診断非実行回数設定部１２の内容を超えていなかった場合には、自己診断決定部１５は、ＲＴＣ４から読み出した時刻と自己診断非実行期限設定部１４にセットされていた時刻の比較を行う（１０４）。
ＲＴＣ４から読み出した時刻が自己診断非実行期限設定部１４にセットされていた時刻を過ぎていた場合、指定された時間を超えて自己診断を実行していないことになるので、自己診断決定部１５は自己診断の実行を決定し、立上げ成功フラグ１０のクリア以降の処理の後、自己診断プログラムが自己診断を行う（１１０）。
ＲＴＣ４から読み出した時刻が自己診断非実行期限設定部１４にセットされていた時刻を過ぎていなかった場合、自己診断決定部１５は自己診断の省略を決定し、連続立上げ成功回数カウント部１１の内容を１増やし（１１６）、自己診断プログラムの終了と実システムの立上げ開始を行う。
【００１５】
なお、ＲＴＣ４の時刻、自己診断非実行回数設定部１２の自己診断省略回数、自己診断非実行期間設定部１３の自己診断省略期間の設定は自己診断プログラムの設定機能などにより、ユーザが予め設定しておくことができる。
【００１６】
以上のように、本実施の形態では一度自己診断が成功すれば、その後決めた回数だけ電源投入もしくはリセット実行時の自己診断の実行を省略するので、その間はシステムの立上げ時間を短くすることができる。
また、もしも長い時間電源の投入やリセットが行われなかった場合には、自己診断の省略回数が指定された回数に達していなくとも自己診断を実行するため、ハードウェアの故障などが発生していた場合でも確実に故障を指摘できるため、システムの信頼性を向上することが可能になる。
【００１７】
以上、本実施の形態では、カーナビのように過酷な動作環境で使用することを目的とした組込み装置の電源投入時もしくはリセット実行時の自己診断の実行において、前回の組込み装置の立上げが成功したかどうかを記憶する立上げ成功フラグと、一度立上げが成功した後連続して立上げが成功した回数をカウントする連続立上げ成功回数カウント手段とその閾値を設定するための自己診断非実行回数設定手段、一度立上げが成功した後自己診断を実行しない期間を設定するための自己診断非実行期間設定手段と自己診断非実行期限を設定するための自己診断非実行期限設定手段を設け、一度全ての自己診断の実行が正常に終了すると立上げ成功フラグをセットし、連続立上げ成功回数カウント手段をゼロにクリアし、自己診断が成功した現在の時刻に自己診断非実行期間設定手段に設定された時間を加えた時刻を自己診断非実行期限設定手段に設定することにより、次回以降の電源投入もしくはリセット実行時には、立上げ成功回数カウント手段が自己診断非実行回数設定手段に設定された値を超えるか、電源投入もしくはリセットが実行された時刻が自己診断非実行期限設定手段に設定されている時刻を過ぎるまでは、自己診断を実行せず、連続立上げ成功回数カウント手段を１増やすのみで、通常システムの立上げを開始する組込み装置の自己診断の実行制御方法を説明した。
【００１８】
実施の形態２．
以上の実施の形態１では、立上げ成功フラグ１０、連続立上げ成功回数カウント部１１、自己診断非実行回数設定部１２、自己診断非実行期間設定部１３、自己診断非実行期限設定部１４を個別のハードウェアとして実現するようにしたものであるが、次にこれらを小容量のバッテリバックアップされたＲＡＭに記憶するようにした場合の実施の形態を示す。
図２は、このような場合の組込み装置の構成を示すブロック図である。
バッテリバックアップされたＲＡＭ２０の決まったアドレスを立上げ成功フラグ１０、連続立上げ成功回数カウント部１１、自己診断非実行回数設定部１２、自己診断非実行期間設定部１３、自己診断非実行期限設定部１４として割付ける。
なお、図２では、自己診断決定部１５もＲＡＭ２０に格納している例を示している。
自己診断決定部１５は、実施の形態１と同様に、自己診断プログラムの一部としてＲＯＭ２に格納されているようにしてもよい。なお、以降の実施の形態でも同様に自己診断決定部１５がＲＡＭ２０に格納されている例を示しているが、以降の実施の形態でも、自己診断決定部１５は自己診断プログラムの一部としてＲＯＭ２に格納されているようにしてもよい。
動作は実施の形態１の場合と同じある。
つまり、ＲＯＭ２に格納された自己診断プログラムがＣＰＵ１により読み出されるときに、ＲＡＭ２０に格納されている各要素もＣＰＵ１により読み出され、動作可能となり、以降は、実施の形態１と同様の手順にて自己診断の要否を決定する。
【００１９】
本実施の形態によれば、自己診断の実行制御用に記憶すべき情報量が少なくて済み、小容量のＲＡＭを利用して自己診断実行制御を実現できるため、自己診断実行制御のためのハードウェアを低コストで実現できる。さらに、ＲＴＣに内蔵されるＲＡＭを利用すれば、自己診断実行制御のために専用に設けるハードウェアが不要となり、組込み装置をさらに低コストで実現することができる。
【００２０】
以上、本実施の形態では、立上げ成功フラグ、連続立上げ成功回数カウント手段、自己診断非実行回数設定手段、自己診断非実行期間設定手段、自己診断非実行期限設定手段はバッテリバックアップした小規模のＲＡＭやＦＬＡＳＨなどの小規模の不揮発性メモリ、もしくは他の目的で既に実装済のバッテリバックアップしたＲＡＭやＦＬＡＳＨなどの不揮発性メモリの一部を共有して使用する組込み装置の自己診断実行制御方法を説明した。
【００２１】
実施の形態３．
以上の実施の形態では、電源投入もしくはリセット実行後に自己診断の実行を省略した回数および自己診断が成功してから経過した時間で制御するものであるが、次にこれに加えて組込み装置が動作する環境の温度も自己診断の実行を制御する条件に入れるようにした場合の実施の形態を示す。
【００２２】
図３は、その場合の組込み装置１００の構成を示すブロック図である。
図３において、３０は温度センサなどの温度測定部、３１はその温度を超えるとハードウェアの故障発生率が高くなるような上限温度を設定するための上限温度設定部、３２は温度異常発生フラグである。温度測定部３０は、動作環境測定部の例である。
また、図３において、図２と同じ番号は同一部分もしくは同等な機能を果たす部分を示す。
【００２３】
次に動作について説明する。
組込み装置１００の電源が投入されるか、リセットが実行されると、ＲＯＭ２に格納された自己診断プログラムがＣＰＵ１により読み出され、実行される。また、このとき、ＲＡＭ２０に格納されている各要素もＣＰＵ１により読み出され、動作可能となる。
図１７はこの時動作を示すフローチャートであり、図１７を用いて動作を説明する。
【００２４】
自己診断決定部１５は、まず立上げ成功フラグ１０の状態を読取る（３０１）。
そして立上げ成功フラグがセットされているかどうか判断する（３０２）。
立上げ成功フラグがセットされていなければ、自己診断決定部１５は、まだ自己診断が正常終了していないと判断し、立上げ成功フラグ１０をクリアし（３１０）、連続立上げ成功回数カウント部１１をクリアする（３１１）。
さらに、自己診断決定部１５は、温度異常発生フラグ３２をクリアする（３２０）。
そして、自己診断プログラムが、ハードウェアの自己診断を実行する（３１２）。
自己診断実行後、自己診断決定部１５は、自己診断でエラーが発生したかどうかをチェックする（３１３）。
エラーが発生せず正常終了した場合には、自己診断決定部１５は、立上げ成功フラグをセットし（３１４）、ＲＴＣ４から読み出した時刻に自己診断非実行期間設定部１３に設定されている時間を加えた時刻を自己診断非実行期限設定部１４にセットする（３１５）。
そして、自己診断決定部１５が連続立上げ成功回数カウント部１１の内容を１増やした（３１６）後、自己診断プログラムの実行を終了し、実システムの立上げを開始する。
もしも、自己診断でエラーが発生した場合には、自己診断決定部１５は、立上げ成功フラグ１０のセットは行わず、エラー発生の表示を行い（３１７）、システムの立上げを中止する。
【００２５】
一方、ステップ３０２において、立上げ成功フラグ１０がセットされていれば、自己診断決定部１５は、少なくとも１度は自己診断の実行が正常終了したと判断し、連続立上げ成功回数カウント部１１の内容と自己診断非実行回数設定部１２の内容を比較する（３０３）。
連続立上げ成功回数カウント部１１の内容が自己診断非実行回数設定部２２の内容を超えていた場合には、既に指定された回数だけ自己診断の実行を省略済なので、自己診断決定部１５は自己診断の実行を決定し、立上げ成功フラグ１０のクリア以降の処理の後、自己診断プログラムが自己診断を行う（３１０）。
連続立上げ成功回数カウント部１１の内容が自己診断非実行回数設定部１２の内容を超えていなかった場合には、自己診断決定部１５は、ＲＴＣ４から読み出した時刻と自己診断非実行期限設定部１４にセットされていた時刻の比較を行う（３０４）。
ＲＴＣ４から読み出した時刻が自己診断非実行期限設定部１４にセットされていた時刻を過ぎていた場合、指定された時間を超えて自己診断を実行していないことになるので、自己診断決定部１５は自己診断の実行を決定し、立上げ成功フラグ１０のクリア以降の処理の後、自己診断プログラムが自己診断を行う（３１０）。
ＲＴＣ４から読み出した時刻が自己診断非実行期限設定部１４にセットされていた時刻を過ぎていなかった場合、自己診断決定部１５は、温度異常発生フラグ３２をチェックする（３０５）。
温度異常フラグがセットされていた場合、異常高温が発生しハードウェア故障が発生した可能性があるため、自己診断決定部１５は自己診断の実行を決定し、立上げ成功フラグ１０のクリア以降の処理の後、自己診断プログラムが自己診断を行う（３１０）。
温度異常発生フラグがセットされていなかった場合には、自己診断決定部１５は自己診断の省略を決定し、連続立上げ成功回数カウント部１１の内容を１増やし（３１６）、自己診断プログラムの終了と実システムの立上げ開始を行う。
【００２６】
また、自己診断決定部１５は、自己診断の実行中およびシステム動作実行中には図１８に示す温度異常監視１の処理を定期的に行い、温度異常の発生を定期的に監視し、温度が上限温度設定部３１に設定した値を超えた場合には温度異常発生フラグ３２をセットする。
【００２７】
なお、ＲＴＣ４の時刻、自己診断非実行回数設定部１２への自己診断省略回数、自己診断非実行期間設定部１３への自己診断省略期間および上限温度設定部３１への上限温度の設定は自己診断プログラムの設定機能などにより、ユーザが予め設定しておくことができる。
【００２８】
以上のように、この実施の形態では一度自己診断が成功した後、決めた回数および決めた期間に満たなくても、異常に高い温度の下で動作した場合には、次回の電源投入もしくはリセット実行時に自己診断を実行するため、異常高温によりハードウェアの故障などが発生した場合に確実に故障を指摘できるため、システムの信頼性を向上することが可能になる。
【００２９】
以上、本実施の形態では、動作環境の温度を測定するための温度測定手段およびある温度以上になるとハードウェアの故障発生率が高くなる上限温度を設定するための上限温度設定手段および温度異常発生フラグを設け、温度測定手段による動作中の温度の測定結果が上限温度設定手段に設定された値を超えた場合には、温度異常発生フラグをセットし、次回の電源投入もしくはリセットの実行時には、連続立上げ成功回数カウント手段および自己診断非実行期限設定手段が共に条件を満たしていなくても、温度異常発生フラグがセットされていることにより自己診断を実行する組込み装置の自己診断実行制御方法を説明した。
【００３０】
実施の形態４．
実施の形態４では、実施の形態３に加えて温度異常が発生した回数を自己診断の実行を制御する条件に入れた場合の実施の形態を示す。
【００３１】
図４は、その場合の組込み装置１００の構成を示すブロック図である。
図４において、３３は温度異常発生回数をカウントする温度異常発生回数カウント部、３４は温度異常自己診断実行閾値設定部である。
温度異常発生回数カウント部３３は、連続立上げ成功回数カウント部１１とともに、回数カウント部の例である。また、温度異常発生回数カウント部３３がカウントする温度異常発生回数は異常値連続回数の例である。
また、図４において、図３と同じ番号は同一部分もしくは同等な機能を果たす部分を示す。
【００３２】
電源投入およびリセット実行後は図１９の処理を行う。
図１９は図１７の処理に、温度異常発生回数カウント部３３をクリアするステップ（４０９）が追加されている点のみが異なり、その他の処理は図１７と同じである。
【００３３】
また、温度異常の発生監視を行うため、自己診断決定部１５は。自己診断の実行中およびシステム動作実行中には図２０に示す温度異常監視２の処理を定期的に行う。
すなわち、まず、自己診断決定部１５は、温度測定部３０から温度を読み出す（４５０）。
読み出した温度と上限温度設定部３１に設定された値を比較する（４５１）。
温度測定部３０から読み込んだ温度が上限温度設定部３１に設定された温度を超えていない場合、自己診断決定部１５は、今回の温度を前回温度として記憶し（４５６）、温度異常監視２の処理を終了する。
一方、ステップ４５１において、温度測定部３０から読み込んだ温度が上限温度設定部３１に設定された温度を超えていた場合、自己診断決定部１５は、前回温度をチェックする（４５２）。
前回温度が上限温度設定部３１に設定された温度を超えていた場合には、自己診断決定部１５は、高温状態が継続しているものと判断し、今回の温度を前回温度として記憶し（４５６）、温度異常監視２の処理を終了する。
また、ステップ４５２において、前回温度が上限温度設定部３１に設定された温度を超えていなかった場合には、自己診断決定部１５は、新たに温度異常が発生したものと判断し、温度異常発生回数カウント部３３を１増やす（４５３）。
そして、温度異常発生回数カウント部３３の値と温度異常自己診断実行閾値設定部３４に設定されていた値を比較する（４５４）。
温度異常発生回数カウント部３３の値が温度異常自己診断実行閾値設定部３４に設定されていた値を超えていなかった場合、自己診断決定部１５は、今回の温度を前回温度として記憶し（４５６）、温度異常監視２の処理を終了する。
ステップ４５４において、温度異常発生回数カウント部３３の値が温度異常自己診断実行閾値設定部３４に設定されていた値を超えた場合、自己診断決定部１５は、温度異常発生フラグ３２をセットする（４５５）。
そして、今回の温度を前回温度として記憶し（４５６）、温度異常監視２の処理を終了する。
【００３４】
なお、ＲＴＣ４の時刻、自己診断非実行回数設定部１２への自己診断省略回数、自己診断非実行期間設定部１３への自己診断省略期間、上限温度設定部３１への上限温度および温度異常自己診断実行閾値設定部３４への温度異常発生回数閾値の設定は自己診断プログラムの設定機能などにより、ユーザが予め設定しておくことができる。
【００３５】
以上のように、この実施の形態では異常に高い温度の下で動作した場合でも、その回数が指定された値を超えなければ電源投入もしくはリセット実行時の自己診断を実行しないので、不必要にシステムの立上げに要する時間が長くなるのを防ぐことが可能になる。
【００３６】
以上、本実施の形態では、温度異常発生回数をカウントする温度異常発生回数カウント手段と温度異常自己診断実行閾値設定手段を設け、温度測定手段による動作中の温度の測定結果が上限温度設定手段に設定された値以内からそれを超えた値になった場合には温度異常発生回数カウント手段を１増やし、温度異常発生回数カウント手段の値が温度異常自己診断実行閾値設定手段に設定された値を超えた場合に温度異常発生フラグをセットし、次回の電源投入もしくはリセットの実行時には、連続立上げ成功回数カウント手段および自己診断非実行期限設定手段が共に条件を満たしていなくても、温度異常発生フラグがセットされていることにより自己診断を実行する組込み装置の自己診断実行制御方法を説明した。
【００３７】
実施の形態５．
実施の形態５では、自己診断の実行を制御する条件に温度異常が継続した時間を入れた場合の実施の形態を示す。
【００３８】
図５は、その場合の組込み装置１００の構成を示すブロック図である。
図５において、３５は温度異常発生状態になってからの時間を計測するための温度異常発生時間計測部、３６は温度異常猶予時間設定部である。
温度異常発生時間計測部３５は、ＲＴＣ４、自己診断非実行期間設定部１３及び自己診断非実行期限設定部１４とともに計時部の例である。また、温度異常発生時間計測部３５が計測する温度異常発生時間は異常値継続時間の例である。
また、図５において、図３と同じ番号は同一部分もしくは同等な機能を果たす部分を示す。
【００３９】
電源投入およびリセット実行後は図２１の処理を行う。
図２１は図１７の処理に、温度異常発生時間計測部３５をクリアするステップ（５０９）が追加されている点のみが異なり、その他の処理は図１７と同じである。
【００４０】
また、温度異常の発生監視を行うため、自己診断決定部１５は、自己診断の実行中およびシステム動作実行中には図２２に示す温度異常監視３の処理を定期的に行う。
すなわち、まず、自己診断決定部１５は、温度測定部３０から温度を読み出す（５５０）。
次に、自己診断決定部１５は、読み出した温度と上限温度設定部３１に設定された値を比較する（５５１）。
温度測定部３０から読み込んだ温度が上限温度設定部３１に設定された温度を超えていなかった場合、自己診断決定部１５は、温度異常監視３の処理を終了する。
一方、ステップ５５１において、温度測定部３０から読み込んだ温度が上限温度設定部３１に設定された温度を超えていた場合、温度異常発生時間計測部３５を１増やす（５５２）。
そして、自己診断決定部１５は、温度異常発生時間計測部３５の値と温度異常猶予時間設定部３６に設定されていた値を比較する（５５３）。
温度異常発生時間計測部３５の値が温度異常猶予時間設定部３６に設定されていた値を超えていなかった場合、自己診断決定部１５は、温度異常監視３の処理を終了する。
また、ステップ５５３において、温度異常発生時間計測部３５の値が温度異常猶予時間設定部３６に設定されていた値を超えた場合、自己診断決定部１５は、温度異常発生フラグ３２をセットする（５５４）。
そして、温度異常監視３の処理を終了する。
【００４１】
なお、ＲＴＣ４の時刻、自己診断非実行回数設定部１２への自己診断省略回数、自己診断非実行期間設定部１３への自己診断省略期間、上限温度設定部３１への上限温度および温度異常猶予時間設定部３６への温度異常発生猶予時間の設定は自己診断プログラムの設定機能などにより、ユーザが予め設定しておくことができる。
【００４２】
以上のように、この実施の形態では異常に高い温度の下で動作した場合でも、その時間の合計が指定された値を超えなければ電源投入もしくはリセット実行時の自己診断を実行しないので、不必要にシステムの立上げに要する時間が長くなるのを防ぐことが可能になる。
【００４３】
以上、本実施の形態では、温度異常発生状態になってからの時間を計測するための温度異常発生時間計測手段と温度異常時間設定手段を設け、温度測定手段による動作中の温度の測定結果が上限温度設定手段に設定された値を超えた値になった時に温度異常発生時間計測手段による時間の計測を開始させ、温度設定手段に設定された値以内に戻った時に時間の計測を停止させることにより、上限温度設定手段に設定した値を超えた温度異常発生時間の合計が温度異常時間設定手段に設定された値を超えた場合に温度異常発生フラグをセットし、次回の電源投入もしくはリセットの実行時には、連続立上げ成功回数カウント手段および自己診断非実行期限設定手段が共に条件を満たしていなくても、温度異常発生フラグがセットされていることにより自己診断を実行する組込み装置の自己診断実行制御方法を説明した。
【００４４】
実施の形態６．
以上の実施の形態３〜５では、上限温度設定部３１、温度異常発生フラグ３２、温度異常発生回数カウント部３３、温度異常自己診断実行閾値設定部３４、温度異常発生時間計測部３５、温度異常猶予時間設定部３６を個別のハードウェアとして実現するようにしたものであるが、次にこれらを小容量のバッテリバックアップされたＲＡＭに記憶するようにした場合の実施の形態を示す。
【００４５】
図６は、このような場合の組込み装置１００の構成を示すブロック図である。
バッテリバックアップされたＲＡＭ２０の決まったアドレスをそれぞれ上限温度設定部３１、温度異常発生フラグ３２、温度異常発生回数カウント部３３、温度異常自己診断実行閾値設定部３４、温度異常発生時間計測部３５、温度異常猶予時間設定部３６として割付ける。
動作は実施の形態３〜５の場合と同じある。
つまり、ＲＯＭ２に格納された自己診断プログラムがＣＰＵ１により読み出されるときに、ＲＡＭ２０に格納されている各要素もＣＰＵ１により読み出され、動作可能となり、以降は、実施の形態３〜５と同様の手順にて自己診断の要否を決定する。
【００４６】
以上のように、本実施の形態により、自己診断の実行制御用に記憶すべき情報量が少なくて済み、小容量のＲＡＭを利用して自己診断実行制御を実現できるため、自己診断実行制御のためのハードウェアを低コストで実現できる。さらに、ＲＴＣに内蔵されるＲＡＭを利用すれば、自己診断実行制御のために専用に設けるハードウェアが不要となり、組込み装置をさらに低コストで実現することができる。
【００４７】
以上、本実施の形態では、上限温度設定手段、温度異常発生回数カウント手段、温度異常自己診断実行閾値設定手段、温度異常発生時間計測手段、温度異常時間設定手段および温度異常発生フラグはバッテリバックアップした小規模のＲＡＭやＦＬＡＳＨなどの小規模の不揮発性メモリ、もしくは他の目的で既に実装済のバッテリバックアップしたＲＡＭやＦＬＡＳＨなどの不揮発性メモリの一部を共有して使用する組込み装置の自己診断実行制御方法を説明した。
【００４８】
実施の形態７．
以上の実施の形態では、電源投入もしくはリセット実行後に自己診断の実行を省略した回数および自己診断が成功してから経過した時間に加えて組込み装置が動作する環境の温度も自己診断の実行を制御する条件に入れるようにした場合の実施の形態を示したが、ここでは温度の代わりに湿度を条件に入れるようにした場合の実施の形態を示す。
【００４９】
図７は、その場合の組込み装置１００の構成を示すブロック図である。
図７において、４０は湿度センサなどの湿度測定部、４１はその湿度を超えるとハードウェアの故発生率が高くなるような上限湿度を設定するための上限湿度設定部、４２は湿度異常発生フラグである。湿度測定部４０は、動作環境測定部の例である。
また、図７において、図２と同じ番号は同一部分もしくは同等な機能を果たす部分を示す。
【００５０】
次に動作について説明する。
組込み装置１００の電源が投入されるか、リセットが実行されると、ＲＯＭ２に格納された自己診断プログラムがＣＰＵ１により読み出され、実行される。また、このとき、ＲＡＭ２０に格納されている各要素もＣＰＵ１により読み出され、動作可能となる。
図２３はこの時動作を示すフローチャートであり、図２３を用いて動作を説明する。
【００５１】
自己診断決定部１５は、まず立上げ成功フラグ１０の状態を読取る（７０１）。
そして立上げ成功フラグがセットされているかどうか判断する（７０２）。
立上げ成功フラグがセットされていなければ、自己診断決定部１５は、まだ自己診断が正常終了していないと判断し、立上げ成功フラグ１０をクリアし（７１０）、連続立上げ成功回数カウント部１１をクリアする（７１１）。
さらに、自己診断決定部１５は、湿度異常発生フラグ４２をクリアする（７２０）。
そして、自己診断プログラムが、ハードウェアの自己診断を実行する（７１２）。
自己診断実行後、自己診断決定部１５は、自己診断でエラーが発生したかどうかをチェックする（７１３）。
エラーが発生せず正常終了した場合には、自己診断決定部１５は、立上げ成功フラグをセットし（７１４）、ＲＴＣ４から読み出した時刻に自己診断非実行期間設定部１３に設定されている時間を加えた時刻を自己診断非実行期限設定部１４にセットする（７１５）。
そして、自己診断決定部１５が連続立上げ成功回数カウント部１１の内容を１増やした（７１６）後、自己診断プログラムの実行を終了し、実システムの立上げを開始する。
もしも、自己診断でエラーが発生した場合には、自己診断決定部１５は、立上げ成功フラグ１０のセットは行わず、エラー発生の表示を行い（７１７）、システムの立上げを中止する。
【００５２】
一方、ステップ７０２において、立上げ成功フラグがセットされていれば、自己診断決定部１５は、少なくとも１度は自己診断の実行が正常終了したと判断し、連続立上げ成功回数カウント部１１の内容と自己診断非実行回数設定部１２の内容を比較する（７０３）。
連続立上げ成功回数カウント部１１の内容が自己診断非実行回数設定部２２の内容を超えていた場合には、既に指定された回数だけ自己診断の実行を省略済なので、自己診断決定部１５は自己診断の実行を決定し、立上げ成功フラグ１０のクリア以降の処理の後、自己診断プログラムが自己診断を行う（７１０）。
連続立上げ成功回数カウント部１１の内容が自己診断非実行回数設定部１２の内容を超えていなかった場合には、自己診断決定部１５は、ＲＴＣ４から読み出した時刻と自己診断非実行期限設定部１４にセットされていた時刻の比較を行う（７０４）。
ＲＴＣ４から読み出した時刻が自己診断非実行期限設定部１４にセットされていた時刻を過ぎていた場合、指定された時間を超えて自己診断を実行していないことになるので、自己診断決定部１５は自己診断の実行を決定し、立上げ成功フラグ１０のクリア以降の処理の後、自己診断プログラムが自己診断を行う（７１０）。
ＲＴＣ４から読み出した時刻が自己診断非実行期限設定部１４にセットされていた時刻を過ぎていなかった場合、自己診断決定部１５は、湿度異常発生フラグ４２をチェックする（７０５）。
湿度異常フラグがセットされていた場合、異常に高い湿度の状態が発生し、ハードウェア故障が発生した可能性があるため、自己診断決定部１５は自己診断の実行を決定し、立上げ成功フラグ１０のクリア以降の処理の後、自己診断プログラムが自己診断を行う（７１０）。
湿度異常発生フラグ４２がセットされていなかった場合には、自己診断決定部１５は自己診断の省略を決定し、連続立上げ成功回数カウント部１１の内容を１増やし（７１６）、自己診断プログラムの終了と実システムの立上げ開始を行う。
【００５３】
また、自己診断決定部１５は、自己診断の実行中およびシステム動作実行中には図２４に示す湿度異常監視１の処理を定期的に行い、湿度異常の発生を定期的に監視し、湿度が上限湿度設定部４１に設定した値を超えた場合には湿度異常発生フラグ４２をセットする。
【００５４】
なお、ＲＴＣ４の時刻、自己診断非実行回数設定部１２への自己診断省略回数、自己診断非実行期間設定部１３への自己診断省略期間および上限湿度設定部４１への上限湿度の設定は自己診断プログラムの設定機能などにより、ユーザが予め設定しておくことができる。
【００５５】
以上のように、この実施の形態では一度自己診断が成功した後、決めた回数および決めた期間に満たなくても、異常に高い湿度の下で動作した場合には、次回の電源投入もしくはリセット実行時に自己診断を実行するため、異常に高い湿度の発生によりハードウェアの故障などが発生した場合に確実に故障を指摘できるため、システムの信頼性を向上することが可能になる。
【００５６】
以上、本実施の形態では、動作環境の湿度を測定するための湿度測定手段およびある湿度以上になるとハードウェアの故障発生率が高くなる上限湿度を設定するための上限湿度設定手段および湿度異常発生フラグを設け、湿度測定手段による動作中の湿度の測定結果が上限湿度設定手段に設定された値を超えた場合には、湿度異常発生フラグをセットし、次回の電源投入もしくはリセットの実行時には、連続立上げ成功回数カウント手段および自己診断非実行期限設定手段が共に条件を満たしていなくても、湿度異常発生フラグがセットされていることにより自己診断を実行する組込み装置の自己診断実行制御方法を説明した。
【００５７】
実施の形態８．
実施の形態８では、実施の形態７に加えて湿度異常が発生した回数を自己診断の実行を制御する条件に入れた場合の実施の形態を示す。
【００５８】
図８は、その場合の組込み装置１００の構成を示すブロック図である。
図８において、４３は湿度異常発生回数をカウントする湿度異常発生回数カウント部、４４は湿度異常自己診断実行閾値設定部である。
湿度異常発生回数カウント部４３は、連続立上げ成功回数カウント部１１とともに、回数カウント部の例である。また、湿度異常発生回数カウント部４３がカウントする湿度異常発生回数は異常値連続回数の例である。
また、図８において、図７と同じ番号は同一部分もしくは同等な機能を果たす部分を示す。
【００５９】
電源投入およびリセット実行後は図２５の処理を行う。
図２５は図２３の処理に、湿度異常発生回数カウント部４３をクリアするステップ（８０９）が追加されている点のみが異なり、その他の処理は図２３と同じである。
【００６０】
また、湿度異常の発生監視を行うため、自己診断決定部１５は、自己診断の実行中およびシステム動作実行中には図２６に示す湿度異常監視２の処理を定期的に行う。
すなわち、まず、自己診断決定部１５は、湿度測定部４０から湿度を読み出す（８５０）。
読み出した湿度と上限湿度設定部４１に設定された値を比較する（８５１）。
湿度測定部４０から読み込んだ湿度が上限湿度設定部４１に設定された湿度を超えていない場合、自己診断決定部１５は、今回の湿度を前回湿度として記憶し（８５６）、湿度異常監視２の処理を終了する。
湿度測定部４０から読み込んだ湿度が上限湿度設定部４１に設定された湿度を超えていた場合、前回湿度をチェックする（８５２）。
前回湿度が上限湿度設定部４１に設定された湿度を超えていた場合には、自己診断決定部１５は、異常に高い湿度状態が継続しているものと判断し、今回の湿度を前回湿度として記憶し（８５６）、湿度異常監視２の処理を終了する。
また、ステップ８５２において、前回湿度が上限湿度設定部４１に設定された湿度を超えていなかった場合には、新たに湿度の異常が発生したものと判断し、湿度異常発生回数カウント部４３を１増やす（８５３）。
そして、湿度異常発生回数カウント部４３の値と湿度異常自己診断実行閾値設定部４４に設定されていた値を比較する（８５４）。
湿度異常発生回数カウント部４３の値が湿度異常自己診断実行閾値設定部４４に設定されていた値を超えていなかった場合、自己診断決定部１５は、今回の湿度を前回湿度として記憶し（８５６）、湿度異常監視２の処理を終了する。
ステップ８５４において、湿度異常発生回数カウント部４３の値が湿度異常自己診断実行閾値設定部４４に設定されていた値を超えた場合、自己診断決定部１５は、湿度異常発生フラグ４２をセットする（８５５）。
そして、今回の湿度を前回湿度として記憶し（８５６）、湿度異常監視２の処理を終了する。
【００６１】
なお、ＲＴＣ４の時刻、自己診断非実行回数設定部１２への自己診断省略回数、自己診断非実行期間設定部１３への自己診断省略期間、上限湿度設定部４１への上限湿度および湿度異常自己診断実行閾値設定部４４への湿度異常発生回数閾値の設定は自己診断プログラムの設定機能などにより、ユーザが予め設定しておくことができる。
【００６２】
以上のように、この実施の形態では異常に高い湿度の下で動作した場合でも、その回数が指定された値を超えなければ電源投入もしくはリセット実行時の自己診断を実行しないので、不必要にシステムの立上げに要する時間が長くなるのを防ぐことが可能になる。
【００６３】
以上、本実施の形態によれば、湿度異常発生回数をカウントする湿度異常発生回数カウント手段と湿度異常自己診断実行閾値設定手段を設け、湿度測定手段による動作中の湿度の測定結果が上限湿度設定手段に設定された値以内からそれを超えた値になった場合には湿度異常発生回数カウント手段を１増やし、湿度異常発生回数カウント手段の値が湿度異常自己診断実行閾値設定手段に設定された値を超えた場合に湿度異常発生フラグをセットし、次回の電源投入もしくはリセットの実行時には、連続立上げ成功回数カウント手段および自己診断非実行期限設定手段が共に条件を満たしていなくても、湿度異常発生フラグがセットされていることにより自己診断を実行する組込み装置の自己診断実行制御方法を説明した。
【００６４】
実施の形態９．
実施の形態９では、自己診断の実行を制御する条件に湿度異常が継続した時間を入れた場合の実施の形態を示す。
【００６５】
図９は、その場合の組込み装置１００の構成を示すブロック図である。
図９において、４５は湿度異常発生状態になってからの時間を計測するための湿度異常発生時間計測部、４６は湿度異常猶予時間設定部である。
湿度異常発生時間計測部４５は、ＲＴＣ４、自己診断非実行期間設定部１３及び自己診断非実行期限設定部１４とともに計時部の例である。また、湿度異常発生時間計測部４５が計測する湿度異常発生時間は異常値継続時間の例である。
また、図９において、図７と同じ番号は同一部分もしくは同等な機能を果たす部分を示す。
【００６６】
電源投入およびリセット実行後は図２７の処理を行う。
図２７は図２３の処理に、湿度異常発生時間計測部４５をクリアするステップ（９０９）が追加されている点のみが異なり、その他の処理は図２３と同じである。
【００６７】
また、湿度異常の発生監視を行うため、自己診断決定部１５は、自己診断の実行中およびシステム動作実行中には図２８に示す湿度異常監視３の処理を定期的に行う。
すなわち、まず、自己診断決定部１５は、湿度測定部４０から湿度を読み出す（９５０）。
次に、自己診断決定部１５は、読み出した湿度と上限湿度設定部４１に設定された値を比較する（９５１）。
湿度測定部４０から読み込んだ湿度が上限湿度設定部４１に設定された湿度を超えていなかった場合、自己診断決定部１５は、湿度異常監視３の処理を終了する。
一方、ステップ９５１において、湿度測定部４０から読み込んだ湿度が上限湿度設定部４１に設定された湿度を超えていた場合、湿度異常発生時間計測部４５を１増やす（９５２）。
そして、自己診断決定部１５は、湿度異常発生時間計測部４５の値と湿度異常猶予時間設定部４６に設定されていた値を比較する（９５３）。
湿度異常発生時間計測部４５の値が湿度異常猶予時間設定部４６に設定されていた値を超えていなかった場合、自己診断決定部１５は、湿度異常監視３の処理を終了する。
また、ステップ９５３において、湿度異常発生時間計測部４５の値が湿度異常猶予時間設定部４６に設定されていた値を超えた場合、自己診断決定部１５は、湿度異常発生フラグ４２をセットする（９５４）。
そして、湿度異常監視３の処理を終了する。
【００６８】
なお、ＲＴＣ４の時刻、自己診断非実行回数設定部１２への自己診断省略回数、自己診断非実行期間設定部１３への自己診断省略期間、上限湿度設定部４１への上限湿度および湿度異常猶予時間設定部４６への湿度異常発生猶予時間の設定は自己診断プログラムの設定機能などにより、ユーザが予め設定しておくことができる。
【００６９】
以上のように、この実施の形態では異常に高い湿度の下で動作した場合でも、その時間の合計が指定された値を超えなければ電源投入もしくはリセット実行時の自己診断を実行しないので、不必要にシステムの立上げに要する時間が長くなるのを防ぐことが可能になる。
【００７０】
以上、本実施の形態では、湿度異常発生状態になってからの時間を計測するための湿度異常発生時間計測手段と湿度異常時間設定手段を設け、湿度測定手段による動作中の湿度の測定結果が上限湿度設定手段に設定された値を超えた値になった時に湿度異常発生時間計測手段による時間の計測を開始させ、湿度設定手段に設定された値以内に戻った時に時間の計測を停止させることにより、上限湿度設定手段に設定した値を超えた湿度異常発生時間の合計が湿度異常時間設定手段に設定された値を超えた場合に湿度異常発生フラグをセットし、次回の電源投入もしくはリセットの実行時には、連続立上げ成功回数カウント手段および自己診断非実行期限設定手段が共に条件を満たしていなくても、湿度異常発生フラグがセットされていることにより自己診断を実行する自己診断実行制御方法を説明した。
【００７１】
実施の形態１０．
以上の実施の形態７〜９では、上限湿度設定部４１、湿度異常発生フラグ４２、湿度異常発生回数カウント部４３、湿度異常自己診断実行閾値設定部４４、湿度異常発生時間計測部４５、湿度異常猶予時間設定部４６を個別のハードウェアとして実現するようにしたものであるが、次にこれらを小容量のバッテリバックアップされたＲＡＭに記憶するようにした場合の実施の形態を示す。
【００７２】
図１０は、その場合の組込み装置１００の構成を示すブロック図である。
バッテリバックアップされたＲＡＭ２０の決まったアドレスをそれぞれ上限湿度設定部４１、湿度異常発生フラグ４２、湿度異常発生回数カウント部４３、湿度異常自己診断実行閾値設定部４４、湿度異常発生時間計測部４５、湿度異常猶予時間設定部４６として割付ける。
動作は実施の形態７〜９の場合と同じある。
つまり、ＲＯＭ２に格納された自己診断プログラムがＣＰＵ１により読み出されるときに、ＲＡＭ２０に格納されている各要素もＣＰＵ１により読み出され、動作可能となり、以降は、実施の形態７〜９と同様の手順にて自己診断の要否を決定する。
【００７３】
以上のように、本実施の形態により、自己診断の実行制御用に記憶すべき情報量が少なくて済み、小容量のＲＡＭを利用して自己診断実行制御を実現できるため、自己診断実行制御のためのハードウェアを低コストで実現できる。さらに、ＲＴＣに内蔵されるＲＡＭを利用すれば、自己診断実行制御のために専用に設けるハードウェアが不要となり、組込み装置をさらに低コストで実現することができる。
【００７４】
以上、本実施の形態では、上限湿度設定手段、湿度異常発生回数カウント手段、湿度異常自己診断実行閾値設定手段、湿度異常発生時間計測手段、湿度異常時間設定手段および湿度異常発生フラグはバッテリバックアップした小規模のＲＡＭやＦＬＡＳＨなどの小規模の不揮発性メモリ、もしくは他の目的で既に実装済のバッテリバックアップしたＲＡＭやＦＬＡＳＨなどの不揮発性メモリの一部を共有して使用する組込み装置の自己診断実行制御方法を説明した。
【００７５】
実施の形態１１．
以上の実施の形態では、電源投入もしくはリセット実行後に自己診断の実行を省略した回数および自己診断が成功してから経過した時間に加えて組込み装置が動作する環境の湿度も自己診断の実行を制御する条件に入れるようにした場合の実施の形態を示したが、ここでは湿度の代わりに振動を条件に入れるようにした場合の実施の形態を示す。
【００７６】
図１１は、その場合の組込み装置１００の構成を示すブロック図である。
図１１において、５０は振動センサなどの振動測定部であり、組込み装置１００の振動（加速度）を計測する。５１は組込み装置１００の加速度（振動）を超えるとハードウェアの故発生率が高くなるような上限加速度を設定するための上限加速度設定部であり、５２は振動異常発生フラグである。振動測定部５０は、動作環境測定部の例である。
また、図１１において、図２と同じ番号は同一部分もしくは同等な機能を果たす部分を示す。
【００７７】
次に動作について説明する。
組込み装置１００の電源が投入されるか、リセットが実行されると、ＲＯＭ２に格納された自己診断プログラムがＣＰＵ１により読み出され、実行される。また、このとき、ＲＡＭ２０に格納されている各要素もＣＰＵ１により読み出され、動作可能となる。
図２９はこの時の動作を示すフローチャートであり、図２９を用いて動作を説明する。
【００７８】
自己診断決定部１５は、まず立上げ成功フラグ１０の状態を読取る（１１０１）。
そして立上げ成功フラグがセットされているかどうか判断する（１１０２）。
立上げ成功フラグがセットされていなければ、自己診断決定部１５は、まだ自己診断が正常終了していないと判断し、立上げ成功フラグ１０をクリアし（１１１０）、連続立上げ成功回数カウント部１１をクリアする（１１１１）。
さらに、自己診断決定部１５は、振動異常発生フラグ５２をクリアする（１１２０）。
そして、自己診断プログラムが、ハードウェアの自己診断を実行する（１１１２）。
自己診断実行後、自己診断決定部１５は、自己診断でエラーが発生したかどうかをチェックする（１１１３）。
エラーが発生せず正常終了した場合には、自己診断決定部１５は、立上げ成功フラグをセットし（１１１４）、ＲＴＣ４から読み出した時刻に自己診断非実行期間設定部１３に設定されている時間を加えた時刻を自己診断非実行期限設定部１４にセットする（１１１５）。
そして、自己診断決定部１５が連続立上げ成功回数カウント部１１の内容を１増やした（１１１６）後、自己診断プログラムの実行を終了し、実システムの立上げを開始する。
もしも、自己診断でエラーが発生した場合には、自己診断決定部１５は、立上げ成功フラグ１０のセットは行わず、エラー発生の表示を行い（１１１７）、システムの立上げを中止する。
【００７９】
一方、ステップ１１０２において、立上げ成功フラグがセットされていれば、自己診断決定部１５は、少なくとも１度は自己診断の実行が正常終了したと判断し、連続立上げ成功回数カウント部１１の内容と自己診断非実行回数設定部１２の内容を比較する（１１０３）。
連続立上げ成功回数カウント部１１の内容が自己診断非実行回数設定部２２の内容を超えていた場合には、既に指定された回数だけ自己診断の実行を省略済なので、自己診断決定部１５は自己診断の実行を決定し、立上げ成功フラグ１０のクリア以降の処理の後、自己診断プログラムが自己診断を行う（１１１０）。
連続立上げ成功回数カウント部１１の内容が自己診断非実行回数設定部１２の内容を超えていなかった場合には、自己診断決定部１５は、ＲＴＣ４から読み出した時刻と自己診断非実行期限設定部１４にセットされていた時刻の比較を行う（１１０４）。
ＲＴＣ４から読み出した時刻が自己診断非実行期限設定部１４にセットされていた時刻を過ぎていた場合、指定された時間を超えて自己診断を実行していないことになるので、自己診断決定部１５は自己診断の実行を決定し、立上げ成功フラグ１０のクリア以降の処理の後、自己診断プログラムが自己診断を行う（１１１０）。
ＲＴＣ４から読み出した時刻が自己診断非実行期限設定部１４にセットされていた時刻を過ぎていなかった場合、振動異常発生フラグ５２をチェックする（１１０５）。
振動異常フラグがセットされていた場合、異常に強い振動が発生し、ハードウェア故障が発生した可能性があるため、自己診断決定部１５は自己診断の実行を決定し、立上げ成功フラグ１０のクリア以降の処理の後、自己診断プログラムが自己診断を行う（１１１０）。
振動異常発生フラグ５２がセットされていなかった場合には、自己診断決定部１５は自己診断の省略を決定し、連続立上げ成功回数カウント部１１の内容を１増やし（１１１６）、自己診断プログラムの終了と実システムの立上げ開始を行う。
【００８０】
また、自己診断決定部１５は、自己診断の実行中およびシステム動作実行中には図３０に示す振動異常監視１の処理を定期的に行い、振動異常の発生を定期的に監視し、振動が上限加速度設定部５１に設定した値を超えた場合には振動異常発生フラグ５２をセットする。
【００８１】
なお、ＲＴＣ４の時刻、自己診断非実行回数設定部１２への自己診断省略回数、自己診断非実行期間設定部１３への自己診断省略期間および上限加速度設定部５１への上限加速度の設定は自己診断プログラムの設定機能などにより、ユーザが予め設定しておくことができる。
【００８２】
以上のように、この実施の形態では一度自己診断が成功した後、決めた回数および決めた期間に満たなくても、異常に強い振動が動作中に発生した場合には、次回の電源投入もしくはリセット実行時に自己診断を実行するため、異常に強い振動の発生によりハードウェアの故障などが発生した場合に確実に故障を指摘できるため、システムの信頼性を向上することが可能になる。
【００８３】
以上、本実施の形態では、組込み装置に加えられた振動を測定するための振動測定手段およびある加速度以上になるとハードウェアの故障発生率が高くなる上限加速度を設定するための上限家族度設定手段および振動異常発生フラグを設け、振動測定手段による動作中に加えられた振動の測定結果が上限加速度設定手段に設定された値を超えた場合には、振動異常発生フラグをセットし、次回の電源投入もしくはリセットの実行時には、連続立上げ成功回数カウント手段および自己診断非実行期限設定手段が共に条件を満たしていなくても、振動異常発生フラグがセットされていることにより自己診断を実行する組込み装置の自己診断実行制御方法を説明した。
【００８４】
実施の形態１２．
実施の形態１２では、実施の形態１１に加えて振動異常が発生した回数を自己診断の実行を制御する条件に入れた場合の実施の形態を示す。
【００８５】
図１２は、その場合の組込み装置１００の構成を示すブロック図である。
図１２において、５３は振動異常発生回数をカウントする振動異常発生回数カウント部、５４は振動異常自己診断実行閾値設定部である。
振動異常発生回数カウント部５３は、連続立上げ成功回数カウント部１１とともに、回数カウント部の例である。また、振動異常発生回数カウント部５３がカウントする振動異常発生回数は異常値連続回数の例である。
また、図１２において、図１１と同じ番号は同一部分もしくは同等な機能を果たす部分を示す。
【００８６】
電源投入およびリセット実行後は図３１の処理を行う。
図３１は図２９の処理に、振動異常発生回数カウント部５３をクリアするステップ（１２０９）が追加されている点のみが異なり、その他の処理は図２９と同じである。
【００８７】
また、振動異常の発生監視を行うため、自己診断決定部１５は、自己診断の実行中およびシステム動作実行中には図３２に示す振動異常監視２の処理を定期的に行う。
すなわち、まず、振動測定部５０から振動の値である加速度を読み出す（１２５０）。
読み出した加速度と上限加速度設定部５１に設定された値を比較する（１２５１）。
振動測定部５０から読み出した加速度が上限加速度設定部５１に設定された値を超えていない場合、今回の加速度を前回加速度として記憶し（１２５６）、振動異常監視２の処理を終了する。
振動測定部５０から読み込んだ加速度が上限加速度設定部５１に設定された値を超えていた場合、前回加速度をチェックする（１２５２）。
前回加速度が上限加速度設定部５１に設定された値を超えていた場合には、異常に強い振動が継続しているものと判断し、今回の加速度を前回加速度として記憶し（１２５６）、振動異常監視２の処理を終了する。前回加速度が上限加速度設定部５１に設定された値を超えていなかった場合には、新たに異常振動が発生したものと判断し、振動異常発生回数カウント部５３を１増やす（１２５３）。
そして、振動異常発生回数カウント部５３の値と振動異常自己診断実行閾値設定部５４に設定されていた値を比較する（１２５４）。
振動異常発生回数カウント部５３の値が振動異常自己診断実行閾値設定部５４に設定されていた値を超えていなかった場合、自己診断決定部１５は、今回の加速度を前回加速度として記憶し（１２５６）、振動異常監視２の処理を終了する。
ステップ１２５４において、振動異常発生回数カウント部５３の値が振動異常自己診断実行閾値設定部５４に設定されていた値を超えた場合、振動異常発生フラグ５２をセットする（１２５５）。そして、今回の加速度を前回加速度として記憶し（１２５６）、振動異常監視２の処理を終了する。
【００８８】
なお、ＲＴＣ４の時刻、自己診断非実行回数設定部１２への自己診断省略回数、自己診断非実行期間設定部１３への自己診断省略期間、上限加速度設定部５１への上限加速度および振動異常自己診断実行閾値設定部５４への振動異常発生回数閾値の設定は自己診断プログラムの設定機能などにより、ユーザが予め設定しておくことができる。
【００８９】
以上のように、この実施の形態では異常に強い振動が動作中に発生した場合でも、その回数が指定された値を超えなければ電源投入もしくはリセット実行時の自己診断を実行しないので、不必要にシステムの立上げに要する時間が長くなるのを防ぐことが可能になる。
【００９０】
以上、本実施の形態では、振動異常発生回数をカウントする振動異常発生回数カウント手段と振動異常自己診断実行閾値設定手段を設け、振動測定手段による動作中に加えられた振動の測定結果が上限加速度設定手段に設定された値を超えた場合には振動異常発生回数カウント手段を１増やし、振動異常発生回数カウント手段の値が振動異常自己診断実行閾値設定手段に設定された値を超えた場合に振動異常発生フラグをセットし、次回の電源投入もしくはリセットの実行時には、連続立上げ成功回数カウント手段および自己診断非実行期限設定手段が共に条件を満たしていなくても、振動異常発生フラグがセットされていることにより自己診断を実行する組込み装置の自己診断実行制御方法を説明した。
【００９１】
実施の形態１３．
実施の形態１３では、自己診断の実行を制御する条件に異常振動が継続した時間を入れた場合の実施の形態を示す。
【００９２】
図１３は、その場合の組込み装置１００の構成を示すブロック図である。
図１３において、５５は振動異常発生状態になってからの時間を計測するための振動異常発生時間計測部、５６は振動異常猶予時間設定部である。
振動異常発生時間計測部５５は、ＲＴＣ４、自己診断非実行期間設定部１３及び自己診断非実行期限設定部１４とともに計時部の例である。また、振動異常発生時間計測部５５が計測する振動異常発生時間は異常値継続時間の例である。
また、図１３において、図１１と同じ番号は同一部分もしくは同等な機能を果たす部分を示す。
【００９３】
電源投入およびリセット実行後は図３３の処理を行う。
図３３は図２９の処理に、振動異常発生時間計測部５５をクリアするステップ（１３０９）が追加されている点のみが異なり、その他の処理は図２９と同じである。
【００９４】
また、異常振動の発生監視を行うため、自己診断決定部１５は、自己診断の実行中およびシステム動作実行中には図３４に示す振動異常監視３の処理を定期的に行う。
すなわち、まず、振動測定部５０から振動の値である加速度を読み出す（１３５０）。
読み出した加速度と上限加速度設定部５１に設定された値を比較する（１３５１）。
振動測定部５０から読み込んだ加速度が上限加速度設定部５１に設定された値を超えていなかった場合、自己診断決定部１５は、振動異常監視３の処理を終了する。
一方、ステップ１３５１において、振動測定部５０から読み込んだ加速度が上限加速度設定部５１に設定された値を超えていた場合、振動異常発生時間計測部５５を１増やす（１３５２）。
そして、振動異常発生時間計測部５５の値と振動異常猶予時間設定部５６に設定されていた値を比較する（１３５３）。
振動異常発生時間計測部５５の値が振動異常猶予時間設定部５６に設定されていた値を超えていなかった場合、自己診断決定部１５は、振動異常監視３の処理を終了する。
また、ステップ１３５３において、振動異常発生時間計測部５５の値が振動異常猶予時間設定部５６に設定されていた値を超えた場合、自己診断決定部１５は、振動異常発生フラグ５２をセットする（１３５４）。
そして、振動異常監視３の処理を終了する。
【００９５】
なお、ＲＴＣ４の時刻、自己診断非実行回数設定部１２への自己診断省略回数、自己診断非実行期間設定部１３への自己診断省略期間、上限加速度設定部５１への上限加速度および振動異常猶予時間設定部５６への振動異常発生猶予時間の設定は自己診断プログラムの設定機能などにより、ユーザが予め設定しておくことができる。
【００９６】
以上のように、この実施の形態では異常に強い振動が動作中に発生した場合でも、その発生時間の合計が指定された値を超えなければ電源投入もしくはリセット実行時の自己診断を実行しないので、不必要にシステムの立上げに要する時間が長くなるのを防ぐことが可能になる。
【００９７】
以上、本実施の形態では、振動異常発生状態になってからの時間を計測するための振動異常発生時間計測手段と振動異常時間設定手段を設け、振動測定手段による動作中に加えられた振動の測定結果が上限加速度設定手段に設定された値を超えた時に振動異常発生時間計測手段による時間の計測を開始させ、上限加速度設定手段に設定された値以内に戻った時に時間の計測を停止させることにより、上限加速度設定手段に設定した値を超えた振動異常発生時間の合計が振動異常時間設定手段に設定された値を超えた場合に振動異常発生フラグをセットし、次回の電源投入もしくはリセットの実行時には、連続立上げ成功回数カウント手段および自己診断非実行期限設定手段が共に条件を満たしていなくても、振動異常発生フラグがセットされていることにより自己診断を実行する組込み装置の自己診断実行制御方法を説明した。
【００９８】
実施の形態１４．
以上の実施の形態１１〜１３では、上限加速度設定部５１、振動異常発生フラグ５２、振動異常発生回数カウント部５３、振動異常自己診断実行閾値設定部５４、振動異常発生時間計測部５５、振動異常猶予時間設定部５６を個別のハードウェアとして実現するようにしたものであるが、次にこれらを小容量のバッテリバックアップされたＲＡＭに記憶するようにした場合の実施の形態を示す。
【００９９】
図１４は、その場合の組込み装置１００の構成を示すブロック図である。
バッテリバックアップされたＲＡＭ２０の決まったアドレスをそれぞれ上限加速度設定部５１、振動異常発生フラグ５２、振動異常発生回数カウント部５３、振動異常自己診断実行閾値設定部５４、振動異常発生時間計測部５５、振動異常猶予時間設定部５６として割付ける。
【０１００】
動作は実施の形態１１〜１３の場合と同じある。
つまり、ＲＯＭ２に格納された自己診断プログラムがＣＰＵ１により読み出されるときに、ＲＡＭ２０に格納されている各要素もＣＰＵ１により読み出され、動作可能となり、以降は、実施の形態１１〜１３と同様の手順にて自己診断の要否を決定する。
【０１０１】
以上のように、本実施の形態により、自己診断の実行制御用に記憶すべき情報量が少なくて済み、小容量のＲＡＭを利用して自己診断実行制御を実現できるため、自己診断実行制御のためのハードウェアを低コストで実現できる。さらに、ＲＴＣに内蔵されるＲＡＭを利用すれば、自己診断実行制御のために専用に設けるハードウェアが不要となり、組込み装置をさらに低コストで実現することができる。
【０１０２】
以上、本実施の形態では、上限加速度設定手段、振動異常発生回数カウント手段、振動異常自己診断実行閾値設定手段、振動異常発生時間計測手段、振動異常時間設定手段および振動異常発生フラグはバッテリバックアップした小規模のＲＡＭやＦＬＡＳＨなどの小規模の不揮発性メモリ、もしくは他の目的で既に実装済のバッテリバックアップしたＲＡＭやＦＬＡＳＨなどの不揮発性メモリの一部を共有して使用する組込み装置の自己診断実行制御方法を説明した。
【０１０３】
実施の形態１５．
実施の形態１５では、電源投入もしくはリセット実行後に自己診断の実行を省略した回数および自己診断が成功してから経過した時間に加えて、組込み装置が動作する環境の温度、湿度および振動の全てを自己診断の実行を制御する条件に入れるようにした場合の実施の形態を示す。
【０１０４】
図１５は、その場合の組込み装置１００の構成を示すブロック図である。
図１５において、図１、図６、図１０、図１４と同じ番号は同一部分もしくは同等な機能を果たす部分を示す。
【０１０５】
次に動作については、電源投入およびリセット実行後に図３５に示す処理を行う。
処理の内容としては、実施の形態５では温度異常発生フラグのみ、実施の形態９では湿度異常発生フラグのみ、実施の形態１３では振動異常発生フラグのみをそれぞれチェックしていたが、本実施の形態では、温度異常発生フラグのチェック（１５０５）、湿度異常発生フラグのチェック（１５０６）および振動異常発生フラグのチェック（１５０７）を全て行っている。
また、自己診断実行前には温度異常発生時間計測部、湿度異常発生時間計測部および振動異常発生時間計測部を全てクリアしている（１５０９）点が異なるが、その他については実施の形態５、９、１３と同じである。
【０１０６】
また、温度異常、湿度異常、振動異常の発生監視を行うため、自己診断決定部１５は、自己診断の実行中およびシステム動作実行中には図３６に示す環境異常監視のための処理を定期的に行う。
処理の内容については、実施の形態５、実施の形態９および実施の形態１３で説明したものと同じ内容が直列に実行される。
【０１０７】
以上のように、本実施の形態により、一度自己診断が成功した後、決めた回数および決めた期間に満たなくても、異常な高温、異常に高い湿度、異常に強い振動の何れかが動作中に発生した場合には、次回の電源投入もしくはリセット実行時に自己診断を実行するため、何れかの異常が原因でハードウェアの故障などが発生した場合でも確実に故障を指摘できるため、システムの信頼性を向上することが可能になる。
【０１０８】
以上、本実施の形態では、温度測定手段、湿度測定手段、振動測定手段の全てを設け、上限温度設定手段、温度異常発生時間計測手段、温度異常猶予時間設定手段、温度異常発生フラグ、上限湿度設定手段、湿度異常発生時間計測手段、湿度異常猶予時間設定手段、湿度異常発生フラグ、上限加速度設定手段、振動異常発生時間計測手段、振動異常猶予時間設定手段および振動異常発生フラグはバッテリバックアップした小規模のＲＡＭやＦＬＡＳＨなどの小規模の不揮発性メモリ、もしくは他の目的で既に実装済のバッテリバックアップしたＲＡＭやＦＬＡＳＨなどの不揮発性メモリの一部を共有して使用することで、温度異常、湿度異常、振動異常の何れかが発生した場合でも、次回の電源投入もしくはリセットの実行時に、連続立上げ成功回数カウント手段および自己診断非実行期限設定手段が共に条件を満たしていなくても、自己診断を実行する組込み装置の自己診断実行制御方法を説明した。
【０１０９】
実施の形態１６．
実施の形態１６では、自己診断の実行開始直前および自己診断実行中にユーザの要求を確認し、要求があった場合には自己診断の実行を中止するようにした場合の実施の形態を示す。
構成は実施の形態２と同じで図２に示される構成である。
【０１１０】
次に動作について、図３７を元に動作を説明する。
電源投入およびリセット実行後、自己診断決定部１５は、まず自己診断実行中のメッセージを表示部６表示する（１６００）。
次に、自己診断決定部１５は、立上げ成功フラグ１０の状態を読取る（１６０１）。
そして、立上げ成功フラグがセットされているかどうか判断する（１６０２）。
立上げ成功フラグがセットされていなければ、自己診断決定部１５は、まだ自己診断が正常終了していないと判断し、立上げ成功フラグ１０をクリアし（１６１０）、連続立上げ成功回数カウント部１１をクリアする（１６１１）。
ここでユーザからの自己診断中止要求が入力部５により入力されたかどうかチェックする（１６１２）。
中止要求があった場合、自己診断決定部１５は、自己診断実行中のメッセージを消去し（１６１８）、自己診断プログラムの実行を終了し、実システムの立上げを開始する。
中止要求がなかった場合、自己診断プログラムが、ハードウェアの自己診断を実行する（１６１３）。
また、自己診断決定部１５は、自己診断実行中も中止要求があるかどうかのチェックを定期的に行い、中止要求があった場合には自己診断の実行を中止する。自己診断実行後、自己診断決定部１５は、まずは自己診断中止要求により中止したかどうかを確認する（１６１４）。
中止要求による中止だった場合には、自己診断実行中メッセージ消去（１６１８）からの処理を行う。
中止要求による中止ではなかった場合、自己診断決定部１５は、自己診断でエラーが発生したかどうかをチェックする（１６１５）。
エラーが発生せず正常終了した場合には、自己診断決定部１５は、立上げ成功フラグをセットし（１６１６）、ＲＴＣ４から読み出した時刻に自己診断非実行期間設定部１３に設定されている時間を加えた時刻を自己診断非実行期限設定部１４にセットする（１６１７）。
そして、自己診断決定部１５は、連続立上げ成功回数カウント部１１の内容を１増やした（１６０５）後、自己診断実行中のメッセージを消去し（１６１８）、自己診断プログラムの実行を終了し、実システムの立上げを開始する。
もしも、自己診断でエラーが発生した場合には、立上げ成功フラグ１０のセットは行わず、エラー発生の表示を行い（１６１９）、システムの立上げを中止する。
【０１１１】
また、ステップ１６０２において、立上げ成功フラグがセットされていれば、自己診断決定部１５は、少なくとも１度は自己診断の実行が正常終了したと判断し、連続立上げ成功回数カウント部１１の内容と自己診断非実行回数設定部１２の内容を比較する（１６０３）。
連続立上げ成功回数カウント部１１の内容が自己診断非実行回数設定部２２の内容を超えていた場合には、既に指定された回数だけ自己診断の実行を省略済なので、自己診断決定部１５は自己診断の実行を決定し、立上げ成功フラグ１０のクリア以降の処理の後、自己診断プログラムが自己診断を行う（１６１０）。
連続立上げ成功回数カウント部１１の内容が自己診断非実行回数設定部１２の内容を超えていなかった場合には、自己診断決定部１５は、ＲＴＣ４から読み出した時刻と自己診断非実行期限設定部１４にセットされていた時刻の比較を行う（１６０４）。
ＲＴＣ４から読み出した時刻が自己診断非実行期限設定部１４にセットされていた時刻を過ぎていた場合、自己診断決定部１５は、指定された時間を超えて自己診断を実行していないことになるので、自己診断決定部１５は自己診断の実行を決定し、立上げ成功フラグ１０のクリア以降の処理の後、自己診断プログラムが自己診断を行う（１６１０）。
ＲＴＣ４から読み出した時刻が自己診断非実行期限設定部１４にセットされていた時刻を過ぎていなかった場合、自己診断決定部１５は、自己診断の省略を決定し、連続立上げ成功回数カウント部１１の内容を１増やし（１６０５）、自己診断実行中表示を消去し（１６１８）、自己診断プログラムの終了と実システムの立上げ開始を行う。
【０１１２】
ここでは、説明を簡単にするために、温度異常、湿度異常、振動異常の発生チェックを行わない実施の形態を説明したが、実施の形態３〜１５でも、自己診断開始直前に自己診断実行中の表示ステップと自己診断開始直前および自己診断実行中に本実施の形態で追加したユーザ要求確認ステップおよび自己診断終了前に自己診断実行中メッセージの消去ステップを入れることにより、本実施の形態で実現しているのと同じ効果が得られることは言うまでもない。
【０１１３】
以上のように、この実施の形態によれば、自己診断の実行をユーザの要求により中止できるので、システムの信頼性よりもシステムの早い立ち上がりを求めるユーザに対してはそうした要求に柔軟に対応できるようになる。
【０１１４】
以上、本実施の形態では、自己診断実行中は表示手段に自己診断実行中であり、自己診断を中止する場合にはボタンなどの入力手段を操作することで自己診断を中止する旨の表示を行い、実際にボタン押下げなどの自己診断中断操作が行われた場合には、自己診断の実行を中断し、通常システムの立上げを開始する組込み装置の自己診断実行制御方法を説明した。
【０１１５】
なお、実施の形態１〜１６に示す組込み装置１００は、前述したように、プログラムを実行するＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ、ＬＣＤ等の表示部、押しボタン、キーボード等の入力部を備えている。
ＨＤＤには、例えば、オペレーティングシステム（ＯＳ）、プログラム群、ファイル群が記憶されている。
プログラム群のプログラムは、ＣＰＵがオペレーティングシステムを利用しながら実行する。
プログラム群には、実施の形態１〜１６においてプログラムであると説明した「〜部」が含まれる。これらプログラムは、ＣＰＵにより読み出され実行される。
【０１１６】
また、ＲＡＭには、ＣＰＵに実行させるオペレーティングシステムのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭには、ＣＰＵによる処理に必要な各種データが格納される。
【０１１７】
ＨＤＤやＲＡＭには、ファイル群として、実施の形態１〜１６の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶される。
また、実施の形態１〜１６で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ、ＨＤＤやその他の記録媒体に記録される。また、データや信号は、バスや信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【０１１８】
また、実施の形態１〜１６の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ＲＯＭに記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。
【符号の説明】
【０１１９】
１  ＣＰＵ、２  ＲＯＭ、３  ＲＡＭ、４  ＲＴＣ、５  入力部、６  表示部、７  ＤＶＤ／ＣＤ、８  ＨＤＤ、９  バッテリ、１０  立上げ成功フラグ、１１  連続立上げ成功回数カウント部、１２  自己診断非実行回数設定部、１３  自己診断非実行期間設定部、１４  自己診断非実行期限設定部、１５  自己診断決定部、２０  ＲＡＭ、３０  温度測定部、３１  上限温度設定部、３２  温度異常発生フラグ、３３  温度異常発生回数カウント部、３４  温度異常自己診断実行閾値設定部、３５  温度異常発生時間計測部、３６  温度異常猶予時間設定部、４０  湿度測定部、４１  上限湿度設定部、４２  湿度異常発生フラグ、４３  湿度異常発生回数カウント部、４４  湿度異常自己診断実行閾値設定部、４５  湿度異常発生時間計測部、４６  湿度異常猶予時間設定部、５０  振動測定部、５１  上限加速度設定部、５２  振動異常発生フラグ、５３  振動異常発生回数カウント部、５４  振動異常自己診断実行閾値設定部、５５  振動異常発生時間計測部、５６  振動異常猶予時間設定部、１００  組込み装置。
【図１】
2010165007.tif 000003
【図２】
2010165007.tif 000004
【図３】
2010165007.tif 000005
【図４】
2010165007.tif 000006
【図５】
2010165007.tif 000007
【図６】
2010165007.tif 000008
【図７】
2010165007.tif 000009
【図８】
2010165007.tif 000010
【図９】
2010165007.tif 000011
【図１０】
2010165007.tif 000012
【図１１】
2010165007.tif 000013
【図１２】
2010165007.tif 000014
【図１３】
2010165007.tif 000015
【図１４】
2010165007.tif 000016
【図１５】
2010165007.tif 000017
【図１６】
2010165007.tif 000018
【図１７】
2010165007.tif 000019
【図１８】
2010165007.tif 000020
【図１９】
2010165007.tif 000021
【図２０】
2010165007.tif 000022
【図２１】
2010165007.tif 000023
【図２２】
2010165007.tif 000024
【図２３】
2010165007.tif 000025
【図２４】
2010165007.tif 000026
【図２５】
2010165007.tif 000027
【図２６】
2010165007.tif 000028
【図２７】
2010165007.tif 000029
【図２８】
2010165007.tif 000030
【図２９】
2010165007.tif 000031
【図３０】
2010165007.tif 000032
【図３１】
2010165007.tif 000033
【図３２】
2010165007.tif 000034
【図３３】
2010165007.tif 000035
【図３４】
2010165007.tif 000036
【図３５】
2010165007.tif 000037
【図３６】
2010165007.tif 000038
【図３７】
2010165007.tif 000039