(57)【要約】【課題】部品の装置本体への組付間違いを生じ難くできるプログラム判定処理装置、印刷装置及びプログラム判定処理方法を提供する。【解決手段】ＣＰＵ１３はＣＧＲＯＭ２２から仕向け情報を読み込み、フラッシュＲＯＭ１７に記憶されたプログラムの仕向け情報と、ＣＧＲＯＭ２２の仕向け情報とを比較する。これら仕向け情報が異なる場合、ＣＰＵ１３は間違った操作パネル８が組み付けられていると判断し、プリンタ１の動作を停止してエラー表示をＬＣＤ１１に表示させる。【選択図】        図２
2004249632.tif 000002
【特許請求の範囲】
【請求項１】
仕向け先に応じて異なる種類情報を出力可能な情報出力手段を有する要素部品と、
装置本体を制御するプログラムに含まれるバージョン情報と前記種類情報とを比較判定する判定手段と、
前記判定手段の判定結果に基づき前記バージョン情報が前記種類情報に適合しない場合に、その旨を報知する報知手段と
を備えたことを特徴とするプログラム判定処理装置。
【請求項２】
前記装置本体に配置され、少なくとも１つのプログラムが記憶された記憶手段を備え、
前記判定手段は前記記憶手段に記憶されたプログラムに含まれる前記バージョン情報と前記種類情報とを比較判定することを特徴とする請求項１に記載のプログラム判定処理装置。
【請求項３】
ホストコンピュータからプログラムをダウンロード可能なダウンロード手段を備え、
前記判定手段は前記ダウンロード手段によって受信したプログラムに含まれる前記バージョン情報と前記種類情報とを比較判定することを特徴とする請求項１又は２に記載のプログラム判定処理装置。
【請求項４】
前記判定手段の判定結果に基づき前記バージョン情報が前記種類情報に適合する場合に、その仕様バージョンのプログラムを実行プログラムとして設定する設定手段を備えたことを特徴とする請求項１〜３のうちいずれか一項に記載のプログラム判定処理装置。
【請求項５】
前記判定手段は階層化された前記バージョン情報のうち上位層情報に基づき比較判定を実行する構成であって、
前記判定手段の判定結果に基づき前記種類情報に適合するプログラムが複数ある場合に、前記バージョン情報に含まれる下位層情報に基づき最適な仕様バージョンを選択し、選択した仕様バージョンのプログラムを実行プログラムとして設定する設定手段を備えたことを特徴とする請求項１〜３のうちいずれか一項に記載のプログラム判定処理装置。
【請求項６】
前記下位層情報は前記プログラムの仕様バージョンのサポートレベルを示すカスタマイズ情報であり、前記設定手段は前記カスタマイズ情報に基づき実行プログラムを設定することを特徴とする請求項５に記載のプログラム判定処理装置。
【請求項７】
前記下位層情報は前記プログラムの仕様バージョンの更新日時を示す日付情報であり、前記設定手段は前記日付情報に基づき実行プログラムを設定することを特徴とする請求項５に記載のプログラム判定処理装置。
【請求項８】
前記装置本体をマニュアル操作可能な操作手段を備え、
前記設定手段は前記プログラムを前記操作手段によるマニュアル操作によって設定可能な設定モードを実行し、この設定モード実行時に選択された仕様バージョンのプログラムを実行プログラムとして設定することを特徴とする請求項４〜７のうちいずれか一項に記載のプログラム判定処理装置。
【請求項９】
前記要素部品は前記装置本体を操作するときに操作される操作パネルであり、前記情報出力手段は文字又は記号のフォントを記憶し、前記種類情報を予め記憶しているフォント用記憶手段であることを特徴とする請求項１〜８のうちいずれか一項に記載のプログラム判定処理装置。
【請求項１０】
請求項１〜９のうちいずれか一項に記載のプログラム判定処理装置と、印刷媒体に印刷処理を実行する印刷実行手段とを備えた印刷装置。
【請求項１１】
装置本体には仕向け先に応じて異なる種類情報を出力可能な情報出力手段を有する要素部品が組み付けられ、判定手段は前記装置本体を制御するプログラムに含まれるバージョン情報と前記種類情報とを比較判定し、報知手段は前記判定手段の判定結果に基づき前記バージョン情報が前記種類情報に適合しない場合に、その旨を報知することを特徴とするプログラム判定処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、装置本体に対し要素部品が組み付けられ、装置本体を制御するプログラムを用いて装置本体と要素部品との組付関係を判定処理するプログラム判定処理装置、印刷装置及びプログラム判定処理方法に関するものである。
【０００２】
【従来の技術】
従来、装置本体に対してパネルを分離可能とした印刷装置が特許文献１に開示されている。印刷装置はヘッド、モータ、制御回路を有する装置本体と、その装置本体に対し着脱可能なパネルとを備えている。パネルには印刷装置を操作するスイッチ、印刷装置の動作状態に応じて発光するＬＥＤ、印刷装置のプログラム及びフォントが記憶されたＲＯＭが取り付けられている。ここでフォントは日本語や英語等のキャラクタジェネレータデータのことである。
【０００３】
ところで、印刷装置は世界各国に出荷されることから、パネルの表示記載が各国によって異なり、それとともにスイッチやＬＥＤの配置位置及び個数も異なってくる。しかし、上記の印刷装置ではＲＯＭ付きパネルを仕向け先（出荷先）ごとに用意しておけば、装置本体に対し仕向け先の国用のパネルを取り付けるだけで仕向け先用の印刷装置が組み立てられるので、ＲＯＭとパネルとの両方を載せ替える必要性がなくなり便利である。
【０００４】
【特許文献１】
特開平５−２３８１０４号公報（第３−４頁、第３図）
【０００５】
【発明が解決しようとする課題】
ところで、装置本体がユーザ仕様に設定された場合には、見かけ上（パネルデザイン）では同じでも、その装置本体に対応したプログラムを有するＲＯＭ付きパネルを搭載する必要がある。しかし、上記構成では出荷先で装置本体の共用化が図れるものの、装置本体に対して間違ったＲＯＭ付きパネルを組み付けてしまう問題が生じていた。
【０００６】
本発明は前記の問題点に鑑みてなされたものであって、その目的は、部品の装置本体への組付間違いを生じ難くできるプログラム判定処理装置、印刷装置及びプログラム判定処理方法を提供することにある。
【０００７】
【課題を解決するための手段】
上記問題点を解決するために、本発明では、仕向け先に応じて異なる種類情報を出力可能な情報出力手段を有する要素部品と、装置本体を制御するプログラムに含まれるバージョン情報と前記種類情報とを比較判定する判定手段と、前記判定手段の判定結果に基づき前記バージョン情報が前記種類情報に適合しない場合に、その旨を報知する報知手段とを備えたことを要旨とする。
【０００８】
この構成によれば、プログラムに含まれるバージョン情報と種類情報とを比較判定し、その判定結果に基づきバージョン情報が種類情報に適合しない場合に、その旨が報知手段によって報知される。このため、装置本体に異なる要素部品が取り付けられた場合には、報知手段によってその旨が報知される。従って、装置本体に対して仕向け先の違う要素部品が誤って組み付けるられることがなく、装置本体と要素部品との間での組み付け間違いが生じ難くなる。なお、定義として「仕向け先」とは国単位の出荷先に限らず、メーカやユーザ等の広義を含むものとする。
【０００９】
本発明では、前記装置本体に配置され、少なくとも１つのプログラムが記憶された記憶手段を備え、前記判定手段は前記記憶手段に記憶されたプログラムに含まれる前記バージョン情報と前記種類情報とを比較判定することを要旨とする。この構成によれば、この種の装置ではプログラムを記憶する記憶手段を備えていることが多く、その記憶手段に記憶されたプログラムを用いて種類情報との比較判定を行うので、今までの構成から大幅な設計変更や部品追加等を要しない。
【００１０】
本発明では、ホストコンピュータからプログラムをダウンロード可能なダウンロード手段を備え、前記判定手段は前記ダウンロード手段によって受信したプログラムに含まれる前記バージョン情報と前記種類情報とを比較判定することを要旨とする。
【００１１】
この構成によれば、ホストコンピュータからプログラムを受信したとき、プログラムに含まれるバージョン情報と種類情報とが適合しない場合には、その旨が報知される。従って、ホストコンピュータから送られたプログラムが正しければ、要素部品が装置本体に間違えて組付けられることになり、装置本体と要素部品との組付け間違いが生じ難くなる。また、要素部品が装置本体に正しく組付けられているにも拘らず、バージョン情報と種類情報とが適合しない場合には、間違ったプログラムを受信したと判断され、誤ダウンロードの発生が生じ難くなる。
【００１２】
本発明では、前記判定手段の判定結果に基づき前記バージョン情報が前記種類情報に適合する場合に、その仕様バージョンのプログラムを実行プログラムとして設定する設定手段を備えたことを要旨とする。この構成によれば、バージョン情報と種類情報とが適合する場合には、その仕様バージョンのプログラムが実行プログラムとして設定されるので、要素部品に合った正しいプログラムを設定可能となる。
【００１３】
本発明では、前記判定手段は階層化された前記バージョン情報のうち上位層情報に基づき比較判定を実行する構成であって、前記判定手段の判定結果に基づき前記種類情報に適合するプログラムが複数ある場合に、前記バージョン情報に含まれる下位層情報に基づき最適な仕様バージョンを選択し、選択した仕様バージョンのプログラムを実行プログラムとして設定する設定手段を備えたことを要旨とする。
【００１４】
この構成によれば、バージョン情報が種類情報と適合するか否かの比較処理をデータ内容の軽い上位層情報で実施が行え、バージョン情報の全てを使用した場合に比べ扱うデータ量が少なく済み、比較処理が複雑化せずに簡単なものになる。また、比較処理の結果が複数存在しても下位層情報で特定することによって対応が図れる。
【００１５】
本発明では、前記下位層情報は前記プログラムの仕様バージョンのサポートレベルを示すカスタマイズ情報であり、前記設定手段は前記カスタマイズ情報に基づき実行プログラムを設定することを要旨とする。この構成によれば、カスタマイズ情報に基づき実行プログラムが設定されるので、例えばサポートレベルの最も高い仕様バージョンを実行プログラムとして設定可能になる。
【００１６】
本発明では、前記下位層情報は前記プログラムの仕様バージョンの更新日時を示す日付情報であり、前記設定手段は前記日付情報に基づき実行プログラムを設定することを要旨とする。この構成によれば、日付情報に基づき実行プログラムが設定されるので、例えば日付の最も新しい仕様バージョンを実行プログラムとして設定可能になる。
【００１７】
本発明では、前記装置本体をマニュアル操作可能な操作手段を備え、前記設定手段は前記プログラムを前記操作手段によるマニュアル操作によって設定可能な設定モードを実行し、この設定モード実行時に選択された仕様バージョンのプログラムを実行プログラムとして設定することを要旨とする。この構成によれば、例えばユーザは操作手段を用いて実行プログラムのマニュアル設定が行え、自分が設定したい仕様バージョンを実行プログラムとして設定可能となる。
【００１８】
本発明では、前記要素部品は前記装置本体を操作するときに操作される操作パネルであり、前記情報出力手段は文字又は記号のフォントを記憶し、前記種類情報を予め記憶しているフォント用記憶手段であることを要旨とする。この構成によれば、予め種類情報を記憶しているフォント用記憶手段を要素部品に取り付けるので、情報出力手段を新たに設ける必要がなく、部品点数の増加やそれに伴うコストアップが防げる。
【００１９】
本発明では、請求項のいずれか一項に記載のプログラム判定処理装置と、印刷媒体に印刷処理を実行する印刷実行手段とを備えたことを要旨とする。この構成によれば、印刷装置の装置本体に要素部品を組み付ける際に要素部品の組み付け間違いが発生し難くなる。特に、今日の印刷装置は海外向けに出荷される場合が多く、要素部品もその出荷先に応じたものに変更する機会が多くなるが、その際に要素部品の組み付け間違いが生じ難い。
【００２０】
【発明の実施の形態】
（第１実施形態）
以下、本発明を具体化したプログラム判定処理装置、印刷装置及びプログラム判定処理方法の第１実施形態を図１〜図７に従って説明する。
【００２１】
図１は、プリンタ１の斜視図である。印刷装置としてのプリンタ１はシートフィーダー２にセットされた単票紙、或いはロール紙支持部３にセットされたロール紙を装置本体４の内部に給紙する。プリンタ１は給紙した印刷媒体としての用紙５を印刷処理し、印刷が終了後の用紙を排紙口６から排紙トレイ７上に乗せて排紙する。プリンタ１には部品としての操作パネル８が設けられ、操作パネル８はプリンタ組み立て時に装置本体４に対して組み付けられて一体化されている。
【００２２】
操作パネル８には複数の操作手段としてのスイッチ（ボタン）９が設けられている。このスイッチ９には例えば電源投入時に押される電源スイッチ、クリーニング処理実行時に押されるメンテナンススイッチ、印刷を開始するときに押される印刷開始スイッチ等がある。また、操作パネル８には複数のＬＥＤ１０が設けられている。このＬＥＤ１０には例えば電源が投入されているときに点灯する電源ランプや、給紙動作時に用紙５がないときに点灯する用紙チェックランプ等がある。
【００２３】
装置本体４にはスイッチ９の近傍にモノクロ液晶からなる報知手段としてのＬＣＤ（液晶表示器）１１が設けられている。ＬＣＤ１１には用紙種類（単票紙又はロール紙）、用紙サイズ（Ａ４等）、レイアウト、写真選択、印刷枚数等をマニュアル選択するためのメニュー画面、エラー内容等が表示される。また、操作パネル８は各スイッチ９やＬＥＤ１０の機能を示すマーク（文字も含む）１２が示され、仕向け先に応じてスイッチ９、ＬＥＤ１０及びマーク１２は変更される。
【００２４】
図２は、プリンタ１の電気的構成を示すブロック図である。プリンタ１は装置本体４にＣＰＵ１３、フラッシュＲＯＭ１４、ＲＡＭ１５、インターフェース（Ｉ／Ｆ）１６、ＥＥＰＲＯＭ１７及び印刷制御部１８を備え、これら部材１３〜１８はバス１９を通じて接続されている。ＣＰＵ１３はプリンタ１のメイン制御を司り、フラッシュＲＯＭ１４に記憶された各種プログラムに基づきプリンタ１を作動させる。なお、ＣＰＵ１３は判定手段、報知手段、設定手段及びダウンロード手段を構成する。
【００２５】
装置本体４はプリンタ１のメカ機構に相当する印刷機構２０を備え、この印刷機構２０は例えばヘッド、キャリッジモータ、紙送りモータ等からなる。印刷制御部１８はヘッドや各種モータを駆動するためのＡＳＩＣや複数の駆動回路等からなる。Ｉ／Ｆ１６にはケーブルを介してホストコンピュータ（以下、ホストと記す）２１に接続され、印刷制御部１８はホスト２１から送信される印刷データに基づき印刷機構２０を駆動して印刷処理を実行する。なお、印刷制御部１８及び印刷機構２０が印刷実行手段に相当する。
【００２６】
パネル８の裏面側には情報出力手段（フォント用記憶手段）としてのＣＧＲＯＭ（キャラクタジェネレータ）２２及びパネルインターフェース（パネルＩ／Ｆ）２３が取着されている。ＣＧＲＯＭ２２はキャラクタ（文字や記号等）のパターンを示すＣＧデータを記憶し、パネルＩ／Ｆ２３を介してＣＰＵ１３に接続されている。パネルＩ／Ｆ２３はＣＰＵ１３に対しシリアル通信可能となっている。ＣＰＵ１３はホスト２１からの印刷データ受信時に、そのキャラクタコードをＣＧデータに基づき変換して印刷処理する。
【００２７】
図３は、フラッシュＲＯＭのメモリ構造を示す構造図である。フラッシュＲＯＭはアドレスの「００」側から順にブートプログラム２４、ダウンロードプログラム２５、プログラムバージョン２６、複数（本例では３つ）のプログラムＡ〜Ｃが書き込まれている。フラッシュＲＯＭ１４は記憶領域がブロック単位に区切られ、ブートプログラム２４が書き換え不可能領域２７に、ダウンロードプログラム２５、プログラムバージョン２６及びプログラムＡ〜Ｃが書き換え可能領域２８に書き込まれている。
【００２８】
ブートプログラム２４はプリンタ起動時に最初に実行され、プリンタ１の初期化や、ＣＰＵ１３のアクセス先を決定したりする。また、ブートプログラム２４はフラッシュＲＯＭ１４に複数のプログラムＡ〜Ｃが記憶された場合に、その中からどの仕様バージョンのプログラムを実行プログラムとして設定するか否かを判定する判定プログラム２９が含まれている。ダウンロードプログラム２５はホスト２１からプログラムをダウンロードするときに実行される。
【００２９】
プログラムＡ〜Ｃはブートプログラム２４以降においてプリンタ１を稼働させるためのプリンタ制御プログラムである。ＣＰＵ１３はブートプログラム２４内の判定プログラム２９に基づき、複数のプログラムＡ〜Ｃの中から１つを実行プログラムとして選択し、そのプログラム番号（バージョン番号）をＥＥＰＲＯＭ１７に記憶するプログラム判定処理を実行する。各プログラムＡ〜Ｃには仕様バージョン毎にサポート仕様バージョン３０が割り付けられている。なお、プログラムバージョン２６及びサポート仕様バージョン３０がバージョン情報を構成する。
【００３０】
図４（ａ）は、プログラムバージョン２６のデータ構造である。プログラムバージョン２６は大別的に言うとプリンタ１の仕向けバージョンを設定するためのデータであり、先頭側から順にデータコード３１、機種番号３２、仕向け情報３３を有している。データコード３１はデータ内容がプログラムであることを示す情報であり、機種番号３２は各プログラムＡ〜Ｃが対応可能なプリンタ機種名を示す情報である。なお、仕向け情報３３が上位層情報を構成する。
【００３１】
また、仕向け情報３３は例えば４ビットのデータからなり、プリンタ１の仕向け先を示す情報である。仕向けが例えば出荷国単位で設定される場合、日本がＪ、韓国がＫ、中国がＣ等の文字が割り付けられる。なお、仕向け情報３３は出荷国の他に例えばユーザ単位で設定されるもの、出荷国を指定してそのプログラムのバージョンが指定されたもの、出荷国を指定してその中からさらにユーザ単位で設定されたものでもよい。
【００３２】
図４（ｂ）は、サポート仕様バージョン３０のデータ構造である。サポート仕様バージョン３０は大別的に言うと各プログラムＡ〜Ｃの仕様バージョンの性能や機能レベルを示すデータであり、先頭側から順に日付情報３４及びカスタマイズ情報３５を有している。日付情報３４は各プログラムＡ〜Ｃの更新日時（年月日、時間）を示す情報である。なお、日付情報３４及びカスタマイズ情報３５が下位層情報を構成している。
【００３３】
カスタマイズ情報３５はサポート仕様バージョン３０のサポートレベルを示すもので、例えばＣＧデータに関してこのフォントまでは印刷可能であるというフォーマットに関する情報である。ここで、プログラムＡ〜Ｃは最新日付であってもサポートレベルが最も高いものとは限らず、例えば古い内容であってもバージョン更新がなされていればそれが最新日時の仕様バージョンを有したプログラムとなる。
【００３４】
図４（ｃ）は、ＣＧデータが有する種類情報３６のデータ構造である。ＣＧＲＯＭ２２に記憶されたＣＧデータ（フォント）の先頭には種類情報３６が設けられている。種類情報３６は先頭側から順にデータコード３７、仕向け情報３８、サポートレベル３９、日付情報４０を有している。データコード３７はデータ内容がＣＧデータであることを示す情報である。日付情報４０はＣＧデータの作成日時（年月日、時間）を示す情報である。
【００３５】
仕向け情報３８は例えば４ビットのデータからなり、フラッシュＲＯＭ１４に記憶されたプログラムＡ〜Ｃの仕向け情報３３と対応する情報である。仕向け情報３８はＣＧデータが例えば日本語の場合にはＪ、韓国語の場合にはＫ、中国語の場合にはＣ等の文字が割り付けられる。サポートレベル３９は仕向け情報３８を詳細化したもので、ＣＧデータの性能や機能レベルを示す情報である。
【００３６】
図２に示すＣＰＵ１３は、ホスト２１から送信されるダウンロードプログラムをフラッシュＲＯＭ１４に記憶するダウンロード機能を備えている。このダウンロード機能ではプリンタ１の特定のスイッチを押しながら電源を投入した場合にプリンタ１がダウンロードモードになる。ダウンロードモードではダウンロードプログラム２５がＲＡＭ１５等のフラッシュＲＯＭ１４以外で実行され、これに伴ってホスト２１からプログラムを受信してプログラムがフラッシュＲＯＭ１４に記憶される。なお、本例ではフラッシュＲＯＭ１４に記憶されたプログラムＡ〜Ｃはホスト２１からダウンロードされたものとする。
【００３７】
次に、上記の通りに構成されたプリンタ１の作用を説明する。
製造過程としては、まず装置本体４と操作パネル８とを組み付け、その後にホスト２１からプログラムＡ〜Ｃを含む制御プログラムをプリンタ１のフラッシュＲＯＭ１４にダウンロードする手順をとることとする。ここではプログラムＡ〜Ｃを１つずつ送るのではなく、プログラムＡ〜Ｃを１つのかたまりとして送信する。プリンタ１をダウンロードモードとした後に、プログラムバージョン２６とプログラムＡ〜Ｃとからなるプリンタ制御プログラムをプリンタ１にダウンロードする旨の操作がホスト２１でなされると、ホスト２１はプリンタ制御プログラムをプリンタ１に向けて送信する。
【００３８】
ホスト２１はこのプログラムを例えば所定バイト単位に分割し、バイト単位ごとにチェックサムを付与してプリンタ１に送信する。ＣＰＵ１３はプログラムをバイト単位のデータごとに受け付け、それを順にＲＡＭ１５に記憶していく。このとき、ＣＰＵ１３は各バイト単位が有するチェックサムの合計を計算し、チェックサムの比較処理を実行する。
【００３９】
ＣＰＵ１３はチェックサムの比較結果が正しければ、ブートプログラム２４内の判定プログラム２９に基づき以下に示すプログラム判定処理を実行し、比較結果が異なる場合にはダウンロードしたプログラムを破棄する。まず、ＣＰＵ１３はＣＧＲＯＭ２２から仕向け情報３８を読み込み、ダウンロードしたプログラムのプログラムバージョン２６に含まれる仕向け情報３３と仕向け情報３８とを比較する。これら仕向け情報３３，３８が異なる場合、ＣＰＵ１３は間違った操作パネル８が組み付けられていると判断し、プリンタ１の動作を停止してエラー表示をＬＣＤ１１に表示させる。
【００４０】
ここで、プリンタ１の動作の停止としては、電源投入状態となっているものの現在行っているプリンタ動作を強制的に停止する処理を採用している。また、エラー表示の表示内容としては、例えば「操作パネル８を正しいものに組み替えて下さい」や「間違った操作パネル８が組み付けられています」等の文字表示を採用している。
【００４１】
一方、これら仕向け情報３３，３８が一致した場合、ＣＰＵ１３はＲＡＭ１５に記憶したダウンロードしたプリンタ制御プログラムをフラッシュＲＯＭ１４に書き込む。そして、ＣＰＵ１３はフラッシュＲＯＭ１４に記憶された仕向け先が同じプログラムの中から、サポートレベル３９に対応したカスタマイズ情報３５を有するサポート仕様バージョン３０のものを特定する。即ち、ＣＧＲＯＭ２２のＣＧデータを正しく印刷処理可能なサポート仕様バージョン３０を有するプログラムを特定し、本例ではサポート仕様バージョン３０ａ，３０ｂが特定されたとする。
【００４２】
続いて、ＣＰＵ１３は特定したサポート仕様バージョン３０ａ，３０ｂのプログラムＡ，Ｂについてサポート仕様バージョン３０ａ，３０ｂの日付情報３４に基づき日付を比較する。ここで、サポート仕様バージョン３０ａの日付情報３４の方が新しいとすると、ＣＰＵ１３は最新日付のサポート仕様バージョン３０ａを選択し、そのサポート仕様バージョン３０ａのカスタマイズ情報３５を実行プログラムのプログラム番号としてＥＥＰＲＯＭ１７に記憶する。
【００４３】
プログラムダウンロードが完了した後に、誤って例えば仕向け先の異なる操作パネル８が装置本体４に組み替えられたとする。この状態で電源が再投入されると、ＣＰＵ１３はブートプログラム２４内の判定プログラム２９に基づき、同様のプログラム判定処理を実行する。ＣＰＵ１３はＣＧＲＯＭ２２からパネルＩ／Ｆ２３を介して仕向け情報３８を読み込み、この仕向け情報３８とプログラムバージョン２６の仕向け情報３３とを比較する。これら仕向け情報３３，３８が異なる場合、ＣＰＵ１３は間違った操作パネル８が組み付けらと判断し、プリンタ１の動作を停止してエラー表示をＬＣＤ１１に表示させる。
【００４４】
一方、これら仕向け情報３３，３８が正しい場合、ＣＰＵ１３はＣＧデータの種類情報３６のサポートレベル３９に基づき、仕向け先が同じであるサポート仕様バージョン３０ａ〜３０ｃの中から、このサポートレベル３９に対応したカスタマイズ情報３５を有するサポート仕様バージョンを特定する。即ち、ＣＧＲＯＭ２２のＣＧデータを正しく印刷処理可能なサポート仕様バージョンを特定し、本例では例えばサポート仕様バージョン３０ａ，３０ｂが特定されたとする。
【００４５】
続いて、ＣＰＵ１３は特定したサポート仕様バージョン３０ａ，３０ｂのカスタマイズ情報３５が、ＥＥＰＲＯＭ１７に記憶されたカスタマイズ情報３５と同じバージョンか否かを判断する。そして、バージョンが異なる場合にはサポート仕様バージョン３０ａ，３０ｂのうち最新の日付情報３４を有するサポート仕様バージョンのカスタマイズ情報３５がＥＥＰＲＯＭ１７に上書きされ、同じであれば元々記憶されたプログラムがそのまま使用される。
【００４６】
ＣＰＵ１３はユーザがマニュアル操作によって自分でプログラムを設定する設定モードも実行可能である。以下に詳述すると、スイッチ９を操作して設定モードが選択されると、ＣＰＵ１３はプログラムバージョン２６及びサポート仕様バージョン３０並びに種類情報３６を読み込む。ＣＰＵ１３はサポート仕様バージョン３０ａ〜３０ｃの中からサポートレベル３９に対応したカスタマイズ情報３５を有するサポート仕様バージョンを特定する。そして、ＣＰＵ１３は特定したサポート仕様バージョン３０ａ，３０ｂのバージョン内容を列記して印刷出力する。
【００４７】
印刷出力の後、ＣＰＵ１３はＥＥＰＲＯＭ１７に記憶された現在選択されているサポート仕様バージョン３０ａのバージョン内容をＬＣＤ１１に表示する。そして、現在表示中のサポート仕様バージョン３０ａを選択した場合には、そのサポート仕様バージョン３０ａのプログラムを実行プログラムとして設定する。一方、現在表示中のサポート仕様バージョン３０ａに同意しない場合には、スイッチ９を操作して次のサポート仕様バージョン３０ｂがＬＣＤ１１に表示され、バージョン決定するまでこの動作が繰り返される。
【００４８】
次に、ＣＰＵ１３がプログラム判定処理を行う際に実行する処理を図５〜図７のフローチャートに従って説明する。なお、これらフローチャートは図５がプログラムダウンロード時、図６が電源投入時、図７が設定モード時に実行される。
【００４９】
Ｓ１０１では、部品の種類情報３６を取得する。ここでは、パネルＩ／Ｆ２３を介してＣＧＲＯＭ２２から種類情報３６を取得する。
Ｓ１０２では、ホスト２１から送信されるプログラムのダウンロードを実行する。ここでは、ホスト２１から送信されるプリンタ制御プログラムをＲＡＭ１５に一旦記憶し、そのプログラムのチェックサムについて正否判断を行って、間違っていればプリンタ制御プログラムを破棄する。
【００５０】
Ｓ１０３では、ダウンロードしたプリンタ制御プログラムのプログラムバージョン２６を取得する。ここでは、ＲＡＭ１５に一旦記憶された状態のプリンタ制御プログラムから仕向け情報３３を取得する。
【００５１】
Ｓ１０４では、部品の種類がプログラムでサポートする仕向けと一致するか否かを判断する。即ち、ダウンロードしたプリンタ制御プログラムの仕向け情報３３とＣＧデータの仕向け情報３８とを比較して、一致しなければＳ１０５、一致すればＳ１０６に移行する。なお、これら仕向け情報３３，３８が一致したときには、ダウンロードしたプログラムＡ〜ＣがフラッシュＲＯＭ１４に書き込まれる。
【００５２】
Ｓ１０５では、プリンタ１を停止してエラー状態を表示する。エラー状態の表示としてはＬＣＤ１１に操作パネル８の部品交換、或いは異なるプログラムで再ダウンロードの旨を表示する。
【００５３】
Ｓ１０６では、部品に適合する全てのサポート仕様バージョンを特定する。例えば、ここではＣＧデータのサポートレベル３９に適合したカスタマイズ情報３５を有するサポート仕様バージョン３０としてサポート仕様バージョン３０ａ，３０ｂが特定される。
【００５４】
Ｓ１０７では、Ｓ１０６で特定したサポート仕様バージョン３０の日付を日付情報３４に基づき比較する。
Ｓ１０８では、Ｓ１０６で特定したサポート仕様バージョン３０ａ，３０ｂのうち最新の日付を有するサポート仕様バージョン３０ａのカスタマイズ情報３５をＥＥＰＲＯＭ１７に記憶する。
【００５５】
次に、プリンタ１の電源投入時に実行されるプログラム判定処理を図６に従って説明する。なお、このフローチャートはフラッシュＲＯＭ１４にプログラムＡ〜Ｃがダウンロードされた場合を例として説明する。
【００５６】
Ｓ２０１では、プリンタ１に電源が投入されると、装置本体４に組み付けられた部品の種類情報３６を取得する。ここでは、パネルＩ／Ｆ２３を介してＣＧＲＯＭ２２から種類情報３６を取得する。
【００５７】
Ｓ２０２では、プログラムバージョン２６及びサポート仕様バージョン３０を取得する。
Ｓ２０３では、部品の種類がプログラムでサポートする仕向けと一致するか否かを判断する。即ち、プログラムバージョン２６の仕向け情報３３とＣＧデータの仕向け情報３８とを比較して、一致しなければＳ２０４、一致すればＳ２０５に移行する。
【００５８】
Ｓ２０４では、プリンタ１を停止してエラー状態を表示する。エラー状態の表示としてはＬＣＤ１１に部品交換の旨を表示する。
Ｓ２０５では、部品に適合する全てのサポート仕様バージョン３０を特定する。本例では、ＣＧデータのサポートレベル３９に適合したカスタマイズ情報３５を有するサポート仕様バージョン３０として、フラッシュＲＯＭ１４に記憶されたサポート仕様バージョン３０ａ〜３０ｃのうち、例えばサポート仕様バージョン３０ａ，３０ｂが特定される。
【００５９】
Ｓ２０６では、Ｓ２０５で特定したサポート仕様バージョン３０の中に、ＥＥＰＲＯＭ１７に記憶されたカスタマイズ情報３５と同じバージョンがあるか否かを判断する。ここでは、サポート仕様バージョン３０ａ，３０ｂの中にＥＥＰＲＯＭ１７のバージョンと同じものがなければＳ２０７に移行し、同じものがあればＳ２０９に移行する。
【００６０】
Ｓ２０７では、Ｓ２０５で特定したサポート仕様バージョン３０の日付を日付情報３４に基づき比較する。即ち、サポート仕様バージョン３０ａ，３０ｂの日付情報３４のうち、どちらが新しいかを比較する。
【００６１】
Ｓ２０８では、Ｓ２０５で特定したサポート仕様バージョン３０のうち最新の日付を有するサポート仕様バージョン３０をＥＥＰＲＯＭ１７に記憶する。本例では、サポート仕様バージョン３０ａのカスタマイズ情報３５がＥＥＰＲＯＭ１７に上書きされ、プログラムＡがプリンタ１の実行プログラムとして設定される。
【００６２】
Ｓ２０９では、印刷前のシステム初期動作である装置初期化を実行する。
Ｓ２１０では、ホスト２１から印刷データを受信したときには印刷制御を実行する。
【００６３】
次に、実行プログラムをマニュアル設定する設定モード時に実行される処理を図７に従って説明する。なお、設定モードはユーザのスイッチ９の操作によってモード実行状態となる。
【００６４】
Ｓ３０１では、部品の種類情報３６を取得する。ここでは、パネルＩ／Ｆ２３を介してＣＧＲＯＭ２２から種類情報３６を取得する。
Ｓ３０２では、プログラムバージョン２６及びサポート仕様バージョン３０を取得する。
【００６５】
Ｓ３０３では、部品に適合する全てのサポート仕様バージョン３０を特定する。本例では、ＣＧデータのサポートレベル３９に適合したカスタマイズ情報３５を有するサポート仕様バージョン３０として、フラッシュＲＯＭ１４に記憶されたサポート仕様バージョン３０ａ〜３０ｃのうち、仕様バージョン３０ａ，３０ｂが特定される。
【００６６】
Ｓ３０４では、特定したサポート仕様バージョン３０を列記して印刷する。例えば、サポート仕様バージョン３０ａ，３０ｂのバージョン名とその詳細内容とが仕様バージョン毎に印刷された用紙が出力される。
【００６７】
Ｓ３０５では、現在のサポート仕様バージョン３０をＬＣＤ１１に表示する。ここでは、まずサポート仕様バージョン３０ａのバージョン名が表示される。
Ｓ３０６では、現在表示のサポート仕様バージョン３０を選択するか否かを判断する。ここで、ユーザはＬＣＤ１１に表示されたサポート仕様バージョン３０ａのプログラムを実行プログラムとして設定するときには決定スイッチを、同意しないときには送りスイッチを押す。そして、ＬＣＤ１１に現在表示されたサポート仕様バージョン３０ａを選択した場合にはＳ３０７に移行し、選択しなければＳ３０８に移行する。
【００６８】
Ｓ３０７では、選択したサポート仕様バージョン３０をＥＥＰＲＯＭ１７に記憶する。このため、ユーザがマニュアル設定したプログラムがプリンタ１の実行プログラムとして設定される。
【００６９】
Ｓ３０８では、次の仕様バージョンをＬＣＤ１１に表示する。そして、Ｓ３０５及びＳ３０６の処理を再度実行する。
本例では、フラッシュＲＯＭ１４に記憶されたプログラムバージョン２６の仕向け情報３３とＣＧデータの仕向け情報３８とを比較し、これら仕向け情報３３，３８が異なる場合には、操作パネル８を組み替える旨がＬＣＤ１１に表示される。従って、装置本体４に対して仕向け先の違う操作パネル８が誤って組み付けられることがなく、装置本体４と操作パネル８との間での組み付け間違いが生じ難くなる。
【００７０】
また、フラッシュＲＯＭ１４に複数の仕様バージョンがある場合には、これらプログラムのカスタマイズ情報３５とＣＧデータのサポートレベル３９とが比較され、サポートレベル３９に対応するカスタマイズ情報３５を有するサポート仕様バージョン３０が特定される。そして、これらサポート仕様バージョン３０のうち最新日付のものがＥＥＰＲＯＭ１７に実行プログラムとして記憶される。従って、フラッシュＲＯＭ１４に複数のプログラムが記憶されていても、その中から最適な１つを実行プログラムとして設定可能となる。
【００７１】
プログラムをプリンタ１にダウンロードする場合も、ダウンロードしたプログラムの仕向け情報３３とＣＧデータの仕向け情報３８とを比較し、一致しなければＬＣＤ１１に部品組み替えを促す旨の表示を行う。従って、プリンタ１にプログラムをダウンロードした際に部品組み付け間違いが分かり、操作パネル８の組み付け間違いが生じ難くなる。一方、組み付けが正しいにも拘らずエラーが表示される場合は、ダウンロードしたプログラムが間違っていることになって誤ダウンロードも防げる。
【００７２】
従って、この実施形態では以下の効果を得ることができる。
（１）フラッシュＲＯＭ１４に複数のプログラムＡ〜Ｃが記憶されている場合、これらプログラムのプログラムバージョン２６の仕向け情報３３とＣＧデータの仕向け情報３８とが比較される。そして、これら仕向け情報３３，３８が異なる場合には、ＬＣＤ１１にエラー表示がなされるので、これに伴って組み替え作業が行われることになり、装置本体４と操作パネル８の組み付け間違いを生じ難くできる。
【００７３】
（２）ホスト２１からプリンタ１にプログラムをダウンロードするときにはプログラム判定処理が実行され、仕向け情報３３，３８が異なる場合にはＬＣＤ１１にエラー表示がなされる。従って、プログラムダウンロード時に部品の組み付け間違いを判断できる。また、装置本体４と操作パネル８との組み付けが正しいにも拘らずエラーが表示された場合には、間違ったプログラムを受信したと判断でき、プリンタ１に仕向けと異なるプログラムをダウンロードすることがない。
【００７４】
（３）フラッシュＲＯＭ１４に複数のプログラムＡ〜Ｃが記憶されている場合には、ＣＧデータのサポートレベル３９に適合する全てのサポート仕様バージョン３０が特定され、その中から最新日付のサポート仕様バージョン３０のカスタマイズ情報３５が実行プログラムの情報としてＥＥＰＲＯＭ１７に記憶される。従って、フラッシュＲＯＭ１４に複数の使用バージョンが存在していても、その中から最適な１つ（本例では最新日付のバージョン）を実行プログラムとして設定できる。
【００７５】
（４）プリンタ１はサポート仕様バージョン３０をマニュアル設定するための設定モードを備えているので、ユーザは好みのプログラムを自分で設定することができる。
【００７６】
（５）フラッシュＲＯＭ１４の中から実行プログラムを決定するときに日付情報３４で比較するので、最も新しい日付のプログラムを実行プログラムとして設定できる。
【００７７】
（６）プログラムのバージョン情報と種類情報３６とを比較判定は、仕向け情報３３，３８のみを用いて行うので、比較の際に扱うデータ量が少なく済み、比較処理が複雑化しない。
【００７８】
（７）仕向け情報３８を記憶するＣＧＲＯＭ２２を操作パネル８に取り付けて、その仕向け情報３８をプログラム判定処理の際に使用している。従って、操作パネル８に仕向け情報３８を出力する専用の部品を取り付ける必要がなくなり、部品点数の増加及びそれに伴うコスト上昇が低く抑えられる。
【００７９】
（第２実施形態）
次に、第２実施形態を図８に従って説明する。本例は第１実施形態と比較して、情報出力手段の構成が異なっており、他の構成は同じである。よって、同一部分に関しては同一符号を付して詳しい説明を省略し、異なる部分についてのみ説明する。
【００８０】
図８は、プリンタ１の電気的構成を示すブロック図である。操作パネル８にはレジスタ５１が取り付けられ、レジスタ５１の出力側にはＣＰＵ１３が接続されている。レジスタ５１は操作パネル８の仕向け先に応じた仕向け情報３８を出力可能である。また、ＣＧＲＯＭ２２は装置本体４に配置され、バス１９に接続されている。
【００８１】
プリンタ１に電源が投入されると、ＣＰＵ１３はレジスタ５１から仕向け情報３８を読み込む。そして、ＣＰＵ１３はフラッシュＲＯＭ１４のプログラムバージョン２６に含まれる仕向け情報３３と、レジスタ５１から読み込んだ仕向け情報３８を比較し、異なっていれば操作パネル８を交換する旨をＬＣＤ１１に表示する。
【００８２】
一方、比較結果が正しければフラッシュＲＯＭ１４内のサポート仕様バージョン３０の中から最適なバージョンを特定して、そのサポート仕様バージョン３０のカスタマイズ情報３５をＥＥＰＲＯＭ１７に記憶する。なお、本例はプリンタ１がホスト２１からプリンタ制御プログラムをダウンロードしたときのプログラム判定処理についても同様に実施可能である。
【００８３】
この構成においても第１実施形態の（１）〜（６）と同様な効果が得られる他に、次の効果が得られる。
（８）ＣＧＲＯＭ２２を装置本体４に配置し、仕向け情報３８を出力可能なレジスタを操作パネル８に取り付ける構成であるので、装置本体４に予めＣＧＲＯＭ２２が搭載されたプリンタ１であっても、部品の組み替え間違いを判断するプログラム判定処理が実施できる。
【００８４】
なお、実施形態は前記に限定されず、以下の態様に変更してもよい。
（変形例１）ホスト２１からプリンタ１にダウンロードするものはプログラムに限定されず、ＣＧデータを含んでいてもよい。ここで、ＣＧデータを含んだプログラムをプリンタ１にダウンロードする構成の場合、ＣＰＵ１３は元々備え付けのＣＧＲＯＭ２２とフラッシュＲＯＭ１４との両方からＣＧデータを取得する構成となる。
【００８５】
（変形例２）電源投入時に装置本体４と操作パネル８との組み付け間違いを判断するとき、仕向け情報３３，３８で判断する構成に限らず、日付情報３４、カスタマイズ情報３５、サポートレベル３９、日付情報４０等も用いて実施してもよい。また、プログラムダウンロードモードのときも同様である。
【００８６】
（変形例３）プリンタ１にはプログラムダウンロードモード及び設定モードの機能があるが、これら機能はなくてもよい。
（変形例４）プログラムに含まれるバージョン情報は各種情報３１〜３５に限らず、これ以外の情報を有する構成でもよい。また、ＣＧデータが有する種類情報３６についても同様であり、各種情報３７〜４０以外の情報を有する構成でもよい。
【００８７】
（変形例５）電源投入時にはＳ２０３で部品の種類がプログラムでサポートする仕向けと一致するか否かを判断するが、ここでバージョン情報を仕向け情報３３，３８以外を用いて詳細に比較して、その仕様バージョンをそのままＥＥＰＲＯＭ１７に記憶する構成でもよい。また、プログラムダウンロードモードのときも同様である。
【００８８】
（変形例６）実行プログラムを設定するときの対象はカスタマイズ情報３５に限定されない。例えば、実行プログラムとして設定された仕様バージョンのフラッシュＲＯＭ１４内の先頭アドレスをＣＰＵ１３が記憶し、プログラム実行時にはそのアドレスにアクセスする構成としてもよい。また、１つのプログラム内に設けられた条件分岐のためのラベル定義名を用いてもよい。
【００８９】
（変形例７）要素部品は操作パネル８に限らず、例えばＩ／Ｆ基板等のような仕向け先で仕様が変わる部品であれば特に限定されない。
（変形例８）ＣＰＵ１３はプリンタ１の電源が投入されていても或いは投入されていなくても、ホスト２１からダウンロード用のプログラムが送信されれば、そのプログラムを受信可能な構成としてもよい。
【００９０】
（変形例９）情報出力手段はＣＧＲＯＭ２２やレジスタ５１に限定されない。例えば操作パネル８のＬＥＤ１０でもよく、電源投入時にＬＥＤ１０を発光する構成とし、そのときに流れる電流を検知して、その組み合わせを仕向け情報として取り扱ってもよい。
【００９１】
（変形例１０）報知手段はＬＣＤ１１に限らず、例えば専用のＬＥＤを操作パネル８に設けて発光させる方法や、装置本体４にスピーカを組み付けて警告音を出す方法を用いてもよい。
【００９２】
（変形例１１）設定モード時のバージョン番号の表示は全てのサポート仕様バージョン３０ａ〜３０ｃが一画面に一括表示される形式や、バージョン番号を１つのみ表示してスイッチを押すことで次のバージョン番号が表示される形式のどちらでもよい。
【００９３】
（変形例１２）プリンタ１とホスト２１との通信形式は無線、有線のどちらを採用してもよい。
（変形例１３）フラッシュＲＯＭ１４に記憶されたプログラムはＡ〜Ｃの３つとしたが、これに限らず１つ、２つ或いは４つ以上等で適宜変更してもよい。
【００９４】
（変形例１４）実行プログラムとして設定されたカスタマイズ情報３５の記憶先はＥＥＰＲＯＭ１７に限らず、フラッシュＲＯＭ１４の１ブロックを記憶領域として用い、そこに書き込んだカスタマイズ情報３５を実行プログラムとして設定してもよい。
【００９５】
（変形例１５）プリンタ１はインクジェット式に限らず、例えばレーザ式等の他の構成を採用してもよい。また、プログラム判定処理装置はプリンタ１に限らず、装置本体４と操作パネル８とを有していれば他の電気製品であってもよい。
【００９６】
前記実施形態及び別例から把握できる技術的思想について、以下にその効果とともに記載する。
（１）請求項１〜９のいずれかにおいて、前記報知手段は、前記判定手段の判定結果に基づき前記バージョン情報が前記種類情報に適合しない場合に、前記装置本体の駆動を停止する。
【００９７】
（２）請求項１〜９のいずれかにおいて、実行プログラムを記憶するための第２記憶手段（１７）と、前記第２記憶手段の前記実行プログラムに従ってメイン制御を実行する制御手段（１３）とを備え、前記設定手段は選択した仕様バージョンのプログラムを第２記憶手段（１７）に記憶することで実行プログラムの設定を実行する。
【００９８】
（３）請求項１１において、前記装置本体に配置された記憶手段には少なくとも１つのプログラムが記憶され、前記判定手段は前記記憶手段に記憶されたプログラムに含まれる前記バージョン情報と前記種類情報とを比較判定する。
【００９９】
（４）請求項１１又は前記技術的思想（３）において、前記判定手段は前記ダウンロード手段によってホストコンピュータから受信したプログラムに含まれる前記バージョン情報と前記種類情報とを比較判定する。
【０１００】
（５）請求項１１及び前記技術的思想（３），（４）のいずれかにおいて、前記判定手段の判定結果に基づき前記バージョン情報が前記種類情報に適合する場合に、設定手段はその仕様バージョンのプログラムを実行プログラムとして設定する。
【０１０１】
（６）請求項１１及び前記技術的思想（３）〜（５）のいずれかにおいて、前記判定手段は階層化された前記バージョン情報のうち上位層情報に基づき比較判定を実行する構成であって、前記判定手段の判定結果に基づき前記種類情報に適合するプログラムが複数ある場合に、設定手段は前記バージョン情報に含まれる下位層情報に基づき最適な仕様バージョンを選択し、選択した仕様バージョンのプログラムを実行プログラムとして設定する。
【０１０２】
（７）請求項１１及び前記技術的思想（３）〜（６）のいずれかにおいて、前記設定手段は前記プログラムを操作手段によるマニュアル操作によって設定可能な設定モードを実行し、この設定モード実行時に選択された仕様バージョンのプログラムを実行プログラムとして設定する。
【０１０３】
（８）請求項１１及び前記技術的思想（３）〜（７）のいずれかにおいて、前記要素部品は前記装置本体を操作するときに操作される操作パネルであり、前記情報出力手段は文字又は記号のフォントを記憶し、前記種類情報を予め記憶しているフォント用記憶手段である。
【図面の簡単な説明】
【図１】第１実施形態におけるプリンタの斜視図。
【図２】プリンタの電気的構成を示すブロック図。
【図３】フラッシュＲＯＭのメモリ構造を示す構造図。
【図４】（ａ）はプログラムバージョンのデータ構造図、（ｂ）はサポート仕様バージョンのデータ構造図、（ｃ）はＣＧデータが有する種類情報のデータ構造図。
【図５】プログラムダウンロード時に実行されるフローチャート。
【図６】電源投入時に実行されるフローチャート。
【図７】設定モード時に実行されるフローチャート。
【図８】別例におけるプリンタの電気的構成を示すブロック図。
【符号の説明】
４…装置本体、５…印刷媒体としての用紙、８…要素部品としての操作パネル、９…操作手段としてのスイッチ、１１…報知手段を構成するＬＣＤ、１３…判定手段、報知手段、設定手段及びダウンロード手段を構成するＣＰＵ、１４…記憶手段としてのフラッシュＲＯＭ、１８…印刷実行手段を構成する印刷制御部、２０…印刷実行手段を構成する印刷機構、２１…ホストコンピュータ、２２…情報出力手段及びフォント用記憶手段を構成するＣＧＲＯＭ、２６…バージョン情報を構成するプログラムバージョン、３０…バージョン情報を構成するサポート仕様バージョン、３０ａ〜３０ｃ…サポート仕様バージョン、３３…上位層情報を構成する仕向け情報、３４…下位層情報を構成する日付情報、３５…下位層情報を構成するカスタマイズ情報、３６…種類情報、５１…情報出力手段としてのレジスタ、Ａ〜Ｃ…プログラム。
【図１】
2004249632.tif 000003
【図２】
2004249632.tif 000004
【図３】
2004249632.tif 000005
【図４】
2004249632.tif 000006
【図５】
2004249632.tif 000007
【図６】
2004249632.tif 000008
【図７】
2004249632.tif 000009
【図８】
2004249632.tif 000010