以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
図1は、本発明の実施の形態の1つにおける複合装置の外観を示す斜視図である。図1を参照して、複合装置1は、MFP(Multi Function Peripheral)100と、MFP100の下方に配置されたサーバー200と、MFP100の側面に配置された操作パネル300とを含む。以下、複合装置1において、操作パネル300が配置される面を正面という。
MFP100は、自動原稿搬送装置120と、原稿読取部130と、画像形成部140と、給紙部150と、を含む。自動原稿搬送装置120は、原稿トレイ上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部130の原稿読み取り位置まで搬送し、原稿読取部130により原稿に形成された画像が読み取られた原稿を原稿排紙トレイに排出する。
原稿読取部130は、その上面に原稿を読み取るための矩形状の読取面を有する。読取面は、例えばプラテンガラスにより形成される。自動原稿搬送装置120は、読取面の1つの辺に平行な軸を中心に回転可能にMFP100の本体に接続され、開閉可能である。自動原稿搬送装置120の下方に、原稿読取部130が配置されており、自動原稿搬送装置120が回転して開いた状態で、原稿読取部130の読取面が露出する。このため、ユーザーは、原稿読取部130の読取面に原稿を載置可能である。
原稿読取部130は、光を照射する光源と、光を受光する光電変換素子とを含み、読取面に載置された原稿に形成されている画像を走査する。読取領域に原稿が載置されている場合、光源から照射された光は原稿で反射し、反射した光が光電変換素子で結像する。光電変換素子は、原稿で反射した光を受光すると、受光した光を電気信号に変換した画像データを生成する。
給紙部150は、用紙を収容するめための2つの給紙トレイを含む。給紙部150は、2つの給紙トレイのいずれかに収容された用紙を画像形成部140に搬送する。画像形成部140は、周知の電子写真方式により画像を形成するものであって、画像データに基づいて、給紙部150により搬送される用紙に画像を形成し、画像を形成した用紙を排紙トレイ155に排出する。
図2は、複合装置のハードウェア構成の一例を示すブロック図である。図2を参照して、複合装置1は、MFP100と、サーバー200と、操作パネル300と、を含む。MFP100とサーバー200とは、ローカルエリアネットワーク(LAN)ケーブル(メイン通信回線)3で接続される。サーバー200と操作パネル300とは、USB(Universal Serial Bus)ケーブル(第1の通信回線)5で接続される。MFP100と操作パネル300とは、USBケーブル(第2の通信回線)7で接続される。
サーバー200は、サーバー200の全体を制御するための第1CPU(中央演算処理装置)201と、第1CPU201が実行するためのプログラムを記憶するROM(Read Only Memory)202と、第1CPU201の作業領域として使用されるRAM(Random Access Memory)203と、データを不揮発的に記憶するハードディスクドライブ(HDD)204と、第1CPU201をLANケーブル3に接続する第1LAN通信部205と、外部記憶装置206と、VRAM(Video RAM)207と、USBケーブル5と接続される第1USB通信部209と、を含む。第1CPU201、ROM202、RAM203、HDD204、第1LAN通信部205、外部記憶装置206、VRAM207および第1USB通信部209はバス221に接続される。
ROM202は、第1CPU201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM203は、第1CPU201がプログラムを実行する際の作業領域として用いられる。
第1LAN通信部205は、第1CPU201をLANケーブル3を介してMFP100に接続するためのインターフェースである。第1LAN通信部205は、TCP(Transmission Control Protocol)またはFTP(File Transfer Protocol)等の通信プロトコルで、LANケーブル3に接続されたMFP100と通信する。また、第1LAN通信部205は、LANケーブル3がMFP100とは別の他のコンピューターと接続される場合、LANケーブル3に接続された他のコンピューターと通信可能となる。また、LANケーブル3がインターネットに接続される場合には、第1LAN通信部205は、インターネットに接続された他のコンピューターと通信可能となる。
VRAM207は、第1CPU201により生成され、操作パネル300に表示させるための画面の画像を記憶する。第1USB通信部209は、第1CPU201をUSBケーブル5を介して操作パネル300に接続するためのインターフェースである。
HDD204は、大容量記憶装置であり、第1CPU201により制御される。第1CPU201は、HDD204に記憶されたデータを読出し可能であり、また、HDD204にデータを書き込み可能である。
外部記憶装置206は、第1CPU201により制御され、CD(Compact Disk)−ROM206A、または半導体メモリが装着される。第1CPU201は、外部記憶装置206を制御して、CD−ROM206Aまたは半導体メモリに記憶されたデータの読出し、または、CD−ROM206Aまたは半導体メモリにデータを書き込みが可能である。
MFP100は、第2CPU111と、第2LAN通信部112と、ROM113と、RAM114と、ファクシミリ部115と、VRAM116と、第2USB通信部117と、自動原稿搬送装置120と、原稿読取部130と、画像形成部140と、給紙部150と、を含む。第2CPU111は、第2LAN通信部112、ROM113、RAM114、ファクシミリ部115、VRAM116、第2USB通信部117、自動原稿搬送装置120、原稿読取部130、画像形成部140および給紙部150と接続され、MFP100の全体を制御する。
ROM113は、第2CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、第2CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる画像データを一時的に記憶する。
ファクシミリ部115は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部115は、受信したファクシミリデータを画像形成部140でプリント可能なプリントデータに変換して、画像形成部140に出力する。これにより、画像形成部140は、ファクシミリ部115により受信されたファクシミリデータの画像を用紙に形成する。また、ファクシミリ部115は、原稿読取部130が原稿を読み取って出力する画像データをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
第2LAN通信部112は、第1CPUをLANケーブル3に接続されたサーバー200に接続するためのインターフェースである。第2LAN通信部112は、TCPまたはFTP等の通信プロトコルで、LANケーブル3に接続されたサーバー200と通信する。なお、第2LAN通信部112が接続されるネットワークの接続形態は有線または無線を問わない。また、LANケーブル3が、MFP100とは別の他のコンピューターと接続される場合、第2LAN通信部112は、LANケーブル3に接続された他のコンピューターと通信可能となる。また、LANケーブル3がインターネットに接続される場合には、第2LAN通信部112は、インターネットに接続された他のコンピューターと通信可能となる。
VRAM116は、第2CPU111により生成される画面の画像を記憶する。第2USB通信部117は、第2CPU111をUSBケーブル7を介して操作パネル300に接続するためのインターフェースである。
HDD204および外部記憶装置206は、第1CPU201によりMFP100と共有設定されており、MFP100からアクセス可能に第1CPU201により設定される。このため、第2CPU111は、HDD204または外部記憶装置206に装着されたCD−ROM206Aに記憶されたデータを読出し可能であり、また、それらにデータを書き込み可能である。
本実施の形態においては、第2CPU111はROM113に記憶されたプログラムを実行する例を説明するが、第2CPU111はHDD204または外部記憶装置206に装着されたCD−ROM206A等から第2CPU111が実行するためのプログラムを読出し、読み出したプログラムをRAM114にロードして実行するようにしてもよい。同様に、第1CPU201はHDD204または外部記憶装置206に装着されたCD−ROM206A等から第1CPU201が実行するためのプログラムを読出し、読み出したプログラムをRAM203にロードして実行するようにしてもよい。
なお、第2CPU111または第1CPU201それぞれが実行するためのプログラムを記憶する記録媒体としては、CD−ROM206Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)などの半導体メモリ等の媒体でもよい。
さらに、第2CPU111または第1CPU201がLANケーブル3またはインターネットに接続されたコンピューターからプログラムをダウンロードしてHDD204に記憶する、または、LANケーブル3またはインターネットに接続されたコンピューターがプログラムをHDD204に書込みするようにしてもよい。この場合、第2CPU111は、HDD204に記憶されたプログラムをRAM114にロードして実行し、第1CPU201は、HDD204に記憶されたプログラムをRAM203にロードして実行する。ここでいうプログラムは、第2CPU111または第1CPU201により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
操作パネル300は、操作パネル300の全体を制御する第3CPU301と、VRAM303と、表示部305と、操作部307と、第3USB通信部309と、第4USB通信部311と、を含む。第3CPU301と、VRAM303と、表示部305と、操作部307と、第3USB通信部309と、第4USB通信部311とは、バス313に接続され、VRAM303、表示部305、操作部307、第3USB通信部309および第4USB通信部311は、第3CPU301により制御される。
表示部305は、例えば、液晶表示装置(LCD)であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。なお、LCDに代えて、画像を表示する装置であれば、例えば、有機EL(electroluminescence)ディスプレイを用いることができる。
操作部307は、タッチパネル321と、ハードキー部323とを含む。タッチパネル321は、静電容量方式である。なお、タッチパネル321は、静電容量方式に限らず、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等の他の方式を用いることができる。
タッチパネル321は、表示部305の上面または下面に重畳して設けられる。ここでは、タッチパネル321の検出面のサイズと、表示部305の表示面のサイズとを同じにしている。このため、表示面の座標系と検出面の座標系は同じである。タッチパネル321は、ユーザーが、表示部305の表示面を指示する位置を検出面で検出し、検出した位置の座標を示す位置情報を第3CPU301に出力する。表示面の座標系と検出面の座標系は同じなので、タッチパネル321が出力する位置情報で特定される座標を、表示部305の表示面の座標に置き換えることができる。ハードキー部323は、複数のハードキーを含む。ハードキーは、例えば接点スイッチである。
第3USB通信部309は、第3CPU301をUSBケーブル5を介してサーバー200に接続するためのインターフェースである。このため、第3CPU301は、第1CPU201と通信が可能である。第4USB通信部311は、第3CPU301をUSBケーブル7を介してMFP100に接続するためのインターフェースである。このため、第3CPU301は、第2CPU111と通信が可能である。
VRAM303は、第3CPU301により制御され、表示部305に表示するための画像を記憶する。
図3は、MFPが備える第2CPUが有する機能の一例を示す図である。図3に示す機能は、MFP100が備える第2CPU111が、ROM113、HDD204またはCD−ROM206Aに記憶されたアプリケーションプログラムを実行することにより、第2CPU111に形成される機能である。第2CPU111がアプリケーションプログラムを実行するタスクは、第2CPU111のカーネル上に位置付けられる。カーネルは、第2CPU111がオペレーティングシステムプログラムを実行するタスクである。
本実施の形態におけるMFP100においては、外部からMFP100を制御および管理するために、予めコマンドが定められている。ここでは、外部からMFP100を制御するために予め定められたコマンドをAPIコマンドという。MFP100は、APIコマンドが入力されると、APIコマンドに従って処理を実行する。APIコマンドは、MFP100が実行する複数の処理にそれぞれ対応するコマンドであって、MFP100の外部からMFP100に処理を実行させることを可能にしたコマンドを含む。
図3を参照して、第2CPU111は、ハードウェア制御部11と、画面生成部13と、を含む。ハードウェア制御部11は、MFP100が備えるハードウェア資源を制御する。ハードウェア制御部11が制御するハードウェア資源は、ここでは、第2LAN通信部112、ROM113、RAM114、ファクシミリ部115、VRAM116、第2USB通信部117、自動原稿搬送装置120、原稿読取部130、画像形成部140および給紙部150を含む。
ハードウェア制御部11は、第2LAN通信部112を制御し、LANケーブル3を介してサーバー200からAPIコマンドを受信することに応じて、APIコマンドを実行する。このため、MFP100は、サーバー200により制御されて処理を実行する。ハードウェア制御部11が実行する処理は、ハードウェア制御部11がハードウェア資源を制御して実行するジョブ実行処理と、ハードウェア制御部11によるジョブ実行処理の実行を制限することを定める環境変数、および、ハードウェア資源を管理することを定める環境変数を設定する設定処理と、を含む。
ハードウェア制御部11は、APIコマンドによって定まる設定処理を実行する場合、ハードウェア制御部11がジョブ実行処理の実行を制限することを定める環境変数を設定し、設定された環境変数に従ってジョブ実行処理を実行する。例えば、ハードウェア制御部11は、設定処理が実行されて、ジョブ実行処理の実行を制限することを定める環境変数として、ジョブ実行処理の実行を指示したユーザーを制限することを定める環境変数が設定される場合、ユーザーが認証されていることを条件にジョブ実行処理を実行する。また、ハードウェア制御部11は、設定処理が実行されて、ジョブ実行処理の実行を制限することを定める環境変数として、ジョブ実行処理の実行を指示したユーザーの権限を制限することを定める環境変数が設定される場合、ユーザーに与えられた権限の範囲内でジョブ実行処理を実行する。
また、ハードウェア制御部11は、第2LAN通信部112を制御し、LANケーブル3を介してサーバー200に応答情報を送信する場合がある。応答情報は、ハードウェア制御部11がAPIコマンドに従ってジョブ実行処理を実行した結果を示す情報、およびハードウェア資源の状態を示す情報を含む。ハードウェア制御部11がAPIコマンドに従ってジョブ実行処理を実行した結果を示す情報は、ハードウェア制御部11が設定処理を実行することにより設定される環境変数によって異なる場合がある。ハードウェア資源の状態を示す情報は、ハードウェア資源の不具合を示すエラー情報を含む。エラー情報は、ハードウェア資源そのものに発生した不具合、およびハードウェア資源が駆動するために用いる消耗品に関する不具合を含む。
また、ハードウェア制御部11は、設定処理が実行されて、ハードウェア資源を管理することを定める環境変数として、ジョブ実行処理を実行した履歴を管理することを定める環境変数が設定される場合、ジョブ実行処理を実行した結果を返答情報として、サーバー200に送信する。この場合、ジョブ実行処理の実行を指示したユーザーを制限することを定める環境変数が設定される場合、返答情報は、ジョブ実行処理を実行した結果に加えてジョブ実行処理の実行を指示したユーザー識別情報を含む。
また、ハードウェア制御部11は、設定処理が実行されて、ハードウェア資源を管理することを定める環境変数として、プリント枚数を管理する環境変数が設定される場合、ジョブ実行処理を実行してプリントした用紙の枚数を返答情報として、サーバー200に送信する。この場合、ジョブ実行処理の実行を指示したユーザーを制限することを定める環境変数が設定される場合、返答情報は、ジョブ実行処理を実行した結果であるプリント枚数に加えてジョブ実行処理の実行を指示したユーザー識別情報を含む。
また、ハードウェア制御部11は、APIコマンドにより特定されるジョブ実行処理が原稿を読み取るスキャンジョブの場合には、返答情報として、原稿を読み取って得られる画像データをサーバー200に送信する。この場合、ジョブ実行処理の実行を指示したユーザーを制限することを定める環境変数が設定される場合、返答情報は、ジョブ実行処理を実行した結果であるプリント枚数に加えてジョブ実行処理の実行を指示したユーザー識別情報を含む。
また、ハードウェア制御部11は、設定処理が実行されて、ハードウェア資源を管理することを定める環境変数として、ハードウェア資源の状態を通知することを定める環境変数が設定される場合、ハードウェア資源に不具合が発生すると、不具合の内容を示すエラー情報を返答情報として、第2LAN通信部112を制御してサーバー200に送信する。
画面生成部13は、ハードウェア制御部11がハードウェア資源を制御することによってエラーが発生する場合、そのエラーが発生した状態におけるハードウェア資源の状態を示す状態画面を生成し、生成した状態画面の画像をVRAM116に記憶する。ハードウェア制御部11がハードウェア資源を制御することによって発生するエラーは、ハードウェア資源に発生する不具合を含む。
図4は、サーバーが備える第2CPUが有する機能の一例を示す図である。図4に示す機能は、サーバー200が備える第1CPU201が、ROM202、HDD204またはCD−ROM206Aに記憶されたサーバー制御プログラムを実行することにより、第1CPU201に形成される機能である。図4を参照して、第1CPU201は、アプリ実行部251と、装置制御部253と、パネル制御部255と、検出部257と、エラー表示制御部259と、を含む。
アプリ実行部251は、サーバー200にインストールされたアプリケーションプログラムを、第1CPU201が実行するタスクである。アプリ実行部251は、アプリケーションプログラムを実行することにより生成されるサーバー画面の画像をVRAM207に記憶し、パネル制御部255に表示指示を出力する。アプリケーションプログラムは、任意のプログラムを用いることができ、例えば、インターネットのWebページを閲覧するブラウジングログラムである。アプリ実行部251は、ユーザーに提示するためのサーバー画面を生成し、生成したサーバー画面の画像をVRAM207に記憶し、パネル制御部255に表示指示を出力する。
装置制御部253は、第1LAN通信部205を制御し、LANケーブル3を介してMFP100と通信し、MFP100を制御する。具体的には、装置制御部253は、MFP100を操作するためのMFP画面を生成し、生成されたMFP画面の画像をVRAM207に記憶し、パネル制御部255に表示指示を出力する。
パネル制御部255は、アプリ実行部251または装置制御部253から表示指示が入力されることに応じて、操作パネル300にVRAM207に記憶された画像を表示させる。具体的には、パネル制御部255は、第1USB通信部209を制御して、USBケーブル5に接続された操作パネル300に、VRAM207に記憶された画像を送信する。後述するように、画像を受信する操作パネル300は、受信された画像をVRAM303に記憶し、表示部305に表示する。このため、VRAM207に記憶された画像が表示部305に表示される。
また、後述するように、操作パネル300から操作情報が送信される場合がある。パネル制御部255は、第1USB通信部209が操作パネル300から操作情報を受信する場合、受信された操作情報をアプリ実行部251または装置制御部253に出力する。パネル制御部255は、アプリ実行部251から表示指示が入力された後に、操作パネル300から受信される操作情報をアプリ実行部251に出力する。また、パネル制御部255は、装置制御部253から表示指示が入力された後に、操作パネル300から受信される操作情報を装置制御部253に出力する。操作情報は、ハードキー部323が有する複数のハードキーのうちユーザーにより指示されたハードキーを特定する情報、または、タッチパネル321の検出面中でユーザーにより指示された位置を特定する情報である。
アプリ実行部251は、パネル制御部255に表示指示を出力した後にパネル制御部255から操作情報が入力されることに応じて、操作情報に基づいて、ユーザーにより入力された操作を特定する。例えば、操作情報がハードキーを特定する情報の場合、アプリ実行部251は、アプリ実行部251が実行するアプリケーションプログラムによりハードキーに割り当てられた操作を特定する。また、操作情報がタッチパネル321の検出面中でユーザーにより指示された位置を特定する情報の場合、アプリ実行部251は、VRAM207に記憶した画像のサーバー画面中の位置を特定し、そのサーバー画面中の位置に割り当てられた操作を特定する。アプリ実行部251は、特定した操作に従って処理を実行する。
装置制御部253は、パネル制御部255に表示指示を出力した後にパネル制御部255から操作情報が入力されることに応じて、操作情報に基づいて、ユーザーにより入力された操作を特定する。操作情報がハードキーを特定する情報の場合、装置制御部253は、装置制御部253によりハードキーに割り当てられた操作を特定する。また、操作情報がタッチパネル321の検出面中でユーザーにより指示された位置を特定する情報の場合、装置制御部253は、VRAM207に記憶した画像のMFP画面中の位置を特定し、そのMFP画面中の位置に割り当てられた操作を特定する。そして、装置制御部253は、特定された操作に従った処理をMFP100に実行させるためのAPIコマンドを、第1LAN通信部205を制御して、MFP100に送信する。
例えば、装置制御部253は、MFP100によるジョブ実行処理の実行を制限することを定める環境変数、および、MFP100が有するハードウェア資源を管理することを定める環境変数を、MFP100に設定する場合、環境変数を設定するためのMFP画面をVRAM207に記憶し、パネル制御部255に表示指示を出力し、その後、パネル制御部255から入力される操作情報によって特定される操作に従って環境変数を決定する。装置制御部253は、決定された環境変数をMFP100に設定させるためのAPIコマンドを、第1LAN通信部205を制御し、LANケーブル3を介してMFP100に送信する。
また、装置制御部253は、第1LAN通信部205がMFP100から返答情報を受信する場合、返答情報に対応する処理を実行する。例えば、返答情報が、MFP100が有するハードウェア資源の状態を示す情報の場合、ハードウェア資源の状態をユーザーに通知するためのMFP画面を生成し、MFP画面の画像をVRAM207に記憶し、パネル制御部255に表示指示を出力する。特に、ハードウェア資源の状態を示す情報が、ハードウェア資源に発生した不具合を示す場合、ハードウェア資源に発生した不具合をユーザーに通知するためのMFP画面を生成し、そのMFP画面の画像をVRAM207に記憶し、パネル制御部255に表示指示を出力する。
また、返答情報が、APIコマンドに従ってジョブ実行処理を実行した結果を示す情報の場合、ジョブ実行処理が完了したことを示すMFP画面を生成し、MFP画面の画像をVRAM207に記憶し、パネル制御部255に表示指示を出力する。
検出部257は、MFP100からエラー情報を正常に取得不可能であることを検出する。具体的には、検出部257は、第1LAN通信部205を制御して、MFP100に応答を要求し、MFP100から所定時間内に応答を受信する場合に、MFP100からエラー情報を正常に取得可能と判断するが、MFP100から所定時間内に応答を受信しない場合に、MFP100からエラー情報を正常に取得不可能と判断し、MFP100からエラー情報を正常に取得不可能であることを検出する。検出部257がMFP100から応答を受信したと判断する場合は、要求に対して予め定められた応答を受信する場合である。検出部257は、MFP100から受信された応答が予め定められた応答でない場合、MFP100からエラー情報を正常に取得不可能と判断する。検出部257は、MFP100からエラー情報を正常に取得不可能であることを検出する場合、エラー表示制御部259に表示指示を出力する。MFP100が応答を返信できない場合、第2LAN通信部112でエラーが発生する場合の他、第2CPU111が第2LAN通信部112を制御するために実行するプログラムでエラーが発生する場合、第2CPU111がハードウェア資源を制御するために実行するプログラムでエラーが発生する場合を含む。
検出部257は、MFP100に応答を要求し、MFP100から所定時間内に応答を受信しない場合であっても、MFP100がジョブを実行中の場合は、エラー情報を正常に取得不可能であることを検出しない。MFP100がジョブを実行中の場合は、第2CPU111の負荷が大きくなる可能性があり、この場合には、MFP100が所定時間内に応答を返信できない場合があるからである。また、検出部257は、MFP100に応答を要求し、MFP100から所定時間内に応答を受信しない場合であっても、MFP100の主電源がOFFの場合は、エラー情報を正常に取得不可能であることを検出しない。MFP100の主電源がOFFの場合は、第2CPU111は要求に応答しないからである。検出部257は、装置制御部253からMFP100の状態を取得し、MFP100がジョブを実行中か否か、または、MFP100の主電源がOFFか否かを判断する。
検出部257によるMFP100への応答の要求は、アプリケーションレベルの要求と、ネットワークレベルの要求とを含む。まず、アプリケーションレベルの要求について説明する。MFP100において、サーバー200と通信するための所定の通信アプリケーションプログラムをインストールしておく。ここで、MFP100の第2CPU111が通信アプリケーションプログラムを実行するタスクを応答タスクという。なお、APIコマンドに応答を要求するコマンドが準備されている場合には、そのAPIコマンドを用いるようにすればよい。検出部257は、第1LAN通信部205を制御して、応答タスクに、アプリケーションレベルの要求を送信し、応答タスクから応答を受信したか否かを判断する。検出部257は、応答タスクから応答を受信する場合であって、受信された応答が予め定められた応答の場合に、MFP100からエラー情報を正常に取得可能と判断する。また、検出部257は、応答タスクから応答を受信しない場合、または、応答タスクから応答を受信するが受信された応答が予め定められた応答でない場合に、MFP100からエラー情報を正常に取得不可能であることを検出する。この場合には、MFP100の第2CPU111において、アプリケーションレベルのエラーが発生していることを検出することができる。
第2CPU111において、アプリケーションレベルのエラーが発生している場合に、ハードウェア制御部11が正常に動作しない場合がある。ハードウェア制御部11が正常に動作しない場合は、MFP100に不具合が発生してもハードウェア資源の不具合を示すエラー情報を示す返答情報を送信することができない場合がある。例えば、ハードウェア資源の不具合を示すエラー情報を示す返答情報を送信するプログラムを実行するタスクで不具合が発生する場合、第1LAN通信部205を制御するプログラムを実行するタスクで不具合が発生する場合である。しかしながら、画面生成部13が、ハードウェア資源に発生したエラーを通知するためのエラー通知画面の画像をVRAM116に記憶している場合がある。また、ハードウェア制御部11が正常に動作しない場合であっても、第2CPU111のオペレーティングシステムのカーネル部分は正常に動作している場合がある。
次に、ネットワークレベルの要求について説明する。検出部257は、第1LAN通信部205を制御して、第1LAN通信部205に第2LAN通信部112を検出させる。検出部257は、第1LAN通信部205が第2LAN通信部112を検出しない場合に、MFP100においてネットワークレベルのエラーが発生していることを検出する。検出部257は、MFP100においてネットワークレベルのエラーが発生していることを検出する場合、MFP100からエラー情報を正常に取得不可能であることを検出する。
MFP100において、ネットワークレベルのエラーが発生している場合は、ハードウェア制御部11が正常に動作している場合がある。ハードウェア制御部11が正常に動作している場合であっても、ネットワークレベルのエラーが発生している場合は、ハードウェア制御部11がハードウェア資源の不具合を示すエラー情報を示す返答情報を送信することができない。しかしながら、画面生成部13が、ハードウェア資源にエラーが発生する場合は、そのエラーを通知するためのエラー通知画面の画像をVRAM116に記憶している場合がある。
エラー表示制御部259は、検出部257から表示指示が入力されることに応じて、第1USB通信部209を制御して、USBケーブル5に接続された操作パネル300にエラー表示指令を送信する。ただし、エラー表示制御部259は、検出部257から表示指示が入力される場合であっても、アプリ実行部251が処理を実行している場合は、操作パネル300にエラー表示指令を送信することなく、エラー表示指令の送信を保留する。具体的には、エラー表示制御部259は、検出部257から表示指示が入力される場合であっても、アプリ実行部251により生成されたサーバー画面の画像が表示部305に表示されている場合は、操作パネル300にエラー表示指令を送信することなく、エラー表示指令の送信を保留する。エラー表示制御部259は、表示部305に表示されている画像が、アプリ実行部251により生成されたサーバー画面の画像、または装置制御部253により生成されたMFP画面の画像のいずれであるかを、パネル制御部255から取得する。
また、エラー表示制御部259は、エラー表示指令の送信を保留する場合、ユーザーがログアウトする操作を受け付ける場合、または、表示部305に表示する画像を装置制御部253より生成された画面の画像に切り換える操作を受け付ける場合、操作パネル300にエラー表示指令を送信する。
図5は、操作パネルが備える第3CPUが有する機能の一例を示す図である。図5に示す機能は、操作パネル300が備える第3CPU301が、第3CPU301が有するROMに記憶されたプログラムを実行することにより、第3CPU301に形成される機能である。図5を参照して、操作パネル300が備える第3CPU301は、パネル表示制御部351と、操作受付制御部353と、を含む。
パネル表示制御部351は、表示部305を制御して、VRAM303に記憶された画像を表示部305に表示させる。パネル表示制御部351は、通常時制御部341と、エラー時制御部343とを含む。通常時制御部341は、第3USB通信部309を制御して、サーバー200と通信する。通常時制御部341は、サーバー200から送信される画像を受信する場合、受信された画像をVRAM303に記憶する。通常時制御部341は、サーバー200から送信されるエラー表示指令を受信する場合、エラー表示指示をエラー時制御部343に出力する。
エラー時制御部343は、第4USB通信部311を制御して、MFP100と通信する。エラー時制御部343は、通常時制御部341からエラー表示指示が入力されることに応じて、MFP100と通信し、MFP100に画像の送信を依頼する。エラー時制御部343は、MFP100が送信する画像を受信する場合、受信された画像をVRAM303に記憶する。VRAM303に記憶された画像は、パネル表示制御部351によって表示部305に表示される。このため、MFP100の第2CPU111の画面生成部13がエラーを通知するためのエラー通知画面(状態画面)の画像をVRAM116に記憶している場合、エラー通知画面の画像が表示部305に表示される。
操作受付制御部353は、操作部307を制御して、操作部307が受け付けるユーザーにより入力された操作を取得する。また、操作受付制御部353は、第3USB通信部309を制御して、サーバー200と通信し、取得された操作を特定するための操作情報をサーバー200に送信する。操作部307が受け付けるユーザーにより入力された操作は、ハードキー部323が備える複数のハードキーを指示する操作、タッチパネル321を指示する操作である。ハードキーを指示する操作の操作情報は、ユーザーにより指示されたハードキーを識別するためのキー識別情報を含む。タッチパネル321を指示する操作の操作情報は、タッチパネル321の検出面中の座標を含む。
図6は、サーバー制御処理の流れの一例を示すフローチャートである。サーバー制御処理は、サーバー200が備える第1CPU201が、ROM202、HDD204またはCD−ROM206Aに記憶されたサーバー制御プログラムを実行することにより、第1CPU201により実行される処理である。サーバー制御プログラムは、第1CPU201にインストールされた、アプリケーションプログラムの1つである。
図6を参照して、サーバー200が備える第1CPU201は、ログイン画面を表示する(ステップS01)。具体的には、ユーザーがログインするために入力する認証情報を受け付けるためのログイン画面の画像をVRAM207に記憶し、VRAM207に記憶された画像を第1USB通信部209を制御して、操作パネル300に送信する。操作パネル300は、第3USB通信部309がサーバー200から受信した画像を、VRAM303に記憶し、VRAM303に記憶された画像を表示部305に表示する。
次のステップS02においては、ユーザーが入力する認証情報に基づいて、ユーザーの認証に成功したか否かを判断する。第1USB通信部209が操作パネル300から受信する操作情報に基づいて、認証情報を特定し、認証情報に基づいてユーザーを認証する。ユーザーの認証に成功したならば処理をステップS03に進めるが、そうでなければ処理をステップS01に戻す。
ステップS03においては、サーバー画面を表示し、処理をステップS04に進める。ログイン画面と同様に、サーバー画面の画像を操作パネル300に送信し、表示部305に表示させる。サーバー画面は、サーバー制御プログラムにより定められた画面である。また、サーバー画面は、サーバー制御プログラムとは別のアプリケーションプログラムを実行する場合には、そのアプリケーションプログラムにより定められた画面であってもよい。
次のステップS04においては、MFP100からエラー情報を受信したか否かを判断する。MFP100は、返答情報を送信する場合があり、第1LAN通信部205がMFP100から返答情報としてエラー情報を受信したか否かを判断する。エラー情報は、MFP100が有するハードウェア資源に発生したエラーに関する情報である。エラー情報を受信したならば処理をステップS05に進めるが、そうでなければステップS05をスキップして、処理をステップS06に進める。ステップS05においては、エラー情報に基づいてハードウェア資源に発生したエラーをユーザーに通知するためのエラー画面(通知画面)を表示し、処理をステップS06に進める。ログイン画面と同様に、エラー画面の画像を操作パネル300に送信し、表示部305に表示させる。
ステップS06においては、操作を受け付けたか否かを判断する。操作パネル300は、操作部307がユーザーにより入力される操作を受け付ける場合、その操作を特定するための操作情報を送信してくるので、第1USB通信部209が操作パネル300から操作情報を受信すると、操作を受け付ける。操作を受け付けたならば処理をステップS07に進めるが、そうでなければ処理をステップS04に戻す。
ステップS07においては、ステップS06において受け付けられた操作によって処理を分岐する。操作情報で特定される操作が、処理の実行を指示する実行指示操作ならば処理をステップS08に進め、制御対象装置の切り換えを指示する装置切換操作ならば処理をステップS09に進め、サーバー画面を別のサーバー画面に切り換える画面切換操作ならば処理をステップS03に戻し、ログアウトを指示するログアウト操作ならば処理をステップS13に進める。例えば、表示部305に表示されている画像のサーバー画面が、操作が割り当てられたボタンを含む場合、操作情報で特定されるサーバー画面中の位置に基づいて、操作を特定する。サーバー画面において、操作情報で特定される位置に配置されたボタンが、処理を実行する実行指示操作が割り当てられていれば実行指示操作を特定し、MFP100を制御するためのMFP画面に関連付けられていれば装置切換操作を特定し、サーバー200を制御するためのサーバー画面と関連付けられていれば画面切換操作を特定し、ログアウトを指示する操作と関連付けられていればログアウト操作を特定する。
ステップS08においては、実行指示操作に従ってアプリケーションプログラムにより特定される処理を実行し、処理をステップS03に戻す。例えば、第1CPU201によって、ブラウジングプログラムが実行される場合、ステップS03においては表示されるサーバー画面として、ブラウジングプログラムによって、WebサーバーからダウンロードしたWebページの画面が表示される。ステップS06において受け付けられる実行指示操作が、別のWebページの表示を指示する場合、別のWebページをダウンロードして表示する処理を実行する。
ステップS09においては、フラグが「1」に設定されているか否かを判断する。フラグは、後述するエラー状態通知処理により設定され、MFP100からエラー情報を正常に受信できない場合に「1」に設定され、MFP100からエラー情報を正常に受信する場合に「0」に設定される。フラグが「1」に設定されているならば処理をステップS10に進めるが、そうでなければ処理をステップS12に進める。ステップS12においては、MFP制御処理を実行し、処理をステップS03に戻す。MFP制御処理の詳細は後述する。
ステップS10においては、第1USB通信部209を制御して、操作パネル300にエラー表示指令を送信し、処理をステップS11に進める。エラー表示指令を受信する操作パネル300の詳細は後述するが、MFP100のVRAM116に記憶されている画像を表示部305に表示する。次のステップS11においては、解除指令を受け付けたか否かを判断する。第1USB通信部209が操作パネル300から操作情報を受信したならば解除指令を受け付ける。第1USB通信部209が予め定められた操作情報を受信する場合に解除指令を受け付けるようにしてもよいし、第1USB通信部209が任意の操作情報を受信する場合に解除指令を受け付けるようにしてもよい。解除指令を受け付けるまで待機状態となり(ステップS11でNO)、解除指令を受け付けたならば(ステップS11でYES)、処理をステップS03に戻す。
ステップS13においては、フラグが「1」に設定されているか否かを判断する。フラグが「1」に設定されているならば処理をステップS14に進めるが、そうでなければステップS14をスキップして処理を終了する。ステップS14においては、ステップS10と同様に、操作パネル300にエラー表示指令を送信し、処理を終了する。
図7は、MFP制御処理の流れの一例を示すフローチャートである。MFP制御処理は、図6のステップS12において実行される処理である。図7を参照して、サーバー200が備える第1CPU201は、MFP画面を表示し(ステップS21)、処理をステップS22に進める。具体的には、MFP100を制御するためのMFP画面の画像をVRAM207に記憶し、VRAM207に記憶された画像を第1USB通信部209を制御して、操作パネル300に送信する。操作パネル300は、第3USB通信部309がサーバー200から受信した画像を、VRAM303に記憶し、VRAM303に記憶された画像を表示部305に表示する。
ステップS22においては、操作を受け付けたか否かを判断する。操作パネル300は、操作部307がユーザーにより入力される操作を受け付ける場合、その操作を特定するための操作情報を送信してくるので、第1USB通信部209が操作パネル300から操作情報を受信すると、操作を受け付ける。操作を受け付けたならば処理をステップS23に進めるが、そうでなければ処理をステップS25に進める。
ステップS23においては、ステップS22において受け付けられた操作によって処理を分岐する。操作情報で特定される操作が、処理の実行を指示する実行指示操作ならば処理をステップS24に進め、MFP画面を別のMFP画面に切り換える画面切換操作ならば処理をステップS25に進め、制御対象装置の切り換えを指示する装置切換操作ならば処理をサーバー制御処理に戻す。例えば、表示部305に表示されている画像のMFP画面が、操作が割り当てられたボタンを含む場合、操作情報で特定されるMFP画面中の位置に基づいて、操作を特定する。MFP画面において、操作情報で特定される位置に配置されたボタンが、処理を実行する実行指示操作が割り当てられていれば実行指示操作を特定し、サーバー200を制御するためのサーバー画面に関連付けられていれば装置切換操作を特定し、MFP100を制御するためのMFP画面と関連付けられていれば画面切換操作を特定する。
なお、装置切換操作を特定する場合、処理がサーバー制御処理に戻る。この場合、図6を参照して、第1CPU201は、ステップS12において実行するMFP制御処理を終了し、処理をステップS03に戻す。ステップS03においては、図7のステップS22において受け付けられた装置切換操作により特定されるサーバー画面を表示することになる。
ステップS24においては、実行指示操作で特定されるジョブ実行処理をMFP100に実行させるために、MFP100にAPIコマンドを送信し、処理をステップS25に進める。具体的には、第1CPU201は、第1LAN通信部205を制御して、MFP100にAPIコマンドを送信する。APIコマンドを受信するMFP100においては、APIコマンドを実行し、APIコマンドにより定まるジョブ実行処理を実行することになる。ステップS25においては、画面切換操作により定まるMFP画面を、ステップS21と同様にして表示し、処理をステップS26に進める。
ステップS26においては、MFP100から返答情報を受信したか否かを判断する。第1LAN通信部205がMFP100から返答情報を受信したならば処理をステップS27に進めるが、そうでなければ処理をステップS22に戻す。ステップS26においては、返答情報がエラー情報か否かを判断する。エラー情報ならば処理をステップS28に進めるが、そうでなければ処理をステップS29に進める。ステップS28においては、エラー情報に基づいて、エラーを通知するためのMFP画面(通知画面)を生成し、エラーを通知するためのMFP画面を、ステップS21と同様にして表示し、処理をステップS22に戻す。
ステップS29においては、返答情報に対応する処理を実行し、処理をステップS21も戻す。返答情報に対応して実行する処理が予め定められており、返答情報に対応して定められた処理を実行する。例えば、返答情報が、MFP100が有するハードウェア資源の状態を示す情報の場合、ハードウェア資源の状態をユーザーに通知するためのMFP画面を生成する。また、返答情報が、APIコマンドに従ってジョブ実行処理を実行した結果を示す情報の場合、ジョブ実行処理が完了したことを示すMFP画面を生成する。生成されたMFP画面は、次のステップS21において操作パネル300に送信され、操作パネル300により表示される。
図8は、エラー状態通知処理の流れの一例を示すフローチャートである。エラー状態通知処理は、サーバー200が備える第1CPU201が、ROM202、HDD204またはCD−ROM206Aに記憶されたエラー状態通知プログラムを実行することにより、第1CPU201により実行される処理である。エラー状態通知プログラムは、サーバー制御プログラムの一部である。
図8を参照して、サーバー200が備える第1CPU201は、MFP100に応答を要求する(ステップS31)。具体的には、第1CPU201は、第1LAN通信部205を制御して、MFP100に応答を要求するコマンドを送信する。次のステップS32においては、MFP100からの応答を検出したか否かを判断する。第1LAN通信部205がMFP100から応答を要求するコマンドに対応する応答情報を受信したならば応答を検出する。MFP100からの応答を検出したならば処理をステップS33に進めるが、そうでなければ処理をステップS36に進める。
ステップS33においては、検出された応答が正常か否かを判断する。ステップS31において応答を要求したコマンドに対して、予め定められた応答情報の場合に正常と判断する。応答が正常ならば処理をステップS34に進めるが、そうでなければ処理をステップS35に進める。ステップS34においては、フラグを0に設定し、処理をステップS41に進める。ステップS35においては、フラグを1に設定し、処理をステップS41に進める。
ステップS36においては、応答を要求してから所定時間T1が経過したか否かを判断する。所定時間T1は、予め定められたしきい値である。応答を要求してから所定時間T1が経過したならば処理をステップS37に進めるが、そうでなければ処理をステップS32に戻す。ステップS37においては、MFP100がジョブを実行中か否かを判断する。MFP100がジョブを実行中ならば処理をステップS39に進めるが、そうでなければ処理をステップS38に進める。ステップS38においては、MFP100の電源がOFFか否かを判断する。MFP100の電源がOFFならば処理をステップS39に進めるが、そうでなければ処理をステップS40に進める。ステップS39においては、フラグを0に設定し、処理をステップS41に進める。ステップS40においては、フラグを1に設定し、処理をステップS41に進める。
ステップS41においては、フラグが0に設定されているか否かを判断する。フラグが0に設定されているならば処理をステップS42に進めるが、そうでなければ処理をステップS43に進める。ステップS42においては、応答を要求してから所定時間T2が経過したか否かを判断する。所定時間T2は、予め定められたしきい値であり、所定時間T1より長い。応答を要求してから所定時間T2が経過していなければ(ステップS42でNO)、待機状態となり、応答を要求してから所定時間T2が経過したならば(ステップS42でYES)、処理をステップS31に戻す。これにより、所定時間T2間隔で、MFP100に応答が要求される。
ステップS43においては、操作パネル300にサーバー画面が表示されているか否かを判断する。サーバー画面が表示されているならば処理を終了し、そうでなければ処理をステップS44に進める。ユーザーがMFP100を操作することなく、サーバー200にアプリケーションプログラムを実行させている間は、画面を切り換えないようにして、アプリケーションプログラムの実行を継続させるためである。
ステップS44においては、第1USB通信部209を制御して、操作パネル300にエラー表示指令を送信し、処理をステップS11に進める。エラー表示指令を受信する操作パネル300は、MFP100のVRAM116に記憶されている画像を表示部305に表示する。
図9は、表示制御処理の流れの一例を示すフローチャートである。表示制御処理は、操作パネル300が備える第3CPU301が、第3CPU301が備えるROMに記憶された表示制御プログラムを実行することにより、第3CPUにより実行される処理である。図9を参照して、第3CPU301は、第3USB通信部309がサーバー200から画像を受信したか否かを判断する(ステップS51)。画像を受信したならば処理をステップS52に進めるが、そうでなければ処理をステップS53に進める。ステップS52においては、サーバー200から受信された画像をVRAM303に記憶し、処理をステップS56に進める。
ステップS53においては、第3USB通信部309がサーバー200からエラー表示指令を受信したか否かを判断する。エラー表示指令を受信したならば処理をステップS54に進めるが、そうでなければ処理をステップS51に戻す。ステップS54においては、第4USB通信部311を制御して、MFP100のVRAM116に記憶された画像(状態画面の画像)を取得する。具体的には、MFP100の第2CPU111のオペレーティングシステムのカーネルと通信し、VRAM116に記憶された画像を取得する。ステップS55においては、MFP100から取得された画像をVRAM303に記憶し、処理をステップS56に進める。
ステップS56においては、VRAM303に記憶された画像を表示部305に表示し、処理をステップS51に戻す。処理がステップS52から進む場合は、サーバー200から受信されるサーバー画面の画像またはMFP画面の画像が、表示部305に表示される。処理がステップS55から進む場合は、MFP100から取得されるエラー通知画面の画像が表示部305に表示される。
<第1の変形例>
図10は、第1の変形例における複合装置のハードウェア構成の一例を示すブロック図である。図10を参照して、図2に示したハードウェア構成と異なる点は、サーバー200に第5USB通信部211が追加される点、MFP100の第2USB通信部117が第6USB通信部118に変更された点、操作パネル300が第4USB通信部311を備えない点である。その他の構成は、図2に示した構成と同じなのでここでは説明を繰り返さない。
第1の変形例における複合装置において、MFP100とサーバー200とは、LANケーブル(メイン通信回線)3およびUSBケーブル(サブ通信回線)9で接続され、サーバー200と操作パネル300とは、USBケーブル(第1の通信回線)5で接続される。MFP100と操作パネル300とは通信回線で接続されていない。
具体的には、サーバー200の第5USB通信部211は、MFP100の第6USB通信部118と、USBケーブル9で接続される。このため、サーバー200の第1CPU201は、第5USB通信部211を制御して、USBケーブル9に接続されるMFP100の第2CPU111と通信が可能である。
図11は、第1の変形例におけるサーバーが備える第2CPUが有する機能の一例を示す図である。図11を参照して、図4に示した機能と異なる点は、エラー表示制御部259がエラー表示制御部259Aに変更された点である。その他の機能は、図4に示した機能と同じなのでここでは説明を繰り返さない。
図12は、第1の変形例における操作パネルが備える第3CPUが有する機能の一例を示す図である。図12を参照して、図5に示した機能と異なる点は、エラー時制御部343が削除された点である。その他の機能は図5に示した機能と同じなので、ここでは説明を繰り返さない。
図11および図12を参照して、エラー表示制御部259Aは、検出部257から表示指示が入力されることに応じて、第5USB通信部211を制御して、MFP100と通信する。エラー表示制御部259Aは、検出部257から表示指示が入力されることに応じて、MFP100の第2CPU111のオペレーティングシステムのカーネルと通信し、VRAM116に記憶された画像の送信を依頼する。エラー表示制御部259Aは、第5USB通信部211がMFP100から画像を受信することに応じて、第1USB通信部209を制御して、USBケーブル5に接続された操作パネル300にMFP100から受信された画像を送信し、操作パネル300にVRAM303に記憶させる。操作パネル300は、第3USB通信部309から受信される画像をVRAM303に記憶する。VRAM303に記憶された画像は、操作パネル300のパネル表示制御部351によって表示部305に表示される。このため、MFP100の第2CPU111の画面生成部13が生成し、VRAM116に記憶したエラーを通知するためのエラー通知画面(状態画面)の画像が表示部305に表示される。
ただし、エラー表示制御部259Aは、検出部257から表示指示が入力される場合であっても、アプリ実行部251が処理を実行している場合は、MFP100から受信されたエラー通知画面の画像を、操作パネル300に送信することなく、エラー通知画面の画像の送信を保留する。具体的には、エラー表示制御部259Aは、検出部257から表示指示が入力されるであっても、アプリ実行部251により生成されたサーバー画面の画像が表示部305に表示されている場合は、MFP100から受信されたエラー通知画面の画像を操作パネル300に送信することなく、エラー通知画面の画像の送信を保留する。エラー表示制御部259Aは、表示部305に表示されている画像が、アプリ実行部251より生成されたサーバー画面の画像、および装置制御部253により生成されたMFP画面の画像のいずれであるかを、パネル制御部255から取得する。
また、エラー表示制御部259Aは、MFP100から受信されたエラー通知画面の画像の送信を保留する場合、ユーザーがログアウトする操作を受け付ける場合、または、表示部305に表示する画像を装置制御部253より生成されたMFP画面の画像に切り換える操作を受け付ける場合、MFP100から受信されたエラー通知画面の画像を操作パネル300に送信し、表示部305に表示させる。
図13は、第1の変形例におけるサーバー制御処理の流れの一例を示すフローチャートである。図13を参照して、図6に示したサーバー制御処理と異なる点は、ステップS10に代えてステップS10AおよびステップS10Bが実行される点、ステップS14に代えてステップS14AおよびステップS14Bが実行される点である。その他の処理は図6に示した処理と同じなのでここでは説明を繰り返さない。
ステップS10Aにおいては、第5USB通信部211を制御して、MFP100のVRAM116に記憶された画像を取得する。具体的には、第5USB通信部211を制御してMFP100の第2CPU111のオペレーティングシステムのカーネルと通信し、VRAM116に記憶された画像の送信を依頼し、VRAM116に記憶された画像を取得する。VRAM116に記憶された画像は、エラー通知画面の画像である。ステップS10Bにおいては、エラー通知画面の画像を表示する。具体的には、第1USB通信部209を制御して、ステップS10Aにおいて取得された画像を操作パネル300に送信し、操作パネル300にVRAM303に記憶させる。操作パネル300は、VRAM303に記憶された画像を表示部305に表示するので、表示部305にエラー通知画面の画像が表示される。
ステップS14AおよびステップS14Bの処理は、ステップS10AおよびステップS10Bの処理とそれぞれ同じである。したがって、ここでは説明を繰り返さない。
図14は、第1の変形例における表示制御処理の流れの一例を示すフローチャートである。図14を参照して、図9に示した表示制御処理と異なる点は、ステップS53からステップS55が削除された点である。ステップS51においては、第3USB通信部309がサーバー200から画像を受信するまで待機状態となり(ステップS51でNO)、サーバー200から画像を受信すると、処理をステップS52に進める。ステップS52においては、サーバー200から受信された画像をVRAM303に記憶し、処理をステップS56に進める。ステップS56においては、VRAM303に記憶された画像を表示部305に表示し、処理をステップS51に戻す。
このため、サーバー200からサーバー画面の画像が受信される場合は、サーバー画面の画像が表示部305に表示され、サーバー200からMFP画面の画像が受信される場合は、MFP画面の画像が表示部305に表示され、サーバー200からエラー通知画面の画像が受信される場合は、エラー通知画面の画像が表示部305に表示される。
<第2の変形例>
第1の変形例においては、サーバー200と操作パネル300とをUSBケーブル5で接続するようにしたが、サーバー200の第1CPU201と、表示部305および操作部307とを直接制御するようにしてもよい。例えば、表示部305および操作部307を、バス221に接続する。この場合には、第1の変形例における操作パネル300において、第3CPU301、VRAM303、第3USB通信部309は不要である。
以上説明したように、本実施の形態における複合装置1は、サーバー200と、MFP100と、操作パネル300とを備えており、MFP100は、ハードウェア資源の状態を示す状態画面をVRAM116に記憶し、サーバー200は、MFP100で発生した不具合を示すエラー情報がMFP100からLANケーブル3を介して取得される場合にエラー情報に基づいて通知画面を操作パネル300の表示部305に表示させ、MFP100で発生した不具合を示すエラー情報をMFP100からLANケーブル3を介して正常に取得不可能なことが検出されると、VRAM116に記憶された状態画面を操作パネル300の表示部305に表示させる。このため、サーバー200がMFP100とLANケーブル3を介して通信できなくなる場合に、エラー情報がMFP100から取得されなくなるので通知画面を表示することができないが、VRAM116に記憶された状態画面を操作パネル300の表示部305に表示させるので、状態画面を、通知画面が表示される表示部305と同じ表示部305に表示することができる。このため、MFP100に通信不可能になる不具合が発生する場合であってもその不具合の発生後直ちにユーザーに不具合を状態画面で通知することができる。
また、操作パネル300は、USBケーブル5を介してサーバー300から受信される通知画面を表示部305に表示し、USBケーブル5を介してサーバー300から受信される指令に基づいて、USBケーブル7を介してVRAM116に記憶された状態画面を取得し、表示部305に状態画面を表示する。このため、MFP100とサーバー200とがLANケーブル3を介して通信できない場合でもMFP100で生成された状態画面を表示部305に表示することができる。
また、第1の変形例および第2の変形例においては、MFP100とサーバー200とは、LANケーブル3と、USBケーブル9とで接続されるので、サーバー200は、MFP100とLANケーブル3ケーブルを介して通信できない場合でも、USBケーブル9を介してMFP100と通信して、VRAM116に記憶された状態画面を取得し、表示部305に状態画面を表示する。このため、MFP100とサーバー200とがLANケーブル3を介して通信できない場合でもMFP100で生成された状態画面を表示部305に表示することができる。
また、サーバー200は、所定時間間隔でMFP100に応答を要求し、MFP100が要求に応答しない場合に、エラー情報を正常に取得不可能と判断するので、MFP100が通信できなくなる状態を検出することができる。
また、サーバー200は、MFP100が要求に応答しない場合であっても、MFP100がジョブを実行中の場合は、エラー情報を正常に取得不可能と判断しないので、MFP100の負荷が大きな場合に誤ってエラーを検出する確率を低減することができる。
また、サーバー200は、MFP100が要求に応答しない場合であっても、MFP100の主電源がOFFの場合は、エラー情報を正常に取得不可能と判断しないので、誤検出を防止することができる。
また、サーバー200は、MFP100からエラー情報を正常に取得不可能であることを検出する場合であっても、サーバー200が所定の処理を実行している場合は、状態画面を表示させることなく保留するので、ユーザーはサーバー200に所定の処理を実行させるための操作を継続することができ、操作性が低下しないようにすることができる。
また、サーバー200は、状態画面の表示が保留された状態で、MFP100を制御するためのMFP画面の表示に切り換える操作、またはログアウトする操作がユーザーにより入力される場合、VRAM116に記憶された状態画面を表示部305に表示させる。このため、適切なタイミングでMFP100に発生した不具合をユーザーに通知することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1) 前記操作パネルは、ユーザーにより入力される操作を受け付ける操作受付手段を、さらに備え、
前記画面表示手段は、前記通知画面を含み、前記画像処理装置を操作するための第1操作画面、または前記サーバーを操作するための第2操作画面を前記表示手段に表示させ、
前記サーバーは、前記表示手段に前記第1操作画面が表示された状態で前記操作受付手段により受け付けられた操作に従って、前記メイン通信回線を介して前記画像処理装置を制御する装置制御手段を、さらに備えた、請求項1に記載の複合装置。
(2) 前記サーバーは、前記表示手段に前記第2操作画面が表示された状態で前記操作受付手段により受け付けられた操作に従って、アプリケーションプログラムにより定められた処理を実行するアプリ制御手段を、さらに備えた(1)に記載の複合装置。
(3) 前記検出手段は、所定時間間隔で前記画像処理装置で実行される所定のアプリケーションと通信するアプリ通信手段を、さらに備え、前記アプリ通信手段が前記所定のアプリケーションと通信できなくなると、前記エラー情報を正常に取得不可能と判断する、請求項4に記載の複合装置。この局面に従えば、アプリケーションレベルのエラーを検出することができる。