(57)【特許請求の範囲】
【請求項１】
印刷データを受信する通信部と、
同時通電可能な単位で分割された複数の抵抗体を有し、受信した前記印刷データに基づく画像を感熱紙に印刷するラインヘッドと、
分割された前記単位ごとに前記抵抗体の抵抗値を検査する検査部と、を備え、
前記検査部は、分割された１単位で前記抵抗体の抵抗値を検査し、検査の終了後、予め設定された待機時間、次の単位の前記抵抗体に対する検査を待機し、
前記待機時間の間に前記印刷データを受信しなかった場合、検査が終了した単位の次の単位の前記抵抗体の抵抗値を検査し、
前記待機時間の間に前記印刷データを受信した場合、前記ラインヘッドによる前記画像の印刷をし、前記画像の印刷終了後、検査が終了した単位の次の単位の前記抵抗体の抵抗値の検査を実行することを特徴とするサーマルプリンター。
【請求項２】
前記印刷データを前記ラインヘッドで印刷可能なデータに展開する展開部を備え、
前記検査部は、前記待機時間を、１ライン分の前記印刷データが前記展開部に展開される時間よりも長く設定することを特徴とする請求項１記載のサーマルプリンター。
【請求項３】
前記検査部は、前記待機時間の間に前記通信部が前記印刷データを受信したときに検査を中断することを特徴とする請求項１又は２記載のサーマルプリンター。
【請求項４】
前記検査部は、前記待機時間の間に前記ラインヘッドが前記印刷データに基づく前記画像を印刷するときに検査を中断することを特徴とする請求項１又は２記載のサーマルプリンター。
【請求項５】
前記通信部が所定のコマンドを受信すると、前記検査部により前記抵抗体の検査の状態を取得し、前記通信部は、前記所定のコマンドにより指定された送信先に、取得した前記抵抗体の検査の状態を示す情報を送信することを特徴とする請求項１から４のいずれかに記載のサーマルプリンター。
【請求項６】
前記通信部が前記所定のコマンドを受信した場合に、前記検査部による前記ラインヘッドの前記複数の抵抗体の検査が終了していないときには、前記抵抗体の検査が終了していない旨、又は前記抵抗体の検査が未確定の旨を示す情報を、前記通信部は前記送信先に送信することを特徴とする請求項５記載のサーマルプリンター。
【請求項７】
モーターを駆動して、前記感熱紙を搬送する駆動部を備え、
前記検査部は、前記モーターが停止したとき、又は前記モーターがホールド状態となったときに前記抵抗体の検査を行うことを特徴とする請求項１から６のいずれかに記載のサーマルプリンター。
【請求項８】
同時通電可能な単位で分割された複数の抵抗体を備えたサーマルプリンターの制御方法であって、
受信した印刷データに基づき、ラインヘッドにより感熱紙に画像を印刷するステップと、
前記ラインヘッドが前記画像を印刷していないときに前記抵抗体を分割された前記単位ごとに検査するステップと、を含み、
前記検査するステップは、
分割された１単位で前記抵抗体の抵抗値を検査し、検査の終了後、予め設定された待機時間、次の単位の前記抵抗体に対する検査を待機し、
前記待機時間の間に前記印刷データを受信しなかった場合、検査が終了した単位の次の単位の前記抵抗体の抵抗値を検査し、
前記待機時間の間に前記印刷データを受信した場合、前記印刷するステップにより、前記ラインヘッドによる前記画像の印刷をし、前記画像の印刷終了後、検査が終了した単位の次の単位の前記抵抗体の抵抗値の検査を実行することを含むことを特徴とするサーマルプリンターの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーマルプリンター、及び、サーマルプリンターの制御方法に関する。
【背景技術】
【０００２】
従来、ラインヘッドを用いて感熱紙に画像を印刷するプリンターにおいて、ラインヘッドの欠陥を検査する検査装置を備えるものが知られている（例えば、特許文献１参照）。
特許文献１は、１ラインのすべてが空白となる空白ラインの印刷時に、サーマルヘッドの欠陥を検出する欠陥検出手段を備える印刷装置を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１２７４８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ラインヘッドの検査中に印刷データを受信した場合、ラインヘッドの検査が終了するまで受信した印刷データを印刷することができない。引用文献１も、ラインヘッドの検査を行っている間は、空白ラインの印刷を行うため、印刷データに基づく画像は印刷されず、印刷データの印刷を待機させることになる。
本発明は、上述した事情に鑑みてなされたものであり、ラインヘッドの検査によって印刷データの印刷を待機させる時間を低減させることができるサーマルプリンター、及び、サーマルプリンターの制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明のプリンターは、印刷データを受信する通信部と、同時通電される単位で分割された複数の抵抗体を有し、受信した前記印刷データに基づく画像を印刷するラインヘッドと、分割された前記単位ごとに前記抵抗体の抵抗値を検査する検査部と、を備え、前記検査部は、前記ラインヘッドが前記画像を印刷していないときに前記抵抗体を分割された前記単位ごとに検査し、前記印刷データに基づき前記抵抗体の検査を前記単位で中断し、前記ラインヘッドによる前記画像の印刷終了後、中断した検査を前記単位で続きから実行することを特徴とする。
本発明によれば、抵抗体の検査を分割された単位ごとに行い、印刷データに基づき抵抗体の検査を単位で中断する。ラインヘッドによる画像の印刷が終了すると、中断した検査を単位で続きから実行する。従って、ラインヘッドの検査によって印刷データの印刷を待機させる時間を低減させることができる。
【０００６】
本発明は、上記プリンターにおいて、前記検査部は、前記通信部が前記印刷データを受信したときに検査を中断することを特徴とする。
本発明によれば、通信部が印刷データを受信したときにラインヘッドの検査を中断することができる。従って、ラインヘッドの検査によって印刷データの印刷を待機させる時間を低減させることができる。
【０００７】
本発明は、上記プリンターにおいて、前記検査部は、前記ラインヘッドが前記印刷データに基づく前記画像を印刷するときに検査を中断することを特徴とする。
本発明によれば、ラインヘッドが印刷データに基づく画像を印刷するときにラインヘッドの検査を中断することができる。従って、ラインヘッドの検査によって印刷データの印刷を待機させる時間を低減すると共に、ラインヘッドの検査を、印刷データに基づく画像を印刷する直前まで行うことができる。
【０００８】
本発明は、上記プリンターにおいて、前記印刷データを前記ラインヘッドで印刷可能なデータに展開する展開部を備え、前記検査部は、前記抵抗体を分割された前記単位ごとに所定の周期で検査し、前記所定の周期における検査をしていない期間は、前記展開部が所定単位量のデータを展開できる期間よりも長く設定されることを特徴とする。
本発明によれば、検査をしていない期間が、展開部が所定単位量のデータを展開できる期間よりも長く設定される。
従って、検査をしていない期間に印刷データを受信した場合であっても、抵抗体の検査を行うことなく、受信した印刷データの印刷が行われる確率を高めることができる。
【０００９】
本発明は、上記プリンターにおいて、前記検査部は、所定のコマンドを前記通信部で受信すると、前記抵抗体の検査の状態を取得し、前記所定のコマンドにより指定された送信先に、取得した前記抵抗体の検査の状態を示す情報を送信することを特徴とする。
本発明によれば、プリンターと通信を行い、プリンターに所定のコマンドを送信することで、プリンターに抵抗体の検査の状態を示す情報を外部の装置に送信させることができる。
【００１０】
本発明は、上記プリンターにおいて、前記検査部は、前記所定のコマンドを受信した場合に、前記ラインヘッドの前記複数の抵抗体の検査が終了していないときには、前記抵抗体の検査が終了していない旨、又は前記抵抗体の検査が未確定の旨を示す情報を前記送信先に送信することを特徴とする。
本発明によれば、複数の抵抗体の検査が終了していない場合に抵抗体の検査が終了していない旨、又は抵抗体の検査が未確定の旨を示す情報が送信先に送信される。従って、送信先は、所定時間をおいて、再度、所定のコマンドをプリンターに送信することで、抵抗体の検査の状態を示す情報を取得することができる。
【００１１】
本発明は、上記プリンターにおいて、モーターを駆動して、印刷媒体を前記ラインヘッドの印刷位置に搬送する駆動部を備え、前記検査部は、前記モーターが駆動を停止したとき、又は前記モーターが駆動を停止しホールド状態となったときに前記抵抗体の検査を行うことを特徴とする。
本発明によれば、モーターが駆動を停止したとき、又はモーターが駆動を停止しホールド状態となったときに抵抗体の検査が行われる。従って、印刷データの印刷が行われていないタイミングを精度よく判定することができる。
【００１２】
本発明のプリンターの制御方法は、印刷データを受信する通信部と、同時通電される単位で分割された複数の抵抗体を有し、受信した前記印刷データに基づく画像を印刷するラインヘッドと、分割された前記単位ごとに前記抵抗体の抵抗値を検査する検査部と、を備えたプリンターの制御方法であって、前記ラインヘッドが前記画像を印刷していないときに前記抵抗体を分割された前記単位ごとに検査するステップと、前記印刷データに基づき前記抵抗体の検査を前記単位で中断するステップと、前記ラインヘッドによる前記画像の印刷終了後、中断した検査を前記単位で続きから実行するステップと、を有することを特徴とする。
本発明によれば、抵抗体の検査を分割された単位ごとに行い、印刷データに基づき抵抗体の検査を単位で中断する。ラインヘッドによる画像の印刷が終了すると、中断した検査を単位で続きから実行する。従って、ラインヘッドの検査によって印刷データの印刷を待機させる時間を低減させることができる。
【図面の簡単な説明】
【００１３】
【図１】印刷システムの構成を示す構成図。
【図２】ラインヘッド及びヘッド駆動回路の構成を示す構成図。
【図３】ドット抜け検査の実行タイミングを示す図。
【図４】ドット抜け検査の実行タイミングを示す図。
【図５】第１実施形態のプリンターの動作を示すフローチャート。
【図６】第１実施形態のプリンターの動作を示すフローチャート。
【図７】第２実施形態のプリンターの動作を示すフローチャート。
【発明を実施するための形態】
【００１４】
［第１実施形態］
以下、添付図面を参照して本発明の実施形態について説明する。図１は、印刷システム１の構成を示す構成図である。
印刷システム１は、ホストコンピューター（以下、ホスト装置という）１００と、プリンター２００とを備える。
ホスト装置１００は、プリンター２００に印刷させる印刷データを生成して、プリンター２００に送信する。プリンター２００は、ホスト装置１００から受信した印刷データを解析して印刷ビットデータを生成し、印刷媒体に印刷する。以下では、プリンター２００が、熱を加えると色が変化する感熱紙に熱したラインヘッドを当てて印刷するサーマルプリンターである場合を例に説明する。印刷ビットデータの詳細については後述する。
【００１５】
ホスト装置１００とプリンター２００とは通信回線５により接続される。通信回線５は、通信ケーブル又は無線通信回線で構成される。通信回線５は、例えば、ＵＳＢ、ＩＥＥＥ１２８４、ＩＥＥＥ１３９４、ＲＳ−２３２Ｃ等の各種規格に準拠した１対１接続の通信ケーブルである。また、通信回線５は、Ｅｔｈｅｒｎｅｔ（登録商標）に準拠した有線ネットワークであってもよい。さらに、通信回線５は、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉｒｅｌｅｓｓ ＵＳＢ等の近距離無線通信や、無線ＬＡＮ等の無線通信ネットワークを採用してもよい。
【００１６】
ホスト装置１００は、例えば、デスクトップ型コンピューターや、ノート型コンピューター、タブレット端末型コンピューターを用いることができる。また、ホスト装置１００として、スマートフォンや携帯電話機等を用いてもよい。
ホスト装置１００は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を有する制御部と、不揮発性記憶装置とを備える（いずれも図示略）。ＲＯＭは、ＯＳ（Operating System）等の基本制御プログラムを記憶する。また、不揮発性記憶装置は、アプリケーションソフトウェアや、ドライバーソフトウェアを記憶する。基本制御プログラムや、アプリケーションソフトウェア、ドライバーソフトウェアはＲＡＭに展開され、ＣＰＵが展開されたこれらのプログラムやソフトウェアを実行する。ＣＰＵがアプリケーションソフトウェアを実行することで印刷画像が生成され、ＣＰＵがドライバーソフトウェアを実行することで、生成された印刷画像がプリンター２００用の印刷データに変換される。変換された印刷データは、通信回線５を介してプリンター２００に送信される。
【００１７】
また、ホスト装置１００は、プリンター２００にコマンドを送信する。ホスト装置１００がプリンター２００に送信するコマンドには、例えば、プリンター２００のステータスやバージョン情報を取得するコマンドや、プリンター２００の動作モードを変更するコマンド、プリンター２００のラインヘッド２７０が備える複数の発熱素子の検査結果を取得するコマンド等が含まれる。
【００１８】
プリンター２００は、ホスト装置１００から送信される印刷データをインターフェース部（以下、Ｉ／Ｆ部と略記する）２１０で受信する。Ｉ／Ｆ部２１０は、本発明の「通信部」に相当する。
Ｉ／Ｆ部２１０は、通信回線５を介してホスト装置１００に接続され、制御部２２０の制御に従ってホスト装置１００との間でデータを送受信する。プリンター２００は、Ｉ／Ｆ部２１０により受信した印刷データを、制御部２２０の制御に従って受信バッファー２１５に格納する。制御部２２０及び受信バッファー２１５について次に説明する。
【００１９】
制御部２２０は、プリンター２００の各部を制御する。
制御部２２０には、受信バッファー２１５、プリントバッファー２３１、入力部２３２、ＬＥＤ表示部２３３、用紙センサー２３４、モータードライバー２３５、ヘッドドライバー２５０、記憶部２８０が接続される。モータードライバー２３５は、本発明の「駆動部」に相当する。
【００２０】
受信バッファー２１５は、受信した印刷データを一時的に記憶する記憶領域を有する。プリントバッファー２３１は、１ライン分の印刷ビットデータが展開される記憶領域を有する。印刷ビットデータは、制御部２２０が受信した印刷データに基づいて生成するデータであり、ラインヘッド２７０が備える各発熱素子が、黒ドットを形成するか否かを示すデータである。印刷ビットデータは、ラインヘッド２７０が備える発熱素子数分のビットデータから構成される。各ビットデータは、対応する発熱素子が黒ドットを形成するか否かを示す１ビットのデータであり、「通電する」を意味する“１”と、「通電しない」を意味する“０”とで構成される。
受信バッファー２１５及びプリントバッファー２３１は、半導体メモリー等の記憶装置により構成される。受信バッファー２１５及びプリントバッファー２３１は、それぞれ、独立した記憶装置を用いて構成してもよいし、受信バッファー２１５及びプリントバッファー２３１の一方又は両方を、制御部２２０が備えるＲＡＭを用いて構成してもよい。
【００２１】
入力部２３２は、プリンター２００が備える操作パネルに設けられたスイッチ等（いずれも図示略）に接続される。入力部２３２は、スイッチが操作されると、操作されたスイッチに対応した操作信号を制御部２２０に出力する。
【００２２】
ＬＥＤ表示部２３３は、ＬＥＤを備え、ＬＥＤの点灯状態によりプリンター２００の状態やエラーの発生の有無等を報知する。
【００２３】
用紙センサー２３４は、感熱紙の有無を検出する光学式センサーである。用紙センサー２３４は、感熱紙が搬送ローラー（図示略）に搬送される搬送方向において、ラインヘッド２７０よりも上流側に位置し、感熱紙の有無を示す検出値を制御部２２０に出力する。制御部２２０は、用紙センサー２３４の検出値を入力して感熱紙の用紙切れを検出し、ＬＥＤ表示部２３３のＬＥＤを点灯させる。
【００２４】
モータードライバー２３５には、搬送ローラーを回転させる搬送モーター２３６と、カッター機構（図示略）が備える可動刃を動作させるカッター駆動モーター２３７とが接続される。搬送モーター２３６及びカッター駆動モーター２３７は、例えば、ステッピングモーターにより構成することができる。搬送モーター２３６は、本発明の「モーター」に相当する。
モータードライバー２３５は、制御部２２０の制御に従って搬送モーター２３６を駆動させる。搬送モーター２３６の駆動によって搬送ローラーが正回転又は逆回転し、感熱紙が搬送方向、又は搬送方向とは逆方向に搬送される。
また、モータードライバー２３５は、制御部２２０の制御に従ってカッター駆動モーター２３７を駆動させる。カッター駆動モーター２３７によりカッター機構の可動刃が駆動され、感熱紙が切断される。
【００２５】
ヘッドドライバー２５０は、ラインヘッド２７０に接続される。ヘッドドライバー２５０は、制御部２２０の制御に従ってラインヘッド２７０が備える複数の発熱素子に選択的に通電し、複数の発熱素子を発熱させる。
【００２６】
記憶部２８０は、例えば、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）や、フラッシュメモリー等の不揮発性の記憶装置である。記憶部２８０は、例えば、後述するヘッド素子検査部２２３が実施する各抵抗体の検査結果や、プリンター２００が印刷した印刷行数等の情報を記憶する。
【００２７】
制御部２２０は、ＣＰＵ、ＲＯＭ、ＲＡＭ等（いずれも図示略）を備える。ＲＯＭは、ファームウェアを記憶する。ＲＯＭの記憶するファームウェアは、ＲＡＭに展開され、ＣＰＵが展開されたファームウェアを実行してプリンター２００の各部を制御する。
また、制御部２２０は、機能ブロックとして印刷制御部２２１と、通電制御部２２２と、ヘッド素子検査部２２３とを備える。印刷制御部２２１や、通電制御部２２２、ヘッド素子検査部２２３は、ＣＰＵがファームウェアを実行することで実現される機能をブロックとして便宜的に表現したものであり、特定のアプリケーションやハードウェアを意味するものではない。ヘッド素子検査部２２３は、本発明の「検査部」に相当する。
【００２８】
印刷制御部２２１は、ホスト装置１００から受信した印刷データを受信バッファー２１５に格納する。印刷制御部２２１は、格納された印刷データを解析して印刷ビットデータを１ラインごとに生成する。印刷制御部２２１は、生成した１ライン分の印刷ビットデータをプリントバッファー２３１に展開する。１ラインとは、ラインヘッド２７０が備える複数の発熱素子が並ぶ方向（以下、ライン方向という）のドット列を意味する。また、ライン方向とは、感熱紙の搬送方向に直交する方向である。印刷制御部２２１及びプリントバッファー２３１は、本発明の「展開部」に相当する。また、印刷制御部２２１が、プリントバッファー２３１に展開する１ラインの印刷ビットデータが、本発明の「所定単位量のデータ」に相当する。
また、印刷制御部２２１は、モータードライバー２３５を制御して搬送モーター２３６を駆動させ、感熱紙をラインヘッド２７０の印刷位置に搬送する。また、印刷制御部２２１は、モータードライバー２３５を制御してカッター駆動モーター２３７を駆動させ、印刷が終了した感熱紙を可動刃により切断する。
【００２９】
通電制御部２２２は、印刷制御部２２１がプリントバッファー２３１に展開した１ライン分の印刷ビットデータに基づきヘッドドライバー２５０を制御し、ラインヘッド２７０が備える各発熱素子に選択的に通電する。これにより、感熱紙に印刷ビットデータに基づく画像が印刷される。
【００３０】
ヘッド素子検査部２２３は、ヘッドドライバー２５０を制御して、ラインヘッド２７０が備える各発熱素子の検査を行い、検査結果をＲＡＭに保存する。ヘッド素子検査部２２３が行う各発熱素子の検査の方法については後述する。また、ヘッド素子検査部２２３は、プリンター２００の電源がオフされる前に、ＲＡＭに保存した検査結果を、記憶部２８０に記憶させる。
また、ヘッド素子検査部２２３が発熱素子の検査を行うタイミングは、ホスト装置１００からコマンドを受信した場合、プリンター２００の印刷行数が予め設定された行数（例えば、数千〜１万行）になる毎、プリンター２００の使用期間が予め設定された期間に達する毎、プリンター２００の電源が投入される毎、プリンター２００の電源がオフにされる毎、等のタイミングで定期的に行ってもよい。
【００３１】
また、ヘッド素子検査部２２３は、ホスト装置１００からラインヘッド２７０が備える複数の発熱素子の検査結果を取得するコマンド（所定のコマンド）を受信した場合、各発熱素子の検査結果をＲＡＭ又は記憶部２８０から取得する。ヘッド素子検査部２２３は、取得した検査結果を示す情報をホスト装置１００に送信する。
【００３２】
また、ホスト装置１００がプリンター２００に送信する検査結果を取得するコマンドには、情報の送信先を特定する情報（例えば、ＩＰアドレス等）が含まれていてもよい。本実施形態の制御部２２０は、受信したコマンドを送信した送信元であるホスト装置１００に検査結果を示す情報を返信するように構成しているが、コマンドを送信した送信元とは異なる装置に検査結果を示す情報を送信してもよい。例えば、プリンター２００とタブレット端末（図示略）とが無線通信回線で接続された構成において、タブレット端末からプリンター２００に検査結果を取得するコマンドを送信する。プリンター２００は、受信したコマンドに含まれる情報の送信先、例えば、Ｉ／Ｆ部２１０で接続されたホスト装置１００に検査結果を送信する。
【００３３】
また、ヘッド素子検査部２２３は、ホスト装置１００から検査結果を取得するコマンドを受信した際に、検査が終了していない発熱素子が存在する場合には、検査が終了していない旨を示す情報をホスト装置１００に送信してもよい。また、ヘッド素子検査部２２３は、発熱素子の検査が未確定の状態である旨を示す情報をホスト装置１００に送信してもよい。
プリンター２００が、これらの情報をホスト装置１００に送信することで、ホスト装置１００は、プリンター２００の状態を把握することができる。このため、ホスト装置１００は、所定時間を経過した後に、再度、検査結果を取得するコマンドを送信することで、プリンター２００から、検査結果を示す情報を取得することができる。
【００３４】
図２は、ラインヘッド２７０及びヘッドドライバー２５０の構成を示す構成図である。
ラインヘッド２７０は、複数の発熱素子＃１〜＃ｎ（ｎは任意の自然数）を備える。発熱素子＃１〜＃ｎは、それぞれ抵抗体Ｒ１〜Ｒｎを備え、これらの抵抗体Ｒ１〜Ｒｎを選択通電することで感熱紙に印刷を行う。なお、図２には、発熱素子として発熱素子＃１〜＃２０を示し、抵抗体として抵抗体Ｒ１〜Ｒ２０を示す。以下、抵抗体Ｒ１〜Ｒｎを総称する場合に、抵抗体Ｒと表記する。各抵抗体Ｒ１〜Ｒｎの一端は共通電極２５２にそれぞれ接続され、他端はヘッドドライバー２５０が備えるドライバーＩＣ２６０に接続される。
【００３５】
ヘッドドライバー２５０は、電源供給部２５１と、ヘッド駆動回路２５７と、ドライバーＩＣ２６０とを備える。
電源供給部２５１は、抵抗２５３を介して共通電極２５２に接続され、共通電極２５２に接続した各発熱素子＃１〜＃ｎに電源電圧（以下、ヘッド電圧という）を供給する。抵抗２５３と共通電極２５２との接続点には、不図示の電圧（電流）測定部により電圧（電流）値が測定される電圧（電流）測定点２５５が設けられる。電圧（電流）測定部は、電圧（電流）測定点２５５の電圧、または測定点２５５に流れる電流を測定する。電圧（電流）測定部により測定された電圧（電流）値は、不図示のＡ／Ｄ（アナログ／デジタル）変換部によりＡ／Ｄ変換され、ヘッド素子検査部２２３に入力される。
【００３６】
ヘッド駆動回路２５７は、ラインヘッド２７０が備える発熱素子＃１〜＃ｎを選択的に通電するための信号をドライバーＩＣ２６０に出力する。ヘッド駆動回路２５７が出力する信号には、クロック信号ＣＬＫ、出力画素データ、ラッチ信号ＬＡＴ、ストローブ信号Ｓｔ１及びストローブ信号Ｓｔ２が含まれる。これらの信号の詳細については後述する。
【００３７】
ドライバーＩＣ２６０は、ヘッド駆動回路２５７から出力される信号に従って各発熱素子＃１〜＃ｎを選択的に通電させる。ドライバーＩＣ２６０は、セレクター２６１と、シフトレジスタ２６３と、ラッチレジスタ２６５と、駆動回路２６７とを備える。
【００３８】
セレクター２６１は、制御部２２０と、ヘッド駆動回路２５７と、シフトレジスタ２６３とに接続される。
セレクター２６１は、ヘッド駆動回路２５７のデータ端子（ＤＡＴＡ）から出力される印刷ビットデータを入力する。セレクター２６１は、制御部２２０の制御に従って、入力される印刷ビットデータを出力するシフトレジスタ２６３のシフトレジスタセルＳを変更する。この処理の詳細については後述する。
【００３９】
シフトレジスタ２６３は、発熱素子＃１〜＃ｎの数と同数のシフトレジスタセルＳ１〜Ｓｎを備える。図２には、シフトレジスタセルとしてシフトレジスタセルＳ１〜Ｓ２０を示す。以下では、シフトレジスタセルＳ１〜Ｓｎを総称する場合に、シフトレジスタセルＳと表記する。
シフトレジスタ２６３には、ヘッド駆動回路２５７のクロック端子（ＣＬＯＣＫ）からクロック信号ＣＬＫが入力される。また、シフトレジスタ２６３には、セレクター２６１を介して印刷ビットデータを構成するビットデータがシリアル入力される。各シフトレジスタセルＳの出力は、ラッチレジスタ２６５に接続される。
【００４０】
ラッチレジスタ２６５は、発熱素子＃１〜＃ｎの数と同数のラッチ回路Ｌ１〜Ｌｎ（いずれも図示略）を備える。以下、ラッチ回路Ｌ１〜Ｌｎを総称する場合に、ラッチ回路Ｌと表記する。
ラッチレジスタ２６５には、ヘッド駆動回路２５７のラッチ端子（ＬＡＴＣＨ）から出力されるラッチ信号ＬＡＴが入力される。ラッチレジスタ２６５は、ラッチ信号ＬＡＴをトリガーとして各シフトレジスタセルＳ１〜Ｓｎが保持する各ビットデータを、対応するラッチ回路Ｌ１〜Ｌｎに保持する。すなわち、シフトレジスタセルＳ１の保持するビットデータがラッチ回路Ｌ１に保持され、シフトレジスタセルＳ２の保持するビットデータがラッチ回路Ｌ２に保持される。以下、同様にしてシフトレジスタセルＳｎの保持するビットデータがラッチ回路Ｌｎに保持される。
【００４１】
駆動回路２６７は、発熱素子＃１〜＃ｎの数と同数の駆動素子Ａ１〜Ａｎを備える。図２には、駆動素子として駆動素子Ａ１〜Ａ２０を示す。以下、駆動素子Ａ１〜Ａｎを総称する場合に、駆動素子Ａと表記する。
駆動素子Ａ１〜Ａｎには、ヘッド駆動回路２５７から出力されるストローブ信号Ｓｔ１と、ストローブ信号Ｓｔ２とのいずれか一方が入力される。以下、ストローブ信号Ｓｔ１と、ストローブ信号Ｓｔ２とを総称する場合に、ストローブ信号Ｓｔという。
また、駆動素子Ａ１〜Ａｎには、対応するラッチ回路Ｌ１〜Ｌｎが保持するビットデータが入力される。すなわち、ラッチ回路Ｌ１の保持するビットデータが駆動素子Ａ１に入力され、ラッチ回路Ｌ２保持するビットデータが駆動素子Ａ２に入力される。以下、同様にしてラッチ回路Ｌｎの保持するビットデータが駆動素子Ａｎに入力される。
また、駆動素子Ａ１〜Ａｎの出力は、対応する発熱素子＃１〜＃ｎの抵抗体Ｒ１〜Ｒｎに接続される。
【００４２】
発熱素子♯１〜♯ｎは、同時通電される単位ごとの複数のブロックに分割される。発熱素子♯１〜♯ｎは、ストローブ信号Ｓｔによって複数のブロックに分割される。
図２には、発熱素子♯１〜♯２０を、ブロック１と、ブロック２との２つのブロックに分割した場合を示す。以下では、ブロック１に、発熱素子♯１〜♯１０が属し、ブロック２に、発熱素子♯１１〜♯２０が属するとして説明するが、ブロックに属する発熱素子の数は、１０個に限定されるものではない。
ブロック１に属する発熱素子♯１〜♯１０は、これらの発熱素子♯１〜♯１０に接続する駆動素子Ａ１〜Ａ１０に、ストローブ信号Ｓｔ１が入力される。また、ブロック２に属する発熱素子♯１１〜♯２０は、これらの発熱素子♯１１〜♯２０に接続する駆動素子Ａ１１〜Ａ２０にストローブ信号Ｓｔ２が入力される。ストローブ信号Ｓｔ１及びＳｔ２は、駆動素子Ａ１〜Ａｎのオンとオフを切り替えるための信号である。例えば、ストローブ信号Ｓｔ１の信号レベルを“Ｈｉ”レベルに設定し、ストローブ信号Ｓｔ２の信号レベルを“Ｌｏｗ”レベルに設定したとする。この場合、駆動素子Ａ１〜Ａ１０に接続する発熱素子♯１〜♯１０のうち、「１」のビットデータを保持する駆動素子Ａ１〜Ａ１０に接続した発熱素子♯１〜♯１０が同時通電する。このとき、発熱素子♯１１〜♯２０は、ストローブ信号Ｓｔ２が“Ｌｏｗ”レベルであるため通電しない。
また、例えば、ストローブ信号Ｓｔ２の信号レベルを“Ｈｉ”レベルに設定し、ストローブ信号Ｓｔ１の信号レベルを“Ｌｏｗ”レベルに設定したとする。この場合、駆動素子Ａ１１〜Ａ２０に接続する発熱素子♯１１〜♯２０のうち、「１」のビットデータを保持する駆動素子Ａ１１〜Ａ２０に接続した発熱素子♯１１〜♯２０が同時通電する。このとき、発熱素子♯１〜♯１０は、ストローブ信号Ｓｔ１が“Ｌｏｗ”レベルであるため通電しない。
感熱紙に印刷データに基づく画像を印刷する場合、通電制御部２２２は、まず、セレクター２６１を制御して、セレクター２６１が、ヘッド駆動回路２５７から入力される印刷ビットデータを出力する出力先を、シフトレジスタ２６３のシフトレジスタセルＳ１に設定する。
次に、通電制御部２２２は、プリントバッファー２３１に格納した印刷ビットデータや、制御データをヘッド駆動回路２５７に出力する。制御データには、例えば、ラッチレジスタ２６５に印刷ビットデータをラッチさせるタイミングや、ストローブ信号Ｓｔ１及びＳｔ２をオンさせるタイミング等が規定される。
【００４３】
ヘッド駆動回路２５７は、受け取った印刷ビットデータを、クロック信号ＣＬＫに同期して１ビットずつセレクター２６１に出力する。セレクター２６１は、入力される印刷ビットデータを、通電制御部２２２の制御に従い、シフトレジスタ２６３のシフトレジスタセルＳ１に出力する。
シフトレジスタ２６３は、クロック信号ＣＬＫに同期して、セレクター２６１から順次入力される印刷ビットデータをシフトさせ、シフトレジスタ２６３を構成するシフトレジスタセルＳ１〜Ｓｎに１ライン分の印刷ビットデータを保持する。
【００４４】
ヘッド駆動回路２５７は、シフトレジスタ２６３に１ライン分の印刷ビットデータが保持されたタイミングで、ラッチレジスタ２６５にラッチ信号ＬＡＴを出力する。ラッチレジスタ２６５は、ヘッド駆動回路２５７から入力されるラッチ信号ＬＡＴをトリガーとして、シフトレジスタ２６３から入力される１ライン分の印刷ビットデータをラッチする。
【００４５】
次に、ヘッド駆動回路２５７は、駆動回路２６７に出力するストローブ信号Ｓｔ１及びＳｔ２の信号レベルを“Ｌｏｗ”レベルから“Ｈｉ”レベルに変化させる。
ストローブ信号Ｓｔ１及びＳｔ２の信号レベルが“Ｈｉ”レベルに変化すると、駆動素子Ａ１〜Ａｎのうち、「１」のビットデータを保持しているラッチ回路Ｌ１〜Ｌｎに接続された駆動素子Ａ１〜Ａｎがオンとなる。駆動素子Ａ１〜Ａｎがオンされると、オンされた駆動素子Ａ１〜Ａｎに接続された発熱素子＃１〜＃ｎに、共通電極２５２を介して電流が流れる。これにより、発熱素子＃１〜＃ｎのうちオンの印刷ビットデータに対応する発熱素子の抵抗体Ｒが発熱し、感熱紙にドットが形成される。
【００４６】
次に、ヘッド素子検査部２２３が行うドット抜け検査について説明する。
ヘッド素子検査部２２３は、ラインヘッド２７０のドット抜け検査を行う。ドット抜け検査とは、ラインヘッド２７０の備える抵抗体Ｒ１〜Ｒｎの抵抗値の変化を検出し、不良素子を特定する検査である。ラインヘッド２７０の備える抵抗体Ｒ１〜Ｒｎは、経時変化により劣化する場合、抵抗値が上昇する。また、静電気などによる破壊や断線した場合、抵抗体Ｒ１〜Ｒｎの抵抗値はさらに大きくなる。このような抵抗値の上昇した抵抗体Ｒ１〜Ｒｎを、以下では不良素子という。不良素子を用いて印刷を行った場合、不良素子においてドットを形成することができず、いわゆるドット抜けを引き起こす。以下では、ドット抜け検査を簡単に、「検査」ともいう。
【００４７】
ヘッド素子検査部２２３は、ラインヘッド２７０が備える複数の発熱素子をブロック単位に検査する。ヘッド素子検査部２２３は、検査対象のブロック（以下、検査ブロックという）を選択し、選択した検査ブロックに含まれる発熱素子を検査する。ヘッド素子検査部２２３は、検査ブロックの発熱素子に対する検査が終了すると、予め設定された待機時間だけ、次の検査ブロックに対する検査の実行を待機する。ヘッド素子検査部２２３は、待機時間だけ待機すると、印刷データに基づいて、次の検査ブロックの発熱素子に対する検査を行うか否かを判定する。
印刷データに基づいて、ブロック２に対する検査を行うか否かを判定する方法について、図３及び図４を参照しながら説明する。
【００４８】
図３及び図４は、ドット抜け検査の実行タイミングを示す図である。特に、図３は、ドット抜け検査の実行中に印刷データを受信しなかった場合を示し、図４は、ドット抜け検査の実行中に印刷データを受信した場合を示す。
ヘッド素子検査部２２３は、印刷データに基づく画像の印刷が終了し、電源供給部２５１のヘッド電圧が“Ｌｏｗ”レベルに変更され（図３に示すタイミングＴ１）、搬送モーター２３６の駆動が停止した場合に、印刷データの印刷が終了したと判定する。そして、ヘッド素子検査部２２３は、検査ブロックであるブロック１の検査を開始する。なお、本実施形態では、検査ブロックを、ブロック１、ブロック２、ブロック３、・・・、ブロックｎの順に選択する場合について説明するが、検査ブロックを、ブロック１、ブロック２、ブロック３、・・・、ブロックｎの順番に選択する必要はない。例えば、ブロックｎ、ブロックｎ−１、ブロックｎ−２、・・・、ブロック１の順に検査ブロックを選択してもよい。
【００４９】
ヘッド素子検査部２２３は、検査を行う場合、まず、ヘッド駆動回路２５７に検査用ビットデータを出力させる。ヘッド駆動回路２５７は、ヘッド素子検査部２２３の制御に従って、データ端子（ＤＡＴＡ）から検査用ビットデータを出力する。検査用ビットデータは、最初の１ビットが「１」のデータであり、２ビット目以降は、「０」のデータである。また、検査用ビットデータのビット数は、検査対象のブロック（以下、検査ブロックという）に属する発熱素子の数と同数となる。例えば、検査ブロックに１０個の発熱素子が含まれる場合、ヘッド駆動回路２５７は、検査用ビットデータとして１０ビットの検査用ビットデータを出力する。
【００５０】
セレクター２６１は、ヘッド素子検査部２２３の制御に従って、入力される検査用ビットデータを検査ブロックの先頭のシフトレジスタセルＳに出力する。例えば、検査ブロックがブロック１である場合、セレクター２６１は、検査用ビットデータを１ビットずつ順に、シフトレジスタセルＳ１に出力する。また、検査ブロックがブロック２である場合、セレクター２６１は、検査用ビットデータを１ビットずつ順に、シフトレジスタセルＳ１１に出力する。
【００５１】
シフトレジスタ２６３は、クロック信号ＣＬＫに同期して、セレクター２６１から順次入力される検査用ビットデータをシフトさせる。すなちち、検査用ビットデータは、クロック信号ＣＬＫに同期して、シフトレジスタセルＳ１〜Ｓ１０を順にシフトされる。
【００５２】
ヘッド駆動回路２５７は、検査ブロックがブロック１である場合、ストローブ信号Ｓｔ１の信号レベルを“Ｌｏｗ”レベルから“Ｈｉ”レベルに切り替える。また、ヘッド駆動回路２５７は、ストローブ信号Ｓｔ２の信号レベルは“Ｌｏｗ”レベルのままとする。さらに、ヘッド駆動回路２５７は、ドット抜け検査の実施中は、ラッチ信号ＬＡＴを出力しない。
【００５３】
駆動素子Ａがオンになる時間はヘッド駆動回路２５７が出力するストローブ信号Ｓｔのパルス幅に従う。ヘッド駆動回路２５７は、感熱紙への印刷時よりも短いパルス幅のストローブ信号Ｓｔを出力する。これにより、駆動素子Ａ１〜Ａ１０は、ヘッド駆動回路２５７が出力されるクロック信号ＣＬＫに同期して順にオンに切り替わり、ヘッド駆動回路２５７がストローブ信号Ｓｔ１を出力する間だけ発熱素子＃１〜＃１０を順に通電させる。従って、発熱素子＃１〜＃１０は、１つずつ順に通電される。
【００５４】
各発熱素子＃１〜＃１０が順に通電される間に電圧（電流）測定点２５５の電圧（電流）値が測定される。ヘッド素子検査部２２３が電圧を測定する場合は、測定された電圧（電流）測定点２５５の電圧値を取得し、電源供給部２５１の所定の出力電圧と取得した電圧値との電位差と、抵抗２５３の所定の抵抗値から電流値を求め、電源供給部２５１の出力電圧からこの電流値を除算して各発熱素子＃１〜＃１０の抵抗値を求める。ヘッド素子検査部２２３が電流値を測定する場合は、測定された電圧（電流）測定点２５５の電流値を取得し、電源供給部２５１の所定の出力電圧から取得した電流値と抵抗２５３の所定の抵抗値を乗算したものを引いた電圧値を求め、この電圧値から取得した電流値を除算して、各発熱素子＃１〜＃１０の抵抗値を求める。このように、ヘッド素子検査部２２３は、電圧（電流）測定点２５５において検出された電圧値または電流値と、電源供給部２５１の出力電圧と、抵抗２５３の抵抗値に基づいて、各抵抗体Ｒ１〜Ｒｎの抵抗値を求める。そして、ヘッド素子検査部２２３は、予め設定されたしきい値より高い抵抗値を示した発熱素子を不良素子と判定する。ヘッド素子検査部２２３は、不良素子と判定した発熱素子の番号をＲＡＭに記憶させる。また、ヘッド素子検査部２２３は、プリンター２００の電源がオフされる前に、不良素子と判定した発熱素子の番号を記憶部２８０に記憶させる。
【００５５】
ブロック１に含まれる発熱素子の検査が終了すると、ヘッド素子検査部２２３は、ヘッド電圧を停止させ、予め設定された待機時間だけ、次の検査ブロックであるブロック２の発熱素子に対する検査を待機する。この待機時間は、ドット抜け検査の実施中に印刷データを受信した場合に、ドット抜け検査を中断し、印刷データに基づく画像の印刷を実行させるために設けられた時間である。複数のブロックのドット抜け検査を連続して行ってしまうと、ドット抜け検査の実施中に印刷データを受信した場合に、ドット抜け検査が終了するまで印刷データに基づく画像の印刷を待機することになる。また、待機時間は、印刷制御部２２１が、受信した印刷データに基づき１ライン分の印刷ビットデータを生成して、生成した１ライン分の印刷ビットデータをプリントバッファー２３１に展開する期間よりも長く設定される。待機時間をこのような時間に設定することで、検査ブロックの検査の終了後に印刷データを受信した場合に、次の検査ブロックの検査を開始する前に、受信した印刷データの印刷を開始させることができる。このため、印刷データの印刷にかかる時間を低減させることができる。
【００５６】
ヘッド素子検査部２２３は、待機時間だけドット抜け検査の実行を待機した後に、プリントバッファー２３１に印刷ビットデータが展開されているか否かを判定する。また、プリントバッファー２３１に印刷ビットデータが展開されている場合、プリントバッファー２３１への１ライン分の印刷ビットデータの展開が完了し、印刷処理を開始できる状態にあるか否かを判定する。プリントバッファー２３１に印刷ビットデータが展開されているが、１ライン分の印刷ビットデータの展開が完了していない場合、ヘッド素子検査部２２３は、中断前に検査を終了したブロックの次のブロックであるブロック２の発熱素子を検査する。
図３には、待機時間だけ待機した後に、プリントバッファー２３１に印刷ビットデータが展開されておらず、ヘッド素子検査部２２３が検査ブロックであるブロック２に対する検査を実行した場合を示す。
【００５７】
また、ヘッド素子検査部２２３は、プリントバッファー２３１への１ライン分の印刷ビットデータの展開が完了し、印刷処理を開始できる状態にある場合、次の検査ブロックであるブロック２の発熱素子に対する検査を中断して、印刷処理を実行する。
図４には、ブロック１に対する検査が終了し、次のブロック２に対する検査を待機している間に、プリントバッファー２３１に１ライン分の印刷ビットデータが展開された場合を示している。この場合、ヘッド素子検査部２２３は、ブロック２以降の検査を印刷処理が終了するまで中断する。そして、ヘッド素子検査部２２３は、印刷処理が終了したタイミングＴ２で、ブロック２から検査を再開する。
【００５８】
図５及び図６は、ドット抜け検査を行う場合のプリンター２００の動作を示すフローチャートである。
ヘッド素子検査部２２３は、例えば、プリンター２００の印刷行数が予め設定された行数になる等の検査条件が成立するか否かを判定する（ステップＳ１）。ヘッド素子検査部２２３は、検査条件が成立していないと判定した場合（ステップＳ１／ＮＯ）、検査条件が成立するまで待機する。また、ヘッド素子検査部２２３は、検査条件が成立した場合（ステップＳ１／ＹＥＳ）、印刷データの印刷が行われているか否かを判定する（ステップＳ２）。印刷データの印刷が行われているか否かの判定は、搬送モーター２３６が駆動を停止しているか否かに基づき判定する。ヘッド素子検査部２２３は、モータードライバー２３５に、搬送モーター２３６への電源供給を行っているか否かを問い合わせ、モータードライバー２３５が搬送モーター２３６への電源供給を行っていないと判定される場合に、搬送モーター２３６が駆動を停止していると判定してもよい。また、例えば、不図示のセンサーにより搬送モーター２３６に供給される電流を検出し、ヘッド素子検査部２２３は、センサーにより検出される検出値に基づいて、搬送モーター２３６が駆動を停止しているか否かを判定してもよい。
また、ヘッド素子検査部２２３は、搬送モーター２３６が駆動を停止し、ホールド状態となっていると判定される場合に、印刷データの印刷が行われていないと判定してもよい。ホールド状態とは、搬送モーター２３６は回転を停止しているが、搬送モーター２３６に電源が供給され、搬送モーター２３６が停止した状態を維持している状態である。ヘッド素子検査部２２３は、モータードライバー２３５に、搬送モーター２３６の駆動電圧を問い合わせる。ヘッド素子検査部２２３は、モータードライバー２３５から回答された駆動電圧に基づいて、搬送モーター２３６がホールド状態にあるか否かを判定する。
印刷データの印刷が行われていると判定した場合（ステップＳ２／ＹＥＳ）、ヘッド素子検査部２２３は、ドット抜け検査の開始を待機し、印刷データの印刷を続行させる（ステップＳ３）。
【００５９】
また、ヘッド素子検査部２２３は、印刷データの印刷が行われていないと判定した場合（ステップＳ２／ＮＯ）、検査を行う検査ブロックを選択する（ステップＳ４）。ヘッド素子検査部２２３は、検査済みのブロックが存在する場合には、検査が完了したブロックの次のブロックを、検査ブロックとして選択する。また、ヘッド素子検査部２２３は、検査済みのブロックが存在しない場合、ブロック１を、検査ブロックとして選択する。
【００６０】
次に、ヘッド素子検査部２２３は、選択した検査ブロックに含まれる発熱素子に順に通電させ（ステップＳ５）、通電された発熱素子の抵抗値を取得する（ステップＳ６）。
ヘッド素子検査部２２３は、抵抗値を取得すると、取得した抵抗値をしきい値と比較する（ステップＳ７）。ヘッド素子検査部２２３は、取得した抵抗値がしきい値以下の場合、抵抗値は正常であると判定し（ステップＳ８／ＹＥＳ）、ステップＳ１０の判定に移行する。また、ヘッド素子検査部２２３は、取得した抵抗値がしきい値よりも大きい場合、抵抗値は異常であると判定する（ステップＳ８／ＮＯ）。ヘッド素子検査部２２３は、抵抗値が異常と判定した発熱素子を不良素子と判定し、この発熱素子の番号をＲＡＭに記憶させる（ステップＳ９）。
【００６１】
次に、ヘッド素子検査部２２３は、検査ブロックに含まれるすべての発熱素子の抵抗値を検査したか否かを判定する（ステップＳ１０）。検査ブロックに含まれるすべての発熱素子の抵抗値を検査していない場合（ステップＳ１０／ＮＯ）、ヘッド素子検査部２２３は、ステップＳ５の処理に移行し、検査ブロックに含まれる発熱素子に通電し（ステップＳ５）、抵抗値を取得する（ステップＳ６）。
【００６２】
また、ステップＳ１０の判定において、検査ブロックに含まれるすべての発熱素子の抵抗値を検査したと判定すると（ステップＳ１０／ＹＥＳ）、ヘッド素子検査部２２３は、検査を行っていない他のブロックが存在するか否かを判定する（ステップＳ１１）。
検査を行っていない他のブロックが存在する場合（ステップＳ１１／ＹＥＳ）、ヘッド素子検査部２２３は、予め設定された待機時間だけ検査の実行を待機する（ステップＳ１２）。また、検査を行っていない他のブロックが存在しない場合（ステップＳ１１／ＹＥＳ）、ヘッド素子検査部２２３は、ドット抜け検査を終了させる。
【００６３】
ヘッド素子検査部２２３は、予め設定された待機時間が経過したか否かを判定する（ステップＳ１３）。ヘッド素子検査部２２３は、予め設定された待機時間を経過していない場合には（ステップＳ１３／ＮＯ）、待機時間が経過するまで待機する。また、ヘッド素子検査部２２３は、予め設定された待機時間を経過すると（ステップＳ１３／ＹＥＳ）、プリントバッファー２３１に印刷ビットデータが展開されているか否かを判定する（ステップＳ１４）。検査の実行を予め設定された待機時間だけ待機している間に印刷データを受信した場合、印刷制御部２２１は、受信した印刷データに基づき印刷ビットデータを生成し、生成した印刷ビットデータをプリントバッファー２３１に展開する。
プリントバッファー２３１に印刷ビットデータが展開されていると判定した場合（ステップＳ１４／ＹＥＳ）、ヘッド素子検査部２２３は、受信した印刷データに基づく画像の印刷が完了するまで、検査の開始を待機する（ステップＳ１５）。次に、ヘッド素子検査部２２３は、画像の印刷が完了したか否かを判定する（ステップＳ１６）。印刷が完了していない場合（ステップＳ１６／ＮＯ）、ヘッド素子検査部２２３は、ステップＳ１５に移行し、画像の印刷が完了するまで検査の開始を待機する（ステップＳ１５）。また、印刷が完了した場合（ステップＳ１６／ＹＥＳ）、ヘッド素子検査部２２３は、ステップＳ４の処理に移行して検査を行うブロックを選択し（ステップＳ４）、選択した検査ブロックに含まれる発熱素子を順に通電させる（ステップＳ５）。
【００６４】
また、ステップＳ１４の判定において、プリントバッファー２３１に印刷ビットデータが展開されていないと判定した場合（ステップＳ１４／ＮＯ）、ヘッド素子検査部２２３は、ステップＳ４の処理に移行して検査を行うブロックを選択し（ステップＳ４）、選択した検査ブロックに含まれる発熱素子を順に通電させる（ステップＳ５）。
【００６５】
以上、説明したように本発明のプリンター及びプリンターの制御方法を適用した第１実施形態は、Ｉ／Ｆ部２１０、ラインヘッド２７０、ヘッド素子検査部２２３を備える。
Ｉ／Ｆ部２１０は、印刷データを受信する。ラインヘッド２７０は、同時通電される単位で分割された複数の抵抗体Ｒを有し、受信した印刷データに基づく画像を印刷する。ヘッド素子検査部２２３は、分割された単位ごとに抵抗体Ｒの抵抗値を検査する。また、ヘッド素子検査部２２３は、ラインヘッド２７０が画像を印刷していないときに抵抗体Ｒを分割された単位ごとに検査する。そして、ヘッド素子検査部２２３は、印刷データに基づき抵抗体Ｒの検査を単位で中断し、ラインヘッド２７０による画像の印刷終了後、中断した検査を単位で続きから実行する。
従って、ラインヘッド２７０の検査によって印刷データの印刷を待機させる時間を低減させることができる。
【００６６】
ヘッド素子検査部２２３は、ラインヘッド２７０が印刷データに基づく画像を印刷するときに検査を中断する。
従って、ラインヘッド２７０の検査によって印刷データの印刷を待機させる時間を低減すると共に、ラインヘッド２７０の検査を、印刷データに基づく画像を印刷する直前まで行うことができる。
【００６７】
プリンター２００は、印刷データをラインヘッド２７０で印刷可能なデータに展開する印刷制御部２２１及びプリントバッファー２３１を備える。
ヘッド素子検査部２２３は、抵抗体Ｒを分割された単位ごとに所定の周期で検査し、所定の周期における検査をしていない期間は、印刷制御部２２１が１ライン分のデータを展開できる期間よりも長く設定される。
従って、検査をしていない期間に印刷データを受信した場合であっても、抵抗体Ｒの検査を行うことなく、受信した印刷データの印刷が行われる確率を高めることができる。
【００６８】
ヘッド素子検査部２２３は、所定のコマンドをＩ／Ｆ部２１０で受信すると、抵抗体Ｒの検査の状態を取得し、所定のコマンドにより指定された送信先に、取得した抵抗体Ｒの検査の状態を示す情報を送信することを特徴とする。
従って、プリンター２００に抵抗体Ｒの検査の状態を示す情報を外部の装置であるホスト装置１００に送信させることができる。
【００６９】
ヘッド素子検査部２２３は、所定のコマンドを受信した場合に、ラインヘッド２７０の複数の抵抗体Ｒの検査が終了していないときには、抵抗体Ｒの検査が終了していない旨、又は抵抗体Ｒの検査が未確定の旨を示す情報をホスト装置１００に送信する。
従って、ホスト装置１００は、所定時間をおいて、再度、所定のコマンドをプリンター２００に送信することで、抵抗体Ｒの検査の状態を示す情報を取得することができる。
【００７０】
また、プリンター２００は、搬送モーター２３６を駆動して、感熱紙をラインヘッド２７０の印刷位置に搬送するモータードライバー２３５を備える。
ヘッド素子検査部２２３は、搬送モーター２３６が駆動を停止したとき、又は搬送モーター２３６が駆動を停止しホールド状態となったときに抵抗体Ｒの検査を行う。従って、印刷データの印刷が行われていないタイミングを精度よく判定することができる。
【００７１】
［第２実施形態］
以下、本発明の第２実施形態について説明する。第２実施形態のプリンター２００の構成は、上述した第１実施形態と同一であるため、その説明は省略する。
第１実施形態のプリンター２００の動作を示す図５及び図６に示すフローチャートでは、プリントバッファー２３１に印刷ビットデータの展開が完了しているか否かにより次の検査ブロックの検査を実行するか否かを判定した。第２実施形態では、次の検査ブロックに対する検査の実行を待機する待機時間の間に、ホスト装置１００から印刷データを受信した場合に、次の検査ブロックの検査を中断し、受信した印刷データの印刷処理を実行させる。
【００７２】
図７は、印刷データを受信した場合に、次の検査ブロックの検査を中断して印刷処理を行う場合の処理フローを示す。なお、ステップＳ１〜Ｓ１２までの処理は、図５及び図６に示すステップＳ１〜Ｓ１２までの処理と同一であるため、その説明を省略する。
ヘッド素子検査部２２３は、検査を行っていない他のブロックが存在する場合（ステップＳ１１／ＹＥＳ）、予め設定された待機時間だけ検査の実行を待機する（ステップＳ１２）。
【００７３】
ヘッド素子検査部２２３は、待機時間だけ、次の検査ブロックに対する検査を待機している間、印刷データを受信したか否かを判定する（ステップＳ２１）。印刷データを受信していない場合（ステップＳ２１／ＮＯ）、ヘッド素子検査部２２３は、待機時間が経過したか否かを判定する（ステップＳ２２）。ヘッド素子検査部２２３は、待機時間が経過していないと判定すると（ステップＳ２２／ＮＯ）、ステップＳ２１の判定に戻り、印刷データを受信したか否かを判定する（ステップＳ２１）。また、ヘッド素子検査部２２３は、待機時間を経過したと判定すると（ステップＳ２２／ＹＥＳ）、図５に示すステップＳ４の処理に移行して検査を行うブロックを選択し（ステップＳ４）、選択したブロックに含まれる発熱素子を順に通電させる（ステップＳ５）。
【００７４】
また、ヘッド素子検査部２２３は、ステップＳ２１の判定において、印刷データを受信した場合（ステップＳ２１／ＹＥＳ）、画像の印刷が完了するまで検査の開始を待機する（ステップＳ２３）。印刷が完了すると（ステップＳ２３／ＹＥＳ）、ヘッド素子検査部２２３は、ステップＳ４の処理に移行して検査を行うブロックを選択し（ステップＳ４）、選択したブロックに含まれる発熱素子を順に通電させる（ステップＳ５）。
【００７５】
以上、説明したように本実施形態は、ヘッド素子検査部２２３が印刷データを受信したか否かを判定し、印刷データを受信したと判定した場合には検査を中断する。
従って、ラインヘッド２７０の検査によって印刷データの印刷を待機させる時間をさらに低減させることができる。
【００７６】
上述した第１及び第２実施形態は、本発明の好適な実施の形態である。但し、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の変形実施が可能である。
例えば、上述した第１及び第２実施形態では、プリンター２００は、印刷データに基づく画像の印刷を１ライン単位で行っているが、画像の印刷をブロック単位に行うようにプリンター２００を構成することもできる。
【００７７】
また、図５〜図７に示すフローチャートの処理単位は、プリンター２００の制御部２２０の処理を理解容易にするために、主な処理内容に応じて分割したものであり、処理単位の分割の仕方や名称によって本発明が制限されることはない。また、制御部２２０の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできるし、１つの処理単位がさらに多くの処理を含むように分割することもできる。また、上記のフローチャートの処理順序も、図示した例に限られるものではない。
【００７８】
また、図１及び図２に示した各機能部は機能的構成を示すものであって、具体的な実装形態は特に限定されない。つまり、必ずしも各機能部に個別に対応するハードウェアが実装される必要はなく、一つのプロセッサーがプログラムを実行することで複数の機能部の機能を実現する構成とすることも勿論可能である。また、上述した実施形態においてソフトウェアで実現される機能の一部をハードウェアとしてもよく、或いは、ハードウェアで実現される機能の一部をソフトウェアで実現してもよい。その他、プリンター２００の他の各部の具体的な細部構成についても、本発明の趣旨を逸脱しない範囲で任意に変更可能である。
【符号の説明】
【００７９】
１…印刷システム、５…通信回線、１００…ホスト装置、２００…プリンター、２１０…Ｉ／Ｆ部（通信部）、２１５…受信バッファー、２２０…制御部、２２１…印刷制御部（展開部）、２２２…通電制御部、２２３…ヘッド素子検査部（検査部）、２３１…プリントバッファー（展開部）、２３２…入力部、２３３…ＬＥＤ表示部、２３４…用紙センサー、２３５…モータードライバー（駆動部）、２３６…搬送モーター（モーター）、２３７…カッター駆動モーター、２５０…ヘッドドライバー、２５１…電源供給部、２５２…共通電極、２５３…抵抗、２５５…電圧（電流）測定点、２５７…ヘッド駆動回路、２６１…セレクター、２６３…シフトレジスタ、２６５…ラッチレジスタ、２６７…駆動回路、２７０…ラインヘッド、２６０…ドライバーＩＣ、２８０…記憶部、Ｓ…シフトレジスタセル、Ｌ…ラッチ回路、Ａ…駆動素子、Ｒ…抵抗体。
【図１】
0006750304.tif 000002
【図２】
0006750304.tif 000003
【図３】
0006750304.tif 000004
【図４】
0006750304.tif 000005
【図５】
0006750304.tif 000006
【図６】
0006750304.tif 000007
【図７】
0006750304.tif 000008