(57)【特許請求の範囲】
【請求項１】
記録媒体に記録を行う画像記録装置であって、
所定の事象の発生に応じて実行されるコマンドと当該コマンドの実行可能回数を含む一覧情報を不揮発的に記憶する不揮発性メモリーと、
前記所定の事象が発生した場合、前記一覧情報に含まれる前記コマンドを実行する制御部と、を備え、
前記一覧情報の前記コマンドには、前記制御部により実行される際に前記不揮発性メモリーへ所定の情報の書き込みを伴う所定コマンドが含まれており、
前記制御部は、
前記実行可能回数の範囲内で、前記所定コマンドを実行することを特徴とする画像記録装置。
【請求項２】
前記制御部は、
前記所定コマンドを実行すると、前記実行可能回数を減算し、
前記実行可能回数が無くなった前記所定コマンドについては、前記一覧情報から削除することを特徴とする請求項１に記載の画像記録装置。
【請求項３】
前記画像記録装置は、コンピューターに接続可能であり、
前記所定の事象には、前記画像記録装置が電源オンになったことや、前記コンピューターから初期化処理に関するコマンドを受信したこと、前記画像記録装置が備えている入力部から所定の入力があったこと、が含まれ、
前記制御部が、前記所定の事象のいずれかを検知したとき、前記一覧情報に含まれる前記コマンドを実行することを特徴とする請求項１または２に記載の画像記録装置。
【請求項４】
前記一覧情報に含まれる前記コマンドは、前記制御部が前記コンピューターから受信して実行することが可能である形式のものであることを特徴とする請求項３に記載の画像記録装置。
【請求項５】
前記一覧情報に含まれる前記所定コマンドは、前記所定の情報として所定のフォント情報を前記不揮発性メモリーに書き込むものであることを特徴とする請求項１から４のいずれかに記載の画像記録装置。
【請求項６】
前記不揮発性メモリーには、他の画像記録装置と少なくとも一部が共通するフォームウェアが記憶され、
前記一覧情報に含まれる前記コマンドは、前記他の画像記録装置とは異なる処理または設定をするものが含まれることを特徴とする請求項１から５のいずれかに記載の画像記録装置。
【請求項７】
所定の事象の発生に応じて実行されるコマンドと当該コマンドの実行可能回数を含む一覧情報を不揮発的に記憶する不揮発性メモリーを備え、記録媒体に記録を行う画像記録装置の制御方法であって、
前記一覧情報の前記コマンドには、前記制御部により実行される際に前記不揮発性メモリーへ所定の情報の書き込みを伴う所定コマンドが含まれており、
前記所定の事象が発生した場合、前記一覧情報に含まれる前記コマンドを実行し、その際、前記所定コマンドについては前記実行可能回数の範囲内で実行することを特徴とする画像記録装置の制御方法。
【請求項８】
所定の事象の発生に応じて実行されるコマンドと当該コマンドの実行可能回数を含む一覧情報を不揮発的に記憶する不揮発性メモリーを備え、記録媒体に記録を行う画像記録装置を制御する制御部により実行されるプログラムであって、
前記一覧情報の前記コマンドには、前記制御部により実行される際に前記不揮発性メモリーへ所定の情報の書き込みを伴う所定コマンドが含まれており、
前記制御部を、
前記所定の事象が発生した場合、前記一覧情報に含まれる前記コマンドを実行し、その際、前記所定コマンドについては前記実行可能回数の範囲内で実行する制御部として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体に記録を行う画像記録装置、画像記録装置の制御方法、及び、当該画像記録装置の制御のためのプログラムに関する。
【背景技術】
【０００２】
従来、ＥＥＰＲＯＭ等の不揮発性メモリーを備えた記録装置が知られている（例えば、特許文献１参照）。
この種の記録装置では、適宜、不揮発性メモリーへのアクセスが行われ、不揮発性メモリーへのデータの書き込み、読み出しが実行される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−３６４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、ＥＥＰＲＯＭ等の不揮発性メモリーには、データの書き込み回数に制限がある。従って、上述した記録装置のように、不揮発性メモリーを備える記録装置では、不必要な不揮発性メモリーへの書き込みを回避し、不揮発性メモリーの長寿命化を実現したいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、不揮発性メモリーを備える記録装置において、不揮発性メモリーの長寿命化を実現することを目的とする。
【課題を解決するための手段】
【０００５】
（実施例１）
記録媒体に記録を行う記録装置であって、
所定の事象の発生に応じて実行されるコマンドと当該コマンドの実行可能回数を含む一覧情報を不揮発的に記憶する不揮発性メモリーと、
前記所定の事象が発生した場合、前記一覧情報に含まれる前記コマンドを実行する制御部と、を備え、
前記一覧情報の前記コマンドには、前記制御部により実行される際に前記不揮発性メモリーへ所定の情報の書き込みを伴う所定コマンドが含まれており、
前記制御部は、
前記実行可能回数の範囲内で、前記所定コマンドを実行することを特徴とする記録装置。
（実施例２）
前記制御部は、
前記所定コマンドを実行すると、前記実行可能回数を減算し、
前記実行可能回数が無くなった前記所定コマンドについては、前記一覧情報から削除することを特徴とする上述の記録装置。
（実施例３）
前記記録装置は、コンピューターに接続可能であり、
前記所定の事象には、前記記録装置が電源オンになったことや、前記コンピューターから初期化処理に関するコマンドを受信したこと、前記記録装置が備えている入力部から所定の入力があったこと、が含まれ、
前記制御部が、前記所定の事象のいずれかを検知したとき、前記一覧情報に含まれる前記コマンドを実行することを特徴とする上述の記録装置。
（実施例４）
前記一覧情報に含まれる前記コマンドは、前記制御部が前記コンピューターから受信して実行することが可能である形式のものであることを特徴とする上述の記録装置。
（実施例５）
前記一覧情報に含まれる前記所定コマンドは、前記所定の情報として所定のフォント情報を前記不揮発性メモリーに書き込むものであることを特徴とする上述の記録装置。
（実施例６）
前記不揮発性メモリーには、他の記録装置と少なくとも一部が共通するフォームウェアが記憶され、
前記一覧情報に含まれる前記コマンドは、前記他の記録装置とは異なる処理または設定をするものが含まれることを特徴とする上述の記録装置。
（実施例７）
所定の事象の発生に応じて実行されるコマンドと当該コマンドの実行可能回数を含む一覧情報を不揮発的に記憶する不揮発性メモリーを備え、記録媒体に記録を行う記録装置の制御方法であって、
前記一覧情報の前記コマンドには、前記制御部により実行される際に前記不揮発性メモリーへ所定の情報の書き込みを伴う所定コマンドが含まれており、
前記所定の事象が発生した場合、前記一覧情報に含まれる前記コマンドを実行し、その際、前記所定コマンドについては前記実行可能回数の範囲内で実行することを特徴とする記録装置の制御方法。
（実施例８）
所定の事象の発生に応じて実行されるコマンドと当該コマンドの実行可能回数を含む一覧情報を不揮発的に記憶する不揮発性メモリーを備え、記録媒体に記録を行う記録装置を制御する制御部により実行されるプログラムであって、
前記一覧情報の前記コマンドには、前記制御部により実行される際に前記不揮発性メモリーへ所定の情報の書き込みを伴う所定コマンドが含まれており、
前記制御部を、
前記所定の事象が発生した場合、前記一覧情報に含まれる前記コマンドを実行し、その際、前記所定コマンドについては前記実行可能回数の範囲内で実行する制御部として機能させることを特徴とするプログラム。
上記目的を達成するために、本発明は、記録媒体に記録を行う記録装置であって、各種データを不揮発的に記憶する不揮発性メモリーと、所定の事象が発生した場合、前記所定の事象が発生した場合に実行すべきコマンドとして予め記憶部に記憶された一覧情報（テーブル）に基づいて、前記一覧情報に含まれるコマンドを実行する制御部と、を備え、前記制御部は、前記一覧情報に含まれるコマンドのうち、前記不揮発性メモリーへの書き込みを伴う処理に係るコマンドについては、所定の回数以上の実行を禁止することを特徴とする。
この構成によれば、不揮発性メモリーに書き込みを行った場合書き込み後の内容が保持されるという特性を利用して、所定の事象が発生した場合であっても、一覧情報に含まれるコマンドのうち、不揮発性メモリーへの書き込みを伴う処理に係るコマンドについて、必要以上に実行されることを防止でき、不揮発性メモリーの長寿命化を実現できる。
【０００６】
また、上記発明の記録装置であって、本発明は、前記一覧情報では、コマンドと、当該コマンドの残りの実行回数を示す情報と、が対応づけて前記記憶部に記憶され、前記制御部は、前記一覧情報における各コマンドの残りの実行回数を示す情報に基づいて、各コマンドが所定の回数以上実行されたか否かを管理することを特徴とする。
この構成によれば、制御部は、一覧情報におけるコマンドの残りの実行回数を示す情報を利用して、コマンドが所定の回数以上実行されたか否かを適切に管理可能となる。
【０００７】
また、上記発明の記録装置であって、本発明は、前記制御部は、前記一覧情報に含まれるコマンドのうち、残りの実行回数が無くなったコマンドについては、前記一覧情報から削除することを特徴とする。
この構成によれば、一覧情報に、実行が禁止されたコマンドが含まれない状態となり、各コマンドの実行に際し、各コマンドが、実行が禁止されたコマンドか否かを判別する処理が不要となり処理効率が向上する。
【０００８】
また、上記発明の記録装置であって、本発明は、ワークエリアが形成され、電源がオンの場合に使用可能なメモリーをさらに備え、前記一覧情報は、前記不揮発性メモリーに記憶され、前記制御部は、電源がオンの場合、前記不揮発性メモリーに記憶された前記一覧情報の内容に基づいて、前記メモリーを使用して、各コマンドの残りの実行回数を管理し、電源がオフされた際に、前記メモリーの内容に基づいて、前記不揮発性メモリーに記憶された前記一覧情報の内容を書き換えることを特徴とする。
この構成によれば、電源がオンされている間における所定の事象の発生の状況にかかわらず、不揮発性メモリーに記憶された前記一覧情報の書き換えが、電源オフ時の一回だけで済むこととなり、不揮発性メモリーのさらなる長寿命化を実現可能である。
【０００９】
また、上記目的を達成するために、本発明は、各種データを不揮発的に記憶する不揮発性メモリーを備え、記録媒体に記録を行う記録装置の制御方法であって、所定の事象が発生した場合、前記所定の事象が発生した場合に実行すべきコマンドとした予め記憶された一覧情報に基づいて、前記一覧情報に含まれるコマンドを実行すると共に、前記一覧情報に含まれるコマンドのうち、前記不揮発性メモリーへの書き込みを伴う処理に係るコマンドについては、所定の回数以上の実行を禁止することを特徴とする。
この制御方法によれば、不揮発性メモリーに書き込みを行った場合書き込み後の内容が保持されるという特性を利用して、所定の事象が発生した場合であっても、一覧情報に含まれるコマンドのうち、不揮発性メモリーへの書き込みを伴う処理に係るコマンドについて、必要以上に実行されることを防止でき、不揮発性メモリーの長寿命化を実現できる。
【００１０】
また、上記目的を達成するために、本発明は、各種データを不揮発的に記憶する不揮発性メモリーを備え、記録媒体に記録を行う記録装置を制御する制御部により実行されるプログラムであって、前記制御部を、所定の事象が発生した場合、前記所定の事象が発生した場合に実行すべきコマンドとした予め記憶された一覧情報に基づいて、前記一覧情報に含まれるコマンドを実行すると共に、前記一覧情報に含まれるコマンドのうち、前記不揮発性メモリーへの書き込みを伴う処理に係るコマンドについては、所定の回数以上の実行を禁止する制御部として機能させることを特徴とする。
このプログラムを実行すれば、不揮発性メモリーに書き込みを行った場合書き込み後の内容が保持されるという特性を利用して、所定の事象が発生した場合であっても、一覧情報に含まれるコマンドのうち、不揮発性メモリーへの書き込みを伴う処理に係るコマンドについて、必要以上に実行されることを防止でき、不揮発性メモリーの長寿命化を実現できる。
【発明の効果】
【００１１】
本発明によれば、不揮発性メモリーを備える記録装置において、不揮発性メモリーの長寿命化を実現できる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る記録システムの機能的構成を示すブロック図である。
【図２】コードページを示す図である。
【図３】コマンド初期値テーブルを示す図である。
【図４】プリンターの動作を示すフローチャートである。
【図５】プリンターの動作を示すフローチャートである。
【図６】プリンターの動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係る記録システム１の機能的構成を示すブロック図である。
記録システム１は、スーパーマーケットやコンビニエンスストア等の店舗に適用され、店舗に来店した顧客の代金の支払いに応じてレシートを発行するシステムであり、図１に示すように、ホストコンピューター１０と、ＰＯＳサーバー１１と、プリンター１２（記録装置）とを備えている。
【００１４】
ＰＯＳサーバー１１は、ネットワークを介してホストコンピューター１０に通信可能に接続されており、店舗で販売している商品の商品コードや、名称、金額等のレシートの発行のために必要となる情報を示すデータをデータベースとして記憶する。ホストコンピューター１０は、レシートの発行に際し、適宜、ＰＯＳサーバー１１に記憶されたデータベースを参照し、必要な情報を取得する。
【００１５】
ホストコンピューター１０は、制御部１５と、表示部１６と、入力部１７と、インターフェイス部１８と、記憶部１９と、を備えている。
制御部１５は、ホストコンピューター１０の各部を中枢的に制御するものであり、演算実行部としてのＣＰＵや、このＣＰＵに実行される基本制御プログラムや、この基本制御プログラムに係るデータ等を不揮発的に記憶するＲＯＭ、ＣＰＵに実行されるプログラムやこのプログラムに係るデータ等を一時的に記憶するＲＡＭ、その他の周辺回路等を備えている。
図１に示すように、制御部１５は、ＰＯＳアプリケーション実行部２０と、プリンタードライバー実行部２１と、を備えているが、これらについては後述する。
【００１６】
表示部１６は、液晶ディスプレーパネルや、有機ＥＬパネル等の表示パネルを備え、制御部１５の制御の下、表示パネルに各種情報を表示する。
入力部１７は、キーボードや、マウス、バーコードリーダー、カードリーダー等の入力デバイスに接続され、これら入力デバイスの出力信号を制御部１５に出力する。バーコードリーダーは商品の包装紙等に記録されたバーコードの読み取りに利用され、カードリーダーはクレジットカードや、会員カード等に記録された情報の読み取りに利用される。バーコードリーダーやカードリーダー等の入力デバイスを用いて取得した情報は、レシートの発行に係る処理に用いられる。
インターフェイス部１８は、制御部１５の制御の下、プリンター１２との間で通信規格に準拠した通信を行う。
記憶部１９は、各種データを書き換え可能に記憶する部位であり、ハードディスクや、ＥＥＰＲＯＭ等の記憶装置を備えている。
【００１７】
一方、プリンター１２は、ロール状に巻かれた感熱ロール紙を、ローラー状のプラテンにより搬送し、この感熱ロール紙の記録面に、発熱素子を備えたラインサーマルヘッドによって熱を与えることにより画像を記録した上で、所定の位置で感熱ロール紙を切断することにより、レシートを発行するサーマルヘッド式プリンターである。
図１に示すように、プリンター１２は、プリンター側制御部３０（制御部）と、プリンター側表示部３１と、プリンター側入力部３２と、プリントエンジン３３と、不揮発性メモリー３５（記憶部）と、インターフェイス部３６と、を備えている。
プリンター側制御部３０は、ＣＰＵを備え、ＣＰＵにより不揮発性メモリー３５等に記憶されたファームウェア等のプログラムをＲＡＭ３７（メモリー）に展開して実行することにより、プリンター１２の各部を中枢的に制御する。
ＲＡＭ３７は、各種データを一時的に記憶する記憶領域が形成されたメモリーであり、特に、プログラムを実行する際に参照される各種データを一時的に記憶するワークエリアが形成されている。ＲＡＭ３７は、揮発性メモリーであり、プリンター１２の電源がオンの場合に、各種データを保持可能である。
プリンター側表示部３１は、プリンター１２の動作状態等の各種情報を表示する液晶パネルや有機ＥＬパネル等の表示パネルや、ＬＥＤ等を備え、プリンター側制御部３０の制御の下、当該表示パネルに各種情報を表示し、又は、ＬＥＤの点灯／消灯する。
プリンター側入力部３２は、プリンター１２に設けられた各種操作スイッチに接続され、操作スイッチに対する操作を検出し操作信号としてプリンター側制御部３０に出力する。
プリントエンジン３３は、プリンター側制御部３０の制御の下、各種センサーの検出値を監視しながら、上述したラインサーマルヘッドのほか、感熱ロール紙を搬送するプラテンローラーを駆動するための搬送モーターや、切断機構が備えるカッターを駆動するためのカッター駆動モーターを動作させて、感熱ロール紙に画像を記録し、画像を記録した感熱ロール紙を切断することによりレシートを発行する。
インターフェイス部３６は、プリンター側制御部３０の制御の下、ホストコンピューター１０との間で通信規格に準拠した通信を行う。
【００１８】
不揮発性メモリー３５は、ＥＥＰＲＯＭ等の不揮発性メモリーを備え、各種データを書き換え可能に記憶する。不揮発性メモリー３５には、プリンター１２の動作を制御するためのファームウェアが記憶されるほか、コードページ４０と、コマンド初期値テーブル４３（一覧情報）と、が記憶される。
【００１９】
図２は、コードページ４０の内容を模式的に示す図である。
コードページ４０とは、プリンター１２によって記録可能な文字のそれぞれのフォントデータを集合して記憶するテーブルのことである。フォントデータとは、文字を記録媒体に記録可能な態様で表現する実データ（ビットマップフォントデータや、スケイラブルフォントデータ等）のことである。
図２に示すように、コードページ４０は、その記憶領域が分割されることによって、複数の格納領域ｋが形成されており、１つの格納領域ｋに、１つのフォントデータが格納可能である。
格納領域ｋのそれぞれには、各領域の先頭アドレスに応じて、各領域を一意に示す番地が割り振られており、１つの番地を特定することにより、１つの格納領域ｋが特定される。
図２に示すように、本実施形態では、コードページ４０に形成された格納領域ｋのうち、番地ＸＸの格納領域ｋ１には、通貨記号を示すフォントデータが格納される。この格納領域ｋ１に格納されるデータの態様については、後述する。
【００２０】
次いで、ＰＯＳアプリケーション実行部２０及びプリンタードライバー実行部２１の説明を通して、記録システム１がレシートを発行する際の基本的な動作について説明する。
ＰＯＳアプリケーション実行部２０は、ホストコンピューター１０に予めインストールされたＰＯＳアプリケーションを実行することにより、取引毎に、適宜、ＰＯＳサーバー１１にアクセスした上で、取引において購入された商品を示す情報や、商品の単価を示す情報、購入金額を示す情報等のレシートに記載すべき情報を取得し、取得した情報に基づいて、レシートに記録すべき画像に係る記録データを生成し、プリンタードライバー実行部２１に出力する。レシートに記録すべき画像には、商品の名称を示す文字に係る画像や、値段を示す文字に係る画像等の文字に係る画像が含まれている。ＰＯＳアプリケーション実行部２０が生成する記録データにおいては、これら文字は、Ｕｎｉｃｏｄｅ等の所定の文字コードとして表現されている。
プリンタードライバー実行部２１は、ホストコンピューター１０に予めインストールされたプリンタードライバーを実行することにより、ＰＯＳアプリケーション実行部２０から入力された記録データに基づいて、プリンター１２のコマンド仕様に対応した記録コマンドを生成し、プリンター側制御部３０に出力する。この記録コマンドには、搬送機構に感熱ロール紙を搬送させるコマンドや、ラインサーマルヘッドを駆動させるコマンド、切断機構に感熱ロール紙を切断させるコマンド等の、プリンター１２にレシートを発行させるための各種コマンドが含まれている。
記録コマンドが入力されたプリンター側制御部３０は、この記録コマンドに基づいてプリンター１２の各部を制御し、レシートを発行する。
【００２１】
次いで、プリンタードライバー実行部２１による文字コードに対する処理について説明する。
ＰＯＳアプリケーション実行部２０から記録データが入力された場合、プリンタードライバー実行部２１は、当該記録データを解析し、記録データに含まれる文字コードを抽出する。
次いで、プリンタードライバー実行部２１は、抽出した文字コードを、番地情報に変換する。番地情報とは、コードページ４０において、抽出した文字コードの文字に対応するフォントデータが格納された格納領域ｋの番地を示す情報のことである。なお、文字コードと、番地情報と、が対応づけられたテーブルが記憶部１９に記憶されており、プリンタードライバー実行部２１は、当該テーブルを参照して、文字コードを番地情報に変換する。例えば、文字としての「￥」を示す文字コードについては、プリンタードライバー実行部２１は、当該文字コードを、番地ＸＸを示す番地情報に変換する。
プリンタードライバー実行部２１は、文字コードを番地情報に変換した上で、記録コマンドをプリンター１２に出力する。
記録コマンドが入力されると、プリンター側制御部３０は、記録コマンドに基づいてプリントエンジン３３を制御してレシートを発行する。その際、プリンター側制御部３０は、レシートに記録すべき文字については、番地情報に基づいて、コードページ４０における格納領域を特定し、特定した格納領域に格納されているフォントデータに基づいて、文字に係る画像の記録を実行する。例えば、プリンター側制御部３０は、番地ＸＸを示す番地情報に基づいて、コードページ４０における格納領域ｋ１を特定し、特定した格納領域ｋ１に格納されているフォントデータに基づいて、通貨記号の画像を感熱ロール紙に記録する。
【００２２】
次いで、コマンド初期値テーブル４３について説明する。
【００２３】
図３は、コマンド初期値テーブル４３を模式的に示す図である。
コマンド初期値テーブル４３とは、初期化処理を実行する場合（所定の事象が発生した場合）に、実行すべきコマンドを一覧的に記憶したテーブルである。
初期化処理とは、電源オフの状態からオンとなったことをトリガーとして、ホストコンピューター１０から初期化処理の実行を指示する所定のコマンドが入力されたことをトリガーとして、又は、プリンター１２に対して初期化処理の実行を指示する旨の操作が入力されたことをトリガーとして実行する処理であって、ＣＰＵやＲＡＭに対するリセット等の必要な初期化処理や、各種プログラムに対する所定のイニシャル処理等の各種初期化に係る処理を含む処理のことである。
そして、コマンド初期値テーブル４３には、初期化処理を実行する場合、プリンター１２を正常に作動させるために必ず実行すべき処理とは別に、付加的に実行すべき処理のコマンドが一覧的に記憶されている。つまり、コマンド初期値テーブル４３に１のコマンドが登録されている場合、プリンター１２は、初期化処理の実行に際し、所定の必要な初期化処理と併せて、当該１のコマンドを実行する。
図３に示すように、コマンド初期値テーブル４３の１件のレコードには、少なくとも、コマンドフィールド４５と、残り実行回数フィールド４６と、が含まれている。
コマンドフィールド４５には、初期化処理が実行された場合に、実行すべきコマンド、及び、当該コマンドを実行する際に付随的に必要となるデータが格納される。初期化処理を実行する場合には、プリンター側制御部３０により、コマンド初期値テーブル４３の各レコードのコマンドフィールド４５に格納されたデータが参照された上で、コマンドフィールド４５に格納されたコマンドが読み出されて実行される。
残り実行回数フィールド４６に格納されるデータについては、後述する。
【００２４】
このコマンド初期値テーブル４３は、以下のことを目的として生成されたテーブルである。
すなわち、上位機種のプリンター、及び、下位機種のプリンター等、基本的なプラットフォームが共通し、プラットフォーム上で動くソフトウェアの体系が共通しているものにおいて、プリンター間で、初期化処理に際して行うべき処理の大部分が共通している場合がある。このような場合に、それぞれ異なる初期化処理を行うようなファームウェアを別個にプログラミングし、インストールするようにしたのでは、開発容易性が阻害され、また、開発コストの向上を招くおそれがある。
これを踏まえ、本実施形態では、コマンド初期値テーブル４３を予め不揮発性メモリー３５に記憶する構成とし、初期化処理に際して行うべき処理のうち、異なる機種のプリンター間で共通する処理に関しては、ファームウェアの機能として実行できるようファームウェアをプログラミングし、一方、共通していない処理に関しては、それぞれのプリンターのコマンド初期値テーブル４３に登録するようにしている。これにより、少なくともファームウェアの初期化処理に係るプログラムに関しては、異なる機種のプリンター間で共通化することができ、別個のプログラムを開発する場合と比較して開発容易性の向上、及び、開発コストの削減を実現している。
【００２５】
また、同一機種のプリンターであっても、プリンターが出荷される仕向地によって、初期化処理に際して行うべき処理が異なる場合がある。これを踏まえ、本実施形態では、コマンド初期値テーブル４３を予め不揮発性メモリー３５に記憶する構成とし、初期化処理に際して行うべき処理のうち、仕向地にかかわらず共通する処理に関しては、ファームウェアの機能として実行できるようファームウェアをプログラミングし、一方、仕向地によって異なる処理に関しては、それぞれのプリンターのコマンド初期値テーブル４３に登録するようにしている。これにより、少なくともファームウェアの初期化処理に係るプログラムに関しては、仕向地にかかわらず共通化することができ、仕向地に応じて別個のプログラムを開発する場合と比較して開発容易性の向上、及び、開発コストの削減を実現している。なお、仕向地によって異なる処理の具体例については後述する。
【００２６】
図３に示すように、本実施形態では、コマンド初期値テーブル４３には、少なくとも、初期動作確認処理実行コマンドＳＣと、通貨記号書換処理実行コマンドＴＣと、が登録されている。
初期動作確認処理実行コマンドＳＣとは、ハードウェア的、ソフトウェア的な初期動作の確認を実行するためのコマンドであり、特に、初期化処理に際して必ず実行される初期動作確認（従って、ファームウェアの機能として実行される初期動作確認）とは別に、プリンター１２の機種に応じて、又、仕向地に応じて個別に実行するとされる初期動作確認に係る処理を実行するためのコマンドである。この初期動作確認処理実行コマンドＳＣに係る処理は、不揮発性メモリー３５へのデータの書き込みを伴わない処理である。また、この初期動作確認処理実行コマンドＳＣに係る処理は、初期化処理の実行に伴って、必ず実行すべきである。
【００２７】
通貨記号書換処理実行コマンドＴＣとは、仕向地に応じて、コードページ４０における通貨記号を示すフォントデータの書き込みを実行させるコマンドである。
すなわち、日本の通貨記号は「￥」であり、また、北米の通貨記号は「＄」であるように、通貨記号は仕向地によって異なる。そして、通貨記号書換処理実行コマンドＴＣに係る処理は、コードページ４０に形成された格納領域ｋのうち、通貨記号のフォントデータが格納される格納領域ｋ（図２の例では格納領域ｋ１）に対して、仕向地に対応した通貨記号のフォントデータを書き込む処理である。
例えば、仕向地が日本であるプリンター１２における通貨記号書換処理実行コマンドＴＣは、格納領域ｋ１に「￥」を示すフォントデータを書き込ませるコマンドであり、当該コマンドを実行したプリンター側制御部３０は、不揮発性メモリー３５のコードページ４０にアクセスして、格納領域ｋ１に「￥」を示すフォントデータを書き込む。また例えば、仕向地が北米であるプリンター１２における通貨記号書換処理実行コマンドＴＣは、格納領域ｋ１に「＄」を示すフォントデータを書き込ませるコマンドであり、当該コマンドを実行したプリンター側制御部３０は、不揮発性メモリー３５のコードページ４０にアクセスして、格納領域ｋ１に「＄」を示すフォントデータを書き込む。
このように、通貨記号書換処理実行コマンドＴＣに係る処理は、不揮発性メモリー３５へのデータの書き込みを伴う処理である。
【００２８】
ところで、ＥＥＰＲＯＭ等からなる不揮発性メモリー３５は、データの書き込み回数に制限があり、従って、できるだけ不必要な書き込みを回避し、長寿命化を図りたいとするニーズがある。
これを踏まえ、本実施形態では、通貨記号書換処理実行コマンドＴＣに係る処理に伴う不揮発性メモリー３５へのデータの書き込みが不必要に行われることが抑制されている。
【００２９】
詳述すると、不揮発性メモリー３５は、データを不揮発的に記憶するメモリーであり、この不揮発性メモリー３５に書き込まれたコードページ４０の内容は、書き換えが行われない限り、保持される。従って、通貨記号書換処理実行コマンドＴＣに係る処理により、一度、格納領域ｋ１に、仕向地に応じた適切なフォントデータが格納されると、以後、改めて、格納領域ｋ１に格納されたフォントデータの上書きが実行されない限り、格納領域ｋ１に仕向地に応じた適切なフォントデータが格納された状態が維持される。
これを利用し、本実施形態では、通貨記号書換処理実行コマンドＴＣの実行回数に制限を設け、所定の回数以上、通貨記号書換処理実行コマンドＴＣに係る処理が実行されない構成とし、これにより、不揮発性メモリー３５への不必要なデータの書き込みを抑制している。
【００３０】
詳細には、コマンド初期値テーブル４３において、残り実行回数フィールド４６には、対応するコマンドの残りの実行回数を示すデータ（以下、「残り実行回数データ」という）が格納されている。
出荷時において、残り実行回数データの値は、対応するコマンドを実行させる回数の上限を示す値となっており、出荷後、対応するコマンドが１回実行される度に、「１」減算される構成となっている。
例えば、不揮発性メモリー３５へのデータの書き込みを伴う処理を実行させる通貨記号書換処理実行コマンドＴＣは、５回以上行わないものとする。この場合、出荷時において、コマンド初期値テーブル４３において、通貨記号書換処理実行コマンドＴＣに対応する残り実行回数データの値は、「５」に設定される。そして、初期化処理の実行に応じて、通貨記号書換処理実行コマンドＴＣに係る処理が実行される度に、残り実行回数データの値が１ずつ減算される。
このような構成とすることにより、プリンター側制御部３０は、残り実行回数データの値に基づいて、各コマンドの残り実行回数を管理でき、かつ、各コマンドが上限として設定された所定の回数以上実行されたか否かを管理できる。そして、本実施形態に係るプリンター１２では、当該管理に基づいて、不揮発性メモリー３５へのデータの書き込みを伴う処理に係るコマンドが所定の回数以上実行されない動作を行う構成となっているが、当該動作については後に詳述する。
【００３１】
ここで、本実施形態では、所定の「回数」以上、不揮発性メモリー３５へのデータの書き込みを伴う処理に係るコマンド、具体的には、通貨記号書換処理実行コマンドＴＣを実行しない構成となっている。上述したように、不揮発性メモリー３５はデータを不揮発的に記憶するメモリーであるため、データの書き込みは１回行えばよく、従って、通貨記号書換処理実行コマンドＴＣの実行回数の上限値を複数回とする必要はないはずである。
しかしながら、プリンター１２の出荷時においては、最終的なテストや、製品の動作確認、その他の理由により、初期化処理の実行に伴って、通貨記号書換処理実行コマンドＴＣした後、再び、コードページ４０の内容を書き換えることが全く無いとは言えない。これを踏まえ、本実施形態では、各コマンドの実行回数の上限値を複数回とすることを可能とし、上述したような状況であっても、コマンドの実行に伴う不揮発性メモリー３５のデータの書き換えが反映された状態となるようにしている。
このほか、少なくとも複数回実行されることが必要なコマンドが存在する場合には、当該コマンドを複数回実行させることができる。
【００３２】
なお、初期動作確認処理実行コマンドＳＣのように、初期化処理の実行に伴って必ず実行するとされるコマンドについては、コマンド初期値テーブル４３の残り実行回数フィールド４６は、ＮＵＬＬデータとなる。
【００３３】
図４は、電源投入時におけるプリンター１２の動作を示すフローチャートである。
上述したように、プリンター１２は、電源の投入をトリガーとして、コマンド初期値テーブル４３に登録された各コマンドを実行するが、当該動作については図５で説明するため、省略している。
図４に示すように、電源が投入されると、プリンター１２のプリンター側制御部３０は、不揮発性メモリー３５にアクセスし、コマンド初期値テーブル４３を参照する（ステップＳＡ１）。
次いで、プリンター側制御部３０は、コマンド初期値テーブル４３の内容と同一の内容のデータを、ＲＡＭ３７に書き込む（ステップＳＡ２）。
ステップＳＡ２においてＲＡＭ３７に書き込まれるデータは、その内容がコマンド初期値テーブル４３の内容と同一性を有したものであればよいが、本実施形態では、説明の便宜のため、レコードが集合して形成されたテーブルとしてのデータ形式が維持されたまま、コマンド初期値テーブル４３がＲＡＭ３７にコピーされるものとし、当該データを、適宜、「ＲＡＭ３７のコマンド初期値テーブル」と表現するものとする。
【００３４】
図５は、初期化処理実行時におけるプリンター１２の動作を示すフローチャートである。
上述したように、初期化処理は、電源オフの状態からオンとなったことをトリガーとして、ホストコンピューター１０から初期化処理の実行を指示する所定のコマンドが入力されたことをトリガーとして、又は、プリンター１２に対して初期化処理の実行を指示する旨の操作が入力されたことをトリガーとして実行される。
図５に示すように、プリンター側制御部３０は、ＲＡＭ３７のコマンド初期値テーブルを参照する（ステップＳＢ１）。
次いで、プリンター側制御部３０は、ＲＡＭ３７のコマンド初期値テーブルの各レコードのうち、未処理のレコードを特定する（ステップＳＢ２）。ステップＳＢ２では、ＲＡＭ３７のコマンド初期値テーブルに含まれるレコードのそれぞれについて、上位のレコードから下位のレコードへ向かって、順次、処理対象とされ、かつ、ステップＳＢ２で処理対象とされたレコードが、ステップＳＢ３以下の処理の対象とされる。
次いで、プリンター側制御部３０は、ステップＳＢ２で処理対象とされたレコード（以下、「処理対象レコード」という）について、コマンドフィールド４５に対応するフィールドを参照し、当該フィールドに格納されたコマンドを実行する（ステップＳＢ３）。
次いで、プリンター側制御部３０は、処理対象レコードの、残り実行回数フィールド４６に対応するフィールドに格納されたデータの値を「１」減算する（ステップＳＢ４）。
次いで、プリンター側制御部３０は、ステップＳＢ４で「１」減算した結果、残り実行回数フィールド４６に対応するフィールドに格納されたデータの値が「０」となったか否かを判別する（ステップＳＢ５）。ステップＳＢ５において、「残り実行回数フィールド４６に対応するフィールドに格納されたデータの値が「０」となる」とは、つまり、対応するコマンドについて、当該コマンドを実行すべき回数の上限として定められた回数分、当該コマンドが実行されたということである。
【００３５】
ステップＳＢ５において、データの値が「０」でない場合（ステップＳＢ５：ＮＯ）、プリンター側制御部３０は、処理手順をステップＳＢ６へ移行する。
一方、データの値が「０」である場合（ステップＳＢ５：ＹＥＳ）、プリンター側制御部３０は、処理対象レコードを、ＲＡＭ３７のコマンド初期値テーブルから削除する（ステップＳＢ７）。これにより、コマンドを実行すべき回数の上限として定められた回数分、実行されたコマンドに対応するレコードは、ＲＡＭ３７のコマンド初期値テーブル４３から削除され、以後、当該コマンドは実行されないこととなる。ここで、コマンドを実行すべき回数の上限として定められた回数分実行されたコマンドについては、フラグを用いて判別したり、また、当該コマンドに係るレコードの残り実行回数フィールド４６にその旨を示すデータを格納することによって判別したりすることが可能である。しかしながら、これらの場合、ＲＡＭ３７のコマンド初期値テーブルに登録された１のコマンドの実行に際し、フラグを参照したり、また、当該１のコマンドに対応するレコードの残り実行回数フィールド４６に格納されたデータの値を参照したりする処理が必要となり、本実施形態のように実行する必要のないコマンドに対応するレコードをテーブルから削除する場合と比較して、処理効率の低下を招く可能性がある。さらに、実行する必要のないコマンドに対応するレコードをテーブルから削除することにより、ＲＡＭ３７の記憶領域の効率的な利用が可能となる。
【００３６】
ステップＳＢ６において、プリンター側制御部３０は、ＲＡＭ３７のコマンド初期値テーブルに含まれる全てのレコードについて、処理対象となったか否かを判別する。
全てのレコードが処理対処となっている場合（ステップＳＢ６：ＹＥＳ）、プリンター側制御部３０は、処理を終了する。
一方、処理対象となっていないレコードが残っている場合（ステップＳＢ６：ＮＯ）、プリンター側制御部３０は、処理手順をステップＳＢ２に戻す。
【００３７】
図６は、電源オフ時におけるプリンター１２の動作、より具体的には、電源のオフが指示された後におけるプリンター１２の動作を示すフローチャートである。
図６に示すように、電源オフに際し、プリンター側制御部３０は、ＲＡＭ３７にアクセスし、ＲＡＭ３７のコマンド初期値テーブルを参照する（ステップＳＣ１）。
次いで、プリンター側制御部３０は、ＲＡＭ３７のコマンド初期値テーブルの内容に基づいて、不揮発性メモリー３５に記憶されたコマンド初期値テーブル４３の内容を書き換える（ステップＳＣ２）。
具体的には、ステップＳＣ２において、プリンター側制御部３０は、不揮発性メモリー３５に記憶されたコマンド初期値テーブル４３に含まれるレコードのうち、図５のステップＳＢ７の処理によりＲＡＭ３７のコマンド初期値テーブルから削除されたレコードに対応するものについては、削除する。このように、不揮発性メモリー３５に記憶されたコマンド初期値テーブル４３のレコードを削除することにより、再び電源が投入され、ＲＡＭ３７にコマンド初期値テーブルが記憶された際に（ステップＳＡ２）、当該コマンド初期値テーブルから対応するレコードが削除され、当該レコードに対応するコマンドが実行されないこととなる。
また、ステップＳＣ２において、プリンター側制御部３０は、不揮発性メモリー３５に記憶されたコマンド初期値テーブル４３に含まれる各レコードについて、ＲＡＭ３７のコマンド初期値テーブルにおける残り実行回数フィールド４６に対応するフィールドの値に応じて、不揮発性メモリー３５に記憶されたコマンド初期値テーブル４３の残り実行回数フィールド４６の値を書き換える。ＲＡＭ３７のコマンド初期値テーブルにおける残り実行回数フィールド４６に対応するフィールドの値は、実際に、対応するコマンドが実行された回数を反映した値となっているため、当該処理により、不揮発性メモリー３５に記憶されたコマンド初期値テーブル４３の残り実行回数フィールド４６の値が、対応するコマンドが実行された回数を反映した正しい値となる。
以上のようにして内容が書き換えられた後のコマンド初期値テーブル４３は、電源オフ後も不揮発性メモリー３５において保持される。
【００３８】
このように、本実施形態では、電源投入と共に、コマンド初期値テーブル４３に対応するデータが、ＲＡＭ３７に記憶され、かつ、電源が投入されている間は、ＲＡＭ３７のコマンド初期値テーブルがコマンドの実行の実態に応じて適切に書き換えられ、当該テーブルの内容により各コマンドの残り実行回数が管理され、かつ、電源オフ時に、不揮発性メモリー３５に記憶されたコマンド初期値テーブル４３の内容が、ＲＡＭ３７のコマンド初期値テーブルの内容を反映するように書き換えられる構成となっている。
ここで、初期化処理は、電源オフの状態からオンとなったことのほか、ホストコンピューター１０から初期化処理の実行を指示する所定のコマンドが入力されたことをトリガーとして、又は、プリンター１２に対して初期化処理の実行を指示する旨の操作が入力されたことをトリガーとして実行される処理である。従って、電源が投入されている間に複数回行われる場合がある。そして、初期化処理が実行された場合、その都度、不揮発性メモリー３５に記憶されたコマンド初期値テーブル４３の内容を書き換える構成とした場合、コマンド初期値テーブル４３へのデータの書き込み回数の増大を招き、その分、不揮発性メモリー３５の寿命の短縮につながる。
一方で本実施形態では、上記構成とすることにより、不揮発性メモリー３５に記憶されたコマンド初期値テーブル４３の内容の書き換えを電源オフ時に１回行えばよいこととなり、不揮発性メモリー３５の高寿命化を実現可能である。
【００３９】
以上説明したように、本実施形態に係るプリンター１２は、各種データを不揮発的に記憶する不揮発性メモリー３５を備えている。そして、プリンター側制御部３０は、初期化処理を実行する場合、コマンド初期値テーブル４３に基づいて、当該テーブルに登録されたコマンドを実行すると共に、各コマンドのうち、不揮発性メモリー３５への書き込みを伴う処理に係るコマンドである通貨記号書換処理実行コマンドＴＣについては、所定の回数以上の実行を禁止する。
これによれば、初期化処理を実行する場合であっても、コマンド初期値テーブル４３に含まれるコマンドのうち、不揮発性メモリー３５への書き込みを伴う処理に係るコマンドである通貨記号書換処理実行コマンドＴＣについて、必要以上に実行されることを防止でき、不揮発性メモリー３５の長寿命化を実現できる。
【００４０】
また、本実施形態では、コマンド初期値テーブル４３では、初期化処理に伴って実行すべきコマンドと、当該コマンドの残りの実行回数を示す情報と、が対応づけて記憶される。そして、プリンター側制御部３０は、コマンド初期値テーブル４３における各コマンドの残りの実行回数を示す情報（残り実行回数データ）に基づいて、各コマンドが所定の回数以上実行されたか否かを管理する。
これによれば、プリンター側制御部３０は、コマンド初期値テーブル４３におけるコマンドの残りの実行回数を示す情報を利用して、コマンドが所定の回数以上実行されたか否かを適切に管理可能となる。
【００４１】
また、本実施形態では、プリンター側制御部３０は、コマンド初期値テーブル４３に含まれるコマンドのうち、残りの実行回数が無くなったコマンドについては、コマンド初期値テーブル４３から削除する。
これによれば、コマンド初期値テーブル４３に、実行が禁止されたコマンドが含まれない状態となり、各コマンドの実行に際し、各コマンドが、実行が禁止されたコマンドか否かを判別する処理が不要となり処理効率が向上する。
【００４２】
また、本実施形態に係るプリンター１２は、ワークエリアが形成されたＲＡＭをさらに備えており、また、コマンド初期値テーブル４３は、不揮発性メモリー３５に記憶されている。そして、プリンター側制御部３０は、電源がオンの場合、不揮発性メモリー３５に記憶されたコマンド初期値テーブル４３に対応するデータをＲＡＭ３７に記憶すると共に、ＲＡＭ３７を利用して、各コマンドの残りの実行回数を管理し、電源がオフされた際に、ＲＡＭ３７の内容に基づいて、不揮発性メモリー３５に記憶されたコマンド初期値テーブル４３の内容を書き換える。
これによれば、電源がオンされている間における初期化処理の実行の状況にかかわらず、不揮発性メモリー３５に記憶されたコマンド初期値テーブル４３の書き換えが、電源オフ時の一回だけで済むこととなり、不揮発性メモリー３５のさらなる長寿命化を実現可能である。
【００４３】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態において、初期化処理の実行を、所定の事象の発生の一例として挙げたが、所定の事象の発生はこれに限らない。すなわち、何らかの事象が発生したことをトリガーとして、所定の一覧に基づいて所定の処理を実行する記録装置に広く本発明を適用可能である。
また、不揮発性メモリーの書き込みを伴う処理に係るコマンドとして、通貨記号書換処理実行コマンドＴＣを例としてあげたが、当該コマンドに限らないことはもちろんである。
また、本実施形態では、プリンター１２は、サーマルプリンターであったが、記録装置の形式はこれに限らず、インクジェットプリンターや、ドットインパクトプリンター等の異なる形式の記録装置に広く本発明を適用可能である。
【符号の説明】
【００４４】
１０…ホストコンピューター、１２…プリンター（記録装置）、３０…プリンター側制御部（制御部）、３５…不揮発性メモリー（記憶部）、３７…ＲＡＭ（メモリー）、４３…コマンド初期値テーブル（一覧情報）。
【図１】
0005842335.tif 000002
【図２】
0005842335.tif 000003
【図３】
0005842335.tif 000004
【図４】
0005842335.tif 000005
【図５】
0005842335.tif 000006
【図６】
0005842335.tif 000007