(57)【要約】【課題】印刷スループットを良くすることができ、電力の消費を確実に抑制することができるようにする。【解決手段】通常モード、及び電力の消費を抑制するスリープモードで印刷を行うことができるようになっている。通常モードからスリープモードへの移行条件が成立したかどうかを判断するスリープ移行判断部２２ｅと、スリープモードから通常モードへの復帰条件が成立したかどうかを判断するスリープ復帰判断部と、印刷動作中に発生する印刷障害に対処する印刷障害処理部とを有する。前記スリープ移行判断部２２ｅは、前記印刷障害処理部から送られる印刷障害情報、及び現在時刻の時間帯に基づいて、前記移行条件が成立したかどうかを判断する。現在時刻が、印刷障害を解消させることができない時間帯である場合は、モードが通常モードからスリープモードに移行させられる。【選択図】図１
2016043620.tif 000002
【特許請求の範囲】
【請求項１】
通常モード、及び電力の消費を抑制するスリープモードで印刷を行うことができるようにした画像形成装置において、
（ａ）通常モードからスリープモードへの移行条件が成立したかどうかを判断するスリープ移行判断部と、
（ｂ）スリープモードから通常モードへの復帰条件が成立したかどうかを判断するスリープ復帰判断部と、
（ｃ）印刷動作中に発生する印刷障害に対処する印刷障害処理部とを有するとともに、
（ｄ）前記スリープ移行判断部は、前記印刷障害処理部から送られる印刷障害情報、及び現在時刻の時間帯に基づいて、前記移行条件が成立したかどうかを判断することを特徴とする画像形成装置。
【請求項２】
前記スリープ移行判断部は、印刷動作中に印刷障害が発生し、現在時刻の時間帯が印刷障害を解除することができない時間帯である場合に、前記移行条件が成立したと判断する請求項１に記載の画像形成装置。
【請求項３】
前記スリープ移行判断部は、未印刷のデータがある場合にデータを退避させる請求項１又は２に記載の画像形成装置。
【請求項４】
（ａ）コントローラユニット部の制御を行う主制御部と、
（ｂ）プリンタユニット部の制御、及びスリープモニタ部の制御を行う副制御部とを有するとともに、
（ｃ）該副制御部は、前記移行条件が成立した場合、前記コントローラユニット部及びプリンタユニット部への電力の供給を停止させ、前記復帰条件が成立した場合、前記コントローラユニット部及びプリンタユニット部に電力を供給する請求項１〜３のいずれか１項に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関するものである。
【背景技術】
【０００２】
従来、プリンタ、複写機、ファクシミリ、複合機等の画像形成装置、例えば、プリンタにおいては、ホストコンピュータから送られた印刷データについて、用紙に対して直ちに印刷を行う通常モード、及びプリンタの所定の箇所への電力の供給を停止させ、ホストコンピュータから印刷データが送られると、前記所定の箇所への電力の供給を開始してから印刷を行うようにして電力の消費を抑制するスリープモードで印刷を行うことができるようになっている。
【０００３】
前記プリンタにおいては、一定の時間印刷が行われない場合に、スリープ移行条件が成立したと判断され、モードが通常モードからスリープモードに移行させられる。
【０００４】
ところが、一定の時間印刷が行われない場合にスリープ移行条件が成立したと一律に判断されるようにすると、例えば、印刷動作中に用紙の詰まり（ジャム）等のエラーが発生した場合に、操作者がエラーの解除を行っている間にスリープ移行条件が成立したと判断され、モードが通常モードからスリープモードに移行させられてしまい、印刷スループットが悪くなってしまう。
【０００５】
そこで、プリンタにおいてエラーが発生した場合のように、モードを移行させる必要がない場合はモードの移行が禁止されるようにしたプリンタが提供されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２６８３８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記プリンタにおいては、モードの移行を禁止しても、その間に操作者がエラーの解除を行うことができないと、電力が無駄に消費されてしまう。
【０００８】
本発明は、前記従来のプリンタの問題点を解決して、印刷スループットを良くすることができ、電力の消費を確実に抑制することができる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
そのために、本発明の画像形成装置においては、通常モード、及び電力の消費を抑制するスリープモードで印刷を行うことができるようになっている。
【００１０】
そして、通常モードからスリープモードへの移行条件が成立したかどうかを判断するスリープ移行判断部と、スリープモードから通常モードへの復帰条件が成立したかどうかを判断するスリープ復帰判断部と、印刷動作中に発生する印刷障害に対処する印刷障害処理部とを有する。
【００１１】
また、前記スリープ移行判断部は、前記印刷障害処理部から送られる印刷障害情報、及び現在時刻の時間帯に基づいて、前記移行条件が成立したかどうかを判断する。
【発明の効果】
【００１２】
本発明によれば、画像形成装置においては、通常モード、及び電力の消費を抑制するスリープモードで印刷を行うことができるようになっている。
【００１３】
そして、通常モードからスリープモードへの移行条件が成立したかどうかを判断するスリープ移行判断部と、スリープモードから通常モードへの復帰条件が成立したかどうかを判断するスリープ復帰判断部と、印刷動作中に発生する印刷障害に対処する印刷障害処理部とを有する。
【００１４】
また、前記スリープ移行判断部は、前記印刷障害処理部から送られる印刷障害情報、及び現在時刻の時間帯に基づいて、前記移行条件が成立したかどうかを判断する。
【００１５】
この場合、スリープ移行判断部が、印刷障害処理部から送られる印刷障害情報、及び現在時刻の時間帯に基づいて、移行条件が成立したかどうかを判断するので、現在時刻が、印刷障害を解消させることができない時間帯である場合は、モードが通常モードからスリープモードに移行させられる。
【００１６】
したがって、印刷スループットを良くすることができる。また、操作者によって印刷障害を解消することができない場合に電力が無駄に消費されることがないので、電力の消費を確実に抑制することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態におけるプリンタの第１の制御ブロック図である。
【図２】本発明の実施の形態におけるプリンタの第２の制御ブロック図である。
【図３】本発明の実施の形態における操作部の例を示す図である。
【図４】本発明の実施の形態におけるスリープ移行時間及び不在時間帯を説明するための図である。
【図５】本発明の実施の形態におけるモードを通常モードからスリープモードに移行させる際の移行シーケンスを示す図である。
【図６】本発明の実施の形態におけるモードをスリープモードから通常モードに復帰させる際の復帰シーケンスを示す図である。
【図７】本発明の実施の形態におけるコントローラユニット部とプリンタユニット部とでメインＣＰＵ及びサブＣＰＵによって送受されるコマンド／レスポンスを示す図である。
【図８】本発明の実施の形態におけるコントローラユニット部とスリープモニタ部とでメインＣＰＵ及びサブＣＰＵによって送受されるコマンド／レスポンスを示す図である。
【図９】本発明の実施の形態におけるメインＣＰＵの動作を示すフローチャートである。
【図１０】本発明の実施の形態におけるコントローラユニット部の受信部による受信処理のサブルーチンを示す図である。
【図１１】本発明の実施の形態におけるコントローラユニット部のデータ解析部によるデータ解析処理のサブルーチンを示す図である。
【図１２】本発明の実施の形態におけるコントローラユニット部の印刷制御部による印刷制御処理のサブルーチンを示す図である。
【図１３】本発明の実施の形態におけるコントローラユニット部のエラー処理部によるエラー処理のサブルーチンを示す図である。
【図１４】本発明の実施の形態におけるコントローラユニット部のスリープ移行判断部によるスリープ移行判断処理を示す第１のサブルーチンを示す図である。
【図１５】本発明の実施の形態におけるコントローラユニット部のスリープ移行判断部によるスリープ移行判断処理を示す第２のサブルーチンを示す図である。
【図１６】本発明の実施の形態におけるエラーが発生している場合のスリープ移行判断部の動作を説明するためのタイムチャートである。
【図１７】本発明の実施の形態におけるメインＣＰＵによるスリープ移行処理のサブルーチンを示す図である。
【図１８】本発明の実施の形態におけるスリープ移行判断部によるデータ退避処理のサブルーチンを示す図である。
【図１９】本発明の実施の形態におけるメインＣＰＵによるスリープ復帰起動処理の第１のサブルーチンを示す図である。
【図２０】本発明の実施の形態におけるメインＣＰＵによるスリープ復帰起動処理の第２のサブルーチンを示す図である。
【図２１】本発明の実施の形態におけるメインＣＰＵによるデータ復帰処理のサブルーチンを示す図である。
【図２２】本発明の実施の形態におけるスリープモニタ部の制御を行う際のサブＣＰＵの動作を示す第１のフローチャートである。
【図２３】本発明の実施の形態におけるスリープモニタ部の制御を行う際のサブＣＰＵの動作を示す第２のフローチャートである。
【図２４】本発明の実施の形態におけるスリープ復帰判断部によるスリープ復帰判断処理のサブルーチンを示す図である。
【図２５】本発明の実施の形態におけるスリープモニタ部の受信部による受信処理のサブルーチンを示す図である。
【図２６】本発明の実施の形態におけるスリープモニタ部のデータ解析部によるデータ解析処理のサブルーチンを示す図である。
【図２７】本発明の実施の形態におけるサブＣＰＵによるスリープ復帰処理を示すサブルーチンを示す図である。
【図２８】本発明の実施の形態におけるプリンタユニット部の制御を行う際のサブＣＰＵの動作を示すフローチャートである。
【図２９】本発明の実施の形態におけるサブＣＰＵ３１によるスリープ準備処理のサブルーチンを示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。この場合、画像形成装置としてのプリンタについて説明する。
【００１９】
図１は本発明の実施の形態におけるプリンタの第１の制御ブロック図、図２は本発明の実施の形態におけるプリンタの第２の制御ブロック図、図３は本発明の実施の形態における操作部の例を示す図、図４は本発明の実施の形態におけるスリープ移行時間及び不在時間帯を説明するための図である。
【００２０】
図において、１０は電子写真式のプリンタであり、該プリンタ１０は、ネットワーク接続部としてのネットワーク接続ソケット１９を備え、該ネットワーク接続ソケット１９に接続されたネットワークケーブル５１を介して上位装置としてのホストコンピュータ５０と接続される。
【００２１】
本実施の形態においては、媒体としての用紙に対して直ちに印刷を行う通常モード、及びプリンタ１０の所定の箇所への電力の供給を停止させ、ホストコンピュータ５０から印刷データが送られてくると、前記所定の箇所への電力の供給を開始してから印刷を行うようにして電力の消費を抑制するスリープモードで印刷を行うことができるとともに、モードを、通常モードからスリープモードに移行させたり、スリープモードから通常モードに復帰させたりすることができるようになっている。
【００２２】
そのために、前記プリンタ１０は、第１の基板としてのメイン基板２０、第２の基板としてのメカコントロール基板（ＰＵ）４０、操作部１１、及び第３の基板としてのスリープコントロール基板３０を備える。前記ネットワーク接続ソケット１９は、メイン基板２０及びスリープコントロール基板３０に対して切替え自在に接続される。
【００２３】
前記メイン基板２０は、主制御部としてのメインＣＰＵ２１、メインプログラム（Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）が記録された第１の記憶装置としてのモジュール群２２、各種のデータを一時的に記録する第２の記憶装置としてのＲＡＭ２３、計時部としてのタイマ２６、ＥＥＰＲＯＭ等の第３の記憶装置としての不揮発性メモリ２５、及びフラッシュメモリ等の第４の記憶装置としてのストレージデバイス２４を備え、前記スリープモードにおいてはメイン基板２０への電力の供給が停止させられる。
【００２４】
前記モジュール群２２は、受信部２２ａ、データ解析部２２ｂ、印刷制御部２２ｃ、印刷障害処理部としてのエラー処理部２２ｄ及びスリープ移行判断部２２ｅから成るコントローラユニット部のモジュールを備え、前記メインＣＰＵ２１によって受信部２２ａ、データ解析部２２ｂ、印刷制御部２２ｃ、エラー処理部２２ｄ及びスリープ移行判断部２２ｅの制御が行われる。また、前記ＲＡＭ２３は、受信バッファ２３ａ及びフレームメモリ２３ｂを備える。そして、前記不揮発性メモリ２５の所定の領域２５ａ、２５ｂには、図４に示されるような、前記操作部１１を操作することによって設定したり、変更したりすることができるスリープ移行時間及び不在時間帯の情報が記録される。
【００２５】
本実施の形態においては、前記通常モードにおいて、ホストコンピュータ５０からプリンタ１０に印刷データが送られない状態で経過する時間が前記タイマ２６によって計時され、計時された時間があらかじめ設定された値になり、スリープ移行時間が経過したと判断されると、モードが通常モードからスリープモードに移行させられる。
【００２６】
前記スリープ移行時間は、例えば、１０〔分〕、２０〔分〕、３０〔分〕、１〔時間〕、２〔時間〕、４〔時間〕等のように、電力の消費をどの程度抑制するかに応じて設定される。
【００２７】
ところで、印刷動作中に印刷障害、例えば、用紙の詰まり等のエラーが発生した際に、操作者が用紙を除去する等してエラーの解除を行っている間に、前記スリープ移行時間が経過したと判断され、モードが通常モードからスリープモードに移行させられると、印刷スループットが悪くなってしまうので、エラーが発生した場合においては通常モードからスリープモードには移行させないようにするのが好ましい。ところが、深夜の時間帯、休日における所定の時間帯等のような、操作者が不在であり、エラーを解除することができない時間帯においては、通常モードからスリープモードに移行させないようにされていると、電力が無駄に消費されてしまう。
【００２８】
そこで、本実施の形態においては、操作者が不在である時間帯が前記不在時間帯として設定され、不在時間帯においては、通常モードからスリープモードへの移行が行われるようになっている。前記不在時間帯は開始時刻ｔｓ及び終了時刻ｔｅによって設定される。
【００２９】
また、本実施の形態においては、現在時刻ｔｐが不在時間帯外になると、モードがスリープモードから通常モードに復帰させられるようになっている。この場合、前記タイマ２６によって計時される、モードがスリープモードから通常モードに復帰させられるまでの時間がスリープ復帰時間τとされ、該スリープ復帰時間τは、
τ＝ｔｅ−ｔｐ
で表される。
【００３０】
前記操作部１１には、第１の表示装置としてのＬＣＤ１２、第２の表示装置としてのＬＥＤ部１３、及び操作装置としてのボタン部１４が配設され、スリープモードにおいて、ＬＥＤ部１３及びボタン部１４の一部を除いて電力の供給が停止させられる。
【００３１】
前記スリープコントロール基板３０は、副制御部としてのサブＣＰＵ３１、スリープ制御プログラム（Ｓｌｅｅｐ  Ｍｏｎｉｔｏｒ）が記録された第１の記憶装置としてのモジュール群３２、及び第２の記憶装置としてのＲＡＭ３３を備え、スリープモードにおいて、スリープコントロール基板３０への電力の供給は停止させられない。前記モジュール群３２は、受信部３２ａ、データ解析部３２ｂ、スリープ復帰判断部３２ｃ及び電力制御部３２ｄから成るスリープモニタ部のモジュールを備え、サブＣＰＵ３１によって受信部３２ａ、データ解析部３２ｂ、スリープ復帰判断部３２ｃ及び電力制御部３２ｄの制御が行われる。また、前記ＲＡＭ３３は、受信バッファ３３ａを備える。
【００３２】
前記メカコントロール基板４０は、メカ制御プログラム（Ｐｒｉｎｔｅｒ  Ｕｎｉｔ）が記録された第１の記憶装置としてのモジュール群４１、及び第２の記憶装置としてのＲＡＭ４２を備え、スリープモードにおいて、メカコントロール基板４０への電力の供給は停止させられる。前記モジュール群４１は、給紙制御部４１ｄ、用紙搬送制御部４１ｃ、露光・トナー制御部４１ｂ及び転写・定着制御部４１ａから成るプリンタユニット部のモジュールを備え、前記サブＣＰＵ３１によって、給紙制御部４１ｄ、用紙搬送制御部４１ｃ、露光・トナー制御部４１ｂ及び転写・定着制御部４１ａの制御が行われるとともに、駆動部としての駆動モータ４３、検出部としてのセンサ４４、及び高圧電源装置４５の制御が行われる。
【００３３】
なお、前記メイン基板２０と前記メカコントロール基板４０との間、及び前記メイン基板２０と前記スリープコントロール基板３０との間における通信は、双方向において行われる。
【００３４】
そして、サブＣＰＵ３１には常に電力が供給され、メインＣＰＵ２１によってサブＣＰＵ３１がリセットされると、モジュール群４１とモジュール群３２とが切り替えられ、制御が、プリンタユニット部の制御（メカ制御）とスリープモニタ部の制御（スリープ制御）とで切り替えられる。
【００３５】
また、前記メイン基板２０及びメカコントロール基板４０は、プリンタ１０が、電源がオンにされることによって起動（コールドスタート）されたか、又はモードがスリープモードから通常モードに復帰させられることによって起動されたかをハードウェア上で判断する手段、すなわち、図示されない起動判断部をそれぞれ備える。
【００３６】
次に、前記操作部１１の詳細について説明する。
【００３７】
前述されたように、操作部１１は、ＬＣＤ１２、ＬＥＤ部１３及びボタン部１４を備える。前記ＬＥＤ部１３は、第１の表示要素としてのオンラインＬＥＤ１３ａ、第２の表示要素としてのアラームＬＥＤ１３ｂ、第３の表示要素としての節電ＬＥＤ１３ｃ等から成り、前記ボタン部１４は、第１の操作要素としてのオンラインボタン１４ａ、第２の操作要素としてのキャンセルボタン１４ｂ、第３の操作要素としてのメニューボタン１４ｃ、第４の操作要素としてのメニュー確定ボタン１４ｄ、第５の操作要素としてのメニュー・カーソルボタン１４ｅ〜１４ｈ、第６の操作要素としての節電ボタン１４ｉ等から成る。前記節電ＬＥＤ１３ｃ及び節電ボタン１４ｉは、ＬＣＤ１２、ＬＥＤ部１３における他のＬＥＤ、及びボタン部１４における他のボタンの電源装置とは別の電源装置に接続され、スリープモードにおいても、操作者が操作することができ、また、操作者に対して所定の情報を表示し、通知することができる。
【００３８】
次に、前記構成のプリンタ１０のモードを通常モードからスリープモードに移行させる際の移行シーケンス、及び前記モードをスリープモードから通常モードに復帰させる際の復帰シーケンスについて説明する。
【００３９】
図５は本発明の実施の形態におけるモードを通常モードからスリープモードに移行させる際の移行シーケンスを示す図、図６は本発明の実施の形態におけるモードをスリープモードから通常モードに復帰させる際の復帰シーケンスを示す図である。
【００４０】
まず、プリンタ１０のモードを通常モードからスリープモードに移行させる際の移行シーケンスについて説明する。
【００４１】
メインＣＰＵ２１は、モジュール群２２のモジュールを実行することによって前記コントローラユニット部の制御を行い、サブＣＰＵ３１は、通常モードにおいて、モジュール群４１のモジュールを実行することによって前記プリンタユニット部の制御を行い、スリープモードにおいて、モジュール群３２のモジュールを実行することによって前記スリープモニタ部の制御を行う。
【００４２】
プリンタ１０の電源がオンにされると、サブＣＰＵ３１は、初期化処理を行い、プリンタユニット部を初期化し、ウォーミングアップ動作を行うとともに、メインＣＰＵ２１とのコマンド／レスポンスの送受を確立させる。前記メインＣＰＵ２１は、ホストコンピュータ５０から印刷データを受けると、印刷指示のコマンドをサブＣＰＵ３１に送り、サブＣＰＵ３１は、前記プリンタユニット部を制御することによって印刷を行い、印刷が終了すると、印刷終了のレスポンスをメインＣＰＵ２１に送る。
【００４３】
メインＣＰＵ２１によって印刷データが受信されるたびに、メインＣＰＵ２１とサブＣＰＵ３１とで印刷指示のコマンド及び印刷終了のレスポンスの送受が繰り返される。
【００４４】
そして、メインＣＰＵ２１は、モードを通常モードからスリープモードに移行させるための条件、すなわち、移行条件としてのスリープ移行条件が成立したかどうかを判断し、スリープ移行条件が成立した場合に、プリンタユニット部のスリープ指示、すなわち、ＰＵスリープ指示のコマンドをサブＣＰＵ３１に送り、サブＣＰＵ３１からのレスポンスを待機する。なお、スリープ移行条件が成立したかどうかの判断は、後述される前記スリープ移行判断部２２ｅによるスリープ移行判断処理において行われる。
【００４５】
サブＣＰＵ３１は、メインＣＰＵ２１からＰＵスリープ指示のコマンドを受けると、完全停止処理を行い、プリンタユニット部の動作をすべて停止させ、プリンタユニット部のスリープ準備完了、すなわち、ＰＵスリープ準備完了のレスポンスをメインＣＰＵ２１に送る。メインＣＰＵ２１は、サブＣＰＵ３１をリセットし、モジュール群４１からモジュール群３２に切り替え、プリンタユニット部の制御をスリープモニタ部の制御に切り替える。
【００４６】
前記サブＣＰＵ３１は、初期化処理を行い、スリープモニタ部を初期化し、スリープモニタ部の初期化が終了すると、メカコントロール基板４０の電力をオフにすることによって、プリンタユニット部への電力の供給を停止させた後、メインＣＰＵ２１からのコマンドを待機する。
【００４７】
メインＣＰＵ２１がサブＣＰＵ３１にコントローラユニット部のスリープ準備完了、すなわち、ＣＵスリープ準備完了のコマンドを送ると、サブＣＰＵ３１は、メイン基板２０の電力をオフにすることによって、コントローラユニット部への電力の供給を停止させる。
【００４８】
このようにして、モードが通常モードからスリープモードに移行させられる。これ以降、サブＣＰＵ３１はスリープモードにおけるプリンタ１０の状態監視を行う。
【００４９】
次に、プリンタ１０のモードをスリープモードから通常モードに復帰させるための復帰シーケンスについて説明する。
【００５０】
プリンタ１０のスリープモードにおいては、コントローラユニット部及びプリンタユニット部への電力の供給が停止させられていて、サブＣＰＵ３１がプリンタ１０の状態監視を行っている。
【００５１】
サブＣＰＵ３１は、モードをスリープモードから通常モードに復帰させるための条件、すなわち、復帰条件としてのスリープ復帰条件が成立したかどうかを判断し、スリープ復帰条件が成立した場合に、メイン基板２０の電力をオンにし、コントローラユニット部に電力を供給し、メインＣＰＵ２１からのコマンドを待機する。なお、スリープ復帰条件が成立したかどうかの判断は、後述される前記スリープ復帰判断部３２ｃによるスリープ復帰判断処理において行われる。
【００５２】
メイン基板２０が起動されると、メインＣＰＵ２１は、サブＣＰＵ３１にコントローラユニット部の起動終了、すなわち、ＣＵ起動終了のコマンドを送り、サブＣＰＵ３１からのレスポンスを待機する。
【００５３】
そして、サブＣＰＵ３１は、メインＣＰＵ２１からＣＵ起動終了のコマンドを受けると、メカコントロール基板４０の電力を再びオンにし、プリンタユニット部に電力を供給するとともに、プリンタユニット部のスリープ解除、すなわち、ＳＭスリープ解除のレスポンスをメインＣＰＵ２１に送る。これにより、メインＣＰＵ２１は、サブＣＰＵ３１をリセットし、モジュール群３２からモジュール群４１に切り替え、スリープモニタ部の制御からプリンタユニット部の制御に切り替える。
【００５４】
この場合、サブＣＰＵ３１は、ウォーミングアップ動作を行うことなく、メインＣＰＵ２１とのコマンド／レスポンスの送受を確立させる。
【００５５】
このようにして、プリンタ１０のモードはスリープモードから通常モードに復帰させられる。
【００５６】
次に、メインＣＰＵ２１及びサブＣＰＵ３１によって送受されるコマンド／レスポンスについて説明する。
【００５７】
図７は本発明の実施の形態におけるコントローラユニット部とプリンタユニット部とでメインＣＰＵ及びサブＣＰＵによって送受されるコマンド／レスポンスを示す図、図８は本発明の実施の形態におけるコントローラユニット部とスリープモニタ部とでメインＣＰＵ及びサブＣＰＵによって送受されるコマンド／レスポンスを示す図である。
【００５８】
図７において、ＰＵスリープ指示はメインＣＰＵ２１からサブＣＰＵ３１に送られるコマンドであり、ＰＵスリープ準備完了はサブＣＰＵ３１からメインＣＰＵ２１に送られるレスポンスであり、いずれにもパラメータは含まれない。
【００５９】
図８において、ＣＵ起動終了、ＣＵスリープ準備完了及び受信データ読出しは、メインＣＰＵ２１からサブＣＰＵ３１に送られるコマンドであり、ＳＭスリープ解除及び受信データ転送は、サブＣＰＵ３１からメインＣＰＵ２１に送られるレスポンスであり、ＣＵ起動終了及び受信データ読出しのコマンドにはパラメータが含まれず、ＣＵスリープ準備完了のコマンドには、未印刷データがあるかどうかを表す未印刷データ情報、エラーが発生したかどうかを表す印刷障害情報としてのエラー情報、前記スリープ復帰時間τを表す復帰時間情報等のパラメータが含まれ、ＳＭスリープ解除のレスポンスにはデータ復帰要求フラグのパラメータが含まれ、受信データ転送のレスポンスには、メインＣＰＵ２１に転送されるデータのバイト数（０の場合はデータなし）、受信バッファのデータ（最大１０バイトずつ）等のパラメータが含まれる。
【００６０】
次に、プリンタ１０の動作について説明する。
【００６１】
まず、メインＣＰＵ２１の動作について説明する。
【００６２】
図９は本発明の実施の形態におけるメインＣＰＵの動作を示すフローチャートである。
【００６３】
まず、プリンタ１０が起動されると、メインＣＰＵ２１は、コントローラユニット部の第１の初期化処理を行い、前記起動判断部からの情報に基づいて、プリンタ１０が起動された方法を確認し、スリープモードからの復帰による起動であるかどうかを判断する。スリープモードからの復帰による起動である場合、メインＣＰＵ２１はスリープ復帰起動処理を行い、プリンタ１０の電源がオンにされたことによる起動である場合、メインＣＰＵ２１は第２の初期化処理を行う。
【００６４】
続いて、メインＣＰＵ２１の指示に基づいて、受信部２２ａは受信処理を、データ解析部２２ｂはデータ解析処理を、印刷制御部２２ｃは印刷制御処理を、エラー処理部２２ｄはエラー処理を順次行う。
【００６５】
そして、スリープ移行判断部２２ｅは、スリープ移行判断処理を行い、スリープ移行条件が成立したかどうかを判断する。スリープ移行条件が成立した場合、メインＣＰＵ２１はスリープ移行処理を行う。
【００６６】
続いて、メインＣＰＵ２１は、モードが通常モードからスリープモードに移行させられたかどうかを判断し、モードが通常モードからスリープモードに移行させられた場合に処理を終了する。
【００６７】
次に、フローチャートについて説明する。
ステップＳ１  メインＣＰＵ２１はプリンタ１０が起動されるのを待機する。プリンタ１０が起動された場合はステップＳ２に進む。
ステップＳ２  メインＣＰＵ２１は第１の初期化処理を行う。
ステップＳ３  メインＣＰＵ２１はスリープモードからの復帰による起動であるかどうかを判断する。スリープモードからの復帰による起動である場合はステップＳ５に、スリープモードからの復帰による起動でない場合はステップＳ４に進む。
ステップＳ４  メインＣＰＵ２１は第２の初期化処理を行う。
ステップＳ５  メインＣＰＵ２１はスリープ復帰起動処理を行う。
ステップＳ６  受信部２２ａは受信処理を行う。
ステップＳ７  データ解析部２２ｂはデータ解析処理を行う。
ステップＳ８  印刷制御部２２ｃは印刷制御処理を行う。
ステップＳ９  エラー処理部２２ｄはエラー処理を行う。
ステップＳ１０  スリープ移行判断部２２ｅはスリープ移行判断処理を行う。
ステップＳ１１  スリープ移行判断部２２ｅはスリープ移行条件が成立したかどうかを判断する。スリープ移行条件が成立した場合はステップＳ１２に、スリープ移行条件が成立しなかった場合はステップＳ１３に進む。
ステップＳ１２  メインＣＰＵ２１はスリープ移行処理を行う。
ステップＳ１３  メインＣＰＵ２１はモードが通常モードからスリープモードに移行させられたかどうかを判断する。モードが通常モードからスリープモードに移行させられなかった場合はステップＳ６に戻り、モードが通常モードからスリープモードに移行させられた場合は処理を終了する。
【００６８】
次に、図９のステップＳ６の受信部２２ａによる受信処理について説明する。
【００６９】
図１０は本発明の実施の形態におけるコントローラユニット部の受信部による受信処理のサブルーチンを示す図である。
【００７０】
まず、受信部２２ａは、印刷データのパケットを受信したかどうかを判断し、パケットを受信した場合に、受信したパケットがデータパケットであるか（制御パケットであるか）どうかを判断する。受信したパケットが制御パケットである場合、受信部２２ａは、制御パケット処理を行い、受信したパケットがデータパケットである場合、受信部２２ａは、受信バッファ２３ａに空きがあるかどうかを判断する。受信バッファ２３ａに空きがない場合、受信部２２ａはネットワークケーブル５１によるネットワークをビジー状態にし、受信バッファ２３ａに空きがある場合、受信部２２ａは、受信バッファ２３ａにデータを記録する（又は、ネットワークケーブル５１によるネットワークのビジー状態を解除し、パケットの受信を続ける）。
【００７１】
次に、フローチャートについて説明する。
ステップＳ６−１  受信部２２ａはパケットを受信したかどうかを判断する。パケットを受信した場合はステップＳ６−２に進み、パケットを受信しなかった場合はリターンする。
ステップＳ６−２  受信部２２ａはパケットがデータパケットであるかどうかを判断する。パケットがデータパケットである場合はステップＳ６−３に、パケットがデータパケットでない場合はステップＳ６−５に進む。
ステップＳ６−３  受信部２２ａは受信バッファ２３ａに空きがあるかどうかを判断する。受信バッファ２３ａに空きがある場合はステップＳ６−４に、受信バッファ２３ａに空きがない場合はステップＳ６−６に進む。
ステップＳ６−４  受信部２２ａはネットワークのビジー状態を解除し、パケットの受信を続け、リターンする。
ステップＳ６−５  受信部２２ａは制御パケット処理を行い、リターンする。
ステップＳ６−６  受信部２２ａはネットワークをビジー状態にし、リターンする。
【００７２】
次に、図９のステップＳ７のデータ解析部２２ｂによるデータ解析処理について説明する。
【００７３】
図１１は本発明の実施の形態におけるコントローラユニット部のデータ解析部によるデータ解析処理のサブルーチンを示す図である。
【００７４】
まず、データ解析部２２ｂは、ホストコンピュータ５０及びプリンタ１０がオンライン状態であるかどうかを判断し、ホストコンピュータ５０及びプリンタ１０がオンライン状態である場合、受信バッファ２３ａにデータがあるかどうかを判断し、受信バッファ２３ａにデータがある場合、タイマ２６による計時を開始し、受信バッファ２３ａからデータを読み出し、読み出したデータが描画を要するデータ、すなわち、描画データであるかどうかを判断する。
【００７５】
そして、読み出したデータが描画データである場合、データ解析部２２ｂは、描画データをフレームメモリ２３ｂに展開し、描画データの１ページ分の展開が終了したかどうかを判断し、１ページ分の展開が終了した場合、印刷制御部２２ｃに印刷要求をセットする。
【００７６】
次に、フローチャートについて説明する。
ステップＳ７−１  データ解析部２２ｂはホストコンピュータ５０及びプリンタ１０がオンライン状態であるかどうかを判断する。ホストコンピュータ５０及びプリンタ１０がオンライン状態である場合はステップＳ７−２に進み、ホストコンピュータ５０及びプリンタ１０がオンライン状態でない場合はリターンする。
ステップＳ７−２  データ解析部２２ｂは受信バッファ２３ａにデータがあるかどうかを判断する。受信バッファ２３ａにデータがある場合はステップＳ７−３に進み、受信バッファ２３ａにデータがない場合はリターンする。
ステップＳ７−３  データ解析部２２ｂはタイマ２６による計時を開始する。
ステップＳ７−４  データ解析部２２ｂは受信バッファ２３ａからデータを読み出す。
ステップＳ７−５  データ解析部２２ｂはデータが描画データであるかどうかを判断する。データが描画データである場合はステップＳ７−６に、データが描画データでない場合はステップＳ７−７に進む。
ステップＳ７−６  データ解析部２２ｂは描画データをフレームメモリ２３ｂに展開する。
ステップＳ７−７  データ解析部２２ｂは１ページ分の展開が終了したかどうかを判断する。１ページ分の展開が終了した場合はステップＳ７−８に進み、１ページ分の展開が終了しなかった場合はリターンする。
ステップＳ７−８  データ解析部２２ｂは印刷要求をセットし、リターンする。
【００７７】
次に、図９のステップＳ８の印刷制御部２２ｃによる印刷制御処理について説明する。
【００７８】
図１２は本発明の実施の形態におけるコントローラユニット部の印刷制御部による印刷制御処理のサブルーチンを示す図である。
【００７９】
まず、印刷制御部２２ｃは、印刷要求がセットされているかどうかを判断し、印刷要求がセットされている場合に、タイマ２６による計時を開始し、サブＣＰＵ３１に印刷指示のコマンドを送り、フレームメモリ２３ｂに記録されたデータをサブＣＰＵ３１にビデオ転送する。
【００８０】
次に、フローチャートについて説明する。
ステップＳ８−１  印刷制御部２２ｃは印刷要求がセットされているかどうかを判断する。印刷要求がセットされている場合はステップＳ８−２に進み、印刷要求がセットされていない場合はリターンする。
ステップＳ８−２  印刷制御部２２ｃはタイマ２６による計時を開始する。
ステップＳ８−３  印刷制御部２２ｃは印刷指示のコマンドを送る。
ステップＳ８−４  印刷制御部２２ｃはデータをビデオ転送し、リターンする。
【００８１】
次に、図９のステップＳ９のエラー処理部２２ｄによるエラー処理について説明する。
【００８２】
図１３は本発明の実施の形態におけるコントローラユニット部のエラー処理部によるエラー処理のサブルーチンを示す図である。
【００８３】
まず、エラー処理部２２ｄは、エラーが発生したかどうかを判断し、エラーが発生した場合、エラーが発生したことを表す前記エラー情報をメインＣＰＵ２１に送り、操作部１１のＬＣＤ１２にエラーを表示し、ホストコンピュータ５０及びプリンタ１０をオフライン状態にすることによってエラーに対処し、エラーが発生していない場合、ホストコンピュータ５０及びプリンタ１０をオンライン状態にする。
【００８４】
次に、フローチャートについて説明する。
ステップＳ９−１  エラー処理部２２ｄはエラーが発生したかどうかを判断する。エラーが発生した場合はステップＳ９−３に、エラーが発生していない場合はステップＳ９−２に進む。
ステップＳ９−２  エラー処理部２２ｄはホストコンピュータ５０及びプリンタ１０をオンライン状態にし、リターンする。
ステップＳ９−３  エラー処理部２２ｄは操作部１１にエラーを表示する。
ステップＳ９−４  エラー処理部２２ｄはホストコンピュータ５０及びプリンタ１０をオフライン状態にし、リターンする。
【００８５】
次に、図９のステップＳ１０のスリープ移行判断部２２ｅによるスリープ移行判断処理について説明する。
【００８６】
図１４は本発明の実施の形態におけるコントローラユニット部のスリープ移行判断部によるスリープ移行判断処理を示す第１のサブルーチンを示す図、図１５は本発明の実施の形態におけるコントローラユニット部のスリープ移行判断部によるスリープ移行判断処理を示す第２のサブルーチンを示す図、図１６は本発明の実施の形態におけるエラーが発生している場合のスリープ移行判断部の動作を説明するためのタイムチャートである。
【００８７】
まず、スリープ移行判断部２２ｅは、スリープ移行時間が経過した（タイムアウトである）かどうかを判断し、スリープ移行時間が経過した場合に、フレームメモリ２３ｂに記録されたデータがサブＣＰＵ３１にビデオ転送されずに残っているかどうか、すなわち、未印刷データがあるかどうかを判断する。
【００８８】
そして、未印刷データがない場合、スリープ移行判断部２２ｅは、エラーが発生しているかどうかを判断し、エラーが発生している場合、エラーの種類をチェックし、エラーがスリープモードへの移行が可能なエラーであるかどうかを判断する。スリープモードへの移行が可能なエラーである場合、スリープ移行判断部２２ｅは、現在時刻ｔｐの時間帯が不在時間帯であるかどうかを判断し、現在時刻ｔｐの時間帯が不在時間帯である場合、スリープモードへの移行の準備を行い、ネットワークケーブル５１によるネットワークをビジー状態にし、スリープ移行処理を行うためのコマンド、すなわち、ＣＵスリープ準備完了のコマンド（未印刷データなし、エラーの発生あり、及びスリープ復帰時間τの設定）をセットし、スリープ移行条件が成立したと判断する。
【００８９】
また、未印刷データがなく、エラーが発生していない場合、スリープ移行判断部２２ｅは、ネットワークケーブル５１によるネットワークをビジー状態にし、ＣＵスリープ準備完了のコマンド（未印刷データなし、エラーの発生なし、及びスリープ復帰時間τの設定なし）をセットし、スリープ移行条件が成立したと判断する。
【００９０】
そして、未印刷データがある場合、スリープ移行判断部２２ｅは、未印刷データがあることを表す前記未印刷データ情報をメインＣＰＵ２１に送り、続いて、エラーが発生しているかどうかを判断し、エラーが発生している場合、エラーの種類をチェックし、エラーがスリープモードへの移行が可能なエラーであるかどうかを判断する。エラーがスリープモードへの移行が可能なエラーである場合、スリープ移行判断部２２ｅは、現在時刻ｔｐの時間帯が不在時間帯であるかどうかを判断し、現在時刻ｔｐの時間帯が不在時間帯である場合、通常モードからスリープモードへの移行の準備を行い、ネットワークケーブル５１によるネットワークをビジー状態にし、データ退避処理を行う。続いて、スリープ移行判断部２２ｅは、ＣＵスリープ準備完了のコマンド（未印刷データあり、エラーの発生あり、及びスリープ復帰時間τの設定）をセットし、スリープ移行条件が成立したと判断する。
【００９１】
このように、エラーが発生していない場合は、未印刷データがある場合及び未印刷データがない場合のいずれにおいても、現在時刻ｔｐの時間帯が不在時間帯であるかどうかに関係なく、スリープ移行処理が行われて通常モードからスリープモードへの移行が行われる。また、エラーが発生している場合において、図１６においてケース１で表されるように、スリープ移行時間が経過したときの現在時刻ｔｐの時間帯が不在時間帯でない場合、不在時間帯の開始時刻ｔｓでスリープ移行処理が行われる。
【００９２】
このとき、スリープ復帰時間τは、
τ＝ｔｅ−ｔｓ
であり、図１６においてケース２で表されるように、スリープ移行時間が経過したときの現在時刻ｔｐが不在時間帯である場合、現在時刻ｔｐでスリープ移行処理が行われる。このとき、スリープ復帰時間τは、
τ＝ｔｅ−ｔｐ
である。
【００９３】
次に、フローチャートについて説明する。
ステップＳ１０−１  スリープ移行判断部２２ｅはスリープ移行時間が経過したかどうかを判断する。スリープ移行時間が経過した場合はＳ１０−２に進み、スリープ移行時間が経過しなかった場合はリターンする。
ステップＳ１０−２  スリープ移行判断部２２ｅは未印刷データがあるかどうかを判断する。未印刷データがある場合はステップＳ１０−１１に、未印刷データがない場合はステップＳ１０−３に進む。
ステップＳ１０−３  スリープ移行判断部２２ｅはエラーが発生しているかどうかを判断する。エラーが発生している場合はステップＳ１０−６に、エラーが発生していない場合はステップＳ１０−４に進む。
ステップＳ１０−４  スリープ移行判断部２２ｅはネットワークをビジー状態にする。
ステップＳ１０−５  スリープ移行判断部２２ｅはＣＵスリープ準備完了のコマンドをセットする。
ステップＳ１０−６  スリープ移行判断部２２ｅはエラーの種類をチェックする。
ステップＳ１０−７  スリープ移行判断部２２ｅはエラーがスリープモードへの移行が可能なエラーであるかどうかを判断する。エラーがスリープモードへの移行が可能なエラーである場合はステップＳ１０−８に進み、エラーがスリープモードへの移行が可能なエラーでない場合はリターンする。
ステップＳ１０−８  スリープ移行判断部２２ｅは現在時刻ｔｐの時間帯が不在時間帯であるかどうかを判断する。現在時刻ｔｐの時間帯が不在時間帯である場合はステップＳ１０−９に進み、現在時刻ｔｐの時間帯が不在時間帯でない場合はリターンする。
ステップＳ１０−９  スリープ移行判断部２２ｅはネットワークをビジー状態にする。
ステップＳ１０−１０  スリープ移行判断部２２ｅはＣＵスリープ準備完了のコマンドをセットする。
ステップＳ１０−１１  スリープ移行判断部２２ｅはエラーが発生しているかどうかを判断する。エラーが発生している場合はステップＳ１０−１２に進み、エラーが発生していない場合はリターンする。
ステップＳ１０−１２  スリープ移行判断部２２ｅはエラーの種類をチェックする。
ステップＳ１０−１３  スリープ移行判断部２２ｅはエラーがスリープモードへの移行が可能なエラーであるかどうかを判断する。エラーがスリープモードへの移行が可能なエラーである場合はステップＳ１０−１４に進み、エラーがスリープモードへの移行が可能なエラーでない場合はリターンする。
ステップＳ１０−１４  スリープ移行判断部２２ｅは現在時刻ｔｐの時間帯が不在時間帯であるかどうかを判断する。現在時刻ｔｐの時間帯が不在時間帯である場合はステップＳ１０−１５に進み、現在時刻ｔｐの時間帯が不在時間帯でない場合はリターンする。
ステップＳ１０−１５  スリープ移行判断部２２ｅはネットワークをビジー状態にする。
ステップＳ１０−１６  スリープ移行判断部２２ｅはデータ退避処理を行う。
ステップＳ１０−１７  スリープ移行判断部２２ｅはＣＵスリープ準備完了のコマンドをセットする。
ステップＳ１０−１８  スリープ移行判断部２２ｅはスリープ移行条件が成立したと判断し、リターンする。
【００９４】
次に、図９のステップＳ１２のスリープ移行処理について説明する。
【００９５】
図１７は本発明の実施の形態におけるメインＣＰＵによるスリープ移行処理のサブルーチンを示す図である。
【００９６】
まず、メインＣＰＵ２１（スリープ移行処理手段）は、ＰＵスリープ指示のコマンドをサブＣＰＵ３１に送り、サブＣＰＵ３１からのＰＵスリープ準備完了のレスポンスを待機する。そして、サブＣＰＵ３１からＰＵスリープ準備完了のレスポンスを受けると、受信部２２ａは、モードをスリープモードに設定し、サブＣＰＵ３１をリセットする。このとき、サブＣＰＵ３１は、プリンタユニット部の制御からスリープモニタ部の制御に切り替える。
【００９７】
そして、メインＣＰＵ２１は、ＣＵスリープ準備完了のコマンドをサブＣＰＵ３１に送る。
【００９８】
次に、フローチャートについて説明する。
ステップＳ１２−１  メインＣＰＵ２１はＰＵスリープ指示のコマンドをサブＣＰＵ３１に送る。
ステップＳ１２−２  メインＣＰＵ２１はＰＵスリープ準備完了のレスポンスを受けるのを待機する。ＰＵスリープ準備完了のレスポンスを受けた場合はステップＳ１２−３に進む。
ステップＳ１２−３  受信部２２ａはモードをスリープモードに設定する。
ステップＳ１２−４  受信部２２ａはサブＣＰＵ３１をリセットする。
ステップＳ１２−５  メインＣＰＵ２１はＰＵスリープ準備完了のコマンドをサブＣＰＵ３１に送り、リターンする。
【００９９】
次に、図１５のステップＳ１０−１６のスリープ移行判断部２２ｅによるデータ退避処理について説明する。
【０１００】
図１８は本発明の実施の形態におけるスリープ移行判断部によるデータ退避処理のサブルーチンを示す図である。
【０１０１】
スリープ移行判断部２２ｅ（データ退避処理手段）は、受信バッファ２３ａに記録されたデータをストレージデバイス２４に退避させるとともに、フレームメモリ２３ｂに記録されたデータをストレージデバイス２４に退避させる。
【０１０２】
次に、フローチャートについて説明する。
ステップＳ１０−１６−１  スリープ移行判断部２２ｅは受信バッファ２３ａに記録されたデータを退避させる。
ステップＳ１０−１６−２  スリープ移行判断部２２ｅはフレームメモリ２３ｂに記録されたデータを退避させ、リターンする。
【０１０３】
次に、図９のステップＳ５のメインＣＰＵ２１によるスリープ復帰起動処理について説明する。
【０１０４】
図１９は本発明の実施の形態におけるメインＣＰＵによるスリープ復帰起動処理の第１のサブルーチンを示す図、図２０は本発明の実施の形態におけるメインＣＰＵによるスリープ復帰起動処理の第２のサブルーチンを示す図である。
【０１０５】
まず、メインＣＰＵ２１（スリープ復帰起動処理手段）は、ＣＵ起動終了のコマンドをサブＣＰＵ３１に送り、サブＣＰＵ３１からのＳＭスリープ解除のレスポンスを待機する。サブＣＰＵ３１からＳＭスリープ解除のレスポンスを受けると、メインＣＰＵ２１は、ＳＭスリープ解除のレスポンスに印刷要求フラグがセットされている（１である）かどうかを判断する。
【０１０６】
そして、印刷要求フラグがセットされている場合、メインＣＰＵ２１は、受信データ読出しのコマンドをサブＣＰＵ３１に送り、サブＣＰＵ３１からの受信データ転送のレスポンスを待機する。サブＣＰＵ３１から受信データ転送のレスポンスを受けると、メインＣＰＵ２１は、サブＣＰＵ３１で受信バッファ３３ａから読み出され、転送されたデータを受信バッファ２３ａに記録する。メインＣＰＵ２１は、受信バッファ３３ａのデータがなくなるまで、データを受信バッファ２３ａに記録する処理を繰り返す。
【０１０７】
一方、印刷要求フラグがセットされていない場合、メインＣＰＵ２１は、ＳＭスリープ解除のレスポンスにデータ復帰要求フラグがセットされているかどうかを判断し、データ復帰要求フラグがセットされている場合、メインＣＰＵ２１（データ復帰処理手段）はデータ復帰処理を行う。
【０１０８】
そして、ＳＭスリープ解除のレスポンスに印刷要求フラグがセットされている場合において、受信バッファ３３ａのデータがなくなった場合、及びＳＭスリープ解除のレスポンスに印刷要求フラグがセットされていない場合において、データ復帰処理が終了した場合、メインＣＰＵ２１は、受信を受信部３２ｂから受信部２２ａに切り替え、スリープモニタ部の制御からプリンタユニット部の制御に切り替える。
【０１０９】
続いて、メインＣＰＵ２１はサブＣＰＵ３１をリセットする。これにより、サブＣＰＵ３１はスリープモニタ部の制御からプリンタユニット部の制御に切り替える。
【０１１０】
そして、メインＣＰＵ２１は、プリンタユニット部が起動されるのを待機し、プリンタユニット部が起動されると、エラーが発生しているかどうかを判断し、エラーが発生している場合に、操作部１１のＬＣＤ１２にエラーを表示する。
【０１１１】
次に、フローチャートについて説明する。
ステップＳ５−１  メインＣＰＵ２１はＣＵ起動終了のコマンドを送る。
ステップＳ５−２  メインＣＰＵ２１はＳＭスリープ解除のレスポンスを受けるのを待機する。ＳＭスリープ解除のレスポンスを受けた場合はステップＳ５−３に進む。
ステップＳ５−３  メインＣＰＵ２１は印刷要求フラグがセットされているかどうかを判断する。印刷要求フラグがセットされている場合はステップＳ５−６に、印刷要求フラグがセットされていない場合はステップＳ５−４に進む。
ステップＳ５−４  メインＣＰＵ２１はデータ復帰要求フラグがセットされているかどうかを判断する。データ復帰要求フラグがセットされている場合はステップＳ５−５に、データ復帰要求フラグがセットされていない場合はステップＳ５−１０に進む。
ステップＳ５−５  メインＣＰＵ２１はデータ復帰処理を行う。
ステップＳ５−６  メインＣＰＵ２１は受信データ読出しのコマンドを送る。
ステップＳ５−７  メインＣＰＵ２１は受信データ転送のレスポンスを受けるのを待機する。受信データ転送のレスポンスを受けた場合はステップＳ５−８に進む。
ステップＳ５−８  メインＣＰＵ２１は受信バッファ２３ａにデータを記録する。
ステップＳ５−９  メインＣＰＵ２１はデータがなくなるのを待機する。データがなくなった場合はステップＳ５−１０に進み、データがなくならなかった場合はステップＳ５−６に戻る。
ステップＳ５−１０  メインＣＰＵ２１は受信部３２ｂから受信部２２ａに切り替える。
ステップＳ５−１１  メインＣＰＵ２１はスリープモニタ部の制御からプリンタユニット部の制御に切り替える。
ステップＳ５−１２  メインＣＰＵ２１はサブＣＰＵ３１をリセットする。
ステップＳ５−１３  メインＣＰＵ２１はプリンタユニット部が起動されるのを待機する。プリンタユニット部が起動された場合はステップＳ５−１４に進む。
ステップＳ５−１４  メインＣＰＵ２１はエラーが発生しているかどうかを判断する。エラーが発生している場合はステップＳ５−１５に進み、エラーが発生していない場合はリターンする。
ステップＳ５−１５  メインＣＰＵ２１は操作部１１にエラーを表示し、リターンする。
【０１１２】
次に、図１９のステップＳ５−５のメインＣＰＵ２１のデータ復帰処理について説明する。
【０１１３】
図２１は本発明の実施の形態におけるメインＣＰＵによるデータ復帰処理のサブルーチンを示す図である。
【０１１４】
メインＣＰＵ２１（データ復帰処理手段）は、ストレージデバイス２４に退避させられたデータを、受信バッファ２３ａに戻すとともに、フレームメモリ２３ｂに戻す。
【０１１５】
次に、フローチャートについて説明する。
ステップＳ５−５−１  メインＣＰＵ２１はデータを受信バッファ２３ａに戻す。
ステップＳ５−５−２  メインＣＰＵ２１はデータをフレームメモリ２３ｂに戻し、リターンする。
【０１１６】
次に、サブＣＰＵ３１によるスリープモニタ部の制御について説明する。
【０１１７】
図２２は本発明の実施の形態におけるスリープモニタ部の制御を行う際のサブＣＰＵの動作を示す第１のフローチャート、図２３は本発明の実施の形態におけるスリープモニタ部の制御を行う際のサブＣＰＵの動作を示す第２のフローチャートである。
【０１１８】
メインＣＰＵ２１からＰＵスリープ指示のコマンドを受け、メインＣＰＵ２１にＰＵスリープ準備完了のレスポンスを送ると、サブＣＰＵ３１は、操作部１１の電力をオフにし、節電ＬＥＤ１３ｃを点滅させ、メカコントロール基板４０の電力をオフにして、プリンタユニット部への電力の供給を停止させる。続いて、サブＣＰＵ３１は、受信バッファ３３ａを初期化し、受信を受信部２２ａから受信部３２ａに切り替え、メインＣＰＵ２１からＣＵスリープ準備完了のコマンドを受けると、メイン基板２０の電力をオフにし、コントロールユニット部への電力の供給を停止させる。この時点から、プリンタユニット部は停止させられ、サブＣＰＵ３１はタイマ２６による計時を開始する。
【０１１９】
続いて、スリープ復帰判断部３２ｃはスリープ復帰判断処理を行い、スリープ復帰条件が成立したかどうかを判断する。そして、スリープ復帰条件が成立した場合、受信部３２ａは、受信処理を行い、データを受信したかどうかを判断し、データを受信した場合、データ解析部３２ｂは、データ解析処理を行い、受信したデータが印刷データであるかどうかを判断し、受信したデータが印刷データである場合、サブＣＰＵ３１（スリープ復帰処理手段）は、印刷要求フラグをセットし、スリープ復帰処理を行う。
【０１２０】
続いて、サブＣＰＵ３１は、モードがスリープモードから通常モードに復帰させられたかどうかを判断し、モードがスリープモードから通常モードに復帰させられた場合に処理を終了する。
【０１２１】
次に、フローチャートについて説明する。
ステップＳ２１  サブＣＰＵ３１は操作部１１の電力をオフにし、節電ＬＥＤ１３ｃを点滅させる。
ステップＳ２２  サブＣＰＵ３１はメカコントロール基板４０の電力をオフにする。
ステップＳ２３  サブＣＰＵ３１は受信バッファ３３ａを初期化する。
ステップＳ２４  サブＣＰＵ３１は受信部２２ａから受信部３２ａに切り替える。
ステップＳ２５  サブＣＰＵ３１はＣＵスリープ準備完了のレスポンスを受ける。
ステップＳ２６  サブＣＰＵ３１はメイン基板２０の電力をオフにする。
ステップＳ２７  サブＣＰＵ３１はタイマ２６による計時を開始する。
ステップＳ２８  スリープ復帰判断部３２ｃはスリープ復帰判断処理を行う。
ステップＳ２９  スリープ復帰判断部３２ｃはスリープ復帰条件が成立したかどうかを判断する。スリープ復帰条件が成立した場合はステップＳ３０に進み、スリープ復帰条件が成立しなかった場合は処理を終了する。
ステップＳ３０  受信部３２ａは受信処理を行う。
ステップＳ３１  受信部３２ａはデータを受信したかどうかを判断する。データを受信した場合はステップＳ３２に進み、データを受信しなかった場合は処理を終了する。
ステップＳ３２  データ解析部３２ｂはデータ解析処理を行う。
ステップＳ３３  データ解析部３２ｂはデータが印刷データであるかどうかを判断する。データが印刷データである場合はステップＳ３４に進み、データが印刷データでなかった場合は処理を終了する。
ステップＳ３４  サブＣＰＵ３１は印刷要求フラグをセットする。
ステップＳ３５  サブＣＰＵ３１はスリープ復帰処理を行う。
ステップＳ３６  サブＣＰＵ３１はモードがスリープモードから通常モードに復帰させられたかどうかを判断する。モードがスリープモードから通常モードに復帰させられなかった場合はステップＳ３０に戻り、モードがスリープモードから通常モードに復帰させられた場合は処理を終了する。
【０１２２】
次に、図２２のステップＳ２８のスリープ復帰判断部３２ｃによるスリープ復帰判断処理について説明する。
【０１２３】
図２４は本発明の実施の形態におけるスリープ復帰判断部によるスリープ復帰判断処理のサブルーチンを示す図である。
【０１２４】
まず、スリープ復帰判断部３２ｃは、操作者によって節電ボタン１４ｉが押下されたかどうかを判断し、節電ボタン１４ｉが押下されなかった場合、スリープ復帰時間τが経過したかどうかを判断する。スリープ復帰時間τが経過しなかった場合、スリープ復帰判断部３２ｃは、モードが通常モードからスリープモードに移行させられる前にエラーが発生していたかどうかを判断し、エラーが発生していた場合、未印刷データがあるかどうかを判断し、未印刷データがない場合、スリープ復帰条件が成立したと判断する。
【０１２５】
一方、操作者によって節電ボタン１４ｉが押下された場合、スリープ復帰判断部３２ｃは、モードが通常モードからスリープモードに移行させられる前にエラーが発生していたかどうかを判断し、エラーが発生していなかった場合に、スリープ復帰条件が成立したと判断する。そして、モードが通常モードからスリープモードに移行させられる前にエラーが発生していた場合、及びスリープ復帰時間τが経過した場合、スリープ復帰判断部３２ｃは、未印刷データがあるかどうかを判断し、未印刷データがある場合、データ復帰要求フラグをセットし、スリープ復帰条件が成立したと判断する。また、未印刷データがない場合、スリープ復帰判断部３２ｃは、スリープ復帰条件が成立したと判断する。
【０１２６】
次に、フローチャートについて説明する。
ステップＳ２８−１  スリープ復帰判断部３２ｃは節電ボタン１４ｉが押下されたかどうかを判断する。節電ボタン１４ｉが押下された場合はステップＳ２８−６に、節電ボタン１４ｉが押下されなかった場合はステップＳ２８−２に進む。
ステップＳ２８−２  スリープ復帰判断部３２ｃはスリープ復帰時間τが経過したかどうかを判断する。スリープ復帰時間τが経過しなかった場合はステップＳ２８−３に、スリープ復帰時間τが経過した場合はステップＳ２８−７に進む。
ステップＳ２８−３  スリープ復帰判断部３２ｃはエラーが発生していたかどうかを判断する。エラーが発生していた場合はステップＳ２８−４に進み、エラーが発生していなかった場合はリターンする。
ステップＳ２８−４  スリープ復帰判断部３２ｃは未印刷データがあるかどうかを判断する。未印刷データがない場合はステップＳ２８−５に、未印刷データがある場合はステップＳ２８−８に進む。
ステップＳ２８−５  スリープ復帰判断部３２ｃはスリープ復帰条件が成立したと判断し、リターンする。
ステップＳ２８−６  スリープ復帰判断部３２ｃはエラーが発生していたかどうかを判断する。エラーが発生していた場合はステップＳ２８−７に、エラーが発生していなかった場合はステップＳ２８−５に進む。
ステップＳ２８−７  スリープ復帰判断部３２ｃは未印刷データがあるかどうかを判断する。未印刷データがある場合はステップＳ２８−８に、未印刷データがない場合はステップＳ２８−５に進む。
ステップＳ２８−８  スリープ復帰判断部３２ｃはデータ復帰要求フラグをセットし、ステップＳ２８−５に進む。
【０１２７】
次に、図２３のステップＳ３０の受信部３２ａによる受信処理について説明する。
【０１２８】
図２５は本発明の実施の形態におけるスリープモニタ部の受信部による受信処理のサブルーチンを示す図である。
【０１２９】
まず、受信部３２ａ、はパケットを受信したかどうかを判断し、パケットを受信した場合に、パケットがデータパケットであるか（制御パケットであるか）どうかを判断する。受信したパケットが制御パケットである場合、受信部３２ａは、制御パケット処理を行い、受信したパケットがデータパケットである場合、受信部３２ａは、受信バッファ３３ａに空きがあるかどうかを判断する。受信バッファ３３ａに空きがない場合、受信部３２ａはネットワークケーブル５１によるネットワークをビジー状態にし、受信バッファ３３ａに空きがある場合、受信部３２ａは、受信バッファ３３ａにデータを記録し、ネットワークケーブル５１によるネットワークのビジー状態を解除し、パケットの受信を続ける。
【０１３０】
次に、フローチャートについて説明する。
ステップＳ３０−１  受信部３２ａはパケットを受信したかどうかを判断する。パケットを受信した場合はステップＳ３０−２に進み、パケットを受信しなかった場合はリターンする。
ステップＳ３０−２  受信部３２ａはパケットがデータパケットであるかどうかを判断する。パケットがデータパケットである場合はステップＳ３０−３に、パケットがデータパケットでない場合はステップＳ３０−５に進む。
ステップＳ３０−３  受信部３２ａは受信バッファ３３ａに空きがあるかどうかを判断する。受信バッファ３３ａに空きがある場合はステップＳ３０−４に、受信バッファ３３ａに空きがない場合はステップＳ３０−６に進む。
ステップＳ３０−４  受信部３２ａはネットワークのビジー状態を解除し、パケットの受信を続け、リターンする。
ステップＳ３０−５  受信部３２ａは制御パケット処理を行い、リターンする。
ステップＳ３０−６  受信部３２ａはネットワークをビジー状態にし、リターンする。
【０１３１】
次に、図２３のステップＳ３２のスリープモニタ部のデータ解析部３２ｂによるデータ解析処理について説明する。
【０１３２】
図２６は本発明の実施の形態におけるスリープモニタ部のデータ解析部によるデータ解析処理のサブルーチンを示す図である。
【０１３３】
まず、データ解析部３２ｂは、受信バッファ３３ａにデータがあるかどうかを判断し、受信バッファ３３ａにデータがある場合、受信バッファ３３ａからデータを読み出し、読み出したデータが印刷データであるかどうかを判断し、読み出したデータが印刷データである場合、ネットワークケーブル５１によるネットワークをビジー状態にする。
【０１３４】
次に、フローチャートについて説明する。
ステップＳ３２−１  データ解析部３２ｂは受信バッファ３３ａにデータがあるかどうかを判断する。受信バッファ３３ａにデータがある場合はステップＳ３２−２に進み、受信バッファ３３ａにデータがない場合はリターンする。
ステップＳ３２−２  データ解析部３２ｂは受信バッファ３３ａからデータを読み出す。
ステップＳ３２−３  データ解析部３２ｂはデータが印刷データであるかどうかを判断する。データが印刷データである場合はステップＳ３２−４に進み、データが印刷データでない場合はリターンする。
ステップＳ３２−４  データ解析部３２ｂはネットワークをビジー状態にし、リターンする。
【０１３５】
次に、図２３のステップＳ３５のサブＣＰＵ３１によるスリープ復帰処理について説明する。
【０１３６】
図２７は本発明の実施の形態におけるサブＣＰＵによるスリープ復帰処理を示すサブルーチンを示す図である。
【０１３７】
まず、サブＣＰＵ３１（スリープ復帰処理手段）は、モードを通常モードに設定し、メイン基板２０の電力をオンにし、コントローラユニット部に電力を供給する。これにより、メインＣＰＵ２１が起動される。
【０１３８】
続いて、サブＣＰＵ３１は、メインＣＰＵ２１からＣＵ起動終了のコマンドが送られるのを待機し、ＣＵ起動終了のコマンドが送られると、メカコントロール基板４０の電力をオンにし、プリンタユニット部に電力を供給し、ＳＭスリープ解除のレスポンス（データ復帰要求フラグ、及び印刷要求フラグ）をメインＣＰＵ２１に送る。
【０１３９】
次に、サブＣＰＵ３１は、メインＣＰＵ２１から受信データ読出しのコマンドが送られるのを待機し、受信データ読出しのコマンドが送られると、受信バッファ３３ａに空きがあるかどうかを判断し、受信バッファ３３ａに空きがある場合、受信データなしのレスポンスをメインＣＰＵ２１に送り、受信バッファ３３ａに空きがない場合、メインＣＰＵ２１に受信データ転送のレスポンスを送り、受信バッファ３３ａから１０バイトのデータを読み出し、メインＣＰＵ２１に転送する。
【０１４０】
次に、フローチャートについて説明する。
ステップＳ３５−１  サブＣＰＵ３１はモードを通常モードに設定する。
ステップＳ３５−２  サブＣＰＵ３１はメイン基板２０の電力をオンにする。
ステップＳ３５−３  サブＣＰＵ３１はＣＵ起動終了のコマンドが送られるのを待機する。ＣＵ起動終了のコマンドが送られた場合はステップＳ３５−４に進む。
ステップＳ３５−４  サブＣＰＵ３１はメカコントロール基板４０の電力をオンにする。
ステップＳ３５−５  サブＣＰＵ３１はＳＭスリープ解除のレスポンスを送る。
ステップＳ３５−６  サブＣＰＵ３１は受信データ読出しのコマンドが送られるのを待機する。受信データ読出しのコマンドが送られた場合はステップＳ３５−７に進む。
ステップＳ３５−７  サブＣＰＵ３１は受信バッファ３３ａに空きがあるかどうかを判断する。受信バッファ３３ａに空きがある場合はステップＳ３５−９に、受信バッファ３３ａに空きがない場合はステップＳ３５−８に進む。
ステップＳ３５−８  サブＣＰＵ３１は受信バッファ３３ａから１０バイトのデータを読み出し、メインＣＰＵ２１に転送し、リターンする。
ステップＳ３５−９  サブＣＰＵ３１は受信データなしのレスポンスを送り、リターンする。
【０１４１】
次に、サブＣＰＵ３１によるプリンタユニット部の制御について説明する。
【０１４２】
図２８は本発明の実施の形態におけるプリンタユニット部の制御を行う際のサブＣＰＵの動作を示すフローチャートである。
【０１４３】
まず、サブＣＰＵ３１は、プリンタ１０が起動されるのを待機し、プリンタ１０が起動されると、第１の初期化処理を行い、スリープモードからの復帰による起動であるかどうかを判断し、スリープモードからの復帰による起動でない場合、第２の初期化処理を行い、スリープモードからの復帰による起動である場合、第３の初期化処理を行う。
【０１４４】
続いて、給紙制御部４１ｄは給紙制御処理を行い、用紙搬送制御部４１ｃは用紙搬送制御処理を行い、露光・トナー制御部４１ｂは露光・トナー制御処理を行い、転写・定着制御部４１ａは転写・定着制御処理を行う。そして、サブＣＰＵ３１（スリープ準備処理手段）はスリープ準備処理を行う。
【０１４５】
続いて、サブＣＰＵ３１は、モードが通常モードからスリープモードに移行させられたかどうかを判断し、モードが通常モードからスリープモードに移行させられた場合に処理を終了する。
【０１４６】
次に、フローチャートについて説明する。
ステップＳ４１  サブＣＰＵ３１はプリンタ１０が起動されるのを待機する。プリンタ１０が起動された場合はステップＳ４２に進む。
ステップＳ４２  サブＣＰＵ３１は第１の初期化処理を行う。
ステップＳ４３  サブＣＰＵ３１はスリープモードからの復帰による起動であるかどうかを判断する。スリープモードからの復帰による起動でない場合はステップＳ４４に、スリープモードからの復帰による起動である場合はステップＳ４５に進む。
ステップＳ４４  サブＣＰＵ３１は第２の初期化処理を行う。
ステップＳ４５  サブＣＰＵ３１は第３の初期化処理を行う。
ステップＳ４６  給紙制御部４１ｄは給紙制御処理を行う。
ステップＳ４７  用紙搬送制御部４１ｃは用紙搬送制御処理を行う。
ステップＳ４８  露光・トナー制御部４１ｂは露光・トナー制御処理を行う。
ステップＳ４９  転写・定着制御部４１ａは転写・定着制御処理を行う。
ステップＳ５０  サブＣＰＵ３１はスリープ準備処理を行う。
ステップＳ５１  サブＣＰＵ３１はモードが通常モードからスリープモードに移行させられたかどうかを判断する。モードが通常モードからスリープモードに移行させられなかった場合はステップＳ４６に戻り、モードが通常モードからスリープモードに移行させられた場合は処理を終了する。
【０１４７】
次に、図２８のステップＳ５０のサブＣＰＵ３１によるスリープ準備処理について説明する。
【０１４８】
図２９は本発明の実施の形態におけるサブＣＰＵ３１によるスリープ準備処理のサブルーチンを示す図である。
【０１４９】
まず、サブＣＰＵ３１（スリープ準備処理手段）は、メインＣＰＵ２１からＰＵスリープ指示のコマンドを受けたかどうかを判断し、ＰＵスリープ指示のコマンドを受けた場合に、完全停止処理を行い、プリンタユニット部の動作をすべて停止させ、ＰＵスリープ準備完了のレスポンスをメインＣＰＵ２１に送る。
【０１５０】
次に、フローチャートについて説明する。
ステップＳ５０−１  サブＣＰＵ３１はＰＵスリープ指示のコマンドを受けたかどうかを判断する。ＰＵスリープ指示のコマンドを受けた場合はステップＳ５０−２に進み、ＰＵスリープ指示のコマンドを受けなかった場合はリターンする。
ステップＳ５０−２  サブＣＰＵ３１は完全停止処理を行う。
ステップＳ５０−３  サブＣＰＵ３１はＰＵスリープ準備完了のレスポンスを送り、リターンする。
【０１５１】
このように、本実施の形態においては、スリープ移行判断部２２ｅによって、エラー処理部２２ｄから送られるエラー情報、及び現在時刻ｔｐの時間帯に基づいて、スリープ移行条件が成立したかどうかが判断され、現在時刻ｔｐが、エラーを解除することができない不在時間帯である場合に、モードが通常モードからスリープモードに移行させられる。
【０１５２】
したがって、操作者がエラーを解除することができない場合に電力が無駄に消費されることがないので、印刷スループットを良くすることができ、電力の消費を確実に抑制することができる。
【０１５３】
また、スリープモードへの移行が行われた後、時間が経過して、現在時刻ｔｐが不在時間帯外になると、モードがスリープモードから通常モードに復帰させられるので、エラーを解除しやすくすることができる。
【０１５４】
本実施の形態においては、電子写真式のプリンタについて説明しているが、本発明を、ドットインパクト方式のプリンタ、インクジェット方式のプリンタ等に適用したり、複写機、ファクシミリ、複合機等の画像形成装置に適用したりすることができる。
【０１５５】
なお、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
【符号の説明】
【０１５６】
１０    プリンタ
２１    メインＣＰＵ
２２ｄ    エラー処理部
２２ｅ    スリープ移行判断部
３１    サブＣＰＵ
３２ｃ    スリープ復帰判断部
【図１】
2016043620.tif 000003
【図２】
2016043620.tif 000004
【図３】
2016043620.tif 000005
【図４】
2016043620.tif 000006
【図５】
2016043620.tif 000007
【図６】
2016043620.tif 000008
【図７】
2016043620.tif 000009
【図８】
2016043620.tif 000010
【図９】
2016043620.tif 000011
【図１０】
2016043620.tif 000012
【図１１】
2016043620.tif 000013
【図１２】
2016043620.tif 000014
【図１３】
2016043620.tif 000015
【図１４】
2016043620.tif 000016
【図１５】
2016043620.tif 000017
【図１６】
2016043620.tif 000018
【図１７】
2016043620.tif 000019
【図１８】
2016043620.tif 000020
【図１９】
2016043620.tif 000021
【図２０】
2016043620.tif 000022
【図２１】
2016043620.tif 000023
【図２２】
2016043620.tif 000024
【図２３】
2016043620.tif 000025
【図２４】
2016043620.tif 000026
【図２５】
2016043620.tif 000027
【図２６】
2016043620.tif 000028
【図２７】
2016043620.tif 000029
【図２８】
2016043620.tif 000030
【図２９】
2016043620.tif 000031