(57)【要約】【課題】プリンターの制御装置であって、プリンターの受信バッファがフルになることを防止し、プリンターの状態を監視できる状態を確保可能なプリンターの制御装置等を提供する。【解決手段】受信したデータを記憶する受信バッファと当該データによる処理の前に前記受信バッファから転送された当該データを記憶する実行バッファとを備えたプリンターの制御装置が、当該制御装置から前記プリンターへのデータ送信を調整する送信調整部を有し、前記送信調整部は、前記実行バッファの空き領域の容量に応じて、前記プリンターへのデータ送信の可否を判断する。【選択図】  図１
2015176196.tif 000002
【特許請求の範囲】
【請求項１】
受信したデータを記憶する受信バッファと当該データによる処理の前に前記受信バッファから転送された当該データを記憶する実行バッファとを備えたプリンターの制御装置であって、
当該制御装置から前記プリンターへのデータ送信を調整する送信調整部を有し、
前記送信調整部は、前記実行バッファの空き領域の容量に応じて、前記プリンターへのデータ送信の可否を判断する
ことを特徴とするプリンターの制御装置。
【請求項２】
請求項１において、
前記送信調整部は、前記実行バッファの空き領域の有無を前記プリンターに問い合わせ、前記空き領域がない場合には、前記データ送信を行わないと判断する
ことを特徴とするプリンターの制御装置。
【請求項３】
請求項１または２において、
前記プリンターに、前記制御装置から送信される印刷データに含まれるイメージデータ用の前記実行バッファが備えられ、
前記送信調整部は、当該イメージデータ用の実行バッファの空き領域の容量を前記プリンターに問い合わせ、前記空き領域の容量が十分でない場合には、前記イメージデータの送信を行わないと判断する
ことを特徴とするプリンターの制御装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記プリンターに、第１解析部と、第２解析部と、前記第１解析部により順次処理される前記データを処理の前に保持する第１実行バッファと、が備えられ、
前記送信調整部は、前記１実行バッファの状況を問い合わせるコマンドを、前記プリンターへ送信する
ことを特徴とするプリンターの制御装置。
【請求項５】
請求項４において、
さらに、前記プリンターに、前記２解析部により処理された前記データを保持する第２実行バッファが備えられ、
前記送信調整部は、前記２実行バッファの空き容量を問い合わせるコマンドを、前記プリンターに送信する
ことを特徴とするプリンターの制御装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記プリンターにおいて、前記受信バッファから前記実行バッファへのデータ転送は、印刷処理が一時的に停止されている際にも継続される
ことを特徴とするプリンターの制御装置。
【請求項７】
プリンターと当該プリンターの制御装置を有するプリントシステムであって、
前記プリンターは、前記制御装置から送信されるデータを記憶する受信バッファと当該データによる処理の前に前記受信バッファから転送された当該データを記憶する実行バッファとを備え、
前記制御装置は、前記プリンターへのデータ送信を調整する送信調整部を備え、
前記送信調整部は、前記実行バッファの空き領域の容量に応じて、前記プリンターへのデータ送信の可否を判断する
ことを特徴とするプリントシステム。
【請求項８】
受信したデータを記憶する受信バッファと当該データによる処理の前に前記受信バッファから転送された当該データを記憶する実行バッファとを備えたプリンターの制御装置における制御方法であって、
前記制御装置が、前記実行バッファの空き領域の容量に応じて、前記プリンターへのデータ送信の可否を判断する
ことを特徴とする制御方法。
【請求項９】
受信したデータを記憶する受信バッファと当該データによる処理の前に前記受信バッファから転送された当該データを記憶する実行バッファとを備えたプリンターの制御装置にデータ送信処理を実行させる制御プログラムであって、
前記実行バッファの空き領域の容量に応じて、前記プリンターへのデータ送信の可否を判断する工程を、前記制御装置に実行させる
ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンターの制御装置等に関し、特に、プリンターの受信バッファの空き容量がなくなることを防止し、プリンターの状態を監視できる状態を確保可能なプリンターの制御装置、プリントシステム、制御方法、及び、制御プログラムに関する。
【背景技術】
【０００２】
プリンターは、そのホスト装置から送信される印刷データに基づいて印刷処理を実行するが、通常、受信バッファを備えており、ホスト装置からの上記印刷データは、処理前に一旦、この受信バッファに蓄えられる。受信バッファに蓄えられた印刷データは、順次、処理部へ転送されて印刷処理に用いられる。
【０００３】
当該受信バッファは、プリンターが受信する全てのデータを一旦保持するので、この受信バッファがフル（満杯）の状態、すなわち、空き容量がない状態になると、ホスト装置からのデータは受け付けられなくなり、ホスト装置から、印刷だけでなくプリンターの状態を知るためのステータス要求等もできなくなってしまう。
【０００４】
一般的なプリンターでは、エラーが発生し印刷動作が停止すると、受信バッファ以降の処理部が動作を停止するため、受信バッファに一時的に保持した印刷データ等が他の部分へはき出されずに溜まってしまい、受信バッファが上述したフルの状態になる虞がある。
【０００５】
また、上述のように動作が停止した際に、そのことがホスト装置側に報知され印刷データの送信を停止し、その時点では、受信バッファがフルの状態でなくても、その後、ホスト装置側からのステータス要求等のコマンドデータが受信バッファに蓄積されて受信バッファがフルの状態に陥ってしまう虞もある。
【０００６】
このような課題に対して、従来、下記特許文献１のような提案がなされている。当該文献に記載の装置では、受信バッファの下流にアクションバッファなるものが備えられ、印刷動作が停止状態になっても、受信バッファからアクションバッファへのデータの移行は継続される。また、受信バッファに受信されたリアルタイムコマンドは処理後、廃棄される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−３３１３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献１に記載の装置においても、データ容量の大きいイメージデータを多用するような印刷では、印刷負荷の状態やエラーによる一時停止のタイミングにより、受信バッファがフルの状態になってしまう虞がある。
【０００９】
従って、より確実に受信バッファがフルの状態になることを防止でき、ホスト装置から常にプリンターの状況（ステータス）を確認できるようにすることが望まれる。
【００１０】
そこで、本発明の目的は、プリンターの制御装置であって、プリンターの受信バッファがフル（受信バッファフル）になることを防止し、プリンターの状態を監視できる状態を確保可能なプリンターの制御装置、等を提供することである。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明の一つの側面は、受信したデータを記憶する受信バッファと当該データによる処理の前に前記受信バッファから転送された当該データを記憶する実行バッファとを備えたプリンターの制御装置が、当該制御装置から前記プリンターへのデータ送信を調整する送信調整部を有し、前記送信調整部は、前記実行バッファの空き領域の容量に応じて、前記プリンターへのデータ送信の可否を判断する、ことである。
【００１２】
更に、上記の発明において、その一つの好ましい態様は、前記送信調整部は、前記実行バッファの空き領域の有無を前記プリンターに問い合わせ、前記空き領域がない場合には、前記データ送信を行わないと判断する、ことを特徴とする。
【００１３】
更にまた、上記の発明において、その一つの好ましい態様は、前記プリンターに、前記制御装置から送信される印刷データに含まれるイメージデータ用の前記実行バッファが備えられ、前記送信調整部は、当該イメージデータ用の実行バッファの空き領域の容量を前記プリンターに問い合わせ、前記空き領域の容量が十分でない場合には、前記イメージデータの送信を行わないと判断する、ことを特徴とする。
【００１４】
更に、上記の発明において、好ましい態様は、前記プリンターに、第１解析部と、第２解析部と、前記第１解析部により順次処理される前記データを処理の前に保持する第１実行バッファと、が備えられ、前記送信調整部は、前記１実行バッファの状況を問い合わせるコマンドを、前記プリンターへ送信する、ことを特徴とする。
【００１５】
更に、上記の発明において、好ましい態様は、さらに、前記プリンターに、前記２解析部により処理された前記データを保持する第２実行バッファが備えられ、前記送信調整部は、前記２実行バッファの空き容量を問い合わせるコマンドを、前記プリンターに送信する、ことを特徴とする。
【００１６】
更に、上記の発明において、好ましい態様は、前記プリンターにおいて、前記受信バッファから前記実行バッファへのデータ転送は、印刷処理が一時的に停止されている際にも継続される、ことを特徴とする。
【００１７】
上記の目的を達成するために、本発明の別の側面は、プリンターと当該プリンターの制御装置を有するプリントシステムにおいて、前記プリンターは、前記制御装置から送信されるデータを記憶する受信バッファと当該データによる処理の前に前記受信バッファから転送された当該データを記憶する実行バッファとを備え、前記制御装置は、前記プリンターへのデータ送信を調整する送信調整部を備え、前記送信調整部は、前記実行バッファの空き領域の容量に応じて、前記プリンターへのデータ送信の可否を判断する、ことである。
【００１８】
上記の目的を達成するために、本発明の更に別の側面は、受信したデータを記憶する受信バッファと当該データによる処理の前に前記受信バッファから転送された当該データを記憶する実行バッファとを備えたプリンターの制御装置における制御方法において、前記制御装置が、前記実行バッファの空き領域の容量に応じて、前記プリンターへのデータ送信の可否を判断する、ことである。
【００１９】
上記の目的を達成するために、本発明の更に別の側面は、受信したデータを記憶する受信バッファと当該データによる処理の前に前記受信バッファから転送された当該データを記憶する実行バッファとを備えたプリンターの制御装置にデータ送信処理を実行させる制御プログラムが、前記実行バッファの空き領域の容量に応じて、前記プリンターへのデータ送信の可否を判断する工程を、前記制御装置に実行させる、ことである。
【００２０】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【図面の簡単な説明】
【００２１】
【図１】本発明を適用したプリントシステムの実施の形態例に係る構成図である。
【図２】ランゲージモニタ１５におけるデータ送信処理の処理手順を例示したフローチャートである。
【発明を実施するための形態】
【００２２】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
【００２３】
図１は、本発明を適用したプリントシステムの実施の形態例に係る構成図である。図１に示すプリントシステム１００が本発明を適用したプリントシステムであり、ホストコンピューター１とプリンター２を備える。ホストコンピューター１のランゲージモニタ１５は、プリンター２へ送信する印刷データ等を受信した際に、プリンター２の受信バッファ２４の下流に備えられる第１バッファ、第２バッファのデータ蓄積状況（空き状況）に応じて受信したデータの送信を行うか否かを判断する。これにより、従来装置よりも、より確実に受信バッファ２４がフル（満杯）の状態になることを防止する。
【００２４】
本実施の形態例に係るプリントシステム１００は、例えば、ロール紙に配置された複数のラベルに連続して印刷するシステムとして具現化される。
【００２５】
ホストコンピューター１（プリンターの制御装置）は、プリンター２に対して印刷要求（命令）を出すプリンター２のホスト装置であり、パーソナルコンピューター等で構成される。従って、図示していないが、ＣＰＵ、ＲＡＭ、ＨＤＤ、通信インターフェース、表示装置、操作装置等を備えている。
【００２６】
機能構成としては、図１に示すように、アプリケーション１１、ドライバー１２、ステータスモニタ１３、プリンター設定ツール１４、及びランゲージモニタ１５を備えている。
【００２７】
アプリケーション１１は、印刷処理の要求元であり、例えば、印刷物（ラベル等）の印刷内容を作成する部分である。アプリケーション１１は、ホストコンピューター１のユーザーの操作等に従って、印刷内容を表現する印刷要求データをドライバー１２に送信する。
【００２８】
ドライバー１２は、プリンター２用のドライバーであり、上記印刷要求元のアプリケーション１１から印刷要求データを受信した際に、印刷内容をプリンター２用の印刷コマンドで表現した印刷データを生成し、当該印刷データをプリンター２に向けて送信する。
【００２９】
ステータスモニタ１３は、プリンター２のステータス（状況）を、随時、プリントシステム１００のユーザーに報知（表示）する部分であり、例えば、所定時間間隔で、プリンター２に向けてステータス要求コマンドを送信してプリンター２のステータス情報を取得し、それを所定の表現でホストコンピューター１の表示装置に表示する処理を行う。また、ユーザーにより所定の操作がなされた際に、同様のステータス表示処理を実行する。
【００３０】
プリンター設定ツール１４は、ユーザーがプリンター２の印刷パラメーター（印刷条件）の設定、各印刷物に共通に用いることのできるフォント、レイアウト、背景画像（イメージデータ）等の登録などを行う際に用いる部分である。プリンター設定ツール１４は、ユーザーの操作に従って、上記設定及び登録の要求コマンドをプリンター２に向けて送信する。
【００３１】
ランゲージモニタ１５（送信調整部）は、プリンター２との通信状態を監視し、プリンター２へのデータ送信を調整する部分である。従って、上述したドライバー１２、ステータスモニタ１３、及び、プリンター設定ツール１４からプリンター２に向けて送信する各データは、まず、当該ランゲージモニタ１５が受け取り、その後、ランゲージモニタ１５は、受け取ったデータを所定のタイミングで、所定の順番に従ってプリンター２へ送信する。特に、本ホストコンピューター１のランゲージモニタ１５は、プリンター２へのデータ送信の際の処理に特徴があり、その具体的な内容については後述する。また、ランゲージモニタ１５は、ホストコンピューター１からの要求に対するプリンター２からのリプライ（返答）を受信し、受信内容を要求元（ステータスモニタ１３、及び、プリンター設定ツール１４等）へ渡す。
【００３２】
なお、アプリケーション１１、ドライバー１２、ステータスモニタ１３、プリンター設定ツール１４、及びランゲージモニタ１５は、それぞれ、上述した各処理を記述したプログラムと当該プログラムに従って処理を実行するＣＰＵ、ＲＡＭ等によって構成される。
【００３３】
また、ランゲージモニタ１５がプリンター２へ送信するデータには、ドライバー１２から受信する印刷データ、ステータスモニタ１３から受信するステータス要求コマンド、プリンター設定ツール１４から受信する設定・登録コマンド等がある。
【００３４】
また、当該プリントシステム１００では、主に、画像（イメージデータ）を用いた印刷を行うことを想定しており、その画像には、各印刷物（例えば、ラベル）に共通に用いる背景画像などの共通画像と、印刷物毎に内容の異なる個別画像がある。ラベルは、その裏面に粘着剤が付されて剥離紙に張り合わされ、一定間隔で複数配置されたラベル用紙に印刷を施しことにより発行される。背景画像は各ラベルに共通であり、バーコード等はラベル毎に異なったものが印刷される。ここでは、共通画像及び個別画像のイメージデータを、それぞれ、共通イメージデータ及び個別イメージデータと呼ぶことにする。
【００３５】
従って、各印刷物の印刷要求時にプリンター２へ送信される印刷データには、個別イメージデータが含まれ、ここでは、印刷データを、個別イメージデータと印刷コマンド（個別イメージデータそのもの以外の全ての印刷データ）に分類し、印刷データは、この両者から構成されていると表現する。
【００３６】
更に、上述したプリンター２へ送信される全てのデータを、ここでは、プリンター２での処理に相応して第１データと第２データの２種類に分類して表現する。第１データは、印刷データのうちの印刷コマンドと設定・登録コマンドを含み、第２データは、印刷データのうちの個別イメージデータとステータス要求コマンド等のリアルタイムコマンド（プリンター２側で受信時に即時に実行されるコマンド）を含む。また、その他のデータは、第１データに含まれるものとする。
【００３７】
次に、プリンター２は、ラベルなどを印刷する、例えば、インクジェット方式のラインプリンターである。図１に示すように、プリンター２は、コントローラー部２１と印刷機構部２２を備える。コントローラー部２１は、プリンター２の各所を制御し、ホストコンピューター１から受信したデータに基づいて、印刷機構部２２に印刷を実行させる印刷実行データを生成する。
【００３８】
コントローラー部２１は、図示していないが、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＮＶＲＡＭ、ＡＳＩＣ等を備え、図１に示すような機能構成を備えている。
【００３９】
送受信部２３は、ホストコンピューター１との通信を司る部分であり、ランゲージモニタ１５から送信されるデータの受信、ホストコンピューター１への応答データの送信を行う。
【００４０】
受信バッファ２４は、送受信部２３で受信されたホストコンピューター１からのデータを処理前に一時的に格納する（記憶する）記憶部であり、ＲＡＭ等で構成される。ここに記憶されたデータは、ヘッダー解析部２５で読み出された後に消去される。
【００４１】
次に、ヘッダー解析部２５は、受信バッファ２４に記憶されたデータを順次読み出して、そのヘッダー部分を解析する。具体的には、読み出したデータのヘッダー部分等から、そのデータの内容（種類）を識別し、すなわち、印刷コマンド、個別イメージデータ、リアルタイムコマンド、または、設定・登録コマンドのいずれかであるかを判別し、そのデータが第１データであれば、第１実行バッファ２６に格納し、そのデータが第２データであれば、第２解析部２８へ転送する。
【００４２】
第１実行バッファ２６は、第１データを処理の実行前に一時的に格納（記憶）する記憶部であり、ＲＡＭ等で構成される。記憶されたデータは、順次、第１解析部２７によって読み出され、読み出された後に消去される。
【００４３】
次に、第１解析部２７は、第１実行バッファ２６に記憶された第１データを順次読み出して処理する部分である。読み出したデータが、印刷コマンドである場合には、それらを解析して印刷実行データを生成し、当該印刷実行データをプリントバッファに３１に格納する。なお、第１解析部２７は、印刷実行データを生成する際に、必要に応じて、第２実行バッファ２９に記憶される個別イメージデータ、登録データ記憶部３０に記憶されるフォントデータ、レイアウトデータ、共通イメージデータ等、を読み出して用いる。
【００４４】
また、第１解析部２７は、読み出したデータが設定・登録コマンドであれば、その内容を解析し、解析結果に応じた処理を実行する。フォントデータ、レイアウトデータ、共通イメージデータ等の登録コマンドであれば、それらのデータを登録データ記憶部３０の所定箇所に記憶する。印刷条件の設定コマンドであれば、指示に従った設定処理を実行する。
【００４５】
第２解析部２８は、ヘッダー解析部２５から転送された第２データを処理する部分である。第２データが個別イメージデータである場合には、そのデータを第２実行バッファ２９に記憶する。また、第２データがステータス要求コマンド等のリアルタイムコマンドである場合には、その要求に応じた処理を実行する。リアルタイムコマンドがステータス要求コマンドである場合には、ステータス情報を取得し、送受信部２３を介してホストコンピューター１へ応答する。
【００４６】
第２実行バッファ２９は、個別イメージデータを一時的に格納（記憶）する記憶部であり、ＲＡＭ等で構成される。なお、各印刷物（ラベル等）の印刷データ（印刷コマンド）の最終部分には、その印刷データに含まれていた個別イメージデータを消去するコマンドが含まれており、そのコマンドが第１解析部２７で実行された際に、その個別イメージデータは第２実行バッファ２９から消去される。
【００４７】
次に、登録データ記憶部３０は、各印刷物（ラベル等）に共通に使用するデータを格納（記憶）する記憶部であり、ＮＶＲＡＭなどプリンター２の電源が切断されてもデータが消去されない記憶媒体で構成される。具体的には、登録データ記憶部３０は、共通イメージデータ、フォントデータ、レイアウトデータ等を記憶している。これらのデータは、第１解析部２７によって登録処理がなされる。
【００４８】
プリントバッファ３１は、第１解析部２７が生成した印刷実行データを一時的に格納（記憶）する記憶部であり、ＲＡＭ等で構成される。当該プリントバッファから印刷機構部２２の動作に同期して印刷実行データが印刷機構部２２へ送られて、印刷媒体への印刷処理が実行される。
【００４９】
次に、印刷機構部２２は、コントローラー部２１の指示に従って印刷媒体（用紙等）に対して印刷を実行し、印刷物（ラベル等）を出力する。印刷機構部２２には、インクジェット方式の場合、インクを吐出する複数のノズルを備えたヘッド部、印刷媒体を搬送する搬送部等が備えられる。また、用紙は例えばロール状に格納され、そこから搬送部によって印刷位置まで搬送される。
【００５０】
以上説明した構成を備えるプリンター２では、ホストコンピューター１からデータを受信すると、送受信部２３を介して受信したデータが受信バッファ２４に蓄えられる。受信バッファ２４に蓄えられたデータは、順次、ヘッダー解析部２５によって読み出され、ヘッダー解析部２５はそのデータがどのようなデータであるかを解析する。
【００５１】
解析の結果、第１データであれば、ヘッダー解析部２５はそのデータを第１実行バッファ２６に転送する。また、第２データであれば、ヘッダー解析部２５はそのデータを第２解析部２８に転送する。なお、エラーなどが発生し、一時的に印刷処理が停止している場合にも当該ヘッダー解析部２５は処理を継続する。
【００５２】
第１実行バッファ２６に転送され蓄積されたデータは、第１解析部２７によって、順次、処理され、データが印刷コマンドであれば、第１解析部２７は、印刷機構部２２の動作に同期したタイミングで印刷実行データを生成し、その印刷実行データをプリントバッファ３１に転送する。また、データがフォントデータなどの登録データであれば、第１解析部２７は、登録データ記憶部３０の所定箇所にそのデータを登録する。なお、エラーなどが発生し、一時的に印刷処理が停止している場合には第１解析部２７は処理を停止する。
【００５３】
また、第２解析部２８に転送されたデータがリアルタイムコマンドであれば、第２解析部２８は、即時にそのコマンドについて処理を実行する。リアルタイムコマンドがステータス要求コマンドであれば、第２解析部２８は、プリンター２のステータス情報を取得し、ホストコンピューター１のランゲージモニタ１５へ返答する。また、データが個別イメージデータであれば、第２解析部２８は、そのデータを第２実行バッファ２９に転送する。なお、エラーなどが発生し、一時的に印刷処理が停止（中断）している場合にも第２解析部２８は処理を継続する。
【００５４】
本プリンター２では、以上のようにデータ処理が実行され、一時的に印刷処理が停止している場合にも、ヘッダー解析部２５は、第１実行バッファ２６がフル状態で受信バッファ２４から第１データを読み出さないという状態にならない限り、また、第２解析部２８は、第２実行バッファ２９の空き容量より大きいイメージデータが転送されない限り、処理を継続するので、印刷処理が停止した時点で受信バッファ２４にデータが残っていても、第１実行バッファ２６及び第２実行バッファ２９に空き容量があれば、受信バッファ２４からその分のデータが第１実行バッファ２６又は第２実行バッファ２９に転送され、受信バッファ２４にその分の空き容量が確保される。
【００５５】
本プリントシステム１００では、ホストコンピューター１におけるデータ送信処理に特徴があり、以下、その具体的な内容について説明する。図２は、ランゲージモニタ１５におけるデータ送信処理の処理手順を例示したフローチャートである。
【００５６】
ランゲージモニタ１５は、ドライバー１２、ステータスモニタ１３、及びプリンター設定ツール１４からデータが送信されるのを待ち（図２のステップＳ１のＮｏ）、データが送信されればそのデータを受信して（図２のステップＳ１のＹｅｓ）、そのデータがいかなるデータであるかを判別する。
【００５７】
当該判別の結果、受信したデータが個別イメージデータである場合には（図２のステップＳ２のＹｅｓ）、ランゲージモニタ１５は、第２実行バッファ２９の空き容量確認コマンドをプリンター２に送信する（図２のステップＳ３）。当該空き容量確認コマンドは、第２実行バッファ２９におけるデータを記憶できる空き領域の容量を問い合わせるコマンドである。
【００５８】
プリンター２において、当該空き容量確認コマンドはリアルタイムコマンドとして第２解析部２８で処理され、第２解析部２８が当該コマンドに対する返答を行う。すなわち、プリンター２は、第２実行バッファ２９の空き容量の情報をランゲージモニタ１５に返信する。
【００５９】
ランゲージモニタ１５は、当該返答を受信し（図２のステップＳ４）、その時点で、第２実行バッファ２９に、上記受信した個別イメージデータを記憶するだけの十分な空き容量があるか否かを判断する（図２のステップＳ５）。具体的には、上記返答の情報から第２実行バッファ２９の空き領域の容量を把握し、その容量が当該個別イメージデータの容量よりも大きければ十分な空き容量があると判断し、そうでなければ十分な空き容量がないと判断する。
【００６０】
上記判断の結果、十分な空き容量があれば（図２のステップＳ５のＹｅｓ）、処理がステップＳ８に移行する。
【００６１】
一方、上記判断の結果、十分な空き容量がなければ（図２のステップＳ５のＮｏ）、ランゲージモニタ１５は、その時点では受信した個別イメージデータを送信しないと決定し、エラー条件が成立していなければ（図２のステップＳ６のＮｏ）、処理をステップＳ３に戻す。その後、ランゲージモニタ１５は、十分な空き容量があると判断する（図２のステップＳ５のＹｅｓ）、または、エラー条件が成立する（図２のステップＳ６のＹｅｓ）まで、所定の時間間隔でステップＳ３からの処理を繰り返し実行する。
【００６２】
なお、上述の通り、第２実行バッファ２９に記憶された個別イメージデータは使用後に消去されるので、プリンター２において通常に処理が実行されれば、時間が経過することによって第２実行バッファ２９の空き容量が増える。また、エラー条件とは、プリンター２で何らかの問題（エラー）があると判断する条件であり、例えば、エラー条件を、所定時間の経過や空き容量確認コマンドの送信回数などとすることができる。
【００６３】
エラー条件が成立した場合には（図２のステップＳ６のＹｅｓ）、ランゲージモニタ１５は、エラー処理を実行して（図２ステップＳ７）、次のデータを待つべく、処理をステップＳ１に戻す。エラー処理では、ランゲージモニタ１５は、受信したデータを破棄すると共に、当該データがプリンター２へ送信されなかった旨を送信元へ通知する。
【００６４】
ステップＳ２に戻って、受信したデータが個別イメージデータでない場合には（図２のステップＳ２のＮｏ）、また、ステップＳ５から処理が移行された場合には、ランゲージモニタ１５は、第１実行バッファ２６の空き有無確認コマンドをプリンター２に送信する（図２のステップＳ８）。
【００６５】
プリンター２において、当該空き有無確認コマンドはリアルタイムコマンドとして第２解析部２８で処理され、第２解析部２８が当該コマンドに対する返答を行う。すなわち、プリンター２は、第１実行バッファ２６のデータを記憶できる空き領域の有無を示す情報をランゲージモニタ１５に返信する。
【００６６】
ランゲージモニタ１５は、当該返答を受信し（図２のステップＳ９）、その時点で、第１実行バッファ２６に、データを記憶できる空き領域があるか否かを判断する（図２のステップＳ１０）。
【００６７】
当該判断の結果、空き領域がなければ（図２のステップＳ１０のＮｏ）、ランゲージモニタ１５は、その時点では受信したデータを送信しないと決定し、エラー条件が成立していなければ（図２のステップＳ１１のＮｏ）、処理をステップＳ８に戻す。その後、ランゲージモニタ１５は、空き領域があると判断する（図２のステップＳ１０のＹｅｓ）、または、エラー条件が成立する（図２のステップＳ１１のＹｅｓ）まで、所定の時間間隔でステップＳ８からの処理を繰り返し実行する。
【００６８】
なお、上述の通り、第１実行バッファ２６に記憶された印刷コマンド等は使用後に消去されるので、プリンター２において通常に処理が実行されれば、時間が経過することによって第１実行バッファ２６に空き領域ができる。また、エラー条件とは、ステップＳ６のものと同様の条件である。
【００６９】
エラー条件が成立した場合には（図２のステップＳ１１のＹｅｓ）、ランゲージモニタ１５は、エラー処理を実行して（図２ステップＳ１２）、次のデータを待つべく、処理をステップＳ１に戻す。エラー処理では、ランゲージモニタ１５は、受信したデータを破棄すると共に、当該データがプリンター２へ送信されなかった旨を送信元へ通知する。
【００７０】
ステップＳ１０に戻って、上記判断の結果、空き領域があれば（図２のステップＳ１０のＹｅｓ）、ランゲージモニタ１５は、受信したデータをプリンター２へ送信する（図２のステップＳ１３）。データ送信後は、処理がステップＳ１に戻り、ランゲージモニタ１５は、次のデータを待つ。
【００７１】
以上説明したように、本プリントシステム１００では、プリンター２に、受信バッファ２４と当該受信バッファ２４から転送されたデータを格納し、第１解析部２７による印刷処理前にデータのバッファリングを行う第１実行バッファ２６と第２実行バッファ２９とを備え、プリンター２が、エラーなどによって一時的に印刷処理が停止していても、第１実行バッファ２６と第２実行バッファ２９へのデータ転送を継続する、ように構成されている環境において、ホストコンピューター１のランゲージモニタ１５は、プリンター２に送信するデータを受信した際に、そのデータの格納先である第１実行バッファ２６と第２実行バッファ２９の空き容量の状況に応じて、受信したデータ送信の可否を判断する。
【００７２】
従って、プリンター２の格納先にデータを格納できない虞がある場合にはデータ送信を行わないようにすることができる。上述したプリンター２の構成により、一時的に第１解析部２７による印刷処理が停止しても受信バッファ２４のデータが第１実行バッファ２６と第２実行バッファ２９へ転送されるので、受信バッファ２４がフルの状態（データを記憶できない状態）に陥る可能性は少ないが、一時的に印刷処理が停止したタイミングによっては、ランゲージモニタ１５が既に受信していた容量の大きなデータ（イメージデータなど）がプリンター２へ送信されてしまう場合も考えられ、その場合には、第１実行バッファ２６と第２実行バッファ２９に十分な空き容量がなければ受信バッファ２４がフル（受信バッファフル）の状態になってしまう虞もある。しかし、本発明のランゲージモニタ１５では、上述の通り、データの格納先である第１実行バッファ２６、第２実行バッファ２９に格納できる容量が確保されていなければデータを送信しないので、そのような問題を回避できる。従って、受信バッファ２４をフルの状態にしてしまうことをより確実に防止できる。その結果、プリンター２は、常にステータス要求コマンド等のリアルタイムコマンドを受け取ることができ、ホストコンピューター１は、常にプリンター２の状況を確認できる。
【００７３】
また、容量の大きな個別イメージデータについては、その格納先である第２実行バッファ２９に記憶できることの確認と、第１実行バッファ２６に空きがあることの確認が取れた際にプリンター２へのデータ送信を行うので、容量の大きなイメージデータの場合でも受信バッファ２４をフルの状態にしてしまうことを防止できる。
【００７４】
なお、本発明は、ラベルに共通に用いる背景画像などの共通画像と、ラベル毎に内容の異なる個別画像があるラベルの印刷に好適であるが、ラベル以外の印刷に対しても適用することができる。
【００７５】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【符号の説明】
【００７６】
１  ホストコンピューター、  ２  プリンター、  １１  アプリケーション、  １２  ドライバー、  １３  ステータスモニタ、  １４  プリンター設定ツール、  １５  ランゲージモニタ、  ２１  コントローラー部、  ２２  印刷機構部、  ２３  送受信部、  ２４  受信バッファ、  ２５  ヘッダー解析部、  ２６  第１実行バッファ、  ２７  第１解析部、  ２８  第２解析部、  ２９  第２実行バッファ、  ３０  登録データ記憶部、  ３１  プリントバッファ、  １００  プリントシステム
【図１】
2015176196.tif 000003
【図２】
2015176196.tif 000004