(57)【要約】【課題】不揮発性メモリに登録するインデックスを複数のエリアに均一に登録することができるポータブルプリンタを提供すること。【解決手段】印字部と、不揮発性メモリ２６と、n個のエリアに分けて登録されるインデックスの数を各エリア毎に計数するカウンタＣ１〜Ｃ２０と、不揮発性メモリの特定エリアにインデックスを登録する場合に、前記特定エリアに何もインデックスが登録されていない場合には前記特定エリアにインデックスを登録する第１登録手段Ｓ３と、その特定エリアにインデックスが登録されている場合には、インデックスが登録されていないエリアを検索し、検索されたエリアに前記特定エリアのインデックスを書き込み、その特定エリアにインデックスを登録する第２登録手段Ｓ５，Ｓ３と、すべてのエリアにインデックスが登録されている場合には、前記カウンタの計数値が一番小さいエリアと特定エリアとのインデックスを交換し、交換した後の特定エリアにインデックスを登録する第３登録手段Ｓ８，Ｓ３とを具備した。【選択図】図４
2006305907.tif 000002
【特許請求の範囲】
【請求項１】
印字部と、
不揮発性メモリと、
n個のエリアに分けて登録されるインデックスの数を各エリア毎に計数するカウンタと、
前記不揮発性メモリの特定エリアにインデックスを登録する場合に、前記特定エリアに何もインデックスが登録されていない場合には前記特定エリアにインデックスを登録する第１登録手段と、
その特定エリアにインデックスが登録されている場合には、インデックスが登録されていないエリアを検索し、検索されたエリアに前記特定エリアのインデックスを書き込み、その特定エリアにインデックスを登録する第２登録手段と、
すべてのエリアにインデックスが登録されている場合には、前記カウンタの計数値が一番小さいエリアと特定エリアとのインデックスを交換し、交換した後の特定エリアにインデックスを登録する第３登録手段とを具備したことを特徴とするポータブルプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、流通、物流等に用いられるポータブルプリンタに関する。
【背景技術】
【０００２】
流通、物流等においてポータブルプリンタが頻繁に使用されている。このポータブルプリンタはホストコンピュータに接続され、ホストコンピュータから印字データがポータブルプリンタに送信されて印字される。また、印刷レイアウト等の印刷情報であるインデックスは予めホストコンピュータのフラッシュＲＯＭ等の不揮発性メモリに登録しておき、ホストコンピュータで登録されているインデックスを指定するようにしている。
【０００３】
ここで、フラッシュＲＯＭは複数のエリアに分割されて管理されており、各エリア毎に登録されているインデックスの先頭アドレスを記憶し、各エリアに複数のインデックスを登録する場合には、各インデックスに次のインデックスの先頭アドレスを記憶されるようにしている。
【０００４】
ところで、ポータブルプリンタのフラッシュＲＯＭにインデックスを登録する場合には、一番目のエリアから順に登録を行なっている。このような登録動作を繰り返すと、新たなインデックスを登録するたびに、一番目のエリアにそのインデックスが登録されてしまう。
【０００５】
なお、簡単に時間をかけないで、食料商品に貼るラベルの印字データが自動的に定められたフォーマットで作成することができるラベルプリンタが知られている（例えば、特許文献１参照）。
【特許文献１】特開平４−３２９９６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このように、一番目のエリアだけに複数のインデックスが登録されてしまうと、登録済みのインデックスを検索する場合に時間がかかってしまうという問題があった。なぜなら、最新のインデックスは一番最後にチェーンされているためである。
【０００７】
本発明は上記の点に鑑みてなされたもので、その目的は、不揮発性メモリに登録するインデックスを複数のエリアに均一に登録することができるポータブルプリンタを提供することにある。
【課題を解決するための手段】
【０００８】
本発明によれば、印字部と、不揮発性メモリと、n個のエリアに分けて登録されるインデックスの数を各エリア毎に計数するカウンタと、前記不揮発性メモリの特定エリアにインデックスを登録する場合に、前記特定エリアに何もインデックスが登録されていない場合には前記特定エリアにインデックスを登録する第１登録手段と、その特定エリアにインデックスが登録されている場合には、インデックスが登録されていないエリアを検索し、検索されたエリアに前記特定エリアのインデックスを書き込み、その特定エリアにインデックスを登録する第２登録手段と、すべてのエリアにインデックスが登録されている場合には、前記カウンタの計数値が一番小さいエリアと特定エリアとのインデックスを交換し、交換した後の特定エリアにインデックスを登録する第３登録手段とを具備したことを特徴とする。
【発明の効果】
【０００９】
以上詳述したように本発明によれば、インデックスを不揮発性メモリに登録する場合に、第２及び第３登録手段により均一にインデックスを登録するようにしたので、登録済みのインデックスを検索する時間を大幅に短縮させることができる。
【発明を実施するための最良の形態】
【００１０】
以下図面を参照して本発明の一実施の形態について説明する。まず、図１を参照して本発明に係るポータブルプリンタとパーソナルプリンタ（ＰＣ）と関係について説明する。
【００１１】
図１において、１１はパーソナルコンピュータ（ＰＣ）である。このパーソナルコンピュータ１１に本発明に係るポータブルプリンタ１２が接続される。
【００１２】
次に、図２を参照してポータブルプリンタ１２のシステム構成について説明する。図２において、２１は本ポータブルプリンタ１２を統括して制御するＣＰＵ（中央処理装置）である。このＣＰＵ２１からのシステムバス２１ａには、各種制御プログラムを記憶するＲＯＭ（リード・オンリ・メモリ）２２、図３を用いて後述するようなエリア毎のインクデックス分岐カウンタの他各種作業エリアが確保されるＲＡＭ（ランダム・アクセル・メモリ）２３、各種機能キーが設けられた操作部２４、複数の発熱素子が配列されているサーマルヘッド２５、図５に示すような印刷レイアウトフォーマットのような印刷情報をインデックスとして記憶するエリアを例えば２０個有するフラッシュＲＯＭ２６、用紙を搬送するためのモータ（図示しない）を制御するためのモータ制御部２７、ＰＣ１１との通信を行なう通信Ｉ／Ｆ（インタフェース）２８が接続される。
【００１３】
次に、図５を参照してフラッシュＲＯＭ２６のエリアの概念について説明する。フラッシュＲＯＭ２６にはインデックスを登録する２０のエリア、つまりエリア１〜２０が存在している。各エリアには複数のインデックスが登録可能である。そして、各エリアに登録されたインデックスのうち最古のインデックスの先頭アドレスは検索開始地点設定部２７に記憶される。もし、エリアに何もインデックスが登録されていない場合には、“ＦＦＦＦ”デフォルトで設定される。
【００１４】
例えば、検索開始地点設定部２７のエリア１には、エリア１に登録されている最古のインデックスの先頭アドレスが設定される。図５は、エリア１には２つのインデックスが登録されている例を示している。この２つのインデックスのうち過去に登録されたインデックスはエリア１（ＯＬＤ）に登録され、最新に登録されたインデックスはエリア１（ＮＥＷ）に登録されている。
【００１５】
さらに、エリア１（ＯＬＤ）の先頭部分には、エリア（ＮＥＷ）の先頭アドレスが格納されている。このようにして、検索開始地点設定部２７のエリア１→エリア１（ＯＬＤ）の先頭アドレス→エリア１（ＮＥＷ）の先頭アドレスというように、エリア１に登録されているインデックスをサーチすることができる。エリア１（ＮＥＷ）は、最新であり、次にインデックスはチェーンされていないため、エリア１（ＮＥＷ）の先頭部分には、“ＦＦＦＦ”が格納されている。
【００１６】
次に、図３を参照してＲＡＭ２３に記憶されているエリア１〜２０用のインデックス分岐カウンタについて説明する。エリア１〜２０用のインデックス分岐カウンタＣ１〜Ｃ２０は、それぞれエリア１〜２０に登録されているインデックスの数が計数される。各インデックス分岐カウンタＣ１〜Ｃ２０にはデフォルトで「０」が設定されている。
【００１７】
次に、上記のように構成された本発明の一実施の形態の動作について説明する。まず、ＰＣ１１からフラッシュＲＯＭ２６の特定エリアであるエリア１にインデックスを登録する場合の動作について図４のフローチャートを参照しながら説明する。
【００１８】
まず、ＰＣ１１からのコマンドによりフラッシュＲＯＭエリア２６のエリア１にインデックスを登録する要求が発生する（ステップＳ１）。そして、エリア１にインデックスが未だ登録されていないかが判定される（ステップＳ２）。ここで、フラッシュＲＯＭ２６の検索開始地点設定部２７のエリア１に“ＦＦＦＦ”が設定されている場合には、未登録であると判定される。
【００１９】
このステップＳ２の判定で「ＹＥＳ」と判定された場合には、フラッシュＲＯＭ２６のエリア１にインデックスを登録する処理がなされる（第１登録手段）。つまり、ＲＡＭ２３のエリア１用インデックス分岐カウンタＣ１に「１」が設定され、フラッシュＲＯＭ２６の検索開始地点設定部２７のエリア１に登録されたインデックスの先頭アドレスが格納される。
【００２０】
続いて、ＰＣ１１からフラッシュＲＯＭ２６のエリア１に再度インデックスを登録する要求が発生した場合には、ステップＳ２の判定で「ＮＯ」と判定されてステップＳ３に進む。すでに、エリア１には前述したようにインデックスが登録済みだからである。
【００２１】
そして、他のエリアで未登録の領域があるかが判定される（ステップＳ４）。つまり、ＲＡＭ２３のエリア１以外のインデックス分岐カウンタで「０」が設定されているものがあるかが判定される。もし、エリア２用インデックス分岐カウンタＣ２が「０」である場合には、未登録エリアとエリア１のインデックスが交換される。具体的には、未登録のエリアのインデックス分岐カウンタ（この場合は、エリア２用インデックス分岐カウンタＣ２）とエリア１用インデックス分岐カウンタＣ１の内容を書き込む。さらに、フラッシュＲＯＭ２６の検索開始地点設定部２７のエリア２にエリア１に登録されていたインデックスを書き込む。
【００２２】
そして、エリア１に再度要求が発生したインデックスが登録される（ステップＳ３）。つまり、ＲＡＭ２３のエリア１用インデックス分岐カウンタＣ１に「１」が設定され、フラッシュＲＯＭ２６の検索開始地点設定部２７のエリア１に登録されたインデックスの先頭アドレスが格納される。なお、ステップＳ３及びＳ５により第２登録手段が構成される。
【００２３】
このようにして、既にフラッシュＲＯＭ２６のエリア１にインデックスが登録済みである場合には、他の空いているエリアとエリア１のインデックスが交換され、常に最新のインデックスがフラッシュＲＯＭ２６のエリア１に登録されるようにしている。
【００２４】
つまり、フラッシュＲＯＭ２６の空いているエリアに均一に最新のインデックスを振り分けている。
【００２５】
ところで、ステップＳ４の判定で「ＮＯ」と判定された場合には、ＲＡＭ２３に記憶されているインデックス分岐カウンタＣ１〜Ｃ２０をリードする（ステップＳ６）。そして、このインデックス分岐カウンタＣ１〜Ｃ２０から最小値を検出することにより、最小登録回数のエリアを検出する（ステップＳ７）。
【００２６】
そして、最小登録回数のエリアとエリア１とインデックスの交換を行なう（ステップＳ８）。例えば、最小登録回数のエリアがエリア７であった場合には、ＲＡＭ２３のエリア７用インデックス分岐カウンタＣ７の内容とエリア１用インデックス分岐カウンタＣ１の内容を交換する。さらに、フラッシュＲＯＭ２６の検索開始地点設定部２７のエリア１とエリア７に登録されたインデックスを交換する。
【００２７】
次に、今回登録が要求されたインデックスの先頭アドレスをフラッシュＲＯＭ２６の検索開始地点設定部２７のエリア1の最後部にチェーンする。
【００２８】
このようにして、登録回数が最小のエリア７のインデックスをエリア１に持ってきて、このエリア１の最後に今回登録が要求されたインデックスの先頭アドレスをチェーンするようにしている。
【００２９】
以上のようにして、フラッシュＲＯＭ２６において登録されたインデックスの数が最も少ないエリア１に最新がインデックスが登録される。
【００３０】
従って、フラッシュＲＯＭ２６に既に登録されているインデックスを検索する場合の検索時間を大幅に短縮させることができる。
【００３１】
なお、上記した実施の形態では、フラッシュＲＯＭ２６に設けられたエリアを２０としたが、これに限定するものではないことは言うまでもない。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施の形態に係るポータブルプリンタとＰＣとの接続関係を示す図。
【図２】同ポータブルプリンタのシステムを構成を示すブロック図。
【図３】同ＲＡＭに登録されるインデックス分岐カウンタを示す図。
【図４】同実施の形態の動作を説明するためのフローチャート。
【図５】同実施の形態に係るフラッシュＲＯＭに登録されるインデックスを示す図。
【符号の説明】
【００３３】
１２…ポータブルプリンタ、２２…ＲＯＭ、２３…ＲＡＭ、２４…操作部、２５…サーマルヘッド、２６…フラッシュＲＯＭ。
【図１】
2006305907.tif 000003
【図２】
2006305907.tif 000004
【図３】
2006305907.tif 000005
【図４】
2006305907.tif 000006
【図５】
2006305907.tif 000007