(57)【要約】【課題】バス異常時、外部に誤出力を出力してしまう。本発明は、ＣＰＵバスが異常のときには、入出力装置から外部接続装置へ出力情報を誤出力しない、また、ＣＰＵに誤った信号を入力することのない計算機制御装置のバスチェック方法およびシステムを提供する。【解決手段】ＣＰＵバスにＣＰＵ装置と複数の入出力装置がバスを介して接続され、それぞれバスチェック部を有する計算機制御装置のバスチェック方法であって、前記ＣＰＵ装置より前記バスを介して前記入出力装置へ第１のデータを出力し、前記入出力装置へ出力データを出力後、前記第１の出力データのビットを反転した第２のデータを前記入出力装置へ再送し、前記入出力装置のバスチェック部では前記第２の出力データのビットを反転した第３のデータを生成し、前記第１のデータと前記第３のデータを比較し、比較した結果の一致／不一致によってバスアクセス時の正常／異常の判定をおこなうものである。【選択図】  図１
2004234183.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ装置と複数の入出力装置がＣＰＵバスを介して接続され、ＣＰＵ装置と入出力装置にそれぞれバスチェック部を有する計算機制御装置のバスチェック方法であって、前記ＣＰＵ装置より前記バスを介して前記入出力装置へ第１の出力データを出力した後、前記第１の出力データのビットを反転した第２のデータを前記入出力装置へ送信し、前記入出力装置のバスチェック部では前記第２の出力データのビットを反転した第３のデータを生成し、受信した前記第１のデータと前記第３のデータを比較し、比較した結果の一致／不一致によってバスアクセス時の正常／異常の判定をおこない、判定結果を前記ＣＰＵ装置へ通知する計算機制御装置のバスチェック方法。
【請求項２】
請求項１の計算機制御装置において、前記入出力装置のバスチェック部にて前記第１のデータと第３のデータを比較し一致したとき、前記入出力装置から外部接続装置へ前記第１のデータの出力を許可するとともに、前記ＣＰＵ装置へバスアクセスの正常を通知し、前記比較結果が不一致のときは、前記入出力装置から外部接続装置への前記第１のデータの出力を不許可とし、前記ＣＰＵ装置へバスアクセス時の異常を通知する計算機制御装置のバスチェック方法。
【請求項３】
請求項１の計算機制御装置において、前記ＣＰＵ装置が前記バスを介して前記入出力装置からデータを入力するとき、前記ＣＰＵ装置より前記入出力装置へデータを要求して第１の入力データを入力後、前記ＣＰＵ装置より再度前記入出力装置に前記第１の入力データのビットを反転した第２のデータの伝送を要求し、ビット反転された第２のデータを入力後、前記ＣＰＵ装置のバスチェック部において前記第２の入力データのビットを反転した第３のデータを生成し、前記第１のデータと前記第３のデータとを比較し、前記比較結果の一致／不一致によってＣＰＵ装置のバスアクセス時の正常／異常を判定する計算機制御装置のバスチェック方法。
【請求項４】
ＣＰＵ装置と複数の入出力装置がＣＰＵバスを介して接続され、ＣＰＵ装置と入出力装置にそれぞれバスチェック部を有する計算機制御装置のバスチェックシステムであって、前記ＣＰＵ装置より前記バスを介して前記入出力装置へ第１のデータを出力した後、前記第１の出力データのビットを反転した第２のデータを前記入出力装置へ伝送するＣＰＵ装置側のバスチェック部と、前記第１の出力データを受信し、ビット反転した第２のデータから再度ビット反転した第３のデータを生成し、前記第１のデータと前記第３のデータを比較し、比較した結果の一致／不一致によってバスアクセスの正常／異常の判定をおこなう前記入出力装置側のバスチェック部とを備え、前記判定した結果を前記ＣＰＵ装置へ通知する計算制御装置のバスチェックシステム。
【請求項５】
請求項４において、前記入出力装置側のバスチェック部は前記第１のデータと第３のデータを比較し一致したとき、前記入出力装置の入出力部から外部接続装置への前記第１のデータの出力を許可するとともに、前記ＣＰＵ装置へバスアクセスの正常を通知し、前記比較結果が不一致のときは、前記入出力装置の入出力部から外部接続装置への前記第１のデータの出力を不許可とし、前記ＣＰＵ装置へバスアクセス時の異常を通知する計算機制御装置のバスチェックシステム。
【請求項６】
請求項４の計算機制御装置において、前記ＣＰＵ装置が前記バスを介して前記入出力装置からデータを入力するとき、前記ＣＰＵ装置から前記入出力装置へデータを要求して第１のデータを入力後、前記第１のデータのビットを反転した第２のデータの伝送を前記入出力装置へ要求し、ビット反転された第２のデータを入力後、前記第２の入力データのビットを反転した第３のデータを生成し、前記第１のデータと前記第３のデータとを比較し、前記比較結果の一致／不一致によってＣＰＵ装置のバスアクセス時の正常／異常を判定するバスチェック部をＣＰＵ側に有する計算機制御装置のバスチェックシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プラントや機器の制御信号を演算してプラントや機器の制御を行う計算機制御装置に係わり、特に計算機制御装置内バスのバスチェック方法およびシステムに関する。
【０００２】
【従来の技術】
【特許文献１】特開平８−３２８９７３号公報
【特許文献２】特開平１０−２４７８９９号公報
従来のバスチェック方法には、前記特許文献１による先行技術がある。この文献の記載は、ＣＰＵバスにバス監視ユニットを接続し、バス接続装置間のデータ転送バスサイクルの合間、すなわちバスがあいているときを利用してＣＰＵバスを使用し、バス監視ユニットからＣＰＵ装置へバスチェック用データを出力し、ＣＰＵ装置はバスチェック用データをそのまま折り返しバス監視ユニットへ出力する。そして、バス監視ユニットにおいて前記ＣＰＵ装置へ出力したバスチェック用データと前記ＣＰＵ装置からの折り返し伝送されたデータを比較し、比較結果が一致したことによりバスを正常と判定、不一致のときはバスの異常と判定するものである。
【０００３】
また、前記特許文献２がある。この文献の記載は、送信装置からシリアル伝送フォーマットにしたがって、順次スタートフラグ、正規アドレス、正規データ、エンドフラグ等を送信後、前記データの末尾に引き続いてスタートフラグ、前記正規アドレスのビット反転アドレス、前記正規データのビット反転データ、エンドフラグ等を付加して送信し、受信装置にて前半の正規アドレス、正規データと後半のビット反転アドレス、ビット反転データとが相互に反転したデータとなっていることが確認できたとき、伝送フレームが正常であると判定する。一方、反転データとなっていないときは、伝送フレームが異常であると判定する。
【０００４】
【発明が解決しようとする課題】
前記特許文献１の場合は、バス監視ユニットによる周期的なバスチェックであるために、バスが故障してからバス異常を検出するまでにどうしても検出遅れがある。例えば、バス故障直後にＣＰＵ装置から入出力装置へデータが出力されたような場合は、入出力装置が誤ったデータを受信し、入出力装置から外部接続装置へ出力情報を出力してしまうので、誤出力となる場合がある。また、逆にバス故障直後にＣＰＵ装置が入出力装置からのデータを入力したとき、ＣＰＵ装置が誤った入力データにより演算制御をおこなってしまうことになる。さらに、監視のためのバス監視ユニットが必要であり、計算制御装置を構成する部品数が多くなるという問題もある。
【０００５】
また、前記特許文献２の場合は、シリアル伝送中に一過性のノイズによるデータビット反転および同期誤りを検出し、シリアル伝送データの品質向上を目的としているものであって、バス診断および異常が発生した受信装置の特定はあまり考慮されていない。
【０００６】
伝送手順については、前記先行技術では、送信装置から正規データと反転データを同時に送信し、データを受信装置でチェックし異常が発生した時、受信装置でデータを破棄する手順である。これに対し、本発明では、正規データと反転データを送信する度に受信装置からの応答を確認し、バス異常および受信装置の異常を常に監視していることに特徴があり、ここに大きな差異がある。
【０００７】
本発明の目的は、上記した従来技術の問題点を克服し、バス故障時、ＣＰＵ装置からのデータ出力に対し入出力装置から外部接続装置へ出力情報を誤出力せず、ＣＰＵ装置からの入出力装置のデータ入力に対し、ＣＰＵ装置が誤ったデータを入力することのないバスチェックを有する計算機制御装置のバスチェック方法およびシステムを提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、以下の手段により上記課題を解決することができる。
【０００９】
ＣＰＵ装置と複数の入出力装置がＣＰＵバスを介して接続され、それぞれバスチェック部を有する計算機制御装置のバスチェック方法であって、前記ＣＰＵ装置より前記バスを介して前記入出力装置へ第１の出力データを出力した後、前記第１の出力データのビットを反転した第２のデータを前記入出力装置へ送信し、前記入出力装置のバスチェック部では前記第２の出力データのビットを反転した第３のデータを生成し、受信した前記第１のデータと前記第３のデータを比較し、比較した結果の一致／不一致によってバスアクセス時の正常／異常の判定をおこない判定結果を前記ＣＰＵ装置へ通知するバスチェック方法である。
【００１０】
また、前記入出力装置のバスチェック部にて前記第１のデータと第３のデータを比較し一致したとき、前記入出力装置から外部接続装置へ前記第１のデータの出力を許可するとともに、前記ＣＰＵ装置へバスアクセスの正常を通知し、前記比較結果が不一致のときは、前記入出力装置から外部接続装置への前記第１のデータの出力を不許可とし、前記ＣＰＵ装置へバスアクセス時の異常を通知すること。また、前記ＣＰＵ装置が前記バスを介して前記入出力装置からデータを入力するとき、前記ＣＰＵ装置より前記入出力装置へデータを要求して第１の入力データを入力後、前記ＣＰＵ装置より再度前記入出力装置に前記第１の入力データのビットを反転した第２のデータの伝送を要求し、ビット反転された第２のデータを入力後、前記ＣＰＵ装置のバスチェック部において前記第２の入力データのビットを反転した第３のデータを生成し、前記第１のデータと前記第３のデータとを比較し、前記比較結果の一致／不一致によってＣＰＵ装置のバスアクセス時の正常／異常を判定することにある。
【００１１】
また、ＣＰＵ装置と複数の入出力装置がＣＰＵバスを介して接続され、それぞれバスチェック部を有する計算機制御装置のバスチェックシステムであって、前記ＣＰＵ装置より前記バスを介して前記入出力装置へ第１のデータを出力した後、前記第１の出力データのビットを反転した第２のデータを前記入出力装置へ伝送するＣＰＵ装置側のバスチェック部と、前記第１の出力データを受信し、ビット反転した第２のデータから再度ビット反転した第３のデータを生成し、前記第１のデータと前記第３のデータを比較し、比較した結果の一致／不一致によってバスアクセスの正常／異常の判定をおこなう前記入出力装置側のバスチェック部とを備え、前記判定した結果を前記ＣＰＵ装置へ通知するバスチェックシステムである。
【００１２】
また、前記入出力装置側のバスチェック部は前記第１のデータと第３のデータを比較し一致したとき、前記入出力装置の入出力部から外部接続装置への前記第１のデータの出力を許可するとともに、前記ＣＰＵ装置へバスアクセスの正常を通知し、前記比較結果が不一致のときは、前記入出力装置の入出力部から外部接続装置への前記第１のデータの出力を不許可とし、前記ＣＰＵ装置へバスアクセス時の異常を通知すること。また、前記ＣＰＵ装置が前記バスを介して前記入出力装置からデータを入力するとき、前記ＣＰＵ装置から前記入出力装置へデータを要求して第１のデータを入力後、前記第１のデータのビットを反転した第２のデータの伝送を前記入出力装置へ要求し、ビット反転された第２のデータを入力後、前記第２の入力データのビットを反転した第３のデータを生成し、前記第１のデータと前記第３のデータとを比較し、前記比較結果の一致／不一致によってＣＰＵ装置のバスアクセス時の正常／異常を判定するバスチェック部をＣＰＵ側に有するバスチェックシステムである。
【００１３】
【発明の実施の形態】
以下、本発明の複数の実施例について図面を参照しながら詳細に説明する。
図１は、本発明の一実施例の計算制御装置を示すブロック構成図である。計算制御装置１は、演算を行うＣＰＵ装置３と、ＣＰＵ装置３からバスを介してデータ入出力要求を受けて外部接続装置２と入出力情報の授受を行う複数の入出力装置７−１〜７−ｎと、ＣＰＵ装置３と複数の入出力装置７−１〜７−ｎを接続するためのＣＰＵバス６から構成されている。また、ＣＰＵ装置３とバスで接続されている複数の入出力装置７−１〜７−ｎ内は、ＣＰＵバス６を通してデータ転送を行うためにＣＰＵ側にはバスインタフェース部４、入出力装置側にはバスインタフェース部８を設けている。
【００１４】
さらに、本実施例による計算制御装置の特徴は、ＣＰＵ装置３内にデータ転送時にバスをチェックし演算部１１に異常を報告するバスチェック部５を設け、複数の入出力装置７−１〜７−ｎ内には、データ転送時にバスをチェックしＣＰＵ装置３に異常を報告するバスチェック部９を設けたことにある。
【００１５】
ＣＰＵ装置３よりＣＰＵバス６を通して入出力装置７（７−１〜７−ｎ）へデータを出力する時、ＣＰＵ装置３より入出力装置７へ第１の出力データを出力後、前記出力データのビット反転データである第２の出力データを前記ＣＰＵから再度入出力装置７へ出力し、入出力装置７のバスチェック部９において前記第１の出力データと前記ビット反転された第２の出力データを再度ビット反転して第３の出力データを生成し、前記第１の出力データと前記第３の出力データとを比較する。
【００１６】
バスチェック部９において比較結果が一致した時、入出力装置７から外部接続装置２への入出力部１０からの出力を許可する（バスチェック部９から出力許可信号９ａを出力する）。外部接続装置へ前記第１の出力データを出力後、ＣＰＵ装置３へバスアクセスの正常を通知する。前記比較結果が不一致の時、入出力装置７から外部接続装置２へ前記第１のデータの出力は不許可とし、出力せずＣＰＵ装置３へバスアクセスの異常を通知する。
【００１７】
これを図２によりバス幅８ビットの例について説明する。簡単にするためにＨ（ハイレベルの信号）およびＬ（ロウレベルの信号）信号についての例である。図２の（Ａ）は、ＣＰＵ３から入出力装置７の送られたデータ（第１のデータ）である。これに対して図２の（Ｂ）はＣＰＵから図２の（Ａ）の反転データが入出力装置７に伝送される信号（第２のデータ）を表している。バスチェック部９では図２の（Ｂ）のデータを再度反転し、図２の（Ｃ）の信号（第３のデータ）を生成する。そして図２の（Ａ）のデータと、図２の（Ｃ）のデータを比較し、一致あるいは不一致の判定をおこなう。
【００１８】
また、逆にＣＰＵ装置３がＣＰＵバス６を通して入出力装置７からデータを入力する時もまったく同じである。ＣＰＵ装置３より入出力装置７へデータを要求してデータを入力後、ＣＰＵ装置３より再度入出力装置７に前記入力データのビット反転データを要求してビット反転データを入力する。そのあと、ＣＰＵ装置３のバスチェック部５にて前記入力データと前記ビット反転データを再度ビット反転したデータを生成し、はじめに取り込んだデータと比較し、前記比較した結果、一致／不一致によってＣＰＵ装置３のバスアクセスの正常／異常を判定し、演算部１１へ報告する。
【００１９】
図３は、図１に示す計算制御装置において、ＣＰＵ装置３よりＣＰＵバス６を通して入出力装置７へデータを出力する時、図３の（Ａ）はＣＰＵ装置３側の処理手順、図３の（Ｂ）は入出力装置７側の処理手順の一例を示したものである。ここでは入出力装置７のうち、７−１の例について説明する。他の入出力装置についてもまったく同じである。
【００２０】
はじめに、図１の演算部１１で入出力装置７−１へデータ▲１▼の出力要求命令を実行すると（ステップｓ１０１）、バスインタフェース部４を通してＣＰＵバス６へデータ▲１▼を出力し、バスチェック部５は、入出力装置７からの受信完了応答を待つ（ステップｓ１０２）。データ出力先となる入出力装置７は、バスチェック部９にてデータ▲１▼を受信して記憶し（ステップｓ２０１）、受信完了応答信号１ａをＣＰＵ装置３へ返送する（ステップｓ２０２）。バスチェック部５は、受信完了応答信号１ａを受信すると（ｓ１０２）、バスインタフェース部４を通してＣＰＵバス６へデータ▲２▼（データ▲１▼のビット反転データ）を出力し（ｓ１０３）、入出力装置７からの受信完了応答を待つ（ｓ１０４）。入出力装置７−１は、バスチェック部９にてデータ▲２▼を受信して、▲２▼のデータを全ビット反転して（図２の（Ｃ））データ▲３▼として記憶する（ｓ２０３）。そして前記記憶したデータ▲１▼と今回記憶したデータ▲３▼が同値であるかどうかを比較する（ｓ２０４）。
【００２１】
その結果、一致した時、ＣＰＵ装置３へ正常応答すると共に、入出力部１０を通して外部接続装置２へ出力情報の出力を許可し（信号９ａ）、入出力部１０から外部接続装置２へ出力する（ｓ２０５）。また、前記比較結果が不一致のときは、ＣＰＵ装置３へ異常応答する（ｓ２０６）。
【００２２】
バスチェック部５は、応答を受信すると（ｓ１０４）、正常応答か否かを判定し（ｓ１０５）、正常であれば、演算部１１へデータ出力完了を報告する。また、前記応答を判定した結果、異常の応答であった場合は、演算部１１へデータ出力異常を報告し、異常処理を実行する（ｓ１０６）。異状処理の具体的な例としては、バスアクセスを中止し、バスの異状表示等をおこなう。
【００２３】
図４は、前記図３の処理を実行し、データがＣＰＵ装置３から正常に入出力装置７へ出力された時のＣＰＵバス６上のバスサイクルの一例で図４の（Ａ）はアドレスを、図４の（Ｂ）はデータを示している。図３のｓ１０１を実行すると出力データ転送サイクルが開始され、ＣＰＵバス６のアドレスラインに有効アドレスが出力されると共に、データラインにデータ▲１▼が出力される。図３のｓ１０３を実行するとバスチェックサイクルが開始され、ＣＰＵバス６のデータラインにデータ▲１▼のビット反転が出力され、図３のｓ１０４にて応答を受信するとバスチェックサイクルを終了する。
【００２４】
図５は、図１に示す計算制御装置において、ＣＰＵ装置３がＣＰＵバス６を介して入出力装置７−１からデータ（２０ａ）を入力する時、ＣＰＵ装置３および入出力装置７−１の処理手順の一例を示す（他の入出力装置についても同様である）。演算部１１内にて入出力装置７−１からのデータ入力要求命令を実行すると（ｓ３０１）、バスインタフェース部４を通してＣＰＵバス６へデータ入力要求を出力し、バスチェック部５は、入出力装置７からのデータ出力応答を待つ（ｓ３０２）。データ入力先となる入出力装置７は、外部接続装置２から入出力部１０を通して入力情報２０ａを入力後、ＣＰＵ装置３へデータ▲１▼と共にデータ出力応答を返送する（ｓ４０１）。
【００２５】
バスチェック部５は、入出力装置７−１からの応答受信を確認し（ｓ３０２）、入出力装置７−１からのデータ▲１▼を受信して記憶し（ｓ３０３）、入出力装置７−１へビット反転データの送信要求を出力して（ｓ３０４）入出力装置７からの反転セータの出力応答を待つ（ｓ３０５）。ＣＰＵ装置３へデータを送信する入出力装置７−１は、ＣＰＵ装置３へデータ▲２▼（前記データ▲１▼のビット反転データ）と共にデータ出力応答信号を返送する（ｓ４０２）。バスチェック部５は、入出力装置７−１からのデータ出力応答受信を確認すると（ｓ３０５）、受信した▲２▼のデータを、全ビットを反転したデータ▲３▼を記憶する（ｓ３０６）。そして前記にて記憶したデータ▲１▼（ｓ３０３）と▲３▼（ｓ３０６）が同値であるかどうかを比較する（ｓ３０７）。
【００２６】
その結果、前記比較結果が一致した時、バスチェック部５は、演算部１１へデータ▲１▼を渡し、演算部１１にてデータ▲１▼を正常データとして演算処理する（ｓ３０８）。一方前記比較結果が不一致のときは、演算部１１へデータ入力異常を報告し、異常処理を実行する（ｓ３０９）。
【００２７】
図６は、図５の処理を実行し、ＣＰＵ装置３が正常にデータを入出力装置７から入力した時のＣＰＵバス６上のバスサイクルの一例を示す。
【００２８】
図５のｓ３０１を実行すると入力データ転送サイクルが開始され、ＣＰＵバス６のアドレスラインに図６の（Ａ）のように有効アドレスが出力されると共に、入出力装置７−１によってデータラインにデータ▲１▼が出力される。図５のｓ３０４を実行するとバスチェックサイクルが開始され、ＣＰＵバス６のデータラインに図６の（Ｂ）に示すように、データ▲１▼のビット反転が出力され、図５のｓ３０５にて応答を受信するとバスチェックサイクルを終了する。
【００２９】
また、図７は本発明の他の実施例を示すものである。図７の（Ａ）はバスインタフェース部８とバスチェック部９と入出力部１０が直列接続された場合である。バスインタフェース部からのデータをバスチェック部９でチェックをおこなう方式である。また、図７の（Ｂ）はバスチェック機能を有するバスインタフェース部８ａで構成した場合をしめしている。いずれの場合も図１と同様のバスチェックが可能である。
【００３０】
本発明によれば、ＣＰＵ装置から入出力装置へのデータ出力処理実行時に毎回バスチェックを同時に行い、バスが正常であった場合のみ入出力装置がデータを受信して外部接続装置へ出力情報を出力することより、バス故障時に外部接続装置へ誤った出力情報を出力することがない計算制御装置が得られる。また、ＣＰＵ装置からの入出力装置のデータ入力処理実行時に毎回バスチェックを同時に行い、バスが正常であった場合のみＣＰＵ装置が受信データを演算制御に使用することより、ＣＰＵ装置が誤ったデータにより演算制御をおこなうことがない計算制機御装置が得られる。
【００３１】
さらに、バスチェック時に、入出力するデータとそのビット反転データの双方をＣＰＵバス上にデータ出力しチェックすることより、ＣＰＵバス全ビットの電圧レベルをロウレベルおよびハイレベルに変化させてチェックするから、バスラインの断線故障および、電圧レベルがロウレベルまたはハイレベルに固定してしまうような故障も検出することができる。また、入出力装置からの応答を監視することより、入出力装置動作の異常をも検出することができる。
【００３２】
従来は、バス監視ユニットを必要としたが、バス監視ユニットを必要とせずコンパクトな計算機制御装置を構成することができる。
【００３３】
【発明の効果】
本発明によるバスチェックによれば、バスに異常があっても外部接続装置にＣＰＵから誤った信号を出力することはない。また、外部接続装置から誤った信号を入力することもない。
【図面の簡単な説明】
【図１】本発明の一実施例となるバスチェック部を持つ計算制御装置を示すブロック図である。
【図２】バス幅８ビットのデータ説明略図である。
【図３】図１に示す計算制御装置にて、ＣＰＵ装置から入出力装置へデータを出力するときの処理手順の一例を示す図である。
【図４】図３に示す処理手順を実行時の、ＣＰＵバスのバスサイクルの一例を示す図である。
【図５】図１に示す計算制御装置にて、ＣＰＵ装置が入出力装置からデータを入力するときの処理手順の一例示す図である。
【図６】図５に示す処理手順実行時の、ＣＰＵバスのバスサイクルの一例を示す図である。
【図７】本発明の他の実施例を示す図である。
【符号の説明】
１；計算制御装置  ２；外部接続装置  ３；ＣＰＵ装置  ４；バスインタフェース部  ５；バスチェック部  ６；ＣＰＵバス  ７；入出力装置  ８；バスインタフェース部  ９；バスチェック部  １０；入出力部、
１１  演算部
【図１】
2004234183.tif 000003
【図２】
2004234183.tif 000004
【図３】
2004234183.tif 000005
【図４】
2004234183.tif 000006
【図５】
2004234183.tif 000007
【図６】
2004234183.tif 000008
【図７】
2004234183.tif 000009