(57)【特許請求の範囲】
【請求項１】
複数のコントローラと、入力端および出力端とデータを交換する少なくとも一つのＩ／Ｏ入出力装置をシステムバスに実装し、並列に運転する並列型コントローラシステムにおいて、
Ｉ／Ｏ入出力装置はコントローラからデータの書き込みおよび読み出しが可能な共有メモリを備え、コントローラが前記共有メモリヘデータを書き込むことでＩ／Ｏ出力値の更新が可能となり、またコントローラが前記共有メモリのデータを読み出すことでＩ／Ｏ入力値の取り込みが可能となる手段を有するとともに、複数のコントローラからシステムバス経由で同一のＩ／Ｏ入出力装置の前記共有メモリに対して直接データの書き込みおよび読み出しを行うことが可能となる手段を有することを特徴とする並列型コントローラシステム。
【請求項２】
請求項１に記載の並列型コントローラシステムにおいて、前記複数のコントローラは、自他コントローラによる前記Ｉ／Ｏ入出力装置の使用状態を示すＩ／Ｏ入出力装置使用マップ並びに前記Ｉ／Ｏ入出力装置の管理状態を示すＩ／Ｏ入出力装置管理マップをそれぞれ有し、前記複数のコントローラが同一のＩ／Ｏ入出力装置に対して入出力処理を行う場合に、稼動状態になったコントローラのうち、前記Ｉ／Ｏ入出力装置使用マップ並びに前記Ｉ／Ｏ入出力装置管理マップを参照して決定される一つのコントローラが、前記Ｉ／Ｏ入出力装置の動作開始、停止および診断の管理を行う管理権を持ち、前記管理権を持つコントローラが前記Ｉ／Ｏ入出力装置の管理を行う手段を備えたことを特徴とする並列型コントローラシステム。
【請求項３】
請求項２に記載の並列型コントローラシステムにおいて、前記管理権を持つコントローラが管理を継続できない状態になった場合、他のコントローラが管理権を取得して前記Ｉ／Ｏ入出力装置に対する管理を引き継ぐ手段を備えたことを特徴とする並列型コントローラシステム。
【請求項４】
請求項３に記載の並列型コントローラシステムにおいて、前記管理権を持つコントローラは一定の周期で前記Ｉ／Ｏ入出力装置に対してアクセスを行うものとし、前記Ｉ／Ｏ入出力装置が、一定時間いずれのコントローラからもアクセスがないことを検出した場合に、前記Ｉ／Ｏ入出力装置自身が動作を停止する手段を備えたことを特徴とする並列型コントローラシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、Ｉ／Ｏ入出力装置を用い、プラントを構成する各種設備機器及び装置に対するプロセス入出力を制御する複数のコントローラが並列運転する並列型コントローラシステムに関わる。
【０００２】
【従来の技術】
従来、コントローラとＩ／Ｏ入出力装置との数の関係は１：１（または１：Ｎ）の関係であり、１つのＩ／Ｏ入出力装置に対してＩ／Ｏ入出力処理を行うコントローラは常に１台であった。
【０００３】
ここで、Ｉ／Ｏ入出力装置とは複数の入力端（センサ等）・出力端（バルブ等）と伝送を介して入出力データを交換する装置である。
【０００４】
【発明が解決しようとする課題】
複数のコントローラから構成される並列型コントローラシステムでは、コントローラとＩ／Ｏ入出力装置との数の関係が１：Ｎであると最低でもコントローラの数だけのＩ／Ｏ入出力装置が必要となる。そのためコストが高くなるとともに実装効率が悪くなる。そこで、一つの並列型コントローラシステム内に含まれるＩ／Ｏ入出力装置の数を少なくするために、１つのＩ／Ｏ入出力装置に対して複数のコントローラがＩ／Ｏ入出力処理を行えるようにすることが求められる。
【０００５】
本発明は、このような点に鑑み為されたもので、複数のコントローラから一つのＩ／Ｏ入出力装置に対してＩ／Ｏ入出力可能とすることにより、システムのコストを低減させるとともに実装効率を向上させ、さらに、システム構築の柔軟性の向上を図ることが可能な並列型コントローラシステムを提供することを目的とする。
【０００６】
【課題を解決するための手段】
請求項１に記載の本発明は、複数のコントローラと、入力端および出力端とデータを交換する少なくとも一つのＩ／Ｏ入出力装置をシステムバスに実装し、並列に運転する並列型コントローラシステムにおいて、
Ｉ／Ｏ入出力装置はコントローラからデータの書き込みおよび読み出しが可能な共有メモリを備え、コントローラが共有メモリヘデータを書き込むことでＩ／Ｏ出力値の更新が可能となり、またコントローラが共有メモリのデータを読み出すことでＩ／Ｏ入力値の取り込みが可能となる手段を有するとともに、複数のコントローラからシステムバス経由で同一のＩ／Ｏ入出力装置の共有メモリに対して直接データの書き込みおよび読み出しを行うことが可能となる手段を有することを特徴とする。
【０００７】
請求項１に記載の本発明によれば、Ｉ／Ｏ入出力装置に共有メモリを備え、複数のコントローラから同一のＩ／Ｏ入出力装置の共有メモリに対する書き込みおよび読み出しが可能ととしたことにより、同一のＩ／Ｏ入出力装置に対して複数のコントローラがＩ／Ｏ入出力を行うことができる。これにより、並列型コントローラシステムのコスト低減・実装効率向上をはかることができる。さらに、システム構築の柔軟性が向上する。
【０００８】
請求項２に記載の本発明は、請求項１に記載の並列型コントローラシステムにおいて、複数のコントローラは、自他コントローラによるＩ／Ｏ入出力装置の使用状態を示すＩ／Ｏ入出力装置使用マップ並びにＩ／Ｏ入出力装置の管理状態を示すＩ／Ｏ入出力装置管理マップをそれぞれ有し、複数のコントローラが同一のＩ／Ｏ入出力装置に対して入出力処理を行う場合に、稼動状態になったコントローラのうち、Ｉ／Ｏ入出力装置使用マップ並びにＩ／Ｏ入出力装置管理マップを参照して決定される一つのコントローラが、Ｉ／Ｏ入出力装置の動作開始、停止および診断の管理を行う管理権を持ち、管理権を持つコントローラがＩ／Ｏ入出力装置の管理を行う手段を備えたことを特徴とする。
【０００９】
請求項２に記載の本発明によれば、複数のコントローラが同一のＩ／Ｏ入出力装置に対して入出力処理を行う（以降では、入出力処理を行うことを“使用する”と表現する）場合でも、いずれか１台のコントローラだけが例えば動作開始・停止・診断等の管理（以降では、Ｉ／Ｏ入出力装置を管理する権利を“管理権”、管理しているコントローラを“管理コントローラ” と表現する）を行うことで、システムとしての負荷を軽減させることができる。また、管理コントローラを１台に絞ることで、複数のコントローラから同時に行えない管理項目に関して排他をとることになる。
【００１０】
請求項３に記載の本発明は、請求項２に記載の並列型コントローラシステムにおいて、管理権を持つコントローラが管理を継続できない状態になった場合、他のコントローラが管理権を取得してＩ／Ｏ入出力装置に対する管理を引き継ぐ手段を備えたことを特徴とする。
【００１１】
請求項３に記載の本発明によれば、複数のコントローラがＩ／Ｏ入出力装置を使用している場合、それらのコントローラの運転状態に応じて管理権を移動させることで、常にいずれか１台のコントローラがＩ／Ｏ入出力装置の管理を行うことができる。これにより、Ｉ／Ｏ入出力装置を使用しているコントローラがある限り、Ｉ／Ｏ入出力処理を継続させることができる。この際にシステムとしての負荷が増大することがない。
【００１２】
請求項４に記載の本発明は、請求項３に記載の並列型コントローラシステムにおいて、管理権を持つコントローラは一定の周期でＩ／Ｏ入出力装置に対してアクセスを行うものとし、Ｉ／Ｏ入出力装置が、一定時間いずれのコントローラからもアクセスがないことを検出した場合に、前記Ｉ／Ｏ入出力装置自身が動作を停止する手段を備えたことを特徴とする。
【００１３】
請求項４に記載の本発明によれば、コントローラがＩ／Ｏ入出力装置を管理することができない状態になっても、Ｉ／Ｏ入出力装置自身が動作停止することで、入力端・出力端に対してコントローラが制御できない状態であることを通知することができる。これにより、入力端・出力端はそれぞれ安全方向に動作し、安全性を保証することができる。
【００１４】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下の図において、同符号は同一部分または対応部分を示す。
【００１５】
（第１の実施形態）
この第１の実施形態は、複数のコントローラと一つ以上のＩ／Ｏ入出力装置が同一ユニット内のシステムバスに実装された並列型コントローラシステムを対象とする。ここで、Ｉ／Ｏ入出力装置とは複数の入力端（センサ等）・出力端（バルブ等）と伝送を介して入出力データを交換する装置である。
【００１６】
この第１の実施形態のシステム構成を図１に示す。同図に示すように、並列型コントローラシステム１において、システムバス２にコントローラ（１）１１、コントローラ（２）１３と、Ｉ／Ｏ入出力装置（Ａ）１５が実装されている。
【００１７】
Ｉ／Ｏ入出力装置（Ａ）１５はコントローラ（１）１１、コントローラ（２）１３からデータの書き込みおよび読み出しが可能な共有メモリ１６を備えている。共有メモリ１６上のデータはＩ／Ｏ入出力値として実際の出力端（バルブ等）３や入力端（センサ等）４とデータ交換が行われる仕組みになっている。なお、図において、５はコントローラ（１）１１、コントローラ（２）１３から出力端（バルブ等）３への出力データの流れ、６は入力端（センサ等）４からコントローラ（１）１１、コントローラ（２）１３への入力データの流れである。
【００１８】
コントローラ（１）１１、コントローラ（２）１３からそれぞれＩ／Ｏ入出力装置（Ａ）１５の共有メモリ１６に対してデータを書き込むことでＩ／Ｏ出力値の更新をする。また、コントローラ（１）１１、コントローラ（２）１３からそれぞれＩ／Ｏ入出力装置（Ａ）１５の共有メモリ１６のデータを読み出すことでＩ／Ｏ入力値を取り込む。このように、共有メモリ１６は、同一ユニット内のすべてのコントローラからシステムバス２経由で書き込み・読み出しをすることができる。
【００１９】
以上説明したように、この実施形態によれば、同一のＩ／Ｏ入出力装置に対して複数のコントローラがＩ／Ｏ入出力を行うことができる。これにより、並列型コントローラシステムのコスト低減・実装効率向上をはかることができる。さらに、システム構築の柔軟性が向上する。
【００２０】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。この実施形態は、前述の第１の実施形態に示した並列型コントローラシステムにおいて、Ｉ／Ｏ入出力装置が自律的に動作せずコントローラが動作開始・停止・診断等の管理をする必要のあるシステムを対象とする。
【００２１】
ここで、コントローラも共有メモリを備えており、共有メモリ上に自コントローラの運転状態、Ｉ／Ｏ入出力装置の使用状態（後述）、Ｉ／Ｏ入出力装置の管理状態（後述）を書き込むことで、他のコントローラからこれらの情報が参照できる構成となっている。
【００２２】
この第２の実施形態のシステム構成を図２に示す。同図に示すように、システムバス２にコントローラ（１）２１、コントローラ（２）２３と、Ｉ／Ｏ入出力装置（Ａ）２５が実装されている。
【００２３】
コントローラ（１）２１は、ＣＰＵ２６、ＲＯＭ２７、ＲＡＭ２８、及びシステムバス制御回路部２ａを有し、これらは内部メインバス２９により接続されている。システムバス制御回路部２ａは、システムバス制御回路２ｂ、及び共有メモリ２ｃを有する。コントローラ（１）２３は、ＣＰＵ２ｄ、ＲＯＭ２ｅ、ＲＡＭ２ｆ、及びシステムバス制御回路部２ｈを有し、これらは内部メインバス２ｇにより接続されている。システムバス制御回路部２ｈは、システムバス制御回路２ｉ、及び共有メモリ２ｊを有する。
【００２４】
Ｉ／Ｏ入出力装置（Ａ）２５は、システムバス制御回路部２ｋ、及び伝送制御回路２ｎを有する。（なお、Ｉ／Ｏ入出力装置（Ａ）２５はＣＰＵ、ＲＯＭ、ＲＡＭを有してはいない。）システムバス制御回路部２ｋは、システムバス制御回路２Ｌ、及び共有メモリ２ｍを有する。共有メモリ２ｍは、伝送制御回路２ｎを介して、Ｉ／Ｏに接続されている。
【００２５】
この実施形態においては、Ｉ／Ｏ入出力装置（Ａ）２５が自律的に動作しないため、コントローラ（１）２１、コントローラ（２）２３がＩ／Ｏ入出力装置（Ａ）２５の動作開始・停止・診断等の管理を行う。コントローラ（１）２１、コントローラ（２）２３はＩ／Ｏ入出力装置（Ａ）２５に対してシステムバス２経由で要求を与えることで管理を行う。この時、複数のコントローラ、すなわちコントローラ（１）２１、コントローラ（２）２３が同一のＩ／Ｏ入出力装置（Ａ）２５を使用していても、管理権はいずれか１台のコントローラが持ち、その管理コントローラがＩ／Ｏ入出力装置（Ａ）２５の動作開始・停止・診断等の管理を行う。
【００２６】
ここで、管理コントローラを次のように決定する。
（１）複数のコントローラが同時に稼動状態になった場合には、ユニット内の優先度（例えばユニット内での物理的な位置）の順に管理権を取得する。
（２）複数のコントローラが時間差をもって稼動状態になった場合には、先に稼動状態になったコントローラが優先的に管理権を取得する。
【００２７】
これを実現するため、コントローラによるＩ／Ｏ入出力装置の使用状態を示す「Ｉ／Ｏ入出力装置使用マップ（以降“Ｉ／Ｏ使用マップ”と表現する）」とコントローラによるＩ／Ｏ入出力装置の管理状態を示す「Ｉ／Ｏ入出力装置管理マップ（以降、“Ｉ／Ｏ管理マップ”と表現する）」を利用する。Ｉ／Ｏ使用マップは、どのコントローラがどのＩ／Ｏ入出力装置を使用するかを示す一覧表であり、すべてのコントローラが同一の内容を持つようにする。Ｉ／Ｏ管理マップは、どのコントローラがどのＩ／Ｏ入出力装置を管理しているかを示す一覧表であり、各コントローラがＩ／Ｏ使用マップおよび自コントローラ・他コントローラの運転状態を条件に作成する。作成した結果は共有メモリ上に書き込み、他のコントローラから参照できるようにする。コントローラの共有メモリ上には、そのコントローラの運転状態（停止状態か稼動常態か）とＩ／Ｏ管理マップが書き込まれていることになる。
【００２８】
次の図３の構成を例にとって、管理権の取得の流れを説明する。図３の構成は、複数のコントローラが複数のＩ／Ｏ入出力装置に対して入出力を行うことができるようになっている。システムバス２に３台のコントローラ、すなわちコントローラ（１）３１、コントローラ（２）３２、コントローラ（３）３３と、２台のＩ／Ｏ入出力装置、すなわちＩ／Ｏ入出力装置（Ｂ）３４、Ｉ／Ｏ入出力装置（Ａ）３５が実装されている。Ｉ／Ｏ入出力装置（Ｂ）３４、Ｉ／Ｏ入出力装置（Ａ）３５は、それぞれ共有メモリ３７、共有メモリ３６を有している。また、コントローラ（１）３１、コントローラ（２）３２、コントローラ（３）３３も、図示されてはいないが、それぞれ共有メモリを有している。
【００２９】
図３に示すように、スロット１のコントローラ（１）３１、スロット２のコントローラ（２）３２、およびスロット３のコントローラ（３）３３がスロット４のＩ／Ｏ入出力装置（Ｂ）３４を使用し、スロット２のコントローラ（２）３２、およびスロット３の（３）３３がスロット５のＩ／Ｏ入出力装置（Ａ）３５を使用している場合、Ｉ／Ｏ使用マップは図４のようになる。（以降の図ではＩ／Ｏ使用マップと１／６管理マップを重ね合わせた図で説明する。使用状態を○印、使用かつ管理状態を◎印で表す。）このＩ／Ｏ使用マップはエンジニアリングの時点で決定されるもので、すべてのコントローラ、すなわちコントローラ（１）３１、コントローラ（２）３２、コントローラ（３）３３に共通の情報が送られている。
【００３０】
管理権の取得は、コントローラが停止状態から稼動状態になるときに、Ｉ／Ｏ使用マップを基準にして行う。
【００３１】
各コントローラはＩ／Ｏ使用マップから、自コントローラが使用するＩ／Ｏ入出力装置が他コントローラで使用されているかを検索する。他コントローラで使用している場合、そのコントローラの共有メモリにあるＩ／Ｏ管理マップの内容を参照し、そのコントローラに管理権を取得されていなければ自コントローラが管理権を取得する。すでに管理権を取得されている場合には、管理権を取得しない。ここで、この検索処理はユニット内の優先度に従い、スロット番号の若いコントローラから開始する。
【００３２】
スロット１のコントローラ（１）３１は、スロット４のＩ／Ｏ入出力装置（Ｂ）３４を使用しているので、スロット４を使用している他のコントローラを検索する。スロット２のコントローラ（２）３２、およびスロット３のコントローラ（３）３３がスロット４のＩ／Ｏ入出力装置（Ｂ）３４を使用していることがわかる。スロット２、スロット３のＩ／Ｏ管理マップを参照し、管理権を取得していない状態であることから、スロット１のコントローラ（１）３１がスロット４のＩ／Ｏ入出力装置（Ｂ）３４の管理権を取得する。取得した状態を図５に示す。
【００３３】
スロット２のコントローラ（２）３２は、スロット４のＩ／Ｏ入出力装置（Ｂ）３４、およびスロット５のＩ／Ｏ入出力装置（Ａ）３５を使用しているので、スロット４、スロット５を使用している他のコントローラを検索する。スロット１のコントローラ（１）３１、およびスロット３のコントローラ（３）３３がスロット４のＩ／Ｏ入出力装置（Ｂ）３４を使用していることがわかる。スロット１、スロット３のＩ／Ｏ管理マップを参照し、スロット１のコントローラ（１）３１が管理権を取得している状態であることから、スロット４のＩ／Ｏ入出力装置（Ｂ）３４の管理権を取得しない。また、スロット３のコントローラ（３）３３がスロット４のＩ／Ｏ入出力装置（Ａ）３５を使用していることがわかるが、管理権を取得していないので、スロット５のＩ／Ｏ入出力装置（Ａ）３５の管理権を取得する。取得した状態を図６に示す。
【００３４】
スロット３のコントローラ（３）３３に関しても同様に検索を行うが、すでにスロット４のＩ／Ｏ入出力装置（Ｂ）３４、およびスロット５のＩ／Ｏ入出力装置（Ａ）３５は管理権を取得されているので、管理権を取得しない。最終的な管理権取得の状態を図７に示す。
【００３５】
なお、同じ構成でスロット１、スロット３、スロット２の順でコントローラが立ち上がった場合には、スロット１のコントローラ（１）３１がスロット４のＩ／Ｏ入出力装置（Ｂ）３４の管理権を、スロット３のコントローラ（３）３３がスロット５のＩ／Ｏ入出力装置（Ａ）３５の管理権を順に取得するため、図８のようになる。
【００３６】
以上説明したように、この実施形態によれば、複数のコントローラがＩ／Ｏ入出力装置を使用している場合でも、いずれか１台のコントローラだけが管理を行うことで、システムとしての負荷を軽減させることができる。（システムバス上のトラフィックを減少させることができる。）
また、管理コントローラを１台に絞ることで、複数のコントローラから同時に行えない管理項目（伝送停止を伴う初期化、メモリ書き込みを必要とする診断等）に関して排他をとることになる。
【００３７】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。この実施形態は、前述の第２の実施形態と同一のシステムを対象とする。
【００３８】
この実施形態においては、管理コントローラが稼動状態から停止状態になった場合に、管理していたＩ／Ｏ入出力装置に関して他にそのＩ／Ｏ入出力装置を使用し、かつ稼動状態のコントローラがあればＩ／Ｏ入出力装置の動作を停止させずに管理権を放棄する。他にそのＩ／Ｏ入出力装置を使用し、かつ稼動状態のコントローラがなければＩ／Ｏ入出力装置の動作を停止させて管理権を放棄する。
【００３９】
各コントローラは、自コントローラが使用しているＩ／Ｏ入出力装置に関して、管理権の取得状態を監視し、管理権を取得していたコントローラが管理権を放棄した場合に、管理権を取得する。管理権の取得が可能なコントローラが複数ある場合には、優先度の順に従う。
【００４０】
なお、管理コントローラに故障が発生し、管理権を放棄せずに管理不能の状態になった場合にも、他のコントローラは管理権を放棄したものとみなして、管理権を放棄した場合と同様に管理権の取得をする。
【００４１】
図９の状態から、スロット２のコントローラ（２）３２が停止状態になり、さらにスロット３のコントローラ（３）３３が停止状態になった場合を例にとって説明する。
【００４２】
スロット２のコントローラ（２）３２が停止状態になることで、持っていたスロット４のＩ／Ｏ入出力装置（Ｂ）３４、およびスロット５のＩ／Ｏ入出力装置（Ａ）３５の管理権を放棄する。スロット４のＩ／Ｏ入出力装置（Ｂ）３４を使用しているスロット１のコントローラ（１）３１、およびスロット３のコントローラ（３）３３はスロット４のＩ／Ｏ入出力装置（Ｂ）３４の管理権放棄を検出する。スロット４のＩ／Ｏ入出力装置（Ｂ）３４を使用しているコントローラが複数あるので、優先度の高いスロット１のコントローラ（１）３１が管理権を取得する。
【００４３】
スロット５のＩ／Ｏ入出力装置（Ａ）３５を使用しているスロット３のコントローラ（３）３３はスロット５のＩ／Ｏ入出力装置（Ａ）３５の管理権放棄を検出する。スロット５のＩ／Ｏ入出力装置（Ａ）３５を使用しているコントローラはスロット３のコントローラ（３）３３だけであるので、スロット３のコントローラ（３）３３が管理権を取得する。この時、スロット４のＩ／Ｏ入出力装置（Ｂ）３４、スロット５のＩ／Ｏ入出力装置（Ａ）３５とも動作は停止しない。取得した状態を図１０に示す。
【００４４】
ここで、スロット３のコントローラ（３）３３が停止状態になることで、持っていたスロット５のＩ／Ｏ入出力装置（Ａ）３５の管理権を放棄する。スロット５のＩ／Ｏ入出力装置（Ａ）３５を使用しているスロット２のコントローラ（２）３２は既に停止状態であるため、管理権を取得できない。このためスロット３のコントローラはスロット５のＩ／Ｏ入出力装置（Ａ）３５の管理権を放棄すると同時に、動作も停止させる。図１１の状態となる。この状態では、スロット４のＩ／Ｏ入出力装置（Ｂ）３４は動作が継続しているが、スロット５のＩ／Ｏ入出力装置（Ａ）３５は動作が停止している。
【００４５】
以上説明したように、この実施形態によれば、複数のコントローラがＩ／Ｏ入出力装置を使用している場合、それらのコントローラの運転状態に応じて管理権を移動させることで、常にいずれか１台のコントローラがＩ／Ｏ入出力装置の管理を行うことができる。これにより、Ｉ／Ｏ入出力装置を使用しているコントローラがある限り、Ｉ／Ｏ入出力処理を継続させることができる。この際にシステムとしての負荷が増大することがない。
【００４６】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。この実施形態は、前述の第２の実施形態のシステムにおいて、Ｉ／Ｏ入出力装置が他のコントローラからのアクセスの有無を監視する回路を有するシステムを対象とする。すなわち、図１２に示すように、Ｉ／Ｏ入出力装置（Ａ）２５がアクセス監視回路４１を有している。
【００４７】
この実施形態においては、Ｉ／Ｏ入出力装置（Ａ）２５は、コントローラがシステムバス２経由でアクセスをしているかどうかを監視するアクセス監視回路４１を持っており、一定時間アクセスがない場合に動作を停止させる機構を持つ。そのＩ／Ｏ入出力装置（Ａ）２５を管理しているコントローラ（１）２１、およびコントローラ（２）２３は一定の周期でそのＩ／Ｏ入出力装置（Ａ）２５に対してアクセスを行う。
【００４８】
他のコントローラに対して管理権を引き継げない状態で、管理コントローラに故障が発生し、管理権を放棄せずに管理不能の状態になった場合に、Ｉ／Ｏ入出力装置（Ａ）２５でこの機構が働き、Ｉ／Ｏ入出力装置（Ａ）２５自身が動作を停止させる。
【００４９】
以上説明したように、この実施形態によれば、コントローラがＩ／Ｏ入出力装置を管理することができない状態になっても、Ｉ／Ｏ入出力装置自身が動作停止することで、入力端・出力端に対してコントローラが制御できない状態であることを通知する。これにより、入力端・出力端はそれぞれ安全方向に動作し、安全性を保証する。
【００５０】
【発明の効果】
以上説明したように、本発明の並列型コントローラシステムによれば、複数のコントローラから同一のＩ／Ｏ入出力装置に対してＩ／Ｏデータの入出力処理を行うことができる。そして、複数のコントローラがＩ／Ｏ入出力装置を共有する機能を持つことで、並列型コントローラシステムのコストを低減させるとともに、実装効率を向上させることができる。また、Ｉ／Ｏ入出力処理が行えなくなった場合に安全方向に動作することで、安全性を保証することができる。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態に係る並列型コントローラシステムの構成を示すブロック図。
【図２】  本発明の第２の実施形態に係る並列型コントローラシステムの構成を示すブロック図。
【図３】  本発明の第２の実施形態に係る並列型コントローラシステムの他の構成（複数のコントローラが複数のＩ／Ｏ入出力装置に対して入出力を行う場合の構成）を示すブロック図。
【図４】  本発明の第２の実施形態におけるＩ／Ｏ使用マップを示す図。
【図５】  本発明の第２の実施形態におけるＩ／Ｏ使用マップとＩ／Ｏ管理マップ（スロット１のコントローラがスロット４のＩ／Ｏ入出力装置の管理権を取得した状態）を示す図。
【図６】  本発明の第２の実施形態におけるＩ／Ｏ使用マップとＩ／Ｏ管理マップ（スロット２のコントローラがスロット５のＩ／Ｏ入出力装置の管理権を取得した状態）を示す図。
【図７】  本発明の第２の実施形態におけるＩ／Ｏ使用マップとＩ／Ｏ管理マップ（最終的な管理権取得の状態）を示す図。
【図８】  本発明の第２の実施形態におけるＩ／Ｏ使用マップとＩ／Ｏ管理マップ（スロット１、スロット３、スロット２の順でコントローラが立ち上がった場合の管理権取得の状態）を示す図。
【図９】  本発明の第３の実施形態におけるＩ／Ｏ使用マップとＩ／Ｏ管理マップ（スロット２のコントローラが稼動状態で管理権を取得している状態）を示す図。
【図１０】本発明の第３の実施形態におけるＩ／Ｏ使用マップとＩ／Ｏ管理マップ（スロット２のコントローラが停止状態となり管理権を放棄した状態）を示す図。
【図１１】本発明の第３の実施形態におけるＩ／Ｏ使用マップとＩ／Ｏ管理マップ（スロット３のコントローラが停止状態となり管理権を放棄した状態）を示す図。
【図１２】本発明の第４の実施形態に係る並列型コントローラシステムの構成を示すブロック図。
【符号の説明】
１…並列型コントローラシステム
２…システムバス
３…出力端（バルブ等）
４…入力端（センサ等）
５…出力データの流れ
６…入力データの流れ
１１…コントローラ（１）
１３…コントローラ（２）
１５…Ｉ／Ｏ入出力装置（Ａ）
１６…共有メモリ
２１…コントローラ（１）
２３…コントローラ（２）
２５…Ｉ／Ｏ入出力装置（Ａ）
２６…ＣＰＵ
２７…ＲＯＭ
２８…ＲＡＭ
２９…内部メインバス
２ａ…システムバス制御回路部
２ｂ…システムバス制御回路
２ｃ…共有メモリ
２ｄ…ＣＰＵ
２ｅ…ＲＯＭ
２ｆ…ＲＡＭ
２ｇ…内部メインバス
２ｈ…システムバス制御回路部
２ｉ…システムバス制御回路
２ｊ…共有メモリ
２ｋ…システムバス制御回路部
２Ｌ…システムバス制御回路
２ｍ…共有メモリ
２ｎ…伝送制御回路
３１…コントローラ（１）
３２…コントローラ（２）
３３…コントローラ（３）
３４…Ｉ／Ｏ入出力装置（Ｂ）
３５…Ｉ／Ｏ入出力装置（Ａ）
３６…共有メモリ
３７…共有メモリ
４１…アクセス監視回路
【図１】
0004350283.tif 000002
【図２】
0004350283.tif 000003
【図３】
0004350283.tif 000004
【図４】
0004350283.tif 000005
【図５】
0004350283.tif 000006
【図６】
0004350283.tif 000007
【図７】
0004350283.tif 000008
【図８】
0004350283.tif 000009
【図９】
0004350283.tif 000010
【図１０】
0004350283.tif 000011
【図１１】
0004350283.tif 000012
【図１２】
0004350283.tif 000013