(57)【要約】【課題】制御システムにおける制御動作を効率化する。【解決手段】本発明の一態様の制御システムは、入出力装置４０を備えた制御システム３５において、制御データを記憶するための共有記憶手段４１と、入出力装置４０から受信されたデータに基づく制御処理に利用される制御データを共有記憶手段４１に記憶する常用系の制御装置３６と、常用系の制御装置３６が故障した場合に、共有記憶手段４１に記憶されている制御データを読み出して制御処理を実行する待機系の制御装置３７と、常用系の制御装置３６と待機系の制御装置３７とによる入出力装置４０へのアクセスが重ならないように管理する切換手段３８とを具備する。【選択図】      図７
2006236371.tif 000002
【特許請求の範囲】
【請求項１】
入出力装置を備えた制御システムにおいて、
データを記憶するための共有記憶手段と、
前記入出力装置から受信されたデータに基づく制御処理に利用される制御データを前記共有記憶手段に記憶する常用系の制御装置と、
前記常用系の制御装置が故障した場合に、前記共有記憶手段に記憶されている制御データを読み出して制御処理を実行する待機系の制御装置と、
前記常用系の制御装置と前記待機系の制御装置とによる前記入出力装置へのアクセスが重ならないように管理する切換手段と
を具備したことを特徴とする制御システム。
【請求項２】
請求項１記載の制御システムにおいて、
前記常用系の制御装置は、第１の制御プログラムを実行し、
前記待機系の制御装置は、前記第１の制御プログラムと同一の制御処理を実現し前記第１の制御プログラムと並列動作する第２の制御プログラムを実行する
ことを特徴とする制御システム。
【請求項３】
入出力装置を備えた制御システムにおいて、
前記入出力装置に送信される送信データ及び前記入出力装置から受信される受信データを記憶するための共有記憶手段と、
前記共有記憶手段に記憶されている受信データを読み出し、前記共有記憶手段に送信データを記憶する複数の制御装置と、
前記入出力装置と前記共有記憶手段との間でデータを転送するデータ転送手段と
を具備したことを特徴とする制御システム。
【請求項４】
請求項３記載の制御システムにおいて、
前記データ転送手段は、
前記共有記憶手段に記憶されている前記入出力装置に送信すべきデータを所定間隔毎に又は任意のタイミングで前記入出力装置に送信する手段と、
前記複数の制御装置のいずれかが受信すべきデータを所定間隔毎に又は任意のタイミングで前記入出力装置から受信して前記共有記憶手段に記憶する手段と
を具備する
ことを特徴とする制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば鉄鋼プラント、製紙プラント、上下水システムなどの公共システムや、自動車産業などで利用される産業用システムなどに対する制御の効率化を実現するための制御装置に関する。
【背景技術】
【０００２】
制御対象にデータを出力したり制御対象からデータを入力する入出力装置を共有しながら複数の制御装置を同時に使用することで、産業用の制御装置の処理能力向上を図る場合がある。
【０００３】
図１１は、複数の制御装置が入出力装置を共有する従来の制御システムの構成を示すブロック図である。
【０００４】
この従来の制御システム１では、制御装置２、３がＩ／Ｏバス４を共有しており、各制御装置２、３がこのＩ／Ｏバス４を介して入出力装置５に任意にアクセス可能である。入出力装置５は制御対象６からデータを収集し、また制御対象にデータを提供する。
【０００５】
各制御装置２、３及び入出力装置５は、Ｉ／Ｏデータ（入出力データ）を記憶するためにそれぞれデータメモリ７、８及びＩ／Ｏメモリ９を備えている。
【０００６】
制御装置２によって入出力装置５がアクセスされる場合、データメモリ７上のＩ／ＯデータがＩ／Ｏバス４を介してＩ／Ｏメモリ９に記憶されたり、Ｉ／Ｏメモリ９上のＩ／ＯデータがＩ／Ｏバス４を介してデータメモリ７に記憶される。これにより、制御装置２と制御対象との間でデータが転送されることになる。
【０００７】
制御装置３によって入出力装置５がアクセスされる場合も上記の制御装置２の場合と同様であり、データメモリ８とＩ／Ｏメモリ９との間でＩ／Ｏデータが転送される。
【０００８】
図１２は、上記従来の制御システム１におけるデータ転送の状態を示すブロック図である。
【０００９】
Ｉ／Ｏメモリ９には、制御装置２用の領域９ａ、制御装置３用の領域９ｂ、制御装置２、３の双方用の共用領域９ｃとがある。
【００１０】
制御装置２は、制御装置２用の領域９ａや共用領域９ｃから読み出されたＩ／Ｏデータを受信してデータメモリ７に記憶し、またデータメモリ７のＩ／Ｏデータを送信して制御装置２用の領域９ａや共用領域９ｃに記憶する。
【００１１】
制御装置３も上記制御装置２と同様に入出力装置５との間でデータを転送する。
【特許文献１】特開昭５８−０５６０１８号公報
【特許文献２】特開昭６２−２２６３１２号公報
【特許文献３】特開平０８−２４９０２１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記の制御システムにおいては、複数の制御装置が入出力装置を任意にアクセス可能である。
【００１３】
しかし、各制御装置が入出力装置をアクセスするタイミングについて何の制約もないので、それぞれの制御装置が個別のタイミングで入出力装置５にアクセスし、各制御装置間でアクセスの同期がとれず、衝突が発生する場合がある。
【００１４】
また、共有される入出力装置からのＩ／Ｏデータを使用して複数の制御装置が同一の制御プログラムを実行する場合に、各制御装置によるＩ／Ｏデータの入力タイミングが異なると、同一のＩ／Ｏデータを使用して同一の制御プログラムが実行されても、制御結果に整合性のない場合が発生する。
【００１５】
例えば、ある制御装置が入出力装置にアクセスした後に入出力装置がＩ／Ｏデータの内容を更新し、その後他の制御装置が入出力装置にアクセスすると、同じＩ／Ｏデータに基づく同じ制御処理であっても各制御装置間で結果の整合性が確保されない。このような制御結果の不整合は、複数の制御装置が連携して制御を実行する場合に不都合となる。
【００１６】
また、従来の制御システムにおいて、それぞれの制御装置が同一の入出力装置から同一のＩ／Ｏデータを入力する場合には、制御装置の台数分のデータ入力が必要であり、入出力装置に対するアクセスに無駄が多くなる問題がある。特に、入出力装置へのＩ／Ｏアクセスは、メモリに対するアクセスよりも１００倍以上の時間を必要とするのが一般的であり、アクセス時間がかかる。
【００１７】
また、制御対象や入出力装置が設置されていない状態において、制御装置で実行する制御プログラムの検証を行う有効な方法が存在しないという問題がある。
【００１８】
また、複数の制御装置により多重化した制御を行う場合には、制御装置間で制御途中のデータを転送したり、制御装置を切り換えるための特別な多重化用制御装置が必要になり構成が複雑になるという問題がある。
【００１９】
本発明は、以上のような実情に鑑みてなされたもので、アクセス先へのアクセスを管理して、制御システムにおける制御の効率化を図ることを目的としている。
【課題を解決するための手段】
【００２０】
本発明を実現するにあたって講じた具体的手段について以下に説明する。
【００２１】
本発明の第１例の制御システムは、入出力装置を備えた制御システムであり、データを記憶するための共有記憶手段と、入出力装置から受信されたデータに基づく制御処理に利用される制御データを共有記憶手段に記憶する常用系の制御装置と、常用系の制御装置が故障した場合に、共有記憶手段に記憶されている制御データを読み出して制御処理を実行する待機系の制御装置と、常用系の制御装置と待機系の制御装置とによる入出力装置へのアクセスが重ならないように管理する切換手段とを具備する。
【００２２】
これにより、複数の制御装置のうちのいずれかの制御装置が故障しても、それまでの制御データが共有記憶手段に記憶されているため、他の制御装置が共有記憶手段に記憶されている制御データを利用して故障した制御装置の動作を迅速に引き継ぐことができる。
【００２３】
したがって、例えば常用系の制御装置が故障しても、すぐに待機系の制御装置に切り換えることができる。また、この場合、待機系の制御装置が常用系の制御装置の最新の制御データを利用できるため、両制御装置間で制御データを転送して常にその内容を更新する操作（以下、「トラッキング」という）が必要なく、トラッキング時間やトラッキング回路、トラッキング処理をなくすことができる。
【００２４】
第２例の制御システムは、第１例の制御システムにおいて、常用系の制御装置は、第１の制御プログラムを実行し、待機系の制御装置は、第１の制御プログラムと同一の制御処理を実現し第１の制御プログラムと並列動作する第２の制御プログラムを実行する。
【００２５】
この第２例においては、第１例の制御システムと同様の作用効果に加えて、複数の制御装置間で同一の制御処理を並列実行するため、一方の制御装置が故障してもそのまま制御処理を継続できる。
【００２６】
第３例の制御システムは、入出力装置を備えた制御システムであり、入出力装置に送信される送信データ及び入出力装置から受信される受信データを記憶するための共有記憶手段と、共有記憶手段に記憶されている受信データを読み出し、共有記憶手段に送信データを記憶する複数の制御装置と、入出力装置と共有記憶手段との間でデータを転送するデータ転送手段とを具備する。
【００２７】
この第３例においては、複数の制御装置から入出力装置へのデータ、及び入出力装置から複数の制御装置へのデータを一旦共有記憶手段に記憶する。そして、制御装置と独立した関係にあるデータ送信手段が共有記憶手段と入出力装置との間でデータを転送する。
【００２８】
これにより、複数の制御装置の多重化が可能であり、制御装置の台数が増減する場合であっても、アクセスに関する管理の手法を特に変更する必要がないので、制御装置の台数の変動に容易に対応できる。
【００２９】
また、例えばそれぞれの制御装置で異なる制御プログラムを並列に実行させることで、個別に異なる制御プログラムを実行させる場合よりも実行速度を向上させることができる。
【００３０】
また、例えば、複数の制御装置に同一のプログラムを格納し、任意の制御装置を常用系、他の制御装置を待機系として利用することもできる。この場合、待機系の制御装置も常用形の制御装置と同時に制御プログラムを実行して結果を共有記憶手段に記憶すれば、常用系の制御装置が故障してもデータ転送手段が待機系の制御装置からのデータを共有記憶手段と入出力装置との間で転送すればよい。
【００３１】
第４例の制御システムは、第３例の制御システムにおいて、データ転送手段は、共有記憶手段に記憶されている入出力装置に送信すべきデータを所定間隔毎に又は任意のタイミングで前記入出力装置に送信する手段と、複数の制御装置のいずれかが受信すべきデータを所定間隔毎に又は任意のタイミングで入出力装置から受信して共有記憶手段に記憶する手段とを具備する。
【００３２】
これにより第３例と同様の作用により同様の効果を得ることができる。
【発明の効果】
【００３３】
以上詳記したように本発明を適用すると、制御装置とこの制御装置にアクセスされる入出力装置を備える制御システムの動作を効率化できる。
【発明を実施するための最良の形態】
【００３４】
以下、図面を参照しながら本発明の実施の形態について説明する。
【００３５】
（第１の実施の形態）
本実施の形態においては、特定の制御装置が他の制御装置が実行すべき入出力装置に対するデータ入出力を代理実行する制御システムについて説明する。
【００３６】
図１は、本実施の形態に係る制御システムの構成を示すブロック図である。
【００３７】
この制御システム１０では、アクセス代理用の制御装置１１、アクセス依頼用の制御装置１２、この制御装置１１、１２からアクセス可能な共有メモリ１３がマイコンバス１６を介して接続されている。また、アクセス代理用の制御装置１１は、Ｉ／Ｏバス４を介して入出力装置１７に接続されており、このアクセス代理用の制御装置１１のみが入出力装置１７にアクセス可能である。
【００３８】
共有メモリ１３は、制御装置１１で扱うＩ／Ｏデータ用の領域１３ａと制御装置１２で扱うＩ／Ｏデータ用の領域１３ｂとを含む。
【００３９】
アクセス代理用の制御装置１１は、所定間隔毎に、あるいはアクセスを依頼する割り込み信号を入力した場合に、アクセス依頼用の制御装置１２の代わりに共有の入出力装置１７へのアクセスを代理実行するアクセス代理部１１ａを備え、またデータメモリ１４を備える。
【００４０】
アクセス依頼用の制御装置１２は、データメモリ１５を備え、アクセス代理用の制御装置１１によるアクセスの代理実行を利用して入出力装置１７との間でデータを送受信可能である。また、アクセス依頼用の制御装置１２は、自己が入出力装置１７へのアクセスを要求する場合に、アクセス代理用の制御装置１１に対して割り込み信号を出力する。
【００４１】
上記の制御装置１１、１２はマイコンバス１６を共有しており、共にこのマイコンバス１６上の共有メモリ１３にアクセス可能であり、それぞれ中枢部にマイコンやメモリを含んでいる。
【００４２】
入出力装置１７は、Ｉ／Ｏメモリ１８を備え、このＩ／Ｏメモリ１８は制御装置１１用の領域１８ａ、制御装置１２用の領域１８ｂ、制御装置１１、１２の双方用の共用領域１８ｃとを含む。
【００４３】
図２は、本実施の形態に係る制御システム１０が実行するデータ転送の状態を示すブロック図である。
【００４４】
この制御システム１０では、アクセス代理用の制御装置１１だけが入出力装置１７を直接アクセスする。
【００４５】
制御装置１１は、自己のデータメモリ１４と入出力装置１７のＩ／Ｏメモリ１８の領域１８ａ、１８ｃとの間でＩ／Ｏデータを転送する。
【００４６】
制御装置１１の備えるアクセス代理部１１ａは、Ｉ／Ｏメモリ１８の領域１８ａから受信したＩ／Ｏデータを共有メモリ１３上の制御装置１１用の領域１８ａに記憶する。
【００４７】
また、アクセス代理部１１ａは、制御装置１２と入出力装置１７との間のＩ／Ｏデータの転送を代理実行するために、所定間隔毎に、入出力装置１７のＩ／Ｏメモリ１８の領域１８ｂ、１８ｃから受信したＩ／Ｏデータを共有メモリ１３上の制御装置１２用の領域１３ｂに記憶し、また共有メモリ１３上の領域１３ｂに記憶されているＩ／ＯデータをＩ／Ｏメモリ１８の領域１８ｂ、１８ｃに記憶する。
【００４８】
一方、制御装置１２は、直接入出力装置１７におけるＩ／Ｏメモリ１８上のＩ／Ｏデータをアクセスすることはなく、自己の備えるデータメモリ１５と共有メモリ１３上の制御装置１２用の領域１３ｂとの間でデータを転送する。
【００４９】
共有メモリ１３と制御装置１２のデータメモリ１５との間のデータ転送は、Ｉ／Ｏバス４ではなくマイコンバス１６を使用して実行される。したがって、制御装置１２が入出力装置１７を直接アクセスする場合よりも、制御装置１が共有メモリにアクセスする方が高速にアクセス可能である。
【００５０】
ここで、制御装置１２から制御装置１１に割り込み信号が出力された場合の動作について詳しく説明する。
【００５１】
図３は、本実施の形態に係る制御システム１０の割り込み信号によるデータ転送の状態を示すブロック図である。
【００５２】
アクセス依頼用の制御装置１２は、所定間隔毎に又は任意のタイミングで入出力装置１７へのアクセスを求める場合には、共有メモリ１３上の特定領域１３ｃに対して、アクセスに必要なデータである受信用又は送信用のアクセス・データを記憶し、アクセス代理用の制御装置１１に割り込み信号を発信する。
【００５３】
受信用アクセス・データは、制御装置１２が入出力装置１７からのＩ／Ｏデータの受信を要求する場合に特定領域１３ｃに記憶されるデータであり、Ｉ／Ｏメモリ１８からＩ／Ｏデータを読み出すアドレス、アクセス種別、アクセスするワード数等のデータを含む。
【００５４】
一方、送信用アクセス・データは、制御装置１２が入出力装置１７へＩ／Ｏデータを送信する場合に特定領域１３ｃに記憶されるデータであり、Ｉ／Ｏデータ、アクセス種別、データ転送完了を示すハンドシェーク用フラグ等のデータを含む。
【００５５】
アクセス代理部１１ａは、割り込み信号を受信すると、特定領域１３ｃを参照してアクセスの種別を判定する。
【００５６】
そして、アクセス代理部１１ａは、アクセスの種別がデータ受信であると判定すると、受信用アクセス・データの示すＩ／Ｏメモリ１８上のＩ／Ｏデータを読み出し、共有メモリ１３に記憶する。制御装置１２は、この共有メモリ１３上に記憶されたＩ／Ｏデータを読み出し、アクセスが終了する。
【００５７】
一方、アクセス代理部１１ａは、アクセス要求がデータ送信であると判定すると、共有メモリ１３上のハンドシェーク用フラグによりデータの転送の完了確認後、共有メモリ１３上のＩ／Ｏデータを読み出し、Ｉ／Ｏメモリ１８上に記憶し、アクセスが終了する。
【００５８】
以上説明したように、本実施の形態に係る制御システム１０においては、複数の制御装置１１、１２が入出力装置１７を共有する場合に、制御装置１１のみが入出力装置１７へのアクセスを行い、他の制御装置１２のアクセスはこの制御装置１１により代理実行される。
【００５９】
これにより、制御装置１１、１２により直接入出力装置１７をアクセスする場合と同様の動作を実現しつつ、各制御装置１１、１２から入出力装置１７に対して実行されるアクセスを同期させることができる。
【００６０】
また、制御装置１１、１２間で同一のＩ／Ｏデータが利用される場合に、制御装置１１がアクセスしたＩ／Ｏデータを他の制御装置１２がそのまま利用できる。
【００６１】
これにより、入出力装置１７に対するアクセス回数を削減でき、データ入出力時間を短縮できる。加えて、各制御装置１１、１２間で同一のＩ／Ｏデータを使用して制御処理可能なため、制御結果の整合性を確保できる。
【００６２】
なお、本実施の形態においては、制御装置が２台の場合を例として説明しているが、アクセス代理用の制御装置１１を１台とし、アクセス依頼用の制御装置１２を２台以上としても同様に適用可能であり、同様の効果を得ることができる。この場合、制御装置１１ではない他の制御装置１２は上記と同様に動作する。
【００６３】
（第２の実施の形態）
本実施の形態においては、上記のような第１の実施の形態に係る制御システムにおいて、実際に入出力装置へのアクセスを実行する前に、正常に制御動作を実現可能か否かを確認するためのシミュレーション動作について説明する。
【００６４】
図４は、本実施の形態におけるシミュレーション動作によるデータ転送の状態を示すブロック図であり、図１、２と同一の部分については同一の符号を付してその説明を省略し、ここでは異なる部分についてのみ詳しく説明する。
【００６５】
上記の制御システム１０に入出力装置１７が備えられていない場合や制御装置１１と入出力装置１７がデータ転送可能でない場合に、制御装置１１の制御プログラムを検証するために、制御装置１２をいわゆるシミュレータとして入出力装置１７の代わりに利用する。
【００６６】
制御装置１１のアクセス代理部１は、シミュレーション・モードに入ると、上記のＩ／Ｏメモリ１８の代わりに、制御装置１１用のＩ／Ｏデータを写像するための共有メモリ１３上の領域１３ａにアクセスする。
【００６７】
制御装置１２は、制御装置１１によって記憶された共有メモリ１３上の領域１３ａのＩ／Ｏデータを読み出し、このＩ／Ｏデータを使用して制御対象６を模擬するシミュレーション・プログラム１２ａを実行する。
【００６８】
制御装置１２は、シュミレーション・プログラム１２ａの実行結果であるシミュレーション・データを共有メモリ１３上の領域１３ａに記憶する。
【００６９】
制御装置１１のアクセス代理部１１ａは、シミュレーション・データを共有メモリ１３上の領域１３ａから読み出して、結果の適否を判定する。
【００７０】
以上説明したように動作することで、本実施の形態に係る制御システムにおいては、制御装置１１を入出力装置１７とアクセス可能に接続していなくても、制御装置１１の制御プログラムのシミュレーションができる。これにより、実際に制御対象６に対して制御を実行する前に、制御システムによる制御処理の適否を判定できる。
【００７１】
なお、本実施の形態においては、制御装置１台のシミュレーションの場合を例として説明しているが、複数台の制御装置に対して同様のシミュレーションを行うことができる。
【００７２】
（第３の実施の形態）
入出力装置の台数が多い場合には、制御装置毎に専用の入出力装置を持つことがある。
【００７３】
本実施の形態においては、このように複数の制御装置がそれぞれ専用の入出力装置を持つ場合の効率化を実現する制御システムについて説明する。
【００７４】
図５は、本実施の形態に係る制御システムの構成を示すブロック図である。
【００７５】
この制御システム１９では、制御装置２０、２１と共有メモリ２２とがマイコンバス２３を介して互いにデータ転送可能に接続されている。
【００７６】
また、制御装置２０はＩ／Ｏバス２４を介して自己専用の入出力装置２５とデータ転送可能に接続されており、同様に制御装置２１もＩ／Ｏバス２６を介して自己専用の入出力装置２７とデータ転送可能に接続されている。
【００７７】
入出力装置２５は制御装置２０用の領域２８を含むＩ／Ｏメモリ２９を備え、同様に入出力装置２７は制御装置２１用の領域３０を含むＩ／Ｏメモリ３１を備える。
【００７８】
制御装置２０は、自己の備えるデータメモリ３２と入出力装置２５のＩ／Ｏメモリ２８との間でデータ転送されるＩ／Ｏデータｄ１をデータメモリ３２及び共有メモリ２２に記憶する。また、制御装置２０は、他の制御装置２１の備えるデータメモリ３３と入出力装置２７のＩ／Ｏメモリ３１との間でデータ転送されるＩ／Ｏデータｄ２を共有メモリ２２から受信し、データメモリ３２に記憶する。
【００７９】
制御装置２１に関しても、制御装置２０と同様に動作し、自己の備えるデータメモリ３３と共有メモリ２２にＩ／Ｏデータｄ２を記憶し、Ｉ／Ｏデータｄ１を共有メモリ２２から受信してデータメモリ３３に記憶する。
【００８０】
図６は、本実施の形態に係る制御システム１９が実行するデータ転送の状態を示すブロック図である。
【００８１】
制御システム１９では、制御装置２０がデータメモリ３２と自己専用の入出力装置２５のＩ／Ｏメモリ２９との間でＩ／Ｏデータｄ１を転送し、転送と同時にこのＩ／Ｏデータｄ１を共有メモリ２２上にも記憶する。
【００８２】
同様に、制御装置２１がデータメモリ３３と自己専用の入出力装置２７のＩ／Ｏメモリ３１との間でＩ／Ｏデータｄ２を転送し、転送と同時にＩ／Ｏデータｄ２を共有メモリ２２上にも記憶する。
【００８３】
そして、制御装置２０は、他の制御装置２１でデータ転送された共有メモリ２２上のＩ／Ｏデータｄ２を必要に応じて読み出し、データメモリ３２に記憶する。
【００８４】
同様に、制御装置２１は、他の制御装置２０でデータ転送された共有メモリ２２上のＩ／Ｏデータｄ１を必要に応じて読み出し、データメモリ３３に記憶する。
【００８５】
例えば、制御装置２０で他の制御装置２１用の監視連携処理３４ａが実行される場合に、共有メモリ２２へのアクセスにより取得したデータメモリ３２上のＩ／Ｏデータｄ２を利用できる。制御装置２１でも、他の制御装置２０用の監視連携処理３４ａが実行される場合に、データメモリ３３上のＩ／Ｏデータｄ１を利用できる。
【００８６】
以上説明したように、本実施の形態に係る制御システム１９においては、各制御装置２０、２１が自己専用の入出力装置２５、２７との間で高速にアクセス可能であり、さらに他の制御装置で扱われるＩ／Ｏデータを効率的に取得できる。
【００８７】
また、他の制御装置が管理する入出力の状態を監視しつつ連携して制御を実行でき、これにより制御システム１９における各制御装置２０、２１の制御動作の信頼性を向上させることができる。
【００８８】
また、本実施の形態に係る制御システム１９では、制御装置２０，２１の独立性を確保できる。したがって、一方の制御装置が故障しても他方の制御装置は制御を継続でき、制御システム１９の稼働率を向上させることができる。
【００８９】
なお、本実施の形態においては、制御装置が２台の場合を例として説明しているが、３台以上の場合でも同様に適用可能である。
【００９０】
（第４の実施の形態）
本実施の形態においては、入出力装置にアクセスする複数の制御装置を切り換えつつ実行される制御動作を効率化する制御システムについて説明する。
【００９１】
図７は、本実施の形態に係る制御システムの構成を示すブロック図である。
【００９２】
この制御システム３５では、常用系の制御装置３６及び待機系の制御装置３７が切換回路３８を介してＩ／Ｏバス３９に接続されており、Ｉ／Ｏバス３９はさらに入出力装置４０、共有メモリ４１と接続されている。
【００９３】
常用系の制御装置３６は、自己の備えるデータメモリ４２と入出力装置４０のＩ／Ｏメモリ４３との間でＩ／Ｏデータを転送しつつ、制御処理を実行する。
【００９４】
また、この常用系の制御装置３６は、制御処理の実行中に、例えば制御処理の途中に得られるデータ（制御の中間値）等のように制御処理に利用される制御データを適宜共有メモリ４１に記憶する。
【００９５】
待機系の制御装置３７は、常用系の制御装置３６が故障した場合に、共有メモリ４１上の制御データを受信して自己の備えるデータメモリ４４に記憶し、この制御データを利用して制御処理を継続する。
【００９６】
切換回路３８は、制御装置３６、３７から入出力装置４０及び共有メモリ４１に対して正常なアクセスがあった場合に、Ｉ／Ｏバス３９のバス権を調停し、制御装置３６，３７の間でＩ／Ｏバス３９を排他的に使用させる機能を持つ。
【００９７】
この制御システム３５において、複数の制御装置３６、３７が入出力装置４０と共有メモリ４１にアクセス可能であり、また共有メモリ４１を介して互いに他の制御装置の制御データを受信可能である。
【００９８】
図８は、本実施の形態に係る制御システム３５が実行するデータ転送の状態を示すブロック図である。
【００９９】
切換回路３８が制御装置３６にバス権を与えている間、この常用系の制御装置３６は、データメモリ４２とＩ／Ｏメモリ４３との間でＩ／Ｏデータを転送し、また制御データを共有メモリ４１に記憶する。
【０１００】
待機系の制御装置３７においてもこの制御装置３６と同様であり、切換回路３８によってバス権が与えられている間、データメモリ４４とＩ／Ｏメモリ４３との間でＩ／Ｏデータを転送し、また制御データを共有メモリ４１に記憶する。
【０１０１】
また、この制御システム３５では、制御装置３６が常用系、制御装置３７が待機系として動作するが、制御装置３６が制御データを逐次共有メモリ４１に記憶する。
【０１０２】
そして、常用系の制御装置３６が故障すると、すぐに待機系の制御装置３７が共有メモリ４１上の制御データを利用して常用系の制御装置３６で実行されていた制御処理を引き継ぐ。
【０１０３】
以上説明したように、本実施の形態に係る制御システム３５においては、各制御装置３６、３７の最新の制御データが共有メモリ４１に記憶されているため、常用系から待機系への処理の継承が効率化できる。
【０１０４】
また、制御データを複数の制御装置３６、３７間で転送して制御装置３６、３の双方が保持する制御データの内容を更新するための操作（トラッキング）が必要ないため、このトラッキングに必要な時間や、トラッキング回路等を省略できる。
【０１０５】
なお、本実施の形態においては、制御装置を常用系、待機系として使用する場合について説明しているが、この形態に限定されるものではない。
【０１０６】
例えば、制御装置３６、３７に同一の制御プログラムを実行させ、共有メモリ４１上に記憶するフラグによりプログラム間の同期をとる機能をこの制御プログラムに含めてもよい。これにより、制御装置３６、３７を並列実行させることができる。
【０１０７】
また、このように制御装置３６、３７を並列実行させる場合、各制御装置３６、３７が入出力装置４０に出力するＩ／Ｏデータを一旦共有メモリ４１上に記憶し、制御装置３６、３７のいずれか一方がこの共有メモリ４１上のＩ／Ｏデータを比較し、一致する場合にのみＩ／Ｏデータを入出力装置４０に出力するとしてもよい。
【０１０８】
これにより、入出力装置４０に適切なＩ／Ｏデータを出力することができる。また、この場合に、この比較及び出力を実行する制御装置を制御システム３５に追加してもよい。
【０１０９】
また、本実施の形態においては、制御装置が２台の場合を例として説明しているが、３台以上の場合でも同様に適用可能である。
【０１１０】
（第５の実施の形態）
本実施の形態においては、少なくとも一つの制御装置からアクセスされる共有メモリと入出力装置との間のデータ転送を一括して実行する制御システムについて説明する。
【０１１１】
図９は、本実施の形態に係る制御システムの構成を示すブロック図である。
【０１１２】
この制御システム４５では、制御装置４６、４７が共有メモリ４８、データ転送回路４９、Ｉ／Ｏバス５０を介して入出力装置５１と接続されている。
【０１１３】
制御装置４６，４７及び入出力装置５１は、それぞれデータメモリ５２、５３及びＩ／Ｏメモリ５４を備えている。
【０１１４】
データ転送回路４９は、複数の制御装置４６、４７からの指定に基づいて、共有メモリ４８とＩ／Ｏメモリ５４との間でデータを一括転送する回路である。
【０１１５】
具体的には、このデータ転送回路４９は、制御装置４６、４７からの指定にしたがってＩ／Ｏメモリ５４上のＩ／Ｏデータを共有メモリ４８に記憶する入力機能４９ａ、及び制御装置４６，４７からの指定にしたがって共有メモリ４８上のＩ／ＯデータをＩ／Ｏメモリ５４に記憶する出力機能４９ｂを含んでいる。
【０１１６】
例えば、共有メモリ４８上に送信用領域と受信用領域とを設け、複数の制御装置４６、４７のいずれかが送信用領域にＩ／Ｏデータを記憶し、データ転送回路４９に対してＩ／Ｏメモリ５４のアドレス等を指定すると、データ転送回路４９は指定されたＩ／Ｏメモリ５４のアドレスにＩ／Ｏデータを記憶する。
【０１１７】
一方、例えば複数の制御装置４６、４７のいずれかがデータ転送回路４９に対してＩ／Ｏメモリ５４のアドレス等を指定すると、データ転送装置４９は指定されたＩ／Ｏメモリ５４のアドレスに記憶されているＩ／Ｏデータを読み出し、共有メモリ４８の受信用領域に記憶する。
【０１１８】
これにより制御装置４６、４７は、共有メモリ４８にアクセスするのみで入出力装置５１へのアクセスが可能となる。
【０１１９】
図１０は、本実施の形態に係る制御システム４５が実行するデータ転送の状態を示すブロック図である。
【０１２０】
この制御システム４５では、制御装置４６、４７が入出力装置５１に送信するＩ／Ｏデータを共有メモリ４８に記憶し、また共有メモリ４８のアドレス、Ｉ／Ｏメモリ５４のアドレス、データ数をデータ転送回路４９に指定する。
【０１２１】
データ転送回路４９は、指定内容にしたがって、共有メモリ４８上のＩ／ＯデータをＩ／Ｏメモリ５４に記憶する。
【０１２２】
また、データ転送回路４９は、制御装置４６、４７から指定されたＩ／Ｏメモリ５４のアドレスに記憶されているＩ／Ｏデータを読み出し、制御装置４６、４７から指定された共有メモリ４８のアドレスに記憶する。
【０１２３】
制御装置４６、４７は、指定した共有メモリ４８のアドレスにＩ／Ｏデータが記憶されると、そのＩ／Ｏデータを読み出す。
【０１２４】
上記の動作を繰り返すことで、通常のアクセスと同様の動作を実行可能である。また、この制御システム４５の制御装置４６、４７では、同一のプログラムを並列に実行させてもよいし、異なるプログラムを並列に実行させてもよい。
【０１２５】
以上説明したように、本実施の形態に係る制御システム４５においては、共有メモリ４８を介して制御装置４６，４７と入出力装置５１との間でＩ／Ｏデータを転送するため、制御装置の台数を増減する場合の制御動作の変更を削減できる。したがって、制御装置の台数の変動に容易に対処できる。
【０１２６】
また、複数の制御装置に互いに異なるプログラムを実行させることで、プログラムの並列処理が可能であり、実行速度を向上させることができる。
【０１２７】
また、複数の制御装置に同一のプログラムを格納し、通常は一方の制御装置のみを常用系として稼働させ、この一方の制御装置が故障した場合に待機系の他の制御装置で処理をバックアップさせることで、容易に制御システム４５の信頼性を向上させることができる。さらに、この場合、待機系の制御装置でも並行してプログラムを実行させ、その結果を共有メモリに記憶しておく。そして、常用系の制御装置が故障した場合に、データ転送回路４９に対して共有メモリ４８からＩ／Ｏメモリ５４へ出力するデータのアドレス指定を変更することで、早期にバックアップの処理を開始できる。
【０１２８】
なお、本実施の形態においては、制御装置が２台の場合を例として説明しているが、この制御システム４５の制御装置は１台以上であればよい。
【０１２９】
また、本実施の形態においては、制御装置４６、４７がデータ転送回路４９にアクセスに関する指定を出力するとしているが、例えば制御装置４６、４７がアクセスに関する指定を共有メモリ４８に記憶し、データ転送回路４９がこの共有メモリ４８上の指定を読み出すとしてもよい。
【０１３０】
上記の各実施の形態においては制御装置が入出力装置にアクセスする場合を例として説明しているが、例えば入出力装置に代えて制御装置、計算機、データベース、通信装置等をアクセス先とする場合にも同様に適用可能である。
【図面の簡単な説明】
【０１３１】
【図１】本発明の第１の実施の形態に係る制御システムの構成を示すブロック図。
【図２】同実施の形態に係る制御システム１０が実行するデータ転送の状態を示すブロック図。
【図３】同実施の形態に係る制御システムの割り込み信号によるデータ転送の状態を示すブロック図。
【図４】本発明の第２の実施の形態におけるシミュレーション動作によるデータ転送の状態を示すブロック図。
【図５】本発明の第３の実施の形態に係る制御システムの構成を示すブロック図。
【図６】同実施の形態に係る制御システムが実行するデータ転送の状態を示すブロック図。
【図７】本発明の第４の実施の形態に係る制御システムの構成を示すブロック図。
【図８】同実施の形態に係る制御システムが実行するデータ転送の状態を示すブロック図。
【図９】本発明の第５の実施の形態に係る制御システムの構成を示すブロック図。
【図１０】同実施の形態に係る制御システムが実行するデータ転送の状態を示すブロック図。
【図１１】複数の制御装置が入出力装置を共有する従来の制御システムの構成を示すブロック図。
【図１２】従来の制御システムにおけるデータ転送の状態を示すブロック図。
【符号の説明】
【０１３２】
１，１０，１９，３５，４５…制御システム、２，３，１１，１２，２０，２１，３６，３７，４６，４７…制御装置、４，２４，２６，３９，５０…Ｉ／Ｏバス、５，１７，２５，２７，４０，５１…入出力装置、６…制御対象、７，８，１４，１５，３２，３３，４２，４４，５２，５３…データメモリ、９，１８，２９，３１，４３，５４…Ｉ／Ｏメモリ、１３，２２，４１，４８…共有メモリ、３８…切換回路、４９…データ転送回路
【図１】
2006236371.tif 000003
【図２】
2006236371.tif 000004
【図３】
2006236371.tif 000005
【図４】
2006236371.tif 000006
【図５】
2006236371.tif 000007
【図６】
2006236371.tif 000008
【図７】
2006236371.tif 000009
【図８】
2006236371.tif 000010
【図９】
2006236371.tif 000011
【図１０】
2006236371.tif 000012
【図１１】
2006236371.tif 000013
【図１２】
2006236371.tif 000014