JP2013201664A - 冗長通信装置 - Google Patents
冗長通信装置 Download PDFInfo
- Publication number
- JP2013201664A JP2013201664A JP2012069565A JP2012069565A JP2013201664A JP 2013201664 A JP2013201664 A JP 2013201664A JP 2012069565 A JP2012069565 A JP 2012069565A JP 2012069565 A JP2012069565 A JP 2012069565A JP 2013201664 A JP2013201664 A JP 2013201664A
- Authority
- JP
- Japan
- Prior art keywords
- communication unit
- bus
- diagnosis
- unit
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Small-Scale Networks (AREA)
Abstract
【課題】制御系ネットワークの冗長ノードにおける選択ノードの切り換えの場合に、被選択ノード内の通信装置における接続系統を予め診断しておいて切り換えの際の信頼性をより向上させる。
【解決手段】接続機器に情報信号を伝送する信号バスと情報信号を処理する機能を備える制御部との間に接続されて一方が動作状態のときに他方が待機状態となって情報信号を中継する第1及び第2の通信部と、第1の通信部に設けられて信号バスからの応答を診断する第1の診断部と、第2の通信部に設けられて信号バスからの応答を診断する第2の診断部と、第1の通信部に設けられて第2の通信部に診断を要求し、診断結果を受領する第1の診断要求部と、第1の通信部に設けられて該通信部の動作状態における上記信号バスからの応答の診断結果が異常であって第2の通信部における信号バスからの応答の診断結果が正常であるとき、情報信号の中継を第1の通信部から第2の通信部に切換える第1の判断部と、を備える。
【選択図】図1
【解決手段】接続機器に情報信号を伝送する信号バスと情報信号を処理する機能を備える制御部との間に接続されて一方が動作状態のときに他方が待機状態となって情報信号を中継する第1及び第2の通信部と、第1の通信部に設けられて信号バスからの応答を診断する第1の診断部と、第2の通信部に設けられて信号バスからの応答を診断する第2の診断部と、第1の通信部に設けられて第2の通信部に診断を要求し、診断結果を受領する第1の診断要求部と、第1の通信部に設けられて該通信部の動作状態における上記信号バスからの応答の診断結果が異常であって第2の通信部における信号バスからの応答の診断結果が正常であるとき、情報信号の中継を第1の通信部から第2の通信部に切換える第1の判断部と、を備える。
【選択図】図1
Description
本発明は、制御系ネットワークのノード等に用いられる通信装置に関し、特に二重化構造を有する冗長化ノードに好適な冗長通信装置に関する。
例えば、生産設備、水処理設備、ビルの空調設備などの各種の制御プロセスに配置されたプロセス機器をネットワークを介して制御するためにプロセスコントローラ(プロセスを制御するコンピュータシステム)が使用される。このコントローラは制御プログラムを実行してプロセスの運転状態(プロセスデータ)を常時監視し、所要の制御が誤りなく行われるようにプロセスの制御パラメータを調節する。このような制御系ネットワークのノード(プロセスコントローラ等のネットワーク接続要素)には長時間に渡って故障なく動作することが要求される。ノードの信頼性を向上する手法としてノードの冗長化がある。冗長化には、例えば、並列冗長システムと待機冗長システムがある。
並列冗長システムは、同じ構成のノードを2つ以上同時に使用し、そのうち少なくとも一つが故障していなければ当該ノードの機能は維持される並列システムである。n個のノードを並列冗長で使用するとノードの信頼度は改善されるが、ノードの平均寿命は1倍であり、n倍にはならない。また、n個のノードによる並列冗長システムの消費電力は1つのノードによる場合に比べてn倍に増える。
これに対し、待機冗長システムは、使用ノードは一台だけで残りのノードは待機させておき、使用ノードが故障すれば待機しているノードに直ちに切り換えるシステムである。待機冗長システムの信頼度は使用ノードから待機ノードへの切替えの信頼度が1ならば並列冗長システムより高くなり、待機冗長システムの平均寿命は並列冗長システムのn倍となる。また、消費電力も並列冗長システムと比べて少なくて済む利点がある。
例えば、特開2004−62362号公報(特許文献1)に記載のバスインタフェース装置は1つのIOバスに接続される2つの通信インターフェイス回路を備える冗長システムにより信頼性を向上している。
待機冗長システムは上述したような高い信頼性と低いランニングコストであるという利点を有するが、更に、制御系ネットワークが二重化(多重冗長化)されると、フィールド機器とプロセスコントローラ等のノード間で選択可能な通信経路が複数(複雑)になる。冗長ノード自体における不具合だけではなく、ノード、信号線路、フィールド機器等に至る接続系統の不具合をも考慮した冗長システムが望まれる。
例えば、冗長化ノードにおいて、アクティブ状態のノードから待機状態のノードに動作を切り換える場合、待機状態のノード内のネットワーク通信部がフィールド機器や通信系統等を含めて正常に機能することが保証されることが望ましい。
よって、本発明は制御系ネットワークの冗長ノードにおける選択ノードの切り換えの場合に、被選択ノード内の通信装置における接続系統を予め診断しておいて切り換えの際の信頼性をより向上させることを目的とする。
よって、本発明は制御系ネットワークの冗長ノードにおける選択ノードの切り換えの場合に、被選択ノード内の通信装置における接続系統を予め診断しておいて切り換えの際の信頼性をより向上させることを目的とする。
上記課題を達成する本発明の冗長通信装置の一態様は、接続機器に情報信号を伝送する信号バスと上記情報信号を処理する機能を備える制御部との間に接続されて、一方が動作状態のときに他方が待機状態となって上記情報信号を中継する第1及び第2の通信部と、上記第1の通信部に設けられて上記信号バスからの応答を診断する第1の診断部と、上記第2の通信部に設けられて上記信号バスからの応答を診断する第2の診断部と、上記第1の通信部に設けられて上記第2の通信部に診断を要求し、診断結果を受領する第1の診断要求部と、上記第1の通信部に設けられて該通信部の動作状態における上記信号バスからの応答の診断結果が異常であって上記第2の通信部における上記信号バスからの応答の診断結果が正常であるとき、上記情報信号の中継を上記第1の通信部から上記第2の通信部に切換える第1の判断部と、を備える。
かかる構成とすることによって、第1の通信部がマスター側として正常に動作しているときに、スレーブ側としての第2の通信部、信号バス及び該信号バスへの接続機器の系統が正常に動作することを予め確認しておいて、第1の通信部側に異常が生じたときに第2の通信部側に動作を切り換えるのでマスター側からスレーブ側に制御動作を切り換えた際のエラー発生が可及的に回避される。また、第1の通信部がマスター側として正常に動作しているときに、第2の通信部系統の異常(故障)が検出された場合には予め修復することが可能となり、待機冗長通信装置の信頼性を向上することが可能となる。
また、更に、第三の通信部を設け、第2の通信部も異常であるときは正常な(第1の通信部と同様に構成されている)第3の通信部に動作を切り換えることが可能となる。それにより、第1及び第2の通信部の異常発生にも対応することができ、待機冗長通信装置の信頼性を更に向上することが可能となる。
また、本発明の冗長通信装置の一態様は、更に、上記第2の通信部に設けられて上記第1の通信部に診断を要求し、診断結果を受領する第2の診断要求部と、上記第2の通信部に設けられて該通信部の動作状態における上記信号バスからの応答の診断結果が異常であって上記第1の通信部における上記信号バスからの応答の診断結果が正常であるとき、上記情報信号の中継を上記第2の通信部から上記第1の通信部に切換える第2の判断部と、を備える。
かかる構成することによって、第2の通信部側にも第1の通信部側と同様に第2の診断要求部と第2の判断部とが備えられる。それにより、第1の通信部側から第2の通信部側に動作が切り換えられて、第2の通信部側がマスター側、第1の通信部側がスレーブ側として機能して運転を継続する。そして、第2の通信部側に異常が生じた場合に再度第1の通信部側がマスター側、第2の通信部側がスレーブ側として機能することを可能とする。
好ましくは、上記信号バスは二重化されており、各信号バスに上記第1及び第2の通信部が接続される。それにより、信号バス、第1及び第2の通信部が二重化され、通信系の冗長化によって信頼性が向上する。
好ましくは、冗長通信装置は、更に、上記第2の診断部の上記信号バスからの応答を診断する時間が、予め前記第1の通信部の動作に割り当てられた時間の空き時間よりも少ないとき、該信号バスからの応答の診断に代えて前記第2の通信部における異常の有無を診断する第3の診断部を備える。それにより、(空き時間時間不足により)第2の通信部から信号バスに接続された各機器の応答を確認できない場合(第2の通信部の接続系統の異常判別時間が足りない場合)であっても、少なくとも第2の通信部の動作の正常を判別可能とし、第1の通信部から第2通信部に切り換える場合のリスクを減少する。
好ましくは、上記第1の判断部は、上記第1の通信部における上記信号バスからの応答の診断結果が異常であるとき、上記第1の診断部に上記信号バスからの応答を再度診断させる。それにより、第1の通信部における異常の誤検出を可及的に回避して、本来必要のない第2の通信部への動作切替を回避可能とする。
好ましくは、上記信号バスからの応答は上記診断部からの応答要求に対する上記信号バスに接続された機器からの返信である。接続された機器には、フィールド機器、コントローラ、サーバ装置等が含まれる。
上述した冗長通信装置はプロセス制御系のネットワークに接続されるノードに適用して好都合である。例えば、制御系ネットワークのノードとしてのプロセスコントローラに上記冗長通信装置を適用した場合、スレーブ側の通信部の動作が予め正常であることが判断されているので、マスター側からスレーブ側への制御動作の移行が可及的に円滑に行われる。
本発明によれば、待機冗長通信装置において動作状態の通信部から待機状態の通信部への動作移行が円滑に行われる。
以下、本発明の実施の形態について図面を参照しつつ説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせのすべてが発明の解決手段に必須であるとは限らない。
なお、以下の実施形態では、本発明の冗長通信装置をプロセス制御系ネットワークのノードに適用したものを例に説明するが、本発明の冗長通信装置が適用されるものはこれに限られず、例えば、サブシステム(局所的なシステム)の通信インタフェース等にも使用できる。
なお、以下の実施形態では、本発明の冗長通信装置をプロセス制御系ネットワークのノードに適用したものを例に説明するが、本発明の冗長通信装置が適用されるものはこれに限られず、例えば、サブシステム(局所的なシステム)の通信インタフェース等にも使用できる。
<定義>
本明細書で使用する用語を以下のとおり定義する。
「ノード」:プロセス制御系ネットワークに接続されて一定の機能を発揮する要素であり、例えば、プロセス管理システムに含まれるサーバ、コントローラ、フィールド機器の各々を示す。
「フィールド機器」:プラントシステムにおける、計装盤や制御室からケーブルが出た機械周りの配線及び機器、圧力発信機、流量計、温度センサ等のセンサ類、圧力制御弁、流量制御弁、開閉弁等のバルブ類、ポンプ、ブロア、ファン等モータやアクチュエータ機器類それら制御盤内外に設置する機器(総称)をいう。
「プロセスデータ」:ノード(主にフィールド機器)から送信される測定値またはノードに対する設定値等のデータをいう。
「アクティブ状態」:装置の動作を許可された状態をいう。
「非アクティブ状態」:装置の動作が禁止された状態をいう。
「マスター側」:待機冗長装置において動作している装置側をいう。
「スレーブ側」:待機冗長装置において待機してい装置側をいう。
「サブシステム」:信号バスに接続する一つのコントローラ、サーバ、シリアル通信ユニットが管理する局所的な系統一般をいう。
本明細書で使用する用語を以下のとおり定義する。
「ノード」:プロセス制御系ネットワークに接続されて一定の機能を発揮する要素であり、例えば、プロセス管理システムに含まれるサーバ、コントローラ、フィールド機器の各々を示す。
「フィールド機器」:プラントシステムにおける、計装盤や制御室からケーブルが出た機械周りの配線及び機器、圧力発信機、流量計、温度センサ等のセンサ類、圧力制御弁、流量制御弁、開閉弁等のバルブ類、ポンプ、ブロア、ファン等モータやアクチュエータ機器類それら制御盤内外に設置する機器(総称)をいう。
「プロセスデータ」:ノード(主にフィールド機器)から送信される測定値またはノードに対する設定値等のデータをいう。
「アクティブ状態」:装置の動作を許可された状態をいう。
「非アクティブ状態」:装置の動作が禁止された状態をいう。
「マスター側」:待機冗長装置において動作している装置側をいう。
「スレーブ側」:待機冗長装置において待機してい装置側をいう。
「サブシステム」:信号バスに接続する一つのコントローラ、サーバ、シリアル通信ユニットが管理する局所的な系統一般をいう。
<プロセス管理システムの構成>
図1に、本実施形態に係る制御系ネットワークの構成例(プロセス管理システム)を示す。同図に示すように、生産プロセスに配置された各種のフィール機器を制御する冗長コントローラ10がユニバーサル(汎用)バス1とローカルバス2との間に接続されている。ユニバーサルバス1には、冗長コントローラ10の他に、プロセスコントローラ11及びスーパーバイザリステーション20が相互に通信可能に接続されている。ローカルバス2には、冗長コントローラ10の他に、I/Oサーバ31、I/Oサーバ32、及びシリアル通信ユニット33が、相互に通信可能に接続されている。
図1に、本実施形態に係る制御系ネットワークの構成例(プロセス管理システム)を示す。同図に示すように、生産プロセスに配置された各種のフィール機器を制御する冗長コントローラ10がユニバーサル(汎用)バス1とローカルバス2との間に接続されている。ユニバーサルバス1には、冗長コントローラ10の他に、プロセスコントローラ11及びスーパーバイザリステーション20が相互に通信可能に接続されている。ローカルバス2には、冗長コントローラ10の他に、I/Oサーバ31、I/Oサーバ32、及びシリアル通信ユニット33が、相互に通信可能に接続されている。
ユニバーサルバス1は、汎用のコンピュータネットワーク規格、例えばイーサネット(登録商標)(Ethernet)により装置間を相互に接続するバスである。後述のように、ユニバーサルバス1は2つ(複数)の伝送路1a、1bによって冗長に構成されている。また、ローカルバス2も同様に2つ(複数)の伝送路2a、2bによって冗長に構成されている(後述の図2参照)。
スーパーバイザリステーション20は、ユニバーサルバス1に接続する各種コントローラが管理するサブシステムから供給される測定信号等に基づいて、プロセスシステム全体の運転内容を監視し、各サブシステムに対する制御信号を送信するプロセス管理装置である。スーパーバイザリステーション20は、ユニバーサルバス1に接続される冗長コントローラ10やプロセスコントローラ11、ローカルバス2に接続されるフィールド機器類の運転内容をモニタに表示可能に構成されている。
運用者は、表示内容を見ることにより、プロセス管理システム全体の運転内容を把握することが可能である。スーパーバイザリステーション20は、運用者の操作指示に従って、システムに接続される装置やフィールド機器に対する制御内容を指示可能に構成されている。指示可能な制御内容としては、機器の起動操作や停止操作等が該当する。特に本実施形態において、スーパーバイザリステーション20は、冗長コントローラ10に対して、プライマリノード100P及びセカンダリノード100Sのうち、いずれか一方のノードがアクティブ状態になるよう、また、他方のノードが非アクティブ状態となるよう、切換指示可能に構成されている。
また、スーパーバイザリステーション20等によって予め冗長コントローラ10に指令(動作モード)を設定しておくことによって、冗長コントローラ10は、プライマリノード100P及びセカンダリノード100Sのいずれかのノードで異常(あるいは所定の条件)が発生した場合に自動的に当該ノードを非アクティブに状態にし、他方のノードをアクティブ状態にする待機冗長制御を実行可能に構成されている。
冗長コントローラ10は、互いに同一の構成を備えたプライマリノード(第1ノード)100Pとセカンダリノード(第2ノード)100Sとが並行して動作可能に構成されている。後述するようにプライマリノード100Pとセカンダリノード100Sの各々にはローカルバス2を介してフィールド機器等との通信を行う通信部が設けられる。そして、プライマリノード100P側の通信部とセカンダリノード100S側の通信部との相互間でも待機冗長制御を実行できるように構成されている。
冗長コントローラ10は、例えば、いわゆるOPC(OLE for Process Control)規格に準拠したOPCサーバであるI/Oサーバ31及びI/Oサーバ32に対するOPCクライアントの一つとして位置付けられたコントローラである。冗長コントローラ10の詳細な構成については、図2を参照して後述する。また、冗長コントローラ10内部の通信部の詳細な構成については図3を参照して後述する。なお、実施形態では、冗長コントローラ10は、ユニバーサルバス1の系統とローカルバス2の系統との間で情報を受け渡すためのゲートウェイとしても機能する。
プロセスコントローラ11は、冗長コントローラ10と同様に、自ら管理するローカルバスに接続された各種機器で構成されるサブシステムを管理する制御手段であり、必要に応じて設けられる。例えば、プロセスコントローラ11としては、種々の機能を有する装置を適用可能であり、例えば、分散型コントロールシステム(DCS:Distributed Control System)、プログラマブルロジックコントローラ(PLC:Programmable Logic Controller)、ビルディングオートメーションシステム(BAS:Building Automation System)等が挙げられる。
ローカルバス2は、汎用のコンピュータネットワーク規格、例えばイーサネット(登録商標)、VLBUS(規格名称)、あるいは独自仕様の信号バス規格等により装置間を相互に接続する拡張バスである。ローカルバス2は、例えば工場内のコンピュータ機器を相互に接続する工場LAN(Local Area Network)に相当する。
I/Oサーバ31は、ローカルバス2に接続されるフィールド機器等に対するOPCサーバの一つとして機能し、これら機器に対する監視及び管理を実施する管理装置である。I/Oサーバ31は、OPC規格に準拠した通信プロトコルで通信可能に構成されている。また、I/Oサーバ31は、フィールド機器41に直接接続されている。I/Oサーバ31とフィールド機器41とは、シリアル通信ケーブルにより相互に接続されている。
フィールド機器41は、流量、圧力、温度等の所定の物理量を測定する測定ポイントとして機能可能に構成されている。測定ポイントとして機能するフィールド機器41は、例えば、流量センサや圧力センサ、温度センサ等の各種センサである。またフィールド機器41は、温度や流量等を制御する制御ポイントとして機能可能に構成されている。制御ポイントとして機能するフィールド機器41は、例えば、温度調節器や圧力・流量・開閉制御弁等の各種弁装置、ポンプやブロア、ファン等のモータ、アクチュエータ機器類である。フィールド機器41は、測定値を所定の規格の信号、例えば4〜20mAの直流信号に変換してI/Oサーバ31に送信可能に構成されている。I/Oサーバ31は、制御ポイントに対する設定値(設定温度、制御弁の開度、モータやアクチュエータ機器の駆動量)を所定の規格の信号、例えば4〜20mAの直流信号に重畳させて変換してフィールド機器41に送信可能に構成されている。
I/Oサーバ32は、ローカルバス2に接続される機器に対するOPCサーバの一つとして機能する。I/Oサーバ32は、OPC規格に準拠した通信プロトコルで通信可能に構成されている。I/Oサーバ32には、OPCクライアントの一つとして動作するプログラマブルロジックコントローラ(PLC)42が接続されている。プログラマブルロジックコントローラ42は、特定の制御ポイントに対するリレー制御等を実行可能に構成されている。I/Oサーバ32は、所定の設定値をシリアル信号に変換してプログラマブルロジックコントローラ42に供給する。またプログラマブルロジックコントローラ42から供給された測定値を必要に応じてローカルバス2に送信する。
I/Oサーバ31及びI/Oサーバ32は、自らが直接管理するフィールド機器41やプログラマブルロジックコントローラ42に動作異常を検出した場合や、自らの動作に不具合を生じている場合、アラート信号をローカルバス2経由でコントローラなどの上位装置に送出し、異常を通知する。
シリアル通信ユニット33は、それぞれがOPCクライアントとして動作するフィールド機器43、44、45に接続されている。シリアル通信ユニット33は、I/Oサーバ31から供給された設定値をシリアル信号に変換してフィールド機器43−45に供給する。またフィールド機器43−45の測定値がローカルバス2経由で通知される。フィールド機器43−45は、前述したフィールド機器41と同様の測定ポイントまたは制御ポイントとして機能し、それぞれの機器に割り当てられた物理量を測定して測定値を出力し、また、入力された設定値に基づいて動作するように構成されている。
シリアル通信ユニット33は、自らが直接管理するフィールド機器43−45や自らの動作に不具合を生じている場合、アラート信号をローカルバス2経由でコントローラなどの上位装置に送出し、異常を通知する。
図2に、本実施形態における冗長コントローラ10のブロック図を示す。なお、図2において図1と対応する部分には同一符号をし、かかる部分の説明は省略する。
図2に示すように、冗長コントローラ10は、プライマリノード100Pとセカンダリノード100Sとを備えて構成されている。冗長コントローラ10のプライマリノード100P及びセカンダリノード100Sは、ユニバーサルバス1とローカルバス2との間でプロセスデータの送受信を中継するゲートウェイとして機能する。また、プライマリノード100P及びセカンダリノード100Sの各々は、ローカルバス2に接続するノードを含むサブシステムを統合し制御するコントローラとして機能する。
プライマリノード100Pは、通信部110P、制御部120P、通信部130P等を備える。セカンダリノード100Sも同様に構成され、通信部110S、制御部120S、通信部130S等を備える。
図2に示すように、冗長コントローラ10は、プライマリノード100Pとセカンダリノード100Sとを備えて構成されている。冗長コントローラ10のプライマリノード100P及びセカンダリノード100Sは、ユニバーサルバス1とローカルバス2との間でプロセスデータの送受信を中継するゲートウェイとして機能する。また、プライマリノード100P及びセカンダリノード100Sの各々は、ローカルバス2に接続するノードを含むサブシステムを統合し制御するコントローラとして機能する。
プライマリノード100Pは、通信部110P、制御部120P、通信部130P等を備える。セカンダリノード100Sも同様に構成され、通信部110S、制御部120S、通信部130S等を備える。
通信部110Pは、冗長化されたユニバーサルバス1の信号線1aを介してスーパーバイザリステーション20やプロセスコントローラ11と相互通信するための通信モジュールである。通信部110Sは、ユニバーサルバス1の信号線1bを介してスーパーバイザリステーション20やプロセスコントローラ11と相互通信するための通信モジュールである。通信部110P及び110Sは、ユニバーサルバス1のコンピュータネットワーク規格に準拠した物理的な通信条件に合致させて所定の通信プロトコル、例えば、イーサネット(登録商標)プロトコルでデータ入出力を行う。
制御部120P、120Sは、後述するように冗長コントローラの機能を発揮するコンピュータシステムと制御プログラムによって構成される。コンピュータシステムは市販のマイクロプロセッサで構成されている。制御部120P及び120Sは、特に図示しないが、冗長処理を行うために冗長処理部を備え、プライマリノードとセンダリノードとの間でそれぞれが記憶するプロセスデータの内容を同一にするデータの同期を行ったり、相手側のノードの動作状況を診断したり、自己のノードの動作状況を診断したりする。それにより、制御部120P及び120Sを交互に切り換えてもプロセス制御動作(運転)を継続することができるようにしている。この冗長処理部分の具体的な例は、例えば、特願2011−73405号によって詳細に説明されている。本願発明は通信部130P、130Sにおける動作に特徴があるので制御部120P及び120Sの説明は機能的な説明に止める。
通信部130Pは、冗長化されたローカルバス2の2つの信号線2a及び2bを介してフィールド機器類から供給された測定値であるプロセスデータを受信し、フィールド機器類に対する設定値であるプロセスデータを出力する。同様に構成される通信部130Sも、ローカルバス2の2つの信号線2a及び2bを介してフィールド機器類から供給された測定値であるプロセスデータを受信し、フィールド機器類に対する設定値であるプロセスデータを出力する。通信部130P及び130Sは、ローカルバス2のコンピュータネットワーク規格に準拠した物理的な通信条件に合致させて所定の通信プロトコルでデータ入出力を行う。例えば、通信部130P、130Sは、OPC規格に準拠したインターフェースを備えており、OPC規格に準拠した通信プロトコルで通信するI/Oサーバ31及び32と通信可能に構成されている。
図2に示すように、通信部110P、110S、制御部120P、120S、通信部130P、130Sの各段間は内部バスにより同一ノード内の段間接続に加えて異ノード間の段間接続、いわゆるたすき掛け接続が追加されている。
すなわち、通信部110Pと制御部120Pとの相互間、通信部110Pと制御部120Sとの相互間が内部バスで接続される。通信部110Sと制御部120Pとの相互間、通信部110Sと制御部120Sとの相互間が内部バスで接続される。また、制御部120Pと通信部130Pとの相互間、制御部120Pと通信部130Sとの相互間が内部バスで接続される。制御部120Sと通信部130Pとの相互間、制御部120Sと通信部130Sとの相互間が内部バスで接続される。
それにより、信号が可及的に故障部位を迂回しつつ各段階で処理されるように構成される。内部バスの一例を挙げればUSB(Universal Serial Bus)であるが、これに限定されるものではない。
すなわち、通信部110Pと制御部120Pとの相互間、通信部110Pと制御部120Sとの相互間が内部バスで接続される。通信部110Sと制御部120Pとの相互間、通信部110Sと制御部120Sとの相互間が内部バスで接続される。また、制御部120Pと通信部130Pとの相互間、制御部120Pと通信部130Sとの相互間が内部バスで接続される。制御部120Sと通信部130Pとの相互間、制御部120Sと通信部130Sとの相互間が内部バスで接続される。
それにより、信号が可及的に故障部位を迂回しつつ各段階で処理されるように構成される。内部バスの一例を挙げればUSB(Universal Serial Bus)であるが、これに限定されるものではない。
上記構成を持つ冗長コントローラ10は、制御部120P及び120Sの各コンピュータシステムがそれぞれ所定のソフトウェアプログラムを実行することにより、非限定の例示として、特に以下の手段(あるいは機能)を実行可能に構成されている。
(1)第1ノード及び第2ノードのうち、いずれか一方をアクティブ状態とし、他方を非アクティブ状態とする手段。
(2)アクティブ状態となっているノードにおいてプロセスデータを収集し、収集したプロセスデータを非アクティブ状態となっているノードに転送する手段。
(3)非アクティブ状態となっているノードにおいて、プロセスデータの収集を禁止し、アクティブ状態となっているノードから転送されたプロセスデータを更新する手段。
(4)アクティブ状態となっているノードにおいて、このアクティブ状態のノードに割り当てられた信号バスへのアクセス許容時間の空き時間部分で非アクティブ状態となっている他のノードの通信部が信号バスに接続されたフィールド機器等との交信が可能であることを予め診断する手段(後述するように、この手段は本実施形態の特徴的な構成の一つである。)。
(5)アクティブ状態となっているノードにおいて所定の条件に達した場合には、アクティブ状態となっているノードを非アクティブ状態に切り換え、非アクティブ状態となっているノードをアクティブ状態に切り換える手段(待機冗長)。
上記した冗長コントローラ10の手段(1)−(5)は、主に制御部120Pのコンピュータシステムと、制御部120Sのコンピュータシステムにおいて実行されるが、上記各部のうち一つまたは複数が協働することにより実現されてもよい。
(1)第1ノード及び第2ノードのうち、いずれか一方をアクティブ状態とし、他方を非アクティブ状態とする手段。
(2)アクティブ状態となっているノードにおいてプロセスデータを収集し、収集したプロセスデータを非アクティブ状態となっているノードに転送する手段。
(3)非アクティブ状態となっているノードにおいて、プロセスデータの収集を禁止し、アクティブ状態となっているノードから転送されたプロセスデータを更新する手段。
(4)アクティブ状態となっているノードにおいて、このアクティブ状態のノードに割り当てられた信号バスへのアクセス許容時間の空き時間部分で非アクティブ状態となっている他のノードの通信部が信号バスに接続されたフィールド機器等との交信が可能であることを予め診断する手段(後述するように、この手段は本実施形態の特徴的な構成の一つである。)。
(5)アクティブ状態となっているノードにおいて所定の条件に達した場合には、アクティブ状態となっているノードを非アクティブ状態に切り換え、非アクティブ状態となっているノードをアクティブ状態に切り換える手段(待機冗長)。
上記した冗長コントローラ10の手段(1)−(5)は、主に制御部120Pのコンピュータシステムと、制御部120Sのコンピュータシステムにおいて実行されるが、上記各部のうち一つまたは複数が協働することにより実現されてもよい。
待機冗長システムを活性化させる上記所定の条件とは、例えば、以下の(a)、(b)の例が挙げられる。もっともこれらに限定されるものではない。
(a)アクティブ状態となっているノードにおいて動作不全(異常)が発生したことを推測可能な条件に達した場合。
例えば、自己のノードの動作を管理するOPCサーバに異常を検出した場合、自己のノードで動作するいずれかのソフトウェアモジュールに異常を検出した場合、自己のノードのハードウェアに異常を検出した場合、アクティブ状態となっている相手側のノードから予め定められた一定期間(例えば10秒間)以上、新たな診断データが送信されてこなかった場合、相手側のノードから自己のノードが動作不全となったことを報知してきた場合等である。
例えば、自己のノードの動作を管理するOPCサーバに異常を検出した場合、自己のノードで動作するいずれかのソフトウェアモジュールに異常を検出した場合、自己のノードのハードウェアに異常を検出した場合、アクティブ状態となっている相手側のノードから予め定められた一定期間(例えば10秒間)以上、新たな診断データが送信されてこなかった場合、相手側のノードから自己のノードが動作不全となったことを報知してきた場合等である。
(b)上位の機器監視装置であるスーパーバイザリステーション20から、アクティブ状態とするノードと非アクティブ状態とするノードとの交替を指示された場合。
例えば、上位の管理サーバから強制的にアクティブ状態とするノードの切り換えを指示された場合等である。
例えば、上位の管理サーバから強制的にアクティブ状態とするノードの切り換えを指示された場合等である。
図3は、通信部130P及び130Sの構成例を説明する説明図である。通信部130P及び130Sは同様に構成されるので主に通信部130Pについて説明する。以下の通信部の説明において符号の「P」と「S」とを読み替えることによって通信部130Sについての説明となる部分については通信部130Sの動作について説明を省略する。
通信部130Pは制御部120P及び120Sと信号バス2(2a,2b)との相互間を双方向(下り方向、上り方向)に信号中継する。
通信部130Pはコンピュータシステムによって構成され、USBインタフェース131P、USBインタフェース132P、自己診断部133P、診断要求部130P、判断部135P、信号処理部136P、バスインタフェース137P、バスインタフェース138P等を備えている。このうち自己診断部133P、診断要求部130P、判断部135P、及び信号処理部136PはCPUとプログラムによって構成される。通信部130Sも同様に構成される。
通信部130Pは制御部120P及び120Sと信号バス2(2a,2b)との相互間を双方向(下り方向、上り方向)に信号中継する。
通信部130Pはコンピュータシステムによって構成され、USBインタフェース131P、USBインタフェース132P、自己診断部133P、診断要求部130P、判断部135P、信号処理部136P、バスインタフェース137P、バスインタフェース138P等を備えている。このうち自己診断部133P、診断要求部130P、判断部135P、及び信号処理部136PはCPUとプログラムによって構成される。通信部130Sも同様に構成される。
(下り方向のデータ伝送)
USBインタフェース131Pは制御部120Pと接続されて指令信号やプロセスデータなどのデータ信号を伝送する。USBインタフェース132Pは制御部120Sと接続されてデータ信号を伝送する。制御部120P及び制御部120SからUSBインタフェースを介して伝送されたデータ信号は図示しないインタフェースのバッファメモリに一旦蓄積される。制御部120Pと通信部130Pから同じデータ信号が二重に供給されると、通信部の信号処理部(CPU)は先に到来したデータ信号を使用し、後続のデータ信号は使用しない(破棄される)。通信部130SのUSBインタフェースも同様に構成される。
USBインタフェース131Pは制御部120Pと接続されて指令信号やプロセスデータなどのデータ信号を伝送する。USBインタフェース132Pは制御部120Sと接続されてデータ信号を伝送する。制御部120P及び制御部120SからUSBインタフェースを介して伝送されたデータ信号は図示しないインタフェースのバッファメモリに一旦蓄積される。制御部120Pと通信部130Pから同じデータ信号が二重に供給されると、通信部の信号処理部(CPU)は先に到来したデータ信号を使用し、後続のデータ信号は使用しない(破棄される)。通信部130SのUSBインタフェースも同様に構成される。
CPUは信号処理部136Pにおいてデータ信号をローカルバス2用に規格化されたフォーマットに変換してインタフェース137P及び138Pに出力する。インタフェース137Pは所定フォーマットのバス信号を信号線2aに出力する。このフォーマット信号は、例えば、受信機器側のアドレス(ADDR1)を含む。また、インタフェース138Pは上記フォーマットのバス信号を信号線2bに出力する。各バス信号は受信すべき機器側のアドレス(ADDR1)を含む。バス信号は二重化された信号線2a及び2bを伝搬して信号線に接続された各機器の入力インタフェース部に送られる。例えば、シリアル通信ユニット33のインタフェース部が自己宛(ADDR1)のバス信号であることを判別するとこれを内部に取り込み、データ信号を復号する。シリアル通信ユニット33のインタフェース部は信号線2a,2bから同じバス信号(データ信号)を受け取ると先に受信したデータ信号を使用し、後続のデータを破棄する。シリアル通信ユニット33は受信したデータ信号の内部に存在する機器アドレスに該当するフィールド機器、例えば、フィールド機器43にデータ信号を送出する。それにより、コントローラ100P(あるいはコントローラ100S、スパーバイザリステーション20等)からのデータ信号(指令信号、プロセスパラメータ等)がフィールド機器43に伝送される。通信部130Sも同様に構成される。
(上り方向のデータ伝送)
例えば、コントローラ側からの指令信号に応答してフィールド機器43の測定ポイントで取得されたプロセスデータがデータ信号化されてシリアル通信ユニット33に伝送される(マスター/スレーブ動作)。シリアル通信ユニット33はデータ信号にコントローラ100Pのアドレス等を加えてバス信号のフォーマットに変換し、インタフェース部から信号バス2(2a,2b)にバス信号として出力する。コントローラ100Pの通信部130Pのインタフェース部137P,138Pが信号バス2(2a,2b)のバス信号を監視しており自己宛であると判別すると、それぞれバス信号を取り込む。同じバス信号が取り込まれると、先着のバス信号を使用し、後続のバス信号は廃棄される。バス信号は信号処理部136Pで復号され、データ信号としてUSBインタフェース131Pから制御部120Pに出力される。また、データ信号としてUSBインタフェース132Pから制御部120Sに出力される。
このようにして、通信部130Pは制御部と信号バス(接続機器)相互間の双方のデータ信号の中継を行っている。通信部130Sも同様に構成される。
例えば、コントローラ側からの指令信号に応答してフィールド機器43の測定ポイントで取得されたプロセスデータがデータ信号化されてシリアル通信ユニット33に伝送される(マスター/スレーブ動作)。シリアル通信ユニット33はデータ信号にコントローラ100Pのアドレス等を加えてバス信号のフォーマットに変換し、インタフェース部から信号バス2(2a,2b)にバス信号として出力する。コントローラ100Pの通信部130Pのインタフェース部137P,138Pが信号バス2(2a,2b)のバス信号を監視しており自己宛であると判別すると、それぞれバス信号を取り込む。同じバス信号が取り込まれると、先着のバス信号を使用し、後続のバス信号は廃棄される。バス信号は信号処理部136Pで復号され、データ信号としてUSBインタフェース131Pから制御部120Pに出力される。また、データ信号としてUSBインタフェース132Pから制御部120Sに出力される。
このようにして、通信部130Pは制御部と信号バス(接続機器)相互間の双方のデータ信号の中継を行っている。通信部130Sも同様に構成される。
上述したように、通信部130Pは、自己診断部133P、診断要求部130P、判断部135P、を備えている。これらの部分の機能はCPU、制御プログラムによって実現されている。通信部130Sも同様である。
自己診断部133Pは通信部130P自体の異常診断と自ノードの信号バスの異常診断(例えば、信号バス、接続機器からの応答の異常判別)を行う。
例えば、通信部130P自体の異常診断(プライマリ側通信部異常診断)は、CPUの動作を監視する図示しないモニタプログラムによって診断される。モニタプログラムは、例えば、通信部130PのCPUが一定の周期でステータス信号のコードを予め定められた順番で変化させるかどうかを監視する(内部ロジック診断)。なお、CPUの動作モニタはこのようなものに限定されるものではなく、他の方法でコンピュータシステムを監視しても良い。通信部130Sでも同様である。
例えば、通信部130P自体の異常診断(プライマリ側通信部異常診断)は、CPUの動作を監視する図示しないモニタプログラムによって診断される。モニタプログラムは、例えば、通信部130PのCPUが一定の周期でステータス信号のコードを予め定められた順番で変化させるかどうかを監視する(内部ロジック診断)。なお、CPUの動作モニタはこのようなものに限定されるものではなく、他の方法でコンピュータシステムを監視しても良い。通信部130Sでも同様である。
通信部130Pにおける異常診断は、例えば、通信部130Pと130Sを信号線で接続し、通信部130SのCPUによって通信部130PのCPUの動作を監視することによりなされる(相手側による診断)。また、通信部130Pに別途設けられたサブCPUによって(メイン)CPUの監視を行うこともができる(自己診断)。通信部130PのCPU異常が検出された場合にはメモリ内にフラグが設定され、例えば、制御部120P及び120Sに通信部130Pのエラーが通知される。そして、通信部130Pがプライマリ側として動作しているとき、セカンダリ側の通信部130Sが正常動作であれば、信号バス2との通信機能が通信部130Pから130S側に切り換えられるようになる。
同様に、通信部130Sにおける異常診断(セカンダリ側通信部異常診断)は、例えば、通信部130Sと130Pを信号線で接続し、通信部130PのCPUによって通信部130SのCPUの動作を監視することにより行われる(相手側による診断)。また、通信部130Sに別途設けられたサブCPUによって(メイン)CPUの監視を行うこともできる(自己診断)。通信部130SのCPU異常が検出された場合にはメモリ内にフラグが設定され、例えば、制御部120S及び120Pに通信部130Sのエラーが通知される。そして、通信部130Sがプライマリ側として動作しているとき、セカンダリ側となっている通信部130Pが正常動作であれば信号バス2との通信機能が通信部130Sから130P側に切り換えられるようになる。このセカンダリ側の通信部130Sの異常を診断する機能は第3の診断部(後述のステップP27)に関連する。
自己診断部133Pによる信号バスの異常診断は、後述のように、通信部130Pのインタフェース137P及び138Pから信号バス2a、2bに接続された各機器に向けて当該機器のアドレスADDRnと応答指令を含む所定フォーマットのバス信号を送出し、当該機器からの該当機器のアドレスを含む応答(返信信号)の有無によって行われる。これを信号バス2(2a、2b)の全接続機器について順次行う。各接続機器からの応答結果は内部メモリに記憶される。この信号バスの異常診断機能は第1の診断部に相当する。
同様に、通信部130Sにおいても自己診断部133Sが、自ノードの信号バスの異常診断(信号バス、接続機器からの応答の異常判別)を行う(この信号バスの異常診断機能は第2の診断部に相当する。)。上述のように、自己診断部133Sは通信部130S自体の異常診断を行う。自己診断部133Sが、例えば上記内部ロジック診断により異常を検出した場合にはメモリに異常検出フラグを設定する。自己診断部133Sの自己異常診断機能(セカンダリ側の自己診断)は第3の診断部(後述のステップP27)に関連する。
診断要求部134Pは、通信部130S(セカンダリ側)に信号バスの異常診断を行うように求め、診断結果を通信部130P側に送るように指令する。通信部130S側から送られた診断結果を内部メモリに記憶する。通信部130Sの診断要求部134Sも同様である。
判断部135Pは、内部メモリに記憶された各機器からの応答結果を検査(診断)する。また、通信部130S側から送られてきた信号バスの診断結果(各機器の応答結果)と照合する。自身(通信部130S)のみ不具合(NG)の場合(バス診断の結果がNGであったIOモジュールがある。セカンダリ側にはNGがない)場合には自己の信号バス2(2,2)の再診断を行う。再診断の結果が不具合の場合には自身の信号バス通信機能異常と判断して、通信部130Pのプライマリ動作をセカンダリ側の通信部130Sに移動した後、通信部130Pを異常発生状態とする。通信部130Sの判断部部135Sも同様である。
信号処理部136Pは、上述したように、制御部120(120P,120S)から供給されるデータ信号をローカルバス2用に規格化されたフォーマットに変換してインタフェース137P及び138Pに出力する。また、インタフェース137P及び138Pにおいてローカルバス2から取得した自アドレス宛のバス信号からデータ信号を復号して制御部120P及び120Sに出力する。通信部130Sの信号処理部136Sも同様である。
上述したように、通信部130Pと130Sは同様に構成され、通信部130Sの各部の説明は通信部130Pの各部の符号の「P」を「S」にを読み替えることによって通信部130Sについての説明となるのであるが、実施例では、通常状態ではプライマリの通信部130P(コントローラ100P)側をマスター動作とし、セカンダリの通信部130S(コントローラ100S)側をスレーブ動作として説明している(更に後述する。)。この場合、スレーブ動作をする通信部130Sの診断要求部134S、判断部135Sは活性化されない(図3中に該当ブロックを点線で示す。)。逆に、冗長制御によって通信部130Pと130Sの動作選択が切り換えられ、通信部130S(コントローラ100S)側がマスター動作となり、通信部130P(コントローラ100P)側がスレーブ動作となる場合、通信部130Sの診断要求部134S、判断部1354Sが活性化され、通信部130Pの診断要求部134P、判断部135Pは活性化されないようになる。
図4は、待機冗長制御によって通信部130Pから通信部130Sに切り換える場合に、予め通信部130S側に切換え可能かどうかを判断するバス診断機能を説明するフローチャートである。
通信部130PのCPUは、制御部120P(のCPU)からのバス診断指令や予め定められた周期で発生する診断を指令するイベント信号の発生によってバス診断ルーチンを実行する(ステップP20)。当初の状態は、例えば、通信部130Pがマスター動作、通信部130Sがスレーブ動作をするように設定されている。
通信部130PのCPUは自己のバス診断を実行する。通信部130PのCPUのメモリには予めコントローラ100Pが制御対象とする機器の信号バス2(2a,2b)上のアドレス(ネットワークアドレス)ADDRn等のデータ(I/Oモジュール設定データ)が記憶されている。
通信部130PのCPUは自己のバス診断を実行する。通信部130PのCPUのメモリには予めコントローラ100Pが制御対象とする機器の信号バス2(2a,2b)上のアドレス(ネットワークアドレス)ADDRn等のデータ(I/Oモジュール設定データ)が記憶されている。
例えば、通信部130PのCPUは、インタフェース137P及び138Pから信号バス2a、2bに接続されたシリアル通信機器33に向けて当該機器のアドレスADDR1と応答指令を含む所定フォーマットのバス信号を送出し、シリアル通信装置33からの応答信号(あるいは返信)を読み取る。次に、CPUはI/Oサーバ装置32に向けて当該機器のアドレスADDR2と応答指令を含む所定フォーマットのバス信号を送出し、I/Oサーバ装置32からの応答信号を読み取る。同様にして、CPUは信号バス2(2a、2b)に接続されたコントローラ100Pの制御対象となっている全接続機器について逐次応答指令を送出し、応答信号を読み取る。各接続機器からの応答結果は通信部130Pの内部メモリに記憶される。応答信号の有無によって通信部130P、信号バス2(2a,2b)、バス接続機器31〜33…の相互間の接続に異常があるかどうかが判る。
例えば、バス診断の結果(応答の有無)は、以下のように記憶される(ステップP22)。なお、Aバスは信号バス2a系統、Bバスは信号バス2b系統を意味する。
1 ADDR1 シリアル通信装置 Aバス OK,Bバス OK
2 ADDR2 I/Oサーバ装置 Aバス OK,Bバス OK
3 ADDR3 I/Oサーバ装置 Aバス NG,Bバス OK
4 ADDR4 I/Oサーバ装置 Aバス OK,Bバス OK
1 ADDR1 シリアル通信装置 Aバス OK,Bバス OK
2 ADDR2 I/Oサーバ装置 Aバス OK,Bバス OK
3 ADDR3 I/Oサーバ装置 Aバス NG,Bバス OK
4 ADDR4 I/Oサーバ装置 Aバス OK,Bバス OK
次に、CPUは、セカンダリ側の通信部130Sの診断を行えるかどうかを判断する条件を読み取る。この条件としては、例えば、(a)通信部130Sが冗長構成されている。(b)通信部130SにI/Oモジュール設定データが設定される。(c)冗長コントローラ10に信号バスへのアクセス時間が割り当てられている。(d)通信部130S側のCPUが正常に動作中である(通信部130P側からの通信部130S側のCPU監視結果が正常である。)。(e)割り当てられたアクセス時間に通信部130Sが信号バス2(2a,2b)に接続された各接続機器(I/Oモジュール)の診断をする空き時間がある、等である(ステップP24)。
図5は、信号バス2に接続される各コントローラのバス・アクセス制御を説明する図である。各コントローラには図示しない同期信号(時間信号)が供給されており、予め時間軸上に割り当てられたタイムスロット部分(アクセス許容時間)で信号バス2にアクセスするようになされている。例えば、コントローラ10に割り当てられた時間は、その一部をプライマリコントローラ100Pが占有しており、この時間内においてマスター・スレーブ動作によってコントローラ100Pと信号バス2の接続機器との送受信が行われる。コントローラ10に割り当てられたアクセス許容時間内の空き時間を利用してセカンダリコントローラ100S側の通信部130Sの信号バスへの接続試験を行う。上記条件(e)はこの空き時間に相当する。
通信部130PのCPUは、上記条件から通信部130S側のバス診断が可能であるか判断する(ステップP26)。診断できないと判断した場合(ステップP26;No)、バス診断以外のセカンダリ側通信部の異常診断を行う。例えば、信号バス2に接続された各接続機器との応答診断に要するトータル時間がタイムスロットの空き時間を超える場合、上述したモニタプログラムを実行し、通信部130Sの動作の異常の有無を診断する。また、モニタプログラムが本ルーチンとは別途に常時動作している場合は、該当メモリのフラグ領域から通信部130Sの診断結果を読み取る。本ステップは第3の診断部に相当する(ステップS27)。通信部130PのCPUは、セカンダリ側通信部130Sの信号バスの診断実行不能と、セカンダリ側通信部130S自体の異常の有無とを制御部120Pに通知してバス診断ルーチンを終了する(ステップP28)。
上記第3の診断部(ステップS27)は第1の通信部から第2通信部に切り換える場合のリスクを減少する。例えば、制御部120Pあるいは通信部130PのCPUはアクセス許容時間の空き時間が不足してセカンダリ側通信部の信号バス診断を実行できなくとも、セカンダリ側通信部自体に異常がなければ、プライマリ側通信部に異常が生じた場合にセカンダリ側通信部に切り換えることによってシステムダウンが回避される可能性は高いと判断する。また、セカンダリ側通信部の信号バスの診断実行不能とセカンダリ側通信部自体の異常とを判別した場合には、スーパーバイザリステーション20等に異常報告を行ってセカンダリ側通信部の修理を促し、修理が終わるまでセカンダリ側通信部に切り換えないようにすることができる。
通信部130PのCPUは、上記条件から通信部130S側のバス診断が可能であると判断した場合(ステップP26;Yes)、セカンダリコントローラ100Sの通信部130Sにバス診断を指令する(ステップP30)。
通信部130SのCPUは、診断指令を受けてバス診断ルーチンを実行する(ステップS20)。なお、通信部130Sは信号バス2(2a,2b)に接続されている制御対象となる全I/Oモジュールの設定データ(コンフィギュレーションデータ)を予め保持している。
通信部130SのCPUは、インタフェース137S及び138Sから信号バス2a、2bに接続されたシリアル通信機器33に向けて当該機器のアドレスADDR1と応答指令を含む所定フォーマットのバス信号を送出し、シリアル通信装置33からの応答信号を読み取る。次に、CPUはI/Oサーバ装置32に向けて当該機器のアドレスADDR2と応答指令を含む所定フォーマットのバス信号を送出し、I/Oサーバ装置32からの応答信号を読み取る。同様にして、CPUは信号バス2(2a、2b)に接続されたコントローラ100Sの制御対象となっている全接続機器について逐次応答指令を送出し、応答信号を読み取る。各接続機器からの応答結果は通信部130Sの内部メモリに記憶される。応答の有無によって通信部130S、信号バス2(2a,2b)、バス接続機器31〜33…の相互間の接続に異常があるかどうかが判る。
例えば、バス診断の結果(応答の有無)は、以下のように記憶される(ステップS22)。
1 ADDR1 シリアル通信装置 Aバス OK,Bバス OK
2 ADDR2 I/Oサーバ装置 Aバス OK,Bバス OK
3 ADDR3 I/Oサーバ装置 Aバス OK,Bバス OK
4 ADDR4 I/Oサーバ装置 Aバス OK,Bバス OK
1 ADDR1 シリアル通信装置 Aバス OK,Bバス OK
2 ADDR2 I/Oサーバ装置 Aバス OK,Bバス OK
3 ADDR3 I/Oサーバ装置 Aバス OK,Bバス OK
4 ADDR4 I/Oサーバ装置 Aバス OK,Bバス OK
通信部130SのCPUは、バス診断が終わると、バス診断の結果をプライマリ側の通信部130Pに送信する(ステップS24)。その後、通信部130SのCPUは待機状態に戻る(ステップS26)。
通信部130PのCPUは、セカンダリ側の通信部のバス診断接続試験の結果を受信し、内部メモリに記憶する(ステップP32)。
通信部130PのCPUは両通信部の信号バスの診断結果を照合する(ステップP34)。両通信部130P及び130Sの診断結果が正常であるときは(ステップP34;両側正常)、診断を終了し、診断結果(両方正常)を制御部120PのCPUの通知し、終了する(ステップP46)。
通信部130PのCPUは両通信部の信号バスの診断結果を照合する(ステップP34)。両通信部130P及び130Sの診断結果が正常であるときは(ステップP34;両側正常)、診断を終了し、診断結果(両方正常)を制御部120PのCPUの通知し、終了する(ステップP46)。
CPUは通信部130P側の診断結果のみに応答なし(NG,異常)が存在し、通信部130Sの診断結果に異常が存在しない場合(ステップP34;P側異常)、ステップP22と同様の手順で通信部130Sと信号バス2の接続を再診断する(ステップP36)。信号バス2の再診断は、例えば、2回繰り返すこととしても良い。それにより、診断の確実を図る。再診断の結果が正常である場合には(ステップP38;正常)、診断結果(両方正常)を制御部120PのCPUの通知し、終了する(ステップP46)。
通信部130PのCPUは、再診断の結果が通信部130Pの異常である場合には(ステップP38;異常)、通信部130Pのバス通信機能に異常があると判断する。通信部130Pのプライマリ動作を通信部130S側に移動するべく、通信部130SのCPUにプライマリ動作の交代を指令する(ステップS40)。また、通信部130PのCPUは、通信部130Pの異常を制御部120PのCPUに通知し、通信部130Pのプライマリ動作、セカンダリ動作を決定している内部レジスタのフラグをセカンダリ動作(スレーブ動作)に切り換える等のフェイル処理を行う(ステップP42)。その後、通信部130Pは待機状態となる(ステップP46)。
通信部130SのCPUは、通信部130PのCPUからプライマリ動作の交替を指令されると、プライマリの通信部として機能するべく内部レジスタのフラグをプライマリ動作(マスター動作)に切り換え、制御部120と信号バス2との通信が通信部130Sを介して行われるようにする等のプライマリ動作移行処理を行う(ステップS60)。
通信部130PのCPUは、通信部130Pの診断結果に異常がなく、通信部130Sの診断結果のみに異常がある場合(ステップP34;S側異常)、通信部130S側にフェイル処理を行うように指令する。また、制御部120PのCPUに通信部130Sの異常を通知する。なお、所定時間以上、例えば、30秒以上連続して通信部130Sの異常が発生した場合に通信部130Sの異常であると判断しても良い(ステップP44)。その後、通信部130PのCPUは待機状態に戻る(ステップP46)。
通信部130SのCPUは、通信部130PのCPUからフェイル処理を行うように指令を受けると、制御部120に異常を通知し、スーパーバイザリステーション20に異常を通知させて修理対応を促す。また、必要により通信部130Sを非アクティブにしてエラー発生を防止する(ステップS40)。
なお、通信部130Pと通信部130Pの診断結果の照合(ステップP34)において、図示しないが、信号バス2(2a,2b)に接続された機器の同じI/O部から両通信部に応答がない場合も考えられる。例えば、以下のようにI/Oサーバ装置(ADDR3)が両通信部に対して応答(返信)しない場合である。
(通信部130Pのバス診断結果)
1 ADDR1 シリアル通信装置 Aバス OK,Bバス OK
2 ADDR2 I/Oサーバ装置 Aバス OK,Bバス OK
3 ADDR3 I/Oサーバ装置 Aバス NG,Bバス NG
4 ADDR4 I/Oサーバ装置 Aバス OK,Bバス OK
(通信部130Sのバス診断結果)
1 ADDR1 シリアル通信装置 Aバス OK,Bバス OK
2 ADDR2 I/Oサーバ装置 Aバス OK,Bバス OK
3 ADDR3 I/Oサーバ装置 Aバス NG,Bバス NG
4 ADDR4 I/Oサーバ装置 Aバス OK,Bバス OK
(通信部130Pのバス診断結果)
1 ADDR1 シリアル通信装置 Aバス OK,Bバス OK
2 ADDR2 I/Oサーバ装置 Aバス OK,Bバス OK
3 ADDR3 I/Oサーバ装置 Aバス NG,Bバス NG
4 ADDR4 I/Oサーバ装置 Aバス OK,Bバス OK
(通信部130Sのバス診断結果)
1 ADDR1 シリアル通信装置 Aバス OK,Bバス OK
2 ADDR2 I/Oサーバ装置 Aバス OK,Bバス OK
3 ADDR3 I/Oサーバ装置 Aバス NG,Bバス NG
4 ADDR4 I/Oサーバ装置 Aバス OK,Bバス OK
このような場合の原因としては、I/Oサーバ装置(信号バスに接続された装置)におけるバス接続ケーブルコネクタの抜け、I/Oモジュールのコネクタ抜け等が考えられる。この状態では、NGとなった原因が通信部のインタフェース部、信号バス2(2a,2b)、バス接続装置のI/O部のいずれの故障(接続不良を含む)によるものか判断できない。そこで、例えば、通信部130PのCPUは、接続診断を一時停止し、別途制御部120、スーパーバイザリステーション20等に異常通知を行って該当部分の修理を促す。修理後に診断を続行する。また、異常を検出した旨制御部120等に通知して診断を終了してもよい。
以上のように、上記実施例では、待機冗長構成の通信部(プライマリ通信部130P、セカンダリ通信部130S)において、一方の通信部側から他方の通信部側に診断要求を行い、他方側がこれに応じてバス通信機能の自己診断を行うようにしているので一方の通信部に異常が発生した場合に正常に動作している他方の通信部に動作を円滑に切り換えることができる。
(他の実施例)
図6及び図7は、本発明の他の実施例を示している。図6及び図7において図2及び図3と対応する部分には同一符号を付し、当該部分の説明を省略する。
図6に示す構成においては、図2に示す構成において三番目の(ターシャリ)制御部120Tを設けた構成としている。
これに対応して、待機冗長動作をする通信部130P及び130Sは図7に示すように、3つのUSBインタフェースA〜Cを備えた構成としている。同インタフェースを介してコントローラ120P〜120T側から通信部130Pに出力される下り方向の3つのデータ信号は先に届いたものが使用される。例えば、3つのデータ信号の内容に相違がある場合には、同じ内容のデータ信号の多数決によって決定することができる。3つのデータ信号が異なる場合には、データ信号を破棄してコントローラ側に再送を要求する。通信部130P側からコントローラ側に出力される上り方向のデータ信号は3つのコントローラ120P〜120Tに供給される。他の構成は図3の例と同様である。かかる構成においても、通信部130P及び130Sのうち一方をマスター(プライマリ)動作側とし、他方をスレーブ(セカンダリ)動作とする待機冗長制御を行うことが可能である。
図6及び図7は、本発明の他の実施例を示している。図6及び図7において図2及び図3と対応する部分には同一符号を付し、当該部分の説明を省略する。
図6に示す構成においては、図2に示す構成において三番目の(ターシャリ)制御部120Tを設けた構成としている。
これに対応して、待機冗長動作をする通信部130P及び130Sは図7に示すように、3つのUSBインタフェースA〜Cを備えた構成としている。同インタフェースを介してコントローラ120P〜120T側から通信部130Pに出力される下り方向の3つのデータ信号は先に届いたものが使用される。例えば、3つのデータ信号の内容に相違がある場合には、同じ内容のデータ信号の多数決によって決定することができる。3つのデータ信号が異なる場合には、データ信号を破棄してコントローラ側に再送を要求する。通信部130P側からコントローラ側に出力される上り方向のデータ信号は3つのコントローラ120P〜120Tに供給される。他の構成は図3の例と同様である。かかる構成においても、通信部130P及び130Sのうち一方をマスター(プライマリ)動作側とし、他方をスレーブ(セカンダリ)動作とする待機冗長制御を行うことが可能である。
なお、上述した本発明の実施例では、通信部が2つである冗長構成について説明したが、通信部を3つ、4つとして更に増やしても良い。そして、待機側の各通信部のバス接続試験を行うことによって、通信部の切換の際の確実性を増すことができる。
以上説明したように本発明の実施例では、冗長に構成された複数の通信部の各々が自己の通信部と信号バス(及び信号バスに接続された機器)との接続異常の有無を予め判別しているので、1つの通信部に異常が発生した場合に信号バス等との接続異常が発生していない他の通信部に速やかに切り換ることが可能となって切換の際の信頼性が向上する。また、待機冗長制御における切換時間(立ち上げ時間)を短縮することが可能となる。
本発明の冗長通信装置は、少なくとも2つの通信部が相手方の動作を診断し、また、自己のバス接続を診断するので一方の通信部に不具合が生じたときに他方の通信部に切り換えて良いかどうかが予め判るのでより信頼性の高い冗長通信装置を構成することが可能となる。よって、待機冗長コントローラ等の冗長制御系機器に用いて好都合である。
1 ユニバーサルネットワーク(LAN)、2 ローカルバス(LAN)、10 冗長コントローラ、31,32 I/Oサーバ、33 シリアル通信装置、100P プライマリコントローラ、100S セカンダリコントローラ、110P,110S (ユニバーサルネットワークの)通信部、120P,120S コントローラ、130P,130S (ローカルバスの)通信部
Claims (7)
- 接続機器に情報信号を伝送する信号バスと前記情報信号を処理する機能を備える制御部との間に接続されて、一方が動作状態のときに他方が待機状態となって前記情報信号を中継する第1及び第2の通信部と、
前記第1の通信部に設けられて前記信号バスからの応答を診断する第1の診断部と、
前記第2の通信部に設けられて前記信号バスからの応答を診断する第2の診断部と、
前記第1の通信部に設けられて前記第2の通信部に診断を要求し、診断結果を受領する第1の診断要求部と、
前記第1の通信部に設けられて該通信部の動作状態における前記信号バスからの応答の診断結果が異常であって前記第2の通信部における前記信号バスからの応答の診断結果が正常であるとき、前記情報信号の中継を前記第1の通信部から前記第2の通信部に切換える第1の判断部と、
を備える冗長通信装置。 - 更に、
前記第2の通信部に設けられて前記第1の通信部に診断を要求し、診断結果を受領する第2の診断要求部と、
前記第2の通信部に設けられて該通信部の動作状態における前記信号バスからの応答の診断が異常であって前記第1の通信部における前記信号バスからの応答の診断結果が正常であるとき、前記情報信号の中継を前記第2の通信部から前記第1の通信部に切換える第2の判断部と、
を備える請求項1に記載の冗長通信装置。 - 前記信号バスは二重化されており、各信号バスに前記第1及び第2の通信部が接続される、請求項1又は2に記載の冗長通信装置。
- 更に、前記第2の診断部の前記信号バスからの応答を診断する時間が、予め前記第1の通信部の動作に割り当てられた時間の空き時間よりも少ないとき、該信号バスからの応答の診断に代えて前記第2の通信部における異常の有無を診断する第3の診断部を備える、請求項1乃至3のいずれかに記載の冗長通信装置。
- 前記第1の判断部は、前記第1の通信部における前記信号バスからの応答の診断結果が異常であるとき、前記第1の診断部に前記信号バスからの応答を再度診断させる、請求項1乃至4のいずれかに記載の冗長通信装置。
- 前記信号バスからの応答は前記信号バスに接続された機器からの返信である、請求項1乃至5のいずれかに記載の冗長通信装置。
- 請求項1乃至6のいずれかに記載の冗長通信装置を備えるプロセスコントローラ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012069565A JP2013201664A (ja) | 2012-03-26 | 2012-03-26 | 冗長通信装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012069565A JP2013201664A (ja) | 2012-03-26 | 2012-03-26 | 冗長通信装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2013201664A true JP2013201664A (ja) | 2013-10-03 |
Family
ID=49521535
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012069565A Pending JP2013201664A (ja) | 2012-03-26 | 2012-03-26 | 冗長通信装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2013201664A (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016134717A (ja) * | 2015-01-19 | 2016-07-25 | トヨタ自動車株式会社 | 通信中継装置およびネットワークシステム |
| KR20190037892A (ko) * | 2017-09-29 | 2019-04-08 | (주)에너토크 | 프로토콜 이중화 장치 |
| WO2019087849A1 (ja) * | 2017-10-31 | 2019-05-09 | 村田機械株式会社 | 通信システム、被制御機器、及び、通信システムの制御方法 |
| KR102068240B1 (ko) * | 2018-12-07 | 2020-01-20 | (주)에너토크 | 데이터 서버 기능을 탑재한 통신형 액추에이터 |
| JP2020178265A (ja) * | 2019-04-19 | 2020-10-29 | 日立オートモティブシステムズ株式会社 | 電子制御装置、制御システム |
| CN114338264A (zh) * | 2021-12-17 | 2022-04-12 | 珠海格力电器股份有限公司 | 一种总线通讯质量控制方法、系统、空调机组及电子设备 |
-
2012
- 2012-03-26 JP JP2012069565A patent/JP2013201664A/ja active Pending
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016134717A (ja) * | 2015-01-19 | 2016-07-25 | トヨタ自動車株式会社 | 通信中継装置およびネットワークシステム |
| KR20190037892A (ko) * | 2017-09-29 | 2019-04-08 | (주)에너토크 | 프로토콜 이중화 장치 |
| KR102068242B1 (ko) * | 2017-09-29 | 2020-02-11 | (주)에너토크 | 프로토콜 이중화 장치 |
| WO2019087849A1 (ja) * | 2017-10-31 | 2019-05-09 | 村田機械株式会社 | 通信システム、被制御機器、及び、通信システムの制御方法 |
| JPWO2019087849A1 (ja) * | 2017-10-31 | 2020-06-18 | 村田機械株式会社 | 通信システム、被制御機器、及び、通信システムの制御方法 |
| CN111373700A (zh) * | 2017-10-31 | 2020-07-03 | 村田机械株式会社 | 通信系统、被控制设备以及通信系统的控制方法 |
| US11165602B2 (en) | 2017-10-31 | 2021-11-02 | Murata Machinery, Ltd. | Communication system, controlled device, and control method for communication system |
| CN111373700B (zh) * | 2017-10-31 | 2021-11-19 | 村田机械株式会社 | 通信系统、被控制设备以及通信系统的控制方法 |
| KR102068240B1 (ko) * | 2018-12-07 | 2020-01-20 | (주)에너토크 | 데이터 서버 기능을 탑재한 통신형 액추에이터 |
| JP2020178265A (ja) * | 2019-04-19 | 2020-10-29 | 日立オートモティブシステムズ株式会社 | 電子制御装置、制御システム |
| JP7164483B2 (ja) | 2019-04-19 | 2022-11-01 | 日立Astemo株式会社 | 電子制御装置、制御システム |
| CN114338264A (zh) * | 2021-12-17 | 2022-04-12 | 珠海格力电器股份有限公司 | 一种总线通讯质量控制方法、系统、空调机组及电子设备 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1661503B (zh) | 控制系统 | |
| JP3912378B2 (ja) | 安全ネットワークシステム及び安全スレーブ並びに安全コントローラ | |
| CN102077453B (zh) | 用于可靠安全系统停机的具有多通信设备的分布式和自适应智能逻辑 | |
| CN105717786B (zh) | 用于单线安全通信的诊断和增强功能 | |
| US11016463B2 (en) | Control and data-transfer system, gateway module, I/O module, and method for process control | |
| JP2013201664A (ja) | 冗長通信装置 | |
| US9846423B2 (en) | Smart taps for a single-wire industrial safety system | |
| CN105103061B (zh) | 控制和数据传输设备、处理装置和具有分散冗余的用于冗余的过程控制的方法 | |
| JP2002538061A (ja) | エレベータ安全システム | |
| JPH10228426A (ja) | バスシステム及びバスシステムの作動法 | |
| RU2662571C2 (ru) | Система и способ отключения полевого устройства | |
| WO2011149023A1 (ja) | 電算機室空調システム、その冗長コントローラ | |
| US7246270B2 (en) | Programmable controller with CPU and communication units and method of controlling same | |
| JPWO2003001307A1 (ja) | 安全ネットワークシステム及び安全スレーブ並びに通信方法 | |
| KR20200074206A (ko) | 엘리베이터의 원격 감시 시스템 | |
| CN119024674A (zh) | 控制器冗余系统、车辆和控制器冗余系统控制方法 | |
| JP5706347B2 (ja) | 二重化制御システム | |
| JP2012208706A (ja) | 冗長コントローラ | |
| US10991235B2 (en) | Fire-prevention control unit | |
| JP5459117B2 (ja) | データ伝送装置及びデータ伝送方法 | |
| CN114137871B (zh) | 总线控制装置及其配置方法、楼宇控制系统 | |
| JPH06245280A (ja) | 情報伝送装置 | |
| KR200401936Y1 (ko) | 홈 네트워크 시스템의 리부팅장치 | |
| JP2000244520A (ja) | 二重化ネットワークの異常診断方法 | |
| JP4844813B2 (ja) | 二重化制御システム |