(57)【要約】【課題】同じ刃を用いてフルカットとパーシャルカットとの両方を精度高く実現可能なカッタ制御技術を提供する。【解決手段】ＣＰＵは、上位装置から印字データ及びカット指示データを受信すると、印字データに従ってロール紙への印字を制御すると共に、印字の終了後に、カット指示データに従って、カッタモータの駆動を制御する。カット指示データによってパーシャルカットが指示される場合、ＣＰＵは、カッタモータを反時計方向に回転駆動させる際、第１センサ、第２センサからの検知結果に基づいて、パルス数を計算して、このパルス数に基づいて、カッタモータを回転駆動させるパルス数を補正するカッタ制御処理を行う。【選択図】        図８
2010069722.tif 000002
【特許請求の範囲】
【請求項１】
ロール状に巻回されたロール紙を搬送して印字ヘッドにより印字することによって当該ロール紙に画像を形成する印字搬送機構と、
固定刃と噛み合うことにより前記画像が形成された前記ロール紙をカットする可動刃を支持するアーム部と、
前記ロール紙に対して前記可動刃が前記固定刃と噛み合う第１方向に前記アーム部を移動させたり、前記ロール紙に対して前記可動刃が前記固定刃と離反する第２方向に前記アーム部を移動させたりするモータと、
前記第１方向に前記アーム部が移動を開始する第１位置における前記アーム部を検知する第１検知部と、
前記第１方向に前記アーム部が移動する途中の第２位置における前記アーム部を検知する第２検知部と、
前記第１検知部の検知結果及び前記第２検知部の検知結果により前記モータのパルス数と回転方向とを制御して、前記第１方向への前記アーム部の移動を停止させて前記第２方向に前記アーム部を移動させるよう前記モータの駆動を制御する制御部とを備える
ことを特徴とするサーマルプリンタ。
【請求項２】
前記制御部は、前記ロール紙を完全に切り離すフルカットを行う場合、前記第２検知部の検知結果を無効にして、前記第１検知部の検知結果により前記モータのパルス数と回転方向とを制御して、前記第１方向へ前記アーム部を移動させるよう前記モータの駆動を制御し、前記ロール紙の一部を切り離すパーシャルカットを行う場合、前記第２検知部の検知結果を有効にして、前記第１検知部の検知結果及び前記第２検知部の検知結果により前記モータのパルス数と回転方向とを制御して、前記第１方向への前記アーム部の移動を停止させて前記第２方向に前記アーム部を移動させるよう前記モータの駆動を制御する
ことを特徴とする請求項１に記載のサーマルプリンタ。
【請求項３】
前記制御部は、
前記ロール紙に対してパーシャルカットを行う場合に、前記第１検知部の検知結果及び前記第２検知部の検知結果に基づいて、前記モータのパルス数を計算する計算部と、
計算された前記パルス数を用いて、前記モータを駆動させるパルス数を補正する補正部と、
補正された前記パルス数を用いて、前記モータの駆動を制御する駆動制御部とを有する
ことを特徴とする請求項１又は２に記載のサーマルプリンタ。
【請求項４】
前記第２位置は、前記アーム部の前記第１方向への移動が停止され前記第２方向への移動が開始される第３位置より所定の距離前記第１位置側にあり、
前記補正部は、前記第２検知部で前記第２位置における前記アーム部の検知が終了してから前記第１方向への前記アーム部の移動を停止させるまでの間に前記モータを駆動させる対象パルス数を補正し、
前記駆動制御部は、補正された前記対象パルス数の分前記第１方向へ前記アーム部を移動させるよう前記モータを駆動させた後、前記第２方向に前記アーム部を移動させるよう前記モータを駆動させる
ことを特徴とする請求項３に記載のサーマルプリンタ。
【請求項５】
前記計算部は、前記第１検知部で前記第１位置における前記アーム部の検知が終了してから前記第２検知部で前記第２位置における前記アーム部の検知が開始するまでの間に前記モータが駆動された第１パルス数と、前記第２検知部で前記第２位置における前記アーム部の検知が開始してから終了するまでの間に前記モータが駆動された第２パルス数とを計算し、
前記補正部は、
前記第１パルス数と、当該第１パルス数として予め規定された第１規定パルス数とを比較する第１比較部と、
前記第２パルス数と、当該第２パルス数として予め規定された第２規定パルス数とを比較する第２比較部と、
前記第１比較部の比較結果及び前記第２比較部の比較結果のうち少なくとも一方に基づいて、前記対象パルス数を補正する補正部とを有する
ことを特徴とする請求項４に記載のサーマルプリンタ。
【請求項６】
ロール状に巻回されたロール紙を搬送して印字ヘッドにより印字することによって当該ロール紙に画像を形成する印字搬送機構と、固定刃と噛み合うことにより前記画像が形成された前記ロール紙をカットする可動刃を支持するアーム部と、前記ロール紙に対して前記可動刃が前記固定刃と噛み合う方向に前記アーム部を移動させ、前記ロール紙に対して前記可動刃が前記固定刃と噛み合う方向に前記アーム部を移動させたり、前記ロール紙に対して前記可動刃が前記固定刃と離反する方向に前記アーム部を移動させたりするモータとを備えるサーマルプリンタの有するコンピュータを、
前記第１方向に前記アーム部が移動を開始する第１位置における前記アーム部を検知する第１検知手段と、
前記第１方向に前記アーム部が移動する途中の第２位置における前記アーム部を検知する第２検知手段と、
前記第１検知手段の検知結果及び前記第２検知手段の検知結果により前記モータのパルス数と回転方向とを制御して、前記第１方向への前記アーム部の移動を停止させて前記第２方向に前記アーム部を移動させるよう前記モータの駆動を制御する制御手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＯＳ（Point  of  sale）端末などでレシートを発行したり、物流システムにおいて文字やバーコードなどのラベルを印刷したりレシートを発行したりするサーマルプリンタ及びプログラムに関するものである。
【背景技術】
【０００２】
サーマルプリンタのカッタには、レシートを完全に切り離すフルカットと、完全には切り離さないでレシートの端や中央を繋がったままにするパーシャルカットとの２種類の方法が知られている（例えば特許文献１〜２参照）。通常、フルカットとパーシャルカットとでは切断面が異なる。このため、いずれの方法でも同様に制御する場合には、カッタの刃の交換作業が必要不可欠となる。
【０００３】
また、同じ刃を用いてフルカットとパーシャルカットとの切り替えを制御する方法がある。例えば、カッタを所定の量だけ移動させてレシートの端を残したまま停止させ、逆転させることによってパーシャルカットを実現させる方法である。その方法の一つに、カッタを移動させるモータを指定のパルス数分だけ駆動させて、パーシャルカットを行う方法がある。
【０００４】
【特許文献１】特開２０００−６０８８号公報
【特許文献２】特開２００８−１５５４１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の方法では、例えば、待機中にサーマルプリンタ本体に外部から振動が加わることで、カッタを支持するアームの本来の位置が微妙に変わることがあった。フルカットと同じ刃を用いてパーシャルカットを行う場合、アームの位置がごくわずかにでもずれてしまうと、切り込み長に誤差が大きく生じてしまうことになる。
【０００６】
本発明は、上記に鑑みてなされたものであって、同じ刃を用いてフルカットとパーシャルカットとの両方を精度高く実現可能なサーマルプリンタ及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、本発明は、サーマルプリンタであって、ロール状に巻回されたロール紙を搬送して印字ヘッドにより印字することによって当該ロール紙に画像を形成する印字搬送機構と、固定刃と噛み合うことにより前記画像が形成された前記ロール紙をカットする可動刃を支持するアーム部と、前記ロール紙に対して前記可動刃が前記固定刃と噛み合う方向に前記アーム部を移動させたり、前記ロール紙に対して前記可動刃が前記固定刃と離反する方向に前記アーム部を移動させたりするモータと、前記第１方向に前記アーム部が移動を開始する第１位置における前記アーム部を検知する第１検知部と、前記第１方向に前記アーム部が移動する途中の第２位置における前記アーム部を検知する第２検知部と、前記第１検知部の検知結果及び前記第２検知部の検知結果により前記モータのパルス数と回転方向とを制御して、前記第１方向への前記アーム部の移動を停止させて前記第２方向に前記アーム部を移動させるよう前記モータの駆動を制御する制御部とを備えることを特徴とする。
【０００８】
また、本発明は、プログラムであって、ロール状に巻回されたロール紙を搬送して印字ヘッドにより印字することによって当該ロール紙に画像を形成する印字搬送機構と、固定刃と噛み合うことにより前記画像が形成された前記ロール紙をカットする可動刃を支持するアーム部と、前記ロール紙に対して前記可動刃が前記固定刃と噛み合う方向に前記アーム部を移動させ、前記ロール紙に対して前記可動刃が前記固定刃と噛み合う方向に前記アーム部を移動させたり、前記ロール紙に対して前記可動刃が前記固定刃と離反する方向に前記アーム部を移動させたりするモータとを備えるサーマルプリンタの有するコンピュータを、前記第１方向に前記アーム部が移動を開始する第１位置における前記アーム部を検知する第１検知手段と、前記第１方向に前記アーム部が移動する途中の第２位置における前記アーム部を検知する第２検知手段と、前記第１検知手段の検知結果及び前記第２検知手段の検知結果により前記モータのパルス数と回転方向とを制御して、前記第１方向への前記アーム部の移動を停止させて前記第２方向に前記アーム部を移動させるよう前記モータの駆動を制御する制御手段として機能させる。
【発明の効果】
【０００９】
本発明によれば、同じ刃を用いてフルカットとパーシャルカットとの両方を精度高く実現することが可能になる。
【発明を実施するための最良の形態】
【００１０】
以下に添付図面を参照して、この発明にかかるサーマルプリンタ及びプログラムの最良な実施の形態を詳細に説明する。
【００１１】
[実施の形態]
（１）構成
本実施の形態では、例えば、サーマルプリンタとして、ＥＣＲ（電子式キャッシュレジスタ）やＰＯＳ端末に内蔵されるレシートプリンタに適用する例について説明する。図１は、本実施の形態にかかるプリンタＰの基本的な構成を示す図である。まず、図１を用いてプリンタＰの基本的な構成及び基本的な動作について説明する。プリンタＰは、各部が取り付けられたプリンタ本体１を備え、このプリンタ本体１に対して上部ユニット２が開閉自在に取り付けられて構成されている。同図に示されるように、プリンタＰには、ロール紙３を引き出してプリンタＰの正面に設けられている排紙口４まで導くための案内経路５が形成されている。そして、この案内経路５に沿って、ロール紙３を収納保持するロール紙収納保持部６がプリンタ本体１に設けられ、このロール紙収納保持部６からロール紙３を引き出して搬送し印字をする印字搬送部７とロール紙３を切断する用紙切断部８とが配設されている。
【００１２】
ロール紙収納保持部６には、ロール紙３を収納するためのホッパ９と、収納されたロール紙３を回動自在に支持する支持ローラ１０、１１とが設けられている。支持ローラ１０、１１は、ホッパ９の底面９ａに所定の間隔をあけて形成されている半円弧状の断面形状を有する溝１２、１３の凹部に、ホッパ９に収納されているロール紙３の軸方向と同一方向に向けられた軸を中心に回転自在に設けられてロール紙３を回動自在に支持する。印字搬送部７は、ホッパ９から引き出されるロール紙３に印字を行うためのサーマルヘッド１４とプラテンローラ１５とによって構成されている。サーマルヘッド１４は、図１に示されるように案内経路５を介してプラテンローラ１５に所定の圧力で当接させることができるように配設されている。サーマルヘッド１４は複数の発熱素子（図示せず）を備えており、これら複数の発熱素子が選択的に通電されて発熱し感熱紙であるロール紙３と接触することにより印字が行われる。プラテンローラ１５は、ロール紙３を引き出して搬送するための機能をも有している。
【００１３】
用紙切断部８には、ロール紙３を切断するための固定刃１６と可動刃１７とが設けられている。固定刃１６と可動刃１７とは、図１に示されるようにそれらの間にロール紙３を挟み込んで切断可能な位置に設けられ、可動刃１７の回動によってロール紙３を切断するロータリカッタを構成する。
【００１４】
次に、プリンタＰの基本動作について説明する。図１に示されるように、プラテンローラ１５が回転駆動され、これと接しているロール紙３がプラテンローラ１５の回転と共に搬送方向に送られると、ホッパ９からロール紙３が引き出されてプラテンローラ１５側へ搬送される。ロール紙３がプラテンローラ１５まで搬送されると、サーマルヘッド１４によりロール紙３に印字がなされる。プラテンローラ１５は、ロール紙３に印字が一行なされる毎にロール紙３を搬送方向にフィードするよう断続的に駆動される。
【００１５】
サーマルヘッド１４により印字がなされたロール紙３はその後もプラテンローラ１５の回転駆動により排紙方向に向かって搬送されていき、用紙切断部８の位置を通過するとプラテンローラ１５の回転が停止されて、用紙切断部８に設けられている可動刃１７が駆動されて回動し、固定刃１６との間に挟みこまれたロール紙３が切断される。切断された印字部分を含むロール紙３は、案内経路５の下流端に設けられた排紙口４から例えばレシートとして排紙される。
【００１６】
本実施の形態にかかるプリンタＰには、上述した構成に加えて、同じ固定刃１６及び可動刃１７を用いてフルカットとパーシャルカットとの両方を実現させるための可動刃駆動制御機構２３が設けられている。図２は、本実施の形態にかかるプリンタＰの右側面図である。可動刃駆動制御機構２３は、主にプリンタ本体１の右側面の外側に配設されており、ロール紙３を切断するために可動刃１７を可動させる機構であり、フルカットかパーシャルカットかに応じて、可動刃１７の可動を制御する。同図に示されるように、可動刃駆動制御機構２３は、カッタモータギヤ２５（一点鎖線で図示）を回転軸２４（一点鎖線で図示）に固定装着したカッタモータＭ２（図示せず）を駆動源とし、カッタモータＭ２からの駆動力を受けて、カッタモータギヤ２５と噛合され回転軸２６上に固定装着されているカッタギヤ２７（一点鎖線で図示）、回転軸２６上に固定装着されている板カム２８を介して、板カム２８と摺動自在に連結されているカッタアーム２９が動力伝達媒体として駆動されることにより、可動刃１７が駆動されて回動する。
【００１７】
このカッタアーム２９は、板カム２８を原動節とするカム機構を構成するように従動節として板カム２８に連結されており支軸３０を中心に摺動駆動されるが、カッタアーム２９の摺動先端部分には連結孔３１が形成されており、可動刃１７の側面に設けられた連結ピン３２が嵌合されている。また、可動刃１７は、支軸３３により回動自在に軸支されている。従って、カッタアーム２９が支軸３０を中心に摺動駆動されると、カッタアーム２９の連結孔３１に嵌合されている連結ピン３２が駆動されて、可動刃１７は支軸３３を中心に回動する。
【００１８】
また、プリンタ本体１には、カッタアーム２９の連結孔３１が形成されない他端部分と向かい合う位置でありカッタアーム２９が摺動する軌跡上に、第１センサ３５及び第２センサ３６が設けられている。第１センサ３５は、カッタアーム２９が摺動駆動される開始位置に設けられる。第２センサ３６は、後述するようにパーシャルカットの場合にカッタアーム２９が摺動駆動される途中であり同一方向への摺動駆動を停止して逆方向に摺動駆動が開始される位置から所定の距離だけ第１センサ３５のある開始位置側に設けられる。第１センサ３５、第２センサ３６は、カッタアーム２９の存在を各々検知する。
【００１９】
図３は、固定刃１６と可動刃１７とが噛み合っていない状態の可動刃駆動制御機構２３を示した構成図である。図４は、固定刃１６と可動刃１７が噛み合った状態の可動刃駆動制御機構２３を示した構成図である。図３に示されるように、固定刃１６と可動刃１７とが噛み合っていない状態では、カッタモータが図３において時計方向（Ｒ方向）に回転駆動されると、カッタモータの回転が、カッタモータギヤ２５からカッタギヤ２７に伝達されて板カム２８が反時計方向（Ｌ方向）に回転する。この板カム２８の回転に合わせてカッタアーム２９が摺動し支軸３０を中心に開始位置から所定量だけ反時計方向（Ｌ方向）に回転する。これによりカッタアーム２９の連結孔３１に嵌合されている連結ピン３２が駆動されると、可動刃１７は支軸３３を中心に反時計方向（Ｌ方向）に回動して、図４に示されるように、固定刃１６と可動刃１７が噛み合ってその間に挟みこまれたロール紙３を切断する。即ち、可動刃１７を固定刃１６と噛み合う方向にカッタアーム２９は移動される。尚、フルカットの場合、カッタアーム２９は第１センサ３５のある開始位置から反時計方向に一回転して、第１センサ３５の位置まで戻る。ロール紙３は完全に切り離されフルカットされた状態となる。パーシャルカットの場合、カッタアーム２９は開始位置から反時計方向に回転を開始し第２センサ３６の位置から所定の距離まで回転すると停止する。その後、カッタアーム２９は、時計回りに摺動駆動されて、即ち逆回転して、第１センサ３５の位置まで戻る。即ち、可動刃１７を固定刃１６から離反させる方向にカッタアーム２９は移動される。ロール紙３はその一部が切り離されパーシャルカットされた状態となる。
【００２０】
図５は、プリンタＰと上位装置との電気的接続を示すブロック図である。本実施形態のプリンタＰの上位装置は、キャッシュレジスタ等でありプリンタＰに対してレシート印刷等を実行させる。この上位装置は、ＣＰＵ（Central  Processing  Unit）１０１、記憶部１０２、キーボード１０３、キーボードコントローラ１０４を備えて構成されている。ＣＰＵ１０１は、記憶部１０２に記憶された各種プログラムを実行することにより上位装置各部を制御し各種機能を実現させる。また、記憶部１０２は、各種プログラムや各種データを予め記憶するＲＯＭ（Read  Only  Memory）、ＣＰＵ１０１が各種プログラムを実行する際のワークエリア等として機能するＲＡＭ（Random  Access  Memory）等を備えている。ＣＰＵ１０１は、キーボード１０３からの入力によりキーボードコントローラ１０４を介してレシート等の発行指示がされた場合には、ＲＯＭに格納されたプログラムを実行して、レシートへの印字内容を文字コードからなる印字データとしてＲＡＭに一時記憶させ、システムバス及びプリンタコントローラ１０５を介してＲＡＭに一時記憶させた印字データをプリンタＰに送信するよう制御をする。また、ＣＰＵ１０１は、レシートのカットの方法として、キーボード１０３からの入力によりキーボードコントローラ１０４を介してフルカット又はパーシャルカットが指示された場合、当該指示に応じて、フルカット又はパーシャルカットを指示するカット指示データをプリンタＰに送信するよう制御をする。
【００２１】
図６は、プリンタＰが備える各部の電気的接続を示すブロック図である。プリンタＰは、制御部６０を備えている。制御部６０は、ＣＰＵ６１、ＲＯＭ６２、ＲＡＭ６３、ＣＰＵ６１側に情報を取り込む入力ポートとＣＰＵ６１側から外部（プリンタ各部）へ情報を送り出す出力ポートとからなるＩ／Ｏポート６４、及び、上位装置からの印字データ及びカット指示データの受信の他必要なデータのやり取りをするための通信インターフェース６５を有し、これらがバスライン６８を介して接続されて構成されている。ＲＯＭ６２は、各種プログラムや各種データを予め記憶する。ＲＡＭ６３は、ＣＰＵ１０１が各種プログラムを実行する際のワークエリア等として機能する。また、ＲＡＭ６３は、バッテリによりバックアップされており、印字バッファとキャラクタジェネレータとを備えている。また、ＣＰＵ６１には、プリンタ各部のモータ６６（フィードモータＭ１、カッタモータＭ２）、サーマルヘッド１４、各種センサ（用紙切れを検知する用紙センサ、カバーの開閉を検知するカバー開閉センサ）、第１センサ３５、第２センサ３６）６７等がバスライン６８を介して接続されている。これら各部をＣＰＵ６１はＲＯＭ６２に記憶された各種プログラムを実行することにより制御する。尚、第１センサ３５、第２センサ３６でカッタアーム２９の存在が各々検知されるとその検知結果がＣＰＵ６１に通知されて、ＣＰＵ６１は以下に説明するカッタ制御処理を行う。
【００２２】
次に、プリンタＰのＣＰＵ６１がＲＯＭ６２に記憶された各種プログラムを実行することにより実現される本実施の形態に特有の各種機能について説明する。ＣＰＵ６１は、上位装置から印字データ及びカット指示データを受信すると、印字データに従ってロール紙３への印字を制御すると共に、印字の終了後に、カット指示データに従って、カッタモータＭ２の駆動を制御する。カット指示データによってパーシャルカットが指示される場合、ＣＰＵ６１は、カッタモータＭ２を反時計方向に回転駆動させる際、以下のカッタ制御処理を行う。ＣＰＵ６１は、第１センサ３５、第２センサ３６からの検知結果に基づいて、パルス数を計算し、計算したパルス数に基づいて、カッタモータＭ２を回転駆動させるパルス数を補正し、補正したパルス数を用いて、カッタモータＭ２を回転駆動させる。このカッタ制御処理の詳細については以下の動作欄で説明する。また、カット指示データによってフルカットが指示されている場合、ＣＰＵ６１は、カッタモータＭ２を反時計方向に回転駆動させる際、第２センサ３６からの検知結果を無効にして、第１センサ３５の検知結果に基づいて、カッタアーム２９が第１センサ３５のある位置から１回転して第１センサ３５のある位置に戻るようカッタモータＭ２を回転駆動させる。
【００２３】
（２）動作
次に、本実施の形態にかかるプリンタＰの行う印字処理の基本的な手順について図７を用いて説明する。まず、ロール紙３をフルカットする場合について説明する。プリンタＰのＣＰＵ６１は、図５に示した上位装置のＣＰＵ１０１からプリンタコントローラ１０５を介して印字データ及びフルカットを指示するカット指示データを取得すると、フィードモータＭ１を回転制御してプラテンローラ１５を回転させる制御を実行する（ステップＳ１０１）。これにより、ホッパ９に収納されているロール紙３が印字搬送部７側へ搬送され始める。続いて、ＣＰＵ６１は、上位装置から受信した印字データに従い、キャラクタジェネレータに格納されている文字パターンから対応するキャラクタパターンを検索し、検索したキャラクタパターンを印字バッファに印刷データとして展開する（ステップＳ１０２）。そして、ＣＰＵ６１は、プラテンローラ１５を回転制御してロール紙３を一定速度で断続的に搬送させながら、印刷データに従いロール紙３に対して一行毎に印字を実行するようサーマルヘッド１４を制御する。続いて、ＣＰＵ６１は、ロール紙３への印字が終了したことを認識すると、所定時間経過後にフィードモータＭ１の駆動を停止させてプラテンローラ１５の回転駆動を終了させ、用紙の搬送を終了させるよう制御する（ステップＳ１０３）。
【００２４】
続いて、ＣＰＵ６１は、カット指示データに従って、ロール紙３を切断するためにカッタモータＭ２を回転駆動させる制御をする（ステップＳ１０４）。尚、ステップＳ１０１で取得されたカット指示データによりフルカットが指示されている場合、ＣＰＵ６１は、第２センサ３６の検知結果を無効にして、第１センサ３５の検知結果に基づいて、カッタアーム２９が第１センサ３５のある開始位置から反時計方向に１回転して開始位置に戻るようカッタモータＭ２を回転駆動させる制御をする。ＣＰＵ６１により、カッタモータＭ２がＲ方向に回転駆動されると、ロータリカッタを構成する可動刃１７が駆動される。つまり、カッタモータＭ２のＲ方向への回転駆動力が、カッタモータギヤ２５からカッタギヤ２７、板カム２８へと順に伝達され、板カム２８が回転駆動される。これにより、カッタアーム２９が支軸３０を中心に揺動し、カッタアーム２９の連結孔３１に嵌合している連結ピン３２を介して可動刃１７に駆動力が伝達される。すると、可動刃１７は、支軸３３を中心にＬ方向に回転駆動され、固定刃１６と噛み合わされる。これにより、可動刃１７と固定刃１６との間に挟み込まれたロール紙３の切断が開始される。そして、カッタアーム２９が第１センサ３５のある開始位置から反時計方向に１回転して開始位置に戻る。この結果、ロール紙３はフルカットされる。フルカットされたロール紙３は、レシートとして図１に示す排紙口４から排紙される。
【００２５】
次に、レシートをパーシャルカットする場合について説明する。プリンタＰの行う印字処理の基本的な手順は上述と同様であり、ステップＳ１０４の処理における詳細な手順が、ロール紙３をフルカットする場合と異なる。図８は、ロール紙３をパーシャルカットする場合、ステップＳ１０４でＣＰＵ６１がカッタモータＭ２を回転駆動させる制御をするカッタ制御処理の詳細な手順を示すフローチャートである。この場合、ＣＰＵ６１は、ステップＳ１０１で上位装置のＣＰＵ１０１から印字データと共にパーシャルカットを指示するカット指示データを取得する。そして、ステップＳ１０４では、ＣＰＵ６１は、第２センサ３６の検知結果を有効にして、第１センサ３５及び第２センサ３６の検知結果に基づいて、カッタアーム２９が第１センサ３５のある開始位置から回転を開始して第２センサ３６のある位置から所定の距離回転した後停止して反時計方向に逆回転するようカッタモータＭ２を回転駆動させる制御をする。
【００２６】
尚、カッタアーム２９に対する第１センサ３５での検知が終了してから第２センサ３６での検知が開始されるまでの間で実測されるパルス数をＮｘとする。カッタアーム２９に対する第１センサ３５での検知が終了してから第２センサ３６での検知が開始されるまでの間で予め規定されているパルス数をＮ０とする。カッタアーム２９に対する第２センサ３６での検知が開始されてから終了するまでの間で実測されるパルス数をＭｘとする。カッタアーム２９に対する第２センサ３６での検知が開始されてから終了するまでの間で予め規定されているパルス数をＭ０とする。カッタアーム２９に対する第２センサ３６での検知が終了してからカッタモータＭ２の反時計方向への回転駆動を停止するまでの間で予め規定されているパルス数をＫとする。このパルス数Ｋは、即ち、第２センサ３６のある位置から所定の距離カッタアーム２９を移動させるためにカッタモータＭ２を回転駆動させるパルス数として予め規定されたパルス数である。カッタアーム２９に対する第２センサ３６での検知が終了してからカッタモータＭ２の反時計方向への回転駆動を停止するまでの間で補正するパルス数をＸとする。パルス数Ｎ０，Ｍ０，Ｋは,例えばＲＯＭ６２に予め記憶されている。
【００２７】
まず、ＣＰＵ６１は、カッタモータＭ２を起動させる（ステップＳ１１０）。このとき、カッタアーム２９は第１センサ３５のある開始位置にあり、「Ｎｘ＝０」、「Ｍｘ＝０」である。次いで、ＣＰＵ６１は、カッタモータＭ２を反時計方向に１パルス回転駆動させる（ステップＳ１１１）。そして、ＣＰＵ６１は、第１センサ３５でカッタアーム２９が検知されたか否かを判定する(ステップＳ１１２)。第１センサ３５でカッタアーム２９が検知された場合（ステップＳ１１２：ＹＥＳ）、ＣＰＵ６１は、ステップＳ１１１に戻ってカッタモータＭ２を反時計方向に１パルス回転駆動させる。第１センサ３５でカッタアーム２９が検知されない場合（ステップＳ１１２：ＮＯ）、ＣＰＵ６１は、第２センサ３６でカッタアーム２９が検知されたか否かを判定する(ステップＳ１１３)。第２センサ３６でカッタアーム２９が検知されない場合(ステップＳ１１３：ＮＯ)、ＣＰＵ６１は、「Ｍｘ＝０」であるか否かを判定する（ステップＳ１１６）。「Ｍｘ＝０」である場合（ステップＳ１１６：ＹＥＳ）、ＣＰＵ６１は、Ｎｘに「１」を加えて、「Ｎｘ＝Ｎｘ＋１」としてＮｘを更新する（ステップＳ１１５）。即ち、ＣＰＵ６１は、第１センサ３５でカッタアーム２９が検知されなくなってから第２センサ３６でカッタアーム２９が検知されるまでの間のパルス数Ｎｘを計算する。これによりＣＰＵ６１はパルス数Ｎｘを実測する。その後ステップＳ１１１に戻る。
【００２８】
一方、ステップＳ１１３で、第２センサ３６でカッタアーム２９が検知された場合、ＣＰＵ６１は、Ｍｘに「１」を加えて「Ｍｘ＝Ｍｘ＋１」としてＭｘを更新する（ステップＳ１１４）。即ち、ＣＰＵ６１は、カッタアーム２９が第２センサ３６で検知され始めてから検知が終了するまでの間のパルス数Ｍｘを計算する。これによりＣＰＵ６１はパルス数Ｍｘを実測する。その後ステップＳ１１１に戻る。
【００２９】
また、ステップＳ１１６で「Ｍｘ＝０」ではない場合（ステップＳ１１６：ＮＯ）、ＣＰＵ６１は、「Ｍｘ＝Ｍ０」であるか否かを判定する（ステップＳ１１７）。即ち、カッタアーム２９が第２センサ３６で検知され始めた後検知されなくなった場合、ＣＰＵ６１は、カッタアーム２９に対する第２センサ３６での検知が開始されてから終了するまでの間で実測されるパルス数Ｍｘが、予め規定されているパルス数Ｍ０と等しいか否かを判定する。パルス数Ｍｘとパルス数Ｍ０とが等しい場合、パルス数を補正する必要がないため、ＣＰＵ６１は、「Ｘ＝０」とする（ステップＳ１１８）。次いで、ＣＰＵ６１は、「Ｘ＝Ｘ＋Ｋ」を計算することにより（ステップＳ１１９）、カッタアーム２９が第２センサ３６で検知終了してからカッタモータＭ２が停止するまでの間に、カッタモータＭ２を反時計方向に回転駆動させるパルス数を計算する。そして、ＣＰＵ６１は、カッタモータＭ２を１パルス回転駆動させる。また、ＣＰＵ６１は、「Ｘ＝Ｘ−１」を計算することにより、カッタモータＭ２を反時計方向に回転駆動させるべき残りのパルス数を計算する（ステップＳ１２０）。次いで、ＣＰＵ６１は、「Ｘ＝０」であるか否かを判定する（ステップＳ１２１）。「Ｘ＝０」でない場合（ステップＳ１２１：ＮＯ）、ステップＳ１２０に戻る。「Ｘ＝０」である場合（ステップＳ１２１：ＹＥＳ）、ＣＰＵ６１は、カッタモータＭ２の反時計方向への回転駆動を停止させる（ステップＳ１２２）。その後、ＣＰＵ６１は、反時計方向に回転駆動させたパルス数と同じだけ時計方向にカッタモータＭ２を回転駆動させてカッタアーム２９を逆回転させ、カッタアーム２９を第１センサ３５のある開始位置まで戻す（図示せず）。これによりパーシャルカットが行われる。
【００３０】
一方、ステップＳ１１７で「Ｍｘ＞Ｍ０」である場合、ＣＰＵ６１は、次いで、「Ｎｘ＜Ｎ０」であるか否かを判定する（ステップＳ１２３）。即ち、ＣＰＵ６１は、カッタアーム２９に対する第１センサ３５での検知が終了してから第２センサ３６での検知が開始されるまでの間で実測されたパルス数Ｎｘが、予め規定されているパルス数Ｎ０より小さいか否かを判定する。パルス数Ｎｘパルス数Ｎ０より小さい場合（ステップＳ１２３：ＹＥＳ）、ステップＳ１１８に進む。パルス数Ｎｘパルス数Ｎ０以上である場合（ステップＳ１２３：ＮＯ）、ＣＰＵ６１は、「Ｘ＝Ｍ０−Ｍｘ」を計算することにより、補正すべきパルス数Ｘを計算する（ステップＳ１２４）。その後ステップＳ１１９に進む。
【００３１】
また、ステップＳ１１７で「Ｍｘ＜Ｍ０」である場合、ＣＰＵ６１は、次いで、「Ｎｘ＞Ｎ０」であるか否かを判定する（ステップＳ１２５）。即ち、ＣＰＵ６１は、カッタアーム２９に対する第１センサ３５での検知が終了してから第２センサ３６での検知が開始されるまでの間で実測されたパルス数Ｎｘが、予め規定されているパルス数Ｎ０より大きいか否かを判定する。パルス数Ｎｘパルス数Ｎ０より大きい場合（ステップＳ１２５：ＹＥＳ）、パルス数を補正する必要がないため、ＣＰＵ６１は、「Ｘ＝０」とする（ステップＳ１２６）。パルス数Ｎｘパルス数Ｎ０以下である場合（ステップＳ１２５：ＮＯ）、ステップＳ１２４に進む。
【００３２】
図９は、パーシャルカットの場合に第１センサ３５、第２センサ３６でのカッタアーム２９の検知のタイミングに応じてパルス数を補正するパターンを模式的に例示した図である。同図における１段目は、カッタアーム２９に対する第１センサ３５での検知が終了してから第２センサ３６での検知が開始されるまでの間で実測されるパルス数Ｎｘが規定のパルス数Ｎ０と同じであり且つカッタアーム２９に対する第２センサ３６での検知が開始されてから終了するまでの間で実測されるパルス数Ｍｘが規定のパルス数Ｍ０と同じであるパターンである。この場合、ステップＳ１１７では「Ｍｘ＝Ｍ０」となるから、ステップＳ１１８以降の処理が行われて、カッタアーム２９が第２センサ３６で検知終了してから、パルス数が補正されることなく、カッタモータＭ２が反時計方向に回転駆動される。
【００３３】
図９における２段目は、カッタアーム２９に対する第１センサ３５での検知が終了してから第２センサ３６での検知が開始されるまでの間で実測されるパルス数Ｎｘが予め規定されたパルス数Ｎ０より大きく且つカッタアーム２９に対する第２センサ３６での検知が開始されてから終了するまでの間で実測されるパルス数Ｍｘが規定のパルス数Ｍ０と同じであるパターンである。この場合も、ステップＳ１１７では「Ｍｘ＝Ｍ０」となるから、１段目もパターンと同様に、ステップＳ１１８以降の処理が行われて、カッタアーム２９が第２センサ３６で検知終了してから、パルス数が補正されることなく、カッタモータＭ２が反時計方向に回転駆動される。図９における３段目は、カッタアーム２９に対する第１センサ３５での検知が終了してから第２センサ３６での検知が開始されるまでの間で実測されるパルス数Ｎｘが予め規定されたパルス数Ｎ０より小さく且つカッタアーム２９に対する第２センサ３６での検知が開始されてから終了するまでの間で実測されるパルス数Ｍｘが規定のパルス数Ｍ０と同じであるパターンである。この場合も、１段目、２段目と同様である。
【００３４】
図９における４段目は、カッタアーム２９に対する第１センサ３５での検知が終了してから第２センサ３６での検知が開始されるまでの間で実測されるパルス数Ｎｘが予め規定されたパルス数Ｎ０より小さく且つカッタアーム２９に対する第２センサ３６での検知が開始されてから終了するまでの間で実測されるパルス数Ｍｘが予め規定されたパルス数Ｍ０より大きいパターンである。この場合、ステップＳ１１７では「Ｍｘ＞Ｍ０」となり、ステップＳ１２３に進み、ステップＳ１２３では「Ｎｘ＜Ｎ０」となるから、ステップＳ１１８に進む。即ち、この場合も、カッタアーム２９が第２センサ３６で検知終了してから、パルス数が補正されることなく、カッタモータＭ２が反時計方向に回転駆動される。
【００３５】
図９における５段目は、カッタアーム２９に対する第１センサ３５での検知が終了してから第２センサ３６での検知が開始されるまでの間で実測されるパルス数Ｎｘが規定のパルス数Ｎ０と同じであり且つカッタアーム２９に対する第２センサ３６での検知が開始されてから終了するまでの間で実測されるパルス数Ｍｘが予め規定されたパルス数Ｍ０より大きいパターンである。この場合、ステップＳ１１７では「Ｍｘ＞Ｍ０」となり、ステップＳ１２３に進み、ステップＳ１２３では「Ｎｘ≧Ｎ０」となるから、ステップＳ１２４に進み、カッタアーム２９が第２センサ３６で検知終了してからカッタモータＭ２が停止するまでの間で補正するパルス数Ｘが計算される。その後、ステップＳ１１９に進む。即ち、この場合、カッタアーム２９が第２センサ３６で検知終了してから、補正されたパルス数を用いて、カッタモータＭ２が反時計方向に回転駆動される。
【００３６】
図９における６段目は、カッタアーム２９に対する第１センサ３５での検知が終了してから第２センサ３６での検知が開始されるまでの間で実測されるパルス数Ｎｘが予め規定されたパルス数Ｎ０より大きく且つカッタアーム２９に対する第２センサ３６での検知が開始されてから終了するまでの間で実測されるパルス数Ｍｘが予め規定されたパルス数Ｍ０より小さいパターンである。この場合、ステップＳ１１７では「Ｍｘ＜Ｍ０」となり、ステップＳ１２５に進み、ステップＳ１２５では「Ｎｘ＞Ｎ０」となるから、ステップＳ１２６に進み、その後、ステップＳ１１９に進む。即ち、この場合、カッタアーム２９が第２センサ３６で検知終了してから、パルス数が補正されることなく、カッタモータＭ２が反時計方向に回転駆動される。
【００３７】
図９における７段目は、カッタアーム２９に対する第１センサ３５での検知が終了してから第２センサ３６での検知が開始されるまでの間で実測されるパルス数Ｎｘが規定のパルス数Ｎ０と同じであり且つカッタアーム２９に対する第２センサ３６での検知が開始されてから終了するまでの間で実測されるパルス数Ｍｘが予め規定されたパルス数Ｍ０より小さいパターンである。この場合、ステップＳ１１７では「Ｍｘ＜Ｍ０」となり、ステップＳ１２５に進み、ステップＳ１２５では「Ｎｘ≦Ｎ０」となるから、ステップＳ１２４に進み、カッタアーム２９が第２センサ３６で検知終了してからカッタモータＭ２が停止するまでの間で補正するパルス数Ｘが計算される。その後、ステップＳ１１９に進む。即ち、この場合、カッタアーム２９が第２センサ３６で検知終了してから、補正されたパルス数を用いて、カッタモータＭ２が反時計方向に回転駆動される。
【００３８】
図９に示されるように、第２センサ３６のある位置におけるカッタアーム２９の検知が終了してから反時計方向へのカッタアーム２９の移動を停止させるまでの間にカッタモータＭ２を駆動させるパルス数が適宜補正されることにより、いずれのパターンであっても、カッタアーム２９の反時計方向への回転駆動を停止させる位置は略同じになる。従って、いずれのパターンであっても常に、パーシャルカットさせる位置を正しい位置に保つことができる。
【００３９】
以上のように、カッタアーム２９が動き始める開始位置に第１センサ３５を設ける他に、パーシャルカットの場合にカッタアーム２９が逆回転を開始する位置から所定の距離だけ開始位置側に第２センサ３６を設けられる。そして第１センサ３５、第２センサ３６でカッタアーム２９の存在を各々検知して、カッタアーム２９が動き始める開始位置（第１センサ３５のある位置）からパーシャルカットのために逆回転を開始する位置より所定の距離手前の位置（第２センサ３６のある位置）までの間のパルス数と、カッタアーム２９が第２センサ３６で検知され始めてから検知が終了するまでの間のパルス数とを実測して、実測されたパルス数と規定のパルス数とを比較する。この比較結果に応じて、カッタアーム２９に対する第２センサ３６での検知が終了してからパーシャルカットのためにカッタアーム２９が回転を一旦停止して逆回転を開始する位置までの間のパルス数を補正する。即ち、第２センサ３６のある位置から所定の距離カッタアーム２９が移動するためにカッタモータＭ２を回転駆動させるパルス数を補正する。このような構成によれば、カッタアーム２９の位置がずれたとしても、パルス数の補正により、ロール紙３がパーシャルカットされる位置が正しい位置に保たれて、切り込み長の誤差が生じる可能性が低減される。従って、本実施の形態によれば、同じ刃を用いてフルカットとパーシャルカットとの両方を精度高く実現することができる。
【００４０】
また、第１センサ３５、第２センサ３６の検知結果により、カッタモータＭ２の反時計方向への回転駆動を停止させるのではなく、パルス数を計算することで、第１センサ３５、第２センサ３６の検知のタイミングにずれが生じた場合であっても、パーシャルカットされる位置を正しく補正することができる。即ち、パルス数を計算することで、カッタアーム２９が動き始める第１センサ３５のある開始位置と、第２センサ３５でカッタアーム２９の検知が開始される位置と、第２センサ３５でカッタアーム２９の検知が終了する位置との３つの位置で、カッタアーム２９の位置がずれていないか否かを判定することができる。そして各判定結果に基づいてパルス数を補正することで、精度のより高いパーシャルカットを実現することができる。
【００４１】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【００４２】
上述した実施の形態において、プリンタＰで実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
【００４３】
上述した実施の形態において、サーマルプリンタとして、ＥＣＲ（電子式キャッシュレジスタ）やＰＯＳ端末に内蔵されるレシートプリンタを適用する例について説明した。しかし、これに限らず、印字したロール紙に対してフルカット又はパーシャルカットを同じ刃を用いて行うサーマルプリンタに適用しても良い。また、ロール紙は、例えばラベルなどのシールが貼付されたものであっても良い。
【００４４】
上述した実施の形態におけるプリンタＰでは、支持ローラの数は２本であるがこれに限られることなく、支持ローラの数、構成、配設位置、配設方法はその目的に応じて適宜変更することができる。例えば複数のローラを有するプリンタにおいて、そのうちの１本の支持ローラを従動回転させるように構成してもよく、特定された何本かの支持ローラを従動回転させるようにしてもよい。
【図面の簡単な説明】
【００４５】
【図１】一実施の形態にかかるプリンタＰの基本的な構成を示す図である。
【図２】同実施の形態にかかるプリンタＰの右側面図である。
【図３】固定刃１６と可動刃１７とが噛み合っていない状態の可動刃駆動制御機構２３を示した構成図である。
【図４】固定刃１６と可動刃１７が噛み合った状態の可動刃駆動制御機構２３を示した構成図である。
【図５】同実施の形態にかかるプリンタＰと上位装置との電気的接続を示すブロック図である。
【図６】同実施の形態にかかるプリンタＰが備える各部の電気的接続を示すブロック図である。
【図７】同実施の形態にかかるプリンタＰの行う印字処理の基本的な手順を示すフローチャートである。
【図８】ロール紙３をパーシャルカットする場合にＣＰＵ６１が行うカッタ制御処理の詳細な手順を示すフローチャートである。
【図９】パーシャルカットの場合に第１センサ３５、第２センサ３６でのカッタアーム２９の検知のタイミングに応じてパルス数を補正するパターンを模式的に例示した図である。
【符号の説明】
【００４６】
１  プリンタ本体
２  上部ユニット
３  ロール紙
４  排紙口
５  案内経路
６  ロール紙収納保持部
７  印字搬送部
８  用紙切断部
９  ホッパ
９ａ  底面
１０，１１  支持ローラ
１４  サーマルヘッド
１５  プラテンローラ
１６  固定刃
１７  可動刃
１８  プラテンローラ駆動機構
２３  可動刃駆動制御機構
２９  カッタアーム
３５  第１センサ
３６  第２センサ
６０  制御部
６１  ＣＰＵ
【図１】
2010069722.tif 000003
【図２】
2010069722.tif 000004
【図３】
2010069722.tif 000005
【図４】
2010069722.tif 000006
【図５】
2010069722.tif 000007
【図６】
2010069722.tif 000008
【図７】
2010069722.tif 000009
【図８】
2010069722.tif 000010
【図９】
2010069722.tif 000011