(57)【特許請求の範囲】
【請求項１】
少なくとも第１のホスト機能部を有する主系制御モジュール、および、少なくとも１つの第２のファンクション機能部、および、少なくとも１つの第２のホスト機能部を有する少なくとも１つの待機系制御モジュールがシステムバスで相互に接続される冗長構成をとり、
制御対象として少なくとも第１のファンクション機能部を有する少なくとも１つの被制御モジュールを前記システムバスを介して制御する冗長構成をとるコントローラであって、
前記主系制御モジュールは、
前記被制御モジュールを管理すると共に、前記第１のホスト機能部から前記第１のファンクション機能部への接続を構成するファンクション構成情報を、前記第２のファンクション機能部へ所定のタイミングで繰り返し通知し、
前記待機系制御モジュールは、
前記第２のファンクション機能部が受信した前記ファンクション構成情報を保持し、前記ファンクション構成情報の通知が途絶したとき、前記ファンクション構成情報に基づいて前記被制御モジュールを引き継いて制御する
ことを特徴とする冗長構成をとるコントローラ。
【請求項２】
前記待機系制御モジュールは複数であり、
前記ファンクション構成情報の通知が途絶したことを、それぞれ異なるタイムアウト時間によって検出する
ことを特徴とする請求項１に記載の冗長構成をとるコントローラ。
【請求項３】
請求項１または請求項２に記載の冗長化制御装置は更に、
前記主系制御モジュールの前記第１のホスト機能部から前記被制御モジュールの前記第１のファンクション機能部へ至る第１の信号経路と、当該待機系制御モジュールの前記第２のホスト機能部から前記被制御モジュールの前記第１のファンクション機能部へ至る単一または複数の第２の信号経路のうちいずれかに切り替えるバス経路制御部を有し、
前記バス経路制御部が前記第２の信号経路のいずれか１つに切り替えた際に、切り替えられた信号経路に於ける待機系制御モジュールは、前記ファンクション構成情報に基づいて前記被制御モジュールを引き継いて制御する
を特徴とする冗長構成をとるコントローラ。
【請求項４】
前記バス経路制御部は、前記被制御モジュールからの系切り替え信号によって、前記系切り替え信号に係る前記第２の信号経路に切替えたのち、切り替えた前記第２の信号経路に対応する前記系切り替え信号をマスクする
ことを特徴とする請求項１ないし請求項３のいずれか１項に記載の冗長構成をとるコントローラ。
【請求項５】
前記バス経路制御部は、複数の前記系切り替え信号を検知したとき、プライオリティエンコーダによって、複数の前記系切り替え信号に係る前記第２の信号経路のうちいずれかに切り替えたのち、切り替えた前記第２の信号経路に対応する前記系切り替え信号をマスクする
ことを特徴とする請求項４に記載の冗長構成をとるコントローラ。
【請求項６】
前記待機系制御モジュールは、
前記ファンクション構成情報の通知が途絶し、前記主系制御モジュールから前記被制御モジュールの制御を引き継ぐ際に、前記第２のホスト機能部による前記被制御モジュールの発見および認識を抑止する
ことを特徴とする請求項１ないし請求項５のいずれか１項に記載の冗長構成をとるコントローラ。
【請求項７】
前記第１のホスト機能部および前記第２のホスト機能部は、前記第１のファンクション機能部および前記第２のファンクション機能部とＵＳＢ（Universal Serial Bus）プロトコルより通信する
ことを特徴とする請求項１ないし請求項６のいずれか１項に記載の冗長構成をとるコントローラ。
【請求項８】
前記システムバスは、シリアル伝送方式である
ことを特徴とする請求項１ないし請求項６のいずれか１項に記載の冗長構成をとるコントローラ。
【請求項９】
前記システムバスは、リアルタイムＥｔｈｅｒｎｅｔ（登録商標）、ＰＣＩ−Ｅｘｐｒｅｓｓ（登録商標）のいずれかである
ことを特徴とする請求項１ないし請求項６のいずれか１項に記載の冗長構成をとるコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファクトリーオートメーション（ＦＡ）やプロセスオートメーション（ＰＡ）の分野で利用され、システムの信頼性や可用性の向上のため、制御モジュールを冗長化した冗長構成をとるコントローラに関する。
【背景技術】
【０００２】
近年、デバイス間やコンポーネント間の接続インタフェースとして、パーソナルコンピュータなどを中心に、パラレル伝送方式に代わってシリアル伝送方式が多く採用されている。
【０００３】
シリアル伝送方式は、基板上および基板間の接続に必要な信号線が極めて少なくて済み、機器の小型化や構造の簡素化を図りやすくなる。更に、シリアル伝送方式は、パラレル方式において大きな問題となる信号間のスキュー（伝搬時間のずれ）が発生しないことから、高速化に有利である。
【０００４】
特許文献1には、シリアル伝送方式を、ファクトリーオートメーション（ＦＡ）やプロセスオートメーション（ＰＡ）の分野で利用されるコントローラ（以降、単に「コントローラ」と記す）に適用した場合、装置構成の簡素化や柔軟性の向上といった利点が得られることが記載されている。
【０００５】
ファクトリーオートメーション（ＦＡ）とは、工場に於ける生産／製造工程を自動化することをいう。ファクトリーオートメーション（ＦＡ）では、プログラマブルコントローラなどによって産業用ロボットなどを制御している。
プロセスオートメーション（ＰＡ）とは、化学工業などに於いて、プロセスの各点で温度・圧力・流量などを自動制御し、生産工程を自動化することをいう。
【０００６】
非特許文献１には、シリアル伝送方式であるUniversal Serial Bus（ＵＳＢ）の規格が記載されている。ＵＳＢ規格に於いては、一つの計算機が複数の周辺機器に対する入出力を集中制御する。ＵＳＢ規格に於いては、バス上にただ一つ存在するホスト機能部と、ホスト機能部からの要求に従い、入出力動作を実行するファンクション機能部とが相互に通信を行う。
【０００７】
ファクトリーオートメーション（ＦＡ）やプロセスオートメーション（ＰＡ）の分野で利用されるコントローラでは、システムが誤った動作をしないこと（信頼性）やシステムが必要なときにサービスを提供できること（可用性）の確保が重要である。よって、突発的なハードウェアの故障やソフトウェアの異常動作により制御モジュールが停止した場合にも制御を継続できるよう、複数の制御モジュールを設けた冗長構成がとられている場合がある。
【０００８】
冗長構成の例として、制御モジュールの一つを主系として通常時の場合に運用し、残りの制御モジュールを待機系として主系に障害が発生した場合に備えるホットスタンバイ構成がある。
【０００９】
特許文献２では、データ処理装置のプロセス入出力データにデータ更新番号を付与することにより、稼動側から待機側への処理引き継ぎに先立って両データ処理装置間で処理を同期化する技術が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００７−２６７４５５号公報
【特許文献２】特開平８−２０２７５０号公報
【非特許文献】
【００１１】
【非特許文献１】"Universal Serial Bus Specification Revision 2.0"、[online]、２０００年４月２７日、USB Implementers Forum, ［平成２３年５月１０日検索］、インターネット（URL:http://www.usb.org/developers/docs/usb_20_021411.zip）
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献２に記載の発明は、シリアル伝送インタフェース特有の制約事項を考慮していない。そのため、シリアル伝送インタフェースをシステムバスとして用いたコントローラにおいて、制御モジュールを冗長化すると、制御システムとしての可用性が低下するという問題があった。
【００１３】
例えば、ＵＳＢのようにホスト機能がバス上に一つしか存在できないシリアル方式のインタフェースをシステムバスとして用い、複数の制御モジュールを備えた冗長構成のコントローラを構成するには、各制御モジュールに搭載されているホスト機能部からの信号経路をスイッチなどで切り替え、主系制御モジュールからの制御指令のみが入出力モジュールに伝達されるようにする必要がある。
【００１４】
このとき、待機系制御モジュールは、ホスト機能部から入出力モジュールに至る信号経路が切断もしくは無効化されているため、システムに接続されている入出力モジュールの状態を取得することができない。
【００１５】
また、特許文献２に記載の発明は、主系制御モジュールにおいて障害が発生して、制御を継続できなくなった場合には、このスイッチなどを操作して、待機系制御モジュールのホスト機能部から入出力モジュールに至る信号経路を確立することで系切り替えを行う。しかし、前述したように、待機系制御モジュールは、制御すべき入出力モジュールに関する情報を有していない。待機系制御モジュールは、新たに発見手順／認識手順を実行し、システムに接続されている入出力モジュールから必要な情報を取得する必要がある。
【００１６】
このため、主系制御モジュールの障害を検出して、待機系制御モジュールへの系切り替えを行ってから、実際に待機系制御モジュールへの制御の引き継ぎが完了するまでに、所定の時間が掛かる。その間、制御装置による入出力モジュールの制御が停止してしまう場合がある。
【００１７】
加えて、入出力モジュールの内部構造によっては、系切り替えの実行時に発生するバスリセットにより、入出力モジュールの内部状態が失われる場合がある。制御を引き継いだ待機系制御モジュールがこのまま入出力モジュールにアクセスした場合、入出力モジュールの内部状態と制御プログラムの内部状態との間で矛盾が生じ、制御処理に悪影響を及ぼす恐れがある。
そこで本発明では、冗長系の切り替えを安全に実施し、かつ、制御の引き継ぎが完了するまでの時間を短縮可能な冗長構成をとるコントローラを提供することを課題とする。
【課題を解決するための手段】
【００１８】
前記課題を解決し、本発明の目的を達成するために、以下のように構成した。
【００１９】
すなわち、本発明の冗長構成をとるコントローラは、少なくとも第１のホスト機能部を有する主系制御モジュール、および、少なくとも１つの第２のファンクション機能部、および、少なくとも１つの第２のホスト機能部を有する少なくとも１つの待機系制御モジュールがシステムバスで相互に接続される冗長構成をとり、制御対象として少なくとも第１のファンクション機能部を有する少なくとも１つの被制御モジュールを前記システムバスを介して制御する冗長構成をとるコントローラであって、前記主系制御モジュールは、前記被制御モジュールを管理すると共に、前記第１のホスト機能部から前記第１のファンクション機能部への接続を構成するファンクション構成情報を、前記第２のファンクション機能部へ所定のタイミングで繰り返し通知し、前記待機系制御モジュールは、前記第２のファンクション機能部が受信した前記ファンクション構成情報を保持し、前記ファンクション構成情報の通知が途絶したとき、前記ファンクション構成情報に基づいて前記被制御モジュールを引き継いて制御することを特徴とする。
その他の手段については、発明を実施するための形態のなかで説明する。
【発明の効果】
【００２０】
本発明によれば、冗長系の切り替えを安全に実施し、かつ、制御の引き継ぎが完了するまでの時間を短縮可能な冗長構成をとるコントローラを提供可能となる。
【図面の簡単な説明】
【００２１】
【図１】第１の実施形態に係るコントローラを示す概略の構成図である。
【図２】第１の実施形態に係るバス経路制御部を示す概略の構成図である。
【図３】第１の実施形態に係るシーケンス図である。
【図４】第１の実施形態に係る待機系制御モジュールの動作を示すフローチャートである。
【図５】第２の実施形態に係るコントローラを示す概略の構成図である。
【図６】第２の実施形態に係るバス経路制御部を示す概略の構成図である。
【発明を実施するための形態】
【００２２】
以降、本発明を実施するための形態を、図を参照して詳細に説明する。
【００２３】
（第１の実施形態の構成）
図１は、第１の実施形態に係るコントローラを示す概略の構成図である。
冗長化制御装置であるコントローラ１は、主系制御モジュール１０と、１つ以上の待機系制御モジュール１０Ａ−１，１０Ａ−２と、バス経路制御部１００と、これらを相互に接続するＵＳＢケーブルであるシステムバス９０とを有している。コントローラ１は、システムバス９０とハブ１１０とを介して、１つ以上の入出力モジュール７０−１〜７０−３を制御する。
【００２４】
主系制御モジュール１０は、通常稼動時に於いて、所定の演算処理と、入出力モジュール７０−ｎ（ｎは自然数）に対する入出力処理とを実施するモジュールである。主系制御モジュール１０は、制御プログラム２０と、この制御プログラム２０を実行するための図示しないＣＰＵ（Central Processing Unit）およびメモリと、ホスト機能部３０とを備えている。
【００２５】
第１のホスト機能部であるホスト機能部３０は、システムバス９０を駆動して入出力モジュール７０−ｎと通信する機能を備えている。システムバス９０を駆動するとは、このシステムバス９０にクロックパルスとＵＳＢのバスパワー電源を供給し、このシステムバス９０を介して入出力モジュール７０−ｎにコマンドやデータを送信することである。ホスト機能部３０は、構成情報３１と、構成情報同期部（Ｍ）３２と、同期スケジュール部３３とを有している。
【００２６】
構成情報３１は、入出力モジュール７０−１〜７０−３をそれぞれ管理し、ホスト機能部３０からファンクション機能部７１への接続を構成するファンクション構成情報である。構成情報３１は、例えばシステムバス９０がＵＳＢである場合、システムバス９０上に於ける入出力モジュール７０−ｎ（ｎ＝１〜３）のアドレス情報と、デバイスクラスの情報と、エンドポイントの数と種類の情報とを含んでいる。なお、システムバス９０としてＵＳＢ以外のインタフェースを用いた場合には、構成情報３１の内容は異なるものとなる。
【００２７】
構成情報同期部（Ｍ）３２は、同期スケジュール部３３からの同期要求によって、構成情報３１を、待機系制御モジュール１０Ａ−１，１０Ａ−２のファンクション機能部６０−１，６０−２に送信する。
同期スケジュール部３３は、構成情報同期部（Ｍ）３２に所定のタイミングで同期要求を出力する。
【００２８】
待機系制御モジュール１０Ａ−１は、制御プログラム２０−１と、この制御プログラム２０−１を実行するための図示しないＣＰＵ（Central Processing Unit）およびメモリと、ホスト機能部３０Ａ−１と、主系状態監視部５０−１と、ファンクション機能部６０−１とを備えている。待機系制御モジュール１０Ａ−１と待機系制御モジュール１０Ａ−２とは、同様の構成を有している。よって、以下では、待機系制御モジュール１０Ａ−１を例に説明する。
【００２９】
構成情報同期部（Ｂ）３２Ａ−１は、ファンクション機能部６０−１と協働して主系制御モジュール１０が保持する構成情報３１を共有している。構成情報同期部（Ｂ）３２Ａ−１は、ファンクション機能部６０−１の出力側が接続されており、更に、構成情報同期部（Ｂ）３２Ａ−１の出力側には、構成情報３１−１が接続されている。この構成情報３１−１は、主系制御モジュール１０が保持する構成情報３１と同期している。待機系制御モジュール１０Ａ−１は、主系制御モジュール１０による構成情報３１の通知が途絶し、主系制御モジュール１０から入出力モジュール７０−１〜７０−３の制御を引き継ぐ際に、ホスト機能部３０Ａ−１による入出力モジュール７０−１〜７０−３の発見および認識を抑止する。これにより、迅速に入出力モジュール７０−１〜７０−３の制御を引き継ぐことが可能となる。
【００３０】
ホスト機能部３０Ａ−１は、主系制御モジュール１０に異常が発生したときに、これに代わってシステムバス９０を駆動し、構成情報３１−１に基づいて入出力モジュール７０−１〜７０−３と通信する。
【００３１】
ファンクション機能部６０−１は、システムバス９０に接続され、ホスト機能部３０Ａ−１からの要求に応答し、かつ、主系制御モジュール１０の稼動状態を監視する。
【００３２】
主系状態監視部５０−１は、主系制御モジュール１０からファンクション機能部６０−１を介して通知される構成情報を監視する。この構成情報の通知が途絶すると、バス経路制御部１００に系切り替え要求信号５１−１を出力する。
【００３３】
バス経路制御部１００は、入力された系切り替え要求信号５１−１に応じて、主系制御モジュール１０から入出力モジュール７０−１〜７０−３との接続である第１の信号経路と、待機系制御モジュール１０Ａ−１，１０Ａ−２から入出力モジュール７０−１〜７０−３へ至る複数の第２の信号経路のうちいずれか１つに切り替える。なお、待機系制御モジュール１０Ａ−１が１台のみの場合には、第２の信号経路は単一である。
【００３４】
すなわち、コントローラ１は、バス経路制御部１００によって、主系制御モジュール１０のホスト機能部３０からのシステムバス９０の経路を、待機系制御モジュール１０Ａ−１，１０Ａ−２のホスト機能部３０Ａ−１，３０Ａ−２からのいずれか１つからの経路に切り替える。本実施形態では、主系状態監視部５０−１，５０−２は、発火期限時間（タイムアウト時間）が同一に設定されているので、系切り替え要求信号５１−１，５１−２をそれぞれ、ほぼ同時に出力する。
バス経路制御部１００は、系切り替え要求信号５１−１，５１−２を、ほぼ同時に検知すると、プライオリティエンコーダによって、待機系制御モジュール１０Ａ−１のホスト機能部３０Ａ−１に切り替える。そして、切り替えた第２の信号経路に対応する系切り替え要求信号５１−１をマスクする。切り替えた待機系制御モジュール１０Ａ−１で不具合が発生した時に、誤って系切り替え要求信号５１−１が出力され、他の第２の信号経路に切り替えられなくなることを抑止するためである。
また、本実施形態に於いて、バス経路制御部１００は、系切り替え要求信号５１−１のみを先に検知すると、検知した系切り替え要求信号５１−１に係る待機系制御モジュール１０Ａ−１への第２の信号経路に切り替える。そして、切り替えた第２の信号経路に対応する系切り替え要求信号５１−１をマスクして、以降の系切り替え要求信号５１−１を受け付けないようにする。
【００３５】
本実施形態に於いて、切り替えられた第２の信号経路に於ける待機系制御モジュール１０Ａ−１は、構成情報３１−１に基づいて入出力モジュール７０−１〜７０−３を引き継いで制御する。
【００３６】
被制御モジュールである入出力モジュール７０−１〜７０−３は、ホスト機能部３０，３０Ａ−１，３０Ａ−２からの要求に応答する機能を備えたファンクション機能部７１を備えている。コントローラ１は、少なくとも１つの入出力モジュール７０−ｎ（ｎは自然数）を有している。
【００３７】
入出力モジュール７０−１，７０−２のファンクション機能部７１は、ＵＳＢケーブルであるシステムバス９０と、ハブ１１０とを介してバス経路制御部１００の下流側に接続されている。
【００３８】
入出力モジュール７０−３のファンクション機能部７１は、システムバス９０を介してバス経路制御部１００の下流側に接続されている。
【００３９】
入出力モジュール７０−１〜７０−３は、主系制御モジュール１０、待機系制御モジュール１０Ａ−１，１０Ａ−２からの指令に従い、外部からデータを取り込み、または、外部へデータを出力する。
【００４０】
システムバス９０は、シリアル伝送方式のインタフェースによって主系制御モジュール１０や待機系制御モジュール１０Ａ−１，１０Ａ−２と入出力モジュール７０−１〜７０−３とを接続する。本実施形態のシステムバス９０は、ＵＳＢケーブルである。
【００４１】
図２は、第１の実施形態に係るバス経路制御部を示す概略の構成図である。
本実施形態のバス経路制御部１００は、ホスト選択部１０１と、信号分配部１０２とを有している。
ホスト選択部１０１の信号の上流側は、主系制御モジュール１０のホスト機能部３０と、待機系制御モジュール１０Ａ−１のホスト機能部３０Ａ−１と、待機系制御モジュール１０Ａ−２のホスト機能部３０Ａ−２とに接続されている。ホスト選択部１０１の信号の下流側は、信号分配部１０２に接続されている。ホスト選択部１０１は更に、主系状態監視部５０−１，５０−２に接続され、それぞれ系切り替え要求信号５１−１，５１−２を入力可能に接続されている。
【００４２】
信号分配部１０２の上流側は、ホスト選択部１０１の下流側に接続されている。信号分配部１０２の下流側は、ハブ１１０の上流側と、入出力モジュール７０−３のファンクション機能部７１と、待機系制御モジュール１０Ａ−１，１０Ａ−２のファンクション機能部６０−１，６０−２とに接続されている。ハブ１１０の下流側は、入出力モジュール７０−１，７０−２のファンクション機能部７１に接続されている。
【００４３】
ホスト選択部１０１は、系切り替え要求信号５１−１，５１−２のいずれか１つが入力されると、入力された系切り替え要求信号５１−ｎに係る待機系制御モジュール１０Ａ−ｎに切り替える。ホスト選択部１０１は、複数の系切り替え要求信号５１−１，５１−２が、ほぼ同時に入力されると、プライオリティエンコーダにより、予め定められた優先順位にしたがって、入力された系切り替え要求信号５１−１，５１−２に係る待機系制御モジュール１０Ａ−１，１０Ａ−２のいずれかに切り替える。ここで「ほぼ同時」とは、所定の閾値以内に、複数の系切り替え要求信号５１−１，５１−２がホスト選択部１０１に入力された場合をいう。本実施形態では、待機系制御モジュール１０Ａ−１、待機系制御モジュール１０Ａ−２の順番を優先順位とし、この優先順位にあわせて切り替えている。
【００４４】
この切り替えに伴って、待機系制御モジュール１０Ａ−１のホスト機能部３０Ａ−１が通信を引き継ぐ。通信の引き継ぎに伴い、系切り替え要求信号５１−１，５１−２は入力されなくなるので、ホスト選択部１０１は、系切り替え要求信号５１−１をマスクする。これにより、待機系制御モジュール１０Ａ−１のまま切り替え不能となることを抑止している。
【００４５】
（第１の実施形態の動作）
図１を基に、第１の実施形態のコントローラの動作を説明する。
《バス経路制御部１００の動作》
ＵＳＢ規格では、システムバス９０上にホストがただ一つ存在するように決められている。バス経路制御部１００は、主系制御モジュール１０、待機系制御モジュール１０Ａ−１，１０Ａ−２のいずれか一つが入出力モジュール７０−１〜７０−３、および、待機系制御モジュール１０Ａ−１，１０Ａ−２のファンクション機能部６０−１，６０−２に接続されるよう、システムバス９０の信号経路を設定している。
【００４６】
具体的には、バス経路制御部１００は、主系制御モジュール１０のホスト機能部３０に接続された信号線と、待機系制御モジュール１０Ａ−１のホスト機能部３０Ａ−１に接続された信号線と、待機系制御モジュール１０Ａ−２のホスト機能部３０Ａ−２に接続された信号線のうち一系統のみをアクティブにする。通常稼働時には、主系制御モジュール１０のホスト機能部３０に接続された信号線のみをアクティブにする。主系制御モジュール１０の異常発生時には、系切り替え要求信号５１−１により、待機系制御モジュール１０Ａ−１のホスト機能部３０Ａ−１に接続された信号線のみをアクティブにする。アクティブにした信号線を入出力モジュール７０−１〜７０−３に分配して、これらのファンクション機能部７１に接続する。更に、アクティブにした信号線を、待機系制御モジュール１０Ａ−２のファンクション機能部６０−２にも接続する。
【００４７】
更に、待機系制御モジュール１０Ａ−１の異常発生時には、系切り替え要求信号５１−２により、待機系制御モジュール１０Ａ−２のホスト機能部３０Ａ−２に接続された信号線のみをアクティブにする。アクティブにした信号線を入出力モジュール７０−１〜７０−３に分配して、これらのファンクション機能部７１に接続する。
【００４８】
以上の経路設定により、一つの主系制御モジュール１０を頂点として、残りの待機系制御モジュール１０Ａ−１，１０Ａ−２と入出力モジュール７０−１〜７０−３とが、スター状またはツリー状に接続されたバスが構成される。
【００４９】
《コントローラ１の通常稼動状態の動作》
コントローラ１が通常稼動状態にあり、主系制御モジュール１０が通常動作しているとき、主系制御モジュール１０のホスト機能部３０は、構成情報３１を待機系制御モジュール１０Ａ−１，１０Ａ−２へ所定のタイミングで通知する。
【００５０】
具体的には、同期スケジュール部３３は、継続的に所定タイミングで構成情報３１の同期要求信号を生成して構成情報同期部（Ｍ）３２を駆動する。構成情報同期部（Ｍ）３２は、その同期要求信号によって、構成情報３１の内容を、待機系制御モジュール１０Ａ−１，１０Ａ−２のファンクション機能部６０−１，６０−２に繰り返し送信（通知）する。
【００５１】
待機系制御モジュール１０Ａ−１，１０Ａ−２のホスト機能部３０Ａ−１，３０Ａ−２は、受信した情報を、ホスト機能部３０Ａ−１，３０Ａ−２の構成情報３１−１，３１−２に保持（複製）する。
【００５２】
なお、この「所定タイミング」は、このコントローラ１に於いて、入出力モジュール７０−１〜７０−３の最新の構成情報３１が得られるように定めれば良い。同期スケジュール部３３は、継続的に所定周期（１００ｍｓｅｃ周期など）で構成情報３１の同期要求信号を生成しても良い。同期スケジュール部３３は更に、継続的に「入出力モジュール７０−１〜７０−３への入出力処理発生時」に同期要求信号を生成しても良い。
【００５３】
また、構成情報通知は、ファンクション機能部６０−１，６０−２から主系状態監視部５０−１，５０−２へも出力される。主系状態監視部５０−１，５０−２はいわゆるウォッチドッグタイマであり、直前の構成情報通知から所定時間である発火期限時間（タイムアウト時間）が経過すると発火する。この発火までの時間は、構成情報の同期が実行される間隔よりも十分に長くなるよう設定されている。これにより、主系制御モジュール１０に異常が発生したとき、ファンクション機能部６０−１，６０−２から主系状態監視部５０−１，５０−２へ構成情報通知が行われなくなる。所定の発火期限時間が経過すると、ウォッチドッグタイマが発火して、主系状態監視部５０−１，５０−２は、バス経路制御部１００に対して系切り替え要求信号５１−１，５１−２を出力する。バス経路制御部１００は、複数の系切り替え要求信号５１−１，５１−２を認識すると、プライオリティエンコーダにより、優先順位が最も高い待機系制御モジュール１０Ａ−１のホスト機能部３０Ａ−１に接続された信号線のみをアクティブにし、以降は系切り替え要求信号５１−１をマスクする。
【００５４】
主系状態監視部５０−１の発火期限時間は更に、ファクトリーオートメーションやプロセスオートメーションなどのシステムの安全性が保たれる時間よりも短く設定している。これにより、システムとしての安全性を保ったまま、待機系制御モジュール１０Ａ−ｎへの動作の引き継ぎが可能となる。
【００５５】
以上により、通常稼動状態では、主系制御モジュール１０と待機系制御モジュール１０Ａ−１，１０Ａ−２との間で構成情報が同期されるとともに、待機系制御モジュール１０Ａ−１，１０Ａ−２において主系制御モジュール１０の稼動状態を監視することが可能となる。
【００５６】
《コントローラ１の系切り替え時の動作》
次に、系切り替え時の動作について説明する。
通常稼動中のコントローラ１において、主系制御モジュール１０が故障などにより制御動作を継続できなくなると、待機系制御モジュール１０Ａ−１，１０Ａ−２のファンクション機能部６０−１，６０−２への構成情報３１の通知が途絶する。それにより、主系状態監視部５０−１，５０−２は、前回の構成情報の通知の受信から、所定の発火期限時間が経過した後に発火し、バス経路制御部１００に対して系切り替え要求信号５１−１，５１−２を其々出力する。
【００５７】
バス経路制御部１００は、待機系制御モジュール１０Ａ−１，１０Ａ−２の主系状態監視部５０−１，５０−２から系切り替え要求信号５１−１，５１−２が入力されると、主系制御モジュール１０のホスト機能部３０の系統を切断し、代わって、待機系制御モジュール１０Ａ−１のホスト機能部３０Ａ−１の系統をアクティブにする。これにより、待機系制御モジュール１０Ａ−１が新たな主系となり、主系制御モジュール１０から制御を引き継ぐ。新たな主系となった待機系制御モジュール１０Ａ−１には、入出力モジュール７０−１〜７０−３が接続されている。このとき、待機系制御モジュール１０Ａ−１は、同期した構成情報３１−１を有しているため、入出力モジュール７０−１〜７０−３と、待機系制御モジュール１０Ａ−１，１０Ａ−２のファンクション機能部６０−１，６０−２に関する構成情報を改めて収集する必要がない。そのため、待機系制御モジュール１０Ａ−１は、入出力モジュール７０−１〜７０−３といったＵＳＢデバイスの接続時に必要となるデバイスの発見手順／認識手順を省略し、直ちに制御プログラム２０−１を動作させて制御を引き継ぐことが可能となる。
【００５８】
以上の系切り替えの動作により、待機系制御モジュール１０Ａ−１，１０Ａ−２が新たな主系となった際に、ホスト機能部３０Ａと入出力モジュール７０−１〜７０−３とで行われる不要な通信を抑止し、待機系制御モジュール１０Ａ−１，１０Ａ−２が実際に制御を引き継ぐまでの時間を短縮可能である。
【００５９】
図３は、第１の実施形態に係るシーケンス図である。
シーケンスＱ１０〜Ｑ１３は、構成処理に係るシーケンスである。
コントローラ１が起動すると、まず、バス経路制御部１００は、主系制御モジュール１０から入出力モジュール７０−ｎへのバス経路をアクティブにする。
【００６０】
シーケンスＱ１０に於いて、主系制御モジュール１０のホスト機能部３０は、入出力モジュール７０−ｎ（ｎ＝１〜３）のファンクション機能部７１へ、このファンクション機能部７１を構成する命令を送信する。この構成する命令を受信すると、ファンクション機能部７１は、ホスト機能部３０とのＵＳＢ通信を開始する。
【００６１】
続いて、シーケンスＱ１１に於いて、入出力モジュール７０−ｎのファンクション機能部７１は、主系制御モジュール１０のホスト機能部３０へ、このファンクション機能部７１の構成への応答を行う。主系制御モジュール１０のホスト機能部３０は、受信したファンクション機能部７１の構成への応答に基づいて、入出力モジュール７０−ｎの構成情報３１を生成する。
上記シーケンスＱ１０〜Ｑ１１の処理を、接続されている入出力モジュール７０−ｎの個数分だけ繰り返す。
【００６２】
シーケンスＱ１２に於いて、主系制御モジュール１０のホスト機能部３０は、待機系制御モジュール１０Ａ−１のファンクション機能部６０−１へ、このファンクション機能部６０−１を構成する命令を送信する。待機系制御モジュール１０Ａ−１の主系状態監視部５０−１は、ファンクション機能部６０−１の構成完了を以て発火期限時間のカウントを開始する。
【００６３】
シーケンスＱ１３に於いて、待機系制御モジュール１０Ａ−１のファンクション機能部６０−１は、主系制御モジュール１０のホスト機能部３０へ、ファンクション機能部６０−１の構成への応答を行う。この処理を、接続されている待機系制御モジュール１０Ａ−ｎの個数分だけ繰り返す。
【００６４】
シーケンスＱ２０〜Ｑ２４は、構成情報通知処理に係るシーケンスである。この構成情報通知処理は、主系制御モジュール１０の制御プログラム２０の所望のタイミングで行われる。
シーケンスＱ２０に於いて、主系制御モジュール１０の同期スケジュール部３３は、構成情報同期部（Ｍ）３２に対して同期要求信号を送信する。
シーケンスＱ２１に於いて、構成情報同期部（Ｍ）３２は、待機系制御モジュール１０Ａ−１のファンクション機能部６０−１に対して構成情報を通知する。
【００６５】
シーケンスＱ２２に於いて、待機系制御モジュール１０Ａ−１のファンクション機能部６０−１は、主系制御モジュール１０の構成情報同期部（Ｍ）３２に対して、構成情報の通知への応答を行う。
【００６６】
シーケンスＱ２３に於いて、待機系制御モジュール１０Ａ−１のファンクション機能部６０−１は、ホスト機能部３０Ａ−１の構成情報同期部（Ｂ）３２Ａ−１に対して、構成情報３１を送信する。送信された構成情報３１は、構成情報３１−１として格納される。
【００６７】
シーケンスＱ２４に於いて、待機系制御モジュール１０Ａ−１のファンクション機能部６０−１は、主系状態監視部５０−１に対して、構成情報３１を受信した旨を通知する。
シーケンスＱ２５に於いて、待機系制御モジュール１０Ａ−１の主系状態監視部５０−１は、発火期限時間を再設定する。ここで発火期限時間とは、前記のとおり、ウォッチドッグタイマのタイムアウト時間のことをいう。
【００６８】
シーケンスＱ３０〜Ｑ３２は、系切り替え処理に係るシーケンスである。この系切り替え処理は、待機系制御モジュール１０Ａ−１の主系状態監視部５０−１の発火期限時間のタイミングで行われる。
シーケンスＱ３０に於いて、待機系制御モジュール１０Ａ−１の主系状態監視部５０−１は、発火期限時間の到来と共に発火する。すなわち、主系状態監視部５０−１のウォッチドッグタイマがタイムアウトする。
【００６９】
シーケンスＱ３１に於いて、待機系制御モジュール１０Ａ−１の主系状態監視部５０−１は、バス経路制御部１００に対して、系切り替え要求信号５１−１を出力する。
【００７０】
シーケンスＱ３２に於いて、待機系制御モジュール１０Ａ−１の主系状態監視部５０−１は、ホスト機能部３０Ａ−１に対して、ホスト制御の引き継ぎ処理を指示する。
【００７１】
主系制御モジュール１０に異常が発生して、冗長系である待機系制御モジュール１０Ａ−１に切り替えた際、シーケンスＱ１０〜Ｑ１３に示すような構成処理を行わずに、代わりにシーケンスＱ３０〜Ｑ３２に示すホスト制御の引き継ぎ処理を行っている。これにより、冗長系の切り替えを安全に実施し、かつ、制御の引き継ぎが完了するまでの時間を短縮可能となる。
【００７２】
図４は、第１の実施形態に係る待機系制御モジュールの動作を示すフローチャートである。以下、待機系制御モジュール１０Ａ−１を例として説明する。
処理が開始すると、ステップＳ１０に於いて、待機系制御モジュール１０Ａ−１は、ファンクション機能部６０−１の構成要求を受信したか否かを判断する。ファンクション機能部６０−１の構成要求を受信していないならば（Ｎｏ）、ステップＳ１０の処理に戻る。ファンクション機能部６０−１の構成要求を受信したならば（Ｙｅｓ）、ステップＳ１１の処理を行う。
【００７３】
ステップＳ１１に於いて、待機系制御モジュール１０Ａ−１は、ファンクション機能部６０−１を構成して、主系制御モジュール１０のホスト機能部３０に応答を返す。
【００７４】
ステップＳ１２に於いて、待機系制御モジュール１０Ａ−１は、主系制御モジュール１０のホスト機能部３０から構成情報３１を受信したか否かを判断する。構成情報３１を受信したならば（Ｙｅｓ）、ステップＳ１３の処理を行う。構成情報３１を受信せずに発火期限時間が経過したならば、ステップＳ１４の処理を行う。
【００７５】
ステップＳ１３に於いて、待機系制御モジュール１０Ａ−１の構成情報同期部（Ｂ）３２Ａ−１は、受信した情報を、ホスト機能部３０Ａ−１内の構成情報３１−１に記憶（同期）し、ステップＳ１２の処理に戻る。
【００７６】
ステップＳ１４に於いて、待機系制御モジュール１０Ａ−１の主系状態監視部５０−１は、バス経路制御部１００により、待機系制御モジュール１０Ａ−１のホスト機能部３０Ａ−１への経路に切り替える。
ステップＳ１５に於いて、待機系制御モジュール１０Ａ−１は、記憶している構成情報３１を基にＵＳＢホスト機能を引き継ぐ。
【００７７】
ステップＳ１６に於いて、待機系制御モジュール１０Ａ−１は、所定の入力条件が成立するまで待つ。ステップＳ１７に於いて、待機系制御モジュール１０Ａ−１の制御プログラム２０は、ホスト機能部３０Ａを介して入出力モジュール７０−ｎ（ｎ＝１〜３）を制御し、ステップＳ１６の処理に戻って繰り返す。
【００７８】
（第１の実施形態の効果）
以上説明した第１の実施形態では、次の（Ａ）〜（Ｄ）のような効果がある。
（Ａ）  主系制御モジュール１０と待機系制御モジュール１０Ａ−１，１０Ａ−２による冗長系システムを構成し、かつ、系切り替えにより待機系制御モジュール１０Ａ−１が新たな主系となった際に、ホスト機能部３０Ａ−１と入出力モジュール７０−ｎとで行われる不要な通信を抑止でき、待機系制御モジュール１０Ａ−１が実際に制御を引き継ぐまでの時間が短縮される。
【００７９】
（Ｂ）  主系制御モジュール１０の構成情報３１の通知を所定タイミングとし、この構成情報３１の通知が途切れたときに、主系制御モジュール１０に異常が発生したと判断している。これにより、主系制御モジュール１０の異常検知の特別なハードウェアやソフトウェアを必要とせず、この主系制御モジュール１０の異常を容易に検知可能である。更に、異常発生の所定タイミング前に於ける直近の構成情報３１を、取得可能である。
（Ｃ）  本実施形態のコントローラ１は、ＵＳＢ規格に準拠した全ての入出力モジュール７０−ｎを使用可能である。
【００８０】
（Ｄ）  主系状態監視部５０−１の発火期限時間（タイムアウト時間）は、構成情報通知の時間よりも長く、かつ、システムとしての安全性が保たれる時間よりも短く設定している。これにより、システムとしての安全性を保ったまま、待機系制御モジュール１０Ａ−ｎへの動作の引き継ぎが可能となる。
（第２の実施形態の構成）
【００８１】
図５は、第２の実施形態に係るコントローラを示す概略の構成図である。図１に示す第１の実施形態に係るコントローラと同一の要素には同一の符号を付与し、説明を適宜省略、または簡略化する。
【００８２】
本実施形態のコントローラ１Ｂは、第１の実施形態のコントローラ１とは異なる主系制御モジュール１０Ｂと、複数の待機系制御モジュール１０Ｃ−１と、入出力モジュール７０Ｃ−１〜７０Ｃ−３とを有し、第１の実施形態のシステムバス９０とは異なるシステムバス９１によって相互に接続されている。
本実施形態のシステムバス９１は、リアルタイムＥｔｈｅｒｎｅｔ（登録商標）であり、デイジーチェーン接続されている。
【００８３】
システムバス９１は、それぞれ行きと戻りの経路を持ち、全体として一つの大きなループを構成している。主系制御モジュール１０Ｂは、システムバス９１上に送出されるデータの起点(マスタ)である。待機系制御モジュール１０Ｃ−１および入出力モジュール７０Ｃ−１〜７０Ｃ−３は、それぞれシステムバス９１上のデータを取り込みながら、それらのデータを次に接続されているモジュールへと転送する。
【００８４】
本実施形態の主系制御モジュール１０Ｂは、図１に示す第１の実施形態の主系制御モジュール１０のホスト機能部３０の代わりに、リアルタイムＥｔｈｅｒｎｅｔ（登録商標）のホスト機能を有するホスト機能部３０Ｂを有している。
【００８５】
本実施形態の待機系制御モジュール１０Ｃ−１は、図１に示す第１の実施形態の待機系制御モジュール１０Ａ−１とは異なり、リアルタイムＥｔｈｅｒｎｅｔ（登録商標）のホスト機能を有するホスト機能部３０Ｃ−１と、リアルタイムＥｔｈｅｒｎｅｔ（登録商標）のファンクション機能を有するファンクション機能部６０Ｃ−１と、システムバス９１の経路を切り替えるバス経路制御部１００Ｃとを有している。
【００８６】
本実施形態の入出力モジュール７０Ｃ−１〜７０Ｃ−３は、図１に示す第１の実施形態の入出力モジュール７０−１〜７０−３とは異なり、リアルタイムＥｔｈｅｒｎｅｔ（登録商標）のファンクション機能を有するファンクション機能部７１Ｃを其々有している。
【００８７】
これらのモジュールは、システムバス９１のトポロジに合わせて行き経路と戻り経路がそれぞれ接続されている。システムバス９１では、バス上に同時に存在できるマスタは一つである。そのため、バス経路制御部１００Ｃによって、マスタとなる制御モジュールへの切り替えを実施する。
【００８８】
通常運転時に於いて、主系制御モジュール１０Ｂがマスタとなる。主系制御モジュール１０Ｂは、所定のタイミングで構成情報３１をシステムバス９１上に通知する。待機系制御モジュール１０Ｃ−１は、ファンクション機能部６０Ｃ−１を介して、システムバス９１から構成情報３１を取り込んで複製すると共に、主系制御モジュール１０Ｂの状態を監視する。
【００８９】
構成情報３１の通知が途絶すると、待機系制御モジュール１０Ｃ−１は、主系制御モジュール１０Ｂが動作不能になったと判断し、自らがシステムバス９１上のマスタとなるよう系切り替え要求信号５１Ｃ−１を発生し、バス経路制御部１００Ｃの接続状態を切り替える。
【００９０】
図６は、第２の実施形態に係るバス経路制御部を示す概略の構成図である。
バス経路制御部１００Ｃは、スイッチ１０１Ｃ，１０２Ｃを有している。バス経路制御部１００Ｃには、主系制御モジュール１０Ｂのホスト機能部３０Ｂからの出力信号と入力信号が接続され、待機系制御モジュール１０Ｃ−１のホスト機能部３０Ｃ−１からの出力信号と入力信号が接続され、入出力モジュール７０Ｃ−１のファンクション機能部７１への入出力信号が接続されている。待機系制御モジュール１０Ｃ−１のホスト機能部３０Ｃ−１への入力信号は、待機系制御モジュール１０Ｃ−１のファンクション機能部６０Ｃ−１への入力信号と同一である。
【００９１】
スイッチ１０１Ｃは、主系制御モジュール１０Ｂのホスト機能部３０Ｂからの出力側と、待機系制御モジュール１０Ｃ−１のホスト機能部３０Ｃ−１からの出力側とを切替えて、入出力モジュール７０Ｃ−１のファンクション機能部７１Ｃに接続する。
【００９２】
スイッチ１０２Ｃは、主系制御モジュール１０Ｂのホスト機能部３０Ｂからの出力側と、入出力モジュール７０Ｃ−１のファンクション機能部７１Ｃの出力側とを切替えて、待機系制御モジュール１０Ｃ−１のファンクション機能部６０Ｃ−１およびホスト機能部３０Ｃ−１に接続する。
【００９３】
（第２の実施形態の動作）
図５、図６を基に、第２の実施形態に係るコントローラ１Ｂの動作を説明する。
《バス経路制御部１００Ｃの動作》
バス経路制御部１００Ｃは、主系制御モジュール１０Ｂと待機系制御モジュール１０Ｃ−１のいずれか一つが入出力モジュール７０Ｃ−１〜７０Ｃ−３と接続されるよう、システムバス９１の信号経路を設定している。
【００９４】
具体的には、バス経路制御部１００Ｃは、主系制御モジュール１０Ｂのホスト機能部３０Ｂに接続された信号線と、待機系制御モジュール１０Ｃ−１のホスト機能部３０Ｃ−１に接続された信号線のうち一系統のみをアクティブにする。
【００９５】
通常稼働時には、主系制御モジュール１０Ｂのホスト機能部３０Ｂに接続された信号線のみをアクティブにする。主系制御モジュール１０Ｂの異常発生時には、待機系制御モジュール１０Ｃ−１のホスト機能部３０Ｃ−１に接続された信号線のみをアクティブにする。
【００９６】
アクティブにした信号線を入出力モジュール７０Ｃ−１〜７０Ｃ−３に分配して、これらのファンクション機能部７１Ｃに接続する。更に、アクティブにした信号線を、待機系制御モジュール１０Ｃ−１のファンクション機能部６０Ｃ−１に接続する。
【００９７】
以上の経路設定により、一つの主系制御モジュール１０Ｃを頂点として、残りの待機系制御モジュール１０Ｃ−１と入出力モジュール７０Ｃ−１〜７０Ｃ−３とが、デイジーチェーン状に接続されたバスが構成される。
【００９８】
《コントローラ１Ｂの通常稼動状態の動作》
コントローラ１Ｂの通常稼動状態の動作は、第１の実施形態に於けるコントローラ１の通常稼動状態の動作と同様である。
【００９９】
《コントローラ１Ａの系切り替え時の動作》
次に、系切り替え時の動作について説明する。
【０１００】
通常稼動中のコントローラ１Ｂにおいて、主系制御モジュール１０Ｂの故障などにより制御動作を継続できなくなると、待機系制御モジュール１０Ｃ−１のファンクション機能部６０Ｃ−１への構成情報３１の通知が途絶する。構成情報３１の通知の途絶により、待機系制御モジュール１０Ｃ−１の主系状態監視部５０Ｃ−１は、発火期限時間が経過して発火し、バス経路制御部１００Ｃに対して系切り替え要求信号５１Ｃ−１を出力する。
【０１０１】
バス経路制御部１００Ｃは、待機系制御モジュール１０Ｃ−１の主系状態監視部５０Ｃ−１から系切り替え要求信号５１Ｃ−１が入力されると、予め定められた優先度に従い、待機系制御モジュール１０Ｃ−１のホスト機能部３０Ｃ−１の系統をアクティブにする。これにより、待機系制御モジュール１０Ｃ−１が新たな主系となり、主系制御モジュール１０Ｂから制御を引き継ぐ。新たな主系となった待機系制御モジュール１０Ｃ−１には、入出力モジュール７０Ｃ−１〜７０Ｃ−３が接続されている。このとき、待機系制御モジュール１０Ｃ−１は、同期した構成情報３１−１を有しているため、入出力モジュール７０Ｃ−１〜７０Ｃ−３に関する構成情報を改めて収集する必要がない。そのため、待機系制御モジュール１０Ｃ−１は、リアルタイムＥｔｈｅｒｎｅｔ（登録商標）の接続時に必要となるデバイスの発見手順／認識手順を省略し、直ちに制御プログラム２０を動作させて制御を引き継ぐことが可能となる。
【０１０２】
（第２の実施形態の効果）
以上説明した第２の実施形態では、次の（Ｅ）のような効果がある。
（Ｅ）  リアルタイムＥｔｈｅｒｎｅｔ（登録商標）に於いても、第１の実施形態に於けるＵＳＢと同様に、主系制御モジュール１０Ｂと待機系制御モジュール１０Ｃ−１による冗長系システムを構成し、かつ、系切り替えにより待機系制御モジュール１０Ａ−１が新たな主系となった際に、ホスト機能部３０Ａ−１と入出力モジュール７０−ｎとで行われる不要な通信を抑止でき、待機系制御モジュール１０Ａ−１が実際に制御を引き継ぐまでの時間が短縮される。
（変形例）
【０１０３】
本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で、変更実施が可能である。この利用形態や変形例としては、例えば、次の（ａ）〜（ｅ）のようなものがある。
【０１０４】
（ａ）  第１の実施形態の主系制御モジュール１０と待機系制御モジュール１０Ａ−１，１０Ａ−２は、それぞれ共通のハードウェアによって実現されても良い。すなわち、両者の構成要素を共に備えた構成の共通制御モジュールとし、スイッチ、端子、不揮発性メモリへの設定などによって主系あるいは待機系としての機能が選択されるように構成しても良い。更に、この共通制御モジュールを複数接続し、そのうち一つがスイッチ、端子、不揮発性メモリへの設定などによって主系制御モジュール１０として動作するように構成しても良い。これにより、設計者は、１種類の制御モジュールのみを設計すれば良く、設計工数が少なくなる。更に、コントローラ１を運用する側では、１種類の制御モジュールのみを運用すれば良いため、可用性が増大する。
【０１０５】
（ｂ）  第１の実施形態の主系制御モジュール１０と待機系制御モジュール１０Ａ−１，１０Ａ−２は、必要に応じてハブ１１０によりシステムバス９０を分岐させ、より多数の入出力モジュール７０−ｎ（ｎは自然数）を接続させても良い。
【０１０６】
（ｃ）  第１の実施形態のバス経路制御部１００は、プライオリティエンコーダにより、同時に入力された系切り替え要求信号５１−１，５１−２の優先度を切替えている。しかし、これに限られず主系状態監視部５０−１，５０−２の発火期限時間を変えることにより、同時に系切り替え要求信号５１−１，５１−２を出力すること（いわゆる「競合状態」）を抑止しても良い。更に、主系状態監視部５０−１，５０−２は、予め定められた優先度に基づいて順番に、系切り替え要求信号５１−１，５１−２をバス経路制御部１００に出力するように設定しても良い。
【０１０７】
（ｄ）  第１の実施形態において、コントローラ１は、入出力モジュール７０−１〜７０−３を制御している。しかし、これに限られず、少なくとも１つ以上のファンクション機能部を有している被制御モジュールであれば良い。
【０１０８】
（ｅ）  第１の実施形態のシステムバス９０は、ＵＳＢである。第２の実施形態のシステムバス９１は、リアルタイムＥｔｈｅｒｎｅｔ（登録商標）である。しかし、これに限られず、システムバスにＰＣＩ−Ｅｘｐｒｅｓｓ（登録商標）など他の規格を用いても良い。
【符号の説明】
【０１０９】
１，１Ｂ  コントローラ（冗長化制御装置）
１０，１０Ｂ  主系制御モジュール
１０Ａ−１，１０Ａ−２，１０Ｃ−１  待機系制御モジュール
２０  制御プログラム
３０，３０Ｂ  ホスト機能部（第１のホスト機能部）
３０Ａ−１，３０Ａ−２，３０Ｃ−１  ホスト機能部（第２のホスト機能部）
３１，３１−１，３１−２  構成情報（ファンクション構成情報）
３２  構成情報同期部（Ｍ）
３２Ａ−１，３２Ａ−２  構成情報同期部（Ｂ）
３３  同期スケジュール部
５０−１，５０−２，５０Ｃ−１  主系状態監視部
５１−１，５１−２，５１Ｃ−１  主系状態監視部
６０−１，６０−２，６０Ｃ−１  ファンクション機能部（第２のファンクション機能部）
７０−１〜７０−３，７０Ｃ−１〜７０Ｃ−３  入出力モジュール（被制御モジュール）
７１，７１Ｃ  ファンクション機能部（第１のファンクション機能部）
９０，９１  システムバス
１００，１００Ｃ  バス経路制御部
１１０  ハブ
【図１】
0005469637.tif 000002
【図２】
0005469637.tif 000003
【図３】
0005469637.tif 000004
【図４】
0005469637.tif 000005
【図５】
0005469637.tif 000006
【図６】
0005469637.tif 000007