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