(57)【要約】【課題】プログラマブルコントローラのデータの等価が可能な二重化システムの健全性の向上を図ること。【解決手段】プログラマブルコントローラ１，２のデータの等価の際にマスタまたはスレーブとして機能するプログラマブルコントローラ１であって、プログラマブルコントローラ１がマスタとして機能する場合にプログラマブルコントローラ１のＣＰＵモジュール１０にパルス信号を発してＣＰＵモジュール１０からの応答信号に基づきＣＰＵモジュール１０の状態を監視するオプションモジュールとして通信インタフェース１１，１２を備える。通信インタフェース１１，１２はＣＰＵモジュール１０からの応答信号がない場合に通信インタフェース１１，１２の動作モードをマスタからスレーブに切替える。【選択図】図１
2019114073.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラのデータの等価の際にマスタまたはスレーブとして機能するプログラマブルコントローラであって、
このプログラマブルコントローラがマスタとして機能する場合に当該プログラマブルコントローラのＣＰＵモジュールにパルス信号を発して当該ＣＰＵモジュールからの応答信号に基づき当該ＣＰＵモジュールの状態を監視するオプションモジュールを備えたことを特徴とするプログラマブルコントローラ。
【請求項２】
前記オプションモジュールは、前記ＣＰＵモジュールからの応答信号がない場合に当該オプションモジュールの動作モードをマスタからスレーブに切替えることを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項３】
前記オプションモジュールは、前記プログラマブルコントローラ内での前記ＣＰＵモジュールのバス間通信が行えないと判断すると当該オプションモジュールの動作モードをマスタからスレーブに切替えることを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項４】
前記プログラマブルコントローラが前記マスタとして機能する場合に、前記ＣＰＵモジュールは、このＣＰＵモジュールにおいて異常が発生した場合に、当該プログラマブルコントローラと通信可能な前記スレーブとして機能する他のプログラマブルコントローラに当該異常を通知することを特徴とする請求項１から３のいずれか１項に記載のプログラマブルコントローラ。
【請求項５】
前記プログラマブルコントローラが前記スレーブとして機能する場合に、当該スレーブとして機能するプログラマブルコントローラのＣＰＵモジュールは、前記マスタとして機能する他のプログラマブルコントローラのＣＰＵモジュールから異常の通知を受けると、当該スレーブとして機能するプログラマブルコントローラのオプションモジュールに対して動作モードをスレーブからマスタへの切り替えを指示することを特徴とする請求項１から３のいずれか１項に記載のプログラマブルコントローラ。
【請求項６】
マスタとスレーブのデータの等価が可能な二重化システムであって、
前記データの等価のマスタとして機能が可能な請求項１から４のいずれか１項に記載のプログラマブルコントローラと、
前記データの等価のスレーブとして機能が可能な請求項５に記載のプログラマブルコントローラと
を備えたことを特徴とする二重化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタとスレーブのデータの等価が可能な二重化システムにおけるマスタとスレーブの切り替え技術に関する。
【背景技術】
【０００２】
プログラマブルコントローラ（以下、ＰＬＣ）のデータの等価が可能な二重化システムは、二つのＰＬＣ間で例えばEthernet（登録商標）等のローカルエリアネットワークを介してアプリケーションや演算処理や通信処理のデータが等価される（特許文献１等）。
【０００３】
また、複数のＰＬＣを有する二重化システムにおいては、一つのＰＬＣがマスタ（常用系）として機能し、他のＰＬＣがスレーブ（待機系）として機能する。そして、マスタ側のＰＬＣに異常や故障が発生した際には、マスタとスレーブの切り替えが行われ、スレーブ側のＰＬＣが新たなマスタとして動作する一方で当該マスタ側のＰＬＣは新たなスレーブとして動作する。
【０００４】
現状の二重化システムにおいては、マスタのＣＰＵモジュールまたはスレーブのＣＰＵモジュールがマスタとスレーブの切り替え要因を監視するようになっている。そして、切り替え要因が発生した際に、マスタとスレーブのＣＰＵモジュールによるハンドシェイク処理が行われ、マスタとスレーブの切り替えが実行される。マスタとスレーブの切り替え後、ＣＰＵモジュールは通信インタフェースにマスタとスレーブの切り替えを指示し、通信インタフェースの動作モードもマスタとスレーブの切り替えが発生する。
【０００５】
切り替え要因としては、例えば以下のような事象がある。
【０００６】
（１）マスタのＣＰＵモジュールの故障による切り替え
例えば、図４（ａ）に示したように、マスタ（ＰＬＣ１）のＣＰＵモジュール１０にて重故障（継続動作不可能な異常）が発生すると、当該マスタのＣＰＵモジュール１０はスレーブ（ＰＬＣ２）のＣＰＵモジュール２０に重故障発生を通知する。これにより、ＣＰＵモジュール１０，２０間でマスタとスレーブの切り替えが行われる。その後、ＣＰＵモジュール１０（２０）からの通信インタフェースを介したマスタとスレーブの切り替えの指示により、通信インタフェース１１（２１），１２（２２）の動作モードもマスタ・スレーブの切り替えを行う。
【０００７】
（２）スレーブのＣＰＵモジュールのスイッチＯＮによる切り替え
例えば、図４（ｂ）に示されたように、スレーブ（ＰＬＣ２）のＣＰＵモジュール２０のマスタ用またスレーブ用の押しスイッチがＯＮされると、当該スレーブのＣＰＵモジュール２０はマスタ（ＰＬＣ１）のＣＰＵモジュール１０に対してマスタとスレーブの切り替え要求を通知して、ＣＰＵモジュール１０，２０間でマスタとスレーブの切り替えを行う。その後、ＣＰＵモジュール１０，２０から通信インタフェース１１（２１），１２（２２）へのマスタとスレーブの切り替えの指示により、通信インタフェース１１（２１），１２（２２）の動作モードもマスタとスレーブの切り替えを行う。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１０２６４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述のようにマスタのＣＰＵモジュールの故障による切り替えが発生した場合やスレーブのＣＰＵモジュールのスイッチＯＮによる切り替えが発生した場合、先ず、ＣＰＵモジュール間でマスタとスレーブの切り替えが行われる。その後、ＣＰＵモジュールから通信インタフェースに対してマスタ・スレーブの切り替えの指示がなされる。
【００１０】
ＣＰＵモジュールに重大な故障が発生していない場合は問題ないが、マイコンやメモリなど主要な部品が故障した場合、ＣＰＵモジュールから通信インタフェースに対してマスタとスレーブの切り替え指示が行われない可能性がある。
【００１１】
このことから、ＣＰＵモジュールの指示により、通信インタフェースのマスタとスレーブの切り替える方式は、正常な状態や軽微な故障時には問題ないが、ＣＰＵモジュールに重大な故障が発生した場合には、マスタとスレーブの切替えが行えない場合がある。
【００１２】
本発明は、上記の事情の鑑み、プログラマブルコントローラのデータの等価が可能な二重化システムの健全性の向上を図ることを課題とする。
【課題を解決するための手段】
【００１３】
そこで、本発明の一態様は、プログラマブルコントローラのデータの等価の際にマスタまたはスレーブとして機能するプログラマブルコントローラであって、このプログラマブルコントローラがマスタとして機能する場合に当該プログラマブルコントローラのＣＰＵモジュールにパルス信号を発して当該ＣＰＵモジュールからの応答信号に基づき当該ＣＰＵモジュールの状態を監視するオプションモジュールを備える。
【００１４】
本発明の一態様は、前記プログラマブルコントローラにおいて、前記オプションモジュールは、前記ＣＰＵモジュールからの応答信号がない場合に当該オプションモジュールの動作モードをマスタからスレーブに切替える。
【００１５】
本発明の一態様は、前記プログラマブルコントローラにおいて、前記オプションモジュールは、前記プログラマブルコントローラ内での前記ＣＰＵモジュールのバス間通信が行えないと判断すると当該オプションモジュールの動作モードをマスタからスレーブに切替える。
【００１６】
本発明の一態様は、前記プログラマブルコントローラが前記マスタとして機能する場合に、前記ＣＰＵモジュールは、このＣＰＵモジュールにおいて異常が発生した場合に、当該プログラマブルコントローラと通信可能な前記スレーブとして機能する他のプログラマブルコントローラに当該異常を通知する。
【００１７】
本発明の一態様は、前記プログラマブルコントローラが前記スレーブとして機能する場合に、当該スレーブとして機能するプログラマブルコントローラのＣＰＵモジュールは、前記マスタとして機能する他のプログラマブルコントローラのＣＰＵモジュールから異常の通知を受けると、当該スレーブとして機能するプログラマブルコントローラのオプションモジュールに対して動作モードをスレーブからマスタへの切り替えを指示する。
【００１８】
本発明の一態様は、マスタとスレーブのデータの等価が可能な二重化システムであって、前記データの等価のマスタとして機能が可能な上記のプログラマブルコントローラと、前記データの等価のスレーブとして機能が可能な上記のプログラマブルコントローラとを備える。
【発明の効果】
【００１９】
以上の本発明によれば、プログラマブルコントローラのデータの等価が可能な二重化システムの健全性の向上を図ることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態である二重化システムにおけるパルス信号検定の説明図。
【図２】図１の二重化システムの概略構成図。
【図３】図１の二重化システムにおけるパルス信号の送受信の説明図。
【図４】（ａ）従来のＰＬＣの二重化システムにおけるマスタＣＰＵモジュール重故障発生時の切替え動作の説明図、（ｂ）当該二重化システムにおける手動によるスレーブＣＰＵモジュールの切り替え動作の説明図。
【発明を実施するための形態】
【００２１】
以下に図面を参照しながら本発明の実施形態について説明する。
【００２２】
［本実施形態のシステム構成］
図１，２に例示された本実施形態の二重化システムはEthernet等の周知のローカルエリアネットワークの規格に準拠した二重化ケーブル３を介してＰＬＣ１，２のアプリケーションプログラムの等価や演算結果等のデータの等価が可能となっている。
【００２３】
ＰＬＣ１は、通常、本実施形態の二重化システムにおいてマスタとして機能するプログラマブルコントローラである。一方、ＰＬＣ２は、二重化ケーブル３を介してＰＬＣ１と通信可能であり当該二重化システムにおけるスレーブとして機能するプログラマブルコントローラである。
【００２４】
ＰＬＣ１はＣＰＵモジュール１０に加えてオプションモジュールとして通信インタフェース１１，１２を実装する。尚、ＰＬＣ２もＣＰＵモジュール２０に加えてオプションモジュールとして通信インタフェース２１，２２を実装する。
【００２５】
ＰＬＣ１のＣＰＵモジュール１０とＰＬＣ２のＣＰＵモジュール２０と間でのマスタとスレーブの切り替えは二重化ケーブル３を介した通信により実現する。
【００２６】
特に、本実施形態においては、ＣＰＵモジュール１０，２０の主要構成品であるマイコンやＦＰＧＡが故障した場合に、前記オプションモジュールのマスタとスレーブの切り替えが可能となっている。
【００２７】
ＰＬＣ１においては、ＣＰＵモジュール１０と通信インタフェース１１，１２とのバス間通信によりモジュールＩＤやステータス状態をＰＬＣ１の全てのモジュール間で共有する仕組みが構築されている。
【００２８】
このモジュールＩＤ及びステータス状態を共有したシステムにおいて、ＣＰＵモジュール１０は、通信インタフェース１１，１２側から発信するパルス信号に追従する応答信号としてパルス信号を発信する。
【００２９】
また、ＣＰＵモジュール１０において異常が発生した場合、ＣＰＵモジュール１０は二重化ケーブル３を介して当該異常をＰＬＣ２に通知する。
【００３０】
通信インタフェース１１，１２はＰＬＣ１がマスタとして機能する場合にＣＰＵモジュール１０にパルス信号を発してＣＰＵモジュールからの応答信号に基づき当該ＣＰＵモジュールの状態を監視する。
【００３１】
特に、通信インタフェース１１は、ＣＰＵモジュール１０からのパルス信号が異常である場合、マスタとして動作しているオプションモジュールはスレーブとして動作する。
【００３２】
また、通信インタフェース１１は、ＰＬＣ１内でのＣＰＵモジュール１０のバス間通信が行えないと判断すると通信インタフェース１１の動作モードをマスタからスレーブに切替える。
【００３３】
尚、ＰＬＣ２においても、ＣＰＵモジュール２０と通信インタフェース２１，２２との間で上記と同様の仕組み及び関係が構築されている。
【００３４】
以下に本実施形態のＰＬＣ１，２の具体的な機能（１）〜（３）について説明する。
【００３５】
（１）バス間通信
ＰＬＣ１のベースにおいては、ＣＰＵモジュール１０と通信インタフェース１１，１２との間でデータの送受信が行えるシリアルバスが実装されている。このシリアルバスは通信インタフェース１１，１２の通信データを授受する。また、ＣＰＵモジュール１０及び通信インタフェース１１，１２はそれぞれのモジュール種別（番号）及びモジュールの状態をＨ／Ｗ処理（ハードウェア処理）として通信する機能を有する。
【００３６】
ＰＬＣ２のベースにおいても、ＰＬＣ１と同様の機能を有するシリアルバス、ＣＰＵモジュール１０及び通信インタフェース１１，１２と同様の機能が実装されている。
【００３７】
（２）ステータスＩＤ及びステータス状態の共有
ＣＰＵモジュール１０及び通信インタフェース１１，１２は、各モジュールの立ち上がり時にモジュール種別を示す番号を、シリアルバス上で使用するモジュールＩＤのレジスタにセットする。ＣＰＵモジュール１０及び通信インタフェース１１，１２は各モジュール（ＣＰＵモジュール１０、通信インタフェース１１，１２、その他のオプションモジュール）の状態を示すデータを常にステータス用のレジスタにセットする。このレジスタにセットされたモジュールＩＤとステータス状態はＨ／Ｗ処理により定期的にシリアルバス上に送信され、モジュール間でモジュール種別とモジュール状態のデータが共有される。尚、ＣＰＵモジュール２０及び通信インタフェース２１，２２も上記と同様の共有の機能を有する。
【００３８】
（３）パルス信号の監視
ＣＰＵモジュール１０及び通信インタフェース１１，１２は、以下のパルス信号の監視機能を有する。モジュールＩＤとステータス状態を、Ｈ／Ｗ処理により定期的にシリアルバス上に送信する機能を拡張し、パルス信号のデータも付加して送信する。通信インタフェース１１，１２はパルス信号を生成してシリアルバスを介してＣＰＵモジュール１０に送信する。ＣＰＵモジュール１０は、通信インタフェース１１，１２から受信したパルス信号をそのままコピーしてシリアルバスを介して応答信号として通信インタフェース１１，１２に送信する。図示の態様は通信インタフェースが２つ実装されているが、通信インタフェースが４つ実装された場合、ＣＰＵモジュール１０はモジュール毎に４つのパルス信号をシリアルバス上に送信する。尚、ＣＰＵモジュール２０及び通信インタフェース２１，２２も上記と同様の監視の機能を有する。
【００３９】
（４）ステータスＩＤ、ステータス情報及びパルス信号のデータフォーマット
ＣＰＵモジュール１０と通信インタフェース１１，１２のステータスＩＤ、ステータス情報、パルス信号のデータフォーマットを以下の表１及び表２に示す。
【００４０】
【表１】
2019114073.tif 000003
【００４１】
【表２】
2019114073.tif 000004
【００４２】
ＣＰＵモジュール１０が送信するパルス情報のＣＰＵパルス情報は、ＣＰＵモジュール１０内でパルス信号の態様で作成され、このパルス信号がセットされる。ＣＰＵモジュール１０が送信するパルス情報の通信パルス情報は、通信インタフェース１１，１２から受信したパルス信号をそのままセットする。一方、通信インタフェース１１，１２が送信するパルス情報の通信パルス情報は、通信インタフェース１１，１２内でパルス信号の態様で作成され、このパルス信号は通信インタフェース１１，１２の通信インタフェース番号の対応ビットにセットされる。尚、ＣＰＵモジュール２０及び通信インタフェース２１，２２も上記と同様のデータフォーマットの機能を有する。
【００４３】
［動作例の説明］
以下に本実施形態の二重化システムの具体的な動作例について説明する。
【００４４】
（動作例１）ＰＬＣ１のＣＰＵモジュール１０で重故障が発生し、バス間通信、パルス信号の発信が可能な場合の動作例
本事例においては、ＰＬＣ１のＣＰＵモジュール１０で重故障が発生しても、バス間通信で通信インタフェース１１，１２とのデータ授受が可能となっている。したがって、前述の図４（ａ）の事例のように、ＰＬＣ１のＣＰＵモジュール１０の故障による従来の切り替え動作により、マスタとスレーブの切り替えが行われる。
【００４５】
（動作例２）ＰＬＣ１のＣＰＵモジュール１０で重故障が発生し、パルス信号の発信が不可能な場合の動作例
ＰＬＣ１のＣＰＵモジュール１０で重故障が発生し、ＣＰＵモジュール１０のマイコン・メモリ・ＦＰＧＡなど主要な部品が故障した場合、バス間通信やパルス信号発信が不可能となる。そこで、以下の過程Ｓ１〜Ｓ４が実行されることにより、図３に例示のように、ＰＬＣ１の通信インタフェース１１，１２のマスタとスレーブの切り替えが実現する。
【００４６】
Ｓ０：重故障発生
マスタであるＰＬＣ１のＣＰＵモジュール１０にて重故障が発生し、ＣＰＵモジュール１０のマイコン，メモリ，ＦＰＧＡなどの主要な部品が故障し、ＣＰＵモジュール１０からのバス間通信やパルス信号発信が不可能となる。
【００４７】
Ｓ１：通信インタフェース１１，１２によるパルス信号の送信
ＰＬＣ１の通信インタフェース１１，１２が、パルス信号をＣＰＵモジュール１０に送信する。
【００４８】
Ｓ２：ＣＰＵモジュール１０，２０でのマスタとスレーブの切り替え
ＰＬＣ１のＣＰＵモジュール１０で発生した重故障の情報が、二重化ケーブル３を介した信号により、スレーブであるＰＬＣ２のＣＰＵモジュール２０に通知される。この通知を受けて、ＣＰＵモジュール１０，２０でのマスタとスレーブの切り替えが行われる。これにより、ＰＬＣ２のＣＰＵモジュール２０が新マスタとなる。一方、ＰＬＣ１のＣＰＵモジュール１０は新スレーブとなる。
【００４９】
Ｓ３：ＰＬＣ２のＣＰＵモジュール２０と通信インタフェース２１，２２と間のマスタとスレーブの切り替え
新マスタとなったＰＬＣ２のＣＰＵモジュール２０は、バス間通信により、通信インタフェース２１，２２にマスタとスレーブの切り替えを実行させ、さらに、マスタ動作の指示を行う。ＰＬＣ２の通信インタフェース２１，２２は、マスタ動作の指示に従い、マスタとして動作する。
【００５０】
Ｓ４：ＰＬＣ１の通信インタフェース１１，１２のスレーブの切り替え
ＰＬＣ１の通信インタフェース１１，１２は、ＣＰＵモジュール１０からのパルス信号を受信できないためパルス信号の異常を検出し、ＣＰＵモジュール１０でバス間通信やパルス信号発信が不可能な重故障が発生したと認識し、通信インタフェース１１，１２自身の判断により、スレーブとして動作する。
【００５１】
以上の過程Ｓ１〜Ｓ４が実行されることにより、マスタのＣＰＵモジュールでバス間通信やパルス信号発信が不可能な重故障が発生した場合でも、通信インタフェースはマスタからスレーブへ動作モードの変更が可能となる。
【００５２】
以上のように本実施形態の二重化システムによれば、通信インタフェースのマスタ・スレーブ切り替え方式として、ＣＰＵモジュールと通信インタフェース間でパルス信号の送信が行われることにより、通信インタフェースがＣＰＵモジュールの健全性が確認される。これにより、プログラマブルコントローラの二重化システムとしての健全性の診断が強化され、システムの健全性が向上する。
【００５３】
また、ベース２枚構成のＰＬＣの二重化システムで通信インタフェースのマスタとスレーブの切り替え方式において、ＣＰＵモジュールでバス間通信が行えないような重故障が発生した場合でも、パルス信号による検定により通信インタフェース自身の判断により、動作モードをマスタからスレーブに切り替えが可能となる。したがって、二重化システムの健全性がさらに向上したものとなる。
【００５４】
また、ベース２枚構成ＰＬＣの二重化システムで通信インタフェースのマスタとスレーブの切り替え方式としてＣＰＵモジュールでバス間通信が行えないような重故障が発生した場合でも、通信インタフェース自身の判断により、動作モードをマスタからスレーブに切り替えが可能となる。これにより、ベース２枚構成のＰＬＣの通信インタフェースでの両方の通信インタフェースがマスタとして重複して動作する状況を回避できる。
【００５５】
尚、本発明は、以上説明した実施形態に限定されるものではなく、本発明の特許請求の範囲内で様々な態様で実施が可能である。
【符号の説明】
【００５６】
１，２…ＰＬＣ
１０，２０…ＣＰＵモジュール
１１，１２，２１，２２…通信インタフェース
３…二重化ケーブル
【図１】
2019114073.tif 000005
【図２】
2019114073.tif 000006
【図３】
2019114073.tif 000007
【図４】
2019114073.tif 000008