以下、本発明の実施形態について、図面を参照して説明する。まず、図1を参照して、印刷装置30及び印刷装置30に接続されたパーソナルコンピュータ(以下、PCという)1を含む印刷システム100について説明する。印刷装置30及びPC1は、ケーブルを介して相互に接続されている。印刷装置30は公知の布帛用インクジェットプリンタであり、印刷ヘッド35(図2参照)によって、印刷媒体である布帛に印刷を行うことができる。PC1は、汎用の情報処理装置である。PC1には、表示機器であるモニタ2と、入力機器であるキーボード3及びマウス4とが接続されている。PC1は、後述する印刷データを作成し、ケーブルを介して、印刷装置30に送信する機能を有する。印刷装置30は、PC1から送信された印刷データに基づき、印刷ヘッド35の底面に設けられた吐出口群361に液体(例えば、インク)を吐出させる印刷処理を実行する機能を有する。
図1,図2及び図3を参照して、印刷装置30ついて説明する。なお、図1の左下側及び右上側は、夫々、印刷装置30の正面側及び背面側である。図1の左右方向及び上下方向は、夫々、印刷装置30の左右方向及び上下方向である。
まず、図1及び図2を参照して、印刷装置30の物理的な構成について説明する。図1に示すように、印刷装置30は、矩形箱状の筐体31を有する。筐体31の内部の左右方向略中央下部に、一対のガイドレール37が前後方向に延びている。プラテン支持台38は、ガイドレール37により、ガイドレール37に沿って前後方向(副走査方向)に搬送可能に支持されている。プラテン支持台38上面の左右方向略中央には、取り換え可能なプラテン39が固定されている。プラテン39は、平面視略五角形の板体であり、その上面に、例えば、印刷媒体であるTシャツ等の布帛を載置するためのものである。詳細は図示しないが、プラテン39が固定されたプラテン支持台38は、副走査モータ56(図3参照)及びベルトを含む副走査機構によって副走査方向に搬送される。
筐体31の前後方向略中央、且つ、プラテン39よりも上方に、一対のガイドレール33が左右方向に延びている。キャリッジ34は、ガイドレール33によって、ガイドレール33に沿って左右方向(主走査方向)に搬送可能に支持されている。キャリッジ34には、複数の印刷ヘッド35(図2参照)が搭載されている。複数の印刷ヘッド35の配置については、図2を参照して後述する。詳細は図示しないが、複数の印刷ヘッド35を備えたキャリッジ34は、主走査モータ83(図3参照)及びベルトを含む主走査機構によって主走査方向に搬送される。
図2を参照して、キャリッジ34の構成について説明する。図2に示すように、本実施形態におけるキャリッジ34には、4個の印刷ヘッド35W並びに印刷ヘッド35C,35M,35Y,及び35Kが搭載されている。以下の説明では、4個の印刷ヘッド35W並びに印刷ヘッド35C,35M,35Y,及び35Kの夫々を印刷ヘッド35とも言う。各印刷ヘッド35の底面には複数の吐出口36が設けられている。本実施形態では、印刷ヘッド35の夫々に128個の吐出口36が設けられているが、図2では、図の簡略化のため、実際の個数よりも少ない数の吐出口36が図示されている。各吐出口36は、液体を吐出可能である。詳細は図示しないが、印刷装置30に装着されたインクカートリッジから印刷ヘッド35に供給されたインクは、吐出チャンネルに設けられた圧電素子の駆動によって、各吐出口36から下向きに吐出される。なお、印刷ヘッド35に供給されたインクは、吐出チャンネルに設けられた発熱体等の駆動によって、吐出口36から下向きに吐出されてもよい。
複数の吐出口36は、第一ユニット351と、第二ユニット352とにグループ化される。第一ユニット351は、前処理用の白インクを吐出する4組の吐出口群361Wを備える。4組の吐出口群361Wは夫々、4個の印刷ヘッド35Wの底面に設けられている。即ち、本実施形態では、1個の印刷ヘッド35の底面に設けられている複数の吐出口36が、1組の吐出口群361を構成する。4組の吐出口群361W(4個の印刷ヘッド35W)は夫々、主走査方向に並べて配置されている。
第二ユニット352は、第一ユニット351と、副走査方向において対向して離間した位置に配置されている。第二ユニット352は、前処理用の白インクの吐出よりも後に行われる後処理用のカラーインクを吐出する4組の吐出口群361C,361M,361Y,及び361Kを備える。4組の吐出口群361C,361M,361Y,及び361Kは夫々、印刷ヘッド35C,35M,35Y,及び35Kの底面に設けられている。4組の吐出口群361C,361M,361Y,及び361Kは、主走査方向に並べて配置されている。吐出口群361Cはシアンインクを吐出する。吐出口群361Mはマゼンタインクを吐出する。吐出口群361Yはイエローインクを吐出する。吐出口群361Kは黒インクを吐出する。
前処理用の白インク、後処理用のカラーインクとは、同じ所定の印刷領域に先にインクの吐出を行うのが前処理用の白インクで、前処理用の白インクよりも後にインクの吐出を行うのが後処理用カラーインクである。本実施形態では、前処理用の白インクを吐出する4組の吐出口群361Wと、後処理用のカラーインクを吐出する吐出口群361C,361M,361Y,及び361Kとが副走査方向に対向して離間して配置されている。印刷装置30は、例えば、図4を参照して後述する印刷処理において、主走査方向(左右方向)における1ラインの印刷後に、プラテン39を副走査方向(前後方向)に移動させて1ラインの印刷を繰り返す。このような印刷処理において、印刷装置30は、所定の領域では、前処理用の第一ユニット351の4組の吐出口群361Wと、後処理用の第二ユニット352の吐出口群361C,361M,361Y,及び361Kとから同時に各色インクの吐出を行う。所定の領域は、前処理用インクを既に吐出した領域に、後処理用インクを吐出する領域である。なお、1ラインの印刷とは、1回(1パス)の走査によって印刷される画像の印刷に対応する。
以下の説明において、4組の吐出口群361W,並びに吐出口群361C,361M,361Y,及び361Kの夫々を吐出口群361とも言う。また、第一ユニット351及び第二ユニット352のように、吐出口36を複数有する少なくとも1組の吐出口群361を吐出ユニットとも言う。本実施形態では、同一の吐出口群361に含まれる複数の吐出口36の夫々は、同一のインクカートリッジから供給されるインクを吐出する。
なお、本実施形態の印刷装置30は、少なくとも2組の吐出口群361を備えていればよく、吐出口群361の種類及び数の夫々は、図2に示す例に限られない。例えば、白インクに対応する吐出口群361の数は、4組でなく1組だけでもよいし、白インクに対応して複数の吐出口群361がキャリッジ34に搭載される場合、その一部を用いて印刷が実行されてもよい。また、カラーインクについては、黒以外の3色(シアン、マゼンタ、イエロー)に対応する3組の吐出口群361が設けられてもよいし、シアン、マゼンタ、イエロー、黒のうちいずれか1色に対応する1組の吐出口群361が設けられてもよい。シアン、マゼンタ、イエロー、黒以外(例えば、ゴールド、シルバー等)のインクを吐出可能な吐出口群361が設けられてもよい。
また、前処理用インク及び後処理用インクに関して、印刷画像によっては、必ずしも前処理用の白インクが吐出された後に、後処理用のカラーインクが吐出されなくてもよい。より具体的には、前処理用の白インクのみが吐出された領域、又は後処理用のカラーインクのみが吐出された領域があってもよい。また、本実施形態では、前処理用の液体として白インク、後処理用の液体としてカラーインクが使用されているが、前処理用の液体と後処理用の液体との組み合わせ及び液体の種類等は適宜変更可能であり、本実施形態の場合に限定されない。例えば、前処理用の液体として、インクの定着をよくするための処理剤、後処理用の液体としてカラーインクが使用されてもよい。例えば、抜染印刷において、前処理用の液体として抜染用の処理剤、後処理用の液体として抜染用のインクが使用されてもよい。他の例では、前処理用の液体と後処理用の液体とが同じ種類の液体であってもよい。
図3を参照して、印刷装置30の電気的構成について説明する。印刷装置30は、第一制御部40と、第二制御部70及び第三制御部90とが、USBハブ61を介して接続された構成を有する。第一制御部40は、印刷装置30の制御を司るCPU41を備える。CPU41は、印刷装置30が有する第一のプロセッサであり、CPU41には、ROM42,RAM43,第二搬送駆動部51,表示制御部52,入力検知部53,及びUSB(Universal Serial Bus)ホストコントローラ60が、バス44を介して接続されている。CPU41は、後述するように、ROM42に記憶されているプログラムを実行することにより、第一位置取得部45,制御データ出力部47,及び第二搬送制御部48として機能する。第一位置取得部45は、キャリッジ34の現在位置を取得する。制御データ出力部47は、固有IDに対応する通信IDを利用して、吐出制御部毎に印刷データを出力する。印刷データは、吐出制御部に接続された吐出口群によって液体を吐出するためのデータである。吐出制御部は、1以上の吐出口群361に接続され、接続された吐出口群361の吐出動作を制御する。本実施形態の吐出制御部は、後述する第二制御部70の第一吐出制御部78及び第三制御部90の第二吐出制御部95である。固有ID及び通信IDについては後述する。第二搬送制御部48は、第二搬送駆動部51を制御してプラテン39を搬送させる。
ROM42には、印刷装置30の動作を制御するための印刷制御プログラム等の各種プログラム、各種初期値等が記憶されている。RAM43には、PC1から受信した印刷データ等の各種データが一時的に記憶される。本実施形態の印刷データは、第二制御部70に接続された第一ユニット351の4組の吐出口群361Wによって白インクを吐出するためのデータと、第三制御部90に接続された第二ユニット352の4組の吐出口群361C,361M,361Y,及び361Kによってカラーインクを吐出するためのデータとの双方を指す。より具体的には、印刷データは、4組の吐出口群361Wの夫々から白インクを吐出させる際の1回当たりの吐出量及び吐出位置を示すデータと、4組の吐出口群361C,361M,361Y,及び361Kの夫々からカラーインクを吐出させる際の1回当たりの吐出量及び吐出位置を示すデータとを含む公知のデータである。1回当たりの吐出量は、「1:吐出する」「2:吐出しない」の2値で表される他、3値以上のデータによって表されてもよい。吐出位置は、キャリッジ34の現在位置と対応している。CPU41は、白インクを吐出するためのデータには、第二制御部70(第一吐出制御部78)の固有ID(例えば、「1」)を対応づける。CPU41は、カラーインクを吐出するためのデータに、第三制御部90(第二吐出制御部95)の固有ID(例えば、「2」)を対応づける。固有IDは、複数の吐出制御部の夫々を識別するために、吐出制御部毎に予め設定された識別子である。
第二搬送駆動部51は、プラテン39を副走査方向に搬送させる副走査モータ56を駆動する。表示制御部52は、CPU41からの指示に応じてディスプレイ57の表示を制御する。入力検知部53は、操作ボタン58を介して入力された情報及び指示を検知する。なお、図示は省略するが、操作ボタン58には、例えば、図6を参照して後述する印刷処理の開始指示を入力するための印刷開始ボタン、印刷処理の中止指示を入力するための印刷中止ボタン、数値を入力するためのテンキー等が含まれる。ユーザは、操作ボタン58から各種情報及び指示を入力できる。USBホストコントローラ60は、USB2.0規格に適合するホストコントローラである。
USBホストコントローラ60には、USBハブ61が接続されている。USBハブ61は、1つの第一接続口62,第二接続口63,64,及び第三接続口65を有する接続機器である。第一接続口62は、アップストリーム側のポートであり、USBホストコントローラ60及びバス44を介してCPU41と接続可能である。2つの第二接続口63及び64は、ダウンストリーム側のポートであり、夫々第二制御部70,及び第三制御部90に接続している。具体的には、第二接続口63は、USBコントローラ72を介してCPU71と接続可能である。第二接続口64は、USBコントローラ92を介してCPU91と接続可能である。第三接続口65は、ダウンストリーム側のポートであり、外部機器であるUSBデバイス110と接続可能である。USBデバイス110は、例えば、USBフラッシュメモリ、及びハードディスクである。
なお、本実施形態では、USBハブ61の第二接続口63,64に接続されている第二制御部70及び第三制御部90については、ユーザが印刷装置30を使用中に取り外すことを想定していない。しかしながら、印刷装置30のバージョンアップ等の仕様の変更に伴い、8組の吐出口群361とは別の吐出口群を制御する他の吐出制御部を第二接続口に接続してもよい。例えば、後処理用のカラーインクの吐出口群361C,361M,361Y,及び361Kに加えて、後処理用のカラーインクの種類を増やすために、ライトシアンを吐出する吐出口群、ライトマゼンタを吐出する吐出口群、イエローを吐出する吐出口群、ブラックを吐出する吐出口群等を制御する第四制御部を、USBハブ61の別の第2接続口を介して接続してもよい。また、例えば、抜染印刷用の前処理剤を吐出する吐出口群を制御する第五制御部と、抜染印刷用の後処理用のカラーインクを吐出する吐出口群を制御する第六制御部とを、第二制御部70及び第三制御部90と夫々置き換えて、USBハブ61の第二接続口に接続してもよい。このように印刷装置30では、機能を拡充する場合には、対応する吐出口群とその吐出口群を制御する吐出制御部とを含む制御部をUSB61ハブ61の第二接続口を介してCPU41と接続すればよい。このため印刷装置では、第一制御部40のROM42のプログラム等を大きく変更することなく、また、ユーザが印刷装置30を別の印刷装置に変更することなく、印刷装置30の機能を拡充したりする等の変更が可能である。
USBハブ61は、USBハブコントローラ66を備える。USBハブコントローラ66は、第二接続口63,64,及び第三接続口65に接続されたUSBデバイスの検知、データの伝送速度の検知、データの伝送速度の変換、データの分配、及びUSBデバイスへの電源供給の管理等を行なう。USBハブコントローラ66は、USBホストコントローラ60からの指示に従い、複数の第二接続口63,64,及び第三接続口65のうちの1つと第一接続口62とをデータ伝送可能に接続し、当該複数の第二接続口63,64,及び第三接続口65のうちの1つに接続されたUSBデバイスと、第一接続口62に接続されたUSBホストコントローラ60との間でデータの送受信を実行する。
第二制御部70は、System−on−a−chip(SoC)上に搭載された、CPU71,USBコントローラ72,第一搬送駆動部73,及び第一吐出駆動部74を備える。CPU71は、CPU41から出力されたデータ及び後述するROM84に記憶されているプログラムに従って第二制御部70の制御を司る、印刷装置30が備える第二のプロセッサである。CPU71は、USBコントローラ72,第一搬送駆動部73,及び第一吐出駆動部74の夫々と電気的に接続されている。CPU71は、後述するように、ROM84に記憶されているプログラムを実行することにより、第二位置取得部76,第一搬送制御部77,第一吐出制御部78,及びID管理部97として機能する。第二位置取得部76は、キャリッジ34の現在位置を取得する。第一搬送制御部77は、第一搬送駆動部73を制御してキャリッジ34を搬送させる。第一吐出制御部78は、制御データ出力部47が出力する印刷データに基づき、第一ユニット351の4組の吐出口群361Wによる白インクの吐出を制御する。ID管理部97は、後述するUSBコントローラ72に設けられた記憶機器であるレジスタ79に記憶される通信IDを、ROM84に記憶されている固有IDと一致させる。
USBコントローラ72は、USB2.0規格に適合するコントローラであり、USBハブ61の第二接続口63に接続されている。USBコントローラ72は、第二制御部70(第一吐出制御部78)に付与された通信IDを記憶するレジスタ79を備え、USBハブ61の第一接続口62に接続された第一制御部40との間でデータの送受信を行う。通信IDは、USBホストコントローラ60がUSBハブ61の第二接続口63,64に接続されたデバイスを検知した場合に、そのデバイスに対して付与する識別子である。本実施形態では、通信IDは、第二接続口63,64に接続された第二制御部70及び第三制御部90,並びに第三接続口65に接続されたUSBデバイス110に対して付与される。通信IDは、第一制御部40のCPU41と第二制御部70のCPU71との間、第一制御部40のCPU41と第三制御部90のCPU91との間、及び第一制御部40とUSBデバイス110との間のデータの伝送処理で用いられる。したがって、通信IDは、第二接続口63,64に接続された第二制御部70のCPU71,及び第三制御部90のCPU91に対して付与されているとも言える。印刷処理実行時には、通信IDは、制御データ出力部47と吐出制御部78,95との間でUSBハブ61を介してデータを伝送する処理で用いられる。第一搬送駆動部73は、キャリッジ34を主走査方向に搬送させる主走査モータ83を駆動する。第一吐出駆動部74は、4組の吐出口群361Wの各吐出チャンネルに設けられた圧電素子(図示略)を駆動して、第一ユニット351が有する4組の吐出口群361Wの夫々に白インクを吐出させる。第二制御部70はさらに、CPU71と接続されたROM84及びRAM85を備える。ROM84は、第二制御部70の動作を制御するための印刷制御プログラム等の各種プログラム、及び各種初期値等が記憶されている。ROM84には、第二制御部70(第一吐出制御部78)の固有IDとして、例えば、「1」が記憶されている。固有IDは、印刷データと対応づけられる固有IDと一致する。即ち、ROM84に記憶されている固有ID「1」と、制御データ出力部47が第一吐出制御部78に出力する白インクの印刷データに対応づけられる固有ID「1」とは一致している。RAM85には、CPU41から受信した印刷データ等の各種データが一時的に記憶される。CPU41と、第二制御部70とは、第一制御部40側のバス44,USBホストコントローラ60,及びUSBハブ61を介して電気的に接続される。
第三制御部90は、第二制御部70のSoCとは別のSoCに搭載されたCPU91,USBコントローラ92,及び第二吐出駆動部93を備える。CPU91は、CPU71と同様にCPU41から出力されたデータ及び後述するROM87に記憶されているプログラムに従って第三制御部90の制御を司る、印刷装置30が備える第二のプロセッサである。CPU91は、USBコントローラ92及び第二吐出駆動部93と接続されている。CPU91は、後述するように、ROM87に記憶されているプログラムを実行することにより、第二位置取得部94,第二吐出制御部95,及びID管理部98として機能する。第二位置取得部94は、キャリッジ34の現在位置を取得する。第二吐出制御部95は、第二ユニット352の4組の吐出口群361C,361M,361Y,及び361Kによるカラーインクの吐出を制御する。ID管理部98は、後述するUSBコントローラ92に設けられた記憶機器であるレジスタ96に記憶される通信IDを、ROM87に記憶されている固有IDと一致させる。
USBコントローラ92は、USB2.0規格に適合するコントローラであり、USBハブ61の第二接続口64に接続されている。USBコントローラ92は、第三制御部90(第二吐出制御部95)に付与された通信IDを記憶するレジスタ96を備え、USBハブ61に接続された第一制御部40との間でデータの送受信を行う。第二吐出駆動部93は、4組の吐出口群361C,361M,361Y,及び361Kの各吐出口の吐出チャンネルに設けられた圧電素子(図示略)を駆動して、各吐出口群361C,361M,361Y,及び361Kにカラーインクを吐出させる。第三制御部90はさらに、CPU91に接続されたROM87及びRAM88を備える。ROM87は、第三制御部90の動作を制御するための印刷制御プログラム等の各種プログラム、及び各種初期値等が記憶されている。ROM87には、第三制御部90(第二吐出制御部95)の固有IDとして、例えば、「2」が記憶される。ROM87に記憶されている固有ID「2」と、制御データ出力部47が第二吐出制御部95に出力するカラーインクの印刷データに対応づけられる固有ID「2」とは一致している。RAM88には、CPU41から受信した印刷データ等の各種データが一時的に記憶される。CPU41と、第三制御部90とは、第一制御部40側のバス44,USBホストコントローラ60,及びUSBハブ61を介して接続される。
印刷装置30はさらに、主電源部81を備える。主電源部81は、第一制御部40,第二制御部70及び第三制御部90の夫々に電力を供給される。即ち、第二制御部70及び第三制御部90の夫々には、USBハブ61を介さずに、主電源部81から電力が供給される。主電源部81は、図示しない、商用電源からコンセント及び電源コードを介して印刷装置30内に電力を導入する。主電源部81は必要に応じて、第一制御部40,第二制御部70及び第三制御部90の夫々への電力の供給を遮断(OFF)することができるように構成されている。第二制御部70及び第三制御部90は、主電源部81から適宜必要な電圧に変換される等して直接供給される電力によって、安定して駆動部の制御を行うことができる。
印刷装置30はさらに、エンコーダ82を備える。エンコーダ82は、キャリッジ34(図1参照)の搬送方向(主走査方向)に沿って設けられたエンコーダストリップのパターンを、キャリッジ34に固定された光学センサにより検知し、検知結果をパルス信号で出力するリニアエンコーダである。キャリッジ34は、印刷装置30の主電源部81をONにすることにより、ガイドレール33(図1参照)の一方の端まで搬送される。このとき、印刷装置30は、キャリッジ34の現在位置を初期化する。キャリッジ34が初期位置からガイドレール33上を搬送されると、エンコーダ82は、検知結果に基づくパルス信号を第一位置取得部45,第二位置取得部76及び第二位置取得部94の夫々に入力する。第一位置取得部45は、エンコーダ82から入力があった場合に、キャリッジ34の現在位置を更新する。同様に、第二位置取得部76,94は、エンコーダ82から入力があった場合に、キャリッジ34の現在位置を更新する。
以上のような構成を有する印刷装置30において実行される処理について説明する。まず図4を参照して、第一制御部40において実行されるメイン処理について説明する。メイン処理では、USBハブ61を介して第一制御部40と接続された第二制御部70及び第三制御部90の夫々に通信IDを付与する処理、及び印刷開始等の各種コマンドに対応する処理を実行する処理が行われる。説明を簡単にするために、メイン処理開始時には、第三接続口65には外部機器が接続されていないものとする。メイン処理は、主電源部81によって第一制御部40に電力の供給が開始された後、第一制御部40が起動した場合に、主に、ROM42に記憶されたプログラムに基づきCPU41によって実行される。メイン処理の一部の処理はUSBホストコントローラ60がUSBプロトコルに従って実行する。
図4に示すように、メイン処理では、CPU41は、第一制御部40の初期化を実行する(S1)。S1の処理では、例えば、ROM42に記憶されているプログラムをRAM42へ展開する等の処理が実行される。またS1の処理では、変数Mに0が設定される。変数Mは、通信IDが付与された吐出制御部の数をカウントするための変数である。次にCPU41は、USBデバイスを検知したか否かを判断する(S3)。USBハブコントローラ66は、例えば、第二接続口63,64,及び第三接続口65の信号線の電圧値が一定値に達した場合に、USBデバイスを検知し、検知結果をUSBホストコントローラ60に通知する。一定の電圧値とは、例えば、後述するUSBデバイスの起動に必要な電圧である。USBホストコントローラ60は、通知内容をCPU41に出力する。したがって、CPU41は、USBホストコントローラ60が出力した通知内容を受信した場合に、USBデバイスを検知したと判断する。USBホストコントローラ60は、検知されたUSBデバイスと、いわゆるバスエニュメレーション(Bus Enumeration)を開始して、USBデバイスに関する種々の情報を取得する。バスエニュメレーションとは、USBデバイスの接続が検知されたときに、ホスト側の機器が実施する処理であり、ホスト側の機器がどのようなUSBデバイスが接続されたかを知るために、USBデバイスから情報を取得する処理である。バスエニュメレーションによりホスト側の機器にUSBデバイスが認識されると、USBデバイスに対してアドレスが付与され、通信路が確立される。
CPU41は、USBデバイスを検知しなければ(S3:NO)、S3の判断処理を繰り返す。USBデバイスが検知された場合(S3:YES)、USBホストコントローラ60は、エニュメレーションを開始したUSBデバイスに通信IDを付与し、付与したIDをCPU41,及び検知したUSBデバイスに送信する(S5)。S5の処理では、USBホストコントローラ60は、USBデバイスを検知した順序に応じた通信IDを付与する。例えば、USBホストコントローラ60は、一番目に検知したUSBデバイスに通信ID「1」を付与し、二番目に検知したUSBデバイスに通信ID「2」を付与する。S5の処理によって、第二制御部70(第一吐出制御部78)又は第三制御部90(第二吐出制御部95)に通信IDが付与される。CPU41は、USBホストコントローラ60から送信された通信IDをRAM85に記憶させる。次にCPU41は、Mをインクリメントし(S7)、Mが2であるか否かを判断する(S9)。S9の処理は、S3,S5,及びS7の処理を繰り返して、2つの吐出制御部の夫々に通信IDを付与するために実行される。Mが2ではない場合(S9:NO)、まだ通信IDが付与されていない吐出制御部があるので、処理はS3に戻る。Mが2である場合(S9:YES)、2つの吐出制御部の夫々に通信IDが付与されたので、CPU41は、印刷装置30を動かすための動作確認を行う(S11)。S11の処理では、例えば、CPU41は、パージなどメンテナンス動作を実行する。
次にCPU41は、コマンドを受信したか否かを判断する(S13)。コマンドとは、印刷開始、印刷停止、及びパージ実行など印刷装置の各種処理に対するユーザの操作情報に基づく指示である。CPU41は、コマンドを受信したら(S13:YES)、コマンドに基づく処理が実行される(S15)。その後処理はS13に戻る。CPU41が印刷開始のコマンドを受信した場合の処理は、図6を参照して後述する。コマンドを受信していなければ(S13:NO)、CPU41は新たなUSBデバイスを検知したか否かを判断する(S17)。新たなUSBデバイスが検知された場合(S17:YES)、USBホストコントローラ60は、検知したUSBデバイスに対して通信IDを付与し、CPU41,及び検知したUSBデバイスに送信する。CPU41は付与された通信IDを記憶する(S19)。その後処理はS13に戻る。S17で検知されるUSBデバイスは、USBハブ61の第三接続口35に接続されるUSBデバイス110である。本実施形態では、まず第二接続口63,64に接続された吐出制御部78,95に対して通信IDを付与し、その後第三接続口65に接続されたUSBデバイス110に対して通信IDを付与する。このようにするのは、吐出制御部63,64に付与される通信IDと、ROM84,87に記憶されている固有IDとを対応づける処理を考慮するためである。CPU41はUSBデバイスを検知していない場合(S17:NO)、主電源部81がOFFにされたか否かを判断する(S21)。主電源部81がOFFにされていない場合(S21:NO)、処理はS13に戻る。主電源部81がOFFにされたら(S21:YES)、メイン処理は終了する。メイン処理において、吐出制御部78,95の夫々に、固有の通信IDが付与される。メイン処理によって、第一吐出制御部78に対して通信ID「2」が付与され、第二吐出制御部95に対して通信ID「1」が付与されたものとする。
次に図5を参照して、第二制御部70及び第三制御部90の夫々において実行されるデータ受信処理について説明する。第二制御部70でのデータ受信処理は、第二制御部70が起動した場合に開始され、ROM84に記憶された印刷制御プログラムに従ってCPU71により実行される。第三制御部90でのデータ受信処理は、第三制御部90が起動した場合に開始され、ROM87に記憶された印刷制御プログラムに従ってCPU91により実行される。第二制御部70及び第三制御部90の夫々は、主電源部81がONされて電源ICで変換された所定の電圧が自身へ供給されたときに起動する。起動に必要な所定の電圧は、第二制御部70及び第三制御部90の夫々で見かけ上は同じであっても異なる場合がある。例えば、第二制御部70と第三制御部90とは夫々、起動開始電圧に関して推奨動作条件が設定されている。一般に、推奨動作条件は、最小値から最大値までの一定の幅のある値が設定される。第二制御部70と第三制御部90との夫々は、推奨動作条件の範囲のいずれかの値の電圧が供給されれば、起動可能である。このため、例えば、標準値の3.3Vで起動することになっていても、実際には、最小値の3.1Vで起動したり、最大値の3.4Vで起動したりと、同一のデバイスであっても起動毎に起動開始時の電圧が異なる場合がある。また、起動開始時の電圧は、電源ICのバラツキ及び電源ICからの配線の長さの違い等に起因して異なる場合がある。第二制御部70でのデータ受信処理と、第三制御部90でのデータ受信処理とは、基本的に同様な処理であるので、第二制御部70でデータ受信処理が実行される場合について説明し、第三制御部90でデータ受信処理が実行される場合については説明を省略する。
図5に示すように、データ受信処理ではまず、CPU71は第二制御部70を初期化する(S31)。S31の処理では、例えばCPU71は、ROM84に記憶されているプログラムをRAM85へ展開する等の処理を実行する。次に、CPU71は、USBホストコンローラ60を検知する(S33)。USBコントローラ72は、バスエニュメレーションを開始したUSBホストコントローラ60からの問い合わせに応じて、自身に関する種々の情報を出力する。次にUSBコントローラ72は、USBホストコントローラ60が送信した通信IDを受信した場合に、USBコントローラ72のレジスタ79に記憶する(S35)。S35の処理では、例えば、通信ID「2」がレジスタ79に記憶される。次にCPU71(ID管理部97)は、ROM84に記憶されている固有IDと、レジスタ79に記憶された通信IDとが一致するか否かを判断する(S37)。固有IDが「1」であり、通信IDが「2」である場合、両者は一致していない(S37:NO)。この場合、CPU71(ID管理部97)は、レジスタ79に記憶されている通信IDをROM84に記憶されている固有IDに書き換える(S39)。S39の処理によって、通信IDは「1」に書き換えられ、ROM84の固有IDと、レジスタ79の通信IDとが一致する。
固有IDと、通信IDとが一致している場合(S37:YES)又はS39の処理の次に、第一制御部40から出力されたデータが仮受信されたか否かが判断される(S43)。第一制御部40から吐出制御部に対して出力されるデータは、主に印刷データである。その他、ファイルのバージョンアップのデータ等がある。USBハブ61は、第一制御部40から出力されたデータを一旦各USBデバイスに出力し、データを出力されたUSBデバイスは、そのデータを仮受信する。データを仮受信されていない場合(S43:NO)、後述するS49の処理が実行される。データが仮受信されていれば(S43:YES)、USBコントローラ72は、仮受信したデータをUSBコントローラ72の受信用バッファに記憶させる。次にUSBコントローラ72は、データに含まれる通信IDが、レジスタ79に記憶されている通信IDと一致しているか否かを判断する(S45)。通信IDが一致している場合(S45:YES)、USBコントローラ72は、CPU71にデータの受信を通知する。CPU71は、データを受信してRAM85に記憶させ、受信したデータに応じた処理を実行する(S47)。具体的には、受信したデータが印刷データであった場合、USBコントローラ72の受信用バッファに記憶された印刷データの印刷データの解凍、解析などを行った後、第二制御部70のRAM85に設けられたデータバッファに記憶する。通信IDが一致しない場合(S45:NO)、USBコントローラ72の受信用バッファに記憶されたデータは破棄される。次にCPU71は、主電源部81がOFFにされたか否かを判断する(S49)。主電源部81がOFFにされていない場合(S49:NO)、処理はS43に戻る。主電源部81がOFFにされた場合(S49:YES)、データ受信処理は終了する。
次に図6を参照して印刷装置30で実行される印刷処理を簡単に説明する。本実施形態の印刷装置30は、PC1から印刷データを受信した後、ユーザによって布帛がプラテン39へ載置がされ、印刷開始ボタンが押下された場合に、図4のS13の処理において、印刷開始コマンドを検知し、図6の印刷処理を実行する。印刷データは、USBデバイス110であるUSBフラッシュメモリ等の他の外部機器から取得されてもよい。印刷処理は、ROM42,84,及び87の夫々に記憶されたプログラムに従って、CPU41,71及び91が協働して実行する。
図6に示すように、印刷処理ではまず、CPU41(第一位置取得部45)は、第一位置取得部45がレジスタに記憶しているキャリッジ34の現在位置を基準位置として取得し、取得した基準位置をUSBハブ61を介して、第二制御部70及び第三制御部90に出力する(S51)。基準位置を受信した第二制御部70の第二位置取得部76及び第三制御部90の第二位置取得部94は夫々、キャリッジ34の現在位置を更新する。
次にCPU41(第二搬送制御部48)は第二搬送駆動部51に指示を出力して、白インクを吐出する吐出口群361Wの搬送経路が印刷開始位置となるように、プラテン39を搬送させる(S53)。CPU71(第一搬送制御部77)は、CPU41からの指示に基づき、第一搬送駆動部73を駆動させて、キャリッジ34を開始位置まで搬送させる(S53)。次いで、印刷装置30は、キャリッジ34を主走査方向に搬送する処理を開始する(S55)。S5の処理の開始の指示は、CPU41が、USBハブ61を介して第二制御部70のCPU71(第一搬送制御部77)に対して出力する。指示を受信したCPU71(第一搬送制御部77)は、第一搬送駆動部73を制御して、キャリッジ34の搬送制御を開始し、一定の速度でキャリッジ34を搬送させる。
次に、印刷装置30は、キャリッジ34を主走査方向に搬送させながら、1ラインの印刷を行う(S55,S57)。印刷開始直後は、印刷データ(CMYKW)における白(W)のデータに従って吐出口群361Wによる白インクの吐出のみが行われる。吐出口群361C,361M,361Y,及び361Kが、吐出口群361Wによって白インクが吐出された領域に搬送された場合、キャリッジ34を主走査方向に搬送させながら、印刷データ(CMYKW)における白(W)のデータに従って吐出口群361Wによる白インクの吐出と、カラー(CMYK)のデータに従って吐出口群361C,361M,361Y,及び361Kによるカラーインクの吐出とが並行して行われる。印刷終了直前は、白インクの吐出は終了し、印刷データ(CMYKW)におけるカラー(CMYK)のデータに従って吐出口群361C,361M,361Y,及び361Kによるカラーインクの吐出のみが行われる。
S57の処理の実行に際しては、図7を参照して後述するように、CPU41(制御データ出力部47)は、固有IDに対応する通信IDを利用して、USBハブ61を介して固有IDに対応する印刷データを第二制御部70のCPU71(第一吐出制御部78)及び第三制御部90のCPU91(第二吐出制御部95)の夫々に出力する。図5を参照して説明したように、本実施形態では、USBホストコントローラ60から送信された通信IDが各吐出制御部78,95の固有IDと異なる場合、ID管理部97,98が、通信IDを固有IDと一致させる処理を行う。このため、CPU41(制御データ出力部47)は、固有IDに対応する通信ID,即ち、固有IDと一致する通信IDを利用して印刷データを出力する。CPU71(第一吐出制御部78)及びCPU91(第二吐出制御部95)の夫々は、図5のS43,S45及びS47の処理によって、CPU41が出力した印刷データを受信し、受信した印刷データと、第二位置取得部76及び94が取得したキャリッジ34の現在位置とに基づき、印刷データによって指定される吐出位置に吐出口36によるインクを吐出する処理を制御する。前述のS51の処理によって、第二位置取得部76及び94の基準位置を一致させている。第二位置取得部76及び94の夫々は、同じエンコーダ82から入力された検知信号に基づき、キャリッジ34の現在位置を更新する。したがって、第二位置取得部76及び94が取得したキャリッジ34の現在位置に基づき吐出位置が判断されることで、第二制御部70によって実行される白インクの吐出処理と、第三制御部90によって実行されるカラーインクの吐出処理との同期が図られている。吐出処理は、印刷データに基づき液体を吐出する処理である。
S57の次に第二制御部70のCPU71(第一搬送制御部77)は、第一搬送駆動部73を制御して、キャリッジ34の搬送を停止させる(S59)。次にCPU41(第二搬送制御部48)は、印刷が完了していなければ(S61:NO)、第二搬送駆動部51に指示を出力して、プラテン39を印刷方法に応じた量搬送させ(S63)、処理はS55に戻る。印刷方法には、例えば、マルチパス方式、及びシングルパス方式を用いる方法がある。マルチパス方式は、画素列の夫々に対して同じ印刷ヘッド35(吐出口群361)の異なる吐出口36によって1つの画素列を形成させるように、印刷ヘッド35を同じ領域に複数回走査させることで印刷を行う方式である。シングルパス方式は、画素列の夫々に対して同じ印刷ヘッド35を1回走査させることで印刷を行う方式である。印刷が完了すると(S61:YES)、CPU41(第二搬送制御部48)は、第二搬送駆動部51に指示を出力して、布帛の取り外しが可能となる位置まで前方へプラテン39を搬送させる。CPU71(第一搬送制御部77)は、CPU41からの指示に基づき、第一搬送駆動部73を駆動させて、キャリッジ34を終了位置まで搬送させる(S65)。印刷処理は以上で終了する。
なお、本実施形態の印刷装置30は、上記の印刷処理において説明したように、キャリッジ34を主走査方向に搬送させ、且つプラテン39を副走査方向に搬送させることで、キャリッジ34をプラテン39(プラテン39に載置された印刷媒体)に対して相対的に搬送させる。しかし、印刷装置30は、キャリッジ34をプラテン39に対して相対的に搬送させることが可能であればよく、具体的な搬送方法は本実施形態の方法に限定されない。つまり、プラテン39を主走査方向に搬送させ且つキャリッジ34を副走査方向に搬送させる場合、プラテン39のみを主走査方向及び副走査方向に搬送させる場合、キャリッジ34のみを主走査方向及び副走査方向に搬送させる方法が採用可能である。
次に図7を参照して、印刷データ出力処理を説明する。図7の印刷データ出力処理は、CPU41,71,及び91が協働して実行する図6のS57の処理のうち、CPU41によって実行される処理である。具体的には、CPU41は、図7に示す印刷データ出力処理において、吐出制御部毎に印刷データを出力する処理を実行する。印刷データ出力処理は、図6に示す印刷処理と同様に、印刷装置30がPC1から印刷データを受信すると開始され、ROM42に記憶された印刷制御プログラムに従ってCPU41(制御データ出力部47)により実行される。なお、処理の過程で取得されたデータ、変数及び設定値等は、適宜RAM43に記憶されるものとする。
図7に示すように、CPU41は、PC1から受信した印刷データを取得し、RAM43に記憶させる(S71)。印刷データは、ユーザの指示によりPC1で作成されたものとする。次に、CPU41は、印刷データを印刷順に読み出すための変数Nに1を設定する(S73)。CPU41は、印刷データを複数回に分けて第二制御部70及び第三制御部90に出力する。1回に出力する印刷データの量は、予め定められており、ROM42等の不揮発性記憶機器に記憶されている。本実施形態の1回に出力する印刷データの量は、3ライン分の印刷データである。1度に出力する印刷データの量は適宜変更されてよい。
次にCPU41は、RAM43に記憶されている印刷データの中から、第一ユニット351の4組の吐出口群361W用のN番目の印刷データを取得し、取得した印刷データを、第一制御部40側のバス44,USBホストコントローラ60,及びUSBハブ61を介して、第二制御部70に出力する(S75)。S75の処理によって、例えば3ライン分の印刷データが出力される。印刷データの出力に際して、出力先を示す通信ID「1」に加え、例えば、以下の事項を示すデータが付加されてもよい。Nが1である印刷データを出力する場合、印刷処理により1つの画像を形成するのに必要な第一ユニット351用の全ての印刷データの大きさ(データサイズ)に関するデータが付加される。このデータは、例えば、前述のデータ受信処理において、全ての印刷データを受信したか否かを判断する場合に参照される。また、変数Nを表すデータが付加される。このデータは、印刷データが印刷順に出力されているか否かを判断するのに用いられる。
第二制御部70への印刷データの出力が完了後、CPU41は、RAM43に記憶されている印刷データの中から、第二ユニット352の4組の吐出口群361C,361M,361Y,及び361K用のN番目の印刷データを取得し、取得した印刷データを、第一制御部40側のバス44,USBホストコントローラ60,及びUSBハブ61を介して、第三制御部90に出力する(S77)。S77の処理によって、例えば、3ライン分(S75の処理と同じ量)の印刷データが出力される。印刷データの出力に際して、CPU41は、出力先を示す通信ID「2」を付加する。印刷データの出力に際して、付加される他のデータについては、第二ユニット352用の全ての印刷データの大きさに関するデータ等、S75の処理の記載と同様である。
次に、CPU41は、印刷順序が最後の印刷データを出力したか否かを判断する(S79)。S71で取得した全ての印刷データが出力されていなければ(S79:NO)、CPU41はNをインクリメントする(S81)。次に処理はS75に戻る。S71で取得した印刷データが全て出力されていれば(S79:YES)、印刷データ出力処理は以上で終了する。
なお前述のように、第二制御部70及び第三制御部90では、図5のデータ受信処理で受信した印刷データと、第二位置取得部76,94が取得したキャリッジ34の現在位置とに従って、図6のS7の1ラインの印刷における吐出処理が実行される。第二制御部70及び第三制御部90において、図8の状態1に示すように、N番目の印刷データがデータバッファに記憶された状態で、N+1番目の印刷データを新たに受信した場合、状態2に示すようにデータバッファにN+1番目の印刷データが追加される。一方、図8の状態2に示すように、N番目及びN+1番目の印刷データがデータバッファに記憶された状態で、N番目の印刷データに基づく吐出処理が終了した場合、N番目の印刷データはデータバッファから削除される。
吐出口36,吐出口群361は夫々、本発明の吐出口、吐出口群に相当する。第一ユニット351,第二ユニット352の夫々は、本発明の第一ユニット及び第二ユニットに相当する。ROM84及びROM87は夫々、本発明の第一記憶手段に相当する。レジスタ79,96の夫々は、本発明の第二記憶手段に相当する。図7の処理を実行するCPU41(制御データ出力部47)は、本発明の制御データ出力手段として機能する。第一接続口62は本発明の第一接続口に相当し、第二接続口63,64は本発明の複数の第二接続口に相当する。USBハブ61,及びUSBハブコントローラ66は、本発明の接続手段及び接続制御手段として機能する。図4のS5,S19の処理を実行するUSBホストコントローラ60は、本発明の付与手段として機能する。図5のS43,S45,及びS47の処理で、自身宛の印刷データを受信し、図6のS57において、印刷データに従って吐出処理を実行する、第一吐出制御部78及び第二吐出制御部95の夫々は、本発明の複数の吐出制御手段である、第一吐出制御部及び第二吐出制御部として機能する。図5のS37及びS39の処理を実行するID管理部97,98は夫々、本発明の一致手段として機能する。主電源部81は、本発明の電力供給手段に相当する。白インク及びカラーインクは、本発明の第一種液体及び第二種液体に相当する。
以上詳述した印刷装置30は、固有IDに対応する通信IDを利用して、吐出制御部毎に、固有IDに対応する印刷データを、USBハブ61を介して出力する。具体的には、印刷装置30の吐出制御部78,95は起動タイミングが起動毎に同じであるとは限らないため、吐出制御部78,95における、起動順序が起動毎に異なる場合がある。このような場合、USBコントローラ72は、USBプロトコルに従い、検知順に通信IDを付与するため、同じ吐出制御部に対して、起動毎に異なる通信IDを付与することになる。上記実施形態では、例えば、第二制御部70(第一吐出制御部78)及び第三制御部90(第二吐出制御部95)の夫々に対して、通信IDとして「1」及び「2」が付与される場合と、通信IDとして「2」及び「1」が付与される場合とがある。吐出制御部78,95において、起動に必要な電圧又は電流が異なる場合には、電力の供給を開始するタイミングを制御することによって、各吐出制御部が起動するタイミングを制御することが難しい。このような印刷装置30では、通信IDと、吐出制御部との対応が常に同じとは限らず、制御データ出力部47が、通信IDを用いて印刷データを出力した場合には、印刷データが誤送される可能性がある。
これに対し、印刷装置30は、USBコントローラ72,92のレジスタ79,96に記憶させた通信IDを、ROM84,87に予め記憶された固有IDと一致させる。したがって、印刷装置30は、第一制御部60のUSBホストコントローラ60によって、固有IDとは別の通信IDが吐出制御部に付与されることに起因して、制御データ出力部47からUSBハブ61を介して出力される印刷データが誤送されることを確実に防ぐことができる。印刷装置30では、第一吐出制御部78は、前処理用の白インクの吐出の制御を実行し、第二吐出制御部95は、後処理用のカラーインクの吐出の制御を実行する。印刷装置30において、第一ユニット351用の印刷データを第二吐出制御部95が受信してしまったり、第二ユニット352用の印刷データを第一吐出制御部78が受信してしまったりしては、印刷品質が著しく損なわれる。印刷装置30ではこのような事態を確実に防止することができる。
印刷装置30の制御データ出力部47は、USBハブ61を介して第一吐出制御部78及び第二吐出制御部95と接続することで、印刷装置の処理部の設計上の自由度を向上させることができる。制御データ出力部47によって制御される処理手段、又は機器を追加したい場合には、USBハブ61の第二接続口を介して容易に追加することができるため、従来の印刷装置に比べ拡張性が高い。
本発明の印刷装置は、上記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更が加えられてもよい。例えば、以下の(A)から(F)の変形が適宜加えられてもよい。
(A)印刷装置30の構成は必要に応じて適宜変更してよい。例えば、以下(A−1)及び(A−2)のような変更を加えてもよい。
(A−1)吐出口が吐出可能な液体は、吐出口が吐出可能な粘度等の性質を有する液体であればよい。したがって液体は、インクに限らず、例えば、脱色剤等の化学薬剤でもよい。吐出口群及び吐出制御部の数は適宜変更されてよい。複数の吐出制御部のすべてが、USBハブ等の接続機器を介して制御データ出力部に接続されていなくてもよい。即ち、一部の吐出制御部は接続機器を介さず制御データ出力部と接続されてもよい。1つの吐出ユニットに含まれる吐出口群の数は、1以上であればよい。
キャリッジに搭載される印刷ヘッド及び吐出口群の変形例を図9を参照して説明する。図9(A)に示すように、変形例におけるキャリッジ341には、印刷ヘッド356,357及び358を備える。印刷ヘッド357及び358は、印刷ヘッド356と、主走査方向において対向して離間した位置に配置されている。印刷ヘッド356,357及び358が備える複数の吐出口36は、第一ユニット355と、第二ユニット359とにグループ化される。第一ユニット355は、前処理用の白インクを吐出する2組の吐出口群362Wを備える。2組の吐出口群362Wは、印刷ヘッド356の底面に設けられている。2組の吐出口群362Wは、主走査方向に並べて配置されている。第二ユニット359は、後処理用のカラーインクを吐出する4組の吐出口群362C,362M,362Y,及び362Kを備える。2組の吐出口群362C,及び362Mは、印刷ヘッド358の底面に設けられ、2組の吐出口群362Y,及び362Kは、印刷ヘッド357の底面に設けられている。吐出口群362Cはシアンインクを吐出する。吐出口群362Mはマゼンタインクを吐出する。吐出口群362Yはイエローインクを吐出する。吐出口群362Kは黒インクを吐出する。例えば、第一ユニット355は、第一吐出制御部を備える第二制御部701によって制御され、第二ユニット359は、第二吐出制御部を備える第三制御部901によって制御される。
図9に示す変形例のように、1個の印刷ヘッドは、複数の吐出口群を含んでいてもよい。1つの吐出制御部が制御する吐出口群の数は1以上であればよい。したがって、1個の印刷ヘッドに、複数の吐出口群が設けられている場合、各吐出口群は、同じ吐出制御部によって制御されてもよいし、互いに異なる吐出制御部によって制御されてもよい。具体的には、例えば、図9(A)と同様のキャリッジ341において、図9(B)に示すように、1個の印刷ヘッド358に備えられる吐出口群362C及び吐出口群362Mは夫々、第四吐出制御部を備える第四制御部911及び第五吐出制御部を備える第五制御部912によって制御されてもよい。また、1個の印刷ヘッド357に備えられる吐出口群362Y及び吐出口群362Kは夫々、第六吐出制御部を備える第六制御部913及び第七吐出制御部を備える第七制御部914によって制御されてもよい。1個の印刷ヘッドが複数の吐出口群を備える場合、各吐出口群の配置は、主走査方向に並んで配置される例に限定されず、適宜変更されてよい。複数の吐出ユニットを備える場合、キャリッジにおける各吐出ユニットの配置は適宜変更されてよい。
(A−2)接続機器は、制御データ出力部と、吐出制御部とを接続する接続機器は制御データ出力部を接続可能な第一接続口と、第一接続口とデータ伝送可能に個別に接続可能な複数の第二接続口とを有すればよく、USBハブ61に限定されない。例えば、イーサーネット(登録商標)ハブでもよい。接続機器は、データの伝送効率の観点から、スイッチング機能を有することが好ましいが、スイッチング機能を有していなくてもよい。印刷装置は、複数種類の接続機器を備えてもよい。この場合、複数の吐出制御部の夫々が、異なる接続機器を介して制御データ出力手段と接続されてもよい。
(B)固定ID及び通信IDの付与方法は適宜変更されてよい。具体的には、接続機器に応じたインターフェイスに応じて、通信IDの付与方法が決められている場合には、接続機器に応じた付与方法に従って、通信IDが付与されればよい。検知された順序に応じて通信IDが付与される場合、実際に通信IDが付与されるタイミングは、必ずしも検知された順序と同じでなくてもよい。他の例では、USBプロトコルに従い通信IDが付与される場合、吐出制御部の通信IDを付与する処理を実行している期間に、他のUSBデバイスが検知される可能性がある場合には、以下のような処理が実行されてよい。例えば、吐出制御部に対する通信IDを付与する処理が完了するまで、USBハブコントローラから、第三接続口からUSBデバイス110への電力を供給する処理を停止する等、USBデバイス110を検知しないようにしてもよい。USBプロトコルでは、検知順に通信IDが付与されるが、このようにすれば、吐出制御部に付与されることを想定している通信IDが、外部機器に付与されることを回避することができる。他の例では、固定IDは、複数の吐出制御部の夫々を識別可能な情報であればよく、例えば、製造番号であってもよいし、データの伝送速度、及び受信用バッファの容量等、自身の機能を示す複数の情報を組み合わせた情報であってもよい。
(C)接続機器が、第二接続口に接続されているデバイスを検知する処理は適宜変更されてよい。例えば、各第二接続口に物理的なスイッチが設けられており、第二接続口にデバイスが接続されている場合と、接続されていない場合とでスイッチのON/OFFが切り替わる場合には、スイッチに基づき、デバイスが検知されてもよい。吐出制御部の夫々は、起動に必要な電圧又は電流は異なっていてもよいし、同じであってもよい。接続機器は、第二接続口に接続されるデバイスに対して、電力を供給可能であってもよい。この場合、各吐出制御部は、主電源部81からではなく、接続機器から電力を供給されてもよい。さらに接続機器の第二接続口及び第三接続口の数は、接続される機器の数に応じて適宜変更可能である。接続機器に外部機器が接続されることがない場合等には、第三接続口はなくてもよい。印刷装置30に接続可能なUSBデバイスの数は、適宜変更されてよい。
(D)USBホストコントローラ60によって付与された通信IDと、固有IDとを対応づける処理は適宜変更されてよい。例えば、図5の処理において、ID管理部97,98は夫々、S35の処理で受信した通信IDは無視して、固有IDをレジスタ79,96に記憶させてもよい。他の例では、ID管理部97,98は夫々、S35の処理で受信した通信IDを一旦レジスタ79,96に記憶させた後、通信IDと固有IDとが一致しているか否かを考慮せずに、S39の処理を実行してもよい。これらのようにしても、上記実施形態と同様に、ROM84,87の夫々に記憶されている固有IDと、レジスタ79,96に記憶されている通信IDとを一致させることができる。したがって、制御データ出力部47は、USBホストコントローラ60によって付与された通信IDに関わらず、固有IDを利用して固有IDに対応する印刷データを出力すれば、第一ユニット351用の印刷データを第二吐出制御部95が受信するといった印刷データの誤送を回避することができる。
他の例では、通信IDと、固有IDとの対応づける処理を行うID管理部を、第二制御部70及び第三制御部90に設けるのではなく、第一制御部40に設けてもよい。この場合、ID管理部は、USBホストコントローラ60によって、吐出制御部78,95に通信IDが付与された後、USBハブ61を介して、各吐出制御部78,95に対して、通信IDと、固有IDとの対応を問い合わせる。吐出制御部78,95は夫々、第一制御部40のID管理部からの問い合わせに応じて、ROM84,87に記憶された固有IDと、レジスタ79,96に記憶されている通信IDとの対応を返送する。ID管理部は、吐出制御部78,95は夫々から返送された、通信IDと、固有IDとの対応をRAM43に記憶させる。この場合、制御データ出力部47は、RAM43に記憶された対応に基づき、固有IDに対応する通信IDを利用して、固有IDに対応する印刷データを出力すればいい。吐出制御部78,95は、図5において、S37及びS39の処理を省略し、S43,S45,及びS47の処理によって自身あての印刷データを受信することができる。
(E)図4のメイン処理、図5のデータ受信処理、図6の印刷処理及び図7の印刷データ出力処理を実行させるための指示を含むプログラムは、印刷装置30がプログラムを実行するまでに、印刷装置30が備える記憶装置に記憶されればよく、プログラムの取得方法、取得経路及びプログラムを記憶する装置の夫々は適宜変更されてよい。したがって、印刷装置30が備えるプロセッサが実行するプログラムは、ケーブル又は無線通信を介して、他の装置から受信し、フラッシュメモリ等の記憶装置に記憶されてもよい。他の装置は、例えば、PC,及びネットワーク網を介して接続されるサーバを含む。
(F)図4のメイン処理、図5のデータ受信処理、図6の印刷処理及び図7の印刷データ出力処理の各ステップは、CPU41,71又は91によって実行される例に限定されず、一部又は全部が他の電子機器(例えば、ASIC)によって実行されてもよい。また、上記処理の各ステップは、複数の電子機器(例えば、複数のCPU)によって分散処理されてもよい。また上記実施形態の処理の各ステップは、必要に応じて順序の変更、ステップの省略、及び追加が可能である。さらに、印刷装置30が備えるCPUからの指示に基づき、印刷装置30上で稼動しているオペレーティングシステム(OS)等が実際の処理の一部又は全部を行い、その処理によって上記実施形態の機能が実現される場合も本発明の範囲に含まれる。