以下、本発明を具体化した一実施形態を、図1〜図16に従って説明する。図1は、外装ケースを取り外したインクジェット式プリンタの斜視図を示す。また、図2は、プリンタの要部側断面図を示す。
図1に示す電子機器システムとしてのプリンタシステム100は、例えば大判の用紙に記録を実行することができる大型のインクジェットプリンタであるプリンタ10と、プリンタ10による印刷が施されたロール紙Rを巻き取るための巻取り装置30及びプリンタ10によりロール紙Rに印刷されたカラーパッチの色を測定する測色装置40とにより構成される。ターゲット(記録媒体)である用紙としては、ロール紙Rだけでなく単票紙も用いられる。
プリンタ10は、図1に示すように、スタンド11に支持されたプリンタ本体12の後部寄り上部には、ロール紙Rを保持可能なスピンドルと、一対のフランジ状のロール紙押さえとによって構成されているロール紙ホルダ13が設けられている。また、プリンタ本体12の前面の一例として左端寄りの部分には各色のインクカートリッジ14を個別に収容する複数のカートリッジスロットを備えたカートリッジホルダ15が設けられている。
また、プリンタ本体12には約60°の前下がり傾斜姿勢で搬送案内板16が設けられており、この搬送案内板16はロール紙ホルダ13によって保持されているロール紙Rを搬送方向Aとなる前部下方に向けて案内している。また、ロール紙Rの搬送経路の途中位置には、キャリッジ17がプリンタ本体12の幅方向に沿って延びるように架設されたガイド部材18に案内されて主走査方向Bに往復移動可能な状態で設けられている。
図2に示すように、キャリッジ17には記録ヘッド19が保持されており、記録ヘッド19の斜め下方にギャップを隔てて対向する位置にはプラテン20が設けられている。記録ヘッド19とプラテン20との間を通るロール紙Rは、その搬送方向上流に位置する一対のニップローラにより構成される搬送ローラ21と、下流側に位置する一対のニップローラにより構成される排紙ローラ22とが回転駆動されることにより紙送りされるようになっている。カートリッジホルダ15に収容された各色のインクカートリッジ14から供給されたインクがキャリッジ17と共に主走査方向Bに移動中の記録ヘッド19のノズルから吐出されることにより、ロール紙Rのプラテン20上に位置する部分に印刷が施される。そして、ロール紙Rの紙送り動作と、記録ヘッド19による記録動作とが略交互(但し両動作が一部同時に行われる場合も含む。)に行われてロール紙Rへの印刷が施される。なお、単票紙への印刷も、図示しない給紙部から一枚ずつ給送された単票紙に対して記録ヘッド19からインク滴を吐出することで同様に行われる。以下の説明においては、用紙がロール紙Rの場合を例にして説明する。
図1に示すように、プリンタ10においてキャリッジ17より搬送方向A下流側の位置に測色装置40が設けられ、この測色装置40よりさらに下流側の位置には巻取り装置30が設けられている。巻取り装置30は、巻取り用回転軸(図示省略)と、該巻取り用回転軸に一体回転可能に取り付け可能な一対のフランジ状のロール紙押さえ31と、巻取り用回転軸を回転駆動させるための巻取り用モータ32とによって構成されている。印刷後のロール紙Rは巻取り装置30の巻取り用回転軸と共に回転する管材(図示せず)に巻き取られるようになっている。
次に、測色装置40について図面に基づいて具体的に説明する。図3は測色装置の主要な構造を示す斜視図である。
この測色装置40は、測色器41を保持する測色器ホルダ42と、キャリッジ往復動手段43と、押さえ部材44と、回動シフト手段45と、キャリブレーション手段46を構成するホワイトタイル47及びタイルホルダ48とを一体のユニットとして備えることによって基本的に構成されている。
測色器41は、ロール紙Rに記録された測色用パターン(以下、「カラーパッチCP」という)に対して光を照射し、カラーパッチCPに反射した光に基づいて色情報を測定して色校正用の補正値等を得るための測定機器であり、図3に示すような角箱状の外観形状を有している。なお、測色器41には、コネクタ配線49を接続するためのソケット50が設けられている。本実施形態では、コネクタ配線49及びソケット50として、USB(Universal Serial Bus)ケーブル及びUSBコネクタが採用されている。これはUSB通信が有するプラグアンドプレイ機能により、プリンタシステム100の電源オン中のいつでも測色器41を電気的に接続して測色を行うことを可能とするためである。
なお、上記色情報としては、ホワイトバランス、色度、明度(L*)によってカラー値を定義するLabカラーモードに基づく色情報が一例として使用できる。また、モニタ側ではRGBカラーモードが、プリンタ10側ではCMYKカラーモードがそれぞれ使用されるから、測色器41によって測定したLabカラーモードに基づく色情報をそれぞれRGBカラーモードまたはCMYKカラーモードに変換してモニタ側ないしプリンタ10側の補正値を算出して適用することができる。
測色器41をワンタッチで取り付け・取り外しが可能に構成された測色器ホルダ42は、追従機構51と4本(図3では2本のみ図示)のリンク52を有する平行リンク機構53を介して回動自在に連結されている。このため、測色器ホルダ42が平行リンク機構53を介して回動することにより、測色器ホルダ42に保持された測色器41の姿勢の変更が可能に構成されている。また、測色器ホルダ42の下面には、一例としてベアリングによって構成されている4個の走行車輪54が遊転自在に取り付けられている。
なお、上記走行車輪54は、押さえ部材44における押さえ板55に対して長手方向に、すなわち後述する測色パターンの作る列方向C(主走査方向Bに同じ)に延びるように形成されている長穴状の長孔56を跨ぐようにして、押さえ板55の表面(上面)の一部に当接して転がり接触する。
キャリッジ往復動手段43は、測色器ホルダ42によって保持されている測色器41をカラーパッチCPの作る列方向Cに往復移動させる手段である。具体的には、キャリッジ往復動手段43は、追従機構51を介して測色器ホルダ42に連結されて測色器41と共に往復移動する測色用キャリッジ57と、この測色用キャリッジ57を案内する主軸58と副軸59とによって構成されている2本のガイド軸と、測色用キャリッジ57を往復移動させる際の駆動源となるリターンポジション側に配置される測色用キャリッジモータ60とを備えている。さらに測色用キャリッジモータ60の出力軸に取り付けられているピニオンギヤ61と、該ピニオンギヤ61と噛み合う伝達ギヤ62と、伝達ギヤ62と一体の駆動プーリ63と、ホームポジション側に設けられる従動プーリ64と、駆動プーリ63と従動プーリ64との間に巻回され、その一部が測色用キャリッジ57に係止されている無端帯状のタイミングベルト65とを備えている。
追従機構51は、測色器ホルダ42の下面に設けられている走行車輪54が押さえ板55上に常に接地して走行できるようにするための機構で、キャリブレーション手段46を構成するタイルホルダ48と、押さえ板55間の移動を円滑にする役割も有している。具体的には、前述の平行リンク機構53と、加圧用の捩りコイルバネとによって追従機構51は構成されている。
押さえ部材44は、測色時にカラーパッチCPが記録されたロール紙Rの表面を押さえる押圧姿勢(図3の実線位置)をとり、非測色時に上方に跳ね上がってロール紙Rの搬送を可能にする退避姿勢(図3の二点鎖線位置)をとるように回動する部材である。具体的には、一体に設けられる回動軸67を中心にして約90°の範囲に亘って回動する回動レバー68と、この回動レバー68の回動自由端に対して回動ピン69を介して回動自在に接続される上述の押さえ板55と、上記回動レバー68と押さえ板55との間に設けられる押さえ板支持バネと、押さえ板加圧バネ(いずれも図示せず)とを備えることによって押さえ部材44は構成されている。なお、押さえ板支持バネと、押さえ板加圧バネの作用によって、押さえ板55の下面の全面をロール紙Rの表面にしっかり密着させ、この時、押さえ板55には押さえ板加圧バネが元の形状に戻ろうとする反力が作用するからロール紙Rの表面は強い押圧力によって確実に保持されるようになっている。
回動レバー68は、測色パターンの作る列方向Cに長い、湾曲した板状のレバーで、回動基端側に左右外方に突出するように回動軸67が一体に形成されている。また、左右の回動軸67には、約90°の範囲に亘って歯が形成されている扇形ギヤ70が設けられている。押さえ板55は、カラーパッチCPの作る列方向Cに長い平板状の部材で、押さえ板55の上面中央にはカラーパッチCPの作る列方向Cに延びる上述した長孔56が押さえ板55の押圧面(下面)にかけて貫通するように形成されている。
なお、押さえ板55の下面には、長孔56の周囲と、押さえ板55の周囲のみを下方に突出させたにリブが設けられており、リブが複数のカラーパッチCPの互いの離間部である空白部に当たることで、プロファイル作成用の各列のカラーパッチCPに当接することなく、ロール紙Rの表面を押圧することが可能になる。
回動シフト手段45は、押さえ部材44の押圧姿勢と退避姿勢とを切り替えるための手段である。具体的には、駆動源である紙押さえ用モータ71と、この紙押さえ用モータ71の回転を扇形ギヤ70に伝達するためのギヤ輪列72とを備えることによって回動シフト手段45は構成されている。
キャリブレーション手段46は、ホワイトタイル47を保持したタイルホルダ48で構成されている。ホワイトタイル47は非測色時に測色器41のキャリブレーションを実行するためのセラミックス製のタイルである。そして、ホワイトタイル47は着脱可能な状態でタイルホルダ48によって保持されている。また、ホワイトタイル47を保持したタイルホルダ48はカラーパッチCPが記録されたロール紙Rが通る搬送経路側方のキャリッジ往復動手段43のホームポジション領域に設けられている。そして、測色用キャリッジ57がホームポジションに位置する非測色時には、測色器41によってホワイトタイル47の上面を被覆してホワイトタイル47の上面への埃等の付着を防止している。
図4は、このようなプリンタシステム100を備える印刷システムの電気的構成を示すブロック図である。なお、複数のプリンタシステム100はすべて同じ構成なので、一台のみ構成を示している。
印刷システム200は、プリンタシステム100と、プリンタシステム100と通信可能な状態に接続されるホスト装置150とを備える。ホスト装置150は例えばパーソナルコンピュータ等により構成される。ホスト装置150は、例えばプリンタドライバ用のソフトウェアがインストールされて構築されたプリンタドライバ151(ホストドライバ)を内蔵する。ホスト装置150の通信部152と、プリンタシステム100を構成するプリンタ10の通信部81とが通信ケーブル介して接続されている。両通信部152,81間の通信には、例えばIEEE1284.4通信又はUSB通信が採用されている。なお、本実施形態では、プリンタドライバ151がホスト制御部及びホスト制御装置を構成する。
また、ホスト装置150には、複数台のプリンタシステム100が通信可能に接続されている。ホスト装置150及び複数のプリンタシステム100は例えばインターネット等のネットワーク250を介して管理サーバ300と接続されている。管理サーバ300は、プリンタシステム100にアクセスして例えばメンテナンスや課金システムで必要な情報を取得する。
測色装置40は、測色器41と、押さえ部材44及び測色用キャリッジ57の駆動系を構成する測色駆動装置80とに分かれる。プリンタ10の通信部82はハブ83を介して、測色器41、測色駆動装置80及び巻取り装置30の各通信部84〜86と通信可能に接続されている。これらの通信には例えばUSB通信が採用されており、この場合、通信部82がUSBホスト、各通信部84〜86がUSBデバイスを構成する。なお、本実施形態では、プリンタ10が第一機器を構成し、測色装置40が第二機器を構成している。
ホスト装置150内のプリンタドライバ151は、例えばモニタ150aに表示されている画像を印刷する場合に、その画像の印刷ジョブデータを生成してプリンタ10に送信する。印刷ジョブデータの印刷コマンドとしては、例えばシリアルプリンタの標準コマンドであるESC/P(Epson Standard Code for Printer)を採用している。
プリンタ10内には、印刷ジョブデータを解析するコマンド解析部91、バッファ用のメモリ(以下、「イメージバッファ92」という)、第1制御部93、第2制御部94、プリントエンジン95、及び後述するジョブ情報等を記録するためのメモリ96とが備えられている。
コマンド解析部91は印刷ジョブデータを解析して印刷画像データがあればイメージバッファ92に一時格納し、印刷を指示する印刷制御コマンドであれば第1制御部93に送り、さらに印刷以外の制御を指示するリモートコマンドであれば第2制御部94に送る機能を有する。第1制御部93は印刷制御コマンドに従ってプリントエンジン95を駆動し、印刷画像データに基づく画像を印刷する。また、第2制御部94はリモートコマンドを送信して測色器41、測色駆動装置80及び巻取り装置30を駆動制御する。また、第1制御部93は、プリントエンジン95の状態を管理しており、インク消費量や用紙消費量等のジョブ情報をメモリ96に記憶する。ここで、ジョブ情報とは、管理サーバ300がメンテナンスサービスや課金システムに利用するためにプリンタ10にアクセスして取得するデータであり、これとは別に記録ヘッド温度やメンテナンス制御用情報などプリンタ10の制御に用いられるデータもメモリ96には記憶される。
図5は、印刷システムの電気的構成の詳細を示すブロック図である。ホスト装置150は、プリンタドライバ151、測色ドライバ153、画像表示用のアプリケーション154などを備えている。これらのプリンタドライバ151及び測色ドライバ153は、ホスト装置150にプログラムをインストールすることにより構築されている。
プリンタドライバ151は、印刷ジョブデータを生成するジョブデータ生成部155、主制御部156、判定部157及びデータ格納部158を備えている。さらにジョブデータ生成部155は、論理座標計算部159、コマンド生成部160及び画像データ処理部161を備えている。また、ホスト装置150には、例えばキーボードやマウス等により構成される入力装置162が接続されている。
測色ドライバ153は、測色設定用の設定画面を表示する設定画面表示機能と、カラーパッチパターン設定機能と、カラーパッチ印刷位置設定機能とを有している。アプリケーション154で表示された画像を含む用紙範囲を設定画面上に表示し、その用紙範囲内の所望エリアに所望のカラーパッチパターン及び印刷位置を選択しつつカラーパッチを設定できる機能を有している。
図6は測色ドライバ153がモニタ150aに表示する測色用設定画面を模式的に示したものである。ユーザは入力装置162を操作して測色用設定画面140上に印刷画像IGを表示しつつカラーパッチCPの色パターンの選択及び位置の設定を行うことが可能となっている。例えばカラーパッチ選択ウインドウやプルダウンメニュー等から所望のパターン、色数、色、カラーパッチ列数などを選択するとともに、選択したカラーパッチCPの印刷位置をマウスで指定して、印刷画像IGのない余白領域など所望位置に設定する。測色用設定画面140で指定されたカラーパッチの印刷位置は、用紙エリア上に設定された座標系である論理座標として、測色ドライバ153に取得される。詳しくは、論理座標系では、図6に示すように、用紙エリア(1ページに相当する全範囲)の左上コーナーを原点(0,0)とし、紙幅方向(主走査方向B)(図6における右方向)にX座標、反搬送方向(図6における下方向)にY座標をとる相対座標で表される。例えば図6に示すように、印刷画像IGは左上コーナーが座標(Xps,Yps)、右下コーナーが座標(Xpe,Ype)で表される。
また、カラーパッチCPは、複数の単位パッチDが列状に配列されてなるパッチ列PRと、パッチ列PRの列方向両側に所定の間隔を隔てて配置された開始位置マークMSと終了位置マークMEとを備えている。二列のカラーパッチCPが配置された図6の例では、各カラーパッチCPはY座標がそれぞれY1,Y2、パッチ列PRを構成するN個の単位パッチDのX座標が、(X1,X2,…,Xn-1,Xn)の値で示される。これらのカラーパッチCPに係る論理座標値は、測色器41が各単位パッチDを測色する際の測色点を決めるために用いられる。そのため、単位パッチDの座標は例えばその中心点を示している。
例えばカラーパッチCPのY座標値はロール紙Rを測色位置に位置決めする紙送りの際の目標位置として用いられる。また、各単位パッチDのX座標値は、測色器41の測色点が各単位パッチの中心点に一致するように測色用キャリッジ57をパッチ列方向Cに位置決めする際の目標位置として用いられる。なお、測色ドライバ153が取得するカラーパッチCPに関するデータとして、パッチ列PRのパッチ列長Lとパッチ数Nの情報が含まれる。
また、図6に示すように、測色用設定画面140には、ラベル印刷設定ボタン141が設けられている。ラベル印刷設定ボタン141は、測色器41の測色結果に基づいて色条件の適切性を判定した判定結果を印刷する設定を行うためのものであり、マウス等で操作(クリック)されると、判定結果印刷用の画像が複数表示されるので、その中から所望のものを選択することで判定結果印刷用の画像が設定される。例えば「OK!」の文字列の画像などが用意されている。本実施形態では、判定結果印刷用の画像の選択を行うだけで、その印刷位置については用紙エリアの画像と重ならない余白エリア内に自動設定される。
そして、図5に示す測色ドライバ153からプリンタドライバ151に、印刷画像IG及びカラーパッチCPの画像データと各論理座標データ、並びにカラーパッチCPのパッチ列長Lとパッチ数Nの情報が渡される。なお、図6において用紙エリアの搬送方向Aの終端(同図では下端)を示すY座標「Yc」は、例えばロール紙Rを図示しないカッタで切断する際のカット位置、又はロール紙Rを次ページの印刷開始位置に頭出しする目標位置を決めるために用いられる。また、測色ドライバ153は、測色器41を制御する測色コマンドを生成してプリンタドライバ151に渡す。
図5に示すプリンタドライバ151は、アプリケーション154がモニタ150aに表示した画像、測色ドライバ153で設定したカラーパッチCPの画像データ及び論理座標データ等に基づき、印刷コマンドを含む印刷ジョブデータを生成する処理を行う。但し、本実施形態では、プリンタ10の印刷制御だけでなく、巻取り装置30、測色器41及び測色駆動装置80を制御するための制御コマンドも印刷ジョブデータに組み込まれる。プリンタドライバ151は、前述の論理座標計算部159、コマンド生成部160及び画像データ処理部161を用いて印刷ジョブデータを生成する。
コマンド生成部160は、プリンタ記述言語(プリンタ制御コード)を用いてコマンドを生成する。本実施形態では、前述のように、シリアルプリンタ用のプリンタ記述言語としてESC/Pコマンドを採用する。もちろん、プリンタ10がページプリンタであればプリンタ記述言語としてESC/Pageを採用できる。なお、コマンド生成部160が行う処理の詳細については後述する。
論理座標計算部159は、測色用設定画面140で設定された印刷画像IGやカラーパッチCPなどの印刷エリアを規定する論理座標や、カラーパッチCPの測色点の論理座標などの論理座標情報に基づいて、コマンド生成部160が作成するコマンドに格納すべき値を計算する。計算される値としては、印刷画像やカラーパッチCPの印刷位置までの紙送り量や、カラーパッチCPを測色器41が測色可能な測色位置まで移動させるための紙送り量、測色用キャリッジ57の測色時の移動目標位置(測色位置)である動作位置(パッチ列方向Cの測色位置)等が挙げられる。これらが例えば制御対象であるモータの駆動量や目標位置などの値として計算される。
画像データ処理部161は、表示用の画像データから印刷用の画像データを生成する処理を行う。具体的な処理としては、表示用解像度からプリンタ用解像度に変換する解像度変換処理、画像データを例えばRGB表色系からプリンタ10が表現可能なCMYK表色系(ここではシアン、マゼンタ、イエロー、ブラックの各色)に変換する色変換処理、画像データの階調値をプリンタで表現可能な階調値に変えるためのハーフトーン処理や、記録ヘッド19へのデータの出力順序を印刷モード等に応じて決まるインク滴吐出順序に合わせて並び替えるデータ出力順序調整処理(例えばマイクロウィーブ処理等)などが挙げられる。ここで、色変換処理は、色変換テーブルを用いて行われる。ハーフトーン処理としては、いわゆる誤差拡散法やディザ法などの周知の方法を適用できる。上記各処理の内容は周知であるため、これ以上の詳細な説明は省略する。なお、これらの印刷用の画像処理が施された画像データを印刷画像データと呼ぶものとする。
プリンタドライバ151は、印刷条件を入力設定するための設定画面をホスト装置150のモニタ150aに表示する機能も有している。ユーザが設定画面において、入力装置162を操作することで印刷条件を設定することができる。印刷条件としては、用紙種、用紙サイズ、カラー/モノクロ、レイアウト(余白設定・縁なし印刷設定等)、印刷モード(例えば高品質印刷モード、高速印刷モード等)などが挙げられる。そして、解像度変換処理、色変換処理、ハーフトーン処理、データ出力順序調整処理などの画像処理は、この印刷条件に基づいて行われる。
主制御部156は、プリンタドライバ151における制御を司り、各部159〜161への印刷ジョブデータ生成のための指示や、印刷条件設定画面の表示制御、印刷ジョブデータをプリンタ10へ送信するための通信制御(送信指示)、測色器41からの測色データ(測定データ)に基づいて色条件の適切性の判定及び色補正値の設定などを行う。データ格納部158は、設定画面(測色用設定画面及び印刷条件設定画面)で設定された測色条件や印刷条件の各種データを一時格納したり、生成された印刷ジョブデータなどを送信前に一時格納したり、測色器41から受信した測色データをその判定や演算処理等を行う前に一時格納したり、さらにはラベル印刷用に選択する複数の画像データが記憶されているデータ格納領域である。データ格納部158には、例えばホスト装置150のメモリの所定記憶領域が用いられる。主制御部156は、ジョブデータ生成部155により印刷ジョブデータが生成されると、プリンタ10への送信を通信部152に指示し、通信部152は所定の通信プロトコルに従ってデータ格納部158に格納された印刷ジョブデータをプリンタ10の通信部81へ送信する。
判定部157は、測色器41からプリンタ10を介して主制御部156が受信した測色結果(測色データ)に基づいて印刷結果(カラーパッチCP)の色とモニタ表示画像の色とを比較して色に関する印刷条件の適切性を判定する。本実施形態では、例えば「OK」・「NG」で判定する。
また、主制御部156は、測色器41がカラーパッチCPの測色を行った場合、測色器41に対する測色結果(測色データ)の要求や、ジョブデータ生成部155に対するラベル印刷用の印刷画像データの生成処理、その印刷画像データの送信、さらに測色データや測色判定結果から得られるジョブ情報(測色関連ジョブ情報)の記憶などの指示を行う。
プリンタドライバ151(ジョブデータ生成部155)は、コマンド生成部160が生成した各種コマンドと画像データ処理部161が生成した印刷画像データとを含む印刷ジョブデータ(ESC/P制御データ)を生成する。
ここで、プリンタドライバ151が生成する印刷ジョブデータの構造について説明する。図8は、プリンタドライバ151が生成する印刷ジョブデータPDの構造を示す。なお、以下の説明において、コマンドを示す記号は、実際の印刷コマンドに整合している訳ではなく、説明の便宜上、簡略な記号を用いている。図8に示すように、印刷ジョブデータPD(以下、「印刷データ」ともいう)はヘッダHDとボディBDとからなる。ヘッダHDには、ボディBDのデータサイズ等のヘッダ情報が記述されている。また、ボディBDには、印刷コマンド(本例では「ESC/P」)で記述されたESC/P制御データSDが格納されている。また、図8は、例えば測色用印刷〜測色〜測色判定〜ラベル印刷を行う際の印刷ジョブデータを示している。
図8に示すように、ESC/P制御データSDは、ジョブ開始コード「JS」と、ジョブ終了コード「JE」の間に、各種制御コマンドや制御コード、印刷画像データ等を格納するデータ構造をとる。なお、図8では、データとして格納されうるほぼ全ての種類のコマンドやデータを格納した状態で描いているが、実際は、これらのうち一部のコマンドやデータが格納されて印刷データは構成される。すなわち、図8に示すように、ESC/P制御データSDには、コード「JS」と「JE」の間に、印刷制御コマンドPCC、印刷画像データPGD、紙送り制御コマンドPFC1〜3、巻取制御コマンドWCC1〜3、測色駆動制御コマンドCMDC、測色制御コマンドCMC、ラベル印刷コマンドLPC、ラベル印刷データLPD、ジョブ情報記憶コマンドJMC、測色関連データCMDなどが含まれているが、実際は送信タイミングが異なるなどの理由で、一部のコマンドやデータが格納されたパケットが複数回転送される。その場合、1つのジョブを構成する最初に転送されるパケット内にジョブ開始コード「JS」が格納され、そのジョブで最後に転送されるパケット内にジョブ終了コード「JE」が格納される。
ESC/P制御データSDには、複数のモード毎に制御コマンドや印刷画像データなどが時系列順に区分されて格納されている。モードとしては、キャラクタモード、グラフィックモード、リモートモードが用意されている。ESC/P制御データSD中には、これら各モードに移行する制御コードであるキャラクタモード移行コード「MC」、グラフィックモード移行コード「MG」、リモートモード移行コード「MR」がそれぞれ組み込まれている。各モード移行コードに続いて、そのモードで解析対象とされるコマンドが格納されている。なお、キャラクタモード及びグラフィックモードは印刷制御に関係するコマンドを解析するモードであり、リモートモードは印刷制御以外の制御、例えば測色制御や巻取り制御、メンテナンス制御(クリーニング系制御)用のコマンドを解析するモードである。また、キャラクタモードは文字コード(キャラクタコード)を解析するためのモード、グラフィックモードは画像データを解析するためのモードである。
図8に示す測色用印刷〜測色〜測色判定〜ラベル印刷を行う際の印刷ジョブデータでは、ジョブ開始コマンド「JS」の次のキャラクタモード移行コード「MC」に続いて印刷制御コマンドPCC、その次のグラフィックモード移行コード「MC」に続いて印刷画像データPGD(ヘッド制御データ)が格納されている。この例では文書(ドキュメント)と画像の両方を含む印刷画像を印刷する場合で示している。
さらに、リモートモード移行コード「MR」に続いてリモートコマンドRCが格納されている。リモートコマンドRCは、プリンタ10に印刷制御以外の制御を行わせるためにESC/P制御データ中に格納できるコマンドである。本例では、リモートコマンドRCを用いて、測色用印刷後に行われる測色位置までの紙送り、測色用キャリッジ57及び測色器41の駆動制御、ラベル印刷位置までの紙送り、ラベル印刷後におけるジョブ情報の記憶指示、ラベル印刷後の次の目標位置までの紙送りなどの制御を行う。リモートコマンドRCは、元々、記録ヘッド19のノズルクリーニングを行うためにメンテナンス装置(図示省略)を駆動したり、印刷中のノズルの目詰まりを防止すべくインク滴を廃液部に空吐出(フラッシング)させたりするメンテナンス系の駆動制御を行うために設けられたものである。
本実施形態では、測色装置40及び巻取り装置30の制御にリモートコマンドRCを用いる。図8に示すように、リモートモード移行コード「MR」に続く、紙送り制御コマンドPFC1と巻取制御コマンドWCC1は、ロール紙Rを測色位置まで搬送するためのコマンドである。ここで、測色位置とは、搬送方向Aにおいてロール紙R上のカラーパッチCPを測色器41の測色光スポットの位置に一致させることが可能なロール紙Rの搬送方向Aの位置を指す。
次の測色モード移行コード「CM」に続く、測色駆動制御コマンドCMDCと測色制御コマンドCMCは、測色駆動装置80と測色器41をそれぞれ駆動制御するためのコマンドである。測色駆動装置80では、この測色駆動制御コマンドCMDCに従って、測色装置40の紙押さえ用モータ71及び測色用キャリッジモータ60の制御が行われる。
測色結果要求コードRDに続くラベル印刷コマンドLPCは、ラベル印刷を指示するコマンドである。さらにその次の紙送り制御コマンドPFC2と巻取制御コマンドWCC2は、ロール紙Rをラベル印刷位置まで搬送させるためのコマンドである。次のグラフィックモード移行コードMGに続くラベル印刷データLPDは、プリンタ10に印刷させるラベル印刷の画像データである。もちろん、ラベル印刷データはキャラクタコードからなる文字データであってもよい。
さらに次のリモートモード移行コードMRに続くジョブ情報記憶コマンドJMCは、プリンタ10にジョブ情報の記憶を指示するコマンドである。続く測色関連データCMDは、プリンタ10にジョブ情報として記憶させるべき測色関連のデータであり、プリンタドライバ151が測色器41からの測色データにより生成したものである。この測色関連データCMDには、例えば測色回数、測色頻度、測色条件、測色判定結果等のデータが含まれる。なお、ジョブ情報記憶コマンドJMCは、プリンタ10内で管理するインク消費量や用紙消費量などの他のジョブ情報を記憶させる指示も兼ねる。続く紙送り制御コマンドPFC3と巻取制御コマンドWCC3は、ラベル印刷後のロール紙Rを次ページの印刷開始位置あるいは自動カッタ装置(図示せず)による切断位置まで搬送させるコマンドである。その他にも、クリーニングコマンド、フラッシングコマンド(図示省略)なども格納される。
巻取制御コマンドWCC1〜3は、ロール紙Rを逆送り(バックフィード)させる際に搬送ローラ21及び排紙ローラ22の逆転駆動に同期させて巻取り装置30の巻取り用モータ32を逆転駆動させる際に用いられるコマンドである。このため、巻取制御コマンドWCC1〜3は、ロール紙Rの搬送方向が順送り方向の場合は省かれる。なお、測色制御コマンドCMCは、測色器41を制御するためのコマンドであり、例えば測色器メーカで使用されている制御コードで記述されており、測色ドライバ153から渡されるものであってもよい。また、図8では省略しているが、モード毎のコマンドの最後にモードエンドコード(図示省略)が格納されている。
主制御部156は、測色用印刷、測色、ラベル印刷、ジョブ情報記憶指示等を行う際に、それぞれの送信タイミングになると、図8に示す印刷データPDのうち対応するコマンドやデータを送信する。そのため、主制御部156は、測色用印刷、測色、ラベル印刷、ジョブ情報記憶等の指示を行うための機能部を有している。
図9は、主制御部の構成を示すブロック図である。図9に示すように、主制御部156は、ジョブ開始コマンド送信部171、第一指令部172、ラベル印刷指令部172A、判断部173、第二指令部174、ジョブ情報生成部175、ジョブ情報送信部176及びジョブ終了コマンド送信部177を備えている。主制御部156はこれらをそれぞれの必要時期に起動する。
ジョブ開始コマンド送信部171は、ジョブ開始時にジョブ開始コマンド「JS」をプリンタ10に送信する。第一指令部172は、通常印刷時及び測色用印刷時に起動され、プリンタ10に対して、印刷制御コマンドPCC及び印刷画像データPGDを送信することで印刷指示を行う。この第一指令部172は、ラベル印刷時に起動されるラベル印刷指令部172Aを備え、ラベル印刷指令部172Aはプリンタ10に対して、ロール紙Rをラベル印刷位置まで搬送させる紙送り系のコマンドPFC2,WCC2、及びラベル印刷を実行させるコマンドLPC,LPDを送信することで、ラベル印刷指示を行う。
判断部173は、測色を行う設定の有無を判断する。例えば図6に示す測色用設定画面140でユーザがカラーパッチCPを設定して測色用印刷を指示した旨の情報(例えばフラグ等)はメモリに記憶されるようになっており、その情報に基づいて、実施すべき測色の有無を判断する。実施すべき測色がなければ印刷ジョブを終了するが、実施すべき測色があれば、第二指令部174にその旨を通知する。
第二指令部174は、判断部173からの通知に基づきプリンタ10に対して測色指示を行う。すなわち、第二指令部174は、ロール紙Rを測色位置まで搬送させる紙送り系のコマンドPFC1,WCC1、及び測色装置40に測色を実行させる測色系のコマンドCMDC,CMCを送信する。
ジョブ情報生成部175は、プリンタ10にジョブ情報として記憶させるべき測色関連データCMDを、測色装置40から取得した測色データ及び判定部157の測色結果判定情報などを用いて生成する。測色関連データは、例えば測色頻度、測色条件や測色判定結果などプリンタユーザに測色に関するアドバイス等を行ううえで有効な情報を含む。
ジョブ情報送信部176は、ジョブ情報生成部175が生成した測色関連データCMDを一ジョブ情報として記憶させるコマンドJMCと共にプリンタ10に送信する。なお、本実施形態では、ジョブ情報生成部175及びジョブ情報送信部176により、ジョブ情報記憶指示部が構成される。
一方、判断部173は、ラベル印刷の設定の有無も判断する。例えば図6に示す測色用設定画面140でユーザがラベル印刷設定ボタン141を操作してラベル印刷を指示した旨の情報(例えばフラグ等)はメモリに記憶されるようになっており、その情報に基づいて、実施すべきラベル印刷の有無を判断する。実施すべきラベル印刷がなければ印刷ジョブを終了するが、実施すべきラベル印刷があれば、第一指令部172のラベル印刷指令部172Aにその旨を通知する。ラベル印刷指令部172Aは判断部173からの通知に基づいて、前述のラベル印刷指示を行う。
ジョブ終了コマンド送信部177は、印刷ジョブ終了時にジョブ終了コマンド「JE」をプリンタ10に送信する。このジョブ終了コマンド「JE」を受信するまで、プリンタ10はホスト装置150との通信コネクトを維持し、他のホスト装置からの割込を禁止する。このジョブ終了コマンド「JE」の送信タイミングとしては、印刷に続く測色がないと判断された通常印刷終了後と、測色関連データを送信して行われるジョブ情報記憶指示後との各タイミングが挙げられる。なお、本実施形態の場合、ジョブ中における最後の印刷終了後、主制御部156は、ロール紙Rを次ページ印刷開始位置あるいはロール紙切断位置などの所定位置に搬送させるべく、紙送り系のコマンドPFC3,WCC3をプリンタ10に送信する。このため、ジョブの最後が印刷の場合は、この紙送り系のコマンドPFC3,WCC3の送信後にジョブ終了コマンド「JE」は送信されることになる。
図5に戻って、次にプリンタシステム100の電気的構成について説明する。プリンタシステム100は、前述のようにプリンタ10、巻取り装置30、測色装置40を備え、測色装置40はさらに測色駆動装置80と測色器41とから構成されている。
プリンタ10の通信部82はハブ83及び3本の通信ケーブル87〜89を通じて3つの装置30,41,80(オプション機器)の各通信部84〜86に接続されている。本例では、プリンタ10とこれらオプション機器との間でUSB通信が行われ、通信部82がUSBホスト、各通信部84〜86がUSBデバイスにより構成される。
プリンタ10は、コマンド解析部91、イメージバッファ92、第1制御部93、第2制御部94、不揮発性メモリ96、RAM98、各駆動回路101〜103、記録ヘッド19、CRモータ104、PFモータ105、及びエンコーダ106、紙検出センサ107、紙幅センサ108及びリニアエンコーダ109を備える。
コマンド解析部91は、ホスト装置150のプリンタドライバ151から受信した印刷データ(ESC/P制御データ)を解析するためのものであり、印刷データ中にモード移行コードがあると、そのコードで指定されたモードに移行する(つまりモードに応じた解析モジュールを起動する)。モードには、キャラクタモード、グラフィックモード、リモートモードの3つがある。モード毎に解析対象とされるコマンドが決まっており、解析対象のコマンドのみを解析してそのモードに応じた転送先に送る。例えばキャラクタモードであれば印刷制御コマンドPCC(図8参照)を解析して第1制御部93に送る。また、グラフィックモードであれば印刷画像データPGD(図8参照)を解析してイメージバッファ92に送る。さらにリモートモードであればリモートコマンドRC(図8参照)を解析して第2制御部94に送るようになっている。この場合、各モードで解析対象以外のコマンドは読み捨てられる。
第1制御部93は、記録ヘッド19、CRモータ104及びPFモータ105等により構成されるプリントエンジン95(図4参照)を制御する。また、第1制御部93は、測色器41の測色データに基づく判定結果をラベル印刷するためのラベル印刷位置を計算する機能、インク消費量及び用紙消費量を計測・演算する機能、ジョブ情報を不揮発性メモリ96のジョブ情報格納部97に記憶する機能を有している。そのために、第1制御部93は、ヘッド制御部110、キャリッジ制御部111、紙送り制御部112、ラベル印刷位置計算部113、インク消費量演算部114及び用紙消費量計数部115を備えている。
第2制御部94は、印刷制御系以外の制御を司り、プリンタ10のクリーニング系制御や空吐出(フラッシング)制御の他、通信を介して測色器41、測色駆動装置80及び巻取り装置30の制御を行う。第2制御部94は、受け付けたリモートコマンドRCが測色駆動装置80及び巻取り装置30を制御するためのコマンドであれば、このコマンドをリモートコマンドとして組み込んだ印刷データを生成し、その印刷データを送信して測色駆動装置80及び巻取り装置30の制御を行う。そのため、本実施形態の第2制御部94は簡易プリンタドライバであり、プリンタドライバ151と同様に印刷コマンド(ESC/P)で記述されたESC/P制御データSDを生成してこれをボディBDに持つ印刷データPDを生成する機能を有している。第2制御部94は、既存のプリンタドライバ151を利用して一部の機能を有するものとして作成されたものであり、リモートコマンド解析部116、コマンド生成部117及び座標計算部118を備えている。つまり、第2制御部94と測色駆動装置80及び巻取り装置30との間には、プリンタドライバ151とプリンタ10と同じ関係が構築されている。
なお、コマンド解析部91、第1制御部93及び第2制御部94は、例えばCPU、ASIC(Application Specific IC(特定用途向けIC))、ROM、RAM等により構成されている。本例では、コマンド解析部91がASICによりハードウェアで構成され、第1制御部93及び第2制御部94は、CPUがROMに記憶されたプログラムを実行して実現されるソフトウェアにより構成されている。もちろん、これらの全てがソフトウェアにより構成されていてもよいし、集積回路(例えばASIC等のカスタムIC)等のハードウェアにより構成されてもよいし、さらにはソフトウェアとハードウェアとの協働(この場合、任意の組み合わせを選択可能。)により構成されていてもよい。
コマンド解析部91は、図8に示す印刷データPD(ESC/P制御データSD)を解析し、例えばキャラクタモータ移行コードMCがあると、キャラクタモードに移行し、印刷制御コマンドPCC(図8参照)を解析する。解析の結果、印刷制御コマンドPCC(例えばアスキーコード等のキャラクタコードを含む)があれば第1制御部93に送る。第1制御部93は、キャラクタジェネレータ(図示省略)でキャラクタコードからイメージデータを生成した後、そのイメージデータをイメージバッファ92に格納する。ヘッド制御部110はイメージバッファ92から1パス分(キャリッジ17の主走査方向Bへの1回の駆動分)ずつ読み込んだイメージデータ(ラスタデータ)に基づきインク吐出タイミング信号に同期させて記録ヘッド19を駆動させ、キャリッジ17の主走査方向Bへの移動途中の所定のタイミングで記録ヘッド19のノズルからインク滴を吐出させる。また、第1制御部93は、キャリッジ制御部111にキャリッジ駆動コマンド(以下、「CR駆動コマンド」という)を送るとともに、紙送り制御部112に紙送りコマンドを送る。
一方、コマンド解析部91は、グラフィックモード移行コードMGがあると、グラフィックモードに移行し、印刷画像データPGD(図8参照)を解析する。解析の結果、印刷画像データPGD(ラベル印刷データLPDも含む)があればイメージバッファ92に送る。第1制御部93は、イメージバッファ92から1パス分ずつ読み込んだ印刷画像データPGDに基づきキャリッジ17のその1パスにおける始動位置・停止位置を算出し、次のパスのキャリッジ起動時期になると、キャリッジ制御部111にCR駆動コマンドを送り、キャリッジ17の起動を指示する。また、第1制御部93は、前回のパスの印字が終了後、紙送り開始時期になると、紙送り制御部112に紙送りコマンドを送り、紙送り動作を指示する。なお、ここでいう紙送りとは、給紙、印刷動作中の紙送り(狭義)、排紙を含む。
そして、紙送り制御部112は紙送りコマンドに基づいて駆動回路103を介してPFモータ105を駆動させ、指示された送り量だけロール紙Rの紙送りを行う。ロール紙Rが次の印刷位置に送られると、キャリッジ制御部111がCR駆動コマンドに基づいて駆動回路102を介してCRモータ104を駆動させ、記録ヘッド19を主走査方向Bに1パス動作させる。この1パスの過程で、ヘッド制御部110は、印刷画像データPGDに基づいて駆動回路101を介して記録ヘッド19を駆動し、記録ヘッド19のノズルからインク滴が吐出されることで、印刷画像データPGDに基づく1ラスタライン分の印字(記録)が行われる。
なお、記録ヘッド19には、一ノズルにつき1個ずつ吐出駆動素子が内蔵され、吐出駆動素子が所定波形の印加電圧により駆動されることによりノズルからインク滴が吐出される。吐出駆動素子としては、圧電振動素子、静電駆動素子を採用できる他、インクを膜沸騰させてノズルに連通するインク流路内に発生した泡(バブル)の膨張によりノズルからインク滴を吐出する方式で使用されるインク加熱用のヒータを採用することもできる。
また、ラベル印刷位置計算部113は、測色装置40による測色結果に基づく判定結果のラベルを印刷する位置(ラベル印刷位置)計算する。これは、従来はユーザが測色判定結果がOKの場合に「OK」の旨のラベルを手作業で貼っていたが、その代わりに「OK」の旨のラベルを印刷する構成としている。そのとき、カラーパッチCPに対応するラベル印刷位置を自動計算する構成としている。ラベル印刷位置計算部113は、この自動計算を行うために、図10に示す余白検出手段としての余白領域検出部113A、記録サイズ計算手段としての印刷サイズ計算部113B及び印刷位置計算部113Cを備えている。自動計算は、以下のように行われる。まず用紙エリア内において印刷画像IG及びカラーパッチCP(図11(a)参照)の印刷領域を除く余白領域を検出する。し、その余白領域サイズ内においてカラーパッチCPに対応する位置にラベル印刷エリアを設定する。ラベル印刷エリアを決める場合、(1)余白領域の所定%(100%未満であって例えば30〜90%の範囲内の所定%)以下のサイズであること、(2)用紙サイズに応じたサイズであること、(3)カラーパッチCPに対応する位置であること、を条件としてラベル印刷サイズ及び位置を決定する。
本例では、ラベルの印刷エリアを決めるに当たり、まず、余白領域検出部113Aが、用紙エリア内(但し、用紙周縁部に余白が設定されている場合はその余白を除いた印刷可能エリア)において、図11(a)に示す印刷画像IGとカラーパッチCPとを除いた余白領域を検出する。本例の場合、プリンタドライバ151から受信した印刷データから取得したり、あるいは印刷対象(印刷画像IGかカラーパッチCPか)を識別しつつ印刷しているときのカウンタ112Aの計数値やヘッド制御部110が計算した吐出開始位置及び吐出終了位置の情報などから求めたりして、印刷画像IGとカラーパッチCPの各座標をRAM98に記憶している。但し、印刷画像IGとカラーパッチCPの各座標は、実座標系の座標に座標変換する計算をした後、RAM98に記憶されている。余白領域検出部113Aは、これらの座標を用いて、印刷可能エリア内においてカラーパッチCPに対して4方向(上下左右)に隣接する矩形の余白領域の座標(矩形領域の対角に対向する二点の座標)を計算する。
ここで、本例の場合、判定結果画像をカラーパッチCPのパッチ列方向(図11(a)では左右方向)の隣に配置できる場合が、パッチ列方向と直交する方向(図11(a)では上下方向)の隣に配置される場合より優先される設定となっている。つまり、パッチ列方向の隣に配置できない場合に限り、パッチ列と直交する方向の隣に配置される。また、複数の印刷画像が印刷されてそれぞれにカラーパッチCPが印刷されている場合は、複数のカラーパッチCPに付すべき判定結果画像の配置方向がなるべくすべて揃うことを優先する。そのため、最も広い余白矩形領域を採用するのではなく、カラーパッチCPに対する配置方向の優先順位と余白矩形領域の広さとに基づいて、一の余白矩形領域を決定する。もちろん、カラーパッチCPに対して隣に配置する方向は、ユーザが設定画面でマウス等を用いて指定する構成も採用できる。
印刷サイズ計算部113Bは、余白領域サイズの内側の前記所定%のエリア内に判定結果画像(例えば図11(b)に示す「OK」画像)の形状(図11(b)では四角形)が内接する矩形領域をまず計算する。そして、計算した矩形領域のサイズ(矩形領域サイズ)を用紙サイズに応じた所定サイズになるように、矩形領域サイズを必要に応じて縮小する。この場合、矩形領域サイズが用紙サイズに応じた所定サイズ以下に既になっている場合は、縮小はしない。こうして印刷サイズは、例えば縦横二辺の長さLx、Lyとして計算される。もちろん、矩形領域において対角に対向する二点の座標(xs1,ys1)、(xs2,ys2)として計算してもよい。印刷サイズを特定可能な数値データであれば足りる。なお、判定結果画像の向きは、判定結果の文字列等が印刷画像の向きと同じ向きになるように配置されるようにしている。
次に、印刷位置計算部113Cが、上記(3)の条件を満たすように、印刷サイズの矩形領域をカラーパッチCPに対応する位置に配置するための座標を計算する。矩形領域の配置位置(判定結果印刷位置)は、カラーパッチCPに対する位置関係、カラーパッチCPからの離間距離が定められている。カラーパッチCPのX方向の隣に配置される場合は、Y方向にカラーパッチCPと同じ高さ位置に配置される。但し、図11(a)に示すように2列のカラーパッチCPが印刷されている場合は、2列全体のY方向中心の高さに、矩形領域のY方向の中心高さが一致するようにY方向の位置が決められる。カラーパッチCPに対してY方向の隣に配置する場合も、XとYが逆になるだけで、同様の考え方に基づく計算処理により矩形領域のX方向配置位置が決められる。
こうしてカラーパッチCPの隣に配置する方向と直交する方向における位置が決まると、次にカラーパッチCPの隣に配置する方向の位置を決める。この位置は、前述のようにカラーパッチCPからの離間距離から決める。この離間距離は、カラーパッチCPの隣に配置する方向(図11(a)において左右方向か上下方向か)に応じて個別に設定されている。例えば左右方向の隣に配置する場合の離間距離をΔQxとすると、カラーパッチCPの印刷領域からX方向に離間距離ΔQxだけ離した位置に矩形領域のX方向位置を決める。
印刷位置計算部113Cは、例えばカラーパッチCPの印刷領域の座標が(xcp1,ycp1),(xcp2,ycp2)であるとすると、カラーパッチCPの右隣に配置する矩形領域の座標を、(xcp2+ΔQx,ycp1),(xcp2+ΔQx,(ycp1+ycp2+Ly)/2),(xcp2+ΔQx+Lx,(ycp1+ycp2−Ly)/2)として計算する。もっとも、カラーパッチCPに対する矩形領域の配置位置関係は適宜設定できるので、同様の考え方で、採用する配置位置関係に応じた計算を行えばよい。
本実施形態の第2制御部94は、プリンタドライバと同様の画像データ処理部を内蔵しており、プリンタドライバ151から受信したラベル画像データに画像処理(解像度変換処理、色変換処理、ハーフトーン処理等)を施して、CMYK表色系のラベル印刷データを生成する。このとき、ラベル印刷画像が矩形領域サイズになるように解像度変換処理及び変倍処理が行われる。もちろん、判定結果画像に替えて判定結果文字でもよく、この場合も、第2制御部94が判定結果文字のキャラクタデータ(アスキーコード等)を所定サイズに印刷可能な印刷データに変換する。なお、ラベル印刷の位置およびサイズが計算されたら、その値(ラベル印刷位置情報)をホスト装置150のプリンタドライバ151に送り、プリンタドライバ151がその値を用いて画像処理を行ってラベル印刷用の印刷データを生成してこれをプリンタ10に送信する構成も採用できる。
こうして第2制御部94は、既に印刷済みの図11(a)に示す測色用の印刷画像データPGDに対応する図11(b)に示すラベル印刷データLPDを生成する。図11(b)に示すように、ラベル印刷データLPDは、測色用の印刷画像データPGDにおけるカラーパッチCPの隣の余白領域に相当する位置に、カラーパッチCPから規定の離間距離だけ離れた位置に判定結果画像JGの印刷位置が設定された印刷データとなっている。なお、上記(2)の条件では、矩形領域サイズ(判定結果印刷サイズ)を、用紙サイズに合わせたサイズとしたが、例えばカラーパッチCPの印刷サイズに応じたサイズを採用することもできる。
図5に戻って、インク消費量演算部114は、インク消費量(累積インク消費量)を演算する。ヘッド制御部110はイメージバッファ92から取得するラスタデータに基づいて記録ヘッド19のノズルから吐出されるインクドット数を計数するドットカウンタ(図示せず)を有し、このドットカウンタの計数値に基づいてインク消費量を計算し、そのインク消費量を前回までの累積インク消費量に加算することで現在の累積インク消費量を計算する。
また、用紙消費量計数部115は、用紙消費量(用紙消費枚数、消費用紙長さ)を計数する。例えばロール紙Rの先端からの搬送長さに相当する値を計数する後述のカウンタ112Aの計数値に基づき印刷で消費されたロール紙Rの長さを計数する。また、単票紙の場合、用紙消費量計数部115は、用紙カセット(図示せず)から給紙された単票紙の枚数を図示しないカウンタで計数する。
一方、コマンド解析部91はリモートモード移行コードMRがあると、リモートモードに移行し、リモートコマンドRCを解析対象として解析を行うとともに、解析したリモートコマンドRCを第2制御部94に送る。このため、リモートモードにおいて、紙送り制御コマンドPFC1〜3、巻取制御コマンドWCC1〜3、測色駆動制御コマンドCMDC、測色制御コマンドCMC、ラベル印刷コマンドLPC、ジョブ情報記憶コマンドJMC、測色関連データCMD等は第2制御部94に送られる。なお、リモートコマンド解析中に測色モード移行コード「CM」があると、測色モードに移行し、この場合、測色駆動制御コマンドCMDC及び測色制御コマンドCMCのみが解析対象とされる。
第2制御部94は、リモートコマンドに基づき新たなコマンドを生成し、この新たなコマンドを印刷データの形式で送信することで、測色器41、測色駆動装置80及び巻取り装置30を制御する。ここで、プリンタドライバ151で生成されたリモートコマンドは、その値が論理座標系で指定されている。例えば紙送りコマンド「PF(Y)」の値「Y」は、論理座標計算部159により計算された用紙上の論理座標系の値として指定されている。そこで、ロール紙Rがプリンタ10上の基準位置からずれても、ロール紙R上の論理座標で示された対応位置で正確に記録や測色を行うことができるように、第2制御部94は、論理座標系から実座標系に変換した値で指定したコマンドを生成する。
ここで、論理座標とは、ロール紙Rが搬送方向Aにも紙幅方向にもずれないことを前提とする設定上の座標系であり、ロール紙Rの所定位置(本例では各ページの左上コーナー)を原点(0,0)(図6参照)として、カラーパッチCPの記録位置や測色位置などを座標で表現する座標系である。
これに対し、実座標系とは、実際のロール紙Rの位置は搬送方向Aにも紙幅方向にも多少ずれることが前提で、ロール紙Rとは別の位置(基準位置)に原点をおき、カラーパッチCPの記録位置や測色位置などを表現する座標系である。よって、実座標系では、ロール紙Rのずれ量が考慮された座標値になるので、実座標系の値を指定したコマンドを生成すれば、ロール紙Rの位置ずれに関係なく、実際の記録位置や測色位置に精度よく一致するように制御対象(例えばロール紙Rや測色用キャリッジ57、測色器41等)の位置制御が可能になる。本実施形態では、実座標系の原点としては、搬送方向Aには図7(a)に示すようにロール紙Rの先端が記録ヘッド19の設定基準位置(例えば最上流ノズル位置)に達したときの位置が原点「0」に採用され、一方、主走査方向B(紙幅方向)には測色用キャリッジ57(又は測色器41)のホーム位置(図12参照)が原点に採用されている。
論理座標系の値から実座標系の値への変換は、ロール紙Rの搬送方向Aにおける位置の計測値、及びロール紙Rの主走査方向B(紙幅方向)における位置の計測値を用いて行われる。そのため、本実施形態のプリンタ10では、ロール紙Rの搬送方向Aの位置及び主走査方向B(紙幅方向)の位置などの用紙位置情報を計測するようにしている。
次に、実座標系のコマンドを生成する際に使用するロール紙Rの位置情報の取得方法について説明する。本実施形態では、ロール紙Rの位置情報として、ロール紙Rの搬送方向Aの位置と、主走査方向Bの位置(ずれ量)と、主走査方向Bの用紙位置に対してその検出位置よりも搬送方向下流側に配置された測色器41の位置における用紙位置のロール紙Rの斜行に起因する主走査方向Bのずれ量とを計測している。
まず、ロール紙Rの搬送方向Aの位置の計測は、紙検出センサ107とエンコーダ106と紙送り制御部112内のカウンタ112Aとを用いて行われる。図5に示すエンコーダ106は、PFモータ105の回転を検出してその回転量に比例した数のパルスを有するエンコーダ信号を出力する。エンコーダ106は例えばPFモータ105の動力伝達経路上のギヤ輪列の回転軸の回転を検出することで間接的にPFモータ105の回転を検出する。紙検出センサ107は、ロール紙Rの搬送経路上の所定位置に位置し、ロール紙Rが給送される過程でその先端を検出する。
図7は、ロール紙Rの搬送方向Aの位置を計測する方法を説明する模式側面図である。図7に示すように、紙検出センサ107は、ロール紙Rの搬送経路上において搬送ローラ21よりも少し搬送方向上流側位置(図7では右側位置)に配置され、給送されたロール紙Rの先端を検出する。紙検出センサ107がロール紙Rの先端を検知すると、紙送り制御部112はカウンタ112Aをリセットし、エンコーダ106からのエンコーダ信号のパルス数を計数する。その計数値からロール紙Rの先端が図7(a)に示す記録ヘッド19の設定基準位置(例えば最上流ノズル位置)に達すると、カウンタ112Aをリセットし、ロール紙Rの原点を設定する。以後、この位置を原点としてエンコーダ106からのエンコーダ信号のパルス数を計数する。このとき、PFモータ105の正転駆動時に計数値をインクリメントし、逆転駆動時に計数値をデクリメントすることで、カウンタ112Aの計数値からロール紙Rの搬送方向Aにおける実位置を把握できる。つまり、カウンタ112Aの計数値は、ロール紙Rの先端を「0」としたときの設定基準位置(例えば最上流ノズル位置)におけるy座標の値を示すものとなる。
例えば測色用印刷画像を1ページ分すべて印刷終了した際に図7(b)に実線で示す位置にロール紙Rが配置されていると、このときのロール紙Rの実位置yは、カウンタ112Aの計数値から、y=ypとなる。カラーパッチCPを印刷した際のロール紙Rの実位置は、カラーパッチ印刷時のカウンタ112Aの計数値をRAM98又は不揮発性メモリ96の所定記憶領域に記憶することで保存されている。例えば印刷データ中のカラーパッチCPである旨の識別子からカラーパッチCPの印刷であることを把握したり、印刷画像データの画像解析によりカラーパッチを識別してその印刷時のカウンタ112Aの計数値から位置を取得したりする。また、測色器41の搬送方向Aにおける位置は予め設定されていて既知であるので、この測色器41の位置と設定基準位置との距離のカウンタ計数値相当の値Lは既知である。よって、この値Lから、現在の用紙位置ypとカラーパッチCPの位置ycpの差(yp−ycp)を差し引けば、ロール紙Rを印刷終了位置(図7(b)における実線位置)から、カラーパッチCPが測色器41により測色されうる測色位置(図7(b)における二点鎖線)まで搬送する際に必要な紙送り量Δy(=L−yp+ycp)が求められる。
次にロール紙Rの主走査方向B(紙幅方向)の位置、及びロール紙Rの斜行による測色位置(X方向)の紙幅方向のずれ量の計測方法について説明する。ロール紙Rの紙幅方向の位置やずれ量の計測は、紙幅センサ108とリニアエンコーダ109とキャリッジ制御部111内のカウンタ111Aを用いて行われる。
図5に示す紙幅センサ108はキャリッジ17に取着され、キャリッジ17と一緒に主走査方向Bに移動してロール紙Rの紙幅方向両端位置を検出する。一方、リニアエンコーダ109は、キャリッジ17の主走査方向Bへの移動量に比例する数のパルスを有するエンコーダ信号を出力する。キャリッジ制御部111は、キャリッジ17がホーム位置に配置されたときにリセットしたカウンタ111Aの計数値を、キャリッジ17の往動時にインクリメントし、復動時にデクリメントすることで、カウンタ111Aの計数値からキャリッジ17の主走査方向Bの位置(実座標系の位置)を把握する。そして、第1制御部93は、キャリッジ制御部111に指示してキャリッジ17を印刷中に定期的に主走査方向Bに移動させることで、紙幅センサ108によりロール紙Rの紙幅方向両端位置を検出する。紙幅センサ108がロール紙Rの紙幅方向両端位置を検出したときのカウンタ111Aの計数値からロール紙Rの紙幅方向の位置、つまりロール紙Rの紙幅方向における基準位置からのずれ量を把握する。例えばロール紙Rの紙幅方向(主走査方向B)の基準位置からのずれ量Δxを用いて、ロール紙R上の各ページ内の相対位置(論理座標)で示された所定位置Xo(例えば測色位置)を、そのずれ量Δxが加味された実座標系の位置xo(=Xo+Δx)として座標変換する計算を行うことが可能となる。
また、印刷中に定期的に紙幅センサ108がロール紙Rの両端を検出したときの位置を、ロール紙Rの搬送方向に異なる二位置間で比較計算することで、ロール紙Rの斜行度合いを計測する。例えばロール紙Rの両端検出位置座標がxrとxlであれば、この平均を計算して、ロール紙Rの幅中心のx座標が求まる。そして、例えばロール紙Rの位置y1と位置y2のときのロール紙Rの幅中心のx座標x1,x2を用いて、斜行度合いScは、Sc=(x2−x1)/(y2−y1)により求められる。そして、紙幅センサ108と測色器41のy方向の距離をYLとすると、ロール紙Rの幅方向検出位置に対する測色器41の位置におけるロール紙Rの斜行に起因する位置の紙幅方向のずれ量Δx2は、Δx2=YL・Scにより求められる。そして、ロール紙Rの紙幅方向の基準位置からのずれ量Δx1とこのずれ量Δx2とを加えたずれ量Δx3(=Δx1+Δx2)が、測色器41の位置におけるロール紙Rの紙幅方向のずれ量となる。例えばずれ量Δx3を用いて、ロール紙R上の各ページ内の相対位置(論理座標)で示された所定位置Xo(例えば測色位置)を、そのずれ量Δx3が加味された実座標系の位置xo(=Xo+Δx3)に座標変換する計算を行うことが可能となる。これらの計測値Δx1,Δx3は、第2制御部94で座標計算する際に使用される。
次に図5に示す第2制御部94が行う処理を詳細に説明する。第2制御部94は、コマンド解析部91からリモートコマンドRCを受け付ける。リモートコマンド解析部116は、リモートコマンドRCが論理座標系から実座標系への値の変換が必要なコマンドであるかどうかを解析する。本例では、リモートコマンド解析部116による解析の結果、紙送り制御コマンドPFC1〜3、巻取制御コマンドWCC1〜3、測色駆動制御コマンドCMDC等が、論理座標系から実座標系への変換が必要なコマンドであると解析される。
コマンド生成部117は、リモートコマンド解析部116で座標変換が必要と解析された論理座標系の値が格納されたコマンドから、ロール紙Rのプリンタ10に対する位置ずれ量分が加味された実座標系の値が格納されたコマンドを生成する。このコマンド生成に当たり、座標計算部118は、論理座標系の値を実座標系の値へ変換する計算を行う。コマンド生成部117は、プリンタドライバ151のコマンド生成部160と基本構成は同様であり、座標計算部118で算出された実座標系の値(測色位置や駆動量等)をコマンドの値として組み込んで、測色系及び巻取り系の制御コマンドを生成する。
例えば紙送り制御コマンド「PF(Yo)」において相対位置で示された論理座標系の値Yoを変換する場合、カウンタ112Aの計数値で表現される実座標系の現在値ypreに対し、搬送方向Aへの順送りであれば加算し、反搬送方向への逆送りであれば減算する計算を行って、論理座標系の値Yoを実座標系の値yo(=ypre±Yo)に変換する。この場合、コマンド生成部117により、実座標系の紙送り制御コマンドは「PF(yo)」として生成される。そして、紙送りを行ってカウンタ112Aの計数値がyoに達した位置で停止すれば、ロール紙Rは、論理座標で指定された値Yoの位置に配置される。また、巻取制御コマンド「PWpre(Yo)」の論理座標系の値を実座標系の値へ変換する場合も同様であり、実座標系の巻取制御コマンド「PWpre(yo)」として生成される。この場合、巻取制御は逆送りだけなので、実座標系の値yoは、yo=ypre−Yoとなる。
また、例えば測色駆動制御コマンド「CCR(Xo)」において論理座標系の値Xoを変換する場合、RAM98の所定領域に記憶された前述のずれ量Δx3(=紙幅方向のずれ量Δx1と斜行起因のずれ量Δx2の総和)を用いて、実座標系の値xo(=Xo+Δx3)を計算する。ここでΔx3は、X方向へずれているときにプラス、反X方向へずれているときにマイナスの値をとる。この場合、コマンド生成部117により、実座標系の測色駆動制御コマンドは「CCR(xo)」として生成される。そして、測色動作のために測色用キャリッジ57を駆動しその位置を計測する後述のカウンタ125Aの計数値が、値xoに達したときに停止させることで、測色用キャリッジ57の動作位置を、X方向において測色器41の測色光スポットが測色対象の単位パッチDの中心部と一致するように位置決めすることができる。
また、本例の場合、印刷画像やカラーパッチCPの印刷位置を決める際にも、ヘッド制御部110が、紙幅センサ108の検出結果に基づき得られたロール紙Rの紙幅方向のずれ量Δx1を加味して、主走査方向Bにおける印刷位置の位置補正を行っている。よって、ロール紙Rが紙幅方向に位置ずれしても、ロール紙R上の相対位置で設定された論理座標どおりの位置に印刷画像やカラーパッチCPを印刷することができる。そして、この位置補正されたカラーパッチCPの印刷位置に合わせて、測色用キャリッジ57のX方向における測色位置が、測色駆動制御コマンド「CCR(Xo)」の論理座標系から実座標系への値の変換により補正されるので、印刷位置が調整された各単位パッチDを測色する測色位置の位置精度を上げることができる。なお、紙幅センサ108と測色器41との間の搬送方向Aにおける距離が比較的短く斜行の影響を無視できる場合は、ずれ量Δx3に替えて、ずれ量Δx1を採用することもできる。
ここで、論理座標系から実座標系への変換前後での値の次元は異なってもよい。つまり、「位置→位置」、「駆動量→駆動量」、「搬送量→搬送量」のような同次元の変換でもよいし、「位置→駆動量」、「位置→駆動量」、「位置→搬送量」、これらの逆の変換などのような異なる次元への変換でもよい。
このように本実施形態では、印刷画像IG及びカラーパッチCPの記録位置も、ロール紙Rの紙幅方向の位置ずれが加味された実座標系の印刷位置に設定されるので、RAM98には、判定結果画像JGの座標を決めるために用いる印刷画像IG及びカラーパッチCPの座標は、実座標系の座標として記憶される。
また、プリンタ10の通信部82には、前述のようにハブ83を介して測色器41、測色駆動装置80、巻取り装置30の各通信部84〜86が通信ケーブル87〜89を介して接続されている。
測色器41は、通信部84の他、コマンド解析部121、測色制御部122及び測色部123を備えている。なお、測色部123は、測色光を発光する発光部と、測色光がカラーパッチCPの各パッチDで反射した反射光を受光する受光部とを有する。測色部123が取得した測色データ(測色結果)は、測色制御部122からプリンタ10に送られ、さらにホスト装置150のプリンタドライバ151に送信されるようになっている。
また、測色駆動装置80は、通信部85の他、コマンド解析部124、測色駆動制御部125、駆動回路126,127、紙押さえ用モータ71、測色用キャリッジモータ60及びエンコーダ130を備えている。測色駆動制御部125は制御コマンドに基づいて駆動回路126を介して紙押さえ用モータ71を駆動制御して、押さえ部材44による、ロール紙Rの保持/保持開放のための回動動作を行わせる。
また、測色駆動制御部125は、測色用キャリッジ57の位置をエンコーダ130からのパルス数を計数するカウンタ125Aの計数値から把握している。ロール紙Rが測色対象のカラーパッチCPが測色器41に対応する位置である測色位置に搬送された後、制御コマンドに基づいて駆動回路127を介して測色用キャリッジモータ60を駆動して測色用キャリッジ57を測色のための動作位置へ移動させる。
巻取り装置30は、通信部86の他、コマンド解析部131、巻取り制御部132、センサ133、駆動回路134及び巻取り用モータ32を備えている。巻取り制御部132は、センサ133からロール紙Rの弛みを検知した信号を入力すると、駆動回路134を介して巻取り用モータ32を正転駆動させるとともに、弛みが検知されなくなると巻取り用モータ32の駆動を停止させる。これにより巻取り装置30によるロール紙Rの巻き取りが行われる。また、巻取り制御部132は第2制御部94からの巻取制御コマンドに基づいて駆動回路134を介して巻取り用モータ32を指定された駆動量だけ逆転駆動させる。これにより、巻取り装置30は、PFモータ105が逆転駆動されることにより搬送ローラ21及び排紙ローラ22の逆転を介して行われるロール紙Rのフィードバック(逆送)動作に同期してロール紙Rを繰り出す。
図12は、測色時の測色装置を示す模式平面図である。図12に示すように、押さえ部材44の長孔56の下方に測色対象とされるカラーパッチCPは配置される。カラーパッチCPは、複数の単位パッチDが配列されて構成されるパッチ列PRと、パッチ列PRの列方向両側に所定の距離を隔てて配置された開始位置マークMSと終了位置マークMEとを備えている。測色器41がキャリブレーション手段46のホワイトタイル47の直上に位置する状態が、測色用キャリッジ57のホーム位置となっている。測色時にはホーム位置を原点とする紙幅方向(主走査方向B)の座標(x座標)として各単位パッチDの位置、すなわち測色用キャリッジ57の測色動作のための動作位置が計算される。このとき、第2制御部94は、カラーパッチCPを構成する各単位パッチDの記録位置と測色位置とのロール紙Rの斜行に起因するずれ量が加味された、測色時における測色用キャリッジ57の動作位置を計算する。
測色時には、例えば測色用キャリッジ57は主走査方向B(図12では左右方向)に移動し、測色器41を図12に矢印に示すように一定速度で移動させる走査測色を行う。そして、測色器41は移動しながら測色点に達する度にそのときの測色データを取得する。この走査測色のときは、原則、各マークMS,MEが記録されるので、測色部123が開始位置マークMSを検出した時の位置を基準とし、パッチ列長Lとパッチ数Nとから決まるパッチピッチ分移動する度に測色データ(単位パッチ毎の狭義の測色データ)を測色位置と対応付けてバッファ(図示せず)に格納する。このとき、測色器41がパッチピッチ分移動する度に測色データを取得するタイミングは、第2制御部94が測色駆動装置80における測色用キャリッジ57の駆動位置を逐次取得してこの駆動位置がパッチピッチ分移動するタイミングに同期させるように測色データ取得タイミングを指示するために測色器41へ送られる同期信号に基づき決められる。なお、走査測色の他に、測色器41を単位パッチDの中心部と対応する位置に間欠的に停止させ、測色器41の各停止位置で測色データを取得するスポット測色も行われる。
次に第2制御部94が備えるリモートコマンド解析部116、コマンド生成部117及び座標計算部118の処理について詳細に説明する。
図5に示すリモートコマンド解析部116は、コマンド解析部91から送られたリモートコマンドを解析する。ここでの解析は、コマンド生成部117がコマンドを作り直す必要があるか否かの解析であり、作り直す必要があれば、論理座標系の値をもつコマンドを実座標系の値をもつコマンドに変換するために必要な情報(例えば論理座標の値)の取得なども行う。
座標計算部118は、リモートコマンドRC中に用紙上の論理座標で示された値から、用紙の実座標系の値に変換する計算を行う。コマンド生成部117は、この計算された実座標系の値を用いて、ロール紙Rの位置ずれが加味された値をもつ実座標系のコマンドを生成する。
各オプション機器のうち測色駆動装置80と巻取り装置30の各コマンド解析部124,131は、プリンタ10内のコマンド解析部91と同様に印刷コマンドを解析可能である。
測色駆動装置80内のコマンド解析部124は、受信したESC/P制御データ(印刷データ)を解析し、測色駆動制御コマンドがあれば測色駆動制御部125に転送する。測色駆動制御コマンドには、測色駆動制御部125に紙押さえ用モータ71を駆動制御する紙押さえコマンド、及び測色用キャリッジモータ60を駆動制御する測色用キャリッジ駆動コマンド(以下、「測色用CR駆動コマンド」という)とを含む。
次に、図14及び図15のフローチャート並びに図16に示すトランザクション図に基づいてプリンタシステム100の処理を説明する。なお、このフローチャートは、ソフトウェアによる処理に限らず、ハードウェアによる処理を含んでもよい。
例えばユーザはホスト装置150の入力装置162を操作して例えばモニタ150aに表示された画像を印刷する通常の印刷を実行する場合と、測色用設定画面でカラーパッチ等を指定して測色用印刷を実行する場合とがある。測色用印刷を実行した場合は、測色用画像が印刷されるとともに、続いてカラーパッチCPの測色が行われる。また、ユーザは、測色器41が取得した測色データを用いてプリンタドライバ151が判定した判定結果をラベル印刷させたい場合は、図6に示す測色用設定画面140でラベル印刷設定ボタン141を操作してから測色用印刷を実行する。
印刷実行時には、ホスト装置150(詳しくはプリンタドライバ151)はプリンタ10と通信を確立する。通信が確立されると、まずホスト装置150はプリンタ10に対してジョブ開始コマンド「JS」を送信する(S10)(ジョブ開始ステップ)。プリンタ10はジョブ開始コマンド「JS」を受信すると(S210)、ジョブ終了コマンド「JE」をホスト装置150から受信するまでネットワーク上におけるホスト装置150以外の他のホスト装置等からの割込を禁止する。よって、プリンタ10は、他のホスト装置から割込要求があっても受け付けない。
次にホスト装置150からプリンタ10に対して印刷データが送られて印刷が指示される(S20)。例えば印刷画像IGとカラーパッチCPを印刷するための測色用の印刷データが送信される。プリンタ10は印刷データに基づいてロール紙Rに印刷画像IGとカラーパッチCPの印刷を行う(S220)(第一記録ステップ)。この間、ホスト装置150はプリンタ10に対して印刷進捗状況を確認しており、プリンタ10から印刷終了の応答があると(S30で肯定判定)、次に測色装置40に行わせるべき測色があるか(つまりユーザが測色用設定画面で測色を指定した印刷実行であるか)否かを判断する(S40)(判断ステップ)。
そして、測色装置40に行わせるべき測色があれば(S40で肯定判定)、次にホスト装置150は測色指示を行う(S50)。プリンタ10はホスト装置150から測色指示を受け付けた場合は(S230で肯定判定)、受信した測色指示データを測色器41へ転送して測色器41に設定を指示する(S240)。その結果、測色器41では初期化処理や測色条件等の設定が行われる。
続いてプリンタ10は測色を行う(S250)(測定ステップ)。すなわち、プリンタ10は、PFモータ105を駆動させてロール紙Rを搬送方向Aにおける測色位置に位置合わせする。そして、プリンタ10は測色駆動装置80に用紙押さえを指示する。この結果、紙押さえ用モータ71を正転駆動させて、測色位置に配置されたロール紙Rを押さえ部材44によって押さえる(図3、図12参照)。続いてプリンタ10は測色用キャリッジ57の列方向C(主走査方向B)への位置合わせを指示する。この結果、測色用キャリッジ57は主走査方向Bに一定速度で移動する(例えば走査測色の例)。このとき、プリンタ10(詳しくは第2制御部94)は測色駆動装置80のエンコーダ130の出力信号に基づきカウンタ125Aに計数されている測色用キャリッジ57の位置情報を測色駆動装置80から逐次受信し、測色器41が単位パッチDの中心部を測色可能な位置に達する度に測色データを取得するように測色用キャリッジ57の移動に同期させて測色器41にデータ取得指示を行う。測色器41ではデータ取得指示に基づいて測色器41が単位パッチDの中心部を測色可能な位置に達したときのタイミングで測色データをバッファに格納する。こうして一列分のカラーパッチCPの測色が終わると、測色用キャリッジ57をホーム位置へ移動させ、測色用キャリッジ57がホーム位置に戻ると、紙押さえ用モータ71を逆転駆動させて押さえ部材44のロール紙Rの押さえを解除する。
次に測色すべきカラーパッチCPがまだあれば、次の測色位置までロール紙Rを搬送する。以下、複数列のカラーパッチCPがある場合は、全てのカラーパッチCPの測色を終えるまで同様の処理動作を繰り返す。
その間、ホスト装置150は測色進捗要求をプリンタ10へ逐次送信して測色が終了したか否かを判断しており(S60)、一方、プリンタ10は測色駆動装置80の終了(終了ステータス)を監視して終了の応答を受け付けると、ホスト装置150に対して測色終了の旨を送信する(S260)。ホスト装置150は、測色終了の通知を受け付けると(S60で肯定判定)、プリンタ10に測色結果を要求する(S70)。測色結果要求を受け付けたプリンタ10は測色器41に対して測色結果要求を送る。測色結果要求を受け付けた測色器41は測色結果(測色データ)を、プリンタ10を介してホスト装置150に送る。ホスト装置150(詳しくは判定部157)は測色データを受け付けると、測色データに基づいて印刷色の良否を判定する判定処理を行う(S90)。そして、判定結果が「OK」であるか否かを判定し(S100)、「OK」であれば(S100で肯定判定)、ホスト装置150(詳しくは図9に示す判断部173)はラベル印刷があるか否かを判断する(S110)。そして、判定結果が「OK」であれば、ホスト装置150(詳しくは図9に示すラベル印刷指令部172A)はラベル印刷を指示する(S210)。このラベル印刷指示では、紙送り系のコマンドと、ラベル印刷系のコマンド及びラベル印刷データLPDがプリンタ10に送信される。なお、ホスト装置150(詳しくは図9に示すジョブ情報生成部175)では、取得した測色データ及び判定部157の判定結果に基づいて、プリンタ10にジョブ情報として記憶させるべき測色関連データ(測色頻度、測色条件、判定結果等の測色関連ジョブ情報を含むデータ)を生成し、これをデータ格納部158に一時格納する。
一方、ラベル印刷指示を受け付けたプリンタ10は、ラベル印刷位置の計算を行う(S290)。すなわち、ラベル印刷位置計算部113(図10参照)を起動して、測色用印刷画像データと、ホスト装置150から取得したラベル印刷データLPDを用いてラベル印刷位置の計算を行う。
ラベル印刷位置計算部113では、測色用の印刷画像データにおいて、まず余白領域検出部113Aが印刷画像IG及びカラーパッチCP以外の余白領域を検出し、その検出された余白領域のうちカラーパッチCPの上下左右に位置する領域の所定%の領域内に、ラベル印刷画像(矩形形状)を内接しうる印刷サイズを計算する。複数候補がある場合は、配置優先順位の高い余白領域が選択される。さらに印刷位置計算部113Cは、カラーパッチCPから所定の離間距離を隔てた位置に印刷位置を計算する。こうしてラベル印刷位置を計算する。
ラベル印刷位置が決まると、プリンタ10はラベル印刷位置への用紙位置合わせを行う(S300)。すなわち、プリンタ10では、ラベル印刷指示の際に受け付けた紙送り系のコマンドの値にラベル印刷位置を組み込んで、ロール紙Rを測色位置からラベル印刷位置まで搬送させる紙送りコマンドを生成する。この際、測色位置からラベル印刷位置までのロール紙Rの搬送は、逆送り(バックフィード)になるので、巻取制御コマンドWCC2の値にラベル印刷位置を組み込んで、逆送り時に必要となる巻取りコマンドも併せて生成する。そして、プリンタ10はその紙送りコマンドに従ってPFモータ105を逆転駆動させるとともに巻取り装置30に対して巻取りコマンドを送ることで逆転指示をする。これにより、PFモータ105が逆転駆動されるとともにこれに同期して巻取り装置30が逆転駆動されることにより、ロール紙Rはラベル印刷位置まで逆送り(バックフィード)される。
ロール紙Rがラベル印刷位置に配置されると、次にプリンタ10はラベル印刷を行う(S310)(第二記録ステップ)。すなわち、例えばホスト装置150(詳しくはプリンタドライバ151)から先に受信したラベル印刷データLPDがモニタ表示系の画像データ(例えばRGB表色系)である場合は、プリンタ10は第2制御部94により画像処理(解像度変換処理、色変換処理、ハーフトーン処理等)を施してCMYK表色系のラベル印刷データLPD(図11(b)参照)を生成する。そして、このラベル印刷データLPDに基づいて第1制御部93がプリントエンジン95を駆動制御して、ロール紙Rに判定結果画像JGのラベル印刷を施す(図13(c)参照)。
その間、ホスト装置150はプリンタ10にラベル印刷進捗要求を逐次送ってラベル印刷終了の確認を行っており(S130)、プリンタ10はラベル印刷を終了すると、ラベル印刷終了の旨をホスト装置150に応答する。
ラベル印刷の終了を確認したホスト装置150は、プリンタ10に対してジョブ情報記憶指示を行う(S140)。詳しくは、図9に示すジョブ情報送信部176がデータ格納部158から読み出した測色関連データCMDを、ジョブ情報記憶コマンドJMC(図8,図9参照)と共にプリンタ10に送信する。
プリンタ10は、ジョブ情報記憶指示を受信すると(S330で肯定判定)、ジョブ情報の記憶を行う(S340)。ここで、印刷時にプリンタ10では、インク消費量演算部114が印刷画像データに基づき記録ヘッド19から吐出されるインク滴(ドット)の数を図示しないドットカウンタにより所定印刷単位毎(例えば所定行印刷毎あるいは1頁印刷毎)に計数し、ドットカウンタの計数値に1ドット当たりの重量(又は体積)を乗じることによりの印刷単位毎のインク消費量を演算している。そして、インク消費量演算部114は、今回算出したインク消費量を、RAM98に記憶された前回の累積インク消費量に加算することで、累積インク消費量を更新している。同様に印刷時には、用紙消費量計数部115が印刷単位毎に消費された用紙消費量(枚数あるいは用紙長)を計数しており、RAM98に記憶された前回の累積用紙消費量に今回の用紙消費量を加算することで、累積用紙消費量を更新している。
そして、プリンタ10の第1制御部93は、RAM98に一時記憶された最新のインク消費量及び用紙消費量を、測色関連データと共に、RAM98内のジョブ情報格納部に格納する。プリンタ10の電源遮断時にはこれらのジョブ情報はRAM98から不揮発性メモリ96のジョブ情報格納部97に格納され、次回電源投入時にジョブ情報格納部97から読み出されてRAM98のジョブ情報格納部に書き込まれる。プリンタ10は、管理サーバ300からジョブ情報を要求するアクセスがあると、RAM98又は不揮発性メモリ96のジョブ情報格納部に格納されたジョブ情報を管理サーバ300に送信する。なお、ジョブ情報は、それが更新される度、あるいは所定回数更新の度に不揮発性メモリ96のジョブ情報格納部97に書き替えられてもよい。
そして、ホスト装置150は、ジョブ情報記憶終了の旨を確認すると、ロール紙Rを所定位置まで搬送させる用紙位置合わせ指示を行う(S150)。用紙位置合わせ指示を受信したプリンタ10は、用紙位置合わせを行う(S350)。本例では、所定位置は例えば次ページの印刷開始位置であり、ホスト装置150は、次ページの印刷開始位置にロール紙Rを逆送り(バックフィード)させる紙送り制御コマンドPFC3、及び巻取り装置30を逆転駆動させる巻取制御コマンドWCC3をプリンタ10に送信する。その結果、PFモータ105が逆転駆動されてロール紙Rが逆送りされるとともに、これに同期して巻取り装置30が逆転駆動されることで巻取り装置30からロール紙Rが繰り出されて、ロール紙Rは次ページの印刷開始位置まで逆送りされる。
そして、測色実施時には、測色用印刷、測色指示、判定、ラベル印刷指示及びジョブ情報記憶指示のすべてのジョブが終了すると、ホスト装置150はジョブ終了コマンド「JE」をプリンタ10に送信する(S160)(ジョブ終了通知ステップ)。プリンタ10はそのジョブ終了コマンド「JE」を受信する。プリンタ10はジョブ終了コマンド「JE」を受信すると、ホスト装置150との通信コネクトを切断し、他のホスト装置からの割込を許可する。つまり、他のホスト装置からの通信コネクト要求を受け付ける。
なお、上記の説明では、図16に示す測色を実施する場合を例としたが、通常印刷時には、印刷に続けて実施すべき測色がないので(S40で否定判定)、印刷終了後に、ジョブ情報記憶指示と用紙位置合わせ指示を行った後、ジョブ終了コマンド「JE」がプリンタ10に送信される。また、測色を実施する場合でも、判定結果が「NG」の場合は、測色判定後に、ジョブ情報記憶指示と用紙位置合わせ指示を行った後、ジョブ終了コマンド「JE」がプリンタ10に送信される。さらに、判定結果が「OK」でも、ラベル印刷なしの場合は、測色判定後に、ジョブ情報記憶指示と用紙位置合わせ指示を行った後、ジョブ終了コマンド「JE」がプリンタ10に送信される。
以上、詳述したように本実施形態によれば、次の効果が得られる。
(1)プリンタ10がラベル印刷位置を計算するので、用紙上に印刷されたカラーパッチCPと対応する適切な位置に判定結果画像JGのラベル印刷を施すことができる。例えばユーザが入力装置162を操作してラベル印刷位置を指定する面倒な作業をしなくて済む。
(2)用紙エリア(あるいは印刷エリア)における余白領域を検出し、検出した余白領域内にラベル印刷位置を設定するので、判定結果画像JGが印刷画像IGやカラーパッチCPと重なって印刷されることを回避できる。従って、印刷位置が自動で決められて印刷される構成であっても、判定結果画像JGが印刷画像IGやカラーパッチCPと重なって印刷されたために判読しづらくなる不都合を回避できる。
(3)カラーパッチCPから所定の離間距離を隔てた対応位置にラベル印刷位置を自動で設定し、そのラベル印刷位置に判定結果画像JGを印刷する構成なので、例えば用紙内に複数の印刷画像IG及びカラーパッチCPが印刷された場合でも、どのカラーパッチCPの判定結果画像JGであるかを一目で判別できる。
(4)ロール紙Rのずれ量が加味された実座標系の位置に印刷画像IG及びカラーパッチCPが印刷され、そのカラーパッチCPの実座標系の印刷位置を用いてラベル印刷位置を計算した。よって、ロール紙Rのずれ量によってラベル印刷位置のカラーパッチCPからの離間距離がばらつく不都合を回避できる。
(5)測色データを受信するまで待ってから、ジョブ終了コマンド「JE」をプリンタ10に送信するので、測色データを受信して測色判定を速やかに行うことができる。例えば測色用印刷終了後に一旦ジョブ終了コマンド「JE」を送信すると、他のホスト装置等からの割込処理が受け付けられ、その割込処理終了まで測色データを受信することができなくなる。この場合、ホスト装置150のモニタ150aに測色判定結果が表示されるのを待っているユーザが、待たされることになる。例えばユーザに測色失敗などの不安を与える。また、測色終了後、測色関連データが更新されるまでの待ち時間が長くなり、管理サーバ300がジョブ情報を取得しようとしてアクセスした際に既に測色が済んでいるのにその測色関連情報が更新されておらず、古い測色関連情報しか取得できない不都合も発生する。しかし、本実施形態の構成によれば、このような問題を回避できる。
(6)ラベル印刷が終了するまで待ってから、ジョブ終了コマンド「JE」をプリンタ10に送信するので、測色終了後、ラベル印刷を速やかに行うことができる。例えば測色後に一旦ジョブ終了コマンド「JE」を送信すると、他のホスト装置等からの割込処理が受け付けられ、その割込処理終了までラベル印刷を行うことができなくなる。この場合、ユーザにラベル印刷の印刷エラーが発生したなどの不安を与える。しかし、本実施形態の構成によれば、このような問題を回避できる。
(7)ジョブ情報記憶指示が終了するまで待ってから、ジョブ終了コマンド「JE」をプリンタ10に送信するので、測色終了後、測色関連データの更新を速やかに行うことができる。例えば測色後、ジョブ情報記憶指示を行う前に一旦ジョブ終了コマンド「JE」を送信すると、他のホスト装置等からの割込処理が受け付けられ、その割込処理終了までジョブ情報記憶指示を行うことができなくなる。この場合、管理サーバ300がジョブ情報を取得しようとしてアクセスした際に既に測色が済んでいるにも関わらず、その測色関連情報が更新されておらず、古い測色関連情報しか取得できない不都合が発生する。しかし、本実施形態の構成によれば、このような問題も回避できる。
(8)印刷終了後に用紙を所定位置に配置するための用紙位置合わせ指示を終了するまで待ってから、ジョブ終了コマンド「JE」をプリンタ10に送信するので、印刷終了後、用紙の次の所定位置への位置合わせを速やかに行うことができる。例えば印刷終了後、用紙位置合わせ指示の前に一旦ジョブ終了コマンド「JE」を送信すると、他のホスト装置等からの割込処理が受け付けられ、その割込処理終了まで用紙位置合わせ指示を行うことができなくなる。この場合、次ページの印刷を開始する際に、用紙を印刷開始位置に搬送する処理が増えて印刷の開始が遅れたり、用紙を切断する場合に、用紙の切断が遅れて用紙が切断されるまでユーザが待たされる不都合が発生することも起こりうる。しかし、本実施形態の構成によれば、このような問題を回避できる。
(9)紙幅センサ108の検出結果からロール紙Rの紙幅方向における基準位置からのずれ量を検出し、論理座標系の値をそのずれ量分が加味された実座標系の値に座標変換し、その実座標系の値を組み込んだコマンドに基づいて測色用キャリッジ57の動作位置を制御したので、ロール紙Rが紙幅方向にずれていても、カラーパッチCPに対し適切な測色位置で正確に測色することができる。よって、測色判定結果の精度が向上する。
なお、実施の形態は、上記に限定されるものではなく、以下のように変更してもよい。
(変形例1)前記実施形態において、印刷すべき測色結果は、ホスト装置150のプリンタドライバ151による判定結果ではなく、測色結果情報でもよい。ロール紙Rに印刷された測色結果情報を見てその色条件の良し悪しをユーザが判断する構成でもよい。また、測色条件などの測色関連情報を一緒に印刷してもよい。
(変形例2)前記実施形態において、測色データをプリンタドライバに送らず、プリンタ10が測色データに基づき判定を行い、その判定結果をカラーパッチCPの印刷された用紙に印刷する構成としてもよい。
(変形例3)用紙の印刷エリア以外の周縁部分の余白に、判定結果などの測定結果を印刷してもよい。
(変形例4)前記実施形態において、測定結果(判定結果を含む)の印刷位置は、カラーパッチCPとの対応関係がとれる限り、カラーパッチCPの対応する位置であることに限定されない。例えばカラーパッチCPに対し印刷画像IGを間に挟んだ反対側の位置に測定結果を印刷してもよい。
(変形例5)測定結果の印刷位置は余白領域内であることに限定されない。例えば、印刷画像IGやカラーパッチCPに重なるように測定結果を印刷してもよい。また、印刷内容も、例えば判定結果が「NG」の場合に、印刷画像IGやカラーパッチCPに「NG」の文字やNGの旨を示すマーク(例えば「×」等)、判定値(例えば5段階評価値)を印刷してもよい。もちろん、「OK」の文字やその旨を示すマーク(例えば「○」等)を印刷画像やカラーパッチCPに重なるように印刷してもよい。これらの場合、測定結果の印刷色は、印刷画像の色の反対色など測定結果の記録を判別しやすい色を自動で選択する構成も採用できる。印刷画像の色は、例えば測色印刷用の印刷画像データを解析して取得し、その取得した色に対応する反対色を、例えばテーブルデータから選択する測定結果印刷色決定手段を設ければよい。この場合、印刷画像中で白に近い領域あるいは黒に近い領域を検出する測定結果記録領域検出手段を設け、その検出された領域の地の色と反対色の色(すなわち、白地には黒、黒地には白など)を測定結果印刷色決定手段により決定し、測定結果を印刷するようにしてもよい。色の解析は、例えばCMY画像データの各ドットの階調値から判定し、同一系の色が連続する領域であってその領域内に判定結果の最小印刷サイズの矩形が内接可能な領域を検出する構成とし、そのように検出された領域が複数ある場合は、カラーパッチCPに最も近い領域、あるいはカラーパッチCPの対する配置位置が優先順位の高い側の位置となる領域を優先的に選択するようにしてもよい。
(変形例6)前記実施形態において、ホスト制御部はホスト装置150内のプリンタドライバ151(ホストドライバ)に限定されず、ホスト制御部の機能を有するプリンタドライバがプリンタ10に内蔵されていてもよい。例えばプリンタ10に装備された操作パネルの画面に測色用設定画面を表示させ、ユーザが測色用設定画面を見ながら操作ボタンを操作することにより、内部のプリンタドライバが測色条件の設定や、カラーパッチCP及びラベル印刷を指定できるスタンドアロン型プリンタにも適用できる。この場合、プリンタ10に内蔵のプリンタドライバは、基本的に図5に示すプリンタドライバ151と同様で、測色データに基づいて良否の判定を行う判定部を有し、プリンタドライバは判定部の判定結果を印刷させる。
(変形例7)前記実施形態において、測色用設定画面140でユーザが入力装置162を操作してラベル印刷位置を指定できる構成も採用できる。この場合、プリンタドライバ151がその指定された位置に印刷できるようにラベル印刷データ(例えばRGB画像データ)に画像処理を施して印刷用のラベル印刷データ(CMYK表色系画像データ)を生成してもよい。すなわち、判定部157が測色データを用いて良否判定を行った後、画像データ処理部161が、データ格納部158から測色用の設定画面140で指定したラベル印刷データを読み出し、このラベル印刷データに指定位置・指定サイズに印刷されるような画像処理を施して、CMYK表色系のラベル印刷データを生成する。
(変形例8)前記実施形態において、コマンドの値の論理座標系から実座標系への変換を実施しない構成としてもよい。
(変形例9)測定部は、測色装置40に限定されない。例えば印刷結果の明度を測定したり、印刷むら、バンディングの有無を測定したり、ドットサイズを測定してもよい。また、カメラで印刷画像を撮像して得た撮像画像データを解析して印刷結果の良否を判定する判定装置(印刷画像検査装置)でもよい。
(変形例10)前記実施形態において、プリンタ部は、インクジェット記録方式のラインプリンタであってもよい。また、インクジェット記録方式に限定されず、ドットインパクトプリンタやレーザープリンタでもよい。
(変形例11)前記実施形態では、プリンタ部として、流体吐出装置としてのインクジェット式のプリンタ10に具体化したが、この限りではなく、インク以外の他の流体(液体や、機能材料の粒子が液体に分散又は混合されてなる液状体、ゲルのような流状体、流体として流して吐出できる固体を含む)を吐出したりする流体吐出装置に具体化することもできる。例えば、液晶ディスプレイ、EL(エレクトロルミネッセンス)ディスプレイ及び面発光ディスプレイの製造などに用いられる電極材や色材(画素材料)などの材料を分散または溶解のかたちで含む液状体を吐出する液状体吐出装置、バイオチップ製造に用いられる生体有機物を吐出する液体吐出装置、精密ピペットとして用いられ試料となる液体を吐出する液体吐出装置であってもよい。さらに、時計やカメラ等の精密機械にピンポイントで潤滑油を吐出する液体吐出装置、光通信素子等に用いられる微小半球レンズ(光学レンズ)などを形成するために紫外線硬化樹脂等の透明樹脂液を基板上に吐出する液体吐出装置、基板などをエッチングするために酸又はアルカリ等のエッチング液を吐出する液体吐出装置、ゲル(例えば物理ゲル)などの流状体を吐出する流状体吐出装置、トナーなどの粉体(粉粒体)を例とする固体を吐出する粉粒体吐出装置(例えばトナージェット式記録装置)であってもよい。そして、これらのうちいずれか一種の流体吐出装置に本発明を適用することができる。なお、ここでいう「流体」とは、気体のみからなる流体を含まない概念であり、流体には、例えば液体(無機溶剤、有機溶剤、溶液、液状樹脂、液状金属(金属融液)等を含む)、液状体、流状体、粉粒体(粒体、粉体を含む)などが含まれる。また、上記基板や精密機械等がターゲットとなる。
前記実施形態及び各変形例から把握される技術的思想を以下に記載する。
(1)前記記録動作部は、ターゲットを搬送する搬送手段と、ターゲットに記録を施す記録手段とを備え、前記記録制御手段は、前記ホスト制御部からの指示データに基づき前記搬送手段及び前記記録手段を制御してターゲットに記録を施すように構成され、前記測定結果記録指示手段は、前記測定結果記録位置への前記測定結果の記録を開始しうる記録開始位置への前記ターゲットの搬送を前記記録制御手段に指示する搬送指示手段と、前記記録開始位置に搬送された前記ターゲットに前記測定結果を記録する前記第二記録を施すべく前記記録制御手段に指示する記録指示手段とを備えたことを特徴とする請求項1乃至6のいずれか一項に記載のプリンタシステム。
10…プリンタ部としてのプリンタ、17…記録動作手段を構成するキャリッジ、19…記録動作手段を構成する記録ヘッド(記録手段)、21…搬送手段を構成する搬送ローラ、22…搬送手段を構成する排紙ローラ、30…搬送手段を構成する巻取り装置、32…巻取り用モータ、40…測定部としての測色装置、41…測色器、57…測色用キャリッジ、60…測色用キャリッジモータ、71…紙押さえ用モータ、74…通信部、80…測色駆動装置、81,82…通信部、84〜86…通信部、91…コマンド解析部、93…記録指示手段としての第1制御部、94…測定指示手段としての第2制御部、95…記録動作手段としてのプリントエンジン、98…記憶手段としてのRAM、100…プリンタシステム、105…搬送手段及び記録動作手段を構成するPFモータ、107…紙検出センサ、108…検出手段を構成する紙幅センサ、109…リニアエンコーダ、110…記録制御手段を構成するヘッド制御部、111…検出手段及び記録制御手段を構成するキャリッジ制御部、111A…検出手段を構成するカウンタ、112…記録制御手段を構成する紙送り制御部、112A…カウンタ、113…記録指示手段を構成するとともに記録位置決定手段としてのラベル印刷位置計算部、113A…記録位置決定手段を構成するとともに余白検出手段としての余白領域検出部、113B…記録位置決定手段を構成するとともに記録サイズ計算手段としての印刷サイズ計算部、113C…記録位置決定手段を構成するとともに記録位置計算部としての印刷位置計算部、116…リモートコマンド解析部、117…コマンド生成部、118…座標変換部としての座標計算部、124…コマンド解析部、131…コマンド解析部、150…ホスト装置、151…ホスト制御部及びホスト制御装置としてのプリンタドライバ、152…通信部、153…測色ドライバ、155…印刷データ生成部、156…主制御部、157…判定部、158…データ格納部、159…論理座標計算部、160…コマンド生成部、161…画像データ処理部、162…入力装置、172…第一指令部、172A…ラベル印刷指令部、173…判断部、174…第二指令部、200…印刷システム、PCC…印刷制御コマンド、PGD…印刷画像データ、PFC1…紙送り制御コマンド、WCC1…巻取制御コマンド、CMDC…測色駆動制御コマンド、CMC…測色制御コマンド、LPC…ラベル印刷コマンド、PFC2…紙送り制御コマンド、WCC2…巻取制御コマンド、LPD…ラベル印刷データ、CMD…測色関連情報としての測色関連データ、PFC3…紙送り制御コマンド、WCC3…巻取制御コマンド、CP…被記録部のうち測定対象部としてのカラーパッチ、R…ターゲット(記録媒体)としてのロール紙。