(57)【要約】【課題】制御プログラムを所定の条件下でのみ使用できる情報機器および情報機器の制御方法を提供する。【解決手段】情報機器１は、制御プログラムの制御による稼動状態を表すカウント値を記憶している。また、情報機器１は、新たにサンプルとしての試用制御プログラムを書き込む書込部と、試用制御プログラムの試用期間を限定する限定カウント値を取得する取得部と、試用制御プログラムが書き込まれたことを示すフラグを設定する設定部と、フラグが設定された時点までの稼動状態を表す既カウント値を記憶する記憶部と、試用制御プログラムによる稼動によって累積されたカウント値が既カウント値に限定カウント値を加えた合計値に達したかどうかを判断する判断部と、累積されたカウント値が合計値に達していれば情報機器の動作を停止させる停止部とを備えている。【選択図】  図１
2005346662.tif 000002
【特許請求の範囲】
【請求項１】
制御プログラムの制御による稼動状態を表すカウント値を記憶している情報機器であって、
新たにサンプルとしての試用制御プログラムを書き込む書込部と、
前記試用制御プログラムの試用期間を限定する限定カウント値を取得する取得部と、
前記試用制御プログラムが書き込まれたことを示すフラグを設定する設定部と、
前記フラグが設定された時点までの稼動状態を表す既カウント値を記憶する記憶部と、
前記試用制御プログラムによる稼動によって累積された前記カウント値が前記既カウント値に前記限定カウント値を加えた合計値に達したかどうかを判断する判断部と、
前記累積された前記カウント値が前記合計値に達していれば前記情報機器の動作を停止させる停止部とを備えたことを特徴とする情報機器。
【請求項２】
請求項１に記載の情報機器において、
前記情報機器の稼働時間を計時する計時部をさらに備え、
前記カウント値が前記稼働時間あるいは前記稼働時間に対応した値であることを特徴とする情報機器。
【請求項３】
請求項１に記載の情報機器において、
被印刷用紙へ印字ヘッドによって印刷を行うプリンタをさらに備え、
前記カウント値が前記プリンタの稼動量を計測する計測部の情報を基に表されていることを特徴とする情報機器。
【請求項４】
請求項３に記載の情報機器において、
前記カウント値が前記印字ヘッドによる印字ドット数あるいは前記印字ドット数に対応した値であることを特徴とする情報機器。
【請求項５】
請求項３または４のいずれか一項に記載の情報機器において、
前記カウント値が前記印字ヘッドによる印字文字数あるいは前記印字文字数に対応した値であることを特徴とする情報機器。
【請求項６】
請求項３から５のいずれか一項に記載の情報機器において、
前記カウント値が前記印字ヘッドによる印字行数あるいは前記印字行数に対応した値であることを特徴とする情報機器。
【請求項７】
請求項３から６のいずれか一項に記載の情報機器において、
前記カウント値が前記被印刷用紙の搬送された紙送り長さあるいは前記紙送り長さに対応した値であることを特徴とする情報機器。
【請求項８】
請求項３から７のいずれか一項に記載の情報機器において、
前記プリンタは前記被印刷用紙を切断するオートカッタ部を備えており、
前記カウント値が前記被印刷用紙を切断したオートカット回数あるいは前記オートカット回数に対応した値であることを特徴とする情報機器。
【請求項９】
請求項３から８のいずれか一項に記載の情報機器において、
前記プリンタは磁気インク文字読み取りヘッドを備えており、
前記カウント値が磁気インク文字の読み取り回数あるいは前記読み取り回数に対応した値であることを特徴とする情報機器。
【請求項１０】
請求項１から９のいずれか一項に記載の情報機器において、
前記記憶部は電源が遮断されても記憶内容を保持する不揮発性メモリであることを特徴とする情報機器。
【請求項１１】
請求項１０に記載の情報機器において
前記不揮発性メモリは前記フラグの設定領域と、
前記カウント値の保存領域とを備えていることを特徴とする情報機器。
【請求項１２】
制御プログラムの制御による稼動状態を表すカウント値を記憶している情報機器の制御方法であって、
新たにサンプルとしての試用制御プログラムを読み込むステップと、
前記試用制御プログラムの試用期間を限定する限定カウント値を取得するステップと、
前記試用ファームウエアが書き込まれたことを示すフラグを設定するステップと、
前記フラグが設定された時点までの稼動状態を表す既カウント値を記憶するステップと、
前記試用制御プログラムによる稼動によって累積された前記カウント値が前記既カウント値に前記限定カウント値を加えた合計値に達したかどうかを判断するステップと、
前記累積された前記カウント値が前記合計値に達していれば前記情報機器の動作を停止させるステップとを有していることを特徴とする情報機器の制御方法。
【請求項１３】
請求項１２に記載の情報機器の制御方法において、
前記情報機器は前記情報機器の稼働時間を計時するステップをさらに備えており、
前記カウント値が前記稼働時間あるいは前記稼働時間に対応した値であることを特徴とする情報機器の制御方法。
【請求項１４】
制御プログラムの制御による稼動状態を表すカウント値を記憶している情報機器の制御を実行させるプログラムであって、
新たにサンプルとしての試用制御プログラムを読み込むステップと、
前記試用制御プログラムの試用期間を限定する限定カウント値を取得するステップと、
前記試用ファームウエアが書き込まれたことを示すフラグを設定するステップと、
前記フラグが設定された時点までの稼動状態を表す既カウント値を記憶するステップと、
前記試用制御プログラムによる稼動によって累積された前記カウント値が前記既カウント値に前記限定カウント値を加えた合計値に達したかどうかを判断するステップと、
前記累積された前記カウント値が前記合計値に達していれば前記情報機器の動作を停止させるステップとを情報機器に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御プログラムによって制御される情報機器、情報機器の制御方法およびプログラムに関するものである。
【背景技術】
【０００２】
従来、情報機器の制御プログラムのバージョンアップによる変更や、カスタム仕様の制御プログラムなどをサンプルとして提供する場合などは、例えばＦＤＤ（Floppy（Ｒ）Disk  Drive）等で、制御プログラムをユーザーあるいは販売代理店へ供給している。この場合、一枚のＦＤＤ（Ｒ）等から、所定数以上の情報機器へ制御プログラムをインストールできないように、インストール回数をＦＤＤ（Ｒ）等に記憶して管理している。ＦＤＤ（Ｒ）等から情報機器へ所定回数のインストールが行われると、以降のインストールはできない仕組みである（たとえば特許文献１参照）。
【０００３】
【特許文献１】特開平５−２９６８２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来の技術では、制御プログラムの情報機器へのインストール回数を規制することはできるが、インストール後の制御プログラムの使用については、何ら規制および管理ができない。特に、サンプルとしての試用制御プログラムのように、まず無償のサンプル版で試用してもらい、後に正式な注文を貰って販売につなげていく場合には、無償のサンプル版をそのまま使用されてしまい、正式な注文につながらない恐れが多分にある。
【０００５】
そこで本発明は、上記課題に鑑みてなされており、制御プログラムを所定の条件下でのみ使用できる情報機器、情報機器の制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の情報機器は、制御プログラムの制御による稼動状態を表すカウント値を記憶している情報機器であって、新たにサンプルとしての試用制御プログラムを書き込む書込部と、試用制御プログラムの試用期間を限定する限定カウント値を取得する取得部と、試用制御プログラムが書き込まれたことを示すフラグを設定する設定部と、フラグが設定された時点までの稼動状態を表す既カウント値を記憶する記憶部と、試用制御プログラムによる稼動によって累積されたカウント値が既カウント値に限定カウント値を加えた合計値に達したかどうかを判断する判断部と、累積されたカウント値が合計値に達していれば情報機器の動作を停止させる停止部とを備えたことを特徴とする。
【０００７】
この情報機器によれば、試用期間が限定されている試用制御プログラムを導入して試用する際に、試用制御プログラムが書き込まれたことを示すフラグが設定部によって設定される。次いで、フラグ設定時の情報機器が、いままでどのくらい稼動したかを表す既カウント値を記憶部に記憶する。また、試用制御プログラムが持つ試用期間を限定する限定カウント値を取得部が取得する。そして、既カウント値に限定カウント値を加えた値に、情報機器の稼動を表すカウント値が達するまで、情報機器の試用を判断部の判断で許容する。試用期間の経過後は、停止部によって情報機器の動作が停止される。これにより、試用制御プログラムが、無制限に試用されることを防止できる。
【０００８】
この場合、情報機器の稼働時間を計時する計時部をさらに備え、カウント値が稼働時間あるいは稼働時間に対応した値であることが好ましい。
【０００９】
この構成によれば、試用制御プログラムの試用限定の期間は、情報機器の計時部が計時する稼働時間を基にして設定される。したがって、試用制御プログラムの試用限定の期間設定を、時間の経過に対応したカウント値によって設定できる。
【００１０】
この場合、被印刷用紙へ印字ヘッドによって印刷を行うプリンタをさらに備え、カウント値がプリンタの稼動量を計測する計測部の情報を基に表されていることが好ましい。
【００１１】
この構成によれば、プリンタに備えられている計測部によって、プリンタによる印字文字数などの各種稼動量が把握できる。つまり、試用制御プログラムの試用限定の期間設定が、これらのプリンタの稼動量に基づくカウント値を用いて設定できる。
【００１２】
この場合、カウント値が印字ヘッドによる印字ドット数あるいは印字ドット数に対応した値であることが好ましい。
【００１３】
この構成によれば、試用制御プログラムの試用限定の期間設定が、プリンタによる印字ドット数あるいは印字ドット数に関連して求められるカウント値を基に設定できる。印字関連の試用制御プログラムなどの試用限定の期間設定に適する。
【００１４】
この場合、カウント値が印字ヘッドによる印字文字数あるいは印字文字数に対応した値であることが好ましい。
【００１５】
この構成によれば、試用制御プログラムの試用限定の期間設定が、プリンタによる印字文字数あるいは印字文字数に関連して求められるカウント値を基に設定される。印字文字数を用いることにより、実際の印字状態と比較しやすく、稼動状態が具体的に把握できる。
【００１６】
この場合、カウント値が印字ヘッドによる印字行数あるいは印字行数に対応した値であることが好ましい。
【００１７】
この構成によれば、試用制御プログラムの試用限定の期間設定が、プリンタによる印字行数あるいは印字行数に関連して求められるカウント値を基に設定される。この場合も、実際の印字状態と比較しやすく、稼動状態が具体的に把握できる。
【００１８】
この場合、カウント値が被印刷用紙の搬送された紙送り長さあるいは紙送り長さに対応した値であることが好ましい。
【００１９】
この構成によれば、試用制御プログラムの試用限定の期間設定が、プリンタによって被印刷用紙が搬送された紙送り長さ、あるいは紙送り長さに関連して求められるカウント値を基に設定できる。被印刷用紙の送り長さ関係からプリンタの稼動状態を把握する場合に有効な設定である。
【００２０】
この場合、プリンタは被印刷用紙を切断するオートカッタ部を備えており、カウント値が被印刷用紙を切断したオートカット回数あるいはオートカット回数に対応した値であることが好ましい。
【００２１】
この構成によれば、プリンタに被印刷用紙を切断するオートカッタ部が備えられている場合に、試用制御プログラムの試用限定の期間設定が、オートカッタ部によって被印刷用紙を切断したオートカット回数、あるいはオートカット回数に関連して求められるカウント値を基に設定できる。ロール紙などを試用する場合に活用できる設定である。
【００２２】
この場合、プリンタは磁気インク文字読み取りヘッドを備えており、カウント値が磁気インク文字の読み取り回数あるいは読み取り回数に対応した値であることが好ましい。
【００２３】
この構成によれば、プリンタに磁気インク文字読み取りヘッドが備えられている。この場合、試用制御プログラムの試用限定の期間設定が、磁気インク文字の読み取り回数、あるいは読み取り回数に関連して求められるカウント値を基に設定できる。磁気インク文字読み取り関連の試用制御プログラムなどを試用する場合に適する設定である。
【００２４】
この場合、記憶部は電源が遮断されても記憶内容を保持する不揮発性メモリであることが好ましい。
【００２５】
この構成によれば、記憶部には、プリンタの稼動状況を示す稼動量が累積して保存されている。これらの稼動量は、電源の有無に係わらず保持される必要がある。したがって、記憶部に、フラッシュＲＯＭやＥＥＰＲＯＭなどの電源が遮断されても記憶内容を保持する不揮発性メモリを用いることによって、記憶内容の保持が図れる。
【００２６】
この場合、不揮発性メモリはフラグの設定領域と、カウント値の保存領域とを備えていることが好ましい。
【００２７】
この構成によれば、試用制御プログラムが導入されたことを示すフラグと、フラグが設定された時点のプリンタの稼動量である既カウント値および試用制御プログラムの試用期間を限定するための限定カウント値などのカウント値とを、不揮発性メモリの決められた保存領域へ保存できる。フラグとカウント値とを基に、試用制御プログラムの試用限定期間を管理できる。
【００２８】
本発明の情報機器の制御方法は、制御プログラムの制御による稼動状態を表すカウント値を記憶している情報機器の制御方法であって、新たにサンプルとしての試用制御プログラムを読み込むステップと、試用制御プログラムの試用期間を限定する限定カウント値を取得するステップと、試用ファームウエアが書き込まれたことを示すフラグを設定するステップと、フラグが設定された時点までの稼動状態を表す既カウント値を記憶するステップと、試用制御プログラムによる稼動によって累積されたカウント値が既カウント値に限定カウント値を加えた合計値に達したかどうかを判断するステップと、累積されたカウント値が合計値に達していれば情報機器の動作を停止させるステップとを有していることを特徴とする。
【００２９】
この情報機器の制御方法によれば、試用期間が限定されている試用制御プログラムを導入して試用する際に、試用制御プログラムが書き込まれたことを示すフラグがまず設定される。次に、ステップでフラグ設定時の情報機器がいままでどのくらい稼動したかを表す既カウント値を記憶部に記憶する。また、試用制御プログラムが持つ試用期間を限定する限定カウント値を取得する。そして、既カウント値に限定カウント値を加えた値に、情報機器の稼動を表すカウント値が達するまで、情報機器の試用を許容する。試用期間の経過後は、情報機器の動作が停止される。この制御方法により、試用制御プログラムが、無制限に試用されることを防止できる。
【００３０】
この場合、情報機器は情報機器の稼働時間を計時するステップをさらに備えており、カウント値が稼働時間あるいは稼働時間に対応した値であることが好ましい。
【００３１】
この構成によれば、試用制御プログラムの試用限定の期間は、情報機器が計時する稼働時間を基にして設定する。したがって、試用制御プログラムの試用限定の期間設定を、時間の経過に対応したカウント値で設定できる。
【００３２】
本発明のプログラムは、制御プログラムの制御による稼動状態を表すカウント値を記憶している情報機器の制御を実行させるプログラムであって、新たにサンプルとしての試用制御プログラムを読み込むステップと、試用制御プログラムの試用期間を限定する限定カウント値を取得するステップと、試用ファームウエアが書き込まれたことを示すフラグを設定するステップと、フラグが設定された時点までの稼動状態を表す既カウント値を記憶するステップと、試用制御プログラムによる稼動によって累積されたカウント値が既カウント値に限定カウント値を加えた合計値に達したかどうかを判断するステップと、累積されたカウント値が合計値に達していれば情報機器の動作を停止させるステップとを情報機器に実行させることを特徴とする。
【００３３】
このプログラムによれば、試用期間が限定されている試用制御プログラムを導入して試用する際に、試用制御プログラムが書き込まれたことを示すフラグがまず設定される。次のステップでフラグ設定時の情報機器がいままでどのくらい稼動したかを表す既カウント値を記憶部に記憶する。そして、試用制御プログラムが持つ試用期間を限定する限定カウント値を取得して、既カウント値に限定カウント値を加えた値に、情報機器の稼動を表すカウント値が達するまで、情報機器の試用を許容する。試用期間の経過後は、情報機器の動作が停止される。情報機器に以上のようなことを機能させ、試用制御プログラムが、無制限に試用されることを防止できるプログラムである。
【発明を実施するための最良の形態】
【００３４】
以下に図面を参照して、本発明の情報機器、情報機器の制御方法およびプログラムについての実施形態を説明する。図１は、情報機器の構成を示すブロック図である。情報機器１として、ホストコンピュータ２とプリンタ３を備えたＰＯＳ（Point  Of  Sales）端末４とから成る販売管理機器を取り上げて説明する。ＰＯＳ端末４はホストコンピュータ２に複数接続されて使用される場合が多いが、図１では一台のＰＯＳ端末４だけを図示してある。
【００３５】
ＰＯＳ端末４は、顧客が購入した商品の値段等の情報を読み取るためのバーコードリーダ５と、ＰＯＳ端末４へ直接情報を入力するためのキーボード６と、商品購入代金をカード決済するためにカードの情報を読み取るカードリーダ７と、各種情報を表示するための表示部８と、レシート等の印刷を行うプリンタ３とを備えている。
【００３６】
プリンタ３は、印刷用紙（被印刷用紙）へのレシートなどの印刷機能だけでなく、小切手の磁気インク文字を読み取る小切手処理機能やプリンタ３とＰＯＳ端末４とを制御するファームウエア（制御プログラム）を有する多機能なプリンタ３である。このプリンタ３とファームウエアとを例示にして具体的な説明をする。
【００３７】
プリンタ３は、ホストコンピュータ２と接続するための通信制御手段９と、ファームウエアを記憶していて電源が遮断されても記憶内容を保持可能なフラッシュＲＯＭ（記憶部）１０と、プリンタ３の稼働時間などの情報を随時一時的に記憶しておくＲＡＭ１１と、ファームウエアの処理手順に従って動作する処理制御手段１２と、機構部１３を制御するための機構部制御手段１４とを、内部バス２７を介してそれぞれ相互に接続された状態で備えている。
【００３８】
また、機構部１３は、印刷用紙であるロール紙を搬送するロール紙搬送部１５と、同じく印刷用紙である単票紙を搬送する単票紙搬送部１６と、ロール紙あるいは単票紙へ印字を行うための印字ヘッド１７と、ロール紙を自動で切断するオートカッタ部１８と、小切手の磁気インク文字を読み取るための磁気インク文字読取ヘッド１９とを備えている。
【００３９】
この機構部１３によれば、プリンタ３はロール紙と単票紙をそれぞれ選択して使用できる。ロール紙あるいは単票紙をセットすると、ロール紙搬送部１５あるいは単票紙搬送部１６が作動して、ロール紙あるいは単票紙を印字ヘッド１７へ搬送して所定の印字が行われる。印字後、ロール紙はオートカッタ部１８によって切断され、プリンタ３から排出されてレシート等として使われる。なお、印字ヘッド１７は、９ピンのドットインパクト方式のものである。
【００４０】
また、磁気インク文字読取ヘッド１９は、小切手による決済処理を行うために、小切手に磁気インクで印刷されている文字を読み取るためのヘッドである。小切手には、小切手の決済用の銀行名や口座番号などが、磁気インクによる文字によって記載されている。従って、プリンタ３は、これら文字を読み取って小切手の決済を行うことができる。
【００４１】
そして、処理制御手段１２は、ファームウエア等をフラッシュＲＯＭ１０へ書き込むための書込部２０と、ファームウエアの持つ情報を取得する取得部２１と、ファームウエアが書き込まれたことを示すフラッグを設定する設定部２２と、各種の判断処理を行う判断部２３と、判断部２３の判断により所定の機能を停止させる停止部２４と、図２に示すプリンタ３の稼動量３７を計測する計測部２５と、タイマ機能によって一定の間隔でタイマ割り込みを発生させて時間を計時する計時部２６とを備えている。
【００４２】
処理制御手段１２は、機構部制御手段１４を介して機構部１３の制御を行う際に、機構部１３のそれぞれの機構の稼動量３７をカウント機能によってカウントする。そして、そのカウントした値をＲＡＭ１１へ累積して記憶させる。ＲＡＭ１１へ記憶された値は、所定のタイミングでフラッシュＲＯＭ１０に記憶される。フラッシュＲＯＭ１０に記憶された値は、電源が遮断されても記憶されているため、次に電源が入れられプリンタ３が稼動した時には、従来のカウントした値に継続して値を累積できる。詳細は、後でフローチャートに基づき説明する。
【００４３】
カウント機能によりカウント可能な機能は、次のものである。それらは、情報機器１の稼動時間と、プリンタ３におけるロール紙をオートカッタ部１８で切断したカット回数と、印字ヘッド１７による印字ドット数、印字文字数および印字行数と、ロール紙と単票紙の紙送り長さと、磁気インク文字読取ヘッド１９による磁気インク文字の読み取り回数の７つの稼動量３７である。
【００４４】
次に、各機能のカウント方法について順に説明する。まず、稼働時間のカウントは、計時部２６による１０ｍｓ周期の割り込みで１分を計測し、１分毎にカウントアップを行う。この場合、稼働時間の単位は、時間単位として用いる設定としている。そのため、稼動時間として読み出して使用するカウント値としては、カウントアップされている分単位の値（稼動量３７）を６０で割って時間に換算した値を用いる。情報機器１およびプリンタ３の稼働時間が時間単位で計時できる。
【００４５】
プリンタ３に係わる稼動量は、計測部２５により計測される。カット回数は、カットコマンドの実行時にカウントアップする。カット回数として読み出して使用するカウント値は、カウントアップされている値（稼動量３７）をそのまま用いる。
【００４６】
また、印字文字数は、印字開始前に印字データの左右端を検索するルーチンで、ヘッドデータ≠０の場合にカウントアップする。ヘッドデータ≠０の場合とは、印字ヘッド１７の９ピンのうちのいずれか１ピンあるいは複数ピンが駆動される場合のことである。つまり、９ピンの印字ヘッド１７のうちのいずれかのピンが駆動されて印刷用紙へドットとして記される。次に、印字ヘッド１７が順に移動してドットを記すことにより文字が形成される。プリンタ３が保有する文字は、平均すると、印字ヘッド１７がドットを記す移動を
６回行って形成されている。したがって、印字文字数として読み出して使用するカウント値としては、カウントアップされている値（稼動量３７）を６で割って文字数に換算した値を用いる。印字ドット数は、９ピンによって印刷用紙に形成されたドットの数を、そのままカウントアップした値をカウント値として用いる。
【００４７】
印字行数は、印刷用紙や印字文字の大きさによってそれぞれ設定される。このプリンタ３では、印刷用紙１行に４２文字印字できる。印字ヘッド１７の移動（１文字平均６回）に換算すると２５２（６×４２）となる。従って、印字行数として読み出して使用するカウント値としては、ヘッドデータ≠０の場合にカウントアップされている値（稼動量３７）を２５２で割って、印字行数に換算した値を用いる。
【００４８】
そして、紙送り長さは、紙送りが行われるステップ数をカウントアップする。紙送りは、１ステップが１／１８０インチ単位で送られる。印字文字の１行は１／６インチ設定である。従って、紙送り長さとして読み出して使用するカウント値としては、カウントアップされている値を３０（１８０／６）で割って、紙送り行数として換算した値を用いる。もちろん、紙送り長さとして読み出して使用するカウント値としては、カウントアップされている値（稼動量３７）をそのまま用いることもできるが、紙送り行数の値を用いる方が稼動量３７を具体的に把握しやすい。
【００４９】
残る磁気インク文字の読み取り回数は、読み取りコマンドの実行時にカウントアップする。磁気インク文字の読み取りとして読み出して使用するカウント値は、カウントアップされている値（稼動量３７）をそのまま用いる。
【００５０】
これらのカウント値を利用すれば、プリンタ３用の試用ファームウエア（試用制御プログラム）等を試しに使ってもらう場合に、プリンタ３での印字数などを限定して、特定の条件下でのみ限定試用できるような設定が可能となる。
【００５１】
さらに、カウント値は、プリンタ３の稼動状態の把握にも使用出来る。例えば、印字文字数、カット回数や磁気インク文字の読み取り回数のカウンタ値からプリンタ３の印字ヘッド１７、オートカッタ部１８、磁気インク文字の読取ヘッド１９の稼動状態の取得、消耗度の判断ができる。そのため、プリンタ３の保守作業の時期や部品交換の時期が的確に把握できる。
【００５２】
次に、カウント値を記憶するフラッシュＲＯＭ１０について説明する。図２は、フラッシュＲＯＭのメモリ構成を示すメモリマップ図である。フラッシュＲＯＭ１０は、記憶している内容を自在に書き換え可能で、電源が遮断されても記憶内容を保持する不揮発性メモリである。
【００５３】
フラッシュＲＯＭ１０の構成は、電源投入時の初期化やファームウエアを書き換えるために必要な最小限のプログラムの集合体であるブート領域３０と、ファームプログラムを格納（記憶）するメインプログラム領域３１と、印字する文字のフォント等を格納するＣＧデータ領域３２と、各種稼動量３７をカウントアップし累積して記憶しておくカウンタ領域３３と、カウンタ値を記憶する処理中で不慮の電源遮断に備えるためのカウンタバックアップ領域３８と、カウンタ領域３３の値を必要に応じて保存（記憶）しておくカウンタ保存領域３４および試用ファームウエアであるサンプルファームのフラグ設定領域３５を有する未使用領域３６とから成っている。
【００５４】
ブート領域に格納されている必要最小限のプログラムは、電源投入時の初期化プログラムと、モード判定のためのプログラムと、ファームウエア書き換え等のためのメモリ書き換えプログラムである。これらはブートプログラムと呼ばれる。
【００５５】
メインプログラム領域３１には、ブートプログラムによって書き込まれた標準のファームウエアが格納されている。標準のファームウエアに加えて、カスタム仕様のファームウエアや、サンプルとして試用してみるためのファームウエア（サンプルファーム）等の追加が可能である。
【００５６】
サンプルファームは、試用として無償で提供される場合が多い。そこで、サンプルファームは、無償で無期限に使われることのないように、例えば所定の稼働時間経過後に試用できなくなるなどの試用限定の処置が施されていることが望ましい。このような形態のサンプルファームがフラッシュＲＯＭ１０へ書き込まれたことが判断できるように、サンプルファームが書き込まれてから最初の起動時に、サンプルファームのフラグ設定領域３５にフラグを設定する。フラグは、表１に示すように、サンプルファームのバージョン毎に設定されて、フラグ設定領域３５に書き込まれる。よって、サンプルファーム個々の管理ができる。
【００５７】
【表１】
2005346662.tif 000003
【００５８】
カウンタ領域３３には、カウントアップする稼動量３７として、稼働時間、オートカット回数、印字ドット数、紙送り長さ、印字文字数、印字行数および磁気インク文字読み取り回数があげられる。この領域に情報機器１およびプリンタ３のそれぞれの稼動量３７が先に説明したように回数や分などの単位でカウントされて格納されている。これらカウントされている稼動量３７は、情報機器１が設置された当初からの累積値である。
【００５９】
カウンタ保存領域３４には、サンプルファームのフラグが設定された際に、カウンタ領域の指定された稼動量３７を換算した値が、既カウント値として保存される。この指定された既カウント値と、カウンタ領域において累積されるプリンタ３の稼動量３７を換算したカウント値とを比較して、サンプルファームの試用可能期間が経過したかどうかが判断できる。この場合、稼働時間、紙送り長さ、印字文字数および印字行数は、それぞれ稼動量３７を換算したカウント値を用い、オートカット回数、印字ドット数および磁気インク文字読み取り回数は、カウントアップされた値をそのままカウント値として用いて比較判断する。
【００６０】
以上説明した情報機器１において、プリンタ３に関するサンプルファームをプリンタ３へ書き込んで試用する場合について、フローチャートを参照して説明する。図３は、サンプルファームの限定運用のフローを示すフローチャートである。サンプルファームがフラッシュＲＯＭ１０へ書き込まれてから、最初にサンプルファームが起動されると、ステップＳ１において、サンプルファームのフラグが未設定かどうかを、処理制御手段１２が確認する。
【００６１】
ステップＳ１においてフラグが未設定であれば、ステップＳ２において、サンプルファームのフラグが、フラッシュＲＯＭ１０のフラグ設定領域３５へ、設定部２２によって書き込まれる。次いで、ステップＳ３で、フラグを書き込んだ時点の既カウント値を、カウンタ保存領域３４へ保存する。そして、ステップＳ４において、ステップＳ３で保存した既カウント値に対応してサンプルファームの試用許可の期限を限定する限定カウント値が、取得部２１によって取得される。稼働時間によって期限を限定する場合には、稼働時間の限定カウント値を取得する。取得された限定カウント値は、カウンタ保存領域３４へ保存される。
【００６２】
これら保存した既カウント値と限定カウント値とを基にサンプルファームの試用期限限定の設定がなされる。カウンタ保存領域３４へ保存する既カウント値および限定カウント値は、稼動回数、オートカット回数、印字ドット数、紙送り長さ、印字文字数、印字行数および磁気インク文字読み取り回数のうちから一つあるいは複数を選択する。
【００６３】
サンプルファームが、プリンタ３用に特殊なフォントを搭載して、特殊なコマンドで印字を行うカスタム仕様のものであれば、印字文字数によって試用限定の設定を行うことが望ましい。ロール紙へのレシート印刷に関するサンプルファームであれば、紙送り長さとオートカット回数とを併用して試用限定の設定を行うことが望ましい。また、小切手決済用のサンプルファームであれば、磁気インク文字読み取り回数を用いて試用限定の設定を行える。さらに、標準ファームウエアのバージョンアップ等のサンプルファームの場合は、稼働時間によって試用限定の設定を行うことができる。このように、サンプルファームに合わせてさまざまな設定が可能である。
【００６４】
次に、ステップＳ５において、カウントアップされたカウンタ領域３３の稼動量３７を換算したカウント値が、既カウント値と限定カウント値との合計値より大きくなったかどうかを、判断部２３が判断する。ステップＳ５でカウンタ領域３３の稼動量３７を換算したカウント値の方が大きいと判断されれば、試用許可された稼動が既に行われたことになる。その場合、ステップＳ６において、プリンタ３の動作が、停止部２４によって停止させられる。
【００６５】
ステップＳ５において、カウンタ領域３３の稼動量３７を換算したカウント値の方が小さいと判断されれば、試用許可された期間内であり通常動作を開始する。なお、ステップＳ１において、既にフラグが設定されている場合は、ステップＳ５に進んでサンプルファームによる稼動が可能である。
【００６６】
ここで、図３のステップＳ５において、試用許可された期間に相当する稼動が行われたかどうかの判断の方法について、稼動量３７のカウント方法と合わせて、詳しく説明する。図４は、稼動量のカウント方法を示すフロ−チャートである。
【００６７】
通常動作が開始されると、ステップＳ１０において、カウンタ領域３３の稼動量３７がＲＡＭ１１へ保存される。保存は、書込部２０によって行われる。つまり、稼動量３７は、換算されてフラッシュＲＯＭ１０へ書き込まれる前に、一旦ＲＡＭ１１に保存される。例えばあるフラッシュＲＯＭ１０は書き換え自在なメモリであるが、書き換え可能な回数が約１０万回程度である。そのため、頻繁にフラッシュＲＯＭ１０への書き換えを行うことを控えるため、通常はＲＡＭ１１上へ稼動量３７を一旦保存する。
【００６８】
次にステップＳ１２において、通常動作を行う中で各種カウンタ値が変化し、カウントアップされた稼動量３７をＲＡＭ１１に書き込む。プリンタ３の稼動に合わせてＲＡＭ１１上の稼動量３７は、随時更新される。
【００６９】
次のステップＳ１３では、前回フラッシュＲＯＭ１０へ、稼動量３７を換算したカウント値を書き込んでから、２分が経過しているかどうかを判断する。経過時間は、計時部２６で計時して判断部２３へ通知される。ステップＳ１３で２分以上経過している場合、ステップＳ１４に進む。２分未満の場合は、ステップＳ１２へ戻り、ＲＡＭ１１上の稼動量３７の更新を継続する。
【００７０】
ステップＳ１４では、プリンタ３が待機状態かどうかを判断し、機構部１３が稼動していない待機状態であれば、ステップＳ１５において、フラッシュＲＯＭ１０へＲＡＭ１１上の稼動量３７を換算したカウント値を書き込む。このフラッシュＲＯＭ１０への書き込みをライトバックと称する。ライトバックは、プリンタ３が稼動状態の時には延期され、その場合、ステップＳ１６へ進む。
【００７１】
ステップＳ１６において、前回フラッシュＲＯＭ１０にカウント値を書き込んでから４分が経過しているかどうかを判断する。ステップＳ１６で４分経過していなければ、ステップＳ１７において、ＲＡＭ１１上の稼動量３７を更新する動作を継続し、ステップＳ１４、ステップＳ１６、ステップＳ１７の各ステップを繰り返し実行する。そして、ステップＳ１４において、プリンタ３が待機状態になれば、ステップＳ１５へ移りライトバックを実行する。
【００７２】
プリンタ３が待機状態にならずに、ステップＳ１６において、４分が経過すると、ステップＳ１８へ進み、フラッシュＲＯＭ１０へＲＡＭ１１上の稼動量３７を換算したカウント値を強制書き込みする。つまり、通常は、前回のライトバックから２分経過時点でライトバックを実行するが、プリンタ３が稼動している場合には、ライトバックは延期される。しかし、ライトバックが延期されても、４分が経過すれば、必ずライトバックを強行する。
【００７３】
ライトバックを強行する理由は、印字状態が継続され、長時間フラッシュＲＯＭ１０へカウント値が書き込まれないまま、プリンタの電源が遮断される事態を避けるためである。電源が遮断されると、ＲＡＭ１１の記憶内容は消えてしまうため、前回フラッシュＲＯＭ１０に保存した以降の印字状態が保存されない。また、その他にも、非定期なライトバックを実行する。その場合として、ブートプログラムによるメモリ書き換えモードに移行する時、復帰可能なエラーに入る時、カウンタリセットコマンドを実行する時、ＣＰＵ（Central  Processing  Unit）リセット時が挙げられる。
【００７４】
なお、カウント値を格納するフラッシュＲＯＭ１０のアドレスは、固定ではない。未使用領域３６への書き込みのタイミング時に、毎回既書き込みを消去して同じアドレスに書き込むのではなく、未使用領域３６へ追加書き込みを行う方式である。未使用領域３６が無くなってくれば、一旦カウンタ保存領域３４を消去してからカウント値を格納し直す。このとき、不慮の電源遮断に備えて、カウンタバックアップ領域３８を使用する。こうすればフラッシュＲＯＭ１０の書き換え回数を少なくできる。
【００７５】
ステップＳ１５およびステップＳ１８において、ライトバックが実行されると、次に、ステップＳ１９において、カウンタ領域３３の稼動量３７を換算したカウント値が、既カウント値と限定カウント値との合計の値より大きくなったかどうかを、判断部２３が判断する。大きくなければ、ステップＳ１２へ戻り、大きくなっていればステップＳ２０において情報機器の動作を停止することでカウント方法を示すフローは終了する。
【００７６】
以上、サンプルファームを試用するプリンタ３およびプリンタ３の制御方法についての実施形態を説明した。この実施形態により、無償で試用可能な試用制御プログラムが、無制限に使われることを防止できる。さらに、この実施形態における効果について、以下にまとめて述べる。
【００７７】
（１）本実施形態では、プリンタ３のフラッシュＲＯＭ１０に、導入されたサンプルファームのフラグを設定する。そして、フラグ設定時のプリンタ３が、いままでどのくらい稼動したかを表す既カウント値と、サンプルファームが持つ試用期間を限定する限定カウント値との合計値に、プリンタ３の稼動を表すカウント値が達するまで、サンプルファームの試用を許諾する。したがって、フラグを設定してからの各カウント値を管理することによって、サンプルファームの試用限定の期間を管理できる。
【００７８】
（２）サンプルファームのフラグは、サンプルファーム毎に設定するので、各サンプルファームを個々に管理できる。
【００７９】
（３）各サンプルファームの試用限定期間が経過すると、プリンタ３の機能を停止させて使用できなくする。これにより、サンプルファームの試用を続けることができずに、ファームウエアの正式発注を促すことができる。
【００８０】
（４）稼動量３７は、稼動時間、オートカッタ部１８で切断したカット回数、印字ヘッド１７による印字ドット数、印字文字数および印字行数、紙送り長さ、磁気インク文字の読み取り回数の７つから、１つあるいは複数を選択できる。サンプルファームの試用限定をどの稼動量を用いて行うかについて、選択の自由度があり、サンプルファームに合致した最適の選択が可能である。
【００８１】
（５）プリンタ３の機構部１３に関するカウント値から、機構部１３の各機構および部品が耐用寿命に近いことも把握でき、保守や交換が的確に行える。万一、機構部１３に不具合が生じた場合にも、使用状況が把握でき、不具合の解析に役立つ。
【００８２】
（６）稼動量３７、カウント値は、ホストコンピュータ２が取得できるので、例えば、ホストコンピュータ２による解析アプリケーション等での活用が可能である。
【００８３】
（７）ライトバックの設定時間が、２分および４分に限らず、プリンタ３の仕様やプリンタ３の使用状態に応じて変更可能である。
【００８４】
また、本発明は上記の実施形態に限定されるものではなく、次のような変形例が挙げられる。
【００８５】
（変形例１）サンプルファームの試用可能期間が経過したかどうかを判断する際に、稼働時間、紙送り長さ、印字文字数および印字行数のように稼動量３７を、分から時間のように異なる単位へ換算したカウント値にせずに、カウントアップされた値（稼動量３７）をそのまま用いても良い。
【００８６】
（変形例２）カウンタ領域３３の設定項目として、起動回数およびサンプルファームを書き込んでからの通算経過時間を、さらに設定しても良い。サンプルファームの試用限定をどの稼動量３７を用いて行うかについて、選択の自由度が広がる。
【００８７】
（変形例３）ステップＳ６において、試用期限が過ぎるとプリンタ３の動作を停止させて使用できなくしたが、プリンタ３やＰＯＳ端末４の電源を遮断しても良い。また、プリンタ３の全機能を停止させずに、一部機能だけを停止させることや、標準のファームウエアによる制御に戻り、以降サンプルファームが起動できないようにする設定であっても良い。
【００８８】
（変形例４）ステップＳ１９における判断を、ステップＳ１２およびステップＳ１７の直後に行うフローであっても良い。このフローであれば、２分あるいは４分の経過時間にかかわらず、サンプルファームの試用可能期間が経過した時点で、プリンタ３の稼動を直ちに停止できる。
【００８９】
（変形例５）プリンタ３に備えられている計時部２６を用いずに、情報機器１が有するホストコンピュータ２等の他の機器が有する計時部を用いても良い。
【００９０】
（変形例６）印刷機構は、ドットインパクト方式以外に、サーマル方式、あるいは静電アクチュエータ、ピエゾ素子や電気熱変換素子を用いたインクジェット方式でも良い。また、ロール紙への印刷はサーマル方式を用い、単票紙への印刷はドットインパクト方式を用いる併用方式も可能である。
【００９１】
（変形例７）プリンタ３以外のＰＯＳ端末に磁気インク文字読取ヘッド１９を搭載しても良い。
【図面の簡単な説明】
【００９２】
【図１】情報機器の構成を示すブロック図。
【図２】フラッシュＲＯＭのメモリ構成を示すメモリマップ図。
【図３】サンプルファームの限定運用のフローを示すフローチャート。
【図４】稼動量のカウント方法を示すフロ−チャート。
【符号の説明】
【００９３】
１…情報機器、２…ホストコンピュータ、３…プリンタ、４…ＰＯＳ端末、９…通信制御手段、１０…フラッシュＲＯＭ、１１…ＲＡＭ、１２…処理制御手段、１３機構部、１４…機構部制御手段、１５…ロール紙搬送部、１６…単票紙搬送部、１７…印字ヘッド、１８…オートカッタ部、１９…磁気インク文字読取ヘッド、３０…ブート領域、３１…メインプログラム領域、３２…ＣＧデータ領域、３３…カウンタ領域、３４…カウンタ保存領域、３５…フラグ設定領域、３６…未使用領域、３７…稼動量、３８…カウンタバックアップ領域。
【図１】
2005346662.tif 000004
【図２】
2005346662.tif 000005
【図３】
2005346662.tif 000006
【図４】
2005346662.tif 000007