(57)【特許請求の範囲】
【請求項１】
ホストプロセッサがパルス幅量を設定し、このパルス幅量をカウントして、接点出力を行う二重化パルス幅出力装置において、
前記ホストプロセッサによりパルス幅量が設定され、制御権がある場合、パルス幅の開始を出力し、制御側の動作クロックでパルス幅量をカウントして、パルス幅の終了を出力し、パルス幅の完了通知を出力する制御側パルス幅出力部と、
前記ホストプロセッサによりパルス幅量が設定され、待機側の動作クロックでパルス幅量をカウントして、前記制御側パルス幅出力部のパルス幅の完了通知により、パルス幅の終了とすると共に、前記制御側パルス幅出力部から制御権が切り替わった場合、パルス幅の終了を出力する待機側パルス幅出力部と、
前記制御側及び前記待機側パルス幅出力部のパルス幅の開始と終了とに基づいて、接点出力を行う接点出力部と
を有することを特徴とする二重化パルス幅出力装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パルス幅を出力する二重化パルス幅出力装置に関し、信頼性を維持しつつ、制御権の切り替わりのタイミングによらず、パルス幅を出力できる二重化パルス幅出力装置に関するものである。
【０００２】
【従来の技術】
プロセス制御装置等において、電動弁等の動作方向（弁の開閉）および動作量を制御するために、２接点のパルス幅出力が行われている。このような二重化パルス幅出力装置を図１０に示し以下に説明する。
【０００３】
図において、１，２はホストプロセッサ、３，４はＩ／Ｏバスインターフェース、５はＩ／Ｏカードである。ホストプロセッサ１はＩ／Ｏバスインターフェース３に接続し、Ｉ／Ｏバスインターフェース３はＩ／Ｏカード５に接続する。ホストプロセッサ２はＩ／Ｏバスインターフェース４に接続し、Ｉ／Ｏバスインターフェース４はＩ／Ｏカード５に接続する。Ｉ／Ｏカードは、図示しない電動弁等に接点出力を行っている。
【０００４】
このような装置の動作を以下に説明する。
図１１，１２は、図１０に示す装置の動作を示したタイミングチャートである。図１１は、待機側のホストプロセッサ２がパルス幅のカウントを行わない場合、図１２は、待機側のホストプロセッサ２がパルス幅のカウントを行う場合である。
【０００５】
ホストプロセッサ１，２とＩ／Ｏバスインターフェース３，４とが二重化され、動作している。そして、制御側となったホストプロセッサ１がパルス幅のカウントを行い、Ｉ／Ｏバスインターフェース３を介して、Ｉ／Ｏカード５の接点出力回路を、パルス幅の開始と終了とにより制御し、所望のパルス幅を出力する。
【０００６】
まず、待機側のホストプロセッサ２がパルス幅のカウントを行わない場合について説明する。図１１（ａ）に示されるように、ｔ１でパルス幅のカウントが開始され、待機側のホストプロセッサ２はパルス幅のカウントを行わないため、ｔ２で、パルス幅出力中に制御権が切り換わり、ｔ２でパルス幅が終了し、本当の終了時点であるｔ４までパルス幅出力を継続することができない。
【０００７】
また、図１１（ｂ）に示されるように、ｔ１でカウントが開始され、ｔ２で制御権が切り換わった後、新たに制御側となったホストプロセッサ２が、ｔ３でパルス幅のカウントを再実行すると、パルス幅をｔ５までカウントし、出力するパルス幅が長くなってしまう。
【０００８】
そこで、図１２に示すように、待機側のホストプロセッサ２でも、ｔ１で、制御側のホストプロセッサ１と同時にパルス幅のカウントを開始した場合は、制御側および待機側の動作クロックに誤差があるため、待機側のホストプロセッサ２の動作クロックが速い場合には、図１２（ｃ）に示すように、ｔ２で、制御権が切り替わる前にパルス幅のカウントが終了してしまう。このため、図１２（ａ），（ｂ）に示すように、ｔ２より後の制御権の切り替わり後にパルス出力を落とすための動作を実行できないため、パルス幅の終了時点であるｔ３で、パルス出力を落とすことができなくなってしまうという問題点があった。
【０００９】
そこで、ホストプロセッサからパルス幅のカウント機能をＩ／Ｏカードに持たせ、パルス幅出力を行う装置を図１３に示し、以下に説明する。
【００１０】
図において、６，７はホストプロセッサ、８はＩ／Ｏカードである。ホストプロセッサ６はＩ／Ｏカード８に接続し、ホストプロセッサ７はＩ／Ｏカード８に接続する。Ｉ／Ｏカード８は、図示しない電動弁等に接点出力を行っている。
【００１１】
このような装置の動作を以下に説明する。
ホストプロセッサ６，７を二重化する。そして、制御側のホストプロセッサ６がＩ／Ｏカード８へパルス幅出力コマンドを与える。コマンドを受け取ったＩ／Ｏカード８がパルス幅出力コマンドに基づいて、パルス幅のカウントを行い、パルス幅を出力する。
【００１２】
しかし、パルス幅出力機能部分であるＩ／Ｏカード８はシングル構成となり、信頼性が劣ってしまうという問題点がある。
【００１３】
【発明が解決しようとする課題】
そこで、本発明の目的は、信頼性を維持しつつ、制御権の切り替わりのタイミングによらず、パルス幅を出力できる二重化パルス幅出力装置を実現することにある。
【００１４】
【課題を解決するための手段】
本発明は、
ホストプロセッサがパルス幅量を設定し、このパルス幅量をカウントして、接点出力を行う二重化パルス幅出力装置において、
前記ホストプロセッサによりパルス幅量が設定され、制御権がある場合、パルス幅の開始を出力し、制御側の動作クロックでパルス幅量をカウントして、パルス幅の終了を出力し、パルス幅の完了通知を出力する制御側パルス幅出力部と、
前記ホストプロセッサによりパルス幅量が設定され、待機側の動作クロックでパルス幅量をカウントして、前記制御側パルス幅出力部のパルス幅の完了通知により、パルス幅の終了とすると共に、前記制御側パルス幅出力部から制御権が切り替わった場合、パルス幅の終了を出力する待機側パルス幅出力部と、
前記制御側及び前記待機側パルス幅出力部のパルス幅の開始と終了とに基づいて、接点出力を行う接点出力部と
を有することを特徴とするものである。
【００１５】
このような本発明では、制御側パルス幅出力部は、制御権に基づいて、パルス幅の開始と終了とを出力し、パルス幅の完了通知を出力する。そして、待機側パルス幅出力部は、パルス幅をカウントして、制御権と制御側パルス幅出力部の完了通知とに基づいて、パルス幅の開始と終了とを出力する。
【００１６】
【発明の実施の形態】
以下図面を用いて本発明の実施の形態を説明する。
図１は本発明の一実施例を示した構成図である。
【００１７】
図において、ホストプロセッサ１０，２０は、二重化され、システムバス３０に接続する。Ｉ／Ｏ通信インターフェース４０，５０は、二重化され、システムバス３０に接続すると共に、Ｉ／Ｏ通信バス６０に接続する。Ｉ／Ｏカード７０は接点出力部で、Ｉ／Ｏ通信バス６０に接続し、図示しない電動弁等に接点出力を行っている。
【００１８】
Ｉ／Ｏ通信インターフェース４０，５０はパルス幅出力部で、それぞれ制御権フラグレジスタ４１，５１、完了通知レジスタ４２，５２、コマンドレジスタ４３，５３、パルス幅演算部４４，５４、Ｉ／Ｏ通信バスインターフェース４５，５５を有する。
【００１９】
制御権フラグレジスタ４１，５１は制御権通知手段で、システムバス３０に接続し、制御権フラグを保持する。
【００２０】
完了通知レジスタ４２，５２は完了通知手段で、システムバス３０に接続し、完了通知フラグを保持し、ホストプロセッサ１０，２０に通知する。
【００２１】
コマンドレジスタ４３，５３はコマンド保持手段で、システムバス３０に接続し、パルス幅のパラメータを保持する。コマンドレジスタ４３，５３は、図２に示すように構成される。Ｓ（スタートビット）は、１：コマンドセット、０：コマンド完了を規定する。Ｐ（ビジービット）は、１：パルス出力中、０：パルス出力完了を規定する。パルス幅量は、出力するパルスの時間を設定する。
【００２２】
また、スタートビットとビジービットの操作は、図３に示されるように行われ、スタートビットとビジービットの値とパルス出力状態は、図４に示されるようになる。ここで、ホストとは、ホストプロセッサ１０，２０を示し、Ｉ／Ｏ通信Ｉ／Ｆとは、Ｉ／Ｏ通信インターフェース４０，５０を示す。
【００２３】
パルス幅演算部４４，５４は、それぞれ制御権フラグレジスタ４１，５１、完了通知レジスタ４２，５２、コマンドレジスタ４３，５３に接続し、コマンドレジスタ４３，５３のパルス幅量に基づいて、カウントを行い、パルス幅の開始と終了とを出力する。
【００２４】
Ｉ／Ｏ通信バスインターフェース４５，５５は出力部で、それぞれ制御権フラグレジスタ４１，５１、パルス幅演算部４４，５４に接続すると共に、Ｉ／Ｏ通信バス６０に接続し、制御権フラグレジスタ４１，５１の制御権に基づいて、パルス幅演算部４４，５４の出力を通過させる。
【００２５】
このような装置の動作を以下で説明する。ここで、ホストプロセッサ１０，２０の制御側は、ホストプロセッサ１０とし、Ｉ／０通信インターフェース４０，５０の制御側は、Ｉ／Ｏ通信インターフェース４０とする。
【００２６】
図５は、制御側ホストプロセッサ１０の動作を示したフローチャートである。図６は、制御側Ｉ／Ｏ通信インターフェース４０の動作を示したフローチャートである。図７は、待機側Ｉ／Ｏ通信インターフェース５０の動作を示したフローチャートである。
【００２７】
ホストプロセッサ１０は、制御側のコマンドレジスタ４３にパラメータ、つまり、スタートビット”１”、パルス幅量を設定し、（Ｓ１１）、待機側のコマンドレジスタ５３にパラメータ、つまり、スタートビット”１”、パルス幅量を設定する（Ｓ１２）。そして、ホストプロセッサ１０は、完了通知割り込みを待つ（Ｓ１３）。なお、待機側のホストプロセッサ２０も、ホストプロセッサ１０と同じ動作を行い、制御動作は行わずに、ホストプロセッサ１０が故障等になった場合に、ホストプロセッサ２０が制御側となって、動作するため、説明を省略する。また、ホストプロセッサ１０，２０の二重化構成及び動作は、本発明の特徴部分でないため、説明を省略する。
【００２８】
パルス幅演算部４４は、コマンドレジスタ４３のスタートビット”１”と制御権フラグレジスタ４１の制御権フラグ”１”とにより、パルスを出力する接点をオンする指示（パルス幅の開始）を、Ｉ／Ｏ通信バスインターフェース４５を介して、Ｉ／Ｏカード７０に与える（Ｓ２１）。ここで、Ｉ／Ｏ通信バスインターフェース４５は、制御権フラグ”１”により、パルス幅演算部４４の出力を通過させている。そして、パルス幅演算部４４は、コマンドレジスタ４３のパルス幅量でパルス幅を計算、つまり、カウントを行う（Ｓ２２，Ｓ２３）。ここで、カウントは、例えば、足し算計算により行っている。
【００２９】
このとき、パルス幅演算部５４も、コマンドレジスタ５３のスタートビット”１”により、コマンドレジスタ５３のパルス幅量を計算、つまり、カウントを行う（Ｓ３１，Ｓ３２）。ここで、パルス幅演算部５４も、パルス幅の開始を出力するが、Ｉ／Ｏ通信バスインターフェース５５は、制御フラグレジスタ５１の制御フラグ”０”により、パルス幅演算部５４の出力を通過させない。
【００３０】
パルス幅演算部４４は、カウントが終了したら、接点をオフする指示（パルス幅の終了）を、Ｉ／Ｏ通信バスインターフェース４５を介して、Ｉ／Ｏカード７０に与える（Ｓ２３，Ｓ２４）。そして、パルス幅演算部４４は、コマンドレジスタ４３のスタートビットとビジービットとをクリア、つまり、”０”，”０”にする（Ｓ２５）。また、パルス幅演算部４４は、完了通知レジスタ４２を”１”にし、システムバス３０を介して、ホストプロセッサ１０，２０に通知する（Ｓ２６）。
【００３１】
この通知により、ホストプロセッサ１０は、待機側コマンドレジスタ５３のスタートビットとビジービットとをクリア、つまり、”０”，”０”にする（Ｓ１３，Ｓ１４）。
【００３２】
このとき、パルス幅演算部５４は、制御権フラグレジスタ５１の制御権フラグ”０”により、コマンドレジスタ５３のスタートビットとビジービットとがクリアされたかを確認する（Ｓ３３）。クリアされていれば、パルス幅演算部５４は処理を終了する。クリアされていなければ、パルス幅演算部５４は、内部タイマー（図示せず）の設定を行う（Ｓ３４）。
【００３３】
再び、パルス幅演算部５４は、コマンドレジスタ５３のスタートビットとビジービットとがクリアされたかを確認する（Ｓ３５）。クリアされていれば、パルス幅演算部５４は処理を終了する。クリアされていなければ、パルス幅演算部５４は、制御権フラグレジスタ５１を確認する（Ｓ３６）。
【００３４】
制御権が切り替わっていれば、パルス幅演算部５４は、Ｉ／Ｏ通信バスインターフェース５５を介して、接点オフ（パルス幅終了）をＩ／Ｏカード７０に指示する（Ｓ３７）。ここで、制御権フラグレジスタ５１の制御権フラグが”１”になり、Ｉ／Ｏ通信バスインターフェース５５が、パルス幅演算部５４の出力を通過させる。そして、パルス幅演算部５４は、制御権フラグが”１”であるので、コマンドレジスタ５３のスタートビットとビジービットとをクリアする（Ｓ３８）。また、パルス幅演算部５４は、完了通知レジスタ５２を”１”にし、完了通知レジスタ５２は、ホストプロセッサ１０，２０に通知し（Ｓ３９）、処理を終了する。
【００３５】
制御権が切り替わっていなければ、パルス演算部５４は、タイマーがタイムアップしたか確認する（Ｓ４０）。タイムアップしていなければ、再び、パルス演算部５４は、コマンドレジスタ５３のスタートビットとビジービットとがクリアされたか確認を行い（Ｓ３５）、上記の動作を繰返す。タイムアップしていれば、パルス演算部５４は、コマンドレジスタ５３のスタートビットとビジービットとをクリアし（Ｓ４１）、処理を終了する。
【００３６】
以上のようなＩ／Ｏ通信インターフェース４０，５０からのパルス幅の開始と終了の指示により、Ｉ／Ｏカード７０は、接点出力を行う。
【００３７】
次に、具体的動作を、図８，９を用いて以下に説明する。
図８，９は、図１に示す装置の動作を示したタイミングチャートである。（ａ）は制御側、（ｂ）は待機側のタイミングチャートを示す。なお、タイミングチャートは、概念図であり、実際の信号出力を表したものではない。
【００３８】
図８において、ホストプロセッサ１０が、コマンドレジスタ４３，５３にスタートビットとビジービットとパルス幅量とを設定する（Ｓ１１）。
【００３９】
そして、待機側のＩ／Ｏ通信インターフェース５０は、ｔ１で、パルス幅の開始を出力し、パルス幅のカウントを行い、ｔ２で、カウントが終了し、コマンドレジスタ５３のスタートビットとビジービットがクリアされたか、確認する（Ｓ３１〜Ｓ３３）。そして、パルス幅演算部５４が、内部タイマーを設定し、コマンドレジスタ５３のスタートビットとビジービットがクリアされたか、制御権が切り替わったか、タイムアップかを繰返し、確認する（Ｓ３５，Ｓ３６，Ｓ４０）。
【００４０】
このとき、制御側のＩ／Ｏ通信インターフェース４０は、ｔ１から、パルス幅出力のカウントを行い、カウントが終了し、ｔ３で、パルス幅の終了を出力する（Ｓ２１〜Ｓ２４）。パルス幅演算部４４が、コマンドレジスタ４３のスタートビットとビジービットをクリアにし、完了通知レジスタ４２を”１”にし、ホストプロセッサ１０，２０に完了を通知する（Ｓ２５，Ｓ２６）。
【００４１】
完了通知により、ホストプロセッサ１０は、コマンドレジスタ５３のスタートビットとビジービットとをクリアする（Ｓ１４）。
【００４２】
これにより、Ｉ／Ｏ通信インターフェース５０のパルス幅演算部５４は、ｔ３で、パルス幅の終了を出力する。
【００４３】
また、図９において、ホストプロセッサ１０が、コマンドレジスタ４３，５３にスタートビットとビジービットとパルス幅量とを設定する（Ｓ１１）。
【００４４】
そして、待機側のＩ／Ｏ通信インターフェース５０は、ｔ１から、パルス幅のカウントを行い、ｔ２で、カウントが終了し、コマンドレジスタ５３のスタートビットとビジービットがクリアされたか、確認する（Ｓ３１〜Ｓ３３）。そして、パルス幅演算部５４が、内部タイマーを設定し、コマンドレジスタ５３のスタートビットとビジービットがクリアされたか、制御権が切り替わったか、タイムアップかを繰返し、確認する（Ｓ３５，Ｓ３６，Ｓ４０）。
【００４５】
このとき、制御側のＩ／Ｏ通信インターフェース４０は、ｔ１から、パルス幅出力のカウントを行う（Ｓ２１〜Ｓ２３）。そして、ｔ３で、制御権の切り替えが起こると、制御権フラグレジスタ４１が”０”、制御権フラグレジスタ５１が”１”となる。ここで、制御権の切り替えは、ホストプロセッサ１０が、レジスタ４１〜４３を読みに行き、読み出しに失敗すると、Ｉ／Ｏ通信インターフェース４０の故障とみなして、制御権フラグレジスタ４１を”０”にし、Ｉ／Ｏ通信インターフェース５０の制御権フラグレジスタ５１を”１”にすることにより、切り替えを行っている。
【００４６】
これにより、ｔ３で、パルス幅演算部５４は、パルス幅出力を終了し、スタートビットとビジービットとをクリアし、完了通知レジスタ５２を”１”にする（Ｓ３７〜Ｓ３９）。
【００４７】
完了通知により、ホストプロセッサ１０は、コマンドレジスタ４３のスタートビットとビジービットとをクリアする（Ｓ１４）。
【００４８】
これにより、待機側となったＩ／Ｏ通信インターフェース４０のパルス幅演算部４４は、ｔ４で、パルス幅の終了を出力する（Ｓ３１〜Ｓ３３）。なお、制御権フラグレジスタ４１が”０”であるので、Ｉ／Ｏ通信バスインターフェース４５により、出力はされない。
【００５０】
なお、本発明はこれに限定されるものではなく、以下のようなものでもよい。Ｉ／Ｏ通信バスインターフェース４５，５５により、パルス幅演算部４４，５４の出力を制御する構成を示したが、パルス幅演算部４４，５４に制御権により出力を制御する構成を含む構成でもよい。
【００５１】
また、完了通知レジスタ４２，５２の完了通知は、ホストプロセッサ１０，２０を介して、Ｉ／Ｏ通信インターフェース５０，４０に通知する構成を示したが、ホストプロセッサ１０，２０を介さずに、直接、Ｉ／Ｏ通信インターフェース５０，４０に通知する構成にしてもよい。
【００５２】
そして、ホストプロセッサ１０，２０で、二重化した構成を示したが、本発明の特徴部分は、Ｉ／Ｏ通信インターフェース４０，５０による二重化であるので、ホストプロセッサ１０，２０はシングル構成でもよい。
【００５３】
【発明の効果】
本発明によれば、パルス幅出力部の処理速度にずれがあっても、二重化の切り替わりのタイミングによらず、パルス出力を継続して行うことができる。また、制御側及び待機側パルス幅出力部は、二重化されているので、信頼性も維持できる。
【図面の簡単な説明】
【図１】本発明の一実施例を示した構成図である。
【図２】コマンドレジスタ４３，５３の構成を示した図である。
【図３】コマンドレジスタ４３，５３の操作対応表を示した図である。
【図４】コマンドレジスタ４３，５３のパルス出力状態対応表を示した図である。
【図５】制御側ホストプロセッサ１０の動作を示したフローチャートである。
【図６】制御側Ｉ／Ｏ通信インターフェース４０の動作を示したフローチャートである。
【図７】待機側Ｉ／Ｏ通信インターフェース５０の動作を示したフローチャートである。
【図８】図１に示す装置の動作を示したタイミングチャートである。
【図９】図１に示す装置の動作を示したタイミングチャートである。
【図１０】従来の二重化パルス幅出力装置を示した構成図である。
【図１１】図１０に示す装置の動作を示したタイミングチャートである。
【図１２】図１０に示す装置の動作を示したタイミングチャートである。
【図１３】従来の他の二重化パルス幅出力装置を示した構成図である。
【符号の説明】
１０，２０  ホストプロセッサ
３０  システムバス
４０，５０  Ｉ／Ｏ通信インターフェース
４１，５１  制御権フラグレジスタ
４２，５２  完了通知レジスタ
４３，５３  コマンドレジスタ
４４，５４  パルス幅演算部
４５，５５  Ｉ／Ｏ通信バスインターフェース
６０  Ｉ／Ｏ通信バス
７０  Ｉ／Ｏカード
【図１】
0003800386.tif 000002
【図２】
0003800386.tif 000003
【図３】
0003800386.tif 000004
【図４】
0003800386.tif 000005
【図５】
0003800386.tif 000006
【図６】
0003800386.tif 000007
【図７】
0003800386.tif 000008
【図８】
0003800386.tif 000009
【図９】
0003800386.tif 000010
【図１０】
0003800386.tif 000011
【図１１】
0003800386.tif 000012
【図１２】
0003800386.tif 000013
【図１３】
0003800386.tif 000014