(57)【特許請求の範囲】
【請求項１】
制御対象に対する演算を行い、制御命令を出力する演算装置と、
前記制御命令を受信し、前記制御対象へ出力する複数の入出力装置と、
前記演算装置と前記入出力装置との間に伝送路を介して接続され、前記制御命令を中継して前記入出力装置へ出力する二重化された中継装置と、を有する制御システムにおいて、
前記二重化された中継装置の各々には、自中継装置で設定された上位アドレス情報を前記複数の入出力装置へ出力する上位アドレス設定部が備えられ、
前記入出力装置には、前記二重化された中継装置の各系から受信した前記上位アドレス情報を比較する上位アドレス比較部と、前記比較結果に基づいて前記上位アドレス情報を選択する上位アドレス設定部と、選択された前記上位アドレスと自入出力装置で定めた下位アドレス情報とを合わせて自入出力装置のノードアドレスを設定する回線制御部と、が備えられることを特徴とする制御システム。
【請求項２】
請求項１において、
前記入出力装置にはさらに、前記上位アドレス情報が正しく受信されたか判定する上位アドレス受信部と、前記上位アドレス受信部の判定結果に基づいて判断された前記二重化された中継装置のうちいずれの系が有効かを示す情報が格納される状態保持部と、が備えられ、
前記回線制御部は、前記二重化された中継装置のうち少なくとも一の系が有効であることを条件として前記ノードアドレスを設定することを特徴とする制御システム。
【請求項３】
請求項２において、
前記入出力装置は、自入出力装置で判断した前記いずれの系が有効かを示す情報を前記演算装置へ出力し、
前記演算装置は、前記入出力装置から受信した前記いずれの系が有効かを示す情報と前記演算装置が有する回線モード情報を比較し、不一致の場合にはエラーを検出することを特徴とする制御システム。
【請求項４】
請求項２において、
前記回線制御部は、前記状態保持部に格納された前記いずれの系が有効かを示す情報と前記演算装置から受信した回線モード情報を比較し、不一致の場合には前記演算装置へエラー応答をすることを特徴とする制御システム。
【請求項５】
請求項２において、
前記上位アドレス受信部は、複数回連続して同一の前記上位アドレス情報を受信したことを条件として前記上位アドレスが正しく受信されたか判断し、
前記状態保持部は、前記上位アドレス比較部による比較結果が一致し、かつ前記二重化された中継装置のうち両系から正しく受信されたと判断した場合に、前記中継装置は二重化されたシステムであると判断することを特徴とする制御システム。
【請求項６】
請求項１において、
前記二重化された中継装置には、前記上位アドレス情報が出力される第一の伝送路と、前記制御命令が中継される第二の伝送路と、が接続されることを特徴とする制御システム。
【請求項７】
請求項１において、
前記中継装置で設定された前記上位アドレス情報は、自中継装置のノードアドレスの一部として設定されることを特徴とする制御システム。
【請求項８】
制御対象に対して制御命令を出力する演算装置と、前記演算装置からの出力を中継する中継装置と、中継された前記制御命令を前記制御対象へ出力する入出力装置と、を有し、前記演算装置，前記中継装置および前記入出力装置が複数の伝送路を介して接続される制御システムにおいて、
前記中継装置には、自中継装置で設定された上位アドレス情報を前記複数の入出力装置へ出力する上位アドレス設定部が備えられ、
前記入出力装置には、前記上位アドレス情報を受信する複数の受信回路と、前記複数の受信回路の受信状況から前記伝送路の回線構成を判断する状態判断部と、前記状態判断部の判断結果より有効と判断された前記伝送路から受信した前記上位アドレス情報と自入出力装置で定めた下位アドレス情報とを合わせて自入出力装置のノードアドレスを設定する回線制御部と、が備えられることを特徴とする制御システム。
【請求項９】
請求項８において、
前記回線制御部は、前記状態判断部により判断された前記回線構成と前記演算装置から出力される回線モード情報を比較し、不一致の場合にはエラー応答を出力することを特徴とする制御システム。
【請求項１０】
演算装置からの出力を受信して複数の入出力装置へ出力する二重化された中継装置の各々によって前記入出力装置のノードアドレスの一部である上位アドレスを設定し、
前記入出力装置によって、前記二重化された中継装置の各々により設定された前記上位アドレスを比較し、前記比較結果に基づいて前記上位アドレスを選択し、選択された前記上位アドレスと当該入出力装置で設定された下位アドレスとを合わせて当該入出力装置のノードアドレスを設定する制御システムのノードアドレス設定方法。
【請求項１１】
請求項１０においてさらに、
前記入出力装置は、前記二重化された中継装置の前記上位アドレスの設定状況から前記中継装置に接続される伝送路の回線状態を判断し、前記回線状態の判断結果に基づいて前記上位アドレスを選択するとともに、前記回線状態の判断結果を前記演算装置へ出力することを特徴とする制御システムのノードアドレス設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機器が接続された二重化システムにおいて、機器ごとに個別のノードアドレスを設定することで相互通信を可能とする制御システム及び制御システムのノードアドレス設定方法に関する。
【背景技術】
【０００２】
プラント制御等に用いる制御システムにおいては、制御装置間で制御に関する通信（以降、制御通信と呼ぶ。）を行う必要があり、そのためには各装置を区別できるアドレス（以降、ノードアドレスと呼ぶ。）を設定することが必須である。
【０００３】
この設定方法として例えば特許文献１では、ロータリスイッチを用いてコントローラのノードアドレスを定める方法が開示されている。また、特許文献２では、制御システムを構築する複数のフィールドデバイス間で制御通信を行うためのノードアドレス設定の方法について、各フィールドデバイスのデバイスＩＤとフィールドデバイスが接続されるコネクタのネットワークＩＤとをマージしてノードアドレスを設定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−３３９３９２号公報
【特許文献２】特開２００１−２３６１０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、制御システムは一部が故障しても稼動し続けることができるような高い信頼性が求められており、一般的にこれを演算装置が二台、入出力装置が複数台存在するような二重化制御システムによって実現している。
【０００６】
しかし、特許文献１にあるように、これまでのノードアドレス設定の方法では、一つのロータリスイッチで設定できるアドレスは一般的に「０ｘ０〜０ｘＦ」までであるので、二重化制御システムのような多くの装置に対応したアドレスを設定するためには、一つの装置に対し複数のロータリスイッチを実装する必要があり、ノードアドレス設定工数の増加やヒューマンエラーの要因となるという課題があった。
【０００７】
また、特許文献２に記載のノードアドレス設定の手法を二重化制御システムに用いた場合、誤って二大の演算装置で別々のアドレスを設定すると、入出力装置に対して二種類のノードアドレス情報が転送されるため、どちらのノードアドレス情報を使用すべきか判断できないという問題があった。
【０００８】
そこで本発明では、ノードアドレスの設定において、設定工数を増やすことなく、また、アドレスの誤設定などの不備に対応できる制御システム及び制御システムのノードアドレス設定方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題は、制御対象に対する演算を行い、制御命令を出力する演算装置と、前記制御命令を受信し、前記制御対象へ出力する複数の入出力装置と、前記演算装置と前記入出力装置との間に伝送路を介して接続され、前記制御命令を中継して前記入出力装置へ出力する二重化された中継装置と、を有する制御システムにおいて、前記二重化された中継装置の各々には、自中継装置で設定された上位アドレス情報を前記複数の入出力装置へ出力する上位アドレス設定部が備えられ、前記入出力装置には、前記二重化された中継装置の各系から受信した前記上位アドレス情報を比較する上位アドレス比較部と、前記比較結果に基づいて前記上位アドレス情報を選択する上位アドレス設定部と、選択された前記上位アドレスと自入出力装置で定めた下位アドレス情報とを合わせて自入出力装置のノードアドレスを設定する回線制御部と、が備えられることを特徴とする制御システムによって解決される。
【発明の効果】
【００１０】
本発明によれば、中継装置が設定したノードアドレス情報から、入出力装置のノードアドレスを決定できるため、設定工数を増やすことなくノードアドレスの設定が可能となる。また、入出力装置は複数の中継装置から受信したノードアドレス情報を比較し、自局のノードアドレスを決定するため、アドレスの誤設定等に対しても柔軟に対応可能となる。
【図面の簡単な説明】
【００１１】
【図１】二重化制御システムの構成を示す図である。
【図２】各装置のノードアドレス（１６進）を示す図である。
【図３】データ回線の通信方法と転送フレームのフォーマットを示す図である。
【図４】シリアル回線の転送フレームのフォーマットを示す図である。
【図５】フレーム受信回路の構成を示す図である。
【図６】タイムアウトカウンタの構成を示す図である。
【図７】アドレス受信完了のパターンを示す図である。
【図８】上位ノードアドレス設定回路の構成を示す図である。
【図９】データ回線制御回路の通信制御部の構成を示す図である。
【図１０】１系／２系／両系状態と演算装置からの回線モード情報に対するデータ回線の通信状態を示す図である。
【図１１】中継装置Ａ（３），中継装置Ｂ（４）のノードアドレスの構成を示す図である。
【発明を実施するための形態】
【００１２】
本発明を実施するための形態を図面を参照して説明する。
【００１３】
図１は、本発明における実施例の一形態を示す、二重化制御システムの構成図である。図１における二重化制御システムは、演算装置（主系）（１），演算装置（待機系）（２），中継装置Ａ（３），中継装置Ｂ（４），Ｎ個の入出力装置（入出力装置Ａ（５），入出力装置Ｂ（６），・・・，入出力装置Ｎ（７）），終端装置（８）から構成される。そして、演算装置（主系）（１），演算装置（待機系）（２）と中継装置Ａ（３），Ｂ（４）はデータ回線（１０〜１３）で接続し、中継装置Ａ（３），Ｂ（４）と入出力装置はデータ回線（１６，１７）及びＲＳ２３２Ｃのようなシリアル回線（１４，１５）で接続する。さらに、終端装置（８）はシリアル回線（１４，１５）及びデータ回線（１６，１７）の終端に接続する。ここで、中継装置Ａ（３）と中継装置Ｂ（４）は同一構成の装置である。また、データ回線（１０〜１３，１６，１７）では図３にて後述するフレームで通信を行う。
【００１４】
演算装置（主系）（１），演算装置（待機系）（２）は、例えば２４時間連続稼動する発電所のタービンのような制御対象（９）からの情報を受けて演算を行い、制御命令を生成する装置である。また、入出力装置Ａ（５），Ｂ（６），・・・，Ｎ（７）はデータ回線制御回路（５０８），入出力制御回路（５０９）を介して制御対象（９）との間で直接入出力を行う装置で、演算装置（主系）（１），演算装置（待機系）（２）からの制御信号を制御対象（９）へ出力し、制御対象（９）から取込んだ情報を演算装置（主系）（１），演算装置（待機系）（２）へ渡す。実際の配置では、演算装置（主系）（１），演算装置（待機系）（２）と入出力装置Ａ（５），Ｂ（６），・・・，Ｎ（７）は離れた場所に設置されることがあり、中継装置Ａ（３），中継装置Ｂ（４）は前記演算装置（主系）（１），演算装置（待機系）（２）と前記入出力装置Ａ（５），Ｂ（６），・・・，Ｎ（７）の距離が物理的に遠い場合に中継する装置である。また図示しないが、演算装置（主系）（１），（待機系）（２）には、中継装置Ａ（３），Ｂ（４）とは別に同様の構成を有する中継装置，入出力装置が接続されている。
【００１５】
入出力装置Ａ（５），Ｂ（６），・・・，Ｎ（７）が演算装置（主系）（１），演算装置（待機系）（２）と制御通信を行うためには、入出力装置Ａ（５），Ｂ（６），・・・，Ｎ（７）を区別する個別のアドレス（以降、ノードアドレスと呼ぶ。）が必要である。本発明では、前記二重化制御システムにおいて、入出力装置Ａ（５），Ｂ（６），・・・，Ｎ（７）のノードアドレスの上位部分（以降、上位ノードアドレスと呼ぶ。）を中継装置Ａ（３），中継装置Ｂ（４）で設定し、下位部分（以降、下位ノードアドレスと呼ぶ。）を入出力装置Ａ（５），Ｂ（６），・・・，Ｎ（７）で設定する。そして、それらをマージしたものを自局のノードアドレスとして、演算装置（主系）（１），演算装置（待機系）（２）と制御通信を行う。これにより、多数の入出力装置が接続された場合であって各入出力装置に複数のロータリスイッチを設けることなくノードアドレスの設定が可能となる。
【００１６】
図２では、本実施例で設定される各装置のノードアドレス（１６進）を示す図である。このように、演算装置（主系）（１）には「０ｘ８００」、演算装置（待機系）（２）には「０ｘ８０１」、中継装置Ａ（３）には「０ｘＢＤ０」、中継装置Ｂ（４）には「０ｘＢ５０」、入出力装置Ａ（５）に「０ｘ５００」、入出力装置Ｂ（６）「０ｘ５０１」がそれぞれ設定され、データ回線（１０〜１３，１６，１７）における通信はこのノードアドレスを用いて図３に示すようなフレームで通信を行う。
【００１７】
図３は、演算装置（主系）（１），演算装置（待機系）（２）と入出力装置Ａ（５），Ｂ（６），・・・，Ｎ（７）の間の、データ回線上のフレームを表す図である。図３下段に示すように転送フレームのフォーマットは、データ回線上においてフレームの同期をとるためのプリアンブルと、フレームの開始を示す上位２つのフラグと、送信先アドレスと、送信元アドレスと、データと、ＣＲＣコードと、フレームの終了を表す下位１つのフラグからなる。このフレームを用いて、図３上段のように演算装置（主系）（１），演算装置（待機系）（２）は入出力装置Ａ（５）にフレームを送信する場合は送信先アドレスに「０ｘ５００」、送信元アドレスに「０ｘ０００」を設定して送信フレーム（７０１）を送信する。そして入出力装置Ａ（５）は、自局のノードアドレスが「０ｘ５００」に設定されていれば、送信先アドレスが「０ｘ５００」のフレームを受信し、送信先アドレスに「０ｘ０００」、送信元アドレスに「０ｘ５００」を設定して応答フレーム（７０２）を返す。入出力装置Ｂ（６）においても同様の手順で演算装置（主系）（１），演算装置（待機系）（２）と通信を行う。
【００１８】
以降に、上位ノードアドレスを８ビット，下位ノードアドレスを４ビット，ノードアドレスを１２ビットとして、図２に示すようなノードアドレスを設定して入出力装置Ａ（５），Ｂ（６），・・・，Ｎ（７）と演算装置（主系）（１），演算装置（待機系）（２）の間で制御通信を開始するまでの流れを説明する。
【００１９】
ただし、入出力装置Ａ（５），Ｂ（６），・・・，Ｎ（７）は、ノードアドレスの設定を電源を入れた時に一度だけ行い、一度ノードアドレスを設定したら、電源を一度落として再度入れるまでそのノードアドレスを保持する。また、電源を入れた時は、シフトレジスタ（５２１１），レジスタＡ（５２１３），レジスタＢ（５２１４），上位ノードアドレス設定回路（５０６）は「０」で初期化され、一致回数カウンタ（５２３），１系タイムアウトカウンタ（５２４），２系タイムアウトカウンタ（５２８）もゼロリセットされる。
【００２０】
ここで、入出力装置Ａ（５），Ｂ（６），・・・，Ｎ（７）はノードアドレスの設定において同一の機能であるため、代表として入出力装置Ａ（５）について説明をする。まず、中継装置Ａ（３），中継装置Ｂ（４）において、ロータリスイッチ（３２，４２）を使って入出力装置Ａ（５）の上位ノードアドレス８ビット「０ｘ５０」を設定する。次に、シリアル回線制御回路（３３，４３）は、ロータリスイッチ（３２，４２）で設定された上位ノードアドレスデータ「０ｘ５０」をシリアル回線（１４，１５）で入出力装置Ａ（５）へサイクリックに転送する。
【００２１】
ここで、シリアル回線（１４，１５）では図４に示す転送フレームで転送する。この転送フレームは、フレームの開始を表す開始フラグと、フレーム中のデータエリア開始を示す同期ビットと、ボーレートと、上位ノードアドレスデータと、パリティビットと、データエリアの終了を示すエンドビットから構成される。また、転送フレームは送信フレーム（７０１）と応答フレーム（７０２）があり、どちらも図４に示す転送フレームのフォーマット（７１０）の形式で転送する。
【００２２】
また、ロータリスイッチ（３２，４２）は中継装置Ａ（３），中継装置Ｂ（４）のノードアドレスの設定にも使用する。図１１に中継装置Ａ（３），中継装置Ｂ（４）のノードアドレスの構成を示す。中継装置のノードアドレスは、上位４ｂｉｔに装置の種類を表す値「０ｘＢ」、中位１ｂｉｔに中継装置が接続されている系によって決まる値「０ｘ０または０ｘ１」、下位７ｂｉｔにロータリスイッチ（３２，４２）で設定される値の下位７ｂｉｔ「０ｘ５０」をマージして決定する。中継装置Ａ（３），中継装置Ｂ（４）のノードアドレス設定に必要なスイッチと入出力装置Ａ（５）の上位ノードアドレス設定に必要なスイッチを共有することで、原価低減やヒューマンエラーを防ぐ。
【００２３】
一方、入出力装置Ａ（５）では、シリアル回線（１４）を介して中継装置Ａ（３）から転送されたフレームを上位ノードアドレス受信回路（１系）（５０１）で受信し、シリアル回線（１５）を介して中継装置Ｂ（４）から転送されたフレームを上位ノードアドレス受信回路（２系）（５０２）で受信する。上位ノードアドレス受信回路（１系）（５０１）と上位ノードアドレス受信回路（２系）（５０２）の回路構成は同一であるので、以降、上位ノードアドレス受信回路（１系）（５０１）について説明し、必要な場合は上位ノードアドレス受信回路（２系）（５０２）についても説明する。
【００２４】
上位ノードアドレス受信回路（１系）（５０１）では、まず、図５に示すフレーム受信回路（５２１）でシフトレジスタ（５２１１）を使って上位ノードアドレスデータ「０ｘ５０」を取り込む。次に、取り込んだ上位ノードアドレスデータ「０ｘ５０」に対してパリティチェック（５２１２）を行い、パリティが正しければレジスタＡ（５２１３）にアドレスデータ「０ｘ５０」を格納する。もし、パリティが不正であれば、データを破棄してレジスタＡ（５２１３）には何も書き込まない。
【００２５】
そして次に、上位ノードアドレスデータ「０ｘ５０」を取り込み、レジスタＡ（５２１３）にアドレスデータ「０ｘ５０」を格納する時、先にレジスタＡ（５２１３）に格納されているアドレスデータ「０ｘ５０」をレジスタＢ（５２１４）に格納してから次のアドレスデータを格納する。レジスタＡ（５２１３），Ｂ（５２１４）の値が更新されると、前回値アドレス比較器（５２２）に各レジスタに格納されているアドレスデータを出力する。
【００２６】
前回値アドレス比較器（５２２）は、入力されたレジスタＡのアドレスデータ（５２５）とレジスタＢのアドレスデータ（５２６）を比較し、「０ｘ５０」と「０ｘ５０」で一致しているので、一致回数カウンタ（５２３）をカウントアップする。ただし、レジスタＡのアドレスデータ（５２５）とレジスタＢのアドレスデータ（５２６）が不一致だった場合は一致回数カウンタ（５２３）のカウントをゼロリセットする。
【００２７】
一致回数カウンタ（５２３）は、カウンタ値が規定値、例えば「３」になったら１系アドレス受信完了信号（５１１）を出力する。また、一致回数カウンタ（５２３）は、一度カウンタ値が「３」となったらカウンタを停止してゼロリセットされるまでカウンタ値「３」を保持する。一致回数カウンタ（５２３）を使って複数回同じデータが受信されていることを確認することで、上位ノードアドレスデータの一時的な誤りを防ぐ。
【００２８】
次に、図６に示すタイムアウトカウンタ（５２４）の構成図を用いてタイムアウトカウンタの動作を説明する。一致回数カウンタ（５２３）から出力された１系アドレス受信完了信号（５１１）をトリガとして、１系タイムアウトカウンタ（５２４）のカウントアップを始める。ここで、上段は１系のタイムアウトカウンタの構成図であり、１系アドレス受信完了信号（５１１）をトリガとしてカウントアップを開始し、２系アドレス受信完了信号（５１４）によってカウントを停止する。そして、カウンタ（５２４１）のカウント値はタイムアウト判定（５２４２）で５００ms〜６００ms程度に相当する値を判定し、カウント値がその値となった場合は２系タイムアウト信号（５２７）を出力する。
【００２９】
また、下段は２系のタイムアウトカウンタの構成図であり、２系アドレス受信完了信号（５１４）をトリガとしてカウントアップを開始し、１系アドレス受信完了信号（５１１）によってカウントを停止する。そして、カウンタ（５２８１）のカウント値はタイムアウト判定（５２８２）で５００ms〜６００ms程度に相当する値を判定し、カウント値がその値となった場合は１系タイムアウト信号（５２９）を出力する。
【００３０】
１系のアドレス受信が２系より先に完了した場合、１系のタイムアウトカウンタ（５２４）のカウントアップを開始すると同時に、２系のタイムアウトカウンタ（５２８）停止状態にする。ここで、タイムアウト時間経過前に２系のアドレス受信が完了すると、２系のタイムアウトカウンタ（５２８）を開始させようとする。しかし、既に１系アドレス受信完了信号（５１１）により２系のタイムアウトカウンタ（５２８）は停止状態となっているので、カウントアップは開始しない。さらに、１系のタイムアウトカウンタ（５２４）を停止状態にして、２系タイムアウト信号（５２７）を出力させないことで、１系と２系の両系でアドレス受信が完了する。
【００３１】
また、１系のタイムアウトカウンタ（５２４）から２系タイムアウト信号（５２７）を出力されると、１系のみアドレス受信が完了したことになる。２系のアドレス受信が１系より先に完了した場合も同様に、両系でアドレス受信が完了するか、２系のみアドレス受信が完了する場合の何れかとなる。もし、１系と２系のタイムアウトカウンタ両方にアドレス受信完了信号が入力されない場合、両系のタイムアウトカウンタは、少なくともどちらか片系のアドレス受信完了信号が入力されるまで待ち続ける。
【００３２】
図７に前記の１系，２系のアドレス受信完了及びタイムアウトの順序に対するアドレス受信完了のパターンを示す。もし、１系のみアドレス受信が完了した場合、１系アドレス受信完了信号（５１１）と２系タイムアウト信号（５２７）を論理積して、１系アドレス受信完了兼２系タイムアウト信号（５１０）を生成する。また上位ノードアドレス受信回路（２系）（５０２）でも同様に、２系のみアドレス受信が完了した場合、２系アドレス受信完了兼１系タイムアウト信号（５１３）を生成する。以降、１系と２系の両系でアドレス受信が完了し、アドレスデータは両系とも「０ｘ５０」であるとして説明を続ける。
【００３３】
次に、１系／２系アドレス比較器（５０３）に１系受信アドレスデータ（５１２）「０ｘ５０」と２系受信アドレスデータ（５１５）「０ｘ５０」を入力して比較する。ここで、両系のアドレスデータが一致しているので両系アドレス一致信号（５１６）を出力する。また、両系のアドレスデータが不一致だった場合や片系のみのアドレスデータしか受信していない場合は、両系アドレス一致信号（５１６）は出力しない。
【００３４】
１系／２系アドレス比較器（５０３）から出力された両系アドレス一致信号（５１６）と１系アドレス受信完了信号（５１１）、２系アドレス受信完了信号（５１４）を論理積して両系同一アドレス受信完了信号（５１７）を生成する。この両系同一アドレス受信完了信号（５１７）と１系アドレス受信完了兼２系タイムアウト信号（５１０）、２系アドレス受信完了兼１系タイムアウト信号（５１３）を１系／２系／両系状態保持（５０４）で保持しておき、さらに前記３つの信号を論理和素子（５０５）で論理和して上位ノードアドレスラッチ信号（５１９）を生成する。
【００３５】
生成された上位ノードアドレスラッチ信号（５１９）と、１系受信アドレスデータ（５１２）「０ｘ５０」，２系アドレス受信データ（５１５）「０ｘ５０」及び２系アドレス受信完了信号（５１４）を上位ノードアドレス設定回路（５０６）に入力する。
【００３６】
図８に示す上位ノードアドレス設定回路（５０６）では、１系受信アドレスデータ（５１２）と２系受信アドレスデータ（５１５）をセレクタ（５０６１）に入力し、２系アドレス受信完了信号（５１４）で選択して、上位ノードアドレスレジスタ（５０６２）に格納する。ここで、２系アドレス受信完了信号は「１」であるので、２系受信アドレスデータ（５１５）「０ｘ５０」を選択して上位ノードアドレスレジスタ（５０６２）に格納する。また、１系のみアドレス受信が完了していた場合は１系受信アドレスデータ（５１２）が上位ノードアドレスレジスタ（５０６２）に格納され、２系のみアドレス受信が完了していた場合は２系受信アドレスデータ（５１５）が上位ノードアドレスレジスタ（５０６２）に格納される。
【００３７】
次に、上位ノードアドレスレジスタ（５０６２）は上位ノードアドレスラッチ信号（５１９）を受信した時のアドレス値「０ｘ５０」をラッチし、上位ノードアドレスデータ（５２０）「０ｘ５０」をデータ回線制御回路（５０８）に出力する。これにより、入出力装置Ａ（５）が中継装置Ａ（３），Ｂ（４）から少なくとも片系のノードアドレス情報を正しく受信したことをもって、上位ノードアドレスを設定することができる。ただし、上位ノードアドレスラッチ信号（５１９）を受信しなかった場合は、アドレス値はラッチせず、データ回線制御回路（５０８）には何も出力しない。
【００３８】
これによって、１系／２系のいずれかの系で有効にアドレスを受信したことを条件として、上位アドレスを設定できるため、回路構成を変更せずにシングル回線にも適用できる。また、例えば両系のアドレスは有効に受信したが、両系のアドレスデータが不一致の場合には、両系アドレス一致信号（５１６），１系アドレス受信完了兼２系タイムアウト信号（５１０），２系アドレス受信完了兼１系タイムアウト信号（５１３）のいずれも出力されないため、アドレスの誤設定にも対応可能となる。
【００３９】
一方、下位ノードアドレス「０ｘ０」はロータリスイッチ（５０７）で設定し、データ回線制御回路（５０８）へ入力する。
【００４０】
データ回線制御回路（５０８）では、上位ノードアドレス「０ｘ５０」と下位ノードアドレス「０ｘ０」をマージしてノードアドレス「０ｘ５００」を生成する。ノードアドレス「０ｘ５００」が生成されると、入出力装置Ａ（５）は、演算装置（主系）（１），演算装置（待機系）（２）からの送信先アドレスが「０ｘ５００」となっている送信フレーム（７０１）を受信し、自局が存在することを知らせる応答を返す。
【００４１】
ここで、入出力装置Ａ（５）は、たとえ上位ノードアドレスが１系もしくは２系の片系のみから受信された場合でも、暫定的に演算装置（主系）（１）と演算装置（待機系）（２）の両方に応答を返す（暫定二重化回線）。入出力装置Ａ（５）が暫定的に両系の演算装置に応答を返すことで、演算装置（主系）（１），演算装置（待機系）（２）が持っている回線モード情報と実際の回線モードとを比較し、誤りを検出することができる。さらに、回線モードが１系シングル回線や２系シングル回線であった場合も、同様の手順で演算装置（主系）（１）や演算装置（待機系）（２）と通信を行うことができる。ここで、回線モードとは、二重化回線，１系シングル回線，２系シングル回線のどれであるかを表している。
【００４２】
演算装置（主系）（１），演算装置（待機系）（２）が入出力装置Ａ（５）から存在を知らせる応答フレーム（７０２）を受信すると、送信フレーム（７０１）のデータに回線モード情報「二重化回線」を載せて入出力装置Ａ（５）に送信する。入出力装置Ａ（５）は、演算装置（主系）（１），演算装置（待機系）（２）から回線モード情報「二重化回線」を受信すると、図９に示すデータ回線制御回路の通信制御部（５３０）の回線モード保持（５３０３）にて保持し、自局の１系／２系／両系状態と比較する。
【００４３】
ここで、データ回線制御回路の通信制御部（５３０）は、切替器（５３０１），フレーム無視（５３０２），回線モード保持（５３０３），エラー応答（５３０４）から構成され、データ回線と入出力装置Ａ（５）の間の送受信の切替を行う。また、フレーム無視（５３０２）は入出力装置Ａ（５）の上位ノードアドレスが設定されていない場合にフレームを無視する。
【００４４】
データ回線制御回路の通信制御部（５３０）は、データ回線のフレーム（７０４）より回線モード情報「二重化回線」を受信すると、回線モード保持（５３０３）に取込み、１系／２系／両系状態信号（５１８）と比較する。回線モード情報「二重化回線」に対して１系／２系／両系状態は「両系」で一致しているので、それ以降の通信は、回線モード「二重化回線」として演算装置（主系）（１），演算装置（待機系）（２）と通信を行う。また、回線モード情報が「１系シングル回線」や「２系シングル回線」だった場合、データ回線制御回路の通信制御部（５３０）は、演算装置（主系）（１），演算装置（待機系）（２）に対して回線に誤りがあることを知らせるエラー応答を返す。
【００４５】
ここで、入出力装置Ａ（５）で保持している１系／２系／両系状態と演算装置（主系）（１），演算装置（待機系）（２）からの回線モード情報の組合せに対するデータ回線の通信状態を図１０に示す。１系／２系／両系状態と演算装置（主系）（１），演算装置（待機系）（２）からの回線モード情報が一致しない場合は、エラー応答を返すことで、システム構成の誤りや故障を演算装置（主系）（１），演算装置（待機系）（２）に知らせることができる。また、入出力装置Ａ（５）が一度エラー応答を返した場合、それ以降は演算装置（主系）（１），演算装置（待機系）（２）から自局のノードアドレス「０ｘ５００」宛のフレームを受信してもエラー応答を返す。再度、入出力装置Ａ（５）と演算装置（主系）（１），演算装置（待機系）（２）の間で制御通信を行うためには、入出力装置Ａ（５）の電源を入れ直す必要がある。
【００４６】
以上のように本発明では、二重化制御システムにおいて、中継装置と入出力装置に分けたノードアドレス情報から、入出力装置のノードアドレスを決定し、演算装置と入出力装置の間で通信を行うことができるため、多数の入出力装置に対しても柔軟にノードアドレスの設定が可能となる。
【００４７】
さらに、入出力装置が中継装置から少なくとも片系のノードアドレス情報を受信できたら、暫定的に両系の演算装置と入出力装置間で通信を開始することで、システム構成の誤りもしくは故障を検出し、演算装置に知らせることができる。また、本発明の二重化制御システムは、シングル回線として構築した場合においても、入出力装置が判断した回線構成と演算装置から送られた回線構成とを比較確認して通信を行うため、各装置内部の構成や設定を変更することなく、シングルの制御システムとしてシステムを構築することができる。
【００４８】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００４９】
また、上記の各構成，機能，処理部，処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成，機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム，テーブル，ファイル等の情報は、メモリや、ハードディスク，ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード，ＳＤカード，ＤＶＤ等の記録媒体に置くことができる。
【００５０】
また、回線や制御線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００５１】
１  演算装置（主系）
２  演算装置（待機系）
３  中継装置Ａ
４  中継装置Ｂ
５  入出力装置Ａ
６  入出力装置Ｂ
７  入出力装置Ｎ
８  終端装置
９  制御対象
１０  演算装置（主系）と中継装置Ａ間のデータ回線
１１  演算装置（主系）と中継装置Ｂ間のデータ回線
１２  演算装置（待機系）と中継装置Ｂ間のデータ回線
１３  演算装置（待機系）と中継装置Ａ間のデータ回線
１４  １系シリアル回線
１５  ２系シリアル回線
１６  １系データ回線
１７  ２系データ回線
３１  中継装置Ａのデータ回線中継回路
３２  中継装置Ａの上位ノードアドレス設定スイッチ
３３  中継装置Ａのシリアル回線制御回路
４１  中継装置Ｂのデータ回線中継回路
４２  中継装置Ｂの上位ノードアドレス設定スイッチ
４３  中継装置Ｂのシリアル回線制御回路
５０１  上位ノードアドレス受信回路（１系）
５０２  上位ノードアドレス受信回路（２系）
５０３  １系／２系アドレス比較器
５０４  １系／２系／両系状態保持
５０５  上位ノードアドレスラッチ信号生成用論理和素子
５０６  上位ノードアドレス設定回路
５０７  下位ノードアドレス設定用ロータリスイッチ
５０８  データ回線制御回路
５０９  入出力制御回路
５１０  １系アドレス受信完了兼２系タイムアウト信号
５１１  １系アドレス受信完了信号
５１２  １系受信アドレスデータ
５１３  ２系アドレス受信完了兼１系タイムアウト信号
５１４  ２系アドレス受信完了信号
５１５  ２系受信アドレスデータ
５１６  両系アドレス一致信号
５１７  両系同一アドレス受信完了信号
５１８  １系／２系／両系状態信号
５１９  上位ノードアドレスラッチ信号
５２０  上位ノードアドレスデータ
５２１  フレーム受信回路
５２２  前回値アドレス比較器
５２３  一致回数カウンタ
５２４  １系タイムアウトカウンタ
５２５  レジスタＡのアドレスデータ
５２６  レジスタＢのアドレスデータ
５２７  ２系タイムアウト信号
５２８  ２系タイムアウトカウンタ
５２９  １系タイムアウト信号
５３０  データ回線制御回路の通信制御部
７０１  送信フレーム
７０２  応答フレーム
７０３  シリアル回線のフレーム
７１０  データ回線の転送フレームのフォーマット
７１１  シリアル回線の転送フレームのフォーマット
７１２  中継装置のノードアドレスの構成
５０６１  セレクタ
５０６２  上位ノードアドレスレジスタ
５２１１  シフトレジスタ
５２１２  パリティチェック
５２１３  レジスタＡ
５２１４  レジスタＢ
５２４１  １系タイムアウトカウンタのカウンタ
５２４２  １系タイムアウトカウンタのタイムアウト判定
５２８１  ２系タイムアウトカウンタのカウンタ
５２８２  ２系タイムアウトカウンタのタイムアウト判定
５３０１  切替器
５３０２  フレーム無視
５３０３  回線モード保持
５３０４  エラー応答
【図１】
0005455883.tif 000002
【図２】
0005455883.tif 000003
【図３】
0005455883.tif 000004
【図４】
0005455883.tif 000005
【図５】
0005455883.tif 000006
【図６】
0005455883.tif 000007
【図７】
0005455883.tif 000008
【図８】
0005455883.tif 000009
【図９】
0005455883.tif 000010
【図１０】
0005455883.tif 000011
【図１１】
0005455883.tif 000012