(57)【要約】【課題】プログラマブルコントローラの二重化システムにおける二重化Ｉ／Ｆの実装を不要にし、オプションモジュールの実装可能な枚数を増やす。【解決手段】両ＣＰＵモジュール２０Ｍ、２０Ｓ間はハンドシェイク用バス５０で接続し、各オプションモジュール３０Ｍ、３０ＳはそれぞれのＣＰＵモジュールも含めてオプションハンドシェイク用バス６０Ｍ、６０Ｓで接続し、マスタ局とスレーブ局のＣＰＵモジュール間で直接にデータ送受信が行える構成とする。  両ＣＰＵモジュールは、自局２ポートメモリデータを相手局ＣＰＵモジュールの相手局２ポートメモリデータにコピーし、相手局のＲＵＮ信号・マスタ信号・マスタリクエスト信号を監視し、各信号を制御したハンドシェイクでマスタ・スレーブ切り替えを行う。ＲＵＮ・ＳＴＯＰの動作モード切り替えも行う。【選択図】図１
2008102649.tif 000002
【特許請求の範囲】
【請求項１】
マスタ局とスレーブ局別に、電源とＣＰＵモジュールおよびオプションモジュールを１ベース上にそれぞれ実装したプログラマブルコントローラの二重化システムであって、
前記両ＣＰＵモジュール間はハンドシェイク用バスで接続し、前記各オプションモジュールはそれぞれのＣＰＵモジュールも含めてオプションハンドシェイク用バスで接続し、マスタ局とスレーブ局のＣＰＵモジュール間で直接にデータ送受信が行える構成とし、
前記両ＣＰＵモジュールは、
自局２ポートメモリデータと相手局２ポートメモリデータ領域を設定して、自局２ポートメモリデータが相手局ＣＰＵモジュールの相手局２ポートメモリデータにコピーする手段と、
相手局のＲＵＮ信号・マスタ信号・マスタリクエスト信号を監視し、各信号を制御したハンドシェイクでマスタ・スレーブ切り替えを行う手段とを備えたことを特徴とするプログラマブルコントローラの二重化システム。
【請求項２】
マスタ局とスレーブ局別に、電源とＣＰＵモジュールおよびオプションモジュールを１ベース上にそれぞれ実装したプログラマブルコントローラの二重化システムであって、
前記両ＣＰＵモジュール間はハンドシェイク用バスで接続し、前記各オプションモジュールはそれぞれのＣＰＵモジュールも含めてオプションハンドシェイク用バスで接続し、マスタ局とスレーブ局のＣＰＵモジュール間で直接にデータ送受信が行える構成とし、
前記両ＣＰＵモジュールは、
自局２ポートメモリデータと相手局２ポートメモリデータ領域を設定して、自局２ポートメモリデータが相手局ＣＰＵモジュールの相手局２ポートメモリデータにコピーする手段と、
前記２ポートメモリデータの動作モード切り替え用データを直接に制御したハンドシェイクで、ＲＵＮ・ＳＴＯＰの動作モード切り替え行う手段とを備えたことを特徴とするプログラマブルコントローラの二重化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラ（ＰＣ）の二重化システムに係り、特にマスタとスレーブの切り替え、および動作モードの切り替え方式に関する。
【背景技術】
【０００２】
この種のシステム構成としては、以下に示すように、２ベース方式、または１ベース方式がある。
【０００３】
（１）２ベース方式
図７の（ａ）のように、２つのベースに、マスタとスレーブの電源１０、ＣＰＵモジュール２０、オプションモジュール３０、および二重化Ｉ／Ｆ４０をそれぞれ実装する（例えば、特許文献１参照）。
【０００４】
この方式は、オプションモジュール３０を多く実装できるメリットはあるが、マスタとスレーブの動作モード切り替えの指示は二重化Ｉ／Ｆ４０で行うことになる。すなわち、マスタとスレーブの切り替えは、ＣＰＵモジュール２０と二重化Ｉ／Ｆ４０間及び二重化Ｉ／Ｆ４０間同士のハンドシェイクやデータ送受信で行う。なお、二重化Ｉ／Ｆ４０間はシリアルケーブルにより接続する。
【０００５】
（２）１ベース方式
図７の（ｂ）のように、１つのベースに、マスタとスレーブの電源１０、ＣＰＵモジュール２０、オプションモジュール３０、二重化Ｉ／Ｆ４０をそれぞれ実装する。
【０００６】
この方式は、ＣＰＵモジュール２０が二重化Ｉ／Ｆ４０経由のデータ領域とＩＯ領域を操作することで、ＣＰＵモジュール同士でマスタとスレーブの切り替えと、動作モードの切り替えを行う。なお、二重化Ｉ／Ｆ４０間はバスで接続する。
【特許文献１】特開２００２−０４９４１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
（１）２ベース方式では、二重化Ｉ／Ｆ４０がＣＰＵモジュール２０のマスタ・スレーブの切り替え要因の検出を行っている。すなわち、ＣＰＵモジュール２０が持っているデータで、切り替え要因が発生しているにも関わらず、二重化Ｉ／Ｆ４０間のハンドシェイクやデータの送受信を行う関係で、二重化Ｉ／Ｆ４０が２ポートメモリ上のデータを基にして全ての切り替え要因の監視を行っている。
【０００８】
なお、二重化Ｉ／Ｆ４０が監視している切り替え要因は、アプリケーションプログラムによる切り替え要求、アプリケーションエラー発生、ＣＰＵモジュールの重故障発生、動作モードのＲＵＮモード・ＳＴＯＰモードの切り替え動作がある。
【０００９】
したがって、システムとしては、図８に示すように、ＣＰＵモジュールと二重化Ｉ／Ｆによるデータ送受信になり、二重化Ｉ／Ｆ４０の実装が必須となり、その分だけオプションモジュールの実装可能な枚数が削減されてしまう。また、二重化Ｉ／Ｆ４０間をシリアルケーブルにより接続する必要がある。
【００１０】
（２）１ベース方式では、マスタ・スレーブの切り替え要因の検出をＣＰＵモジュール２０で行い、実際の切り替え動作は二重化Ｉ／Ｆ４０経由で行っている。
【００１１】
すなわち、ＣＰＵモジュールが持っているデータで、切り替え要因（２ベース方式と同様）が発生しているにも関わらず、二重化Ｉ／Ｆ４０経由でハンドシェイクやデータの送受信を行っている。
【００１２】
したがって、システムとしては、図９に示すように、二重化Ｉ／Ｆを介してＣＰＵモジュール間のデータ送受信になる。同図に示す処理手順は、以下のようになる。
【００１３】
（Ｓ１）マスタ局のＣＰＵモジュールがマスタ・スレーブの切り替え要因検出用のデータをマスタ局の二重化Ｉ／Ｆの自局２ポートメモリ上に書き込む。
【００１４】
（Ｓ２）上記の（Ｓ１）の書き込みによりマスタ局の二重化Ｉ／Ｆが自動的にスレーブ局の二重化Ｉ／Ｆの相手局２ポートメモリデータにデータを書き込む。つまり、マスタ局の二重化Ｉ／Ｆの自局２ポートメモリデータは常にスレーブ局の相手局２ポートメモリデータにコピーされる。
【００１５】
（Ｓ３）スレーブ局のＣＰＵモジュールがマスタ・スレーブの切り替え要因検出用のデータをスレーブ局の二重化Ｉ／Ｆの自局２ポートメモリ上に書き込む。
【００１６】
（Ｓ４）上記の（Ｓ３）の書き込みによりスレーブ局の二重化Ｉ／Ｆが自動的にマスタ局の二重化Ｉ／Ｆの相手局２ポートメモリデータにデータを書き込む。つまり、スレーブ局の２重化Ｉ／Ｆの自局２ポートメモリデータは常にマスタ局の相手局２ポートメモリデータにコピーされる。
【００１７】
（Ｓ５）マスタ局のＣＰＵモジュールは相手局のＲＵＮ信号・マスタ信号・マスタリクエスト信号を監視して、各信号を制御する。
【００１８】
（Ｓ６）スレーブ局のＣＰＵモジュールは相手局のＲＵＮ信号・マスタ信号・マスタリクエスト信号を監視して、各信号を制御する。
【００１９】
したがって、システムとしては、２ベース方式と同様に、二重化Ｉ／Ｆ４０の実装が必須となり、その分だけオプションモジュールの実装可能な枚数が削減されてしまう。特に、１ベース方式ではオプションモジュールの実装枚数の削減が深刻な問題となる。
【００２０】
本発明の目的は、上記の課題を解決したプログラマブルコントローラの二重化システムを提供することにある。
【課題を解決するための手段】
【００２１】
本発明は、前記の課題を解決するため、従来システムにおいて二重化Ｉ／Ｆが行っているマスタ・スレーブの切り替え要因の検出および切り替え処理をＣＰＵモジュールで行い、さらに、従来システムの二重化Ｉ／Ｆが行っているＲＵＮ・ＳＴＯＰの動作モード切り替えの検出および切り替え処理をＣＰＵモジュールで行うようにしたもので、以下のシステムを特徴とする。
【００２２】
（１）マスタ局とスレーブ局別に、電源とＣＰＵモジュールおよびオプションモジュールを１ベース上にそれぞれ実装したプログラマブルコントローラの二重化システムであって、
前記両ＣＰＵモジュール間はハンドシェイク用バスで接続し、前記各オプションモジュールはそれぞれのＣＰＵモジュールも含めてオプションハンドシェイク用バスで接続し、マスタ局とスレーブ局のＣＰＵモジュール間で直接にデータ送受信が行える構成とし、
前記両ＣＰＵモジュールは、
自局２ポートメモリデータと相手局２ポートメモリデータ領域を設定して、自局２ポートメモリデータが相手局ＣＰＵモジュールの相手局２ポートメモリデータにコピーする手段と、
相手局のＲＵＮ信号・マスタ信号・マスタリクエスト信号を監視し、各信号を制御したハンドシェイクでマスタ・スレーブ切り替えを行う手段とを備えたことを特徴とする。
【００２３】
（２）マスタ局とスレーブ局別に、電源とＣＰＵモジュールおよびオプションモジュールを１ベース上にそれぞれ実装したプログラマブルコントローラの二重化システムであって、
前記両ＣＰＵモジュール間はハンドシェイク用バスで接続し、前記各オプションモジュールはそれぞれのＣＰＵモジュールも含めてオプションハンドシェイク用バスで接続し、マスタ局とスレーブ局のＣＰＵモジュール間で直接にデータ送受信が行える構成とし、
前記両ＣＰＵモジュールは、
自局２ポートメモリデータと相手局２ポートメモリデータ領域を設定して、自局２ポートメモリデータが相手局ＣＰＵモジュールの相手局２ポートメモリデータにコピーする手段と、
前記２ポートメモリデータの動作モード切り替え用データを直接に制御したハンドシェイクで、ＲＵＮ・ＳＴＯＰの動作モード切り替え行う手段とを備えたことを特徴とする。
【発明の効果】
【００２４】
以上のとおり、本発明によれば、マスタ・スレーブの切り替え要因の検出および切り替え処理をＣＰＵモジュールで行い、さらに、ＲＵＮ・ＳＴＯＰの動作モード切り替えの検出および切り替え処理をＣＰＵモジュールで行うようにしたため、従来システムの二重化Ｉ／Ｆの実装が不要となり、オプションモジュールの実装可能な枚数を増やすことができる。
【発明を実施するための最良の形態】
【００２５】
（実施形態１）
本実施形態は、従来システムが二重化Ｉ／Ｆ経由で行っていたマスタ・スレーブの切り替え動作を、ＣＰＵモジュールのみで行うために、以下の方式とする。
【００２６】
まず、図１はシステム構成を示し、同一ベースにしたマスタ局とスレーブ局別に、電源１０Ｍ、１０Ｓ、ＣＰＵモジュール２０Ｍ、２０Ｓ、オプションモジュール３０Ｍ、３０Ｓをそれぞれ実装した二重化システムとし、両ＣＰＵモジュール２０Ｍ、２０Ｓ間はハンドシェイク用バス５０で接続し、オプションモジュール３０Ｍ、３０ＳはそれぞれのＣＰＵモジュールも含めてオプションハンドシェイク用バス６０Ｍ、６０Ｓで接続する。このシステム構成により、マスタ局とスレーブ局のＣＰＵモジュール２０Ｍ、２０Ｓ間でデータ送受信が行えるようにする。
【００２７】
そして、送信元ＣＰＵモジュールが相手ＣＰＵモジュールとハンドシェイクを行いデータの送信を行う方式を改め、ＣＰＵモジュールが直接相手ＣＰＵモジュールとハンドシェイクを行い、相手ＣＰＵモジュールの２ポートメモリ上にデータのコピーが行える方式にする。具体的なハンドシェイクは図２のようになる。
【００２８】
（Ｓ１）マスタ局のＣＰＵモジュール２０Ｍがマスタ・スレーブの切り替え要因検出用のデータをマスタ局の自局２ポートメモリ上に書き込む。
【００２９】
（Ｓ２）上記の（Ｓ１）の書き込みによりマスタ局のＣＰＵモジュール２０Ｍが自動的にスレーブ局のＣＰＵモジュール２０Ｓの相手局２ポートメモリデータにデータを書き込む。つまり、マスタ局の自局２ポートメモリデータは常にスレーブ局の相手局２ポートメモリデータにコピーされる構成にする。
【００３０】
（Ｓ３）スレーブ局のＣＰＵモジュール２０Ｓがマスタ・スレーブの切り替え要因検出用のデータをスレーブ局の自局２ポートメモリ上に書き込む。
【００３１】
（Ｓ４）上記の（Ｓ３）の書き込みによりスレーブ局のＣＰＵモジュー２０Ｓが自動的にマスタ局のＣＰＵモジュール２０Ｍの相手局２ポートメモリデータにデータを書き込む。つまり、スレーブ局の自局２ポートメモリデータは常にマスタ局の相手局２ポートメモリデータにコピーされる構成にする。
【００３２】
（Ｓ５）マスタ局のＣＰＵモジュール２０Ｍは相手局のＲＵＮ信号・マスタ信号・マスタリクエスト信号を監視して、各信号を制御する。
【００３３】
（Ｓ６）スレーブ局のＣＰＵモジュール２０Ｓは相手局のＲＵＮ信号・マスタ信号・マスタリクエスト信号を監視して、各信号を制御する。
【００３４】
このように、マスタとスレーブがＣＰＵモジュール同士で直接ハンドシェイクが可能となるように、ＣＰＵモジュール上に自局２ポートメモリデータと相手局２ポートメモリデータ領域を設定して、自局２ポートメモリデータが相手局ＣＰＵモジュールの相手局２ポートメモリデータにコピーされる機能を実現させる。これにより、自局ＣＰＵモジュールで自局２ポートメモリに書き込んだデータは、常に相手局のＣＰＵモジュールが読み出すことができる。この機能とＣＰＵモジュール間のｌＯデータである、ＲＵＮ信号・マスタ信号・マスタリクエスト信号を用いてマスタ・スレーブ切り替え機能を二重化Ｉ／ＦレスでＣＰＵモジュールの制御のみで実現する。
【００３５】
（実施形態２）
本実施形態は、実施形態１を基にして、アプリケーションプログラムによるマスタ・スレーブの切り替え要求のハンドシェイクを実現する。図３は、アプリケーションプログラムによる切り替え要求のハンドシェイクを示し、以下の手順になる。
【００３６】
（Ｓ１）マスタ局のＣＰＵモジュール２０Ｍ内データのアプリケーションプログラム切り替え要求データがセットされていることをＣＰＵモジュールが確認する。
【００３７】
（Ｓ２）マスタ局のＣＰＵモジュール２０Ｍは自局マスタ信号をＯＦＦして、スレーブ局移行準備を行う。
【００３８】
（Ｓ３）スレーブ局のＣＰＵモジュール２０Ｓは相手局マスタ信号のＯＦＦを検出する。
【００３９】
（Ｓ４）スレーブ局のＣＰＵモジュール２０Ｓは自局マスタ信号をＯＮして、マスタ局になる。
【００４０】
（Ｓ５）相手局マスタ信号のＯＮを検出して、ＣＰＵモジュール２０Ｍはスレーブ局移行準備からスレーブ局になる。
【００４１】
このように、アプリケーションプログラムによる切り替えでは、マスタ局が自局マスタ信号をＯＦＦし、スレーブ局が相手局マスタ信号のＯＦＦを検出し、スレーブ局が自局マスタ信号をＯＮするだけで、マスタ・スレーブ切り替え機能を実現する。  
【００４２】
（実施形態３）
本実施形態は、実施形態１を基にして、アプリケーションエラー発生によるマスタ・スレーブ切り替えのハンドシェイクを実現する。図４は、アプリケーションエラー発生による切り替えのハンドシェイクを示し、以下の手順になる。
【００４３】
（Ｓ１）マスタ局のＣＰＵモジュール２０Ｍ内データのアプリケーションエラーが発生していることをＣＰＵモジュールが確認する。
【００４４】
（Ｓ２）マスタ局のＣＰＵモジュール２０Ｍは自局マスタ信号をＯＦＦして、スレーブ局移行準備を行う。
【００４５】
（Ｓ３）スレーブ局のＣＰＵモジュール２０Ｓは相手局マスタ信号のＯＦＦを検出する。
【００４６】
（Ｓ４）スレーブ局のＣＰＵモジュール２０Ｓは自局マスタ信号をＯＮして、マスタ局になる。
【００４７】
（Ｓ５）相手局マスタ信号のＯＮを検出して、ＣＰＵモジュール２０Ｍはスレーブ局移行準備からスレーブ局になる。
【００４８】
このように、アプリケーションエラー発生による切り替えでは、マスタ局が自局マスタ信号をＯＦＦし、スレーブ局が相手局マスタ信号のＯＦＦを検出し、スレーブ局が自局マスタ信号をＯＮするだけで、マスタ・スレーブ切り替え機能を実現する。
【００４９】
（実施形態４）
本実施形態は、実施形態１を基にして、ＣＰＵモジュールの重故障発生によるマスタ・スレーブ切り替えのハンドシェイクを実現する。
【００５０】
図５は、ＣＰＵモジュールの重故障発生による切り替えのハンドシェイクを示し、以下の手順になる。
【００５１】
（Ｓ１）マスタ局のＣＰＵモジュール２０Ｍで重故障が発生したとき、強制的に自局ＲＵＮ信号をＯＦＦする。
【００５２】
（Ｓ２）マスタ局のＣＰＵモジュール２０Ｍは重故障が発生したので、自局マスタ信号をＯＦＦして、スレーブ局移行準備を行う。
【００５３】
（Ｓ３）スレーブ局のＣＰＵモジュール２０Ｓは相手局ＲＵＮ信号と相手局マスタ信号のＯＦＦを検出する。
【００５４】
（Ｓ４）スレーブ局のＣＰＵモジュール２０Ｓは自局マスタ信号をＯＮして、マスタ局になる。
【００５５】
（Ｓ５）相手局マスタ信号のＯＮを検出して、ＣＰＵモジュール２０Ｍはスレーブ局移行準備からスレーブ局になる。
【００５６】
このように、ＣＰＵモジュール重故障による切り替えでは、マスタ局の自局ＲＵＮ信号が強制的にＯＦＦされ自局マスタ信号をＯＦＦし、スレーブ局が相手局ＲＵＮ信号と相手局マスタ信号のＯＦＦを検出し、スレーブ局が自局マスタ信号をＯＮするだけで、マスタ・スレーブ切り替え機能を実現する。
【００５７】
（実施形態５）
本実施形態は、従来システムの二重化Ｉ／Ｆが行っているＲＵＮ・ＳＴＯＰの動作モード切り替えの検出をＣＰＵモジュールで行う。
【００５８】
システム構成は、図１のように、マスタ局とスレーブ局のＣＰＵモジュール間で直接データ送受信が行える構成とし、送信元二重化Ｉ／Ｆと相手二重化Ｉ／Ｆがハンドシェイクを行いデータの送信を行う方式に代えて、ＲＵＮ・ＳＴＯＰの動作モード切り替えのハンドシェイクは図６の手順とし、以下のようになる。
【００５９】
（Ｓ１）マスタ局のＣＰＵモジュール２０Ｍは動作モードがＲＵＮからＳＴＯＰへの変更を検出して、自局動作モード変更要求をＯＮする。
【００６０】
（Ｓ２）スレーブ局のＣＰＵモジュール２０Ｓは相手局動作モード変更要求がＯＮしたことを検出して、自局の動作モードをＲＵＮからＳＴＯＰに変更する。
【００６１】
（Ｓ３）スレーブ局のＣＰＵモジュール２０Ｓは自局の動作モード変更が完了したら、自局動作モード変更完了をＯＮする。
【００６２】
（Ｓ４）マスタ局のＣＰＵモジュール２０Ｍは相手局動作モード変更完了がＯＮしたことを検出する。
【００６３】
（Ｓ５）マスタ局のＣＰＵモジュール２０Ｍは自局動作モード変更要求をＯＦＦにする。
【００６４】
（Ｓ６）スレーブ局のＣＰＵモジュール２０Ｓは相手局動作モード変更要求がＯＦＦしたことを検出する。
【００６５】
（Ｓ７）スレーブ局のＣＰＵモジュール２０Ｓは自局動作モード変更完了をＯＦＦする。
【００６６】
このように、マスタ局の動作モード変更発生時に自局２ポートメモリに自局動作モード変更要求をＯＮして、相手局２ポートメモリにコピーされることにより、スレーブ局は動作モード変更発生を検出する。この機能で動作モード切り替えも二重化Ｉ／ＦレスでＣＰＵモジュールの制御のみで実現することができる。
【００６７】
ＲＵＮ・ＳＴＯＰの動作モード切り替えでは、マスタ局がＲＵＮからＳＴＯＰへの変更を検出し、マスタ局が自局動作モード変更要求をＯＮにし、スレーブ局が相手局動作モード変更要求がＯＮしたことを検出し、自局の動作モードをＲＵＮからＳＴＯＰに変更し、スレーブ局が自局動作モード変更完了をＯＮするだけで、動作モード切り替え機能を実現する。
【図面の簡単な説明】
【００６８】
【図１】本発明の実施形態を示すシステム構成図。
【図２】実施形態１におけるＣＰＵモジュール間のデータ送受信手順。
【図３】実施形態２におけるアプリケーションプログラムによる切り替え要求のハンドシェイク手順。
【図４】実施形態３におけるアプリケーションエラー発生による切り替えのハンドシェイク手順。
【図５】実施形態４におけるＣＰＵモジュールの重故障発生による切り替えのハンドシェイク手順。
【図６】実施形態５におけるＲＵＮ・ＳＴＯＰの動作モード切り替えのハンドシェイク手順。
【図７】プログラマブルコントローラの二重化システム構成例（従来）。
【図８】ＣＰＵモジュールと二重化Ｉ／Ｆのデータ送受信例（従来）。
【図９】ＣＰＵモジュール間のデータ送受信例（例）。
【符号の説明】
【００６９】
１０、１０Ｍ、１０Ｓ  電源
２０、２０Ｍ、２０Ｓ  ＣＰＵモジュール
３０、３０Ｍ、３０Ｓ  オプションモジュール
４０  二重化Ｉ／Ｆ
５０  ＣＰＵハンドシェイク用バス
６０Ｍ、６０Ｓ  オプションハンドシェイク用バス
【図１】
2008102649.tif 000003
【図２】
2008102649.tif 000004
【図３】
2008102649.tif 000005
【図４】
2008102649.tif 000006
【図５】
2008102649.tif 000007
【図６】
2008102649.tif 000008
【図７】
2008102649.tif 000009
【図８】
2008102649.tif 000010
【図９】
2008102649.tif 000011