JP2010182001A - 画像形成装置 - Google Patents

画像形成装置 Download PDF

Info

Publication number
JP2010182001A
JP2010182001A JP2009023442A JP2009023442A JP2010182001A JP 2010182001 A JP2010182001 A JP 2010182001A JP 2009023442 A JP2009023442 A JP 2009023442A JP 2009023442 A JP2009023442 A JP 2009023442A JP 2010182001 A JP2010182001 A JP 2010182001A
Authority
JP
Japan
Prior art keywords
error
target data
processing target
processing
cpu
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.)
Withdrawn
Application number
JP2009023442A
Other languages
English (en)
Inventor
Toshimitsu Takagi
俊光 高木
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 JP2009023442A priority Critical patent/JP2010182001A/ja
Publication of JP2010182001A publication Critical patent/JP2010182001A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Facsimiles In General (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】エラー発生時のダウンタイム、サービスコール数、ユーザーの手間を低減しつつ、リブート後にリブート前の処理をスムーズに再開する。
【解決手段】CPU12もしくはDMAC11bは処理対象データーをRAM13に記憶させる際にRAM13に記憶された処理対象データーのスタートアドレスとサイズ情報を領域レジスタ11cに記憶させ、所定条件により自動リブートを行う際に、CPU12は上記スタートアドレスとサイズ情報に基づきRAM13の処理対象データーを記憶された領域についてRAMテストを行わずにリブートし、CPU12はリブート完了後に上記スタートアドレスとサイズ情報に基づき処理対象データーを特定して該処理対象データーの処理を行う。
【選択図】図6

Description

本発明は、画像形成装置に関する。
従来、印刷装置の多くの機種では、サービスコールを要するエラー発生時に、エラー内容やエラー種類を特定可能なエラー番号およびサービスセンターへの問合せを促すメッセージをパネルに表示している。また、最近の機種では、エラー発生時に電源をいったん切ってから起動し直すこと(以下、電源オフ/オンと記載する。)をパネル表示で指示することもある。これはサービスセンターへの問合せを減らして、サービスコストを削減するためである。いずれの場合でも、ユーザーはプリンターのそばに行き、パネルに表示されたエラーメッセージを確認して状況を把握し、対応を選択しなければならない。無論、ネットワークを通じてエラー内容を確認したりエラー内容が通知されたりすることもあるが、やはりユーザーは状況を把握して対応を選択しなければならないし、電源オフ/オンを指示されている場合はプリンター傍まで行って操作する必要があるのは同じである。
さらに、近年、LAN(Local Area Network)やインターネット等のネットワーク上に配置可能なプリンターが増加し、ネットワーク経由でプリンターを使用することが一般的になってきている。ネットワークに接続されたプリンターは、必然的にユーザー数が多い。サービスコールを要するエラー発生からエラーが解消するまでは、プリンターの処理は行われない。すなわち、ダウンタイムの影響を受けるユーザー範囲も広くなる。
その一方で、サービスセンターにおいても人件費の増大に伴ってサービスセンターの維持にかかる費用は増大している。問合せには簡単な質問もあれば専門的な高度な知識を必要とするものもあるので、サービスセンターの人員は専門知識を備えていることが望ましいが、専門知識を有する人員の人件費は高く、人件費はさらに増大する。すなわち、サービスコール1本当りのコストが増大している。
このような実状に対応すべくなされた技術として特許文献1には、リブート対象となる故障が発生すると仕掛かり中の処理を区切りがよくリブートが安全に行える状態で停止し、各モジュールの動作抑制、動作中の処理の後始末とインターフェースの抑制を実行する画像形成装置について開示されている。
特開2005−219247号公報
上記特許文献1の技術では、装置内部の状態は正常に復帰する可能性は高いが、処理途中でリブートするのでそれまでに外部デバイス等から受信したデーターはRAMから消去されてしまったりRAMからデーターを消去しなくともないがそのデーターを容易に再利用できなくなったりする。データーを消去する理由は、サービスコールエラーが発生した場合にはエラーが再発しないように原因を調べたり不具合を解決するためにRAMをテストしたりクリアしたりするからである。外部から受信したデーター(例えばスキャンデーター等)は、装置内部のデーターからは再構築出来ないのでリブート後に外部デバイスに対してデーターの送信を要求するしかないが、外部デバイスはデーターを保持していない可能性もある。
本発明は、上記課題に鑑みてなされたもので、エラー発生時のダウンタイム、サービスコール数、ユーザーの手間を低減しつつ、リブート後にリブート前の処理をスムーズに再開することが可能な画像形成装置の提供を目的とする。
上記課題を解決するために、本発明の請求項1にかかる画像形成装置では、記憶手段と自動リブート手段と処理手段とを備える構成としてある。
該構成において、上記記憶手段は、記憶部に処理対象データーが記憶される状況を把握しており、記憶部に処理対象データーが記憶されるとその記憶された領域に関する情報として、スタートアドレスとサイズ情報を所定の記憶領域に記憶させる。このようにして所定の記憶領域のスタートアドレスとサイズ情報は、処理対象データーが更新されたときに更新されるし、該当する処理対象データーが画像形成装置で処理完了すると消去されたりサイズ情報を0に更新されたりする。
上記自動リブート手段は、所定条件により自動リブートを行う際に、上記所定の記憶領域から上記スタートアドレスとサイズ情報を取得して上記記憶部中の処理対象データーを特定して該処理対象データーを変更しないようにリブートし、リブートにおいて処理対象データーが失われないようにする。従って、処理手段は、上記自動リブート手段がリブートした後で上記スタートアドレスとサイズ情報に基づき処理対象データーを特定して該処理対象データーの処理を行うことが可能になる。すなわち、処理手段は、リブート後にリブート前の処理をスムーズに再開可能となる。
本発明の選択的な一側面として、上記自動リブート手段は、上記サイズ情報が0でない場合には上記処理対象データーの記憶された領域を除外して上記記憶部の読み書きテストを実行し、上記サイズ情報が0の場合には上記記憶部の全領域に読み書きテストを実行するようにしてもよい。すなわち、上記記憶部に処理対象データーが記憶されていないのであれば、通常通りに上記記憶部の全領域を順にテストすればよい。
本発明の選択的な一側面として、上記自動リブート手段は、上記サイズ情報が0でない場合には上記処理対象データーの記憶された領域を除外して上記記憶部の読み書きテストを実行し、読み書きテストの完了した領域に上記処理対象データーを移動させ、移動させた上記処理対象データーが記憶された領域について上記読み書きテストを実行するようにしてもよい。上記処理対象データーが記憶された領域に対して上記読み書きテストを実行すると上記処理対象データーが失われてしまうので、まずは、上記処理対象データーが記憶されていない領域について上記読み書きテストを実行する。次に、上記読み書きテストが完了した領域に上記処理対象データーをコピーし、コピー前に上記処理対象データーが記憶されていた領域に対して上記読み書きテストを実行する。このようにして上記記憶部の全域に対して上記読み書きテストを実行すると、リブート後のスムーズな処理再開と、画像形成装置における動作の信頼性の確保とを両立することができる。
本発明の選択的な一側面として、上記記憶手段は、上記処理対象データーのページ全体について処理が完了した後で、該当するページの処理対象データーを上記記憶部から削除するようにしてもよい。
例えば、レーザープリンター等のページプリンターにおいては、1ページ分の印刷データーは連続して出力しないと正常な印刷が出来ない。このような場合に、画像データー等の処理対象データーを印刷データーに変換して出力しながら出力した処理対象データーを上記記憶部から消去してしまうと、ページ半ばまで処理した時に上記所定条件となって自動リブートした場合にページ半ばまで失われたデーターだけが記憶部に残ることになる。ページプリンターは、1ページの部分的なデーターではそのページの印刷ができないので正常な印刷結果を得られない。そこで、各ページの区切りまで処理を完了するまでそのページを保持し、1ページ分の処理が完了してから該当するページの処理対象データーを上記記憶部から消去する構成にすることにより、ページ単位で画像処理を行う画像形成装置においてもスムーズに処理を再開できるようになる。
本発明の選択的な一側面として、上記処理対象データーを上記記憶部に記憶する際に、上記処理対象データーのチェックサムを生成して上記記憶部に記憶するチェックサム生成手段を備え、上記処理手段は、処理を行うにあたり上記チェックサムを利用して上記処理対象データーの信頼性を検証するようにしてもよい。
例えば、上記処理手段は、信頼性を検証するために、特定した上記処理対象データーのチェックサムを生成し、生成したチェックサムが上記記憶部に記憶されたチェックサムと一致する処理対象データーについて処理を行う。このようにすると、上記処理手段は、自動リブートによって処理対象データーが破損していた場合に破損したデーターで処理を再開せずに済む。無論、チェックサムの代わりに処理対象データーのECC(Error Correcting Code)等を用いてデーターの破損を検出してもよいが、チェックサムの方がより少ない処理量とデーター量でデーターの信頼性を検証可能である。
本発明の選択的な一側面として、上記自動リブート手段は、発生したエラーがサービスコールを必要とし且つエラーログに記憶されていることを上記所定条件として上記自動リブートを行うようにしてもよい。
サービスコールを要するエラーとは、用紙切れやプリンターカバーのオープン等のようにユーザーの操作手順のミスによって発生したエラーを除いた全てのエラーを含んでも構わない。エラーログには発生したエラーのうちエラーが解消したものについて判別可能な記録が残るようになっている。従って、エラーログにおいてエラー解消したとの記録があるものは、リブートによってエラーが解消する可能性が極めて高いと言える。すなわち、サービスコールを要するエラーであって、エラーログに記録されたエラーが発生したときに自動リブートを行うことにより、エラー発生時のダウンタイム、サービスコール数、ユーザーの手間をより確実に低減することができる。
本発明の選択的な一側面として、DMA(Direct Memory Access)コントローラーが上記処理対象データーを上記記憶部に記憶させると共に、該DMAコントローラーが上記記憶手段と上記チェックサム生成手段を構成するようにしてもよい。CPU等の演算処理系で実行されるソフトウェア処理でデーターを記憶させる場合と比べて、DMAコントローラーのハードウェア処理で処理対象データーを上記記憶部に記憶させる方が、処理速度が速くなるし、その間はCPUは他の演算処理を実行できる。また、処理対象データーを記憶部に記憶させる処理をDMAコントローラーで実行するのであれば、同時にその記憶される領域情報やチェックサムも作成すると処理が高速化する。
なお、上述した画像形成装置は、他の機器に組み込まれた状態で実施されたり他の方法とともに実施されたりする等の各種の態様を含む。また、本発明は上記画像形成装置を備える画像形成システム、上述した装置の構成に対応した工程を有する制御方法、上述した装置の構成に対応した機能をコンピュータに実現させるプログラム、該プログラムを記録したコンピュータ読み取り可能な記録媒体、等としても実現可能である。これら画像形成システム、画像形成方法、画像形成プログラム、該プログラムを記録した媒体、の発明も、上述した作用、効果を奏する。むろん、請求項2〜7に記載した構成も、前記システムや前記方法や前記プログラムや前記記録媒体に適用可能である。
プリンターのハードウェア構成を示すブロック図である。 エラー監視処理のフローチャートである。 EDBの一例を示す表である。 エラーログの一例を示した表である。 起動時のエラー監視処理のフローチャートである。 RAMテスト処理のフローチャートである。 本変形例にかかるRAMテスト処理のフローチャートである。 処理対象データーがRAMの空き領域よりも大きい場合のRAMテストを説明する図である。
以下、下記の順序に従って本発明の実施形態を説明する。
(1)画像形成装置の構成:
(2)エラー監視処理:
(3)起動時のエラー監視処理:
(4)RAMテスト処理:
(5)RAMテスト処理の変形例:
(6)まとめ:
(1)画像形成装置の構成:
図1は、本発明の実施形態にかかる画像形成装置としてのプリンター100のハードウェア構成を示すブロック図である。同図において、プリンター100は、制御部(プリンターコントローラー)10と印刷部20とスキャナ部30を備えている。制御部10は、外部デバイスとしてのホストPC(Personal Computer)200と接続されており、ホストPCから送信された画像データーに基づきページ毎に印刷データーを生成する。また、制御部10は、スキャナ部30において原稿や写真等をスキャンして取得したスキャンデーターを入力され、このスキャンデーターに基づきページ毎に印刷データーを生成する。制御部10は、生成した印刷データーを1ページ単位で印刷部20の印刷エンジン21に送信する。すると印刷エンジン21は、印刷データーに従ってトナーカートリッジ、感光体ドラム、レーザ光照射機構、紙送り機構、給排紙機構等を制御して、レーザ方式の印字処理を行う。
制御部10は、ASIC(Application Specific Integrated Circuit)11、演算処理部としてのCPU12、揮発性メモリーとしてのRAM13、書き換え可能な不揮発性メモリーとしてのROM14、ホストインターフェース(I/F)15、パルス幅変調回路(PWM回路)16、ディスプレイ17、操作パネル18を備えている。これら各部11〜18は、ASIC11を介して相互通信可能に接続されている。また、スキャナ部30もASIC11に接続されており、ASIC11にスキャンデーターを送信する。
ホストPC200から送られてきた画像データーはホストI/F15に入力される。ホストI/F15は、ASIC11とホストPC200の間で所定のプロトコルに従ってデーター変換を行うインターフェースであり、例えばシリアル方式やパラレル方式のインターフェースである。ホストI/F15は、画像データーを変換してASIC11に入力する。
ASIC11は、印刷対象の画像データーに対する画像処理や、ASIC11に接続された各回路間のデーターの仲介を行うための集積回路である。ASIC11は、各回路(CPU12、RAM13、ROM14、ホストI/F15等)を制御するための回路や、画像処理回路11a、DMAコントローラー(DMAC)11b、RAM13の領域レジスタ11cを備える。ASIC11内部の各回路は内部バスにより相互通信可能に接続されている。本実施形態においては、RAM13が記憶部を構成し、領域レジスタ11cが所定の記憶領域を構成する。
ASIC11に入力された画像データーやスキャンデーターはいったんDMAC11bに入力されてからRAM13に記録される。このとき、CPU12は、DMAC11bを制御することによりCPU12を経由せずにDMAC11bから直接RAM13へ画像データーを転送する方式(DMA(Direct Memory Access)方式)と、DMAC11bから一旦画像データーを受信してからRAM13に記録する方式と、を選択可能である。これら方式は、例えば所定のUIにてユーザーが操作入力を行うことにより適宜選択可能である。
DMA方式の場合は、CPU12は、ホストPC200内部にある転送元データーのアドレスや転送先であるRAM13のアドレス等をDMAC11bに指示し、DMAC11bにASIC11の内部バス管理の主導権を渡す。すると、DMAC11bが、CPU12に代わってASICの内部バスに転送元アドレスと転送先アドレスを指定してホストPC200の転送データーを内部バスに開放し、メモリーに対して書き込み信号を与えることで、バス上のデーターをRAM13の所定のアドレスに書き込む。一方、CPU12が主体となって画像データーをRAM13に記録する場合は、画像データーを一旦CPU12のレジスタに取り込みレジスタからRAM13に転送する。
DMA方式の場合は、DMAC11bがRAM13に書き込んだ画像データーのスタートアドレスとサイズ情報を領域レジスタ11cに記録する。一方、CPU12が主体となって画像データーをRAM13に記録する場合は、CPU12がRAM13に書き込んだ画像データーのスタートアドレスとサイズ情報を領域レジスタ11cに記録する。無論、DMA方式の場合にもCPU12がDMAC11bからスタートアドレスとサイズ情報を取得して領域レジスタ11cに記録してもよい。本実施形態においては、DMAC11bもしくはCPU12が記憶手段を構成する。
画像処理回路11aは、印刷エンジン21が印刷可能な印刷データーを生成する。画像処理回路11aは、例えば、ホストPC200が生成した画像データーから印刷データーを生成し、生成した印刷データーを8ビット単位でパラレルにPWM回路16に送信する。
PWM回路16は印刷エンジン21に接続されている。PWM回路16は、ASIC11から送信された印刷データーをPWMデーターに変換して印刷エンジン21に出力する。例えば、PWM回路16は、8ビットのパラレルデータ(印刷データ)が入力されるとこのデーターを1ビットのシリアルデータに変換し、順次、印刷エンジン21に出力する。
画像処理回路において1ページ分の印刷データーが作成されてPWM回路16に出力する処理が完了すると、CPU12は、出力処理が完了した画像データーをRAM13から削除するとともに処理された画像データーを除いたスタートアドレスとサイズ情報で領域レジスタ11cを更新する。
CPU12は、上述したデーター転送制御や領域レジスタ11cの制御のみならず、ROM14に圧縮されて格納されている各種プログラムをASIC11を介して適宜RAM13に展開しつつ実行することにより、制御部10全体の制御を行う。
例えばROM14には、画像処理回路11aやPWM回路16を制御して印刷エンジン21に印刷を実行させるための印刷データーを生成する印刷制御プログラムP1、制御部10で実行される各種プログラムにおいて発生するエラーを監視する監視プログラムP2、制御部10において起動時のセルフテスト(いわゆるPOST(Power On Self Test)処理)を実行するためのPOST処理プログラムP3、等が予め格納されている。
本実施形態においては、印刷制御プログラムP1を実行するCPU12が処理手段を構成し、監視プログラムP2とPOST処理プログラムP3を実行するCPU12が自動リブート手段を構成する。以下、監視プログラムP2によりCPU12が実行するエラー監視処理、POST処理プログラムP3によりCPU12が実行するRAMテスト処理について説明していく。
(2)エラー監視処理:
図2はエラー監視処理のフローチャートである。エラー監視処理は、印刷装置が起動している間は常に実行されている。
ステップS100(以下、「ステップ」の記載を省略する。)において、CPU12は、エラーが発生しているか否か検出する。制御部10において実行される各プログラムは、エラー発生状況(制御・通信対象、制御内容、制御対象からの応答状況、等)に応じてエラーコードを出力する。そこで、CPU12は各制御プログラムの出力を監視し、エラーコードを検出した場合にはこのエラーコードを取得してS105に進む。一方、CPU12はエラーコードを検出しない場合にはS100の処理を繰り返す。なお、本実施形態におけるエラーコードは、エラーを特定するための情報に相当する。
S105において、CPU12は、エラーコードとエラーデーターベース(以下、EDBと記載する。)に基づいてエラーがサービスコール(以下、SCと記載する。)を必要とするか否かを判断する。CPU12は、エラーがSCを必要とする場合にはS110に進み、エラーがSCを必要としない場合はS125に進む。
図3はROM14に予め格納されているEDBの一例を示す表である。EDBにおいては、エラーコードとエラーの概要とエラーメッセージとの対応関係が規定されている。エラーコードは、エラーの種類や内容毎に割り振られるユニークな識別コードである。エラーの概要は、エラーの内容を端的に説明したものであり、例えば、ホストI/F15について実行したループバックテストにおいて応答が無いというエラーであれば、「外部機器との通信テストでエラーを検出しました。」等である。エラーメッセージは、エラーを解消するための手順を指示するメッセージであり、例えば、「電源をオフ/オンしてください。それでもエラーが解消しない場合は、サービスコールにご連絡下さい。」等のように、具体的な復旧手順が記録されている。
例えば、ホストI/F15との通信テスト中に応答が無くてタイムアウトしてしまった場合には、制御プログラムが所定のエラーコード(例えば「0210」等)を出力する。するとCPU12はこのエラーコード「0210」を取得するので、EDBを参照することによりエラーコード「0210」に対応するパネルメッセージ「電源をオフ/オンしてください。それでもエラーが表示される場合は、サービスコールにご連絡下さい。」を取得できる。このときCPU12は、パネルメッセージ内にSCを示唆する内容(例えば「サービスコール」という文字列)を検出できるので、SCが必要なエラーであると判断できる。
すなわち、サービスコールを要するエラーには、機械やデバイスの故障が原因で修理しない限り復帰しないもの、電源を入れなおしたりリブートをかけたりすることで動作可能になるもの、がある。後者の原因は、例えば、一時的なノイズ、特定のタイミングが重なったことによるデバイスの不具合、等である。ただし両者の区分けは確実なものではなく、実際にリブートしてみないと解消するか否かは判断しにくい。本実施形態においては、後者のエラーを確実に自動的に解消することによりダウンタイムの減少、ユーザーの手間の低減、等を実現する一方、前者のエラーについてはなるべくリブートの対象に入れないようにする。
一方、給紙トレイに用紙が入っている状態で給紙トレイに給紙を指示したにもかかわらず用紙が送られてこない場合には、制御プログラムが所定のエラーコード(例えば「8101」等)を出力する。するとCPU12はこのエラーコード「8101」を取得するので、EDBを参照することによりエラーコード「8101」に対応するパネルメッセージ「紙詰まりの可能性があります。詰まった用紙を取除いてください。」を取得できる。このときCPU12は、パネルメッセージ内にSCを示唆する内容(例えば「サービスコール」という文字列)が無いので、SCが不要なエラーであると判断できる。
すなわち、サービスコールを要しないエラーには、エラーになる前のアラート、ユーザーの操作手順誤りを通知するエラー(紙サイズ、紙の向き、扉が開いている、対応していない機能の実施を指示した、等)等と言える。このようなエラーについては、ユーザーが実際に作業をしないと解消しないので、従来どおり通知する。
無論、エラーメッセージの内容からサービスコールの要否を判断するのではなく、EDBに予めサービスコールを必要とするか否かを示すフラグを付けておいて、CPU12は、このフラグの有無を判断することによりSCの要否を判断しても構わない。
さらに、CPU12は、サービスコールを必要とするか否かのみならず、リブートで復帰可能であるか否かも判断してもよい。例えば、CPU12は、エラーメッセージにおいてリブートを指示する特定する文字列の有無(例えば、「オフ/オン」等)を判断し、エラーがSCを必要とし且つエラーメッセージにおいてリブートを指示している場合にはS110に進み、それ以外の場合はS125に進んでもよい。無論、リブートで復帰できる可能性のあるエラー種類を予めプログラム中やROM14に登録しておき、該当するエラーコードが発生したか否かを判断するなどの手法も採用できる。
リブートで復帰する可能性のあるエラー種類としては、例えば、ホストI/F15がホストPC200と通信する際に発生するネットワークエラー、ROM14に記録されたデーターのチェックサムエラー、RAM13に記録されたデーターのチェックサムエラー、外部機器との間の通信状況を確認するために実行するループバックテストにおいて応答が無い場合のループバックエラー、CPU12における例外処理(例えば、TLB(Translation Lookaside Buffer)ミスによるページフォールトが発生したときの例外処理等)等である。
S110において、CPU12は、S100で発生したエラーが過去に発生していて、リブートによって解消したことのあるエラーであるか否かを判断する。より具体的には、CPU12は、エラーコードがすでにエラーログに記録されていてエラー解消フラグが付されているか否かを判断する。CPU12は、エラーコードがすでにエラーログに記録されていてエラー解消フラグが付されている場合にはS115に進み、S100で検出したエラーコードについてエラーログに記録してS120に進む。一方、CPU12は、エラーコードが未だエラーログに記録されていなかったり、エラーログに記録されているもののエラー解消フラグが付されていなかったりする場合にはS140に進んでS100で検出したエラーコードについてエラーログに記録し、S145に進む。
図4はエラーログの一例を示した表である。同図において、エラーログは、エラー発生番号、パネルメッセージ、エラーコード、ページ数、エラー発生日時、エラー解除日時、エラー解消フラグ、で構成されている。エラー発生番号は、エラーの発生した順に自動的に割り振られる管理番号である。パネルメッセージは、上述したようにエラー発生時にディスプレイ17に表示する文字列であり、エラーの概要やエラー発生時にユーザーが取るべき対応を指示するものである。ページ数は、エラー発生時に印刷していた印刷ジョブのページ数である。エラー発生日時は、エラーが発生した年月日と時分が記録される。エラー解除日時は、発生したエラーが解除された年月日と時分が記録される。エラーが解除された日時とはエラー状態が終了した日時である。エラー解消フラグは、発生したエラーをリブートによって解消したか否かを示すフラグである。すなわち、CPU12は、S100で取得したエラーコードをエラーログから検索することによりS100で発生したエラーが過去に発生しているか否かを判断できるし、エラー解消フラグを参照することによりS100で発生したエラーをリブートで解消できるか否かを判断できる。
S120において、CPU12は、ASIC11の所定のレジスタに自動リブートを行う旨の情報と、自動リブートにより中断される処理に関する情報を記録してからエラー監視処理を終了し、プリンター100のリブートを行う。
S125において、CPU12は、S100で検出したエラーコードについてエラーログに記録してS130に進む。
S130において、CPU12は、EDBを参照してエラーコードに対応するエラーメッセージをディスプレイ17に表示してS135に進む。
S135において、CPU12は、エラーが解消したか否かを判断する。CPU12は、エラーが解消された場合はS100に戻り、エラーが解消されていない場合はS130からの処理を繰り返す。例えば上述した紙詰まりエラーの場合であれば、給紙機構のいずれかのカバーが開閉されたことを検出すると、給紙機構に給紙動作を指示し、用紙が正常に送られたことを検出できればエラーが解消したと判断できる。
S145において、CPU12は、リブートするか否かを判断する。CPU12は、リブートする場合にはS120に進み、リブートしない場合にはS150に進む。CPU12は、エラー関する情報をディスプレイ17に表示するとともにリブートするか否かの操作入力が行われたか否かを判断する。例えば、CPU12は、エラーコードに対応するエラーの概要をディスプレイ17に表示するとともに、現在のエラーがリブートによって解消する可能性あることを示唆するメッセージを表示し、リブートするか否かをユーザーに選択させる。ユーザーは、操作パネル18を操作してリブートするか否かを選択するので、CPU12は、操作パネル18における操作入力に基づいてリブートの要否を判断できる。
S150において、CPU12は、S130と同様にEDBを参照してエラーコードに対応するエラーメッセージをディスプレイ17に表示してS155に進む。
S155において、CPU12は、S135と同様にエラーが解消したか否かを判断する。CPU12は、エラーが解消された場合はS100に戻り、エラーが解消されていない場合はS150からの処理を繰り返す。
(3)起動時のエラー監視処理:
図5は起動時のエラー監視処理のフローチャートである。
ステップS200において、CPU12は、POST(Power On Self Test)処理を実行する。POST処理は、接続デバイスのチェックや初期化を行うプログラムであり、ASIC11内の所定のレジスタを初期化したり、RAM13のメモリテスト(RAMテスト)を実行したり、ホストI/F15に接続されているホストPC200やASIC11に接続されているデバイスや内部バスに接続されたデバイスに関する情報(通信における遅延時間等)を取得したりする。
ステップS205において、CPU12は、POST処理の途中でエラーが発生したか否かを判断する。CPU12は、エラーを検出するとS210に進んでS205で検出したエラーコードについてエラーログに記録してS215に進む。一方、CPU12は、エラーを検出しない場合は直近のエラーログのエラー解消フラグにリブートによってエラーを解消した旨を示すフラグを付し、エラー監視処理のS100に進む。よって、リブートによってエラーが解消された場合は、ユーザーはエラーが発生したことを意識する必要が無いし、ダウンタイムが最短時間でエラーが解消することになる。また、リブートを行う前に初めて発生したエラーであっても次に同じエラーが発生した時にはエラー解消フラグを参照することにより自動的にリブートするので、ユーザーはリブートの可否を選択する必要がなくなる。
S215において、CPU12は、現在の起動がCPU12によって実行されたリブート処理(自動リブート処理)で実行されたものであるか否かを判断する。CPU12は、S120のリブートを行う際に所定のレジスタに自動リブートを実行する旨の情報を記録しているので、このレジスタを参照することにより自動リブート処理であるか否かを判断できる。CPU12は、自動リブートである場合はS220に進み、自動リブートで無い場合はエラー監視処理のS100に進む。
S220において、CPU12は、自動リブートの前後で同じエラーが発生しているか否かを判断する。例えば、CPU12は、EDBを参照して直近の2つのエラーログが同一のエラーコードであるか否かを判断することにより、自動リブートの前後で同じエラーが発生しているか否かを判断することができる。エラー判断部は、自動リブートの前後で同じエラーが発生している場合はS225に進み、自動リブートの前後で同じエラーが発生していない場合は、自動リブートの直前に記録されたエラーログのエラー解消フラグにリブートによってエラーを解消した旨を示すフラグを付し、エラー監視処理のS110に進む。すなわち、自動リブート前に発生したエラーが既に解消して他のエラーが発生している場合には、前記エラー監視処理において自動リブートが必要であるか否かを判断することになる。よって、異なるエラーでリブートを失敗した場合においても、誤ったエラーメッセージをユーザーに提供したり、ユーザーに手間をかけさせたりすることがない。
S225において、CPU12は、自動リブートの原因となったエラーコードに対応するエラーメッセージをディスプレイ17に表示してS230に進む。
S230において、CPU12は、エラーが解消したか否かを判断する。CPU12は、エラーが解消された場合は上述のエラー監視処理を開始し、エラーが解消されていない場合はS215からの処理を繰り返す。このとき表示されるメッセージに電源のオフ/オンを指示する部分は表示されず、エラーの内容とサービスコールに連絡するようにユーザーに指示するメッセージが表示される。なお、この時点で既にリブートによるエラーを解消出来ないことが判明しているので、ユーザーは自ら電源スイッチを操作する必要が無い。また、自動リブートが行われた場合には、ユーザーはS230において初めてエラーメッセージを見ることになる。
(4)RAMテスト処理:
図6は、POST処理の一環として実行されるRAMテスト処理のフローチャートである。RAMテスト処理とは、RAM13にデーターをライトした後そのデーターをリードしてライトデータとリードデータの一致/不一致を検出する処理である。本実施形態のRAMテスト処理においては、POST処理が自動リブートによって実行されたか否かを判断し、自動リブートによってPOST処理が実行されている場合にはRAMテスト処理の対象から処理対象データーの記憶された記憶領域を除外する。よって自動リブートによって処理対象データーが消滅するのを回避され、自動リブート前に実行されていた処理を自動リブートが完了した後に容易に再開できるようになる。以下、図6を参照しつつ、本実施形態におけるRAMテスト処理の流れを説明する。
S400において、CPU12は、現在実行されているPOST処理が自動リブート後のPOST処理であるか否かを判断する。すなわちCPU12は、ASIC11の所定のレジスタを参照して、所定のレジスタに自動リブートを行う旨の情報が記録されているか否かを判断する。CPU12は、自動リブートを行う旨の情報が記録されている場合にはステップS405に進み、該情報が記録されていない場合にはステップS420に進む。
S420に進むとCPU12は、RAMの全領域に対してRAMテストを実行してRAMテスト処理を終了する。すなわち、手動リブート時や通常の電源投入時に実行されるPOST処理においては、RAM13の全域を対象にした通常のRAMテストが実行される。なお、手動リブートとはユーザーが電源オフ/オンを行って実行するリブートである。
S405において、CPU12は、領域レジスタ11cからスタートアドレスとサイズ情報を取得する。
S410において、CPU12は、RAM13に処理対象データーが記録されているか否かを判断する。すなわち、CPU12は領域レジスタ11cから取得したサイズ情報が0であるか否かを判断する。自動リブートが発生したタイミング次第では、例えばRAM13に転送された画像データーを全て処理し終わっていれば処理対象データーが記録されていないので、このような場合にRAM13の一部を除外してRAMテストを行う必要は無いからである。CPU12は、サイズ情報が0の場合にはステップS420に進み、サイズ情報が0でない場合にはステップS415に進む。
S415において、CPU12は、領域レジスタ11cから取得したスタートアドレスとサイズ情報とに基づいて処理対象データーが記録されたRAM領域を決定し、この領域を除く領域に対してRAMテストを実行する。よって、処理対象データーはRAMテストによって消失せず、その後の処理において利用可能となる。S415が終了すると、CPU12は、自動リブートにより中断される処理に関する情報を参照して、自動リブート前に実行していた処理(例えば印刷処理等)を再開する。このとき、処理対象データーが自動リブート前と同じアドレスに変更されずに残っているので、ホストPC200やスキャナ部30に画像データーやスキャンデーターの再送を要求したりすることなく処理をスムーズに再開できる。
(5)RAMテスト処理の変形例:
以上説明した実施形態のRAMテスト処理においては、自動リブート時のRAMテストの対象から領域レジスタ11cに記載された領域を除外しているが、機器の安定動作を確保する観点からは、この除外した領域についてもRAMテストを行った方が好ましい。そこで、本変形例においては領域レジスタ11cに記載された領域を除外してRAMテストを実行した後で、処理対象データーをRAMテストにて正常動作が確認された領域にコピーして処理対象データーが記録されていた領域についてもRAMテストを実行する。
図7は、本変形例にかかるRAMテスト処理のフローチャートである。同図において、S500〜S510、S520の処理は、S400〜S410,S420の処理と同様であるので説明を省略する。
S515において、CPU12は、領域レジスタ11cから取得したスタートアドレスとサイズ情報とに基づいて処理対象データーが記録されたRAMの領域を決定し、この領域を除く領域に対してRAMテストを実行する。CPU12は、S515が終了するとS525に進む。
S525において、CPU12は、S515にてRAMテストを完了した領域に処理対象データーを移動させ、処理対象データーが記録されていた領域にRAMテストを実行する。なお、S515にてRAMテストが完了した領域よりもRAM13に記録されていた処理対象データーの方が大きい場合は、図8に示すような方法でRAMテストを実行するとよい。
図8は、処理対象データーがRAMの空き領域よりも大きい場合のRAMテストを説明する図である。同図に示すように、[処理対象データーのサイズ]>[RAMの空き領域]の場合には、まず、S515においてRAMテストが完了した領域に記録可能なサイズの処理対象データーを部分的にコピーする。そして、コピー済みの処理対象データーが記録されている領域に対してRAMテストを行う。この手順を順次繰り返すことにより、RAM13全体に対してRAMテストを完了することができる。
S530において、CPU12は、S525が実行される前の位置に処理対象データーを順次書き戻す処理を行う。よって、RAMテストをRAM13の全領域に対して行うとともに処理対象データーを変更せず、さらにPOST処理の後で再開される処理において処理対象データーの正しいアドレスを参照することができる。無論、処理対象データーを元の位置に書き戻す代わりに、領域レジスタ11cの情報を、S525において移動した後の処理対象データーの領域に対応したスタートアドレスとサイズ情報とで更新しても構わない。
(6)まとめ:
以上説明したように、本実施形態にかかるプリンター100によれば、CPU12もしくはDMAC11bは処理対象データーをRAM13に記憶させる際にRAM13に記憶された処理対象データーのスタートアドレスとサイズ情報を領域レジスタ11cに記憶させ、所定条件により自動リブートを行う際に、CPU12は上記スタートアドレスとサイズ情報に基づきRAM13の処理対象データーを記憶された領域についてRAMテストを行わずにリブートし、CPU12はリブート完了後に上記スタートアドレスとサイズ情報に基づき処理対象データーを特定して該処理対象データーの処理を行う。よって、自動リブートによって処理対象データーが失われずに済み、自動リブート前にRAM13に記憶された処理対象データーに対する処理を、自動リブート後にスムーズに実行することができる。
なお、上記実施形態や変形例においては、以下のような変形も可能である。
ホストPC200とASIC11とを接続するホストI/F15は、シリアル方式のI/Fでなくパラレル方式のI/Fとすることによりリブート後の処理再開が容易になる。シリアル方式のI/Fは、プリンター100側でデーター転送処理が停止してもホストPC200の側で把握出来ないので途中からデーター転送を再開できないが、パラレル方式のI/Fは、ホストPC200からプリンター100へデーター転送中にプリンター100が自動リブート処理を開始してデーター転送が停止した場合にはビジー状態になり、その後データー受信を継続することができるからである。
DMAC11bやCPU12は、画像データーやスキャンデーターをRAM13に記録する際にチェックサムを生成し、記録する画像データーやスキャンデーターに関連付けてRAM13に記録してもよい。この場合、画像データーやスキャンデーターのチェックサムを生成してRAM13に記録するDMAC11bやCPU12が、チェックサム生成手段を構成する。チェックサムを記録しておくと、上述したRAMテストが終了して自動リブート前の処理を再開する際にCPU12は、RAM13に残っている処理対象データーからチェックサムを生成し、RAM13に記録されているチェックサムと比較することによりRAMテスト後にRAM13に残っている処理対象データーの信頼性を確認できる。チェックサム生成は処理の負担が少ないので、短時間で作成できる。無論、チェックサムに限らずECC等を用いてもよく、データーの誤りを検出できるものであれば様々なものが採用可能である。
なお、本発明は上述した実施形態や変形例に限られず、上述した実施形態および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術並びに上述した実施形態および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も含まれる。
10…制御部、11…ASIC、11a…画像処理回路、11b…DMAC、11c…領域レジスタ、12…CPU、13…RAM、14…ROM、15…ホストI/F、16…PWM回路、17…ディスプレイ、18…操作パネル、20…印刷部、21…印刷エンジン、30…スキャナ部、100…プリンター、200…ホストPC、P1…印刷制御プログラム、P2…監視プログラム、P3…POST処理プログラム

Claims (7)

  1. 記憶部に記憶された処理対象データーのスタートアドレスとサイズ情報を所定の記憶領域に記憶させる記憶手段と、
    所定条件により自動リブートを行う際に、上記スタートアドレスとサイズ情報に基づき上記記憶部中の処理対象データーを特定して該処理対象データーを変更しないようにリブートする自動リブート手段と、
    上記自動リブート手段がリブートした後で上記スタートアドレスとサイズ情報に基づき処理対象データーを特定して該処理対象データーの処理を行う処理手段とを備える画像形成装置。
  2. 上記自動リブート手段は、上記サイズ情報が0でない場合には上記処理対象データーの記憶された領域を除外して上記記憶部の読み書きテストを実行し、上記サイズ情報が0の場合には上記記憶部の全領域に読み書きテストを実行する請求項1記載の画像形成装置。
  3. 上記自動リブート手段は、上記サイズ情報が0でない場合には上記処理対象データーの記憶された領域を除外して上記記憶部の読み書きテストを実行し、読み書きテストの完了した領域に上記処理対象データーを移動させ、移動させた上記処理対象データーが記憶された領域について上記読み書きテストを実行する請求項1又は請求項2に記載の画像形成装置。
  4. 上記記憶手段は、上記処理対象データーのページ全体について処理が完了した後で、該当するページの処理対象データーを上記記憶部から削除する請求項1〜請求項3の何れか一項に記載の画像形成装置。
  5. 上記処理対象データーを上記記憶部に記憶する際に、上記処理対象データーのチェックサムを生成して上記記憶部に記憶するチェックサム生成手段を備え、
    上記処理手段は、処理を行うにあたり上記チェックサムを利用して上記処理対象データーの信頼性を検証する請求項1〜請求項4の何れか一項に記載の画像形成装置。
  6. 上記自動リブート手段は、発生したエラーがサービスコールを必要とし且つエラーログに記憶されていることを上記所定条件として上記自動リブートを行う請求項1〜請求項5の何れか一項に記載の画像形成装置。
  7. DMA(Direct Memory Access)コントローラーが上記処理対象データーを上記記憶部に記憶させると共に、該DMAコントローラーが上記記憶手段と上記チェックサム生成手段を構成する請求項1〜請求項6の何れか一項に記載の画像形成装置。
JP2009023442A 2009-02-04 2009-02-04 画像形成装置 Withdrawn JP2010182001A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009023442A JP2010182001A (ja) 2009-02-04 2009-02-04 画像形成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009023442A JP2010182001A (ja) 2009-02-04 2009-02-04 画像形成装置

Publications (1)

Publication Number Publication Date
JP2010182001A true JP2010182001A (ja) 2010-08-19

Family

ID=42763559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009023442A Withdrawn JP2010182001A (ja) 2009-02-04 2009-02-04 画像形成装置

Country Status (1)

Country Link
JP (1) JP2010182001A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016175349A (ja) * 2015-03-20 2016-10-06 株式会社リコー 制御装置、画像形成装置、制御方法およびプログラム
JP2020184031A (ja) * 2019-05-09 2020-11-12 シャープ株式会社 画像形成装置、画像形成装置におけるユニット管理プログラムおよびユニット管理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016175349A (ja) * 2015-03-20 2016-10-06 株式会社リコー 制御装置、画像形成装置、制御方法およびプログラム
JP2020184031A (ja) * 2019-05-09 2020-11-12 シャープ株式会社 画像形成装置、画像形成装置におけるユニット管理プログラムおよびユニット管理方法
JP7284629B2 (ja) 2019-05-09 2023-05-31 シャープ株式会社 画像形成装置、画像形成装置におけるユニット管理プログラムおよびユニット管理方法

Similar Documents

Publication Publication Date Title
US7761733B2 (en) Image-processing system, image-processing method, and computer readable storage medium
US20090091783A1 (en) Printing device and printing system
US20060221684A1 (en) Printing apparatus and control program updating method
US9229815B2 (en) Information processing apparatus, program update method, and program
JP2006031677A (ja) 印刷制御装置、印刷装置、印刷ネットワークシステム、印刷制御方法、印刷制御プログラム及び印刷制御プログラムを格納した記録媒体。
US20210255849A1 (en) Information processing apparatus and method
JP4482514B2 (ja) 画像形成装置
US9906680B2 (en) Information processing system, information processing apparatus and information processing method
JP2010182001A (ja) 画像形成装置
US20090185218A1 (en) Printing System, Printing Device and Printing Device Maintenance Method
JP5939896B2 (ja) 画像形成装置
JP2010162815A (ja) 印刷装置
GB2370894A (en) Updating firmware during operation
JP2006164030A (ja) マルチファンクション装置のファームウエアアップデート方法
JP2007168103A (ja) 印刷装置およびそのリカバリ印刷方法
US11209761B2 (en) Image forming apparatus, method for controlling image forming apparatus, and storage medium having controller which executes repair processing on the storage medium
US11126123B2 (en) Image forming apparatus, method for controlling image forming apparatus, and storage medium
JP6111918B2 (ja) 画像処理装置、画像処理システムおよびプログラム
US20030182521A1 (en) Program data rewriting system
JP2016010974A (ja) 印刷装置、印刷装置の制御方法、及び、プログラム
JP2008077378A (ja) 起動診断方式、起動診断方法およびプログラム
JP6398858B2 (ja) 電子機器およびリブートプログラム
JP2013250911A (ja) 画像形成装置、画像形成装置の制御方法およびコンピュータプログラム
JP3812281B2 (ja) 印刷装置
JP2005032014A (ja) データ処理装置、データ処理装置の起動プログラム、データ処理装置の起動方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120501