(57)【特許請求の範囲】
【請求項１】
インクの残量を示すインクカウントを初期化する指示が入力された場合、インクにより記録を行う記録装置の状態を識別するためのステータス情報を確認し、前記ステータス情報が、前記記録装置においてインク交換操作が行われたことを示すか、前記ステータス情報がインク交換操作が行われていないことを示すかを判別する判別手段と、
前記判別手段により前記ステータス情報がインク交換操作が行われていないことを示すと判別された場合、前記インクの残量を示すインクカウントのリセット処理を行わず、前記判別手段により前記ステータス情報がインク交換操作が行われたことを示すと判別された場合、前記インクカウントのリセット処理を行うと共にインク交換操作が行なわれていないことを示すステータス情報に変更する処理手段と
を有することを特徴とする記録システム。
【請求項２】
記録処理に基づく前記インクの残量の変化に従って前記インクカウントを更新する更新手段を更に有することを特徴とする請求項１に記載の記録システム。
【請求項３】
インクにより記録を行う記録装置においてインクタンクの交換操作が行なわれたことを示すステータス情報を受信した場合、インクタンクを交換したか否かの確認を利用者に指示させるための画面を表示する表示手段と、
前記インクタンクを交換したことを示す指示に基づき、前記ステータス情報が、前記記録装置においてインク交換操作が行われたことを示すか、前記ステータス情報がインク交換操作が行われていないことを示すかを判別する判別手段と、
前記判別手段によりステータス情報がインク交換操作が行われていないことを示すと判別された場合、前記インクの残量を示すインクカウントのリセット処理を行わず、前記判別手段によりステータス情報がインク交換操作が行われたことを示すと判別された場合、前記インクカウントのリセット処理を行うと共にインク交換操作が行なわれていないことを示すステータスに変更する処理手段と
を有することを特徴とする記録システム。
【請求項４】
インクの残量を示すインクカウントを初期化する指示が入力された場合、インクにより記録を行う記録装置の状態を識別するためのステータス情報を確認し、前記ステータス情報が、前記記録装置においてインク交換操作が行われたことを示すか、前記ステータス情報がインク交換操作が行われていないことを示すかを、判別手段が判別する判別ステップと、
前記判別ステップにより前記ステータス情報がインク交換操作が行われていないことを示すと判別された場合、処理手段は前記インクの残量を示すインクカウントのリセット処理を行わず、前記判別ステップにより前記ステータス情報がインク交換操作が行われたことを示すと判別された場合、前記処理手段が前記インクカウントのリセット処理を行うと共にインク交換操作が行なわれていないことを示すステータスに変更する処理ステップと
を有することを特徴とする記録システムの制御方法。
【請求項５】
更新手段が、記録処理に基づく前記インクの残量の変化に従って前記インクカウントを更新する更新ステップを更に有することを特徴とする請求項４に記載の記録システムの制御方法。
【請求項６】
表示手段が、インクにより記録を行う記録装置においてインクタンクの交換操作が行なわれたことを示すステータス情報を受信した場合、インクタンクを交換したか否かの確認を利用者に指示させるための画面を表示する表示ステップと、
前記インクタンクを交換したことを示す指示に基づき、前記ステータス情報が、前記記録装置においてインク交換操作が行われたことを示すか、前記ステータス情報がインク交換操作が行われていないことを示すかを、判別手段が判別する判別ステップと、
前記判別ステップによりステータス情報がインク交換操作が行われていないことを示すと判別された場合、処理手段は前記インクの残量を示すインクカウントのリセット処理を行わず、前記判別ステップによりステータス情報がインク交換操作が行われたことを示すと判別された場合、前記処理手段が前記インクカウントのリセット処理を行うと共にインクタンクの交換操作が行なわれていないことを示すステータス情報に変更する処理ステップと
を有することを特徴とする記録システムの制御方法。
【請求項７】
インクの残量を示すインクカウントを初期化する指示が入力された場合、インクにより記録を行う記録装置の状態を識別するためのステータス情報を確認し、前記ステータス情報が、前記記録装置においてインク交換操作が行われたことを示すか、前記ステータス情報がインク交換操作が行われていないことを示すかを判別する判別ステップと、
前記判別ステップにより前記ステータス情報がインク交換操作が行われていないことを示すと判別された場合、前記インクの残量を示すインクカウントのリセット処理を実行するリセットコマンドを記録装置に送信せず、前記判別ステップにより前記ステータス情報がインク交換操作が行われたことを示すと判別された場合、前記インクカウントのリセット処理を行うと共にインク交換操作が行なわれていないことを示すステータス情報に変更する処理を実行するリセットコマンドを記録装置に送信する送信ステップと
をコンピュータに実行させるためのプログラム。
【請求項８】
前記記録装置は、記録処理に基づく前記インクの残量の変化に従って前記インクカウントを更新し、前記リセットコマンドに基づき前記インクカウントをリセットすることを特徴とする請求項７に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置が生成した記録制御情報に基づき、記録を制御する記録装置に関するもので、特に、記録装置における記録処理により消費したインク使用量、インクカートリッジの交換を正確に管理し、不正な初期化を防止することが可能な記録技術に関するものである。
【０００２】
【従来の技術】
従来のインクジェットプリンタにおいて、インク交換の時期を利用者に報知するための方式として、例えば、黒及びカラーインクについて、各インクタンクの使用開始時から、インクの総使用量に関する累積データを記録し、総使用量が予めインクタンクに充填された総インク量に近くなると、利用者にインク交換を促すという方法が知られている。
【０００３】
また、逆に、予めインクタンクに充填された総インク量を初期値とし、この初期値からインクの使用量を減算していき、その値が一定の値を下回ったら、利用者にインク交換を促すという方法も知られている。
【０００４】
これらの方法は、インク残量を直接計測するためのセンサ等を必要としないため、インクジェットプリンタの中でも比較的安価な機種において多く用いられている。これら方式において、正しくインク使用量を把握するためには、利用者がインク交換操作を行ったときに、インク使用量を示すカウンタが正しく初期化されることが必要である。
【０００５】
インク使用量のカウンタを初期化する方法として、特許文献１は、プリンタでインクタンクの交換操作を監視し、インクタンクの交換操作が行われたら、インクタンクが新しいものに交換されたとみなしてインク使用量のカウンタを自動的に初期化する方法を開示する。
【０００６】
また、別の方法として、特許文献２は、インク交換の操作を行った後、利用者があらかじめ定められたカウンタ初期化のための操作を行うことで、インク使用量のカウンタを初期化する方法を開示する。この際、初期化のための操作を容易にするために、プリンタと接続するホストコンピュータの画面上にインク使用量のカウンタを初期化するためのGUI（グラフィカル・ユーザ・インタフェース）を設け、このGUI上のボタン操作によって、インク使用量を初期化するためのコマンドをプリンタに転送し、このコマンドを受信するプリンタがカウンタを初期化するという構成を採用するものもある。
【０００７】
【特許文献１】
特開平９−３０００６号公報
【０００８】
【特許文献２】
特開平８−２２４８９１号公報
【０００９】
【発明が解決しようとする課題】
しかしながら、これらの方法には次のような課題がある。すなわち、インクタンクの交換操作を検知して自動的にカウンタを初期化する方法では、交換が検知された場合に、自動的にインク使用量のカウンタが初期化されてしまうため、一旦取り外した使用中のインクタンクを再度取り付けた場合のように、実際のインク残量が変化していない場合であってもインク使用量のカウンタが初期化されてしまい、カウンタがそのインクタンクのインク使用量を正しく反映しなくなってしまうという課題があった。更に、この課題を回避するために、インクタンクに個々のインクタンクを識別するためのマイクロチップを設けるものもあるが、これもコストが嵩むという課題もある。
【００１０】
また、インク交換の操作を行った後、利用者がインク使用量のカウンタを初期化する操作を行う方法では、利用者がカウンタ初期化の操作を正しく行わなかった場合に、インク使用量を示すカウンタは依然として交換前の使用量を指示することとなり、交換後におけるカウンタの値がインク使用量を正しく反映しなくなってしまうという課題がある。
【００１１】
本発明は上記の課題に鑑みてなされたものであり、インク交換の操作が行われた場合、インク使用量のカウンタのリセット処理を容易にし、かつ確実に行うことが可能な記録装置等を提供することを目的としている。
【００１２】
更に、この記録装置において、一台の記録装置に対して複数のホストコンピュータが接続され、複数のホストコンピュータからそれぞれ独立にインク使用量のカウンタを初期化するための操作が行われた場合にも、インク使用量のカウンタの初期化処理が何度も行われてカウンタが正しいインク使用量を反映しなくなるといった課題が発生しないような記録装置を提供することも目的としている。
【００１３】
【課題を解決するための手段】
上記の目的を達成するため、本発明にかかる記録システムは、インクの残量を示すインクカウントを初期化する指示が入力された場合、インクにより記録を行う記録装置の状態を識別するためのステータス情報を確認し、前記ステータス情報が、前記記録装置においてインク交換操作が行われたことを示すか、前記ステータス情報がインク交換操作が行われていないことを示すかを判別する判別手段と、
前記判別手段により前記ステータス情報がインク交換操作が行われていないことを示すと判別された場合、前記インクの残量を示すインクカウントのリセット処理を行わず、前記判別手段により前記ステータス情報がインク交換操作が行われたことを示すと判別された場合、前記インクカウントのリセット処理を行うと共にインク交換操作が行なわれていないことを示すステータス情報に変更する処理手段とを有することを特徴とする。
【００１４】
【発明の実施の形態】
以下、図面を参照し、本発明にかかる記録装置及び記録装置に接続する情報処理装置の実施形態を説明する。
【００１５】
＜記録システムの構成＞
図１は情報処理装置（以下、「ホストコンピュータ」という。）及び記録装置とからなる記録システムの構成を示すブロック図である。図１中、1001は記録システムにおけるホストコンピュータであり、後述するハードディスク内のアプリケーションプログラム等によって生成された文字、図形、およびイメージの混在するデータを、同じハードディスク内の記録装置制御プログラムによって記録データに変換し、データ転送制御プログラムを介して記録装置2001に記録データを出力するものである。
【００１６】
1002はホストコンピュータ本体1100の制御を行うＣＰＵ、1003はホストコンピュータ1001内で動作するプログラムがロードされたり、プログラムが動作中にワークメモリとして使用されるＲＡＭである。1004は前述したハードディスクであり、オペレーティングシステムやアプリケーションプログラムをはじめ、記録装置制御プログラムやデータ転送制御プログラム等の各種のプログラムのほか、各プログラムが動作する際に必要なデータ等が格納されている。
【００１７】
1005はハードディスク1004のデータやプログラムの読み書きの処理を行うハードディスクコントローラであり、1006は上述の記録装置制御プログラムで生成された記録装置用のコマンドやデータを記録装置側へ転送したり、逆に記録装置側から送られてきたデータを受信して一時的に保持するデータ入出力コントローラであり、双方向のデータ通信インタフェースによって記録装置2001と接続し、記録装置2001との間でデータの送受信を行う。
【００１８】
1007はホストコンピュータ1001上で各種プログラムを実行したり、各種コントローラの制御を行うなどの様々な基本動作のためのプログラムおよびデータ等が格納されているＲＯＭである。
【００１９】
1008はホストコンピュータ1001に接続するキーボード1010からのキー入力を制御するキーボードコントローラであり、1012はホストコンピュータ1001に接続するマウス1013からの入力を制御するマウスコントローラ、そして、1009はディスプレイ用のＣＲＴ1011への表示を制御するＣＲＴコントローラである。
【００２０】
また、図１中、2001は記録システムにおける記録装置であり、この記録装置には、例えば、プリンタが含まれる。記録装置2001は、ホストコンピュータ1001から記録データを受け取り、これを記録用紙上に画像記録するほか、ホストコンピュータ1001からメンテナンスコマンドを受け取り、その内容に応じて、テストプリントやヘッドクリーニングを実行する。
【００２１】
2002は、記録装置2001に対してホストコンピュータ1001から転送された記録データ等を受信したり、記録装置2001側からの情報をホストコンピュータ1001へ転送するデータ入出力コントローラであり、ホストコンピュータ1001に対して記録装置2001の状態（例えば、エラー情報、警告情報、記録装置でインク交換の可能性がある操作が検知されたか否かを表す情報等）を識別するためのステータス情報をホストコンピュータ1001に送信することができる。
【００２２】
2003は記録装置本体の制御を行うＣＰＵであり、2004はプログラムＲＯＭであり、ホストコンピュータ1001から受信した記録データを出力するなど、一連の記録動作を行うためのプログラムが格納されている。
【００２３】
2005はプログラムＲＯＭ2004内のプログラムによって生成された画像パターンを保持するフレームメモリ、2006はイメージデータの描画処理をはじめとして画像記録の各種の処理およびホストコンピュータ1001との通信処理において使用されるワークメモリである。
【００２４】
2007はフレームメモリ2005に保持した画像パターンを、ブラック、シアン、マゼンタ、イエローのインクを用いて記録媒体上に記録するカラー画像記録部である。そして、2008は記録装置2001の電源をオフにした状態でも保持する必要のある情報を記憶するEEPROMである。EEPROM2008には、記録装置2001の印刷枚数の累計などの情報のほか、各インクのインク残量に関する情報、インク交換操作の有無の情報が記録される。
【００２５】
CPU2003はカラー画像記録部2007のインクタンクに対する利用者のアクセスを、カラー画像記録部2007からの割り込み信号により認識することが可能であり、インクタンクへのアクセスを認識した場合には、前述のEEPROM2008上の所定の領域にインク交換の可能性がある操作（インクタンクの交換、同一のインクタンクを再装着する場合を含む）が行われたことを記録する。
【００２６】
このインク交換の可能性がある操作があったことを示す記録は、ホストコンピュータ1001から送信されるインク残量に関する情報を初期化し、インク交換操作が行われていないことを表す内容に変更することを指示するコマンドによって更新されるまでは、そのまま保持される。
【００２７】
記録装置2001では、画像記録部2007による画像記録や、クリーニング処理によってインクが消費された場合に、その消費量をもとにインク残量に関する情報を計算して、前述のEEPROM2008の所定の領域に記録する。この情報は、各インクについて、初期化された状態（未使用の状態）を「０」とし、その後のインク使用量を加算して更新される。各インクについて、インク残量が少なくなったことを警告する値があらかじめ設けられており、インク残量に関する情報が加算され、更新される結果、インク残量に関する情報の示す値が、予め設定された値を超えた場合は、インク残量警告状態として、ステータス情報に反映させるようになっている。尚、インク残量の計算においては、上述のように、未使用の状態を「０」として、使用量の累積を求める方法の他、未使用のインク総量から、使用量に応じた値を減算していく方法でもよい。
【００２８】
記録装置2001がインク消費量をもとに計算する「インク残量に関する情報」は、ホストコンピュータ1001から送信される、インク残量に関する情報をリセットするコマンドにより初期化され、その際、「インク交換の可能性がある操作があったことを示す情報」は、「インク交換操作が行われていないことを示す情報」に変更することを指示するコマンドによって初期化される。
【００２９】
記録装置2001は記録装置のステータス情報をホストコンピュータ1001へ送信する機能をサポートしており、ホストコンピュータ1001からステータス情報の送信要求があった際には、ホストコンピュータから指定された種類のステータス情報、たとえば記録装置で発生しているエラーや警告の有無、エラーが発生している場合にはその種類、記録装置でインク交換の可能性がある操作が行われたか否かの情報をホストコンピュータに対して送信する。
【００３０】
図６は、ホストコンピュータ1001から記録装置2001に対して要求するステータス情報の種類を指定するためのコマンドの例を示す図である。図６では、記録装置で発生しているエラー情報（ERR）、警告情報（WRN）、記録装置でインク交換の可能性がある操作が検知されたか否かを表す情報（CHG）が指定されている。これらの指定に基づいて、記録装置2001はホストコンピュータ1001に対して所定のステータス情報を通知する。
【００３１】
記録装置2001からホストコンピュータ1001へ送信されるステータス情報は、図７および図８に示すようなものとなる。図７は記録装置2001からホストコンピュータ1001に送信される、記録装置2001の状態を表すステータス情報の例であって、エラー情報（ERR）および警告情報（WRN）はいずれもエラー／警告が発生していないことを意味する「０」の値になっており、また、カートリッジ交換の可能性がある操作を検知したかどうかを示すステータス（CHG）は交換を検知したことを意味する「１」の値になっている。図８は記録装置2001からホストコンピュータ1001に対して送信される、記録装置2001のステータスを表すステータス情報の例であって、エラー情報（ERR）および警告情報（WRN）はいずれもエラー／警告が発生していないことを意味する「０」の値になっており、また、カートリッジ交換の可能性がある操作を検知したかどうかを示すステータス（CHG）は交換を検知していないことを意味する「０」の値になっている。
【００３２】
図１２は、ホストコンピュータ1001におけるデータ転送制御プログラムの処理の流れを説明するフローチャートである。データ入出力コントローラ1006は、記録装置2001に対して、種々の項目に関するステータス情報の送信を要求し、その要求に応じて記録装置2001から送信されてきたステータス情報を受信する(S1210)。
【００３３】
受信したステータス情報のうち、インク交換操作が行われたことを表すステータス情報（CHG＝「１」）が通知された場合には（S1220-Yes）、CRTコントローラ1009は図１０に示すようなダイアログボックス1040をCRT1011上に表示して（S1230）、利用者に実際にインク交換操作を行ったか否かを確認するための入力を促す。ステータス情報（CHG=「０」）が通知された場合は(S1220-No）、インク交換操作の確認の必要がないので処理を終了する。
【００３４】
ダイアログボックス1040でインク交換操作を行った旨の確認操作が利用者より入力された場合（「はい」(1020）を選択した場合）には（S1240-Yes）、更に、図１１に示すようなダイアログボックス1110を表示して、交換したインクタンクの種類（ブラックインクタンク、あるいはカラーインクタンク）を入力させるよう促す(S1250）。
【００３５】
ステップS1240で、確認操作「いいえ」を選択した場合（S1240-No）、実際にはインク交換はされていないものとして処理を終了する(S1260）。この場合、例えば、インクタンクは一旦取り外されたが、同一のインクタンクを再度装着したような場合が該当する。
【００３６】
ダイアログボックス（1040、1110）からインク交換操作が行われた旨（S1240-Yes）、およびインクタンクの種類の指定(S1250)が入力された場合、その結果は、ホストコンピュータ1001上で動作するデータ転送制御プログラムにより処理される。そして、データ転送制御プログラムは、交換されたインクタンクついて、インクの残量に関する情報を初期化し、インク交換操作の有無を判定する情報を、インク交換操作が行われていないことを示す内容に変更するよう指示するためのコマンドを生成し（S1270）、コマンドの送信処理を実行して終了する（S1280）。ホストコンピュータ1001におけるデータ入出力コントローラ1006は、送信処理が完了したコマンドを記録装置2001に送信するよう動作する。
【００３７】
＜処理動作の説明＞
次に、本実施形態における記録装置の処理動作について説明する。図２は記録装置2001上で動作する受信データ処理制御プログラムの処理の流れを説明するフローチャートである。記録装置2001での受信データ処理は、一般に記録装置2001と接続するホストコンピュータ1001から送信される各種データが、データ入出力コントローラ2002（図１）に設けられた受信バッファに一旦格納され、この格納されたデータを受信順に逐次受信バッファから取り出し、解析して、その内容に応じた処理を行うことで進められる。
【００３８】
受信データ処理制御プログラムは、記録装置2001の起動時に記録装置のメインプロセスから起動される。受信データ処理制御プログラムが起動されると、まず初期化の処理を行う（S1001）。ここでは、プログラムで使用するワークメモリ2006上のメモリ領域の確保や変数の初期化が行われる。
【００３９】
ステップS2002では、記録装置2001のメインプロセスからの終了要求があるかを判断し、終了要求がある場合には（S1002-YES）、ステップS1003に処理を進めて終了処理を行い、終了する（S1003）。ステップS1003の終了処理は、プログラムで使用したメモリ領域の開放を行う。
【００４０】
一方、メインプロセスからの終了要求が無い場合（S1002-NO）、処理をステップS1004へ進める。ステップS1004では、データ入出力コントローラ2002に設けられた受信バッファにアクセスして、受信データの有無を確認する。受信データがある場合（S1004-YES）は処理をステップS1005へ進め、受信データが無い場合（S1004−NO）には、処理を再びステップS1002に戻し、ステップS1002からの処理を繰り返す。
【００４１】
ステップS1005では、受信バッファにあるデータを取り出し、取り出したデータを受信バッファから削除する処理を行う。また、ステップS1006では取得したデータを解析し、S1007、S1008、S1011、S1014では、取得したデータが記録データか（S1007)、メンテナンスコマンド（S1011）か、インク情報リセットコマンドか（S1014)を判断する。受信データが記録データである場合（S1008-YES)、受信データは、例えば、図３に示すような形式になっている。記録データは記録データの先頭を表すコマンド（「1Bh  PST」）から始まり、用紙サイズ、記録領域、記録媒体、記録品位の設定コマンド（「1Bh  SET」）に続いて、各ラスタごとのラスタイメージデータ（「1Bh  IMG」）を持ち、記録データの末尾を示すコマンド（「1Bh  PED」）で終わるようになっている。
【００４２】
受信データがメンテナンスコマンドである場合（S1011-YES)、そのコマンドデータは、例えば、図４または図５に示すような形式になっている。メンテナンスコマンドは記録データ以外のコマンドを表すコマンド（「1Bh  CMD」）から始まり、その後に、実行するメンテナンスの種類（テストプリントの場合は「TPR=」、記録ヘッドのクリーニングの場合は「CLN=」）、それぞれの内容と、ノズルチェックプリントを表す「NC」、または、カラーインクタンクを表す「CL」）が組み合わされる。
【００４３】
受信データがインク情報に関する初期化を指示するコマンドである場合（S1014-YES)、データは、例えば、図９に示すような形式となる。インクカウント初期化コマンドは、記録データ以外のコマンドを表すコマンド（「1Bh   CMD」）から始まり、その後に、インクカウントの初期化を表す「RST=」と、その対象となるインクタンクの種類（ブラックインクタンクを表す「BK」とカラーインクタンクを表す「CL」）が、続くようになっている。
【００４４】
ここで、記録データの構造において示した、記録データの末尾を示すコマンド「１Bh  PED」（図３）を除く、他のコマンドには、各コマンドを識別するためのコマンド文字列に続き、コマンド全体のデータサイズを特定するための２バイトのバイナリデータを有しており、記録装置がコマンドの一部のみを取得した場合にも、そのデータサイズに基づき、受信したそのコマンドデータが完結しているものか否かを判断することができる。また、受信したデータが記録データの場合（「1Bh  PST」）は、記録データの全体サイズに関する２バイトのバイナリデータを有するものとし、この全体サイズに関する情報に基づき、記録データが完結しているか否かを判断することが可能になる。
【００４５】
受信データ処理制御プログラムは、受信バッファから取得したデータがコマンドとして完結しているかどうかを解析し（S1006）、完結していない場合には、続きのデータが受信バッファに格納されるのを待ってから処理を行うか、すでに取得したデータに基づいて、続きのデータを待たずに処理を行うかを判断する（S1007)。たとえば、完結していないコマンドが記録データの一部である場合は、すでに取得した記録データに基づいて記録可能な部分の記録処理を進め（S1009）、その後、新たに受信バッファから取得したデータは、完結していない記録データの続きであると認識して処理を継続する。
【００４６】
一方、受信したコマンドがメンテナンスコマンドやインク情報をリセットするための初期化コマンドの場合は、最初にコマンドの一部を受信した場合であっても、後続のコマンドの受信を待ち、コマンドとして完結させてからその内容に応じた処理を行う。ステップS1006（データの解析）、S1008（記録データの判断）、S1011（メインテナンスコマンドの判断）、S1014（インク情報のリセットコマンドの判断）では、受信バッファから取得したデータがどのデータの属性に該当するかを判断し、コマンド情報を完結させるために、必要に応じて受信バッファから追加のデータを取得する処理を行う（S1007）。
【００４７】
ステップS1008の判断で、受信バッファから取得したデータが記録データであると判断した場合には（S1008-YES)、処理をステップS1009へ進め、取得した記録データを記録する処理を行う（S1009）。記録処理では、取得したラスタイメージデータをフレームメモリ2005に展開し、これを画像記録部2007が記録するという処理を行う。さらにステップS1010で、EEPROM2008の所定の領域に記録されているインク残量に関する情報を読み出し、これとステップS1009の記録処理で実際に吐出したインクの量の情報を用いて新たなインク残量に関する情報を計算し、インクカウントを更新する処理を行なう。そして、この計算結果をEEPROM2008の所定の領域に書き戻す処理を行う。ステップS1010における更新処理が完了すると、処理を再びステップS1002に戻し、ステップS1002以降の各処理を実行する。
【００４８】
EEPROM2008に記録するインク残量に関する情報は、初期化の際に「０」がセットされ、その後の使用により、吐出したインク量を加算していく方法でも、インク総量からインク吐出による使用量を減算してく方法でもよい。インク残量に関する情報は、インクの色ごとに管理するものとし、ブラックインクタンクのインク残量に関する情報を初期化する場合にはブラックインクのインク残量に関する情報を初期化し、カラーインクタンクのインク残量に関する情報を初期化する場合には、ブラックインク以外のすべてのインク（本実施形態ではシアン、マゼンタ、イエローとする）のインク残量に関する情報を初期化するよう動作するものとする。
【００４９】
ステップS1011で、受信バッファから取得したデータがメンテナンスコマンドであると判断した場合（S1011-YES)、処理をステップS1012に進め、そのコマンドで指定された、「テストプリント」、もしくは「ヘッドクリーニング」のメンテナンス処理を行う（S1012）。テストプリントの処理では、あらかじめプログラムROMに記録されている特定の記録パターンをフレームメモリ2005に展開し、これを画像記録部2007が記録するという処理を行う。
【００５０】
また、ヘッドクリーニングの処理では、指定された記録ヘッドについて、画像記録部2007があらかじめ決められたヘッドクリーニング動作を行う。メインテナンス処理（S1012）の終了後、処理をステップS1013に進め、EEPROM2008の所定の領域に記録されているインク残量に関する情報を読み出し、ステップS1012のテストプリント処理もしくはヘッドクリーニング処理で実際に吐出したインクの量の情報を用いて新たなインク残量に関する情報を計算し、計算結果をEEPROMの所定の領域に書き戻す処理を行う（S1013）。ステップS1013の処理が完了すると、処理を再びステップS1002に戻し、ステップS1002以降の各処理を実行する。
【００５１】
ステップS1014で、受信バッファから取得したデータがインク残量に関する情報をリセットし、インク交換操作の有無の情報をインク交換操作が行われていないことを表す内容に変更するよう指示する、インク情報リセットコマンドであると判断した場合は（S1014-YES）、処理をステップS1015へ進める。ステップS1015では、EEPROM2008の所定の領域に記録された、インク交換操作の有無を表示するステータス情報を確認し（S1015）、次のステップS1016で、このステータス情報がインク交換の可能性がある操作（インクタンクを新しいものに交換する操作や、現在装着されているインクタンクを取外し、交換によらずに、再度同一のインクタンクを記録ヘッドに装着する操作が含まれる。）が行われたことを示しているかを確認する。
【００５２】
ここで、EEPROM2008に記録された情報が、インク交換の可能性がある操作が行われたことを示す、交換検知のステータス情報を示す場合には（S1016-YES)、処理をステップS1017へ進め、EEPROM2008上からインク残量に関する情報を読み出して、受信バッファから取得したコマンドで指定されたインクタンクに対応するインク残量に関する情報を初期化し、その内容をEEPROM2008に書き戻す処理を行う。また、EEPROM2008上のインク交換操作の有無を示すステータス情報を、インク交換操作が行われていないことを示す内容に変更する処理も行う。
【００５３】
一方、EEPROM2008に記録された情報が、インク交換の可能性がある操作が行われていないことを示す場合には（S1016-No）、インク残量に関する情報の初期化処理は行わないで、処理をステップS1002に戻す。
【００５４】
ステップS1015からステップS1017の一連の処理は、ホストコンピュータ1001から送信された、インク残量に関する情報を初期化し、インク交換操作の有無を示す情報をインク交換操作が行われていないことを表す内容に変更するよう指示するコマンドの処理であり、実際に記録装置側でインクの交換操作が行われたか、また、交換操作が行われた後、インク残量に関する情報がすでに初期化されてた後ではないかを判断し、交換操作が行われていない場合や、すでにインク残量に関する情報が初期化された後である場合には、不正なインク残量情報初期化要求であるとして、コマンドに対応する処理を行わないようになっている。
【００５５】
この処理は、たとえば一台の記録装置に複数のホストコンピュータが接続され、ぞれぞれから個別にインク残量情報を初期化するための要求が行われた場合に、無条件に各初期化要求に応じて処理をすると、記録装置2001で管理するインク残量に関する情報が、実際にはインク吐出によりインクは消費されているにも関わらず不正に初期化され、実際のインクの残量を反映しなくなることを回避するための処理である。
【００５６】
受信バッファから取得したデータが、記録データ、メンテナンスコマンド、インク情報リセットコマンドのいずれにも該当しない場合（S1014-NO)には、そのデータ自体が不正なものであると判断して、このデータを破棄する（S1018）。そして、その後、処理を再びステップS1002に戻して以降の処理を繰り返す。
【００５７】
以上説明したように、記録装置2001がホストコンピュータ1001から受信した受信データの処理を行なう際、その受信したデータの属性を判断し、その属性がインク情報をリセットするコマンドである場合は、記録装置が保持しているステータス情報を確認する。ホストコンピュータ側のリセットコマンドと、記録装置側のステータス情報の内容と、が整合しているか否かの確認に基づくことで、記録装置が保持するインク情報の更新を容易かつ確実に行うことができる。
【００５８】
また、インク交換の可能性のある操作、例えば、インクタンクの交換ではなく、再装着をする場合であっても、ダイアログボックスからの入力に従い、実際にインク交換がなされたか否かを確認することが、初期化等のためのコマンドを生成する条件となるので、単に、記録装置側の情報だけに依りインク情報が更新されることを防止することが可能になる。
【００５９】
また、ホストコンピュータ側の初期化の要求に対して、記録装置側が保持しているステータス情報が整合しない場合、例えば、既にステータス情報が更新されている場合等、は初期化処理を中止し、現在の設定を保持することで、複数のホストコンピュータからそれぞれ独立にインク残量に関する情報の初期化操作が行われた場合にも、その都度、データが初期化されて正しいインク残量を反映しなくなるといった問題を解消することができる。
【００６０】
＜他の実施形態＞
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、記録装置にはプリンタ、ファクシミリ装置などが含まれる）から構成されるシステムに適用してもよい。
【００６１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００６３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６４】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６５】
【発明の効果】
以上説明したように、本発明によれば、情報処理装置側のステータス情報の初期化要求に対して、記録装置側が保持しているステータス情報の内容が整合するか否かを判定することで、記録装置におけるインク使用量や、インクカートリッジの交換の有無を正確に管理し、初期化することが可能になる。
【００６６】
または、情報処理装置側の初期化要求に対して、記録装置側が保持しているステータス情報の内容が整合しない場合は、初期化を中止し、現設定を保持することで、不正な初期化を防止することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るホストコンピュータ及び記録装置とを有する記録システムの構成を示すブロック図である。
【図２】本発明の実施形態に係る記録装置上で動作する受信データ処理制御プログラムの処理の流れを説明するフローチャートである。
【図３】ホストコンピュータから記録装置へ送信される記録データの例を示す図である。
【図４】ホストコンピュータから記録装置へ送信されるメンテナンスコマンドの例を示す図である。
【図５】ホストコンピュータから記録装置へ送信されるメンテナンスコマンドの例を示す図である。
【図６】ホストコンピュータから記録装置へ送信されるステータス要求コマンドの例を示す図である。
【図７】記録装置からホストコンピュータへ送信されるステータス情報の例を示す図である。
【図８】記録装置からホストコンピュータへ送信されるステータス情報の例を示す図である。
【図９】ホストコンピュータから記録装置へ送信される、インク情報に関する初期化を指示するコマンドの例を示す図である。
【図１０】ホストコンピュータで表示される、インク交換操作の確認ダイアログボックスの表示例を示す図である。
【図１１】ホストコンピュータで表示される、インク交換操作の確認ダイアログボックスの表示例を示す図である。
【図１２】ホストコンピュータにおけるデータ転送制御プログラムの処理の流れを説明するフローチャートである。
【符号の説明】
1001  ホストコンピュータ
1002  ＣＰＵ
1003  ＲＡＭ
1004  ハードディスク
1006  データ入出力コントローラ（ホストコンピュータ）
1007  ＲＯＭ
1008  キーボードコントローラ
1009  ＣＲＴコントローラ
1010  キーボード
1011  ＣＲＴ
1012  マウスコントローラ
1013  マウス
2001  プリンタ
2002  データ入出力コントローラ（プリンタ）
2003  プリンタＣＰＵ
2004  プログラムＲＯＭ
2005  フレームメモリ
2006  ワークメモリ
2007  画像記録部
2008  ＥＥＰＲＯＭ
【図１】
0004447861.tif 000002
【図２】
0004447861.tif 000003
【図３】
0004447861.tif 000004
【図４】
0004447861.tif 000005
【図５】
0004447861.tif 000006
【図６】
0004447861.tif 000007
【図７】
0004447861.tif 000008
【図８】
0004447861.tif 000009
【図９】
0004447861.tif 000010
【図１０】
0004447861.tif 000011
【図１１】
0004447861.tif 000012
【図１２】
0004447861.tif 000013