ところで、ベイジアンネットワーク等の因果ネットワークから成る障害診断モデルは、診断対象機器を構成する複数の構成要素の各々における障害発生の有無を表す複数のノードを、個々のノード(構成要素)における障害発生の因果関係を表す一定方向のリンクでリンク付けすると共に、個々のノードに、自ノードと他ノードとの因果関係を障害発生確率で規定する因果関係情報を各々付加することで構成される。しかし、診断対象機器の中には、当該機器の一部の構成要素の間で双方向の通信(信号の送受)行われ、当該構成要素の間の通信の方向が診断対象機器の動作モード又は動作タイミングによって変化する構成のものがある。この場合、双方向の通信が行われる構成要素の対における障害発生の因果関係は、障害発生時点での前記構成要素の対の間での通信の方向、すなわち診断対象機器の動作モード又は動作タイミングによって変化する。
これに対し、ベイジアンネットワーク等の因果ネットワークは双方向の因果関係を表現できないので、上記のように構成要素の一部における障害発生の因果関係が動作モードや動作タイミングによって変化する構成の機器を対象として障害診断を行う場合には、各種の動作モードや動作タイミングに対応する複数の障害診断モデル(一部のノードの因果関係が互いに異なる障害診断モデル)を用意し、障害発生時の動作モードや動作タイミングに対応する障害診断モデルを選択的に読み出して障害診断に用いる必要があり、障害診断モデルを記憶するための記憶領域として膨大な記憶容量の記憶領域が必要になる、という問題があった。
本発明は上記事実を考慮して成されたもので、障害診断モデルの情報を記憶するための記憶領域を節減できる障害診断装置、障害診断方法及び障害診断プログラムを得ることが目的である。
上記目的を達成するために請求項1記載の発明に係る障害診断装置は、診断対象の複数の構成要素のうちの一部の構成要素における障害発生の因果関係が前記診断対象の動作モード又は動作タイミングによって変化する前記診断対象について、前記診断対象が特定の動作モード又は特定の動作タイミングのときの前記複数の構成要素の各々における障害発生の因果関係を、前記複数の構成要素のうち互いに異なる構成要素における障害発生の有無を各々表す複数の第1ノードを含み、個々の第1ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を前記個々の第1ノードに各々付加した因果ネットワークによって表した障害診断モデルの情報を記憶する第1記憶手段と、前記一部の構成要素における障害発生の有無を表す一部の第1ノードの各々について、前記診断対象が前記特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を記憶する第2記憶手段と、前記診断対象の動作モード又は動作タイミングを検出する検出手段と、前記診断対象の障害発生が観測された場合に、前記検出手段によって検出された前記診断対象の動作モードが前記特定の動作モードと相違しているか、又は、前記検出手段によって検出された前記診断対象の動作タイミングが前記特定の動作タイミングと相違しているときには、前記第1記憶手段から読み出した障害診断モデルの情報のうち、前記一部の第1ノードに付加されている因果関係情報を、前記第2記憶手段から読み出した対応する因果関係情報で書替える書替手段と、前記書替手段によって因果関係情報の書替えが行われなかった場合は前記第1記憶手段から読み出した障害診断モデルの情報を用い、前記書替手段によって因果関係情報の書替えが行われた場合は書替え後の障害診断モデルの情報を用いて、前記診断対象の障害診断を行う診断手段と、を含んで構成されている。
請求項1記載の発明では、診断対象の複数の構成要素のうちの一部の構成要素における障害発生の因果関係が診断対象の動作モード又は動作タイミングによって変化する診断対象について、診断対象が特定の動作モード又は特定の動作タイミングのときの複数の構成要素の各々における障害発生の因果関係を、複数の構成要素のうち互いに異なる構成要素における障害発生の有無を各々表す複数の第1ノードを含み、個々の第1ノードに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を各々付加した因果ネットワークによって表した障害診断モデルの情報が第1記憶手段に記憶されている。なお、上記のように、一部の構成要素における障害発生の因果関係が診断対象の動作モード又は動作タイミングによって変化する診断対象としては、前記一部の構成要素が、診断対象の動作モード又は動作タイミングによって通信方向の異なる双方向通信を行う構成の診断対象が挙げられ、具体的には、例えば請求項7に記載したように、複数の構成要素から成る機器又は回路基板、或いは、複数の構成要素としての複数のソフトウェア・コンポーネントから成るプログラムを適用することができる。
また、請求項1記載の発明では、一部の構成要素における障害発生の有無を表す一部の第1ノードの各々について、診断対象が前記特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報が第2記憶手段に記憶されている。なお、第2記憶手段には単一の因果関係情報を記憶することに限られるものではなく、特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングが複数種存在している場合、特定の動作モード又は特定の動作タイミングと異なる複数種の動作モード又は動作タイミングの何れかに各々対応する複数種の因果関係情報を第2記憶手段に記憶させることができる。
そして、請求項1記載の発明では、診断対象の動作モード又は動作タイミングを検出手段が検出し、書替手段は、診断対象の障害発生が観測された場合に、検出手段によって検出された診断対象の動作モードが特定の動作モードと相違しているか、又は、検出手段によって検出された診断対象の動作タイミングが特定の動作タイミングと相違しているときには、第1記憶手段から読み出した障害診断モデルの情報のうち、一部の第1ノードに付加されている因果関係情報を、第2記憶手段から読み出した対応する因果関係情報で書替え、診断手段は、書替手段によって因果関係情報の書替えが行われなかった場合は第1記憶手段から読み出した障害診断モデルの情報を用い、書替手段によって因果関係情報の書替えが行われた場合は書替え後の障害診断モデルの情報を用いて、診断対象の障害診断(例えば個々の構成要素における障害発生確率の推定や、障害発生確率が閾値以上の構成要素の抽出等)を行う。
このように、請求項1記載の発明では、診断対象の複数の構成要素のうち、障害発生の因果関係が診断対象の動作モード又は動作タイミングによって変化する一部の構成要素についてのみ、診断対象が特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときの因果関係情報を第2記憶手段に記憶しておき、検出された診断対象の動作モードが特定の動作モードと相違しているか、又は、検出された診断対象の動作タイミングが特定の動作タイミングと相違しているときには、第1記憶手段から読み出した障害診断モデルの情報の一部を第2記憶手段から読み出した因果関係情報で書替えて診断対象の障害診断に用いるので、診断対象の複数の構成要素のうちの一部の構成要素における障害発生の因果関係が診断対象の動作モード又は動作タイミングによって変化する場合にも、診断対象の個々の動作モード又は動作タイミングに対応する複数の障害診断モデルの情報を記憶する必要がなくなる。従って、請求項1記載の発明によれば、障害診断モデルの情報を記憶するための記憶領域(本発明を実施するために必要な第1記憶手段及び第2記憶手段の記憶領域)を節減することができる。
なお、請求項1記載の発明において、因果関係情報は、例えば請求項2にも記載したように、自ノードと障害発生に直接の因果関係を有する特定の他ノードのうち、障害発生が自ノードの障害発生の原因となる自ノードの親ノードを規定する親ノード情報と、当該親ノードが故障発生有り及び故障発生無しの各条件毎の自ノードの障害発生確率を表す条件付き確率情報を含んで構成してもよい。この場合、第2記憶手段に記憶されている因果関係情報が、親ノード情報が規定する親ノードと、条件付き確率情報が表す各条件毎の自ノードの障害発生確率が、第1記憶手段に記憶されている障害診断モデルの情報に含まれる、対応する因果関係情報と各々相違することになる。個々の第1ノードに付加する因果関係情報が上記の親ノード情報及び条件付き確率情報を含んでいる因果ネットワークは、所謂ベイジアンネットワークであり、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を上記の条件付き確率情報で表すことで、診断手段による診断対象の障害診断の精度を向上させることができる。
また、請求項2記載の発明において、複数の構成要素としては、例えば請求項3に記載したように、障害発生が診断対象の観測可能な障害発生の原因となる構成要素を適用することができ、この場合、第1記憶手段には、障害診断モデルとして、複数の構成要素の各々における障害発生及び診断対象の観測可能な障害発生の因果関係を、複数の第1ノードに加えて診断対象における観測可能な障害発生の有無を表す第2ノードを含み、個々のノードに条件付き確率情報を含んで構成された因果関係情報を各々付加した因果ネットワークによって表した障害診断モデルの情報を記憶させることができる。そしてこの場合、診断手段を、観測された診断対象の障害発生に基づき、個々のノードに付加されている因果関係情報に含まれる条件付き確率情報に従い、個々の第1ノードの障害発生確率を演算し、個々の第1ノードが表す障害発生の有無を判断することで、診断対象の障害診断を行うように構成することができる。これにより、複数の構成要素の各々における障害発生の因果関係のみならず、各構成要素における障害発生と診断対象の観測可能な障害発生との因果関係も障害診断モデル上で表されるので、観測された診断対象の障害発生から、診断手段による障害診断によって個々の構成要素における障害発生の有無を判断することができる。
また、請求項1記載の発明において、診断対象の障害発生を観測(認識)したオペレータによって診断対象の障害発生を入力させるようにしてもよいが、例えば請求項4に記載したように、診断対象の観測可能な障害発生を検知する検知手段を設け、書替手段を、検知手段によって診断対象の障害発生が検知された場合に、第1記憶手段から読み出した障害診断モデルの情報のうち、一部のノードに付加されている因果関係情報を書替えるか否かを判定するように構成してもよい。この場合、診断対象の障害発生を観測する必要が無くなるので、オペレータの負担を軽減することができる。
また、請求項1記載の発明において、例えば請求項5にも記載したように、障害診断モデルの情報を第1記憶手段から読み込み、読み込んだ障害診断モデルの情報を障害診断装置が稼働している間中メモリに記憶させる管理手段を更に設け、書替手段を、検出手段によって検出された診断対象の動作モードが特定の動作モードと相違しているか、又は、検出手段によって検出された診断対象の動作タイミングが特定の動作タイミングと相違しているときに、第2記憶手段から因果関係情報を読み込み、障害診断モデルの情報のうち前記一部の第1ノードに付加されている因果関係情報の書替えを行うように構成することが好ましい。
従来のように、診断対象の各種の動作モードや動作タイミングに対応して複数の障害診断モデルを用意する場合、全ての障害診断モデルの情報を事前にメモリに記憶させておくことは困難であるので、障害診断を行う都度、対応する障害診断モデルの情報を記憶手段からメモリにロードする必要があり、障害診断に長い時間を要する。これに対して請求項5記載の発明では、障害診断モデルの情報を障害診断装置が稼働している間中メモリに記憶させておき、必要時(検出手段によって検出された診断対象の動作モードが特定の動作モードと相違しているか、又は、検出手段によって検出された診断対象の動作タイミングが特定の動作タイミングと相違しているとき)には、第2記憶手段から因果関係情報を読み込んで書替えを行うので、障害診断を行う際に読み込む必要のある情報の量を大幅に削減することができ、情報読み込みに要する時間、ひいては障害診断に要する時間を短縮することができる。
また、請求項5記載の発明において、本発明に係る障害診断装置が稼働している間に診断対象の障害診断が複数回行われる場合や、その可能性がある場合は、管理手段によって障害診断装置が稼働している間中メモリに記憶されている障害診断モデルの情報を、複数回の障害診断に各々用いる必要がある。これは、例えば各回の障害診断において、診断対象が特定の動作モード又は特定の動作タイミングである場合はメモリに記憶されている障害診断モデルの情報をそのまま用い、診断対象が特定の動作モード以外又は特定の動作タイミング以外である場合は、第2記憶手段からメモリに因果関係情報を一旦読み込んだ後に、メモリ上の新たな記憶領域上に、前記一部の第1ノードに付加されている因果関係情報の書替えを行った障害診断モデルの情報を生成し(この情報は、例えばメモリに記憶されている障害診断モデルの情報を当該記憶領域にコピーした後に、一部の因果関係情報を第2記憶手段から読み込んだ因果関係情報に書替える等によって生成できる)、当該記憶領域上に生成した情報を用いるように構成することで実現できる。しかし、この態様では障害診断モデルの情報を一部書替えて用いる際に比較的大容量のメモリを必要とする。
このため、請求項5記載の発明において、例えば請求項6に記載したように、第2記憶手段に、特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングに対応する因果関係情報に加えて、特定の動作モード又は特定の動作タイミングに対応する因果関係情報も記憶しておき、書替手段を、メモリに記憶されている障害診断モデルの情報のうち前記一部の第1ノードに付加されている因果関係情報を、第2記憶手段から読み込んだ因果関係情報で上書きすることで、因果関係情報の書替えを行うと共に、因果関係情報の書替えを一旦行った後は、検出手段によって検出された診断対象の動作モード又は動作タイミングが、診断対象の障害診断を前回行った際の動作モード又は動作タイミングと相違しているか否か判定し、相違している場合に、対応する因果関係情報を第2記憶手段から読み込み、メモリに記憶されている障害診断モデルの情報のうち前記一部の第1ノードに付加されている因果関係情報を、読み込んだ因果関係情報で再度上書きするように構成してもよい。
請求項6記載の発明によれば、メモリに記憶されている障害診断モデルの情報のうち一部の因果関係情報の書替えを一旦行った後は、障害診断を行う際に、前回の障害診断時と動作モード又は動作タイミングと相違している毎に障害診断モデルの情報の書替えを行う必要があるものの、障害診断モデルの情報を一部書替えて用いる際の使用メモリ容量を節減することができる。
請求項8記載の発明に係る障害診断装置による障害診断方法は、診断対象の複数の構成要素のうちの一部の構成要素において障害発生の因果関係が前記診断対象の動作モード又は動作タイミングによって変化する前記診断対象について、前記診断対象が特定の動作モード又は特定の動作タイミングのときの前記複数の構成要素の各々における障害発生の因果関係を、前記複数の構成要素のうち互いに異なる構成要素における障害発生の有無を各々表す複数のノードを含み、個々のノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を前記個々のノードに各々付加した因果ネットワークによって表した障害診断モデルの情報を第1記憶手段が記憶する手順と、前記一部の構成要素における障害発生の有無を表す一部のノードの各々について、前記診断対象が前記特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を第2記憶手段が記憶する手順と、前記診断対象の障害発生が観測された場合に、前記診断対象の動作モード又は動作タイミングを検出手段が検出し、検出した前記診断対象の動作モードが前記特定の動作モードと相違しているか、又は、検出した前記診断対象の動作タイミングが前記特定の動作タイミングと相違しているときには、前記第1記憶手段から読み出した障害診断モデルの情報のうち、前記一部のノードに付加されている因果関係情報を、前記第2記憶手段から読み出した対応する因果関係情報で書替手段が書替える手順と、前記因果関係情報の書替えを行わなかった場合は前記第1記憶手段から読み出した障害診断モデルの情報を用い、前記因果関係情報の書替えを行った場合は書替え後の障害診断モデルの情報を用いて、前記診断対象の障害診断を診断手段が行う手順と、を有するので、請求項1記載の発明と同様に、障害診断モデルの情報を記憶するための記憶領域を節減できる。
請求項9記載の発明に係る障害診断プログラムは、診断対象の複数の構成要素のうちの一部の構成要素において障害発生の因果関係が前記診断対象の動作モード又は動作タイミングによって変化すると共に、前記診断対象の動作モード又は動作タイミングを検出する検出手段が設けられた前記診断対象に内蔵されるか、又は、前記診断対象と通信回線を介して接続され、前記診断対象について、前記診断対象が特定の動作モード又は特定の動作タイミングのときの前記複数の構成要素の各々における障害発生の因果関係を、前記複数の構成要素のうち互いに異なる構成要素における障害発生の有無を各々表す複数のノードを含み、個々のノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を前記個々のノードに各々付加した因果ネットワークによって表した障害診断モデルの情報が第1記憶手段に記憶され、前記一部の構成要素における障害発生の有無を表す一部のノードの各々について、前記診断対象が前記特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報が第2記憶手段に記憶されたコンピュータを、前記診断対象の障害発生が観測された場合に、前記検出手段によって検出された前記診断対象の動作モードが前記特定の動作モードと相違しているか、又は、前記検出手段によって検出された前記診断対象の動作タイミングが前記特定の動作タイミングと相違しているときには、前記第1記憶手段から読み出した障害診断モデルの情報のうち、前記一部のノードに付加されている因果関係情報を、前記第2記憶手段から読み出した対応する因果関係情報で書替える書替手段、及び、前記書替手段によって因果関係情報の書替えが行われなかった場合は前記第1記憶手段から読み出した障害診断モデルの情報を用い、前記書替手段によって因果関係情報の書替えが行われた場合は書替え後の障害診断モデルの情報を用いて、前記診断対象の障害診断を行う診断手段として機能させる。
請求項9記載の発明に係る障害診断プログラムは、第1記憶手段及び第2記憶手段に各々上記の情報が記憶されたコンピュータを、上記の書替手段及び診断手段機能させるためのプログラムであるので、コンピュータが請求項9記載の発明に係る障害診断プログラムを実行することで、コンピュータが請求項1に記載の障害診断装置として機能することになり、請求項1記載の発明と同様に、障害診断モデルの情報を記憶するための記憶領域を節減できる。
以上説明したように本発明は、一部の構成要素における障害発生の因果関係が診断対象の動作モード又は動作タイミングによって変化する診断対象について、特定の動作モード又は特定の動作タイミングのときの複数の構成要素の各々における障害発生の因果関係を、互いに異なる構成要素における障害発生の有無を各々表す複数の第1ノードを含み、個々の第1ノードに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を各々付加した因果ネットワークによって表した障害診断モデルの情報を第1記憶手段に記憶すると共に、一部の構成要素における障害発生の有無を表す一部の第1ノードの各々について、診断対象が前記特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を第の記憶手段に記憶し、診断対象の障害発生が観測された場合に、診断対象の動作モードが特定の動作モードと相違しているか、又は、診断対象の動作タイミングが特定の動作タイミングと相違しているときには、第1記憶手段から読み出した障害診断モデルの情報のうち、一部の第1ノードに付加されている因果関係情報を、第2記憶手段から読み出した対応する因果関係情報で書替え、因果関係情報の書替えを行わなかった場合は第1記憶手段から読み出した障害診断モデルの情報を用い、因果関係情報の書替えを行った場合は書替え後の障害診断モデルの情報を用いて、診断対象の障害診断を行うようにしたので、障害診断モデルの情報を記憶するための記憶領域を節減できる、という優れた効果を有する。
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図1には本実施形態に係る画像形成装置10が示されている。本実施形態に係る画像形成装置は、PC(Personal Computer)等から送信された印刷データをネットワーク(図示省略)を介して受信し、受信した印刷データが表す画像を記録用紙等へ印刷するプリンタとしての機能と、セットされた原稿の画像を読み取り、読み取った画像を記録用紙等へ印刷する複写機としての機能を兼ね備えた複合機であり、入力された印刷データが表す画像を記録用紙等へ印刷する画像形成部12と、セットされた原稿の画像を読み取る画像読取部18と、ネットワーク経由でのPC等との情報の送受を行う通信I/F(インタフェース)部22を備えている。
画像形成部12はプリンタI/F部14と共に画像形成処理部16を構成しており、画像形成部12はプリンタI/F部14を介してバス24に接続されている。また、画像読取部18はスキャナI/F部20を介してバス24に接続されており、通信I/F部22はバス24に直接接続されている。またバス24には、コントローラ部26と記憶部28が接続されている。コントローラ部26は、CPU26Aと、ROM及びRAMを含むメモリ26Bを備えている。記憶部28はHDD(Hard Disk Drive)やフラッシュメモリ等の不揮発性の記憶手段から成り、記憶部28にはCPU26Aが実行するための各種プログラムが記憶されている。コントローラ部26は、CPU26Aが記憶部28に記憶されている各種プログラムを実行することで、画像形成装置10の各部の動作を制御するコントローラとして機能する。
また記憶部28には、CPU26Aによって後述する障害診断処理を行わせるための障害診断プログラムが記憶されており、更に、上記の障害診断処理で用いる画像形成装置10の障害診断モデルの本体データ及び障害診断モデルのサブデータが各々記憶されている(詳細は後述)。上記の障害診断プログラムは請求項9記載の発明に係る障害診断プログラムに対応していると共に、コントローラ部26は請求項9に記載のコンピュータに対応しており、CPU26Aが上記の障害診断プログラムを実行することで、コントローラ部26は本発明に係る障害診断装置として機能する。また、記憶部28は本発明に係る第1記憶部及び第2記憶部に各々対応しており、画像形成装置10は本発明に係る診断対象に対応している。
また画像形成装置10には、LCD(Liquid Crystal Display)等から成り各種の情報を表示するためのディスプレイ30と、テンキー等を含みオペレータが各種の情報を入力するための指示入力部34が設けられている。ディスプレイ30は表示制御部32を介してバス24に接続されており、指示入力部34はバス24に直接接続されている。更に、画像形成装置10の画像形成部12や画像読取部18は、各部の状態を検出したり所定の障害(例えば後述する「読み取り画像エラー」や「画像読取制御部とコントローラ部26の間の通信エラー」等)の発生を検出する各種のセンサを含んで構成されている。図1では、これらのセンサをセンサ群38として示しており、画像形成装置10には、センサ群38の個々のセンサからセンサデータ(個々のセンサの検出結果)を取得するセンサデータ取得部36が設けられている。センサデータ取得部36はバス24に接続されている。なお、センサ群38を構成する各センサのうち、所定の障害の発生を検出するセンサは請求項4に記載の検知手段に対応している。
次に本実施形態の作用として、まず記憶部28に記憶されている障害診断モデルの本体データ及び障害診断モデルのサブデータについて説明する。本実施形態に係る障害診断モデルは、画像形成装置10の障害診断を行うことを目的として、画像形成装置10の複数の構成要素の各々における障害発生の因果関係を、因果ネットワーク、より詳しくはベイジアンネットワークによって表したものであり、図2には、障害診断モデルの本体データが表す画像形成装置10の障害診断モデルの一例として、画像形成装置10のプリント基板(PWBA:Printed Wiring Board Assembly)群を対象として障害診断を行うための障害診断モデルが示されている。
図2において、"CCD"は画像読取部18を、"IIT"は画像読取部18に内蔵され画像読取部18の動作を制御する制御部(画像読取制御部)を、"ESS"はコントローラ部26を、"IOT"は画像形成部12を、"NIC"は通信I/F部22を各々表している。なお、これら画像読取部18、画像読取制御部、コントローラ部26、画像形成部12及び通信I/F部22は、本発明に係る「診断対象の複数の構成要素」に対応している。また、図2では画像形成装置10の個々の構成要素における障害発生の有無を各々表す個々のノードを各々矩形状の実線のブロックで示しているが、個々のノードに表記されている先頭の文字"p","n","f"は、"p"がプリント基板の障害を、"n"がケーブルの障害を、"f"が機能障害を各々表しており、例えばノード"pCCD"は画像読取部18におけるプリント基板の障害発生の有無を表し、ノード"nCCD"は画像読取部18におけるケーブルの障害発生の有無を表し、ノード"fCCD"は画像読取部18の機能障害発生の有無を表している。これらのノードは本発明に係る第1ノードに対応している。
また、図2において矩形状の破線のブロックで示すノードは、画像形成装置10における観測可能な障害発生の有無を表す証拠ノードであり、証拠ノード"Ev001"は画像形成装置10で「読み取り画像エラー」を示すフェイルコードが検出されたか否かを表し、証拠ノード"Ev002"は画像形成装置10で「画像読取制御部(IIT)とコントローラ部26(ESS)の間の通信エラー」を示すフェイルコードが検出されたか否かを表すノードである。なお、これらの証拠ノードは請求項3に記載の第2ノードに対応している。
また、図2に示す障害診断モデルにおいて、個々のノードを結ぶ矢印(因果関係を表すリンク)は、矢印によって結ばれたノード対の障害発生に直接の因果関係が有ることを表しており、或る矢印によって結ばれたノード対のうち、矢印の元に接続されたノードは障害発生の因果関係における親(原因)となる親ノードを、矢印の先に接続されたノードは障害発生の因果関係における子(親ノードの障害発生の影響を受ける)となる子ノードを表している。例えば画像形成装置10で「読み取り画像エラー」を示すフェイルコードが検出された場合、その原因としては、画像読取部18の機能障害や画像読取制御部の機能障害(例えば画像処理のエラー等)が考えられる。このため、図2に示す障害診断モデルではノード"fCCD"及びノード"fIIT"を証拠ノード"Ev001"の親ノードとしている。また、例えば画像形成装置10で「画像読取制御部(IIT)とコントローラ部26(ESS)の間の通信エラー」を示すフェイルコードが検出された場合、その原因としては、画像読取制御部とコントローラ部26の間のケーブル不良が考えられるため、図2に示す障害診断モデルではノード"nIIT"及びノード"nESS"を証拠ノード"Ev002"の親ノードとしている。
また、図2に示す障害診断モデルには、例として図3(A)にも示すように、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を規定する因果関係情報が、個々のノードに各々付加されている。なお、図3では因果関係情報を、ベイジアンネットワークにおける標準的なファイル形式であるXMLBIF形式で記述した例を示している。図3(A)はノード"fCCD"に付加されている因果関係情報を示しており、図3(A)に示す因果関係情報のうちタグ"<FOR>"とタグ"</FOR>"に挟まれた文字列"fCCD"は、自ノードがノード"fCCD"であることを表している。また、図3(A)に示す因果関係情報のうち、タグ"<GIVEN>"とタグ"</GIVEN>"に挟まれた文字列"fIIT","pCCD","nCCD"は、自ノードの親ノードがノード"fIIT"、ノード"pCCD"及びノード"nCCD"であることを表している。なお、この情報は請求項2に記載の親ノード情報に対応している。また、図3(A)に示す因果関係情報のうち、タグ"<TABLE>"とタグ"</TABLE>"に挟まれた数値群は、図3(A)に別表で示すように、自ノードの親ノードであるノード"fIIT"、ノード"pCCD"及びノード"nCCD"の状態(正常/障害発生)が各組み合わせのときに、自ノードに障害が発生する確率(別表に"NG"として示す数値)及び自ノードの状態が正常となっている確率(別表に"OK"として示す数値)を表している。なお、この情報は請求項2に記載の条件付き確率情報に対応している。
上記の障害診断モデルは、画像形成装置10に設けられた個々の構成要素(プリント基板)の間の接続関係や信号の流れを考慮し、更に、障害発生に直接の因果関係がある構成要素同士の因果関係の強さ(親ノードの障害発生が子ノードの障害発生を引き起こす確率等)を、実験等によって求めたり経験から導き出した結果も加味して構築される。そして構築された障害診断モデルのデータが本体データとして記憶部28に記憶される。
ところで、本実施形態に係る画像形成装置10には動作モードとして複数のモードが設けられており、或る動作モード(動作モードAと称する)では、コントローラ部26からバス24を介して画像読取部18へ読取指示信号が送出され、別の動作モード(動作モードBと称する)では、コントローラ部26から受け取った読取指示信号に基づき、画像読取部18が画像読取処理を行った後に、画像読取処理によって得られた画像信号がバス24を介してコントローラ部26へ送出される。このため、図2に示す障害診断モデルにおいて、ノード"fESS"、ノード"fIIT"及びノード"fCCD"の間における障害発生の因果関係(因果の方向)が、画像形成装置10が動作モードAのときには図2に実線の矢印で示す因果関係となる一方、画像形成装置10が動作モードBのときには図2に破線の矢印で示す因果関係となり、これらのノードにおける障害発生の因果関係が画像形成装置10の動作モードによって変化する。
ベイジアンネットワークを含む因果ネットワークでは、上記のような双方向の因果関係(図2におけるノード"fESS"、ノード"fIIT"及びノード"fCCD"の間の実線の矢印で示す因果の方向と破線の矢印で示す因果の方向)を同時に表現することはできない。このため、本実施形態に係る画像形成装置10のように、一部の構成要素における障害発生の因果関係が動作モード等によって変化する機器等を対象として障害診断モデルを構築して障害診断を行う場合には、従来、前記一部の構成要素に対応する一部のノードの因果関係のみが相違する障害診断モデルを複数設ける(本体データを複数記憶する)必要があり、診断対象の機器における構成要素の数(単一の障害診断モデルの規模)に比して障害診断モデルの総データ量が肥大化するという問題があった。
このため、本実施形態では、画像形成装置10の障害診断モデルとしては、画像形成装置10が特定の動作モード(本実施形態では動作モードA)のときの各構成要素における障害発生の因果関係を表す単一の障害診断モデルのみを記憶部28に記憶させる(単一の本体データを記憶させる)と共に、障害発生の因果関係が動作モード等によって変化する一部の構成要素に対応する一部のノードについて、画像形成装置10が特定の動作モードと異なる動作モード(本実施形態では動作モードB)のときの、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を規定する因果関係情報が、障害診断モデルのサブデータとして記憶部28に記憶させておき、障害発生時に画像形成装置10が特定の動作モードと異なる動作モードであった場合には、記憶部28に記憶されている障害診断モデルの本体データのうち前記一部のノードに付加している因果関係情報を、記憶部28に障害診断モデルのサブデータとして記憶されている因果関係情報に書替えて障害診断に用いることで、障害診断モデルの総データ量を節減している。
上記のサブデータの一例として、サブデータに含まれる動作モードBのでのノード"fCCD"の因果関係情報を図3(B)に示す。図2からも明らかなように、ノード"fCCD"については、画像形成装置10が動作モードAの場合はノード"fIIT"、ノード"pCCD"及びノード"nCCD"が親ノードとなるが、画像形成装置10が動作モードBの場合、ノード"pCCD"及びノード"nCCD"のみが親ノードとなり、ノード"fIIT"は子ノードとなる。これに対応して図3(B)に示す因果関係情報では、親ノード(タグ"<GIVEN>"とタグ"</GIVEN>"に挟まれた文字列)としてノード"pCCD"及びノード"nCCD"のみが記述されている。また、親ノードの数の減少に伴って親ノードの各々の状態の組み合わせ数も少なくなる(図3(B)に示す別表も参照)ので、図3(A)に示す因果関係情報と比較して、各組み合わせにおいて自ノードに障害が発生する確率及び自ノードの状態が正常となっている確率を表す数値の数(タグ"<TABLE>"とタグ"</TABLE>"に挟まれた数値の数)も少なくなっている。上記の情報により、画像形成装置10が動作モードBのときの、ノード"fCCD"と当該ノード"fCCD"の親ノードであるノード"pCCD"及びノード"nCCD"との障害発生の因果関係が規定される。
また図示は省略するが、ノード"fIIT"については、画像形成装置10が動作モードAの場合はノード"pIIT"、ノード"nIIT"及びノード"fESS"が親ノードとなる一方、画像形成装置10が動作モードBの場合はノード"pIIT"、ノード"nIIT"及びノード"fCCD"が親ノードとなるので、ノード"fESS"に代えてノード"fCCD"が親ノードとなる。また、ノード"fESS"については、画像形成装置10が動作モードAの場合はノード"pESS"、ノード"nESS"及びノード"fNIC"が親ノードとなる一方、画像形成装置10が動作モードBの場合はノード"pESS"、ノード"nESS"及びノード"fNIC"に加えてノード"fIIT"も親ノードとなる。従って、障害診断モデルのサブデータの一部として記憶部28に記憶されているノード"fIIT"及びノード"fESS"の因果関係情報についても、ノード"fCCD"と同様、動作モードAと動作モードBでの他のノードとの障害発生の因果関係の変化、すなわち親ノードの変化に応じて、障害診断モデルの本体データに含まれる対応する因果関係情報と内容が相違されている。
また、図4(A)には証拠ノード"Ev001"の因果関係情報を示す。証拠ノード"Ev001"は、画像形成装置10が動作モードAであるか動作モードBであるかに拘わらず親ノードがノード"fCCD"及びノード"fIIT"であり、また証拠ノード"Ev001"は「読み取り画像エラー」を示すフェイルコードが検出されたか否かを表すノードであり、「読み取り画像エラー」に関しては画像形成装置10が動作モードAであっても動作モードBであっても障害(エラー)発生の因果関係が変化しない。このため、証拠ノード"Ev001"に対しては、画像形成装置10が動作モードAであるか動作モードBであるかに拘わらず図4(A)に示す因果関係情報が用いられる(証拠ノード"Ev001"の因果関係情報は障害診断モデルの本体データにのみ設定され、サブデータには設定されない)。
一方、証拠ノード"Ev002"については、画像形成装置10が動作モードAであるか動作モードBであるかに拘わらず親ノードがノード"nIIT"及びノード"nESS"となっているものの、証拠ノード"Ev002"は「画像読取制御部(IIT)とコントローラ部26(ESS)の間の通信エラー」を示すフェイルコードが検出されたか否かを表すノードであり、画像読取制御部(IIT)とコントローラ部26(ESS)の間の信号の流れは画像形成装置10が動作モードAの場合と動作モードBの場合とで相違しているので、親ノードであるノード"nIIT"及びノード"nESS"の状態の各組み合わせにおいて、上記の「通信エラー」が検出される確率(又は検出されない確率)についても、画像形成装置10が動作モードAの場合と動作モードBの場合とで相違する(なお、上記の確率の変化も本発明における「障害発生の因果関係の変化」に相当する)。
このため、本実施形態では、証拠ノード"Ev002"については、画像形成装置10が動作モードAのときの因果関係情報(図4(B)参照)と、画像形成装置10が動作モードBであるときの因果関係情報(図4(C)参照)が用意されており(図4(B),(C)に示すように、これらの因果関係情報は親ノードの状態の各組み合わせにおける自ノードの障害発生確率及び自ノードの正常状態が維持される確率を表す数値の一部が相違している)、画像形成装置10が動作モードAのときの証拠ノード"Ev002"の因果関係情報は障害診断モデルの本体データに設定され、画像形成装置10が動作モードBのときの証拠ノード"Ev002"の因果関係情報は障害診断モデルのサブデータに設定されている。
上述した障害診断モデルのサブデータは、障害診断モデルの全ノードのうち、画像形成装置10の動作モードの変化に伴って他のノードとの障害発生の因果関係が変化する一部のノードについての因果関係情報のみから成るデータであるので、障害診断モデルの本体データと比較してデータ量が非常に小さい。このため、画像形成装置10の個々の動作モードに対応して障害診断モデルの本体データを複数設ける場合と比較して、障害診断モデルの総データ量を節減することができ、障害診断モデルのデータを記憶する記憶部28の記憶領域を節減することができる。
次に、コントローラ部26のCPU26Aが障害診断プログラムを実行することで実現される障害診断処理について、図5を参照して説明する。なお、この障害診断処理は、センサ群38を構成する各種センサのうち、所定の障害を検出するセンサによって画像形成装置10に所定の障害(例えば「読み取り画像エラー」や「画像読取制御部とコントローラ部26の間の通信エラー」等)が発生したことが検出(観測)されるか、或いは、画像形成装置10に障害が発生したことがオペレータによって観測され、観測された障害がオペレータにより指示入力部34を介して入力されたことを契機として実行される。
ステップ50では、センサ群38を構成する各種センサからセンサデータ取得部36によってセンサデータを各々取得する。またステップ52では、コントローラ部26に設けられた状態レジスタ(図示省略)に保持されているデータを取得する。次のステップ54では、ステップ50で取得されたセンサデータ及びステップ52で取得されたデータに基づき、障害の発生が検出(観測)された際の画像形成装置10の動作モードを判定する。なお、上記のステップ50〜ステップ54は本発明に係る検出手段に対応しており、上記処理により障害の発生が検出(観測)された際の画像形成装置10の動作モードが動作モードAであったか動作モードBであったかが判別される。
次のステップ56では、障害診断モデルの本体データを記憶部28からメモリ26Bに読み込む。またステップ58では、先のステップ54で判定した障害発生の検出(観測)時の画像形成装置10の動作モードが、ステップ56で読み込んだ障害診断モデルの本体データに対応する所定の動作モード、すなわち動作モードAか否か判定する。この判定が肯定された場合はステップ64へ移行する。
一方、ステップ58の判定が否定された場合はステップ60へ移行し、先のステップ54で判定した画像形成装置10の動作モードに対応する障害診断モデルのサブデータを記憶部28からメモリ26Bに読み込む。そしてステップ62では、先のステップ56で読み込んだ障害診断モデルの本体データのうち、ステップ60で読み込んだサブデータと重複している一部のデータ、すなわち画像形成装置10の動作モードによって他のノードとの障害発生の因果関係が変化する一部のノード(読み込んだサブデータ中に対応する別の因果関係情報が存在しているノード)の因果関係情報を、読み込んだサブデータに含まれる対応する因果関係情報に書替え、ステップ64へ移行する。これにより、画像形成装置10が動作モードBのときの障害診断モデルを表すデータが得られる。なお、上記のステップ58〜ステップ62は本発明に係る書替手段に対応している。
ステップ64では、上述した処理を経て得られた障害診断モデルのデータ(ステップ58の判定が肯定された場合は記憶部28から読み出した障害診断モデルの本体データ、判定が否定された場合はステップ62で一部のノードの因果関係情報が書替えられた障害診断モデルのデータ)を用いて画像形成装置10の障害診断(推論)を行う。この障害診断は、具体的には、例えば証拠ノードに関しては、障害診断を行う時点で対応する障害が画像形成装置10に発生しているか否かが確定しているので、これに基づき、自ノードの因果関係情報と、自ノードと障害発生に直接の因果関係を有する他ノードの障害発生確率の確定値又は推定値から、自ノードの障害発生確率を推定演算することを、個々のノード同士の因果関係を表す障害診断モデル上のリンクに沿って順に行い、障害発生確率を各ノードへ伝播させていくことによって行うことができる。これにより、個々のノード毎(個々の構成要素毎)の障害発生確率を推定することができる。なお、ステップ64は本発明に係る診断手段に対応している。
そしてステップ66では、例えば算出された障害発生確率が閾値以上のノード(構成要素)をユニット交換の対象としてディスプレイ30に表示させる等により、ステップ64の障害診断の結果を出力し、障害診断処理を終了する。これにより、出力された障害診断の結果を参照することで、オペレータが、画像形成装置10に発生した障害の原因となった構成要素(ユニット)を認識し、認識した構成要素を交換する、等の対処を早期にとることができ、画像形成装置10に発生した障害を早期に解消させることができる。
なお、上記では本発明に係る診断対象としての画像形成装置10に、動作モードとして動作モードA及び動作モードBが設けられている態様を例に説明したが、動作モードは3種類以上設けられていてもよく、障害診断モデルの本体データに対応する単一の動作モード以外の複数の動作モードについてサブデータ(書替用の因果関係情報)を各々設け、障害発生時の画像形成装置10の動作モードが障害診断モデルの本体データに対応する単一の動作モード以外の動作モードであった場合には、複数のサブデータのうち障害発生時の画像形成装置10の動作モードに対応するサブデータを読み込み、障害診断モデルの本体データの一部を読み込んだサブデータに書替えるようにすればよい。
また、上記では障害診断モデルの一部のノードにおける障害発生の因果関係が画像形成装置10の動作モードによって変化する態様を例に説明したが、これに限定されるものではなく、本発明は、障害診断モデルの一部のノードにおける障害発生の因果関係が画像形成装置10の動作タイミングによって変化する場合にも適用可能であり、この場合、障害発生時の画像形成装置10の動作タイミングを検出し、障害診断モデルの本体データをそのまま障害診断に用いるか、障害診断モデルの本体データの一部をサブデータに書替えて障害診断に用いるかを、検出した動作タイミングに応じて選択するようにすればよい。
また、上記では本発明に係る診断対象として画像形成装置10を例に説明したが、本発明に係る診断対象は、診断対象の複数の構成要素のうちの一部の構成要素における障害発生の因果関係が、診断対象の動作モード又は動作タイミングによって変化するものであればよく、例えば自動車や航空、ロボットや半導体設計装置等の機器、或いは回路基板等であってもよい。また、本発明に係る診断対象は各種の機器や回路基板に限られるものでもなく、複数の構成要素としての複数のソフトウェア・コンポーネントから成るプログラムであってもよい。本発明に係る診断対象として適用可能なプログラムの構成の一例を図6(A)に示す。
図6(A)に示すプログラムは複写機等の画像形成装置に搭載されるプログラムであり、複数のソフトウェア・コンポーネントとして、複写処理全体を制御する「コピー」コンポーネントと、画像読取処理を制御する「スキャン」コンポーネントと、印刷処理を制御する「プリント」コンポーネントと、から構成されている。このプログラムは以下のように動作する。
すなわち、利用者が画像形成装置に設けられたコピーボタンを押すと「コピー」コンポーネントが起動し、「コピー」コンポーネントは「スキャン」コンポーネントを起動してスキャン指示を出力する。スキャン指示が入力されると、「スキャン」コンポーネントはスキャナドライバに画像の読み取り(スキャン実行)を指示する。スキャナドライバは画像の読み取りを行い、当該読み取りによって得られた画像データをドキュメントとしてメモリ又はHDDのファイルシステムに保持させ、そのポインタと共にスキャン終了フラグを「スキャン」コンポーネントへ渡す。次に「スキャン」コンポーネントは「コピー」コンポーネントへスキャン終了を通知し、「コピー」コンポーネントは受け取ったドキュメントのポインタと共に「プリント」コンポーネントへプリント指示を出力する。「プリント」コンポーネントはドキュメントのポインタを基にメモリ又はHDDから画像データを読み出してラスタデータに変換しROSドライバに渡して画像を印刷させる。画像の印刷が終了すると「プリント」コンポーネントはプリント終了フラグを「コピー」コンポーネントに渡す。これにより複写処理が完了する。
上記のように動作するプログラムにおいて、「コピー」コンポーネントと「プリント」コンポーネントとの関係に注目すると、両コンポーネントの間では双方向の通信が行われるので、上記のプログラムに対して障害診断を行うための障害診断モデルの一部(「コピー」コンポーネント及び「プリント」コンポーネントに対応する部分)は図6(B),(C)に示す2つの状態をとり得る。そして、この2つの状態において、「コピー」コンポーネント及び「プリント」コンポーネントにおける障害発生の因果関係は相違している。なお、図6(B)に示すモデルは「コピー」コンポーネントが「プリント」コンポーネントからのプリント終了フラグを待っている状態に対応し、図6(C)に示すモデルは「コピー」コンポーネントが「プリント」コンポーネントへプリント指示を出力する状態に対応している。また、図6(B)における証拠ノード"Ev003"は「プリント実行タイムアウト」が検出されたか否かを表し、図6(C)における証拠ノード"Ev004"は「コピーコンポーネントのデッドロック」が検出されたか否かを表している。
ここで、図6(B)に示す障害診断モデルに対応する状態において、「プリント」コンポーネントから指定時間以内に応答が無いことで、証拠ノード"Ev003"が「プリント実行タイムアウト」が検出有りの状態になった場合には、図6(B)に示す障害診断モデルに基づいて「プリント」コンポーネントの異常と診断することができる。また、図6(C)に示す障害診断モデルに対応する状態において、「コピー」コンポーネントのデッドロックが検出されることで、証拠ノード"Ev004"が「コピーコンポーネントのデッドロック」が検出有りの状態になった場合には、図6(C)に示す障害診断モデルに基づいて「コピー」コンポーネントの異常と診断することができる。
この態様においても、図6(B),(C)に示す2つの状態のうちの一方の状態に対応する情報(「コピー」コンポーネントに対応するノード及び「プリント」コンポーネントに対応するノードの因果関係情報)を障害診断モデルの本体データとして保持すると共に、2つの状態のうちの他方の状態に対応する情報を障害診断モデルのサブデータとして保持しておき、前記一方の状態で発生した障害を診断する場合は、障害診断モデルの本体データを障害診断にそのまま用い前記他方の状態で発生した障害を診断する場合は、障害診断モデルの本体データの一部を前記他方の状態に対応するサブデータで書替えて障害診断に用いることで、障害診断モデルの本体データを複数保持することなく、図6(B),(C)に示す2つの状態における障害診断を各々行うことができる。
また、上記では画像形成装置10に障害が発生したことが観測される毎に、障害診断モデルの本体データを記憶部28からメモリ26Bに読み込む態様を説明したが、本発明はこれに限定されるものではなく、障害診断処理として図7に示す処理を行うようにしてもよい。なお、図7に示す障害診断処理を行う態様では、障害診断モデルのサブデータとして、記憶部28に記憶されている障害診断モデルの本体データに対応する動作モード(例えば動作モードA)を含む、画像形成装置10に設けられた個々の動作モードに対応する複数の因果関係情報が画像形成装置10の記憶部28に各々記憶されている。
図7に示す障害診断処理は、画像形成装置10の電源が投入され、画像形成装置10が稼働を開始すると実行され、まずステップ70において、障害診断モデルの本体データを記憶部28から読み込み、読み込んだ本体データをメモリ26Bの所定の記憶領域に記憶させる。なお、メモリ26Bの所定の記憶領域に記憶された本体データは、画像形成装置10が稼働している間中、同記憶領域にメモリ26Bに継続的に記憶されるので、ステップ70は請求項5に記載の管理手段に対応している。またステップ72では、前回の動作モードの初期値として、障害診断モデルの本体データに対応する所定の動作モード(動作モードA)を設定する。
ステップ74では画像形成装置10の稼働が終了されるか否か判定する。判定が否定された場合はステップ76へ移行し、画像形成装置10に障害が発生したことが観測されたか否か判定する。この判定も否定された場合はステップ74に戻り、何れかの判定が肯定される迄ステップ74,76を繰り返す。画像形成装置10に障害が発生したことが観測されると、ステップ76の判定が肯定されてステップ50へ移行し、先に説明した障害診断処理(図5)と同様、センサデータの取得(ステップ50)、状態レジスタに保持されているデータの取得(ステップ52)、画像形成装置10の動作モードの判定(ステップ54)を行った後に、次のステップ78において、ステップ54で判定した障害発生の検出(観測)時の画像形成装置10の動作モード(今回の動作モード)が、前回の動作モードとして設定されている動作モード(初期値は動作モードA)と一致しているか否か判定する。この判定が肯定された場合、メモリ26Bの所定の記憶領域に記憶されている障害診断モデルのデータは、画像形成装置10が今回の動作モードのときの障害診断モデルを表すデータであると判断できるので、ステップ80〜ステップ84をスキップしてステップ64へ移行する。
また、ステップ78の判定が否定された場合、メモリ26Bの所定の記憶領域に記憶されている障害診断モデルのデータは、画像形成装置10が今回の動作モードと別の動作モードのときの障害診断モデルを表すデータであるので、ステップ80へ移行し、ステップ80で画像形成装置10の今回の動作モードに対応する障害診断モデルのサブデータを記憶部28から読み込み、次のステップ82において、メモリ26Bの所定の記憶領域に記憶されている障害診断モデルのデータのうち、ステップ80で読み込んだサブデータと重複している一部の因果関係情報を、読み込んだサブデータに含まれる対応する因果関係情報に上書きする。これにより、メモリ26Bの所定の記憶領域に記憶されている障害診断モデルのデータが、画像形成装置10が今回の動作モードのときの障害診断モデルを表すデータに書替わることになる。そしてステップ84では、前回の動作モードとして今回の動作モードを設定し、ステップ64へ移行する。なお、上述したステップ80〜ステップ84は請求項5(詳しくは請求項6)に記載の書替手段に対応している。
ステップ64では、メモリ26Bの所定の記憶領域に記憶されている障害診断モデルのデータ(画像形成装置10が今回の動作モードのときの障害診断モデルを表すデータ)を用いて画像形成装置10の障害診断(推論)を行う。また、次のステップ66では障害診断の結果を出力してステップ74に戻り、ステップ74以降の処理を繰り返す。上述したように、図7に示す障害診断処理では、画像形成装置10が稼働している間中、メモリ26Bの所定の記憶領域に障害診断モデルのデータを継続的に記憶させておくので、障害診断時に障害診断モデルの本体データを記憶部28から読み込んでメモリ26Bにロードする必要が無くなり、障害診断に要する時間を短縮することができる。また、障害診断時には、今回の動作モードが前回の動作モード(初期値は記憶部28に記憶されている障害診断モデルの本体データに対応する動作モードA)と一致しているか否か判定し、不一致の場合は、今回の動作モードに対応するサブデータを記憶部28から読み込み、メモリ26Bの所定の記憶領域に記憶されている障害診断モデルのデータの一部を上書きすることで障害診断モデルのデータの書替えを行うので、障害診断モデルのデータを書替える際の使用メモリ容量を節減することができる。
また、上記では本発明に係る障害診断プログラムが記憶部28に予め記憶(インストール)されている態様を説明したが、本発明に係る障害診断プログラムは、CD−ROMやDVD−ROM等の記録媒体に記録されている形態で提供することも可能である。また、上記では本発明に係る障害診断プログラムが、診断対象としての画像形成装置10に内蔵されたコンピュータ(コントローラ部26のCPU26A)によって実行される態様を説明したが、本発明に係る障害診断プログラムは、診断対象と別に設けられたコンピュータで実行することも可能であることは言うまでもない。