JP2009294894A - プリンタ動作制御方法、プリンタ、およびプリンタシステム - Google Patents
プリンタ動作制御方法、プリンタ、およびプリンタシステム Download PDFInfo
- Publication number
- JP2009294894A JP2009294894A JP2008147611A JP2008147611A JP2009294894A JP 2009294894 A JP2009294894 A JP 2009294894A JP 2008147611 A JP2008147611 A JP 2008147611A JP 2008147611 A JP2008147611 A JP 2008147611A JP 2009294894 A JP2009294894 A JP 2009294894A
- Authority
- JP
- Japan
- Prior art keywords
- printer
- firmware
- version
- information
- print data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Stored Programmes (AREA)
Abstract
【課題】ユーザの使い慣れた仕様でプリンタを動作させるのに好適なプリンタ動作制御方法を提供する。
【解決手段】プリンタを動作させるファームウェアのバージョンを指定するバージョン指定ステップと、指定されたバージョンのファーウェアによりプリンタが動作するよう、該プリンタが有する複数バージョンのファームウェアの中から該指定されたバージョンのファームウェアを呼び出して該プリンタの主記憶メモリにロードするファームウェアロードステップとを含むプリンタ動作制御方法を提供する。
【選択図】図6
【解決手段】プリンタを動作させるファームウェアのバージョンを指定するバージョン指定ステップと、指定されたバージョンのファーウェアによりプリンタが動作するよう、該プリンタが有する複数バージョンのファームウェアの中から該指定されたバージョンのファームウェアを呼び出して該プリンタの主記憶メモリにロードするファームウェアロードステップとを含むプリンタ動作制御方法を提供する。
【選択図】図6
Description
この発明は、印字処理を行うプリンタ、該プリンタを備えたプリンタシステム、および該プリンタの動作を制御するためのプリンタ動作制御方法に関連し、詳しくは、ユーザの使い慣れた仕様で動作するのに好適なプリンタおよびプリンタシステム、さらには、ユーザの使い慣れた仕様でプリンタを動作させるのに好適なプリンタ動作制御方法に関する。
PC(Personal Computer)用の周辺機器、例えばプリンタを製造開発するプリンタメーカは、プリンタの仕様変更や不具合修正等を行うためバージョンアップ版のファームウェアを作成し、インターネット等を通じて配布している。また、新規に製造するプリンタには、製造時点で最新となるバージョンのファームウェアをインストールして出荷している。また、ユーザからプリンタの修理を依頼された場合には、該プリンタを修理すると共に最新バージョンのファームウェアをインストールしてユーザに返納する。
しかし、ファームウェアが最新バージョンにアップグレードされた場合、PC等のホスト端末のOS(Operating System)やアプリケーションと、アップグレード後のファームウェアとの相性が悪いため、プリンタメーカ側で想定していない不具合が生じることがある。この場合、ファームウェアを元のバージョンにダウングレードすることが望まれる。このような問題を解決する技術の一例が特許文献1に開示されている。特許文献1には、ファームウェアを必要に応じてダウングレードして各種処理を実行する電子機器が記載されている。
具体的には、特許文献1に記載の電子機器は、過去にインストールされた全てのファームウェアを保持している。そして、処理を実行する際にそれらのファームウェアの中からエラー数の最も少ないファームウェアを最適なファームウェアと判定し、当該ファームウェアを用いて処理を実行する。例えばエラー数が最新バージョンよりも旧バージョンのファームウェアの方が少ないと判定した場合には、当該旧バージョン、すなわちダウングレードされたファームウェアで処理を実行する。
特開2006−99393号公報
ところで、上記のような不具合解消を目的とするケース以外にも、ファームウェアの適切なバージョンへのダウングレードが望まれることがある。以下、そのようなケースを例示する。
例えば業務で利用していたプリンタが故障したため、ユーザが同機種のプリンタを再度購入、あるいはプリンタメーカに修理依頼したとする。そして、新規に購入されたプリンタ、または修理されたプリンタには、以前利用していたプリンタよりも新しいバージョンのファームウェアがインストールされており、バージョン間で仕様変更が加えられているものとする。ここでの仕様変更は、例えばプリンタに設けられた電源、データ伝送、エラー等を報知するLED(Light Emitting Diode)の色や点滅間隔等に関する仕様変更である。
上記のような仕様変更はユーザの利便性を鑑みたものであり、一般にはユーザに受け入れられる。一方、ユーザは今までと異なる形態で点灯するLEDを見てプリンタの状態を把握する必要がある。このため、ユーザによっては新規購入または修理後のプリンタを却って使い難いと感じることもある。このようなユーザには、ファームウェアのバージョンを使い慣れているバージョン(すなわち以前のプリンタのファームウェアのバージョン)にダウングレードすることが望ましい。
全てのユーザの要求を満たすにはプリンタメーカが顧客管理を行い、販売または修理するプリンタ1つ1つにユーザが所望するバージョンのファームウェアをインストールする措置が考えられる。しかし、このような措置はプリンタメーカにとって負担がかかるうえ、販売および修理コストが上昇する懸念もある。このため、プリンタメーカにもユーザにも不都合である。そこで、例えば特許文献1のようにファームウェアのバージョンを装置サイドで自動的にダウングレードする仕組みが望まれる。
ところが、特許文献1の技術をプリンタに適用したとしても、ファームウェアのバージョンはプリンタにとって最適と判定されるバージョンとなるだけであり、必ずしもユーザが使い慣れたバージョンにならないといった不都合がある。
本発明は上記の事情に鑑みてなされたものであり、その目的とするところは、ユーザの使い慣れた仕様でプリンタを動作させるのに好適なプリンタ動作制御方法を提供することにある。またユーザの使い慣れた仕様で動作するのに好適なプリンタ、および該プリンタを備えたプリンタシステムを提供することにある。
上記の課題を解決する本発明の一形態に係る、プリンタの動作を制御するためのプリンタ動作制御方法は、プリンタを動作させるファームウェアのバージョンを指定するバージョン指定ステップと、指定されたバージョンのファーウェアによりプリンタが動作するよう、該プリンタが有する複数バージョンのファームウェアの中から該指定されたバージョンのファームウェアを呼び出して該プリンタの主記憶メモリにロードするファームウェアロードステップとを含む方法である。
このような方法によれば、ユーザは所望のバージョンを指定することにより、プリンタを使い慣れた仕様で動作させることができる。
またファームウェアロードステップにおいて、指定されたバージョンのファームウェアを構成するコンポーネント群のうち、所定の条件を満たす処理に対応するコンポーネントについては、複数バージョンのファームウェアの中から最新バージョンのファームウェアに対応するコンポーネントを主記憶メモリにロードし、所定の条件を満たさない処理に対応するコンポーネントについては、複数バージョンのファームウェアの中から指定されたバージョンのファーウェアに対応するコンポーネントを主記憶メモリにロードするようにしてもよい。
ここで、所定の条件を満たす処理とは、例えばファームウェアのバージョンアップに伴って不具合修正された処理である。
上記プリンタ動作制御方法は、プリンタに接続された端末装置が印字データを作成する印字データ作成ステップをさらに含む方法であってもよい。このような方法では、バージョン指定ステップにおいて端末装置がプリンタに印字データを送信し、ファームウェアロードステップにおいてプリンタが印字データに基づいてファームウェアのロード処理を行うこととなる。
また印字データ作成ステップにおいて、印字データは、例えば端末装置が有するプリンタ用のドライバによりそのバージョン情報が埋め込まれたものとしてもよい。この場合、ファームウェアロードステップにおいてプリンタはバージョン情報に従ってファームウェアのロード処理を行うこととなる。
また、上記の課題を解決する本発明の一形態に係るプリンタは、複数バージョンのファームウェアを格納するファームウェア格納手段と、ファームウェアがロードされる主記憶メモリと、外部機器から所定の情報を受信する受信手段と、複数バージョンのファームウェアの中から所定の情報に応じたバージョンのファームウェアを呼び出して主記憶メモリにロードするファームウェアロード手段とを備えたことを特徴としたものである。
このように構成されたプリンタによれば、ユーザは外部機器を使用することにより、該プリンタを使い慣れた仕様で動作させることができる。
ここで、ファームウェアは、例えばプリンタの各処理を実行するためのコンポーネントが集められたコンポーネント群で構成されたものとしてもよい。この場合、ファームウェアロード手段は、所定の条件を満たす処理に対応するコンポーネントについては、複数バージョンのファームウェアの中から最新バージョンのファームウェアに対応するコンポーネントを主記憶メモリにロードし、所定の条件を満たさない処理に対応するコンポーネントについては、複数バージョンのファームウェアの中から指定されたバージョンのファーウェアに対応するコンポーネントを主記憶メモリにロードすることとなる。
また上記プリンタは、複数バージョンのファームウェアの各々をコンポーネント単位で管理する管理データベースをさらに備えた構成としてもよい。この場合、ファームウェアロード手段は、管理データベースに従って主記憶メモリにロードするコンポーネントを決定する。
上述した所定の条件を満たす処理とは、例えばファームウェアのバージョンアップに伴って不具合修正された処理である。
また、上記の課題を解決する本発明の一形態に係るプリンタシステムは、上述した何れかに記載のプリンタと、該プリンタに接続された端末装置とを有するシステムである。そして、当該プリンタシステムの端末装置は、所定の情報を生成する情報生成手段と、該生成された情報をプリンタに送信する情報送信手段とを備えたことを特徴としたものである。
上記プリンタシステムに備えられる端末装置は、印字データを作成する印字データ作成と、該作成された印字データに所定の情報を埋め込む情報埋込手段とをさらに備えた構成としてもよい。このように構成された端末装置は、情報送信手段により所定の情報が埋め込まれた印字データをプリンタに送信することができる。
上記端末装置が備える情報埋込手段は、例えばプリンタ用のドライバである。この場合、上記所定の情報はドライバのバージョン情報としてもよい。
また、上記の課題を解決する本発明の別の形態に係るプリンタは、複数バージョンのファームウェアを格納するファームウェア格納手段と、ファームウェアがロードされる主記憶メモリと、ファームウェアのバージョンを指定するバージョン指定手段と、複数バージョンのファームウェアの中からバージョン指定手段により指定されたバージョンのファームウェアを呼び出して主記憶メモリにロードするファームウェアロード手段とを備えたことを特徴としたものである。
本発明のプリンタ動作制御方法、プリンタ、およびプリンタシステムによれば、ユーザは使い慣れた仕様でプリンタを動作させることができる。
以下、図面を参照して、本発明の実施の形態のプリンタシステムについて説明する。
図1に、本発明の実施の形態のプリンタシステム1の概略構成図を示す。図1に示されるように、プリンタシステム1は、PC100とプリンタ200で構成されている。
PC100は、PC100全体の統括的な制御を司るCPU(Central Processing Unit)110を備える。また、OS130、アプリケーション140、プリンタドライバ150等を記憶したHDD(Hard Disk Drive)120、DRAM(Dynamic Random Access Memory)170、およびポートドライバ160を備える。
OS130は、PC100の電源が投入されるとDRAM170等の主記憶メモリに常駐する。そして、CPU110と連係動作して各種アプリケーションが利用する共通の機能を提供する。
アプリケーション140は、OS130によって提供されるアプリケーション実行環境上で動作する。アプリケーション140は、例えば印刷機能が実装されたドキュメント作成や表計算等のソフトウェア、またはプリンタ200用の設定ユーティリティ等のGUI(Graphical User Interface)環境を提供するアプリケーションである。後者の場合、アプリケーション140は、プリンタドライバ150と単一のプログラムとして構成されてもよい。
プリンタドライバ150は、OS130−プリンタ200間のインタフェースとして機能するプリンタ200用のデバイスドライバである。プリンタドライバ150は、OS130から印字対象のデータを受け取ると、該データをOS130の依頼に従って所定のプロトコルに準拠した形式に加工してポートドライバ160に渡す。
プリンタドライバ150は、自己のバージョン情報(ドライババージョン152)を有する。また上位互換性がある。なお、プリンタメーカは、プリンタ200のファームウェアをバージョンアップする毎にそれに対応するバージョンのドライバもリリースする。すなわち、プリンタ200の全てのバージョンのファームウェアには、1:1で対応するプリンタドライバ150が必ず存在する。説明の便宜上、対応するプリンタドライバ150とファームウェアのバージョンナンバは一致するものとする。また、プリンタドライバ150のバージョンには大文字「VER」を、ファームウェアのバージョンには小文字「ver」をそれぞれ付す。このため本実施形態では、プリンタドライバ150のバージョンVER1.0、1.1、1.2・・・はそれぞれ、プリンタ200のファームウェアのバージョンver1.0、1.1、1.2・・・に対応する。
ポートドライバ160は、USB(Universal Serial Bus)規格やIrDA規格に準拠した通信インタフェースであり、USBケーブル300を介して、または赤外線通信によりプリンタ200との間でデータ伝送を行う。ポートドライバ160は、プリンタドライバ150から受け取った印字データをプリンタ200に転送する役割を果たす。
図2に、アプリケーション140が印刷操作を受け付けたときにPC100で実行される印字データ作成処理のフローチャートを示す。また、図3に、図2の印字データ作成処理で作成される印字データの構造図を示す。図3においては、印字データが8bitで表現されている。
アプリケーション140(例えばドキュメント作成ソフトウェア)上でユーザが編集中のドキュメントを印字するよう操作すると、OS130は、アプリケーション140からドキュメントのデータを受け取り、該ドキュメントのデータを印字用制御データと共にプリンタドライバ150に渡して印字データの生成を依頼する(ステップ1、以下、明細書および図面においてステップを「S」と略記する)。なお、ここでいう印字用制御データとは、印字ウィザード等で設定される内容に従って作成されるデータである。印字ウィザードで設定可能な項目は、例えば印字モードや、印字濃度、排紙モード、用紙サイズ、マージン量等の周知の項目である。
プリンタドライバ150は、OS130から受け取ったドキュメントデータおよび印字用制御データに従って印字データを作成する(S2)。ここで作成される印字データの実体は、図3に示されるように、フレームヘッダに印字用制御データを、データフィールドにラスタラインデータを有する、SOF(Start Of Frame)510とEOF(End Of Frame)540により区切られたフレーム500である。フレーム500は、アプリケーション140から送られるドキュメントのデータサイズに応じた数だけ作成される。
詳細には、S2の処理においてプリンタドライバ150は、フレーム500のフレームヘッダに自己のドライババージョン152および印字用制御データに含まれる設定情報(印字モード情報520、印字濃度情報522、排紙モード情報524、用紙サイズ情報526、左マージン量528等)を埋め込む。また、ドキュメントデータを加工してラスタラインデータ530を作成し、フレーム500のデータフィールドに埋め込む。これにより、図3に示される構造を有したフレーム500が作成される。プリンタドライバ150は、作成したフレーム500をポートドライバ160に渡す。
ポートドライバ160は、受け取ったフレーム500を所定の通信プロトコル(USBやIrDA等)に準拠した形式に加工してプリンタ200に転送する(S3)。図3の印字データ作成処理のフローチャートは、プリンタドライバ150により作成された全てのフレーム500(フレーム群)がプリンタ200に転送された時点で終了する。
図4に、プリンタ200の構成をブロック図で示す。プリンタ200は、携帯型の感熱式プリンタである。図4に示されるように、プリンタ200は、プリンタ200全体の統括的な制御を司るCPU210を備える。CPU210は、外部バス等のデータ伝送路を介して各種構成要素が接続される。そして、各構成要素と信号のやり取りを行うことによりプリンタ200の各種機能を実現する。CPU210に接続される構成要素には、赤外線インタフェース222、USBインタフェース224、フラッシュROM(Read Only Memory)232、DRAM234、マスクROM236、用紙センサ242、モータドライバ244、モータ246、A/Dコンバータ248、サーマルヘッド250、LED(Light Emitting Diode)262、264、266、および電源制御回路272がある。電源制御回路272は、バッテリ274、またはACアダプタ入力276に接続されるACアダプタからの入力電力を変換して駆動電圧を得る。プリンタ200を構成する各構成要素は、ここで得られた駆動電圧により動作する。
フラッシュROM232には、バージョンがそれぞれ異なる複数のファームウェアファイルと、該複数のファームウェアファイルを管理する処理DB(Data Base)232aが格納されている。各ファームウェアファイルは、例えば、プリンタ200の各処理を行うためのコンポーネントが複数集められたコンポーネント群で構成されている。
図5に、処理DB232aのデータ構造を概念的に示す。処理DB232aは、各バージョンのファームウェアファイルをコンポーネント単位(別の言い方をするとプリンタ200の処理単位(図5中の処理ナンバ1、2、3、4・・・))で管理している。例えばバージョンver1.0のファームウェアファイル(以下、「ファームウェアファイルver1.0」と記す。他のファームウェアファイルも同様に記す。)は、コンポーネント1A、コンポーネント2A、コンポーネント3A・・・に分けて管理されている。また処理DB232aは、各処理ナンバの処理について不具合修正がなされているか否かをCPU210が把握できるように各コンポーネントを管理している。なお、図5においては、不具合修正された処理が「Yes」、不具合修正されていない処理が「No」で表現されている。
また図5中の「コンポーネント」に続くナンバは、当該コンポーネントがそのナンバに対応する処理を実行することを意味する。例えばコンポーネント1Aは、処理ナンバ1の処理を実行する。また、該ナンバに続くアルファベットは、コンポーネントが改変された回数を示すために便宜上付されている。「A」、「B」、「C」はそれぞれ、そのアルファベットが付されたコンポーネントが0回、1回、2回改変されたことを示す。上記事項によれば、例えばコンポーネント1Cは、仕様変更等が2回行われた処理ナンバ1の処理を実行するコンポーネントであることが分かる。
図5に示される処理ナンバの具体的処理例を示す。例えば処理ナンバ3の処理は、バッテリ274の急速充電時における電圧測定処理である。バージョンver1.1のファームウェア、すなわちコンポーネント3Aは、電圧を5回測定しその平均値を測定電圧とするように構成されている。しかしこれでは測定精度が低いという不具合があるため、バージョンver2.0のファームウェア、すなわちコンポーネント3Bでは電圧の測定回数を32回に増やす修正が加えられている。また、処理ナンバ4の処理は、通信エラー発生時のLED発光処理である。バージョンver1.1のファームウェアには処理ナンバ4の処理に対応するコンポーネントが存在しない。このため、バージョンver1.1のファームウェアでは通信エラーが発生してもLED266は発光しない。一方、バージョンver2.0のファームウェアにはコンポーネント4Aが追加され、通信が0.5秒以上中断するとLED266がオレンジ色で点滅するように仕様が追加されている。
CPU210は、プリンタ200の電源が投入されると複数のファームウェアファイルの中から最新バージョンのファームウェアファイル(すなわちコンポーネント1C、2B、3B、4A・・・)を呼び出してDRAM234にロードし、各コンポーネントを適宜読み込んでプリンタ200を動作させる。
次に、印字処理時のプリンタ200の動作について説明する。赤外線インタフェース222(またはUSBインタフェース224)は、PC100から転送されたフレーム500を受信すると、該フレーム500を所定のプロトコルに準拠した形式に加工してCPU210に渡す。CPU210は、受け取ったフレーム500を必要に応じてフラッシュROM232やDRAM234に格納し、該フレーム500に基づいて印字処理を実行する。
CPU210は、フレーム500を格納すると先ず、フレームヘッダに埋め込まれたドライババージョン152を読み込み、DRAM234にロードされるコンポーネントを必要に応じて変更する。なおこれについては、後述のファームウェア設定処理において詳細に説明する。
CPU210は続いて、用紙センサ242の出力を監視してプリンタ200の搬送路上に用紙(感熱紙)がセットされているか否かを判定する。そして、用紙がセットされていると判定した場合には、モータドライバ244に所定の制御信号を送信する。モータドライバ244は、受信した所定の制御信号に応じてモータ246を駆動する。これにより、プリンタ200の搬送路に備えられた搬送ローラ(不図示)が回転し、用紙が該搬送路を搬送される。
CPU210は用紙の搬送制御とともに、マスクROM236に格納されたフォントデータを用いてフレームヘッダの設定情報およびデータフィールドのラスタラインデータ530に応じたデータ信号、クロック信号、ストローブ信号等を生成し、サーマルヘッド250に出力する。サーマルヘッド250は、入力されるデータ信号、クロック信号、およびストローブ信号に基づいて駆動するとともに、サーミスタ電圧、ヘッド電圧等をA/Dコンバータ248に出力する。これらの電圧信号は、A/Dコンバータ248によりコンバートされた後、CPU210の所定のポートに入力される。CPU210は、当該所定のポートに入力された信号に基づいてサーマルヘッド250に対する印加電圧制御を行う。これにより、アプリケーション140のドキュメントデータに応じた印字内容がサーマルヘッド250により用紙に熱転写される。印字内容が転写された用紙がプリンタ200から排紙されると、一連の印字処理が完了する。
プリンタ200が動作する間、LED262、264、および266の少なくとも1つが発光してプリンタ200のステータスがユーザに報知される。LED262、264、および266は、例えば2色のLED(ここでは「黄」と「緑」とする。)を1チップ化した構成であり、CPU210の制御に応じた色や点滅間隔等で発光する。
LED262は電源ランプであり、プリンタ200の電源がオンしている間常時点灯する。LED264はデータ伝送ランプであり、PC100からプリンタ200にフレーム500が転送されている期間点灯する。LED266はエラーランプであり、例えば用紙エラーやサーマルヘッドエラー等(用紙が搬送路にセットされていない、サーマルヘッドが正常に動作しない等)が発生したときにそれらのエラーが解消される、または電源がオフされるまで点滅し続ける。
ここで、プリンタ200を使用していたユーザが故障等の理由でプリンタ200を再度購入したケースを考える。新規に購入されたプリンタ200には、図2に示されるように、ファームウェアファイルver1.0、ver1.1、ver1.2・・・ver2.0がインストールされている。一方、今まで使用していたプリンタ200には購入時期との関係で、ファームウェアファイルver1.0と1.1のみがインストールされていた。またユーザは、VER1.1のプリンタドライバ150を用いてプリンタ200を使用していた。すなわちユーザは今まで、ver1.1のファームウェアで動作するプリンタ200を使用していた。
新規に購入されたプリンタ200には、バージョンVER2.0のプリンタドライバ150(あるいは全てのバージョンのプリンタドライバ150)が格納されたCD−ROMが同梱されている。ユーザは、バージョンVER2.0のプリンタドライバ150をPC100にインストールすることにより、最新の仕様でかつ最新の不具合修正が施された状態でプリンタ200を動作させることができる。バージョンver2.0のファームウェアでプリンタ200を動作させることは、PCやプリンタ等の周辺機器の操作に慣れているユーザには特に不都合がない。
しかし、PC等の操作に疎いユーザが同じようにバージョンVER2.0のプリンタドライバ150をPC100にインストールしてバージョンver2.0のファームウェアでプリンタ200を動作させると、LED等の動作が今までと異なることから戸惑いを感じることが予想される。このようなユーザは、以前のプリンタ200との違いを意識することなく新規のプリンタ200を使用できることを望む。そのためには、新規に購入されたプリンタ200をバージョンver1.1のファームウェアで動作させる必要がある。本実施形態では、以下に説明されるファームウェア設定処理を実行することにより、新規に購入されたプリンタ200を恰もバージョンver1.1のファームウェアで動作させることができる。
図6に、CPU210により実行されるファームウェア設定処理のフローチャートを示す。CPU210は、例えばPC100から転送されるフレーム群の先頭のフレーム500を受け取ったときのみファームウェア設定処理を実行する。
図6に示されるように、CPU210は、フレーム500を受け取るとドライババージョン152がフレームヘッダに埋め込まれているか否かを判定する(S11)。CPU210は、ドライババージョン152がフレームヘッダに埋め込まれていない場合(S11:NO)、フラッシュROM232に格納されているファームウェアファイルの最新バージョンのナンバ(例えばver2.0)をドライババージョン152とみなしてフラッシュROM232の所定領域に格納する(S13、14)。CPU210は次いで、使用するファームウェアを、該所定領域に格納された最新バージョンのナンバと一致するバージョンのファームウェアに決定する(S15)。従ってここでは、バージョンver2.0のファームウェアに決定される。これより、バージョンver2.0のファームウェア(別の言い方をすると、電源投入時にDRAM234に展開されたコンポーネント群)でプリンタ200が動作する。
すなわちCPU210は、例えばPC100に不適切なドライバ(例えば自己のドライババージョンをフレームヘッダに埋め込むことができない他機種のプリンタのドライバ等)がインストールされている場合、上記のように最新バージョンのファームウェアでプリンタ200を動作させる。
また、S11の処理においてCPU210は、ドライババージョン152がフレームヘッダに埋め込まれていると判定した場合(S11:YES)、該ドライババージョン152がフラッシュROM232に格納されているファームウェアファイルの最新バージョンよりも新しいか否かを判定する(S12)。CPU210は、ドライババージョン152の方が新しい場合(S12:YES)、ファームウェアファイルの最新バージョンのナンバをドライババージョン152とみなしてフラッシュROM232の所定領域に格納する(S13、14)。CPU210は次いで、使用するファームウェアを、該所定領域に格納された最新バージョンのナンバと一致するバージョンのファームウェアに決定する(S15)。そして、決定されたバージョンのファームウェア(別の言い方をすると、電源投入時にDRAM234にロードされたコンポーネント群)でプリンタ200を動作させる。
すなわちCPU210は、プリンタ200がドライババージョン152に対応する新しいバージョンのファームウェアファイルを有さない場合、該プリンタ200が今現在有する最新バージョンのファームウェアによりプリンタ200を動作させる。
また、S12の処理においてCPU210は、ファームウェアファイルの最新バージョンの方が新しい、若しくは該最新バージョンとドライババージョン152とが同じであると判定した場合(S12:YES)、該ドライババージョン152をフラッシュROM232の所定領域に格納する(S14)。CPU210は次いで、使用するファームウェアを、該所定領域に格納されたドライババージョン152と一致するバージョンのファームウェアに決定する(S15)。そして、決定されたバージョンのファームウェアによりプリンタ200を動作させる。
具体的には、CPU210は、ファームウェアファイルの最新バージョンとドライババージョン152とが同じ、すなわちバージョンVER2.0のプリンタドライバ150がPC100にインストールされている場合、バージョンver2.0のファームウェアによりプリンタ200を動作させる。
またCPU210は、ファームウェアファイルの最新バージョンの方が新しい、例えばバージョンVER1.1のプリンタドライバ150がPC100にインストールされている場合、処理DB232aにアクセスする。次いで、不具合修正がなされていない処理ナンバ(図5の例えば処理ナンバ1、2、4等)について、対応するバージョンver2.0のコンポーネント(コンポーネント1C、2B、4A等)をDRAM234から消去する。CPU210は続いて、DRAM234から消去されたコンポーネントに対応するバージョンver1.1のコンポーネント(コンポーネント1B、2A等)をDRAM234にロードする。その一方で、不具合修正がなされている処理ナンバ(図5の例えば処理ナンバ3等)の処理についてはドライババージョン152に拘わらず最新バージョンのコンポーネント(コンポーネント3B)を適用する。つまりCPU210は、コンポーネント3BをDRAM234から消去しない。
従ってユーザは、処理ナンバ1、2、4等の仕様変更等が行われた処理については以前(すなわちバージョンver1.1のファームウェア)と同じようにプリンタ200を動作させることができる。つまりユーザは、所望のバージョンのプリンタドライバ150をPC100にインストールすることにより、プリンタ200を以前と同様に動作させることができる。このためユーザは、特に戸惑いを感じることなく今まで通りプリンタ200を使用することができる。また不具合修正が行われている処理に関しては、ユーザが所望するバージョンに拘わらず最新バージョンのファームウェアのコンポーネントが適用される。このためユーザは、今まで通りと同じように動作し、かつ最新の不具合修正が施された状態のプリンタ200を使用することができる。
別の観点によれば、ユーザは、プリンタドライバ150をPC100に新たにインストールしなければ、今まで使い慣れた古いバージョンのファームウェアによりプリンタ200を動作させることができる。つまり本実施形態のプリンタシステム1では、今までと同じ動作をするプリンタ200を使用したいユーザに何ら特別なPC操作等が要求されることがない。このような観点からも、本実施形態のプリンタシステム1はPC等の操作に疎いユーザの要求を満たしている。
以上が本発明の実施の形態である。本発明は、これらの実施形態に限定されるものではなく、本発明の技術的思想の範囲において様々な変形が可能である。例えば仕様変更や不具合修正等には、本実施形態で説明されたものに限らず様々な形態がある。
また、プリンタ200単体でファームウェアのバージョンが指定できるようプリンタ200を構成する実施形態も想定される。具体的には、ファームウェアの各バージョンを指定するディップスイッチをプリンタ200に追加実装する。そしてユーザがディップスイッチを操作すると、該スイッチ操作に応じたドライババージョン152と同様の情報がCPU210に入力される。CPU210は、入力されたドライババージョン152と同様の情報を用いて図6のファームウェア設定処理を実行する。これにより、プリンタ200は、ユーザの所望するバージョンのファームウェアにより動作する。
1 プリンタシステム
100 PC
150 プリンタドライバ
152 ドライババージョン
200 プリンタ
232a 処理DB
100 PC
150 プリンタドライバ
152 ドライババージョン
200 プリンタ
232a 処理DB
Claims (13)
- プリンタの動作を制御するためのプリンタ動作制御方法であって、
前記プリンタを動作させるファームウェアのバージョンを指定するバージョン指定ステップと、
前記指定されたバージョンのファーウェアにより前記プリンタが動作するよう、該プリンタが有する複数バージョンのファームウェアの中から該指定されたバージョンのファームウェアを呼び出して該プリンタの主記憶メモリにロードするファームウェアロードステップと
を含むプリンタ動作制御方法。 - 前記ファームウェアロードステップにおいて、前記指定されたバージョンのファームウェアを構成するコンポーネント群のうち、
所定の条件を満たす処理に対応するコンポーネントについては、前記複数バージョンのファームウェアの中から最新バージョンのファームウェアに対応するコンポーネントを前記主記憶メモリにロードし、
前記所定の条件を満たさない処理に対応するコンポーネントについては、前記複数バージョンのファームウェアの中から前記指定されたバージョンのファーウェアに対応するコンポーネントを前記主記憶メモリにロードする、請求項1に記載のプリンタ動作制御方法。 - 前記所定の条件を満たす処理とは、前記ファームウェアのバージョンアップに伴って不具合修正された処理である、請求項2に記載のプリンタ動作制御方法。
- 前記プリンタに接続された端末装置が印字データを作成する印字データ作成ステップをさらに含み、
前記バージョン指定ステップにおいて、前記端末装置は前記プリンタに前記印字データを送信し、
前記ファームウェアロードステップにおいて、前記プリンタは前記印字データに基づいて前記ファームウェアのロード処理を行う、請求項1から請求項3の何れかに記載のプリンタ動作制御方法。 - 前記印字データ作成ステップにおいて、前記印字データは前記端末装置が有する前記プリンタ用のドライバにより前記ドライバのバージョン情報が埋め込まれており、
前記ファームウェアロードステップにおいて、前記プリンタは前記バージョン情報に従って前記ファームウェアのロード処理を行う、請求項4に記載のプリンタ動作制御方法。 - 複数バージョンのファームウェアを格納するファームウェア格納手段と、
前記ファームウェアがロードされる主記憶メモリと、
外部機器から所定の情報を受信する受信手段と、
前記複数バージョンのファームウェアの中から前記所定の情報に応じたバージョンのファームウェアを呼び出して前記主記憶メモリにロードするファームウェアロード手段と
を備えたことを特徴とするプリンタ。 - 前記ファームウェアは、前記プリンタの各処理を実行するためのコンポーネントが集められたコンポーネント群で構成されており、
前記ファームウェアロード手段は、
所定の条件を満たす処理に対応するコンポーネントについては、前記複数バージョンのファームウェアの中から最新バージョンのファームウェアに対応するコンポーネントを前記主記憶メモリにロードし、
前記所定の条件を満たさない処理に対応するコンポーネントについては、前記複数バージョンのファームウェアの中から前記指定されたバージョンのファーウェアに対応するコンポーネントを前記主記憶メモリにロードすることを特徴とする請求項6に記載のプリンタ。 - 前記複数バージョンのファームウェアの各々をコンポーネント単位で管理する管理データベースをさらに備え、
前記ファームウェアロード手段は、前記管理データベースに従って前記主記憶メモリにロードする前記コンポーネントを決定することを特徴とする請求項7に記載のプリンタ。 - 前記所定の条件を満たす処理とは、前記ファームウェアのバージョンアップに伴って不具合修正された処理であることを特徴とする請求項7または請求項8の何れかに記載のプリンタ。
- 請求項6から請求項9の何れかに記載のプリンタと、前記プリンタに接続された端末装置とを有するプリンタシステムであって、
前記端末装置は、
前記所定の情報を生成する情報生成手段と、
前記生成された情報を前記プリンタに送信する情報送信手段と
を備えたことを特徴とするプリンタシステム。 - 前記端末装置は、
印字データを作成する印字データ作成と、
前記作成された印字データに前記所定の情報を埋め込む情報埋込手段と
をさらに備え、前記情報送信手段により、前記所定の情報が埋め込まれた印字データを前記プリンタに送信することを特徴とする請求項10に記載のプリンタシステム。 - 前記情報埋込手段が前記プリンタ用のドライバであり、
前記所定の情報が前記ドライバのバージョン情報であることを特徴とする請求項11に記載のプリンタシステム。 - 複数バージョンのファームウェアを格納するファームウェア格納手段と、
前記ファームウェアがロードされる主記憶メモリと、
前記ファームウェアのバージョンを指定するバージョン指定手段と、
前記複数バージョンのファームウェアの中から前記バージョン指定手段により指定されたバージョンのファームウェアを呼び出して前記主記憶メモリにロードするファームウェアロード手段と
を備えたことを特徴とするプリンタ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008147611A JP2009294894A (ja) | 2008-06-05 | 2008-06-05 | プリンタ動作制御方法、プリンタ、およびプリンタシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008147611A JP2009294894A (ja) | 2008-06-05 | 2008-06-05 | プリンタ動作制御方法、プリンタ、およびプリンタシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009294894A true JP2009294894A (ja) | 2009-12-17 |
Family
ID=41543030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008147611A Pending JP2009294894A (ja) | 2008-06-05 | 2008-06-05 | プリンタ動作制御方法、プリンタ、およびプリンタシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009294894A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019046061A (ja) * | 2017-08-31 | 2019-03-22 | ブラザー工業株式会社 | プログラムおよび印刷システム |
JP2019049814A (ja) * | 2017-09-08 | 2019-03-28 | 富士ゼロックス株式会社 | 電子装置 |
JPWO2020245983A1 (ja) * | 2019-06-06 | 2020-12-10 | ||
JP2021180046A (ja) * | 2018-03-29 | 2021-11-18 | 株式会社Fuji | ソフトウェア更新方法および対基板作業機の管理装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005074644A (ja) * | 2003-08-28 | 2005-03-24 | Konica Minolta Business Technologies Inc | 画像形成装置、情報処理システム及び情報処理方法 |
JP2006099393A (ja) * | 2004-09-29 | 2006-04-13 | Sharp Corp | ファームウェア管理装置、ファームウェア管理プログラム、電子機器、記録媒体、及びファームウェア管理方法 |
JP2006268752A (ja) * | 2005-03-25 | 2006-10-05 | Seiko Epson Corp | 複数のバージョンに対応したモジュールの起動 |
JP2007034817A (ja) * | 2005-07-28 | 2007-02-08 | Canon Inc | バージョン管理および印刷処理方式 |
-
2008
- 2008-06-05 JP JP2008147611A patent/JP2009294894A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005074644A (ja) * | 2003-08-28 | 2005-03-24 | Konica Minolta Business Technologies Inc | 画像形成装置、情報処理システム及び情報処理方法 |
JP2006099393A (ja) * | 2004-09-29 | 2006-04-13 | Sharp Corp | ファームウェア管理装置、ファームウェア管理プログラム、電子機器、記録媒体、及びファームウェア管理方法 |
JP2006268752A (ja) * | 2005-03-25 | 2006-10-05 | Seiko Epson Corp | 複数のバージョンに対応したモジュールの起動 |
JP2007034817A (ja) * | 2005-07-28 | 2007-02-08 | Canon Inc | バージョン管理および印刷処理方式 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019046061A (ja) * | 2017-08-31 | 2019-03-22 | ブラザー工業株式会社 | プログラムおよび印刷システム |
JP7000746B2 (ja) | 2017-08-31 | 2022-01-19 | ブラザー工業株式会社 | プログラムおよび印刷システム |
JP2019049814A (ja) * | 2017-09-08 | 2019-03-28 | 富士ゼロックス株式会社 | 電子装置 |
JP7009852B2 (ja) | 2017-09-08 | 2022-01-26 | 富士フイルムビジネスイノベーション株式会社 | 電子装置 |
JP2021180046A (ja) * | 2018-03-29 | 2021-11-18 | 株式会社Fuji | ソフトウェア更新方法および対基板作業機の管理装置 |
JP7029569B2 (ja) | 2018-03-29 | 2022-03-03 | 株式会社Fuji | ソフトウェア更新方法および対基板作業機の管理装置 |
JPWO2020245983A1 (ja) * | 2019-06-06 | 2020-12-10 | ||
JP7217348B2 (ja) | 2019-06-06 | 2023-02-02 | 株式会社Fuji | 対基板作業機の管理装置および管理システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8804172B2 (en) | Non-transitory computer readable recording medium stored with printer driver updating program and printer driver updating method | |
US8612969B2 (en) | Electronic device | |
JP2007007873A (ja) | 動作要求受付装置、プログラム、記録媒体、動作要求受付装置の制御方法、通信システム及び通信システムの運用方法 | |
CN1441352A (zh) | 信息处理装置、该信息处理装置的控制方法、存储媒体 | |
US20100149578A1 (en) | Printer formatter in a cable | |
JP6672045B2 (ja) | 制御装置、制御システム、制御方法、並びにプログラム | |
US20130074060A1 (en) | Image forming apparatus and method of upgrading firmware | |
JP2009294894A (ja) | プリンタ動作制御方法、プリンタ、およびプリンタシステム | |
JP4970780B2 (ja) | 電子装置、及び交換ユニット | |
US20190107984A1 (en) | Information processing method and storage medium | |
JP4932324B2 (ja) | 動作要求受付装置、プログラム、記録媒体、動作要求受付装置の制御方法、通信システム及び通信システムの運用方法 | |
US20190286379A1 (en) | Information processing apparatus, electronic device, and information processing system | |
US20070115492A1 (en) | Information processing apparatus, method, and computer program | |
JP2009134474A (ja) | ファームウェア書き換え方法、ファームウェア書き換えプログラム、およびファームウェア管理装置 | |
JP2010146033A (ja) | ステータスモニタプログラム、このステータスプログラムを実行する情報処理装置及び印刷装置 | |
JP2006243997A (ja) | ダウンロードシステム | |
JP4537276B2 (ja) | 印刷制御装置とその制御方法、制御プログラム、及びプリンタドライバと印刷装置 | |
JP2007172391A (ja) | 電子機器の制御方法、電子機器の制御プログラム、電子機器、および記録装置 | |
JP5042377B2 (ja) | 動作要求受付装置、プログラム、動作要求受付装置の動作方法及び通信システム | |
JP4155331B2 (ja) | ソフトウェアの管理方法、管理装置、そのためのサーバ、及び、コンピュータプログラム | |
JP4048318B2 (ja) | ソフトウェアの管理方法 | |
JP2013191118A (ja) | 印刷システム、ホストコンピューター | |
JP2002307718A (ja) | 周辺装置およびその制御方法 | |
JP2006113968A (ja) | プリンタドライバ供給ユニット | |
JP2010146324A (ja) | 定型書式データ管理サーバ装置、定型文書作成システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110307 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120508 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121016 |