(57)【要約】【課題】制御装置の故障時における作動の停止を低減すると共に、コストの上昇を抑制すること。【解決手段】制御システム１を構成する複数の制御装置１０が有する記憶部３０に、自己の制御装置１０が有する処理部である自己装置処理部に演算処理を行なわせる第１プログラムと、他の制御装置１０が有する処理部である他装置処理部に演算処理を行なわせる第２プログラムとを記憶させる。例えば、制御システム１が第１制御装置１１と第２制御装置１２とを有し、第１制御装置１１を自己の制御装置１０とし、第２制御装置１２を他の制御装置１０とした場合には、自己装置処理部は第１装置ＣＰＵ２１になり、他装置処理部は第２装置ＣＰＵ２２になる。また、第１制御装置１１が有する第１装置記憶部３１には、第１プログラムとなる第１装置用第１装置プログラム６１と、第２プログラムとなる第２装置用第１装置プログラム６２と記憶させる。【選択図】        図１
2007041953.tif 000002
【特許請求の範囲】
【請求項１】
制御装置が有する記憶部に、少なくとも自己の前記制御装置を作動させるプログラムである第１プログラムと、他の前記制御装置を作動させるプログラムである第２プログラムと、を記憶させ、
前記他の制御装置の正常時には、前記第１プログラムのみを用いることにより前記自己の制御装置を作動させ、
前記他の制御装置の異常時には、前記第１プログラムと前記第２プログラムとを用いることにより、前記自己の制御装置と前記他の制御装置とを作動させることを特徴とする制御装置のバックアップ方法。
【請求項２】
さらに、同一の前記他の制御装置を作動させる複数の前記第２プログラムを、複数の前記制御装置が有する複数の前記記憶部に記憶させ、前記他の制御装置の異常時には、前記第２プログラムの手順ごとに前記複数の第２プログラムのうちの１つの前記第２プログラムによって前記他の制御装置を作動させることを特徴とする請求項１に記載の制御装置のバックアップ方法。
【請求項３】
請求項１または２に記載の制御装置のバックアップ方法をコンピュータに実行させることを特徴とする制御装置のバックアップ用コンピュータプログラム。
【請求項４】
情報の演算処理を行なう複数の処理部と、前記処理部に接続されると共に互いに情報の送受信を行なうことのできる複数の通信部と、前記処理部に接続されると共に前記処理部に演算処理を行なわせるプログラムが記憶された複数の記憶部と、のうち少なくともそれぞれ１つずつの前記処理部と、前記通信部と、前記記憶部と、を備えた制御装置を複数有する制御システムにおいて、
前記記憶部には、少なくとも前記記憶部が設けられた自己の前記制御装置が有する前記処理部である自己装置処理部に演算処理を行なわせる前記プログラムである第１プログラムと、前記自己の前記制御装置と異なる前記制御装置が有する前記処理部である他装置処理部に演算処理を行なわせる前記プログラムと同一の演算処理を前記自己装置処理部に行なわせる前記プログラムである第２プログラムと、が記憶されており、
前記自己装置処理部は、前記他装置処理部の正常時には、前記第１プログラムによってのみ演算処理を行ない、前記他装置処理部の異常時には、前記第１プログラム及び前記第２プログラムによって演算処理を行ない、
さらに、前記他装置処理部の異常時には、前記自己装置処理部が設けられた前記制御装置が有する前記通信部と、前記他装置処理部が設けられた前記制御装置が有する前記通信部とで情報の送受信を行なうことにより、前記自己装置処理部が設けられた前記制御装置が有する前記記憶部に記憶された前記第２プログラムによって、前記他装置処理部が設けられた前記制御装置が作動することを特徴とする制御システム。
【請求項５】
さらに、１つの前記他装置処理部用の前記プログラムと同一の演算処理を行なう複数の前記第２プログラムが複数の前記記憶部に記憶されており、
前記他装置処理部の異常時には、前記複数の第２プログラムは、前記第２プログラムでの演算処理の手順ごとに前記第２プログラムが記憶された複数の前記記憶部に接続された複数の前記自己装置処理部のうち、いずれか１つの前記自己装置処理部によって演算処理されることを特徴とする請求項４に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置のバックアップ方法及び制御装置のバックアップ用コンピュータプログラム、並びに制御システムに関するものである。特に、この発明は、ＣＰＵを複数有する制御装置のバックアップ方法及び制御装置のバックアップ用コンピュータプログラム、並びに制御システムに関するものである。
【背景技術】
【０００２】
従来の制御システムでは、一部が故障した場合における制御システム全体の停止を抑制するために、様々な手法が用いられている。例えば、特許文献１では、アプリケーションプログラムを２箇所の記憶装置に記憶させており、制御システムの通常の運用中は、一方の記憶装置内のアプリケーションプログラムが実行されると共に、この記憶装置内のデータファイルが更新されながら運用される。また、この記憶装置の故障時には、他方の記憶装置内のアプリケーションプログラムが実行されることにより、制御システムは運用されるが、この記憶装置は、内容の書き換えが不能になっているため、他方の記憶装置の故障が影響されず、この記憶装置に記憶されているアプリケーションプログラムにより運用できる範囲内で制御システムは運用される。これにより、通常の運用中に実行されるアプリケーションプログラムが記憶されている記憶装置が故障した場合でも、他方の記憶装置に記憶されているアプリケーションプログラムで制御システムを運用することができるので、制御システム全体が停止することを抑制することができる。
【０００３】
【特許文献１】特開２０００−１０７８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の制御システムでは、通常の運用中に実行されるアプリケーションプログラムが記憶されている記憶装置以外に、この記憶装置が故障した場合に実行するアプリケーションプログラムを記憶させる記憶装置を、新たに設けなければならない。このため、コストが上昇する要因になっていた。
【０００５】
本発明は、上記に鑑みてなされたものであって、制御装置の故障時における作動の停止を低減すると共に、コストの上昇を抑制できる制御装置のバックアップ方法及び制御装置のバックアップ用コンピュータプログラム、並びに制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、この発明に係る制御装置のバックアップ方法は、制御装置が有する記憶部に、少なくとも自己の前記制御装置を作動させるプログラムである第１プログラムと、他の前記制御装置を作動させるプログラムである第２プログラムと、を記憶させ、前記他の制御装置の正常時には、前記第１プログラムのみを用いることにより前記自己の制御装置を作動させ、前記他の制御装置の異常時には、前記第１プログラムと前記第２プログラムとを用いることにより、前記自己の制御装置と前記他の制御装置とを作動させることを特徴とする。
【０００７】
この発明では、記憶部に自己の制御装置を作動させるプログラムである第１プログラムと、他の制御装置を作動させるプログラムである第２プログラムとを記憶させており、他の制御装置の異常時には、第２プログラムによって他の制御装置を作動させている。これにより、他の制御装置が有するＣＰＵの故障時などにおいても、自己の制御装置が有する記憶部に記憶された前記第２プログラムで、他の制御装置を作動させることにより、他の制御装置を作動させることができる。つまり、制御装置の作動のバックアップを行なうことができる。また、他の制御装置の異常時においても当該制御装置を作動させるために、自己の制御装置が有する記憶部に他の制御装置を作動させる第２プログラムを記憶させることによって他の制御装置を作動させているので、制御装置の作動を確保するための新たな機器を設ける必要がなく、機器を増設せずに他の制御装置の異常時における作動を確保している。これらの結果、制御装置の故障時における作動の停止を低減すると共に、コストの上昇を抑制することができる。また、本発明に係る制御装置のバックアップ用コンピュータプログラムによれば、前述の制御装置のバックアップ方法がコンピュータを利用して実現できる。
【０００８】
また、この発明に係る制御装置のバックアップ方法は、さらに、同一の前記他の制御装置を作動させる複数の前記第２プログラムを、複数の前記制御装置が有する複数の前記記憶部に記憶させ、前記他の制御装置の異常時には、前記第２プログラムの手順ごとに前記複数の第２プログラムのうちの１つの前記第２プログラムによって前記他の制御装置を作動させることを特徴とする。
【０００９】
この発明では、他の制御装置の異常時には、第２プログラムの手順ごとに複数の第２プログラムのうちの１つの第２プログラムによって他の制御装置を作動させているため、各第２プログラムが記憶されている記憶部を有する制御装置のうち、処理能力に余裕がある制御装置によって他の制御装置を作動させることができる。この結果、処理能力の低減を抑制しつつ、制御装置の故障時における作動の停止の低減を図ることができる。また、本発明に係る制御装置のバックアップ用コンピュータプログラムによれば、前述の制御装置のバックアップ方法がコンピュータを利用して実現できる。
【００１０】
また、この発明に係る制御システムは、情報の演算処理を行なう複数の処理部と、前記処理部に接続されると共に互いに情報の送受信を行なうことのできる複数の通信部と、前記処理部に接続されると共に前記処理部に演算処理を行なわせるプログラムが記憶された複数の記憶部と、のうち少なくともそれぞれ１つずつの前記処理部と、前記通信部と、前記記憶部と、を備えた制御装置を複数有する制御システムにおいて、前記記憶部には、少なくとも前記記憶部が設けられた自己の前記制御装置が有する前記処理部である自己装置処理部に演算処理を行なわせる前記プログラムである第１プログラムと、前記自己の前記制御装置と異なる前記制御装置が有する前記処理部である他装置処理部に演算処理を行なわせる前記プログラムと同一の演算処理を前記自己装置処理部に行なわせる前記プログラムである第２プログラムと、が記憶されており、前記自己装置処理部は、前記他装置処理部の正常時には、前記第１プログラムによってのみ演算処理を行ない、前記他装置処理部の異常時には、前記第１プログラム及び前記第２プログラムによって演算処理を行ない、さらに、前記他装置処理部の異常時には、前記自己装置処理部が設けられた前記制御装置が有する前記通信部と、前記他装置処理部が設けられた前記制御装置が有する前記通信部とで情報の送受信を行なうことにより、前記自己装置処理部が設けられた前記制御装置が有する前記記憶部に記憶された前記第２プログラムによって、前記他装置処理部が設けられた前記制御装置が作動することを特徴とする。
【００１１】
この発明では、記憶部に、自己の制御装置が有する自己装置処理部に演算処理を行なわせる第１プログラムと、他の制御装置が有する他装置処理部に演算処理を行なわせるプログラムと同一の演算処理を自己装置処理部に行なわせる第２プログラムとを記憶させている。これにより、他装置処理部の異常時には、自己装置処理部は第１プログラムと第２プログラムとによって演算処理を行ない、他装置処理部の故障などの異常時においても、自己装置処理部によって他装置処理部を有する他の制御装置を作動させることができる。つまり、制御装置の作動のバックアップを行なうことができる。また、他装置処理部の異常時においても他装置処理部を有する他の制御装置を作動させるために、自己の制御装置が有する記憶部に他装置処理部で演算処理を行なわせるプログラムと同一の演算処理を自己装置処理部に行なわせる第２プログラムを記憶させることによって他の制御装置を作動させているので、制御装置の作動を確保するための新たな機器を設ける必要がなく、機器を増設せずに他装置処理部の異常時における他の制御装置の作動を確保している。これらの結果、制御装置の故障時における作動の停止を低減すると共に、コストの上昇を抑制することができる。
【００１２】
また、この発明に係る制御システムは、さらに、１つの前記他装置処理部用の前記プログラムと同一の演算処理を行なう複数の前記第２プログラムが複数の前記記憶部に記憶されており、前記他装置処理部の異常時には、前記複数の第２プログラムは、前記第２プログラムでの演算処理の手順ごとに前記第２プログラムが記憶された複数の前記記憶部に接続された複数の前記自己装置処理部のうち、いずれか１つの前記自己装置処理部によって演算処理されることを特徴とする。
【００１３】
この発明では、他装置処理部の異常時には、第２プログラムの演算処理の手順ごとに第２プログラムが記憶された複数の記憶部に接続された複数の自己装置処理部のうち、いずれか１つの自己装置処理部によって演算処理されるため、これらの複数の自己装置処理部のうち、処理能力に余裕がある自己装置処理部によって他の制御装置を作動させることができる。この結果、処理能力の低減を抑制しつつ、制御装置の故障時における作動の停止の低減を図ることができる。
【発明の効果】
【００１４】
本発明に係る制御装置は、制御装置の故障時における作動の停止を低減すると共に、コストの上昇を抑制できる、という効果を奏する。
【発明を実施するための最良の形態】
【００１５】
以下に、本発明に係る制御装置のバックアップ方法及び制御装置のバックアップ用コンピュータプログラム、並びに制御システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、下記実施例における構成要素には、当業者が置換可能かつ容易なもの、或いは実質的に同一のものが含まれる。
【実施例１】
【００１６】
図１は、本発明の実施例１に係る制御システムの概略的な構成を示すブロック図である。同図に示す制御システム１は、複数の制御装置１０を有して構成されており、本発明に係る制御システムの一例として図１に示す制御システム１は、３つの制御装置１０を有している。この３つの制御装置１０は第１制御装置１１、第２制御装置１２、第３制御装置１３となっており、これらの各制御装置１０は、互いに情報の伝達が行なえるように電気的に接続されている。また、各制御装置１０は、それぞれ制御システム１の外部の機器７０に接続されており、電気的な信号により、これらの機器７０を制御可能に設けられている。なお、この機器７０は、制御装置１０によって制御可能な機器７０であれば、どのようなものでもよい。
【００１７】
各制御装置１０には、それぞれ情報の演算処理を行なう処理部であるＣＰＵ（Central Processing Unit）２０、ＣＰＵ２０に接続されると共にＣＰＵ２０との間で情報の伝達が可能な通信部であるネットワークカード４０、ＣＰＵ２０に接続される共にＣＰＵ２０に演算処理を行なわせる制御用プログラム６０が記憶された記憶部３０、ネットワークカード４０に接続されると共に外部の機器７０との間で互いに信号の伝達を行なうＩ／Ｏカード５０が、それぞれ１つずつ設けられている。また、ネットワークカード４０は、互いに他のネットワークカード４０に接続されており、互いに情報の送受信を行なうことができる。また、記憶部３０は、ハードディスク装置や光磁気ディスク装置、又はフラッシュメモリ等の不揮発性のメモリ（ＣＤ−ＲＯＭ等のような読み出しのみが可能な記憶媒体）や、ＲＡＭ（Random Access Memory）のような揮発性のメモリ、あるいはこれらの組み合わせにより構成することができる。
【００１８】
また、各制御装置１０に設けられるＣＰＵ２０のうち、第１制御装置１１に設けられるＣＰＵ２０は第１装置ＣＰＵ２１となっており、第２制御装置１２に設けられるＣＰＵ２０は第２装置ＣＰＵ２２となっており、第３制御装置１３に設けられるＣＰＵ２０は第３装置ＣＰＵ２３となっている。
【００１９】
また、各制御装置１０に設けられる記憶部３０のうち、第１制御装置１１に設けられる記憶部３０は第１装置記憶部３１となっており、第２制御装置１２に設けられる記憶部３０は第２装置記憶部３２となっており、第３制御装置１３に設けられる記憶部３０は第３装置記憶部３３となっている。
【００２０】
また、各制御装置１０に設けられるネットワークカード４０のうち、第１制御装置１１に設けられるネットワークカード４０は第１装置ネットワークカード４１となっており、第２制御装置１２に設けられるネットワークカード４０は第２装置ネットワークカード４２となっており、第３制御装置１３に設けられるネットワークカード４０は第３装置ネットワークカード４３となっている。
【００２１】
さらに、各制御装置１０に設けられるＩ／Ｏカード５０のうち、第１制御装置１１に設けられるＩ／Ｏカード５０は第１装置Ｉ／Ｏカード５１となっており、第２制御装置１２に設けられるＩ／Ｏカード５０は第２装置Ｉ／Ｏカード５２となっており、第３制御装置１３に設けられるＩ／Ｏカード５０は第３装置Ｉ／Ｏカード５３となっている。
【００２２】
また、記憶部３０に記憶されている制御用プログラム６０は、本発明に係る制御装置１０のバックアップ方法を実現するコンピュータプログラムとなっている。なお、このコンピュータプログラムは、コンピュータシステムにすでに記録されているコンピュータプログラムとの組み合わせによって、本発明に係る制御装置１０のバックアップ方法を実現できるものであってもよい。また、ＣＰＵ２０の機能を実現するための上記コンピュータプログラムをコンピュータで読み取り可能な記録媒体に記録して、この記録媒体に記録されたコンピュータプログラムをコンピュータシステムに読み込ませ、実行することにより本発明に係る制御装置１０のバックアップ方法を実行してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器などのハードウェアを含むものとする。
【００２３】
また、１つの記憶部３０には複数の制御用プログラム６０が記憶されている。つまり、１つの記憶部３０には、当該記憶部３０が設けられた自己の制御装置１０が有する処理部である自己装置処理部に演算処理を行なわせる制御用プログラム６０である第１プログラムと、自己の制御装置１０と異なる制御装置１０が有する処理部である他装置処理部に演算処理を行なわせる制御用プログラム６０と同一の演算処理を自己装置処理部に行なわせる制御用プログラム６０である第２プログラムと、が記憶されている。
【００２４】
例えば、自己の制御装置１０を第１制御装置１１とし、他の制御装置１０を第２制御装置１２とした場合には、第１制御装置１１の自己装置処理部は、第１装置ＣＰＵ２１となり、他の制御装置１０である第２制御装置１２が有する他装置処理部は第２装置ＣＰＵ２２となる。このため、第１制御装置１１の記憶部３０である第１装置記憶部３１は、第１装置ＣＰＵ２１に演算処理を行なわせる第１プログラムである第１装置用第１装置プログラム６１と、第２装置ＣＰＵ２２に演算処理を行なわせる制御用プログラム６０、即ち、第２装置記憶部３２に記憶された第２装置用第２装置プログラム６４と同一の演算処理を第１装置ＣＰＵ２１に行なわせる第２プログラムである第２装置用第１装置プログラム６２と、が記憶されている。
【００２５】
同様に、第２制御装置１２が有する第２装置記憶部３２には、第２制御装置１２を自己の制御装置１０とし、第３制御装置１３を他の制御装置１０とした場合における第１プログラムとなる第２装置用第２装置プログラム６４と、第２プログラムとなる第３装置用第２装置プログラム６５と、が記憶されている。さらに、第３制御装置１３が有する第３装置記憶部３３には、第３制御装置１３を自己の制御装置１０とし、第１制御装置１１を他の制御装置１０とした場合における第１プログラムとなる第３装置用第３装置プログラム６７と、第２プログラムとなる第１装置用第３装置プログラム６８と、が記憶されている。
【００２６】
また、各制御装置１０に設けられているネットワークカード４０は、当該ネットワークカード４０が設けられている制御装置１０が有するＣＰＵ２０との間で情報の伝達が可能になっており、さらに、異なる制御装置１０に設けられたネットワークカード４０同士はネットワーク回線（図示省略）によって接続されているため、他の制御装置１０に設けられるネットワークカード４０との間でも、情報の伝達が可能になっている。
【００２７】
例えば、第１制御装置１１に設けられる第１装置ネットワークカード４１は、第１制御装置１１に設けられる第１装置ＣＰＵ２１との間で情報の伝達が可能になっており、さらに、第２制御装置１２に設けられた第２装置ネットワークカード４２や、第３制御装置１３に設けられた第３装置ネットワークカード４３との間でも情報の伝達が可能になっている。つまり、第１装置ネットワークカード４１は、第１装置ＣＰＵ２１と、第２装置ネットワークカード４２と、第３装置ネットワークカード４３との間で互いに情報の伝達が可能になっている。
【００２８】
同様に、第２装置ネットワークカード４２は、第２装置ＣＰＵ２２と、第１装置ネットワークカード４１と、第３装置ネットワークカード４３との間で互いに情報の伝達が可能になっており、第３装置ネットワークカード４３は、第３装置ＣＰＵ２３と、第１装置ネットワークカード４１と、第２装置ネットワークカード４２との間で互いに情報の伝達が可能になっている。これらにより、第１制御装置１１と第２制御装置１２と第３制御装置１３とは、互いに情報の伝達が行なえるように接続されている。
【００２９】
また、各制御装置１０に設けられているＩ／Ｏカード５０は、当該Ｉ／Ｏカード５０が設けられている制御装置１０が有するＣＰＵ２０との間で情報の伝達が可能になっており、さらに、制御装置１０の外部の機器７０に電気的に接続され、この機器７０との間でも情報の伝達が可能になっている。
【００３０】
例えば、第１制御装置１１に設けられる第１装置Ｉ／Ｏカード５１は、第１制御装置１１に設けられる第１装置ＣＰＵ２１との間で情報の伝達が可能になっており、さらに、第１制御装置１１の外部の機器７０であり、第１制御装置１１に接続される機器７０である第１機器７１との間でも情報の伝達が可能になっている。つまり、第１装置Ｉ／Ｏカード５１は、第１装置ＣＰＵ２１と、第１機器７１との間で互いに情報の伝達が可能になっている。同様に、第２装置Ｉ／Ｏカード５２は、第２装置ＣＰＵ２２と、第２機器７２との間で互いに情報の伝達が可能になっており、第３装置Ｉ／Ｏカード５３は、第３装置ＣＰＵ２３と、第３機器７３との間で互いに情報の伝達が可能になっている。これにより、第１機器７１は第１制御装置１１によって制御可能になっており、第２機器７２は第２制御装置１２によって制御可能になっており、第３機器７３は第３制御装置１３によって制御可能になっている。
【００３１】
なお、これらのネットワークカード４０間や、Ｉ／Ｏカード５０と機器７０との間での情報の伝達は、これら間を、電気信号を伝達可能な電気コードなどの有線によって接続し、有線によって情報を伝達しもよく、また、電波や赤外線などの搬送波によって電気信号を伝達するなど無線によって情報を伝達してもよい。
【００３２】
この実施例１に係る制御システム１は以上のごとき構成からなり、以下、その作用について説明する。前記制御システム１は、通常の作動時には、各記憶部３０に記憶された第１プログラムによって作動する。例えば、通常作動時の第１制御装置１１について説明すると、第１装置ＣＰＵ２１は、第１装置記憶部３１に記憶された第１装置用第１装置プログラム６１によって演算処理を行なう。また、この第１装置ＣＰＵ２１は、第１装置ネットワークカード４１との間で情報の伝達が行なわれており、さらに、第１装置ネットワークカード４１は第２装置ネットワークカード４２及び第３装置ネットワークカード４３との間でも情報の伝達が行なわれている。このため、第１装置ＣＰＵ２１は、第１装置ネットワークカード４１を介して、第２制御装置１２及び第３制御装置１３との間でも情報の伝達が行なわれている。
【００３３】
また、第１装置ＣＰＵ２１は、第１機器７１に接続された第１装置Ｉ／Ｏカード５１との間でも情報の伝達が行なわれているため、第１装置Ｉ／Ｏカード５１を介して第１機器７１との間でも情報の伝達が行なわれている。これらにより、第１装置ＣＰＵ２１では、第１機器７１、第２制御装置１２及び第３制御装置１３からの情報を基に、第１装置用第１装置プログラム６１によって演算処理が行なわれている。第１装置ＣＰＵ２１による、この演算処理の結果は、第１装置Ｉ／Ｏカード５１に伝えられ、第１装置Ｉ／Ｏカード５１を介して第１機器７１に伝達される。これにより、第１機器７１は、第１制御装置１１によって制御される。また、第１装置ＣＰＵ２１による演算処理の結果のうち、必要な情報は、第１装置ネットワークカード４１を介して第２制御装置１２及び第３制御装置１３に伝達される。
【００３４】
第２制御装置１２や第３制御装置１３の場合も同様に、制御システム１の通常運転時には、第２制御装置１２では第２装置用第２装置プログラム６４によって第２装置ＣＰＵ２２に演算処理を行なわせることにより第２機器７２を制御し、第３制御装置１３では第３装置用第３装置プログラム６７によって第３装置ＣＰＵ２３に演算処理を行なわせることにより第３機器７３を制御している。
【００３５】
これに対し、複数の制御装置１０が有する複数のＣＰＵ２０のうちのいずれかに異常が発生した場合には、記憶部３０に記憶された第２プログラムもＣＰＵ２０に演算処理を行なわせ、制御システム１は、第１プログラムと第２プログラムとによって作動する。
【００３６】
具体的には、制御システム１の作動中には、制御装置１０に設けられた各ＣＰＵ２０は、各ネットワークカード４０を介してそれぞれ他のＣＰＵ２０に、自分自身が正常である場合には、正常である旨の信号を伝達する。これにより、互いに他のＣＰＵ２０が正常であることを認識する。一方、各ＣＰＵ２０は、自分自身に故障などの異常が発生している場合には、異常が発生している旨の信号を伝達する、または、正常である旨の信号を送らなくなる。いずれかのＣＰＵ２０から、異常である旨の信号が送られてくる、または、信号が送られて来ない場合には、そのＣＰＵ２０に異常が発生しているものと、他のＣＰＵ２０は判断する。この場合には、異常が発生しているＣＰＵ２０に演算処理を行なわせる第１プログラムと同一の演算処理を他のＣＰＵ２０に演算処理を行なわせる第２プログラムによって、この第２プログラムが記憶されている記憶部３０に接続されたＣＰＵ２０は演算処理を行なう。
【００３７】
例えば、第２装置ＣＰＵ２２から、第１装置ＣＰＵ２１及び第３装置ＣＰＵ２３に、第２装置ＣＰＵ２２が正常である旨の信号が送られて来ない場合には、第１装置ＣＰＵ２１及び第３装置ＣＰＵ２３は第２装置ＣＰＵ２２に異常が発生していると判断する。このように第２装置ＣＰＵ２２に異常が発生していると判断した場合には、第２装置ＣＰＵ２２の正常時に、第２装置ＣＰＵ２２に演算処理を行なわせる制御用プログラム６０である第２装置用第２装置プログラム６４と同一の演算処理を、第１装置ＣＰＵ２１に行なわせる制御用プログラム６０である第２装置用第１装置プログラム６２が、第１装置ＣＰＵ２１に演算処理を行なわせる。つまり、第１装置ＣＰＵ２１を自己装置処理部とした場合、第１装置ＣＰＵ２１は、他装置処理部である第２装置ＣＰＵ２２の異常時には、第１プログラムである第１装置用第１装置プログラム６１と、第２プログラムである第２装置用第１装置プログラム６２とによって演算処理を行なう。
【００３８】
また、第２装置ＣＰＵ２２の異常時には、第１制御装置１１が有する第１装置ネットワークカード４１と、第２制御装置１２が有する第２装置ネットワークカード４２とで情報の送受信を行ない、第１装置ＣＰＵ２１が、第２装置用第１装置プログラム６２によって演算処理を行なった結果を第１装置ネットワークカード４１から第２装置ネットワークカード４２に伝えられる。また、この場合には、第２装置ネットワークカード４２は直接第２装置Ｉ／Ｏカード５２との間で情報の伝達を行なう。
【００３９】
つまり、第２装置ネットワークカード４２は入出力の切替えを行なうことができ、第２装置ＣＰＵ２２の正常時には、第２装置ネットワークカード４２は第２装置ＣＰＵ２２との間で情報の伝達を行ない、第２装置ＣＰＵ２２の異常時には、第２装置Ｉ／Ｏカード５２との間で情報の伝達を行なう。従って、第２装置ＣＰＵ２２の異常時に、第１装置ＣＰＵ２１が第２装置用第１装置プログラム６２によって演算処理を行なった結果は、第１装置ネットワークカード４１及び第２装置ネットワークカード４２を介して第２装置Ｉ／Ｏカード５２に伝達される。さらに、この第２装置Ｉ／Ｏカード５２は第２機器７２に接続されているため、第２装置Ｉ／Ｏカード５２を介して第２機器７２は制御される。
【００４０】
このように、第２装置ＣＰＵ２２の異常時には、第１装置ネットワークカード４１及び第２装置ネットワークカード４２を介して第１装置ＣＰＵ２１と第２装置Ｉ／Ｏカード５２とが情報の送受信を行ない、第１装置ＣＰＵ２１が第２装置用第１装置プログラム６２によって演算処理を行なうことにより、第２制御装置１２は作動する。これにより、第２制御装置１２に接続されている第２機器７２は、第２装置用第１装置プログラム６２によって演算処理を行なう第１装置ＣＰＵ２１によって制御される。
【００４１】
図２は、実施例１に係る制御装置のバックアップ方法の処理手順を示すフロー図の一例であり、第１制御装置でのフロー図である。例えば、制御装置１０のバックアップ方法の処理手順を、第１制御装置１１に着目して説明すると、記憶部３０に記憶されている制御用プログラム６０を実行する際の第１制御装置１１では、まず、第１装置用第１装置プログラム６１を実行する（ステップＳＴ１）。第１装置用第１装置プログラム６１を実行することにより、第１装置ＣＰＵ２１は第１装置用第１装置プログラム６１の処理手順に応じて演算処理をし、演算処理の結果に応じて第１制御装置１１は作動するので、第１制御装置１１に接続された第１機器７１は、第１制御装置１１によって制御される。
【００４２】
次に、各ネットワークカード４０を介して各ＣＰＵ２０間で伝達を行ない、ＣＰＵ２０が正常であるかを判断する信号により、第２装置ＣＰＵ２２に異常が発生しているか否かを判断する（ステップＳＴ２）。この判断により、第２装置ＣＰＵ２２に異常が発生していないと判断された場合には、制御用プログラム６０の実行以外の処理に移行する、または、再び第１装置用第１装置プログラム６１を実行する。
【００４３】
これに対し、第２装置ＣＰＵ２２に異常が発生していると判断した場合には、第２装置用第１装置プログラム６２を実行する（ステップＳＴ３）。第２装置用第１装置プログラム６２を実行することにより、第１装置ＣＰＵ２１は第２装置用第１装置プログラム６２の処理手順に応じて演算処理をする。また、第２装置ＣＰＵ２２の異常時には、第２装置ネットワークカード４２は第２装置Ｉ／Ｏカード５２との間で情報の伝達を行なうように切り替えられる。このため、第１装置ＣＰＵ２１が第２装置用第１装置プログラム６２によって演算処理をした結果は、第１装置ネットワークカード４１及び第２装置ネットワークカード４２を介して第２装置Ｉ／Ｏカード５２に伝達される。これにより、第２制御装置１２は第１装置ＣＰＵ２１での演算処理の結果に応じて作動し、当該第２制御装置１２に接続された第２機器７２は、第２制御装置１２によって制御される。即ち、第２制御装置１２は第１装置ＣＰＵ２１によって作動する。第２装置用第１装置プログラム６２での所定の処理手順が終了したら、上記と同様に、制御用プログラム６０の実行以外の処理に移行する、または、再び第１装置用第１装置プログラム６１を実行する。
【００４４】
上記の説明は、第１制御装置１１に着目して説明したが、第２制御装置１２及び第３制御装置１３においても処理手順は同様である。つまり、第２制御装置１２では、第３装置ＣＰＵ２３の正常時には、第２機器７２のみを制御し、第３装置ＣＰＵ２３の異常時には、第２機器７２及び第３機器７３を制御する。また、第３制御装置１３では、第１装置ＣＰＵ２１の正常時には、第３機器７３のみを制御し、第１装置ＣＰＵ２１の異常時には、第３機器７３及び第１機器７１を制御する。
【００４５】
以上の制御システム１では、制御装置１０が有する記憶部３０に第１プログラムと第２プログラムとを記憶させているため、他の制御装置１０が有するＣＰＵ２０の異常時に、第２プログラムによって、異常が発生しているＣＰＵ２０が設けられた制御装置１０を作動させることができる。つまり、ＣＰＵ２０の異常時における制御装置１０の作動の確保、或いはバックアップを行なっている。これにより、この制御装置１０に接続された機器７０を制御できる。また、記憶部３０に、他の制御装置１０が有するＣＰＵ２０を作動させる制御用プログラム６０と同一の演算処理を、前記記憶部３０に接続されたＣＰＵ２０に行なわせる第２プログラムを記憶させることにより、ＣＰＵ２０の異常時においても制御装置１０を作動させているので、制御装置１０の作動を確保するための新たな機器７０を設ける必要がない。即ち、機器７０を増設せずにＣＰＵ２０の異常時における、当該ＣＰＵ２０が設けられた制御装置１０の作動を確保している。これらの結果、制御装置１０の故障時における作動の停止を低減すると共に、コストの上昇を抑制することができる。また、このように、制御装置１０の故障時における作動の停止を低減することができるので、各制御装置１０、或いは制御システム１全体の信頼性の向上を図ることができる。
【００４６】
また、１つの制御装置１０が有するＣＰＵ２０が故障しても他の制御装置１０が有する記憶部３０に記憶された第２プログラムとＣＰＵ２０とによって、故障したＣＰＵ２０を有する制御装置１０を作動させることができるので、信頼性のあまり高くないＣＰＵ２０を用いることができる。これにより、制御装置１０に設けるＣＰＵ２０として、リサイクル品を使用することができる。この結果、より確実にコストの上昇を抑制することができる。
【実施例２】
【００４７】
本実施例２に係る制御システムは、実施例１に係る制御システムと略同様の構成であるが、同一のＣＰＵに演算処理を行なわせる制御用プログラムが、複数の記憶部に記憶されている点に特徴がある。他の構成は実施例１と同様なので、その説明を省略するとともに、同一の符号を付す。図３は、本発明の実施例２に係る制御システムの概略的な構成を示すブロック図である。同図に示す制御システム８０では、１つの他装置処理部用の制御用プログラム６０と同一の演算処理を行なう複数の第２プログラムが複数の記憶部３０に記憶されている。例えば、第２装置用第２装置プログラム６４と同一の演算処理を行なう制御用プログラム６０が第１装置記憶部３１と第３装置記憶部３３との双方に記憶されており、第１装置記憶部３１には、第１装置記憶部３１における第２プログラムとして第２装置用第１装置プログラム６２が記憶されており、第３装置記憶部３３には、第３装置記憶部３３における第２プログラムとして第２装置用第３装置プログラム６９が記憶されている。
【００４８】
同様に、第１装置用第１装置プログラム６１と同一の演算処理を行なう制御用プログラム６０として、第２装置記憶部３２に第１装置用第２装置プログラム６６が記憶されており、第３装置記憶部３３に第１装置用第３装置プログラム６８が記憶されている。また、第３装置用第３装置プログラム６７と同一の演算処理を行なう制御用プログラム６０として、第１装置記憶部３１に第３装置用第１装置プログラム６３が記憶されており、第２装置記憶部３２に第３装置用第２装置プログラム６５が記憶されている。つまり、３つの制御装置１０に設けられた３つの記憶部３０には、互いに他の２つの制御装置１０を作動させることのできる制御用プログラム６０が記憶されている。
【００４９】
この実施例２に係る制御システム８０は以上のごとき構成からなり、以下、その作用について説明する。実施例２に係る制御システム８０は、通常の作動時には、実施例１に係る制御システム１と同様に、各記憶部３０に記憶された第１プログラムによって作動する。
【００５０】
これに対し、複数の制御装置１０が有する複数のＣＰＵ２０のうちのいずれかに異常が発生した場合には、異常が発生したＣＰＵ２０の正常時に演算処理を行なわせる制御用プログラム６０と同一の演算処理を行なう第２プログラムが複数の記憶部３０に複数記憶されているため、これらの第２プログラムが記憶された複数の記憶部３０に接続された複数のＣＰＵ２０のうち、いずれか１つのＣＰＵ２０は、当該第２プログラムによって演算処理を行なう。つまり、複数の第２プログラムのうち、いずれか１つの第２プログラムによって、ＣＰＵ２０に異常が発生した制御装置１０は作動する。
【００５１】
例えば、第２装置ＣＰＵ２２の異常時には、第１制御装置１１の第１装置記憶部３１に記憶された第２装置用第１装置プログラム６２と、第３制御装置１３の第３装置記憶部３３に記憶された第２装置用第３装置プログラム６９とのいずれか一方が第１装置ＣＰＵ２１または第３装置ＣＰＵ２３に対して演算処理を行なわせることにより、第２制御装置１２は作動する。ここで、第２装置用第１装置プログラム６２と、第２装置用第３装置プログラム６９との、どちらを実行するかについては、第１装置ＣＰＵ２１と第３装置ＣＰＵ２３との双方の負荷を比較して判断する。即ち、第２制御装置１２を作動させる制御用プログラム６０によって演算処理を行なうＣＰＵ２０のうち、負荷が小さい方のＣＰＵ２０に対して演算処理を行なわせる方の制御用プログラム６０を実行する。また、この判断は、第２制御装置１２を作動させる制御用プログラム６０、即ち、この制御用プログラム６０が記憶されている複数の記憶部３０における複数の第２プログラムの処理の手順、または、制御装置１０に接続された機器７０に対する制御の手順ごとに行なわれる。
【００５２】
図４は、実施例２に係る制御装置のバックアップ方法の処理手順を示すフロー図の一例であり、第２装置ＣＰＵの異常時における第２プログラムの判断手順を示すフロー図である。上述した処理手順の一例として、第２装置ＣＰＵ２２の異常時における処理手順を説明すると、第２装置ＣＰＵ２２の異常時には、第２装置用第１装置プログラム６２を第１装置ＣＰＵ２１か、第２装置用第３装置プログラム６９を第３装置ＣＰＵ２３で実行するため、まず、第１装置ＣＰＵ２１の現在の負荷を検出する（ステップＳＴ１１）。次に、第３装置ＣＰＵ２３の現在の負荷を検出する（ステップＳＴ１２）。
【００５３】
次に、検出した第１装置ＣＰＵ２１の負荷と、第３装置ＣＰＵ２３の負荷との双方の負荷の大きさを比較し、どちらの負荷の方が小さいかを判断する（ステップＳＴ１３）。この判断により、第１装置ＣＰＵ２１の負荷が第３装置ＣＰＵ２３の負荷以下であると判断された場合には、第１装置記憶部３１に記憶されている第２装置用第１装置プログラム６２を実行する（ステップＳＴ１４）。これにより、第２装置ＣＰＵ２２の正常時には当該第２装置ＣＰＵ２２で行なわれる演算処理が第１装置ＣＰＵ２１で行なわれる。つまり、第２装置用第１装置プログラム６２を実行することにより、第１装置ＣＰＵ２１は第２装置用第１装置プログラム６２の処理手順に応じて演算処理をし、その結果を第１装置ネットワークカード４１及び第２装置ネットワークカード４２を介して第２装置Ｉ／Ｏカード５２に伝達する。これにより、第２制御装置１２は第１装置ＣＰＵ２１での演算処理の結果に応じて作動し、当該第２制御装置１２に接続された第２機器７２は、第２制御装置１２によって制御される。即ち、第２制御装置１２は第１装置ＣＰＵ２１によって作動する。第２装置用第１装置プログラム６２での所定の手順が終了したら、制御用プログラム６０の実行以外の処理に移行する、または、制御用プログラム６０の次の手順に移行する。
【００５４】
これに対し、第１装置ＣＰＵ２１の負荷が、第３装置ＣＰＵ２３の負荷よりも大きいと判断された場合には、第２装置用第３装置プログラム６９を実行する（ステップＳＴ１５）。これにより、第２装置ＣＰＵ２２の正常時には当該第２装置ＣＰＵ２２で行なわれる演算処理が第３装置ＣＰＵ２３で行なわれる。つまり、第２装置用第３装置プログラム６９を実行することにより、第３装置ＣＰＵ２３は第２装置用第３装置プログラム６９の処理手順に応じて演算処理をし、その結果を第３装置ネットワークカード４３及び第２装置ネットワークカード４２を介して第２装置Ｉ／Ｏカード５２に伝達する。これにより、第２制御装置１２は第３装置ＣＰＵ２３での演算処理の結果に応じて作動し、当該第２制御装置１２に接続された第２機器７２は、第２制御装置１２によって制御される。即ち、第２制御装置１２は第３装置ＣＰＵ２３によって作動する。第２装置用第３装置プログラム６９での所定の手順が終了したら、制御用プログラム６０の実行以外の処理に移行する、または、制御用プログラム６０の次の手順に移行する。
【００５５】
上記の説明は、第２装置ＣＰＵ２２に異常が発生した場合について説明したが、第１装置ＣＰＵ２１や第３装置ＣＰＵ２３に異常が発生した場合においても処理手順は同様である。つまり、第１装置ＣＰＵ２１に異常が発生した場合には、第２装置ＣＰＵ２２の負荷と第３装置ＣＰＵ２３の負荷とを比較し、第２装置ＣＰＵ２２の負荷の方が小さい場合には、第１装置用第２装置プログラム６６を実行し、第３装置ＣＰＵ２３の負荷の方が小さい場合には第１装置用第３装置プログラム６８を実行する。また、第３装置ＣＰＵ２３に異常が発生した場合には、第１装置ＣＰＵ２１の負荷と第２装置ＣＰＵ２２の負荷とを比較し、第１装置ＣＰＵ２１の負荷の方が小さい場合には、第３装置用第１装置プログラム６３を実行し、第２装置ＣＰＵ２２の負荷の方が小さい場合には第３装置用第２装置プログラム６５を実行する。
【００５６】
以上の制御システム８０では、他装置処理部の異常時には、第２プログラムの演算処理の手順ごとに第２プログラムが記憶された複数の記憶部３０に接続された複数の自己装置処理部のうち、いずれか１つの自己装置処理部によって演算処理される。例えば、他装置処理部として第２装置ＣＰＵ２２に異常が発生した場合には、第２プログラムの演算処理の手順ごとに、第１制御装置１１や第３制御装置１３において第２プログラムである第２装置用第１装置プログラム６２、または第２装置用第３装置プログラム６９が、第１制御装置１１や第３制御装置１３における自己装置処理部となる第１装置ＣＰＵ２１、または第３装置ＣＰＵ２３とのうち、いずれか１つのＣＰＵ２０によって演算処理される。
【００５７】
これにより、これらの複数の自己装置処理部となるＣＰＵ２０のうち、現在の負荷が小さいＣＰＵ２０によって他の制御装置、つまり、上記の例の場合には第２制御装置１２を作動させることができる。このため、ＣＰＵ２０に異常が発生した他の制御装置１０を作動させる場合に、処理能力に余裕があるＣＰＵ２０によって、異常が発生しているＣＰＵ２０を有する制御装置１０を作動させることができるので、異常が発生しているＣＰＵ２０を有する制御装置１０を作動させる場合でも、処理能力が低下することを低減することができる。この結果、処理能力の低減を抑制しつつ、制御装置１０の故障時における作動の停止の低減を図ることができる。
【００５８】
なお、上述した実施例１及び実施例２では、３つの制御装置１０を有する制御システム１、８０について説明しているが、制御システム１、８０が有する制御装置１０は、２つまたは４つ以上でもよい。また、上述した実施例１及び実施例２では、１つの制御装置１０にＣＰＵ２０、記憶部３０、ネットワークカード４０、Ｉ／Ｏカード５０はそれぞれ１つずつ設けられているが、これらは１つの制御装置に複数設けられていてもよい。
【００５９】
また、上記の説明では、制御装置１０に設けられたＣＰＵ２０に故障などの異常が発生した場合について説明しているが、ＣＰＵ２０ではなく、記憶部３０に異常が発生した場合においても本発明を適用してもよい。記憶部３０に異常が発生した場合でも、その記憶部３０に記憶された制御用プログラム６０を実行できなくなるので、当該記憶部３０に接続されたＣＰＵ２０で演算処理を行なうことができなくなる。この場合でも本発明を適用することにより、異常が発生した記憶部３０を有する制御装置１０を、この制御装置１０以外の制御装置１０が有するＣＰＵ２０によって作動させることができる。
【産業上の利用可能性】
【００６０】
以上のように、本発明に係る制御装置のバックアップ方法及び制御装置のバックアップ用コンピュータプログラム、並びに制御システムは、複数の制御装置を有する制御システムに有用であり、特に、複数の制御装置間で互いに情報の伝達ができるように設けられている制御シシテムに適している。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施例１に係る制御システムの概略的な構成を示すブロック図である。
【図２】実施例１に係る制御装置のバックアップ方法の処理手順を示すフロー図の一例であり、第１制御装置でのフロー図である。
【図３】本発明の実施例２に係る制御システムの概略的な構成を示すブロック図である。
【図４】実施例２に係る制御装置のバックアップ方法の処理手順を示すフロー図の一例であり、第２装置ＣＰＵの異常時における第２プログラムの判断手順を示すフロー図である。
【符号の説明】
【００６２】
１  制御システム
１０  制御装置
１１  第１制御装置
１２  第２制御装置
１３  第３制御装置
２０  ＣＰＵ
２１  第１装置ＣＰＵ
２２  第２装置ＣＰＵ
２３  第３装置ＣＰＵ
３０  記憶部
３１  第１装置記憶部
３２  第２装置記憶部
３３  第３装置記憶部
４０  ネットワークカード
４１  第１装置ネットワークカード
４２  第２装置ネットワークカード
４３  第３装置ネットワークカード
５０  Ｉ／Ｏカード
５１  第１装置Ｉ／Ｏカード
５２  第２装置Ｉ／Ｏカード
５３  第３装置Ｉ／Ｏカード
６０  制御用プログラム
６１  第１装置用第１装置プログラム
６２  第２装置用第１装置プログラム
６３  第３装置用第１装置プログラム
６４  第２装置用第２装置プログラム
６５  第３装置用第２装置プログラム
６６  第１装置用第２装置プログラム
６７  第３装置用第３装置プログラム
６８  第１装置用第３装置プログラム
６９  第２装置用第３装置プログラム
７０  機器
７１  第１機器
７２  第２機器
７３  第３機器
８０  制御システム
【図１】
2007041953.tif 000003
【図２】
2007041953.tif 000004
【図３】
2007041953.tif 000005
【図４】
2007041953.tif 000006