(57)【要約】【課題】ラダーバーコードや２次元コードのようなシンボル画像を印刷する際に、発熱素子が蓄熱することを防止して、正確に読み取ることができるシンボル画像を印刷する。【解決手段】ホストコンピューター２００から受信したコマンドが、ラダーバーコードを印刷するシンボルコマンドＤであるかを判定するステップＳ３５と、シンボルコマンドＤであると判定した場合（ステップＳ３５：Ｙｅｓ）、ラダーバーコードを印刷する際に印刷速度を減速させて印刷するステップＳ４１と、を有する。【選択図】図１１
2011056874.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピューターと通信可能に接続され、印刷媒体の搬送方向と直交する方向に複数個の印刷素子を備えた印刷ヘッドを備えたラインプリンターであって、
前記ホストコンピューターから受信したコマンドが、特定のシンボル画像を印刷する特定コマンドであるか否かを判定し、前記特定コマンドであると判定した場合は、前記シンボル画像を印刷する際に印刷速度を減速させて印刷する印刷制御部を有することを特徴とするラインプリンター。
【請求項２】
前記印刷制御部は、前記シンボル画像を含む印刷領域において前記印刷速度を減速させて印刷することを特徴とする請求項１に記載のラインプリンター。
【請求項３】
前記印刷ヘッドは、少なくとも１ドットラインの印刷素子を可変可能な複数のブロックに分割されており、
前記印刷制御部は、複数のブロックに分けて１ドットラインを駆動することを特徴とする請求項１又は２の何れかに記載のラインプリンター。
【請求項４】
前記シンボル画像は、前記印刷媒体の搬送方向に対して直交する方向に各バーが印刷されるラダーバーコードであって、
前記特定コマンドは、メモリー上に所定のデータ展開領域を指定し、指定された前記データ展開領域内に前記ラダーバーコードを含むデータを展開する第１のコマンドを含むものであることを特徴とする請求項１から３の何れか１項に記載のラインプリンター。
【請求項５】
前記シンボル画像は２次元コードであって、
前記特定コマンドは、メモリー上に所定のデータ展開領域を指定し、指定された前記データ展開領域内に前記２次元コードを含むデータを展開する第１のコマンドを含むものであることを特徴とする請求項１から３の何れか１項に記載のラインプリンター。
【請求項６】
ホストコンピューターと通信可能に接続され、印刷媒体の搬送方向と直交する方向に複数個の印刷素子を備えた印刷ヘッドを備えたラインプリンターの制御方法であって、
前記ホストコンピューターから受信したコマンドが、特定のシンボル画像を印刷する特定コマンドであるかを判定するステップと、
前記特定コマンドであると判定した場合、前記シンボル画像を印刷する際に印刷速度を減速させて印刷するステップと、を有することを特徴とするラインプリンターの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピューターと通信可能に接続されたラインプリンター及びその制御方法に関する。
【背景技術】
【０００２】
発熱素子を有するサーマルヘッドを備え、印刷用紙をサーマルヘッドの発熱素子（印刷素子）に圧接させながら搬送すると共に、発熱素子に選択的に電圧を印加して発熱させることにより印刷用紙の任意の部分を加熱することで、印刷用紙に印刷画像を形成するラインサーマルプリンターが知られている（特許文献１参照）。
【０００３】
印刷用紙の搬送方向と直交する幅方向にわたって発熱素子を１ドットライン配置したラインサーマルヘッドは、発熱素子１個が一回の電圧印加によって形成する印刷ドットが幅方向に印刷することが可能である。
【０００４】
ところで、上述したようなラインサーマルプリンターの中には、バーコードや２次元コードのようなシンボル画像を印刷するものがある。バーコードは、バーとスペース（バーとバーの間隔）の組み合せにより、所定の情報を表示したものであり、バーコードスキャナーにより読み取ることにより、情報に復元（デコード）される。したがって、バーコードを印刷する際には、表示したい情報をバーコードに変換（エンコード）してそのバーコードパターンを印刷しなければならない。マトリクスなどにより表示される２次元コードも同様で、マトリクス状に配置された白黒パターンの組み合わせにより、所定の情報を表示するため、表示したい情報をマトリクスのコードパターンに変換して、印刷する。
【０００５】
上述したようにシンボル画像を印刷する場合には、バーコードスキャナーにより読み取った際に、読み取りエラーが発生しないよう、一定の印刷品質を確保しなければならない。
また、印刷物に対するバーコードの自由なレイアウトの要望も増大している。例えば、図１２に示すように、印刷媒体Ｐの搬送方向Ｘに対して直交する方向に複数のバーが形成されたバーコード、はしご状の向きにバーが配置される所謂ラダーバーコード３００のような印刷を行いたいという要請もある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−５５２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところが、このラダーバーコード３００を、搬送方向Ｘと直交する方向に発熱素子（印刷素子）が配置されたラインヘッドＨによって印刷する場合、すなわち、ラインヘッドＨの発熱素子の並んでいる方向と同じ方向にバーを印刷する場合、バーの幅の分、常に同じ発熱素子Ｈａが連続的に駆動される。さらにラダーバーコード３００は搬送方向Ｘに沿ってエンコードされる文字や数字の桁数分、比較的長く形成されるため、途中でスペースが入るものの、同じ発熱素子Ｈａに対する駆動時間が長くなる。このため、バーを印刷した部分の発熱素子Ｈａが蓄熱し易く、ラダーバーコード３００の最終印刷段階では、蓄熱の影響で発熱体の周囲にまで印刷用紙が発色した結果、バーが太くなり、正確な太さのバーを形成することができない場合が生じる。つまり、細いバーを印刷したはずが、発熱素子Ｈａの蓄熱の影響で通常よりも太いバーが印刷されてしまうことがある。
バーの太さが変わってしまうと、バーコードスキャナーにより読み取った際に、読み取りエラーが発生してしまう。
【０００８】
上述した事態は、特にラダーバーコードのバーや２次元コードのドットを印刷する場合に発生することが多いが、ラダーバーコードのみならず、通常のバーコードを印刷する場合にも発生する可能性がある。
【０００９】
本発明は、上記課題を解決するためになされたものであって、ラダーバーコードや２次元コードのようなシンボル画像を印刷する際に、発熱素子が蓄熱することを防止して、正確に読み取ることができるシンボル画像を印刷することができるラインプリンター及びラインプリンターの制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決することのできる本発明は、ホストコンピューターと通信可能に接続され、印刷媒体の搬送方向と直交する方向に複数個の印刷素子を備えた印刷ヘッドを備えたラインプリンターであって、
前記ホストコンピューターから受信したコマンドが、特定のシンボル画像を印刷する特定コマンドであるか否かを判定し、前記特定コマンドであると判定した場合は、前記シンボル画像を印刷する際に印刷速度を減速させて印刷する印刷制御部を有することを特徴とする。
上記構成によれば、受信したコマンドがラダーバーコードや２次元コードのようなシンボル画像を印刷する特定コマンドであると判定すると、そのシンボル画像を印刷する際に、それまでの印刷速度または文字などを印刷するときに比べ印刷速度を低減する。このため、印刷素子（発熱素子）に対する駆動間隔を長くして冷却する時間を増やすことができる。したがって、ラダーバーコードや２次元コードのようなシンボル画像を印刷する際に、発熱素子が蓄熱することを防止して、正確に読み取ることができるバーやドットのサイズのシンボル画像を印刷することができる。
【００１１】
また、本発明において、前記印刷制御部は、前記シンボル画像を含む印刷領域において前記印刷速度を減速させて印刷することを特徴とする。
上記構成によれば、印刷速度を減速させる領域が限定されているため、印刷処理のスループットを極端に低下させることを防止することができる。
【００１２】
また、本発明において、前記印刷ヘッドは、少なくとも１ドットラインの印刷素子を可変可能な複数のブロックに分割されており、
前記印刷制御部は、複数のブロックに分けて１ドットラインを駆動することを特徴とする。
上記構成によれば、複数のブロックに分けて１ドットラインを駆動するため、同時に駆動する印刷素子のブロックの数が少なくなり、急激に消費電力を増大することがない。特に密度が高いシンボル画像を印刷する場合は、比較的多くの印刷素子を一度に駆動させる傾向にあるため、急激な消費電力の増大により電圧降下や電圧変動が起こり易い。これらは、濃度が薄いあるいはムラがある印刷結果となってしまう。本発明によって、印刷素子を複数に分割して駆動することで、電力の消費を分散させ、電力降下や電圧変動に起因する印刷の薄さやムラが発生することを防止することができる。
【００１３】
また、本発明において、前記シンボル画像は、前記印刷媒体の搬送方向に対して直交する方向に各バーが印刷されるラダーバーコードであって、
前記特定コマンドは、メモリー上に所定のデータ展開領域を指定し、指定された前記データ展開領域内に前記ラダーバーコードを含むデータを展開する第１のコマンドを含むものであることを特徴とする。
メモリー上に所定のデータ展開領域を指定し、指定されたデータ展開領域内にドットデータ（印刷ヘッドで駆動可能な状態のデータ）を展開した後に印刷するモードを、メモリーのアドレスをＸＹ座標に置き換えて所謂ページの所定位置にデータを展開することから、ページモードという。ラインプリンターでラダーバーコードや２次元コードを印刷するには、ページ上の任意の位置に自由なレイアウトで展開できるので、通常ページモードによって行なうことが多い。一方、１ドットライン分のドットデータを展開すると印刷を開始するモードをスタンダードモードという。ページモードは、スタンダードモードと異なり、データ展開領域を予め定義し、印刷方向等を指定することができるので、自由なレイアウトを印刷することが可能である。このため、ラダーバーコードや２次元コードのような特殊なシンボル画像を印刷する際にも使用されるモードである。特にラダーバーコードや２次元コードの横に文字やイメージを印刷する際にも、ページモードを使用すると展開処理が容易にできる。
上記構成によれば、メモリー上に所定のデータ展開領域を指定し、指定された前記データ展開領域内に前記ラダーバーコードを含むデータを展開する第１のコマンドを含む特定コマンドを受信し、ラダーバーコードを印刷する際には印刷速度を低減させる。したがって、ラダーバーコードの印刷品質を確保し、読み取りエラーが発生することを抑制することができる。
【００１４】
また、本発明において、前記シンボル画像は２次元コードであって、
前記特定コマンドは、メモリー上に所定のデータ展開領域を指定し、指定された前記データ展開領域内に前記２次元コードを含むデータを展開する第１のコマンドを含むものであることを特徴とする。
上記構成によれば、ページモードで自由なレイアウトで２次元コードの印刷を行うことができ、２次元コードを印刷する際には印刷速度を低減させる。したがって、２次元コードの印刷品質を確保し、読み取りエラーが発生することを抑制することができる。
【００１５】
また、上記課題を解決することのできる本発明は、ホストコンピューターと通信可能に接続され、印刷媒体の搬送方向と直交する方向に複数個の印刷素子を備えた印刷ヘッドを備えたラインプリンターの制御方法であって、
前記ホストコンピューターから受信したコマンドが、特定のシンボル画像を印刷する特定コマンドであるかを判定するステップと、前記特定コマンドであると判定した場合、前記シンボル画像を印刷する際に印刷速度を減速させて印刷するステップと、を有する。
上記構成によれば、ラダーバーコードや２次元コードのようなシンボル画像を印刷する特定コマンドであると判定すると、それまでの印刷速度または文字などを印刷するときに比べ、自動的に印刷速度を低減する。このため、印刷素子に対する駆動間隔を長くさせて冷却する時間を増やすことができ、印刷素子が蓄熱することを防止することができる。したがって、ラダーバーコードや２次元コードのようなシンボル画像を印刷する際に、発熱素子が蓄熱することを防止して、バーやドットのサイズの正確なシンボル画像を印刷することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明に係るプリンターの外観斜視図である。
【図２】図１に示したプリンターのロール紙カバーが開いた状態の斜視図である。
【図３】本実施形態のプリンターの内部構成を示すブロック図である。
【図４】各分割ブロックを構成する有効データ素子の振り分けテーブルを示した図である。
【図５】印刷ヘッドの発熱素子及びその制御回路を示すブロック図である。
【図６】印刷ヘッドを分割駆動しない場合の発熱素子と印刷結果を示した模式図である。
【図７】印刷ヘッドを２分割して駆動した場合の発熱素子と印刷結果を示した模式図である。
【図８】印刷ヘッドを３分割して駆動した場合の発熱素子と印刷結果を示した模式図である。
【図９】印刷ヘッドを４分割して駆動した場合の発熱素子と印刷結果を示した模式図である。
【図１０】本実施形態のプリンターが２次元コードを印刷するシンボルコマンドを受信した場合に行なう処理を示すフローチャートである。
【図１１】本実施形態のプリンターがラダーバーコードを印刷するシンボルコマンドを受信した場合に行なう処理を示すフローチャートである。
【図１２】ラダーバーコードの一例を示した図である。
【発明を実施するための形態】
【００１７】
以下、本発明に係るラインプリンター及びラインプリンターの制御方法の実施形態について図面を参照して説明する。
【００１８】
以下、本発明の実施形態を図面を参照して説明する。
本実施形態のラインサーマルプリンター１００（以下、「プリンター１００」と呼ぶ）は、プリンター本体１１にロール紙カバー１３を備えている。プリンター本体１１は、外装としての本体ケース１５によって覆われる。本体ケース１５と、ロール紙カバー１３は、それぞれ樹脂を用いて略箱状となるように形成される。プリンター１００は、縦置き又は横置きのいずれかの設置態様を選択できる。図１及び図２に示したプリンター１００は、横置きにした状態を示している。本実施形態において、プリンター本体１１は、横置きの状態を基準として、底側を底部１７、一方の側壁を前壁部１９、他方の側壁を後壁部２１と呼ぶこととする。なお、プリンター１００は、縦置きとした場合、後壁部２１を底側に載置し、前壁部１９が天面となる。
【００１９】
プリンター１００の上面部２３には出口である紙排出口２５が設けられ、印刷されたロール紙の端部がこの紙排出口２５から排出される。上面部２３は、ロール紙カバー１３と、プリンター本体１１のフロント部２７とからなる。ロール紙カバー１３の外壁面１３ａとフロント部２７の外壁面２７ａは同一平面状となる。ロール紙カバー１３は、後壁部２１側を回動中心に開閉自在となってプリンター本体１１に取り付けられている。紙排出口２５は、ロール紙カバー１３の開閉先端とフロント部２７の間に形成されている。
【００２０】
図２は図１に示したプリンターのロール紙カバーが開いた状態の斜視図である。
ロール紙カバー１３の周縁部分のうち、後壁部２１側の両端部分には、それぞれ、軸受部２９が形成される。軸受部２９は、その両側で、図示しないプリンター本体１１側の軸部とともに、ロール紙カバー１３のヒンジ３１を構成している。これにより、ロール紙カバー１３は、プリンター本体１１に開閉自在に支持される。
【００２１】
プリンター本体１１の内部には、ロール紙を収容可能なロール紙ホルダー３３が設けられている。ロール紙ホルダー３３は、曲面状の底部と、その底部を挟むように形成された一対の平板状の側部３５とを有して略箱状に形成される。ロール紙ホルダー３３のフロント部２７側の端部には、テンション部材が設けられている。このテンション部材は、ロール紙から引き出された送出紙片部に所定のテンションを与えるように揺動自在に構成される。
【００２２】
ロール紙カバー１３の下面には、プラテンローラー３７が設けられている。ロール紙ホルダー３３の前方には、印刷ヘッド４４（図３参照）が設けられている。印刷ヘッド４４は、プリンター本体１１内のロール紙ホルダー３３とフロント部２７との間の部位に配設されている。プラテンローラー３７は、ロール紙カバー１３が閉じた状態において、印刷ヘッド３９に対向配置され、送出紙片部を挟んだ状態にする。この状態で印刷ヘッド４４を駆動することにより、プリンター１００はロール紙に対して印刷を行う。
【００２３】
プラテンローラー３７は、プラテンユニット３９のプラテンホルダー３８に設けられている。プラテンユニット３９は、解除レバー機構３２（図１参照）を有している。解除レバー機構３２は、プラテンホルダー３８に支軸を介して揺動する一対の係合爪３６，３６と、これらの係合爪３６，３６のうちの一方と連動可能な解除レバー３４（図１参照）とからなる。解除レバー機構３２は、ロール紙カバー１３を本体ケース１５に対して閉止状態に係合又は係合解除する。
【００２４】
本実施形態のプリンター１００の内部構成について説明する。
図３に示すように、プリンター１００は、用紙搬送装置４１と、プリンター制御ユニット４２と、印刷ヘッド４４と、温度検出装置４６と、電圧検出装置４８と、インターフェイス５０と、を備えている。プリンター１００は、インターフェイス５０を介して、ホストコンピューター２００のインターフェイス２０１と接続されている。
【００２５】
ホストコンピューター２００からは、プリンター１００に実行させる印刷データや、プリンター１００を制御するための制御コマンドや、プリンター１００の各種設定値などが送信される。
【００２６】
用紙搬送装置４１は、印刷ヘッド４４と共に印刷用紙であるロール紙に当接して搬送力を伝えるプラテンローラー３７と、伝達機構を介してプラテンローラー３７を駆動する用紙搬送モーター４５と、を備えている。印刷ヘッド４４は、複数の発熱素子４４ａ（印刷素子）を直線状（１ドットライン）に配置したラインサーマルヘッドであり、発熱素子４４ａに所定の通電時間電圧を印加して発熱させる。発熱素子４４ａに当接したロール紙の部分を加熱し、発色させて印刷画像を形成する。温度検出装置４６は、プリンター１００の環境温度、特に印刷ヘッド４４の雰囲気の温度を測定する。温度検出装置４６は、印刷ヘッド４４に搭載されていてもよい。電圧検出装置４８は、印刷ヘッド４４に印加されている電圧を測定する。プリンター制御ユニット４２は、プリンター１００を構成する印刷ヘッド４４、用紙搬送装置４１などの各構成要素及び各装置の動作を統括制御する。
【００２７】
プリンター制御ユニット４２は、コマンド解析部４７と、印刷バッファ４９と、印刷制御部５１と、シンボルデータ記憶部５２と、設定記憶部５３と、通電時間決定部５５と、搬送制御部５７と、搬送モーター駆動部５９と、印刷ヘッド駆動部６１とを備えている。
【００２８】
コマンド解析部４７は、ホストコンピューター２００から受信したデータを解析して、制御コマンドであれば、印刷制御部５１へ転送し、印刷データであれば印刷バッファ４９へ転送し印刷ヘッド４４で印刷できるデータへ展開する。
本実施形態の印刷バッファ４９には、ページバッファ４９ａとラインバッファ４９ｂが割り当てられている。ページバッファ４９ａはメモリーであり、ホストコンピューター２００から受信するページモードコマンドによって所定のデータ展開領域がページ単位で定義されるバッファである。一方、ラインバッファ４９ａは、少なくとも印刷ヘッド４４が備える発熱素子４４ａの１ドットライン分のドットデータが展開されるバッファである。印刷行単位でもよい。
【００２９】
印刷制御部５１は、スタンダードモード印刷処理部５６及びページモード印刷処理部５８を構成する。初期設定においては、スタンダードモード印刷処理部５６が処理可能とされている。スタンダードモード印刷処理部５６は制御コマンドを受けて、搬送制御部５７及び搬送モーター駆動部５９を介して用紙搬送装置４１の駆動を制御してロール紙を搬送する。また、印刷ヘッド駆動部６１を介して印刷ヘッド４４の駆動を制御してロール紙に印刷ドットを形成し、ロール紙上に印刷画像を形成する。すなわち、ラインバッファ４９ｂに展開されたドットデータに基づいて１ドットライン毎に印刷及び搬送を繰り返す。
一方、ホストコンピューター２００から、ページモードコマンド（第１のコマンド）を受信すると、ページモード印刷処理部５８が処理可能とされる。ページモードコマンドは、例えば（ＥＳＣ  Ｐ  Ｘ，Ｙ）と表され、（ＥＳＣ）はコマンド、（Ｐ）はページモードの指定、（Ｘ，Ｙ）はデータ展開領域を定義する引数で構成される。ページモード印刷処理部５８は、ページモードコマンドの引数に基づいてページバッファ４９ａにデータ展開領域のＸＹ方向のページの大きさを定義し、データ展開領域のＸＹ方向の指定された位置に受信したデータが全て展開された後に、ページ単位で印刷処理を実行する。すなわち、ページモード印刷処理部５８は、搬送制御部５７、搬送モーター駆動部５９及び印刷ヘッド駆動部６１を制御して、ページバッファ４９ａに展開されたドットデータに基づいて１ドットライン毎に取り出して印刷及び搬送を繰り返す。スタンダードモードにする場合は、例えば（ＥＳＣ  Ｓ）と表され、（ＥＳＣ）はコマンド、（Ｓ）はスタンダードモードの指定で構成される。
【００３０】
シンボルデータ記憶部５２は、シンボルコードに対応するシンボルデータが記憶されている。ホストコンピューター２００から２次元コードやラダーバーコードのようなシンボル画像を印刷するためのシンボルコマンド（ページコマンドも含め特定コマンド）を受信すると、スタンダードモード印刷処理部５６あるいはページモード印刷処理部５８がシンボルデータを読み出し、ドットデータを生成して印刷バッファ４９へ展開する。コマンド解析部４７は、受信したシンボルコマンドに基づき印刷する２次元コードやバーコード、ラダーバーコードのシンボルデータをエンコードして生成してもよい。
【００３１】
設定記憶部５３には、分割数に応じ、発熱素子４４ａを各分割ブロックに振り分けるテーブルが記憶されている。ここでは、印刷ヘッド４４は１ドットラインに５７６個の発熱素子４４ａを有しており、各発熱素子４４ａは可変可能な複数の分割ブロックのいずれかに対応されている。
具体的には図４に示すように、１ドットラインを分割しない場合、つまり１分割の場合は、♯１〜♯５７６の全ての発熱素子４４ａが有効データ素子（ブロックに対応する発熱素子４４ａ）となる。
１ドットラインを２分割にする場合は、♯１〜♯２８８までを有効データ素子とする第１分割ブロック、♯２８９〜♯５７６までを有効データ素子とする第２分割ブロック、に発熱素子４４ａが割り振られている。
３分割の場合は、♯１〜♯１９２までを有効データ素子とする第１分割ブロック、♯１９３〜♯３８４までを有効データ素子とする第２分割ブロック、♯３８５〜♯５７６までを有効データ素子とする第３分割ブロック、に発熱素子４４ａが割り振られている。
４分割の場合は、♯１〜♯１４４までを有効データ素子とする第１分割ブロック、♯１４５〜♯２８８までを有効データ素子とする第２分割ブロック、♯２８９〜♯４３２までを有効データ素子とする第３分割ブロック、♯４３３〜♯５７６までを有効データ素子とする第４分割ブロック、に発熱素子４４ａが割り振られている。
【００３２】
ホストコンピューター２００から分割数を指定する分割駆動コマンド（ＥＳＣ  Ａ ｎ）を受信すると、印刷制御部５１は、（ＥＳＣ）でコマンドであることを認識し、（Ａ）で分割駆動コマンドであることを認識し、（ｎ）で分割数を認識する。設定記憶部５３の振り分けテーブルから分割数（ｎ）に該当する各分割ブロックと有効データ素子情報を対応させて取得することができる。印刷制御部５１は、分割数に対応した有効データ素子に基づいて発熱素子４４ａを各分割ブロックに割り当てる。（ｎ）は上述のように、１分割から４分割までのブロックに分割するように指定が可能であり、分割数と、当該分割数に応じて分割される各ブロックと、当該各ブロックに対応した有効データ素子を特定することができる。
【００３３】
通電時間決定部５５は、温度検出装置４６が測定した印刷ヘッド４４の雰囲気の温度と、電圧検出装置４８が測定した印刷ヘッド４４の各発熱素子４４ａに印加される電圧と、分割駆動コマンド（ＥＳＣ  Ａｎ）によって指定された分割数とから、各発熱素子４４ａに電圧を印加して通電する通電時間を決定する。同じエネルギーを印加することを考慮すると、温度検出装置４６が測定した温度が高いほど通電時間を短くし、電圧検出装置４８が測定した電圧が高いほど通電時間を短くする。分割数が少ない場合は通電間隔が短くなり、印刷ヘッド４４が冷える時間が短くなるため、通電時間を短くすることができる。
【００３４】
搬送制御部５７は、印刷制御部５１からの指令に従って、搬送モーター駆動部５９を介して用紙搬送装置４１の動作を制御する。分割駆動コマンド（ＥＳＣ  Ａｎ）によって分割数が指定された場合は、分割数に応じた搬送量を算出する。
搬送モーター駆動部５９は、搬送制御部５７からの指令に従って、用紙搬送モーター４５を駆動してロール紙を搬送させる。
印刷ヘッド駆動部６１は、印刷制御部５１からの指令に従って、印刷ヘッド４４の発熱素子４４ａに電圧を印加して、印刷ヘッド４４を駆動する。
また、印刷中に、ロゴからテキスト印刷へ変わる場合など、ホストコンピューター２００から分割数を指定する分割駆動コマンドが送信されることがある。印刷制御部５１は、分割数に対応した有効データ素子に基づいて発熱素子４４ａを各分割ブロックに分割し通電制御する。搬送制御部５７は、印刷制御部５１からの分割数に従った指令に基づき、搬送モーター駆動部５９を介して用紙搬送装置４１の搬送量を制御する。この場合、急激に搬送量を変化させると用紙搬送モーター４５が振動したり、場合によっては脱調したりするおそれがある。搬送制御部５７は、分割数が変化したときに、スローアップやスローダウンさせるなど、分割数に応じて所定の距離の間、滑らかに搬送量を推移させる。
【００３５】
次に、印刷ヘッド駆動部６１の機能について説明する。
図５に示すように、発熱素子＃１〜発熱素子＃ｎはそれぞれ、印刷ヘッド駆動部６１が接続されている印刷ヘッド４４の発熱素子４４ａの一つを示している。
【００３６】
印刷ヘッド４４は共通電極６３に抵抗体Ｒ１からＲｎが接続されており、この各抵抗体Ｒが発熱素子４４ａとなる。共通電極６３はヘッド供給電源７１に接続されている。発熱素子４４ａに各抵抗体Ｒは個別電極６５を介して、ドライバーＩＣ６７内のスイッチング素子Ａ１からＡｎに個別に接続される。各スイッチング素子Ａの出力端子は制御回路６９のＳＴＲＯＢＥ端子に接続される。Ｌ１からＬｎは各抵抗体Ｒに対応したラッチ回路であり、ＬＡＴＣＨ端子に接続される。また、Ｓ１からＳｎは各々が各抵抗体Ｒに対応するシフトレジスタセルであり、直列接続されて、シフトレジスターを構成している。シフトレジスターはＣＬＯＣＫ端子とＤＡＴＡ  ＩＮ端子に接続される。
【００３７】
１ドットライン分の発熱素子４４ａのＯＮ（通電）又はＯＦＦ（非通電）を指定するシリアル印刷信号が印刷バッファ４９に展開され、印刷バッファ４９に展開されたドットデータが、ヘッド制御回路６９のＤＡＴＡ  ＩＮからシフトレジスターＳ１〜Ｓｎに入力される。シフトレジスターＳ１〜Ｓｎは、クロック端子ＣＬＯＣＫから入力されるＣＬＯＣＫ信号に同期して、入力されたシリアル印刷信号をパラレル印刷信号に変換し、ラッチ回路Ｌ１〜Ｌｎに出力する。ラッチ回路Ｌ１〜Ｌｎは、ラッチ入力端子ＬＡＴＣＨから入力されるパルス信号によって１ドットライン分のパラレルデータをラッチする。各発熱素子４４ａにはそれぞれスイッチング素子Ａ１からＡｎが接続されており、ＳＴＲＯＢＥ端子から入力されたストローブ信号と、ラッチ回路Ｌ１〜Ｌｎから出力されるラッチ出力とで、発熱素子４４ａが駆動される。より詳細には、ラッチ回路Ｌ１〜Ｌｎから出力されるラッチ出力でＯＮ指定になっている発熱素子４４ａに、ストローブ信号が印加されている時間の間、電圧が印加されて通電が行われる。
ヘッド制御回路６９は、指定された分割数に応じ、ラッチ回路Ｌ１〜Ｌｎとスイッチング素子Ａ１〜Ａｎをブロック単位で選択可能な論理回路で構成している。具体的には、分割数に応じた数のラッチ出力とストローブ信号が出力可能に構成され、所定の順番で、選択されたブロック毎に各ラッチ出力とストローブ信号が順次出力され、ブロック毎に対応する抵抗体Ｒ１からＲｎが通電されて発熱する。
【００３８】
次に、印刷ヘッド４４の発熱素子４４ａと、発熱素子４４ａによって形成される印刷ドットについて図６から図９を参照して説明する。
図６（ａ）に示すように、白丸で示した発熱素子４４ａは、矢印Ｘで示したロール紙の搬送方向に略直交する方向に延在する線状に配置されている。
【００３９】
図６（ｂ），図７（ａ）（ｂ），図８（ａ）（ｂ）（ｃ），図９（ａ）（ｂ）（ｃ）（ｄ）に黒丸で示した発熱素子４４ａは、当該位置の発熱素子４４ａが通電されたことを示している。図６（ｂ）は、分割数を１として設定した場合であり、５７６個の全ての発熱素子４４ａにストローブ信号が印加され通電した状態を示している。５７６個の発熱素子３９ａが全て通電されると、図６（ｃ）に示したように、すべての発熱素子４４ａが通電されて形成する印刷ドットが略直線状に連なったドットライン７５が印刷される。実際の印刷ドットは略円形又は略長円形であり、ドットライン７５の両側は肉眼では判別できない程度の微小な凹凸が形成される。１ドットラインの印刷を繰り返すことで、ベタ印刷７５ａが形成される。
【００４０】
図７（ａ）及び図７（ｂ）は、分割数を２として設定した場合である。第１分割ブロックに含まれる１〜２８８の発熱素子４４ａにストローブ信号を印加し、１ドットライン分の二分の一の搬送量だけロール紙を搬送する。次に、直前に駆動された第１分割ブロックと隣接する第２分割ブロックに含まれる２８９〜５７６の発熱素子４４ａにストローブ信号が印加される。例えば、１ドットの搬送方向の長さＬ＝０．１２５［ｍｍ］とすると、０．１２５／２［ｍｍ］分だけ搬送した後に第２分割ブロックの発熱素子４４ａに印加する。このように発熱素子４４ａを２つの分割ブロックに分割して駆動することによって、図７（ｃ）に示すように、１個の発熱素子４４ａが通電されて形成する印刷ドットが略直線状に連なったドットライン７７，７９が印刷される。
【００４１】
図８（ａ），図８（ｂ）及び図８（ｃ）は、分割数を３として設定した場合を示している。第１分割ブロックに含まれる１〜１９２の発熱素子４４ａにストローブ信号が印加され、１ドットライン分の三分の一の搬送量だけロール紙が搬送される。次に、直前に駆動された第１分割ブロックと隣接する第２分割ブロックに含まれる１９３〜３８４の発熱素子４４ａにストローブ信号が印加され、再び１ドットライン分の三分の一の搬送量だけロール紙が搬送される。さらに、直前に駆動された第２分割ブロックと隣接する第３分割ブロックに含まれる３８５〜５７６の発熱素子４４ａにストローブ信号が印加される。つまり、３分割した場合は、０．１２５／３［ｍｍ］分だけ搬送した後に第２分割ブロックに通電し、再び０．１２５／３［ｍｍ］分だけ搬送した後に第３分割ブロックに通電する。このように発熱素子４４ａを３つの分割ブロックに分割して駆動することによって、図８（ｄ）に示したように、１個の発熱素子４４ａが通電されて形成する印刷ドットが略直線状に連なったドットライン８１，８３，８５が印刷される。
【００４２】
同様に図９（ａ），図９（ｂ），図９（ｃ）及び図９（ｄ）は、分割数を４として設定した場合を示している。第１分割ブロックに含まれる１〜１４４の発熱素子４４ａにストローブ信号が印加され、１ドットライン分の四分の一の搬送量だけロール紙が搬送される。次に、直前に駆動された第１分割ブロックと隣接する第２分割ブロックに含まれる１４５〜２８８の発熱素子４４ａにストローブ信号が印加され、再び１ドットライン分の四分の一の搬送量だけロール紙が搬送される。直前に駆動された第２分割ブロックと隣接する第３分割ブロックに含まれる２８９〜４３２の発熱素子４４ａにストローブ信号が印加され、再び１ドットライン分の四分の一の搬送量だけロール紙が搬送される。さらに直前に駆動された第３分割ブロックと隣接する第４分割ブロックに含まれる４３３〜５７６の発熱素子４４ａにストローブ信号が印加される。つまり、４分割した場合は、０．１２５／４［ｍｍ］分だけ搬送した後に第２分割ブロックに通電し、再び０．１２５／４［ｍｍ］分だけ搬送した後に第３分割ブロックに通電し、再び０．１２５／４［ｍｍ］分だけ搬送した後に第４分割ブロックに通電する。このように発熱素子４４ａを４つの分割ブロックに分割して駆動することによって、図９（ｅ）に示したように、１個の発熱素子４４ａが通電されて形成する印刷ドットが略直線状に連なったドットライン８７，８９，９１，９３が印刷される。
【００４３】
このように、本実施形態のプリンター１００は分割数が多いほど１回の搬送量を少なくして印刷速度を低減させることができる。分割駆動することによって、各分割ブロックによって形成されたドットライン間に階段状のでこぼこが形成されるが、分割数を多くすると、このでこぼこを抑えることができる。
さらにストローブ信号を一度に全ての発熱素子４４ａに対して印加するのではなく、分割ブロック毎に印加することによって、消費電力が増大することを防止することができる。
【００４４】
次に、本実施形態のプリンター１００がホストコンピューター２００からシンボルコマンドを受信した場合に行なう処理について図１０を参照して説明する。図１０はページモードコマンドを受信しなかった場合、すなわちスタンダードモードにおけるシンボル画像の印刷処理を示している。
【００４５】
まず、プリンター１００のコマンド解析部４７が、ホストコンピューター２００から受信したデータを解析して（ＥＳＣ）により制御コマンドであると解析すると、印刷制御部５１に転送される。スタンダードモード印刷処理部５６は、受信した制御コマンドが発熱素子４４ａの分割数を指定する分割駆動コマンド（Ａｎ）であると判定すると（ステップＳ１１：Ｙｅｓ）、設定記憶部５３に記憶されている振り分けテーブルを参照し、分割駆動コマンドによって指定された分割数（ｎ）に応じた、各分割ブロックの有効データ素子情報を取得する。搬送制御部５７は、スタンダードモード印刷処理部５６からの指示を受けて、指定された分割数からロール紙の搬送量を算出する（ステップＳ１３）。
【００４６】
次に、受信した制御コマンドが２次元コードを印刷するためのシンボルコマンドＢ（ページコマンドも含め特定コマンド）であると判定すると（ステップＳ１１：Ｎｏ，ステップＳ１５：Ｙｅｓ）、シンボルコマンドＢによって指定されたシンボルコードに対応するシンボルイメージをシンボルデータ記憶部５２から読み出す。そして、スタンダードモード印刷処理部５６はシンボルイメージをドットデータに変換してラインバッファ４９ｂへ転送し、展開する（ステップＳ１７）。コマンド解析部４７が、受信したシンボルコマンドに基づき印刷する２次元コードやバーコード、ラダーバーコードのシンボルデータをエンコードして生成してもよい。
【００４７】
一方、受信したデータが分割駆動コマンド（ＥＳＣ  Ａ ｎ）でもシンボルコマンドＢでもない場合は（ステップＳ１１：Ｎｏ，ステップＳ１５：Ｎｏ）、その他の処理が実行される。例えば、受信したデータがテキストコードであれば、テキストコードに対応するテキストデータがラインバッファ４９ｂに展開される。また、改行コマンドのようにその他のコマンドであれば、印刷制御部５１が各コマンドに応じた処理を実行する。
【００４８】
印刷ヘッド駆動部６１は印刷制御部５１からの指示を受けて、ラインバッファ４９ｂに展開されたドットデータに基づき、１ドットラインのうち第１分割ブロックにおいて印加すべき発熱素子４４ａに対して、ラッチ出力とストローブ信号を選択して印加し、第１分割ブロックに対応する発熱素子４４ａを選択して通電しロール紙に対して印刷する。
【００４９】
第１分割ブロックの印刷後、搬送制御部５７は、搬送モーター駆動部５９を駆動制御して、ステップＳ１３において算出した搬送量だけロール紙を搬送する（ステップＳ１９）。次に第２分割ブロックを選択し、該当するラッチ出力とストローブ信号を選択して印加することによって、第２分割ブロックに対応する発熱素子４４ａを通電し、印刷した後、再びロール紙を搬送する。このように印刷と搬送を指定された分割数だけ繰り返し実行する。
【００５０】
以降、すべてのシンボルイメージを展開し印刷終了するまで（ステップＳ２１：Ｎｏ）、ステップＳ１７〜ステップＳ２１を繰り返し実行する。すなわち、分割駆動コマンド（ＥＳＣ  Ａ  ｎ）によって指定された分割数に分割された各分割ブロックの駆動タイミングをずらして駆動させ、分割数に応じた搬送量だけロール紙を搬送する。
【００５１】
印刷終了すると（ステップＳ２１：Ｙｅｓ）、発熱素子４４ａを分割することなく、次に備えて、１分割として設定しておくこともできる。
【００５２】
このように、本実施形態のプリンター１００は、ホストコンピューター２００から受信した分割駆動コマンド（ＥＳＣ  Ａ  ｎ）によって、発熱素子４４ａを分割駆動させて２次元コードを印刷することができる。このため、シンボル画像を印刷する部分では、印刷品質を保持するため印刷速度を低減させる一方、テキスト文字等その他を印刷する部分では、通常の印刷速度に戻すことができる。分割駆動コマンド（ＥＳＣ  Ａ  ｎ）を含め、特定コマンドとすることもできる。このように、特定コマンドは、少なくともバーコードや２次元コードのシンボルコマンドＢやシンボルコマンド、ページコマンド、分割駆動コマンドのいずれかを含むものとして構成することができる。
【００５３】
なお、上述したフローでは、分割駆動コマンド（ＥＳＣ  Ａ  ｎ）に応じて発熱素子４４ａを分割駆動させて２次元コードを印刷したが、シンボルコマンドＢを受信すると、予め設定された分割数で発熱素子４４ａを自動的に分割駆動するよう構成することもできる。
【００５４】
また、必ずしも分割駆動させる必要はなく、シンボルコマンドＢを受信すると、自動的に印刷速度を低減させるよう構成することもできる。
例えば、本実施形態のプリンター１００は９段階の印刷速度を有しており、初期設定においては最速のレベル９に設定されているとする。具体的な最速印刷速度を、２００［ｍｍ／ｓ］とする。レベル８は１５１［ｍｍ／ｓ］、レベル７は１２５［ｍｍ／ｓ］、レベル６は１００［ｍｍ／ｓ］、レベル５は７８［ｍｍ／ｓ］、レベル４は６８［ｍｍ／ｓ］、レベル３は５７［ｍｍ／ｓ］、レベル２は４８［ｍｍ／ｓ］、レベル１は３５［ｍｍ／ｓ］となっている。このうち、シンボル印刷に適する印刷速度を、例えば１００［ｍｍ／ｓ］を超えない速度とすれば、スタンダードモード印刷処理部５６はシンボルコマンドＢを受信すると、自動的にレベル５の印刷速度に変更して、印刷処理を実行するよう構成してもよい。
【００５５】
次に、本実施形態のプリンター１００がホストコンピューター２００からラダーバーコードを印刷するためのシンボルコマンドを受信した場合に行なう処理について図１１を参照して説明する。
【００５６】
まず、プリンター１００のコマンド解析部４７が、ホストコンピューター２００から受信したデータを解析して制御コマンドであると解析すると、印刷制御部５１に転送される。印刷制御部５１がスタンダードモードからページモードへ移行するためのページモードコマンドＣ（ＥＳＣ  Ｐ  Ｘ，Ｙ）であると判定すると（ステップＳ３１：Ｙｅｓ）、ページモード印刷制御部５８が構成される。ページモード印刷制御部５８は、ページコマンドで指定された大きさ（Ｘ，Ｙ）のデータ展開領域をページバッファ４９ａに設定する（ステップＳ３３）。
【００５７】
ページモード印刷制御部５８は、受信したコマンドが２次元コードやラダーバーコードを印刷するためのシンボルコマンドＤであると判定すると（ステップＳ３１：Ｎｏ，ステップＳ３５：Ｙｅｓ）、シンボルコマンドＤによって指定されたシンボルコードに対応するシンボルイメージをシンボルデータ記憶部５２から読み出す。または、コマンド解析部４７が、受信したシンボルコマンドに基づき印刷する２次元コードやバーコード、ラダーバーコードのシンボルイメージをエンコードして生成してもよい。そして、シンボルイメージをドットデータに変換してステップＳ３３で設定したページバッファ４９ａへ転送し、展開する（ステップＳ３７）。
なお、シンボルコマンドＤには、ラダーバーコードの印刷位置、ラダーバーコードの幅や高さを指定する値が含まれている。このため、ページモード印刷処理部５８は、これらの値に基づいてページバッファ４９ａにドットイメージを展開する。
【００５８】
ページバッファ４９ａへドットデータの展開が終了し、ページバッファ４９のドットイメージを印刷する印刷コマンドＥを受信すると（ステップＳ３１：Ｎｏ，ステップＳ３５：Ｎｏ，ステップＳ３９：Ｙｅｓ）、印刷ヘッド駆動部６１は印刷制御部５１からの指示を受けて、ページバッファ４９ａに展開されたドットデータに基づき印加すべき発熱素子４４ａに対して、ストローブ信号を印加し、ロール紙に対して印刷する。搬送制御部５７は、搬送モーター駆動部５９を駆動制御してロール紙を搬送する（ステップＳ４１）。以降、印刷と搬送を繰り返し実行する。
【００５９】
なお、受信したデータが、ページモードコマンドＣ、シンボルコマンドＤ及び印刷コマンドＥの何れでもない場合は（ステップＳ３１：Ｎｏ，ステップＳ３５：Ｎｏ，ステップＳ３９：Ｎｏ）、その他の処理が実行される。例えば、受信したデータがテキストコードであれば、そのコードに対応するテキスト文字をページバッファ４９ａに展開する。
【００６０】
ここで、ステップＳ４１において、ページモード印刷処理部５８は、ラダーバーコードを含む部分を印刷する際は、印刷速度を低減させている。すなわち、上述したように予め設定された分割数で発熱素子４４ａを自動的に分割駆動して印刷速度を低減させる。
また、必ずしも発熱素子４４ａを分割駆動させる必要はなく、ラダーバーコードを含む部分を印刷する際に、自動的に印刷速度を所定のレベルまで低減させるよう構成することもできる。
なお、ページモード印刷処理部５８は、シンボルコマンドＤに含まれるラダーバーコードの印刷位置から、ページバッファ４９ａにおけるラダーバーコードの位置を知っているため、ラダーバーコードを含む部分か否かを判定することができる。
【００６１】
ページバッファ４９ａの全てのドットデータの印刷が終了すると印刷処理を終了する（ステップＳ４３：Ｙｅｓ）。
なお、ページモードコマンドＣ及びシンボルコマンドＤ等を含めたものが請求項に記載した特定コマンドである。
【００６２】
このように、本実施形態のプリンター１００は、２次元コードを印刷するためのシンボルコマンドＢやラダーバーコードを印刷するためのシンボルコマンドＤを受信した場合は印刷速度を低減させることができる。このため、発熱素子４４ａに対する駆動間隔を長くして冷却する時間を長くすることができ、発熱素子４４ａが蓄熱することを防止することができる。したがって、ラダーバーコードや２次元コードを印刷する際に、同じ発熱素子４４ａが蓄熱することを防止して、正確な大きさのシンボル画像を印刷することができる。
【００６３】
また、印刷速度を減速させる領域をシンボル画像を含む部分だけに限定することができる。図１２のラダーバーコード３００の部分だけ印刷速度を減速させる。このため、印刷処理のスループットを極端に低下させることを防止することができる。
さらに、複数の発熱素子４４ａを分割駆動することができるので、急激な消費電力の増減がない。２次元コードやラダーバーコードを印刷する場合は、比較的多くの発熱素子４４ａを一度に駆動させる必要があるため、電力消費が増減し易い。発熱素子４４ａを分割駆動することで、電力消費の増減を極力抑え、電圧低下や電圧変動に起因する印刷の薄さがムラが発生することを防止することができる。
【符号の説明】
【００６４】
４１：用紙搬送装置、４２：プリンター制御ユニット、４４：印刷ヘッド、４４ａ：発熱素子、４５：用紙搬送モーター、４６：温度検出装置、４７：コマンド解析部、４８：電圧検出部、４９：印刷バッファ、５０，２０１：Ｉ／Ｆ（インターフェイス）、５１：印刷制御部、５２：シンボルデータ記憶部、５３：設定記憶部、５５：通電時間決定部、５６：スタンダードモード印刷処理部、５７：搬送制御部、５８：ページモード印刷処理部５８、５９：搬送モーター駆動部、６１：印刷ヘッド駆動部、１００：プリンター、２００：ホストコンピューター。
【図１】
2011056874.tif 000003
【図２】
2011056874.tif 000004
【図３】
2011056874.tif 000005
【図４】
2011056874.tif 000006
【図５】
2011056874.tif 000007
【図６】
2011056874.tif 000008
【図７】
2011056874.tif 000009
【図８】
2011056874.tif 000010
【図９】
2011056874.tif 000011
【図１０】
2011056874.tif 000012
【図１１】
2011056874.tif 000013
【図１２】
2011056874.tif 000014