(57)【特許請求の範囲】
【請求項１】
２以上の系統ごとの演算装置からそれぞれ通信フレームを送信して制御対象機器を制御する多重化制御システムであって、
系統ごとの前記通信フレームをそれぞれ受信すると、所定の集約ルールに従って、１つの前記通信フレームへと集約する集約装置と、
全系統の前記演算装置へそれぞれ接続されており、前記演算装置と前記集約装置との間で前記通信フレームを中継する系統ごとの集線装置とを有しており、
前記集約装置は、前記系統ごとに、前記演算装置と前記制御対象機器との通信経路上に位置する他装置に収容され、その他装置によって前記通信フレームが転送され、
前記集線装置は、
自系統の前記演算装置と前記制御対象機器との間で送受信される前記通信フレームを受信すると、その受信した前記通信フレームを同系統の装置へ転送するとともに、前記集線装置と接続されている他系統の前記演算装置へ転送し、
各系統の前記演算装置は、自系統および他系統の前記集線装置から受信した前記通信フレーム内の通信データを、自装置内の記憶手段へと記憶することを特徴とする
多重化制御システム。
【請求項２】
前記演算装置は、自系統および他系統の前記集線装置から受信した前記通信フレームを、自装置内の前記記憶手段へと記憶するときに、前記通信フレームの受信順序に従って、前記記憶手段への記憶順序を決定することを特徴とする
請求項１に記載の多重化制御システム。
【請求項３】
前記演算装置および前記集線装置は、それぞれ自装置に割り当てるノードアドレスについて、前記多重化制御システムを構成する自装置が属する系統の装置でユニークな内部アドレスの入力をロータリスイッチを介して受け付け、その受け付けた前記内部アドレスと自装置が属する系統の特定情報との組み合わせを前記ノードアドレスとして自装置に割り当てることを特徴とする
請求項１または請求項２に記載の多重化制御システム。
【請求項４】
前記演算装置および前記集線装置は、それぞれ自装置に割り当てるノードアドレスについて、前記多重化制御システムの全系統の装置でユニークな共通アドレスの入力をロータリスイッチを介して受け付け、その受け付けた前記共通アドレスを前記ノードアドレスとして自装置に割り当てることを特徴とする
請求項１または請求項２に記載の多重化制御システム。
【請求項５】
前記演算装置および前記集線装置は、それぞれ自装置に割り当てる前記ノードアドレスについて、あらかじめ自装置内に固定の値として設定された装置種別ごとに異なる値を、自装置に割り当てる前記ノードアドレスの一部とすることを特徴とする
請求項４に記載の多重化制御システム。
【請求項６】
前記集線装置は、転送対象の前記通信フレームについて、その通信フレーム内のフレーム構成データからエラーを検出すると、その検出内容をエラー履歴データとして自装置内の前記記憶手段に格納し、
前記演算装置は、前記ノードアドレスが割り当てられた各前記集線装置に対して前記エラー履歴データの送信要求を送信して、その応答を各前記集線装置から取得することで、エラーの発生箇所を特定することを特徴とする
請求項３ないし請求項５のいずれか１項に記載の多重化制御システム。
【請求項７】
２以上の系統ごとの演算装置からそれぞれ通信フレームを送信して制御対象機器を制御する多重化制御システムによる多重化制御方法であって、
前記多重化制御システムは、
系統ごとの前記通信フレームをそれぞれ受信すると、所定の集約ルールに従って、１つの前記通信フレームへと集約する集約装置と、
全系統の前記演算装置へそれぞれ接続されており、前記演算装置と前記集約装置との間で前記通信フレームを中継する系統ごとの集線装置とを有しており、
前記集約装置は、前記系統ごとに、前記演算装置と前記制御対象機器との通信経路上に位置する他装置に収容され、その他装置によって前記通信フレームが転送され、
前記集線装置は、
自系統の前記演算装置と前記制御対象機器との間で送受信される前記通信フレームを受信すると、その受信した前記通信フレームを同系統の装置へ転送するとともに、前記集線装置と接続されている他系統の前記演算装置へ転送し、
各系統の前記演算装置は、自系統および他系統の前記集線装置から受信した前記通信フレーム内の通信データを、自装置内の記憶手段へと記憶することを特徴とする
多重化制御方法。
【請求項８】
請求項７に記載の多重化制御方法を、コンピュータである多重化制御システムの各装置に実行させるための多重化制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多重化制御システム、多重化制御方法、および、多重化制御プログラムの技術に関する。
【背景技術】
【０００２】
プラント制御などに用いる制御システムにおいて、制御用の演算装置から制御対象機器に対して制御内容（バルブの開命令など）を示す制御信号を送信し、制御対象機器から制御用の演算装置に対してその応答信号が送信される。
【０００３】
制御信号などの通信データは、制御システムの通信路において紛失したりしないように、制御用の演算装置を多重構成して信頼性を高める方式が採用されることもある。複数の演算装置からそれぞれ送信された制御信号が一致していれば、その制御信号をそのまま制御対象機器に送信して、制御を継続する（特許文献１など）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−３０７６３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
制御システムを多重化するときに、各演算装置の制御信号などのデータ内容を演算装置間で共有化するためには、演算装置間を直接接続して通信する構成が、考えられる。しかし、演算装置が制御対象機器へ送信する制御信号を、他の演算装置にも送信するとなると、同じデータを２回送信することで、通信効率が悪く、演算装置間でのデータ内容の共有化ができていない時間帯が長くなってしまう。
【０００６】
そこで、本発明は、前記した問題を解決し、多重化された制御システムにおいて、系をまたがった制御データの共有を効率的に実行することを、主な目的とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するために、本発明は、２以上の系統ごとの演算装置からそれぞれ通信フレームを送信して制御対象機器を制御する多重化制御システムであって、
系統ごとの前記通信フレームをそれぞれ受信すると、所定の集約ルールに従って、１つの前記通信フレームへと集約する集約装置と、
全系統の前記演算装置へそれぞれ接続されており、前記演算装置と前記集約装置との間で前記通信フレームを中継する系統ごとの集線装置とを有しており、
前記集約装置は、前記系統ごとに、前記演算装置と前記制御対象機器との通信経路上に位置する他装置に収容され、その他装置によって前記通信フレームが転送され、
前記集線装置が、
自系統の前記演算装置と前記制御対象機器との間で送受信される前記通信フレームを受信すると、その受信した前記通信フレームを同系統の装置へ転送するとともに、前記集線装置と接続されている他系統の前記演算装置へ転送し、
各系統の前記演算装置が、自系統および他系統の前記集線装置から受信した前記通信フレーム内の通信データを、自装置内の記憶手段へと記憶することを特徴とする。
その他の手段は、後記する。
【発明の効果】
【０００８】
本発明によれば、多重化された制御システムにおいて、系をまたがった制御データの共有を効率的に実行することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１実施形態に関する多重化制御システムを示す構成図である。
【図２】本発明の第１実施形態に関する演算装置を示す構成図である。
【図３】本発明の第１実施形態に関する集線装置を示す構成図である。
【図４】本発明の第１実施形態に関する中継装置および入出力装置を示す構成図である。
【図５】本発明の第１実施形態に関する集約装置を示す構成図である。
【図６】本発明の第２実施形態に関する多重化制御システムを示す構成図である。
【図７】本発明の第２実施形態に関する入出力装置を示す構成図である。
【発明を実施するための形態】
【００１０】
以下、本発明の第１実施形態を、図１〜図５を参照して詳細に説明する。
【００１１】
図１は、多重化制御システムを示す構成図である。以下では、多重化の一例として、三重化（Ａ系，Ｂ系，Ｃ系）を採用したときのシステムを例にするが、多重度は３だけでなく、任意の数値を採用してもよい。
多重化制御システムは、演算装置１ａ〜１ｃと、集線装置２ａ〜２ｃと、中継装置３ａ〜３ｃと、中継装置４ａ〜４ｃと、入出力装置５ａ〜５ｃと、集約装置６と、制御対象機器７と、を含めて構成される。
なお、制御側の各装置は、ＣＰＵ（Central Processing Unit）とメモリとハードディスク（記憶手段）とネットワークインタフェースを有するコンピュータとして構成され、このコンピュータは、ＣＰＵが、メモリ上に読み込んだプログラムを実行することにより、各処理部を動作させる。
【００１２】
Ａ系装置群は、符号の末尾が「ａ」である装置集合（演算装置１ａと、集線装置２ａと、中継装置３ａと、中継装置４ａと、入出力装置５ａ）である。
Ｂ系装置群は、符号の末尾が「ｂ」である装置集合（演算装置１ｂと、集線装置２ｂと、中継装置３ｂと、中継装置４ｂと、入出力装置５ｂ）である。
Ｃ系装置群は、符号の末尾が「ｃ」である装置集合（演算装置１ｃと、集線装置２ｃと、中継装置３ｃと、中継装置４ｃと、入出力装置５ｃ）である。
これらの各系の装置のうち、装置名称および符号の数字部の組み合わせ（例えば、演算装置１）が同じ装置群（例えば、演算装置１ａ〜１ｃ）は、互いに同じ種類（同じ内部構成）の装置である。
なお、系ごとに（例えば、Ａ系装置群に）同じ種類の装置（例えば、入出力装置５ａ）は、１台設けてもよいし、複数台設けてもよい。
【００１３】
集約装置６および制御対象機器７は、多重化の系には属さず、複数の系で共通に用いられている。
演算装置１ａ〜１ｃは、制御対象機器７に対して、その制御対象機器７を制御するための制御信号を含む機器制御フレームを送信する。例えば、制御対象機器７が弁であるときには、機器制御フレームにはその弁を開く旨の制御信号が含まれている。なお、図１では、機器制御フレームが演算装置１ａ〜１ｃから制御対象機器７へと順に送信されていく経路を示す矢印（図面の上から下に向かう矢印）を表記している。
制御対象機器７は、演算装置１ａ〜１ｃに対して、その演算装置１ａ〜１ｃに通知するための通知信号を含む機器通知フレームを送信する。例えば、制御対象機器７が温度センサであるときには、機器通知フレームには測定結果の温度情報が通知信号として含まれている。
【００１４】
以下、本実施形態において、機器制御フレームのように、図１の上部から下部へ向かう通信の方向を「下流」と表現する。同様に、機器通知フレームのように、図１の下部から上部へ向かう通信の方向を「上流」と表現する。よって、例えば、集線装置２ａからみて、上流側には演算装置１ａが存在し、下流側には中継装置３ａが存在する。
【００１５】
まず、機器制御フレームが最上流（例えば、演算装置１ａ）から最下流（制御対象機器７）へと伝達される処理の概要を説明する。
演算装置１ａは、制御対象機器７への制御信号や、制御対象機器７を示す送信先アドレスなどの情報を含んだ通信フレームを機器制御フレームとして作成し、その機器制御フレームを集線装置２ａに送信する。
集線装置２ａは、演算装置１ａからの機器制御フレームを、配下の中継装置３ａだけでなく、他系統の演算装置１ｂ，１ｃにも送信する。他系統の演算装置１ｂ，１ｃは、受信した機器制御フレームを自装置内に格納する。ここで、演算装置１ａ〜１ｃと、集線装置２ａ〜２ｃとは、通信路を介してスター型に接続されている。つまり、任意の演算装置１ａ〜１ｃと、任意の集線装置２ａ〜２ｃとが、系をまたがって直接接続されている。これにより、演算装置１ａは、他の演算装置１ｂ，１ｃとの間に直接接続されていなくても、演算装置１ａ〜１ｃ間で、互いに自装置内の情報を他装置と共有することができる。
【００１６】
中継装置３ａは、集線装置２ａから受信した機器制御フレームを、自系統配下の中継装置４ａへ送信する。
中継装置４ａは、中継装置３ａから受信した機器制御フレームを、自系統配下の入出力装置５ａへ送信する。
入出力装置５ａは、中継装置４ａから受信した機器制御フレームを、集約装置６へ送信する。
集約装置６は、各系の入出力装置５ａ〜５ｃからそれぞれ受信した複数の機器制御フレームについて、多重化の集約ルール（例えば、多数決）に従って、１つの機器制御フレームに集約してから、制御対象機器７へと転送する。
【００１７】
次に、機器通知フレームが最下流（制御対象機器７）から最上流（演算装置１ａ）へと伝達される処理の概要を説明する。
集約装置６は、制御対象機器７から受信した１つの機器通知フレームを、各系の分だけコピーして、入出力装置５ａ〜５ｃにそれぞれ転送する。
機器通知フレームは、機器制御フレームとは逆の方向で、下流側から上流側へと伝達される（入出力装置５ａ→中継装置４ａ→中継装置３ａ→集線装置２ａ）。
集線装置２ａは、中継装置３ａから機器通知フレームを受信すると、同系統の演算装置１ａだけでなく、他系統の演算装置１ｂ，１ｃに対しても、機器通知フレームを転送する。
各演算装置１ａ〜１ｃは、受信した同系統および他系統の機器通知フレームを、それぞれ自装置内へ格納することで、演算装置１ａ〜１ｃ間で、互いに自装置内の情報を他装置と共有することができる
【００１８】
図２は、演算装置１ａを示す構成図である。なお、他系統の演算装置１ｂ，１ｃも同じ構成であるが、ドライバ部（ＤＲＶ）を介して接続される他装置が演算装置１ａとは異なる。
演算装置１ａは、アドレス設定部１１と、ロータリスイッチ１１ａと、送信制御部１２と、受信制御部１３と、アービタ制御部１４と、セレクタ部１５と、データデコード部１６と、アドレス算出部１７と、データ制御部１８と、記憶部１８ａと、データエンコード部１９とを有する。
送信制御部１２は、他装置（集線装置２ａ）へ送信する通信フレームを一時的に格納する送信バッファ１２ａを有する。
受信制御部１３は、他装置（集線装置２ａ〜２ｃ）から受信する通信フレームを一時的に格納する受信バッファ（集線装置２ａとの間の受信バッファ１３ａと、集線装置２ｂとの間のＢ系バッファ１３ｂと、集線装置２ｃとの間のＣ系バッファ１３ｃ）を有する。
【００１９】
アドレス設定部１１は、自装置のロータリスイッチ１１ａにより入力されたノードアドレスをもとに、自装置のノードアドレスを設定する。
ロータリスイッチ１１ａは、収容される装置ごとに、その装置に設定されるノードアドレスの値を入力する入力手段である。ロータリスイッチ１１ａは、ノードアドレスの桁ごとに、その桁の値を指定するための回転式のダイヤルであり、ユーザの指などで操作される。例えば、ノードアドレス「８０１」を設定するときには、管理者は、右から３桁目のダイヤルを「８」まで回し、右から２桁目のダイヤルを「０」まで回し、右から１桁目のダイヤルを「１」まで回す。
なお、以下の説明では、ダイヤルのｎ桁目とは、ノードアドレスの右の数値から数えてｎ桁目であることとし、１つの桁の値としてダイヤルで指定できる値の範囲として、本実施形態では１６進数「０〜９，Ａ〜Ｆ」の場合を例示する。
一方、ロータリスイッチ１１ａは、ノードアドレスの桁ごとに、その桁の値を指定するための入力手段の一例であり、桁の値の候補を画面上に表示して、ユーザに選択させるタッチパネルなどの他の入力手段を用いてもよい。
【００２０】
【表１】
0005537447.tif 000002
【００２１】
表１は、ロータリスイッチ１１ａに設定されるノードアドレスについて、３つのケースのうちの（ケース１）を示す。（ケース１）は、系特定信号と内部アドレス（ロータリスイッチ１１ａの設定値）との組み合わせにより、ノードアドレスをユニークな値とする設定例である。
【００２２】
【表２】
0005537447.tif 000003
【００２３】
表２は、ロータリスイッチ１１ａに設定されるノードアドレスについて、３つのケースのうちの（ケース２）を示す。（ケース２）は、複数の系にまたがる共通アドレス（ロータリスイッチ１１ａの設定値）により、ノードアドレスをユニークな値とする設定例である。
【００２４】
【表３】
0005537447.tif 000004
【００２５】
表３は、ロータリスイッチ１１ａに設定されるノードアドレスについて、３つのケースのうちの（ケース３）を示す。（ケース３）は、複数の系にまたがる共通アドレス（ロータリスイッチ１１ａの設定値）により、ノードアドレスをユニークな値とする設定例である。（ケース２）との違いは、後記するように、共通アドレスの桁ごとに法則性を持たせることである。
【００２６】
（ケース１）では、内部アドレスは、系ごとにアドレス空間が独立しているため、同じ内部アドレスを使用する装置は、１つの系の内部では１台だが、他の系にも存在してもよい。よって、内部アドレスが系にまたがって衝突することを防ぐために、内部アドレスだけでなく、系特定データとの組み合わせにより、ノードアドレスとする。そのため、ノードアドレスごとにそのノードに関する情報を格納するメモリ領域は、系特定データで指定される系の数（例えば、Ａ〜Ｃの３つ）だけ個別に用意する必要がある。
【００２７】
（ケース２）および（ケース３）では、複数の系でユニークなノードアドレスとして、複数の系で共通に使用される共通アドレスを用いることにより、（ケース１）のような系特定データを用いた処理が不要になり、アドレスに関する処理が簡略化する。さらに、ノードアドレスごとにそのノードに関する情報を格納するメモリ領域は、系特定信号で指定される系の数（例えば、Ａ〜Ｃの３つ）に依存せずに１区画で済む。
【００２８】
さらに、（ケース３）では、（ケース２）のように共通アドレスを使用することに加え、共通アドレスの桁ごとに法則性を持たせることで、共通アドレスの設定回数（ロータリスイッチ１１ａのダイヤルを回す回数）を削減する。例えば、（ケース３）では、以下の法則を採用する。
・右から１桁目は、系特定用の桁である。Ａ系装置群を示す「０」と、Ｂ系装置群を示す「１」と、Ｃ系装置群を示す「２」とがそれぞれの装置に設定される。
・右から２，３桁目は、装置種別の特定用の桁である。演算装置１ａ〜１ｃを示す「８０」と、集線装置２ａ〜２ｃを示す「９０」と、上流側の中継装置３ａ〜３ｃを示す「Ａ０」と、下流側の中継装置４ａ〜４ｃを示す「Ａ１」と、入出力装置５ａ〜５ｃを示す「１０」とがそれぞれの装置に設定される。
【００２９】
前記の法則に従ってロータリスイッチ１１ａに値を入力することで、ダイヤルを回す回数を削減する。
さらに、装置種別の特定用の桁の値をあらかじめ装置内の回路設計時に固定の値として回路内に記憶しておくことで、装置種別の特定用の桁について、ダイヤルを回す必要がなくなり、スイッチによる設定を不要とする。
このようにすることで、設定が必要となるノードアドレス値の桁数が減り、ノードアドレスの設定回数を減らす事が可能となるため、作業員のノードアドレス設定ミスを低減する事が可能となる。加えてノードアドレス設定用のロータリスイッチ数の低減により、装置のコスト低減、それに伴う実装部品低減による基板製造コストの低減にもつながることとなる。
【００３０】
以下、他装置から受信した通信フレームの内容を記憶部１８ａに書き込む処理を説明する。
受信制御部１３は、他装置から受信した通信フレームを一時的に保持しておくための回線ごとに割り当てられる各受信バッファ（受信バッファ１３ａ、Ｂ系バッファ１３ｂ、Ｃ系バッファ１３ｃ）を制御する。受信制御部１３は、各受信バッファに通信フレームが格納されると、アービタ制御部１４に受信完了信号を通知する。
【００３１】
アービタ制御部１４は、受信完了信号を受け、各系統（Ａ、Ｂ、Ｃ系）の通信フレームをどの順番で処理するのかを、決定する。つまり、アービタ制御部１４は、設定された優先度方式に従って次に処理の対象となる系を決定し、その旨を次リクエスト信号としてセレクタ部１５に送信する。優先度方式とは、例えば、受信完了信号が通知された順番をそのまま次リクエスト信号とするＦＩＦＯ（First In First Out）が挙げられる。
【００３２】
セレクタ部１５は、次リクエスト信号を受け、次リクエスト信号で指定された処理対象の系についての通信フレームを取得するため、受信制御部１３に対しフレーム要求信号を送信する。そして、セレクタ部１５には、フレーム要求信号への応答として、各受信バッファから読み込まれた通信フレームと、その通信フレームがどの系統から受信したかを示す系特定信号とが、それぞれ受信制御部１３から通知される。セレクタ部１５は、通知された通信フレームをデータデコード部１６へ通知し、通知された系特定信号をアドレス算出部１７へ通知する。
【００３３】
データデコード部１６は、通知された通信フレームを構文解析（デコード）して、その通信フレーム内に記述されているフレーム構成データを取得すると、フレーム構成データの送信元アドレスをアドレス算出部１７に通知し、フレーム構成データの通信データをデータ制御部１８に通知する。
【００３４】
アドレス算出部１７は、通知された系特定信号と、通知された送信元アドレスとからフレーム構成データの通信データを格納するノードアドレスを算出する。表１の（ケース１）では、系特定信号と送信元アドレス（内部アドレス）との組み合わせをノードアドレスとし、表２の（ケース２）および表３の（ケース３）では、送信元アドレス（共通アドレス）をそのままノードアドレスとする。そして、アドレス算出部１７は、計算したノードアドレスに割り当てられているメモリ上の格納領域を示すメモリアドレスをデータ制御部１８へと通知する。
【００３５】
データ制御部１８は、通知されたメモリアドレスが示す記憶部１８ａ内の記憶領域に対して、通知された通信データを書き込むための制御信号を記憶部１８ａに通知する。記憶部１８ａは、通知された制御信号に従い、通信データを記憶領域に書き込む。
【００３６】
以下、記憶部１８ａから読み出したデータをもとに、他装置に送信する通信フレームを作成して送信する処理を説明する。
データ制御部１８は、これから送信用に作成する通信フレームのフレーム構成データを記憶部１８ａから読み出すための制御信号を記憶部１８ａに通知する。記憶部１８ａは、通知された制御信号に従い、フレーム構成データを記憶領域から読み出す。そして、データ制御部１８は、読み出したフレーム構成データをデータエンコード部１９に通知する。
【００３７】
データエンコード部１９は、通知されたフレーム構成データから通信フレームを組み立て（エンコード処理）、その通信フレームを送信制御部１２に通知する。
送信制御部１２は、通知された通信フレームを一時的に送信バッファ１２ａに保持した後、ドライバ部（ＤＲＶ）を介して、集線装置２ａへと通信フレームを送信する。
なお、送信制御部１２が送信する通信フレーム内の送信元アドレスには、アドレス設定部１１で設定された自装置のノードアドレスが指定される。
【００３８】
図３は、集線装置２ａを示す構成図である。なお、他系統の集線装置２ｂ，２ｃも同じ構成であるが、ドライバ部（ＤＲＶ）を介して接続される他装置が集線装置２ａとは異なる。
集線装置２ａは、演算装置１ａと比較すると、複数の系統からの通信フレームを受信して保存する必要がないため、複数の系統の処理順序を決めるための処理部（アービタ制御部１４、セレクタ部１５）は、省略される。
一方、集線装置２ａは、演算装置１ａと異なり、通信フレームの中継装置であるので、データ異常のある通信フレームの伝搬を防止するために、中継する通信フレームのデータ内容をチェックするエラー検出部２５を有する。
【００３９】
アドレス設定部２１は、アドレス設定部１１と同様に、自装置のロータリスイッチ２１ａにより入力されたノードアドレスをもとに、自装置のノードアドレスを設定する。
なお、通信フレームの送受信の始点や終点である各装置、および、エラー履歴データを蓄積するとともに、エラー発生箇所の特定対象となる各装置には、自装置のノードアドレスを通信フレームの送信先アドレスとして指定されるために、アドレス設定部１１，２１に該当する自装置のノードアドレス設定手段が必要である。
ロータリスイッチ２１ａは、ロータリスイッチ１１ａと同様に、収容される装置ごとに、その装置に設定されるノードアドレスの値を入力する入力手段である。
通信制御部２２は、送信制御部１２および受信制御部１３と同様に、各バッファ（演算装置１ａとの間の上流バッファ２２ａ、演算装置１ｂとの間のＢ系バッファ２２ｂ、演算装置１ｃとの間のＣ系バッファ２２ｃ、および、中継装置３ａとの間の下流バッファ２２ｄ）内の通信フレームの送受信を制御する。なお、Ｂ系バッファ２２ｂやＣ系バッファ２２ｃなどを介した他系統との間の通信路は、集線装置２ａから他系統の演算装置１ｂ，１ｃへの送信用である。
データデコード部２３は、データデコード部１６と同様に、通信フレームからフレーム構成データを抽出する。
データエンコード部２７は、データエンコード部１９と同様に、フレーム構成データから通信フレームを組み立てる。
【００４０】
エラー検出部２５は、通信フレームのフレーム構成データのデータ内容に異常があるか否かをチェックすることで、異常な通信フレームをエラー検出する。例えば、エラー検出部２５は、後記する図５（ｂ）に示す通信フレーム内のＣＲＣ（Cyclic Redundancy Check）を用いて、エラー検出を実行する。
エラー検出部２５は、エラー検出したときに、その旨を示すエラー検出信号をデータ制御部２４へと通知するとともに、今回検出したエラーをレジスタ部２６内のエラー履歴データとして記録する。
【００４１】
レジスタ部２６は、エラー検出部２５の検出結果であるエラー履歴データを格納する。エラー履歴データは、エラー発生要因（データ異常、ヘッダ異常など）ごとに、該当エラーの発生回数を対応づけたデータである。以下が、エラー履歴データの構成例である。
【００４２】
（エラー履歴データの構成例１）通信制御部２２が制御する各バッファの接続先である通信ポートごとに、エラー履歴データを格納する例。なお、通信制御部２２は、バッファから通信フレームを読み出すときに、どのバッファ（どの系統）から読み出した通信フレームであるかを示すポート特定信号を、エラー検出部２５へと通知し、エラー検出部２５は、検出したエラーを通知されたポート特定信号と対応づけてエラー履歴データに書き込む。
【００４３】
（エラー履歴データの構成例２）通信制御部２２が制御する各バッファの接続先を上流と下流とに分けてエラー履歴データを格納する例。下流バッファ２２ｄは下流に該当し、その他の各バッファ（上流バッファ２２ａ、Ｂ系バッファ２２ｂ、Ｃ系バッファ２２ｃ）は上流に該当する。機器通知フレームは下流バッファ２２ｄから受信し、機器制御フレームなどの通信フレームは、上流バッファ２２ａから受信するので、通信フレームが機器通知フレームであるときには下流とし、その他の通信フレームを上流とすることで、ポート特定信号の通知が無くても、上流下流の判定は可能である。
【００４４】
データ制御部２４は、データデコード部２３から通知されたフレーム構成データの送信先ノードアドレスに応じて、以下のようにフレーム構成データを処理する。
【００４５】
データ制御部２４は、送信先ノードアドレスが自装置でないときには（例えば、下流側への機器制御フレームや、上流側への機器通知フレームなど）、そのフレーム構成データを送信先ノードアドレス宛てに転送するためにデータエンコード部２７へと通知するとともに、データ異常をチェックするためにエラー検出部２５へそのフレーム構成データを通知する。
データ制御部２４は、通知したフレーム構成データに対する送信先指定信号を、通信制御部２２を介して各バッファに通知する。この送信先指定信号は、エラー検出部２５がエラーを検出しないときには、送信先ノードアドレスである。
【００４６】
なお、データ制御部２４は、送信先指定信号として、通信フレームの送信先アドレスへと向かう自系統の装置だけでなく、通信フレームを他系統へと知らせるための自系統の装置も併せて指定してもよい。例えば、データ制御部２４は、演算装置１ａから受信した機器制御フレームについて、中継装置３ａだけでなく、演算装置１ｂ，１ｃも指定した送信先指定信号を作成してもよい。同様に、データ制御部２４は、中継装置３ａから受信した機器通知フレームについて、演算装置１ａだけでなく、演算装置１ｂ，１ｃも指定した送信先指定信号を作成してもよい。
【００４７】
一方、エラー検出部２５がエラーを検出したときには、送信先指定信号が「送信先なし」である。データ制御部２４は、エラー検出部２５からエラー検出した旨を示すエラー検出信号が通知されたときには、送信先指定信号を「送信先なし」にする。「送信先なし」にすることで、データ内容に異常がある通信フレームを他装置に転送することを防止することができる。
また、エラーの種類により送信の有無を設定するようにすることもでき、例えば重大なエラー時のみ「送信先なし」と送信先指定信号を送信するようにすることもできる。
【００４８】
データ制御部２４は、送信先ノードアドレスが自装置であり、かつ、フレーム構成データのデータ内容が演算装置１ａからのエラー履歴データの送信要求であるときには、レジスタ部２６からエラー履歴データを読み込んで、そのエラー履歴データを含むフレーム構成データをエラー履歴データの送信応答として作成し、データエンコード部２７へ通知する。
データ制御部２４は、エラー履歴データの送信要求の送信元アドレス（演算装置１ａのアドレス）を通知したフレーム構成データに対する送信先指定信号として、通信制御部２２を介して各バッファに通知する。
【００４９】
なお、演算装置１ａは、自系統の配下の装置（集線装置２ａだけでなく、中継装置３ａ、中継装置４ａ、入出力装置５ａも）に対して、それぞれエラー履歴データの送信要求を送信して、その応答を各装置から取得することで、エラーの発生箇所を特定する。つまり、演算装置１ａは、各装置からのエラー履歴データを参照し、エラーが検出される装置と、エラーが検出されない装置の境目を明確にさせることで、異常個所を特定する。
【００５０】
データエンコード部２７は、データ制御部２４から通知されたフレーム構成データから通信フレームを組み立てる（エンコード処理）。
通信制御部２２は、データエンコード部１９からの通信フレームを各バッファに格納し、その各バッファからＤＲＶを介して、他装置へと通信フレームを送信する。ここで、通信フレームの送信先は、データ制御部２４からの送信先指定信号によって決定される。
【００５１】
図４は、集線装置２ａから下流側の各装置（中継装置３ａ、中継装置４ａ、入出力装置５ａ）を示す構成図である。図１で示したように、集線装置２ａと、下流側の各装置との違いは、他系統への接続の有無である。よって、図４に示す下流側の各装置の構成は、図３で示した集線装置２ａの構成から、他系統への接続インタフェース（通信制御部２２内のＢ系バッファ２２ｂ、Ｃ系バッファ２２ｃ）を除外したものである。
なお、図４の中継装置３ａなどの構成要素のうち、図３の集線装置２ａの構成要素と同じものについては、同じ符号を付している。
【００５２】
以下に示すように、図４で接続先として示した「上流側の装置」および「下流側の装置」は、装置ごとに異なる。
中継装置３ａでは、「上流側の装置」が集線装置２ａであり、「下流側の装置」が中継装置４ａである。なお、中継装置４ａとの接続には、ＤＲＶの代わりに、通信フレームの電気信号と光信号とを変換する光モジュールを用いて、通信の高速化を実現してもよい。
中継装置４ａでは、「上流側の装置」が中継装置３ａであり、「下流側の装置」が入出力装置５ａである。なお、中継装置３ａとの接続には、ＤＲＶの代わりに、通信フレームの電気信号と光信号とを変換する光モジュールを用いて、通信の高速化を実現してもよい。
入出力装置５ａでは、「上流側の装置」が中継装置４ａであり、「下流側の装置」が集約装置６である。
【００５３】
図５（ａ）は、集約装置６を示す構成図である。
【００５４】
集約装置６は、通信制御部６２と、データ選択部６３と、データ分岐部６４とを有する。
通信制御部６２は、各系統の入出力装置５ａ〜５ｃへと接続するためのバッファ（Ａ系バッファ６２ａと、Ｂ系バッファ６２ｂと、Ｃ系バッファ６２ｃ）を制御する。
データ選択部６３は、通信制御部６２からの各系統の通信フレーム（機器制御フレーム）について、多重化の集約ルール（例えば、多数決）に従って、１つの通信フレームに集約してから、制御対象機器７へと転送する。多数決とは、複数の通信フレームのデータ内容がそれぞれ異なるときに、同じデータ内容として最も多い通信フレームを採用するルールである。
データ分岐部６４は、制御対象機器７から受信した通信フレーム（機器通知フレーム）を、各系の分だけコピーして、通信制御部６２を介して入出力装置５ａ〜５ｃにそれぞれ転送する。
【００５５】
図５（ｂ）は、通信フレームのフォーマットを示す。通信フレームには、プリアンブルと、フラグと、通信フレームの送信元を示す送信元アドレスと、通信フレームの送信先を示す送信先アドレスと、制御コマンドと、通信データと、ＣＲＣと、フラグとが含まれている。
制御コマンドは、通信フレームの種別を示し、例えば、機器制御フレーム、機器通知フレーム、エラー履歴データの送信要求、および、エラー履歴データの送信応答などが、種別の一例として挙げられる。
【００５６】
以上、図１から図５を参照して、第１実施形態を説明した。この第１実施形態では、集約装置６を、系統の数にかかわらず共通の装置とすることにより、系統の増減を容易に行うことができる。
【００５７】
以下、本発明の第２実施形態について、図６〜図７を参照して詳細に説明する。
図６は、多重化制御システムを示す構成図である。図６の多重化制御システムは、図１の多重化制御システムと比較すると、各入出力装置５ａ〜５ｃが、それぞれ集約装置６の機能を収容した各入出力装置９ａ〜９ｃとして構成されている。
これにより、集約装置６の機能は複数台の入出力装置５ａ〜５ｃへと分散されるため、１台の集約装置６（入出力装置９ａ〜９ｃ）に障害が発生したときにでも、他の集約装置６（入出力装置９ａ〜９ｃ）を経由して、通信フレームを送信し続けることができるため、耐障害性が強い。
なお、各系統の演算装置１ａ〜１ｃからそれぞれ送信される同じデータ内容の機器制御フレームを、各入出力装置９ａ〜９ｃがそれぞれ受信すると、各入出力装置９ａ〜９ｃ間で機器制御フレームのデータ内容を参照し、所定ルール（多数決）によって１つに決定された機器制御フレームを制御対象機器７へと送信することで、同じ機器制御フレームを重複して制御対象機器７へと送信することを抑制する。
【００５８】
図７は、図６の多重化制御システムに使用される入出力装置９ａを示す構成図である。なお、他系統の入出力装置９ｂ，９ｃも同じ構成である。
この図７の入出力装置９ａは、図４の入出力装置５ａと比較すると、アドレス設定部９１が自装置のアドレスを設定するためのロータリスイッチの数が１つ（ロータリスイッチ２１ａ）から３つ（ロータリスイッチ９１ａ〜９１ｃ）へと変更されている。
なお、アドレス設定部９１は、アドレス体系が（ケース３）の場合、ロータリスイッチ９１ａ〜９１ｃのうちの１つのロータリスイッチの設定値の一部を、他のロータリスイッチの設定値としてコピーしてもよい。
【００５９】
これにより、入出力装置９ａは、通信路を介して他系情報を共有するためノードアドレスを系統数分だけ有する。つまり、入出力装置９ａは、自系統（Ａ系統）へと接続するためのＡ系のアドレスをロータリスイッチ９１ａから設定してＡ系バッファ６２ａで使用するだけでなく、Ｂ系統へと接続するためのＢ系のアドレスをロータリスイッチ９１ｂから設定してＢ系バッファ６２ｂで使用し、Ｃ系統へと接続するためのＣ系のアドレスをロータリスイッチ９１ｃから設定してＣ系バッファ６２ｃで使用する。
【００６０】
さらに、入出力装置９ａは、集約装置６の各処理部（データ選択部６３、データ分岐部６４）と、入出力装置５ａの各処理部（データ制御部２４など）に相当する入出力部９５とを有する。
ここで、入出力装置５ａと集約装置６との間が装置内の内部バスで接続されることにより、入出力装置５ａの上流バッファ２２ａは、省略できる。
また、通信制御部２２と通信制御部６２とが同じ筐体内に収容されることにより、入出力装置５ａの下流バッファ２２ｄは、通信制御部６２内に配置してもよい。
【００６１】
以上、図６，図７を参照して、第２実施形態を説明した。この第２実施形態では、入出力装置５ａと集約装置６とを１台の入出力装置９ａに集約する構成により、集約装置６相当の装置台数が１台から３台に増加し、複数の通信フレームを装置間で並列で送受信することができるので、通信フレームのスループットが向上する。
【００６２】
以上説明した本発明の各実施形態では、演算装置１ａ〜１ｃ間での通信フレーム内のデータの共有について、演算装置１ａ〜１ｃ間を直接接続して通信する代わりに、集線装置２ａ〜２ｃを経由して、そのデータ制御部２４が送信先指定信号として、通信フレームの送信先アドレスへと向かう自系統の装置だけでなく、通信フレームを他系統へと知らせるための他系統の装置も併せて指定する。
これにより、演算装置１ａは、機器制御フレームを制御対象機器７へと送信し、同じ機器制御フレームを他の演算装置１ｂ，１ｃへと通知するという２段階の通信処理を行う必要がなくなるため、演算装置１ａ〜１ｃでの通信フレームの情報共有を実現しつつ、通信効率が向上する。
【００６３】
また、表２の（ケース２）および表３の（ケース３）で説明したように、複数の系にまたがる共通アドレスが設定されることで、通信データを格納するためのメモリ領域を系ごと設ける必要がなくなり、メモリ容量の節約が可能となる。
【００６４】
さらに、演算装置１ａと制御対象機器７との間の各中継装置ごとにエラー検出部２５を配置し、自装置で検出したエラーをエラー履歴データとして保持するとともに、演算装置１ａからの要求に応じてそのエラー履歴データを収集することで、障害発生箇所の特定が容易となり、修理効率が向上する。
【符号の説明】
【００６５】
１ａ〜１ｃ  演算装置
２ａ〜２ｃ  集線装置
３ａ〜３ｃ  中継装置
４ａ〜４ｃ  中継装置
５ａ〜５ｃ  入出力装置
６      集約装置
７      制御対象機器
９ａ〜９ｃ  入出力装置
１１，２１，９１  アドレス設定部
１１ａ，２１ａ，９１ａ〜９１ｃ  ロータリスイッチ
１２    送信制御部
１２ａ  送信バッファ
１３    受信制御部
１３ａ  受信バッファ
１３ｂ，２２ｂ，６２ｂ  Ｂ系バッファ
１３ｃ，２２ｃ，６２ｃ  Ｃ系バッファ
１４    アービタ制御部
１５    セレクタ部
１６，２３  データデコード部
１７    アドレス算出部
１８，２４  データ制御部
１８ａ  記憶部（記憶手段）
１９，２７  データエンコード部
２２    通信制御部
２２ａ  上流バッファ
２２ｄ  下流バッファ
２５    エラー検出部
２６    レジスタ部（記憶手段）
６２    通信制御部
６２ａ  Ａ系バッファ
６３    データ選択部
６４    データ分岐部
９５    入出力部
【図１】
0005537447.tif 000005
【図２】
0005537447.tif 000006
【図３】
0005537447.tif 000007
【図４】
0005537447.tif 000008
【図５】
0005537447.tif 000009
【図６】
0005537447.tif 000010
【図７】
0005537447.tif 000011