(57)【要約】【課題】低いコストで、制御システムの信頼性を高めることを目的とする。【解決手段】各ＰＬＣ３1〜３nに、各制御プログラム８1〜８nがそれぞれ分散されて実装されるとともに、ＰＬＣ３1以外の各ＰＬＣ３2〜３n+1には、隣のＰＬＣ３1〜３nの制御プログラム８1〜８nがそれぞれ実装されて二重化され、ＰＬＣの故障時には、他のＰＬＣの制御出力によって故障したＰＬＣの制御出力を補うように構成している。【選択図】図５
2008020957.tif 000002
【特許請求の範囲】
【請求項１】
複数のリモートＩ／Ｏにネットワークを介して接続される複数のプログラマブルコントローラを備え、前記複数のリモートＩ／Ｏに個別的に接続される複数の制御対象を、前記複数のプログラマブルコントローラによって制御する制御システムであって、
前記複数のプログラマブルコントローラの少なくとも一部のプログラマブルコントローラには、各制御対象に個別的に対応する各制御プログラムの複数の制御プログラムが実装され、
前記リモートＩ／Ｏは、プログラマブルコントローラが故障したときには、故障したプログラマブルコントローラ以外の他のプログラマブルコントローラの制御出力に基づく出力を、対応する前記制御対象に与えることを特徴とする制御システム。
【請求項２】
複数の制御プログラムが実装される前記少なくとも一部のプログラマブルコントローラは、各制御プログラムに基づく各制御出力を並列的に出力するものであり、
前記リモートＩ／Ｏは、並列的に出力される各制御出力から所要の制御出力を選択して制御対象に与えるものである請求項１に記載の制御システム。
【請求項３】
ｎ台のリモートＩ／Ｏにネットワークを介して接続されるｍ（ｍ＞ｎ）台のプログラマブルコントローラを備え、前記ｎ台のリモートＩ／Ｏに個別的に接続されるｎ台の制御対象を、前記ｍ台のプログラマブルコントローラによって制御する制御システムであって、
前記ｍ台のプログラマブルコントローラには、ｎ台の各制御対象に個別的に対応する各制御プログラムの１台分の制御プログラムが実装されるとともに、少なくとも一部のプログラマブルコントローラには、前記１台分に加えて、該１台分とは異なる制御対象に対応する１台分以上の制御プログラムも実装され、
前記リモートＩ／Ｏは、プログラマブルコントローラが故障したときには、故障したプログラマブルコントローラ以外の他のプログラマブルコントローラの制御出力に基づく出力を、対応する前記制御対象に与えることを特徴とする制御システム。
【請求項４】
２台分以上の制御プログラムが実装される前記少なくとも一部のプログラマブルコントローラは、各制御プログラムに基づく各制御出力の排他的論理和を演算して制御出力とするものであり、
前記リモートＩ／Ｏは、複数のプログラマブルコントローラの制御出力の排他的論理和を演算して制御対象に対する出力とするものである請求項３に記載の制御システム。
【請求項５】
ｎ台のリモートＩ／Ｏにネットワークを介して接続されるｎ＋１台のプログラマブルコントローラを備え、前記ｎ台のリモートＩ／Ｏに個別的に接続されるｎ台の制御対象を、前記プログラマブルコントローラによって制御する制御システムであって、
前記ｎ＋１台のプログラマブルコントローラの内のｎ台のプログラマブルコントローラには、ｎ台の各制御対象に個別的に対応する各制御プログラムの１台分の制御プログラムがそれぞれ実装されるとともに、残余の１台のプログラマブルコントローラおよび前記ｎ台のプログラマブルコントローラの内のｎ−１台のプログラマブルコントローラには、前記１台分の制御プログラムとは異なるように、ｎ台の各制御対象に個別的に対応する各制御プログラムが、それぞれ実装され、
前記リモートＩ／Ｏは、プログラマブルコントローラが故障したときには、故障したプログラマブルコントローラ以外の他のプログラマブルコントローラの制御出力に基づく出力を、対応する前記制御対象に与えることを特徴とする制御システム。
【請求項６】
複数のリモートＩ／Ｏにネットワークを介して接続され、前記リモートＩ／Ｏに接続される制御対象を制御するプログラマブルコントローラであって、
複数の前記制御対象に個別的に対応する複数の制御プログラムが実装され、各制御プログラムに基づく各制御出力の排他的論理和を演算して制御出力とすることを特徴とするプログラマブルコントローラ。
【請求項７】
制御対象に接続されるとともに、ネットワークを介して複数のプログラマブルコントローラに接続されるリモートＩ／Ｏであって、
複数の前記プログラマブルコントローラの各制御出力の排他的論理和を演算して前記制御対象に対する出力とすることを特徴とするリモートＩ／Ｏ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＡシステムなどに好適な信頼性の高い制御システムおよびそれに用いるプログラマブルコントローラ並びにリモートＩ／Ｏに関する。
【背景技術】
【０００２】
従来から、ＦＡシステムなどにおいては、プログラマブルコントローラを用いて各種の制御が行なわれている（例えば、特許文献１参照）。
【特許文献１】特開２００４−３１０１６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
図１１は、従来の制御システムの構成の一例を示すものであり、フィールドネットワーク２により複数台（１〜ｎ）のＰＬＣ（プログラマブルコントローラ）３1´〜３n´が複数台（１〜ｎ）のリモートＩ／Ｏ４1´〜４n´に接続され、各ＰＬＣ３1´〜３n´が、リモートＩ／Ｏ４1´〜４n´を介して個別的に対応する複数台（１〜ｎ）の制御対象である機械設備（Ｐｌａｎｔ）５1〜５nを制御するものである。各々のＰＬＣ３1´〜３n´は、独立に制御プログラムが設計されている、すなわち、各ＰＬＣ３1´〜３n´には、制御対象である各機械設備（Ｐｌａｎｔ）５1〜５nをそれぞれ制御するための各制御プログラムがそれぞれ実装されている。
【０００４】
かかる従来の制御システムでは、いずれか１台のＰＬＣ、例えば、ＰＬＣ３1´に故障が生じると、対応する機械設備５1が停止し、対応する製造ラインの停止や一時的な操業の停止を余儀なくされるといった難点がある。
【０００５】
ＰＬＣおよびリモートＩ／Ｏの台数を２倍にし、制御系を二重化して故障が生じても予備のＰＬＣで制御を継続し、製造ラインの停止を回避することも考えられるが、コスト的な問題から二重化が採用されるのは稀であった。
【０００６】
本発明は、上述のような点に鑑みてなされたものであって、低いコストで、信頼性を高めることができる制御システムおよびそれに用いるプログラマブルコントローラ並びにリモートＩ／Ｏを提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）本発明の制御システムは、複数のリモートＩ／Ｏにネットワークを介して接続される複数のプログラマブルコントローラを備え、前記複数のリモートＩ／Ｏに個別的に接続される複数の制御対象を、前記複数のプログラマブルコントローラによって制御する制御システムであって、前記複数のプログラマブルコントローラの少なくとも一部のプログラマブルコントローラには、各制御対象に個別的に対応する各制御プログラムの複数の制御プログラムが実装され、前記リモートＩ／Ｏは、プログラマブルコントローラが故障したときには、故障したプログラマブルコントローラ以外の他のプログラマブルコントローラの制御出力に基づく出力を、対応する前記制御対象に与えるものである。
【０００８】
制御対象とは、例えば、各種の機器、工作機械、産業用ロボット、機械設備などの制御の対象となるものをいう。
【０００９】
プログラマブルコントローラの数は、制御対象の数と同数であってもよいし、多くてもよく、各プログラマブルコントローラには、制御対象に個別的に対応する制御プログラムの少なくとも１台分の制御プログラムが実装される。
【００１０】
複数のプログラマブルコントローラの少なくとも一部のプログラマブルコントローラとは、複数台のプログラマブルコントローラの少なくとも１台のプログラマブルコントローラをいい、複数台のプログラマブルコントローラの全てであってもよい。
【００１１】
少なくとも一部のプログラマブルコントローラに実装される制御プログラムの数は、複数であればよく、各プログラマブルコントローラについて、同数である必要はない。
【００１２】
制御プログラムとは、制御対象を制御するためのプログラムをいい、各制御対象に個別的に対応するものであり、例えば、上述の図１１の従来例の構成において、各制御対象に応じて、各ＰＬＣにそれぞれ実装される制御プログラムをいう。
【００１３】
本発明によると、複数のプログラマブルコントローラの少なくとも一部には、複数の制御プログラムが実装されるので、各制御プログラムを、少なくとも２台のプログラマブルコントローラに分散して実装することができ、プログラマブルコントローラが故障したときには、他のプログラマブルコントローラの制御出力によって、故障したプログラマブルコントローラの制御出力を補って制御を継続することができ、故障によって製造ラインが停止するといった事態を回避することができる。また、プログラマブルコントローラの台数を、例えば、二重化するために２倍にするといった必要もなく、比較的安価に構成することができる。
【００１４】
（２）本発明の一つの実施形態では、複数の制御プログラムが実装される前記少なくとも一部のプログラマブルコントローラは、各制御プログラムに基づく各制御出力を並列的に出力するものであり、前記リモートＩ／Ｏは、並列的に出力される各制御出力から所要の制御出力を選択して制御対象に与えるものである。
【００１５】
所要の制御出力とは、当該リモートＩ／Ｏが出力を与える制御対象に対応する制御出力をいう。
【００１６】
この実施形態によると、複数のプログラマブルコントローラの少なくとも一部のプログラマブルコントローラは、複数の制御プログラムに基づく各制御出力が並列に出力されるので、プログラマブルコントローラが故障したときには、故障していないプログラマブルコントローラの制御出力から故障したプログラマブルコントローラの制御出力を選択して制御出力を補うことができる。
【００１７】
（３）本発明の制御システムは、ｎ台のリモートＩ／Ｏにネットワークを介して接続されるｍ（ｍ＞ｎ）台のプログラマブルコントローラを備え、前記ｎ台のリモートＩ／Ｏに個別的に接続されるｎ台の制御対象を、前記ｍ台のプログラマブルコントローラによって制御する制御システムであって、前記ｍ台のプログラマブルコントローラには、ｎ台の各制御対象に個別的に対応する各制御プログラムの１台分の制御プログラムが実装されるとともに、少なくとも一部のプログラマブルコントローラには、前記１台分に加えて、該１台分とは異なる制御対象に対応する１台分以上の制御プログラムも実装され、前記リモートＩ／Ｏは、プログラマブルコントローラが故障したときには、故障したプログラマブルコントローラ以外の他のプログラマブルコントローラの制御出力に基づく出力を、対応する前記制御対象に与えるものである。
【００１８】
ここで、台とは、制御対象やリモートＩ／Ｏなどを数える語であり、例えば、セット、あるいは、組といった語を含むものである。
【００１９】
「ｍ台のプログラマブルコントローラには、ｎ台の各制御対象に個別的に対応する各制御プログラムの１台分の制御プログラムが実装される」とは、ｍ台のプログラマブルコントローラの内のｎ台のプログラマブルコントローラには、ｎ台の制御対象に個別的に対応するｎ台分の各制御プログラムが、それぞれ１台分ずつ実装され、ｍ−ｎ台のプログラマブルコントローラには、ｎ台分の各制御プログラムの内のいずれか１台分の制御プログラムが実装されることをいう。
【００２０】
少なくとも一部のプログラマブルコントローラとは、ｍ台のプログラマブルコントローラの少なくとも１台のプログラマブルコントローラをいい、ｍ−１台のプログラマブルコントローラであってもよい。
【００２１】
少なくとも一部のプログラマブルコントローラに実装される制御プログラムの数は、２台分以上であればよく、各プログラマブルコントローラについて、同じ台数分である必要はない。
【００２２】
本発明によると、制御対象の台数よりも多いプログラマブルコントローラに、各制御対象に個別的に対応する１台分の制御プログラムをそれぞれ実装するとともに、少なくとも一部のプログラマブルコントローラには、前記１台分以外の制御対象に対応する制御プログラムも実装されるので、各制御プログラムを、少なくとも２台のプログラマブルコントローラに分散して実装することができ、プログラマブルコントローラが故障したときには、他のプログラマブルコントローラの制御出力によって、故障したプログラマブルコントローラの制御出力を補って制御を継続することができ、故障によって製造ラインが停止するといった事態を回避することができる。また、プログラマブルコントローラの台数を、２倍にするといった必要もなく、比較的安価に構成することができる。
【００２３】
（４）本発明の一つの実施形態では、２台分以上の制御プログラムが実装される前記少なくとも一部のプログラマブルコントローラは、各制御プログラムに基づく各制御出力の排他的論理和を演算して制御出力とするものであり、前記リモートＩ／Ｏは、複数のプログラマブルコントローラの制御出力の排他的論理和を演算して制御対象に対する出力とするものである。
【００２４】
この実施形態によると、各制御プログラムに基づく各制御出力を並列して出力するような構成に比べて、ネットワークを介して伝送するデータ量を削減することができるとともに、高速化を図ることができる。
【００２５】
（５）本発明の制御システムは、ｎ台のリモートＩ／Ｏにネットワークを介して接続されるｎ＋１台のプログラマブルコントローラを備え、前記ｎ台のリモートＩ／Ｏに個別的に接続されるｎ台の制御対象を、前記プログラマブルコントローラによって制御する制御システムであって、前記ｎ＋１台のプログラマブルコントローラの内のｎ台のプログラマブルコントローラには、ｎ台の各制御対象に個別的に対応する各制御プログラムの１台分の制御プログラムがそれぞれ実装されるとともに、残余の１台のプログラマブルコントローラおよび前記ｎ台のプログラマブルコントローラの内のｎ−１台のプログラマブルコントローラには、前記１台分の制御プログラムとは異なるように、ｎ台の各制御対象に個別的に対応する各制御プログラムが、それぞれ実装され、前記リモートＩ／Ｏは、プログラマブルコントローラが故障したときには、故障したプログラマブルコントローラ以外の他のプログラマブルコントローラの制御出力に基づく出力を、対応する前記制御対象に与えるものである。
【００２６】
本発明によると、ｎ台の制御対象を制御するｎ台のプログラマブルコントローラに、１台の冗長プログラマブルコントローラを追加し、前記ｎ台のプログラマブルコントローラに、制御対象に対応するｎ台分の各制御プログラムを、１台分ずつそれぞれ実装するとともに、冗長プログラマブルコントローラと、前記ｎ台の内のｎ−１台のプログラマブルコントローラとの合わせてｎ台のプログラマブルコントローラに、前記ｎ台の各制御プログラムを、１台分ずつ同一の制御プログラムとならないように、すなわち、前記ｎ−１台のプログラマブルコントローラは、異なる２台分の制御プログラムとなるように、それぞれ実装するので、同一の制御対象の制御プログラムが、それぞれ２台のプログラマブルコントローラに分散実装されて二重されることになり、冗長プログラマブルコントローラを１台追加するだけで、二重化して信頼性を高めることができる。
【００２７】
（６）本発明のプログラマブルコントローラは、複数のリモートＩ／Ｏにネットワークを介して接続され、前記リモートＩ／Ｏに接続される制御対象を制御するプログラマブルコントローラであって、複数の前記制御対象に個別的に対応する複数の制御プログラムが実装され、各制御プログラムに基づく各制御出力の排他的論理和を演算して制御出力とするものである。
【００２８】
本発明によると、複数の制御対象に個別的に対応する複数の制御プログラムが実装され、各制御プログラムに基づく各制御出力の排他的論理和を演算して制御出力とするので、当該プログラマブルコントローラの複数台を用いて制御システムを構成することにより、プログラマブルコントローラが故障したときに、他のプログラマブルコントローラの制御出力によって故障したプログラマブルコントローラの制御出力を補うことができる。
【００２９】
（７）本発明のリモートＩ／Ｏは、制御対象に接続されるとともに、ネットワークを介して複数のプログラマブルコントローラに接続されるリモートＩ／Ｏであって、複数の前記プログラマブルコントローラの各制御出力の排他的論理和を演算して前記制御対象に対する出力とするものである。
【００３０】
本発明によると、プログラマブルコントローラが故障したときに、他の複数のプログラマブルコントローラの制御出力の排他的論理和を演算して故障したプログラマブルコントローラの制御出力を補うことができる。
【発明の効果】
【００３１】
本発明によれば、複数のプログラマブルコントローラの少なくとも一部には、複数の制御プログラムが実装されているので、各制御プログラムを、少なくとも２台のプログラマブルコントローラに分散させて実装することができ、プログラマブルコントローラが故障したときには、他のプログラマブルコントローラの制御出力によって、故障したプログラマブルコントローラの制御出力を補って制御を継続することができ、これによって、故障によって製造ラインが停止するといった事態を回避することができる。また、プログラマブルコントローラの台数を、例えば、二重化するために制御対象の台数の２倍にするといった必要もなく、比較的安価に構成することができる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施の形態について、図面に基づいて説明する。
【００３３】
（実施の形態１）
図１は、本発明の一つの実施形態に係る制御システムの構成図である。
【００３４】
この実施形態の制御システム１は、上述の図１１の構成の制御システムに、本発明を適用して信頼性を高めたものである。
【００３５】
この実施形態の制御システム１は、複数台（１〜ｎ）の機械設備（Ｐｌａｎｔ）５1〜５nに個別的に接続された複数台（１〜ｎ）のリモートＩ／Ｏ４1〜４nと、これらリモートＩ／Ｏ４1〜４nにフィールドネットワーク２を介して接続された複数台（１〜ｎ）のＰＬＣ（プログラマブルコントローラ）３1〜３nとを備えており、かかる構成は、上述の図１１の構成と同様である。
【００３６】
この実施形態では、更に、１台の冗長ＰＬＣ３n+1が付加されるとともに、後述のように、各ＰＬＣ３1〜３n+1には、各機械設備（Ｐｌａｎｔ）５1〜５nにそれぞれ個別的に対応する各制御プログラムがそれぞれ１台分ずつ実装されるとともに、一部のＰＬＣ３2〜３nには、隣の機械設備５1〜５nに対応する各制御プログラムもそれぞれ実装されている。
【００３７】
この実施形態の制御システム１では、先ず、上述の図１１の制御システムについて、考える。
【００３８】
図１１の各々のＰＬＣ３1´〜３n´は、上述のように独立に制御プログラムが設計されている。ここで、ｉ番目のＰＬＣの制御プログラムとして、ラダー図などで設計された次式のロジック制御則が与えられるものとする。
【００３９】
【数１】
2008020957.tif 000003
【００４０】
【数２】
2008020957.tif 000004
ただし，ｘi（k）はＰＬＣiの時刻kにおけるＮ次元内部変数の状態ベクトル、ui（k）はＰＬＣiの時刻kにおけるＭ次元入力ベクトル、yi（ｋ）はＰＬＣiの時刻ｋにおけるＰ次元出力ベクトルを表す。各々のＰＬＣは独立にｎセットの機械設備Planti（ｉ＝1，2，…，ｎ）を制御するものとする。
【００４１】
ここで、ロジック制御則の理解に供するために、搬送ロボットシステムに適用した場合を一例として示す。
【００４２】
例えば、図２のような搬送ロボット６とプレス機７とを備えるシステムの制御プログラムとして、図３および図４のラダーダイアグラムが与えられたとする。
【００４３】
この場合、搬送ロボット６のラダーダイアグラムは、次式のように表現される。
【００４４】
【数３】
2008020957.tif 000005
【００４５】
【数４】
2008020957.tif 000006
ただしｘ1＝[ｘ11,ｘ12,ｘ13,ｘ14,ｘ15,ｘ16,ｘ17]T,ｕ1＝[ｕ10,ｕ11,ｕ12,ｕ13,ｕ14,ｕ15] T，
ｙ1＝[ｙ11,ｙ12,ｙ13,ｙ14,y15,]T   であり、
【００４６】
【数５】
2008020957.tif 000007
【００４７】
【数６】
2008020957.tif 000008
また、プレス機７のラダーダイアグラムは、次式のように表現される。
【００４８】
【数７】
2008020957.tif 000009
【００４９】
【数８】
2008020957.tif 000010
ただしｘ2＝[ｘ21,ｘ22]T,ｕ2＝[ｕ20,ｕ21,ｕ22,ｕ23] T，
ｙ2＝[ｙ21,ｙ22]T   であり、
【００５０】
【数９】
2008020957.tif 000011
【００５１】
【数１０】
2008020957.tif 000012
である。
【００５２】
この搬送ロボットシステムの例で示したように、システムの構成に応じて、上述の式（１），（２）に示されるロジック制御則が規定されることになる。
【００５３】
この実施形態では、各ＰＬＣ３1〜３n+1の制御則を次式のように設計する。
【００５４】
【数１１】
2008020957.tif 000013
【００５５】
【数１２】
2008020957.tif 000014
ただし、２≦ｉ≦ｎについて、
【００５６】
【数１３】
2008020957.tif 000015
【００５７】
【数１４】
2008020957.tif 000016
【００５８】
【数１５】
2008020957.tif 000017
また、ｉ＝１について、
【００５９】
【数１６】
2008020957.tif 000018
【００６０】
【数１７】
2008020957.tif 000019
【００６１】
【数１８】
2008020957.tif 000020
また、ｉ＝ｎ＋1について，
【００６２】
【数１９】
2008020957.tif 000021
【００６３】
【数２０】
2008020957.tif 000022
【００６４】
【数２１】
2008020957.tif 000023
なお、最小実現することでプログラムサイズを抑えるとは、例えば、冗長なｘを省いてプログラムサイズを抑えることをいう。
【００６５】
以上の制御則の構成では、図５に示すように、与えられた複数台（１〜ｎ）分の制御プログラム８1〜８nの論理構造を、ＰＬＣ３1〜３n+1の実装時に２重化し、物理的にｎ＋１台でお互いを補完し、信頼性を高める構造となっている。
【００６６】
すなわち、各制御プログラム８1〜８nは、図１１の従来例の各ＰＬＣ３1´〜３n´にそれぞれ実装されていた制御プログラムであり、この実施形態では、図５に示すように、各ＰＬＣ３1〜３nには、各制御プログラム８1〜８nがそれぞれ分散されて実装されるとともに、ＰＬＣ３1以外のＰＬＣ３2〜３n+1には、隣のＰＬＣ３1〜３nの制御プログラム８1〜８nがそれぞれ実装されて２重化されている。
【００６７】
以上のように各ＰＬＣ３1〜３n+1を構成すると、正常運転時に、冗長ＰＬＣ３n+1を含めた全てのＰＬＣ３1〜３n+1の出力は常に動的にパリティ条件を満たす。すなわち、
【００６８】
【数２２】
2008020957.tif 000024
このことを利用して、１台までのＰＬＣの故障であれば、その他の正常なＰＬＣの出力から本来の出力を再構成することができる。ブロードキャスト型のネットワーク上でトークンパッシングを行い、リモートＩ／Ｏ側で任意のＰＬＣの故障を検知し、ＰＬＣの故障時に非故障ＰＬＣの出力から排他的論理和を計算する。
【００６９】
なお、ＰＬＣの故障の検知は、例えば、トークンが帰ってこないときに、故障と判断してもよいし、他の故障検知手段によって行なうようにしてもよい。
【００７０】
この実施形態では、各リモートＩ／Ｏ４1〜４nに次の小規模なアルゴリズムを実装する。各リモートＩ／Ｏ４1〜４nには、このアルゴリズムを処理するためにマイクロコンピュータあるいはＬＳＩが搭載されている。
【００７１】
【数２３】
2008020957.tif 000025
次に、非故障時（正常時）および故障時に、本来の制御出力が得られることを証明する。
【００７２】
非故障時（θi（ｔ）＝０）は、上述の（２３）式の定義から（１２）式、（１５）式を用いて変形すると、
【００７３】
【数２４】
2008020957.tif 000026
一方、故障時（θ（ｔ）＝１）は、上述の（２４）式の定義から（１２）式、（１５）式を用いて変形すると、
【００７４】
【数２５】
2008020957.tif 000027
となり、やはり、本来の出力が得られていることが分かる。
【００７５】
ここで、ＰＬＣが３台の場合に、冗長ＰＬＣを１台付加した場合の正常時と故障時の制御出力の例を、図６に示す。この図６では、ＰＬＣ３2が故障した場合の例を示している。
【００７６】
正常時には、ＰＬＣ３2に対応するリモートＩ／Ｏ４2は、ＰＬＣ３1，３2の制御出力から正しい制御出力ｙ2を、対応する機械設備（Ｐｌａｎｔ）５2に与え、ＰＬＣ３2が故障したときには、ＰＬＣ３2以外のＰＬＣ３3，３4の制御出力から正しい制御出力ｙ2を再構成して対応する機械設備（Ｐｌａｎｔ）５2に与えることができる。
【００７７】
上述の実施形態では、１台のＰＬＣの故障に対応するものであったけれども、冗長ＰＬＣの台数を増やすとともに、一部のプログラマブルコントローラに実装する制御プログラムの数を増やして２台以上のＰＬＣの故障に対応できるようにしてもよいのは勿論である。
【００７８】
（実施形態２）
本発明の他の実施形態として、ソフト的に冗長化したプログラムの出力を排他的論理和で合成せず、そのまま並列に出力するようにしてもよい。
【００７９】
すなわち、図７のようにｎ台の機械設備（Ｐｌａｎｔ）５1〜５nを制御するｎ台のＰＬＣ３1〜３nに２台の冗長ＰＬＣ３n+1，３n+2を付加し，各ＰＬＣの制御則を次式のように設計する。
【００８０】
【数２６】
2008020957.tif 000028
【００８１】
【数２７】
2008020957.tif 000029
ただし、３≦ｉ≦ｎについて、
【００８２】
【数２８】
2008020957.tif 000030
【００８３】
【数２９】
2008020957.tif 000031
【００８４】
【数３０】
2008020957.tif 000032
またｉ＝１について、
【００８５】
【数３１】
2008020957.tif 000033
【００８６】
【数３２】
2008020957.tif 000034
【００８７】
【数３３】
2008020957.tif 000035
ｉ＝２について、
【００８８】
【数３４】
2008020957.tif 000036
【００８９】
【数３５】
2008020957.tif 000037
【００９０】
【数３６】
2008020957.tif 000038
ｉ＝ｎ＋１について、
【００９１】
【数３７】
2008020957.tif 000039
【００９２】
【数３８】
2008020957.tif 000040
【００９３】
【数３９】
2008020957.tif 000041
ｉ＝ｎ＋２について、
【００９４】
【数４０】
2008020957.tif 000042
【００９５】
【数４１】
2008020957.tif 000043
【００９６】
【数４２】
2008020957.tif 000044
とする。
【００９７】
この制御則の構成では、図７のように与えられた制御プログラム８1〜８nの論理構造を、実装時に３重化し、物理的にｎ＋２台でお互いを補完し、信頼性を高める構造となっている。
【００９８】
各ＰＬＣ３3〜３nからは３つのプログラムの出力が並列に出力される。リモートＩ／Ｏ４1〜４nにて、故障していないＰＬＣから必要な出力を取り出す処理を行う。
具体的には、各リモートＩ／Ｏ４1〜４nに次の小規模なアルゴリズムを実装する。
【００９９】
【数４３】
2008020957.tif 000045
（実施形態３）
本発明の更に他の実施形態として、冗長なＰＬＣを付加することなく、プログラムを冗長実装することで高信頼化を実現する構成が考えられる。
【０１００】
以下では、各ＰＬＣに３つずつプログラムを実装する場合について説明する。各ＰＬＣの制御則を次式のように設計する。
【０１０１】
【数４４】
2008020957.tif 000046
【０１０２】
【数４５】
2008020957.tif 000047
ただし、３≦ｉ≦ｎについて、
【０１０３】
【数４６】
2008020957.tif 000048
【０１０４】
【数４７】
2008020957.tif 000049
【０１０５】
【数４８】
2008020957.tif 000050
また、ｉ=１について、
【０１０６】
【数４９】
2008020957.tif 000051
【０１０７】
【数５０】
2008020957.tif 000052
【０１０８】
【数５１】
2008020957.tif 000053
ｉ＝２について、
【０１０９】
【数５２】
2008020957.tif 000054
【０１１０】
【数５３】
2008020957.tif 000055
【０１１１】
【数５４】
2008020957.tif 000056
とする。
【０１１２】
この制御則の構成では、図８のように与えられた制御プログラム８1〜８nの論理構造を、実装時に多重化し、物理的にｎ台のＰＬＣ３1〜３nでお互いを補完し、信頼性を高める構造となっている。
【０１１３】
なお、リモートＩ／Ｏ４1〜４nにおける処理は、上述の実施形態２と同様である。
【０１１４】
ここで、信頼性解析について説明する。
【０１１５】
各コントローラの故障率が一定と仮定して信頼性解析を行う。一つのコントローラについて時刻tまでに故障の起きる確率は指数分布となり、その密度関数は故障率をλとしてp（ｔ）＝λe‐λtで与えられる。時刻ｔまでに故障の起きる確率は分布関数F（ｔ）は、次式で表される。
【０１１６】
【数５５】
2008020957.tif 000057
時刻ｔまで故障の起きない確率として定義される信頼度はＲ（ｔ）はＲ＝１−Ｆ（ｔ）＝e‐λtと表される。また、修復率をμとして時刻ｔまでに修復される確率の密度関数をpμ（ｔ）＝μe‐μtとする。通常、μ≫λである。
【０１１７】
このとき、信頼性モデルは図９の３状態マルコフ過程で表される。Ｓ0は1台も故障していない状態、Ｓ1は１台が故障しているが冗長コントローラにより制御系全体は稼働している状態、Ｓ2は２台以上が故障し、制御系が停止している状態を表す。非常に短い時間δtにおいて1台が故障する確率はλδtであるので，Ｓ0からＳ1へ遷移する確率は（Ｎ＋1）λδtとなり、Ｓ1からＳ2へ遷移する確率はＮλδtとなる。また、故障した1台を修復するＳ1からＳ0への遷移の確率はμδｔとなる。
時刻ｔにおいて状態Ｓiである確率をＰi(t)とすると、図９においてδt→0とすることにより次式を得る。
【０１１８】
【数５６】
2008020957.tif 000058
【０１１９】
【数５７】
2008020957.tif 000059
【０１２０】
【数５８】
2008020957.tif 000060
ただし、ＭＴＢＦ＝１／λは１台のコントローラの平均故障間隔、ＭＴＴＲ＝１／λは１台のコントローラの平均修復時間を表す。通常、ＭＴＢＦ≫ＭＴＴＲであるのでシステム全体の信頼性は大幅に改善されることが分かる。
【０１２１】
図１０にＭＴＢＦ＝１０，０００時間、ＭＴＴＲ＝２４時間としたときのコントローラの台数に対する平均故障時間を、上述の実施の形態１（Ｐｒｏｐｏｓｅｄ  Ｓｙｓｔｅｍ）、全く冗長化しないシステム（Ｎｏｎ−ｒｅｄｕｎｄａｎｔ  Ｓｙｓｔｅｍ）、および、全２重化したシステム（Ｆｕｌｌ  Ｄｕｐｌｅｘ  Ｓｙｓｔｅｍ）と比較した結果を示す。全く冗長化しないシステムにおけるコントローラの台数をｎとすると、実施の形態１のシステムのコントローラの台数はｎ＋１であり，全２重化したシステムのコントローラの台数は２ｎとなる。実施の形態１のシステムでは、全２重化システムよりも信頼度はやや低くなるが、冗長化に必要なコントローラの台数は1台だけであるのでコストパフォーマンスが高い。
【０１２２】
このように、各制御対象を制御するための各制御則を、少なくとも２台のプログラマブルコントローラに分散配置することで高信頼化を実現するＰＬＣの制御システムを構成できる。例えば、冗長ＰＬＣを１台付加するだけで非冗長システムと比べ信頼度（平均故障時間：ＭＴＴＦ）を１００倍程度向上させることができる。
【産業上の利用可能性】
【０１２３】
本発明は、サプライチェーンシステムなどに有用である。
【図面の簡単な説明】
【０１２４】
【図１】本発明の一つの実施の形態に係る制御システムの構成図である。
【図２】搬送ロボットシステムの構成図である。
【図３】図３の搬送ロボットのラダーダイアグラムである。
【図４】図３のプレス機のラダーダイアグラムである。
【図５】図１のＰＬＣに対する制御プログラムの実装を説明するための図である。
【図６】動作説明に供する構成図である。
【図７】本発明の他の実施形態に係る図５に対応する図である。
【図８】本発明の更に他の実施形態に係る図５に対応する図である。
【図９】信頼性モデルを示す図である。
【図１０】コントローラの台数に対する平均故障時間を示す図である。
【図１１】従来例の構成図である。
【符号の説明】
【０１２５】
２          ネットワーク        ３1〜３n+1  ＰＬＣ
４1〜４n  リモートＩ／Ｏ        ５1〜５n    機械設備（Ｐｌａｎｔ）
【図１】
2008020957.tif 000061
【図２】
2008020957.tif 000062
【図３】
2008020957.tif 000063
【図４】
2008020957.tif 000064
【図５】
2008020957.tif 000065
【図６】
2008020957.tif 000066
【図７】
2008020957.tif 000067
【図８】
2008020957.tif 000068
【図９】
2008020957.tif 000069
【図１０】
2008020957.tif 000070
【図１１】
2008020957.tif 000071