(57)【特許請求の範囲】
【請求項１】
自己診断によって得られたシステムの異常コードから異常監視装置に搭載するコンピュータが異常診断結果を出力する異常監視方式であって、
前記異常コードの発生組み合わせとそれから特定される異常部位を示す出力メッセージとの関係を示すシーケンス図に基づき、前記異常コードの組み合わせと前記出力メッセージとの関係を前記異常コードの発生組み合わせで表される中間変数を含めてコンピュータの論理記述言語に展開しておく手段と、前記コンピュータの論理記述言語から前記中間変数の抜き出しと並べ替えをしかつ前記中間変数及び前記出力メッセージを前記異常コード又は中間変数を条件とする論理積行又は論理積行と論理和行からなる論理記述言語に展開しておく手段と、前記論理積行又は論理積行と論理和行からなる論理記述言語を前記各論理積行又は論理積行と論理和行に含まれる前記異常コード又は中間変数のデータ列からなる異常コード行のシーケンスデータ構造に展開しておく手段とからなるオフライン処理によって異常コード行のシーケンスデータを作成しておき、
前記異常監視装置は、前記異常コード行のシーケンスデータを、該異常監視装置内に搭載した実時間処理プログラムが参照するデータ構造に展開して該実時間処理プログラムに格納しておく手段と、前記実時間処理プログラムの実行によって前記シーケンスデータと発生した異常コードからオンラインで異常部位を推定してメッセージを出力する手段とを備えたことを特徴とする異常監視方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータを使用したシステムの異常監視装置に係り、特に異常部位を特定する方式に関する。
【０００２】
【従来の技術】
例えば、コンピュータを使用したディジタルリレーシステムの異常監視には、マイクロコンピュータが自己診断によって得られる結果をエラーコード（異常コードとも呼ぶ）などによってシステムの操作部に表示する。
【０００３】
具体的には、常時監視や自動点検によって得られた自己診断結果が異常コードとして表示される。そして、異常コードの表示に対しては、保守員がエラーコードから異常部位を推定し、その推定した異常部位の回路交換などを行う。
【０００４】
一般に、従来の異常監視方式は、どの部位の異常監視であるからという意味で「ＣＰＵ，ＡＩ，ＤＩＯ，整定値」などのような概略部位が判る監視と表示を行い、詳細に表示する場合などは監視項目に対応したコードを割り当て、これを異常コードとして異常発生時に表示している。
【０００５】
また、異常表示方法は、ＬＥＤ表示などによる表示点数の制限から、まとめられたり、監視対象の増大からコードの桁数を拡大（３桁のコードで４０９６、４桁で６５５３６個の項目を表現可能）、また時系列に発生したコードの組み合わせから管理している。
【０００６】
【発明が解決しようとする課題】
コンピュータによる異常監視は、それらを構築しているシステムによって異常監視対象が異なり、そのアプリケーションに特化した異常監視になることが多く、汎用性に劣る異常監視方式になる。
【０００７】
また、アプリケーションに特化した異常監視では、異常監視部位を直接に監視できないため、その構成回路から異常監視条件を定めている場合がある。
【０００８】
例えば、ディジタルリレーシステムの場合は、電圧平衡度チェックがあるが、これは３相の電圧がバランスしているという前提で監視されることになる。しかし、電圧平衡度を直接監視することができないため、フィルタやＡ／Ｄ変換器などの回路を通したディジタル信号をソフトウェア処理により監視するものである。このとき、フィルタ１つがオープン故障しても電圧平衡度チェックが異常となり、異常部位を直接に監視表示できるものではない。
【０００９】
本発明の目的は、異常コードから直接の異常部位を推定・表示でき、汎用性にも優れる監視方式を提供することにある。
【００１０】
【課題を解決するための手段】
本発明は、自己診断によって得られたシステムの異常コードから異常監視装置に搭載するコンピュータが異常診断結果を出力する異常監視方式であって、
前記異常コードの発生組み合わせとそれから特定される異常部位を示す出力メッセージとの関係を示すシーケンス図に基づき、前記異常コードの組み合わせと前記出力メッセージとの関係を前記異常コードの発生組み合わせで表される中間変数を含めてコンピュータの論理記述言語に展開しておく手段と、前記コンピュータの論理記述言語から前記中間変数の抜き出しと並べ替えをしかつ前記中間変数及び前記出力メッセージを前記異常コード又は中間変数を条件とする論理積行又は論理積行と論理和行からなる論理記述言語に展開しておく手段と、前記論理積行又は論理積行と論理和行からなる論理記述言語を前記各論理積行又は論理積行と論理和行に含まれる前記異常コード又は中間変数のデータ列からなる異常コード行のシーケンスデータ構造に展開しておく手段とからなるオフライン処理によって異常コード行のシーケンスデータを作成しておき、
前記異常監視装置は、前記異常コード行のシーケンスデータを、該異常監視装置内に搭載した実時間処理プログラムが参照するデータ構造に展開して該実時間処理プログラムに格納しておく手段と、前記実時間処理プログラムの実行によって前記シーケンスデータと発生した異常コードからオンラインで異常部位を推定してメッセージを出力する手段とを備えたことを特徴とする。
【００１１】
これら手段により、異常コードの発生の組み合わせでマイクロコンピュータ自身が異常部位を推定するためのシーケンスを組み、このシーケンスの論理をコンピュータで処理し易い記述言語のテキストに変換し、このテキストから中間変数も含めて論理積のみ又は論理和と組み合わせたシーケンスデータ構造に展開することで実時間処理系の処理の標準化と簡単化及び高速化を図りながら異常部位の推定ができるようにする。
【００１２】
【発明の実施の形態】
図１は、本発明の実施形態を示す異常監視方式の処理手順である。以下、各処理を詳細に説明する。
【００１３】
（Ｓ１）異常コードから異常部位を特定するシーケンスを作成。
【００１４】
複数の項目の監視結果は、異常コードで管理されるが、これらの異常コードの発生組み合わせでマイクロコンピュータ自身が異常部位を推定するため、エラーコードの組み合わせによる出力メッセージ（異常部位推定結果）をシーケンス処理として作成する。この場合、シーケンス処理をシーケンス図として表現してもよい。
【００１５】
図２及び図３にシーケンス図を例示する。例えば、図２において、入力側の数値「４００４」等がエラーコードを示し、出力側の「ＰＴ回路」等が故障部位推定メッセージを示す。また、ＡＮＤやＯＲで示す論理条件は、例えば、図３の「モデム（スロット３）」を異常部位と推定するＡＮＤ記号は、受信クロック停止（エラーコード１８０１）が有り、かつ、モデムＣＤエラー（エラーコード１８０２）が無く、かつモデムＣＭＩエラー（エラーコード１８０３）が無い場合を示す。
【００１６】
（Ｓ２）シーケンス図を論理記述言語に展開。
【００１７】
処理Ｓ１で作成されたシーケンス図をコンピュータで処理し易いテキストに変換する。この変換は、シーケンス図を読み取り、変換作業を行うか、又はＣＡＤ等を利用して自動的に行い、シーケンスの論理を表現した記述言語に展開する。
【００１８】
図４は、図２及び図３を記述言語に展開した例を示し、ＡＮＤ記号を「＆」、ＯＲ記号を「＃」、否定記号を「！」、出力記号を「＝」、行の終わりを「；」とするルールを使って記述される。
【００１９】
この例の中で、Ｎ１〜Ｎ４は、いくつかの入力条件の論理積又は論理和によって得られた中間変数を示し、入力条件をまとめて別の意味を定義したり、記述言語の行単位で処理できる論理積又は論理和の変数の数を拡張するのに利用する。
【００２０】
（Ｓ３）中間変数の抜き出しと並び替え。
【００２１】
展開した記述言語を実際の処理系、つまり異常監視アプリケーションの時間的制約、シーケンス容量的制約、シーケンス図の表現のわかりやすさなどを考慮した中間変数を用意してもよい。処理Ｓ３では、記述言語から中間変数を抜き出し、その並び替えをした後、記述言語をＡＮＤ行のみに変換する。図５は、図４をＡＮＤ行のみに展開した例である。
【００２２】
（Ｓ４）処理系プログラムのデータ構造に展開。
【００２３】
実時間処理系のための最適化を図るため、処理Ｓ３で変換した記述言語について実時間処理系プログラムに格納しておくシーケンスデータ構造に展開する。図６に図５のデータを展開したデータ定義例を示し、中間変数も異なるエラーコード行として別行（ＯＲ）に展開し、複数のエラーコードの組み合わせからなる場合には１つの行（ＡＮＤ）にする。
【００２４】
また、中間変数をもつエラーコードは、各エラーコードを中間変数にまとめて展開する。例えば、外部ＣＴ回路は、ＡＮＤ行に中間変数Ｎ１及び否定記号をもつ中間変数！Ｎ２をもつ。
【００２５】
（Ｓ５）実時間処理プログラムによる異常部位推定処理。
【００２６】
前記までの処理Ｓ１〜Ｓ４は、複数のエラーコードから異常部位を推定してメッセージを得るためのシーケンスをデータ化するオフライン処理になる。
【００２７】
これに対して、本処理Ｓ５は、処理Ｓ４で展開したシーケンスデータと発生したエラーコードから異常部位を推定してメッセージを得るオンライン処理を行う。
【００２８】
この処理は、監視システムに実装したプログラムにより、監視対象から発生したエラーコードからシーケンスデータに従い論理の真偽をチェックし、異常部位を推定したメッセージを出力する。
【００２９】
すなわち、ＡＮＤ行データ列では、否定記号がなければエラーコードが有りのチェックを行えばよく、否定記号があればエラーコードが無しのチェックを行えばよく、ＡＮＤ行データ列ではそのすべてが成立していればよいことになる。また、行別になるＯＲ行は、すべての組み合わせの種類があるということで個々に展開することで実時間処理プログラムの処理負担を小さくする。
【００３０】
図７〜図９は、図６のＡＮＤ行のみに展開されたシーケンスデータを使って異常部位の特定とメッセージを出力するための実時間処理プログラムのフローを示す。
【００３１】
図７においては、ＡＮＤ行のみに展開されたシーケンスデータｔｂｌ（ｎ，ｉ）を行数ｎとフィールド数ｉ別に読み込んでおき（Ｓ１１）、異常発生時のエラーコードｅｒ（ｊ）をエラーコード数ｊ別に読み込み（Ｓ１２）により中間変数処理（Ｓ１３）とシーケンスメッセージ出力処理（Ｓ１４）を行う。
【００３２】
図８は、中間変数処理（Ｓ１３）の詳細を示す。まず、エラーコードの発生で中間変数のシーケンス行のスキャン（Ｓ１３1）と当該シーケンス行のフィールドのスキャン（１３2）を行い、当該フィールドに否定「！」条件有りの場合（Ｓ１３30）、当該エラーコードがあるか否かのチェックを行い（Ｓ１３3A）、エラーコードが無しの条件で条件成立を真とする（Ｓ１３4A）。また、エラーコードが有りの条件で条件不成立を偽とする（Ｓ１３5A）。当該フィールドに否定「！」条件無しの場合、当該フィールドにエラーコードｅｒ［ｊ］に一致するエラーコードデータがあるか否かをチェックする（Ｓ１３3B）。
【００３３】
このチェックで条件が一致するとき、否定条件「！」が無く、エラーコードが有りの場合、  当該中間変数について条件成立（真）のエラーコードとする（Ｓ１３5B）。逆に、否定条件「！」が無く、エラーコードが無しの場合、条件が不一致では当該中間変数について条件不成立（偽）のエラーコードとする（Ｓ１３4B）。
【００３４】
このようなチェックと処理を１つの行について終えると（Ｓ１３６）、当該行の中間変数の真偽を出力し、このうち真になる中間変数をエラーコードｅｒ（ｊ）として追加する（Ｓ１３７）。以上の中間変数の各行の処理をシーケンス行の最終まで行う（Ｓ１３８）。
【００３５】
このように、エラーコードの有無を中間変数の真偽でまとめてエラーコードｅｒ（ｊ）として追加しておくことにより、後のエラーコードの有無チェック回数を減らす。例えば、中間変数Ｎ１の真偽結果は、図６の外部ＣＴ回路のＡＮＤ論理成立の有無チェックに使用され、中間変数Ｎ１のＡＮＤ条件になるエラーコード「４０３１」や「！４００１」を１回チェックしておくことによりそれらの再チェックを不要にする。
【００３６】
図９は、中間変数処理（Ｓ１３）を終えた後のシーケンスメッセージ出力処理（Ｓ１４）の詳細を示す。まず、中間変数行を除いたシーケンスデータ（中間変数処理で真となって追加されたエラーコードも含む）の各行のスキャン（Ｓ１４1）と当該シーケンス行のフィールドのスキャン（１４2）を行い、当該フィールドに否定「！」条件有りの場合（Ｓ１４30）、当該エラーコードがあるか否かのチェックを行い（Ｓ１４3A）、エラーコードが無しの条件で条件成立を真とする（Ｓ１４4A）。また、エラーコードが有りの条件で条件不成立を偽とする（Ｓ１４5A）。当該フィールドに否定「！」条件が無しの場合、当該フィールドにエラーコードｅｒ［ｊ］に一致するエラーコードデータがあるか否かをチェックする（Ｓ１４3B）。
【００３７】
このチェックで条件が一致するとき、否定条件「！」が無く、エラーコードが有りの場合、当該エラーコードについて条件成立（真）とし（Ｓ１４5B）。逆に、否定条件「！」が無く、エラーコードが無しの場合、条件が不一致では当該エラーコードについて条件不成立（偽）とする（Ｓ１４4B）。
【００３８】
このようなチェックと処理を１つの行について終えると（Ｓ１４６）、当該行のＡＮＤ論理が成立するか否かをチェックし（Ｓ１４７）、成立すれば当該行の「ＰＴ回路」等の故障部位推定メッセージを出力する（Ｓ１４８）。成立しなければ次のエラーコード行について処理Ｓ１４１〜Ｓ１４８を最終シーケンス行まで処理を繰り返し（Ｓ１４９）、エラーコードによって成立するシーケンス処理の結果から故障部位推定メッセージを得る。
【００３９】
したがって、本実施形態によれば、エラーコードの発生の組み合わせでマイクロコンピュータ自身が異常部位を推定するためのシーケンスを組み、このシーケンスの論理をコンピュータで処理し易い記述言語のテキストに変換し、このテキストから中間変数も含めてＡＮＤ行のみのシーケンスデータ構造に展開することで実時間処理系の処理の標準化（汎用性を確保）と簡単化及び高速化を図りながら異常部位の推定ができるようにする。
【００４０】
本発明の他の実施形態を図１０〜図１４を参照して以下に詳細に説明する。前記の実施形態ではシーケンスデータ構造をＡＮＤ行のみに展開するため、シーケンスデータ構造の増大を招くことがある。本実施形態では、実時間処理系にＡＮＤ判別の他にＯＲ判別の機能を含め、シーケンスデータ構造にはＯＲ行の記述も許容し、そのコンパクト化を図る。
【００４１】
図１０は、図１の処理（Ｓ３）において、中間変数の抜き出しと並べ替えに際して、記述言語をＡＮＤとＯＲ行のみに変換した場合を示す。また、図１１は、図１の処理（Ｓ４）において、図１０の記述言語を処理系プログラムのデータ構造に展開した場合を示す。
【００４２】
これらＡＮＤ行の他にＯＲ行の記述を許容することで、シーケンスデータ構造のコンパクト化を図る。これに伴い、実時間処理系にはＡＮＤ行の他にＯＲ行についてのエラーコード判別を可能とする処理機能を付加する。
【００４３】
この処理機能のうち、ＡＮＤ行については前記の実施形態と同じに、否定記号が無ければエラーコードが有りのチェックを行い、否定記号が有ればエラーコード無しのチェックを行う。
【００４４】
ＯＲ行については、ＯＲ行にあるエラーコードが少なくとも１つが該当していればよいとする。
【００４５】
図１２は、実時間処理系プログラムのフローを示し、図７と同じ処理手順になる。この内、中間変数処理Ｓ１３は、図１３に示すようになり、図８の処理にＯＲ行処理を追加したものになる。このため、シーケンス行のスキャン（Ｓ１３１）の後に、当該シーケンス行がＡＮＤ行かＯＲ行かをチェックし（Ｓ１３９、Ｓ１３１０）、ＯＲ行であれば処理Ｓ１３１１〜Ｓ１３１５を実行する。
【００４６】
これら処理Ｓ１３１１〜Ｓ１３１５は、ＡＮＤ行の中間変数処理と同様になり、異なる部分は、エラーコードデータがあるか否かをチェックしたとき（Ｓ１３１２）、条件が一致するとき、当該ＯＲ行の中間変数について条件成立（真）のエラーコードとし（Ｓ１３１３）、ＯＲ行の中間変数についてもその真偽出力を追加する（Ｓ１３１５）。
【００４７】
図１４は、中間変数処理（Ｓ１３）を終えた後のシーケンスメッセージ出力処理（Ｓ１４）の詳細を示す。この処理においても、図９の処理にＯＲ行処理を追加したものになる。このため、シーケンス行のスキャン（Ｓ１４１）の後に、当該シーケンス行がＡＮＤ行かＯＲ行かをチェックし（Ｓ１４１０、Ｓ１４１１）、ＯＲ行であれば処理Ｓ１４１２〜Ｓ１４１７を実行する。
【００４８】
これら処理Ｓ１４１２〜Ｓ１４１７は、ＡＮＤ行のシーケンスメッセージ出力と同様になり、異なる部分は、エラーコードデータがあるときに当該ＯＲ行について条件成立（Ｓ１４１４）とＯＲ論理成立チェック（Ｓ１４１６）したメッセージ出力にある。
【００４９】
【発明の効果】
以上のとおり、本発明によれば、異常コードの発生の組み合わせでマイクロコンピュータ自身が異常部位を推定するためのシーケンスを組み、このシーケンスの論理をコンピュータで処理し易い記述言語のテキストに変換し、このテキストから中間変数も含めて論理積のみ又は論理和と組み合わせたシーケンスデータ構造に展開しておき、発生するエラーコードとシーケンスからコンピュータが異常部位を推定してそのメッセージを出力するようにしたため、異常部位を特定した異常監視ができる。
【００５０】
また、異常部位特定のシーケンスがデータ化されるため、実時間処理系のプログラムの部位特定の処理の標準化と簡単化及び高速化を図ることができる。
【図面の簡単な説明】
【図１】本発明の実施形態を示す処理手順。
【図２】実施形態における異常監視シーケンス例。
【図３】実施形態における異常監視シーケンス例。
【図４】実施形態における記述言語による展開例。
【図５】実施形態におけるＡＮＤ行のみの展開例。
【図６】実施形態における実時間処理系へのデータ定義例。
【図７】実時間処理系プログラムフロー。
【図８】図７の中間変数処理フロー。
【図９】図７のメッセージ出力処理フロー。
【図１０】他の実施形態におけるＡＮＤ、ＯＲ行のみの展開例。
【図１１】他の実施形態における実時間処理系へのデータ定義例。
【図１２】他の実施形態の実時間処理系プログラムフロー。
【図１３】図１２の中間変数処理フロー。
【図１４】図１２のメッセージ出力処理フロー。
【図１】
0003629332.tif 000002
【図２】
0003629332.tif 000003
【図３】
0003629332.tif 000004
【図４】
0003629332.tif 000005
【図５】
0003629332.tif 000006
【図６】
0003629332.tif 000007
【図７】
0003629332.tif 000008
【図８】
0003629332.tif 000009
【図９】
0003629332.tif 000010
【図１０】
0003629332.tif 000011
【図１１】
0003629332.tif 000012
【図１２】
0003629332.tif 000013
【図１３】
0003629332.tif 000014
【図１４】
0003629332.tif 000015