以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、情報処理装置としてのパーソナルコンピュータ10(以下、PC10)と、本発明の画像形成装置の一実施形態である多機能周辺装置30(以下、MFP30)との電気的構成を示すブロック図である。
MFP30は、コピー機能、スキャン機能、プリンタ機能、等の各種機能を有し、特に、PC10で作成されて送信される複数の印刷データに基づく印刷処理を連続して実行する場合に、当該複数の印刷データに基づく印刷処理を短時間にできる装置である。
PC10は、CPU11と、ROM12と、RAM13と、HDD14と、入力装置15と、表示装置であるLCD16と、LAN I/F17とを有し、これらは、バス18により相互に接続されている。
CPU11は、演算装置であり、ROM12、RAM13、HDD14に記憶されるプログラムを実行するものである。ROM12は、読み出し専用メモリである。RAM13は、書換可能なメモリであり、特に、送信待機フラグ13aと、送信待ちリスト13bとが記憶されている。送信待機フラグ13aは、MFP30がエラー発生中かを示すフラグであり、MFP30からエラー発生が通知された場合に「オン」、エラー解消が通知された場合に「オフ」に設定される。送信待ちリスト13bには、ユーザから指示された印刷ジョブが記憶されており、指示された順番で印刷ジョブに従った印刷データが作成され、MFP30に送信される。
HDD14は、書換可能なメモリであり、オペレーティングシステム(OS)、各種アプリケーションの他、プリンタドライバとしてのデバイス制御プログラム14aが記憶されている。デバイス制御プログラム14aは、アプリケーションから受け取った画像データから、MFP30において印刷が行える印刷データを生成するものであり、特に、図3に示す印刷指示処理をCPU11に実行させる。
入力装置15は、キーボードとマウスとを備え、キーボードは、文字や記号を入力し、マウスは、LCD16に表示されるカーソルの移動を指示したり、LCD16に表示されるアイコン、ボタンをクリックするなどの操作を行うものである。CPU11は、入力装置15を介してユーザからの指示を受付けることができる。
LAN I/F17は、LAN50を介してMFP30と接続するためのインターフェイスである。PC10からMFP30に送信する各種コマンド、印刷データは、LAN I/F17、LAN50を介して送信される。
MFP30には、CPU31、フラッシュメモリ32、RAM33、操作キー34、LCD35、プリンタ36、スキャナ37、LAN I/F38が主に設けられており、これらは、バス39により相互に接続されている。
CPU31は、フラッシュメモリ32に記憶される固定値やプログラム、RAM33に記憶されているデータなどに従って、MFP30が有している各機能の制御や、各部を制御する。フラッシュメモリ32は、書換可能な不揮発性のメモリであり、特に、図5に示す印刷処理は、フラッシュメモリ32に記憶されている制御プログラム32aに従い、CPU31によって実行される。
RAM33は、書き替え可能な揮発性のメモリであり、MFP30の各操作の実行時に各種のデータを一時的に記憶するためのメモリである。RAM33には、特に、待機時間メモリ33a、経過時間メモリ33b、フラッシングカウンタ33c、印刷実行画面表示中フラグ33dが記憶されている。
待機時間メモリ33aには、1ページまたは1の印刷ジョブが終了してから、プリンタ36に含まれるキャップ36bによって記録ヘッド36aのインク吐出面を覆うキャッピング動作の実行開始までの時間が記憶されている。経過時間メモリ33bには、1ページまたは1の印刷ジョブが終了してからの経過時間、或いは、インクの吐出性能を回復する1回のフラッシング動作が終了してからの経過時間が記憶されている。フラッシングカウンタ33cは、フラッシング動作を実行した回数が記憶されている。印刷実行画面表示中フラグ33dは、図2(a)に示す印刷実行画面が表示中か否かを示すフラグであり、PC10から印刷実行画面を表示したことが通知された場合に「オン」、表示されていた印刷実行画面が閉じられたことが通知された場合に「オフ」に設定される。
操作キー34は、例えば、押しボタン式のキーであり、CPU31は、操作キー34を介してユーザからの指示を受付けることができる。LCD35は、各種機能の操作手順、ユーザへのコメント等を表示する。プリンタ20は、コピー機能、ファクシミリ機能、プリンタ機能の実行時に、所謂インクジェット方式によって記録用紙に画像を印刷する印刷動作を行う。プリンタ20には、記録ヘッド36aと、キャップ36bとが搭載されている。印刷を行っていない状態では、記録ヘッド36aのインク吐出面がキャップ36bに覆われ、インクが乾燥してインクの吐出不良が発生するのを防止している。
スキャナ37は、フラットベッドタイプのイメージスキャナであり、コピー機能、ファクシミリ機能、スキャナ機能の実行時に、原稿台に置かれた原稿に対し、撮像素子を移動させて原稿を読み取る読取動作を行う。LAN I/F38は、LAN50を介してPC10と接続するためのインターフェイスである。PC10から送信される各種コマンド、印刷データは、LAN50、LAN I/F38を介して受信される。
図2(a)は、印刷実行画面40を示す図であり、アプリケーションから印刷実行コマンドを受け取った場合に、最初にLCD35に表示する画面であり、特に、印刷実行の開始を指示できる画面である。
印刷実行画面40には、主に、プリンタ欄、印刷範囲欄、OKボタン42、キャンセルボタン43が含まれる。プリンタ欄には、プリンタ名欄と、印刷設定ボタン41とが含まれ、プリンタ名欄において、PC10と接続されているデバイス(MFP10を含む)のうち、今回の印刷で使用するデバイスを指定する。印刷設定ボタン41は、図2(b)に示す印刷設定画面50の表示を指示する。なお、印刷設定ボタン41により印刷設定画面50の表示が指示された場合、印刷実行画面40が表示された状態で、新たに印刷設定画面50がLCD35に表示される。
印刷範囲欄は、印刷範囲や、部数の指定を行う欄であり、本来、印刷設定に含まれる項目であるが、頻繁に変更される可能性が高い項目であるため、印刷実行画面40から指定できるように構成されている。
OKボタン42は、印刷開始を指示するボタンであり、OKボタン42が選択されると、印刷設定が決定され、その決定された印刷設定と関連付けて新たな印刷ジョブを送信待ちリスト13bに登録する。キャンセルボタン43は、印刷のキャンセルを指示するボタンであり、キャンセルボタン43が選択されると、表示されている印刷実行画面40が閉じられる。印刷実行画面40を最初に表示する場合には、HDD14に記憶されている印刷条件に関する所定のディフォルト値をRAM13に書き込み、その内容で印刷実行画面40を表示する。印刷実行画面40から設定に変更があった場合には、その都度、RAM13の内容が書き換えられる。OKボタン42が選択された場合には、その時点でRAM13に記憶されている印刷設定と対応つけて、新たな印刷ジョブを送信待ちリスト13bに登録する。
図2(b)は、印刷設定画面50を示す図であり、図2(a)に示す印刷実行画面40の印刷設定ボタン41が選択された場合に表示する画面であり、図2(a)に示すプリンタ名欄で指定されたデバイスにおいて設定可能な項目についての印刷設定を行う画面である。なお、印刷設定画面50は、印刷実行画面40よりも多数の項目について印刷設定を行うことができる画面である。
印刷設定画面50には、印刷設定項目として、上方から、用紙種類(普通紙、光沢紙、厚紙)、印刷品質(普通、高、低)、用紙サイズ(A4、A3、B5)、印刷の向き(縦、横)、部数(1〜99)、レイアウト(1in1、2in1、4in1)、給紙方法(自動選択、トレイ1、手差し)が設けられ、各項目について好みの印刷設定を選択することができる。
また、印刷設定画面50の下方には、OKボタン51、キャンセルボタン52が設けられている。印刷設定画面50を最初に表示する場合には、その印刷設定画面50に対応するデバイスにおける印刷条件に関する所定のディフォルト値を、HDD14から読み出してRAM13に書き込む。そして、印刷設定画面50の各印刷設定項目は、RAM13に書き込まれている印刷条件に関する所定のディフォルト値で表示する。印刷設定に変更があった場合には、その都度、RAM13の内容が書き換えられる。OKボタン51が選択された場合には、その時点で記憶されている内容が今回の印刷設定となり、キャンセルボタン52が選択された場合には、ディフォルト値に変更され、ディフォルト値の内容が今回の印刷設定となる。
図3は印刷指示処理を示すフローチャートである。この処理は、PC10のCPU11によって定期的に実行される処理であり、PC10からMFP30に、PC画面状態コマンド(印刷実行画面40を表示したこと、印刷実行画面40を閉じたこと、印刷設定画面50を表示したこと、など)、PC印刷制御中コマンド(印刷実行画面40のOKボタン42が選択されたこと)、又は、生成した印刷データを送信する処理である。
CPU11は、MFP30からエラー発生が通知されたかを判断し(S1)、通知された場合には(S1:Yes)、送信待機フラグ13aをオンに設定し(S2)、S6の処理に移行する。一方、エラー発生が通知されない場合には(S1:No)、MFP30からエラー解消が通知されたかを判断し(S3)、エラー解消が通知された場合には(S3:Yes)、送信待機フラグ13aをオフに設定し(S4)、PC画面状態コマンドをMFP30へ送信した後(S5)、S6の処理に移行する。
S5の処理において、MFP30に送信するPC画面状態コマンドは、現在、印刷実行画面40を表示中、印刷設定画面50を表示中、または、印刷実行画面40及び印刷設定画面50を表示していないことを示すコマンドである。これをPC10に通知することで、エラーが解消されたMFP30に、PC10の現在の画面状態を通知することができる。
CPU11は、S6の処理のおいて、図4に示す画面表示制御処理を実行し、PC画面状態コマンド又は、PC印刷制御中コマンドをMFP30に通知する。これにより、PC10の画面状態や、印刷実行指示があったかを、MFP30に通知できる。そして、CPU11は、送信待機フラグ13aがオンかを判断し(S7)、オフであれば(S7:No)、印刷データの生成中、又は、送信中かを判断する(S8)。そして、生成中、又は、送信中でなければ(S8:No)、CPU11は、送信待ちリストに、送信待ちの印刷ジョブがあるかを判断する(S9)。送信待ちの印刷ジョブがあれば(S9:Yes)、CPU11は、最も古い印刷ジョブについて印刷データを生成する(S10)。そして、CPU11は、生成した印刷データをMFP30へ送信し(S11)、送信した印刷データに対応する印刷ジョブを、送信待ちリストから削除し(S12)、S1からの処理を繰り返す。
尚、CPU11は、S7の処理において、送信待機フラグ13aがオンである場合(S7;Yes)、S8の処理において、印刷データの生成中、又は、送信中である場合(S8:Yes)、S9の処理において、送信待ちの印刷ジョブがない場合には(S9:No)、S10〜S12の処理はスキップし、S1からの処理を繰り返す。このように、図3に示す印刷指示処理によれば、送信待ちリストに記憶されている印刷ジョブから、古い順に、印刷データを生成し、生成した印刷データをMFP30に送信できる。
図4は、画面表示制御処理を示すフローチャートである。CPU11は、印刷実行画面40の表示中かを判断し(S21)、表示中でなければ(S21:No)、印刷実行画面40の表示開始が指示されたかを判断する(S22)。即ち、アプリケーションから印刷実行コマンドを受け取ったかを判断する。
そして、指示された場合には(S22:Yes)、印刷実行画面40を表示する(S23)。印刷実行画面40を表示する場合には、HDD14に記憶されている印刷条件に関する所定のディフォルト値をRAM13に書き込み、その内容で印刷実行画面40を表示する。その後、CPU10は、送信待機フラグ13aがオンかを判断し(S24)、オフである場合には(S24:No)、印刷実行画面40を表示したことを示すPC画面状態コマンドをMFP30に送信し(S25)、本処理を終了する。これにより、印刷実行画面40を表示したことをMFP30に通知できる。尚、S22の処理において、印刷実行画面40の表示開始が指示されていない場合(S22:No)、又は、S24の処理において、送信待機フラグ13aがオンである場合には(S24:Yes)、本処理を終了する。
一方、CPU11は、S21の処理において、印刷実行画面40を表示中であると判断した場合には(S21:Yes)、印刷設定画面50を表示中かを判断する(S26)。そして、CPU11は、印刷設定画面50を表示中であれば(S26:Yes)、その印刷設定画面50において、OKボタン51、または、キャンセルボタン52が選択されたかを判断する(S27)。その結果、選択された場合には(S27:Yes)、印刷設定画面50を閉じて(S28)、本処理を終了し、選択されていない場合には(S27:No)、S28の処理をスキップして本処理を終了する。尚、S27でOKボタン51が選択された場合には(S27:Yes)、その時点でRAM13に設定されている印刷設定が、今回の印刷設定となり、キャンセルボタン52が選択された場合には、RAM13に設定されている印刷設定が、ディフォルト値に書き換えられる。
また、CPU11は、S26の処理において、印刷設定画面50を表示中でないと判断した場合(S26:No)、印刷実行画面40において、各種ボタンが選択されたかを判断し(S29)、選択されていなければ(S29:No)、本処理を終了し、選択された場合には(S29:Yes)、選択されたボタンの種類を判断する(S30)。
その結果、OKボタン42が選択されたと判断した場合には(S30:OKボタン)、今回の印刷ジョブを送信待ちリスト13bに登録し(S31)、印刷実行画面40を閉じる(S32)。尚、今回の印刷ジョブは、その時点でRAM13に記憶されている印刷設定と対応付けて、送信待ちリスト13bに記憶する。
そして、CPU11は、送信待機フラグ13aがオンかを判断し(S33)、オフであれば(S33:No)、印刷実行開始が指示されたとことを示すPC印刷制御中コマンドを、MFP30に送信し(S34)、本処理を終了し、オンであれば(S33:Yes)、S34の処理はスキップして、本処理を終了する。これにより、今回の印刷の印刷データを送信する前に、印刷実行開始が指示されたとことをMFP30に通知できる。
一方、CPU11は、S30の判断の結果、キャンセルボタン43が選択されたと判断した場合には(S30:キャンセルボタン)、印刷実行画面40を閉じる(S35)。そして、送信待機フラグ13aがオンかを判断し(S36)、オフであれば(S36:No)、表示していた印刷実行画面40を閉じたことを示すPC印刷制御中コマンドを、MFP30に送信し(S37)、本処理を終了し、オンであれば(S36:Yes)、S36の処理はスキップして、本処理を終了する。これにより、表示していた印刷実行画面40を閉じたことをMFP30に通知できる。
一方、CPU11は、S30の判断の結果、印刷設定ボタン41が選択されたと判断した場合には(S30:印刷設定ボタン)、印刷設定画面50を表示する(S38)。そして、送信待機フラグ13aがオンかを判断し(S39)、オフであれば(S39:No)、印刷設定画面50を表示したことを示すPC印刷制御中コマンドを、MFP30に送信し(S40)、本処理を終了し、オンであれば(S39:Yes)、S40の処理はスキップして、本処理を終了する。これにより、印刷設定画面50を表示したことをMFP30に通知できる。
このように、画面表示制御処理では、印刷実行画面40を表示したこと、表示した印刷実行画面40を閉じたこと、印刷設定画面50を表示したことを示すPC画面状態コマンドや、印刷実行画面40において印刷開始指示がされたこと(OKボタン42が選択されたこと)を示すPC印刷制御中コマンドをMFP30に通知することができる。
図5は、印刷処理を示すフローチャートである。この処理は、MFP30のCPU31によって、定期的に実行される処理であり、PC10から送信される印刷データに基づいて記録用紙に印刷を行う処理である。
CPU31は、PC10から印刷データを受信したかを判断し(S51)、受信していなければ(S51:No)、図6に示すコマンド受信処理を実行し(S52)、S57の処理に移行する。S52のコマンド受信処理では、PC10から送信されるPC画面状態コマンドや、PC印刷制御中コマンドを受信し、受信した各コマンドに応じて、1の印刷ジョブが終了してからキャッピング動作を開始するまでの待機時間を設定する。
一方、CPU31は、S51の処理において、印刷データを受信したと判断した場合には(S51:Yes)、経過時間をクリアし、計時を終了する(S53)。尚、経過時間の計時開始については、後述する。そして、CPU31は、記録ヘッド36aがキャップ36bによってキャッピングされているかを判断する(S54)。キャッピングされている場合には(S54:Yes)、キャッピングを解除した後(S55)、キャッピングされていない場合には(S54:No)、S55の処理はスキップして、受信した印刷データに基づいて印刷の実行を開始する(S56)。
そして、CPU31は、印刷が終了したかを判断し(S57)、終了した場合(S57:Yes)、かかる印刷終了からの経過時間の計時を開始し(S58)、フラッシングカウンタ33cを「0」に設定する(S59)。そして、CPU31は、図6に示すキャッピング制御処理により、キャッピングをするか否かを制御した後(S63)、S51からの処理を繰り返す。なお、第1実施形態では、CPU31に接続されたシステムクロック(不図示)に基づいて、時間の計測が行われる。
一方、CPU31は、S57の処理において、印刷が終了していないと判断した場合には(S57:No)、MFP30において、発生したエラーが解消したかを判断し(S60)、エラー解消していれば(S60:Yes)、エラー解消をPC10に通知し(S61)、S63の処理に移行する。また、S60の処理において、エラー解消されていない場合に(S60:No)、CPU31は、MFP30において、エラーが発生したかを判断し(S62)、エラーが発生していなければ(S62:No)、S63の処理に移行する。
CPU31は、S62の処理において、エラーが発生していると判断した場合には(S62:Yes)、エラー発生をPC10に通知し(S64)、記録ヘッド36aをキャップ36bによってキャッピングする(S65)。そして、CPU31は、経過時間のカウントをクリアにして、計時を終了し(S66)、S51からの処理を繰り返す。
このように、エラーが発生した場合には(S62:Yes)、待機時間、経過時間とは無関係にS65の処理においてキャッピングするので、印刷ができないにも拘わらず、キャップされていない状態になることで、インクが乾燥し、インクの吐出性能が低下するのを防止できる。
図6は、コマンド受信処理を示すフローチャートである。CPU31は、PC画面状態コマンドを受信したかを判断し(S71)、受信した場合には(S71:Yes)、S72,S75,S78の処理で受信したPC画面状態コマンドの種類を判断する。
即ち、まず、CPU31は、表示されていた印刷実行画面が閉じられたかを判断し(S72)、閉じられた場合には(S72:Yes)、印刷実行画面表示中フラグ33dをオフに設定する(S73)。そして、CPU31は、待機時間を5秒に設定し(S74)、本処理を終了する。
次に、CPU31は、表示されていた印刷実行画面が閉じられていない場合には(S72:No)、印刷実行画面が表示されたかを判断し(S75)、表示された場合には(S75:Yes)、印刷実行画面表示中フラグ33dをオンに設定する(S76)。そして、CPU31は、待機時間を15秒に設定し(S74)、本処理を終了する。
次に、CPU31は、印刷実行画面が表示されていない場合には(S75:No)、印刷設定画面が表示されたかを判断し(S78)、表示された場合には(S78:Yes)、待機時間を20秒に設定し(S79)、本処理を終了する。尚、印刷設定画面が表示されていない場合には(S78:No)、本処理を終了する。
一方、S71の処理において、PC画面状態コマンドを受信していないと判断した場合には(S71:No)、PC印刷制御中コマンドを受信したかを判断し(S80)、受信した場合には(S80:Yes)、待機時間を30秒に設定し(S81)、本処理を終了し、受信していない場合には(S80:No)、本処理を終了する。
このように、コマンド受信処理では、印刷実行画面40が表示された場合は待機時間を15秒、印刷設定画面50が表示された場合は待機時間を20秒、印刷実行画面40においてOKボタン42が選択され、印刷実行指示があった場合は待機時間を30秒に設定する。
かかる3つの場合のうち、印刷実行指示があった場合が、最も、次の印刷が実行される可能性が高い。また、印刷実行画面40はアプリケーションから印刷要求コマンドを受信した場合に強制的に表示する画面であるのに対し、印刷設定画面50は、印刷設定ができる画面であり、印刷実行画面40の印刷設定ボタン41が選択された場合に表示する画面である。よって、印刷設定画面50が表示された場合の方が、印刷実行画面40が表示された場合よりも、次の印刷が実行される可能性が高い。
また、印刷実行画面40では複数のプリンタから印刷させる1のプリンタを選択させることが可能であるため、印刷実行画面40を表示した段階では、次の印刷を今回の印刷とは別のプリンタで行う可能性がある。一方、印刷設定画面50は、一般に、ユーザが印刷処理の実行を所望するプリンタについて、印刷条件を設定する際に表示する。よって、印刷設定画面50が表示された場合の方が、印刷実行画面40が表示された場合よりも、次の印刷が実行される可能性が高い。
そのため、印刷実行画面40が表示された場合、印刷設定画面50が表示された場合、印刷実行指示があった場合の順で待機時間が長くなるように設定することで、今回の印刷が終了してから次の印刷を開始するまでに、キャッピングがされてしまうという事態が発生するのを抑制できる。よって、今回の印刷と、次の印刷との印刷時間を短時間できる。換言すれば、次の印刷がされる可能性が低い場合には、より早くキャッピング動作がされるので、インクが乾燥してインクの吐出不良が発生するのを抑制できる。
図7は、キャッピング制御処理を示すフローチャートである。この処理は、記録ヘッド36aをキャップ36bにより覆うキャッピング動作を行うかを制御する処理である。CPU31は、経過時間が待機時間を超えたかを判断し(S91)、超えていなければ(S91:No)、本処理を終了する。
一方、超えていれば(S91:Yes)、CPU31は、印刷実行画面表示中フラグがオンかを判断し(S92)、オンであれば(S92:Yes)、更に、フラッシングカウンタの数が「3」以下かを判断する(S93)。その結果、「3」以下であれば(S93:Yes)、CPU31は、フラッシング動作を実行し(S94)、経過時間をクリアにした後、フラッシング動作の終了からの経過時間の計時を開始する(S95)。そして、CPU31は、フラッシングカウンタ33cに「1」を加算し(S96)、本処理を終了する。
このように、経過時間が待機時間を超えている場合には(S91:Yes)、本来、キャッピング動作を開始するのであるが、印刷実行画面表示中フラグ33dがオンであること(S92:Yes)、且つ、フラッシングカウンタ33cの数が「3」以下であることを条件に(S93:Yes)、キャッピング動作は行わない。印刷実行画面表示中フラグ33dがオンであるということは、PC10において、印刷実行画面40が表示されている状態であり、次の印刷の実行指示がされる可能性があるからである。よって、次の印刷の実行指示があっても、キャッピングされていない状態にできるので、今回の印刷と、次の印刷とに要する時間を短くすることができる。
また、キャッピング動作を行わないとすると、インクが乾燥し、インクの吐出性能が低下する恐れがある。そこで、S94の処理においてフラッシング動作を行い、インクの吐出性能が低下するのを防止している。しかし、1回目のフラッシング動作からの経過時間が再び待機時間を超え、このサイクルを4回繰り返してもなお、その間、PC10において、印刷実行画面40が表示されている可能性がある。かかる場合に、別の印刷実行指示がされる可能性があるとして、キャッピング動作を行わず、フラッシング動作を続けていると、インクを無駄に消費する。そのため、キャッピング動作を行わないのは、フラッシングカウンタ33cの数が「3」以下であることを条件にしている(S93:Yes)。換言すれば、S94の処理において、フラッシング動作を行うのは4回までとしている。
即ち、S92の処理において、印刷実行中フラグがオフであると判断された場合(S92:No)、又は、フラッシングカウンタの値が「3」を超えたと判断された場合(S93:No)、次の印刷の実行指示がされる可能性は少ないとして、CPU31は、記録ヘッド36aをキャップ36bによってキャッピングする(S97)。これにより、インクが乾燥することにより、インクの吐出性能が低下するのを防止できる。そして、CPU31は、経過時間をクリアし、経過時間の計時を終了し(S98)、待機時間を5秒に設定した後(S99)、本処理を終了する。
次に、図8,図9を参照して、第2実施形態について説明する。上述した第1実施形態では、待機時間、経過時間の管理をMFP30において実行する場合について説明したが、第2実施形態では、かかる待機時間、経過時間の管理をPC10で行い、MFP30はPC10からの指示に基づき、キャッピング動作するものである。よって、第2実施形態では、PC10のCPU11に接続されたシステムクロック(不図示)に基づいて、PC10で時間の計測が行われる。
尚、第1実施形態で説明したMFP30のRAM33に記憶されている待機時間メモリ33a、経過時間メモリ33b、フラッシングカウンタ33c、印刷実行画面表示中フラグ33dは、PC10のRAM13に記憶されているものとする。
図8は、第2実施形態の印刷指示処理を示すフローチャートである。この処理は、PC10のCPU11によって定期的に実行される処理であり、PC10からMFP30に、印刷に関する指示を送信する処理である。尚、第1実施形態で説明した処理と、共通する処理には、共通のステップ番号を付してある。CPU11は、まず、図9に示す通知検出処理を実行する(S101)。
図9は、通知検出処理を示すフローチャートである。この処理は、MFP30から送信されるエラー発生通知、エラー解消通知、印刷開始通知、印刷終了通知に応じて、送信待機フラグ13aの設定や、経過時間の終了/開始を行う。
CPU11は、MFP30からエラー発生が通知されたかを判断し(S1)、通知された場合には(S1:Yes)、送信待機フラグ13aをオンに設定し(S2)、記録ヘッド36aのキャッピングをMFP30に指示する(S111)。これにより、エラーが発生し、印刷できないにも拘わらず、キャッピングされていないため、インクが乾燥し、インクの吐出性能が低下するのを防止できる。そして、経過時間をクリアし、計時を終了して(S112)、本処理を終了する。
CPU11は、MFP30からエラー発生が通知されていない場合には(S1:No)、MFP30からエラー解消が通知されたかを判断し(S3)、通知された場合には(S3:Yes)、送信待機フラグ13aをオフに設定し(S4)、本処理を終了する。
CPU11は、MFP30からエラー解消が通知されていない場合には(S3:No)、MFP30から印刷開始が通知されたかを判断し(S113)、印刷開始が通知された場合には(S113:Yes)、経過時間をクリアして、計時を終了し(S114)、本処理を終了する。
CPU11は、MFP30から印刷開始が通知されていない場合には(S113:No)、MFP30から印刷終了が通知されたかを判断し(S115)、通知された場合には(S115:Yes)、印刷終了からの経過時間を計時開始し(S116)、フラッシングカウンタ33dを「0」に設定し(S117)、本処理を終了する。
再び、図8に戻って説明を続ける。CPU11は、通知検出処理を実行した後(S101)、画面表示制御処理を行う(S6)。この処理は、印刷実行画面40が表示されたこと、印刷実行画面40に含まれるOKボタン42が選択されたこと、表示されている印刷実行画面40が閉じられたこと、印刷設定画面50が表示されたこと、などに応じて、待機時間を設定する処理である。即ち、第1実施形態の図4に示す画面表示制御処理と共通するステップが多いので、図4を参照して説明する。第1実施形態と異なる点は、次の2点であり、その他のステップは、第1実施形態の図4に示す画面表示制御処理と同一である。
第1に、第2実施形態では、図4に示すS24,S33,S36,S39がない点である。第2実施形態は、PC印刷制御中コマンドや、PC画面状態コマンドをMFP30に送信しないので、送信待機フラグ13aがオンかを確認する必要がないからである。
第2に、図4に示すS34を「待機時間を30秒に設定」、S37を「待機時間を5秒に設定」、S40を「待機時間を20秒に設定」、S25を「待機時間を15秒に設定」とする。第1実施形態では、待機時間をMFP30で設定しているのに対し、第2実施形態は、待機時間をPC10で設定するからである。
再び、図8に戻り、説明を続ける。CPU11は、画面表示制御処理を実行すると(S6)、送信待機フラグ13aがオンかを判断し(S7)、オフであれば(S7:No)、印刷データの生成中、又は、送信中かを判断し(S8)、生成中、又は、送信中でなければ(S8:No)、送信待ちリストに、送信待ちの印刷ジョブがあるかを判断する(S9)。送信待ちの印刷ジョブがあれば(S9:Yes)、最も古い印刷ジョブについて印刷データを生成する(S10)。
そして、CPU11は、記録ヘッド36aがキャッピングされているかを判断する(S102)。キャッピングされている場合には(S102:Yes)、キャッピング解除をMFP30に指示した後(S103)、S10で生成した印刷データをMFP30へ送信し(S11)、送信した印刷データに対応する印刷ジョブを、送信待ちリストから削除して(S12)、S63の処理に移行する。一方、キャッピングされていない場合には(S102:No)、CPU11は、S103の処理はスキップして、S11の処理に移行する。
尚、S7の処理において、送信待機フラグ13aがオンである場合(S7:Yes)、S8の処理において、印刷データの生成中、又は、送信中である場合(S8:Yes)、S9の処理において、送信待ちリストに、送信待ちの印刷ジョブがない場合(S9:No)は、S63の処理に移行する。
キャッピング制御処理は(S63)、キャッピングをするか否かを制御する処理である。即ち、第1実施形態の図7に示すキャッピング制御処理と共通するステップが多いので、図7を参照して説明する。第1実施形態と異なる点は、次の2点であり、その他のステップは第1実施形態の図7に示すキャッピング制御処理と同一である。
第1に、第2実施形態は、S92の処理において、印刷実行画面表示中フラグ33dがオンでないと判断された場合(S92:No)、「印刷ジョブが送信待ちリスト13bに残っているかを判断する」点で異なる。印刷ジョブが残っている場合には、S97の処理において、キャッピング動作を実行する必要がないからである。よって、印刷ジョブが残っている場合には、S93の処理に移行する。
第2に、印刷ジョブが送信待ちリスト13bに残っていないと判断された場合には、更に、「印刷データの生成中、または、送信中かを判断する」点で異なる。印刷データの生成中、または、送信中であれば、もはや、S97の処理において、キャッピング動作を実行する必要がないからである。よって、印刷データの生成中、または、送信中であれば、S93の処理に移行する。尚、印刷ジョブが送信待ちリスト13bに残っておらず、且つ、印刷データの生成中、または、送信中でもない場合には、S97の処理に移行する。
このように、PC10は、「印刷ジョブが送信待ちリスト13bに残っているか」、「印刷データの生成中、または、送信中か」を判断できるので、より正確に、無駄にキャッピングがされるのを防止できる。
こうして、キャッピング制御処理を終了すると(S63)、S101からの処理を繰り返す。上述した第2実施形態であっても、MFP30を、第1実施形態の場合と同様に作用させることができる。よって、第2実施形態でも第1実施形態の場合と同様の効果を奏することができる。
上述した実施形態において、PC10が情報処理装置の一例、MFP30が画像形成装置の一例、LANI/F38と、図5のS51とが請求項1の受信手段の一例、プリンタ36が請求項1の印刷手段の一例、記録ヘッド36aが請求項1の記録ヘッドの一例、キャップ36bが請求項1のキャップの一例、図7のS97が請求項1のキャッピング手段、キャッピング制御手段の一例、待機時間メモリ33aが請求項1の記憶手段の一例、図6のS75,S78,S80が請求項1の第1受信判断手段の一例、図6のS77,S79,S81が請求項1の記憶制御手段の一例、図2(a)の印刷実行画面40が請求項2の印刷実行画面の一例、図2(b)の印刷設定画面50が請求項3の設定条件画面の一例、図6のS72,図7のS92が、請求項5の第2受信判断手段の一例、図7のS95が請求項5の延長手段の一例、図7のS94が請求項6の回復手段の一例、図5のS62が請求項8のエラー判断手段の一例、デバイス制御プログラム14aが請求項9の画像形成プログラムの一例に相当する。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
例えば、MFP30が、PC10から受信したPC画面状態コマンドに基づいて、印刷実行画面40がPC10で表示されたと判断した場合(図6に示すS75:Yes)にS77で設定する待機時間と、印刷設定画面50がPC上で表示されたと判断した場合(S78:Yes)にS79で設定する待機時間とを、同一の値としてもよい。ただし、係る場合に設定される待機時間は、印刷実行画面40がPC上で閉じられたと判断された場合に設定される待機時間より大きく、MFP30がPC印刷制御中コマンドを受信した場合に設定される待機時間より小さい値にするのがよい。
また、例えば、MFP30が、PC10から受信したPC画面状態コマンドに基づいて、印刷実行画面40がPC10で表示されたと判断した場合に設定する待機時間、印刷設定画面50がPC上で表示されたと判断した場合に設定する待機時間、及び、MFP30がPC印刷制御中コマンドを受信した場合に設定される待機時間を同一の値としてもよい。ただし、係る場合に設定される待機時間は、印刷実行画面がPC上で閉じられたと判断された場合に設定される待機時間より大きい値にするのがよい。
また、上述した第1実施形態では、図3に示すS5において、印刷実行画面40及び印刷設定画面50を表示していない場合であっても、その旨を示すPC画面状態コマンドをMFP30へ送信していたが、印刷実行画面40及び印刷設定画面50を表示していない場合にはPCがPC画面状態コマンドをMFP30へ送信しないようにしてもよい。
また、第1及び第2実施形態では、MFP30においてエラー発生中はPC画面状態コマンド及びPC印刷制御中コマンドの送信を行わないように構成されていたが、MFPにおけるエラー状態に関わらず、PC画面状態コマンド及びPC印刷制御中コマンドを送信するように構成しても良い。
また、第1及び第2実施形態では、記録ヘッド36aをキャッピングした場合(図7参照)及びPC10から受信したPC画面状態コマンドに基づいて印刷実行画面40がPCで閉じられたと判断された場合(図6参照)に、待機時間メモリ33aに待機時間として5秒を設定していた。しかしながら、待機時間メモリ33aには、予めディフォルト値として5秒が記憶されており、記録ヘッド36aをキャッピングした場合及びPC10から受信したPC画面状態コマンドに基づいて印刷実行画面40がPCで閉じられたと判断された場合に、待機時間メモリ33aを初期化することによりディフォルト値である5秒に設定してもよい。また、係る場合、印刷実行画面40または印刷設定画面50がPC10で表示されたと判断された場合及びPC印刷制御中コマンドを受信した場合に、待機時間メモリ33aに記憶される待機時間を、ディフォルト値から延長した値(15秒、20秒、30秒など)に更新すればよい。待機時間メモリ33a及び経過時間メモリ33bには、システムクロックに基づくクロック数が時間として記憶されていても良い。
また、上述した実施形態では、PC10で印刷実行画面40が表示された場合と、PC10で印刷設定画面50が表示された場合と、MFP30がPC10からPC印刷制御中コマンドを受信した場合とに、待機時間を5秒よりも長く設定する場合について説明したが、待機時間を5秒よりも長く設定するのは、かかる場合のいずれか1以上の場合であれば良い。また、例えば、印刷設定画面50から、更に詳細な印刷設定ができる別の画面を表示した場合や、印刷実行画面40、印刷設定画面50において、ディフォルト値とは別の印刷設定が入力されたかを判定し、入力された場合に、待機時間を5秒よりも長く設定しても良い。尚、待機時間は、5秒、15秒、20秒、30秒などに限定されるものでもない。