(57)【要約】【課題】プログラムを実行することによって被制御装置を制御する制御装置において、当該制御装置の暴走をウォッチドッグタイマとは別の仕組みにより検知する。【解決手段】制御装置３０は、プログラムを格納するＲＯＭ３１と、当該ＲＯＭ３１に格納されたプログラムを実行するＣＰＵ３２とを含む。制御装置３０は、ＣＰＵ３２が、通常プログラムを実行することにより、出力ポートＰ２、Ｐ３を制御してプリントエンジン１０を制御する通常モードと、ＣＰＵ３２が、ダウンロードプログラムを実行することにより、出力ポートＰ２、Ｐ３の制御を停止させた状態で通常プログラムの書き換え処理を実行するダウンロードモードとを備える。ダウンロードモード中に、ＣＰＵ３２は、異常出力検知プログラムを実行することにより、出力ポートＰ２、Ｐ３の出力状態を検知し、検知された出力状態が異常であるか否かを判定する。【選択図】図１
2005339297.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを格納するメモリと、当該メモリに格納されたプログラムを実行するＣＰＵと、を含む制御装置であって、
前記ＣＰＵが、第１のプログラムを実行することにより、当該ＣＰＵの所定の出力ポートを制御して被制御装置を制御する第１のモードと、
前記ＣＰＵが、第２のプログラムを実行することにより、前記所定の出力ポートの制御を停止させた状態で所定の処理を実行する第２のモードと、を備え、
前記第２のモード中に、前記ＣＰＵが、異常出力検知プログラムを実行することにより、前記所定の出力ポートの出力状態を検知し、検知された出力状態が異常であるか否かを判定することを特徴とする制御装置。
【請求項２】
請求項１に記載の制御装置であって、
前記ＣＰＵは、前記所定の出力ポートの値を読み取ることにより、前記所定の出力ポートの出力状態を検知することを特徴とする制御装置。
【請求項３】
請求項２に記載の制御装置であって、
前記ＣＰＵは、前記読み取られた出力ポートの値が、前記第２のモードで設定されているはずの値と異なる場合に、出力状態が異常であると判定することを特徴とする制御装置。
【請求項４】
請求項１に記載の制御装置であって、
前記ＣＰＵは、当該ＣＰＵの入力ポートに入力される、前記所定の出力ポートの出力状態に応じて変化する前記被制御装置からの入力値を読み取ることにより、前記所定の出力ポートの出力状態を検知することを特徴とする制御装置。
【請求項５】
請求項４に記載の制御装置であって、
前記ＣＰＵは、前記読み取られた入力値に基づいて、予め設定された規則に従って、出力状態が異常であるか否かを判定することを特徴とする制御装置。
【請求項６】
請求項１〜５のいずれか１項に記載の制御装置であって、
前記ＣＰＵは、前記異常出力検知プログラムに従って、前記所定の出力ポートの出力状態が異常であると判定された場合、当該所定の出力ポートに、前記第２のモードで設定されているはずの値を設定することを特徴とする制御装置。
【請求項７】
請求項１〜６のいずれか１項に記載の制御装置であって、
前記ＣＰＵは、前記異常出力検知プログラムに従って、前記所定の出力ポートの出力状態が異常であると判定された場合、当該ＣＰＵをリセットすることを特徴とする制御装置。
【請求項８】
請求項１〜７のいずれか１項に記載の制御装置であって、
前記ＣＰＵは、前記異常出力検知プログラムに従って、前記所定の出力ポートの出力状態が異常であると判定された場合、当該所定の出力ポートに、前記第２のモードで設定されているはずの値を設定した後に、当該ＣＰＵをリセットすることを特徴とする制御装置。
【請求項９】
請求項１〜８のいずれか１項に記載の制御装置であって、
前記第１および第２のプログラムは、それぞれ、ループ処理を実行するためのプログラムであることを特徴とする制御装置。
【請求項１０】
請求項９に記載の制御装置であって、
前記ＣＰＵから入力されるクリア信号によってクリアされるタイマを備え、当該タイマの値が所定値を超過した場合に前記ＣＰＵをリセットするウォッチドッグタイマを有し、
前記第１および第２のプログラムは、それぞれ、前記ウォッチドッグタイマに前記クリア信号を出力するためのコマンドを含むことを特徴とする制御装置。
【請求項１１】
請求項９〜１０のいずれか１項に記載の制御装置であって、
前記ＣＰＵは、起動直後に、モード選択プログラムを実行することにより、前記第１または第２のプログラムのいずれを実行すべきかを選択し、選択されたプログラムを実行することを特徴とする制御装置。
【請求項１２】
請求項１〜１１のいずれか１項に記載の制御装置であって、
前記異常出力検知プログラムは、前記第２のプログラムに組み込まれていることを特徴とする制御装置。
【請求項１３】
請求項１〜１２のいずれか１項に記載の制御装置であって、
前記被制御装置は、機能部品を用いて記録媒体に画像を形成するプリントエンジンであり、
前記第１のモードは、前記所定の出力ポートを制御して前記機能部品に供給される電圧または電流を制御することにより、前記プリントエンジンに画像形成を行わせるモードであり、
前記第２のモードは、前記所定の出力ポートの制御を停止させて前記機能部品に対する電圧または電流の供給を停止させた状態で所定の処理を行うモードである、
ことを特徴とする制御装置。
【請求項１４】
請求項１３に記載の制御装置であって、
前記所定の処理は、外部装置からプログラムを取得し、取得したプログラムによって前記第１のプログラムを書き換える処理であることを特徴とする制御装置。
【請求項１５】
ＣＰＵに実行される制御プログラムであって、
前記ＣＰＵの所定の出力ポートを制御して被制御装置を制御する第１のモード、を実現する第１のプログラムと、
前記所定の出力ポートの制御を停止させた状態で所定の処理を実行する第２のモード、を実現する第２のプログラムと、
前記第２のモード中に、前記所定の出力ポートの出力状態を検知し、検知された出力状態が異常であるか否かを判定する処理を実現する異常出力検知プログラムと、
を備えることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムを実行することにより被制御装置を制御する制御装置、および、その制御装置で実行される制御プログラムに関し、特に、制御装置の異常検知に関する。
【背景技術】
【０００２】
従来、ウォッチドッグタイマ（ＷＤＴ）を用いて、ＣＰＵが無限ループに陥ったことや暴走したことを検知する仕組みが知られている。例えば、特許文献１には、複数のウォッチドッグタイマを設けた構成が示されている。
【０００３】
ところで、複写機やプリンタなどの画像形成装置には、プリントエンジンを制御して画像形成を行う通常モードの他に、この通常モードを実現するためのソフトウェア（ファームウェア）をネットワークからダウンロードするダウンロードモードを備えるものがある。このダウンロードモードでは、プリントエンジンの制御は行われず、定着器、帯電器、モータなどの部品への電力供給が停止された状態で、ダウンロードが実行される。ここで、通常モードおよびダウンロードモードは、それぞれに対応する通常プログラムおよびダウンロードプログラムをＣＰＵが実行することにより実現される。
【０００４】
例えば、プログラムの欠陥、電気基板の欠陥、外乱などにより、通常プログラムの実行中に、ＣＰＵのプログラムカウンタのアドレスがダウンロードプログラムのアドレスに変化し、通常モードからダウンロードモードに飛び込む場合がある。このような暴走が発生した場合、ウォッチドッグタイマにより暴走が検知され、ＣＰＵがリセットされる。しかし、例えば、ダウンロードモードの周期処理が安定し、ウォッチドッグタイマのクリアが継続されると、ウォッチドッグタイマによって暴走を検知することができない。このとき、ダウンロードモードではプリントエンジンの制御は行われないため、直前の出力（通常モードでの出力）が維持され、プリントエンジンの劣化や破損に繋がる恐れがある。例えば、定着器に電力が供給され続けることによって定着ロールや加圧ロールが損傷したり、帯電器に高圧が印加され続けることによって感光体ドラムが損傷したりする恐れがある。
【０００５】
なお、このような問題は、画像形成装置に限られるものではなく、広く、プログラムに従って被制御装置を制御する場合に生じうる。
【０００６】
【特許文献１】特許第２７３１３８５号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
そこで、本発明は、プログラムを実行することによって被制御装置を制御する制御装置において、当該制御装置の暴走をウォッチドッグタイマとは別の仕組みにより検知することができる制御装置を提供する。
【課題を解決するための手段】
【０００８】
本発明に係る制御装置は、プログラムを格納するメモリと、当該メモリに格納されたプログラムを実行するＣＰＵと、を含む制御装置であって、前記ＣＰＵが、第１のプログラムを実行することにより、当該ＣＰＵの所定の出力ポートを制御して被制御装置を制御する第１のモードと、前記ＣＰＵが、第２のプログラムを実行することにより、前記所定の出力ポートの制御を停止させた状態で所定の処理を実行する第２のモードと、を備え、前記第２のモード中に、前記ＣＰＵが、異常出力検知プログラムを実行することにより、前記所定の出力ポートの出力状態を検知し、検知された出力状態が異常であるか否かを判定することを特徴とする。
【０００９】
本発明の好適な態様では、前記ＣＰＵは、前記所定の出力ポートの値を読み取ることにより、前記所定の出力ポートの出力状態を検知する。このとき、好適には、前記ＣＰＵは、前記読み取られた出力ポートの値が、前記第２のモードで設定されているはずの値と異なる場合に、出力状態が異常であると判定する。
【００１０】
また、本発明の好適な態様では、前記ＣＰＵは、当該ＣＰＵの入力ポートに入力される、前記所定の出力ポートの出力状態に応じて変化する前記被制御装置からの入力値を読み取ることにより、前記所定の出力ポートの出力状態を検知する。このとき、好適には、前記ＣＰＵは、前記読み取られた入力値に基づいて、予め設定された規則に従って、出力状態が異常であるか否かを判定する。
【００１１】
また、本発明の好適な態様では、前記ＣＰＵは、前記異常出力検知プログラムに従って、前記所定の出力ポートの出力状態が異常であると判定された場合、当該所定の出力ポートに、前記第２のモードで設定されているはずの値を設定する。
【００１２】
また、本発明の好適な態様では、前記ＣＰＵは、前記異常出力検知プログラムに従って、前記所定の出力ポートの出力状態が異常であると判定された場合、当該ＣＰＵをリセットする。
【００１３】
また、本発明の好適な態様では、前記ＣＰＵは、前記異常出力検知プログラムに従って、前記所定の出力ポートの出力状態が異常であると判定された場合、当該所定の出力ポートに、前記第２のモードで設定されているはずの値を設定した後に、当該ＣＰＵをリセットする。
【００１４】
また、好適には、前記第１および第２のプログラムは、それぞれ、ループ処理を実行するためのプログラムである。
【００１５】
また、好適には、前記ＣＰＵから入力されるクリア信号によってクリアされるタイマを備え、当該タイマの値が所定値を超過した場合に前記ＣＰＵをリセットするウォッチドッグタイマを有し、前記第１および第２のプログラムは、それぞれ、前記ウォッチドッグタイマに前記クリア信号を出力するためのコマンドを含む。
【００１６】
また、好適には、前記ＣＰＵは、起動直後に、モード選択プログラムを実行することにより、前記第１または第２のプログラムのいずれを実行すべきかを選択し、選択されたプログラムを実行する。
【００１７】
また、好適には、前記異常出力検知プログラムは、前記第２のプログラムに組み込まれている。
【００１８】
また、好適には、前記被制御装置は、機能部品を用いて記録媒体に画像を形成するプリントエンジンであり、前記第１のモードは、前記所定の出力ポートを制御して前記機能部品に供給される電圧または電流を制御することにより、前記プリントエンジンに画像形成を行わせるモードであり、前記第２のモードは、前記所定の出力ポートの制御を停止させて前記機能部品に対する電圧または電流の供給を停止させた状態で所定の処理を行うモードである。このとき、好適には、前記所定の処理は、外部装置からプログラムを取得し、取得したプログラムによって前記第１のプログラムを書き換える処理である。
【００１９】
また、本発明に係る制御プログラムは、ＣＰＵに実行される制御プログラムであって、前記ＣＰＵの所定の出力ポートを制御して被制御装置を制御する第１のモード、を実現する第１のプログラムと、前記所定の出力ポートの制御を停止させた状態で所定の処理を実行する第２のモード、を実現する第２のプログラムと、前記第２のモード中に、前記所定の出力ポートの出力状態を検知し、検知された出力状態が異常であるか否かを判定する処理を実現する異常出力検知プログラムと、を備えることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、プログラムを実行することによって被制御装置を制御する制御装置において、当該制御装置の暴走をウォッチドッグタイマとは別の仕組みにより検知することが可能な制御装置を提供することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態を図面に従って説明する。
【００２２】
図１は、本実施の形態に係る制御装置３０を含む画像形成装置１の構成を示すブロック図である。この画像形成装置１は、複写機、プリンタ、ファクシミリ等のように、紙等の記録媒体に対して画像を形成する装置である。
【００２３】
図１において、画像形成装置１は、プリントエンジン１０と、通信装置２０と、制御装置３０とを有する。
【００２４】
プリントエンジン１０は、電子写真方式に従って、機能部品を用いて記録媒体に画像を形成する装置である。図１では、プリントエンジン１０は、感光体ドラム（不図示）を帯電処理するための帯電器１１と、熱と圧力により記録媒体にトナーを定着させるための定着器１２と、これらに電圧または電流を供給する電源装置１３を備えている。定着器１２には、定着ロール（不図示）の表面温度を検出するための温度センサ１２ａが設置されている。なお、プリントエンジン１０は、これらの他に、現像器、レーザ走査光学系（ROS: Raster Output Scanner）、転写器、クリーナ、各種モータなど、電子写真システムに必要な機能部品を備えている。
【００２５】
通信装置２０は、ＬＡＮ等のネットワークＮを介して、パーソナルコンピュータ等の外部情報処理装置２との通信を行う装置である。
【００２６】
制御装置３０は、プリントエンジン１０を制御するとともに、通信装置２０と通信を行うエンジンコントローラである。この制御装置３０は、ＲＯＭ３１、ＣＰＵ３２、ＲＡＭ３３、およびウォッチドッグタイマ３４（以下、ＷＤＴと称す）を備えている。
【００２７】
ＲＯＭ３１は、各種のユーザプログラムを格納する記憶装置であり、ここでは電気的に書き換え可能なフラッシュメモリである。
【００２８】
ＣＰＵ３２は、ＲＯＭ３１に格納された各種のプログラムを実行することにより、各種の処理を実現させる演算処理装置である。このＣＰＵ３２は、ハードウェアリセット用のリセット端子ＲＥＳを備えている。また、ＣＰＵ３２は、温度センサ１２ａと接続される入力ポートＰ１、電源装置１３と接続される出力ポートＰ２およびＰ３、ＷＤＴ３４と接続される出力ポートＰ４、リセット端子ＲＥＳと接続される出力ポートＰ５、通信装置２０と接続される通信ポートＰ６を備えている。これらのポートＰ１〜Ｐ６は、適宜、Ｉ／Ｏポート、Ａ／Ｄポート、Ｄ／Ａポート、シリアル通信ポート、パラレル通信ポートなどである。
【００２９】
ＲＡＭ３３は、ＣＰＵ３２の作業領域として一時的にプログラムやデータを記憶するメモリである。
【００３０】
ＷＤＴ３４は、ＣＰＵ３２から入力されるクリア信号によってクリアされるタイマを備え、当該タイマの値が所定値を経過した場合に、ＣＰＵ３２のリセット端子ＲＥＳにリセット信号を出力し、ＣＰＵ３２をリセットする回路である。すなわち、ＷＤＴ３４は、クリア信号の入力が所定時間以上無い場合には、ＣＰＵ３２が暴走しているものと判断し、ＣＰＵ３２をリセットする。
【００３１】
図２は、ＲＯＭ３１のメモリマップを示す図である。図２に示されるとおり、アドレス００００００ｈ〜０００３ＦＦｈの領域には、ダウンロードモードを実現させるダウンロードプログラムが格納されている。アドレス０００４００ｈ〜ＦＦＥＦＦＦｈの領域には、通常モードを実現させる通常プログラムが格納される。アドレスＦＦＦ０００ｈ〜ＦＦＦＦＦＦｈの領域には、起動直後の処理を実現させる起動処理プログラム（モード選択プログラム）が格納されている。
【００３２】
以下、上記構成を有する画像形成装置１の動作について説明する。
【００３３】
図３は、本実施の形態に係る画像形成装置１の動作手順を示すフローチャートである。図３において、画像形成装置１の電源が投入されると、ＣＰＵ３２は、起動処理プログラムに従って、ダウンロードモードを実行すべきか否かを判断する（Ｓ１）。すなわち、通常プログラムまたはダウンロードプログラムのいずれを実行すべきかを選択する。例えば、ＣＰＵ３２は、特定のボタンが押された状態で電源が投入された場合や、特定の治具が特定のコネクタに接続された状態で電源が投入された場合には、ダウンロードプログラムを実行すべきであると判断する。それ以外の場合には、通常プログラムを実行すべきであると判断する。
【００３４】
ダウンロードモードを実行すべきでないと判断された場合（Ｓ１：ＮＯ）、すなわち通常プログラムが選択された場合、ＣＰＵ３２は、各ポートＰ１〜Ｐ６などの初期化処理を行った後（Ｓ２）、通常プログラムを実行することにより、プリントエンジン１０を制御する（Ｓ３）。これにより、プリントエンジン１０による画像形成動作が可能となる。
【００３５】
一方、ダウンロードモードを実行すべきであると判断された場合（Ｓ１：ＹＥＳ）、すなわちダウンロードプログラムが選択された場合、ＣＰＵ３２は、各ポートＰ１〜Ｐ６などの初期化処理を行った後（Ｓ４）、ダウンロードプログラムを実行することにより、ダウンロード処理を行う（Ｓ５）。これにより、ＲＯＭ３１に格納された通常プログラムのバージョンアップ等の書き換えが可能となる。ここでは、ステップＳ４は、起動処理プログラムによる処理である。
【００３６】
なお、ステップＳ２およびＳ４の初期化処理は、同じであってもよいし、異なっていてもよい。また、電源投入直後に、ステップＳ１の前に実行されてもよい。
【００３７】
図４は、通常モードの処理手順を示すフローチャートである。図４に示されるとおり、通常モードでは、ＣＰＵ３２は、通常プログラムに従ってループ処理を実行する。このループ処理において、ＣＰＵ３２は、処理Ａ（Ｓ１１）、処理Ｂ（Ｓ１２）、処理Ｃ（Ｓ１３）を順次に実行した後、ＷＤＴ３４にクリア信号を出力する（Ｓ１４）。これにより、ＣＰＵ３２からＷＤＴ３４に、周期的にクリア信号が出力される。ループを１周するのに要する時間が理論上最大１００ｍｓｅｃである場合、ＷＤＴ３４の所定値は、例えば２００ｍｓｅｃに設定される。
【００３８】
ここで、通常モードにおける具体的な処理（図４では、処理Ａ、Ｂ、Ｃで象徴されている）の内容について簡単に説明する。ＣＰＵ３２は、所定の出力ポートの出力を制御して、プリントエンジン１０の電源装置１３を制御する。電源装置１３は、出力ポートからの制御信号に応じて、各種の機能部品に電圧や電流を供給する。すなわち、ＣＰＵ３２は、その所定の出力ポートを制御することにより、機能部品に供給される電圧や電流を制御する。
【００３９】
具体的には、出力ポートＰ２を制御することにより、定着器１２のヒータに供給される電力を制御する。例えば、出力ポートＰ２に「０」（Ｌレベル）を設定することによりヒータへの電力供給をＯＦＦにし、「１」（Ｈレベル）を設定することによりＯＮにする。また、出力ポートＰ３を制御することにより、帯電器１１に印加される電圧を制御する。例えば、出力ポートＰ３に「０」を設定することにより帯電器１１への電圧印加をＯＦＦにし、「１」を設定することによりＯＮにする。なお、ここでは、説明を簡単にするため２値制御を例にとったが、多値制御であってもよいことは言うまでもない。
【００４０】
また、ＣＰＵ３２は、所定の入力ポートからの入力値を用いてプリントエンジン１０の制御を行う。例えば、ＣＰＵ３２は、入力ポートＰ１に入力される温度センサ１２ａのセンサ出力値に基づいて、定着ローラの表面温度が所定の目標温度となるように、出力ポートＰ２を制御し、ヒータ電力を制御する。
【００４１】
同様に、他の機能部品（現像器、転写器、各種モータ等）についても、入出力制御が行われる。そして、ＣＰＵ３２は、これらの入出力制御を実施することにより、プリントエンジン１０に印刷動作を実行させる。
【００４２】
図５は、ダウンロードモードの処理手順を示すフローチャートである。図５に示されるとおり、ダウンロードモードでは、ＣＰＵ３２は、ダウンロードプログラムに従ってループ処理を実行する。このループ処理において、ＣＰＵ３２は、通常プログラムの書き換え処理が終了するまで（Ｓ２１：ＮＯ）、処理Ｘ（Ｓ２２）、処理Ｙ（Ｓ２３）、処理Ｚ（Ｓ２４）を順次に実行した後、ＷＤＴ３４にクリア信号を出力する（Ｓ２５）。そして、ダウンロードが終了すると（Ｓ２１：ＹＥＳ）、ＣＰＵ３２をリセットする（Ｓ２６）。
【００４３】
図５のステップＳ２７〜３０について説明する前に、ダウンロードモードにおける具体的な処理（図５では、処理Ｘ、処理Ｙ、処理Ｚで象徴されている）の内容について簡単に説明する。
【００４４】
図５のダウンロードモードの実行直前に、図３のステップＳ４において、各ポートＰ１〜Ｐ６などの初期化が行われる。ここでは、出力ポートＰ２およびＰ３には「０」が設定され、定着器１２への電力供給および帯電器１１への電圧印加が停止される。
【００４５】
そして、ダウンロードモード中、ＣＰＵ３２は、出力ポートＰ２およびＰ３の制御を停止させて、定着器１２および帯電器１１に対する電流や電圧の供給を停止させた状態で、通常プログラムの書き換え処理を実行する。具体的には、ＣＰＵ３２は、通信装置３０を介して外部情報処理装置２から新たな通常プログラムをダウンロードする。そして、ダウンロードされたプログラムを、チェックした後に、ＲＯＭ３１のアドレス０００４００ｈから書き込む。
【００４６】
以上のように、出力ポートＰ２およびＰ３は、ダウンロードモードの直前に無出力状態に設定され、ダウンロードモード中は無出力状態が維持されるはずである。
【００４７】
しかし、プログラムの欠陥、ハードウェアの欠陥、外乱、誤操作などにより、通常モードからダウンロードモードに遷移した場合、ダウンロードモードでは出力ポートＰ２、Ｐ３の制御は行われないので、出力ポートＰ２、Ｐ３の出力状態は、遷移直前の状態が維持される。例えば、定着器１２および帯電器１１に電力を供給している最中にモードの遷移が生じた場合、出力ポートＰ２およびＰ３の値は「１」（出力状態）に維持される。この場合において、例えば、ダウンロードモードのループ処理が安定し、ＷＤＴ３４によるリセットがかからないと、定着器１２に電力が供給され続け、帯電器１１に高圧が印加され続ける。これにより、定着器１２や感光体ドラムなどが損傷する恐れがある。
【００４８】
そこで、本実施の形態では、このようなＣＰＵ３２の暴走を検知するため、ダウンロードモード中に実行される異常出力検知プログラムを設ける。ここでは、異常出力検知プログラムは、ダウンロードプログラムに組み込まれており、異常出力検知プログラムによる暴走検知処理は、ダウンロードプログラムのループ処理中に周期的に実行される。
【００４９】
図５のステップＳ２７〜３０は、異常出力検知プログラムに対応する処理ステップである。図５において、ＣＰＵ３２は、ＷＤＴ３４にクリア信号を出力した後（Ｓ２５）、出力ポートＰ２およびＰ３の出力状態を検知する（Ｓ２７）。そして、検知された出力状態が異常であるか否かを、予め設定された規則に従って判定する（Ｓ２８）。
【００５０】
異常出力検知処理の一つの態様では、ＣＰＵ３２は、出力ポートＰ２およびＰ３の値を読み取ることによって、これらの出力状態を検知する。ついで、ＣＰＵ３２は、読み取った値を、ダウンロードモードで設定されているはずの値、すなわち初期化により設定されるはずの値と照合する。そして、読み取られた値が設定されているはずの値と異なる場合に、出力状態は異常であると判定する。例えば、出力ポートＰ２およびＰ３の値がいずれも「０」（無出力状態）であれば正常であると判定し、いずれかが「１」（出力状態）であれば異常であると判定する。
【００５１】
異常出力検知処理の別の態様では、ＣＰＵ３２は、当該ＣＰＵ３２の入力ポートに入力される、出力ポートＰ２、Ｐ３の出力状態に応じて変化するプリントエンジン１０からの入力値を読み取ることにより、出力ポートＰ２、Ｐ３の出力状態を検知する。ここでは、ＣＰＵ３２は、入力ポートＰ１に入力される、出力ポートＰ２（定着制御用のポート）の出力状態に応じて変化する温度センサ１２ａのセンサ出力値を読み取ることにより、出力ポートＰ２の出力状態を間接的に検知する。ついで、ＣＰＵ３２は、読み取ったセンサ出力値に基づいて、所定の規則に従って、出力状態が異常か否かを判断する。例えば、温度センサ１２ａからの読み取り値が、急激に上昇した場合など、誤った出力動作を実施していなければ発生しない変化が検出したときには、異常と判断する。一方、周りの環境や直近の状態より、正常動作で有り得る変化の場合には異常と判断しない。より具体的には、センサ出力値が所定の範囲外（３２０℃以上等）である場合、センサ出力値の単位時間当たりの変化量が所定値以上である場合、電源投入から所定時間経過後のセンサ出力値が所定値以上である場合に、異常であると判定する。この他、回転しなければ入力されることのない、モータからのパルス信号が観測された場合や、出力状態でなければ発生しない、感光帯ドラムの表面電位センサからの測定電圧などの入力が観測された場合には、異常と判断する。
【００５２】
なお、上記２つの異常出力検知処理を組み合わせて用いてもよいことは、言うまでもない。
【００５３】
正常であると判定された場合（Ｓ２８：ＮＯ）、ＣＰＵ３２は、正常に動作していると判断し、ステップＳ２１に戻り、ダウンロードプログラムによるループ処理を続行する。
【００５４】
一方、異常であると判定された場合（Ｓ２８：ＹＥＳ）、ＣＰＵ３２は、暴走が生じたものと判断し、出力ポートＰ２およびＰ３に、ダウンロードモードで設定されているはずの値を設定する（Ｓ２９）。ここでは、図３のステップＳ４と同様に、ポートの初期化を行う。ここで、電源装置１３が給電を作動／停止させる制御機能を備えている場合には、ステップＳ２９において、ポートの初期化に代えて、またはポートの初期化に加えて、ＣＰＵ３２が、電源装置１３の制御機能に対し、給電の停止を指示してもよい。これにより、電源装置１３は、出力ポートＰ２，Ｐ３の出力状態に関わらず、各機能部品に対する給電を停止させるので、適切に安全を確保することができる。ついで、ＣＰＵ３２は、ＣＰＵ３２をリセットする（Ｓ３０）。このリセットは、ハードウェアリセットであってもソフトウェアリセットであってもよいが、ここでは、出力ポートＰ５からリセット端子ＲＥＳにリセット信号を出力することによって、リセットを行う。
【００５５】
なお、ダウンロードモードから通常モードに遷移した場合については、遷移前のダウンロードモードでは電力供給が停止状態であるので、また遷移後の通常モードでは電力制御、電圧制御、温度制御等の各種制御が行われるので、通常モードからダウンロードモードに遷移した場合に比べて問題が生じにくい。
【００５６】
上記説明した本実施の形態によれば、以下の効果が得られる。
【００５７】
（１）本実施の形態では、ＣＰＵ３２が、通常プログラムを実行することにより、出力ポートＰ２、Ｐ３を制御してプリントエンジン１０を制御する通常モードと、ダウンロードプログラムを実行することにより、出力ポートＰ２、Ｐ３の制御を停止させた状態で書き換え処理を実行するダウンロードモードと、を備える制御装置３０において、ダウンロードモード中に、ＣＰＵ３２が、異常出力検知プログラムを実行することにより、出力ポートＰ２、Ｐ３の出力状態を検知し、検知された出力状態が異常であるか否かを判定する。このため、ウォッチドッグタイマとは別の仕組みにより、制御装置３０の暴走を検知することができる。これにより、ウォッチドッグタイマでは検知することができない暴走が生じても、これを検知することが可能となる。また、ＣＰＵ３２が、自分で暴走を検知するので、簡易な構成で、低コストで、暴走を検知することができる。
【００５８】
（２）ＣＰＵ３２は、出力ポートの値を読み取ることにより、当該出力ポートの出力状態を検知するので、簡易な構成で、正確に出力状態を検知することができる。
【００５９】
（３）ＣＰＵ３２は、読み取られた出力ポートの値が、設定されているはずの値と異なる場合に、異常であると判定するので、簡易なアルゴリズムで、確実に出力状態の異常を検知することができる。
【００６０】
（４）ＣＰＵ３２は、入力ポートに入力される、出力ポートの出力状態に応じて変化するプリントエンジン１０からの入力値を読み取ることにより、出力ポートの出力状態を検知するので、プリントエンジン１０の損傷等に繋がる恐れのある事象を検知することができる。
【００６１】
（５）ＣＰＵ３２は、読み取られた入力値に基づいて出力状態が異常であるか否かを判定するので、実際にプリントエンジン１０の損傷等に繋がる恐れのある出力異常を検知することができる。また、出力ポートの値に基づく異常検知と組み合わせて使用することにより、より安全性を向上させることができる。
【００６２】
（６）ＣＰＵ３２は、異常を検知した場合、出力ポートに、設定されているはずの値を設定するので、異常検知直後に、プリントエンジン１０への異常な出力を迅速に停止させることができる。これにより、プリントエンジン１０、制御装置３０、あるいは画像形成装置１の損傷などの異常出力による影響を小さくすることができる。また、ＣＰＵ３２が、自分で異常を検知し、自分で出力を修正するので、簡易な構成で暴走による不利益を回避することができる。
【００６３】
（７）ＣＰＵ３２は、異常を検知した場合、当該ＣＰＵ３２をリセットするので、暴走に伴う出力維持による、プリントエンジン１０、制御装置３０、あるいは画像形成装置１の損傷などの不利益を確実に防止することができる。また、ＣＰＵ３２が、自分で異常を検知し、自分で復帰処理を行うので、簡易な構成で暴走による不利益を回避することができる。
【００６４】
（８）ＣＰＵ３２は、異常を検知した場合、出力ポートの値を修正した後に、当該ＣＰＵ３２をリセットするので、迅速に異常出力を停止させた後、確実に異常状態から抜け出すことができる。
【００６５】
（９）ＷＤＴ３４を併用するので、より安全性を確保することができる。
【００６６】
（１０）多くの機能部品に電流や電圧を供給して画像形成を行う通常モードと、これらの電流や電圧の供給を停止させた状態でプログラムの書き換え処理を行うダウンロードモードとが選択的に実行される画像形成装置１においては、通常モードからダウンロードモードに遷移してしまった場合の不利益が大きい。したがって、このような画像形成装置１に対して、本発明を適用することにより得られる効果は特に大きい。また、通常プログラムとダウンロードプログラムとは独立のループを構成するので、通常モードからダウンロードモードに遷移した後、ダウンロードモードでループ処理が安定してしまうと、電流や電圧の出力制御が全く行われない。このような画像形成装置１に対して、本発明を適用することにより、ダウンロードモードでループ処理が安定してしまうことを回避することができ、暴走による不利益を防止することができる。
【００６７】
以上、本発明の実施の形態について説明したが、本発明が上記の実施の形態に限定されないことは言うまでもない。
【００６８】
例えば、上記の実施の形態では、第１および第２のモードとして、通常モードおよびダウンロードモードを例示したが、これらに限定されない。例えば、第２のモードは、プリントエンジン１０への電力供給を中断する、パワーセーブモード、診断モード、ファクシミリ送信モード、スキャナモードなどであってもよい。
【００６９】
また、上記の実施の形態では、電子写真方式を例にとって説明したが、インクジェット方式など、他の方式であってもよい。ただし、電子写真方式は印加電圧や印加電流が大きいので、本発明は、電子写真方式により好適に利用される。さらに、本発明は、画像形成装置に限られず、他の被制御装置についても適用可能である。
【図面の簡単な説明】
【００７０】
【図１】実施の形態に係る制御装置を含む画像形成装置の構成を示すブロック図である。
【図２】ＲＯＭのメモリマップを示す図である。
【図３】実施の形態に係る画像形成装置の動作手順を示すフローチャートである。
【図４】通常モードの処理手順を示すフローチャートである。
【図５】ダウンロードモードの処理手順を示すフローチャートである。
【符号の説明】
【００７１】
１  画像形成装置、２  外部情報処理装置、１０  プリントエンジン、１１  帯電器、１２  定着器、１２ａ  温度センサ、１３  電源装置、２０  通信装置、３０  制御装置、３１  ＲＯＭ、３２  ＣＰＵ、３３  ＲＡＭ、３４  ウォッチドッグタイマ（ＷＤＴ）、Ｐ１  入力ポート、Ｐ２〜Ｐ５  出力ポート、Ｐ６  通信ポート、ＲＥＳ  リセット端子。
【図１】
2005339297.tif 000003
【図２】
2005339297.tif 000004
【図３】
2005339297.tif 000005
【図４】
2005339297.tif 000006
【図５】
2005339297.tif 000007