(57)【特許請求の範囲】
【請求項１】
印刷データに基づく印刷を実行可能な印刷装置と、前記印刷装置に前記印刷データに基づく印刷を実行させる外部機器とが、ネットワークを介して接続された印刷システムであって、
前記外部機器は、
前記印刷装置に印刷を実行させる単位である印刷ジョブを開始する毎に、前記印刷ジョブに固有のジョブ識別情報と、前記外部機器に固有の機器識別情報とを、前記印刷装置に送信する識別情報送信手段と、
前記識別情報送信手段によって前記ジョブ識別情報および前記機器識別情報が送信された後、前記印刷ジョブの印刷対象となる前記印刷データを、前記印刷装置に送信する印刷データ送信手段と、
前記印刷データ送信手段によって前記印刷データが送信された後、前記印刷ジョブの印刷結果を問い合わせる問合コマンドを、前記印刷装置に所定のタイミング毎に送信する問合コマンド送信手段と、
前記印刷装置から、前記印刷結果、前記ジョブ識別情報および前記機器識別情報を含む結果情報を受信した場合、受信した前記結果情報と、前記識別情報送信手段によって送信された前記ジョブ識別情報および前記機器識別情報とに基づいて、前記印刷ジョブが所定の終了条件を満たすか否かを判断する終了条件判断手段と、
前記終了条件判断手段によって前記終了条件を満たすと判断された場合、前記印刷ジョブを終了するジョブ終了手段とを備え、
前記印刷装置は、
前記外部機器から前記ジョブ識別情報および前記機器識別情報を受信した場合、前記ジョブ識別情報および前記機器識別情報を記憶する識別情報記憶手段と、
前記外部機器から前記印刷データを受信した場合、前記印刷データに基づく印刷を実行する印刷手段と、
前記印刷手段の印刷状況に基づいて、前記印刷結果を特定する印刷結果特定手段と、
前記印刷結果特定手段によって特定された前記印刷結果と、前記識別情報記憶手段に記憶されている前記ジョブ識別情報および前記機器識別情報とを含む前記結果情報を記憶する結果情報記憶手段と、
前記外部機器から前記問合コマンドを受信した場合、前記結果情報記憶手段に記憶されている前記結果情報を、前記問合コマンドの送信元である前記外部機器に送信する結果情報送信手段と
を備えたことを特徴とする印刷システム。
【請求項２】
ネットワークを介して外部機器に接続可能であり、且つ、印刷データに基づく印刷を実行可能な印刷装置であって、
前記外部機器から、前記印刷装置に印刷を実行させる単位である印刷ジョブに固有のジョブ識別情報と、前記外部機器に固有の機器識別情報とを受信した場合、前記ジョブ識別情報および前記機器識別情報を記憶する識別情報記憶手段と、
前記外部機器から前記印刷データを受信した場合、前記印刷データに基づく印刷を実行する印刷手段と、
前記印刷手段の印刷状況に基づいて、前記印刷ジョブの印刷結果を特定する印刷結果特定手段と、
前記印刷結果特定手段によって特定された前記印刷結果と、前記識別情報記憶手段に記憶されている前記ジョブ識別情報および前記機器識別情報とを含む結果情報を記憶する結果情報記憶手段と、
前記外部機器から前記印刷結果を問い合わせる問合コマンドを受信した場合、前記結果情報記憶手段に記憶されている前記結果情報を、前記問合コマンドの送信元である前記外部機器に送信する結果情報送信手段と
を備えたことを特徴とする印刷装置。
【請求項３】
前記印刷手段が印刷を実行できる正常状態および前記印刷手段が印刷を実行できないエラー状態のいずれであるかを判断する状態判断手段と、
前記状態判断手段によって前記正常状態であると判断された場合、前記印刷手段による印刷が完了したデータ数に基づいて、前記印刷ジョブの印刷対象となる前記印刷データを全て印刷したか否かを判断する印刷完了判断手段とを備え、
前記印刷結果特定手段は、前記印刷完了判断手段によって全て印刷したと判断された場合に、前記印刷ジョブの正常終了を前記印刷結果として特定することを特徴とする請求項２に記載の印刷装置。
【請求項４】
前記状態判断手段によって前記エラー状態であると判断された場合、前記エラー状態の種別が復旧可能な第一エラーおよび復旧不能な第二エラーのいずれであるかを判断するエラー種別判断手段を備え、
前記印刷結果特定手段は、前記エラー種別判断手段によって前記第二エラーであると判断された場合に、前記印刷ジョブの異常終了を前記印刷結果として特定することを特徴とする請求項３に記載の印刷装置。
【請求項５】
前記印刷結果特定手段は、前記印刷ジョブの印刷対象となる前記印刷データのうちで、前記印刷手段による印刷が完了したデータ数を、前記印刷結果として特定することを特徴とする請求項３または４に記載の印刷装置。
【請求項６】
印刷データに基づく印刷を実行可能な印刷装置とネットワークを介して接続可能であり、前記印刷装置に前記印刷データに基づく印刷を実行させる外部機器のコンピュータに、
前記印刷装置に印刷を実行させる単位である印刷ジョブを開始する毎に、前記印刷ジョブに固有のジョブ識別情報と、前記外部機器に固有の機器識別情報とを、前記印刷装置に送信する識別情報送信ステップと、
前記識別情報送信ステップによって前記ジョブ識別情報および前記機器識別情報が送信された後、前記印刷ジョブの印刷対象となる前記印刷データを、前記印刷装置に送信する印刷データ送信ステップと、
前記印刷データ送信ステップによって前記印刷データが送信された後、前記印刷ジョブの印刷結果を問い合わせる問合コマンドを、前記印刷装置に所定のタイミング毎に送信する問合コマンド送信ステップと、
前記印刷装置から、前記印刷結果、前記ジョブ識別情報および前記機器識別情報を含む結果情報を受信した場合、受信した前記結果情報と、前記識別情報送信ステップによって送信された前記ジョブ識別情報および前記機器識別情報とに基づいて、前記印刷ジョブが所定の終了条件を満たすか否かを判断する終了条件判断ステップと、
前記終了条件判断ステップによって前記終了条件を満たすと判断された場合、前記印刷ジョブを終了するジョブ終了ステップと
を実行させることを特徴とする印刷制御プログラム。
【請求項７】
前記印刷装置は、前記印刷装置で生成された前記印刷データを、前記印刷装置への送信が完了するまで一時記憶する印刷キューを備え、
前記印刷データ送信ステップは、前記印刷データを前記印刷キューから読み出して前記印刷装置に送信し、且つ、送信した前記印刷データを前記印刷キューから削除し、
前記問合コマンド送信ステップは、前記印刷ジョブの印刷対象となる全ての前記印刷データが前記印刷キューから削除された場合に、前記問合コマンドの送信を開始することを特徴とする請求項６に記載の印刷制御プログラム。
【請求項８】
前記終了条件判断ステップは、受信した前記結果情報に含まれる前記機器識別情報および前記ジョブ識別情報が、前記識別情報送信ステップによって送信された前記機器識別情報および前記ジョブ識別情報と一致する場合、前記終了条件を満たすと判断することを特徴とする請求項６または７に記載の印刷制御プログラム。
【請求項９】
前記ジョブ識別情報は、前記印刷装置で実行される複数の前記印刷ジョブに対して、それぞれ昇順に割り振られる番号であって、
前記終了条件判断ステップは、受信した前記結果情報に含まれる前記機器識別情報が、前記識別情報送信ステップによって送信された前記機器識別情報と一致し、且つ、受信した前記結果情報に含まれる前記ジョブ識別情報が、前記識別情報送信ステップによって送信された前記ジョブ識別情報よりも大きい場合、前記終了条件を満たすと判断することを特徴とする請求項６から８のいずれかに記載の印刷制御プログラム。
【請求項１０】
前記終了条件判断ステップは、前記問合コマンド送信ステップによって前記問合コマンドの送信が開始されてから、前記終了条件を満たすことなく所定時間が経過した場合、前記終了条件を満たすと判断することを特徴とする請求項６から９のいずれかに記載の印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して外部端末および印刷装置が接続された印刷システム、ネットワークを介して受信した印刷データに基づいて印刷を実行可能な印刷装置、および、ネットワークを介して印刷装置に印刷データを送信する外部端末で実行される印刷制御プログラムに関する。
【背景技術】
【０００２】
従来、ネットワークを介して外部端末および印刷装置が接続された印刷システムが知られている。一般的に、このような印刷システムでは、印刷装置のステータス情報（例えば、印刷可能なアイドル状態、印刷が実行中である印刷中状態、印刷不能なエラー状態等）が、印刷装置に接続されている外部端末に通知される。しかしながら、外部端末は、印刷データ単位の印刷状態（例えば、どの印刷データが印刷完了したか、どの印刷データで印刷エラーが発生したか等）を認識することができなかった。
【０００３】
そこで、印刷データを構成するジョブ単位で、印刷装置から要求元のパソコンに印刷完了通知が送信される画像形成システムが知られている（例えば、特許文献１参照）。この画像形成システムでは、特定用ジョブ識別ＩＤ情報が組み込まれた印刷データが、パソコンから印刷装置に送信される。印刷装置では、パソコンから受信した印刷データに基づいて印刷が実行され、且つ、その印刷完了が検知される。パソコンから印刷装置に参照用ジョブ識別ＩＤ情報が送信されると、印刷装置では参照用ジョブ識別ＩＤ情報が特定用ジョブ識別ＩＤ情報と合致するか否かが判断される。参照用ジョブ識別ＩＤ情報と特定用ジョブ識別ＩＤ情報とが合致する場合、参照用ジョブ識別ＩＤ情報と併せて送られてきたホストアドレスに基づいて、印刷装置から要求元のパソコンに印刷完了通知が送信される。これによれば、無関係のユーザに印刷完了通知が送られる事態を回避することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４１９９６２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示の画像形成システムでは、印刷データを送信する印刷元のパソコンと、参照用ジョブ識別ＩＤ情報を送信する要求元のパソコンとが異なる場合でも、特定用ジョブ識別ＩＤ情報と参照用ジョブ識別ＩＤ情報とが一致すれば、要求元のパソコンに対して印刷完了通知が送信される。そうすると、印刷元のパソコンでは、そのパソコンが送信した印刷データに基づく印刷結果を認識できないおそれがあった。
【０００６】
本発明の目的は、印刷ジョブに基づいて印刷装置で実行された印刷の結果を、印刷ジョブが開始された外部機器で確実に認識することができる印刷システム、印刷装置および印刷制御プログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明の第一態様に係る印刷システムは、印刷データに基づく印刷を実行可能な印刷装置と、前記印刷装置に前記印刷データに基づく印刷を実行させる外部機器とが、ネットワークを介して接続された印刷システムであって、前記外部機器は、前記印刷装置に印刷を実行させる単位である印刷ジョブを開始する毎に、前記印刷ジョブに固有のジョブ識別情報と、前記外部機器に固有の機器識別情報とを、前記印刷装置に送信する識別情報送信手段と、前記識別情報送信手段によって前記ジョブ識別情報および前記機器識別情報が送信された後、前記印刷ジョブの印刷対象となる前記印刷データを、前記印刷装置に送信する印刷データ送信手段と、前記印刷データ送信手段によって前記印刷データが送信された後、前記印刷ジョブの印刷結果を問い合わせる問合コマンドを、前記印刷装置に所定のタイミング毎に送信する問合コマンド送信手段と、前記印刷装置から、前記印刷結果、前記ジョブ識別情報および前記機器識別情報を含む結果情報を受信した場合、受信した前記結果情報と、前記識別情報送信手段によって送信された前記ジョブ識別情報および前記機器識別情報とに基づいて、前記印刷ジョブが所定の終了条件を満たすか否かを判断する終了条件判断手段と、前記終了条件判断手段によって前記終了条件を満たすと判断された場合、前記印刷ジョブを終了するジョブ終了手段とを備え、前記印刷装置は、前記外部機器から前記ジョブ識別情報および前記機器識別情報を受信した場合、前記ジョブ識別情報および前記機器識別情報を記憶する識別情報記憶手段と、前記外部機器から前記印刷データを受信した場合、前記印刷データに基づく印刷を実行する印刷手段と、前記印刷手段の印刷状況に基づいて、前記印刷結果を特定する印刷結果特定手段と、前記印刷結果特定手段によって特定された前記印刷結果と、前記識別情報記憶手段に記憶されている前記ジョブ識別情報および前記機器識別情報とを含む前記結果情報を記憶する結果情報記憶手段と、前記外部機器から前記問合コマンドを受信した場合、前記結果情報記憶手段に記憶されている前記結果情報を、前記問合コマンドの送信元である前記外部機器に送信する結果情報送信手段とを備える。
【０００８】
上記印刷システムでは、外部機器が印刷ジョブを開始する毎にジョブ識別情報と機器識別情報とを印刷装置に送信し、印刷装置が受信したジョブ識別情報と機器識別情報を記憶する。次いで、外部機器が印刷データを印刷装置に送信し、印刷装置が受信した印刷データに基づいて印刷を実行する。印刷装置は、特定した印刷結果と、受信したジョブ識別情報および機器識別情報とを含む結果情報を記憶する。印刷データの送信後、外部機器が所定のタイミング毎に問合コマンドを印刷装置に送信し、印刷装置が問合コマンドに応じて結果情報を外部機器に送信する。外部機器は、受信した結果情報と、送信したジョブ識別情報および機器識別情報とに基づいて、印刷ジョブが所定の終了条件を満たすか否かを判断する。外部機器は、終了条件を満たす場合、印刷ジョブを終了する。したがって、印刷ジョブに基づいて印刷装置で実行された印刷の結果を、印刷ジョブが開始された外部機器で確実に認識することができる。
【０００９】
本発明の第二態様に係る印刷装置は、ネットワークを介して外部機器に接続可能であり、且つ、印刷データに基づく印刷を実行可能な印刷装置であって、前記外部機器から、前記印刷装置に印刷を実行させる単位である印刷ジョブに固有のジョブ識別情報と、前記外部機器に固有の機器識別情報とを受信した場合、前記ジョブ識別情報および前記機器識別情報を記憶する識別情報記憶手段と、前記外部機器から前記印刷データを受信した場合、前記印刷データに基づく印刷を実行する印刷手段と、前記印刷手段の印刷状況に基づいて、前記印刷ジョブの印刷結果を特定する印刷結果特定手段と、前記印刷結果特定手段によって特定された前記印刷結果と、前記識別情報記憶手段に記憶されている前記ジョブ識別情報および前記機器識別情報とを含む結果情報を記憶する結果情報記憶手段と、前記外部機器から前記印刷結果を問い合わせる問合コマンドを受信した場合、前記結果情報記憶手段に記憶されている前記結果情報を、前記問合コマンドの送信元である前記外部機器に送信する結果情報送信手段とを備える。
【００１０】
上記印刷装置は、外部機器からジョブ識別情報と機器識別情報を受信して記憶する。印刷装置は、外部機器から受信した印刷データに基づいて印刷を実行する。印刷装置は、特定した印刷結果と、受信したジョブ識別情報および機器識別情報とを含む結果情報を記憶する。印刷装置は、外部機器から受信した問合コマンドに応じて、結果情報を外部機器に送信する。したがって、印刷ジョブに基づいて印刷装置で実行された印刷の結果を、印刷ジョブが開始された外部機器で確実に認識することができる。
【００１１】
本発明の第三態様に係る印刷制御プログラムは、印刷データに基づく印刷を実行可能な印刷装置とネットワークを介して接続可能であり、前記印刷装置に前記印刷データに基づく印刷を実行させる外部機器のコンピュータに、前記印刷装置に印刷を実行させる単位である印刷ジョブを開始する毎に、前記印刷ジョブに固有のジョブ識別情報と、前記外部機器に固有の機器識別情報とを、前記印刷装置に送信する識別情報送信ステップと、前記識別情報送信ステップによって前記ジョブ識別情報および前記機器識別情報が送信された後、前記印刷ジョブの印刷対象となる前記印刷データを、前記印刷装置に送信する印刷データ送信ステップと、前記印刷データ送信ステップによって前記印刷データが送信された後、前記印刷ジョブの印刷結果を問い合わせる問合コマンドを、前記印刷装置に所定のタイミング毎に送信する問合コマンド送信ステップと、前記印刷装置から、前記印刷結果、前記ジョブ識別情報および前記機器識別情報を含む結果情報を受信した場合、受信した前記結果情報と、前記識別情報送信ステップによって送信された前記ジョブ識別情報および前記機器識別情報とに基づいて、前記印刷ジョブが所定の終了条件を満たすか否かを判断する終了条件判断ステップと、前記終了条件判断ステップによって前記終了条件を満たすと判断された場合、前記印刷ジョブを終了するジョブ終了ステップとを実行させることを特徴とする。
【００１２】
上記印刷制御プログラムによれば、外部機器が印刷ジョブを開始する毎にジョブ識別情報と機器識別情報とを印刷装置に送信し、次いで印刷データを印刷装置に送信する。印刷データの送信後、外部機器が所定のタイミング毎に問合コマンドを印刷装置に送信する。外部機器は、受信した結果情報と、送信したジョブ識別情報および機器識別情報とに基づいて、印刷ジョブが所定の終了条件を満たすか否かを判断する。したがって、印刷ジョブに基づいて印刷装置で実行された印刷の結果を、印刷ジョブが開始された外部機器で確実に認識することができる。
【図面の簡単な説明】
【００１３】
【図１】印刷システム１の全体構成図である。
【図２】印刷システム１の電気的構成を示すブロック図である。
【図３】結果情報テーブル１００のデータ構成を示す図である。
【図４】プリンタ２のメイン処理のフローチャートである。
【図５】コマンド処理のフローチャートである。
【図６】ジョブＩＤコマンドのデータ構成を示す図である。
【図７】ジョブＩＤ処理のフローチャートである。
【図８】印刷動作制御処理のフローチャートである。
【図９】印刷処理のフローチャートである。
【図１０】ホスト応答処理のフローチャートである。
【図１１】ＰＣ３の印刷指示処理のフローチャートである。
【図１２】プリンタ２およびＰＣ３との間で実行される処理の流れを示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を参照して説明する。参照する図面は、本発明が採用し得る技術的特徴を説明するために用いられるものである。図面に記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【００１５】
本発明を具体化した実施の形態について、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成などは、それのみに限定する趣旨ではなく、単なる説明例である。
【００１６】
本発明の第一実施形態について説明する。図１を参照して、本実施形態に係る印刷システム１について説明する。印刷システム１では、プリンタ２およびパーソナルコンピュータ（ＰＣ）３が、ネットワーク８（例えば、ＬＡＮやＷＡＮ等）を介して接続可能である。プリンタ２は、長尺状の印刷媒体であるテープにキャラクタ（文字、記号、図形など）を印刷して、貼り付け可能なラベルを作成する小型のラベルプリンタである。本実施形態のＰＣ３は、プリンタ２がラベルを作成するために必要なデータ（以下、印刷データという。）を作成し、プリンタ２に印刷データに基づく印刷を実行させる外部機器である。
【００１７】
ＰＣ３では、ユーザがラベルの画像を編集して印刷指示を入力すると、その編集した画像の印刷を制御する印刷ジョブが開始される。印刷ジョブはプリンタ２に印刷を実行させる単位であり、複数の印刷データを含む。印刷ジョブが開始されると、複数の印刷データがネットワーク８を介してプリンタ２に送信される。プリンタ２では、ＰＣ３から受信した印刷データに基づいて、テープへの印刷が行われてラベルが作成される。
【００１８】
図２を参照して、プリンタ２およびＰＣ３の電気的構成について説明する。プリンタ２の電気的構成について説明する。プリンタ２は、プリンタ２の制御を行うＣＰＵ２０１を備えている。ＣＰＵ２０１は、ＲＯＭ２０２、フラッシュメモリ２０３、ＲＡＭ２０４、ＣＧＲＯＭ２０５、外部通信インタフェイス（Ｉ／Ｆ）２０６、入力部２０７、および駆動回路２０９〜２１１に接続されている。
【００１９】
ＲＯＭ２０２には、ＣＰＵ２０１が実行する各種プログラムが記憶される。フラッシュメモリ２０３には、種々の設定用データが記憶される。例えば、フラッシュメモリ２０３は、後述の結果情報テーブル１００（図３参照）の記憶領域が設けられている。ＲＡＭ２０４には、種々の一時データが記憶される。ＲＡＭ２０４には、外部機器（例えば、ＰＣ３）から受信した各種データが一時記憶される記憶領域である受信バッファ、外部機器から受信した印刷データが展開される記憶領域である印刷バッファ、プリンタ２の状態を示すステータスバッファなどが設けられている。
【００２０】
ＣＧＲＯＭ２０５には、種々のキャラクタ（文字、数字、図形など）をテープに印刷するための印刷用のドットパターンデータが記憶されている。外部通信Ｉ／Ｆ２０６は、ネットワーク８に接続するためのインタフェイス（例えば、ＬＡＮアダプタ）である。ＣＰＵ２０１は、外部通信Ｉ／Ｆ２０６を介して、ネットワーク８に接続された外部機器（例えば、ＰＣ３）と通信を実行可能である。入力部２０７は、プリンタ２に対して入力操作を行うためのボタンである。
【００２１】
駆動回路２０９は、テープに印刷を行うサーマルヘッド２１３を駆動する。駆動回路２１０は、テープを搬送するプラテンローラ（図示外）を動作させるテープ送りモータ２１４を駆動する。駆動回路２１１は、印刷済みのテープを切断するカッター（図示外）を動作させるカッターモータ２１５を駆動する。ＣＰＵ２０１は、これらの駆動回路２０９〜２１１を制御することで、搬送されるテープに印刷を行ったのち、印刷済みのテープを切断してラベルを作成する。
【００２２】
ＰＣ３の電気的構成について説明する。ＰＣ３は、ＰＣ３の制御を行うＣＰＵ３０１を備えている。ＣＰＵ３０１は、ハードディスクドライブ（ＨＤＤ）３０２、ＲＡＭ３０３、外部通信インタフェイス（Ｉ／Ｆ）３０４、入力回路３０５、および出力回路３０６と接続している。ＨＤＤ３０２には、ＣＰＵ３０１が実行する各種プログラムが記憶される。ＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）、後述のアプリケーション、プリンタドライバなども、ＨＤＤ３０２に記憶されている。
【００２３】
ＲＡＭ３０３は、種々の一時データを記憶する。外部通信Ｉ／Ｆ３０４は、ネットワーク８に接続するためのインタフェイス（例えば、ＬＡＮアダプタ）である。ＣＰＵ３０１は、外部通信Ｉ／Ｆ３０４を介して、ネットワーク８に接続された外部機器（例えば、プリンタ２）と通信を実行可能である。入力回路３０５は、ＣＰＵ３０１へ入力部３０７（例えば、マウス、キーボード、タッチパネルなど）からの指示を送る制御を行う。出力回路３０６は、ＣＰＵ３０１からの指示に応じてディスプレイ３０８に画像を表示する制御を行う。
【００２４】
なお、図示しないが、プリンタ２は、外部電源と接続するための電源部と、外部電源から供給された電力を蓄積する内蔵電池（バッテリー）を備えている。また、プリンタ２およびＰＣ３は、それぞれ１対１で接続するための接続用インタフェイス（例えば、ＵＳＢポート）を備えている。そのため、プリンタ２およびＰＣ３がＵＳＢケーブルで接続された場合も、上記と同様にＰＣ３の印刷ジョブに基づいてプリンタ２で印刷を実行できる。
【００２５】
図３を参照して、結果情報テーブル１００のデータ構成について説明する。結果情報テーブル１００は、結果情報テーブル１００には、プリンタ２における各印刷ジョブの印刷結果毎に生成される結果情報を複数記憶可能である。本実施形態では、結果情報テーブル１００に最大１０レコードの結果情報を記憶可能であり、各レコードは２０バイトで構成される。よって、結果情報テーブル１００に１０レコードの結果情報が記憶済みの状態では、結果情報テーブル１００に書き込まれる最新の結果情報は、最古の結果情報のレコードに上書き更新される。
【００２６】
各結果情報は、印刷ジョブの送信元（つまり、生成元）であるＰＣ３に固有の識別情報である機器ＩＤ、印刷ジョブに固有の識別情報であるジョブＩＤ、印刷ジョブの印刷結果を示す結果コードなどを含んでいる。本実施形態では、機器ＩＤはＰＣ３のＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ａｄｄｒｅｓｓ）であり、８バイトで構成される。ジョブＩＤは、プリンタ２で印刷ジョブに対して昇順に割り振られる番号（あるいは、キャラクタ列）であり、４バイトで構成される。
【００２７】
結果コードは、印刷ジョブの印刷結果に応じて付与される、４バイトのデータである。詳細には、結果コードは、先頭の２バイトで終了状態を示し、末尾の２バイトで印刷が完了した枚数（ページ数）を示す。具体的には、印刷ジョブに基づく印刷が正常終了した場合、または、後述する復旧可能エラーが発生した場合、終了状態は「０１」で示される。印刷ジョブに基づく印刷がキャンセルされた場合、または、後述する復旧不能エラーが発生した場合、終了状態は「００」で示される。よって、例えば３枚印刷する印刷ジョブが正常終了した場合、印刷完了枚数は「０３」で示されるから、結果コードは「０１０３」を示す。３枚印刷する印刷ジョブの実行時に、２枚目の印刷中に復旧不能エラーが発生した場合、印刷完了枚数は「０１」で示されるから、結果コードは「０１０１」を示す。
【００２８】
図４〜図１２を参照して、印刷システム１で実行される処理を、プリンタ２で実行される処理と、ＰＣ３で実行される処理に分けて説明する。
【００２９】
図４〜図１０を参照して、プリンタ２で実行されるメイン処理およびホスト応答処理について説明する。メイン処理およびホスト応答処理は、プリンタ２が電源ＯＮされると、ＲＯＭ２０２に記憶されている制御プログラムに基づいて、ＣＰＵ２０１によって並列に実行される。
【００３０】
図４に示すように、プリンタ２のメイン処理では、まず公知の初期化処理が実行されて、プリンタ２が初期状態となる（Ｓ１）。次に、プリンタ２の電源キー（図示外）が押下されたか否かが判断される（Ｓ３）。電源キーが押下された場合（Ｓ３：ＹＥＳ）、公知のＯＦＦ処理が実行されてプリンタ２が終了状態となる（Ｓ５）。その後、プリンタ２が電源ＯＦＦされ、メイン処理が終了される。
【００３１】
電源キーが押下されなかった場合（Ｓ３：ＮＯ）、プリンタ２のフィードキー（図示外）が押下されたか否かが判断される（Ｓ７）。フィードキーは、例えばテープの搬送方向途中位置から印刷を開始するために用紙送りをする場合や、搬送方向長さが所定値よりも長いテープを印刷終了後に排出するような場合に、ユーザが押下する。フィードキーが押下された場合（Ｓ７：ＹＥＳ）、フィード処理が実行される（Ｓ９）。
【００３２】
ステップＳ９のフィード処理では、駆動回路２１０を介してテープ送りモータ２１４が駆動され、テープが所定量搬送される。テープ送りモータ２１４の駆動中にエラーが発生した場合、テープ送りモータ２１４を停止してエラー処理が実行される。例えば、カッター（図示外）が原点位置にない場合、カッターエラーであると判断されてテープ送りモータ２１４が停止され、カッター（図示外）を原点位置に戻すエラー処理が実行される。
【００３３】
ステップＳ９の実行後、またはフィードキーが押下されなかった場合（Ｓ７：ＮＯ）、プリンタ２がカバーオープンであるか否かが判断される（Ｓ１１）。プリンタ２は、テープを収納したカセットを着脱可能なカセット装着部（図示外）を有し、このカセット装着部を開閉するためのカバー（図示外）が設けられている。カバーが開かれている場合（Ｓ１１：ＹＥＳ）、カバーオープン処理が実行される（Ｓ１３）。ステップＳ１３のカバーオープン処理では、カバーが閉じされるまで待機され、カバーが閉じられると、カセット装着部に装着されたカセットからテープが所定位置まで搬送される。
【００３４】
ステップＳ１３の実行後、またはカバーオープンでない場合（Ｓ１１：ＮＯ）、受信バッファにデータありか否かが判断される（Ｓ１５）。受信バッファにデータがある場合（Ｓ１５：ＹＥＳ）、後述のコマンド処理が実行される（Ｓ１７）。ステップＳ１７の実行後、または受信バッファにデータがない場合（Ｓ１５：ＮＯ）、処理はステップＳ１に戻る。
【００３５】
図５に示すように、ステップＳ１７のコマンド処理では、まず受信バッファのデータがステータスリクエストであるか否かが判断される（Ｓ２１）。ステータスリクエストである場合（Ｓ２１：ＹＥＳ）、ステータスリクエスト処理が実行される（Ｓ２３）。ステップＳ２３のステータスリクエスト処理では、プリンタ２がＰＣ３とＵＳＢのプリンタクラスで接続されている場合、ステータスバッファを更新して現在の状態を示す情報（ステータスデータ）を保存する。ステータスバッファに保存されたステータスデータは、ホストであるＰＣ３からの取得要求に応じて、プリンタ２からＰＣ３に送信される。
【００３６】
ステータスリクエストでない場合（Ｓ２１：ＮＯ）、受信バッファのデータがジョブＩＤコマンドであるか否かが判断される（Ｓ２５）。ジョブＩＤコマンドである場合（Ｓ２５：ＹＥＳ）、後述のジョブＩＤ処理が実行される（Ｓ２７）。ジョブＩＤコマンドは、印刷ジョブが開始されたＰＣ３から送信されるコマンドであり、送信元のＰＣ３の機器ＩＤと、対応する印刷ジョブのジョブＩＤとを含む。
【００３７】
図６に例示するジョブＩＤコマンドは、印刷ジョブ毎に生成される２０バイトのデータ列であり、６バイトで構成されたヘッダ部、８バイトで構成された機器ＩＤ、４バイトで構成されたジョブＩＤを含む。ヘッダ部は、ジョブＩＤコマンドであることを示す命令開始文や、ジョブＩＤコマンドのデータサイズ、ジョブＩＤコマンドの送信先がプリンタ２であることを示す種別データなどを含む。
【００３８】
図５に戻る。ジョブＩＤコマンドでない場合（Ｓ２５：ＮＯ）、受信バッファのデータが印刷データであるか否かが判断される（Ｓ２９）。印刷データである場合（Ｓ２９：ＹＥＳ）、印刷イメージ処理が実行される（Ｓ３１）。ステップＳ３１の印刷イメージ処理では、ラスター印刷制御を実行する場合、１ライン分の印刷データ（イメージデータ）が印刷バッファに展開される。ＥＳＣ／Ｐ印刷制御である場合、印刷データに基づいてキャラクタコードの文字データが生成され、印刷バッファ上の所定位置にコピーされる。
【００３９】
印刷データでない場合（Ｓ２９：ＮＯ）、受信バッファのデータが印刷開始コマンドであるか否かが判断される（Ｓ３３）。印刷開始コマンドである場合（Ｓ３３：ＹＥＳ）、後述の印刷動作制御処理が実行される（Ｓ３５）。印刷開始コマンドでない場合（Ｓ３３：ＮＯ）、または、ステップＳ２３、Ｓ２７、Ｓ３１、Ｓ３５のいずれかの実行後、処理はメイン処理（図４）に戻る。
【００４０】
図７に示すように、ステップＳ２７のジョブＩＤ処理では、ジョブＩＤコマンドを構成する所定サイズ（本実施形態では、２０バイト）のデータを受信したか否かが判断される（Ｓ４１）。所定サイズのデータを受信していない場合（Ｓ４１：ＮＯ）、処理はステップＳ４１に戻り、所定サイズのデータ受信を待ち受ける。所定サイズのデータを受信した場合（Ｓ４１：ＹＥＳ）、受信したジョブＩＤコマンドに含まれる機器ＩＤを、ＲＡＭ２０４に一時記憶する（Ｓ４３）。さらに、受信したジョブＩＤコマンドに含まれるジョブＩＤを、ステップＳ４３で記憶した機器ＩＤと対応付けて、ＲＡＭ２０４に一時記憶する（Ｓ４５）。その後、処理はコマンド処理（図５）に戻る。
【００４１】
図８に示すように、ステップＳ３５の印刷動作制御処理では、まず電源ＯＫであるか否かが判断される（Ｓ６１）。プリンタ２の電源が所定電圧未満である場合、電源ＯＫでないと判断される（Ｓ６１：ＮＯ）。この場合、電池ＯＫであるか否かが判断される（Ｓ６３）。プリンタ２の充電容量が所定容量未満である場合、電池ＯＫでないと判断される（Ｓ６３：ＮＯ）。この場合、電力エラーに基づくエラー処理が実行される（Ｓ７１）。例えば、プリンタ２に設けられたＬＥＤ（図示外）が電力エラーを示すパターンで点灯または点滅され、ホストであるＰＣ３に電力エラーが通知される。
【００４２】
電源ＯＫである場合（Ｓ６１：ＹＥＳ）、または電池ＯＫである場合（Ｓ６３：ＹＥＳ）、温度ＯＫであるか否かが判断される（Ｓ６５）。プリンタ２の本体またはサーマルヘッド２１３から検出された温度が所定値以上である高い場合、温度ＯＫでないと判断される（Ｓ６５：ＮＯ）。この場合、高温エラーに基づくエラー処理が実行される（Ｓ７１）。例えば、プリンタ２のＬＥＤが高温エラーを示すパターンで点灯または点滅され、ホストであるＰＣ３に高温エラーが通知される。
【００４３】
温度ＯＫである場合（Ｓ６５：ＹＥＳ）、カセットＯＫであるか否かが判断される（Ｓ６７）。プリンタ２のカセット装着部（図示外）にカセットが装着されていない場合、カセットＯＫでないと判断される（Ｓ６７：ＮＯ）。この場合、カセットエラーに基づくエラー処理が実行される（Ｓ７１）。例えば、プリンタ２のＬＥＤがカセットエラーを示すパターンで点灯または点滅され、ホストであるＰＣ３にカセットエラーが通知される。
【００４４】
カセットＯＫである場合（Ｓ６７：ＹＥＳ）、後述の印刷処理が実行される（Ｓ６９）。ステップＳ６９およびステップＳ７１のいずれかの実行後、処理はコマンド処理（図５）に戻る。
【００４５】
図９に示すように、ステップＳ６９の印刷処理では、まずテープ送りモータ２１４が駆動され、テープが搬送される（Ｓ８１）。次いで、エラー発生ありか否かが判定される（Ｓ８３）。例えば、プラテンローラ（図示外）の回転不良やテープのジャムなど、テープの搬送エラーが生じた場合、エラー発生ありと判断される（Ｓ８３：ＹＥＳ）。また、各種エラー（先述のカッターエラー、電力エラー、高温エラー、カセットエラー）が生じた場合や、プリンタ２のハードウエア故障（例えば、カッターの破損やモータの回転不良など）が生じた場合も、エラー発生ありと判断される（Ｓ８３：ＹＥＳ）。
【００４６】
エラー発生がない場合（Ｓ８３：ＮＯ）、サーマルヘッド２１３が駆動されて、印刷バッファ上に展開された印刷データがテープに印刷される（Ｓ８５）。次いで、ステップＳ１７で受信された全ての印刷データ（つまり、印刷ジョブに含まれる全ての印刷データ）を印刷したか否かが判断される（Ｓ８７）。ステップＳ８７では、例えば印刷開始コマンドが示す印刷枚数（ページ数）と、サーマルヘッド２１３によって印刷された枚数（ページ数）とに基づいて、全ての印刷データを印刷したか否かを判断すればよい。
【００４７】
全ての印刷データを印刷した場合（Ｓ８７：ＹＥＳ）、テープ送りモータ２１４が停止され、テープの搬送が終了される（Ｓ８９）。さらに、カッターモータ２１５が駆動されて、カッター（図示外）により印刷済みのテープが切断されて、印刷ジョブに基づく印刷が全て完了される（Ｓ９１）。印刷が完了していない印刷データがある場合（Ｓ８７：ＮＯ）、処理はステップＳ８３に戻る。
【００４８】
ステップＳ９１の実行後、サーマルヘッド２１３の印刷状況に基づいて、印刷ジョブの印刷結果が記録される（Ｓ９３）。具体的には、ステップＳ９３では、サーマルヘッド２１３によって印刷された枚数や、印刷処理がエラー中断されたか否かなどに基づいて、印刷ジョブの印刷結果（つまり、印刷ジョブに基づく印刷処理の終了状態や印刷完了枚数）が特定される。特定された印刷結果を示す結果コードが、ＲＡＭ２０４に一時記憶されている機器ＩＤおよびジョブＩＤに対応付けられて、結果情報テーブル１００に結果情報として記憶される。なお、ステップＳ９１の実行後は、印刷ジョブに基づく印刷処理が正常終了しているため、結果コードが示す終了状態は「０１」である。
【００４９】
エラー発生がある場合（Ｓ８３：ＹＥＳ）、テープ送りモータ２１４が停止され、テープの搬送が終了される（Ｓ９５）。次いで、発生したエラーが復旧の見込みありか否かが判断される（Ｓ９７）。具体的には、発生したエラーが復旧可能エラーである場合、復旧の見込みありと判断される（Ｓ９７：ＹＥＳ）。復旧可能エラーは、エラーの原因を解消容易なエラー種別であり、例えば上述の各種エラー（カッターエラー、電力エラー、高温エラー、カセットエラー、搬送エラーなど）が該当する。
【００５０】
復旧可能エラーである場合（Ｓ９７：ＹＥＳ）、エラーの原因を解消するためのエラー処理が実行される（Ｓ９９）。例えば、カッターエラーである場合は、先述のようにカッター（図示外）を原点位置に戻すエラー処理が実行される。その後、処理はステップＳ８１に戻り、印刷処理が継続される。
【００５１】
一方、発生したエラーが復旧不能エラーである場合、復旧の見込みなしと判断される（Ｓ９７：ＮＯ）。復旧不能エラーは、エラーの原因を解消困難なエラー種別であり、例えば上述のプリンタ２のハードウエア故障が該当する。また、上述の復旧可能エラーであっても、例えばエラー状態が長時間解消されていないものは、復旧の見込みなしと判断される（Ｓ９７：ＮＯ）。
【００５２】
この場合、先述と同様に、サーマルヘッド２１３の印刷状況に基づいて、印刷ジョブの印刷結果が記録される（Ｓ９３）。ただし、発生したエラーが復旧の見込みなしである場合には、印刷ジョブに基づく印刷処理が異常終了している。そのため、復旧可能エラーによって印刷終了した場合には、結果コードが示す終了状態は「０１」であり、復旧不能エラーによって印刷終了した場合には、結果コードが示す終了状態は「００」である。最後に、ステップＳ９３の実行後、処理は印刷動作制御処理（図８）に戻る。
【００５３】
図１０に示すように、プリンタ２のホスト応答処理では、まず装置状態リクエストを受信したか否かが判断される（Ｓ１０１）。装置状態リクエストは、ネットワーク８を介してプリンタ２に接続されたＰＣ３から送信される、プリンタ２の装置状態を要求するコマンドである。装置状態リクエストを受信した場合（Ｓ１０１：ＹＥＳ）、プリンタ２の装置状態として、少なくとも正常状態およびエラー状態のいずれかを示す装置状態データが、要求元のＰＣ３に送信される（Ｓ１０３）。
【００５４】
ステップＳ１０３の実行後、または装置状態リクエストを受信しなかった場合（Ｓ１０１：ＮＯ）、印刷結果リクエストを受信したか否かが判断される（Ｓ１０５）。印刷結果リクエストは、ネットワーク８を介してプリンタ２に接続されたＰＣ３から送信される、印刷ジョブの印刷結果を要求するコマンドである。印刷結果リクエストを受信した場合（Ｓ１０５：ＹＥＳ）、結果情報テーブル１００に記憶されている全ての結果情報が、要求元のＰＣ３に送信される（Ｓ１０７）。ステップＳ１０７の実行後、または印刷結果リクエストを受信しなかった場合（Ｓ１０５：ＮＯ）、処理はステップＳ１０１に戻る。
【００５５】
図１１を参照して、ＰＣ３で実行される印刷指示処理について説明する。ＰＣ３では、ユーザがアプリケーションを用いて、印刷対象の画像や文書を編集し、印刷指示を入力する。ＰＣ３では、印刷指示の入力に応じて、ＲＯＭ２０２に記憶されているプリンタドライバが起動され、ＣＰＵ３０１によって以下の印刷指示処理が実行される。
【００５６】
図１１に示すように、ＰＣ３の印刷指示処理では、装置状態リクエストがプリンタ２に送信される（Ｓ２０１）。装置状態リクエストに応じてプリンタ２から送信される装置状態データが、正常状態を示すか否かが判断される（Ｓ２０３）。装置状態データが正常状態を示す場合（Ｓ２０３：ＹＥＳ）、ジョブＩＤコマンドがプリンタ２に送信される（Ｓ２０５）。具体的には、ＣＰＵ３０１は印刷指示の入力によって開始される印刷ジョブに、昇順でユニークな番号であるジョブＩＤを割り振り、ＲＡＭ３０３に一時記憶する。ステップＳ２０５では、ＲＡＭ３０３に一時記憶されているジョブＩＤと、ＰＣ３に固有の機器ＩＤとを含むジョブＩＤコマンドが送信される。
【００５７】
ステップＳ２０５の実行後、印刷対象の画像や文書に基づいて、印刷データが生成および送信される（Ｓ２０７）。詳細には、印刷データが順次生成されて、ＰＣ３の印刷キューに格納（スプール）される。印刷キューでは、プリンタ２への送信が完了するまで、生成された印刷データが一時記憶される。印刷キューに記憶された印刷データは順次読み出されてプリンタ２に送信され、且つ、送信した印刷データは印刷キューから削除される。
【００５８】
そして、印刷キューに印刷データありか否かが判断される（Ｓ２０９）。印刷キューに印刷データがある場合（Ｓ２０９：ＹＥＳ）、印刷ジョブの印刷対象となる印刷データのうちで、送信が完了していない印刷データが存在するため、処理はステップＳ２０９に戻る。印刷キューに印刷データがない場合（Ｓ２０９：ＮＯ）、印刷ジョブの印刷対象となる全ての印刷データが、印刷キューから削除されて送信が完了したため、印刷結果リクエストがプリンタ２に送信される（Ｓ２１１）。
【００５９】
ステップＳ２１１の実行後、印刷結果リクエストに応じてプリンタ２から結果情報を受信したか否かが判断される（Ｓ２１３）。プリンタ２から結果情報を受信した場合（Ｓ２１３：ＹＥＳ）、受信した結果情報と、ステップＳ２０５で送信したジョブＩＤおよび機器ＩＤとに基づいて、印刷ジョブが所定の終了条件を満たすか否かが判断される（Ｓ２１５）。本実施形態では、以下の３つの終了条件が設けられている。
【００６０】
第１の終了条件は、結果情報に含まれるジョブＩＤが、ＰＣ３が記憶するジョブＩＤと一致する場合である。ステップＳ２０５では、まず受信した全ての結果情報のうちで、ＰＣ３の機器ＩＤを含む結果情報（つまり、ＰＣ３に関する結果情報）が特定される。次いで、ＰＣ３に関する結果情報のいずれが、ＲＡＭ３０３に一時記憶されているジョブＩＤと一致するジョブＩＤを含む場合は、終了条件を満たすと判断される（Ｓ２１５：ＹＥＳ）。
【００６１】
第２の終了条件は、結果情報に含まれるジョブＩＤが、ＰＣ３が記憶するジョブＩＤよりも大きい場合である。ステップＳ２０５では、まず受信した全ての結果情報のうちで、ＰＣ３の機器ＩＤを含む結果情報（つまり、ＰＣ３に関する結果情報）が特定される。次いで、ＰＣ３に関する結果情報のいずれかが、ＲＡＭ３０３に一時記憶されているジョブＩＤよりも大きいジョブＩＤを含む場合は、終了条件を満たすと判断される（Ｓ２１５：ＹＥＳ）。
【００６２】
第３の終了条件は、ステップＳ２１１で印刷結果リクエストの送信が開始されてから、ＰＣ３が記憶するジョブＩＤ以上の結果情報を受信することなく（つまり、第１の終了条件および第２の終了条件を満たすことなく）、所定時間（例えば、１５秒）が経過した場合である。ＣＰＵ３０１は、印刷指示処理の開始後、最初の印刷結果リクエストが送信されると、第一の経過時間のカウントを開始する。ステップＳ２０５では、ＲＡＭ３０３に一時記憶されているジョブＩＤ以上のジョブＩＤを含んだＰＣ３に関する結果情報を受信することなく所定時間を超えると、終了条件を満たすと判断される（Ｓ２１５：ＹＥＳ）。つまり、第１の終了条件および第２の終了条件のいずれも満たすことなく所定時間を超えると、ステップＳ２０５がタイムアウトとして終了される。なお、ステップＳ２１１で印刷結果リクエストの送信が開始されてから、結果情報を受信することなく所定時間（例えば、１５秒）が経過した場合も、上記と同様に第３の終了条件が満たすと判断される。
【００６３】
上記の３つの終了条件の全てを満たさない場合（Ｓ２１５：ＮＯ）、ステップＳ２１１で直前の印刷結果リクエストが送信された時点から一定時間（例えば、３秒）が経過したか否かが判断される（Ｓ２１７）。ＣＰＵ３０１は、ステップＳ２１１で印刷結果リクエストが送信される毎に、第二の経過時間のカウントを開始する。カウントされた第二の経過時間が一定時間を経過した場合（Ｓ２１７：ＹＥＳ）、処理はステップＳ２１１に戻る。カウントされた第二の経過時間が経過していない場合（Ｓ２１７：ＮＯ）、処理はステップＳ２１７に戻る。なお、ステップＳ２１１で最新の印刷結果リクエストがされると、第二の経過時間のカウントはリセットされ、再び初期値からカウントされる。
【００６４】
上記の３つの終了条件のいずれかを満たした場合（Ｓ２１５：ＹＥＳ）、印刷ジョブに基づく印刷動作が完了したものとみなされるため、印刷ジョブが終了される（Ｓ２１９）。ステップＳ２１９では、ＲＡＭ３０３に一時記憶されたジョブＩＤが削除され、印刷ジョブの完了メッセージおよび印刷ジョブの印刷結果が、ディスプレイ３０８に表示される。ステップＳ２１９の実行後、または装置状態データがエラー状態を示す場合（Ｓ２０３：ＮＯ）、印刷指示処理（図１１）が終了される。
【００６５】
図１２を参照して、上記のフローチャートに基づいて印刷システム１で実行される処理の流れを説明する。以下の説明では、上記のフローチャートで対応するステップを、カッコ書きで示している。
【００６６】
図１２に示すように、ＰＣ３は印刷指示が入力されると、装置状態リクエストをプリンタ２に送信する（Ｓ２０１）。プリンタ２は、装置状態リクエストに対して装置状態データを返信する（Ｓ１０３）。ＰＣ３は、装置状態が正常状態であることを確認すると（Ｓ２０３：ＹＥＳ）、ジョブＩＤコマンドをプリンタ２に送信する（Ｓ２０５）。さらに、印刷ジョブの印刷対象となる印刷データを生成して印刷キューに格納し、印刷データをプリンタ２に送信する（Ｓ２０７）。
【００６７】
プリンタ２は、ジョブＩＤコマンドに含まれる受信ＩＤ（機器ＩＤおよびジョブＩＤ）を一時記憶する（Ｓ２７）。さらに、受信した印刷データを印刷バッファに展開して（Ｓ３１）、印刷ジョブに基づく印刷を開始する（Ｓ３５）。印刷ジョブに基づく印刷が終了すると、印刷ジョブの印刷結果および受信ＩＤを含む結果情報を結果情報テーブル１００に記録する（Ｓ９３）。
【００６８】
ＰＣ３は印刷キューから印刷ジョブが削除されると（Ｓ２０９：ＹＥＳ）、印刷結果リクエストをプリンタ２に定期的に送信する（Ｓ２１１）。プリンタ２は、印刷結果リクエストに対して結果情報テーブル１００に記憶されている結果情報を返信する（Ｓ１０７）。ＰＣ３は受信した結果情報に基づいて、印刷ジョブの終了条件を満たすか否かを確認する（Ｓ２１５）。ＰＣ３は、印刷ジョブの終了条件を満たす場合、実行中とみなされている印刷ジョブを終了する（Ｓ２１９）。
【００６９】
以上説明したように、本実施形態の印刷システム１では、ＰＣ３が印刷ジョブを開始する毎にジョブＩＤと機器ＩＤとをプリンタ２に送信し、プリンタ２が受信したジョブＩＤと機器ＩＤを記憶する。次いで、ＰＣ３が印刷データをプリンタ２に送信し、プリンタ２が受信した印刷データに基づいて印刷を実行する。プリンタ２は、特定した印刷結果と、受信したジョブＩＤおよび機器ＩＤとを含む結果情報を記憶する。印刷データの送信後、ＰＣ３が所定のタイミング毎に印刷結果リクエストをプリンタ２に送信し、プリンタ２が印刷結果リクエストに応じて結果情報をＰＣ３に送信する。ＰＣ３は、受信した結果情報と、送信したジョブＩＤおよび機器ＩＤとに基づいて、印刷ジョブが所定の終了条件を満たすか否かを判断する。ＰＣ３は、終了条件を満たす場合、印刷ジョブを終了する。したがって、印刷ジョブに基づいてプリンタ２で実行された印刷の結果を、印刷ジョブが開始されたＰＣ３で確実に認識することができ、さらに以下のような作用効果を奏する。
【００７０】
プリンタ２では、プリンタ２が正常状態である場合、サーマルヘッド２１３による印刷が完了した枚数（ページ数）に基づいて、印刷ジョブの印刷対象となる印刷データが全て印刷されたと判断されると、印刷ジョブの正常終了が印刷結果として記録される（Ｓ８３：ＮＯ〜Ｓ９３）。したがって、印刷ジョブの印刷結果が正常終了であることを、印刷ジョブが開始されたＰＣ３で認識することができる。
【００７１】
プリンタ２では、プリンタ２がエラー状態である場合、エラー種別が復旧不能エラーであれば、印刷ジョブの異常終了が印刷結果として記録される（Ｓ８３：ＹＥＳ、Ｓ９５、Ｓ９７：ＮＯ、Ｓ９３）。したがって、印刷ジョブの印刷結果が異常終了であることを、印刷ジョブが開始されたＰＣ３で認識することができる。
【００７２】
プリンタ２では、サーマルヘッド２１３による印刷が完了した枚数（ページ数）が、印刷結果として記録される（Ｓ９３）。したがって、印刷ジョブの終了時に印刷が完了しているデータ数を、印刷ジョブが開始されたＰＣ３で認識することができる。
【００７３】
ＰＣ３では、印刷ジョブの印刷対象となる全ての印刷データが印刷キューから削除された場合に、印刷結果リクエストの送信が開始される（Ｓ２０９：ＹＥＳ、Ｓ２１１）。したがって、プリンタ２で印刷が終了する可能性が高く、かつ、より早いタイミングで、プリンタ２から結果情報を取得することができる。ひいては、ＰＣ３で実行中とみなされている印刷ジョブをより迅速に終了させることができる。
【００７４】
ＰＣ３では、印刷ジョブの終了条件は、プリンタ２から受信した結果情報に含まれるジョブＩＤがＰＣ３の保持するジョブＩＤと一致する場合（第一の終了条件）、プリンタ２から受信した結果情報に含まれるジョブＩＤがＰＣ３の保持するジョブＩＤよりも大きい場合（第二の終了条件）、および、印刷結果リクエストの送信が開始されてから、第一の終了条件および第二の終了条件のいずれも満たすことなく所定時間が経過した場合、のいずれかを満たすことである（Ｓ２１５）。したがって、印刷ジョブの終了条件を満たすか否かを、簡易な処理で正確に判断することができる。
【００７５】
上記実施形態において、ステップＳ２０５を実行するＣＰＵ３０１が、本発明の「識別情報送信手段」に相当する。ステップＳ２０７を実行するＣＰＵ３０１が、本発明の「印刷データ送信手段」に相当する。ステップＳ２１１を実行するＣＰＵ３０１が、本発明の「問合コマンド送信手段」に相当する。ステップＳ２１５を実行するＣＰＵ３０１が、本発明の「終了条件判断手段」に相当する。ステップＳ２１９を実行するＣＰＵ３０１が、本発明の「ジョブ終了手段」に相当する。
【００７６】
ＲＡＭ２０４が、本発明の「識別情報記憶手段」に相当する。サーマルヘッド２１３が、本発明の「印刷手段」に相当する。ステップＳ９３を実行するＣＰＵ２０１が、本発明の「印刷結果特定手段」に相当する。フラッシュメモリ２０３が、本発明の「結果情報記憶手段」に相当する。ステップＳ１０７を実行するＣＰＵ２０１が、本発明の「結果情報送信手段」に相当する。ステップＳ８３を実行するＣＰＵ２０１が、本発明の「状態判断手段」に相当する。ステップＳ８７を実行するＣＰＵ２０１が、本発明の「印刷完了判断手段」に相当する。ステップＳ９７を実行するＣＰＵ２０１が、本発明の「エラー種別判断手段」に相当する。
【００７７】
ステップＳ２０５が、本発明の「識別情報送信ステップ」に相当する。ステップＳ２０７が、本発明の「印刷データ送信ステップ」に相当する。ステップＳ２１１が、本発明の「問合コマンド送信ステップ」に相当する。ステップＳ２１５が、本発明の「終了条件判断ステップ」に相当する。ステップＳ２１９が、本発明の「ジョブ終了ステップ」に相当する。
【００７８】
なお、本発明は上記実施形態に限定されるものではなく、発明の要旨を変更しない範囲での変更が可能である。例えば、機器ＩＤは、ＭＡＣアドレスに限定されず、外部機器を一意に識別可能な情報であればよい。ジョブＩＤは、昇順に割り振られる番号に限定されず、印刷ジョブを一意に識別可能な情報であればよい。
【００７９】
上記実施形態では、プリンタ２が印刷結果リクエストに応じて、結果情報テーブル１００に記憶されている全ての結果情報を、ＰＣ３に返信している（Ｓ１０７）。これに代えて、ＰＣ３は、ＰＣ３の機器ＩＤを含む印刷結果リクエストを、プリンタ２に送信する（Ｓ２１１）。プリンタ２は、受信した印刷結果リクエストの機器ＩＤを含む結果情報を結果情報テーブル１００から取得し、取得した結果情報をＰＣ３に返信してもよい（Ｓ１０７）。これによれば、ＰＣ３は、ＰＣ３に関連する結果情報のみをプリンタ２から取得できるため、終了条件を判定する処理（Ｓ２１５）がさらに簡易且つ迅速となる。
【００８０】
上記実施形態では、ＰＣ３の印刷指示処理（図１１）は、プリンタドライバに基づいて実行されているが、印刷指示処理（図１１）を実行する印刷制御プログラムは各種パターンを適用可能である。例えば、ＰＣ３の印刷指示処理（図１１）のうち、ステップＳ２０１、Ｓ２０３、Ｓ２０７は公知の処理であるため、従来と同様のプリンタドライバに基づいて実行する。一方、ステップＳ２０５、Ｓ２０９〜Ｓ２１９は、プリンタドライバとは別に設けられた監視プログラムに基づいて実行してもよい。この場合、従来のＰＣ３に監視プログラムを導入するだけで、本発明を実現可能にすることができる。
【符号の説明】
【００８１】
１    印刷システム
２    プリンタ
３    ＰＣ
８    ネットワーク
１００    結果情報テーブル
２０１  ＣＰＵ
２０３    フラッシュメモリ
２０４  ＲＡＭ
２１３    サーマルヘッド
３０１  ＣＰＵ
【図１】
0005949106.tif 000002
【図２】
0005949106.tif 000003
【図３】
0005949106.tif 000004
【図４】
0005949106.tif 000005
【図５】
0005949106.tif 000006
【図６】
0005949106.tif 000007
【図７】
0005949106.tif 000008
【図８】
0005949106.tif 000009
【図９】
0005949106.tif 000010
【図１０】
0005949106.tif 000011
【図１１】
0005949106.tif 000012
【図１２】
0005949106.tif 000013