[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6531523B2 - 印刷装置の制御方法および印刷装置 - Google Patents

印刷装置の制御方法および印刷装置 Download PDF

Info

Publication number
JP6531523B2
JP6531523B2 JP2015133372A JP2015133372A JP6531523B2 JP 6531523 B2 JP6531523 B2 JP 6531523B2 JP 2015133372 A JP2015133372 A JP 2015133372A JP 2015133372 A JP2015133372 A JP 2015133372A JP 6531523 B2 JP6531523 B2 JP 6531523B2
Authority
JP
Japan
Prior art keywords
data
unit
printing apparatus
command
mode
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.)
Active
Application number
JP2015133372A
Other languages
English (en)
Other versions
JP2017013396A (ja
JP2017013396A5 (ja
Inventor
明男 高本
明男 高本
野口 誠
誠 野口
誠 ▲吉▼木
誠 ▲吉▼木
正洋 武居
正洋 武居
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2015133372A priority Critical patent/JP6531523B2/ja
Priority to US15/193,998 priority patent/US20170003916A1/en
Publication of JP2017013396A publication Critical patent/JP2017013396A/ja
Publication of JP2017013396A5 publication Critical patent/JP2017013396A5/ja
Application granted granted Critical
Publication of JP6531523B2 publication Critical patent/JP6531523B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1234Errors handling and recovery, e.g. reprinting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • G06F3/1294Status or feedback related to information exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1296Printer job scheduling or printer resource handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • G06K15/1805Receiving printer configuration commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1817Buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/40Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
    • G06K15/408Handling exceptions, e.g. faults

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Stored Programmes (AREA)

Description

本発明は、印刷装置の制御方法および印刷装置に関するものである。
従来、プログラム更新システム(プログラム管理システム)として、管理装置(プログラム管理装置)と、印刷装置(プリンター)と、を備えたものが知られている(特許文献1参照)。このプログラム更新システムでは、管理装置は、印刷装置に対し更新データ(更新用の制御プログラム、更新用のファーム)を送信し、印刷装置は、当該更新データにより、装置制御プログラム(制御プログラム、ファーム)の更新処理を実行する。
特開2010−198630号公報
ところで、印刷装置では、エラー復帰待ち状態の場合、管理装置から送信されたコマンドを受信できない。そのため、上記従来のプログラム更新システムでは、エラー復帰待ち状態の場合、装置制御プログラムの更新処理を行うことができないという問題があった。
本発明は、印刷装置がエラー復帰待ち状態において、装置制御プログラムの更新を行うことができる印刷装置の制御方法および印刷装置を提供することを目的としている。
本発明の印刷装置の制御方法は、印刷装置を制御する装置制御プログラムおよび装置制御プログラムを更新するためのブートプログラムを記憶した記憶部と、管理装置と通信する通信部を備えた印刷装置の制御方法であって、管理装置からのモード切替要求を通信部で受信する切替要求受信ステップと、モード切替要求に基づき、装置制御プログラムを実行する通常制御モードから、ブートプログラムを実行するブート制御モードに切り替えるモード切替ステップと、を実行し、切替要求受信ステップでは、通信部がビジー状態を送信していても、モード切替要求を通信部で受信することを特徴とする。
本発明の印刷装置は、印刷装置を制御する装置制御プログラムおよび装置制御プログラムを更新するためのブートプログラムを記憶した記憶部と、管理装置と通信する通信部と、制御部と、を備え、通信部は、ビジー状態を送信している場合であっても、管理装置からモード切替要求を受信し、制御部は、モード切替要求に基づき、装置制御プログラムを実行する通常制御モードから、ブートプログラムを実行するブート制御モードに切り替えることを特徴とする。
これらの構成によれば、通常は通信を受け付けず通信できない状態(プリンタービジー状態:エラー状態、エラー復帰待ち状態、印刷できない状態)になり、管理装置にビジー状態を送信している場合においても、モード切替要求を受信でき、ブート制御モードに切り替えることができる。よって、ビジー状態であったとしても、管理装置により装置制御プログラムを更新することができる。例えば、印刷媒体をセットするために開閉する開閉カバーが開放された状態(カバーオープン状態)や、紙切れエラーの状態など、印刷できない状態でビジー状態を送信している場合であったとしてもモード切替要求と更新に必要なコマンドやデータ等を受信し、装置制御プログラムを更新することができる。
上記の印刷装置の制御方法において、モード切替要求は、印刷装置が他の処理に優先して実行するリアルタイムコマンドであることが好ましい。
上記の印刷装置において、モード切替要求は、他の処理に優先して実行するリアルタイムコマンドであることが好ましい。
これらの構成によれば、モード切替要求を優先して処理でき、すぐに更新が可能となる。例えば、後述の受信バッファに他のコマンドがあっても、モード切替要求を優先して処理でき、すぐに更新することができる。
上記の印刷装置の制御方法において、印刷装置は管理装置から受信したデータを記憶する受信バッファを更に備え、管理装置からモード切替要求を受信したとき、受信バッファ内のデータを消去するバッファ消去ステップを、更に実行することが好ましい。
この構成によれば、受信バッファ内のデータを消去(クリア)する構成となるため、ブート制御モードにおいて、受信バッファにデータが残っていることで誤って処理されて生じる不具合や、受信バッファに残ったデータが更新データの一部として誤って記憶されることを解消することができる。例えば、受信バッファに残留したデータが、本来必要なデータに代えて、管理装置に送られてしまうといった事態を避けることができる。また、管理装置からのモード切替要求を受けたことをトリガーとして、印刷装置が、自発的に受信バッファ内のデータを消去することができる。そのため、管理装置から、受信バッファ内のデータを消去するコマンドを送る必要がなく、処理を簡易化することができる。
また、印刷装置は管理装置から受信したデータを記憶する受信バッファを更に備え、通常制御モードでは、受信バッファに記憶した順に処理する通常コマンドと、通常コマンドに優先して処理するリアルタイムコマンドを実行可能であり、ブート制御モードでは、リアルタイムコマンドを実行可能であることが好ましい。
この構成によれば、ブート制御モードに切り替わった状態において、印刷装置が受けるコマンドを、リアルタイムコマンドに限定することができる。そのため、ブート制御モード時のコマンド解析を簡易化することができる。よって、ブートプログラムについて簡単なものにすることができ且つ記憶部に占める領域を小さくすることができる。また、ブート制御モード時の処理を簡易化することができる。
さらに、管理装置から、印刷装置の情報を要求する情報要求を通信部で受信する情報要求受信ステップと、情報要求に基づき印刷装置の情報を通信部から管理装置に送信する情報送信ステップと、管理装置から更新データを通信部で受信する更新データ受信ステップと、ブートプログラムにより、記憶部の装置制御プログラムを更新データに更新するプログラム更新ステップと、を更に実行し、情報要求受信ステップでは、通信部がビジー状態を送信していても、情報要求を通信部で受信することが好ましい。
この構成によれば、管理装置で、取得した印刷装置の情報に基づいて更新データを生成し、印刷装置に送信することができるため、印刷装置は、印刷装置に合わせた更新データを受信し更新することができる。また、当該更新データの受信と更新とを、ビジー状態でも行うことができる。
本発明の印刷装置の制御方法は、管理装置から、ブート制御モードに切り替わったか否かを確認するための応答要求を通信部で受信する応答要求受信ステップと、ブート制御モードに切り替わったか否かの応答確認情報を通信部から送信する応答確認情報送信ステップと、を更に実行し、更新データ受信ステップでは、応答確認情報送信ステップでブート制御モードに切り替わっていない旨の応答確認情報を送信した場合、管理装置から送信される記憶部に規定されたデータ形式により構成された更新データを受信することが好ましい。
この構成によれば、印刷装置から、ブート制御モードに切り替わっていない旨の応答確認情報を送信し、管理装置が印刷装置の情報が取得できない場合に、更新データを印刷装置の記憶部に規定されたデータ形式(例えば、フラッシュROMのセクター単位のデータ形式であり、そのまま記憶部に記憶できる形式)で、印刷装置に送信する。そのため、印刷装置の情報が取得できなかった場合に、データ形式を変えて更新データを送信することで、更新処理がキャンセルされてしまう事態を避けることができる。
本発明の一実施形態に係る印刷システムのシステム構成図である。 ホスト装置および印刷装置の機能構成を示した機能ブロック図である。 更新データファイルにおけるユニット構成を示した図である。 更新データの選別処理を説明するための図である。 印刷システムによる装置制御プログラムの更新動作における前半部を示したフローチャートである。 印刷システムによる装置制御プログラムの更新動作における後半部を示したフローチャートである。
以下、添付の図面を参照して、本発明の一実施形態に係る印刷装置の制御方法および印刷装置について説明する。実施形態では、本発明を適用した印刷システムを例示する。この印刷システムは、印刷媒体に対し印刷処理を行って、印刷物を作成するものである。また、本印刷システムは、搭載するモジュールが異なる複数のモデルが存在する印刷装置に対し、装置制御プログラムの更新処理を行うプログラム更新システムとしても機能する。
図1に示すように、印刷システムSYは、ホスト装置1(管理装置)と、ホスト装置1に接続された印刷装置2と、を有する。ホスト装置1と印刷装置2とは、有線通信によって接続される構成でも良いし、無線通信によって接続される構成でも良い。また、ホスト装置1と印刷装置2とは、直接接続される構成でも良いし、ネットワーク(インターネットやローカルエリアネットワーク)を介して接続される構成でも良い。
ホスト装置1は、各種コマンドを生成し、生成した各種コマンドを印刷装置2に送信するものであり、印刷装置2とのデータ通信を行う通信インターフェース6と、通信インターフェース6を制御する制御部7と、を備える。また、ホスト装置1は、各種情報を表示するディスプレイ8を備える。
通信インターフェース6は、印刷装置2とのデータ通信を行うものである。すなわち、通信インターフェース6は、上記した各種コマンドを含む各種データを印刷装置2に送信すると共に、印刷装置2から各種データを受信する。
制御部7は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、ROM(Read Only Memory)13およびハードディスクドライブ14等を有し、ホスト装置1を統括制御する。ハードディスクドライブ14は、プリンタードライバー16と、更新管理ツール17と、を記憶する。ホスト装置1は、制御部7により、更新管理ツール17を実行することで、印刷装置2による上記更新処理を管理する「管理装置」として機能する。
一方、印刷装置2は、ホスト装置1からの各種コマンドを受信し、当該各種コマンドに基づいて、各種処理を行う。例えば、印刷コマンドに基づいて、印刷媒体に対し印刷処理を行う。この印刷装置2は、Bluetooth(登録商標)モジュール搭載モデルや、ネットワークモジュール搭載モデル等、搭載するモジュールが異なる複数のモデルが存在する。すなわち、本印刷装置2は、複数のモジュールの中から1以上のモジュールを選択的に搭載したものである。
印刷装置2は、ホスト装置1とのデータ通信を行う通信インターフェース21(通信部)と、印刷媒体に対し印刷処理を行うプリンターエンジン22と、通信インターフェース21およびプリンターエンジン22を制御するプリンターコントローラー23と、を備える。印刷装置2は、プリンターコントローラー23の制御の下、通信インターフェース21により、各種コマンドを受信する。そして、受信したコマンドが印刷コマンドである場合には、プリンターエンジン22により、当該印刷コマンドに基づいて印刷媒体に対し印刷処理を行う。これによって、印刷物を作成する。
通信インターフェース21は、ホスト装置1との通信を行うものである。すなわち、通信インターフェース21は、ホスト装置1から、上記各種コマンドを含む各種データを受信すると共に、ホスト装置1に各種データを送信する。
プリンターコントローラー23は、印刷装置2を統括制御する制御部31と、各種データを記憶する記憶部32と、を備える。記憶部32は、フラッシュROMで構成されており、印刷装置2を制御するための装置制御プログラム36と、装置制御プログラム36を更新するためのブートプログラム37と、を記憶する。装置制御プログラム36には、印刷装置2に搭載した各モジュールのファームウェアおよび設定情報が含まれる。
制御部31は、CPU41、RAM42、ROM43等を有し、印刷装置2を統括制御する。RAM42は、送受信バッファ46(受信バッファ)を有する。送受信バッファ46は、通信インターフェース21によってホスト装置1から受信したデータと、通信インターフェース21によってホスト装置1に送信するデータと、を一時記憶するものである。なお、送受信バッファ46は、FIFO(First In First Out)バッファである。
本実施形態では、印刷装置2は、制御部31により装置制御プログラム36を実行することで、印刷処理を含む通常の処理を行い、制御部31によりブートプログラム37を実行することで、装置制御プログラム36の更新処理を行う。すなわち、印刷装置2は、制御部31により装置制御プログラム36を実行する通常制御モードと、制御部31によりブートプログラム37を実行するブート制御モードと、を有し、装置制御プログラム36の更新処理を行う場合には、通常制御モードからブート制御モードに切り替えて、当該更新処理を行う構成である。なお、通常制御モードでは、通常コマンドとリアルタイムコマンドとを実行可能であり、ブート制御モードでは、リアルタイムコマンドのみを実行可能である。通常コマンドは、印刷装置2が送受信バッファ46に記憶した順に処理するコマンドであり、リアルタイムコマンドは、印刷装置2が通常コマンドに対し優先して処理するコマンドであり、印刷装置2が他の処理に対し優先して実行するコマンドである。
ここで図2を参照して、ホスト装置1および印刷装置2の機能構成について説明する。まず、印刷装置2の機能構成について説明する。図2に示すように、印刷装置2は、第1データ受信部50と、第1コマンド解析部51と、印刷制御部52と、第1モード切替部53と、バッファ消去部54と、第2データ受信部60と、第2コマンド解析部55と、応答送信部56と、装置情報送信部57と、第2モード切替部58と、プログラム更新部59と、を備える。第1データ受信部50、第1コマンド解析部51、印刷制御部52および第1モード切替部53は、装置制御プログラム36を実行する制御部31により構成される。一方、バッファ消去部54、第2データ受信部60、第2コマンド解析部55、応答送信部56、装置情報送信部57、第2モード切替部58およびプログラム更新部59は、ブートプログラム37を実行する制御部31により構成される。
第1データ受信部50は、通常制御モードにおいて、ホスト装置1からの各種データを、通信インターフェース21で受信する。具体的には、第1データ受信部50は、印刷コマンドやモード切替コマンド(後述する)を、通信インターフェース21で受信する。第1データ受信部50は、通信インターフェース21がホスト装置1に対しビジー状態を送信していても、リアルタイムコマンドについては受信する構成を有する。すなわち、第1データ受信部50は、ビジー状態でも、リアルタイムコマンドを受信する。本実施形態では、リアルタイムコマンドで構成されたモード切替コマンドを用いる構成であるため、ビジー状態でも(通信インターフェース21がホスト装置1に対しビジー状態を送信していても)、モード切替コマンド(モード切替要求)を受信する。
第1コマンド解析部51は、通常制御モードにおいて、受信したデータに対し、コマンド解析を行う。具体的には、第1コマンド解析部51は、受信したデータが、どのコマンドであるかを判定する。また、第1コマンド解析部51は、受信したデータが、通常コマンドであるか、リアルタイムコマンドであるか、を判定する。
印刷制御部52は、第1コマンド解析部51によるコマンド解析の結果、受信したデータが、印刷コマンドであると判定された場合、印刷コマンドに基づく印刷処理を行う。すなわち、印刷制御部52は、プリンターエンジン22を制御し、印刷コマンドに基づいて、印刷媒体に対し印刷処理を行う。
第1モード切替部53は、通常制御モードにおいて、ホスト装置1からのモード切替要求に基づき、印刷装置2のモードを、通常制御モードからブート制御モードに切り替える。厳密には、第1モード切替部53は、ホスト装置1から送信されたモード切替コマンドを受けて、印刷装置2のモードを、ブート制御モードに切り替える。また、ブート制御モードには、ホスト装置1からの要求を受けて各種情報を応答する情報応答モードと、ホスト装置1からのデータにより上記更新処理(書き換え処理)を行う強制書き換えモードと、が有り、第1モード切替部53は、ホスト装置1からのモード切替コマンドに従って、情報応答モードおよび強制書き換えモードのいずれか一方のモードに切り替える。なお、本実施形態においては、ホスト装置1は、情報応答モードに切り替える旨のモード切替コマンドを送信する構成であるため、第1モード切替部53は、当該モード切替コマンドを受けて、印刷装置2のモードを、通常制御モードから情報応答モードに切り替える。
バッファ消去部54は、ホスト装置1から、情報応答モードに切り替える旨のモード切替コマンド(モード切替要求)を受信したとき、送受信バッファ46内のデータを消去する。すなわち、本実施形態では、印刷装置2のモードを情報応答モードに切り替えた後、バッファ消去部54により、送受信バッファ46内のデータを消去する構成となる。
第2データ受信部60は、ブート制御モードにおいて、ホスト装置1からの各種データを、通信インターフェース21で受信する。具体的には、第2データ受信部60は、応答要求コマンド、情報要求コマンド、モード切替コマンドや送信用データ(いずれも後述する)を通信インターフェース21で受信する。第2データ受信部60は、通信インターフェース21がホスト装置1に対しビジー状態を送信していても、リアルタイムコマンドについては受信する構成を有する。すなわち、第2データ受信部60は、ビジー状態でも、リアルタイムコマンドを受信する。本実施形態では、リアルタイムコマンドで構成された情報要求コマンドを用いる構成であるため、ビジー状態でも(ビジー状態を送信していても)、情報要求コマンド(情報要求)を受信する。
第2コマンド解析部55は、ブート制御モードにおいて、受信したデータに対しコマンド解析を行い、受信したデータが、どのリアルタイムコマンドであるかを判定する。すなわち、本実施形態では、ホスト装置1は、印刷装置2がブート制御モードとなった状態において、印刷装置2へのコマンド送信をリアルタイムコマンドで行う構成であるため、受信したデータが、どのリアルタイムコマンドであるかを判定することで、受信したデータに対するコマンド解析を行うことができる。
応答送信部56は、ブート制御モードにおいて、ホスト装置1からの応答要求コマンド(応答要求)を受けて、応答確認情報を、ホスト装置1に対し通信インターフェース21で送信する。応答確認情報は、印刷装置2がブート制御モードの情報応答モードに切り替わったか否かを示す情報である。すなわち、応答送信部56は、印刷装置2が情報応答モードに切り替わった場合、情報応答モードに切り替わった旨の応答確認情報を送信し、印刷装置2が情報応答モードに切り替わっていない場合、情報応答モードに切り替わっていない旨の応答確認情報を送信する。
装置情報送信部57は、情報応答モードにおいて、ホスト装置1からの情報要求コマンド(情報要求)に基づき、ホスト装置1に対し、印刷装置2の装置情報を通信インターフェース21で送信する。装置情報送信部57は、装置情報として、印刷装置2のプリンターIDと、印刷装置2のモジュール構成と、搭載した各モジュールにおける各ファームウェアのバージョン情報と、をホスト装置1に送信する。
第2モード切替部58は、ブート制御モードにおいて、ホスト装置1からのモード切替要求に基づき、印刷装置2のモードを、情報応答モードと強制書き換えモードとの間で切り替える。厳密には、第2モード切替部58は、ホスト装置1から送信されたモード切替コマンドを受けて、印刷装置2のモードを切り替える。すなわち、第2モード切替部58は、情報応答モードにおいて、強制書き換えモードに切り替える旨のモード切替コマンドを受け、印刷装置2のモードを、情報応答モードから強制書き換えモードに切り替える。また、第2モード切替部58は、強制書き換えモードにおいて、情報応答モードに切り替える旨のモード切替コマンドを受け、印刷装置2のモードを、強制書き換えモードから情報応答モードに切り替える。
プログラム更新部59は、強制書き換えモードにおいて、ホスト装置1からの送信用データ(後述する)に基づいて、装置制御プログラム36の更新処理を行う。具体的には、記憶部32に記憶した装置制御プログラム36における各モジュールのファームウェアおよび設定情報を、送信用データに含まれたものに書き換える。これによって、装置制御プログラム36を更新する。すなわち、プログラム更新部59は、ブートプログラム37により、記憶部32の装置制御プログラム36を更新データに更新する。
次に、ホスト装置1の機能構成について説明する。ホスト装置1は、ファイル取得部61と、ファイル解析部62と、モード切替要求部63と、切替確認部64と、装置情報取得部65と、ID確認部66と、データ選別部67と、送信用データ生成部68と、合計時間算出部69と、通信種類取得部70と、データ送信部71と、接続確認部72と、更新成否判定部73と、リカバリー手順表示部74と、を備える。これら各部は、更新管理ツール17を実行する制御部7により構成される。
ファイル取得部61は、印刷装置2の上記更新処理を行うための更新データファイルを取得する。更新データファイルは、メーカーによって、印刷装置2の機種毎に1種類用意されるものであり、1機種における各モデルを包括する内容である。ファイル取得部61は、インターネット等のネットワークを介して、メーカーが用意したサーバーからダウンロードし、または、当該更新データファイルを記憶した記憶媒体から読み出すことで、当該更新データファイルを取得する。
更新データファイルには、上記機種を示すプリンターID(プロテクトID)と、当該機種に搭載可能な各モジュールの更新データと、が記憶される。上記したように1機種における各モデルを包括すべく、更新データファイルには、各モデルで印刷装置2に選択的に搭載される複数のモジュールの全てについて、当該各モジュールの更新データが記憶される。
各モジュールの更新データは、モジュール毎に分けて記憶されるだけでなく、より細かくユニットという単位に分けて記憶される。図3は、更新データファイルにおけるユニット構成(各ユニットの内容)を示した図である。図3に示すように、更新データファイルは、ユニットとして、「IPL」、「Boot date(BTS)」、「Firmware data(Main/Wboot)」、「CG data」、「PCダウンイメージ」、「音声ガイドデータ」、「FPGA data(FPGA Configuration Data領域)」、「マイコン(Sub−CPU)」、「MICR(Magnetic ink character recognition)」、「Bluetoothモジュール」、「Network Firmware(NW Kernel/Root領域)」、「Network Firmware(NW User領域)」、「Network Firmware(NW Userfs2領域)」、「writable−region(Linux(登録商標)設定値)」、「bootstrap(登録商標)」、「u−boot」、「u−boot(u−boot設定値)」、「Cert type(証明書Type)」、「Cert Data(証明書実データ)」および「PKCS12 PASSWARD(証明書パスワード)」を有する。
「IPL」、「Boot date(BTS)」、「Firmware data(Main/Wboot)」、「CG data」、「PCダウンイメージ」、「FPGA data(FPGA Configuration Data領域)」は、メインモジュールの更新データである。そして、「IPL」、「Boot date(BTS)」および「Firmware data(Main/Wboot)」は、メインモジュールのファームウェアであり、「CG data」、「PCダウンイメージ」、「FPGA data(FPGA Configuration Data領域)」は、メインモジュールの設定情報である。なお、「PCダウンイメージ」は、印刷が失敗した場合に、失敗した印刷物に対して「失敗した印刷物」だと分かるように印刷物に上書きする印刷データである。
「音声ガイドデータ」は、スピーカーモジュールの更新データである。「マイコン(Sub−CPU)」は、サブCPUモジュールの更新データであり、サブCPUのファームウェアである。「MICR」は、MICRモジュールの更新データであり、MICRモジュールのファームウェアである。「Bluetoothモジュール」は、Bluetoothモジュールの更新データであり、Bluetoothモジュールのファームウェアである。
「Network Firmware(NW Kernel/Root領域)」、「Network Firmware(NW User領域)」、「Network Firmware(NW Userfs2領域)」、「writable−region(Linux設定値)」、「bootstrap」、「u−boot」、「u−boot(u−boot設定値)」、「Cert type(証明書Type)」、「Cert Data(証明書実データ)」および「PKCS12 PASSWARD(証明書パスワード)」は、ネットワークモジュールの更新データである。そして、「Network Firmware(NW Kernel/Root領域)」、「Network Firmware(NW User領域)」、「Network Firmware(NW Userfs2領域)」、「bootstrap」および「u−boot」は、ネットワークモジュールのファームウェアであり、「writable−region(Linux設定値)」、「u−boot(u−boot設定値)」、「Cert type(証明書Type)」、「Cert Data(証明書実データ)」および「PKCS12 PASSWARD(証明書パスワード)」は、ネットワークモジュールの設定情報である。
また、更新データファイルには、上記プリンターIDおよび各モジュールの更新データに加え、当該ユニット構成(ユニットの数および種類)と、各ユニットの更新時間(書き換え時間)と、各ファームウェアのバージョン情報と、が記憶される。
図2に戻り、ファイル解析部62は、取得した更新データファイルを解析し、当該更新データファイルから、プリンターID、ユニット構成(ユニットの数および種類)、各ユニットの更新時間および各ファームウェアのバージョン情報を抽出する。これによって、これらの情報を取得する。ファイル解析部62は、各ユニットの更新時間を取得することで、各モジュールの更新データの各更新時間を取得する。
モード切替要求部63は、印刷装置2に対し、リアルタイムコマンドでモード切替要求を行う。すなわち、モード切替要求部63は、リアルタイムコマンドで構成されたモード切替コマンド(モード切替要求)を印刷装置2に送信して、印刷装置2に、モードを切り替えさせる。詳細は後述するが、装置制御プログラム36の更新動作では、まず、印刷装置2を情報応答モードに切り替えさせて、印刷装置2の装置情報を取得した後、印刷装置2を強制書き換えモードに切り替えさせて、装置制御プログラム36の更新処理を行わせる。その後、再度、情報応答モードに切り替えさせて、更新処理が正常に行われたか否かを判定する。なお、ホスト装置1は、印刷装置2がブート制御モードに切り替わった状態における、印刷装置2へのコマンド送信を、リアルタイムコマンドで行う。
切替確認部64は、印刷装置2が情報応答モードに切り替わったか否かの確認を、リアルタイムコマンドで行う。すなわち、切替確認部64は、リアルタイムコマンドで構成された、情報応答モードに切り替わったか否かの確認するための応答要求コマンド(応答要求)を送信し、これに対する返信である印刷装置2(の応答送信部56)からの応答確認情報を受信する。
装置情報取得部65は、リアルタイムコマンドで、印刷装置2から、当該印刷装置2の装置情報を取得する。すなわち、装置情報取得部65は、リアルタイムコマンドで構成された情報要求コマンド(情報要求)を送信し、これに対する返信である印刷装置2(の装置情報送信部57)からの装置情報を受信する。すなわち、装置情報取得部65は、印刷装置2から、プリンターID、モジュール構成および各モジュールにおける各ファームウェアのバージョン情報を取得する。
ID確認部66は、装置情報取得部65により取得したプリンターIDと、ファイル解析部62により取得したプリンターIDと、を比較して、両プリンターIDが一致するか否かを判定する。すなわち、更新する更新データファイルのプリンターIDが、更新対象となる印刷装置2のプリンターIDと一致するか否かを判定する。
データ選別部67は、更新データファイルに記憶された更新データから、印刷装置2に必要な更新データ(ユニット)を選別する。具体的には、データ選別部67は、装置情報取得部65により取得したモジュール構成に基づいて、更新データファイルに記憶された全てのモジュールの更新データから、印刷装置2に搭載された1以上のモジュールの更新データを選別する。例えば、図4に示すように、印刷装置2が、Bluetoothモジュールを搭載しないモデルである場合には、Bluetoothモジュールの更新データを除外する。また、印刷装置2が、ネットワークモジュールを搭載しないモデルである場合には、ネットワークモジュールの更新データを除外する。
送信用データ生成部68は、選別した更新データ(ユニット)により、印刷装置2に送信する送信用データを生成する。すなわち、送信用データ生成部68は、更新データファイルから、選別した更新データを抽出すると共に、抽出した更新データを含む送信用データを生成する。
合計時間算出部69は、ファイル解析部62により取得した各ユニットの更新時間に基づき、選別した更新データにおける合計更新時間を算出する。すなわち、合計時間算出部69は、選別した各更新データにおける各ユニットの各更新時間を集計して、選別した更新データにおける合計更新時間を算出する。なお、この合計更新時間は、送信用データを送信した後に行う接続確認の際に用いるものである。そのため、当該合計更新時間は、送信用データに付加しておくことが好ましい。
通信種類取得部70は、送信用データを印刷装置2に送信する通信について、通信の種類を取得する。具体的には、通信種類取得部70は、通信の種類が、USB通信であるか、イーサネット(登録商標)通信であるか、Bluetooth通信であるか、の情報を取得する。なお、「USB」は、「Universal Serial Bus」の略である。
データ送信部71は、送信用データ生成部68により生成した送信用データを、印刷装置2に送信する。このとき、データ送信部71は、1回当たりの送信データ量が、通信種類取得部70により取得した通信の種類に応じた所定のデータ量となるように、送信用データを分割して送信する。具体的には、通信の種類が、USB通信またはイーサネット通信である場合には、1回当たりの送信データ量が2メガバイトとなるように分割する。また、通信の種類が、Bluetooth通信である場合には、1回当たりの送信データ量が512キロバイトとなるように分割する。
本実施形態では、モード切替要求部63により、印刷装置2を強制書き換えモードに切り替えさせた状態で、データ送信部71により、送信用データを送信することで、印刷装置2に、送信用データに基づく装置制御プログラム36の更新処理を行わせる。なお、切替確認部64によって情報応答モードに切り替わったことが確認されなかった場合には、印刷装置2からモジュール構成が取得できず、データ選別部67による選別処理および送信用データ生成部68による送信用データの生成処理を行うことができない。そのため、送信用データ生成部68により生成したデータ送信用データに代えて、更新データファイルから各モジュールの更新データ(各ユニット)の全てを抽出し、これを送信用データとして送信する。かかる場合、抽出した更新データをmot形式に変換すると共に、印刷装置2の記憶部32における、各更新データの書き込み先(書き換え先)のアドレス(セクター)を付加して印刷装置2に送信する。このmot形式は、記憶部32に規定されたデータ形式である。例えば、フラッシュROMのセクター単位のデータ形式であり、そのまま記憶部32に記憶できる形式である。
接続確認部72は、データ送信部71により送信用データを送信した後に印刷装置2との接続確認を行って、印刷装置2による上記更新処理が正常に終了した否かを判定する。すなわち、印刷装置2は、更新処理を行っている間、ホスト装置1からの接続ができない状態となり、更新処理が終わると、ホスト装置1から接続可能な状態となる。そのため、印刷装置2との接続確認を行うことで、上記更新処理が正常に終了した否かを判定することができる。
具体的には、接続確認部72は、送信用データを送信してから、合計時間算出部69により算出した合計更新時間に達するまで、印刷装置2との接続確認をポーリングする。すなわち、送信用データを送信してから、合計時間算出部69により算出した合計更新時間に達するまでの間、一定時間毎(数秒毎)に、印刷装置2との接続確認を繰り返し行う。これにより、印刷装置2による上記更新処理が正常に終了した否かを判定する。
更新成否判定部73は、印刷装置2による上記更新処理が正常に行われたか否かを判定する。本実施形態では、更新処理後のバージョン情報と、更新データファイルのバージョン情報とを、各モジュールのファームウェアそれぞれにおいて比較し、両バージョン情報が、各モジュールのファームウェアそれぞれにおいて一致するか否かを判定する。これによって、印刷装置2による上記更新処理が正常に行われたか否かを判定する。なお、更新処理後のバージョン情報は、更新処理後に装置情報取得部65により取得したものを用い、更新データファイルのバージョン情報は、ファイル解析部62により取得したものを用いる。
リカバリー手順表示部74は、更新成否判定部73により、印刷装置2による上記更新処理が正常に行われなかったと判定された場合に、リカバリー手順をディスプレイ8に表示する。例えば、ディスプレイ8に、「装置制御プログラムの更新をリトライしてください」等のメッセージを表示して、更新動作のやり直しを促す。
ここで図5および図6を参照して、印刷システムSYによる装置制御プログラム36の更新動作について説明する。本更新動作は、印刷装置2が、記憶部32に、装置制御プログラム36およびブートプログラム37を記憶し、ホスト装置1が、ファイル取得部61により更新データファイルを取得した状態において、ユーザー操作によって、ホスト装置1上で当該更新データファイルが指定された時に実行されるものである。
図5および図6に示すように、ユーザー操作によって、更新データファイルが指定されると(S1:Yes)、ファイル解析部62により、指定された当該更新データファイルから、プリンターID、ユニット構成(ユニットの数および種類)、各ユニットの更新時間および各ファームウェアのバージョン情報を取得する(S2)。
これらの情報を取得したら、モード切替要求部63により、リアルタイムコマンドで、印刷装置2に対し、情報応答モードに切り替える旨のモード切替要求を行う。すなわち、モード切替要求部63により、リアルタイムコマンドで構成された、情報応答モードに切り替える旨のモード切替コマンドを、印刷装置2に送信する(S3)。これに対し、印刷装置2は、第1データ受信部50により、ホスト装置1からのモード切替コマンド(モード切替要求)を通信インターフェース21で受信し(S4)(切替要求受信ステップ)、第1コマンド解析部51により、受信したモード切替コマンドに対しコマンド解析を行い、受信したデータが、モード切替コマンドであり且つリアルタイムコマンドであると判定する(S5)。そして、第1モード切替部53により、当該モード切替コマンドに基づき、印刷装置2のモードを、通常制御モードから情報応答モードに切り替える(S6)(モード切替ステップ)。その後、バッファ消去部54により、送受信バッファ46内のデータを消去する(S7)(バッファ消去ステップ)。
なお、切替要求受信ステップでは、通信インターフェース21がビジー状態を送信していても、リアルタイムコマンドのモード切替コマンドを受信する。
その後、ホスト装置1は、切替確認部64により、印刷装置2が情報応答モードに切り替わったか否かの確認を、リアルタイムコマンドで行う。すなわち、切替確認部64により、リアルタイムコマンドで構成された応答要求コマンドを、印刷装置2に送信する(S8)。これに対し、印刷装置2は、第2データ受信部60により、ホスト装置1からの応答要求コマンド(応答要求)を通信インターフェース21で受信し(S9)(応答要求受信ステップ)、第2コマンド解析部55により、受信した応答要求コマンドに対しコマンド解析を行い、受信したデータが、応答要求コマンドであると判定する(S10)。そして、応答送信部56により、応答要求コマンドを受けて、応答確認情報をホスト装置1に通信インターフェース21で送信(返信)する(S11)(応答確認情報送信ステップ)。ホスト装置1は、これを受けて、印刷装置2が情報応答モードに切り替わったか否かを確認する。
この切替確認部64による確認において、印刷装置2が情報応答モードに切り替わったことが確認されなかった場合(S12:No)には、更新データファイルから、更新データファイルに記憶された全てのモジュールの更新データ(全ユニット)を抽出し、抽出した更新データを、送信用データとして、印刷装置2に送信する(S13)。このとき、各更新データをmot形式に変換すると共に、各更新データに対し、各更新データの書き込み先のアドレスを付加して送信する。これに対し、印刷装置2は、第2データ受信部60により、ホスト装置1からの送信用データ(全てのモジュールの更新データ)を通信インターフェース21で受信し(S14)(更新データ受信ステップ)、プログラム更新部59により、受信した送信用データに基づいて、装置制御プログラム36の更新処理を行う(S15)(プログラム更新ステップ)。すなわち、上記書き込み先のアドレスに従って、各モジュールのファームウェアおよび設定情報を書き換える。これにより、本更新処理を終了する。
なお、切替確認部64による確認において、印刷装置2が情報応答モードに切り替わったことが確認されなかった場合には、情報応答モード(ブート制御モード)に切り替わっていない旨の応答確認情報を送信した場合も含まれる。そのため、結果的に、更新データ受信ステップでは、応答送信部56により、情報応答モード(ブート制御モード)に切り替わっていない旨の応答確認情報を送信した場合、ホスト装置1から送信されたmot形式の更新データを受信する構成となる。
一方、切替確認部64による確認において、印刷装置2が情報応答モードに切り替わったことが確認された場合(S12:Yes)には、装置情報取得部65により、リアルタイムコマンドで、印刷装置2から、印刷装置2の装置情報を取得する。すなわち、装置情報取得部65により、リアルタイムコマンドで構成された情報要求コマンドを、印刷装置2に送信する(S16)。これに対し、印刷装置2は、第2データ受信部60により、ホスト装置1からの情報要求コマンド(情報要求)を通信インターフェース21で受信し(S17)(情報要求受信ステップ)、第2コマンド解析部55により、受信したデータに対しコマンド解析を行い、受信したデータが、情報要求コマンドであると判定する(S18)。そして、装置情報送信部57により、印刷装置2の装置情報(プリンターID、モジュール構成および各ファームウェアのバージョン情報)をホスト装置1に通信インターフェース21で送信(返信)する(S19)(情報送信ステップ)。ホスト装置1は、これを受信して、印刷装置2の装置情報を取得する。
なお、情報要求受信ステップでは、通信インターフェース21がビジー状態を送信していても、リアルタイムコマンドの情報要求コマンドを受信する。
印刷装置2の装置情報を取得したら、ホスト装置1は、ID確認部66により、更新データファイルのプリンターIDが、印刷装置2のプリンターIDと一致するか否かを判定する(S20)。すなわち、ファイル解析部62によって取得したプリンターIDと、装置情報取得部65によって取得したプリンターIDと、を比較して、両プリンターIDが一致するか否かを判定する。両プリンターIDが一致しない場合(S20:No)には、エラーとし、本更新動作を終了する。
一方、両プリンターIDが一致した場合(S20:Yes)には、モード切替要求部63により、リアルタイムコマンドで、印刷装置2に対し、強制書き換えモードに切り替える旨のモード切替要求を行う。すなわち、モード切替要求部63により、リアルタイムコマンドで構成された、強制書き換えモードに切り替える旨のモード切替コマンドを、印刷装置2に送信する(S21)。これに対し、印刷装置2は、第2データ受信部60により、ホスト装置1からのモード切替コマンドを通信インターフェース21で受信し(S22)、第2コマンド解析部55により、受信したデータに対しコマンド解析を行い、受信したデータが、モード切替コマンドであると判定する(S23)。そして、第2モード切替部58により、当該モード切替コマンドに従って、印刷装置2のモードを、情報応答モードから強制書き換えモードに切り替える(S24)。
その後、データ選別部67により、装置情報取得部65によって取得したモジュール構成に基づいて、更新データファイルに記憶された全てのモジュールの更新データから、印刷装置2に搭載された1以上のモジュールの更新データを選別する(S25)。更新データを選別したら、合計時間算出部69により、選別した更新データにおける合計更新時間を算出する(S26)。その後、送信用データ生成部68により、選別した更新データによって送信用データを生成する(S27)。
送信用データを生成したら、通信種類取得部70により、送信用データを印刷装置2に送信する通信の種類を取得する(S28)。そして、データ送信部71により、1回当たりの送信データ量が、取得した通信の種類に応じた所定のデータ量となるように、送信用データを分割して送信する(S29)。これに対し、印刷装置2は、第2データ受信部60により、ホスト装置1からの送信用データを受信し(S30)(更新データ受信ステップ)、プログラム更新部59により、受信した送信用データに基づいて、装置制御プログラム36の更新処理を行う(S31)(プログラム更新ステップ)。すなわち、記憶部32に記憶された装置制御プログラム36における各ファームウェアおよび各設定情報を、送信用データに記憶されたものにそれぞれ書き換える。つまり、ブートプログラム37により、記憶部32における装置制御プログラム36の各ファームウェアおよび各設定情報を、各更新データに更新する。
送信用データを送信したら、ホスト装置1は、接続確認部72により、印刷装置2との接続確認をポーリングする(S32)。そして、合計時間算出部69により算出した合計更新時間に達しても、印刷装置2との接続が確認されなかった場合(S33:No)には、上記工程で印刷装置2が情報応答モードに切り替わったことが確認されなかった場合と同様、更新データファイルから、更新データファイルに記憶された全てのモジュールの更新データ(全ユニット)を抽出し、抽出した更新データを、送信用データとして、印刷装置2に送信する(S34)。これに対し、印刷装置2は、第2データ受信部60により、ホスト装置1からの送信用データ(全てのモジュールの更新データ)を通信インターフェース21で受信し(S35)、プログラム更新部59により、受信した送信用データに基づいて、装置制御プログラム36の更新処理を行う(S36)。これにより、本更新処理を終了する。
一方、合計更新時間に達する前に印刷装置2との接続が確認された場合(S33:Yes)には、まず、モード切替要求部63により、リアルタイムコマンドで、印刷装置2に対し、情報応答モードに切り替える旨のモード切替要求を行う。すなわち、モード切替要求部63により、リアルタイムコマンドで構成された、情報応答モードに切り替える旨のモード切替コマンドを、印刷装置2に送信する(S37)。これに対し、印刷装置2は、第2データ受信部60により、ホスト装置1からのモード切替コマンドを通信インターフェース21で受信し(S38)、第2コマンド解析部55により、受信したデータに対しコマンド解析を行い、受信したデータが、モード切替コマンドであると判定する(S39)。そして、第2モード切替部58により、当該モード切替コマンドに基づき、印刷装置2のモードを、強制書き換えモードから情報応答モードに切り替える(S40)。その後、バッファ消去部54により、送受信バッファ46内のデータを消去する(S41)。
その後、ホスト装置1は、切替確認部64により、印刷装置2が情報応答モードに切り替わったか否かの確認を、リアルタイムコマンドで行う。すなわち、切替確認部64により、リアルタイムコマンドで構成された応答要求コマンドを、印刷装置2に送信する(S42)。これに対し、印刷装置2は、第2データ受信部60により、ホスト装置1からの応答要求コマンドを通信インターフェース21で受信し(S43)、第2コマンド解析部55により、受信したデータに対しコマンド解析を行い、受信したデータが、応答要求コマンドであると判定する(S44)。そして、応答送信部56により、応答要求コマンドを受けて、応答確認情報をホスト装置1に通信インターフェース21で送信(返信)する(S45)。ホスト装置1は、これを受けて、印刷装置2が情報応答モードに切り替わったか否かを確認する。
印刷装置2が情報応答モードに切り替わったことが確認されたら、装置情報取得部65により、リアルタイムコマンドで、印刷装置2から、印刷装置2の装置情報を取得する。すなわち、装置情報取得部65により、リアルタイムコマンドで構成された情報要求コマンドを、印刷装置2に送信する(S46)。これに対し、印刷装置2は、第2データ受信部60により、ホスト装置1からの情報要求コマンドを通信インターフェース21で受信し(S47)、第2コマンド解析部55により、受信したデータに対しコマンド解析を行い、受信したデータが、情報要求コマンドであると判定する(S48)。そして、装置情報送信部57により、印刷装置2の装置情報(プリンターID、モジュール構成および各ファームウェアのバージョン情報)をホスト装置1に通信インターフェース21で送信(返信)する(S49)。ホスト装置1は、これを受信して、印刷装置2の装置情報を取得する。
装置情報を取得したら、更新後のバージョン情報と、更新データファイルのバージョン情報とを、各ファームウェアのそれぞれについて比較し、両バージョン情報が一致するか否かを、各ファームウェアのそれぞれについて判定する(S50)。いずれのファームウェアについても、両バージョン情報が一致すると判定された場合(S50:Yes)には、装置制御プログラム36の更新処理が正常に行われたと判断し、本更新動作を終了する。一方、いずれかのファームウェアについて、両バージョン情報が一致しないと判定された場合(S50:No)には、リカバリー手順表示部74により、ディスプレイ8にリカバリー手順を表示して(S51)、本更新動作を終了する。
以上のような構成によれば、通常は通信を受け付けず通信できない状態(プリンタービジー状態:エラー状態、エラー復帰待ち状態、印刷できない状態)になり、ホスト装置1にビジー状態を送信している場合においても、モード切替要求を受信でき、ブート制御モードに切り替えることができる。よって、ビジー状態であったとしても、ホスト装置1により装置制御プログラム36を更新することができる。例えば、印刷媒体をセットするために開閉する開閉カバーが開放された状態(カバーオープン状態)や、紙切れエラーの状態など、印刷できない状態でビジー状態を送信している場合であったとしてもモード切替要求と更新に必要なコマンドやデータ等を受信し、装置制御プログラム36を更新することができる。
また、モード切替要求にリアルタイムコマンドを用いることで、モード切替要求を優先して処理でき、すぐに更新が可能となる。例えば、送受信バッファ46に他のコマンドがあっても、モード切替要求を優先して処理でき、すぐに更新することができる。
さらに、送受信バッファ46内のデータを消去(クリア)する構成となるため、ブート制御モードにおいて、送受信バッファ46にデータが残っていることで誤って処理されて生じる不具合や、送受信バッファ46に残ったデータが更新データの一部として誤って記憶されることを解消することができる。例えば、送受信バッファ46に残留したデータが、本来必要なデータに代えて、ホスト装置1に送られてしまうといった事態を避けることができる。また、ホスト装置1からのモード切替要求を受けたことをトリガーとして、印刷装置2が、自発的に送受信バッファ46内のデータを消去することができる。そのため、ホスト装置1から、送受信バッファ46内のデータを消去するコマンドを送る必要がなく、処理を簡易化することができる。
また、印刷装置2が、ブート制御モードにおいて、通常コマンドおよびリアルタイムコマンドのうち、リアルタイムコマンドのみを実行可能な構成であるため、ブート制御モード時のコマンド解析を簡易化することができる。よって、ブートプログラム37を簡単なものにすることができ且つ記憶部32に占める領域を小さくすることができる。また、ブート制御モード時の処理を簡易化することができる。
またさらに、ホスト装置1で、取得した印刷装置2の装置情報に基づいて更新データを生成し、印刷装置2に送信することができるため、印刷装置2は、印刷装置2に合わせた更新データを受信し更新することができる。
また、印刷装置2から、情報応答モード(ブート制御モード)に切り替わっていない旨の応答確認情報を送信し、ホスト装置1が印刷装置2の装置情報が取得できない場合に、データ形式を変えて更新データを送信することで、更新処理がキャンセルされてしまう事態を避けることができる。
なお、上記実施形態においては、更新成否判定部73(更新成否判定ステップ(S40))において、バージョン情報を比較して、更新処理の成否判定を行う構成であったが、チェックサムを用いて、更新処理の成否判定を行う構成でも良い。すなわち、印刷装置2による更新処理の終了後、印刷装置2からチェックサム情報を取得し、これに基づいて、更新処理の成否判定を行う構成でも良い。
また、上記実施形態においては、装置情報取得部65により、プリンターID、印刷装置のモジュール構成および各モジュールにおける各ファームウェアのバージョン情報を取得する構成であったが、これに加え、印刷装置2における、インターフェースやフォントの種類、ヘッド解像度、紙幅等の仕様情報を取得する構成でも良い。
1:ホスト装置、 2:印刷装置、 21:通信インターフェース、 31:制御部、 32:記憶部、 36:装置制御プログラム、 37:ブートプログラム、 46:送受信バッファ。

Claims (7)

  1. 印刷装置を制御する装置制御プログラムおよび前記装置制御プログラムを更新するためのブートプログラムを記憶した記憶部と、管理装置と通信する通信部と、を備えた印刷装置の制御方法であって、
    前記印刷装置が、エラー復帰待ち状態であっても、
    前記管理装置から、通常コマンドに優先してコマンドを実行させることが可能なリアルタイムコマンドで送信されたモード切替要求を前記通信部で受信する切替要求受信ステップと、
    前記モード切替要求に基づき、前記装置制御プログラムを実行する通常制御モードから、前記ブートプログラムを実行するモードであり、且つ前記リアルタイムコマンドを実行可能なブート制御モードに切り替えるモード切替ステップと、
    前記ブート制御モードに切り替えた後、前記管理装置から、前記リアルタイムコマンドで送信された更新データを前記通信部で受信する更新データ受信ステップと、
    前記更新データを受信した後、前記ブートプログラムにより、前記記憶部の前記装置制御プログラムを前記更新データに更新するプログラム更新ステップと、実行することを特徴とする印刷装置の制御方法。
  2. 前記印刷装置は前記管理装置から受信したデータを記憶する受信バッファを更に備え、
    前記印刷装置が、
    前記管理装置から前記モード切替要求を受信したとき、前記受信バッファ内のデータを消去するバッファ消去ステップを、更に実行することを特徴とする請求項に記載の印刷装置の制御方法。
  3. 前記印刷装置が、
    前記バッファ消去ステップの後、前記更新データを前記受信バッファに記憶することを特徴とする請求項に記載の印刷装置の制御方法。
  4. 前記印刷装置が、エラー復帰待ち状態であっても、
    前記更新データを受信する前に、前記管理装置から、前記印刷装置の情報を要求する前記リアルタイムコマンドで送信された情報要求を前記通信部で受信する情報要求受信ステップと、
    前記情報要求に基づき前記印刷装置の情報を前記通信部から前記管理装置に送信する情報送信ステップと、を更に実行することを特徴とする請求項1ないしのいずれか1項に記載の印刷装置の制御方法。
  5. 前記印刷装置が、エラー復帰待ち状態であっても、
    前記モード切替要求を受信した後、且つ前記情報要求を受信する前に、前記管理装置から、前記ブート制御モードに切り替わったか否かを確認するための前記リアルタイムコマンドで送信された応答要求を前記通信部で受信する応答要求受信ステップと、
    前記ブート制御モードに切り替わったか否かの応答確認情報を前記通信部から送信する応答確認情報送信ステップと、を更に実行し、
    前記更新データ受信ステップでは、前記応答確認情報送信ステップで前記ブート制御モードに切り替わっていない旨の前記応答確認情報を送信した場合、前記管理装置から送信される前記記憶部に規定されたデータ形式により構成された前記更新データを受信することを特徴とする請求項に記載の印刷装置の制御方法。
  6. 前記印刷装置がエラー復帰待ち状態の場合、前記エラー復帰待ち状態を前記管理装置へ送信することを特徴とする請求項1に記載の印刷装置の制御方法。
  7. 印刷装置を制御する装置制御プログラムおよび前記装置制御プログラムを更新するためのブートプログラムを記憶した記憶部と、管理装置と通信する通信部と、制御部と、を備え、
    前記通信部は、前記印刷装置が、エラー復帰待ち状態であっても、前記管理装置から、通常コマンドに優先してコマンドを実行させることが可能なリアルタイムコマンドで送信されたモード切替要求と更新データを受信し、
    前記制御部は、前記モード切替要求に基づき、前記装置制御プログラムを実行する通常制御モードから、前記ブートプログラムを実行するモードであり、且つ前記リアルタイムコマンドを実行可能なブート制御モードに切り替え、前記ブート制御モードに切り替えた後、前記ブートプログラムにより前記記憶部の前記装置制御プログラムを前記更新データに更新することを特徴とする印刷装置。
JP2015133372A 2015-07-02 2015-07-02 印刷装置の制御方法および印刷装置 Active JP6531523B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015133372A JP6531523B2 (ja) 2015-07-02 2015-07-02 印刷装置の制御方法および印刷装置
US15/193,998 US20170003916A1 (en) 2015-07-02 2016-06-27 Control method of a printer, printer, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015133372A JP6531523B2 (ja) 2015-07-02 2015-07-02 印刷装置の制御方法および印刷装置

Publications (3)

Publication Number Publication Date
JP2017013396A JP2017013396A (ja) 2017-01-19
JP2017013396A5 JP2017013396A5 (ja) 2018-08-02
JP6531523B2 true JP6531523B2 (ja) 2019-06-19

Family

ID=57683749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015133372A Active JP6531523B2 (ja) 2015-07-02 2015-07-02 印刷装置の制御方法および印刷装置

Country Status (2)

Country Link
US (1) US20170003916A1 (ja)
JP (1) JP6531523B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6565389B2 (ja) * 2015-07-02 2019-08-28 セイコーエプソン株式会社 プリンターのファームウェア書き換え方法およびプリンター
JP7392552B2 (ja) * 2020-03-31 2023-12-06 セイコーエプソン株式会社 更新システム、印刷装置、及びプログラム
JP7541915B2 (ja) * 2020-12-23 2024-08-29 キヤノン株式会社 処理装置、装置、システム、方法およびプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4560917B2 (ja) * 1999-10-15 2010-10-13 セイコーエプソン株式会社 プリンタ及びその制御方法
US6930785B1 (en) * 2000-03-17 2005-08-16 Hewlett-Packard Development Company, L.P. Automatic remote firmware upgrade
JP2002288066A (ja) * 2001-03-23 2002-10-04 Ricoh Co Ltd 画像形成装置管理システム
JP3992022B2 (ja) * 2004-06-14 2007-10-17 セイコーエプソン株式会社 プリンタの制御方法
JP2006235992A (ja) * 2005-02-24 2006-09-07 Seiko Epson Corp プリンタのファームウェア書き替えシステムおよびファームウェア書き替え方法並びにプリンタ
KR100535442B1 (ko) * 2005-04-18 2005-12-09 주식회사 빅솔론 프린팅 장치, 상기 프린팅 장치의 제어 방법 및 상기프린팅 장치를 이용한 데이터 처리 장치
JP2011046146A (ja) * 2009-08-28 2011-03-10 Seiko Epson Corp プリンター及びプリンターの制御方法
JP2011068022A (ja) * 2009-09-25 2011-04-07 Seiko Epson Corp 記録装置、記録装置の制御方法、及び、プログラム
JP5123979B2 (ja) * 2010-04-16 2013-01-23 シャープ株式会社 プログラム管理システム
JP2014004805A (ja) * 2012-06-27 2014-01-16 Seiko Epson Corp プリンターのファームウエア更新方法およびプリンター
JP6171530B2 (ja) * 2013-04-23 2017-08-02 セイコーエプソン株式会社 印刷制御装置、印刷システムおよび印刷制御方法

Also Published As

Publication number Publication date
JP2017013396A (ja) 2017-01-19
US20170003916A1 (en) 2017-01-05

Similar Documents

Publication Publication Date Title
JP5527146B2 (ja) 端末装置及びプログラム
JP2003084984A (ja) 情報処理装置、及び、情報処理方法、及び、制御プログラム、及び、制御プログラムを記憶した記憶媒体
JP6531523B2 (ja) 印刷装置の制御方法および印刷装置
JP4940105B2 (ja) 情報処理装置、情報処理方法、及び制御プログラム
US7895609B2 (en) Method for installing driver software, information processing apparatus that employs the method, computer program for performing the method, and storage medium for storing the computer program
JP6816360B2 (ja) 管理装置、管理システム及び管理プログラム
JP3285110B2 (ja) ファームウェアの組み込み方法及びホスト装置とプリンタとからなるシステム
JPH08238812A (ja) 修正用のフラッシュ・メモリ制御機能を備えた装置
US20100110491A1 (en) Printer, control method therefor, and storage medium storing control program therefor
US20050209871A1 (en) Method and apparatus for remotely providing driver information
JP6554944B2 (ja) 印刷装置の制御方法、プログラム更新システムおよび印刷装置
US7877499B2 (en) Data processing apparatus, data input control method thereof, information processing device, and program for implementing the method
US7337312B2 (en) Processor and firmware download method for same
JP2019185802A (ja) 印刷装置の制御方法、印刷装置、管理装置およびプログラム
JP2000194544A (ja) 画像形成装置のファ―ムウェア更新処理方法
US20060117312A1 (en) Device to serve software to a host device through a peripheral device and method thereof
JP2008225888A (ja) 電子機器
JP4239392B2 (ja) 印刷装置、印刷システムおよび印刷方法
JP7006301B2 (ja) 制御プログラム及びプログラム群
JP4428686B2 (ja) 印刷システム
JP7484387B2 (ja) プログラムおよび情報処理装置
JP2009032076A (ja) 制御プログラムの更新方法
JP2003114807A (ja) 電子機器及び本体制御プログラムの書き換え方法
JP2003271410A (ja) プログラムデータ書替システム
US20240329972A1 (en) Update method and non-transitory computer storage media for settlement terminal

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180620

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190329

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190506

R150 Certificate of patent or registration of utility model

Ref document number: 6531523

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150