(57)【要約】【課題】  ホストコンピュータからリセット信号に応じて確実にリセット信号を処理し再起動を行うことが可能なプリンタ、プリンタの制御方法及びプリンタの制御プログラムを提供する。【解決手段】  ＯＳ管理環境下において通常リセット処理を実行する通常リセット処理モジュール６０と、通常リセット処理モジュール６０が何らかの理由により実行できない場合に、強制リセット処理を実行する強制リセット処理モジュール７０を備えている。【選択図】  図３
2006305845.tif 000002
【特許請求の範囲】
【請求項１】
リセット信号の検出に応じてリセット通知を出力するリセット検出部と、
前記リセット通知に応じて、第１のリセット処理を実行する第１のリセット処理部と、
前記第１のリセット処理部による前記第１のリセット処理が実行されない場合に、第２のリセット処理を実行する第２のリセット処理部と、を備えたことを特徴とするプリンタ。
【請求項２】
前記リセット通知に応じて前記第１のリセット処理部に前記第１のリセット処理の実行を指示する状態管理部を備え、
前記第２のリセット処理部は、前記状態管理部によらず、前記第１のリセット処理部による前記第１のリセット処理が実行されないことを判断するリセット要求管理部と、
前記リセット要求管理部からの指示に基づきリセット前処理を行うリセット前処理部と、
前記リセット前処理の実行後、リセットを実行するリセット実行部と、を備えたことを特徴とする請求項１に記載のプリンタ。
【請求項３】
前記リセット要求管理部は、前記リセット検出部から前記リセット通知が出力されてからの経過時間が所定時間以上経過しても第１のリセット処理部からリセット実行通知が出力されないとき、前記第１のリセット処理部による前記第１のリセット処理が実行されないと判断し、前記リセット前処理部に前記リセット前処理を実行させ、前記リセット実行部にリセットを実行させることを特徴とする請求項２に記載のプリンタ。
【請求項４】
前記リセット前処理部は、少なくともインク残量及び廃液残量に関するパラメータを不揮発性メモリに記憶することを特徴とする請求項２または３に記載のプリンタ。
【請求項５】
前記リセット実行部は、揮発性メモリに書き込まれたデータを初期化することを特徴とする請求項２〜４の何れか一項に記載のプリンタ。
【請求項６】
前記第１のリセット処理部はＯＳ管理環境下で実行され、第２のリセット処理部はＯＳ管理環境下外で実行されることを特徴とする請求項２〜５の何れか一項に記載のプリンタ。
【請求項７】
リセット信号を検出するリセット信号検出ステップと、
前記リセット信号の検出に応じてリセット通知を出力するリセット通知ステップと、
前記リセット通知に応じて、第１のリセット処理を実行する第１リセット処理ステップと、
前記第１のリセット処理部による前記第１のリセット処理が実行されない場合に、第２のリセット処理を実行する第２リセット処理ステップと、を備えたことを特徴とするプリンタの制御方法。
【請求項８】
前記リセット通知に応じて前記１リセット処理ステップを実行させるリセット指示ステップを備え、
前記第２リセット処理ステップは、前記リセット指示ステップの指示によらず、前記第１のリセット処理ステップによる前記第１のリセット処理が実行されないことを判断し、リセット前処理及びリセットを実行することを特徴とする請求項７に記載のプリンタの制御方法。
【請求項９】
前記第２リセット処理ステップは、前記リセット通知が出力されてからの経過時間が所定時間以上経過しても第１のリセット処理部からリセット実行通知が出力されないとき、前記リセット前処理を実行させ、リセットを実行させることを特徴とする請求項８に記載のプリンタの制御方法。
【請求項１０】
前記第２リセット処理ステップは、少なくともインク残量及び廃液残量に関するパラメータを不揮発性メモリに記憶することを特徴とする請求項８または９に記載のプリンタの制御方法。
【請求項１１】
前記第２リセット処理ステップは、揮発性メモリに書き込まれたデータを初期化することを特徴とする請求項８〜１０の何れか一項に記載のプリンタの制御方法。
【請求項１２】
リセット信号を検出するリセット信号検出ステップと、
前記リセット信号の検出に応じてリセット通知を出力するリセット通知ステップと、
前記リセット通知に応じて、第１のリセット処理を実行する第１リセット処理ステップと、
前記第１のリセット処理部による前記第１のリセット処理が実行されない場合に、第２のリセット処理を実行する第２リセット処理ステップと、をそれぞれコンピュータに実行させることを特徴とするプリンタの制御プログラム。
【請求項１３】
前記リセット通知に応じて前記１リセット処理ステップを実行させるリセット指示ステップをコンピュータに実行させ、
前記第２リセット処理ステップは、前記リセット指示ステップの指示によらず、前記第１のリセット処理ステップによる前記第１のリセット処理が実行されないことを判断し、リセット前処理及びリセットを実行することを特徴とする請求項１２に記載のプリンタの制御プログラム。
【請求項１４】
前記第２リセット処理ステップは、前記リセット通知が出力されてからの経過時間が所定時間以上経過しても第１のリセット処理部からリセット実行通知が出力されないとき、前記リセット前処理を実行させ、リセットを実行させることを特徴とする請求項１３に記載のプリンタの制御プログラム。
【請求項１５】
前記第２リセット処理ステップは、少なくともインク残量及び廃液残量に関するパラメータを不揮発性メモリに記憶することを特徴とする請求項１３または１４に記載のプリンタの制御プログラム。
【請求項１６】
前記第２リセット処理ステップは、揮発性メモリに書き込まれたデータを初期化することを特徴とする請求項１２〜１５の何れか一項に記載のプリンタの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ及びプリンタの制御方法に係り、特にシステムが不安定になった場合でも確実にリセット処理を行い再起動させることが可能なプリンタ、プリンタの制御方法及びプリンタの制御プログラムに関する。
【背景技術】
【０００２】
現在、プリンタは、コンピュータの普及に伴い、用紙等の媒体への情報出力を行う装置として、産業上の幅広い分野で日常的に用いられてきている。
【０００３】
プリンタは、通常、ホストコンピュータと通信可能に接続されて使用される。通常、ホストコンピュータ中には、プリンタを制御するプリンタドライバ及びプリンタを介して所定の業務を実行するアプリケーションがインストールされている。プリンタドライバは、アプリケーションからの指示に基づきプリンタに対しコマンドを出力する。ホストコンピュータから各種コマンドを受信したプリンタは、コマンドの指示に従って、紙送り、印刷、排紙等の各種処理を実行する。
【０００４】
また、ホストコンピュータは、プリンタのモードを切り替えたり、プリンタに生じた不具合を解消したりする場合、必要に応じてプリンタにリセット信号を出力してプリンタにリセット動作要求を行い、プリンタを再起動させることがある。リセット信号は、所定ビット数からなる電気的信号であり、プリンタはこのリセット信号を通信インタフェースボード等を介して受信すると、制御部にリセット動作要求を割り込み処理で伝達し、プリンタの再起動を実行する。
また、リセットを実行するプリンタの中には、リセット信号を受信すると、揮発性のＲＡＭ内に保存された所定の情報を不揮発性のＥＥＰＲＯＭ等に書き込むように構成されたものもある（例えば、特許文献１参照）。
【特許文献１】特開２０００−３５９２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
一般に、プリンタの制御部がＯＳ（Operating System：オペレーティングシステム）により構成される場合がある。このような場合には、ＯＳや他のモジュールに対して割り当てられたシステムメモリが解放されない状態、いわゆるメモリリークが発生する場合がある。メモリリークは、たとえばモジュールがシステムメモリを開放しないことににより発生する場合がある。モジュールがシステムメモリを開放しないと、プリンタがビジー状態となり、システム全体がフリーズしてしまう障害が発生する虞がある。また、時にはメモリリーク以外の要因によっても、プリンタがビジー状態となりシステムがフリーズする障害が発生することもある。
【０００６】
このような状態では、ＯＳは、他のモジュールに対してメッセージを送れなくなるため、ＯＳの処理が一時停止されてしまい、ＯＳ外からの新たなリクエストを受け付けなくなってしまう。したがって、ホストコンピュータからプリンタに対していくらリセット信号を出力しても、プリンタがリセットされないという状況が発生しうる。このような状況は、ホストコンピュータからプリンタに対しリセット信号を頻繁に発行するシステムにおいて特に問題である。ＯＳがリセット信号を受け付けなくなると、プリンタを初期化するためには、ユーザがマニュアル操作でプリンタの電源を再投入して再起動しなければならない。
【０００７】
ここで、ＯＳがリクエストを受け付けなくなる状態でも確実にプリンタをリセットさせるために、ＯＳによるリセット処理を行わずプリンタがリセット信号に応じてハードウェアレベルで即リセットするように構成することも考えられる。しかしながら、このような場合には、プリンタメカ動作中であれば行われるべきメカ動作停止処理や各種設定値の保存処理等のリセット前処理がＯＳにより実行されることなく再起動が実行される。
【０００８】
この場合の再起動は、ＯＳによるリセットを行った場合には行う必要のない処理を含む電源オン時処理に相当する。電源オン時処理は、電源が入っていない状態から電源を投入した場合に行われる処理であり、インクジェットプリンタのように電源オン時にクリーニング動作を行うようなプリンタでは、本来であれば行う必要のないクリーニング動作が実行されてしまう。したがって、この電源オン時処理を行うことにより、無駄にインク吸引等がおこなれ、インクの消耗を早めてしまう虞もある。また、電源オン時処理により、ＲＡＭにのみ書き込まれてＲＯＭに保存されていなかった情報が失われてしまう可能性もあり、プリンタの使用に伴い変化するパラメータ等が一部失われ、パラメータの管理が不徹底になってしまい、当初想定したような状態でプリンタが管理できなくなる虞もある。
【０００９】
本発明は、上記を鑑みてなされたものであり、ホストコンピュータからのリセット信号に応じて確実にリセット信号を処理し再起動を行うことが可能なプリンタ、プリンタの制御方法及びプリンタの制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、以下の構成により達成される。
（１）  リセット信号の検出に応じてリセット通知を出力するリセット検出部と、
前記リセット通知に応じて、第１のリセット処理を実行する第１のリセット処理部と、
前記第１のリセット処理部による前記第１のリセット処理が実行されない場合に、第２のリセット処理を実行する第２のリセット処理部と、を備えたことを特徴とするプリンタ。
（２）  前記リセット通知に応じて前記第１のリセット処理部に前記第１のリセット処理の実行を指示する状態管理部を備え、
前記第２のリセット処理部は、前記状態管理部によらず、前記第１のリセット処理部による前記第１のリセット処理が実行されないことを判断するリセット要求管理部と、
前記リセット要求管理部からの指示に基づきリセット前処理を行うリセット前処理部と、
前記リセット前処理の実行後、リセットを実行するリセット実行部と、を備えたことを特徴とする（１）に記載のプリンタ。
（３）  前記リセット要求管理部は、前記リセット検出部から前記リセット通知が出力されてからの経過時間が所定時間以上経過しても第１のリセット処理部からリセット実行通知が出力されないとき、前記第１のリセット処理部による前記第１のリセット処理が実行されないと判断し、前記リセット前処理部に前記リセット前処理を実行させ、前記リセット実行部にリセットを実行させることを特徴とする（２）に記載のプリンタ。
（４）  前記リセット前処理部は、少なくともインク残量及び廃液残量に関するパラメータを不揮発性メモリに記憶することを特徴とする（２）または（３）に記載のプリンタ。
（５）  前記リセット実行部は、揮発性メモリに書き込まれたデータを初期化することを特徴とする（２）〜（４）の何れか一項に記載のプリンタ。
（６）  前記第１のリセット処理部はＯＳ管理環境下で実行され、第２のリセット処理部はＯＳ管理環境下外で実行されることを特徴とする（２）〜（５）の何れか一項に記載のプリンタ。
（７）  リセット信号を検出するリセット信号検出ステップと、
前記リセット信号の検出に応じてリセット通知を出力するリセット通知ステップと、
前記リセット通知に応じて、第１のリセット処理を実行する第１リセット処理ステップと、
前記第１のリセット処理部による前記第１のリセット処理が実行されない場合に、第２のリセット処理を実行する第２リセット処理ステップと、を備えたことを特徴とするプリンタの制御方法。
（８）  前記リセット通知に応じて前記１リセット処理ステップを実行させるリセット指示ステップを備え、
前記第２リセット処理ステップは、前記リセット指示ステップの指示によらず、前記第１のリセット処理ステップによる前記第１のリセット処理が実行されないことを判断し、リセット前処理及びリセットを実行することを特徴とする（７）に記載のプリンタの制御方法。
（９）  前記第２リセット処理ステップは、前記リセット通知が出力されてからの経過時間が所定時間以上経過しても第１のリセット処理部からリセット実行通知が出力されないとき、前記リセット前処理を実行させ、リセットを実行させることを特徴とする（８）に記載のプリンタの制御方法。
（１０）  前記第２リセット処理ステップは、少なくともインク残量及び廃液残量に関するパラメータを不揮発性メモリに記憶することを特徴とする（８）または（９）に記載のプリンタの制御方法。
（１１）  前記第２リセット処理ステップは、揮発性メモリに書き込まれたデータを初期化することを特徴とする（８）〜（１０）の何れか一項に記載のプリンタの制御方法。
（１２）  リセット信号を検出するリセット信号検出ステップと、
前記リセット信号の検出に応じてリセット通知を出力するリセット通知ステップと、
前記リセット通知に応じて、第１のリセット処理を実行する第１リセット処理ステップと、
前記第１のリセット処理部による前記第１のリセット処理が実行されない場合に、第２のリセット処理を実行する第２リセット処理ステップと、をそれぞれコンピュータに実行させることを特徴とするプリンタの制御プログラム。
（１３）  前記リセット通知に応じて前記１リセット処理ステップを実行させるリセット指示ステップをコンピュータに実行させ、
前記第２リセット処理ステップは、前記リセット指示ステップの指示によらず、前記第１のリセット処理ステップによる前記第１のリセット処理が実行されないことを判断し、リセット前処理及びリセットを実行することを特徴とする（１２）に記載のプリンタの制御プログラム。
（１４）  前記第２リセット処理ステップは、前記リセット通知が出力されてからの経過時間が所定時間以上経過しても第１のリセット処理部からリセット実行通知が出力されないとき、前記リセット前処理を実行させ、リセットを実行させることを特徴とする（１３）に記載のプリンタの制御プログラム。
（１５）  前記第２リセット処理ステップは、少なくともインク残量及び廃液残量に関するパラメータを不揮発性メモリに記憶することを特徴とする（１３）または（１４）に記載のプリンタの制御プログラム。
（１６）  前記第２リセット処理ステップは、揮発性メモリに書き込まれたデータを初期化することを特徴とする（１２）〜（１５）の何れか一項に記載のプリンタの制御プログラム。
【発明の効果】
【００１１】
本発明によれば、リセット信号の検出に応じてリセット通知を出力するリセット検出部と、前記リセット通知に応じて、第１のリセット処理を実行する第１のリセット処理部と、前記第１のリセット処理部による前記第１のリセット処理が実行されない場合に、第２のリセット処理を実行する第２のリセット処理部と、を備えている。したがって、第１のリセット処理部がリセットを実行できない場合であっても、第２のリセット処理部によりリセット処理が実行でき、プリンタは信頼性の高いリセット処理を実行することができる。
【００１２】
また、前記リセット通知に応じて前記第１のリセット処理部に前記第１のリセットの実行を指示する状態管理部を備え、前記第２のリセット処理部は、前記状態管理部によらず、前記第１のリセット処理部による前記第１のリセット処理が実行されないことを判断するリセット要求管理部と、前記リセット要求管理部からの指示に基づきリセット前処理を行うリセット前処理部と、前記リセット前処理の実行後、リセットを実行するリセット実行部と、を備えている。したがって、状態管理部が何らかの理由により動作しなくなり、第１のリセット処理部がリセット処理を実行させられない場合であっても、第２のリセット処理部により、リセット処理の必要性を判断し、リセット処理を実行させることができる。
【００１３】
特に、リセット要求管理部は、前記リセット検出部から前記リセット通知が出力されてからの経過時間が所定時間以上経過しても第１のリセット処理部からリセット実行通知が出力されないとき、前記第１のリセット処理部による前記第１のリセット処理が実行されないと判断させればよい。したがって、簡単な入出力を監視するだけで、第２のリセット処理の必要性を判断し、適切に第２のリセット処理を実行して、プリンタを再起動させることが可能となる。
【００１４】
リセット前処理部は、少なくともインク残量及び廃液残量に関するパラメータを不揮発性メモリに記憶することが好ましく、またリセット実行部は、揮発性メモリに書き込まれたデータを初期化することが好ましい。
本発明は、第１のリセット処理部がＯＳ管理環境下で実行され、第２のリセット処理部がＯＳ管理環境下外で実行されるプリンタシステムに、好適に適用することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明にかかるプリンタ、プリンタの制御方法及びプリンタの制御プログラムの一実施形態について、図面を参照しながら説明する。
図１は、本実施形態にかかるプリンタの斜視図である。
本実施形態のプリンタ１は、主として業務用に使用されるインクジェットプリンタであり、図１に示すように、下部ケース３と設置時に略水平面に平行となる上部ケース２とから構成される略箱形の装置ケース４の前面中央に、記録紙が装填された略箱形の用紙カセット５が着脱自在に装着されている。また、用紙カセット５の上面開放部を覆うように、印刷が終了した記録紙を受ける排紙トレイ６が装着されている。
装置ケース４の前面の両側には、動作状態を表示する表示部７や、インクカートリッジが着脱自在に取り付けられるインクホルダー部８が設けられている。
【００１６】
装置ケース４のケース内部には、用紙を用紙カセット５から一枚ずつ繰り出して所定の搬送経路に沿って搬送する用紙搬送機構や、搬送される用紙に文字や図形等の画像を記録する印刷ヘッドや、印刷ヘッドを所定方向に移動させるキャリッジ等の各種の動作機器が組み込まれている。これらの具体的な構成については、図示省略する。
【００１７】
図２は、本実施形態に係るプリンタの電気的なハードウェア構成を示す概略ブロック図である。
本実施形態のプリンタ１は、ＵＳＢ，ＩＥＥＥ１２８４等の所定の通信インタフェースによりホストコンピュータ１００と通信可能に接続されており、ホストコンピュータ１００から送信される各種制御信号、制御コマンドに応じて動作するように構成されている。
具体的に、プリンタ１は、ＣＰＵ１１、フラッシュＲＯＭ１２、ＲＡＭ１３、通信コントローラ１４、ドライバ回路１５、紙送り機構１６、クリーニング機構１９、センサ１８、印刷ヘッド１７およびキャリッジ駆動機構２０を有している。本実施形態では、ＣＰＵ１１、フラッシュＲＯＭ１２、ＲＡＭ１３、通信コントローラ１４及びドライバ回路１５は、バスによって互いにデータの送受信可能に接続されている。
【００１８】
ＣＰＵ１１は、プリンタ１の各部の制御や各種演算を行う中央演算装置である。ＣＰＵ１１は、フラッシュＲＯＭ１２に格納された制御プログラムに従って、通信コントローラ１４を介してホストコンピュータ１００から受信する印刷データおよび制御信号に基づいて、プリンタ１の各部を制御する。
【００１９】
フラッシュＲＯＭ１２は、ＣＰＵ１１によって実行される制御プログラムやプリンタ１内で用いられる各種パラメータを記憶する書き換え可能な不揮発性メモリである。
【００２０】
本実施形態では、制御プログラムは、ＯＳとＯＳの動作環境下で動作する複数のモジュール（各種実行プログラム）から構成される。ＯＳは、プリンタ内の各種メモリやハードウェアを管理し、プリンタを動作させる基本プログラムである。各種モジュールは、このＯＳの管理下で実行され、データ処理や印刷をプリンタに実行させる。
【００２１】
ＲＡＭ１３は、一時記憶領域として用いられる揮発性メモリである。ＲＡＭ１３には、ホストコンピュータ１００から送られる各種データを一時的に記憶するための受信バッファ、印刷データを一時的に記憶する印刷バッファ、データが展開されるデータ展開領域、等が設けられている。
【００２２】
通信コントローラ１４は、ホストコンピュータ１００とプリンタ１間におけるデータやコマンドの送受信を制御する。
【００２３】
ドライバ回路１５は、プリンタ１に設けられたクリーニング機構１９，センサ１８，印刷ヘッド１７，キャリッジ駆動機構２０等のハードウェアの動作制御を行う回路である。ドライバ回路１５は、ＯＳの動作に伴いＣＰＵ１１から出力される各種制御信号に応じて動作し、紙送り機構１６，クリーニング機構１９，センサ１８，印刷ヘッド１７，キャリッジ駆動機構２０に所定の動作を実行させる。
【００２４】
紙送り機構１６は、用紙搬送ローラ及び用紙搬送ローラを駆動するモータ等から構成される。紙送り機構１６は、ドライバ回路１５から送られる制御信号に応じてモータが回転し、そしてモータの回転に応じて用紙搬送ローラが駆動されて、用紙を用紙搬送路に沿って搬送する。
【００２５】
印刷ヘッド１７は、用紙に対して文字やパターン等の画像を形成する画像形成部である。本実施形態では、印刷ヘッド１７は、ピエゾ方式のインクジェットヘッドであり、印刷ヘッド１７からインク滴を用紙に対して吐出し、用紙上に画像を形成する。
【００２６】
センサ１８は、プリンタ１の内部状態を検出する検出素子であり、検出対象の数に応じて設けられた複数のセンサからなる。センサとしては、用紙の先端または後端を検出するＴＯＦ（Top of Form），ＢＯＦ（Bottom of Form）や、排出検出器、インクカートリッジに設けられた液量センサ等が例として挙げられる。これらのセンサは、ドライバ回路１５によって駆動され、ＣＰＵ１１やドライバ回路１５は、これらのセンサからの検出信号に応じてプリンタ１の動作を制御する。
【００２７】
クリーニング機構１９は、吸引用のポンプと、印刷ヘッドを覆うキャップ部材等から構成される。クリーニング機構１９は、ホームポジションに位置する印刷ヘッドを覆って、印刷ヘッドのインクノズルの乾燥を抑制するとともに、必要に応じてポンプを駆動しインク吸引を行って印刷ヘッドのメンテナンスを実行する。
【００２８】
キャリッジ駆動機構２０は、印刷ヘッド１７が取り付けられるキャリッジとキャリッジをガイドするガイドレール、及びキャリッジとともに印刷ヘッド１７を用紙搬送方向と垂直な方向に移動させるモータ等から構成される。キャリッジ駆動機構２０は、例えば、印刷データに応じて印刷ヘッド１７を駆動する。これにより、プリンタ１は、用紙幅方向に印刷ヘッド１７からインクを吐出しつつ用紙搬送を行い、用紙全体にわたって画像を形成する。
【００２９】
以上が、本実施形態のプリンタ１の電気的なハードウェア構成である。
【００３０】
次に、図３を参照しながら、本実施形態のプリンタ１におけるリセット処理及びリセット処理の実行にあたって起動されるモジュール（ソフトウェアモジュール）について説明する。
【００３１】
先に説明したように本実施形態のプリンタ１は、ＯＳがインストールされており、このＯＳ上で各種モジュールが処理を実行することによりプリンタが動作し、印刷及び各種制御を実行する。
【００３２】
本実施形態のプリンタ１には、図３に示すように、リセット信号を検出するリセット検出部４０と、リセット検出部４０のリセット検出に応じてリセット処理を実行する通常リセット処理モジュール（第１のリセット処理部）６０と、通常リセット処理モジュール６０がリセット処理を実行できないときにリセット処理を実行する強制リセット処理モジュール（第２のリセット処理部）７０と、を備えている。以下、通常リセット処理モジュール６０と強制リセット処理モジュール７０の関係及びそれぞれの処理について具体的に説明する。
【００３３】
リセット検出部４０は、ホストコンピュータ１００から出力されるリセット信号の受信を検出する検出部である。ホストコンピュータ１００がプリンタ１に対しリセット信号を出力し、通信コントローラ１４がリセット信号を受信すると、リセット検出部４０は、このリセット信号の受信を検出し、ＯＳ管理環境５０に存在するリセット通知部５１にリセット通知を通知する。
【００３４】
リセット通知部５１は、ＯＳ管理環境下でのリセット処理における入り口に相当するモジュールであり、リセット通知をリセット検出部４０から受け取るとこのリセット通知を状態管理部５２にメッセージを通知する。
【００３５】
状態管理部５２は、ＯＳ処理のコアとなる部分の一つであり、リセット通知部５１，複数のモジュール５３，５４及び通常リセット処理モジュール６０とメッセージを送受信しながら、各モジュールにそれぞれの処理を実行させる管理部である。この状態管理部５２は、ＲＡＭ１３に割り当てられたシステムメモリを利用して各モジュールとのメッセージ送受信を行う。
【００３６】
通常リセット処理モジュール６０は、状態管理部５２からの指示に応じてリセット処理を実行するリセット処理部である。通常リセット処理モジュール６０は、リセット前処理部６１と、リセット実行部６２とを備えている。
【００３７】
リセット前処理部６１は、状態管理部５２から送られるメッセージに応じて実行され、リセット処理を実行するための前処理をおこなう。リセット処理実行前の前処理とは、例えば、キャリッジのホームポジションへの移動、印刷ヘッド１７のキャップ処理、インク使用量、廃液量、その他インクに関する各種パラメータのフラッシュＲＯＭ１２への記憶等が行われる。これにより、再起動後に各機構が初期状態から起動され、かつ各種パラメータが再起動前と後で一貫性を保つことができる。
【００３８】
リセット実行部６２は、リセット前処理部６１により実行される前処理の後に、実際にリセット実行通知を出力し、プリンタ１を再起動させる。このとき、リセット実行部６２は、ＲＡＭ１３を解放してもよいし、しなくてもよい。再起動後の初期化処理を最低限とし素早く初期化を実行するためには、システムメモリの初期化を行わないようにすることが好ましい。
【００３９】
通常リセット処理モジュール６０は、状態管理部５２からの指示に応じてリセット処理を実行するが、例えば状態管理部５２がモジュールとの通信に利用するシステムメモリの空きが少なくなると、状態管理部５２に対し、リセット通知部５１からメッセージが通知されなくなったり、状態管理部５２から通常リセット処理モジュール６０に対し、メッセージを出力できなくなったりする場合がある。このような状態では、従来はプリンタ１のシステム全体がフリーズしてしまい、リセット処理を実行することができない。
【００４０】
上記事情を鑑み、本実施形態のプリンタ１は、通常リセット処理モジュール６０がリセット処理を実行できないときにリセット処理を実行する強制リセット処理モジュール７０が設けられ、通常リセット処理モジュール６０に代わって、リセット処理を実行し、プリンタ１を再起動させるように構成されている。
【００４１】
具体的に、強制リセット処理モジュール７０は、リセット要求管理部７１と、強制リセット前処理部７２と、強制リセット実行部７３と、を備えている。
【００４２】
リセット要求管理部７１は、通常リセット処理モジュール６０によりリセット処理が実行されないときに状態管理部５２から指示無しで強制リセット処理を実行するＯＳ管理外の割り込みルーチンである。
【００４３】
具体的に、リセット要求管理部７１は、リセット検出部４０からリセット通知部５１に出力されるリセット通知と、リセット実行部６２から出力されるリセット実行通知を監視する。そして、リセット通知がリセット通知部５１に通知されたことを検出してからの経過時間をカウントし、所定時間経ってもリセット実行部６２からリセット実行通知が出力されない場合には、強制リセット前処理部７２に強制リセット処理の実施を通知する。
【００４４】
通常、状態管理部５２からリセット前処理部６１に遅滞なくメッセージが通知された場合でも、リセット処理部６１が行う処理分の時間が必要であるため、リセット実行通知が出力されるまである一定時間（例えば１８０秒）が必要である。リセット要求管理部７１は、少なくともこの一定時間よりも長い時間を所定時間として設定することが好ましい。
【００４５】
強制リセット前処理部７２は、リセット要求管理部７１からの通知に応じて実行され、強制リセット処理を実行するための前処理をおこなう。強制リセット処理実行前の前処理とは、例えば、リセット前処理部６１が実行するリセット前処理をすべて行ってもよいが、少なくともインク残量、廃液残量の２つのパラメータについてはＲＡＭ１３からフラッシュＲＯＭ１２への書き込み処理が行うことが好ましい。少なくとも、この二つのパラメータを実行することにより、消耗品であるインクに関するパラメータが再起動前と後で一貫性を保つことができる。
【００４６】
強制リセット実行部７２は、強制リセット前処理部７１により実行される前処理の後に、実際にリセット実行通知を出力し、プリンタ１を再起動させる。このとき、強制リセット実行部７２は、少なくともＲＡＭ１３を解放しシステムメモリの初期化を実行することが好ましい。システムメモリが初期化されると、状態管理部５２と他のモジュール間のメッセージ通信が再開され、プリンタ１がフリーズ状態であっても、フリーズが解消される。
【００４７】
このように、本実施形態では、２系統のリセット実行モジュールが用意されている。以下、リセット処理の流れを図４に示すフローチャートを参照しながら説明する。
【００４８】
まず、リセット検出部４０は、プリンタ１の通信コントローラ１１３がリセット信号を受信したかどうかを監視し、リセット信号を受信すると、リセット検出部４０は、リセット通知部５１にリセット通知を出力する。この間、リセット要求管理部７１は、このリセット通知部５１へのリセット通知を監視しており（ステップＳ１）、リセット通知を受信するとリセット通知受信からの経過時間カウントを開始し、リセット実行の監視をスタートする（ステップＳ２）。
【００４９】
その後、リセット要求管理部７１は、リセット実行部６２からリセット実行通知の出力を監視し、リセット処理が開始されれば（ステップＳ３：Ｙｅｓ）、リセット要求管理部７１は監視を中断し、プリンタ１はリセット実行部６２の指示に基づき、再起動を実行する（ステップＳ７）。
【００５０】
一方、リセット実行部６２からリセット実行指示が出力されない場合には、経過時間を監視し（ステップＳ４）、所定時間が経過するまで、ステップＳ３，Ｓ４の判断処理を繰り返す。そして、所定時間が経過すると（ステップＳ４：Ｙｅｓ）、リセット要求管理部７１は、強制リセット前処理部７２に強制リセット処理を指示し強制リセット前処理を実行させ（ステップＳ５）、そして、強制リセット実行部７３によりプリンタ１の再起動が実行される（ステップＳ６）。
【００５１】
その後、再起動が実行され起動処理が行われると、通常リセットによる再起動の場合でも、強制リセットによる再起動の場合でも、リセット要求管理部７１は再度リセット通知の監視を行う（ステップＳ１に戻る）。
【００５２】
このように、本実施形態では、ＯＳ管理環境下において通常リセット処理を実行する通常リセット処理モジュール６０が何らかの理由により実行できない場合に、強制リセット処理を実行する強制リセット処理モジュール７０を備えている。したがって、メモリリークやその他ＯＳ管理下の軽度障害が発生した場合であっても、ホストコンピュータ１００からのリセット信号に応じて、必ずリセット処理を実行させることができる。したがって、プリンタ１のリセット処理時にリセットが行われないことにより、人手をかける必要が無く、メンテナンスの手間が少ないプリンタシステムを構築することができる。
【００５３】
また、本実施形態の強制リセット処理モジュール７０は、リセット要求管理部７１が、ＯＳ管理環境下のリセット通知部５１へ出力されるリセット通知と、ＯＳ管理環境下のリセット実行部６２から出力されるリセット実行通知を監視するだけで、通常リセット処理が適切に行われているかどうか判断することができる。したがって、複雑なアルゴリズムを用いることなく、通常リセット処理の実行がうまくおこなわれているかどうか判断し、実行されていない場合には、強制リセット処理を行わせることができる。
【００５４】
このように、本実施形態のプリンタによれば、ホストコンピュータ１００からの指示に応じて、確実にリセット処理を実行することができる。よって、たとえリセットを頻繁に行うシステムであっても、障害なくスムーズに各種作業を行うことができる。
【図面の簡単な説明】
【００５５】
【図１】図１は、本発明にかかるプリンタの一実施形態を示す斜視図である。
【図２】プリンタの電気的なハードウェア構成を示す概略ブロック図である。
【図３】リセット処理を説明するためのブロック図である。
【図４】リセット処理の流れを示すフローチャートである。
【符号の説明】
【００５６】
１  プリンタ  
１１  ＣＰＵ
１２  フラッシュＲＯＭ
１３  ＲＡＭ
１４  通信コントローラ
４０  リセット検出部
５１  リセット通知部
５２  状態管理部
６０  通常リセット処理モジュール
６１  リセット前処理部
６２  リセット実行部
７０  強制リセット処理モジュール
７１  リセット要求管理部
７２  強制リセット前処理部
７３  強制リセット実行部
１００  ホストコンピュータ
【図１】
2006305845.tif 000003
【図２】
2006305845.tif 000004
【図３】
2006305845.tif 000005
【図４】
2006305845.tif 000006