(57)【特許請求の範囲】
【請求項１】
マンマシンインタフェース装置により制御用ＬＡＮを介して制御され、パルス入出力装置を介して制御対象とパルスデータの授受による二重化された制御を行うために、一方が稼働側に他方が待機側に設定される第１，第２の制御系統を有している分散形制御システムのコントローラであって、
第１，第２の制御系統のそれぞれが制御対象からの入力データに対して予め定められた処理を行い、その結果を保持する第１，第２の入力パルス演算ユニットと、第１，第２の入力パルス演算ユニットの一方を稼働側に他方を待機側に設定し、第１，第２の入力パルス演算ユニットが保持するデータを監視し、差分が発生した場合は待機側の入力データに差分加算をすることにより該差分を除去し、第１，第２の入力パルス演算ユニットの稼働側に故障の発生を検知した場合は、稼働側と待機側とを切り替える入力データ差分演算手段とからなる入力演算部を有することを特徴とする分散形制御システムのコントローラ。
【請求項２】
マンマシンインタフェース装置により制御用ＬＡＮを介して制御され、パルス入出力装置を介して制御対象とパルスデータの授受による二重化された制御を行うために、一方が稼働側に他方が待機側に設定される第１，第２の制御系統を有している分散形制御システムのコントローラであって、
第１，第２の制御系統のそれぞれが制御対象に出力すべき出力データに対して予め定められた処理を行い、処理の結果に基づいて制御対象に出力パルスを出力するとともに、出力されなかった残りの出力データを後続の出力時まで保持する第１，第２の出力パルス演算ユニットと、第１，第２の出力パルス演算ユニットの一方を稼働側に他方を待機側に設定し、第１，第２の出力パルス演算ユニットが保持する残りの出力データを監視し、差分が発生した場合は待機側の出力データに差分加算をすることにより該差分を除去し、第１，第２の出力パルス演算ユニットの稼働側に故障の発生を検知した場合は、稼働側と待機側とを切り替える出力データ差分演算手段とからなる出力演算部を有することを特徴とする分散形制御システムのコントローラ。
【請求項３】
マンマシンインタフェース装置により制御用ＬＡＮを介して制御され、パルス入出力装置を介して制御対象とパルスデータの授受による二重化された制御を行うために、一方が稼働側に他方が待機側に設定される第１，第２の制御系統を有している分散形制御システムのコントローラであって、
第１，第２の制御系統のそれぞれが制御対象からの入力データに対して予め定められた処理を行い、その結果を保持する第１，第２の入力パルス演算ユニットと、第１，第２の入力パルス演算ユニットの一方を稼働側に他方を待機側に設定し、第１，第２の入力パルス演算ユニットが保持するデータを監視し、差分が発生した場合は待機側の入力データに差分加算をすることにより該差分を除去し、第１，第２の入力パルス演算ユニットの稼働側に故障の発生を検知した場合は、稼働側と待機側とを切り替える入力データ差分演算手段とからなる入力演算部と、制御対象に出力すべき出力データに対して予め定められた処理を行い、処理の結果に基づいて制御対象に出力パルスを出力するとともに、出力されなかった残りの出力データを後続の出力時まで保持する第１，第２の出力パルス演算ユニットと、第１，第２の出力パルス演算ユニットの一方を稼働側に他方を待機側に設定し、第１，第２の出力パルス演算ユニットが保持する残りの出力データを監視し、差分が発生した場合は待機側の出力データに差分加算をすることにより該差分を除去し、第１，第２の出力パルス演算ユニットの稼働側に故障の発生を検知した場合は、稼働側と待機側とを切り替える出力データ差分演算手段とからなる出力演算部を有することを特徴とする分散形制御システムのコントローラ。
【請求項４】
請求項１乃至請求項３のいずれかに記載の分散形制御システムのコントローラを有してなる分散形制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はマンマシンインタフェース装置により制御用ＬＡＮを介して制御され、パルス入出力装置を介して制御対象とパルスデータの授受による二重化された制御を行うために、一方が稼働側に他方が待機側に設定される第１，第２の制御系統を有している分散形制御システム及びそれに用いられるコントローラに関する。
【０００２】
【従来の技術】
図９は、分散形制御システムの従来例の構成を示すブロック図、図１０は、図９において用いられているコントローラのうちの１台の構成を示すブロック図、図１１は、図１０の制御用ＭＰＵとＩＯリンクとを二重化した構成例を示すブロック図、図１２は、図１１の場合のパルス入出力装置の構成例を示すブロック図、図１３は、図１１の場合のパルス入出力装置の他の構成例を示すブロック図である。図９において示された分散形制御システム１０１においては、マンマシンインタフェース装置１１０が制御用ＬＡＮ１２０を介して複数のコントローラ１３１，１３２，〜，１３ｎに接続されている。通常は、数台のマンマシンインタフェース装置１１０が制御用ＬＡＮ１２０に接続され、コントローラ１３１，１３２，〜，１３ｎは、大規模の場合、数十台が制御用ＬＡＮ１２０に接続されている。
【０００３】
図９において用いられているコントローラ１３１，１３２，〜，１３ｎは、図１０に示されるように、制御用ＭＰＵ１４０と、ＩＯリンク１５０と、ＩＯリンク１５０を介して制御用ＭＰＵ１４０に接続されたパルス入出力装置１６１，１６２，〜，１６ｎとを有する。このコントローラは、各構成要素１４０，１５０が単一であり、高信頼性を確保しようとする場合には、図１１のように二重化された構成が採用される。図１１の場合、制御用ＭＰＵ２４０Ａ，２４０Ｂと、ＩＯリンク２５０Ａ，２５０Ｂとが二重化され、パルス入出力装置２６１，２６２，〜，２６ｎに接続されている。この場合、パルス入出力装置２６１，２６２，〜，２６ｎは、伝送制御モジュール２６０Ａ，２６０Ｂが二重化され、ＩＯリンク２５０Ａ，２５０Ｂにそれぞれ接続されている。
【０００４】
図１３に示されているパルス入出力装置３６１，３６２，〜，３６ｎは、パルス入出力装置２６１，２６２，〜，２６ｎの代わりにＩＯリンク２５０Ａ，２５０Ｂに接続可能にされたものである。この場合、符合ＡとＢとが付いたものが１ペアをなすように構成されているので、伝送制御モジュール３７０Ａ，３７０Ｂは、二重化されたＩＯバス３８０Ａ，３８０Ｂによって、二重化されたパルス入出力モジュール３９１Ａ，３９１Ｂ；〜；３９４Ａ，３９４Ｂに接続されている。この場合のパルス入出力モジュールについては、スロット番号の奇数のものとそれに続く偶数のものとがペアを構成している。パルス入出力モジュールも含めて、上述の構成要素のうち“Ａ”が付記された方が稼働しているときは、“Ｂ”が付記された方が待機し、“Ｂ”が付記された方が稼働しているときは、“Ａ”が付記された方が待機することとなる。
【０００５】
【発明が解決しようとする課題】
上述した従来の分散形制御システムにおいては、各部を順次に二重化して信頼性を向上させているが、例えば、最も二重化が進んでいる図１３の場合にも、伝送制御モジュール３７０Ａ，３７０Ｂが稼働側と待機側とのデータが同じになるような等値化処理を行わなければならない。伝送制御モジュール３７０Ａ，３７０Ｂは、制御用ＭＰＵ２４０Ａ，２４０Ｂおよびパルス入出力モジュールとのデータ通信を高速に処理しなければならず、それほどの高能力を与えられていない伝送制御モジュールにとってはこの等値化処理は大きな負担となり、ひいては、分散形制御システム全体の効率を低下させるという問題がある。また、パルス入出力装置は、分散しているのでサービス面でも工数が多くなるという問題がある。
【０００６】
この発明は、上記の問題を解決すべくなされたものであって、伝送制御モジュール等の下位の装置に等値化処理を負荷せずに、高い能力を有するコントローラに簡潔な回路を組み込んで、等値化を自動的に処理できるようにした分散形制御システムとそれに用いられているコントローラとを提供することを目的とする。
【０００７】
【課題を解決するための手段】
前述した課題を解決するために、この発明は、マンマシンインタフェース装置により制御用ＬＡＮを介して制御され、パルス入出力装置を介して制御対象とパルスデータの授受による二重化された制御を行うために、一方が稼働側に他方が待機側に設定される第１，第２の制御系統を有している分散形制御システムのコントローラであって、第１，第２の制御系統のそれぞれが制御対象からの入力データに対して予め定められた処理を行い、その結果を保持する第１，第２の入力パルス演算ユニットと、第１，第２の入力パルス演算ユニットの一方を稼働側に他方を待機側に設定し、第１，第２の入力パルス演算ユニットが保持するデータを監視し、差分が発生した場合は該差分を除去し、第１，第２の入力パルス演算ユニットの稼働側に故障の発生を検知した場合は、稼働側と待機側とを切り替える入力データ差分演算手段とからなる入力演算部を有することを特徴とする。
【０００８】
また、この発明は、マンマシンインタフェース装置により制御用ＬＡＮを介して制御され、パルス入出力装置を介して制御対象とパルスデータの授受による二重化された制御を行うために、一方が稼働側に他方が待機側に設定される第１，第２の制御系統を有している分散形制御システムのコントローラであって、第１，第２の制御系統のそれぞれが制御対象に出力すべき出力データに対して予め定められた処理を行い、処理の結果に基づいて制御対象に出力パルスを出力するとともに、出力されなかった残りの出力データを後続の出力時まで保持する第１，第２の出力パルス演算ユニットと、第１，第２の出力パルス演算ユニットの一方を稼働側に他方を待機側に設定し、第１，第２の出力パルス演算ユニットが保持する残りの出力データを監視し、差分が発生した場合は該差分を除去し、第１，第２の出力パルス演算ユニットの稼働側に故障の発生を検知した場合は、稼働側と待機側とを切り替える出力データ差分演算手段とからなる出力演算部を有することを特徴とする。
【０００９】
さらに、この発明は、マンマシンインタフェース装置により制御用ＬＡＮを介して制御され、パルス入出力装置を介して制御対象とパルスデータの授受による二重化された制御を行うために、一方が稼働側に他方が待機側に設定される第１，第２の制御系統を有している分散形制御システムのコントローラであって、第１，第２の制御系統のそれぞれが制御対象からの入力データに対して予め定められた処理を行い、その結果を保持する第１，第２の入力パルス演算ユニットと、第１，第２の入力パルス演算ユニットの一方を稼働側に他方を待機側に設定し、第１，第２の入力パルス演算ユニットが保持するデータを監視し、差分が発生した場合は該差分を除去し、第１，第２の入力パルス演算ユニットの稼働側に故障の発生を検知した場合は、稼働側と待機側とを切り替える入力データ差分演算手段とからなる入力演算部と、制御対象に出力すべき出力データに対して予め定められた処理を行い、処理の結果に基づいて制御対象に出力パルスを出力するとともに、出力されなかった残りの出力データを後続の出力時まで保持する第１，第２の出力パルス演算ユニットと、第１，第２の出力パルス演算ユニットの一方を稼働側に他方を待機側に設定し、第１，第２の出力パルス演算ユニットが保持する残りの出力データを監視し、差分が発生した場合は該差分を除去し、第１，第２の出力パルス演算ユニットの稼働側に故障の発生を検知した場合は、稼働側と待機側とを切り替える出力データ差分演算手段とからなる出力演算部を有することを特徴とする。
【００１０】
また、この発明は上述したコントローラを備えた分散形制御システムを特徴としている。
【００１１】
このような構成によれば、コントローラの入力演算部においては、第１，第２の入力パルス演算ユニットが制御対象からの入力データに対して予め定められた処理を行い、その結果を保持するとともに、他方、入力データ差分演算手段は、第１，第２の入力パルス演算ユニットの一方を稼働側に他方を待機側に設定し、第１，第２の入力パルス演算ユニットが保持するデータを監視し、差分が発生したら差分を除去し、第１，第２の入力パルス演算ユニットの稼働側に故障の発生を検知したときは、稼働側と待機側とを切り替えることにより高性能の二重化された入力パルスに関する等値化処理を実行している。また、コントローラの出力演算部においては、第１，第２の出力パルス演算ユニットが制御対象に出力すべき出力データに対して予め定められた処理を行い、処理の結果に基づいて制御対象に出力パルスを出力し、出力されなかった残りの出力データを後続の出力時まで保持するとともに、他方、出力データ差分演算手段は、第１，第２の出力パルス演算ユニットの一方を稼働側に他方を待機側に設定し、第１，第２の出力パルス演算ユニットが保持する残りの出力データを監視し、差分が発生したら差分を除去し、第１，第２の出力パルス演算ユニットの稼働側に故障の発生を検知したときは、稼働側と待機側とを切り替えることにより高性能の二重化された出力パルスに関する等値化処理を実行している。
【００１２】
そして、この発明の実施の形態では、コントローラの入力演算部４１においては、第１，第２の入力パルス演算ユニット４１Ａ，４１Ｂが制御対象に接続されたパルス入出力モジュール９１Ａ，９１Ｂ；〜；９４Ａ，９４Ｂからの入力データに対して加算器５３Ａ，５４Ａ；５３Ｂ，５４Ｂによる予め定められた処理を行い、その結果のデータを入力データレジスタ５１Ａ，５１Ｂに保持する。他方、差分演算手段４８は、第１，第２の入力パルス演算ユニット４１Ａ，４１Ｂの一方を稼働側に他方を待機側に設定し、第１，第２の入力パルス演算ユニットが入力データレジスタ５１Ａ，５１Ｂに保持するデータを監視し、差分が発生したら差分を除去し、第１，第２の入力パルス演算ユニット４１Ａ，４１Ｂの稼働側に故障の発生を検知したときは、稼働側と待機側とを切り替えることにより高性能の二重化された入力パルスに関する等値化処理を実行している。また、コントローラの出力演算部４２においては、第１，第２の出力パルス演算ユニット４２Ａ，４２Ｂが制御対象に接続されたパルス入出力モジュール９１Ａ，９１Ｂ；〜；９４Ａ，９４Ｂに出力すべき出力データに対して、加算器５８Ａ，５８Ｂとパルス出力回路５９Ａ，５９Ｂとにより、予め定められた処理を行い、処理の結果に基づいて制御対象に出力パルスを出力し、出力されなかった残りの出力データを後続の出力時まで入力データレジスタ５６Ａ，５６Ｂに保持するとともに、他方、差分演算器４９は、第１，第２の出力パルス演算ユニットの一方を稼働側に他方を待機側に設定し、第１，第２の出力パルス演算ユニットが入力データレジスタ５７Ａ，５７Ｂに保持する残りの出力データを監視し、差分が発生したら差分を除去し、第１，第２の出力パルス演算ユニットの稼働側に故障の発生を検知したときは、稼働側と待機側とを切り替えることにより高性能の二重化された出力パルスに関する等値化処理を実行している。
【００１３】
【発明の実施の形態】
以下、この発明の実施の形態について添付図面に基づいて説明する。図１は、この発明の二重化制御システム用のコントローラが用いられた分散形制御システムの構成を示すブロック図、図２は、図１において用いられているコントローラの構成を示すブロック図、図３は、図２のコントローラのパルス入出力装置の構成を示すブロック図、図４は、図２のコントローラの入力演算部の構成を示すブロック図、図５は、稼働側と待機側の設定の完了後における図２のコントローラの入力演算部の構成を示すブロック図、図６は、図２のコントローラの出力演算部の構成を示すブロック図、図７は、稼働側と待機側の設定の完了後における図２のコントローラの出力演算部の構成を示すブロック図、図８は、コントローラと、稼働側および待機側のパルス入出力モジュールとのデータ授受に要する時間を説明するための図である。
【００１４】
図１において示された分散形制御システムにおいては、マンマシンインタフェース装置１０が制御用ＬＡＮ２０を介して複数のコントローラ３１，３２，〜，３ｎに接続されている。通常は、数台のマンマシン装置１０が制御用ＬＡＮ２０に接続され、コントローラ３１，３２，〜，３ｎは、大規模の場合、数十台が制御用ＬＡＮ２０に接続されている。
【００１５】
図１において用いられているコントローラ３１，３２，〜，３ｎのそれぞれは、図２に示されるように、演算部４０と、第１，第２の制御系統Ａ，Ｂからなる２系統のＩＯリンク５０Ａ，５０Ｂと、ＩＯリンク５０Ａ，５０Ｂを介して演算部４０に接続された複数のパルス入出力装置６１，６２，〜，６ｍとを備えている。演算部４０は、差分演算器４８の支配下にある入力演算部４１と、差分演算器４９の支配下にある出力演算部４２とを有している。図３に示されるように、パルス入出力装置６１，６２，〜，６ｍのそれぞれは、ＩＯリンク５０Ａ，５０Ｂにそれぞれ接続された伝送制御モジュール７０Ａ，７０Ｂと、伝送制御モジュール７０Ａ，７０Ｂがそれぞれ接続されたＩＯバス８０Ａ，８０Ｂと、ＩＯバス８０Ａ，８０Ｂにそれぞれ接続され、２台で１組となる４組のパルス入出力モジュール９１Ａ，９１Ｂ；〜；９４Ａ，９４Ｂを備えている。この例では、上記構成要素のうち“Ａ”が付記された方が稼働しているときは、“Ｂ”が付記された方が待機し、“Ｂ”が付記された方が稼働しているときは、“Ａ”が付記された方が待機することとなる。
【００１６】
図２において示された入力演算部４１の構成をさらに詳しく図示すると図４のようになる。すなわち、入力演算部４１は、第１の制御系統Ａに接続される入力パルス演算ユニット４１Ａと、第２の制御系統Ｂに接続される入力パルス演算ユニット４１Ｂと、これらの入力パルス演算ユニット４１Ａ，４１Ｂの間の差分を後述のように算出する差分演算器４８とから構成されている。入力パルス演算ユニット４１Ａは、入力データレジスタ５１Ａと、出力データレジスタ５２Ａと、加算器５３Ａ，５４Ａとから構成され、入力パルス演算ユニット４１Ｂは、入力データレジスタ５１Ｂと、出力データレジスタ５２Ｂと、加算器５３Ｂ，５４Ｂとから構成されている。入力演算部４１は、イニシャル時において、例えば、入力パルス演算ユニット４１Ａを稼働側に、入力パルス演算ユニット４１Ｂを待機側にそれぞれ設定したとする。この設定に基づいて、差分演算器４８は、出力データレジスタ５２Ａに“０”を保持させ、加算器５４Ａに常に“０”が加算されるようにする。したがって、実質的には、加算器５４Ａは、入力データレジスタ５１Ａの出力を加算器５３Ａに引き渡すだけの接続線となるので、簡略に図示すると図５のようになる。
【００１７】
そこで、図５を参照して入力演算部４１の動作について説明する。ＩＯリンク５０Ａ，５０Ｂを介して入力パルスデータ（例えば、図３のパルス入出力モジュール９１Ａ，９１Ｂを介してエンコーダからのパルスデータ）が加算器５３Ａ，５３Ｂにそれぞれ読み込まれる。この場合の稼働側において、加算器５３Ａは、入力パルスデータと、入力データレジスタ５１Ａに保持されているデータとを加算（累加算）して入力データレジスタ５１Ａに再び格納する。したがって、入力データレジスタ５１Ａの保持しているデータを例えば上位装置が読み取れば、現在の状態（例えば、エンコーダによる制御対象物の現在位置）を知ることができる。
【００１８】
待機側において、加算器５３Ｂは、入力パルスデータと、加算器５４Ｂの出力とを加算（累加算）して入力データレジスタ５１Ｂに再び格納する。他方、加算器５４Ｂは、出力データレジスタ５２Ｂが保持している差分データと、入力データレジスタ５１Ｂに保持されているデータとを加算して加算器５４Ｂに引き渡している。この場合、出力レジスタ５２Ｂに格納されているデータは、差分演算器４８によって格納されたものである。出力レジスタ５２Ｂに格納されているデータを生成するために差分演算器４８は、入力データレジスタ５１Ａ，５１Ｂの保持しているデータを比較し、その差分を算出している。すなわち、差分演算器４８は、入力データレジスタ５１Ａ，５１Ｂに同じデータを保持させる等値化機能を実行している。
【００１９】
上述のように差分演算器４８は、入力データレジスタ５１Ａ，５１Ｂが同じデータを保持するように動作しているので、何らかの原因により、入力データレジスタ５１Ａ，５１Ｂの保持しているデータが異なり差分が生じても、差分演算タイミングが到来する毎に、その差分はゼロになる。このことにより、稼働側の入力パルス演算ユニット４１Ａが故障した場合等においては、差分演算器４８は、出力データレジスタ５２Ｂに“０”を設定することにより、図５の入力パルス演算ユニット４１Ｂを図５の入力パルス演算ユニット４１Ａと同じ形態に設定し、入力パルス演算ユニット４１Ａのそれまでの動作を引き継ぐことができる。また、故障に対応して挿入される新しい入力パルス演算ユニット４１Ａを待機用として設定することができる。この場合、入力パルス演算ユニット４１Ｂに対する設定は、図５において、差分演算器４８が入力パルス演算ユニット４１Ａに対して行ったと同様なものである。
【００２０】
同様に、図２において示された出力演算部４２の構成をさらに詳しく図示すると図６のようになる。すなわち、出力演算部４２は、第１の制御系統Ａに接続される出力パルス演算ユニット４２Ａと、第２の制御系統Ｂに接続される出力パルス演算ユニット４２Ｂと、これらの出力パルス演算ユニット４２Ａ，４２Ｂの間の差分を後述のように算出する差分演算器４９とから構成されている。出力パルス演算ユニット４２Ａは、出力データレジスタ５５Ａと、保存用の出力データレジスタ５６Ａと、入力データレジスタ５７Ａと、加算器５８Ａと、パルス出力回路５９Ａとから構成されている。また、出力パルス演算ユニット４２Ｂは、出力データレジスタ５５Ｂと、保存用の出力データレジスタ５６Ｂと、入力データレジスタ５７Ｂと、加算器５８Ｂと、パルス出力回路５９Ｂとから構成されている。出力演算部４２は、イニシャル時において、例えば、出力パルス演算ユニット４２Ａを稼働側に、出力パルス演算ユニット４２Ｂを待機側にそれぞれ設定したとする。この設定に基づいて、差分演算器４９は、出力データレジスタ５６Ａに“０”を保持させ、出力データレジスタ５６Ａから加算器５８Ａに常に“０”が加算されるようにする。したがって、実質的には、出力データレジスタ５６Ａは、加算器５８Ａに何ら影響を与えないこととなるので、簡略に図示すると図７のようになる。
【００２１】
そこで、図７を参照して出力演算部４２の動作について説明する。出力演算部４２の出力パルス演算ユニット４２Ａ，４２Ｂには、出力すべき同じパルス幅データが与えられ（例えば、上位装置から与えられ）、そのパルス幅データが出力データレジスタ５５Ａ，５５Ｂに一旦格納される。出力データレジスタ５５Ａ，５５Ｂに格納されたデータは、加算器５８Ａ，５８Ｂに渡される。稼働側の加算器５８Ａは、出力データレジスタ５５Ａから渡されたデータと、入力データレジスタ５７Ａに残されているデータとを加算してパルス出力回路５９Ａに渡す。パルス出力回路５９Ａは、所定のタイミングで所定量のパルスデータを出力し、残りを入力データレジスタ５７Ａに格納する。
【００２２】
他方、待機側の加算器５８Ｂは、入力データレジスタ５７Ｂに残されているデータと、出力データレジスタ５６Ｂのデータとを加算してパルス出力回路５９に渡すとともに出力データレジスタに格納する。パルス出力回路５９Ｂは、所定のタイミングで所定量のパルスデータを出力し、残りを入力データレジスタ５７Ｂに格納する。この場合、出力データレジスタ５６Ｂのデータは、差分演算器４９によって与えられる。すなわち、差分演算器４９は、稼働側と待機側の入力データレジスタ５７Ａ，５７Ｂのデータを比較し、その差分を出力データレジスタ５６Ｂに格納する。このように、差分演算器４９は、入力データレジスタ５７Ａ，５７Ｂが異なるデータを保持していることを検知すると、加算器５８の加算およびパルス出力回路５９Ｂの処理を経由して差分を無くし、入力データレジスタ５７Ａ，５７Ｂが同じデータを保持するように等値化機能を実行している。したがって、何らかの原因により、入力データレジスタ５７Ａ，５７Ｂの保持しているデータが異なり差分が生じても、差分演算タイミングが到来する毎に、その差分はゼロになる。
【００２３】
上述のように、入力データレジスタ５７Ａ，５７Ｂのデータに差分が生じても、差分演算タイミングが到来する毎に、その差分はゼロになるので、稼働側の出力パルス演算ユニット４２Ａが故障した場合等において、差分演算器４９は、出力データレジスタ５６Ｂに“０”を設定することにより、図７の出力パルス演算ユニット４２Ｂを図７の入力パルス演算ユニット４２Ａと同じ形態に設定し、出力パルス演算ユニット４２Ａのそれまでの動作を引き継ぐことができ、故障に対応して挿入される新しい入力パルス演算ユニット４２Ａを待機用として設定することができる。この場合、差分演算器４９による設定は、図６から図７に移行する際に差分演算器４９が行ったと同様なものである。なお、上記の稼働側および待機側に関し、例えば、図７の稼働側にあるパルス出力回路５９Ａの出力パルスは、実際にＩＯリンク５０Ａを介して制御対象に与えられるが、パルス出力回路５９Ｂの出力パルスは、擬似的に出力されているだけで、実際にＩＯリンク５０Ｂを介して制御対象に与えられるわけではない。
【００２４】
次に、上述したコントローラ３１，３２，〜，３ｎと、パルス入出力モジュール９１Ａ，９１Ｂ；〜；９４Ａ，９４Ｂとの間でデータの授受を行っている場合のコントローラの入力パルス演算ユニット４１Ａ，４１Ｂ間のデータの等値化のためのタイミング（周期）、および、出力パルス演算ユニット４２Ａ，４２Ｂ間のデータの等値化に関するタイミングについて図８を参照しつつ検討する。先ず、入力パルス演算ユニット４１Ａ，４１Ｂ間のデータの等値化のタイミングについて検討する。図８において、１２８ＭｂｐｓのＩＯバスによるＩＯバス通信のずれを考えると、６８ＢｙｔｅずつＲｅａｄおよびＷｒｉｔｅを行う場合、
▲１▼アドレス指定のためのレジスタ設定時間：４μｓ／１アクセス
▲２▼ＩＯバス動作時間：４μｓ＋０．１μｓ×６８Ｂｙｔｅ
0003977581.tif 000002
であり、入力パルスの最大入力周波数２０ｋＨｚ（５０μｓ）であっても、１カウントの誤差も発生しない。
【００２５】
（ａ）上述の場合に、パルス入出力モジュール（例えば、９１Ａ，９１Ｂ）のファームウェアの入力動作（制御対象からのデータ入力動作）における稼働側と待機側とのパルスカウント処理を実行する周期の誤差は、パルス入出力モジュールの入力データ更新周期を１０ｍｓとすると、入力パルス誤差は１０ｍｓ。
（ｂ）パルス入出力モジュールのハードウェア（水晶発振器）での稼働側と待機側とのパルス入力回路の個体差に関して、ハードウェア（水晶発振器）による入力パルス誤差（周波数安定度＋温度係数）は±１．０５ｍｓ／１０ｓ。
（ｃ）そこで、入力パルス最大誤差ＧＡ＝（Ｔｘ＋パルス入出力モジュールの入力データ更新周期）×入力周波数であるので、下記の式が成り立つ。
【００２６】
Ｔｘ（１４．８μｓ）＜＜入力データ更新周期を１０ｍｓ、最大入力２０ｋＨｚ（１パルスが５０μｓ）のパルスとして、
ＧＡ＝１０ｍｓ×２０ｋＨｚ＝±２００カウント
ＧＡ＝（Ｔｘ＋パルス入出力モジュールの入力データ更新周期＋パルス入出力モジュールののハードウェア誤差（発振子±１０５ｐｐｍ）＊パルス入力時間＝１４．８μｓ±１０ｍｓ±１．０５ｍｓ／１０ｓ＊Ｔ
【００２７】
ハード誤差を水晶発振器±１０５ｐｐｍとすると、±１．０５ｍｓ／１０ｓの誤差を生じ、パルスカウント誤差を例えば０と規定し、また、１度等値化処理を行えば、パルス入出力モジュールの入力データ更新周期（１０ｍｓ）は無視できるから、５０μｓ＞１４．８μｓ±１００ｍｓ＊±１．０５ｍｓ／１０ｓ＝１４．８μｓ±１０．５μｓとなり、最大入力２０ｋＨｚ（１パルス：５０μｓ）のパルス入力を等値化する場合、１００ｍｓに一回は、コントローラの入力パルス演算ユニット４１Ａ，４１Ｂによる等値化処理が必要になる。
【００２８】
次に、コントローラの出力パルス演算ユニット４２Ａ，４２Ｂ間のデータの等値化のタイミングについて検討する。図８において、１２８ＭｂｐｓのＩＯバスによるＩＯバス通信のずれを考えると、６８ＢｙｔｅずつＲｅａｄおよびＷｒｉｔｅを行う場合、稼働側と待機側とのデータ送信のパケットが隣接していることを前提とすると、
▲１▼アドレス指定のためのレジスタ設定時間：４μｓ／１アクセス
▲２▼ＩＯバス動作時間：４μｓ＋０．１μｓ×６８Ｂｙｔｅ
0003977581.tif 000003
となる。
【００２９】
（ａ）上述の場合に、パルス入出力モジュール（例えば、９１Ａ，９１Ｂ）のファームウェアの出力動作（制御対象からのデータ出力動作）における稼働側と待機側とのパルス幅出力処理を実行する周期の誤差は、パルス入出力モジュールの出力データ更新周期を１０ｍｓとすると、出力パルス誤差は１０ｍｓ、
（ｂ）パルス入出力モジュールのハードウェア（水晶発振器）での稼働側と待機側とのパルス出力回路の個体差に関して、ハードウェア（水晶発振器）による出力パルス誤差（周波数安定度＋温度係数）は±１．０５ｍｓ／１０ｓ、
（ｃ）そこで、出力パルス最大誤差ＧＢ＝（Ｔｘ＋パルス入出力モジュールの出力データ更新周期＋入出力モジュールのハードウェア誤差＊パルス出力時間  ＝１４．８μｓ±１０ｍｓ±１．０５ｍｓ／１０ｓ＊Ｔ
が成り立つ。
【００３０】
そこで、Ｔｘ（１４．８μｓ）＜＜出力パルス誤差（±１．０５ｍｓ／１０ｓ）＜パルス入出力モジュール更新周期を１０ｍｓ、パルス幅出力誤差を例えば２０ｍｓと規定すると、Ｔｘ＜＜パルス入出力モジュール更新周期を１０ｍｓにより、２０ｍｓ＞パルス入出力モジュール更新周期（１０ｍｓ）＋５０ｓ×±１．０５ｍｓ／１０ｓ＝１５．２５ｍｓとなり、パルス幅出力データが２０ｍｓ／ｄｉｇｉｔの場合、５０秒に一回はコントローラによる等値化処理が必要になる。以上説明したように、この実施の形態の分散形制御システムとそれに用いられているコントローラは、第１，第２の制御系統Ａ，Ｂの一方を稼働側に、他方を待機側に設定し、稼働側で実際の制御を行いつつ、待機側にも同じデータを保持させ、何らかの原因により、稼働側に不都合が生じたら、実際の制御を待機側に切り替え、それまでの待機側を稼働側に、稼働側を待機側に自動的に切り替えるので、扱うデータには連続性が保たれる。また、これらの処理を従来のように下位の装置に依存せずに、高機能のコントローラで処理しているので高速に処理でき、下位の装置の負荷を軽減でき、全体の能率を向上させることができ、さらに、等値化機能をコントローラに集中できるので保守面で有利である。
【００３１】
【発明の効果】
この発明の分散形制御システムとそれに用いられているコントローラは、以上において説明したように構成されているので、伝送制御モジュール等の下位の装置に等値化処理を負荷せずに、高い能力を有するコントローラが簡潔な回路を使用して、等値化を自動的に処理しているので信頼性が高い上に能率的である。また、等値化機能をコントローラに集中しているので保守面でも有利である。
【図面の簡単な説明】
【図１】この発明の二重化制御システム用のコントローラが用いられた分散形制御システムの構成を示すブロック図である。
【図２】図１において用いられているコントローラの構成を示すブロック図である。
【図３】図２のコントローラのパルス入出力装置の構成を示すブロック図である。
【図４】図２のコントローラの入力演算部の構成を示すブロック図である。
【図５】稼働側と待機側の設定の完了後における図２のコントローラの入力演算部の構成を示すブロック図である。
【図６】図２のコントローラの出力演算部の構成を示すブロック図である。
【図７】稼働側と待機側の設定の完了後における図２のコントローラの出力演算部の構成を示すブロック図である。
【図８】コントローラと、稼働側および待機側のパルス入出力モジュールとのデータ授受に要する時間を説明するための図である。
【図９】分散形制御システムの従来例の構成を示すブロック図である。
【図１０】９図において用いられているコントローラの構成例を示すブロック図である。
【図１１】９図において用いられているコントローラの他の構成例を示すブロック図である。
【図１２】図１１において用いられるパルス入力装置の構成例を示すブロック図である。
【図１３】図１１において用いられるパルス入力装置の他の構成例を示すブロック図である。
【符号の説明】
１    分散形制御システム
１０    マンマシンインタフェース装置
２０    制御用ＬＡＮ
３１，３２，〜，３ｎ    コントローラ
４０    演算部
４１    入力演算部
４１Ａ，４１Ｂ    入力パルス演算ユニット
４２    出力演算部
４２Ａ，４２Ｂ    出力パルス演算ユニット
４８，４９    差分演算器
５０Ａ，５０Ｂ    ＩＯリンク
５１Ａ，５１Ｂ，５７Ａ，５７Ｂ    入力データレジスタ
５２Ａ，５２Ｂ，５５Ａ，５５Ｂ，５６Ａ，５６Ｂ    出力データレジスタ
５３Ａ，５３Ｂ，５４Ａ，５４Ｂ，５８Ａ，５８Ｂ    加算器
５９Ａ，５９Ｂ    パルス出力回路
６１，６２，〜，６ｎ    パルス入出力装置
７０Ａ，７０Ｂ    伝送制御モジュール
８０Ａ，８０Ｂ    ＩＯバス
９１Ａ，９１Ｂ；〜；９４Ａ，９４Ｂ    パルス入出力モジュール
【図１】
0003977581.tif 000004
【図２】
0003977581.tif 000005
【図３】
0003977581.tif 000006
【図４】
0003977581.tif 000007
【図５】
0003977581.tif 000008
【図６】
0003977581.tif 000009
【図７】
0003977581.tif 000010
【図８】
0003977581.tif 000011
【図９】
0003977581.tif 000012
【図１０】
0003977581.tif 000013
【図１１】
0003977581.tif 000014
【図１２】
0003977581.tif 000015
【図１３】
0003977581.tif 000016