(57)【特許請求の範囲】
【請求項１】
記録媒体に印刷を実行する印刷部と、
コマンドを受信する受信バッファーと、
第１モードにおいて、受信したコマンドに基づき前記印刷部の制御を行う制御部と、を備え、
前記制御部は、
前記第１モードにおいて、第１移行コマンドを受信した場合、前記受信バッファーをクリアして第１モードから第２モードへ移行させ、
前記第２モードにおいて、受信したコマンドに基づく処理を実行し、復帰コマンドを受信した場合、前記受信バッファーをクリアして前記第２モードから第１モードへ移行させ、第２移行コマンドを受信した場合、前記受信バッファーをクリアして、前記印刷部の制御に係る制御プログラムの改変に関する処理を実行可能な第３モードへ移行させることを特徴とする印刷装置。
【請求項２】
前記第１移行コマンド、前記第２移行コマンド、及び、前記復帰コマンドは、
未処理の他のコマンドに優先して実行され、オフライン状態であっても実行される即時実行コマンドであることを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記第２モードは、オフライン状態であっても受信したコマンドに基づく処理を実行可能なモードであり、
前記制御部は、
前記第２モードにおいて、前記制御プログラムに関する情報の応答を要求するコマンドを受信した場合、前記制御プログラムに関する情報を取得して応答することを特徴とする請求項１又は２に記載の印刷装置。
【請求項４】
前記制御部は、
前記第３モードにおいて、複数の通信インターフェースによる前記制御プログラムの改変に関するデータである制御プログラム関連データの受信を許可し、前記制御プログラム関連データの受信が完了した場合、前記制御プログラム関連データに基づく前記制御プログラムの改変に関する処理を実行可能な第４モードへ移行することを特徴とする請求項１乃至３のいずれか１項に記載の印刷装置。
【請求項５】
前記制御部は、
前記制御プログラム関連データに基づく前記制御プログラムの改変に関する処理が完了した後、リセットを実行し、リセットに伴う再起動後、前記第１モードへ移行することを特徴とする請求項４に記載の印刷装置。
【請求項６】
印刷装置の制御方法であって、
受信したコマンドに基づき印刷部の制御を実行可能な第１モードにおいて、第１移行コマンドを受信した場合、受信バッファーをクリアして第１モードから第２モードへ移行し、
前記第２モードにおいて、受信したコマンドに基づく処理を実行し、復帰コマンドを受信した場合、前記受信バッファーをクリアして前記第２モードから第１モードへ移行し、第２移行コマンドを受信した場合、前記受信バッファーをクリアして、前記印刷部の制御に係る制御プログラムの改変に関する処理を実行可能な第３モードへ移行する
ことを特徴とする印刷装置の制御方法。
【請求項７】
印刷装置と、前記印刷装置と通信する制御装置と、を備える印刷システムであって、
前記印刷装置は、
記録媒体に印刷する印刷部と、
前記制御装置からコマンドを受信する受信バッファーと、
第１モードにおいて、受信したコマンドに基づき前記印刷部の制御を行う制御部と、を備え、
前記制御部は、
前記第１モードにおいて、前記制御装置から第１移行コマンドを受信した場合、前記受信バッファーをクリアして前記第１モードから第２モードへ移行し、
前記第２モードにおいて、前記制御装置から受信したコマンドに基づく処理を実行し、前記制御装置から復帰コマンドを受信した場合、前記受信バッファーをクリアして前記第２モードから第１モードへ移行し、前記制御装置から第２移行コマンドを受信した場合、前記受信バッファーをクリアして、前記印刷部の制御に係る制御プログラムの改変に関する処理を実行可能な第３モードへ移行する制御部を備える
ことを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、印刷装置の制御方法、及び、印刷システムに関する。
【背景技術】
【０００２】
従来、制御プログラム（ファームウェア）の書き換えに際し、書き換えに必要な書き換えデータに先行する書き換えコマンドに基づいて、優先的に書き換えを実行する印刷装置（プリンター）が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２４５６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、印刷装置の制御プログラムについて、書き換え等の改変を行う場合、専門的な知識を有さないユーザーであっても、容易かつ正確に改変を行えるようにしたいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、専門的な知識を有さないユーザーが容易かつ正確に制御プログラムの改変を行えるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の印刷装置は、記録媒体に印刷を実行する印刷部と、コマンドを受信する受信バッファーと、第１モードにおいて、受信したコマンドに基づき前記印刷部の制御を行う制御部と、を備え、前記制御部は、前記第１モードにおいて、第１移行コマンドを受信した場合、前記受信バッファーをクリアして第１モードから第２モードへ移行させ、前記第２モードにおいて、受信したコマンドに基づく処理を実行し、復帰コマンドを受信した場合、前記受信バッファーをクリアして前記第２モードから第１モードへ移行させ、第２移行コマンドを受信した場合、前記受信バッファーをクリアして、前記印刷部の制御に係る制御プログラムの改変に関する処理を実行可能な第３モードへ移行させることを特徴とする。
本発明の構成によれば、専門的な知識を有さないユーザーが容易かつ正確に制御プログラムの改変を行える。
【０００６】
また、本発明の印刷装置は、前記第１移行コマンド、前記第２移行コマンド、及び、前記復帰コマンドは、未処理の他のコマンドに優先して実行され、オフライン状態であっても実行される即時実行コマンドであることを特徴とする。
本発明の構成によれば、印刷装置は、受信した各コマンドに基づいて各モードへの移行を即時に行うことができる。
【０００７】
また、本発明の印刷装置は、前記第２モードは、オフライン状態であっても受信したコマンドに基づく処理を実行可能なモードであり、前記制御部は、前記第２モードにおいて、前記制御プログラムに関する情報の応答を要求するコマンドを受信した場合、前記制御プログラムに関する情報を取得して応答することを特徴とする。
本発明の構成によれば、印刷装置は、第２モードに移行中、制御プログラムに関する情報を外部装置に提供し、当該外部装置による当該提供した情報に基づく制御プログラムの改変の要否の判断結果に応じて適切なモードへ移行できる。
【０００８】
また、本発明の印刷装置は、前記制御部は、前記第３モードにおいて、複数の通信インターフェースによる前記制御プログラムの改変に関するデータである制御プログラム関連データの受信を許可し、前記制御プログラム関連データの受信が完了した場合、前記制御プログラム関連データに基づく前記制御プログラムの改変に関する処理を実行可能な第４モードへ移行することを特徴とする。
本発明の構成によれば、印刷装置は、制御プログラム関連データの受信が完了してから、改変実行モードに移行して、制御プログラム関連データに基づく制御プログラムの改変を実行するため、通信エラー等に起因して、制御プログラムの改変が失敗することを防止できる。
【０００９】
また、本発明の印刷装置は、前記制御部は、前記制御プログラム関連データに基づく前記制御プログラムの改変に関する処理が完了した後、リセットを実行し、リセットに伴う再起動後、前記第１モードへ移行することを特徴とする。
本発明の構成によれば、印刷装置について、制御プログラムの改変に関する処理を行った後、正常に改変後の制御プログラムに基づく処理を実行できる状態とすることができる。
【００１０】
また、上記目的を達成するために、本発明は、印刷装置の制御方法であって、受信したコマンドに基づき印刷部の制御を実行可能な第１モードにおいて、第１移行コマンドを受信した場合、受信バッファーをクリアして第１モードから第２モードへ移行し、前記第２モードにおいて、受信したコマンドに基づく処理を実行し、復帰コマンドを受信した場合、前記受信バッファーをクリアして前記第２モードから第１モードへ移行し、第２移行コマンドを受信した場合、前記受信バッファーをクリアして、前記印刷部の制御に係る制御プログラムの改変に関する処理を実行可能な第３モードへ移行することを特徴とする。
本発明の構成によれば、専門的な知識を有さないユーザーが容易かつ正確に制御プログラムの改変を行える。
【００１１】
また、上記目的を達成するために、本発明は、印刷装置と、前記印刷装置と通信する制御装置と、を備える印刷システムであって、前記印刷装置は、記録媒体に印刷する印刷部と、前記制御装置からコマンドを受信する受信バッファーと、第１モードにおいて、受信したコマンドに基づき前記印刷部の制御を行う制御部と、を備え、前記制御部は、前記第１モードにおいて、前記制御装置から第１移行コマンドを受信した場合、前記受信バッファーをクリアして前記第１モードから第２モードへ移行し、前記第２モードにおいて、前記制御装置から受信したコマンドに基づく処理を実行し、前記制御装置から復帰コマンドを受信した場合、前記受信バッファーをクリアして前記第２モードから第１モードへ移行し、前記制御装置から第２移行コマンドを受信した場合、前記受信バッファーをクリアして、前記印刷部の制御に係る制御プログラムの改変に関する処理を実行可能な第３モードへ移行する制御部を備えることを特徴とする。
本発明の構成によれば、専門的な知識を有さないユーザーが容易かつ正確に制御プログラムの改変を行える。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る印刷システムの機能的構成を示すブロック図。
【図２】ホストコンピューター、印刷装置の動作を示すフローチャート。
【図３】ホストコンピューター、印刷装置の動作を示すフローチャート。
【図４】動作モードの遷移を示す図。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係る印刷システム５の機能的構成を示すブロック図である。
図１に示すように、印刷システム５は、印刷装置１と、印刷装置１に通信可能に接続されたホストコンピューター２（制御装置）とを備える。
【００１４】
印刷装置１は、ロール紙を収容し、収容したロール紙にライン型のサーマルヘッドでドットを形成して画像を記録するラインサーマルプリンターである。
図１に示すように、印刷装置１は、制御部１０と、記憶部１１と、入力部１２と、通信部１３と、印刷部１４と、を備える。
【００１５】
制御部１０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他周辺回路等を備え、印刷装置１を制御する。
【００１６】
記憶部１１は、不揮発性メモリーを備え、各種データを記憶する。記憶部１１には、インストールされたファームウェアＦＷが記憶される。制御部１０は、ファームウェアＦＷ（制御プログラム）を読み出して実行することにより、後述する印刷部１４を含む印刷装置１の各部を制御する。
【００１７】
入力部１２は、タッチパネル１２１と、操作スイッチ１２２とを備える。
タッチパネル１２１は、表示パネルと表示パネルに重ねて配置されたタッチセンサーとを備える。表示パネルは、液晶表示パネル等を供え、制御部１０の制御で、各種情報を表示する。タッチセンサーは、ユーザーのタッチ操作を検出し、制御部１０に出力する。制御部１０は、タッチセンサーからの入力に基づいてタッチ操作に対応する処理を実行する。
操作スイッチ１２２は、電源スイッチや、フィードスイッチ等の各種スイッチを備え、ユーザーのスイッチに対する操作を検出し、制御部１０に出力する。制御部１０は、操作スイッチ１２２からの入力に基づいて、ユーザーの操作に対応する処理を実行する。
【００１８】
通信部１３は、制御部１０の制御で、第１通信インターフェース１３１、又は、第２通信インターフェース１３２を介して接続された外部装置（ホストコンピューター２を含む。）と所定の通信規格に従って通信する。
第１通信インターフェース１３１は、ＵＳＢ（通信規格）に従って通信する通信インターフェースであり、ＵＳＢポートを有するインターフェースボードや、インターフェースボードに実装された通信モジュール等を備える。本実施形態では、ホストコンピューター２は、第１通信インターフェース１３１により印刷装置１に接続され、ＵＳＢに従って印刷装置１と通信する。
第２通信インターフェース１３２は、ＲＳ２３２Ｃ等のＵＳＢ以外の所定のシリアル通信規格に従って通信する通信インターフェースであり、当該所定のシリアル通信規格に従ったポートを有するインターフェースボードや、インターフェースボードに実装された通信モジュール等を備える。
なお、通信部１３が、他の通信規格（無線通信に係る通信規格を含む）に従った通信インターフェースを備える構成であってもよい。
【００１９】
印刷部１４は、印刷装置１の筐体に収容されたロール紙を搬送する搬送機構や、サーマルヘッドによってロール紙にドットを形成して画像を印刷する印刷機構、ロール紙を所定の位置で切断する切断機構等のロール紙への記録に関する各種機構を備える。
【００２０】
ホストコンピューター２は、印刷装置１と通信可能に接続され、印刷装置１を制御する装置である。
図２に示すように、ホストコンピューター２は、ホスト制御部２０と、ホスト通信部２１とを備える。
ホスト制御部２０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他周辺回路等を備え、ホストコンピューター２を制御する。ホスト制御部２０は、所定のアプリケーション、及び、付随するプログラムを読み出して実行することにより処理を実行するアプリケーション実行部２０１を備える。また、ホスト制御部２０は、プリンタードライバー、及び、付随するプログラムを読み出して実行することにより処理を実行するプリンタードライバー実行部２０２を備える。
【００２１】
ホスト通信部２１は、ホスト制御部２０の制御で、印刷装置１と所定の通信規格に従って通信する。
【００２２】
次に、画像を印刷するときのホストコンピューター２と印刷装置１との基本的な動作について説明する。
【００２３】
図２は、ロール紙に画像を印刷するときのホストコンピューター２、及び、印刷装置１の基本的な動作を示すフローチャートである。（Ａ）はホストコンピューター２の動作を示し、（Ｂ）は印刷装置１の動作を示す。
図２（Ｂ）のフローチャートの開始時点において、印刷装置１の動作モードは、「ノーマルモード」である。ノーマルモードでは、印刷装置１は、ホストコンピューター２の制御に基づく画像の印刷等、通常動作を実行可能である。
【００２４】
図２（Ａ）に示すように、ホストコンピューター２は、インストールされたアプリケーションと、プリンタードライバーとの機能により、印刷制御データを生成する（ステップＳＡ１）。印刷制御データは、印刷装置１に画像の印刷を指示する制御用のデータであり、印刷装置１のコマンド体系に従った制御コマンドを含んで構成される。
詳述すると、ホスト制御部２０のアプリケーション実行部２０１は、プリンタードライバー実行部２０２に、印刷装置１に印刷させる画像に関する情報を出力する。
プリンタードライバー実行部２０２は、入力された画像に関する情報に基づいて、印刷制御データを生成する。
【００２５】
次いで、ホストコンピューター２は、生成した印刷制御データを、印刷装置１に送信する（ステップＳＡ２）。
【００２６】
図２（Ｂ）に示すように、印刷装置１の通信部１３は、印刷制御データを受信する（ステップＳＢ１）。印刷制御データは、受信バッファーＢＦに、順次、格納される。
受信バッファーＢＦは、ＲＡＭ等のメモリーに形成された記憶領域であり、通信部１３は、ホストコンピューター２から受信したデータを、受信バッファーＢＦに順次格納する。受信バッファーＢＦに格納されたデータは、格納された順番で処理対象となる。
【００２７】
次いで、制御部１０は、受信バッファーＢＦに格納された印刷制御データを読み出して実行することにより、印刷部１４を制御し、印刷を実行する。より詳細には、制御部１０は、印刷制御データに基づいて、印刷する画像のイメージデータを生成し、生成したイメージデータを図示しない画像バッファーに展開する。次いで、制御部１０は、画像バッファーに展開したイメージデータに基づいて、印刷部１４の印刷機構、搬送機構、その他機構を制御して、印刷を実行する。
【００２８】
ここで、上述したように、印刷装置１にはファームウェアＦＷがインストールされ、制御部１０は、ファームウェアＦＷの機能により、印刷装置１の各部を制御する。
ファームウェアＦＷは、バージョンアップや、アップデート等の改変が行われる場合がある。
本実施形態では、ファームウェアＦＷのバージョンアップは、１のバージョンのファームウェアＦＷを、他のバージョンのファームウェアＦＷに書き換えることを意味する。また、本実施形態では、ファームウェアＦＷのアップデートは、ファームウェアＦＷの一部を更新することを意味する。
【００２９】
従来は、基本的に、印刷装置１にインストールされたファームウェアＦＷの改変は、印刷装置１のメンテナンスを担当するサービスマン等の専門知識を有するものが行っていた。
一方で、本実施形態に係る印刷装置１は、専門知識を有さないユーザーが、ファームウェアＦＷの改変を行うことを想定して、ホストコンピューター２と共に、以下の処理を実行し、ファームウェアＦＷの改変が容易かつ正確に、また、できるだけスムーズに行われるようにしている。
【００３０】
図３は、ファームウェアＦＷの改変時におけるホストコンピューター２、及び、印刷装置１の動作を示すフローチャートであり、（Ａ）はホストコンピューター２の動作を、（Ｂ）は印刷装置１の動作を示す。
図４は、印刷装置１の動作モードの遷移を示す図である。図３のフローチャートの説明に際し、適宜、図４を用いて印刷装置１の動作モードの遷移について説明する。
【００３１】
なお、図３（Ｂ）のフローチャートの開始時点では、印刷装置１の動作モードは、上述したノーマルモードである。
また、以下の説明では、ファームウェアＦＷの改変として、ファームウェアＦＷをバージョンアップする場合を例にして、各装置の処理を説明する。
ファームウェアＦＷをバージョンアップするために必要なデータである制御プログラム関連データは、ユーザーにより、所定の方法で事前にホストコンピューター２に記憶される。制御プログラム関連データは、バージョンアップ後のファームウェアＦＷや、その他のファームウェアＦＷのバージョンアップに必要なデータを含んで構成される。
また、以下の説明において、図３（Ａ）のフローチャートの各処理の主体は、プリンタードライバー実行部２０２である。すなわち、図３（Ａ）のフローチャートの各処理は、プリンタードライバーの機能により実行される。しかし、図３（Ａ）のフローチャートの各処理が、プリンタードライバー以外のソフトウェア（例えば、印刷装置１のメンテナンス用の専用のソフトウェアツール）の機能により、また、プリンタードライバー及び他のソフトウェアの機能により実行される構成でもよい。
【００３２】
図３（Ａ）に示すように、ユーザーは、ホストコンピューター２のプリンタードライバーが提供する所定のユーザーインターフェースに、ファームウェアＦＷのバージョンアップを開始する旨の指示入力を行う（ステップＳＸ１）。
ステップＳＸ１の指示入力があった場合、ホストコンピューター２のホスト制御部２０のプリンタードライバー実行部２０２は、第１移行コマンドを生成し、ホスト通信部２１を制御して印刷装置１に送信する（ステップＳＣ１）。
第１移行コマンドは、印刷装置１の動作モードについて、ノーマルモード（第１モード）から、後述する印刷装置情報応答モード（第２モード）への移行を指示する制御コマンドである。
【００３３】
第１移行コマンドのコマンド種類は、「即時実行コマンド」である。
即時実行コマンドは、当該即時実行コマンドを印刷装置１が受信したときに、既に印刷装置１が受信した他の制御コマンド（データ）であって、未処理の制御コマンドがあった場合であっても、これら制御コマンドに優先して実行されるコマンドである。
従って、ホストコンピューター２は、印刷装置１に即時実行コマンドを送信することにより、印刷装置１に即時実行コマンドに基づく処理を即時に実行させることができる。
特に、即時実行コマンドを受信した場合、印刷装置１は、オフライン状態であっても、即時実行コマンドに基づく処理を実行する。
オフライン状態とは、印刷装置１の筐体に設けられたカバーが開状態の場合や、所定のエラーが発生している場合、ロール紙について紙切れが発生している場合等、印刷装置１による印刷を正常に実行できない場合に、ホストコンピューター２から受信した制御コマンドの読み出し及び実行が制限された状態である。
【００３４】
即時実行コマンドは、命令コードとして、予め定められた値の命令コードを有する。従って、印刷装置１の制御部１０は、受信した制御コマンドが、即時実行コマンドか否かを命令コードに基づいて判別できる。
【００３５】
図３（Ｂ）に示すように、印刷装置１の通信部１３は、第１移行コマンドを受信する（ステップＳＤ１）。第１移行コマンドは、受信バッファーＢＦに格納される。
【００３６】
ここで、印刷装置１の制御部１０は、制御コマンドの受信に関し、以下の処理を実行する。
すなわち、制御部１０は、受信バッファーＢＦの状態を監視する。そして、制御部１０は、ホストコンピューター２からの制御コマンドの受信に応じて受信バッファーＢＦに新たに制御コマンドが格納された場合、制御コマンドの命令コードに基づいて、新たに格納された制御コマンドが即時実行コマンドか否かを判別する。受信バッファーＢＦに新たに格納された制御コマンドが即時実行コマンドではない場合、制御部１０は、制御コマンドの読み出しを実行せず、再び、受信バッファーＢＦの状態を監視する。この場合、新たに受信バッファーＢＦに格納された制御コマンドは、受信バッファーＢＦに格納された未処理の制御コマンドが順番に読み出されていき、読み出し対象となったときに制御部１０により読み出され、実行される。
一方、受信バッファーＢＦに新たに格納された制御コマンドが即時実行コマンドの場合、即時実行コマンド管理部１０１は、未処理の制御コマンドが受信バッファーＢＦに格納されているか否かにかかわらず、即時実行コマンドを読み出して実行する。
【００３７】
以上の処理が実行されるため、ステップＳＣ１でホストコンピューター２が送信した第１移行コマンド（即時実行コマンド）の受信に応じて受信バッファーＢＦに第１移行コマンドが格納された場合、制御部１０は、未処理の制御コマンドが受信バッファーＢＦに格納されているか否かにかかわらず、即時に、第１移行コマンドを読み出して実行する。
【００３８】
制御部１０は、以下で説明するステップＳＤ２〜ステップＳＤ４の処理を、受信バッファーＢＦに格納された第１移行コマンドを読み出して実行することにより実行する。
【００３９】
ステップＳＤ２において、制御部１０は、受信バッファーＢＦをバッファークリアする。
バッファークリアとは、受信バッファーＢＦに格納されたデータを消去することである。なお、ステップＳＤ２において、受信バッファーＢＦに格納されたデータのうち、未処理の（読み出しが完了していない）データが格納された領域を、記憶領域のアドレスを示すポインターによって管理している場合は、ポインターが示すアドレスを変更することにより、受信バッファーＢＦに未処理のデータが格納された領域がない状態としてもよい。
すなわち、ステップＳＤ２では、受信バッファーＢＦに未処理の（読み出しが完了していない）制御コマンド（データ）が無い状態となればよい。
【００４０】
ステップＳＤ２の処理が実行されることにより、ホストコンピューター２が、第１移行コマンドを送信する前に印刷装置１に送信した制御コマンドは、実行されることなく破棄される。例えば、ホストコンピューター２が、第１移行コマンドを送信する前に、上述した印刷制御データを送信しており、この印刷制御データの全部又は一部が未処理の状態で受信バッファーＢＦに格納された状態の場合、印刷制御部データに基づく画像の印刷の全部又は一部は実行されることなく処理が停止される。
【００４１】
次いで、制御部１０は、印刷装置情報応答モードへ移行する（ステップＳＤ３）（図４の矢印Ｙ１も併せて参照）。
印刷装置情報応答モードは、オフライン状態であっても、ホストコンピューター２から制御コマンドを受信した場合、制御部１０が、制御コマンドを読み出して実行するモードである。後述するように、ホストコンピューター２は、印刷装置１が印刷装置情報応答モードにおいて、応答要求コマンドを印刷装置１に送信して当該コマンドに対応する応答を受け付け、ファームウェアＦＷに関する情報を取得する。
【００４２】
印刷装置情報応答モードは、「第２モード」に相当すする。
【００４３】
ここで、制御部１０が、印刷装置情報応答モードへ移行時に、受信バッファーＢＦのバッファークリアを実行することの理由は、以下である。
すなわち、印刷装置情報応答モードへ移行時に受信バッファーＢＦのバッファークリアを実行することにより、以下の処理で行われるファームウェアＦＷのバージョンアップに関連する各種処理の実行時に、受信バッファーＢＦに未処理の制御コマンドが残っていることに起因した不具合が発生することを防止できる。
例えば、受信バッファーＢＦのバッファークリアをすることなく印刷装置情報応答モードへ移行した場合、以下の事態が生じ得る。すなわち、印刷装置情報応答モードにおいて、ホストコンピューター２が、ファームウェアＦＷのバージョンアップに関連する１の制御コマンド（即時実行コマンドでない制御コマンド）を送信したときに、未処理の印刷制御データが受信バッファーＢＦに残っている場合、当該１の制御コマンドは、印刷制御データの実行後に、実行されることになる。この場合において、印刷制御データに基づく処理の実行によってエラー（例えば、ロール紙の搬送に関するエラー）が発生した場合、印刷制御データの読み出しが中断され、これに起因して当該１の制御コマンドの読み出しが遅延し、又は、実行されないという事態が発生し得る。
そして、本実施形態では、印刷装置情報応答モードへ移行時に受信バッファーＢＦのバッファークリアが実行されるので、印刷装置情報応答モードにおいて、受信バッファーＢＦに未処理の制御コマンドが残っていることに起因した不具合が発生することを防止できる。このため、ユーザーは、印刷装置情報応答モードにおいて、受信バッファーＢＦに未処理の制御コマンドが残っていることに起因して発生した不具合を解消する作業を行う必要がなく、専門的な知識を有さない場合であっても、容易かつ正確に、また、スムーズに、ファームウェアＦＷのバージョンアップを行うことができる。
【００４４】
また、印刷装置情報応答モードにおいて、制御部１０が、オフライン状態であってもホストコンピューター２から受信した制御コマンドを読み出して実行する理由は以下である。
すなわち、オフライン状態の場合は制御コマンドの読み出しをしない構成とした場合、印刷装置情報応答モードにおいて、ホストコンピューター２がファームウェアＦＷのバージョンアップに関連する１の制御コマンドを印刷装置１に送信したときに、印刷装置１がオフライン状態であるため、当該１の制御コマンドに基づく処理を実行しないという事態が生じ得る。このような事態が生じた場合、ユーザーは、オフライン状態となった原因を究明し、オフライン状態を解消する作業を実行する必要が生じる。また、原因の究明や、オフライン状態の解消には、印刷装置１についての専門的な知識が必要である。
一方で、本実施形態によれば、ユーザーが上述した作業を行う必要がなく、専門的な知識を有さない場合であっても、容易かつ正確に、また、スムーズに、ファームウェアＦＷのバージョンアップを行える。
なお、ファームウェアＦＷの改変（本例の場合バージョンアップ）は、印刷装置１の物理的な動作を伴わず、オフライン状態であっても正常に処理を実行可能である。
【００４５】
印刷装置情報応答モードへ移行後、制御部１０は、印刷装置情報応答モードへ移行したことを通知する情報を、ホストコンピューター２に送信する（ステップＳＤ４）。
【００４６】
図３（Ａ）に示すように、ステップＳＤ４の情報を受信すると、ホストコンピューター２のホスト制御部２０のプリンタードライバー実行部２０２は、応答要求コマンドを生成し、印刷装置１に送信する（ステップＳＣ２）。
応答要求コマンドは、後述するファームウェア情報の応答を要求する制御コマンドである。
【００４７】
図３（Ｂ）に示すように、印刷装置１の通信部１３は、応答要求コマンドを受信する（ステップＳＤ５）。
次いで、制御部１０は、応答要求コマンドを読み出して実行することにより、ファームウェア情報を取得する（ステップＳＤ６）。ファームウェア情報とは、印刷装置１にインストールされたファームウェアＦＷに関する情報であり、少なくとも、ファームウェアＦＷのバージョンを示す情報を含む。ファームウェア情報は、所定の記憶領域に記憶される。
以下の説明では、印刷装置１にインストールされているバージョンアップ前のファームウェアＦＷを「旧ファームウェアＦＷ１」と表現し、印刷装置１に新たにインストールを試みるバージョンアップ後のファームウェアＦＷを「新ファームウェアＦＷ２」と表現する。
【００４８】
次いで、制御部１０は、ステップＳＤ６で取得したファームウェア情報を、ホストコンピューター２に送信する（ステップＳＤ７）。
【００４９】
図３（Ａ）に示すように、プリンタードライバー実行部２０２は、ステップＳＤ７で印刷装置１が送信したファームウェア情報を受信すると、以下の処理を実行する（ステップＳＣ３）。
すなわち、ステップＳＣ３において、プリンタードライバー実行部２０２は、受信したファームウェア情報に基づいて、旧ファームウェアＦＷ１のバージョンと、新ファームウェアＦＷ２のバージョンとを比較し、新ファームウェアＦＷ２のバージョンの方が、旧ファームウェアＦＷ１のバージョンよりも新しいか否かを判別する。
【００５０】
新ファームウェアＦＷ２のバージョンが旧ファームウェアＦＷ１のバージョンよりも新しくない場合（ステップＳＣ３：ＮＯ）、換言すれば、旧ファームウェアＦＷ１のバージョンと新ファームウェアＦＷ２のバージョンとが同じか、又は、旧ファームウェアＦＷ１のバージョンの方が新ファームウェアＦＷ２のバージョンよりも新しい場合、プリンタードライバー実行部２０２は、以下の処理を実行する。なお、この場合、ファームウェアＦＷのバージョンアップは必要ない。
プリンタードライバー実行部２０２は、復帰コマンド（モード復帰コマンド）を生成し、印刷装置１に送信する（ステップＳＣ４）。
【００５１】
復帰コマンドは、印刷装置情報応答モードからノーマルモードへの移行を指示する即時実行コマンドである。
【００５２】
図３（Ｂ）に示すように、印刷装置１の通信部１３は、ステップＳＣ４でホストコンピューター２が送信した復帰コマンドを受信する（ステップＳＤ８）。
次いで、制御部１０は、復帰コマンドを読み出して実行することによりステップＳＤ９〜ステップＳＤ１０の処理を実行する。復帰コマンドは、即時実行コマンドであるため、ステップＳＤ９〜ステップＳＤ１０の処理は、復帰コマンドの受信に応じて即時に実行される。
ステップＳＤ９において、制御部１０は、受信バッファーＢＦをバッファークリアする。
続くステップＳＤ１０において、制御部１０は、動作モードを、印刷装置情報応答モードから、ノーマルモードへ移行する（図４の矢印Ｙ２も併せて参照。）。
ノーマルモードへの移行時に受信バッファーＢＦのバッファークリアが行われるため、ノーマルモードへ移行後、印刷装置情報応答モードにおいてホストコンピューター２から受信した制御コマンドが未処理の状態で受信バッファーＢＦに格納された状態であることに起因した不具合の発生を防止できる。
【００５３】
ここで、本実施形態では、印刷装置情報応答モードからノーマルモードへの移行は、印刷装置１のリセットを伴わずに行われる。このため、ファームウェアＦＷの改変（本例ではバージョンアップ）が必要ない場合にリセットが実行され、印刷装置１がノーマルモードで印刷処理等の通常の処理を開始できる状態となるまでに待ち時間が発生し、ユーザーの利便性が損なわれることを防止できる。
【００５４】
図３（Ａ）に示すように、ステップＳＣ３において、新ファームウェアＦＷ２のバージョンが旧ファームウェアＦＷ１のバージョンよりも新しい場合（ステップＳＣ３：ＹＥＳ）、プリンタードライバー実行部２０２は、第２移行コマンドを生成し、印刷装置１に送信する（ステップＳＣ５）。
第２移行コマンドは、印刷装置情報応答モードから、後述する改変準備モードへの移行を指示する即時実行コマンドである。
【００５５】
図３（Ｂ）に示すように、印刷装置１の通信部１３は、ステップＳＣ５でホストコンピューター２が送信した第２移行コマンドを受信する（ステップＳＤ１１）。
次いで、制御部１０は、第２移行コマンドを読み出して実行することによりステップＳＤ１２〜ステップＳＤ１７の処理を実行する。第２移行コマンドは、即時実行コマンドであるため、ステップＳＤ１２〜ステップＳＤ１７の処理は、第２移行コマンドの受信に応じて即時に実行される。
【００５６】
ステップＳＤ１２において、制御部１０は、受信バッファーＢＦのバッファークリアを実行する。
次いで、制御部１０は、動作モードを、印刷装置情報応答モードから、改変準備モードへ移行する（ステップＳＤ１３）（図４の矢印Ｙ３も併せて参照。）。
【００５７】
改変準備モードは、複数の通信インターフェース（本実施形態では、第１通信インターフェース１３１、及び、第２通信インターフェース１３２）によるデータの受信を許可し、後述する改変準備処理を実行する動作モードである。
改変準備モードでは、印刷装置情報応答モードと同様、オフライン状態であっても、ホストコンピューター２から制御コマンドを受信した場合、制御部１０は、制御コマンドを読み出して実行する。このことによる効果は、印刷装置情報応答モードで説明した効果と同様である。
【００５８】
改変準備モードで、複数の通信インターフェースによるデータの受信を許可する理由は以下である。すなわち、後述するように改変準備モードでは、印刷装置１は、ファームウェアＦＷの改変に関するデータ（本例では、新ファームウェアＦＷ２を含む制御プログラム関連データ）をホストコンピューター２から受信する。改変準備モードで受信するデータのデータ量は、非常に大きい場合がある。これを踏まえ、複数の通信インターフェースからデータの受信をできる状態とし、ファームウェアＦＷの改変に必要なデータを記憶する任意のデバイス（ホストコンピューター２を含む）から、任意の通信プロトコルで、当該データを受信できるようにする。
【００５９】
改変準備モードは、「第３モード」に相当する。
【００６０】
次いで、印刷装置１の制御部１０、及び、ホストコンピューター２のプリンタードライバー実行部２０２は、改変準備処理を実行する（ステップＳＣ６、及び、ステップＳＤ１４）。
印刷装置１の制御部１０と、のプリンタードライバー実行部２０２とが必要な情報の送受信が行われる。改変準備処理は、ホストコンピューター２では、プリンタードライバー実行部２０２が、制御プログラム関連データを送信する処理であり、印刷装置１では、制御部１０が制御プログラム関連データの全てを受信して、所定の記憶領域に記憶する処理である。上述したように、制御プログラム関連データは、新ファームウェアＦＷ２、及び、ファームウェアＦＷのバージョンアップに必要なデータを含むデータである。改変準備処理の実行中、印刷装置１の制御部１０は、必要に応じて、受信したデータの整合性チェックを実行し、制御プログラム関連データの受信が正常に実行されたか否かを監視する。
【００６１】
図３（Ｂ）に示すように、改変準備処理が完了した場合、換言すると、新ファームウェアＦＷ２を含む制御プログラム関連データの全ての受信、及び、記憶が完了した場合、制御部１０は、動作モードを改変準備モードから改変実行モードへ移行する（ステップＳＤ１５）（図４の矢印Ｙ４も併せて参照）。
改変実行モードは、記憶した制御プログラム関連データに基づいて、ファームウェアＦＷのバージョンアップを行うモードである。改変実行モードは、「第４モード」に相当する。
【００６２】
改変実行モードへ移行した後、制御部１０は、記憶した制御プログラム関連データに基づいて、ファームウェアＦＷのバージョンアップを実行する（ステップＳＤ１６）。ステップＳＤ１６の処理により、印刷装置１に新ファームウェアＦＷ２がインストールされた状態となる。
【００６３】
ファームウェアＦＷのバージョンアップの完了後、制御部１０は、印刷装置１をリセットする（ステップＳＤ１７）（図４の矢印Ｙ５も併せて参照）。
印刷装置１がリセットされることにより、新ファームウェアＦＷ２を実行するのに必要な初期化、その他の処理が行われ、印刷装置１は、リセットに伴う起動後に新ファームウェアＦＷ２の機能に基づく処理を実行できる。
また、リセットに伴う起動時に印刷装置１の動作モードは、ノーマルモードとされる（図４の矢印Ｙ６も併せて参照。）。従って、印刷装置１は、リセットに伴う起動後、新ファームウェアＦＷ２に基づいて、印刷部１４の制御を含む、通常動作を実行できる。
【００６４】
以上説明したように、本実施形態に係る印刷装置１は、ロール紙（記録媒体）に印刷する印刷部１４を備える。
また、印刷装置１の制御部１０は、受信した制御コマンド（コマンド）に基づく印刷部１４の制御を実行可能なノーマルモード（第１モード）において、第１移行コマンドを受信した場合、受信バッファーＢＦをバッファークリア（クリア）してノーマルモードから印刷装置情報応答モード（第２モード）へ移行し、印刷装置情報応答モードにおいて、受信したコマンドに基づく処理を実行し、復帰コマンドを受信した場合、受信バッファーＢＦをクリアして印刷装置情報応答モードからノーマルモードへ移行し、第２移行コマンドを受信した場合、受信バッファーＢＦをクリアして、印刷部１４の制御に係るファームウェアＦＷ（制御プログラム）の改変に関する処理を実行可能な改変準備モード（第３モード）へ移行する。
この構成によれば、印刷装置情報応答モードへ移行時に受信バッファーＢＦのバッファークリアが実行されるので、印刷装置情報モードに移行中、受信バッファーＢＦに未処理の制御コマンドが残っていることに起因した不具合が発生することを防止できる。このため、ユーザーは、印刷装置情報モードに移行中、受信バッファーＢＦに未処理の制御コマンドが残っていることに起因して発生した不具合を解消する作業を行う必要がなく、専門的な知識を有さない場合であっても、容易かつ正確に、また、スムーズに、ファームウェアＦＷのバージョンアップを行うことができる。
また、上記構成によれば、印刷装置１は、印刷装置情報応答モードに移行中、ホストコンピューター２の指示に応じて、ノーマルモード、及び、改変準備モードのいずれにも移行できるため、ファームウェアＦＷの改変が必要のない場合に改変準備モードへ移行して、改変準備モードへの移行に伴うリセットが実行されることを防止できる。
【００６５】
また、本実施形態では、第１移行コマンド、第２移行コマンド、及び、復帰コマンドは、未処理の他のコマンドに優先して実行され、オフライン状態であっても実行される即時実行コマンドである。
この構成によれば、印刷装置１は、ホストコンピューター２からの指示に基づいて各モードへの移行を即時に行うことができる。
【００６６】
また、本実施形態では、印刷装置情報応答モードは、オフライン状態であっても受信したコマンドに基づく処理を実行可能なモードであり、制御部１０は、印刷装置情報モードにおいて、ファームウェアＦＷ（制御プログラム）に関する情報の応答を要求する応答要求コマンド（コマンド）を受信した場合、ファームウェア情報（制御プログラムに関する情報）を取得して応答する。
この構成によれば、ホストコンピューター２は、印刷装置１を印刷装置情報モードへ移行させた後、当該モードにおいて、ファームウェアＦＷに関する情報を取得し、取得した情報に基づいて、ファームウェアＦＷの改変の要否を判別し、判別結果に基づいて、印刷装置１の動作モードをノーマルモード、又は、改変準備モードへ移行させることができる。すなわち、ホストコンピューター２は、ファームウェアＦＷの改変の要否に応じて適切なモードへ印刷装置１を移行させることができる。
【００６７】
また、本実施形態では、制御部１０は、改変準備モードにおいて、複数の通信インターフェースによるファームウェアＦＷの改変に関するデータである制御プログラム関連データの受信を許可し、制御プログラム関連データの受信が完了した場合、制御プログラム関連データに基づく制御プログラムの改変に関する処理を実行可能な改変実行モード（第４モード）へ移行する。
この構成によれば、印刷装置１は、複数の通信インターフェースからデータの受信をできる状態とし、ファームウェアＦＷの改変に必要なデータを記憶する任意のデバイス（ホストコンピューター２を含む）から、任意の通信プロトコルで、当該データを受信できる。
また、上記構成によれば、印刷装置１は、制御プログラム関連データの受信が完了してから、改変実行モードに移行して、制御プログラム関連データに基づくファームウェアＦＷの改変を実行するため、通信エラー等に起因して、ファームウェアＦＷの改変が失敗することを防止できる。
【００６８】
また、本実施形態では、制御部１０は、制御プログラム関連データに基づくファームウェアＦＷの改変に関する処理が完了した後、リセットを実行し、リセットに伴う再起動後、ノーマルモードへ移行する。
この構成によれば、印刷装置１について、ファームウェアＦＷの改変に関する処理を行った後、正常に改変後のファームウェアＦＷに基づく処理を実行できる状態とすることができる。
【００６９】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
上述した実施形態では、印刷装置１は、サーマルプリンターであったが、印刷装置１の印刷方式は、例示したものに限らない。
また、図を用いて説明した各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
【符号の説明】
【００７０】
１…印刷装置、２…ホストコンピューター（制御部）、５…印刷システム、１０…制御部、１４…印刷部、ＢＦ…受信バッファー。
【図１】
0006421603.tif 000002
【図２】
0006421603.tif 000003
【図３】
0006421603.tif 000004
【図４】
0006421603.tif 000005