(57)【要約】【課題】直接接続されない管理ＣＰＵモジュールの動作状態を通知する。【解決手段】管理ＣＰＵモジュールの第１動作状態管理手段２０９は、動作状態第１通信路受信手段２０２，動作状態第１通信路検知手段２０３のいずれかによって取得した動作状態を記憶手段２０７に記憶させる。そして、他管理ＣＰＵモジュールに前記取得した動作状態を動作状態第２通信路通知手段２０４を使って通知する。また、第２動作状態管理手段２０９Ｂは、動作状態第２通信路受信手段２０５，動作状態第２通信路検知手段２０６のいずれかによって取得した動作状態を記憶手段２０７に記憶させる。そして、相手管理ＣＰＵモジュールに前記取得した動作状態を動作状態第１通信路通知手段２０１を使って通知する。【選択図】図１
2008158951.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラのベースボード上に第１通信路で複数接続され、
他のベースボード上の他管理ＣＰＵモジュールと第２通信路で接続され、
電源断，故障，マスタモードとスレーブモードから構成された動作モードのいずれかを含む動作状態を相互に確認する管理ＣＰＵモジュールであって、
第１通信路上の他管理ＣＰＵモジュールに、自らの動作状態，動作モード変更指示，動作モード変更完了通知のいずれかを通知する動作状態第１通信路通知手段と、
第１通信路上の他管理ＣＰＵモジュールの動作状態，前記動作モード変更指示，動作モード変更完了通知のいずれかを受信する動作状態第１通信路受信手段と、
第１通信路上の他管理ＣＰＵモジュールの動作状態を検知する動作状態第１通信路検知手段と、
第２通信路で接続された他管理ＣＰＵモジュールに、自らの動作状態，前記動作モード変更指示，動作モード変更完了通知のいずれかを通知する動作状態第２通信路通知手段と、
第２通信路で接続された他管理ＣＰＵモジュールの動作状態，前記動作モード変更指示，動作モード変更完了通知のいずれかを受信する動作状態第２通信路受信手段と、
第２通信路で接続された他管理ＣＰＵモジュールの動作状態を検知する動作状態第２通信路検知手段と、
前記取得した動作状態及び自らの動作モードを記憶する記憶手段と、
前記自管理ＣＰＵモジュールの各手段を制御する制御手段と、
前記動作状態第１通信路受信手段，動作状態第１通信路検知手段のいずれかによって取得した動作状態を記憶手段に記憶させ、他管理ＣＰＵモジュールに前記取得した動作状態を、動作状態第２通信路通知手段を使って通知する第１動作状態管理手段と、
前記動作状態第２通信路受信手段，動作状態第２通信路検知手段のいずれかによって取得した動作状態を記憶手段に記憶させ、他管理ＣＰＵモジュールに前記取得した動作状態を、動作状態第１通信路通知手段を使って通知する第２動作状態管理手段と、
前記動作状態検知手段によって他管理ＣＰＵモジュールの動作状態を検知し、その結果に基づいて電源断か否かを判定する手段と、
を有する、
ことを特徴とする管理ＣＰＵモジュール。
【請求項２】
請求項１に記載の管理ＣＰＵモジュールであって、
自管理ＣＰＵモジュールの電源電圧を監視し、電源電圧が降下したことを検知する電源電圧監視手段と、
前記電源電圧監視手段によって、電源電圧降下を検知した際に、電源断が発生したことを示す電源断通知を前記動作状態第１通信路通知手段，動作状態第２通信路通知手段のいずれかを使って他管理ＣＰＵモジュールに送信する手段と、
動作状態第１通信路受信手段，動作状態第２通信路受信手段のいずれかを使って電源断通知を受信し、その電源断通知を送信した他管理ＣＰＵモジュールが電源断したものと判定する手段と、
を備える、
ことを特徴とする管理ＣＰＵモジュール。
【請求項３】
請求項１または２に記載の管理ＣＰＵモジュールであって、
自らの動作モードを切り替える動作モード切替手段と、
スレーブモード動作中に、前記動作状態第１通信路受信手段，動作状態第１通信路検知手段のいずれかによって取得した動作状態がマスタモード動作中の管理ＣＰＵモジュールの電源断，故障を含む異常状態であった場合、他管理ＣＰＵモジュールをスレーブモードに変更する動作モード変更指示を、動作状態第２通信路通知手段を使って通知する手段と、
マスタモード動作中に、動作モード変更指示を動作状態第２通信路受信手段で受信し、動作モード切替手段を使って自らの動作モードをスレーブモードに変更し、他管理ＣＰＵモジュールにスレーブモードに変更したことを意味する動作モード変更完了通知を、動作状態第２通信路通知手段を使って通知する手段と、
スレーブモード動作中に、他管理ＣＰＵモジュールからスレーブモードに変更したことを意味する動作モード変更完了通知を、動作状態第２通信路通知手段を使って受信し、動作モード切替手段を使って、自らの動作モードをマスタモードに変更する手段と、
スレーブモード動作中に、動作状態第２通信路受信手段，動作状態第２通信路検知手段のいずれかによって取得した動作状態がマスタモード動作中の他管理ＣＰＵモジュールの異常状態であった場合、動作モード切替手段を使って自らの動作モードをマスタモードに変更し、他管理ＣＰＵモジュールにマスタモードに変更したことを意味する動作モード変更完了通知を、動作状態第１通信路通知手段を使って通知する手段と、
マスタモード動作中に、前記マスタモードに変更したことを意味する動作モード変更完了通知を動作状態第１通信路受信手段で受信し、動作モード切替手段を使って自らの動作モードをスレーブモードに変更する手段と、
を備える、
ことを特徴とする管理ＣＰＵモジュール。
【請求項４】
管理ＣＰＵモジュール同士を第１通信路で接続した第１ベースボード上の管理ＣＰＵモジュールが、第２ベースボード上の管理ＣＰＵモジュールと第２通信路によって接続され、
電源断，故障，マスタモードとスレーブモードから構成された動作モードのいずれかを含む動作状態を前記管理ＣＰＵモジュール間相互に確認するプログラマブルコントローラ２重化システムであって、
前記管理ＣＰＵモジュールは、
第１通信路上の他管理ＣＰＵモジュールに、自らの動作状態，動作モード変更指示，動作モード変更完了通知のいずれかを通知する動作状態第１通信路通知手段と、
第１通信路上の他管理ＣＰＵモジュールの動作状態，前記動作モード変更指示，動作モード変更完了通知のいずれかを受信する動作状態第１通信路受信手段と、
第１通信路上の他管理ＣＰＵモジュールの動作状態を検知する動作状態第１通信路検知手段と、
第２通信路で接続された他管理ＣＰＵモジュールに、自らの動作状態，前記動作モード変更指示，動作モード変更完了通知のいずれかを通知する動作状態第２通信路通知手段と、
第２通信路で接続された他管理ＣＰＵモジュールの動作状態，前記動作モード変更指示，動作モード変更完了通知のいずれかを受信する動作状態第２通信路受信手段と、
第２通信路で接続された他管理ＣＰＵモジュールの動作状態を検知する動作状態第２通信路検知手段と、
前記取得した動作状態及び自らの動作モードを記憶する記憶手段と、
前記自管理ＣＰＵモジュールの各手段を制御する制御手段と、
前記動作状態第１通信路受信手段，動作状態第１通信路検知手段のいずれかによって取得した動作状態を記憶手段に記憶させ、他管理ＣＰＵモジュールに前記取得した動作状態を、動作状態第２通信路通知手段を使って通知する第１動作状態管理手段と、
前記動作状態第２通信路受信手段，動作状態第２通信路検知手段のいずれかによって取得した動作状態を記憶手段に記憶させ、他管理ＣＰＵモジュールに前記取得した動作状態を、動作状態第１通信路通知手段を使って通知する第２動作状態管理手段と、
前記動作状態検知手段によって他管理ＣＰＵモジュールの動作状態を検知し、その結果に基づいて電源断か否かを判定する手段と、
を有する、
ことを特徴とするプログラマブルコントローラ２重化システム。
【請求項５】
請求項４に記載のプログラマブルコントローラ２重化システムであって、
前記管理ＣＰＵモジュールが、
自管理ＣＰＵモジュールの電源電圧を監視し、電源電圧が降下したことを検知する電源電圧監視手段と、
前記電源電圧監視手段によって、電源電圧降下を検知した際に、電源断が発生したことを示す電源断通知を前記動作状態第１通信路通知手段，動作状態第２通信路通知手段のいずれかを使って他管理ＣＰＵモジュールに送信する手段と、
動作状態第１通信路受信手段，動作状態第２通信路受信手段のいずれかを使って電源断通知を受信し、その電源断通知を送信した他管理ＣＰＵモジュールが電源断したものと判定する手段と、
を備える、
ことを特徴とするプログラマブルコントローラ２重化システム。
【請求項６】
請求項４または５に記載のプログラマブルコントローラ２重化システムであって、
前記管理ＣＰＵモジュールが、
自らの動作モードを切り替える動作モード切替手段と、
スレーブモード動作中に、前記動作状態第１通信路受信手段，動作状態第１通信路検知手段のいずれかによって取得した動作状態がマスタモード動作中の管理ＣＰＵモジュールの電源断，故障を含む異常状態であった場合、他管理ＣＰＵモジュールをスレーブモードに変更する動作モード変更指示を、動作状態第２通信路通知手段を使って通知する手段と、
マスタモード動作中に、動作モード変更指示を動作状態第２通信路受信手段で受信し、動作モード切替手段を使って自らの動作モードをスレーブモードに変更し、他管理ＣＰＵモジュールにスレーブモードに変更したことを意味する動作モード変更完了通知を、動作状態第２通信路通知手段を使って通知する手段と、
スレーブモード動作中に、他管理ＣＰＵモジュールからスレーブモードに変更したことを意味する動作モード変更完了通知を、動作状態第２通信路通知手段を使って受信し、動作モード切替手段を使って、自らの動作モードをマスタモードに変更する手段と、
スレーブモード動作中に、動作状態第２通信路受信手段，動作状態第２通信路検知手段のいずれかによって取得した動作状態がマスタモード動作中の他管理ＣＰＵモジュールの異常状態であった場合、動作モード切替手段を使って自らの動作モードをマスタモードに変更し、他管理ＣＰＵモジュールにマスタモードに変更したことを意味する動作モード変更完了通知を、動作状態第１通信路通知手段を使って通知する手段と、
マスタモード動作中に、前記マスタモードに変更したことを意味する動作モード変更完了通知を動作状態第１通信路受信手段で受信し、動作モード切替手段を使って自らの動作モードをスレーブモードに変更する手段と、
を備える、
ことを特徴とするプログラマブルコントローラ２重化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラの動作保証技術に関するものである。
【背景技術】
【０００２】
以下に、一般的なプログラマブルコントローラ（ＰＬＣ：Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）の二重化システム（以下、ＰＬＣ二重化システムという）を説明する。
【０００３】
図２０中のＰＬＣ二重化システムは、ベースボードの２枚（ＰＬＣ１のベースボード１ｄとＰＬＣ２のベースボード２ｄ）構成で、ベースボード毎にＰＬＣを管理するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）モジュール（以下、管理ＣＰＵモジュールという、例えば、管理ＣＰＵモジュール１ｂ１，管理ＣＰＵモジュール２ｂ１）を１枚実装し、二重化システムの処理を行うＤＵＰ（Ｄｕｐｌｅｘ）インタフェース（例えば、ＤＵＰインタフェース１ｅとＤＵＰインタフェース２ｅ）を１枚実装したＰＬＣ二重化システムである。
【０００４】
管理ＣＰＵモジュール１ｂ１とＤＵＰインタフェース１ｅはバス１ｃで接続されている。同様に、管理ＣＰＵモジュール２ｂ１とＤＵＰインタフェース２ｅはバス２ｃで接続されている。
【０００５】
ＤＵＰインタフェース１ｅとＤＵＰインタフェース２ｅはケーブル１００で接続されている。
【０００６】
管理ＣＰＵモジュール１ｂ１と管理ＣＰＵモジュール２ｂ１の各々のメモリ構成は同じメモリ構成で、同じアプリケーションプログラムを動作させている。
【０００７】
図２０のＰＬＣ二重化システムでは、状態を監視する相手管理ＣＰＵモジュールは１枚であり、相手管理ＣＰＵモジュールの状態を常に監視して、二重化システムの制御を行うことになる。
【０００８】
図２０のＰＬＣ二重化システムは、次のような特長を備えている。
【０００９】
管理ＣＰＵモジュールとＤＵＰインタフェース間は、第１通信路（以下では、バス）を介してデータ交換を行う。
【００１０】
管理ＣＰＵモジュール間のデータ等価は、ＤＵＰインタフェースを介して行われている。
【００１１】
ＤＵＰインタフェース間のデータ交換は、第２通信路（以下では、ケーブル）を介して行われている。
【００１２】
相手管理ＣＰＵモジュールの状態（例えば、電源断や管理ＣＰＵモジュール故障などの状態）は、ＤＵＰインタフェースを介して伝送される。
【００１３】
管理ＣＰＵモジュール同士のマスタ（常用系）モードとスレーブ（待機系）モードの切り替えは、ＤＵＰインタフェースを介して行われる。
【００１４】
次に、１ベースボードに管理ＣＰＵモジュールを複数（例えば、２枚）実装したＰＬＣ二重化システムの一般的な制御方式を図２１及び図２２に基づいて説明する。なお、図２１は、２ベースボードシステム構成である。図２２は、１ベースボードシステム構成である。
【００１５】
図２１の２ベースボードシステム構成は、ベースボードの２枚（ＰＬＣ３のベースボード３ｄ及びＰＬＣ４の４ｄ）構成であって、ベースボード毎に管理ＣＰＵモジュールを２枚（例えば、管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール３ｂ２、管理ＣＰＵモジュール４ｂ１と管理ＣＰＵモジュール４ｂ２）実装したＰＬＣ二重化システムである。
【００１６】
即ち、図２１の２ベースボードシステムは、ＰＬＣ二重化システム全体で管理ＣＰＵモジュールを４枚実装することになる。そして、対象となる相手管理ＣＰＵモジュールは３枚であり、相手管理ＣＰＵモジュール３枚の状態を常に監視して、ＰＬＣ二重化システムの制御を行うことになる。
【００１７】
なお、管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール４ｂ１はケーブル１０１で接続されている。管理ＣＰＵモジュール３ｂ２と管理ＣＰＵモジュール３ｂ２はケーブル１０２で接続されている。
【００１８】
管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール３ｂ２は、バス３ｃによって接続されている。また、管理ＣＰＵモジュール４ｂ１と管理ＣＰＵモジュール４ｂ２はバス４ｃによって接続されている。
【００１９】
管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール４ｂ１の各々のメモリ構成は同じメモリ構成で、同じアプリケーションプログラムを動作させている。同様に、管理ＣＰＵモジュール３ｂ２と管理ＣＰＵモジュール４ｂ２の各々のメモリ構成は同じメモリ構成で、同じアプリケーションプログラムを動作させている。
【００２０】
即ち、管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール４ｂ１では同じアプリケーションプログラムが動作し、管理ＣＰＵモジュール３ｂ２と管理ＣＰＵモジュール４ｂ２では同じアプリケーションプログラムが動作する二重化方式である。また、管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール４ｂ１で動作しているアプリケーションプログラムと管理ＣＰＵモジュール３ｂ２と管理ＣＰＵモジュール４ｂ２で動作しているアプリケーションプログラムは、全く別のアプリケーションプログラムが動作しても良い。
【００２１】
図２２の１ベースボードシステムは、ベースボードの１枚（ＰＬＣ５のベースボード５ｄ）構成で、管理ＣＰＵモジュールが２枚（例えば、管理ＣＰＵモジュール５ｂ１と管理ＣＰＵモジュール５ｂ２）実装されたＰＬＣ二重化システムの構成図である。
【００２２】
管理ＣＰＵモジュール５ｂ１と管理ＣＰＵモジュール５ｂ２は、バス５ｄによって接続されている。
【００２３】
管理ＣＰＵモジュール５ｂ１と管理ＣＰＵモジュール５ｂ２の各々のメモリ構成は同じメモリ構成で、同じアプリケーションプログラムを動作させている。
【００２４】
他の二重化システムには、例えば、データ転送先を変更させるシステム（例えば、特許文献１参照）、多重冗長構成と単独ＣＰＵ構成を選択できるシステム（例えば、特許文献２参照）、状態監視用装置を備えたシステム（例えば、特許文献３参照）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介してマスタモード中の装置を認識するシステム（例えば、特許文献４参照）、が知られている。
【特許文献１】特開２０００−２０７３７５号公報（段落［００３７］〜［００４３］等）。
【特許文献２】特開平１１−１４３７２９号公報（段落［００２０］〜［００２４］等）。
【特許文献３】特開平１１−７４３０号公報（段落［０００８］〜［００１３］等）。
【特許文献４】特開平６−４４２００号公報（段落［００１１］〜［００１３］等）。
【発明の開示】
【発明が解決しようとする課題】
【００２５】
上述の図２１のようなＤＵＰインタフェースを搭載せず、１ベースボードに複数の管理ＣＰＵモジュールを実装した（以下、１ベースボードマルチＣＰＵ構成という）ＰＬＣ二重化システムでは、次のような接続状態になる。
【００２６】
管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール４ｂ１または管理ＣＰＵモジュール３ｂ２と管理ＣＰＵモジュール４ｂ２はケーブルを介して接続される。しかし、管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール３ｂ２、管理ＣＰＵモジュール４ｂ１と管理ＣＰＵモジュール４ｂ２、管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール４ｂ２、管理ＣＰＵモジュール３ｂ２と管理ＣＰＵモジュール４ｂ１は、ケーブルを介して接続されない。
【００２７】
管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール３ｂ２または管理ＣＰＵモジュール４ｂ１と管理ＣＰＵモジュール４ｂ２はバスを介して接続される。しかし、管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール４ｂ１、管理ＣＰＵモジュール３ｂ２と管理ＣＰＵモジュール４ｂ２、管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール４ｂ２、管理ＣＰＵモジュール３ｂ２と管理ＣＰＵモジュール４ｂ１は、バスを介して接続されない。
【００２８】
前記のように、バスまたはケーブルを介して接続されていないのは、管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール４ｂ２、管理ＣＰＵモジュール３ｂ２と管理ＣＰＵモジュール４ｂ１となる。
【００２９】
上述のような１ベースボードマルチＣＰＵ構成のＰＬＣ二重化システムでは、幾つかの問題点が知られている。例えば、図２１のような１ベースボードマルチＣＰＵ（管理ＣＰＵモジュール２枚）構成のベースボード２枚実装の場合、直接接続されない管理ＣＰＵモジュールが存在するため、その直接接続されない管理ＣＰＵモジュールの動作状態を通知することが困難である。
【００３０】
また、前記動作状態を取得した上でベースボード単位に動作モードの同期を実現するために、管理ＣＰＵモジュールの動作モード（例えば、マスタ（常用系）モードとスレーブ（待機系）モード）の自動的切り替えを実現し、ベースボード毎に管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール３ｂ２、管理ＣＰＵモジュール４ｂ１と管理ＣＰＵモジュール４ｂ２の動作モードを統一させる機能を実現する必要がある。
【００３１】
本発明は、前記課題に基づいてなされたものであって、直接接続されない管理ＣＰＵモジュールの動作状態を通知する管理ＣＰＵモジュール，プログラマブルコントローラ二重化システムを提供することにある。
【課題を解決するための手段】
【００３２】
前記課題の解決を図るために、請求項１記載の発明は、プログラマブルコントローラのベースボード上に第１通信路で複数接続され、他のベースボード上の他管理ＣＰＵモジュールと第２通信路で接続され、電源断，故障，マスタモードとスレーブモードから構成された動作モードのいずれかを含む動作状態を相互に確認する管理ＣＰＵモジュールであって、第１通信路上の他管理ＣＰＵモジュールに、自らの動作状態，動作モード変更指示，動作モード変更完了通知のいずれかを通知する動作状態第１通信路通知手段と、第１通信路上の他管理ＣＰＵモジュールの動作状態，前記動作モード変更指示，動作モード変更完了通知のいずれかを受信する動作状態第１通信路受信手段と、第１通信路上の他管理ＣＰＵモジュールの動作状態を検知する動作状態第１通信路検知手段と、第２通信路で接続された他管理ＣＰＵモジュールに、自らの動作状態，前記動作モード変更指示，動作モード変更完了通知のいずれかを通知する動作状態第２通信路通知手段と、第２通信路で接続された他管理ＣＰＵモジュールの動作状態，前記動作モード変更指示，動作モード変更完了通知のいずれかを受信する動作状態第２通信路受信手段と、第２通信路で接続された他管理ＣＰＵモジュールの動作状態を検知する動作状態第２通信路検知手段と、前記取得した動作状態及び自らの動作モードを記憶する記憶手段と、前記自管理ＣＰＵモジュールの各手段を制御する制御手段と、前記動作状態第１通信路受信手段，動作状態第１通信路検知手段のいずれかによって取得した動作状態を記憶手段に記憶させ、他管理ＣＰＵモジュールに前記取得した動作状態を、動作状態第２通信路通知手段を使って通知する第１動作状態管理手段と、前記動作状態第２通信路受信手段，動作状態第２通信路検知手段のいずれかによって取得した動作状態を記憶手段に記憶させ、他管理ＣＰＵモジュールに前記取得した動作状態を、動作状態第１通信路通知手段を使って通知する第２動作状態管理手段と、前記動作状態検知手段によって他管理ＣＰＵモジュールの動作状態を検知し、その結果に基づいて電源断か否かを判定する手段と、を有する、ことを特徴とする。
【００３３】
請求項２記載の発明は、請求項１に記載の発明において、自管理ＣＰＵモジュールの電源電圧を監視し、電源電圧が降下したことを検知する電源電圧監視手段と、前記電源電圧監視手段によって、電源電圧降下を検知した際に、電源断が発生したことを示す電源断通知を前記動作状態第１通信路通知手段，動作状態第２通信路通知手段のいずれかを使って他管理ＣＰＵモジュールに送信する手段と、動作状態第１通信路受信手段，動作状態第２通信路受信手段のいずれかを使って電源断通知を受信し、その電源断通知を送信した他管理ＣＰＵモジュールが電源断したものと判定する手段と、を備える、ことを特徴とする。
【００３４】
請求項３記載の発明は、請求項１または２に記載の発明において、自らの動作モードを切り替える動作モード切替手段と、スレーブモード動作中に、前記動作状態第１通信路受信手段，動作状態第１通信路検知手段のいずれかによって取得した動作状態がマスタモード動作中の管理ＣＰＵモジュールの電源断，故障を含む異常状態であった場合、他管理ＣＰＵモジュールをスレーブモードに変更する動作モード変更指示を、動作状態第２通信路通知手段を使って通知する手段と、マスタモード動作中に、動作モード変更指示を動作状態第２通信路受信手段で受信し、動作モード切替手段を使って自らの動作モードをスレーブモードに変更し、他管理ＣＰＵモジュールにスレーブモードに変更したことを意味する動作モード変更完了通知を、動作状態第２通信路通知手段を使って通知する手段と、スレーブモード動作中に、他管理ＣＰＵモジュールからスレーブモードに変更したことを意味する動作モード変更完了通知を、動作状態第２通信路通知手段を使って受信し、動作モード切替手段を使って、自らの動作モードをマスタモードに変更する手段と、スレーブモード動作中に、動作状態第２通信路受信手段，動作状態第２通信路検知手段のいずれかによって取得した動作状態がマスタモード動作中の他管理ＣＰＵモジュールの異常状態であった場合、動作モード切替手段を使って自らの動作モードをマスタモードに変更し、他管理ＣＰＵモジュールにマスタモードに変更したことを意味する動作モード変更完了通知を、動作状態第１通信路通知手段を使って通知する手段と、マスタモード動作中に、前記マスタモードに変更したことを意味する動作モード変更完了通知を動作状態第１通信路受信手段で受信し、動作モード切替手段を使って自らの動作モードをスレーブモードに変更する手段と、を備える、ことを特徴とする。
【００３５】
請求項４記載の発明は、管理ＣＰＵモジュール同士を第１通信路で接続した第１ベースボード上の管理ＣＰＵモジュールが、第２ベースボード上の管理ＣＰＵモジュールと第２通信路によって接続され、電源断，故障，マスタモードとスレーブモードから構成された動作モードのいずれかを含む動作状態を前記管理ＣＰＵモジュール間相互に確認するプログラマブルコントローラ２重化システムであって、前記管理ＣＰＵモジュールは、第１通信路上の他管理ＣＰＵモジュールに、自らの動作状態，動作モード変更指示，動作モード変更完了通知のいずれかを通知する動作状態第１通信路通知手段と、第１通信路上の他管理ＣＰＵモジュールの動作状態，前記動作モード変更指示，動作モード変更完了通知のいずれかを受信する動作状態第１通信路受信手段と、第１通信路上の他管理ＣＰＵモジュールの動作状態を検知する動作状態第１通信路検知手段と、第２通信路で接続された他管理ＣＰＵモジュールに、自らの動作状態，前記動作モード変更指示，動作モード変更完了通知のいずれかを通知する動作状態第２通信路通知手段と、第２通信路で接続された他管理ＣＰＵモジュールの動作状態，前記動作モード変更指示，動作モード変更完了通知のいずれかを受信する動作状態第２通信路受信手段と、第２通信路で接続された他管理ＣＰＵモジュールの動作状態を検知する動作状態第２通信路検知手段と、前記取得した動作状態及び自らの動作モードを記憶する記憶手段と、前記自管理ＣＰＵモジュールの各手段を制御する制御手段と、前記動作状態第１通信路受信手段，動作状態第１通信路検知手段のいずれかによって取得した動作状態を記憶手段に記憶させ、他管理ＣＰＵモジュールに前記取得した動作状態を、動作状態第２通信路通知手段を使って通知する第１動作状態管理手段と、前記動作状態第２通信路受信手段，動作状態第２通信路検知手段のいずれかによって取得した動作状態を記憶手段に記憶させ、他管理ＣＰＵモジュールに前記取得した動作状態を、動作状態第１通信路通知手段を使って通知する第２動作状態管理手段と、前記動作状態検知手段によって他管理ＣＰＵモジュールの動作状態を検知し、その結果に基づいて電源断か否かを判定する手段と、を有する、ことを特徴とする。
【００３６】
請求項５記載の発明は、請求項４に記載の発明において、前記管理ＣＰＵモジュールが、自管理ＣＰＵモジュールの電源電圧を監視し、電源電圧が降下したことを検知する電源電圧監視手段と、前記電源電圧監視手段によって、電源電圧降下を検知した際に、電源断が発生したことを示す電源断通知を前記動作状態第１通信路通知手段，動作状態第２通信路通知手段のいずれかを使って他管理ＣＰＵモジュールに送信する手段と、動作状態第１通信路受信手段，動作状態第２通信路受信手段のいずれかを使って電源断通知を受信し、その電源断通知を送信した他管理ＣＰＵモジュールが電源断したものと判定する手段と、を備える、ことを特徴とする。
【００３７】
請求項６記載の発明は、請求項４または５に記載の発明において、前記管理ＣＰＵモジュールが、自らの動作モードを切り替える動作モード切替手段と、スレーブモード動作中に、前記動作状態第１通信路受信手段，動作状態第１通信路検知手段のいずれかによって取得した動作状態がマスタモード動作中の管理ＣＰＵモジュールの電源断，故障を含む異常状態であった場合、他管理ＣＰＵモジュールをスレーブモードに変更する動作モード変更指示を、動作状態第２通信路通知手段を使って通知する手段と、マスタモード動作中に、動作モード変更指示を動作状態第２通信路受信手段で受信し、動作モード切替手段を使って自らの動作モードをスレーブモードに変更し、他管理ＣＰＵモジュールにスレーブモードに変更したことを意味する動作モード変更完了通知を、動作状態第２通信路通知手段を使って通知する手段と、スレーブモード動作中に、他管理ＣＰＵモジュールからスレーブモードに変更したことを意味する動作モード変更完了通知を、動作状態第２通信路通知手段を使って受信し、動作モード切替手段を使って、自らの動作モードをマスタモードに変更する手段と、スレーブモード動作中に、動作状態第２通信路受信手段，動作状態第２通信路検知手段のいずれかによって取得した動作状態がマスタモード動作中の他管理ＣＰＵモジュールの異常状態であった場合、動作モード切替手段を使って自らの動作モードをマスタモードに変更し、他管理ＣＰＵモジュールにマスタモードに変更したことを意味する動作モード変更完了通知を、動作状態第１通信路通知手段を使って通知する手段と、マスタモード動作中に、前記マスタモードに変更したことを意味する動作モード変更完了通知を動作状態第１通信路受信手段で受信し、動作モード切替手段を使って自らの動作モードをスレーブモードに変更する手段と、を備える、ことを特徴とする。
【００３８】
前記の請求項１，４記載の発明によれば、管理ＣＰＵモジュールは、該管理ＣＰＵモジュールとベースボード上で第１通信路によって接続されている他管理ＣＰＵモジュールの動作状態を、第２通信路で他のベースボード上の管理ＣＰＵモジュールに通知できる。管理ＣＰＵモジュールは、該管理ＣＰＵモジュールと第２通信路によって接続されている他ベースボードの他管理ＣＰＵモジュールの動作状態を、ベースボード上で第１通信路によって接続されている他管理ＣＰＵモジュールに通知できる。
【００３９】
前記の請求項２，５記載の発明によれば、自管理ＣＰＵモジュールの電源電圧降下を検知できる。
【００４０】
前記の請求項３，６記載の発明によれば、マスタモード動作中の他管理ＣＰＵモジュールの異常状態を判定できる。
【発明の効果】
【００４１】
以上示したように請求項１，４記載の発明によれば、同一ベースボード上になく、かつ、第２通信路で直接接続されていない管理ＣＰＵモジュールの動作状態を相互に参照できる。
【００４２】
請求項２，５記載の発明によれば、自管理ＣＰＵモジュールの電源電圧に基づいた電源断の判定を行うことができる。
【００４３】
請求項３，６記載の発明によれば、他管理ＣＰＵモジュールの異常状態を判定して、自管理ＣＰＵモジュールの動作モードを自動的に切り替え、前記管理ＣＰＵモジュールを含むシステムの動作を保証できる。
【００４４】
これらを以ってプログラマブルコントローラの動作保証技術の分野に貢献できる。
【発明を実施するための最良の形態】
【００４５】
本実施形態における管理ＣＰＵモジュールは、異なるベースボード（２ベースボード）間をケーブルによって接続された該管理ＣＰＵモジュールの電源断，故障，動作モード（例えば、マスタ（常用系）モードもしくはスレーブ（待機系）モード）を通知し、マルチＣＰＵによるＰＬＣ二重化システムにおける動作状態確認を実現するものである。
【００４６】
以下、本実施形態を図１に基づいて詳細に説明する。なお、図１は、本実施形態における管理ＣＰＵモジュールの構成図である。以下の説明では、第１通信路をバス、第２通信路をケーブルとして説明する。
【００４７】
本実施形態における管理ＣＰＵモジュールは、２ベースボードのＰＬＣで構成された二重化システム（以下、ＰＬＣ二重化システムという）において、前記ベースボードに複数以上（マルチ）実装される管理ＣＰＵモジュールであって、その管理ＣＰＵモジュール間の動作状態確認を相互に行うために、動作状態バス通知手段（動作状態第１通信路通知手段）２０１，動作状態バス受信手段（動作状態第１通信路受信手段）２０２，動作状態バス検知手段（動作状態第１通信路検知手段）２０３，動作状態ケーブル通知手段（動作状態第２通信路通知手段）２０４，動作状態ケーブル受信手段（動作状態第２通信路受信手段）２０５，動作状態ケーブル検知手段（動作状態第２通信路検知手段）２０６，記憶手段２０７，制御手段２０８，第１動作状態管理手段２０９Ａ，第２動作状態管理手段２０９Ｂを備える。
【００４８】
なお、動作状態は、電源断，故障，動作モード（例えば、マスタモードもしくはスレーブモード）のいずれかを含む状態である。また、その電源断，故障を異常状態ともいう。
【００４９】
動作状態バス通知手段２０１は、バス上の複数の他管理ＣＰＵモジュールに自らの動作状態（例えば、故障，動作モード），動作モードの変更を指示する動作モード変更指示，動作モードの変更完了を通知する動作モード変更完了通知などを通知する。
【００５０】
動作状態バス受信手段２０２は、バス上の複数の他管理ＣＰＵモジュールの動作状態（例えば、故障，動作モード），動作モード変更指示，動作モード変更完了通知などを受信する。
【００５１】
動作状態バス検知手段２０３は、バス上の複数の他管理ＣＰＵモジュールの動作状態（例えば、電源断，故障，動作モード）を検知する。例えば、一定間隔毎にＣＰＵモジュールの動作状態を検知する通信を行う。
【００５２】
動作状態ケーブル通知手段２０４は、ケーブルで接続された他管理ＣＰＵモジュール（相手管理ＣＰＵモジュール）に自らの動作状態（例えば、故障，動作モード），他管理ＣＰＵモジュールの動作モードを変更する動作モード変更指示，動作モード変更完了通知を通知する。
【００５３】
動作状態ケーブル受信手段２０５は、ケーブルで接続された他管理ＣＰＵモジュールの動作状態（例えば、故障，動作モード），動作モード変更指示，動作モード変更完了通知を受信する。
【００５４】
動作状態ケーブル検知手段２０６は、ケーブルで接続された他管理ＣＰＵモジュールの動作状態（例えば、電源断，故障，動作モード）を検知する。
【００５５】
記憶手段２０７は、取得した動作状態や自身の動作モードを記憶する。例えば、記憶手段はメモリである。
【００５６】
制御手段２０８は、各手段を制御する。例えば、制御手段は、ＣＰＵ本体である。
【００５７】
第１動作状態管理手段２０９Ａは、動作状態バス受信手段２０２，動作状態バス検知手段２０３のいずれかによって取得した動作状態を記憶手段２０７に記憶させる。そして、前記取得した動作状態を動作状態ケーブル通知手段２０４を使って他管理ＣＰＵモジュールに通知する。
【００５８】
第２動作状態管理手段２０９Ｂは、動作状態ケーブル受信手段２０５，動作状態ケーブル検知手段２０６のいずれかによって取得した動作状態を記憶手段２０７に記憶させる。そして、前記取得した動作状態を動作状態バス通知手段２０１を使って他管理ＣＰＵモジュールに通知する。
【００５９】
また、本実施形態における管理ＣＰＵモジュールは、電源電圧を監視する電源電圧監視手段２１１を備えていても良い。
【００６０】
電源電圧監視手段２１１は、自管理ＣＰＵモジュールの電源電圧を監視し、電源電圧が急峻に降下したことを検知できるものである。
【００６１】
ここで、管理ＣＰＵモジュールが電源断か否かを判定する動作（電源断判定動作という）を説明する。電源断判定動作には、動作状態検知手段（即ち、動作状態バス検知手段２０３，動作状態ケーブル検知手段２０６）を主として使う判定動作と電源電圧監視手段２１１を主として使う判定動作がある。
【００６２】
動作状態検知手段を使った電源断判定動作では、自管理ＣＰＵモジュールが、動作状態検知手段によって能動的に他管理ＣＰＵモジュールの動作状態を検知し、その結果に基づいて電源断か否かを判定する。例えば、動作状態検知手段が、自管理ＣＰＵモジュールが特定の信号を発信し、その信号に対する返信が特定の時間内に無ければ、電源断と判定する。
【００６３】
電源電圧監視手段２１１を使った電源断判定動作は、次の通りである。まず、管理ＣＰＵモジュールが、電源電圧監視手段２１１によって、急峻な電源電圧降下を検知した際に、電源電圧が完全に０（ゼロ）になる前に、電源断が発生したことを示す信号（即ち、電源断通知）を動作状態バス通知手段２０１，動作状態ケーブル通知手段２０４のいずれかを使って他の管理ＣＰＵモジュールに送信する。そして、他の管理ＣＰＵモジュールが、受信手段（例えば、動作状態バス受信手段２０２，動作状態ケーブル受信手段２０５）によって電源断信号を受信し、その送信した管理ＣＰＵモジュールが電源断したものと判定する。
【００６４】
上述のような本実施形態における管理ＣＰＵモジュールに自身の動作モードを切り替える動作モード切替手段２１０を追加し、ＰＬＣ二重化システムの切り替え動作も次のように実現できる。
【００６５】
スレーブモード動作中の管理ＣＰＵモジュールは、動作状態バス受信手段２０２，動作状態バス検知手段２０３のいずれかによって取得した動作状態がマスタモード動作中の管理ＣＰＵモジュールの異常状態であった場合、他管理ＣＰＵモジュール（マスタモード動作中の管理ＣＰＵモジュール）をスレーブモードに変更する指示（即ち、動作モード変更指示）を動作状態ケーブル通知手段２０４を使って通知する。
【００６６】
次に、前記スレーブモードに変更する指示を動作状態ケーブル受信手段２０５で受信したマスタモード動作中の管理ＣＰＵモジュール（即ち、前記スレーブモード動作中の管理ＣＰＵモジュールの他管理ＣＰＵモジュール）は、自らの動作モードを動作モード切替手段２１０を使ってスレーブモードに変更し、動作モード変更完了通知を、動作状態ケーブル受信手段２０５で送信（通知）する。
【００６７】
そして、他管理ＣＰＵモジュールが動作モードを変更した（即ち、他管理ＣＰＵモジュールから動作モード変更完了通知を動作状態ケーブル受信手段２０５で受信した）後に、スレーブモード動作中の管理ＣＰＵモジュールは、自らの動作モードを動作モード切替手段２１０を使ってマスタモードに変更する。
【００６８】
また、スレーブモード動作中の管理ＣＰＵモジュールは、動作状態ケーブル受信手段２０５，動作状態ケーブル検知手段２０６のいずれかによって取得した動作状態がマスタモード動作中の管理ＣＰＵモジュールの異常状態であった場合、当該スレーブモード動作中の管理ＣＰＵモジュールの動作モードを動作モード切替手段２１０を使ってマスタモードに変更し、他管理ＣＰＵモジュール（マスタモード動作中の管理ＣＰＵモジュール）にマスタモードに変更したことを意味する信号（即ち、動作モード変更完了通知）を動作状態バス通知手段２０１を使って通知する。
【００６９】
そして、前記マスタモードに変更したことを意味する信号を動作状態バス受信手段２０２で受信したマスタモード動作中の管理ＣＰＵモジュールは、自身の動作モードを動作モード切替手段２１０を使ってスレーブモードに変更する。
【００７０】
なお、動作モード切替手段２１０における動作モードの切り替えは、例えば、記憶手段における特定の記憶領域を書き換えることによって、動作モードを切り替えたものと見做しても良い。
【００７１】
以上のように、本実施形態では、ケーブルで接続されている相手管理ＣＰＵモジュールから当該管理ＣＰＵモジュールが接続されているベースボード上の管理ＣＰＵモジュールの電源断，故障，動作モードを通知することによって実現でき、２ベースボードを用いたマルチＣＰＵ構成の二重化システムのマスタスレーブモード機能を提供できる。
【００７２】
本実施形態における管理ＣＰＵモジュールを備えたＰＬＣ二重化システムの動作を以下の実施例で説明する。なお、以下の説明で図１中の符号と同じものの説明は省略する。
【００７３】
［第１実施例］
図２１のようなＰＬＣ二重化システムに基づいて、全ての相手管理ＣＰＵモジュールの動作状態を取得する動作を以下に説明する。
【００７４】
管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール３ｂ２間で相互に相手管理ＣＰＵモジュールの動作状態を伝達する動作を図２に基づいて説明する。なお、図２は、以下の説明に必要な部分のみを図２１から抜粋した構成図である。
【００７５】
まず、ＰＬＣ３の管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール３ｂ２は、互いの動作状態バス通知手段２０１を使い、バス３ｃを介して相手管理ＣＰＵモジュール宛に動作状態を通知する。
【００７６】
そして、自管理ＣＰＵモジュールには、バス３ｃを介し動作状態バス受信手段２０２を使って受信した相手管理ＣＰＵモジュールの最新の動作状態を記憶手段２０７に保存する。例えば、記憶手段で前記動作状態を保存する。
【００７７】
続いて、管理ＣＰＵモジュール４ｂ１と管理ＣＰＵモジュール４ｂ２間で相互に相手管理ＣＰＵモジュールの動作状態を伝達する動作を図３に基づいて説明する。なお、図３は、以下の説明に必要な部分のみを図２１から抜粋した構成図である。
【００７８】
まず、ＰＬＣ４の管理ＣＰＵモジュール４ｂ１と管理ＣＰＵモジュール４ｂ２は、互いの動作状態バス通知手段２０１を使い、バス４ｃを介して相手管理ＣＰＵモジュール宛に動作状態を通知する。
【００７９】
そして、自管理ＣＰＵモジュールには、バス４ｃを介し動作状態バス受信手段２０２を使って受信した相手管理ＣＰＵモジュールの最新の動作状態を記憶手段２０７に保存する。
【００８０】
以上のように、バス３ｃまたはバス４ｃを介した動作状態の伝送では、各バスに接続された管理ＣＰＵモジュールの動作状態バス通知手段２０１と動作状態バス受信手段２０２が必ず動作するものと見做し、以下のバス３ｃまたはバス４ｃを介した動作状態の伝送における動作状態バス通知手段２０１と動作状態バス受信手段２０２の動作説明は、特別な事項がない限り省略する。
【００８１】
続いて、管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール４ｂ２間で相互に相手管理ＣＰＵモジュールの動作状態を伝達する動作を図４に基づいて説明する。なお、図４は、以下の説明に必要な部分のみを図２１から抜粋した構成図である。
【００８２】
まず、ＰＬＣ４の管理ＣＰＵモジュール４ｂ２は、管理ＣＰＵモジュール３ｂ２宛に、動作状態ケーブル通知手段２０４を使い、ケーブル１０２を介して動作状態を通知する。例えば、シリアルインタフェースケーブルを介して動作状態を通知する。
【００８３】
次に、ＰＬＣ３の管理ＣＰＵモジュール３ｂ２は、ケーブル１０２を介し動作状態ケーブル受信手段２０５を使って受信した管理ＣＰＵモジュール４ｂ２の最新の動作状態を保存する。
【００８４】
次に、ＰＬＣ３の管理ＣＰＵモジュール３ｂ２は、管理ＣＰＵモジュール４ｂ２の動作状態を管理ＣＰＵモジュール３ｂ１にバス３ｃを介して通知する。
【００８５】
そして、ＰＬＣ３の管理ＣＰＵモジュール３ｂ１はバス３ｃを介して受信した管理ＣＰＵモジュール４ｂ２の最新の動作状態を記憶手段に保存する。
【００８６】
なお、ＰＬＣ４の管理ＣＰＵモジュール４ｂ２がＰＬＣ３の管理ＣＰＵモジュール３ｂ１の動作状態を伝達する動作は、上記と逆方向となる。
【００８７】
続いて、管理ＣＰＵモジュール３ｂ２と管理ＣＰＵモジュール４ｂ１間で相互に相手管理ＣＰＵモジュールの動作状態を伝達する動作を図５に基づいて説明する。
【００８８】
まず、ＰＬＣ４の管理ＣＰＵモジュール４ｂ１はケーブル１０１を介して、管理ＣＰＵモジュール３ｂ１宛に動作状態を通知する。
【００８９】
次に、ＰＬＣ３の管理ＣＰＵモジュール３ｂ１は、動作状態ケーブル受信手段２０５を使い、ケーブル１０１を介して受信した管理ＣＰＵモジュール４ｂ１の最新の動作状態を保存する。
【００９０】
次に、ＰＬＣ３の管理ＣＰＵモジュール３ｂ１は、管理ＣＰＵモジュール４ｂ１の動作状態を、バス３ｃを介して管理ＣＰＵモジュール３ｂ２に通知する。
【００９１】
そして、ＰＬＣ３の管理ＣＰＵモジュール３ｂ２はバス３ｃを介して受信した管理ＣＰＵモジュール４ｂ１の最新の動作状態を記憶手段２０７に保存する。
【００９２】
なお、ＰＬＣ４の管理ＣＰＵモジュール４ｂ１がＰＬＣ３の管理ＣＰＵモジュール３ｂ２の動作状態を取得する伝達は、上記と逆方向となる。
【００９３】
以上のように、ケーブル１０１またはケーブル１０２を介した動作状態の伝送では、各ケーブルに接続された管理ＣＰＵモジュールの動作状態ケーブル通知手段２０４，動作状態ケーブル受信手段２０５が動作するものと見做し、以下のケーブル１０１またはケーブル１０２を介した動作状態の伝送における動作状態ケーブル通知手段２０４，動作状態ケーブル受信手段２０５の動作説明は、特別な事項がない限り省略する。
【００９４】
［第２実施例］
第２実施例では、図２１のＰＬＣ二重化システムにおける管理ＣＰＵモジュールの動作モードを、ベースボード毎に管理ＣＰＵモジュール３ｂ１と３ｂ２，管理ＣＰＵモジュール４ｂ１と４ｂ２で統一する動作例である。
【００９５】
図６は、第２実施例における初期動作状態を示す図であって、図２１のＰＬＣ二重化システムにおいて、管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール３ｂ２の動作モードがマスタモードに設定され動作中、かつ、管理ＣＰＵモジュール４ｂ１と管理ＣＰＵモジュール４ｂ２の動作モードがスレーブモードに設定され動作中を示す動作図である。
【００９６】
管理ＣＰＵモジュール３ｂ１で発生した故障を伝達し動作モードを切り替える動作を図６及び図７に基づいて説明する。
【００９７】
まず、管理ＣＰＵモジュール３ｂ１で発生した故障はケーブル１０１経由で管理ＣＰＵモジュール４ｂ１に通知されるため、スレーブモード動作中の管理ＣＰＵモジュール４ｂ１は動作モード切替手段２１０を使ってマスタモードに切り替わる。
【００９８】
次に、管理ＣＰＵモジュール４ｂ２は、管理ＣＰＵモジュール４ｂ１が、マスタモードに変更したことを示すモード変更信号を、動作状態バス受信手段２０２を使って、バス４ｃを介して取得する。
【００９９】
次に、管理ＣＰＵモジュール４ｂ２は、スレーブモードに切り替える動作モード変更指示をケーブル１０２を介して管理ＣＰＵモジュール３ｂ２に送信する。
【０１００】
そして、管理ＣＰＵモジュール３ｂ２がスレーブモードに切り替わった（例えば、スレーブモードに切り替わったことを示す通知を受信した）後、直ちに、管理ＣＰＵモジュール４ｂ２は、動作モード切替手段２１０を使ってマスタモードに切り替わる。
【０１０１】
以上のように、ＰＬＣ３（管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール３ｂ２）がマスタモードからスレーブモードに、ＰＬＣ４（管理ＣＰＵモジュール４ｂ１と管理ＣＰＵモジュール４ｂ２）がスレーブモードからマスタモードに切り替わり、ベースボード毎の動作モードの切り替えが実行された。
【０１０２】
なお、管理ＣＰＵモジュールの動作切り替えに関する動作では動作モード切替手段２１０を必ず使うため、以下の説明では動作モード切替手段２１０の動作説明を省略する。
【０１０３】
上述の説明のように、ＰＬＣ３のマスタモード動作中の管理ＣＰＵモジュール３ｂ１が故障した場合に、ＰＬＣ４のスレーブモード動作中の管理ＣＰＵモジュール４ｂ１は、ケーブル１０１を介して、管理ＣＰＵモジュール３ｂ１の故障を通知されるため、マスタモードに切り替わる機能を実現できる。
【０１０４】
管理ＣＰＵモジュール４ｂ２は、バス４ｃを介して、管理ＣＰＵモジュール３ｂ１が故障したことと、管理ＣＰＵモジュール４ｂ１がマスタモードに切り替わったことを通知される。そのため、管理ＣＰＵモジュール４ｂ２は、管理ＣＰＵモジュール３ｂ２にスレーブモードに切り替える動作モード変更指示を、ケーブル１０２を介して通知し、管理ＣＰＵモジュール３ｂ２がスレーブモードに切り替わったことを示す通知をケーブル１０２を介して通知された後、マスタモードに切り替わる。即ち、マスタモードとスレーブモードの切り替え機能を提供できる。
【０１０５】
また、ＰＬＣ３の管理ＣＰＵモジュール３ｂ１が故障、管理ＣＰＵモジュール３ｂ２がスレーブモード、ＰＬＣ４の管理ＣＰＵモジュール４ｂ１がマスタモード、管理ＣＰＵモジュール４ｂ２がマスタモードとなり、ＰＬＣ３全体がスレーブモード、ＰＬＣ２全体がマスタモードとなり、ベースボード毎のマスタモードとスレーブモードの切り替え機能も提供できる。
【０１０６】
続いて、管理ＣＰＵモジュール３ｂ２で発生した故障を伝達し動作モードを切り替える動作を図６及び図８に基づいて説明する。
【０１０７】
まず、管理ＣＰＵモジュール３ｂ２で発生した故障はケーブル１０２を介し管理ＣＰＵモジュール４ｂ２に通知されるため、管理ＣＰＵモジュール４ｂ２はスレーブモードからマスタモードに切り替わる。
【０１０８】
次に、管理ＣＰＵモジュール４ｂ１は、管理ＣＰＵモジュール４ｂ２がマスタモードに切り替わったことを意味するモード変更信号を、バス４ｃを介して取得する。
【０１０９】
次に、管理ＣＰＵモジュール４ｂ１は、管理ＣＰＵモジュール３ｂ１にスレーブモードに切り替える動作モード変更指示をケーブル１０１を介して送信する。
【０１１０】
そして、管理ＣＰＵモジュール４ｂ１は、管理ＣＰＵモジュール３ｂ１がスレーブモードに切り替え後、直ちにマスタモードに切り替わる。
【０１１１】
以上のように、ＰＬＣ３（管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール３ｂ２）がマスタモードからスレーブモードに、ＰＬＣ４（管理ＣＰＵモジュール４ｂ１と管理ＣＰＵモジュール４ｂ２）がスレーブモードからマスタモードに切り替わり、ベースボード毎の動作モードの切り替えが実行された。
【０１１２】
続いて、ＰＬＣ３で電源断が発生した場合に動作モードを切り替える動作を図６及び図９に基づいて説明する。
【０１１３】
まず、管理ＣＰＵモジュール４ｂ１は、管理ＣＰＵモジュール３ｂ１に電源断が発生したことを、動作状態ケーブル検知手段２０６を使い、ケーブル１０１を介して検知した後、スレーブモードからマスタモードに切り替わる。
【０１１４】
そして、管理ＣＰＵモジュール４ｂ２は管理ＣＰＵモジュール３ｂ２に電源断が発生したことを、動作状態ケーブル検知手段２０６を使い、ケーブル１０２を介して検知した後、スレーブモードからマスタモードに切り替わる。
【０１１５】
以上のように、ＰＬＣ４（管理ＣＰＵモジュール４ｂ１と管理ＣＰＵモジュール４ｂ２）がスレーブモードからマスタモードに切り替わり、ベースボード毎の動作モードの切り替えが実行された。
【０１１６】
上述のように、マスタモードとスレーブモードの動作モード切り替え機能を提供できる。
【０１１７】
［第３実施例］
図１０は、第３実施例における初期動作状態を示す図であって、図２１のＰＬＣ二重化システムにおいて、管理ＣＰＵモジュール３ｂ１が故障停止、管理ＣＰＵモジュール３ｂ２がスレーブモード動作中、管理ＣＰＵモジュール４ｂ１と管理ＣＰＵモジュール４ｂ２がマスタモード動作中を示す動作図である。
【０１１８】
図１０の状態から管理ＣＰＵモジュール４ｂ２に故障が発生した場合に動作モードを切り替える動作を図１１に基づいて説明する。
【０１１９】
まず、管理ＣＰＵモジュール４ｂ２で発生した故障は、ケーブル１０２を介して管理ＣＰＵモジュール３ｂ２に通知されるため、管理ＣＰＵモジュール３ｂ２はスレーブモードからマスタモードに切り替わる。
【０１２０】
次に、管理ＣＰＵモジュール４ｂ１には、管理ＣＰＵモジュール４ｂ２が故障のため管理ＣＰＵモジュール３ｂ２がマスタモードに切り替わったことをバス４ｃを介して通知されないため、管理ＣＰＵモジュール４ｂ１は引き続いてマスタモードを継続する。
【０１２１】
そして、ＰＬＣ３の管理ＣＰＵモジュール３ｂ１が故障停止、管理ＣＰＵモジュール３ｂ２がマスタモード、ＰＬＣ４の管理ＣＰＵモジュール４ｂ１がマスタモード、管理ＣＰＵモジュール４ｂ２が故障停止となって、ベースボード毎の動作モードは一致していない状態となる。
【０１２２】
しかし、マルチＣＰＵとしての機能は、管理ＣＰＵモジュール３ｂ２と管理ＣＰＵモジュール４ｂ１が動作しているため、機能している状態と言える。
【０１２３】
続いて、図１０の状態から管理ＣＰＵモジュール４ｂ１に故障が発生した場合に動作モードを切り替える動作を図１２に基づいて説明する。
【０１２４】
まず、管理ＣＰＵモジュール３ｂ１が故障のため管理ＣＰＵモジュール４ｂ１が故障したことをバス３ｃを介して通知されないため、管理ＣＰＵモジュール３ｂ２は引き続いてスレーブモードを継続する。
【０１２５】
そして、管理ＣＰＵモジュール４ｂ２は、管理ＣＰＵモジュール４ｂ１が故障したことをバス４ｃを介して通知されるが、管理ＣＰＵモジュール３ｂ１が故障していることをケーブル１０２を介して通知されているので、マスタモードを継続する。
【０１２６】
例えば、管理ＣＰＵモジュール４ｂ２は、ケーブル１０２を介してスレーブモードに変更する動作モード変更指示を通知しても、故障中の管理ＣＰＵモジュール３ｂ１から異常を示す返信を受信し、動作モードが変更していないことを知るため、マスタモードを継続する。
【０１２７】
続いて、図１０の状態から管理ＣＰＵモジュール４ｂ１及び管理ＣＰＵモジュール４ｂ２に故障が発生した場合に動作モードを切り替える動作を図１３に基づいて説明する。
【０１２８】
管理ＣＰＵモジュール４ｂ２に発生した故障は、ケーブル１０２経由で管理ＣＰＵモジュール３ｂ２に通知されるため、管理ＣＰＵモジュール３ｂ２はスレーブモードからマスタモードに切り替わる。
【０１２９】
続いて、図１０の状態からＰＬＣ４に電源断が発生した場合に動作モードを切り替える動作を図１４に基づいて説明する。
【０１３０】
管理ＣＰＵモジュール３ｂ２は、管理ＣＰＵモジュール４ｂ２に電源断が発生したことを、ケーブル２０３を介して検知するため、スレーブモードからマスタモードに切り替わる。
【０１３１】
例えば、管理ＣＰＵモジュール３ｂ２は、一定の時間間隔で管理ＣＰＵモジュール４ｂ２の電源断を確認するための信号を送信し、その信号に対し、所定の時間内に返信が無かった場合、管理ＣＰＵモジュール４ｂ２に電源断が発生したものと見做し、スレーブモードからマスタモードに切り替わる。
【０１３２】
［第４実施例］
図１５は、第４実施例における初期動作状態を示す図であって、管理ＣＰＵモジュール３ｂ１がスレーブモード動作中、管理ＣＰＵモジュール３ｂ２が故障停止、管理ＣＰＵモジュール４ｂ１と４ｂ２がマスタモード動作中を示す動作図である。
【０１３３】
図１５の状態から管理ＣＰＵモジュール４ｂ１に故障が発生した場合に動作モードを切り替える動作を図１６に基づいて説明する。
【０１３４】
まず、管理ＣＰＵモジュール４ｂ１の故障は、ケーブル１０１を介して管理ＣＰＵモジュール３ｂ１に通知されるため、管理ＣＰＵモジュール３ｂ１はスレーブモードからマスタモードに切り替わる。
【０１３５】
そして、管理ＣＰＵモジュール４ｂ２は、管理ＣＰＵモジュール４ｂ１の故障をバス経由で通知されるが、管理ＣＰＵモジュール３ｂ２が故障なので引き続いてマスタモードを継続する。
【０１３６】
以上のように、ＰＬＣ１（管理ＣＰＵモジュール３ｂ１）がマスタモード、ＰＬＣ２（管理ＣＰＵモジュール４ｂ２）がマスタモードとなり、ベースボード毎のマスタモードとスレーブモードは一致していない状態となる。しかし、マルチＣＰＵとしての管理ＣＰＵモジュール３ｂ１と管理ＣＰＵモジュール４ｂ２が動作しているため、機能している状態となる。
【０１３７】
続いて、図１５の状態から管理ＣＰＵモジュール４ｂ２に故障が発生した場合に動作モードを切り替える動作を図１７に基づいて説明する。
【０１３８】
まず、管理ＣＰＵモジュール４ｂ１は、管理ＣＰＵモジュール４ｂ２の故障をバス４ｃを介して通知されるが、管理ＣＰＵモジュール３ｂ２が故障であるため、引き続いてマスタモードを継続する。
【０１３９】
そして、ＰＬＣ１（管理ＣＰＵモジュール３ｂ１）がスレーブモード、ＰＬＣ２（管理ＣＰＵモジュール４ｂ１）がマスタモードとなり、管理ＣＰＵモジュール３ｂ２，管理ＣＰＵモジュール４ｂ２は停止となる。マルチＣＰＵとしては動作していない状態となる。
【０１４０】
続いて、図１５の状態から管理ＣＰＵモジュール４ｂ１及び４ｂ２に故障が発生した場合に動作モードを切り替える動作を図１８に基づいて説明する。
【０１４１】
まず、管理ＣＰＵモジュール３ｂ１は、管理ＣＰＵモジュール４ｂ１の故障をケーブル１０１を介して通知されるため、管理ＣＰＵモジュール３ｂ１はスレーブモードからマスタモードに切り替わる。
【０１４２】
そして、ＰＬＣ１（管理ＣＰＵモジュール３ｂ１）がマスタモード、管理ＣＰＵモジュール３ｂ２，管理ＣＰＵモジュール４ｂ１，管理ＣＰＵモジュール４ｂ２は停止となる。マルチＣＰＵとしては動作していない状態となる。
【０１４３】
続いて、図１５の状態からＰＬＣ４に電源断が発生した場合に動作モードを切り替える動作を図１９に基づいて説明する。
【０１４４】
管理ＣＰＵモジュール３ｂ１は、管理ＣＰＵモジュール４ｂ１の電源断が発生したことをケーブル１０１を介して検知し、スレーブモードからマスタモードに切り替わる。
【０１４５】
以上、本発明において、記載された具体例に対してのみ詳細に説明したが、本発明の技術思想の範囲で多彩な変形および修正が可能であることは、当業者にとって明白なことであり、このような変形および修正が特許請求の範囲に属することは当然のことである。
【０１４６】
例えば、前記ケーブルに高速通信用ケーブル（例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブル）を採用すれば、高速に動作モード切り替えを行うこともできる。
【０１４７】
また、ケーブルを使う有線通信の替わりに、無線通信装置を備えさせ、無線通信を採用しても良い。
【図面の簡単な説明】
【０１４８】
【図１】本実施形態における管理ＣＰＵモジュールの構成図。
【図２】第１実施例における管理ＣＰＵモジュールがバスを介して動作状態を相互に通知する例１を示す図。
【図３】第１実施例における管理ＣＰＵモジュールがバスを介して動作状態を相互に通知する例２を示す図。
【図４】第１実施例における管理ＣＰＵモジュールがケーブルを介して動作状態を相互に通知する例１を示す図。
【図５】第１実施例における管理ＣＰＵモジュールがケーブルを介して動作状態を相互に通知する例２を示す図。
【図６】第２実施例における管理ＣＰＵモジュールの初期動作状態を示す図。
【図７】第２実施例におけるマスタモード動作中の管理ＣＰＵモジュールが故障した場合の管理ＣＰＵモジュールの動作状態の切り替え動作の例１を示す図。
【図８】第２実施例におけるマスタモード動作中の管理ＣＰＵモジュールが故障した場合の管理ＣＰＵモジュールの動作状態の切り替え動作の例２を示す図。
【図９】第２実施例におけるマスタモード動作中の管理ＣＰＵモジュールで電源断が発生した場合の管理ＣＰＵモジュールの動作状態の切り替え動作の例を示す図。
【図１０】第３実施例における管理ＣＰＵモジュールの初期動作状態を示す図。
【図１１】第３実施例におけるマスタモード動作中の管理ＣＰＵモジュールが故障した場合の管理ＣＰＵモジュールの動作状態の切り替え動作の例１を示す図。
【図１２】第３実施例におけるマスタモード動作中の管理ＣＰＵモジュールが故障した場合の管理ＣＰＵモジュールの動作状態の切り替え動作の例２を示す図。
【図１３】第３実施例におけるマスタモード動作中の管理ＣＰＵモジュールが故障した場合の管理ＣＰＵモジュールの動作状態の切り替え動作の例３を示す図。
【図１４】第３実施例におけるマスタモード動作中の管理ＣＰＵモジュールで電源断が発生した場合の管理ＣＰＵモジュールの動作状態の切り替え動作の例を示す図。
【図１５】第４実施例における管理ＣＰＵモジュールの初期動作状態を示す図。
【図１６】第４実施例におけるマスタモード動作中の管理ＣＰＵモジュールが故障した場合の管理ＣＰＵモジュールの動作状態の切り替え動作の例１を示す図。
【図１７】第４実施例におけるマスタモード動作中の管理ＣＰＵモジュールが故障した場合の管理ＣＰＵモジュールの動作状態の切り替え動作の例２を示す図。
【図１８】第４実施例におけるマスタモード動作中の管理ＣＰＵモジュールが故障した場合の管理ＣＰＵモジュールの動作状態の切り替え動作の例３を示す図。
【図１９】第４実施例におけるマスタモード動作中の管理ＣＰＵモジュールで電源断が発生した場合の管理ＣＰＵモジュールの動作状態の切り替え動作の例を示す図。
【図２０】一般的なＰＬＣ二重化システムの装置構成図。
【図２１】２ベースボードによるＰＬＣ二重化システムの装置構成図。
【図２２】１ベースボードによるＰＬＣ二重化システムの装置構成図。
【符号の説明】
【０１４９】
１，２，３，４，５…ＰＬＣ
１ａ，２ａ，３ａ，４ａ…電源
１ｂ１，２ｂ１，３ｂ１，３ｂ２，４ｂ１，４ｂ２，５ｂ１，５ｂ２…管理ＣＰＵモジュール
１ｃ，２ｃ，３ｃ，４ｃ，５ｃ…バス
１ｄ，２ｄ，３ｄ，４ｄ，５ｄ…ベースボード
１ｅ，２ｅ…ＤＵＰ
１００，１０１，１０２，１０３…ケーブル
２０１…動作状態第１通信路通知手段
２０２…動作状態第１通信路受信手段
２０３…動作状態第１通信路検知手段
２０４…動作状態第２通信路通知手段
２０５…動作状態第２通信路受信手段
２０６…動作状態第２通信路検知手段
２０７…記憶手段
２０８…制御手段
２０９Ａ…第１動作状態管理手段
２０９Ｂ…第２動作状態管理手段
２１０…動作モード切替手段
２１１…電源電圧監視手段
【図１】
2008158951.tif 000003
【図２】
2008158951.tif 000004
【図３】
2008158951.tif 000005
【図４】
2008158951.tif 000006
【図５】
2008158951.tif 000007
【図６】
2008158951.tif 000008
【図７】
2008158951.tif 000009
【図８】
2008158951.tif 000010
【図９】
2008158951.tif 000011
【図１０】
2008158951.tif 000012
【図１１】
2008158951.tif 000013
【図１２】
2008158951.tif 000014
【図１３】
2008158951.tif 000015
【図１４】
2008158951.tif 000016
【図１５】
2008158951.tif 000017
【図１６】
2008158951.tif 000018
【図１９】
2008158951.tif 000019
【図２０】
2008158951.tif 000020
【図２１】
2008158951.tif 000021
【図２２】
2008158951.tif 000022
【図１７】
2008158951.tif 000023
【図１８】
2008158951.tif 000024