以下添付図面を参照して本発明の好適な実施例について、さらに具体的かつ詳細に説明する。なお、既に説明した部分には同一符号を付し重複説明を省略する。また、ただし、この実施例に記載されている構成要素の相対配置、表示画面等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
なお、この明細書において、「記録」(「プリント」という場合もある)とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わない。また人間が視覚で知覚し得るように顕在化したものであるか否かを問わず、広く記録媒体上に画像、模様、パターン等を形成する、または媒体の加工を行う場合も表すものとする。
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。
さらに、「インク」(「液体」と言う場合もある)とは、上記「記録(プリント)」の定義と同様広く解釈されるべきものである。従って、記録媒体上に付与されることによって、画像、模様、パターン等の形成または記録媒体の加工、或いはインクの処理(例えば記録媒体に付与されるインク中の色剤の凝固または不溶化)に供され得る液体を表すものとする。
またさらに、「ノズル(記録素子)」とは、特にことわらない限り吐出口ないしこれに連通する液路およびインク吐出に利用されるエネルギーを発生する素子を総括して言うものとする。
以下に説明する実施例では、画像形成装置にリカバブルエラーが発生した場合、ユーザに早期にエラー解除を促すため、装置状態および装置のエラー状態の変更者を通知するための制御を行う例について説明する。具体的には、Bluetooth(登録商標)Low Energy(BLE)の近距離無線通信機能を備えた無線通信装置を用いて、複数のユーザにエラー発生を周期的に通知し、通知を受信した複数のユーザの中からエラー状態の解除者を決定し通知する。なお、近距離無線通信機能には、BLEの他にもNFC、WLANなどがある。
以下に説明する実施例では、例えば、インクジェット方式を用いた記録ヘッドからインクを記録媒体に吐出して画像を形成する印刷機能を備えた画像形成装置を例として説明する。しかしながら、本発明はさらに、スキャナ機能、複写機能、ファクシミリ機能などを実現する多機能プリンタ(MFP)などにも適用できる。さらに、印刷機能を実現するためのプリンタエンジンにはインクジェット方式のみならず、電子写真方式などの種々の記録方式を採用することができる。そして、そのプリンタエンジンにはモノクロプリントのみならずカラープリントを行うことができる構成を用いることができる。
図1は本発明の代表的な実施例である画像形成装置とその周辺環境を示す図である。
画像形成装置100は、電源供給を制御する電源制御機能と、インクジェット方式に従うプリンタエンジンを用いた印刷機能を有している。加えて、画像形成装置100は、無線通信装置200を有しており、無線通信装置200を介して、外部端末装置300との情報の送受信を行うことが可能である。無線通信装置200はビーコン信号を送信することができ、外部端末装置300との間でBLEを用いた近距離無線通信を行う。
従って、外部端末装置300はBLEを用いた無線通信機能を備えている。加えて、外部端末装置300は、ディスプレイやタッチパネルなどの表示部、ボタンなどの入力部などを有していてもよい。外部端末装置300の具体例としては、スマートフォンやタブレットなどのユーザが携帯可能な装置がある。この実施例では、外部端末装置300はスマートフォンを想定し、ビーコン信号を送信する無線通信装置200とのBLEを用いた近距離無線通信が可能である。
従って、無線通信装置200と外部端末装置300とはBLEによる近距離無線通信により相互に情報の送受信が可能であり、画像形成装置100は外部端末装置300からの送信信号を受信し解析することで、送信信号に基づいた装置全体の制御が可能である。一方、外部端末装置300は画像形成装置100からの送信信号を受信し解析することで、送信信号に基づいた情報をユーザに通知することが可能である。
図2は画像形成装置100と外部端末装置300の制御構成の概略を示すブロック図である。
画像形成装置100は、図2に示されているように、装置の主要な制御を行うメインボード101とWLAN通信を行うWLANユニット120と近距離無線通信を行う無線通信装置200とAC電源に接続されるAC電源接続ユニット118とを含む。
メインボード101には、画像形成装置100の全体を制御するCPU102と、CPU102が実行する制御プログラムや組み込みオペレーティングシステム(OS)等を格納するROM103とが備えられる。この実施例では、ROM103に格納されている各制御プログラムのスケジューリングやタスクスイッチ等は、CPU102がROM103に格納されている組み込みOSを動作させ、その管理下で制御される。
SRAM等で構成されるRAM104は、プログラム制御変数等を格納し、またユーザが登録した設定値や近距離無線通信の信号に含めるユーザIDやエラーIDなどを示すテーブルなどの画像形成装置100の管理データ等を格納する。さらに、RAM104には各種ワーク用バッファ領域が設けられている。フラッシュメモリ(Flash Memory)等で構成される不揮発性メモリ105は、電源がオフされた時でも保持していたいデータを格納する。具体的には、ネットワーク接続情報、ユーザデータなどである。DRAM等で構成される画像メモリ106は、各通信ユニットを介して受信した画像データや、後述する符号復号化処理部107で処理した画像データなどを蓄積する。なお、本発明は上記のようなメモリ構成に限定されるものではなく、他のタイプのメモリが用いられても良い。
符号復号化処理部107は、画像形成装置100で扱う画像データ(JPEG、PNG等)の符号復号化処理や拡大縮小処理を行う。データ変換部108は、ページ記述言語(PDL)等の解析や画像データからプリントデータへの変換などを行う。また、操作部109と表示部110とにより操作パネルを構成し、操作部109ではボタン操作などのユーザの操作を受け付け、タッチパネルなどを備えた表示部110ではユーザに対して情報を表示する。
給紙部111は印刷に用いる記録用紙などの記録媒体を保持するカセット等を含み、そのカセットから記録媒体を給紙する。その給紙は、印刷制御部112により制御される。なお、給紙部111は複数種類の記録媒体を1つの装置内に保持するために、複数のカセットを備えることができる。その場合、印刷制御部112は、これら複数のカセットのいずれから給紙を行うかを制御する。
印刷制御部112は、印刷に用いられる画像データに対し、画像処理制御部113を介して、スムージング処理や記録濃度補正処理、色補正等の各種画像処理を施し、高精細な画像データに変換し、印刷部(プリンタエンジン)114に出力する。また、印刷制御部112は給紙部111や印刷部114の情報を定期的に読みだしてRAM104の情報を更新する。具体的には、インクタンクのインク残量や記録ヘッドの状態など表わす情報を更新や、紙ジャムやインク切れなどのエラーの有無の判断を行う。
印刷部114は、給紙部111から給紙された記録用紙などの記録媒体上にインクを吐出して画像データに基づいた画像を形成する。具体的には、複数のモータで駆動される記録ヘッド、その記録ヘッドに供給されるインクを収容するインクタンク、そのインクタンクからインクを吐出するために制御されるヒータなどで構成されている。
電源制御部117は、電源の接続状態を検知し、画像形成装置100の駆動に必要な電力を制御する。電源の接続状態とはAC電源接続ユニット118がAC電源と接続していること、もしくは接続されていないことを表す状態である。
無線通信制御部119は無線通信装置200を介して外部端末装置300との通信を制御する。具体的には、無線通信制御部119は、画像形成装置100の装置状態を示す情報をBLEに従う近距離無線通信の通信規格のパケットに組み込み、これを信号として無線通信装置200を介して送信する。送信信号を受信した外部端末装置300は、その受信信号を解析することで、画像形成装置100に関する情報を取得する。
加えて、無線通信制御部119は、外部端末装置300からの送信情報を無線通信装置200を介して受信し、その受信信号を解析して、その信号に含まれている情報を取得する。具体的には、無線通信制御部119は、外部端末装置300のデバイス情報、外部端末装置300を所持するユーザのユーザ情報、無線通信装置200と外部端末装置300との距離情報などを取得する。
このように、無線通信装置200と外部端末装置300は相互にデータ通信を実行して外部端末装置300のユーザは画像形成装置100の装置状態を直接確認することなく、例えば、外部端末装置300の画面に表示される情報により認識することができる。一方、画像形成装置100のCPU102は、ユーザの情報やユーザ(外部端末装置)との距離情報を取得することができ、その取得した情報を利用して装置全体の制御を行う。加えて、この実施例では無線通信装置200からビーコン信号が送信されるので、複数のユーザを対象に同時に前記データ通信を行うこともできる。
WLANユニット120は専用のバスケーブル121で接続されている。WLANユニット120はWLANの規格に準拠した通信を実現するためのユニットである。なお、上記構成要素102〜120は、CPU102が管理するシステムバス122を介して、相互に接続されている。
さて、外部端末装置300は、図2に示されているように、少なくとも無線通信制御部301と表示部302を有している。無線通信制御部301は無線通信装置200との通信を制御する。具体的には、無線通信装置200からの送信信号を受信して解析し、その信号に含まれている情報を取得する。加えて、無線通信制御部301は、外部端末装置300を所持するユーザのユーザ情報などを、BLEによる近距離無線通信の通信規格のパケットに組み込み、そのパケット信号を無線通信装置200に送信する。表示部302はタッチパネルディスプレイが含まれており、ユーザに対して、画像形成装置100の状態などの情報を提示する。
図3は無線通信装置と複数の外部端末装置との位置関係、およびBLEによる通信形態の一例を表した図である。
図3に示されているように、この例は、無線通信装置200を中心として、3台の外部端末装置310〜330を所持したユーザが周囲に存在している環境を示している。この実施例では、BLEの通信規格に準拠したビーコン信号が無線通信装置200から送信される。無線通信装置200と外部端末装置310〜330とは、BLEの通信規格に従って次のような手順で情報の送受信を行う。
BLEはマスターデバイスとスレーブデバイスの間で同期を確立し、通信を行うための通信規格である。スレーブデバイスはマスターデバイスにアドバタイズ信号を送信し、接続要求信号の受信待ち状態となる。一方、マスターデバイスはアドバタイズ信号を受信して、アドバタイズ信号を送信しているスレーブデバイスを検出し、検出したスレーブデバイスに接続要求信号を送信する。スレーブデバイスは接続要求信号を受信し、2つのデバイス間の同期が確立される。加えて、マスターデバイスとスレーブデバイスとの間で送受信される通信信号には、任意に情報を含めることができる。例えば、スレーブデバイスはスレーブデバイスの装置状態を示す情報をアドバタイズ信号に含めて送信し、アドバタイズ信号を受信したマスターデバイスはその受信信号を解析することで、スレーブデバイスの装置状態を知ることができる。図3に示す例では、スレーブデバイスは無線通信装置200となり、マスターデバイスは外部端末装置310〜330となる。
以上のような構成で、無線通信制御部119は画像形成装置100のエラー状態などの装置情報をアドバタイズ信号に含め、無線通信装置200を介してその信号を送信する。外部端末装置300は無線通信制御部301によりアドバタイズ信号を受信し解析処理を行うことで、画像形成装置100のエラー状態を取得する。その後、エラー内容を外部端末装置300が有する表示部302に表示してユーザにエラー通知を行う。加えて、無線通信制御部301は接続要求信号を無線通信装置200に送信することで同期通信が可能となる。このとき、無線通信制御部301は、その接続要求信号に外部端末装置を所持するユーザIDなどの情報を含めることができる。
図3において、アドバタイズ信号が通知される範囲を通知範囲として定義する。図3に示されているように、外部端末装置310、320はその通知範囲の中に存在しているため、アドバタイズ信号を受信することが可能である。一方、外部端末装置330は、その通知範囲の外に存在しているため、アドバタイズ信号を受信することができない。そのため、外部端末装置330は無線通信装置200と通信を確立することはできない。
さて、BLEにより同期通信が確立することで、無線通信装置200は、無線通信装置200と外部端末装置310、320との距離情報を取得することができる。図3に示す例では、通知範囲を段階的に至近距離、近距離、遠距離、範囲外に分割して示している。
次に、分割した範囲の具体例について説明する。
図4は無線通信装置と外部端末装置との間で送信される位置情報の一例を表した図である。図4において、通知範囲の段階項目は、図3で示した通知範囲を段階的に分割した範囲の名称に対応している。距離IDの項目は、各分割範囲に割り当てられたIDを示している。距離項目は分割範囲の実距離を示している。
この実施例では、実距離(x)が0≦x<1(m)の範囲を至近距離と定義し、この距離が外部端末装置を所持するユーザが画像形成装置100を直接操作可能な範囲を示している。同様に、実距離(x)が1≦x<5(m)の範囲を近距離と定義し、この距離が外部端末装置を所持するユーザが画像形成装置100を直接操作可能な距離に存在していないが、比較的短時間で画像形成装置100に到達することが可能な範囲を示している。実距離(x)が5≦x<10(m)の範囲を遠距離と定義し、この距離が画像形成装置100を直接操作可能な距離にユーザが存在しておらず、比較的長時間の移動により画像形成装置100に到達する範囲と判断する。最後に、x≧10(m)の範囲と範囲外と定義し、この距離はアドバタイズ信号を受信できない範囲であることを示している。
例えば、外部端末装置は、無線通信装置200から出力されるアドバタイズ信号を受信する。そのアドバタイズ信号に格納されている送信電力値と信号の強度から伝搬損失を求め、外部端末装置310と無線通信装置200との距離を推定する。外部端末装置310が、上記推定処理により外部端末装置310と無線通信装置200との距離(X1)の実距離(x)が0.8mと推定すると、外部端末装置310は無線通信装置200の至近距離に位置していると判定できる。そこで、外部端末装置310は至近距離を示す距離ID(距離ID=001)を送信信号に含めることで、画像形成装置100と外部端末装置300は互いの位置関係を取得することができる。また、外部端末装置320が上記推定処理により外部端末装置320と無線通信装置200との距離(x2)の実距離(x)が9mと推定すると、外部端末装置320は無線通信装置200の遠距離に位置していると判定できる。その場合は、外部端末装置320は遠距離を示す距離ID(距離ID=003)を送信信号に含めることとなる。外部端末装置330は、通知範囲の外側である範囲外に位置しているため、アドバタイズ信号を受信できない。そのため、実際には、外部端末装置330と無線通信装置200との距離(x3)は取得することができない。言い換えれば、検知不可能な外部端末装置は必然的に範囲外に位置しているとなる。
加えて、無線通信装置200は前記距離情報(距離ID)を複数回取得することで、外部端末装置のユーザの移動方向を推定することが可能となる。例えば、1回目に取得した距離情報が至近距離(距離ID=001)であり、2回目に取得した距離情報が近距離(距離ID=002)である場合、無線通信装置200は、外部端末装置との距離が至近距離から近距離に変化していると判定できる。つまり、無線通信装置200は、外部端末装置を所持するユーザは無線通信装置から離れる方向に移動していると判定できる。反対も同様であり、1回目に取得した距離情報が遠距離(距離ID=003)であり、2回目に取得した距離情報が近距離(距離ID=002)である場合、無線通信装置200は、外部端末装置との距離が遠距離から近距離に変化していると判定できる。つまり、無線通信装置200は外部端末装置を所持するユーザが無線通信装置に近づく方向に移動していると判定することができる。
なお、図3〜図4に示した各装置の配置および距離の定義により本発明が限定されるものではなく、これらの装置の配置や距離は装置構成や通信プロトコルの違いに応じて、適宜変更してもよい。
次に以上の構成の画像形成装置が実行する外部端末装置に対するエラー通知の実施例について説明する。
なお、図3では3つの外部端末装置310〜330を例示したが、本発明はこれによって限定されるものではなく、以下の説明で一般的に外部端末装置に言及する場合には、外部端末装置300として言及する。また、その内部構成は全て共通なので、外部端末装置の内部構成について言及する場合には図2に示した参照番号を用いて言及する。
図5は無線通信装置200を用いたエラー通知による早期エラー解除を促す処理を示すフローチャートである。この処理は、画像形成装置100はリカバブルエラーによりユーザからの画像形成装置100に対して要求した印刷ジョブ(JOB)の実行ができない状態であるが無線通信装置200を用いた通信が可能であることを前提とする。
また、この処理は画像形成装置100がJOBの実行時にリカバブルエラーが発生し、そのリカバブルエラーをCPU102が検知することで起動実行される。JOB実行時に発生するリカバブルエラー(以下、JOBエラー)には給紙部111に用紙が詰まって発生する紙ジャムエラー、給紙部111に用紙がなくなって発生する紙無しエラー、インクタンクのインク残量が低下して発生するインク無しエラー等がある。JOBエラーが発生した画像形成装置100はエラー状態となるが、ユーザがエラー解除作業を実施することでエラー状態を解除することができる。エラー状態が解除された画像形成装置100は引き続きJOBを実行することができる。以下、紙無しエラーが発生したことを想定して、図5に示す処理について説明する。なお、本願の画像形成装置100において実行されるフローチャートの各ステップは、CPU102がフローチャートに関係するプログラムをメモリから読み出して実行することで実現される。
ステップS501で、CPU102は、無線通信装置200を介して図3に示した通知範囲の範囲内に存在する外部端末装置に対してJOBエラーの発生を周期的に通知する。つまり、CPU102は、検出されたエラーの発生を示す情報を画像形成装置100から所定の距離内(図3の遠距離内)に存在する端末装置が受信できるように、エラーの発生を示す情報の通知処理を複数回実行する。なお、ステップS501の処理は、複数回の通知処理が実行されれば良く周期的である必要はない。
例えば、CPU102は検知したJOBエラーの種別を判定し、発生したJOBエラーが紙無しエラーであることを特定する。無線通信制御部119はCPU102による判定の結果に基づいて、画像形成装置100のエラー状態に関わる情報をアドバタイズ信号に含め、無線通信装置200を介して周辺の外部端末装置に送信する。この実施例では、無線通信制御部119は紙無しエラーが発生したという情報を含むアドバタイズ信号の通知処理を複数回実行する。
図6は無線通信装置200と外部端末装置300との間で送信される情報の一例をテーブル形式で示した図である。
図6において、「エラー名」項目はJOBエラーの一例を示し、「エラーID」項目はJOBエラーに割り当てられているIDを示し、「関連情報」項目はJOBエラーと合わせて送信する情報であり、エラー解除作業を行う上で必要な情報を示している。さらに、「具体例」項目は、この実施例における関連情報項目の内容を示す。このテーブルは、予めRAM104もしくは不揮発性メモリ105に保存されているテーブルの一種である。
この実施例において、トレイ1において普通紙の紙無しエラーが発生した場合、画像形成装置100のCPU102は図6を参照する。そして、CPU102は、エラーID(201)、トレイ位置(トレイ1)、用紙種類(普通紙)、用紙サイズ(A4)を含めたアドバタイズ信号を生成する。紙無しエラー以外のJOBエラーが発生した場合も同様に、エラーIDおよび発生したエラーに関する情報をアドバタイズ信号に含めて通知する。なお、本発明はこの実施例で説明するアドバタイズ信号に含む情報の種類や個数、具体的な信号の詳細について、特に、限定されるものではない。
図7はアドバタイズ信号を受信した外部端末装置の表示部の表示画面の例を示す図である。図7において、(a)は図3の外部端末装置310の表示部の表示画面を示し、(b)は図3の外部端末装置320の表示部の表示画面を示している。
外部端末装置310に含まれる無線通信制御部は、アドバタイズ信号を受信して解析しその信号に含まれているエラー情報を取得する。そして、表示部の表示画面312は図7(a)に示されているように、取得したエラー情報を表示しユーザにエラー発生を通知する。また、アドバタイズ信号は図3に示された通知範囲に存在する全ての外部端末装置に送信されるため、同様の内容が、図7(b)に示されているように、外部端末装置320の表示部の表示画面322にも表示される。
ステップS502で、CPU102は、図3に示された通知範囲内に存在する外部端末装置300の中から、エラー解除を行うユーザを決定する。この処理の目的は、接続要求信号を送信した外部端末装置を所持するユーザがエラー解除の処理を実際に行うかどうかを判定することにある。
ステップS502で、CPU102は、外部端末装置300から送信される接続要求信号の受信待ち処理を実行する。ここでは、CPU102は、ステップS501における通知に対して最も早く接続要求信号を送信した外部端末装置300を所持するユーザをエラー解除のユーザと決定する。また、外部端末装置300はアドバタイズ信号を受信すると速やかに接続要求信号を送信することとする。そのため、この実施例では、画像形成装置100と外部端末装置300の位置関係が図3に示したようなものである場合、外部端末装置310は画像形成装置100の最も近距離にあるため、最も早く接続要求信号を送信することとなる。
図8は接続要求信号に含まれる情報の具体的な内容をテーブル形式で示す図である。
図8において、「ユーザ名」項目は外部端末装置を所持するユーザの名称を示し、「ユーザID」項目はそのユーザに割り当てられているIDを示し、「外部端末装置ID」はそのユーザの所持する外部端末装置に割り当てられているIDを示している。このテーブルは、予めRAM104もしくは不揮発性メモリ105に保存されているテーブルの一種である。
この実施例において、外部端末装置310が接続要求信号を最も早く送信するため、その接続要求信号に含まれている外部端末装置IDは“301”となる。図8に示すようなテーブルを参照することで、無線通信制御部119はエラー解除ユーザは「外部端末装置ID=301」に関連付けられる「ユーザID=101」と決定することができる。
なお、ステップS502の処理の別の例については、後述の実施例2〜4において、図11、図13、図14に示すフローチャートを参照して説明する。実施例2〜4では端的に言えば、ユーザがエラー解除の処理を実際に行うかの判定に利用する情報を別途取得し、判定精度を向上させている。その判定に必要な情報は無線通信装置200と外部端末装置300の間で通信することで取得する。
図5に戻って説明を続ける。ステップS503で、CPU102は、無線通信装置200を介して、図3に示した通知範囲内に存在する外部端末装置300に、JOBエラーを解除するユーザを決定したこと、およびエラー解除ユーザの情報を含むアドバタイズ信号を通知する。この実施例では、無線通信制御部119は、ステップS502で決定したエラー解除ユーザの「ユーザID=101」を含むアドバタイズ信号を、無線通信装置200を介して、外部端末装置300に通知する。加えて、エラー解除の作業が開始されたこと、エラー解除の作業の進捗をその通知信号に含めて、複数回に分けて通知してもよい。
図9はエラー解除ユーザの情報通知を受信した外部端末装置の表示部の表示画面の例を示す図である。図9において、(a)は図3の外部端末装置310の表示部の表示画面312を示し、(b)は図3の外部端末装置320の表示部の表示画面322を示す。
外部端末装置310の無線通信制御部はエラー解除ユーザの情報の通知を受信し解析することで、エラー解除ユーザが決定されたこと、エラー解除ユーザの「ユーザID=101」を取得することができる。加えて、外部端末装置310の無線通信制御部は、取得したユーザIDと、そのユーザが所持する外部端末装置のユーザIDが一致するかどうかを判定する。そして、一致した場合、表示部の表示画面312における通知内容は、自分自身がエラー解除ユーザであることを示す内容となる。一方、取得したユーザIDが、そのユーザが所持する外部端末装置のユーザIDと一致しない場合、外部端末装置320の表示部の表示画面322に表示される通知内容は、別のユーザが画像形成装置100のエラーを解除していることを示す内容となる。なお、その通知内容は上記内容に限定されることはなく、ユーザIDではなくユーザ名もしくはユーザを特定する別の指標を提示してもよい。
エラー解除ユーザの通知後、処理はステップS504において、CPU102は、一定時間が経過したかどうかを調べる。ここで、JOBエラーが解除されないまま一定時間が経過した場合、エラー解除ユーザによるJOBエラーの解除が行われないと判定し、処理はステップS501に戻り、再度エラー発生通知を行う。これに対して、一定時間が経過していない場合、処理はステップS505に進み、CPU102は、発生していたJOBエラーが解除されたかどうかを調べる。
CPU102はJOBエラーが発生している画像形成装置100の構成要素を一定間隔でポーリングして監視し、そのポーリングの結果からエラーが解除されたかどうかを判定してもよい。もしくは、JOBエラーが発生している画像形成装置100の構成要素からの割込みやイベント通知を待ち合わせながら監視し、その割込みの発生やイベント通知の検出により判定してもよい。または、各制御部により変更されたRAM104の情報を参照してもよい。この実施例では、紙無しエラーの場合、印刷制御部112は給紙部111に用紙がセットされたことを検知し、その検知結果でRAM104を更新することにより、CPU102は紙無しエラーが解除されたことを判定することができる。
ここで、発生していたJOBエラーが解除されたと判定された場合、処理はステップS506に進み、発生していたエラーが解除されていないと判定された場合、処理はステップS504に戻り、一定時間、エラー解除されたかどうかの判定を繰り返す。
ステップS506で、CPU102は、無線通信装置200を用いて、図3に示された通知範囲内に存在する外部端末装置300に対してJOBエラーが解除されたことを通知する。無線通信制御部119は、アドバタイズ信号にJOBエラーが解除されたことと解除されたJOBエラーの情報を含め、無線通信装置200を介して、情報を通知する。この時、利用する情報は図6に示したJOBエラーのエラーIDや、図8に示したユーザIDなどである。
図10はエラー解除の情報通知を受信した外部端末装置の表示部の表示画面の例を示す図である。図10において、(a)は図3の外部端末装置310の表示部の表示画面312を示し、(b)は図3の外部端末装置320の表示部の表示画面322を示している。
図10(a)に示されるように、外部端末装置310の無線通信制御部はエラー解除の情報通知を受信し解析することでエラーが解除されたことと、解除されたJOBエラーのエラーID(=201)、エラー解除ユーザのユーザID(=101)を取得できる。さらに、外部端末装置310の表示部の表示画面312は取得した情報を表示し、ユーザにJOBエラーが解除されたことを通知する。また、エラー解除の情報通知は図3に示した通知範囲に存在する全ての外部端末装置300に送信されるため、図10(b)に示されるように、外部端末装置320の表示部の表示画面322にも同様の内容が提示される。なお、通知内容については上記内容に限定されることはなく、発生していたJOBエラーの詳細な内容などを提示してもよい。
発生していたエラーが解除されたことで、JOBを実行することが可能となるため、最後にステップS507では、JOBを再度実行する。このとき、実行するJOBを優先度に応じて決定するとより好ましいが、これについては後述の実施例5で説明する。
従って以上説明した実施例に従えば、複数ユーザに対し、エラー発生、エラー解除ユーザ、エラー解除の情報を適宜通知することができる。その結果、画像形成装置100のエラー状態の早期解除を促すことが可能となる。
ここでは、図5のステップS502で実行されるエラー解除者を決定する処理に関する別の実施例を説明する。この実施例では、図5のステップS502の詳細な処理は実施例1と異なるが、全体的な処理は図5に示したフローチャートに従うものとするので、全体的な処理についての説明は省略する。
図11はエラー解除ユーザを決定する処理の詳細を示すフローチャートである。
ステップS1101で、CPU102は、ステップS501で説明した外部端末装置300へのアドバタイズ信号の送信に対して、図3に示した通知範囲の中にある外部端末装置300がアドバタイズ信号を受信したかどうかを調べる。この処理は次のようにして実行される。
無線通信制御部119は、無線通信装置200を介したアドバタイズ信号の送信後、無線通信装置200を外部端末装置300からの接続要求信号を待つ。一方、アドバタイズ信号を受信した外部端末装置300はそのアドバタイズ信号に含まれているJOBエラーの情報をユーザに通知する。
図12はアドバタイズ信号を受信した外部端末装置の表示部の表示画面の例を示す図である。図12において、(a)は図3の外部端末装置310の表示部の表示画面312を示し、(b)は図3の外部端末装置320の表示部の表示画面322を示している。外部端末装置310に含まれる無線通信制御部は、アドバタイズ信号を受信して解析し、その信号に含まれているエラー情報を取得する。さらに、表示部の表示画面312には図12(a)に示されるように、取得したエラー情報を表示し、ユーザにエラーが発生していることを通知する。加えて、ユーザに対して、JOBエラーの解除作業を請け負って実行するかどうかを問い合わせることで、ユーザの意思を確認する。ユーザはその問い合わせ内容に対して、表示部302を操作することで応答する。また、アドバタイズ信号は図3に示した通知範囲に存在する全ての外部端末装置300に送信されるため、図12(b)に示されるように、同様の内容が外部端末装置320の表示部の表示画面322にも表示される。
外部端末装置300は決定されたユーザの意思とユーザIDなどの情報を含めた接続要求信号を無線通信装置200に対して送信する。接続要求信号を待っている状態にある無線通信装置200は送信されてきた接続要求信号を受信し、無線通信制御部119は送信したアドバタイズ信号が外部端末装置300のいずれかで受信されたかどうかを判別することができる。
ここで、無線通信制御部119が接続要求信号を受信できない場合は、図3に示す通知範囲に外部端末装置300が1台も存在しないと判断し、処理は図5のステップS501に戻り、再度エラー発生の通知処理を実行する。これに対して、無線通信制御部119が接続要求信号を受信した場合は、少なくとも1台の外部端末装置300がアドバタイズ情報を受信したと判断し、処理はステップS1102に進む。
ステップS1102で、CPU102は、接続要求信号を解析する。その接続要求信号には必要に応じて外部端末装置300の端末情報や外部端末装置300を所持するユーザの情報が含まれていてもよい。この実施例では、図8で示した外部端末装置300を所持するユーザID、ユーザのJOBエラーを解除する意思を示すフラグ情報(以下、ユーザ意思フラグ情報)などが接続要求信号に含まれているとする。無線通信制御部119は取得した接続要求信号を解析し、ユーザ意思フラグ情報を取得し、これをRAM104に一時的に保存する。保存した内容はステップS1103のエラー解除の意思を確認したタイミングで削除される。
ステップS1103で、CPU102は、RAM104に保存されているユーザ意思フラグ情報を参照し、その値に基づいてユーザにJOBエラーを解除する意思があるかどうかを判定する。ここで、接続要求信号を送信したユーザがJOBエラーの解除を実行する意思がない(ユーザ意思フラグ情報(UWF)=false)と判定された場合、そのユーザはエラー解除者とは成りえないため、処理は図5のステップS501に戻る。そして、再度エラー発生の通知処理を実行する。これに対して、接続要求信号を送信したユーザがJOBエラーの解除を実行する意思がある(ユーザ意思フラグ情報(UWF)=true)と判定された場合、処理はステップS1104に進む。
ステップS1104で、CPU102は、その接続要求信号を発信したユーザをJOBエラー解除者に決定する。そして、ステップS1102で解析した情報に基づいて、ユーザIDを取得し実際にエラーが解除されるまで、そのユーザIDはRAM104に一時的に保存する。そのユーザIDは図5のステップS503において利用される。
以上説明した処理を実行することで、JOBエラーを解除する意思を持つユーザを特定し、その結果を画像形成装置100の周辺にある外部端末装置300に送信する。その結果、JOBエラーが解除されているかどうかを複数のユーザが認識することができ、早期にJOBエラーを解除することが可能となる。
従って以上説明した実施例に従えば、画像形成装置からの通知範囲にある外部端末装置の所持するユーザの意思を確認した上でJOBエラー解除者に決定するので、より確実にエラーの解除を行うことが可能となる。
ここでは、図5のステップS502で実行されるエラー解除者を決定する処理に関するさらに別の実施例を説明する。この実施例では、図5のステップS502の詳細な処理は実施例1、2と異なるが、全体的な処理は図5に示したフローチャートに従うものとするので、全体的な処理についての説明は省略する。この実施例では、外部端末装置300と画像形成装置100との間の距離情報からユーザの移動方向を判定する処理が特徴となっている。
図13はエラー解除ユーザを決定する処理の詳細を示すフローチャートである。なお、図13において、既に図11を参照して説明したのと同じ処理ステップには同じステップ参照番号を付し、その説明は省略する。
ステップS1101〜S1102の後、ステップS1303で、CPU102は、接続要求信号を送信した外部端末装置300と画像形成装置100との距離情報1(D1)を取得する。この実施例における距離情報とは図4に示した距離IDと同義である。
具体的には、無線通信制御部119は無線通信装置200を介して、外部端末装置300に対して距離情報の取得依頼を通知する。外部端末装置300は距離情報取得依頼の受信に応じて、外部端末装置300と画像形成装置100との距離情報を判定し、その判定した距離情報を無線通信装置200に対して送信する。無線通信制御部119は、無線通信装置200を介して、外部端末装置300から送信された距離情報を受信して解析することで距離情報を取得する。
ステップS1304で、CPU102は、距離情報1(D1)を取得後、一定時間が経過したかどうかを調べる。この処理は、接続要求信号を送信した外部端末装置300を所持するユーザの移動方向を判定するために実行される。ここで、一定時間が経過した場合、ユーザがいずれかの方向に移動した可能性があると想定し処理はステップS1305に進む。これに対して、一定時間が経過していない場合、そのまま待ち合わせ処理を続行する。
ステップS1305で、CPU102は、再度、外部端末装置300と無線通信装置200の距離情報を取得する。この距離情報を距離情報2(D2)という。ステップS1305における具体的な処理はステップS1303と同様であるためその説明は省略する。
ステップS1306で、CPU102は、ステップS1303とステップS1305で取得した距離情報1(D1)と距離情報2(D2)とに基づいて、ユーザの移動方向を判定する。具体的には、距離情報1(D1)と距離情報2(D2)の値を比較する。
ここで、D1<D2であれば、ユーザとの距離が大きくなっていることを示すので、ユーザが画像形成装置100から離れていく方向に移動していると判定する。この場合、ユーザはエラー解除を実施することがないと判定し、処理は図5のステップS501に戻り、再度エラー発生の通知処理を実行する。これに対して、D1>D2であれば、ユーザとの距離が小さくなっていることを示すため、ユーザが画像形成装置100に近づく方向に移動していると判定する。この場合、ユーザはエラー解除を実施する意思があると判定し、処理はステップS1104に進む。また、D1=D2であれば、ユーザは静止しているか、ユーザが移動していたとしても画像形成装置100との距離関係が変化していないと判定し、処理はステップS1307に進む。
ステップS1307で、CPU102は、D1とD2とに基づいて、外部端末装置300が図3に示した通知範囲の至近距離に位置しているかどうかを調べる。ここで、D1とD2とが至近距離を示す距離ID(=001)となる場合、CPU102はユーザが画像形成装置100から至近距離で静止している(又は距離変化がない)と判断する。そのため、CPU102はエラー解除の意思があると判断し、ステップS1104に進む。これに対して、近距離(距離ID=002)又は遠距離(距離ID=003)で静止している(又は距離変化がない)場合、CPU102はユーザがエラー解除を実施する意思がないと判定する。そして、処理は図5のステップS501に戻り、再度エラー発生の通知処理を実行する。
ステップS1104では、実施例2で説明した処理を実行する。
従って以上説明した実施例に従えば、ユーザの移動方向を判定し、画像形成装置100からの至近距離にいるユーザをエラー解除ユーザとして決定するので、そのユーザが即座に対応することで早期にJOBエラーを解除することが可能となる。
ここでは、図5のステップS502で実行されるエラー解除者を決定する処理に関するさらに別の実施例を説明する。この実施例では、図5のステップS502の詳細な処理は実施例1〜3と異なるが、全体的な処理は図5に示したフローチャートに従うものとするので、全体的な処理についての説明は省略する。この実施例では、ユーザの操作がエラー解除に関わる操作であるかを判定する処理が特徴となっている。
図14はエラー解除ユーザを決定する処理の詳細を示すフローチャートである。
ステップS1401で、CPU102は、JOBエラーを解除するときにユーザが行うであろう最初の開始作業を取得する。
図15はステップS1401で取得される具体的な内容が記述されたテーブルの一例を示す図である。
図15において、「エラー名」項目はJOBエラーの一例を示し、「エラーID」項目はJOBエラーに割り当てられているIDを示し、「開始作業」項目は、この実施例における各JOBエラーのエラー解除作業の開始作業を示している。このテーブルは、予めRAM104もしくは不揮発性メモリ105に保存されるテーブルの一種である。この実施例では紙無しエラーが発生した場合、CPU102は、図15に示すテーブルを参照することで、紙無しエラーの開始作業が「トレイの引き出し」であると認識できる。
ステップS1402で、CPU102は、JOBエラー発生の通知後、一定時間が経過したかどうかを調べる。ここで、JOBエラー発生の通知後に、画像形成装置100に対するユーザ操作を検知することなく一定時間が経過した場合、CPU102はユーザよるJOBエラーの解除が行われないと判定する。そして、処理は図5のステップS501に戻り、再度エラー発生通知を実行する。これに対して、一定時間が経過していない場合は、処理はステップS1403に進み、CPU102は画像形成装置100に対するユーザ操作を検知したかどうかを調べる。具体的には、操作部109での操作や、給紙部111や印刷部114など含まれるセンサからの信号をCPU102が検知することにより、ユーザ操作を検知する。
ここで、ユーザ操作を検知した場合、処理はステップS1404に進み、ユーザ操作を検知できない場合、処理はステップS1402に戻り、ユーザ操作を検知の処理を続行する。
ステップS1404で、CPU102は、検知されたユーザ操作がエラー解除のための操作であるかどうかを調べる。ここで、ユーザがステップS1401で取得したエラー解除作業の開始作業を行っている場合、CPU102はユーザがエラー解除作業を行っていると判定し、処理はステップS1405に進む。これに対して、ユーザがエラー解除でない操作を行っている、即ち、ユーザがステップS1401で取得したエラー解除作業の開始作業を行っていない場合、CPU102はユーザがエラー解除作業を実施していないと判定する。そして、処理は図5のステップS501に戻り、再度エラー発生の通知処理を実行する。この実施例では、紙無しエラーが発生したことを想定しているので、ユーザ操作がトレイの引き出しであった場合、処理はステップS1405に進む。
ステップS1405で、CPU102は、ユーザによるエラー解除作業が開始されているため、画像形成装置100に最も近傍にいるユーザをエラー解除者として特定する。つまり、ステップS1404にてYesと判定された場合、無線通信制御部119は、無線通信装置200を介して、アドバタイズ信号を発信する。その後、そのアドバタイズ信号を受信した外部端末装置300からの接続要求信号を受信する。その接続要求信号には、図4で示した距離IDと図8で示したユーザIDが含まれているとする。そして、無線通信制御部119は、受信した接続要求信号を解析し、その接続要求信号に含まれる距離IDが“001”を示すユーザIDをエラー解除者として特定する。なお、複数のユーザが至近距離を示す距離IDを応答として送信した場合、無線通信制御部119は、エラー解除作業を行ったユーザのみ応答するようなメッセージを通知しても構わない。もちろん、ステップS1405でYesと判定された場合、最初からエラー解除作業を行ったユーザのみ応答するようなメッセージが通知されても構わない。その他の処理として、ステップS1404にてYesと判定された場合、無線通信制御部119は、至近距離に存在する端末装置のみが受信できるように通知範囲を通常時よりも狭くしたアドバタイズ信号を送信しても構わない。
ステップS1406では、その接続要求信号を送信した外部端末装置のユーザをJOBエラー解除者に決定する。ここでは、ステップS1405により特定されたユーザIDを取得し、実際にエラーが解除されるまで、これをRAM104に一時的に保存する。
従って以上説明した実施例に従えば、画像形成装置に対するユーザ操作がエラー解除作業であるかを調べ、その判定結果に基づいてエラー解除ユーザを決定するので確実に画像形成装置の周辺にいる外部端末装置のユーザをエラー解除ユーザにすることができる。その結果、早期に確実にJOBエラーを解除することが可能となる。
なお、実施例2〜4は、エラー解除者を決定する個別の処理として説明したが、これらの処理を複合してエラー解除者を決定してもよい。
ここでは、図5のステップS507でエラー解除後のJOB再実行に関するさらに別の実施例を説明する。この実施例では、図5のステップS507の詳細な処理は実施例1〜4と異なるが、全体的な処理は図5に示したフローチャートに従うものとするので、全体的な処理についての説明は省略する。この実施例では、再実行するJOBを優先度に応じて決定する処理が特徴となっている。
図16は優先度に応じてJOBを再実行する処理の詳細を示すフローチャートである。ここでは、エラー解除の作業を行ったユーザの実行しているJOBを優先的に再実行するとしている。
ステップS1601で、CPU102は、接続要求信号を解析し、その接続要求信号に含まれるユーザIDをエラー解除ユーザのユーザIDとして取得する。また、この実施例では、図5のステップS502で既に取得されているとしてもよい。
ステップS1602で、CPU102は、ステップS1601で取得したユーザIDと実行待ちJOBに関係づけられているユーザIDとを比較する。RAM104には複数のユーザから実行指示されたJOBがリストやキューの形式で保存されている。加えて、その実行待ちJOBには実行を指示したユーザIDが関係づけられている。CPU102はこのJOBに関係づけられているユーザIDと、ステップS1601で取得したユーザIDをと比較し、両者のユーザIDが一致するJOBを検索する。
図17は具体的なJOBリストの一例をテーブル形式で示す図である。
図17において、「JOB名」項目はJOBリストに含まれているJOBを示し、「JOBのID」項目は、そのJOBに割り当てられているIDを示し、「JOBステータス」項目はそのJOBの状態を示し、実行中JOBと実行待ちJOBとを区別する。また、「JOB実行したユーザID」項目は、そのJOBを実行したユーザを示している。
この実施例では、図17に示したJOBリストがRAM104に保存されているものとする。このとき、エラー解除ユーザのユーザIDが“102”である場合、CPU102は図17に示したJOBリストに含まれるユーザIDを検索すると、JOB2のユーザIDと一致していることがわかる。一方、エラー解除ユーザのユーザIDが“105”である場合、CPU102は、このJOBリストに含まれるユーザIDを検索すると、エラー解除ユーザのユーザIDはJOBリストに含まれるユーザIDと一致しないことがわかる。
ステップS1603で、CPU102は、ステップS1602における比較の結果、ユーザIDの一致があったか否かを調べる。これにより、エラー解除ユーザがJOB実行者である場合と、JOB実行者でない場合を切り分けることができる。
例えば、ステップS1601で取得したユーザIDが“105”であり、かつ図17に示したJOBリストを参照した場合、一致するユーザIDが存在しないので、この場合、処理はステップS1604に進む。ステップS1604では、図17に示されているJOBリストの内、JOBステータスが実行中のJOBを実行する。
これに対して、例えば、ステップS1601で取得したユーザIDが“101”又は“102”であり、かつ図17に示したJOBリストを参照した場合、一致するユーザIDが存在するため、処理はステップS1605に進む。ステップS1605では、ユーザIDが一致したJOBのステータスを確認する。これにより、実行中のJOBと実行待ちのJOBに対する処理を切り分ける。
例えば、ステップS1601で取得したユーザIDが“101”であり、かつ図17に示したJOBリストを参照した場合には、一致したJOBのJOBステータスは実行中であるため、処理はステップS1606進む。ステップS1606では、エラー解除ユーザが実行待ちのJOBステータスを持つJOBの実行者であることが分かっているので、エラー解除ユーザのJOBを優先的に実行する。このため、実行中のJOBステータスを持つJOBは最優先ジョブとして速やかに実行が再開される。
一方、ステップS1601で取得したユーザIDが“102”であり、かつ図17に示したJOBリストを参照した場合、一致したJOBのJOBステータスは実行待ちであるため、処理はステップS1607に進む。ステップS1607で、CPU102は、エラー解除ユーザにより実行指示されたJOBを優先的に実行する。ここでは、ステップS1601で取得したユーザIDが“102”である場合、CPU102は、図17に示したJOBリストを参照して、JOB2を最優先ジョブとして扱う。従って、ステップS1607で、CPU102は、図17に示したJOBリストの場合、JOB1の実行を中止し、JOB1のJOBステータスを実行待ちに変更する。なお、JOB1は実行待ちのJOBの中では、最も早期に実行されるJOBとして扱われる。
そして、ステップS1608で、CPU102は、エラー解除ユーザのJOBを実行する。
従って以上説明した実施例に従えば、エラー解除を行ったユーザのJOBを優先的に実行することが可能となる。これにより、エラー解除を行うことがユーザにとって利点となり、早期にJOBエラーを解除することをユーザに促すことができる。
本発明は上述の実施例の1つ以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1つ以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。