(57)【要約】【課題】使用する電源に最適なサーマルプリンタの印刷制御を行うことのできるサーマルプリンタ、サーマルプリンタの印刷制御方法およびプログラムの提供を図る。【解決手段】用紙を搬送する用紙搬送部2と,前記用紙に対して,サーマルヘッド32を介して印刷する印刷部3と,データを記録するメモリ4,5と,前記メモリに記録されたデータにより前記印刷部を制御する制御装置1と,を備え,前記制御装置1は,前記印刷部に与える印刷条件,および,前記印刷条件により前記印刷部が印刷を行った印刷結果を前記メモリに記録する第1の制御部11と,前記印刷条件および前記印刷結果のデータ集合から,電源の電流供給能力を予測する第2の制御部12と,前記電源の電流供給能力を印刷制御に反映させる第3の制御部13と,を備え,前記第1の制御部，前記第2の制御部および前記第3の制御部による制御サイクルを繰り返すことで,前記サーマルプリンタ自身が前記印刷制御を学習して最適化する。【選択図】図１
2019119127.tif 000002
【特許請求の範囲】
【請求項１】
用紙を搬送する用紙搬送部と、前記用紙に対して、サーマルヘッドを介して印刷する印刷部と、データを記録するメモリと、前記メモリに記録されたデータに基づいて、前記印刷部を制御する制御装置と、を備えるサーマルプリンタであって、
前記制御装置は、
前記印刷部に与える印刷条件、および、前記印刷条件に基づいて前記印刷部が印刷を行った印刷結果を前記メモリに記録する第１の制御部と、
前記メモリに記録された前記印刷条件および前記印刷結果のデータ集合から、電源の電流供給能力を予測する第２の制御部と、
予測した前記電源の電流供給能力を印刷制御に反映させる第３の制御部と、を備え、
前記第１の制御部，前記第２の制御部および前記第３の制御部による制御サイクルを繰り返すことで、前記サーマルプリンタ自身が前記印刷制御を学習して最適化する、
ことを特徴とするサーマルプリンタ。
【請求項２】
前記印刷結果は、
前記印刷条件に基づいて前記サーマルプリンタが行った印刷が成功した印刷成功ケース、および、
前記印刷条件に基づいて前記サーマルプリンタが行った印刷が失敗した印刷失敗ケースを含む、
ことを特徴とする請求項１に記載のサーマルプリンタ。
【請求項３】
前記印刷成功ケースは、前記サーマルプリンタが前記印刷条件に基づいた印刷を完了した場合であり、
前記印刷失敗ケースは、前記印刷条件に基づいて行う前記サーマルプリンタの印刷時の消費電力が前記電源の電流供給能力を超え、電源保護回路の作動により電源供給が一時的に停止した場合である、
ことを特徴とする請求項２に記載のサーマルプリンタ。
【請求項４】
前記メモリは、不揮発性メモリであり、
前記第１の制御部は、
前記印刷成功ケースでは、前記サーマルプリンタに与える前記印刷条件、および、前記サーマルプリンタが前記印刷条件に基づいた印刷を完了したことを示す印刷完了情報を前記不揮発性メモリに格納し、
前記印刷失敗ケースでは、前記サーマルプリンタに与える前記印刷条件のみ前記不揮発性メモリに格納する、
ことを特徴とする請求項３に記載のサーマルプリンタ。
【請求項５】
前記制御装置は、
前記電源保護回路の作動により電源供給が一時的に停止した後に前記サーマルプリンタが起動された場合、前記不揮発性メモリに格納された情報が前記印刷条件のみのときには、前記印刷失敗ケースと判定する、
ことを特徴とする請求項４に記載のサーマルプリンタ。
【請求項６】
さらに、
前記電源により駆動される前記サーマルプリンタの駆動電圧を検出する電圧検出回路を備え、
前記制御装置は、
前記電圧検出回路により検出された前記駆動電圧が、所定の許容電圧範囲を維持していれば、前記印刷成功ケースと判定し、
前記電圧検出回路により検出された前記駆動電圧が、前記許容電圧範囲を逸脱すれば、前記印刷失敗ケースと判定する、
ことを特徴とする請求項２に記載のサーマルプリンタ。
【請求項７】
サーマルプリンタに与える印刷条件、および、前記印刷条件に基づいて前記サーマルプリンタが印刷を行った印刷結果を蓄積する第１の制御と、
蓄積された前記印刷条件および前記印刷結果のデータ集合から、電源の電流供給能力を予測する第２の制御と、
予測した前記電源の電流供給能力を印刷制御に反映させる第３の制御と、を備え、
前記第１の制御，前記第２の制御および前記第３の制御によるサイクルを繰り返すことで、前記印刷制御を学習して最適化する、
ことを特徴とするサーマルプリンタの印刷制御方法。
【請求項８】
前記印刷制御を学習して最適化するのは、予め設けられた学習モードにおいて、前記サーマルプリンタ自身により行われる、
ことを特徴とする請求項７に記載のサーマルプリンタの印刷制御方法。
【請求項９】
前記印刷制御を学習して最適化するのは、前記サーマルプリンタが稼働している期間において、前記サーマルプリンタ自身により行われる、
ことを特徴とする請求項７に記載のサーマルプリンタの印刷制御方法。
【請求項１０】
前記印刷結果は、
前記印刷条件に基づいて前記サーマルプリンタが行った印刷が成功した印刷成功ケース、および、
前記印刷条件に基づいて前記サーマルプリンタが行った印刷が失敗した印刷失敗ケースを含む、
ことを特徴とする請求項７乃至請求項９のいずれか１項に記載のサーマルプリンタの印刷制御方法。
【請求項１１】
前記印刷成功ケースは、前記サーマルプリンタが前記印刷条件に基づいた印刷を完了した場合であり、
前記印刷失敗ケースは、前記印刷条件に基づいて行う前記サーマルプリンタの印刷時の消費電力が前記電源の電流供給能力を超え、電源保護回路の作動により電源供給が一時的に停止した場合である、
ことを特徴とする請求項１０に記載のサーマルプリンタの印刷制御方法。
【請求項１２】
前記第１の制御は、
前記印刷成功ケースにおいて、前記サーマルプリンタに与える前記印刷条件、および、前記サーマルプリンタが前記印刷条件に基づいた印刷を完了したことを示す印刷完了情報を不揮発性メモリに格納し、
前記印刷失敗ケースにおいて、前記サーマルプリンタに与える前記印刷条件のみ前記不揮発性メモリに格納する、
ことを特徴とする請求項１１に記載のサーマルプリンタの印刷制御方法。
【請求項１３】
前記電源保護回路の作動により電源供給が一時的に停止した後に前記サーマルプリンタが起動された場合、前記不揮発性メモリに格納された情報が前記印刷条件のみの場合には、前記印刷失敗ケースと判定する、
ことを特徴とする請求項１２に記載のサーマルプリンタの印刷制御方法。
【請求項１４】
前記印刷成功ケースは、前記電源により駆動される前記サーマルプリンタの駆動電圧が所定の許容電圧範囲を維持した場合であり、
前記印刷失敗ケースは、前記電源により駆動される前記サーマルプリンタの駆動電圧が前記所定の許容電圧範囲から逸脱する場合である、
ことを特徴とする請求項１０に記載のサーマルプリンタの印刷制御方法。
【請求項１５】
前記第１の制御は、前記サーマルプリンタにおける最大負荷部印刷時の電気的印刷条件、および、前記最大負荷部印刷時の電気的印刷条件に基づいて前記サーマルプリンタが印刷を行った前記最大負荷部印刷時の印刷結果を、不揮発性メモリに記録する、
ことを特徴とする請求項７乃至請求項１４のいずれか１項に記載のサーマルプリンタの印刷制御方法。
【請求項１６】
前記第２の制御は、前記不揮発性メモリに記録した、前記最大負荷部印刷時の電気的印刷条件、および、前記最大負荷部印刷時の印刷結果のデータ集合から前記電源の電流供給能力を予測する、
ことを特徴とする請求項１５に記載のサーマルプリンタの印刷制御方法。
【請求項１７】
前記第１の制御により前記不揮発性メモリに記録する前記最大負荷部印刷時の電気的印刷条件は、前記サーマルプリンタに与える最大負荷部印刷時の平均電力および時間を含み、
前記第２の制御は、
前記サーマルプリンタに与える前記最大負荷部印刷時の平均電力および時間、並びに、前記印刷結果を統計解析手法を用いて前記電源の電流供給能力を求め、時間から閾値電力に変換する閾値電力テーブルを作成して行う、
ことを特徴とする請求項１５または請求項１６に記載のサーマルプリンタの印刷制御方法。
【請求項１８】
前記第２の制御は、
前記平均電力を縦軸とし、前記時間を横軸とした平面に対して印刷成功群と印刷失敗群をプロットし、
前記印刷の成功と失敗の境界をサポートベクターマシン技法を用いて前記電源の電流供給能力の閾値を求める、
ことを特徴とする請求項１７に記載のサーマルプリンタの印刷制御方法。
【請求項１９】
前記第３の制御は、
全印刷速度と全発熱ドット数，電圧，ヘッド温度，濃度設定および１ドット当たりの消費電流に基づいて、前記サーマルプリンタの消費電力を求める消費電力変換テーブルを作成し、
前記消費電力変換テーブル、および、前記第２の制御で作成された前記閾値電力テーブルを用いて、発熱ドット数と連続ラスタ数から前記サーマルプリンタの印刷速度を求める印刷速度変換テーブルを作成し、
前記印刷速度変換テーブルの前記印刷速度は、前記発熱ドット数，前記連続ラスタ数および前記印刷速度をそれぞれの最小値から最大値まで変化させ、比較消費電力と比較閾値電力を求め、消費電力が閾値電力を超えない範囲で最も近い値となる印刷速度として求める、
ことを特徴とする請求項１７に記載のサーマルプリンタの印刷制御方法。
【請求項２０】
前記印刷速度は、最も遅い速度を優先し、現在の速度から加速または減速を行う場合には、段階的に変化するよう印刷速度を制御し、
前記印刷速度変換テーブル内の印刷速度が、ジッター等が発生する好ましくない低速度であった場合には、印刷品質が確保される最も遅い速度まで減速し、それ以降は減速せず、同じ電力となるよう印加パルス時間を短く制御する、
ことを特徴とする請求項１９に記載のサーマルプリンタの印刷制御方法。
【請求項２１】
用紙を搬送する用紙搬送部と、前記用紙に対して、サーマルヘッドを介して印刷する印刷部と、データを記録するメモリと、前記メモリに記録されたデータに基づいて、前記印刷部を制御する演算処理装置と、を備えるサーマルプリンタの印刷制御プログラムであって、
前記演算処理装置に、
サーマルプリンタに与える印刷条件、および、前記印刷条件に基づいて前記サーマルプリンタが印刷を行った印刷結果を蓄積する第１の制御と、
蓄積された前記印刷条件および前記印刷結果のデータ集合から、電源の電流供給能力を予測する第２の制御と、
予測した前記電源の電流供給能力を印刷制御に反映させる第３の制御と、
前記第１の制御，前記第２の制御および前記第３の制御によるサイクルを繰り返すことで、前記印刷制御を、前記サーマルプリンタ自身が学習して最適化する学習処理と、を実行させる、
ことを特徴とするサーマルプリンタの印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーマルプリンタ、サーマルプリンタの印刷制御方法およびプログラムに関し、特に、機械学習の手法を適用してサーマルプリンタの印刷制御を向上させるようにしたものに関する。
【背景技術】
【０００２】
一般的に、サーマルプリンタは、例えば、付属のＡＣアダプタから電源供給を受ける場合、或いは、ＰＯＳ(Point Of Sales：販売時点情報管理)システムの本体からインターフェースケーブルを介して電源供給を受ける場合において、最適な速度と最適な発色を行うように予め調整されている。
【０００３】
そのため、サーマルプリンタの印刷制御が電源の容量や特性と合っていない場合には、スループットの低下や印刷掠れ、さらに、電源保護回路作動による印刷停止等が発生するため、最適な印刷ができない虞がある。
【０００４】
電源は、例えば、電圧や定格電流の仕様が同じでも、メーカーやモデル毎にピーク電流性能や電源保護の作動条件が異なっており、また、通常、これらピーク電流性能や電源保護の作動条件は開示されていない。
【０００５】
その結果、例えば、サーマルプリンタに対して新たな電源を適用する場合、サーマルプリントヘッドの発熱ドット数を段階的に変えた複数の印刷パターンを用いて、温度条件と電圧条件を変化させながら電源保護が作動せず且つ最適な発色を行うことができる印刷速度と印加パルス時間をカット＆トライで調整するのが実情である。
【０００６】
ところで、従来、サーマルプリンタの印刷制御方法としては、様々な提案がなされている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−１９２７３９号公報
【特許文献２】特開平０６−１２２２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
例えば、前述したＰＯＳシステムの本体からインターフェースケーブルを介して電源供給を受ける場合、そのＰＯＳシステムの本体に接続される周辺機器が多いほどプリンタへの電流供給能力が低下する特性がある。すなわち、ＰＯＳシステムは、使用環境に応じて、ディスプレイの大きさや数、或いは、キャッシュドロアやバーコードリーダの種類等が変化するため、例えば、サーマルプリンタに対する電流供給能力も変化する。
【０００９】
さらに、通常、プリンタ側は、ＰＯＳシステムから供給される電源のピーク電流性能および電源保護作動条件を知る手段を持たないため、実際に使用されるＰＯＳシステムの構成(使用される電源)に最適なサーマルプリンタの印刷制御を実現することは困難である。
【００１０】
本発明の目的は、使用する電源に最適なサーマルプリンタの印刷制御を行うことのできるサーマルプリンタ、サーマルプリンタの印刷制御方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明に係る一実施形態によれば、用紙を搬送する用紙搬送部と、前記用紙に対して、サーマルヘッドを介して印刷する印刷部と、データを記録するメモリと、前記メモリに記録されたデータに基づいて、前記印刷部を制御する制御装置と、を備えるサーマルプリンタであって、前記制御装置は、前記印刷部に与える印刷条件、および、前記印刷条件に基づいて前記印刷部が印刷を行った印刷結果を前記メモリに記録する第１の制御部と、前記メモリに記録された前記印刷条件および前記印刷結果のデータ集合から、電源の電流供給能力を予測する第２の制御部と、予測した前記電源の電流供給能力を印刷制御に反映させる第３の制御部と、を備え、前記第１の制御部，前記第２の制御部および前記第３の制御部による制御サイクルを繰り返すことで、前記サーマルプリンタ自身が前記印刷制御を学習して最適化するサーマルプリンタが提供される。
【発明の効果】
【００１２】
本実施形態に係るサーマルプリンタ、サーマルプリンタの印刷制御方法およびプログラムによれば、使用する電源に最適なサーマルプリンタの印刷制御を行うことができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明に係るサーマルプリンタの一実施例を示すブロック図である。
【図２】図２は、本発明に係るサーマルプリンタの印刷制御方法におけるメイン制御の処理の一例を説明するためのフローチャートである。
【図３】図３は、本発明に係るサーマルプリンタの印刷制御方法における第１の制御(起動時)の処理の一例を説明するためのフローチャートである。
【図４】図４は、本発明に係るサーマルプリンタの印刷制御方法における第１の制御(通常時)の処理の一例を説明するためのフローチャート(その１)である。
【図５】図５は、本発明に係るサーマルプリンタの印刷制御方法における第１の制御(通常時)の処理の一例を説明するためのフローチャート(その２)である。
【図６】図６は、本発明に係るサーマルプリンタの印刷制御方法における第２の制御の処理の一例を説明するためのフローチャートである。
【図７】図７は、電源の電流供給能力の閾値を求める手法の一例を説明するための図である。
【図８】図８は、本発明に係るサーマルプリンタの印刷制御方法における第３の制御の処理の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明に係るサーマルプリンタ、サーマルプリンタの印刷制御方法およびプログラムの実施形態を、添付図面を参照して詳述する。図１は、本発明に係るサーマルプリンタの一実施例を示すブロック図である。図１において、参照符号１は制御装置(マイクロコントローラ、マイクロプロセッサ：演算処理装置)、２は用紙搬送部、３は印刷部、４は不揮発性メモリ(例えば、フラッシュメモリ)、５は揮発性メモリ(例えば、ＤＲＡＭ：Dynamic Random Access Memory)、６は電圧検出回路、そして、７は電源(例えば、ＤＣ２４Ｖの電源)を示す。
【００１５】
図１に示されるように、制御装置１は、第１の制御(第１の制御部)１１，第２の制御(第２の制御部)１２および第３の制御(第３の制御部)１３を含む。ここで、第１〜第３の制御(第１〜第３の制御部)１１〜１３は、本発明に係るサーマルプリンタの印刷制御プログラムの一例を実行する演算処理装置(制御装置)１による機能を概念的に示すブロックである。
【００１６】
用紙搬送部２は、用紙送りモータ制御回路２１および用紙送りモータ２２を含み、印刷部３は、サーマルヘッド駆動回路３１，サーマルヘッド３２およびサーマルヘッド温度検出回路３３を含む。なお、用紙搬送部２および印刷部３は、それぞれ他に様々な構成要素を含むが、図１では省略されている。
【００１７】
電源７は、例えば、ＤＣ２４Ｖの電圧を供給するもので、商用電源から交流(ＡＣ)を受け取って目的とする直流(ＤＣ)の電力を出力するＡＣアダプタ、或いは、インターフェースケーブルを介して電源供給を受けるＰＯＳシステムの本体の電源等である。電圧検出回路６は、電源７により駆動されるサーマルプリンタの駆動電圧を検出するものであり、電圧検出回路６により検出された駆動電圧(電圧データ)は、制御装置１(第１の制御部１１および第３の制御部１３)に出力される。また、サーマルヘッド温度検出回路３３により検出されたサーマルヘッド３２の温度(温度データ)も、制御装置１(第１の制御部１１および第３の制御部１３)に出力される。
【００１８】
第１の制御部(第１の制御)１１は、例えば、印刷部３に与える印刷条件、および、その印刷条件に基づいて印刷部３が印刷を行った印刷結果を不揮発性メモリ４に記録する。例えば、印刷部３に与える最大負荷印刷条件とその結果(印刷結果)を、不揮発性メモリ４の領域４１に記録する。
【００１９】
ここで、第１の制御部１１には、例えば、揮発性メモリ５の印刷イメージバッファ５１に保持された印刷イメージ、揮発性メモリ５に格納された印刷速度変換テーブル５２および濃度設定５４のデータ、並びに、不揮発性メモリ４に記録された印刷速度係数テーブル４３，電圧係数テーブル４４，ヘッド温度係数テーブル４５および濃度係数テーブル４６のデータが入力されている。なお、これらは単なる例であり、第１の制御部１１に対する入力データは、様々な変更が可能なのはいうまでもない。
【００２０】
第２の制御部(第２の制御)１２は、不揮発性メモリ４に記録された印刷条件および印刷結果のデータ集合から、電源７の電流供給能力を予測する。すなわち、第２の制御部１２は、例えば、不揮発性メモリ４の領域４１から最大負荷印刷条件とその結果を読み出し、電源７の電流供給能力を予測して生成した閾値電力変換テーブル４２を不揮発性メモリ４に記録する。
【００２１】
第３の制御部(第３の制御)１３は、第２の制御部１２により予測した電源７の電流供給能力を印刷制御に反映させる。ここで、第３の制御部１３には、例えば、揮発性メモリ５の印刷イメージバッファ５１に保持された印刷イメージ、揮発性メモリ５に格納された印刷速度変換テーブル５２および濃度設定５４のデータ、並びに、不揮発性メモリ４に記録された閾値電力変換テーブル４２，印刷速度係数テーブル４３，電圧係数テーブル４４，ヘッド温度係数テーブル４５および濃度係数テーブル４６のデータが入力される。
【００２２】
すなわち、第３の制御部１３には、第１の制御部１１に入力されるデータに加えて、第２の制御部１２で生成されて不揮発性メモリ４に記録された閾値電力変換テーブル４２のデータが入力されている。さらに、第３の制御部１３は、消費電力変換テーブル５３を生成して揮発性メモリ５に格納すると共に、揮発性メモリ５の印刷速度係数テーブル４３を書き換える(更新する)。なお、第３の制御部１３に入力されるデータに関しても、上述したのは単なる例であり、様々な変更が可能である。
【００２３】
そして、制御装置１は、上述した第１の制御部１１，第２の制御部１２および第３の制御部１３による制御サイクルを繰り返す、すなわち、第１の制御，第２の制御および第３の制御によるサイクルを繰り返すことで、印刷制御を学習(機械学習)して最適化するようになっている。
【００２４】
図２は、本発明に係るサーマルプリンタの印刷制御方法におけるメイン制御の処理の一例を説明するためのフローチャートである。図２に示されるように、メイン制御の処理の一例が開始すると、ステップＳＴ１１において、第１の制御(起動時(再起動時))を行い、ステップＳＴ１２に進んで、第１の制御(通常時)を行う。すなわち、ステップＳＴ１１において、第１の制御部１１により、例えば、印刷中に電源の供給停止による印刷失敗を記録する第１の制御(起動時)を行い、さらに、ステップＳＴ１２に進んで、第１の制御部１１により、例えば、サーマルプリンタに印刷したときの最大負荷部印刷時の電気的印刷条件とその結果を不揮発性メモリに蓄積する第１の制御(通常時)を行う。
【００２５】
次に、ステップＳＴ１３に進んで、第２の制御、すなわち、第２の制御部１２により、例えば、蓄積したデータ集合から電源の電流供給能力を予測する第２の制御を行い、さらに、ステップＳＴ１４に進んで、第３の制御、すなわち、第３の制御部１３により、予測した電源の電流供給能力を印刷速度に反映させる第３の制御を行う。そして、ステップＳＴ１５に進んで、無限ループとして、ステップＳＴ１２〜ＳＴ１４の処理を繰り返し、印刷制御を学習して最適化する。なお、ステップＳＴ１５における無限ループが終了するのは、例えば、印刷制御の最適化が十分であると判断して、学習モードを停止した場合等である。なお、ステップＳＴ１２〜ＳＴ１４の処理を繰り返す無限ループ(ＳＴ１５)は、例えば、サーマルプリンタが稼働している期間(サーマルプリンタがオン状態の期間)継続させるようにしてもよい。
【００２６】
すなわち、本発明に係るサーマルプリンタの印刷制御方法の一実施例としては、サーマルプリンタに与える印刷条件、および、その印刷条件に基づいてサーマルプリンタが印刷を行った印刷結果を蓄積する第１の制御(通常時：ＳＴ１２)と、蓄積された印刷条件および印刷結果のデータ集合から、電源の電流供給能力を予測する第２の制御(ＳＴ１３)と、予測した電源の電流供給能力を印刷制御に反映させる第３の制御(ＳＴ１４)と、を備える。そして、第１の制御(通常時：ＳＴ１２)，第２の制御(ＳＴ１３)および第３の制御(ＳＴ１４)によるサイクルを繰り返すことで、印刷制御を学習して最適化する(ＳＴ１５)。
【００２７】
ここで、印刷制御を学習して最適化するのは、例えば、予め設けられた学習モードにおいてサーマルプリンタ自身により行うことができる。これは、例えば、サーマルプリンタを出荷する前に、使用される電源を接続した状態で学習モードを立ち上げ、印刷制御を学習して最適化するか、または、ユーザがサーマルプリンタを実際に使用する環境下において学習モードを立ち上げ、印刷制御を学習して最適化することができる。或いは、印刷制御を学習して最適化するのは、例えば、サーマルプリンタが稼働している期間において、すなわち、ユーザがある環境下でサーマルプリンタを使用している間に、特別な学習モードを立ち上げることなく、サーマルプリンタ自身により行うことも可能である、以下、図３〜図８を参照して、ステップＳＴ１１〜ＳＴ１４の処理を詳述する。
【００２８】
図３は、本発明に係るサーマルプリンタの印刷制御方法における第１の制御(起動時)の処理の一例を説明するためのフローチャートであり、図２におけるステップＳＴ１１の処理を詳述するものである。
【００２９】
図３に示されるように、第１の制御(起動時)の処理の一例が開始すると、ステップＳＴ２１において、印刷中に電源の供給が停止したかどうかを判定し、印刷中に電源の供給が停止した(ＹＥＳ)と判定すれば、ステップＳＴ２２に進み、印刷中に電源の供給が停止しなかった(ＮＯ)と判定すれば、そのまま第１の制御(起動時)の処理の一例を終了する。なお、ステップＳＴ２１において、例えば、印刷時の消費電力が電源７の電流供給能力以上となり、電源保護回路の作動により電源供給が一時的に停止した後、起動(再起動)されたとき、後に詳述するように、不揮発性メモリ４に印刷条件の記録があり、印刷結果の記録があるかどうかにより判定を行う。ステップＳＴ２２では、電力と電力量に対応する印刷結果［印刷失敗(電圧降下)］を不揮発性メモリ４に記録し、第１の制御(起動時)の処理の一例を終了する。
【００３０】
図４および図５は、本発明に係るサーマルプリンタの印刷制御方法における第１の制御(通常時)の処理の一例を説明するためのフローチャートであり、図２におけるステップＳＴ１２の処理を詳述するものである。まず、図４に示されるように、第１の制御(通常時)の処理の一例が開始すると、ステップＳＴ３１において、印刷要求はあるかどうかを判定し、印刷要求はある(ＹＥＳ)と判定すると、ステップＳＴ３２に進んで、印刷イメージバッファ５１から最大発熱ドット数とその連続ラスタ数を抽出し、ステップＳＴ３３に進む。なお、ステップＳＴ３１において、印刷要求はない(ＮＯ)と判定すると、そのまま第１の制御(通常時)の処理の一例を終了する。
【００３１】
ステップＳＴ３３では、最大発熱ドット数と連続ラスタ数から印刷速度変換テーブルを用いて印刷速度を求める。ここで、印刷速度は、例えば、
印刷速度 ＝ 印刷速度変換テーブル(発熱ドット数，連続ラスタ数)
として求めることができる。
【００３２】
さらに、ステップＳＴ３４に進んで、印刷速度(印刷速度係数テーブル４３および印刷速度変換テーブル５２の出力)，電圧(電圧検出回路６および電圧係数テーブル４４の出力)，ヘッド温度(サーマルヘッド温度検出回路３３およびヘッド温度係数テーブル４５の出力)，濃度設定(濃度係数テーブル４６および濃度設定５４の出力)，連続ラスタ数(印刷イメージバッファ５１の出力)から最大負荷部合計印加パルス時間を求める。ここで、最大負荷部合計印加パルス時間は、
最大負荷部合計印加パルス時間 ＝ 印刷速度係数テーブル(印刷速度) × 電圧係数テーブル(電圧) × 温度係数テーブル(ヘッド温度) × 濃度係数テーブル(濃度設定) × 連続ラスタ数
として求めることができる。
【００３３】
次に、ステップＳＴ３５に進み、印刷速度および連続ラスタ数から最大負荷部合計印刷時間を求める。ここで、最大負荷部合計印刷時間は、
最大負荷部印刷時の時間 ＝ 印刷印刷速度 × 連続ラスタ数
として求めることができる。
【００３４】
また、ステップＳＴ３６に進んで、最大発熱ドット数，1ドット当たりの消費電流，電圧，連続ラスタ数合計印加パルス時間および連続ラスタ数合計印刷時間から最大負荷部印刷時の平均電力を求める。ここで、最大負荷部印刷時の平均電力は、
最大負荷部印刷時の平均電力 ＝ 最大発熱ドット数 × １ドット当たりの消費電流 × 電圧 × (最大負荷部印刷時の印加パルス時間 ÷ 最大負荷部印刷時の時間)
として求めることができる。
【００３５】
さらに、図５に示されるように、ステップＳＴ３７に進んで、最大負荷部印刷条件(最大負荷部印刷時の平均電力，最大負荷部印刷時の時間)を不揮発性メモリ４(領域４１)に記録し、ステップＳＴ３８に進む。ステップＳＴ３８では、印刷速度変換テーブル５２を用いて求めた印刷速度で印刷する。ここで、印刷速度変換テーブル５２のデータは、後に詳述する第３の制御により書き換えられて更新される。なお、例えば、ジッター等が発生する好ましくない低速度であった場合には、印刷品質が確保される最も遅い速度まで減速した後、それ以降は減速せずに同じ電力となるよう印加パルス時間を短く制御するのが好ましい。さらに、加速減速時には、急激に速度が変化しないように段階的に速度を変更するのが好ましい。
【００３６】
次に、ステップＳＴ３９に進んで、印刷イメージバッファの印刷が全て終わったか、すなわち、印刷イメージバッファ５１に保持されていた印刷データの印刷が全て完了したかどうかを判定する。ステップＳＴ３９において、印刷イメージバッファの印刷が全て終わった(ＹＥＳ)と判定すると、ステップＳＴ４０に進み、印刷中に電圧降下が発生したかどうかを判定する。すなわち、ステップＳＴ４０では、電源により駆動されるサーマルプリンタの駆動電圧を検出し、その検出された駆動電圧が印刷中に電圧降下を発生したかどうかの判定を行う。なお、ステップＳＴ３９において、印刷イメージバッファの印刷が全て終わっていない(ＮＯ)と判定すると、ステップＳＴ３８に戻り、印刷イメージバッファの印刷が全て終わったと判定するまで同様の処理を繰り返す。
【００３７】
ステップＳＴ４０において、印刷中に電圧降下が発生した(ＹＥＳ)と判定すると、ステップＳＴ４１に進み、電力と電力量に対応する印刷結果［印刷失敗(電圧降下)］を不揮発性メモリ４(領域４１)に記録して、第１の制御(通常時)の処理の一例を終了する。一方、ステップＳＴ４０において、印刷中に電圧降下が発生しなかった(ＮＯ)と判定すると、ステップＳＴ４２に進み、電力と電力量に対応する印刷結果［印刷成功］を不揮発性メモリ４に記録して、第１の制御(通常時)の処理の一例を終了する。
【００３８】
このように、印刷結果としては、例えば、印刷が成功した場合としなかった場合、さらに、印刷が成功した場合でも電流が不足していた場合を印刷後に不揮発性メモリ４に記録することができる。また、印刷失敗の判定としては、例えば、次の２種類の手法がある。
【００３９】
まず、第１の手法は、例えば、印刷条件に基づいて行うサーマルプリンタの印刷時の消費電力が電源７の電流供給能力を超え、電源保護回路の作動により電源供給が一時的に停止した場合を、印刷失敗ケースとする。ここで、電源保護回路(図示しない)は、例えば、電源７に内蔵され、過負荷の場合に、電源供給を一時的に停止して電源７を保護し、その所定時間後に、電源供給を再開するようになっている。なお、印刷成功ケースとしては、例えば、サーマルプリンタが印刷条件に基づいた印刷を、印刷の失敗および電源供給の停止を生じることなく完了した場合である。
【００４０】
ここで、第１の制御部(第１の制御)１１は、例えば、印刷成功ケースでは、サーマルプリンタに与える印刷条件、および、サーマルプリンタが印刷条件に基づいた印刷を完了したことを示す印刷完了情報(印刷結果：印刷成功)を不揮発性メモリ４に格納(記録)し、印刷失敗ケースでは、サーマルプリンタに与える印刷条件のみ不揮発性メモリ４に格納する。
【００４１】
そして、制御装置１(第１の制御部１１)は、例えば、電源保護回路の作動により電源供給が一時的に停止した後にサーマルプリンタが起動(再起動)された場合、不揮発性メモリ４に格納された情報が印刷条件のみのときには、印刷失敗ケースと判断(判定)することができる。
【００４２】
また、制御装置１は、印刷中の電圧変化を監視し、例えば、電流不足により電圧が降下する事象を検出した場合を印刷失敗と判定する。すなわち、制御装置１は、電圧検出回路６により検出された駆動電圧が、所定の許容電圧範囲を維持していれば、印刷成功ケースと判定し、その許容電圧範囲を逸脱すれば、印刷失敗ケースと判定することができる。
【００４３】
図６は、本発明に係るサーマルプリンタの印刷制御方法における第２の制御の処理の一例を説明するためのフローチャートでり、図２におけるステップＳＴ１３の処理を詳述するものである。図７は、電源の電流供給能力の閾値を求める手法の一例を説明するための図であり、サポートベクタマシン技法を用いて電源の電流供給能力の閾値(マージン最大化分離超平面)を求める場合を説明するためのものである。
【００４４】
まず、図６に示されるように、第２の制御の処理の一例が開始すると、ステップＳＴ５１において、新しい最大負荷部印刷条件とその結果(印刷結果)が不揮発性メモリ４に書き込まれているかどうかを判定し、書き込まれている(ＹＥＳ)と判定すると、ステップＳＴ５２に進み、書き込まれていない(ＮＯ)と判定すると、そのまま第２の制御の処理の一例を終了する。
【００４５】
ステップＳＴ５２では、第１の制御で記録した最大負荷部印刷時の平均電力と時間および印刷結果から統計解析手法を用いて、電源７の電流供給能力を求める。すなわち、図７に示されるように、電源の電流供給能力を求める手法としては、例えば、縦軸を平均電力(Ｗ)とし、横軸を時間(ｍｓ)とした平面に対して印刷成功群と印刷失敗群をプロットし、成功(図７における丸印)と失敗(図７における星印)の境界をサポートベクターマシン技法を用いてマージン最大化分離超平面(電流供給能力の閾値)ＴＴを求めるものがある。もちろん、他の様々な統計解析手法を適用することができるのはいうまでもない。
【００４６】
そして、ステップＳＴ５３に進んで、求めた電源７の電流供給能力を時間から閾値電力に変換するテーブル(閾値電力変換テーブル４２)を作成し、不揮発性メモリ４に記録し、第２の制御の処理の一例を終了する。なお、第２の制御を実行するタイミングはいつでも構わないが、例えば、第１の制御を実行した直後が好ましい。
【００４７】
図８は、本発明に係るサーマルプリンタの印刷制御方法における第３の制御の処理の一例を説明するためのフローチャートであり、図２におけるステップＳＴ１４の処理を詳述するものである。図８に示されるように、第３の制御の処理の一例が開始すると、ステップＳＴ６１において、全印刷速度と全発熱ドット数，電圧，ヘッド温度，濃度設定および１ドット当たりの消費電流から消費電力変換テーブル５３を作成(或いは、書き換え(更新))する。ここで、消費電力変換テーブル(全印刷速度，全発熱ドット数)は、
消費電力変換テーブル(全印刷速度，全発熱ドット数) ＝ 発熱ドット数 × １ドット当たりの消費電流 × 電圧 × (印刷速度係数テーブル(印刷速度) × 電圧係数テーブル(電圧) × 温度係数テーブル(ヘッド温度) × 濃度係数テーブル(濃度設定) ÷ 印刷時間)
として求めることができる。
【００４８】
なお、印刷速度係数テーブル４３、電圧係数テーブル４４，ヘッド温度係数テーブル４５および濃度係数テーブル４６は、不揮発性メモリ４に記録されており、また、消費電力変換テーブル５３は、揮発性メモリ５に格納されている。
【００４９】
さらに、ステップＳＴ６２に進み、上述した第２の制御で不揮発性メモリ４に記録した閾値電力変換テーブル４２と消費電力変換テーブル５３を用いて、発熱ドット数と連続ラスタ数から印刷速度を求める印刷速度変換テーブル５２を作成し、第３の制御の処理の一例を終了する。なお、印刷速度変換テーブル５２に格納する印刷速度は、例えば、連続ラスタ数，発熱ドット数および印刷速度をそれぞれの最小値から最大値まで変化させて、比較消費電力と比較閾値電力を求め、消費電力が閾値電力を超えない範囲で最も近い値となる印刷速度を求める。ここで、比較消費電力，比較閾値電力および印刷速度変換テーブル(全連続ラスタ数，ドット数)は、それぞれ
比較消費電力 ＝ 消費電力変換テーブル(印刷速度，発熱ドット数)
比較閾値電力 ＝ 閾値電力変換テーブル(印刷速度 × 連続ラスタ数)
印刷速度変換テーブル(全連続ラスタ数，ドット数) ＝ (比較消費電力が比較閾値電力を超えず最も近い値となる印刷速度)
として求めることができる。
【００５０】
なお、第３の制御を実行するタイミングはいつでも構わないが、ヘッド温度は印刷が停止した後も変化するため、サーマルプリンタのアイドル中も含めて常に実行し、印刷速度変換テーブルを生成し続けることが好ましい。
【００５１】
さらに、印刷時には、上述した第３の制御で生成した発熱ドット数と連続ラスタ数から印刷速度を求める印刷速度変換テーブルを用いて、ラスタ単位で印刷速度を求める。そして、求めた印刷速度は、最も遅い速度を優先し、現在の速度から加速または減速を行う場合には、段階的に変化するよう印刷速度を制御するのが好ましい。また、生成した印刷速度変換テーブル内の印刷速度が、ジッター等が発生する好ましくない低速度であった場合には、印刷品質が確保される最も遅い速度まで減速し、それ以降は減速せず、同じ電力となるよう印加パルス時間を短く制御するのが好ましい。
【００５２】
以上において、本発明に係るサーマルプリンタの印刷制御方法(プログラム)は、例えば、印刷制御を学習して最適化する特別な学習モード(電源調整モード)を設け、その学習モードにおいて行う(実行する)ことができる。ここで、学習モードは、例えば、特殊モードまたはコマンドから立ち上げることができ、この学習モードにおいて、集中的に電源調整を行うようになっている。
【００５３】
すなわち、学習モードでは、例えば、電気エネルギーに関係する要素の条件(印刷パターンの最大発熱ドット数とその連続ラスタ数，ヘッド温度，電源電圧，濃度設定，最大発熱ドット数印刷時の速度および階調といった印刷条件)のパラメータを段階的に変化させながら、集中的に接続されている電源７の能力を検出し、印刷制御の最適化を行う。
【００５４】
若しくは、特別な学習モードを設けることなく、例えば、サーマルプリンタが稼働している通常の稼働期間(通常運用モード)において、印刷制御の最適化(学習)を行うことも可能である。すなわち、例えばＰＯＳシステムの本体からのレシート印刷データ等を印刷したときの印刷条件とその結果を用いて、印刷制御の最適化を行うことができる。なお、本発明は、例えば、図１に示す演算処理装置(制御装置)１により実行するサーマルプリンタの印刷制御プログラムとして提供することも可能なのはいうまでもない。
【００５５】
以上、詳述したように、本発明に係るサーマルプリンタ、サーマルプリンタの印刷制御方法およびプログラムの実施例によれば、例えば、ＰＯＳシステム本体からインターフェースケーブルを介して電源供給を受ける場合において、モデルやシステム構成が異なる様々のＰＯＳシステムに対しても、製品出荷後に印刷制御の最適化が可能になる。また、識者が数日かかっていた印刷制御の最適化に要する処理を、学習(機械学習)により省くことができ、例えば、電圧とコネクタ形状が一致する他社製プリンタ用の電源を流用することも容易になり、さらに、携帯電話のように本体と電源を別売りといった販売形態も実現可能になる。
【００５６】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００５７】
１    制御装置(マイクロコントローラ、マイクロプロセッサ：演算処理装置)
２    用紙搬送部
３    印刷部
４    不揮発性メモリ(フラッシュメモリ)
５    揮発性メモリ(ＤＲＡＭ)
６    電圧検出回路
７    電源
１１    第１の制御(第１の制御部)
１２    第２の制御(第２の制御部)
１３    第３の制御(第３の制御部)
２１    用紙送りモータ制御回路
２２    用紙送りモータ２２
３１    サーマルヘッド駆動回路
３２    サーマルヘッド
３３    サーマルヘッド温度検出回路
【図１】
2019119127.tif 000003
【図２】
2019119127.tif 000004
【図３】
2019119127.tif 000005
【図４】
2019119127.tif 000006
【図５】
2019119127.tif 000007
【図６】
2019119127.tif 000008
【図７】
2019119127.tif 000009
【図８】
2019119127.tif 000010