(57)【特許請求の範囲】
【請求項１】
第１入力機器から第１入力信号を入力する第１入力端子を含み、前記第１入力信号に第１処理を行うことによって生成された第１データを出力する入力装置と、
前記第１入力信号を入力する第２入力端子を含み、前記第２入力端子に入力された前記第１入力信号に前記第１処理を行って第２データを出力する冗長化用入力装置と、
設置されたプラントに対する影響にもとづいて数値化された、前記第１入力信号に対する第１重要度にしたがって、前記第１入力信号について冗長化を要するか否かを決定する第１冗長化要否信号を生成する冗長化信号決定部と、前記入力装置の出力および前記冗長化入力装置の出力に接続され、前記第１データまたは前記第２データのうちいずれかを選択して出力する入力切替部と、を含む制御装置と、
を備え、
前記第１冗長化要否信号は、前記第１入力信号について、前記第１重要度が冗長化を要する値の場合には、第１状態に設定され、前記第１重要度が冗長化を要しない値の場合には、第２状態に設定され、
前記第１冗長化要否信号が前記第１状態の場合で、前記第１データに異常がないときには、前記入力切替部は、前記第１データを選択して出力し、前記第１データに異常があるときには、前記入力切替部は、前記第２データを出力し、
前記第１冗長化要否信号が前記第２状態の場合では、前記第１データの異常の有無にかかわらず、前記入力切替部は、前記第１データを出力するプラント制御システム。
【請求項２】
第３データに第２処理を行って第１出力信号を出力する第３出力端子を含む出力装置と、
前記第３データに前記第２処理を行って第２出力信号を出力する第４出力端子を含む冗長化用出力装置と、
前記第３出力端子および前記第４出力端子に接続され、前記第１出力信号または前記第２出力信号のうちのいずれかを選択して第１出力機器に供給する第１スイッチを含む出力信号選択装置と、
をさらに備え、
前記制御装置は、前記出力装置の入力および前記冗長化用出力装置の入力に接続され、前記出力装置または前記冗長化用出力装置のうちのいずれかを選択して前記第３データを供給する出力切替部をさらに含み、
前記冗長化信号決定部は、前記第１出力信号に対する第２重要度にしたがって、前記第１出力信号について冗長化を要するか否かを設定する第２冗長化要否信号を生成し、
前記第２冗長化要否信号が前記第１状態の場合で、前記第１出力信号に異常がないときには、
前記出力切替部は、前記出力装置に前記第３データを供給し、
前記第１スイッチは、前記第１出力信号を前記第１出力機器に供給し、
前記第１出力信号に異常があるときには、
前記出力切替部は、前記冗長化用出力装置に前記第３データを供給し、
前記第１スイッチは、前記第２出力信号を前記第１出力機器に供給し、
前記第２冗長化要否信号が前記第２状態の場合では、前記第１出力信号の異常の有無にかかわらず、前記出力切替部は、前記出力装置に前記第３データを供給し、
前記第１スイッチは、前記第１出力信号を前記第１出力機器に供給する請求項１記載のプラント制御システム。
【請求項３】
前記入力装置は、第２入力機器から第２入力信号を入力する第３入力端子をさらに含み、前記第２入力信号に前記第１処理を行うことによって生成された第４データを出力し、
前記第１冗長化要否信号にもとづいて前記第１入力信号または前記第２入力信号のいずれかを選択して前記冗長化用入力装置に供給する入力信号選択装置をさらに備え、
前記冗長化信号決定部は、前記第２入力信号に対する第３重要度にしたがって、前記第２入力信号について冗長化を要するか否かを設定する第３冗長化要否信号を生成し、
前記第１冗長化要否信号が前記第１状態に設定された場合には、前記第３冗長化要否信号は前記第２状態に設定され、前記冗長化要否信号が前記第２状態に設定された場合には、前記第３冗長化要否信号は前記第１状態に設定され、
前記第１入力信号が前記第１状態に設定されたときには、前記入力信号選択装置は、前記第１入力信号を出力し、
前記第２入力信号が前記第１状態に設定されたときには、前記入力信号選択装置は、前記第２入力信号を出力する請求項２記載のプラント制御システム。
【請求項４】
前記出力装置は、前記第４データに前記第２処理を行って第３出力信号を出力し、
前記冗長化用出力装置は、前記第４データに前記第２処理を行って第４出力信号を出力し、
前記出力信号選択装置は、前記第３出力信号または前記第４出力信号のいずれかを選択して第２出力機器に供給する第２スイッチをさらに含み、
前記冗長化信号決定部は、前記第３出力信号に対する第４重要度にしたがって、前記第３出力信号について冗長化するか否かを設定する第４冗長化要否信号を生成し、
前記第２冗長化要否信号が前記第１状態に設定された場合には、前記第４冗長化要否信号は前記第２状態に設定され、前記第２冗長化要否信号が前記第２状態に設定された場合には、前記第４冗長化要否信号は前記第１状態に設定され、
前記第４冗長化要否信号が前記第１状態の場合で、前記第３出力信号に異常がないときには、
前記出力切替部は、前記出力装置に前記第４データを供給し、
前記第２スイッチは、前記第３出力信号を前記第２出力機器に供給し、
前記第３出力信号に異常があるときには、
前記出力切替部は、前記冗長化用出力装置に前記第４データを供給し、
前記第２スイッチは、前記第４出力信号を前記第２出力機器に供給し、
前記第４冗長化要否信号が前記第２状態の場合では、前記第３出力信号の異常の有無にかかわらず、
前記出力切替部は、前記出力装置に前記第４データを供給し、
前記第２スイッチは、前記第３出力信号を前記第２出力機器に供給する請求項３に記載のプラント制御システム。
【請求項５】
前記第１重要度は、前記第１入力機器の故障時にプラントの操業に及ぼす影響の度合いおよび前記第１入力機器の修理に要した費用のそれぞれにもとづいて計算される請求項１〜４のいずれか１つに記載のプラント制御システム。
【請求項６】
プラントの制御機器を信号ごとに冗長化するかしないかを設定する冗長化方法であって、
制御装置によって、入力機器から供給される入力信号に関連付けされた前記入力機器の異常時の影響を表す第１データと、出力機器から供給される出力信号に関連付けされた前記出力機器の異常時の影響を表す第２データと、を含む第１データベースにアクセスし、
前記制御装置によって、前記入力機器ごとに関連付けられ、随時更新される前記入力機器の予備品の有無を表す第３データと、前記出力機器ごとに関連付けられ、随時更新される前記出力機器の予備品の有無を表す第４データと、を含む第２データベースにアクセスし、
前記制御装置によって、前記入力機器ごとに関連付けられ、前記入力機器の故障時に発生した損失にもとづいて随時計算された第５データと、前記出力機器ごとに関連付けられ、前記出力機器の故障時に発生した損失にもとづいて随時計算された第６データと、を含む第３データベースにアクセスし、
前記制御装置によって、前記第１〜第６データにもとづいて、前記入力信号ごとおよび前記出力信号ごとプラントに対する影響を表す重要度を計算し、
前記制御装置によって、前記重要度および所定のしきい値にもとづいて、前記入力信号ごとおよび前記出力信号ごとに冗長化を要するか否かを決定する冗長化要否信号を生成し、
前記制御装置は、前記第２データベースの前記第３データおよび前記第４データが更新されたときに、前記重要度を再計算し、前記冗長化要否信号を生成し、前記第３データベースの前記第５データおよび前記第６データが更新されたときに、前記重要度を再計算し、前記冗長化要否信号を生成する冗長化方法。
【請求項７】
入力機器から入力信号を入力する第１入力端子を含み、前記入力信号に所定の処理を行って第１データを出力する入力装置と、前記入力信号を入力する第２入力端子を含み、前記入力信号に前記所定の処理を行って第２データを出力する冗長化用入力装置と、を含むプログラマブルコントローラを制御する制御装置であって、
設置されたプラントに対する影響にもとづいて数値化された、前記入力信号に対する重要度にしたがって、前記入力信号について冗長化を要するか否かを決定する冗長化要否信号を生成する冗長化信号決定部と、
前記入力装置の出力および前記冗長化用入力装置の出力に接続され、前記第１データまたは前記第２データのうちいずれかを選択して出力する入力切替部と、
を備え、
前記冗長化要否信号は、前記入力信号について、前記重要度が冗長化を要する値の場合には、第１状態に設定され、前記重要度が冗長化を要しない値の場合には、第２状態に設定され、
前記冗長化要否信号が前記第１状態の場合で、前記第１データに異常がないときには、前記入力切替部は、前記第１データを選択して出力し、前記第１データに異常があるときには、前記入力切替部は、前記第２データを出力し、
前記冗長化要否信号が前記第２状態の場合では、前記第１データの異常の有無にかかわらず、前記入力切替部は、前記第１データを出力する制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、プラント制御システム、冗長化方法および制御装置に関する。
【背景技術】
【０００２】
産業用のプラント制御システムには、主として、プログラマブルロジックコントローラ（Programmable Logic Controller、以下、ＰＬＣという。）がある。ＰＬＣは、流量計、圧力計、温度センサ、あるいはリレー接点等の入力機器から入力した信号をディジタルデータに変換して制御モジュールに読み込み、制御演算を行う。そして、その演算結果にもとづいて、制御モジュールは、制御信号や駆動電流、駆動電圧等を、操作弁やシーケンス装置等の出力機器に供給することによってプラントの制御を行う。流量や、圧力、温度等のプラントからの入力データは、入力モジュールを介して制御モジュールへ供給され、操作弁やシーケンス装置等の制御指令といったプラントへの出力信号は、コントローラで生成されて出力モジュールによって出力される。
【０００３】
入力モジュールや出力モジュールの故障によって、不正な入力データや、異常な出力信号の発生し、プラント機器の運転制御が損なわれる場合には、製造物の品質低下や、機器の破損等、その影響は甚大になる。また、入力モジュールや出力モジュールの故障が生じただけでプラントの運転が停止される場合もある。
【０００４】
このような入力モジュールや出力モジュールの異常時にプラント操業の影響を低減するために、常用系と待機系との２つの入力モジュールや出力モジュールを組み合わせた二重化システム（一方のモジュールを通常動作させ、もう一方のモジュールを待機系とし、通常動作させているモジュールが故障したとき、待機系のモジュールに自動的に切り替わるようなシステム）が考案され、実用化されている（たとえば、特許文献１）。
【０００５】
特許文献１には、通常動作させている常用系モジュールと、もう一方の待機系モジュールの２台を接続する方式により、プラント制御の信頼性向上と、プラントの長期間にわたる連続稼働とダウンレス化を実現する技術が開示されている。しかし、このような冗長システムの場合、入出力モジュールを本来の倍の台数を準備して接続しなければならず、システム構築やメンテナンスに多大なコストがかかるという問題点がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−６４４７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
実施形態は、すべての入力装置を冗長化することなく、低コストで信頼性の高いプラント制御システム、冗長化方法および制御装置を提供する。
【課題を解決するための手段】
【０００８】
実施形態に係るプラント制御システムは、第１入力機器から第１入力信号を入力する第１入力端子を含み、前記第１入力信号に第１処理を行うことによって生成された第１データを出力する入力装置と、前記第１入力信号を入力する第２入力端子を含み、前記第２入力端子に入力された前記第１入力信号に前記第１処理を行って第２データを出力する冗長化用入力装置と、設置されたプラントに対する影響にもとづいて数値化された、前記第１入力信号に対する第１重要度にしたがって、前記第１入力信号について冗長化を要するか否かを決定する第１冗長化要否信号を生成する冗長化信号決定部と、前記入力装置の出力および前記冗長化入力装置の出力に接続され、前記第１データまたは前記第２データのうちいずれかを選択して出力する入力切替部と、を含む制御装置と、を備える。前記第１冗長化要否信号は、前記第１入力信号について、前記第１重要度が冗長化を要する値の場合には、第１状態に設定され、前記第１重要度が冗長化を要しない値の場合には、第２状態に設定される。前記第１冗長化要否信号が前記第１状態の場合で、前記第１データに異常がないときには、前記入力切替部は、前記第１データを選択して出力する。前記第１データに異常があるときには、前記入力切替部は、前記第２データを出力する。前記第１冗長化要否信号が前記第２状態の場合では、前記第１データの異常の有無にかかわらず、前記入力切替部は、前記第１データを出力する。
【発明の効果】
【０００９】
本実施形態では、入力装置で処理される信号ごとに、プラントの操業に対する影響にもとづいて数値化された重要度にしたがって冗長化の要否を設定する冗長化信号決定部と、入力装置によって処理されたデータに異常があるときに、データを冗長化入力装置に供給する入力切替部とを含む制御装置を備えているので、重要度の高いデータに対して選択的に冗長化をはかることができ、すべての入力装置に対して冗長化を行うことなくシステムの冗長化を行うことができる。したがって、低コストで高い信頼性を有するプラント制御システムを実現することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係るプログラマブルロジックコントローラを例示するブロック図である。
【図２】実施形態のプログラマブルロジックコントローラの一部を例示するブロック図である。
【図３】実施形態のプログラマブルロジックコントローラの一部を例示するブロック図である。
【図４】実施形態のプログラマブルロジックコントローラのためのデータベースを例示するテーブルである。
【図５】図５（ａ）および図５（ｂ）は、実施形態のプログラマブルロジックコントローラのためのデータベースを例示するテーブルである。
【図６】図６（ａ）および図６（ｂ）は、実施形態のプログラマブルロジックコントローラのためのデータベースを例示するテーブルである。
【図７】実施形態のプログラマブルロジックコントローラの動作の一部を説明するためのフローチャートである。
【図８】実施形態のプログラマブルロジックコントローラの動作の一部を説明するための簡略化されたブロック図である。
【図９】実施形態のプログラマブルロジックコントローラの動作の一部を説明するためのフローチャートである。
【図１０】実施形態のプログラマブルロジックコントローラの動作の一部を説明するための簡略化されたブロック図である。
【図１１】実施形態のプログラマブルロジックコントローラの動作の一部を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照しつつ、本発明の実施形態について説明する。
なお、図面は模式的または概念的なものであり、各部分の厚みと幅との関係、部分間の大きさの比率などは、必ずしも現実のものと同一とは限らない。また、同じ部分を表す場合であっても、図面により互いの寸法や比率が異なって表される場合もある。
なお、本願明細書と各図において、既出の図に関して前述したものと同様の要素には、同一の符号を付して詳細な説明を適宜省略する。
【００１２】
図１は、本実施形態に係るプログラマブルロジックコントローラを例示するブロック図である。
図２および図３は、本実施形態のプログラマブルロジックコントローラの一部を例示するブロック図である。
（プログラマブルロジックコントローラ１の構成）
図１に示すように、本実施形態のプログラマブルロジックコントローラ（Programmable Logic Controller、以下、ＰＬＣという。）１は、コントローラ１０と、入力モジュール３０と、冗長化用入力モジュール４０と、入力信号選択ユニット５０と、出力モジュール６０と、冗長化用出力モジュール７０と、出力信号選択ユニット８０と、を備える。コントローラ１０は、入力モジュール３０、冗長化用入力モジュール４０、出力モジュール６０および冗長化用出力モジュール７０に、専用通信ネットワーク１００で接続されている。コントローラ１０は、専用通信ネットワークに代えて、専用のバスによって入力モジュール３０等に接続されていてもよい。
【００１３】
コントローラ（制御装置）１０は、典型的には、複数の入力モジュール３０に接続されている。複数の入力モジュール３０ごとに１つの冗長化用入力モジュール４０が設けられている。入力モジュール３０および冗長化用入力モジュール４０は、入力信号選択ユニット５０を介して、入力機器２に接続されている。入力機器２は、たとえば温度センサや位置センサ等である。入力信号選択ユニット５０は、コントローラ１０に接続されており、コントローラ１０において計算された重要度が高い入力信号ＩＮｘを、入力モジュール３０および冗長化用入力モジュール４０の両方に供給する。入力モジュール３０および冗長化用入力モジュール４０は、アナログ信号やディジタル信号を入力信号ＩＮｘとして入力して、所定の処理を行って処理済みのデータＤＡＴＡｘとして出力する。
【００１４】
コントローラ１０は、典型的には、複数の出力モジュール６０および冗長化用出力モジュール７０と接続されている。複数の出力モジュール６０ごとに１つの冗長化用出力モジュール７０が設けられている。各出力モジュール６０および冗長化用出力モジュール７０は、データＤＡＴＡｙを供給され、出力信号ＯＵＴｙを出力する。また、出力モジュール６０は、出力信号ＯＵＴｙにもとづいてリードバックデータＲＢｙを生成し、コントローラ１０に供給する。出力モジュール６０および冗長化用出力モジュール７０は、出力信号選択ユニット８０を介して、出力機器４に接続されている。出力機器４は、たとえばアクチュエータや操作弁、ランプ等である。出力信号選択ユニット８０は、コントローラ１０に接続されており、コントローラ１０において計算された重要度が高い出力信号ＯＵＴｙを、出力モジュール６０の出力または冗長化用出力モジュール７０の出力のいずれかを選択して出力する。
【００１５】
ＰＬＣ１は、図示しない記憶部に格納されているラダープログラム等の命令ステップにしたがって、入力機器２から信号を入力し、処理を行うことによって生成された電圧や電流等を有する出力信号によって、出力機器４を駆動する。
【００１６】
コントローラ１０は、汎用通信ネットワーク１０１に接続されている。コントローラ１０は、汎用通信ネットワーク１０１を介して、記憶部９２，９３にそれぞれ接続されている。記憶部９２には、予備品データベース１２０が格納されている。記憶部９３には、故障損失量データベース１３０が格納されている。コントローラ１０は、汎用通信ネットワーク１０１を介して、これらのデータベースにアクセスすることができる。コントローラ１０は、汎用通信ネットワーク１０１に代えて、汎用のバスによって接続されていてもよい。なお、入出力データベース１１０を格納する記憶部９１も、汎用通信ネットワーク１０１を介して、コントローラ１０に接続するようにしてもよい。これらの記憶部９１〜９３は、たとえば同一のデータベースサーバ（図示せず）の記憶装置として設けられていてもよいし、それぞれ別の記憶装置によって構成されていてもよい。
【００１７】
本実施形態のＰＬＣ１は、コントローラ１０、入力モジュール３０、冗長化用入力モジュール４０、入力信号選択ユニット５０、出力モジュール６０、冗長化用出力モジュール７０、および出力信号選択ユニット８０に電力を供給する電源ユニット１４０を含む。電源ユニット１４０は、常用電源ユニット１４１と、冗長電源ユニット１４２とを含む。常用電源ユニット１４１は、コントローラ１０、入力モジュール３０、冗長化用入力モジュール４０、入力信号選択ユニット５０、出力モジュール６０、冗長化用出力モジュール７０、および出力信号選択ユニット８０すべてに電力を供給する。冗長電源ユニット１４２は、コントローラ１０、冗長化用入力モジュール４０、入力信号選択ユニット５０、冗長化用出力モジュール７０、および出力信号選択ユニット８０に電力を供給する。電源ユニット１４０は、たとえば常用電源ユニット１４１の出力および冗長電源ユニット１４２の出力を入力して、いずれかを選択して出力する切替回路１４３を有している。切替回路１４３は、常用電源ユニット１４１の出力電圧が正常な範囲のときには、出力せず、常用電源ユニット１４１の出力電圧が正常な範囲よりも低下したときに冗長電源ユニット１４２からの出力に切替える。
【００１８】
冗長電源ユニット１４２は、常用電源ユニット１４１よりも少ない負荷を駆動するので、冗長電源ユニット１４２には、小形で低出力容量の電源装置を用いることができる。
【００１９】
（コントローラ１０の構成）
コントローラ１０は、冗長化信号決定部１１と、入力処理部１２と、入力切替部１３と、出力処理部１４と、出力切替部１５と、を含む。
【００２０】
冗長化信号決定部１１は、記憶部９１〜９３にそれぞれ接続されており、入出力データベース１１０、予備品データベース１２０および故障損失量データベース１３０にそれぞれアクセスすることができる。冗長化信号決定部１１は、入出力データベース１１０、予備品データベース１２０および故障損失量データベース１３０にもとづいて、入力信号ＩＮｘおよび出力信号ＯＵＴｙごとに重要度Ｓｘおよび重要度Ｓｙの値を計算する。入力信号ＩＮｘごとおよび出力信号ＯＵＴｙごとに計算された重要度Ｓｘおよび重要度Ｓｙの値は、あらかじめ設定されているしきい値Ｓｔｈとそれぞれ比較される。重要度Ｓｘ，Ｓｙとしきい値Ｓｔｈとを比較した結果にしたがって、冗長化要否信号Ｒｘ，Ｒｙが生成される。たとえば、重要度Ｓｘ，Ｓｙの値がしきい値Ｓｔｈ以上のときには、冗長化要否信号Ｒｘ，Ｒｙは、Ｈレベルであり、重要度Ｓｘ，Ｓｙの値がしきい値Ｓｔｈよりも小さいときには、冗長化要否信号Ｒｘ，ＲｙはＬレベルである。
【００２１】
冗長化信号決定部１１は、冗長化要否信号Ｒｘを入力信号選択ユニット５０に供給する。入力信号選択ユニット５０は、冗長化要否信号Ｒｘにもとづいて冗長化する入力信号ＩＮｘを入力モジュール３０および冗長化用入力モジュール４０の両方に供給する。たとえば、冗長化要否信号ＲｘがＨレベルの入力信号ＩＮｘについては、入力信号ＩＮｘを入力モジュール３０および冗長化用入力モジュール４０の両方に供給する。冗長化要否信号ＲｘがＬレベルの入力信号については、その入力信号を入力モジュール３０に供給し、冗長化用入力モジュールに供給しない。
【００２２】
冗長化信号決定部１１は、冗長化要否信号Ｒｘを入力切替部１３に供給する。入力切替部１３は、供給された冗長化要否信号Ｒｘにもとづいて、出力を切り替えるか否かを選択する。
【００２３】
冗長化信号決定部１１は、冗長化要否信号Ｒｙを出力信号選択ユニット８０に供給する。出力信号選択ユニット８０は、冗長化要否信号Ｒｙにもとづいて冗長化する出力信号ＯＵＴｙを設定する。たとえば、出力信号選択ユニット８０は、冗長化要否信号ＲｙがＨレベルに設定された出力信号ＯＵＴｙについては、出力モジュール６０からの出力電流と、冗長化用出力モジュール７０からの出力電流とを切り替えて出力する。出力信号選択ユニット８０は、冗長化要否信号ＲｙがＬレベルに設定された出力信号ＯＵＴｙについては、出力モジュール６０からの出力電流を出力し、冗長化用出力モジュール７０からの出力電流を出力しない。
【００２４】
冗長化信号決定部１１は、冗長化要否信号Ｒｙを出力切替部１５に供給する。出力切替部１５は、供給された冗長化要否信号Ｒｙにもとづいて、出力を切り替えるか否かを選択する。
【００２５】
入力処理部１２は、入力モジュール３０から供給された処理済みのデータＤＡＴＡｘに所定の処理を行う。所定の処理は、ラダープログラムにしたがって、実行される処理等である。
【００２６】
入力切替部１３は、入力モジュール３０からのデータＤＡＴＡｘおよび冗長化用入力モジュール４０からのデータＤＡＴＡｘ’が入力される。たとえば、入力切替部１３は、冗長化要否信号ＲｘがＨレベル（冗長化要）の場合には、データＤＡＴＡｘおよびデータＤＡＴＡｘ’のうちから１つを選択して出力する。この場合において、入力切替部１３は、入力モジュール３０からのデータＤＡＴＡｘに異常がないときには、データＤＡＴＡｘを出力し、データＤＡＴＡｘに異常があるときには、データＤＡＴＡｘ’を出力する。つまり、入力切替部１３は、冗長化を要するとされた入力信号ＩＮｘを入力モジュール３０によって変換した結果、変換されたデータＤＡＴＡｘに異常があるときには、冗長化用入力モジュール４０によって変換されたデータＤＡＴＡｘ’を出力する。
【００２７】
入力切替部１３は、冗長化要否信号ＲｘがＬレベル（冗長化不要）の場合には、データＤＡＴＡｘを出力する。この場合においては、データＤＡＴＡｘは異常であるか否かによらない。
【００２８】
後述するように、冗長化用入力モジュール４０における入力信号ＩＮｘに対する処理は、その入力信号ＩＮｘを処理する入力モジュール３０における処理と同一である。したがって、冗長化の対象となる入力信号ＩＮｘについては、処理済みデータＤＡＴＡｘとＤＡＴＡｘ’は、同一のデータである。
【００２９】
出力処理部１４は、所定の処理にしたがって生成されたデータＤＡＴＡｙを生成する。ここで、所定の処理は、図示しない記憶部に格納されたラダープログラムにしたがって、実行される処理である。出力処理部１４において生成されたデータＤＡＴＡｙは、出力切替部１５に供給される。この例では、入力処理部１２および出力処理部１４は、異なる処理ブロックとして示されているが、同一の処理ブロックのそれぞれ入力部分および出力部分であってももちろんかまわない。
【００３０】
出力切替部１５は、各出力モジュール６０および冗長化用出力モジュール７０に接続されている。出力切替部１５は、各出力モジュール６０または冗長化用出力モジュール７０のいずれかに出力処理部１４で生成されたデータＤＡＴＡｙを供給することができる。出力切替部１５は、出力モジュール６０の各出力信号ＯＵＴｙに対応するリードバックデータＲＢｙを入力して、出力信号ＯＵＴｙの異常の有無を判定する。
【００３１】
出力切替部１５は、たとえば、冗長化要否信号ＲｙがＨレベル（冗長化要）の場合には、出力モジュール６０または冗長化用出力モジュール７０のいずれかを選択してデータＤＡＴＡｙを供給する。この場合において、出力モジュール６０が生成するリードバックデータＲＢｙに異常がないときには、出力切替部１５は、そのままデータＤＡＴＡｙを出力モジュール６０に供給する。リードバックデータＲＢｙに異常があるときには、出力切替部１５は、データＤＡＴＡｙを冗長化用出力モジュール７０に供給する。
【００３２】
冗長化要否信号ＲｙがＬレベル（冗長化不要）の場合には、出力切替部１５は、リードバックデータＲＢｙの異常の有無にかかわらず、データＤＡＴＡｙを出力モジュール６０に供給する。
【００３３】
後述するように、冗長化用出力モジュール７０におけるデータＤＡＴＡｙに対する処理は、出力モジュール６０における処理と同一である。したがって、冗長化用出力モジュール７０が出力する出力信号ＯＵＴｙ’は、出力モジュール６０が出力する出力信号ＯＵＴｙと同一である。
【００３４】
（入力モジュール３０の構成）
図２に示すように、入力モジュール３０は、処理回路３１と、複数の入力端子３２ａ，３２ｂ，…と、出力端子３３と、を含む。複数の入力端子３２ａ，３２ｂ，…のそれぞれには、アナログ信号が入力される。入力モジュール３０は、信号が入力される入力端子のリターン、つまり、接地のための端子を含む。また、入力モジュール３０は、たとえば差動入力信号のための２つの入力端子を含んでもよい。たとえば、入力端子３２ａ，３２ｂ，…は、１６個である。つまり、この場合には、１つの入力モジュール３０当たり、１６点の入力（１６チャネルの入力）が可能である。
【００３５】
処理回路３１は、入力端子３２ａ，３２ｂ，…から入力された入力信号ＩＮｘに所定の処理を行って出力する。所定の処理は、入力されたアナログ信号からなる入力信号ＩＮｘを所定のビット数のシリアルまたはパラレルのディジタルデータに変換する処理である。変換されたディジタル形式のデータＤＡＴＡｘは、たとえば処理回路３１内のレジスタに一時的に格納され、コントローラ１０の命令にしたがって、所定のレジスタから読み出されて、送信される。
【００３６】
入力モジュール３０では、温度センサ等の入力機器２から出力された入力信号ＩＮ１，ＩＮ２，…を入力端子３２ａ，３２ｂ，…にそれぞれ入力し、処理回路３１によって所定の処理を施して出力端子３３から出力する。出力端子３３から出力されたデータは、コントローラ１０に供給される。
【００３７】
（冗長化用入力モジュール４０の構成）
冗長化用入力モジュール４０は、処理回路４１と、複数の入力端子４２ａ，４２ｂ，…と、出力端子４３と、を含む。冗長化用入力モジュール４０の各構成要素は、入力モジュール３０の各構成要素とそれぞれ同一である。つまり、冗長化用入力モジュール４０の処理回路４１は、入力モジュール３０の処理回路３１と同一の処理を行う回路である。処理回路４１は、入力端子４２ａ，４２ｂ，…から入力された信号に所定の処理を施して、処理が施されたデータを出力端子４３から出力する。
【００３８】
冗長化用入力モジュール４０は、入力信号選択ユニット５０のマルチプレクサ（後述）５５を介して入力機器２に接続されている。
【００３９】
冗長化用入力モジュール４０には、冗長化する入力モジュール３０と同一の入力信号ＩＮｘが入力される。冗長化用入力モジュール４０の処理回路４１は、入力モジュール３０の処理回路３１と同一の処理を実行する。したがって、冗長化用入力モジュール４０の処理回路４１で処理されたデータＤＡＴＡｘ’は、入力モジュール３０で正常に処理されたデータＤＡＴＡｘと同一のデータであることが保証される。つまり、入力信号ＩＮｘは、冗長化用入力モジュール４０によって冗長化される。
【００４０】
（入力信号選択ユニット５０の構成）
入力信号選択ユニット５０は、複数の入力端子５２ａ，５２ｂ，…と、複数の出力端子５３ａ，５３ｂ，…と、マルチプレクサ５５と、冗長出力端子５６ａ，５６ｂと、を含む。複数の入力端子５２ａ，５２ｂ，…は、それぞれ複数の出力端子５３ａ，５３ｂ，…と電気的に接続されている。たとえば、入力端子５２ａに入力された信号は、そのまま出力端子５３ａに出力され、入力端子５２ｂに入力された信号は、そのまま出力端子５３ｂに出力される。
【００４１】
入力信号選択ユニット５０の出力端子５２ａ，５２ｂ，…は、入力モジュール３０の入力端子３２ａ，３２ｂ，…にそれぞれ接続されている。入力信号選択ユニット５０は、少なくとも入力モジュール３０の入力端子の数に等しい数の入力端子および出力端子を含む。たとえば入力モジュール３０が１６個の入力端子を有している場合には、１６個の入力端子３２ａ，３２ｂ，…には、入力信号選択ユニット５０の入力端子５２ａ，５２ｂ，…および出力端子５３ａ，５３ｂ，…を介して、１６個の入力機器２を接続することができる。このため、入力信号選択ユニット５０は、入力モジュール３０の入出力の端子が配置されている端子台に着脱可能に接続するようにもできる。
【００４２】
マルチプレクサ５５の入力は、複数の入力端子５２ａ，５２ｂ，…のそれぞれに電気的に接続されている。マルチプレクサ５５は、１つ以上の出力を有し、冗長出力端子５６に電気的に接続されている。この例では、マルチプレクサ５５は、２つの冗長出力端子５６ａ，５６ｂを含んでいる。
【００４３】
マルチプレクサ５５は、冗長化信号決定部１１が出力する冗長化要否信号Ｒｘにしたがって冗長化すべき入力信号ＩＮｘに対応する入力端子を複数の入力端子５２ａ，５２ｂ，…から選択して、冗長出力端子５６ａ，５６ｂに接続する。
【００４４】
たとえば、入力モジュール３０の２個の入力端子３２ａ，３２ｂに入力される入力信号ＩＮ１，ＩＮ２についてそれぞれ冗長化する場合については次のようになる。入力信号ＩＮ１について、入力端子３２ａに接続されているマルチプレクサ５５の入力端子５２ａが選択される。そのため、入力信号ＩＮ１は、冗長出力端子５６ａから出力される。入力信号ＩＮ２について、入力端子３２ｂに接続されているマルチプレクサ５５の入力端子５２ｂが選択される。そのため、入力信号ＩＮ２は、冗長出力端子５６ｂから出力される。
【００４５】
冗長出力端子５６ａ，５６ｂは、冗長化用入力モジュール４０の入力端子４２ａ，４２ｂにそれぞれ接続されている。つまり、入力モジュール３０の入力端子３２ａ，３２ｂに入力される信号は、同時に、冗長化用入力モジュール４０の入力端子４２ａ，４２ｂにも入力される。
【００４６】
この例では、３個の入力モジュール３０がコントローラ１０に接続されており、各入力モジュール３０は、１６個の入力端子を有している。冗長化用入力モジュール４０も、１６個の入力端子を有している。各入力モジュール３０の入力端子のうち、２つの入力端子が冗長化用入力モジュール４０に接続されており、冗長化用入力モジュール４０の１６個の入力端子のうち、２個×３＝６個の入力端子が冗長化のために用いられている。なお、この例では、冗長化用入力モジュール４０は、１６個の入力端子を有しているので、さらに１０個の冗長化を行うことができる。
【００４７】
なお、上述では、入力モジュール３０の処理回路３１は、すべて同一のアナログディジタル変換を行うものとしたが、たとえば入力モジュールごとに異なる処理回路、たとえば入力されるアナログ値の範囲が異なったり、出力されるディジタルデータのビット数が相違等してもよい。入力される信号は、アナログ信号に限らず、ディジタル信号であってももちろんよい。そのような場合には、冗長化用入力モジュール４０の処理回路の構成等を冗長化する入力モジュール３０に対して適切に選定すればよい。
【００４８】
（出力モジュール６０の構成）
図３に示すように、出力モジュール６０は、処理回路６１と、入力端子６２と、複数の出力端子６３ａ，６３ｂ，…と、リードバックデータ出力端子６４と、を含む。処理回路６１は、コントローラ１０の出力切替部１５に、入力端子６２を介して接続されている。処理回路６１は、たとえば、コントローラ１０の出力処理部１４で生成されたディジタル形式のデータＤＡＴＡｙをアナログ値を有する電流あるいは電圧に変換する。
【００４９】
複数の出力端子６３ａ，６３ｂ，…は、出力信号選択ユニット８０を介して、アクチュエータ等の出力機器４にそれぞれ電気的に接続されている。
【００５０】
リードバックデータ出力端子６４は、処理回路６１の出力に接続されている。処理回路６１において変換された電流または電圧は、再度ディジタル値に変換されて、リードバックデータ出力端子６４から出力される。リードバックデータ出力端子６４から出力されたリードバックデータＲＢｙは、コントローラ１０の出力切替部１５に入力される。出力切替部１５では、リードバックデータＲＢｙにもとづいて、出力モジュール６０の対応する出力信号ＯＵＴｙの異常の有無が判断される。
【００５１】
（冗長化用出力モジュール７０の構成）
冗長化用出力モジュール７０は、処理回路７１と、入力端子７２と、複数の出力端子７３ａ，７３ｂ，…と、を含む。冗長化用出力モジュール７０の各構成要素は、出力モジュール６０の各構成要素とそれぞれ同一である。ただし、冗長化用出力モジュール７０は、出力モジュール６０の代替として機能するので、出力の異常検出を行う必要が必ずしもなく、リードバックデータ出力端子を含んでいなくてもよい。冗長化用出力モジュール７０では、入力端子７２から入力されたデータを処理回路７１によって所定の処理を施して、出力端子７３ａ，７３ｂ，…から出力する。
【００５２】
冗長化用出力モジュール７０には、冗長化する出力モジュール６０と同一のデータＤＡＴＡｙが入力される。冗長化用出力モジュール７０の処理回路７１では、出力モジュール６０の処理回路６１と同一の処理を行う。したがって、冗長化用出力モジュール７０の処理回路７１で変換された出力信号ＯＵＴｙ’は、出力モジュール６０で正常に変換された出力信号ＯＵＴｙと同一の信号であることが保証される。つまり、出力信号ＯＵＴｙは、冗長化用出力モジュール７０によって冗長化される。
【００５３】
（出力信号選択ユニット８０の構成）
出力信号選択ユニット８０は、複数の入力端子８２ａ，８２ｂ，…と、出力端子８３ａ，８３ｂ，…と、冗長入力端子８４ａ，８４ｂと、複数のマルチプレクサ８５ａ，８５ｂ，…と、を含む。入力端子８２ａ，８２ｂ，…は、少なくとも出力モジュール６０の出力端子６３ａ，６３ｂ，…の数に応じた数が設けられている。たとえば、１６個の出力端子６３ａ，６３ｂ，…を有する出力モジュールには、それぞれの出力に対応して、少なくとも１６個の入力端子８２ａ，８２ｂ，…が設けられている。たとえば、出力モジュール６０が１６個の出力端子を有している場合には、１６個の入力端子８２ａ，８２ｂ，…および１６個の出力端子８３ａ，８３ｂ，…を介して、１６個の出力機器４を接続することができる。このため、出力信号選択ユニット８０は、出力モジュール６０の入出力の端子が配置されている端子台に着脱可能に接続するようにすることもできる。
【００５４】
マルチプレクサ８５ａ，８５ｂ，…は、入力端子８２ａ，８２ｂ，…の数に応じて複数個設けられている。たとえば、出力信号選択ユニット８０が１６個の入力端子８２ａ，８２ｂ，…を有する場合には、１６個のマルチプレクサ８５ａ，８５ｂ，…が設けられている。入力端子８２ａ，８２ｂ，…には、マルチプレクサ８５ａ，８５ｂ，…の１つの入力がそれぞれ接続されている。マルチプレクサ８５ａ，８５ｂ，…の他の入力には、冗長入力端子８４ａ，８４ｂが接続されている。マルチプレクサ８５ａ，８５ｂ，…の出力は、それぞれ出力端子８３ａ，８３ｂ，…を介して出力機器４に接続されている。
【００５５】
マルチプレクサ８５ａ，８５ｂ，…は、３つの入力を適宜切り替えて出力に接続する。マルチプレクサ８５ａ，８５ｂ，…は、冗長化要否信号Ｒｙにしたがって、入力と出力との接続が設定される。冗長化要否信号Ｒｙによって冗長化を要する出力信号については、出力切替部１５における異常有無の判定結果によって、入力と出力との接続を切り替える。出力切替部１５が異常なしと判定した出力信号については、出力モジュール６０の出力をマルチプレクサの出力に接続する。出力切替部１５が異常ありと判定した出力信号については、冗長化用出力モジュール７０の出力をマルチプレクサの出力に接続する。
【００５６】
たとえば、出力モジュール６０の出力端子６３ａ，６３ｂから出力される電流（ＯＵＴ１，ＯＵＴ２）については冗長化され、他の電流については冗長化されない場合については次のようになる。すなわち、マルチプレクサ８５ａは、出力端子６３ａから出力される出力電流ＯＵＴ１に異常がないと判定されたときには、出力モジュール６０の出力端子６３ａと出力端子８３ａとを接続する。マルチプレクサ８５ａは、出力端子６３ａから出力される出力電流ＯＵＴ１に異常があると判定されたときには、冗長化用出力モジュール７０の出力端子７３ａと出力端子６３ａとを接続して冗長化用出力モジュール７０から出力電流ＯＵＴ１’を出力する。また、マルチプレクサ８５ｂは、出力端子６３ｂから出力される出力電流ＯＵＴ２に異常がないと判定されたときには、出力モジュールの出力端子６３ｂと出力端子８３ｂとを接続して出力電流ＯＵＴ２を出力する。マルチプレクサ８５ｂは、出力端子６３ｂから出力される電流に異常があると判定されたときには、冗長化用出力モジュール７０の出力端子７３ｂと出力端子８３ｂとを接続して出力電流ＯＵＴ２’を出力する。出力電流ＯＵＴ１’，ＯＵＴ２’は、出力電流ＯＵＴ１，ＯＵＴ２と同一である。上述以外の出力端子から出力される電流については異常の有無にかかわらず、マルチプレクサは、出力モジュールの出力端子と出力信号選択ユニット８０の出力端子とを接続する。出力電流の異常の有無については、出力モジュール６０から出力切替部１５に送信されるリードバックデータＲＢｙにもとづいて出力切替部１５によって判定される。
【００５７】
上述の例では、３個の出力モジュール６０がコントローラ１０に接続されており、各出力モジュール６０は、１６個の出力端子を有している。冗長化用出力モジュール７０も１６個の出力端子を有している。出力モジュール６０の２個の出力について冗長化の対象としているので、冗長化用出力モジュール７０では、２個×３＝６個の出力を冗長出力のために用いられている。なお、この例では、冗長化用出力モジュール７０は１６個の出力端子を有しているので、さらに１０個の出力の冗長化を行うことができる。
【００５８】
（ＰＬＣ１の動作）
本実施形態のＰＬＣ１の動作について説明する。
図４、図５（ａ）および図５（ｂ）は、入出力データベース１１０を例示するテーブルである。
図６（ａ）は、予備品データベース１２０を例示するテーブルである。
図６（ｂ）は、故障損失量データベース１３０を例示するテーブルである。
図７は、本実施形態のＰＬＣ１の動作の一部を説明するためのフローチャートである。
図８は、本実施形態のＰＬＣ１の動作の一部を説明するためのＰＬＣ１の一部の簡略化されたブロック図である。
図９は、本実施形態のＰＬＣ１の動作の一部を説明するためのフローチャートである。
図１０は、本実施形態のＰＬＣ１の動作の一部を説明するためのＰＬＣ１の一部の簡略化されたブロック図である。
図１１は、本実施形態のＰＬＣ１の動作の一部を説明するためのフローチャートである。
（重要度Ｓおよび冗長化要否信号Ｒの設定）
重要度Ｓｘおよび冗長化要否信号Ｒｘは、入力信号ＩＮｘごとに設定される。各入力信号ＩＮｘは、入力機器２から供給され、入力モジュール３０の入力端子３２ａ，３２ｂ，…に入力される。また、重要度Ｓｙおよび冗長化要否信号Ｒｙは、出力信号ＯＵＴｙごとに設定される。出力信号ＯＵＴｙは、出力モジュール６０の出力端子６３ａ，６３ｂ，…からそれぞれ出力され、出力機器４に供給される。したがって、冗長化要否信号Ｒｘ，Ｒｙは、入力信号ＩＮｘの数および出力信号ＯＵＴｙの数だけ設定される。冗長化要否信号Ｒｘ，Ｒｙは、入出力データベース１１０、予備品データベース１２０および故障損失量データベース１３０にもとづいて計算される重要度Ｓｘ，Ｓｙに対して設定される。計算される重要度Ｓｘ，Ｓｙの値が大きいほど、対応する入力信号ＩＮｘおよび出力信号ＯＵＴｙに異常が生じた場合に、プラントに対する影響が大きいことを示す。本実施形態のＰＬＣ１では、プラントに対する影響が大きい入力信号ＩＮｘや出力信号ＯＵＴｙに対して冗長化を行い、影響の小さい入力信号ＩＮｘや出力信号ＯＵＴｙに対しては冗長化を行わない。
【００５９】
以下、重要度Ｓの計算の手順および具体例について説明する。
図４に示すように、入出力データベース１１０は、入出力信号欄１１１と、入出力信号名称欄１１２と、機器ＩＤ欄１１３と、機器影響度欄１１４と、プラント影響度欄１１５と、重要度欄１１６と、を含む。
【００６０】
入出力信号欄１１１には、各入力信号および出力信号の記号ＩＮｘ，ＯＵＴｙが格納されている。機器ＩＤ欄１１３、機器影響度欄１１４、プラント影響度欄１１５および重要度欄１１６にそれぞれ格納されるデータは、入出力信号欄１１１に格納されている入力信号ＩＮｘごと、および、出力信号ＯＵＴｙごとに関連付けされている。
【００６１】
入出力信号名称欄１１２には、入力信号ＩＮｘごと、および、出力信号ＯＵＴｙごとに、それぞれの信号の機能や動作等の記述が格納されている。
【００６２】
機器ＩＤ欄１１３には、関連付けされている入力信号ＩＮｘまたは出力信号ＯＵＴｙに異常が発生した場合に、影響を受ける入力機器２、入力モジュール３０、出力機器４および出力モジュール６０（以下、機器等ともいう。）の識別データ（ＩＤ）が格納されている。これら機器等には、たとえば一連番号のＩＤが付与されている。１つの入力信号ＩＮｘあるいは出力信号ＯＵＴｙに対して、複数の機器等が影響を受ける場合があるので、入力信号ＩＮｘまたは出力信号ＯＵＴｙには、複数の機器ＩＤが関連付けられている場合もある。
【００６３】
機器影響度欄１１４には、入力信号ＩＮｘおよび出力信号ＯＵＴｙに関連付けられた入力機器２、入力モジュール３０、出力機器４および出力モジュール６０の異常時の影響度が客観化されて格納されている。この例では、機器の影響度を機器影響度Ｍｉとして、Ａ，Ｂ，Ｃ，Ｄの４段階で表している。各機器影響度Ｍｉは、図５（ａ）に示すように、たとえば主観にもとづいて設定し、その主観を定量化することによって客観化することができる。この例では、機器影響度Ｍｉは、影響度が大きい方から小さい方に、Ａ，Ｂ，Ｃ，Ｄの順に設定されている。機器等に対する影響度が大きいとは、たとえば、その入力信号ＩＮｘを入力した入力モジュール３０が異常な処理を行い、異常な処理済みデータＤＡＴＡｘを出力した結果、そのデータによって制御される対象の他の機器等に与えるダメージ等が大きいことをいう。あるいは、コントローラ１０で生成されたデータＤＡＴＡｙを入力した出力モジュール６０が過大な電圧や電流、または過小な電圧や電流を出力機器４に供給することによって、その機器等や他の機器等に与えるダメージ等が大きいことをいう。
【００６４】
機器影響度ＭｉがＡランクの場合には、その入力信号ＩＮｘまたは出力信号ＯＵＴｙに異常が生じたときには、関連する機器等が破壊する程度の非常に大きな影響を生じるものとし、たとえば数値１００が割り当てられる。機器影響度ＭｉがＢランクの場合には、その入力信号ＩＮｘまたは出力信号ＯＵＴｙに異常が生じたときには、関連する機器等が破壊するまでには至らないまでも、大きな影響を生じるものとし、たとえば数値７０が割り当てられる。機器影響度ＭｉがＣランクの場合には、その入力信号ＩＮｘまたは出力信号ＯＵＴｙに異常が生じたときには、関連する機器等には、小さな影響を生じるものとし、たとえば数値４０が割り当てられる。機器影響度ＭｉがＤランクの場合には、その入力信号ＩＮｘまたは出力信号ＯＵＴｙに異常が生じたときには、関連する機器等には、ほとんど影響を生じないものとし、たとえば数値１０が割り当てられる。なお、これらの主観的な段階や定量化された値は、任意に設定することができるのはいうまでもない。
【００６５】
プラント影響度欄１１５には、入力信号ＩＮｘまたは出力信号ＯＵＴｙに異常が生じた場合のプラントへの影響度がプラント影響度Ｐｉとして格納されている。図５（ｂ）に示すように、プラント影響度Ｐｉは、この例では、Ａ，Ｂ，Ｃ，Ｄの４段階で表している。プラント影響度Ｐｉは、たとえば主観にもとづいて設定し、その主観を定量化することによって客観化することができる。プラント影響度Ｐｉは、影響度が大きい方から小さい方に、Ａ，Ｂ，Ｃ，Ｄの順に設定されている。
【００６６】
たとえば、主観的な判定基準として、プラントの停止、致命的な機器の動作不良、あるいは致命的な生成物の品質低下を生じる場合には、プラント影響度ＰｉをＡランクとする。プラント影響度ＰｉがＡランクの場合には、客観的な基準値として数値１００が割り当てられる。たとえば、主観的な判定基準として、機器の動作不良、生成物の品質低下、あるいは運転員への誤情報の送出を生じる場合には、プラント影響度ＰｉをＢランクとする。プラント影響度ＰｉがＢランクの場合には、客観的な基準値として数値７０が割り当てられる。たとえば、主観的な判定基準として、微細な機器の動作不良や運転員への情報喪失を生じるような場合には、プラント影響度ＰｉをＣランクとする。プラント影響度ＰｉがＣランクの場合には、客観的な基準値として数値４０が割り当てられる。たとえば、主観的な判定基準として、重大な影響がない場合には、プラント影響度ＰｉをＤランクとする。プラント影響度ＰｉがＤランクの場合には、客観的な基準値として数値１０が割り当てられる。これらの主観的、客観的な基準は、任意に設定することができる。
【００６７】
重要度Ｓの計算には、機器やプラントへの影響度等以外に、既存のデータベースの記録を活用することもできる。ＰＬＣ１を含むプラント制御システムに関連するデータベースとして予備品データベース１２０には、入力機器や、入力モジュール、出力機器、出力モジュールの不良発生時等のために、在庫として準備されている予備品の有無がデータとして登録されている。図６（ａ）に示すように、予備品データベース１２０は、機器ＩＤ欄１２１と、機器名称欄１２２と、予備品有無欄１２３と、予備品係数欄１２４と、を含む。機器ＩＤ欄１２１に格納されているＩＤは、入出力データベース１１０の機器ＩＤに関連付けられている。
【００６８】
機器名称欄１２２には、機器ＩＤに対応する機器の名称が記述されている。機器の名称には、入力モジュールや出力モジュールの一般的な名称であってもよく、製品の型式名称であってもよい。
【００６９】
予備品有無欄１２３には、関連付けられている機器ＩＤの予備品の在庫の有無が記述されている。予備品の有無には、予備品係数欄１２４のように、予備品係数Ｆｂが関連付けられている。予備品係数Ｆｂは、予備品がある場合には、数値０．２が関連付けられ、予備品がない場合には、数値１が関連付けられている。予備品の有無に関して関連付けられる数値は、上述に限らず任意に設定することができる。
【００７０】
ＰＬＣ１に関連するデータベースとして故障損失量データベース１３０には、機器ＩＤを有するそれぞれの機器に関して、故障発生時の損失を客観的に表している。図６（ｂ）に示すように、故障損失量データベース１３０は、機器ＩＤ欄１３１と、機器名称欄１３２と、修理費用欄１３３と、修理時間欄１３４と、１時間当たり損失額欄１３５と、故障損失量欄１３６と、を含む。機器ＩＤ欄１３１には、入出力データベース１１０の機器ＩＤに関連付けられているＩＤが入力されている。
【００７１】
機器名称欄１３２には、機器ＩＤに対応する機器の名称が格納されている。
【００７２】
修理費用欄１３３には、対応する機器ＩＤを有する機器が故障した際に必要となる修理費用Ｃ１が入力されている。各機器の修理費用Ｃ１（ＩＤ）は、たとえば修理に要した実績値を用いてもよい。
【００７３】
修理時間欄１３４には、対応する機器ＩＤを有する機器が故障した場合に、修理に要する時間Ｔが格納されている。各機器の修理時間Ｔ（ＩＤ）は、たとえば修理に要した実績値を用いることができる。
【００７４】
１時間当たり損失額欄１３５には、対応する機器ＩＤを有する機器が故障して、１時間プラントが停止することによって発生する損失額Ｃ２（ＩＤ）が入力されている。
【００７５】
故障損失量欄１３６には、対応する機器ＩＤを有する機器が故障した場合に発生し得る損失量を定量的に表すために（１）式によって計算される故障損失量Ｃ（ＩＤ）の値が格納される。
【００７６】
Ｃ（ＩＤ）＝Ｃ１（ＩＤ）＋Ｔ（ＩＤ）×Ｃ２（ＩＤ）        （１）
【００７７】
入出力データベース１１０の重要度は、入力信号および出力信号ごとに、機器ごとの機器影響度、故障損失量および予備品係数の積をすべての機器について積算したものに、プラント影響度を加算したものとして定義する。具体的には、重要度は、（２）式によって求められる。
【００７８】
【数１】
0006478904.tif 000002
【００７９】
予備品データベース１２０は、機器等の在庫状況によってリアルタイムに、あるいは定期的に更新される。また、故障損失量データベース１３０も修理時間等の実績値にもとづいて設定されるので、リアルタイムに、あるいは定期的に更新される。したがって、これらのデータベースが更新されるタイミングで、入力信号ＩＮｘごとおよび出力信号ＯＵＴｙごとに重要度Ｓｘ，Ｓｙは計算され更新され、更新された重要度Ｓｘ，Ｓｙにもとづいて、最新の冗長化要否信号Ｒｘ，Ｒｙの設定を行うことができる。
【００８０】
具体的には、図４において、出力信号ＯＵＴ１の重要度は、次のように求められる。出力信号ＯＵＴ１では、影響を及ぼす出力モジュールは、機器ＩＤとして“００１”、“００３”、“００５”を有する機器等である。機器ＩＤ“００１”および“００５”を有する機器Ａおよび機器Ｅは、予備品がなく、機器ＩＤ“００３”を有する機器Ｃは、予備品を有している（図６（ａ））。
【００８１】
機器ＩＤ“００１”について、１００（機器影響度）×１２３（故障損失量）×１（予備品有無）＝１２３００
機器ＩＤ“００３”について、７０（機器影響度）×６３（故障損失量）×０．２（予備品有無）＝８８２
機器ＩＤ“００５”について、４０（機器影響度）×９６（故障損失量）×１（予備品有無）＝３８４０
【００８２】
したがって、出力信号ＯＵＴ１の重要度は、（１２３００＋８８２＋３８４０）／１００＋１００（プラント影響度）＝２７０となる。他の入力信号および出力信号も同様に計算される。
【００８３】
コントローラ１０の冗長化信号決定部１１では、重要度Ｓｘ，Ｓｙのしきい値Ｓｔｈが設定されている。冗長化信号決定部１１は、冗長化要否信号Ｒｘ，Ｒｙを生成する。たとえば、重要度Ｓｘがしきい値Ｓｔｈ以上の場合に、冗長化信号決定部１１は、冗長化要否信号ＲをＨレベルに設定する。重要度Ｓｘがしきい値Ｓｔｈよりも小さい場合には、冗長化信号決定部１１は、冗長化要否信号ＲをＬレベルに設定する。図４の例において、しきい値Ｓｔｈをたとえば１５０とすると、入力信号ＩＮ１および出力信号ＯＵＴ１〜ＯＵＴ３に対して、冗長化要否信号Ｒｘ，ＲｙはＨレベルに設定され、入力信号ＩＮ２，ＩＮ３および出力信号ＯＵＴ４〜ＯＵＴ６に対して、冗長化要否信号Ｒｘ，ＲｙはＬレベルに設定される。
【００８４】
冗長化信号決定部１１は、入力切替部１３および入力信号選択ユニット５０に対して、入力信号ＩＮｘごとに冗長化要否を決定する。具体的には、冗長化信号決定部１１は、入力切替部１３の異常検出の動作または非動作を設定する。また、冗長化信号決定部１１は、入力信号選択ユニット５０のマルチプレクサの接続を設定する。マルチプレクサの設定は、冗長化信号決定部１１から出力される冗長化要否信号Ｒｘにもとづいてあらかじめ設定される。
【００８５】
冗長化信号決定部１１は、出力切替部１５および出力信号選択ユニット８０に対して、出力信号に関する冗長化要否を決定する。具体的には、出力切替部１５の異常検出の動作または非動作を設定する。また、冗長化信号決定部１１は、出力信号選択ユニット８０のマルチプレクサの接続を設定する。マルチプレクサの設定は、冗長化要否信号Ｒｙにもとづいてあらかじめ設定される。
【００８６】
図７を用いて、冗長化信号決定部１１が重要度Ｓｘ，Ｓｙおよび冗長化要否信号Ｒｘ，Ｒｙを設定する手順について説明する。
ステップＳ１において、冗長化信号決定部１１は、入出力データベース１１０から、入力信号ＩＮｘごとに、その入力信号ＩＮｘに関連付けられている機器ＩＤ、機器影響度Ｍｉ（ＩＤ）およびプラント影響度Ｐｉ（ｘ）を読み出す。また、冗長化信号決定部１１は、入出力データベース１１０から、出力信号ＯＵＴｙごとに、その出力信号ＯＵＴｙに関連付けられている機器ＩＤ、機器影響度Ｍｉ（ＩＤ）およびプラント影響度Ｐｉ（ｙ）を読み出す。
【００８７】
ステップＳ２において、冗長化信号決定部１１は、予備品データベース１２０から機器ＩＤに関連付けられている予備品係数Ｆｂ（ＩＤ）を読み出す。
【００８８】
ステップＳ３において、冗長化信号決定部１１は、故障損失量データベース１３０から機器ＩＤに関連付けられている故障損失量Ｃ（ＩＤ）を読み出す。
【００８９】
ステップＳ４において、冗長化信号決定部１１は、ステップＳ１〜Ｓ３において読み出した各データを式（２）に代入して、入力信号ＩＮｘの重要度Ｓｘおよび出力信号ＯＵＴｙの重要度Ｓｙをそれぞれ計算して入出力データベース１１０を更新する。
【００９０】
ステップＳ５において、冗長化信号決定部１１は、ステップＳ４で計算した入力信号ＩＮｘごとの重要度Ｓｘおよび出力信号ＯＵＴｙごとの重要度Ｓｙをしきい値Ｓｔｈと比較する。
【００９１】
ステップＳ６において、冗長化信号決定部１１は、入力信号ＩＮｘに応じた冗長化要否信号Ｒｘおよび出力信号ＯＵＴｙに応じた冗長化要否信号Ｒｙを生成する。冗長化信号決定部１１は、冗長化要否信号Ｒｘにしたがって、入力信号選択ユニット５０のマルチプレクサ５５の接続位置を設定する。また、冗長化信号決定部１１は、冗長化要否信号Ｒｙにしたがって、冗長化対象の、出力信号選択ユニット８０のマルチプレクサ８５ａ，８５ｂ，…を選択する。
【００９２】
このようにして、冗長化信号決定部１１では、重要度Ｓｘ，Ｓｙを計算し、計算された重要度Ｓｘ，Ｓｙにもとづいて冗長化要否信号Ｒｘ，Ｒｙを生成し、各部の設定を行う。
【００９３】
本実施形態のＰＬＣ１では、冗長化信号決定部１１において生成される冗長化要否信号Ｒｘ，Ｒｙにしたがって、入力モジュール３０、冗長化用入力モジュール４０、入力信号選択ユニット５０、出力モジュール６０、冗長化用出力モジュール７０および出力信号選択ユニット８０の動作が設定される。以下では、入力側の動作と出力側の動作とに分けて説明する。入力側には、入力モジュール３０、冗長化用入力モジュール４０および入力信号選択ユニット５０を含んでいる。出力側には、出力モジュール６０、冗長化用出力モジュール７０および出力信号選択ユニット８０を含んでいる。
【００９４】
（入力側の動作）
図８には、入力側の動作を説明するために、簡素化されたコントローラ１０の一部、入力モジュール３０、冗長化用入力モジュール４０、および入力信号選択ユニット５０が示されている。この例では、２つの入力機器（たとえばセンサ）から出力される信号を入力して、それぞれ所定の処理を施して入力処理部１２に供給する場合について説明する。２つの入力機器のうち一方は、冗長化を要する入力信号を出力し、他方は冗長化を要しない入力信号を出力する。以下では、入力信号ＩＮ１を冗長化し、入力信号ＩＮ２を冗長化しないものとして説明する。
【００９５】
図８に示すように、入力信号ＩＮ１は、入力モジュール３０の入力端子３２ａを介して処理回路３１に入力される。処理回路３１は、入力信号ＩＮ１をアナログディジタル変換し、処理済みのデータＤＡＴＡ１を出力する。データＤＡＴＡ１は、入力切替部１３に入力される。
【００９６】
入力信号ＩＮ２は、入力モジュール３０の入力端子３２ｂを介して処理回路３１に入力される。処理回路３１は、入力信号ＩＮ２をアナログディジタル変換し、処理済みのデータＤＡＴＡ２として出力する。データＤＡＴＡ２は、入力切替部１３に入力される。
【００９７】
入力信号選択ユニット５０のマルチプレクサ５５は、冗長化要否信号Ｒ１によって、入力信号ＩＮ１を出力するように設定されている。したがって、入力信号ＩＮ１は、マルチプレクサ５５を介して、冗長化用入力モジュール４０にも入力される。入力信号ＩＮ１は、冗長化用入力モジュール４０の入力端子４２を介して処理回路４１に入力される。処理回路４１は、入力信号ＩＮ１をアナログディジタル変換し、データＤＡＴＡ１’として出力する。データＤＡＴＡ１’は、入力モジュール３０から出力される正常な処理済みデータＤＡＴＡ１と同一であることが保証されている。
【００９８】
入力切替部１３は、異常検出部２１と、スイッチ２３とを含んでいる。スイッチ２３の一方の入力は、異常検出部２１の出力に接続されている。スイッチ２３の他方の入力は、冗長化用入力モジュール４０の出力端子４３に接続されている。スイッチ２３の出力は、入力処理部１２に接続されている。つまり、入力切替部１３から出力されるデータは、スイッチ２３によって、入力モジュール３０から出力されたデータＤＡＴＡ１または冗長化用入力モジュール４０から出力されたデータＤＡＴＡ１’のいずれかから選択されたデータである。
【００９９】
異常検出部２１は、冗長化要否信号Ｒｘにもとづいて、データＤＡＴＡｘが冗長化の対象となる入力信号ＩＮｘか否かを判定する。異常検出部２１は、冗長化の対象となる入力信号ＩＮｘに関するデータＤＡＴＡｘが入力される場合に、そのデータＤＡＴＡｘが異常であるか否かを判定する。この例では、異常検出部２１は、データＤＡＴＡ１に異常がないと判定した場合には、スイッチ２３によって異常検出部２１の出力を入力処理部１２に接続する。入力切替部１３は、入力モジュール３０によって処理されたデータＤＡＴＡ１を出力する。異常検出部２１は、処理済みのデータＤＡＴＡ１に異常があると判定した場合には、スイッチ２３によって冗長化用入力モジュール４０の出力端子４３を入力処理部１２に接続する。入力切替部１３は、冗長化用入力モジュール４０によって処理されたデータＤＡＴＡ１’を出力する。上述したように、冗長化用入力モジュール４０から出力される処理済みのデータＤＡＴＡ１’は、入力モジュール３０から出力される正常なデータＤＡＴＡ１と同一のデータである。
【０１００】
異常検出部２１は、入力される処理済みデータが冗長化の対象でない入力信号に関するデータである場合には、そのデータの異常の有無にかかわらず、そのまま入力処理部１２にそのデータを供給する。この例では、異常検出部２１は、処理済みのデータＤＡＴＡ２の異常の有無にかかわらず、スイッチ２３によって異常検出部２１の出力を入力処理部１２に接続する。入力処理部１２には、不正なデータが入力され得るが、入力処理部１２では、異常を含むデータが入力されることによってたとえば割込イベントが発生し、その処理を中止等する。冗長化の対照ではない入力信号に対する処理は、重要度の低いデータの処理なので、コントローラ１０は、そのまま次の処理を実行してもかまわない。
【０１０１】
図９を用いて、入力側の一連の動作について説明する。この例では、入力信号ＩＮ１を読み込んで処理した後、入力信号ＩＮ２を読み込んで処理する場合について説明する。入力信号選択ユニット５０のマルチプレクサ５５は、一方の入力信号ＩＮ１を冗長化用入力モジュール４０に供給することをあらかじめ選択している。
【０１０２】
図９に示すように、ステップＳ１０において、入力モジュール３０は、一方の入力信号ＩＮ１を入力する。入力された入力信号ＩＮ１は、処理回路３１によって読み込まれ、所定の処理が実行され、データＤＡＴＡ１に変換される。
【０１０３】
ステップＳ１１において、コントローラ１０は、この入力信号ＩＮ１が冗長化の対象であるか否かを判断する。この例では、入力信号ＩＮ１は、冗長化の対象であるため、処理は、次のステップＳ１２に遷移する。
【０１０４】
ステップＳ１２において、入力切替部１３の異常検出部２１は、処理済みデータＤＡＴＡ１に異常があるか否かを判定する。異常検出部２１で異常がないと判断された場合には、処理は、次のステップＳ１３に遷移する。
【０１０５】
ステップＳ１３において、異常検出部２１は、スイッチ２３を異常検出部２１の出力に接続する。
【０１０６】
ステップＳ１４において、入力切替部１３は、処理済みのデータＤＡＴＡ１を入力処理部１２に供給する。
【０１０７】
異常検出部２１において異常ありと判定された場合には、処理は、ステップＳ１５に遷移する。ステップＳ１５において、冗長化用入力モジュール４０の処理回路４１は、入力信号ＩＮ１を読み込んで、所定の処理を実行する。冗長化用入力モジュール４０では、入力モジュール３０で正常に生成された処理済みデータＤＡＴＡ１と同一の処理済みデータＤＡＴＡ１’が生成される。
【０１０８】
ステップＳ１６において、異常検出部２１は、スイッチ２３を冗長化用入力モジュール４０の出力に接続する。入力切替部１３は、処理済みデータＤＡＴＡ１’（＝ＤＡＴＡ１）を入力処理部１２に供給する。
【０１０９】
入力信号ＩＮ１の処理に続いて、入力信号ＩＮ２が入力モジュール３０に入力される。入力信号ＩＮ１と同様に、入力モジュール３０の処理回路３１において所定の処理が行われる（ステップＳ１０）。処理済みのデータＤＡＴＡ２は、入力切替部１３において、冗長化の対象か否かが判定される（ステップＳ１１）。データＤＡＴＡ２は、冗長化の対象ではないため、異常検出部２１において異常の有無を検出することなく、処理は、ステップＳ１３に遷移する。
【０１１０】
ステップＳ１３において、異常検出部２１は、スイッチ２３によって異常検出部２１の出力を入力処理部に接続する。ステップＳ１４において、入力処理部１２は、ＤＡＴＡ２を入力し、所定の処理を行うが、入力処理部１２は、たとえば割込処理等の異常処理を実行した後、他の処理等を行う。
【０１１１】
このようにして、入力側の各部は、冗長化要否信号によって冗長化を要するとされた入力信号の場合には、異常検出時に冗長化用入力モジュール４０の出力を供給するようにスイッチを切り替える。冗長化を要しないとされた入力信号の場合には、異常の有無にかかわらず入力モジュールの出力をそのまま供給する。つまり、入力される信号ごとに冗長化するか否かを重要度にもとづいて判断することによって、入力モジュール単位の冗長化を不要とすることができる。
【０１１２】
なお、入力側の冗長化の手順は上述に限られないのはいうまでもない。たとえば、入力信号の読み込みおよび変換を、入力モジュール３０と同時に冗長化用入力モジュール４０で行うようにしてもよい。また、上述では、冗長化を要する入力信号ＩＮ１の処理に続いて、冗長化を要さない入力信号ＩＮ２の処理を行う場合について説明したが、この例に限定されない。たとえば、冗長化を要する入力信号を続けて処理してもよいし、冗長化を要さない入力信号を続けて処理してもよい。複数の入力信号をシーケンシャルに読み込む場合に限らず、いくつかの入力信号を同時に読み込む等してももちろんかまわない。
【０１１３】
（出力側の動作）
図１０には、出力側の動作を説明するため簡素化されたコントローラ１０の一部、出力モジュール６０、冗長化用出力モジュール７０、および出力信号選択ユニット８０が示されている。この例では、出力モジュール６０によって、コントローラ１０の出力処理部１４から出力される２つのデータを、２つの出力機器（たとえばアクチュエータ）を駆動する電流に変換して出力する場合について説明する。入力側の場合と同様に、以下では、一方の出力電流ＯＵＴ３を冗長化し、他方の出力電流ＯＵＴ４を冗長化しないものとして説明する。
【０１１４】
図１０に示すように、出力処理部１４は、出力電流ＯＵＴ３に対応するディジタル形式のデータＤＡＴＡ３および出力電流ＯＵＴ４に対応するディジタル形式のデータＤＡＴＡ４を順次出力する。これらのデータＤＡＴＡ３，ＤＡＴＡ４は、出力モジュール６０の処理回路６１によって、それぞれ出力信号ＯＵＴ３，ＯＵＴ４に順次変換される。
【０１１５】
出力処理部１４から出力されたデータＤＡＴＡ３，ＤＡＴＡ４は、出力切替部１５に入力される。データＤＡＴＡ３，ＤＡＴＡ４は、出力切替部１５のスイッチ２７を介して、出力モジュール６０に入力される。出力モジュール６０に入力されたデータＤＡＴＡ３，ＤＡＴＡ４は、出力モジュール６０の処理回路６１によって、所望の電流値を有する出力電流ＯＵＴ３，ＯＵＴ４にそれぞれ変換される。一方の出力電流ＯＵＴ３は、出力モジュール６０の出力端子６３ａから出力される。他方の出力電流ＯＵＴ４は、出力モジュール６０の出力端子６３ｂから出力される。
【０１１６】
出力切替部１５のスイッチ２７は、１つの入力を２つの出力の間で切り替えて出力する。スイッチ２７の一方の出力は、出力モジュール６０に接続されている。スイッチ２７の他方の出力は、冗長化用出力モジュール７０に接続されている。
【０１１７】
出力切替部１５は、異常検出部２５を含む。異常検出部２５は、スイッチ２７のオンオフを制御する。異常検出部２５には、出力モジュール６０から出力される電流値がディジタルデータに再変換されてリードバックデータＲＢ３，ＲＢ４として入力される。異常検出部２５では、リードバックデータＲＢ３，ＲＢ４に異常があるか否かを判定し、異常がないときにはスイッチ２７の出力を出力モジュール６０の入力に接続する。リードバックデータＲＢ３，ＲＢ４に異常があるときには、スイッチ２７の出力を切替えて冗長化用出力モジュール７０の入力に接続する。
【０１１８】
異常検出部２５は、出力切替部１５に入力されたデータごとに、冗長化を要する出力信号であるか否かを判定し、その結果にしたがって、スイッチ２７を切り替えるか否かを決定する。冗長化要否信号ＲｙがＨレベル（冗長化を要する）に設定されているデータＤＡＴＡ３に対しては、出力モジュール６０における変換データに異常があるか否かを判定する。異常検出部２５は、出力モジュール６０において変換された出力信号ＯＵＴ３に異常がある場合には、スイッチ２７を冗長化用出力モジュール７０の入力に接続する。異常検出部２５は、出力モジュール６０のおいて変換された出力信号ＯＵＴ３に異常がない場合には、スイッチ２７を出力モジュール６０の入力に接続する。
【０１１９】
異常検出部２５は、冗長化要否信号ＲｙがＬレベル（冗長化を要さない）に設定されているデータＤＡＴＡ４に対しては、出力モジュール６０における変換データに異常があるか否かを判定しない。異常検出部２５は、出力モジュール６０において変換されたデータの異常の有無にかかわらず、スイッチ２７を出力モジュール６０の入力に接続する。
【０１２０】
出力モジュール６０は、出力切替部１５からデータＤＡＴＡ３，ＤＡＴＡ４を供給されて、これらのデータＤＡＴＡ３，ＤＡＴＡ４をそれぞれ出力電流ＯＵＴ３，ＯＵＴ４に変換する。出力モジュール６０は、変換した出力電流ＯＵＴ３，ＯＵＴ４を再度ディジタルデータに変換する。出力モジュール６０は、出力電流ＯＵＴ３をリードバックデータＲＢ３に変換し、出力電流ＯＵＴ４をリードバックデータＲＢ４に変換する。出力モジュール６０は、リードバックデータ出力端子６４からリードバックデータＲＢ３，ＲＢ４を出力する。リードバックデータＲＢ３，ＲＢ４は、出力切替部１５の異常検出部２５に入力され、異常検出部２５は、リードバックデータＲＢ３，ＲＢ４の異常有無を検出する。なお、出力モジュール６０は、冗長化を要しないものと設定されている出力信号については、出力電流へ変換後、リードバックデータへの再変換を行わないようにしてもよい。
【０１２１】
出力モジュール６０の出力端子６３ａ，６３ｂは、出力信号選択ユニット８０のマルチプレクサ８５ａ，８５ｂのそれぞれ一方の入力に接続されている入力端子８２ａ，８２ｂに接続されている。
【０１２２】
冗長化用出力モジュール７０は、出力切替部１５からデータＤＡＴＡ３を供給されて、出力電流ＯＵＴ３’に変換して出力する。冗長化用出力モジュール７０の処理回路７１における処理は、出力モジュール６０の処理回路６１における処理と同一である。したがって、冗長化用出力モジュール７０から出力される出力電流ＯＵＴ３’は、出力モジュール６０から正常に出力される出力電流ＯＵＴ３と同一である。
【０１２３】
冗長化用出力モジュール７０の出力端子７３は、出力信号選択ユニット８０のマルチプレクサ８５ａ，８５ｂの他方の入力に接続されている冗長入力端子８４に接続されている。
【０１２４】
出力信号選択ユニット８０は、２つのマルチプレクサ８５ａ，８５ｂを含んでいる。一方のマルチプレクサ８５ａは、出力モジュール６０の出力端子８３ａおよび冗長化用出力モジュール７０の出力端子７３を切り替えて出力する。他方のマルチプレクサ８５ｂは、出力モジュール６０の出力端子８３ｂおよび冗長化用出力モジュール７０の出力端子７３を切り替えて出力する。冗長化を要する出力電流ＯＵＴ３が流れるマルチプレクサ８５ａは、出力を、冗長化用出力モジュール７０の出力との間で切り替える。冗長化を要しない出力電流ＯＵＴ４が流れるマルチプレクサ８５ｂは、出力を出力モジュール６０の出力との接続に固定されている。
【０１２５】
冗長化を要する出力電流ＯＵＴ３が流れるマルチプレクサ８５ａは、出力切替部１５の異常検出部２５の出力に接続されている。異常検出部２５は、リードバックデータＲＢ３に異常が認められないときには、出力を、出力モジュール６０からの出力に接続する。リードバックデータＲＢ３に異常が認められたときには、マルチプレクサ８５ａは、異常検出部２５の出力にもとづいて、出力を、冗長化用出力モジュール７０からの出力に切り替える。
【０１２６】
冗長化を要しない出力電流ＯＵＴ４が流れるマルチプレクサ８５ｂは、出力切替部１５の異常検出部２５の出力に接続されているが、リードバックデータＲＢ４の異常の有無にかかわらず、出力を、出力モジュール６０の出力に接続する。
【０１２７】
図１１を用いて出力側の一連の動作について説明する。この例では、データＤＡＴＡ３を読み込んで処理した後、データＤＡＴＡ４を読み込んで処理する場合について説明する。
図１１に示すように、ステップＳ２０において、出力切替部１５は、スイッチ２７を出力モジュール６０の入力端子６２に接続する。コントローラ１０の出力処理部１４は、ラダープログラムにしたがって、データＤＡＴＡ３を出力する。データＤＡＴＡ３は、出力モジュール６０に供給される。
【０１２８】
ステップＳ２１において、出力モジュール６０の処理回路６１は、入力されたデータＤＡＴＡ３に所定の処理を施して、所望の電流値を有する出力電流ＯＵＴ３に変換する。
【０１２９】
ステップＳ２２において、コントローラ１０は、処理の対象のデータＤＡＴＡ３が冗長化の対象であるか否かを判断する。データＤＡＴＡ３について、冗長化要否信号ＲがＨレベル（冗長化を要する）であると判定した場合には、次のステップＳ２３へ遷移する。
【０１３０】
ステップＳ２３において、処理回路６１は、一旦変換した電流を再度ディジタルデータに変換して、変換されたデータをリードバックデータＲＢ３として異常検出部２５に送信する。
【０１３１】
ステップＳ２４において、異常検出部２５は、出力モジュール６０において変換された出力電流ＯＵＴ３には、異常がないと判断した場合には、スイッチ２７の位置をそのままに維持し、次のステップＳ２５に遷移する。
【０１３２】
ステップＳ２５において、異常検出部２５は、出力信号選択ユニット８０のマルチプレクサ８５ａの出力を出力モジュール６０の出力が接続される入力端子８２ａに接続する。
【０１３３】
ステップＳ２６において、出力モジュール６０は、出力電流ＯＵＴ３によって出力機器を駆動する。
【０１３４】
ステップＳ２３でリードバックデータＲＢ３に異常が認められた場合には、処理は、ステップＳ２７に遷移する。ステップＳ２７において、異常検出部２５は、スイッチ２７を切替えて、冗長化用出力モジュール７０の入力端子７２に接続する。
【０１３５】
ステップＳ２８において、異常検出部２５は、マルチプレクサ８５ａの出力を切替えて、冗長化用出力モジュール７０の出力に接続されている入力端子８４に接続する。
【０１３６】
ステップＳ２９において、冗長化用出力モジュール７０の処理回路７１は、入力されたデータを変換して所望の電流値を有する電流として出力する。
【０１３７】
出力処理部１４から、冗長化の対象でないデータＤＡＴＡ４が出力された場合には、ステップＳ２０，Ｓ２１は、上述と同様に処理されて、ステップＳ２２において、冗長化不要と判定される。冗長化を要しないと判定されたデータＤＡＴＡ４については、リードバックデータＲＢ４による異常有無の判定を行うことなく、あるいは異常有無の判定結果にかかわらず、出力電流は、出力モジュール６０から出力される。
【０１３８】
ステップＳ２５において、出力切替部１５のスイッチ２７は、そのまま出力モジュール６０のモジュールの入力に接続される。
【０１３９】
本実施形態のＰＬＣ１の作用および効果について説明する。
本実施形態のＰＬＣ１は、入力信号ごとおよび出力信号ごとに、機器影響度やプラント影響度等を考慮して重要度を計算する冗長化信号決定部１１を備えている。また、ＰＬＣ１は、冗長化信号決定部１１から供給される冗長化要否信号にもとづいて動作、非動作が設定される入力切替部１３と、入力信号選択ユニット５０と、出力切替部１５と、出力信号選択ユニット８０と、を備えている。そのため、入力信号ごとおよび出力信号ごとに、冗長化を要するか否かを定量的に決定することができ、冗長化を要する入力信号や出力信号に応じて冗長化用入力モジュールを用意することができる。したがって、故障を想定して、すべての入力モジュールおよび出力モジュールについて冗長化する必要がないので、低コストでＰＬＣ１を用いた信頼度の高いシステムを構築することができる。
【０１４０】
本実施形態のＰＬＣ１では、冗長化を判定するための重要度の計算に、入力信号や出力信号の機器等に対する影響度に限らず、機器の予備品の準備状況をリアルタイムで反映させた予備品データベースのデータを反映させている。また、重要度の計算に、プラントで稼働している機器が故障等した際の損失額にもとづいて算出される故障損失量データベースのデータを反映させている。そのため、重要度の決定には、プラントの現在および過去の稼働状況を定量的に反映させることができるとともに、リアルタイム性の高い部分冗長化が可能となり、信頼性の高いシステムを構築することができる。
【０１４１】
以上説明した実施形態によれば、プラント操業に対する影響度が高い入出力信号や、故障時の損害額（損失量）が高い入出力信号等を選択し、入出力信号単位で二重化する部分的冗長化によって、低コストで信頼性の高いプログラマブルコントローラ、冗長化方法およびコントローラを実現することができる。
【０１４２】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他のさまざまな形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明およびその等価物の範囲に含まれる。また、前述の各実施形態は、相互に組み合わせて実施することができる。
【符号の説明】
【０１４３】
１  プログラマブルロジックコントローラ（ＰＬＣ）、２  入力機器、４  出力機器、１０  コントローラ、１１  冗長化信号決定部、１２  入力処理部、１３  入力切替部、１４  出力処理部、１５  出力切替部、２１  異常検出部、２３  スイッチ、２５  異常検出部、２７  スイッチ、３０  入力モジュール、３１  処理回路、４０  冗長化用入力モジュール、４１  処理回路、５０  入力信号選択ユニット、５５  マルチプレクサ、５６  冗長出力端子、６０  出力モジュール、６１  処理回路、７０  冗長化用出力モジュール、７１  処理回路、８０  出力信号選択ユニット、８５ａ，８５ｂ  マルチプレクサ、９１〜９３  記憶部、１００  専用通信ネットワーク、１０１  汎用通信ネットワーク、１１０  入出力データベース、１２０  予備品データベース、１３０  故障損失量データベース、１４０  電源ユニット、１４１  常用電源ユニット、１４２  冗長電源ユニット、１４３  切替回路
【図１】
0006478904.tif 000003
【図２】
0006478904.tif 000004
【図３】
0006478904.tif 000005
【図４】
0006478904.tif 000006
【図５】
0006478904.tif 000007
【図６】
0006478904.tif 000008
【図７】
0006478904.tif 000009
【図８】
0006478904.tif 000010
【図９】
0006478904.tif 000011
【図１０】
0006478904.tif 000012
【図１１】
0006478904.tif 000013