(57)【要約】【課題】  計算機システムにおいて、データ通信路の断線や短絡などの故障を自己診断するための装置と方式を提供する場合、データ通信路を自身で駆動し観測するだけでは、断線や短絡を自己診断することが困難である。【解決手段】  診断モジュール３０は、自己診断に必要な情報をデータ通信路１０につながる観測モジュール４０から得る。自己診断をする診断モジュール３０と観測モジュール４０との間は診断通信路２０で接続し、診断用の情報を交換する。【選択図】図１
2006139634.tif 000002
【特許請求の範囲】
【請求項１】
通信路出力部によりデータ通信路に送信されたデータを前記データ通信路から受信する通信路受信部と、前記通信路出力部が前記データ通信路に送信したデータと前記通信路受信部が受信したデータとを比較した比較結果を算出する診断制御部とを備えることを特徴とする設備管理装置。
【請求項２】
データをデータ通信路に送信する通信路出力部と、前記通信路出力部により前記データ通信路に送信されたデータを前記データ通信路から受信する通信路受信部と、前記通信路出力部が前記データ通信路に送信したデータと前記通信路受信部が受信したデータとを比較した比較結果を算出する診断制御部とを備えることを特徴とする設備管理装置。
【請求項３】
請求項２において、前記通信路出力部が複数あり、前記データ通信路の使用を通信路出力部に許可する信号を前記通信路出力部に送信するアービタを備え、前記アービタが送信した前記データ通信路の使用を許可する信号により許可された通信路出力部がデータを前記データ通信路に送信することを特徴とする設備管理装置。
【請求項４】
データをデータ通信路に送信する第１の通信路出力部と、前記データ通信路に送信されたデータを前記データ通信路から受信する第１の通信路受信部と、前記第１の通信路出力部がデータ通信路に送信したデータと前記第１の通信路受信部が受信したデータとを比較した比較結果を出力する第１の診断制御部とを備える第１の診断装置と、データを前記データ通信路に送信する第２の通信路出力部と、前記通信路出力部により前記データ通信路に送信されたデータをデータ通信路から受信する第２の通信路受信部と、前記第２の通信路出力部がデータ通信路に送信したデータと前記第２の通信路受信部が受信したデータとを比較した比較結果を出力する第２の診断制御部とを備える第２の診断装置とを備え、前記第１の通信路出力部が前記データ通信路に送信したデータを前記通信路から前記第２の通信路観測部が受信し、前記第２の診断装置が前記第２の通信路受信部が受信したデータを前記第１の診断制御部に送信する第２の診断通信部を備え、前記第１の診断制御部は前記第２の診断通信部が送信したデータと前記第１の通信路出力部がデータ通信路に送信したデータとを比較した比較結果を算出することを特徴とする設備管理装置。
【請求項５】
請求項４において、前記第１の診断制御部は前記第１の通信路出力部が前記データ通信路に送信したデータと前記第１の通信路受信部が受信したデータが同一の場合、前記第２の診断通信部が送信したデータと前記第１の通信路出力部がデータ通信路に送信したデータとを比較した比較結果を算出する算出部を備えることを特徴とする設備管理装置。
【請求項６】
データをデータ通信路に送信する通信路出力部と、前記通信路出力部により前記データ通信路に送信されたデータを前記データ通信路から受信する通信路受信部と、前記通信路出力部が前記データ通信路に送信したデータと前記通信路受信部が受信したデータとを比較した比較結果を出力する診断制御部とを備えることを特徴とする通信路診断装置。
【請求項７】
請求項６において、前記通信路出力部が複数あり、前記データ通信路の使用を通信路出力部に許可する信号を通信路出力部に送信するアービタを備え、前記アービタが送信した前記データ通信路の使用を許可する信号により許可された通信路出力部がデータを前記データ通信路に送信することを特徴とする通信路診断装置。
【請求項８】
データをデータ通信路に送信する第１の通信路出力部と、前記データ通信路に送信されたデータを前記データ通信路から受信する第１の通信路受信部と、前記第１の通信路出力部がデータ通信路に送信したデータと前記第１の通信路受信部が受信したデータとを比較しその比較結果を出力する第１の診断制御部とを備える第１の診断装置と、データを前記データ通信路に送信する第２の通信路出力部と、前記通信路出力部により前記データ通信路に送信されたデータを前記データ通信路から受信する第２の通信路受信部と、前記第２の通信路出力部が前記データ通信路に送信したデータと前記第２の通信路受信部が受信したデータとを比較した比較結果を出力する第２の診断制御部とを備える第２の診断装置とを備え、前記第１の通信路出力部が前記データ通信路に送信したデータを前記データ通信路から前記第２の通信路受信部が受信し、前記第２の診断装置が前記第２の通信路受信部が受信したデータを前記第１の診断制御部に送信する第２の診断通信部を備え、前記第１の診断制御部は前記第２の診断通信部が送信したデータと前記第１の通信路出力部が前記データ通信路に送信したデータとを比較した比較結果を算出することを特徴とする通信路診断装置。
【請求項９】
請求項８において、前記第１の診断制御部は前記第１の通信路出力部が前記データ通信路に送信したデータと前記第１の通信路受信部が受信したデータが同一の場合、前記第２の診断通信部が送信したデータと前記第１の通信路出力部が前記データ通信路に送信したデータとを比較した比較結果を算出することを特徴とする通信路診断装置。
【請求項１０】
データを通信路出力部によりデータ通信路に送信する通信路出力手順と、前記通信路出力手順により前記データ通信路に送信されたデータを通信路受信部により前記データ通信路から受信する通信路受信手順と、前記通信路出力手順により前記データ通信路に送信したデータと前記通信路受信部が受信したデータとを比較した比較結果を算出する診断制御手順と、前記診断制御手順による比較結果に基づいて設備の状態を表示する表示手順とを備えることを特徴とする設備管理方法。
【請求項１１】
請求項１０において、前記通信路出力部が複数あり、前記通信路出力手順においてアービタにより通信路の使用を許可する信号により許可された通信路出力部がデータを通信路に送信することを特徴とする設備管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設備管理装置、通信路診断装置及び設備管理方法に関する。
【背景技術】
【０００２】
化学プラントやガスプラントのような複雑な制御系において、その危険性は定性的のみならず定量的に評価され、万が一の事故の場合でも作業員や周辺環境への影響を低減する策が施されている。これまで電磁的リレーや機械的安全装置により安全機能を多く実現されてきたが、近年の計算機制御技術の進歩より、プログラム可能な電子装置を安全装置の一部として利用する要望が高まっていた。そこで、電気／電子／プログラム可能電子装置を安全装置として利用するため、International Electrotechnical Commission(ＩＥＣ)６１５０８規格（日本工業規格ではＪＩＳ  Ｃ０５０８が相当）が発行された。
【０００３】
ＩＥＣ６１５０８規格では、安全機能として利用する電気／電子／プログラム可能電子装置について、その開発、設計から設置、保守、廃棄に至るまでの手順を規定している。安全機能を果たす安全装置は、それが対象とするプラント類の有するリスクを低減させるよう機能しなければならない。そのため、安全装置が有するリスクを定量的に求めることが必須となる。ＩＥＣ６１５０８規格が対象とする電気／電子／プログラム可能電子装置は、装置が有するリスク、すなわち『安全装置として稼動しない確率』を詳細に算出されなければならない。一方、電気／電子／プログラム可能電子装置は『安全装置として稼動する』状態を検知しつづけるため、自身の安全／不安全状態を診断する能力が高いことが求められる。
【０００４】
特開平６−２９００６６号公報（以下、特許文献１）の二重化装置は、計算機システムの健全性を確認する技術を開示している。すなわち、特許文献１による二重化装置では、二つの計算機システムを通信バスで結合する。一方の計算機システムは、通信バスを介して他方の計算機システムの特定アドレスへチェックデータを書き込む。他方の計算機システムはチェックデータの更新を検出し、その結果から二重化装置が正常か否かを判定する。
【０００５】
ＵＳ６７７９１２８（以下、特許文献２）のコントロールシステムは、二つの計算機モジュールの間でメモリ内容の同一化と、メモリ装置の診断とをするための技術を開示している。すなわち、一方の計算機モジュールにおけるメモリ内容を他方の計算機モジュールのメモリへコピーするために、各計算機モジュール内のプロセッサとメモリの間にスイッチを設け、各計算機モジュール内のスイッチ間を同期用信号線で結合する。一方の計算機モジュールのプロセッサは、自身のメモリ内容を読み出し、各モジュール内のスイッチと同期用信号線を介して、他方の計算機モジュールのメモリへ書き戻す。
【０００６】
【特許文献１】特開平６−２９００６６号公報
【特許文献２】ＵＳ６７７９１２８
【非特許文献１】ＩＥＣ６１５０８−１〜７、“Functional safety of electrical／electronic／programmable electronic safety-related systems”part１〜part７
【発明の開示】
【発明が解決しようとする課題】
【０００７】
安全機能に利用する計算機装置は、自己診断で検出できずに危険な故障状態となる事態を極小化し、安全装置として機能しない状態となる確率を出来る限り小さくすることを目標とする。しかしながら、自己診断の観点から、開示されている技術では本目標に対して課題がある。
【０００８】
すなわち、特許文献１に開示される二重化装置では、通信バス自身の自己診断方法が開示されない。また、故障状態となった場合に、故障部位の特定方法が開示されない。つまり、チェックデータの更新が正常になされない場合、計算機システムによる異常か通信バスによる異常かが切り分けられない。そのため、故障と判定した時、通信バス上に一般的には接続される他の入出力装置（図示されていない）との通信が可能であるか否かが明らかに出来ない。その結果、異常時の入出力装置への制御として、例えば制御系のシャットダウンを指令することが可能かどうか、判定することができない。
【０００９】
また、特許文献２に開示されるコントロールシステムでは、メモリ装置の診断方式が開示されているが、診断用信号線や計算機モジュール間信号線の診断方式が開示されていない。これらの信号線を診断できないことによる課題は、前述と同様である。
【００１０】
そこで、これらの課題に鑑みた、本発明による目的は、計算機システムを構成し、モジュール間を結合する通信路において、通信路信号線の状態を明らかにし、故障の際に通信路信号線の状態を詳細に診断することを可能とする設備管理装置及び通信路診断装置を提示することにある。
【課題を解決するための手段】
【００１１】
本発明の一つの特徴は、通信路出力部により前記データ通信路に送信されたデータをデータ通信路から受信する通信路受信部と、通信路出力部がデータ通信路に送信したデータと通信路受信部が受信したデータとを比較した比較結果を算出する診断制御部とを備えるものとした点にある。
【発明の効果】
【００１２】
本発明によれば、データ通信路の信号線毎に診断することが可能となり、その断線や短絡による故障を迅速に検出することができる。
【発明を実施するための最良の形態】
【００１３】
本発明は、計算機システムを構成し、モジュール間を結合する通信路に関して、通信路信号線の詳細な状態を診断して知ることを可能とする。
【実施例１】
【００１４】
本発明による第一の実施の形態における、計算機システムの構成を図１に示す。計算機システムは、診断モジュール３０と観測モジュール４０、さらにこれらモジュール間で、データの授受を行うデータ通信路１０と診断用情報を授受する診断通信路２０からなる。
【００１５】
ここで、これらの通信路を構成する信号線の駆動様態として、高電位と低電位との２値で駆動されることが一般的である。しかしながら、多値を伝送すべく複数電位で駆動されることや、複数の信号を組み合わせて差動電位で情報を伝送することなど、当業者に周知の伝送方式を利用することは、本発明を制限するものではない。また、データ通信路１０と診断通信路２０は、複数の信号線を並列に用いるパラレルバスであっても、単一（あるいは差動の）信号を用いるシリアルバス（あるいはチャネル）であっても、さらにはこれらの組み合わせで構成される伝送路であっても、本発明を制限するものではない。
【００１６】
なお以降では、２値の駆動様態を持つ信号線を、有効状態に駆動することを「assert
（アサート）」、無効状態に駆動することを「negate（ネゲート）」と称する。例えば、負極性の信号であれば、低電位(Low) へ駆動することをアサート、高電位（High）へ駆動することをネゲートと称する。
【００１７】
本実施例では、データ通信路１０を２値の双方向パラレルバス方式、診断通信路２０を単方向のシリアルチャネル２対として説明する。診断通信路２０において、診断モジュール３０から観測モジュール４０への向きのシリアルチャネルを下りチャネル２０ａ、反対方向を上りチャネル２０ｂとする。しかしながら、本発明が、これらの組み合わせのみに制約されないのは上述のとおりである。また本実施例では、データ通信路１０へのアクセスを開始できるマスタモジュールは、診断モジュール３０のみとする、単一マスタシステムの場合を説明する。
【００１８】
さて、診断モジュール３０は、主診断用装置１００とプロセッサ３００と、これらを相互に接続するプロセッサバス３２０からなる。主診断用装置１００は、診断制御部１４０と診断通信部１６０、データ通信路１０を、データ通信路スタブ１２を介して駆動する通信路出力部１２０、通信路出力部１２０のラッチアップを検出する過電流検出部１８０からなる。診断制御部１４０は、プロセッサ３００からの指令を受けて、出力指示信号１０２を介して通信路出力部１２０への制御を行う。通信路出力部１２０は、診断制御部１４０からデータ通信路１０へ出力すべきビットパターンを受け取り、データ通信路１０の状態を制御しながらデータ通信路１０の信号線（図示せず）をそのビットパターンのとおり駆動する。また、診断制御部１４０は、診断通信部１６０への制御と、診断通信部１６０からの応答を用いた診断処理を実行する。過電流検出部１８０は、通信路出力部１２０が過大な電流を消費したことを検出するためのものであり、規定値以上の電流が流れたことを検出する過電流検出回路を有する。過電流検出部１８０において過電流を検出した際には、計算機システムの保護の観点より、通信路出力部１２０の保護や計算機システムのシャットダウンなどの処理を施すことが望ましい。
【００１９】
観測モジュール４０は、従診断用装置２００からなる。従診断用装置２００は、診断応答部２４０と診断通信部２６０、データ通信路１０を、データ通信路スタブ１４を介して観測する通信路観測部２２０からなる。診断応答部２４０は、診断通信部２６０からトリガを受け、通信路観測部２２０への制御を行い、その応答を診断通信部２６０へ返答する。
【００２０】
診断通信部１６０と診断通信部２６０は、診断通信路２０（２０ａ、２０ｂ）を介して診断用情報を授受する。診断モジュール３０から観測モジュール４０への要求は下りチャネル２０ａを介して、観測モジュール４０から診断モジュール３０への応答は上りチャネル２０ｂを介して送信される。本発明では、診断通信路２０として、ＲＳ２３２ＣやＲＳ４２２、ＲＳ４８５、Low Voltage Differential Signaling（ＬＶＤＳ）などの周知技術を用いることも、また、Ethernet（登録商標）ケーブルとハブを組み合わせて用いることも可能である。特に、診断モジュール３０と観測モジュール４０が既に有するネットワーク等の通信装置と通信路があれば、診断通信部１６０あるいは２６０と診断通信路２０とを既存ネットワークと兼用することで、追加コストを低減でき好適である。
【００２１】
主診断用装置１００と従診断用装置２００に関してその構成要素は、構成要素間の通信における故障率を低減させるためには、同一チップにまとめて構成されるのが望ましい。しかしながら、技術的、経済的に同一チップ化が難しいという理由により、それら構成要素のうち一つ以上の要素が、別の部品として主診断用装置１００あるいは従診断用装置
２００からくくり出されている場合でも、本発明は適用可能である。そのため、既存の部品を活用して、新たな構成要素のみを新規に開発することで、本発明を実現するコストを低減することが可能となる。
【００２２】
ここで、診断モジュール３０と観測モジュール４０に関して、プロセッサ３００と主診断用装置１００あるいは従診断用装置２００だけではなく、一般にはメモリ（図示せず）や各種入出力装置（図示せず）を含む。これらの装置間を、プロセッサバス３２０あるいはPeripheral Component Interconnect（ＰＣＩ）バスやLow Pin Count（ＬＰＣ）バス、ＩＳＡバスなどのパラレルバスの他に、PCI ExpressやUniversal Serial Bus（ＵＳＢ）などのシリアルバスのような、当業者に周知の技術を用いて相互に接続して計算機機能を実現することが一般的であり、また本発明を制限するものではない。
【００２３】
ここで、診断モジュール３０と観測モジュール４０の物理的な実装位置について、本発明の目的である通信路の詳細な診断のためには、これらのモジュールをそれぞれデータ通信路１０の最両端に実装することが望ましい。すなわち、データ通信路１０を利用して通信する他の全ての入出力モジュール（図示せず）を、診断モジュール３０と観測モジュール４０との間に実装する。データ通信路１０が同一信号線を複数の入出力モジュールで共有するバス結合方式の通信路の場合には、信号線の両端に診断モジュール３０と観測モジュール４０を実装することで、データ通信路１０の断線を確実に検出することが可能となる。
【００２４】
本発明による第一の実施形態における、計算機システムの診断動作フローを図２に示す。はじめに、データ通信路１０を診断するよう、プロセッサ３００はトリガを受信する
（ステップ４００）。診断開始のトリガは、タイマによる定周期割り込みや、プロセッサで動作する他のタスク（図示せず）からの指令、あるいは診断モジュール３０に存在する他の装置（図示せず）からの割り込みなどによる。次いで、プロセッサ３００は診断制御部１４０へデータ通信路１０を診断するよう要求を発行する（ステップ４０２）。プロセッサ３００からの要求を受信した診断制御部１４０は、データ通信路１０を観測するよう、診断通信部１６０と下りチャネル２０ａを介して、診断応答部２４０へ要求を発行する（ステップ４０４）。
【００２５】
ここで、診断制御部１４０は、診断通信部１６０が情報を送出するに適した書式で、観測要求を発行しても良い。例えば、診断通信部１６０がEthernet（登録商標）の送受信コントローラであった場合には、送信先のＭＡＣアドレスや送信元のＭＡＣアドレスを先頭に持ち、観測要求を意味するメッセージデータを内容として持つ、完全なフレームデータを診断制御部１４０から診断通信部１６０へ渡しても良い。別の方法として、診断制御部１４０からは観測要求を意味するメッセージのみを診断通信部１６０へ送出し、診断通信部１６０が下りチャネル２０ａへの送出に必要なフレームデータを補完しても良い。
【００２６】
さて、観測要求を受信した診断応答部２４０は、その観測要求に含まれるメッセージを解読し、通信路観測部２２０へデータ通信路１０を監視するよう指令を出し（ステップ
４０６）、通信路観測部２２０は監視を開始する(ステップ４０８)。データ通信路１０の監視準備が整った段階で、診断応答部２４０は、診断通信部２６０と上りチャネル２０ｂを介して診断制御部１４０へ準備完了を応答する（ステップ４１０）。準備完了を受信した診断制御部１４０は、ついでデータ通信路１０へ出力すべきビットパターンを通信路出力部１２０へ通知する（ステップ４１２）。通信路出力部１２０は、データ通信路１０へビットパターンを出力し（ステップ４１４）、診断制御部１４０へ応答を返す（ステップ４１６）。
【００２７】
データ通信路１０を監視していた通信路観測部２２０は、データ通信路１０へ出力されたビットパターンを受信し（ステップ４１８）、受信したビットパターンを診断応答部
２４０へ応答する（ステップ４２０）。診断応答部２４０は、観測したビットパターンを診断通信部２６０と上りチャネル２０ｂを介して、診断制御部１４０へ応答として返答する(ステップ４２２)。ここで、診断応答部２４０と診断通信部２６０との関係は、前述の診断制御部１４０と診断通信部１６０との関係と同様である。診断通信部２６０が上りチャネル２０ｂへ送出する観測応答に適した方式で、診断応答部２４０が診断通信部２６０へ情報を渡すことが望ましい。
【００２８】
観測応答を受信した診断制御部１４０は、自身がステップ４１２にて通信路出力部１２０へ指示したビットパターンと、観測応答によるビットパターンを比較して診断し（ステップ４２４）、その結果をプロセッサ３００へ通知する（ステップ４２６）。診断制御部
１４０がプロセッサ３００へ通知する手段として、プロセッサが診断制御部１４０の有するレジスタをポーリングして診断応答を待つ方法か、あるいはプロセッサバス３２０を構成する割り込み信号線（図示せず）を介して、診断制御部１４０からプロセッサ３００へ割り込み通知する方法が挙げられる。最後に、プロセッサが診断応答を受理して、その結果に応じた処理動作をし、診断フローは完了する（ステップ４２８）。
【００２９】
本発明による第一の実施形態における、通信路出力部１２０の詳細な構成を図３に示す。通信路出力部１２０は、出力バッファ１２２−１〜ｎ、出力セレクタ１２４−１〜ｎ、出力選択信号１２６、診断出力信号１２８、通常出力信号１３０、診断出力制御部１３２、通信路制御信号１３４からなる（ただしｎは出力信号の数）。出力バッファ１２２−１〜ｎは、出力セレクタ１２４−１〜ｎのそれぞれから出力される信号を、データ通信路スタブ１２を介してデータ通信路１０へ出力するためのものである。出力セレクタ１２４−１〜ｎは、出力選択信号１２６で選択されたほうの入力（診断出力信号１２８あるいは通常出力信号１３０のいずれか）を、出力するものである。通常出力信号１３０は、主診断用装置１００自身が診断以外の目的でデータ通信路１０へ出力する通常出力である。通信路制御信号１３４は、データ通信路１０の状態を制御する信号を取り込んだ信号である。
【００３０】
診断出力制御部１３２は、通信路制御信号１３４と出力指示信号１０２から、出力選択信号１２６と診断出力信号１２８とを生成する。診断出力制御部１３２はステートマシンを含み、出力指示信号１０２に含まれるビットパターンの全体あるいは一部分を順次選択し、必要に応じて変調しながらデータ通信路１０へ出力する。
【００３１】
なお、図面ではデータ通信路１０が複数（ｎ本）の信号線からなる構成を示したが、ｎ＝１、すなわちシリアルバスの場合でも、本発明は有効である。この場合、例えば診断出力制御部１３２は、診断制御部１４０から受信したパラレルのビットパターンを、順次データ通信路１０へシリアルに出力する制御を行う。
【００３２】
図４に、診断出力制御部１３２の動作フローを示す。診断出力制御部１３２は、診断制御部１４０からの診断起動を指令されると、図４に示すフローを実行する。
【００３３】
最初に診断出力制御部１３２は、通信路制御信号１３４から、データ通信路１０の状態がアイドル状態、すなわちどのモジュールもデータ通信路１０を使用していないか判定する（ステップ４４０）。ここで、本実施例の場合にはデータ通信路１０のマスタは診断モジュール３０のみとしているが、任意のマスタがデータ通信路１０に接続されていても、本フローは有効である。診断出力制御部１３２は、ステップ４４０でデータ通信路１０がアイドルとなるまで待機する。その後、データ通信路１０がアイドルとなった場合には、診断出力制御部１３２は、診断の対象となる信号がデータ通信路１０の起動信号であるか否かを判定する（ステップ４４２）。診断対象が起動信号であった場合には、起動信号用の処理を行い（ステップ４４４）、診断対象がそれ以外の通常信号であった場合には、通常信号用の処理を行う（ステップ４４６）。最後に診断出力制御部１３２は、出力選択信号１２６をアサートし、診断出力信号１２８をデータ通信路１０へ出力する（ステップ
４４８）。その後、出力完了条件の成立を待ち（ステップ４５０）、条件成立した場合に診断制御部１４０へ出力完了を通知し（ステップ４５２）、診断出力処理を終了する。
【００３４】
ステップ４５０において信号駆動を継続する条件として、タイマ（図示せず）により一定時間継続する、あるいは、データ通信路１０の状態遷移規定（図示せず）において必要とされる信号線処理、例えば特定の信号線順序制御が完了するまで継続する、などが挙げられる。
【００３５】
本発明の狙いは、データ通信路１０の起動信号とそれ以外の信号とを分類し、前者を駆動せずに後者の診断を行うとともに、前者の駆動方法を工夫することにより前者自身の診断を行うことにある。
【００３６】
本発明による第一の実施形態における、通信路観測部２２０の動作フローを図５に示す。通信路観測部２２０は、データ通信路１０において駆動された信号の挙動を正確に捉え、診断応答部２４０へ通知することを目的とする。図５のフローは、通信路観測部２２０が診断応答部２４０より通信路監視設定を受信した後の動作を示す。
【００３７】
最初に、通信路観測部２２０は、データ通信路１０がアイドル状態となるまで待つ（ステップ４６０）。データ通信路１０がアイドルであった場合には、その時点のデータ通信路１０の信号線状態を保存する（ステップ４６２）。ここでは、データ通信路１０の信号線状態を保存できるだけの幅を有するレジスタｒｅｇ１とｒｅｇ２を用意し、便宜的に
ｒｅｇ１に保存するものとする。つぎに、監視完了条件が成立しているか否か判定する
（ステップ４６４）。
【００３８】
ここで、監視完了条件として、本フローを起動してからの時間をタイマ（図示せず）にて計測しタイマの値が規定値を超過する、あるいは、データ通信路１０の信号変化を規定回数以上計数した、などが挙げられる。
【００３９】
ステップ４６４において監視完了条件が成立していない場合、通信路観測部２２０は、データ通信路１０の状態を取得し、レジスタｒｅｇ２へ保存する（ステップ４６６）。そして、それ以前に保存したデータ通信路１０の状態との差異を検査する(ステップ４６８)。具体的には、ｒｅｇ１とｒｅｇ２のビット毎に排他的論理和（Exclusive OR）を演算し、その結果が非０であれば差異があったと判定する。ここで、差異が認められなければ、再びループの先頭（ステップ４６４）へ分岐する。差異が認められた場合、現在のレジスタｒｅｇ２の値を一時的な記憶、例えばFirst In First Out（ＦＩＦＯ）メモリに記録する（ステップ４７０）。その後、レジスタｒｅｇ１の値をレジスタｒｅｇ２の値で更新し、再びループの先頭であるステップ４６４へ分岐する（ステップ４７２）。
【００４０】
ステップ４６４において監視完了条件が成立した場合、ステップ４７０において保存した受信パターンを一時的な記憶、例えば前述のＦＩＦＯメモリから取得し、診断応答部
２４０へ応答し（ステップ４７４）、本フローを終了する。
【００４１】
以上の処理フローにより、通信路観測部２２０は、変化のあったデータ通信路１０の状態のみを診断応答部２４０へ通知することが可能となる。また、通信路観測部２２０における一時記憶の容量を必要最小限とすることができ、従診断用装置２００を安価に構成することが可能となる。
【００４２】
診断の精度を上げるために、レジスタｒｅｇ１とｒｅｇ２の幅を拡張して、データ通信路１０の状態に加え、取り込んだ時間が分かるようタイマ（図示せず）の値を格納できるようにする方式が挙げられる。データ通信路１０の状態を取り込んだ時間を、タイマの値から知ることより、期待したタイミングで信号線が変化したか判定することが可能となる。本方式によれば、例えば信号線がレベル変化してはいるが想定以上の駆動時間を要する、という出力バッファの故障を検出することが可能となる。
【００４３】
本発明による第一の実施形態における、データ通信路１０の構成例と、通信路出力部
１２０と通信路観測部２２０との動作フロー例とを図６に示す。図６（ａ）における信号線記号について、末尾に“＿Ｎ”とある信号は負極性を意味する。データ通信路１０は、アドレスストローブ１０ａ、リードイネーブル１０ｂ、ライトイネーブル１０ｃ、転送アクノリッジ１０ｄ、アドレス１０ｅ、データ１０ｆから構成される。この時、これらの信号線の総数は１６本であり、全部の信号線を束ねて表現すると、１６ビットの信号線で表現できる。データ通信路１０をまとめて信号線記号で“ＢＵＳ”と表記すると、データ通信路１０全体はＢＵＳ［１５：０］と表記でき、それぞれの信号線との対応は図６（ａ）で示すとおりとなる。ここで、“［１５：０］”とは１６本の信号線の表記方法である。
【００４４】
ここで、本実施例におけるデータ通信路１０の伝送方式として、アドレスストローブ
１０ａのアサートが転送起動を意味するものとする。すなわち、アドレスストローブ１０ａのアサートがなければ、データ通信路１０における転送動作は発生しないという特性があるものとする。本実施例では本特性を利用し、アドレスストローブ１０ａ以外の信号の診断を行う。なお、データ通信路１０における他の伝送方式においても、本実施例におけるアドレスストローブを、同等の転送起動を意味する信号と置き換えることにより、本発明を適用することが可能である。
【００４５】
図６（ａ）で示されるデータ通信路１０について、通信路出力部１２０の動作フローを図６（ｂ）を用いて説明する。診断制御部１４０からの出力指示信号１０２は、出力すべきビットパターン１０２ａと診断起動信号１０２ｂとを含む。ビットパターン１０２ａとして０ｘＦＦＦＥ（０ｘは１６進数をあらわす接頭記号、以下同様）を与えられた場合の動作を以下説明する。診断出力制御部１３２は、診断起動信号１０２ｂのパルスを検出すると、図４のフローに従いデータ通信路１０の状態を判定する。データ通信路１０がどのモジュールによっても駆動されていないアイドル状態の時、診断出力制御部１３２は、駆動する信号パターンがバス起動信号であるアドレスストローブ１０ａか否かを判定する。図６（ｂ）の場合には、アドレスストローブ１０ａのアサートでないため、ビットパターン１０２ａをそのまま診断出力信号１２８へと渡す。その後、診断出力信号１２８をデータ通信路１０へ出力すべく、出力選択信号１２６を駆動し、各種制御信号１０ａ〜１０ｄとアドレス１０ｅ、データ１０ｆへと出力する（時点４８０）。すると、それまでデータ通信路１０へは通常出力信号１３０で指定されていた内容、すなわちアドレス１０ｅに
０ｘＡ、データ１０ｆに０ｘ００が出力されていたのが、診断出力信号１２８により指定された内容、すなわちアドレス１０ｅに０ｘＦ、データ１０ｆに０ｘＦＥが出力される。その後、条件が成立するまでその状態を継続し、その後出力選択信号１２６をネゲートし、データ通信路１０への出力内容を変更し（時点４８２）、診断出力を終了する。
【００４６】
次に、診断出力制御部１３２が、ビットパターン１０２ａに０ｘ７ＦＦＦと指定されていた場合、すなわちアドレスストローブ１０ａのアサートを指令された場合について説明する。この時、図４で示されるフローのステップ４４４において、起動信号用の処理を行う。例えば、アドレスストローブ１０ａを図６（ｃ）で示されるように短い時間でパルス駆動させる方式がある。連続したアサートとしないのは、データ通信路１０につながる他の入出力モジュール（図示せず）が誤応答することのないようにするためである。
【００４７】
本方式では、データ通信路１０につながる他の入出力モジュールにおいて、アドレスストローブの入力回路が、短時間のパルスでは有効なストローブとして判定しないような工夫が必要となる。例えば、入出力モジュールのアドレスストローブ入力において積分回路を実装して、ある期間以上のアサート以外には反応しないようにする方法が挙げられる。また、同じく入出力モジュールのアドレスストローブ入力において、一定のサンプリング周波数で取り込み、連続して有効値でない場合には反応しないとする方法も挙げられる。ここで、診断出力制御部１３２が出力するパルス幅は、各入出力モジュールのサンプリング周波数に対して十分小さくする必要がある。
【００４８】
また、図６（ｃ）に示すような信号線をパルスする方式は、同時に複数の信号線をアサートする必要がある場合に、他の信号線による影響を回避するためにも有効である。すなわち、診断対象となる信号線が同時にアサートされた信号線と短絡していた場合には、信号線の出力レベルを見るだけでは診断できない。診断対象となる信号線をパルス駆動することにより判別する。
【００４９】
ところで、診断対象となる信号線が他の信号線と短絡している場合に、短絡している信号線の出力ドライバが相互に反対極性の出力を駆動することを考える。例えばＣＭＯＳ技術により構成される出力ドライバの場合には、ＭＯＳトランジスタ間で短絡による過大電流が流れるラッチアップと呼ばれる現象が起こる。この場合、過電流検出部１８０は過大電流が発生したことを検出する。あわせて、過電流検出部１８０は、計算機システムが安全にシャットダウンするように計算機システム内へアラームを通知することが望ましい。
【００５０】
以上のように、本実施例によれば、データ通信路１０における全ての信号を、診断のために任意のパターンで出力することが可能となる。観測モジュール４０がデータ通信路
１０上への出力信号を観測し、観測結果を診断モジュール３０へ送信することで、診断モジュール３０は任意の信号線の断線、短絡を判定することが可能となる。
【実施例２】
【００５１】
本発明による第二の実施の形態における、計算機システムの構成を図７に示す。本実施例では、データ通信路１０をアクセスするマスタモジュールが複数で構成される、計算機システムを示す。
【００５２】
計算機システムは、診断モジュール３０と観測モジュール４０、さらにこれらモジュール間で、データの授受を行うデータ通信路１０と診断用情報を授受する診断通信路２０、またデータ通信路１０の使用権を管理するアービタ５０からなる。図７中において、実施例１と同一記号の機能部は、特に断らない限り同一の機能を有する。実施例１と比べた本実施例の特徴は、アービタ５０が新たに加えられた点と、通信路出力部１２０Ｍと通信路観測部２２０Ｍが複数のマスタモジュールによる動作へ対応した点である。
【００５３】
データ通信路１０が複数の装置で信号線を共有するバス結合方式の場合、例えばＰＣＩバスやＳＲＡＭメモリバスのようなバス方式の場合には、一般的にアービタ５０がバスの使用する権利を管理する。データ通信路１０を使用するマスタモジュールは、使用に先んじてデータ通信路１０を使用する許可を得るため、データ通信路１０のアービタ５０へ通信路使用要求６０ａを通知する。そして、アービタより通信路使用許可６０ｂを得たマスタモジュールから、データ通信路１０への出力を開始する。通信路出力部１２０Ｍは、実施例１の通信路出力部１２０と比べて、アービタ５０への通信路使用要求６０ａと通信路使用許可６０ｂとを入出力する機能が追加される。
【００５４】
また、動作フローに関して、次の点を除いては図４の動作フローと同一である。すなわち、図４の動作フローに入る直前に、アービタ５０への通信路使用要求６０ａを発行あるいは該当信号線をアサートし、通信路使用許可６０ｂを得るまで待機する動作（ステップ４５４）が必要となる点である。この時、通信路使用要求６０ａは、データ通信路１０へのアクセスが必要なくなるまで、継続して発行あるいは該当信号線をアサートし続けるのが一般的である。一旦、通信路出力部１２０Ｍが通信路使用許可６０ｂを得た後は、図４のフローを実行する。
【００５５】
通信路観測部２２０Ｍは、実施例１の通信路出力部１２０と比べて、アービタ５０からの通信路使用許可６０ｂを入力する機能が追加される。
【００５６】
また、通信路観測部２２０Ｍの動作フローに関して、次の点を除いては図５の動作フローと同一である。すなわち、図５の動作フローに入る直前に、データ通信路１０の通信路使用許可６０ｂが通信路出力部１２０Ｍへ与えられるまで通信路観測部２２０Ｍが待機する点である。一旦、通信路観測部２２０Ｍが、通信路出力部１２０Ｍへの通信路使用許可６０ｂを与えられたことを確認した後は、図５のフローを同様に実行する。
【００５７】
以上のように構成し、動作することで、データ通信路１０が複数のマスタモジュールによってアクセスされる計算機システムであっても、実施例１と同様にデータ通信路１０における全ての信号を、診断のために任意のパターンで出力することが可能となる。観測モジュール４０がデータ通信路１０上への出力信号を観測し、観測結果を診断モジュール
３０へ送信することで、診断モジュール３０は任意の信号線の断線、短絡を判定することが可能となる。また、データ通信路１０が他の入出力モジュール（図示せず）によって使用されている時であっても、診断モジュール３０は任意のタイミングで、ステップ４０４で示されるデータ通信路１０の観測要求を発行することが可能であり、観測モジュール
４０は正しくデータ通信路１０を観測することが可能となる。本発明によれば、診断モジュール３０は自由に診断を開始することが可能となり、診断のスケジュールを柔軟に構成できるようになる。
【実施例３】
【００５８】
本発明による第三の実施の形態における、計算機システムの構成を図８に示す。本実施例では、同一の診断モジュール７０を複数設置することにより、計算機システムを構成する。図８における計算機システムは、二つの診断モジュール７０と、これらモジュール間で、データの授受を行うデータ通信路１０と診断用情報を授受する診断通信路２０、またデータ通信路１０の使用権を管理するアービタ５０からなる。図８中において、実施例１、２と同一記号の機能部は、特に断らない限り同一の機能を有する。
【００５９】
なお、図８では便宜的に二つの診断モジュール７０−１、７０−２を図示したが、本発明による計算機システムは、診断モジュールを二つに限定されない。診断通信路２０を、例えばネットワークハブを介して複数の診断モジュール間で通信できるよう構成すれば、複数の診断モジュール間で診断することが可能となる。
【００６０】
実施例１、２と比べた本実施例の特徴は、診断モジュール３０と観測モジュール４０とに機能を分割して実装していた診断用機能を全て診断用装置３６０に包含し、それを実装する診断モジュール７０を用意する点と、同一の診断モジュール７０を複数連携させることで、相互に自己診断を可能とさせる点である。
【００６１】
本実施例における計算機システムの診断動作フローは、図２に示す動作フローと同一である。すなわち、一方の診断モジュール（例えば７０−１）が、診断通信路２０を介して、もう一方の診断モジュール（例えば７０−２）へ対してデータ通信路１０の観測要求を送信すれば、診断モジュール７０−２の通信路観測部２２０Ｍがデータ通信路１０を監視し、観測結果を診断モジュール７０−１へ応答する。その結果、診断モジュール７０−１は、自身が出力したデータ通信路１０の信号を診断することが可能となる。また、診断モジュールの立場を入れ替えた動作も可能となるため、診断モジュール７０−２も同様にデータ通信路１０の信号線を診断することが可能となる。
【００６２】
以上のように、本実施例によれば、複数の診断モジュールの各々で、データ通信路１０における全ての信号を診断のために任意のパターンで出力することが可能となる。その結果、任意の信号線の断線、短絡を判定することが可能となる。また、同一モジュールを利用するため、モジュールの設計工数を低減し、開発コストの低減を図ることが可能となる。
【実施例４】
【００６３】
本発明による第四の実施の形態における、計算機システムの構成を以下に説明する。本実施例では、診断通信部１６０を除いては、図８の計算機システムと同一である。本実施例では、診断通信部１６０に内部ループバック機能が追加される。また本実施例では、診断制御部１４０が、診断通信部１６０から二つ以上の観測応答を受信し、自身が出力した信号と受信した二つ以上の観測応答とを比較することを特徴とする。
【００６４】
本実施例における計算機システムの診断動作フローについて図２を用いて説明する。なお、以下では、診断モジュール７０−１におけるプロセッサ３００が診断を開始するものとする。本実施例では、図２におけるステップ４０４の観測要求の発行について、さらに診断通信部１６０が内部で診断要求をループバックさせ、診断モジュール７０−１に存在する診断応答部２４０へも診断要求を発行する。その後は、相手の診断モジュール７０−２のみならず、診断モジュール７０−１自身の診断応答部２４０や通信路観測部２２０Ｍも、データ通信路１０の監視を行う。その結果、ステップ４２２の観測応答を診断モジュール７０−２からと、自身の診断応答部２４０からと受信する。
【００６５】
その後、ステップ４２４の自己診断において、図９に示す判定アルゴリズムにより信号線の状態を診断する。ここで、データ通信路１０へ出力指示したビットパターンをＳ１、自身の通信路観測部２２０Ｍにより受信したビットパターンをＳ２、診断モジュール７０−２の通信路観測部２２０Ｍにより受信したビットパターンをＳ３とする。
【００６６】
最初にＳ１とＳ２とを比較する（ステップ５００）。Ｓ１≠Ｓ２の場合、通信路出力部１２０Ｍの異常と判定し（ステップ５０８）、診断を終了する。通信路出力部１２０Ｍの異常として、出力バッファの故障（信号を駆動できない、あるいは誤動作）や信号線の短絡が原因として挙げられる。一方、Ｓ１＝Ｓ２の場合、さらにＳ１とＳ３とを比較する
(ステップ５０２)。ここでＳ１≠Ｓ３の場合、データ通信路１０が異常と判定し（ステップ５０６）、診断を終了する。データ通信路１０の異常として、信号の断線あるいは短絡が原因として挙げられる。また、Ｓ１＝Ｓ３の場合には、正常と判断し(ステップ５０４)、診断を終了する。
【００６７】
以上のように、本実施例によれば、通信路出力部１２０Ｍによって駆動した出力を、同じ診断用装置３４０に含まれる通信路観測部２２０Ｍが観測することが可能となる。また、データ通信路１０における全ての信号を、診断のために任意のパターンで出力することが可能となる。その結果、任意の信号線の断線、短絡や、診断モジュール３０のデータ通信路１０への出力部での故障（信号線を駆動できない、誤動作する）を判定することが可能となる。
【００６８】
自己診断の結果、ある診断モジュールにおいてそのモジュール固有の故障が判明した場合、当該モジュールを不活性化し制御に関与させないことで、安定した制御を継続することが可能となる。
【００６９】
また、本実施例によれば、相互診断の相手である診断モジュールが故障などにより応答できない場合でも、自身でデータ通信路１０を駆動して自身で観測するといった、自己診断を診断モジュール単体で行うことが可能となる。この場合には、データ通信路１０の断線を診断することは困難となる。しかしながら、例えばプルアップ抵抗の故障や断線によりバスが想定以上に不定状態となっていることは、前述のタイマ値付きバス状態保存レジスタにより検出することが可能である。診断モジュール単体でも自己診断を行うことが可能なことより、自己診断のない場合に比べてより安定した動作を継続することが可能となる。
【００７０】
なお、上述の全ての実施例において、診断開始のトリガ（図２のステップ４００）から診断要求（図２のステップ４０２）を、プロセッサ３００から発するとしたが、本発明はこれにのみ限定されない。例えば、診断制御部１４０に診断周期タイマ（図示せず）とパターン生成機能（図示せず）を用意する。診断周期タイマにより、診断監視のトリガ（ステップ４００に相当）を生成する。また、パターン生成機能により、診断用のビットパターンを生成する（ステップ４０２に相当）。パターン生成機能として、例えば対象ビットを最下位ビットから診断起動毎に順番に選択し、値を順番に設定していく方法が挙げられる。
【００７１】
さらに、自己診断の結果を応答するのも、常に診断応答（図２のステップ４２６）をプロセッサ３００へ応答させないことも可能である。すなわち、診断制御部１４０において、診断に異常が認められなければ、プロセッサ３００へ報告せずにそのまま次の診断へ進み、診断に異常が認められた場合のみ、プロセッサ３００へ報告するようにする。
【００７２】
以上のようにすることで、プロセッサの介在を最小とする診断用装置を構成することが可能となる。また、プロセッサの負荷によらず確実に診断を実行する、診断用装置を実現することが可能となる。
【００７３】
上記実施例によれば、データ通信路の信号線毎に診断することが可能となり、その断線や短絡による故障を迅速に検出することができる。
【００７４】
また、複数のマスタを有する計算機システムにおいても本発明を適用することが可能であり、データ通信路の負荷状態によらず診断を行うことができる。
【００７５】
さらに上記実施例によれば、例えば診断モジュールに診断用装置を実装し、同一の診断モジュールをデータ通信路に複数実装することで、データ通信路の相互診断が可能となる。
【００７６】
また、上記実施例によれば、自己診断の結果、異常が認められた場合にも、その異常が発生した箇所と状態を特定することが可能となる。
【００７７】
上記実施例では、診断用通信路として既存のネットワーク装置などの通信路を用いることが可能であるため、小さな追加コストで自己診断の機能を計算機システムに与えることが可能である。
【図面の簡単な説明】
【００７８】
【図１】本発明による第一の実施例を示す、計算機システムの構成。
【図２】本発明による第一の実施例における、計算機システムの診断動作のフロー。
【図３】本発明による通信路出力部の構成例。
【図４】本発明による通信路出力部の動作フロー。
【図５】本発明による通信路観測部の動作フロー。
【図６】（ａ）本発明によるデータ通信路の構成例、（ｂ）本発明によるデータ通信路の動作波形例、（ｃ）本発明によるデータ通信路起動信号の診断動作波形例。
【図７】本発明による第二の実施例を示す、計算機システムの構成。
【図８】本発明による第三の実施例を示す、計算機システムの構成。
【図９】本発明による第四の実施例における、診断アルゴリズムを示す動作フロー。
【符号の説明】
【００７９】
１０…データ通信路、２０…診断通信路、３０、７０…診断モジュール、４０…観測モジュール、５０…アービタ、１００…主診断用装置、１２０／１２０Ｍ…通信路出力部、
１３２…診断出力制御部、１４０…診断制御部、１６０／２６０…診断通信部、１８０…過電流検出部、２００…従診断用装置、２２０／２２０Ｍ…通信路観測部、２４０…診断応答部、３００…プロセッサ、３２０…プロセッサバス、３４０…診断用装置。
【図１】
2006139634.tif 000003
【図２】
2006139634.tif 000004
【図３】
2006139634.tif 000005
【図４】
2006139634.tif 000006
【図５】
2006139634.tif 000007
【図６】
2006139634.tif 000008
【図７】
2006139634.tif 000009
【図８】
2006139634.tif 000010
【図９】
2006139634.tif 000011