(57)【特許請求の範囲】
【請求項１】
生産機械の動作を制御する制御装置が複数台通信可能に接続され、それぞれの制御装置で作成されるバックアップデータが通信順序にしたがって順番に他の制御装置に送信される生産システムに使用される制御装置であって、
前記制御装置は、
１つ前の通信順序に当たる制御装置から送信されてきたバックアップデータを受信する受信手段と、
受信したバックアップデータを記憶する記憶手段と、
記憶されているバックアップデータを最新のバックアップデータに更新する更新手段と、
更新したバックアップデータを次の通信順序に当たる制御装置に送信する送信手段と、を有し、
前記記憶手段は、
受信したバックアップデータを一時的に記憶するための第１の記憶領域と、
第１の記憶領域に記憶されているバックアップデータをコピーしそのバックアップデータを最新のバックアップデータに更新するための第２の記憶領域と、
を備えることを特徴とするバックアップ機能を備えた制御装置。
【請求項２】
前記バックアップデータには、すべての制御装置の更新時刻の異なるバックアップデータが含まれていることを特徴とする請求項１に記載のバックアップ機能を備えた制御装置。
【請求項３】
前記バックアップデータは、前記生産機械を停止直前の動作ステップから作業が開始できるようにするための復帰情報を含むことを特徴とする請求項１に記載のバックアップ機能を備えた制御装置。
【請求項４】
請求項１に記載のバックアップ機能を備えた制御装置が複数台通信可能に接続され、それぞれの制御装置で作成されるバックアップデータが通信順序したがって順番に他の制御装置に送信されることを特徴とする生産システム。
【請求項５】
前記バックアップデータには、すべての制御装置の更新時刻の異なるバックアップデータが含まれていることを特徴とする請求項４に記載の生産システム。
【請求項６】
前記バックアップデータは、前記生産機械を停止直前の動作ステップから作業が開始できるようにするための復帰情報を含むことを特徴とする請求項４に記載の生産システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、小容量の記憶装置を設けるだけでデータのバックアップが可能な、バックアップ機能を備えた制御装置およびその制御装置を使用した生産システムに関する。
【０００２】
【従来の技術】
近年、生産設備の動作は複雑化を増し、その動作を制御するためのプログラム量も膨大になっている。複雑な動作をする生産設備が故障によって停止した場合には、故障発生直前の動作ステップから作業を開始できるようにすることが望ましい。このため、生産設備がどのステップの動作まで進んだのかがわかるように、生産設備の動作履歴をバックアップ専用の装置を用いて収集している。
【０００３】
通常、動作履歴のバックアップの方法としては、ＲＡＩＤ1の手法、すなわちミラーリングまたはデュプレキシングの手法が用いられる。ミラーリングとは、コンピューターに接続した記憶装置にデータを書き込むときに、同一内容を同時に同一のインターフェースボードに接続されている別の記憶装置に書き込む方法をいうが、このミラーリングを実現させるためには、生産設備のコントローラ１台に１台のバックアップ用記憶装置を設けたり、コントローラと並列に予備のコントローラを設けたりする。デュプレキシングとは、コンピューターに接続した記憶装置にデータを書き込むときに、同一内容を同時に異なるインターフェースボードに接続されている別の記憶装置に書き込む方法をいうが、このデュプレキシングを実現させるためには、複数のコントローラを監視することができる上位の装置やバックアップ装置を設ける。
【０００４】
【発明が解決しようとする課題】
しかしながら、ミラーリングまたはデュプレキシングのいずれの手法を用いる場合でも、バックアップ用の記憶装置は必ず設ける必要がある。
【０００５】
また、バックアップ装置（バックアップ用の記憶装置およびその記憶制御のための装置を含む）は、通常は１台しか設けていないので、万が一バックアップ装置自体が故障したときには動作履歴が蓄積されない。このような不具合の発生を考慮すると、バックアップ装置自体バックアップする装置が必要になる。
【０００６】
さらに、バックアップ用の記憶装置にコントローラとまったく同じデータを記憶させたとしても、その記憶装置には、バックアップを停止した時（故障発生時）までのデータしか保存されていないので、故障検知のタイミングによってはバックアップされているデータ自体が壊れたデータであることもある。バックアップされているデータ自体が壊れているときには、故障発生直前の動作ステップから作業を開始することができなくなる。
【０００７】
本発明は、以上のような従来の技術の問題点に鑑みて成されたものであり、バックアップ専用の装置を設けずに、送信されてきたバックアップデータを保存できる小容量の記憶装置を用いるだけで、信頼性の高いバックアップが可能なバックアップ機能を備えた制御装置およびその制御装置を使用した生産システムの提供を目的とする。
【０００８】
【課題を解決するための手段】
上記した課題を解決し、目的を達成するため、請求項１に記載の発明にかかるバックアップ機能を備えた制御装置は、生産機械の動作を制御する制御装置が複数台通信可能に接続され、それぞれの制御装置で作成されるバックアップデータが通信順序にしたがって順番に他の制御装置に送信される生産システムに使用される制御装置であって、前記制御装置は、１つ前の通信順序に当たる制御装置から送信されてきたバックアップデータを受信する受信手段と、受信したバックアップデータを記憶する記憶手段と、記憶されているバックアップデータを最新のバックアップデータに更新する更新手段と、更新したバックアップデータを次の通信順序に当たる制御装置に送信する送信手段と、を有し、前記記憶手段は、受信したバックアップデータを一時的に記憶するための第１の記憶領域と、第１の記憶領域に記憶されているバックアップデータをコピーしそのバックアップデータを最新のバックアップデータに更新するための第２の記憶領域と、を備えることを特徴とする。
【０００９】
請求項２に記載の発明にかかるバックアップ機能を備えた制御装置は、請求項１に記載のバックアップ機能を備えた制御装置において、前記バックアップデータには、すべての制御装置の更新時刻の異なるバックアップデータが含まれていることを特徴とする。
【００１１】
請求項３に記載の発明にかかるバックアップ機能を備えた制御装置は、請求項１に記載のバックアップ機能を備えた制御装置において、前記バックアップデータは、前記生産機械を停止直前の動作ステップから作業が開始できるようにするための復帰情報を含むことを特徴とする。
【００１２】
請求項４に記載の発明にかかる生産システムは、請求項１に記載のバックアップ機能を備えた制御装置が複数台通信可能に接続され、それぞれの制御装置で作成されるバックアップデータが通信順序したがって順番に他の制御装置に送信されることを特徴とする。
【００１３】
請求項５に記載の発明にかかる生産システムは、請求項４に記載の生産システムにおいて、前記バックアップデータには、すべての制御装置の更新時刻の異なるバックアップデータが含まれていることを特徴とする。
【００１４】
請求項６に記載の発明にかかる生産システムは、請求項４に記載の生産システムにおいて、前記バックアップデータは、前記生産機械を停止直前の動作ステップから作業が開始できるようにするための復帰情報を含むことを特徴とする。
【００１５】
【発明の効果】
以上説明したように、本発明によれば、制御装置内に生産システムに備えられている他の制御装置のバックアップデータが記憶されるので、特に専用のバックアップ装置を設けることなく、バックアップが可能となる。また、同時に複数台の制御装置が故障した場合でも、生産機械を故障した時点から再起動させることができる。さらに、バックアップデータは、収集した時間に差を設けているので、バックアップデータ自体が壊れている場合でも、正常なバックアップデータを選別しそのうち最も最新のデータを用いて生産機械の動作を復旧させることができるという効果を奏する。
【００１６】
【発明の実施の形態】
以下に添付図面を参照して、本発明にかかるバックアップ機能を備えた制御装置およびその制御装置を使用した生産システムの好適な実施の形態を詳細に説明する。
【００１７】
図１は、本発明が適用される生産システムの制御系のブロック図である。この生産システムは、４台のコントローラ（制御装置）１０Ａ〜１０Ｄを備え、それぞれのコントローラは通信線２０に接続されている。各コントローラ１０Ａ〜１０Ｄは、たとえばロボットなどの外部装置（生産機械）３０Ａ〜３０Ｄの動作を個別に制御する。
【００１８】
おのおののコントローラ１０Ａ、１０Ｂ、１０Ｃ、１０Ｄは、通信部１２、情報処理部１４、記憶部１６、操作部１８を備えている。通信部１２は、他のコントローラと通信するためのインターフェースとして機能する。具体的には、バックアップデータの送受信をする。情報処理部１４は、接続されている外部装置の制御に必要な演算をしたり、他のコントローラと通信するための情報を処理したりする。記憶部１６は、情報処理部１４で処理されるプログラムを記憶したり、通信線２０を介して受信したバックアップデータや通信線２０に送信するバックアップデータを記憶したりする。操作部１８は、情報処理部１４の演算結果に基づいて、接続されている外部装置の動作を制御するインターフェースとして機能する。
【００１９】
なお、バックアップデータとは、外部装置がどのプログラムをどのステップの処理まで済んだのかがわかるようにするためのデータである。バックアップデータは、たとえば、プログラムＮｏ−仕向地−ブロックＮｏ−ステップＮｏ−Ｉ／Ｏデータを順に連ねたデータ（復帰情報）である。プログラムＮｏは、外部装置の作業種別を表すものである。仕向地は、どの国または地域に輸出するのかを表すものである。プログラムＮｏと仕向地によって処理されていたプログラムの種類が特定できる。ブロックＮｏ、ステップＮｏは、そのプログラムが何ブロックの何ステップまで進んだのかを表すものである。Ｉ／Ｏデータは、外部装置のＩ／Ｏのオン、オフ状態を示すデータである。ブロックＮｏ、ステップＮｏ、Ｉ／Ｏデータによって処理されていたプログラムのどこまでの処理が済んだのかがわかる。
【００２０】
コントローラに異常が生じ、故障したコントローラを再起動させるときまたは交換したときには、再起動させようとするコントローラまたは交換したコントローラにこのバックアップデータが記憶される。このため、交換したコントローラは、故障直前の状態から処理を開始でき、外部装置は、故障発生直前の動作ステップから作業を開始できる。
【００２１】
各コントローラ１０Ａ〜１０Ｄは、概略次のように動作する。情報処理部１４は、演算結果からバックアップデータを作成し記憶部１６に記憶されているバックアップデータに上書きする。なお記憶部１６は、受信したバックアップデータを記憶する第１の記憶部分と、そのバックアップデータをコピーして記憶する第２の記憶部分との２つの記憶部分を有している。さらにそれらの記憶部分は、コントローラが４台備えられている生産システムの場合、４つの領域に区分される。それぞれの領域には、あらかじめ定められたコントローラのバックアップデータが記憶される。
【００２２】
通信部１２は、記憶部６に記憶されている４台分のコントローラの最新のバックアップデータを一括して他の１つのコントローラに送信する。この最新のバックアップデータを受信したコントローラは、そのバックアップデータをそのコントローラの記憶部（第１の記憶部分）に記憶する。そして、そのコントローラは受信したバックアップデータを第２の記憶部分にコピーし、そのコピーしたバックアップデータのうち、自コントローラのバックアップデータだけを書き替え、書き替え後のバックアップデータをさらに他の１つのコントローラに送信する。このようにして、各コントローラのバックアップデータは、バックアップサイクル順序（通信順序）に応じて各コントローラを順番にシフトされる。
【００２３】
図２は、バックアップデータの更新状況の説明図面である。上記の生産システムにおいては、つぎのようにしてバックアップデータをシフトさせる。
【００２４】
図１に示した生産システムの場合、コントローラの数は４台であるので、記憶部の領域は４つに区分し、各区分、１台分のバックアップデータを記憶できるだけの容量を確保する。図２に示すように、第１領域１６Ａにはコントローラ１０Ａのバックアップデータが記憶され、第２領域１６Ｂにはコントローラ１０Ｂのバックアップデータが記憶され、第３領域１６Ｃにはコントローラ１０Ｃのバックアップデータが記憶され、第４領域１６Ｄにはコントローラ１０Ｄのバックアップデータが記憶される。
【００２５】
なお、図２において、Ａ0は、コントローラ１０Ａの最新のバックアップデータを、Ａ-1は、コントローラ１０Ａのバックアップサイクル１回前のバックアップデータを、Ａ-2は、コントローラ１０Ａのバックアップサイクル２回前のバックアップデータを、Ａ-3は、コントローラ１０Ａのバックアップサイクル３回前のバックアップデータをそれぞれ示す。
【００２６】
まず、コントローラ１０Ａが図のようなＡ0、Ｂ-3、Ｃ-2、Ｄ-1のようなバックアップデータをコントローラ１０Ｂに送信すると、コントローラ１０Ｂは、自分のバックアップデータが記憶されている第２領域に最新のバックアップデータＢ0を上書きする。その結果、Ｂ-3のバックアップデータがＢ0に更新される。同時に、バックアップサイクルが１回増えるので、Ａ0がＡ-1に、Ｃ-2がＣ-3に、Ｄ-1がＤ-2になる。つぎに、コントローラ１０Ｂが更新後のバックアップデータＡ-1、Ｂ0、Ｃ-3、Ｄ-2をコントローラ１０Ｃに送信すると、コントローラ１０Ｃは、自分のバックアップデータが記憶されている第３領域に最新のバックアップデータＣ0を上書きする。その結果、Ｃ-3のバックアップデータがＣ0に更新される。同時に、バックアップサイクルが１回増えるので、Ａ-1がＡ-2に、Ｂ0がＢ-1に、Ｄ-2がＤ-3になる。さらに、コントローラ１０Ｃが更新後のバックアップデータＡ-2、Ｂ-1、Ｃ0、Ｄ-3をコントローラ１０Ｄに送信すると、コントローラ１０Ｄは、自分のバックアップデータが記憶されている第４領域に最新のバックアップデータＤ0を上書きする。その結果、Ｄ-3のバックアップデータがＤ0に更新される。同時に、バックアップサイクルが１回増えるので、Ａ-2がＡ-3に、Ｂ-1がＢ-2に、Ｃ0がＣ-1になる。さらに、コントローラ１０Ｄが更新後のバックアップデータＡ-3、Ｂ-2、Ｃ-1、Ｄ0をコントローラ１０Ａに送信すると、コントローラ１０Ａは、自分のバックアップデータが記憶されている第１領域に最新のバックアップデータＡ0を上書きする。その結果、Ａ-3のバックアップデータがＡ0に更新される。同時に、バックアップサイクルが１回増えるので、Ｂ-2がＢ-3に、Ｃ-1がＣ-2に、Ｄ0がＤ-1になる。
【００２７】
以上のように、バックアップデータの更新を行って、更新後のバックアップデータを順次つぎのコントローラに送信するという処理を繰り返すと、１つのバックアップデータに、更新時刻の異なる４台分のバックアップデータが含まれることになる。このため、図３に示すように、たとえばコントローラ１０Ａとコントローラ１０Ｃの２台のコントローラに同時に異常が発生したとしても、コントローラ１０Ｂが記憶しているバックアップデータＡ-1、Ｂ0、Ｃ-3、Ｄ-2とコントローラ１０Ｄが記憶しているバックアップデータＡ-3、Ｂ-2、Ｃ-1、Ｄ0を用いて、交換用のコントローラを含むコントローラ１０Ａ〜１０Ｄを、故障発生直前の状態から作動させることができる。すなわち、本発明によれば、故障発生時に、少なくとも１台の正常なコントローラがあれば、そのバックアップデータを用いて、すべてのコントローラを復帰させることができる。
【００２８】
また、図４に示すように、正常なコントローラ１０Ｂのバックアップデータ自体が壊れている場合でも、他の複数台のコントローラ１０Ｃ、１０Ｄのバックアップデータを用いてコントローラ１０Ａを正常に復帰させることができる。
【００２９】
図５は、バックアップデータを収集しそのバックアップデータを用いてコントローラを復帰させるまでのフローチャートである。このフローチャートの処理を、図６も参照しながら説明する。なお、バックアップデータを送信する順番、すなわちバックアップサイクル順序は、コントローラ１０Ａ−１０Ｂ−１０Ｃ−１０Ｄ−１０Ａの順番であるとする。
【００３０】
コントローラ１０Ａ〜１０Ｄの通信部１２において、バックアップサイクル順序が１つ前のコントローラからバックアップデータを受信したら、そのバックアップデータを記憶部１６の第１の記憶部分に記憶する。
【００３１】
つまり、コントローラ１０Ａの通信部１２は、バックアップサイクル順序が１つ前のコントローラ、すなわちコントローラ１０Ｄの通信部１２から送信されたバックアップデータを受信し、このバックアップデータを記憶部１６の第１の記憶部分に記憶する。同時に、コントローラ１０Ｂの通信部１２は、コントローラ１０Ａの通信部１２から送信されたバックアップデータを受信し、コントローラ１０Ｃの通信部１２は、コントローラ１０Ｂの通信部１２から送信されたバックアップデータを受信し、コントローラ１０Ｄの通信部１２は、コントローラ１０Ｃの通信部１２から送信されたバックアップデータを受信する。このように、各コントローラは、自分の持っているバックアップデータをバックアップサイクル順序がつぎのコントローラに送信する。受信したバックアップデータは、それぞれのコントローラの記憶部１６の第１の記憶部分に記憶する（図５及び図６のＳ１）。
【００３２】
つぎに、各コントローラ１０Ａ〜１０Ｄは、記憶部１６の第１の記憶部分に記憶されているバックアップデータを第２の記憶部分にコピーし、そのコピーしたバックアップデータのうちの自コントローラのバックアップデータに最新のバックアップデータを上書きする。つまり、図６のＳ２の場合、コントローラ１０Ａは、記憶されているバックアップデータＡ、Ｂ、Ｃ、Ｄ、Ｅのうちの自コントローラのバックアップデータＡのみに最新のバックアップデータＡを上書きする（図５及び図６のＳ２）。
【００３３】
そして、各コントローラ１０Ａ〜１０Ｄは、記憶部１６の第２の記憶部分に記憶されているバックアップデータを、バックアップサイクル順序が次のコントローラに送信する。
【００３４】
つまり、コントローラ１０Ａの通信部１２は、バックアップサイクル順序が次のコントローラ、すなわちコントローラ１０Ｂの通信部１２に最新のバックアップデータを送信し、同時に、コントローラ１０Ｂの通信部１２は、コントローラ１０Ｃの通信部１２に最新のバックアップデータを送信し、コントローラ１０Ｃの通信部１２は、コントローラ１０Ｄの通信部１２に最新のバックアップデータを送信し、コントローラ１０Ｄの通信部１２は、コントローラ１０Ａの通信部１２に最新のバックアップデータを送信する（図５及び図６のＳ３）。
【００３５】
そして、各コントローラ１０Ａ〜１０Ｄは、受信したバックアップデータを記憶部１６の第１の記憶部分に記憶する（図５及び図６のＳ４）。
【００３６】
以上のバックアップデータをシフトさせる処理は、いずれかのコントローラに異常が発生するまで繰り返し行われる（Ｓ５：ＮＯ）。
【００３７】
いずれかのコントローラに異常が発生し、故障したコントローラが交換され、まだ復帰が行われていなければ（Ｓ５：ＹＥＳ）、交換されたコントローラは、故障していないコントローラから、交換されたコントローラのバックアップデータを収集する。たとえば、図１に示したコントローラ１０Ａが交換された場合には、自コントローラ（コントローラ１０Ａ）のバックアップデータをコントローラ１０Ｂ〜１０Ｄから収集する（Ｓ６）。バックアップデータの収集は、故障していないコントローラのすべてについて完了するまで行われる（Ｓ７：ＮＯ）。
【００３８】
故障していないすべてのコントローラから自コントローラのバックアップデータの収集が完了すると（Ｓ７：ＹＥＳ）、収集したバックアップデータの中から最新かつ正常なバックアップデータを検索する。最新のバックアップデータとは、更新時刻が最も現在の時刻に近いデータである。正常なバックアップデータであるか否かは、バックアップデータのフォーマットが崩れているか否か、収集したバックアップデータ相互を比較して、プログラムＮｏ、仕向地、ブロックＮｏ、ステップＮｏなどが明らかに間違っているかなどによって判断する（Ｓ８）。
【００３９】
そして、交換されたコントローラは、検索されたバックアップデータのうち、最新かつ正常なバックアップデータに基づいて異常発生直前の状態に復帰する（Ｓ９）。これによって、外部装置は、故障発生直前の動作ステップから作業を開始できるようになる。
【図面の簡単な説明】
【図１】本発明が適用される生産システムの制御系のブロック図である。
【図２】バックアップデータの更新状況の説明図面である。
【図３】複数のコントローラで異常が発生した場合の復帰状態を示す図である。
【図４】バックアップデータ自体に異常が発生した場合の復帰状態を示す図である。
【図５】バックアップデータを収集しそのバックアップデータを用いてコントローラを復帰させるまでのフローチャートである。
【図６】バックアップデータを収集する処理を示すフローチャートである。
【符号の説明】
１０Ａ〜１０Ｄ…コントローラ、
１２…通信部、
１４…情報処理部、
１６…記憶部、
１８…操作部、
２０…通信線、
３０Ａ〜３０Ｄ…外部装置。
【図１】
0003979068.tif 000002
【図２】
0003979068.tif 000003
【図３】
0003979068.tif 000004
【図４】
0003979068.tif 000005
【図５】
0003979068.tif 000006
【図６】
0003979068.tif 000007