(57)【特許請求の範囲】
【請求項１】
制御ネットワークに接続するための第１のネットワークインタフェースが実装されたハードウェア上で動作するホストＯＳを具備する通信装置において、
前記第１のネットワークインタフェース及び第２のネットワークインタフェースを介し、前記制御ネットワーク及び冗長化用ネットワークに他の通信装置と自装置との冗長化を行うためにそれぞれ接続され、
前記ホストＯＳに、
アプリケーションソフトウェアを稼働させる仮想化部と、
前記制御ネットワークにおける通信パケットを定期的に送受するリアルタイム通信部と、
自装置の稼働中における異常を検出する自己診断機能部と、
前記自己診断機能部による異常の検出に基づいて前記自装置を稼働状態から待機状態に切り替える冗長化部と、
を備え、
前記リアルタイム通信部は、前記制御ネットワークの異常を検出するための診断パケットを送受すると、他の制御ネットワークに切り替え、
前記仮想化部と前記リアルタイム通信部と前記冗長化部は、
互いに独立した別のプロセスで、前記制御ネットワークの切り替え、自装置を稼働状態から待機状態への切り替え、及び、前記アプリケーションソフトウェアの稼働を行うために、前記ハードウェアに備えたマルチコアＣＰＵのＣＰＵコアをそれぞれ割り当てることを特徴とする通信装置。
【請求項２】
前記冗長化部は、前記仮想化部の記憶部に記憶される自装置と他の通信装置の情報を等値化するための等値化情報を、前記他の通信装置へ前記冗長化用ネットワークを介して送信することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記冗長化部は、前記ハードウェア及び前記第１のネットワークインタフェースの動作状態を診断し、前記冗長化用ネットワークを介して自装置と前記他の通信装置間で前記診断の結果を送受信することを特徴とする請求項１または請求項２に記載の通信装置。
【請求項４】
前記仮想化部上で、ゲストＯＳとアプリケーションソフトウェアを動作させることを特徴とする請求項１から請求項３のいずれかに記載の通信装置。
【請求項５】
前記通信装置は、プラントの制御を行うプラント制御装置を構成することを特徴とする請求項１から請求項４のいずれかに記載の通信装置。
【請求項６】
前記制御ネットワークは、冗長化されることを特徴とする請求項１から請求項５のいずれかに記載の通信装置。
【請求項７】
前記冗長化部は、前記自己診断機能部を備え、
前記リアルタイム通信部と前記仮想化部と前記冗長化部とは、互いに独立した別のプロセスで動作することを特徴とする請求項１から請求項６のいずれかに記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長化ＰＣシステムに関し、詳しくは、プロセス制御システムなどに必要なリアルタイム性と高信頼性とを確保した上で、長期化するプラントのライフサイクルにおける変化にも対応できる冗長化ＰＣシステムに関する。
【背景技術】
【０００２】
従来から、プロセス制御システムは、リアルタイム性と高信頼性を両立させるために、操作監視機能等を有するＰＣ群とコントローラ間は、独自のネットワークを介して接続されていた。
【０００３】
図２は、従来のプロセス制御システムの一例を示す構成説明図である。図２において、センサやアクチュエータなどのフィールド機器１は、コントローラ２を介して制御ネットワーク３に接続されている。
【０００４】
フィールド機器１のセンサ１１は測定対象の物理量を測定し、アクチュエータ１２は操作対象を駆動する。コントローラ２は、プラント内に分散配置されていて、操作監視端末部との間で各種情報のやり取りを行うとともに、センサ１１からの情報を元にアクチュエータ１２へ駆動信号を送出するためのプログラマブル演算処理機能を有する。
【０００５】
制御ネットワーク３には、ＰＣ４も接続されている。ＰＣ４は、コントローラ２からの情報に基づいてプロセス制御システム全体の制御／監視に必要な各種情報を運転員に提供する機能や、それらの情報を元に各システム構成要素に適切な指示や管理を行うための操作監視機能や、各種機器の保守状況など管理する機器管理機能などのアプリケーションソフトウェアを提供する機能を有している。
【０００６】
ＰＣ４には、ハードウェアとして、制御ネットワーク３に接続するための専用ネットワークインタフェースカード（以下ＮＩＣともいう）４１や、ＮＩＣ用のインタフェースＮＩＣＩ／Ｆ４２などが設けられている。そして、ソフトウェアとしては、ＯＳ４３や各種のアプリケーションソフトウェア４４などが格納されている。
【０００７】
なお、制御ネットワーク３には複数のＰＣ４がＰＣ群を形成するように接続されているが、図２では１台のＰＣ４だけを例示している。
【０００８】
図３は、従来のプロセス制御システムの他の例を示す構成説明図である。図３の構成において、システムの信頼性を高めるために、ＰＣ４は、稼働側のＰＣ４Ａと待機側のＰＣ４Ｂとの２台で冗長化されている。これら稼働側のＰＣ４Ａと待機側のＰＣ４Ｂは、連動して切換駆動される切換スイッチＳＷ１とＳＷ２を介して制御ネットワーク３に接続されるとともに、冗長制御通信線ＲＬを介して接続されている。
【０００９】
非特許文献１には、１Ｇｂｐｓのイーサネット（登録商標）をベースとしたプロセス・オートメーション用の「リアルタイム・プラント・ネットワーク・システムＶnet/ＩＰ」に関する技術が記載されている。
【００１０】
非特許文献１に記載されているＶnet/ＩＰ通信では、高信頼性を確保するため、ネットワークを二重化構成にしている。これにより、片方の系統に故障や異常が発生した場合、自動的に瞬時に経路切替を行うことが可能であり、リアルタイム性と高信頼性の両立を可能としている。
【００１１】
特許文献１には、エンジニアリング作業の負担を軽減できる冗長化通信システム等を提供する技術が記載されている。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】出町  公二、外３名、「リアルタイム・プラント・ネットワーク・システムＶnet/ＩＰ」、横河技報、横河電機株式会社、２００５年４月２０日、Ｖｏｌ．４９  Ｎｏ．２（２００５）  ｐ．３７−４０
【特許文献】
【００１３】
【特許文献１】特開２０１３−１６７９２２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
ところで、プロセス制御システムで用いられる制御ネットワークについても、汎用イーサネットで構築する取り組みがなされているが、イーサネットで用いられる一般的なＴＣＰ/ＩＰ通信は、プロセス制御システムで要求される規定された時間内に処理が確実に実施されることを保証するリアルタイム性を有していない。
【００１５】
一方で、汎用ＰＣでＶnet/ＩＰ通信を実施するためには、Ｖnet/ＩＰ専用のインタフェースカードが必要になる。
【００１６】
各ＰＣに搭載されたＶnet/ＩＰ専用インタフェースカードは、それぞれが二重化されたネットワークを切り替えるというマスタ的な性格を有しているため、複数のインタフェースカードを同一ステーションアドレスで存在させることはできない。
【００１７】
そこで、たとえば特許文献１に記載されているように、同一ステーションアドレスを設定した汎用コンピュータを２台用意し、片方のインタフェースカードの回線をネットワークスイッチ（レイヤー２スイッチ）で切り替えることで冗長化を実現している。
【００１８】
このため、コントローラなどの通信相手から見ると、一時的にコネクションが切断されるように見えてしまう。また、上記切り替えのためのレイヤー２スイッチとその電源が必要となるため、コストアップや、構成品増加に伴う故障率の増加につながることになる。
【００１９】
また、図３に示すＰＣ冗長化方式では、待機リスタート方式を取っていることから、冗長化されたＰＣ４Ａ、４Ｂの制御権切替に１０秒近い時間がかかり、データ取得の空白期間が生じたり、ステーションが動作停止したように見えたり、リアルタイム性が維持できないなどの問題点がある。
【００２０】
汎用コンピュータの製品寿命や各種部品、Windows（登録商標）などのＯＳの世代交代は数年毎に行われていて、コストパフォーマンスが大きく向上している。反面、旧世代品の供給は停止されることが多い。
【００２１】
一方で、図３に示すように複数のＰＣ４Ａ、４Ｂが接続されて構築されるプロセス制御システムは、約３０年にも渡るプラント寿命の間、連続的に稼働させる必要がある。そして、稼働期間中の監視操作機能などのアプリケーションソフトウェアは、運転員の慣れ、教育、ノウハウの維持などから、ＯＳなどが世代交代した場合であっても、従来通りの操作性や機能が求められる。
【００２２】
また、汎用ＰＣの技術革新に伴って、ＰＣの汎用Ｉ/Ｆも進化していく。汎用Ｉ/Ｆの進化に伴い、旧世代の汎用Ｉ/Ｆに対応した汎用ＰＣの入手は困難となる。進化した新たな汎用Ｉ/Ｆに対応するためには、プラントの寿命が尽きるまで同じ専用のインタフェースカードを用い続けることはできず、ＰＣの汎用Ｉ/Ｆの進化に対応して専用のインタフェースカードを幾度も開発し直さなければならないという課題も生じている。
【００２３】
本発明は、これらの課題を解決するものであり、その目的は、プロセス制御システムなどに必要なリアルタイム性と高信頼性とを確保した上で、長期化するプラントのライフサイクルにおける変化に対応できる冗長化ＰＣ装置を実現することにある。
【課題を解決するための手段】
【００２４】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
制御ネットワークに接続するための第１のネットワークインタフェースが実装されたハードウェア上で動作するホストＯＳを具備する通信装置において、
前記第１のネットワークインタフェース及び第２のネットワークインタフェースを介し、前記制御ネットワーク及び冗長化用ネットワークに他の通信装置と自装置との冗長化を行うためにそれぞれ接続され、
前記ホストＯＳに、
アプリケーションソフトウェアを稼働させる仮想化部と、
前記制御ネットワークにおける通信パケットを定期的に送受するリアルタイム通信部と、
自装置の稼働中における異常を検出する自己診断機能部と、
前記自己診断機能部による異常の検出に基づいて前記自装置を稼働状態から待機状態に切り替える冗長化部と、
を備え、
前記リアルタイム通信部は、前記制御ネットワークの異常を検出するための診断パケットを送受すると、他の制御ネットワークに切り替え、
前記仮想化部と前記リアルタイム通信部と前記冗長化部は、
互いに独立した別のプロセスで、前記制御ネットワークの切り替え、自装置を稼働状態から待機状態への切り替え、及び、前記アプリケーションソフトウェアの稼働を行うために、前記ハードウェアに備えたマルチコアＣＰＵのＣＰＵコアをそれぞれ割り当てることを特徴とする。
【００２５】
請求項２記載の発明は、請求項１記載の通信装置において、
前記冗長化部は、前記仮想化部の記憶部に記憶される自装置と他の通信装置の情報を等値化するための等値化情報を、前記他の通信装置へ前記冗長化用ネットワークを介して送信することを特徴とする。
また、請求項３記載の発明は、請求項１または請求項２に記載の通信装置において、
前記冗長化部は、前記ハードウェア及び前記第１のネットワークインタフェースの動作状態を診断し、前記冗長化用ネットワークを介して自装置と前記他の通信装置間で前記診断の結果を送受信することを特徴とする。
【００２６】
請求項４記載の発明は、請求項１から請求項３のいずれかに記載の通信装置において、
前記仮想化部上で、ゲストＯＳとアプリケーションソフトウェアを動作させることを特徴とする。
【００２７】
請求項５記載の発明は、請求項１から請求項４のいずれかに記載の通信装置において、
前記通信装置は、プラントの制御を行うプラント制御装置を構成することを特徴とする。
【００２８】
請求項６記載の発明は、請求項１から請求項５のいずれかに記載の通信装置において、
前記制御ネットワークは、冗長化されることを特徴とする。
また、請求項７記載の発明は、請求項１から請求項６のいずれかに記載の通信装置において、前記冗長化部は、前記自己診断機能部を備え、
前記リアルタイム通信部と前記仮想化部と前記冗長化部とは、互いに独立した別のプロセスで動作することを特徴とする。
【発明の効果】
【００２９】
これらにより、リアルタイム性と高信頼性とを確保した上で、長期化するプラントのライフサイクルにおける変化に対応できる冗長化ＰＣシステムを実現できる。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施例を示す構成説明図である。
【図２】従来のプロセス制御システムの一例を示す構成説明図である。
【図３】従来のプロセス制御システムの他の例を示す構成説明図である。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。図１は本発明の一実施例を示す構成説明図であり、図３と共通する部分には同一の符号を付けている。
【００３２】
図１において、ＰＣ５Ａ、５Ｂ、ＮＩＣ６Ａ１〜６Ａ４、６Ｂ１〜６Ｂ４などのハードウェアは、いずれも一般に市販されている汎用品である。すなわち、これらは、前述したような数年毎の世代交代が起こることを想定している。
【００３３】
これに対し、ゲストＯＳ５５Ａ、５５Ｂおよびアプリケーションソフトウェア５６Ａ、５６Ｂは、ハードウェアの世代交代には関係なく組で維持することを想定している。これは、たとえばWindows（登録商標）ＸＰがWindows ８に世代交代するようなゲストＯＳの変更は、アプリケーションソフトウェアの更新も必要となる場合が多いためである。
【００３４】
本発明では、ハードウェア（ＰＣ５Ａ、５Ｂ、ＮＩＣ６Ａ１〜６Ａ４、６Ｂ１〜６Ｂ４など）とソフトウェア（ゲストＯＳ５５Ａ、５５Ｂおよびアプリケーションソフトウェア５６Ａ、５６Ｂなど）との間に、ホストＯＳ５１Ａ、５１Ｂを設けている。ホストＯＳ５１Ａ、５１Ｂの具体例としては、Linux（登録商標）などがある。
【００３５】
このホストＯＳ５１Ａ、５１Ｂ上には、制御リアルタイム通信をつかさどるリアルタイム通信部５２Ａ、５２Ｂと、ＰＣ５Ａ、５Ｂの冗長化をつかさどる冗長化部５３Ａ、５３Ｂと、ゲストＯＳ５５Ａ、５５Ｂおよびアプリケーションソフトウェア５６Ａ、５６Ｂを稼働させる仮想化部５４Ａ、５４Ｂとが、独立したプロセスとして搭載されている。
【００３６】
リアルタイム通信部５２Ａ、５２Ｂは、汎用ＮＩＣ６Ａ１、６Ｂ１を介して制御ネットワーク３１に接続され、汎用ＮＩＣ６Ａ２、６Ｂ２を介して制御ネットワーク３２に接続されている。
【００３７】
プロセス制御システムを構成する制御ネットワーク３は、本発明と同様に、冗長化されている場合が多い。本発明を構成するリアルタイム通信部５２Ａ、５２Ｂは複数の汎用ＮＩＣを接続できるように構成されているので、たとえば異常を検出した時に稼働側の制御ネットワーク（たとえば３１）から待機側の制御ネットワーク（たとえば３２）に切り替えることができる。
【００３８】
また、本発明では、待機側の冗長化ＰＣ５Ｂの制御ネットワーク用ＮＩＣ６Ｂ１、６Ｂ２も、常時、冗長化制御ネットワーク３１、３２に接続されている。リアルタイム通信部５２Ａ、５２Ｂは、自ステーションの冗長相手側も含め、他のステーションの稼働側／待機側との間で、定期的に診断パケットを送受し、お互いの状態、健全性を確認する機能も有する。
【００３９】
冗長化された稼働側ＰＣ５Ａの冗長化部５３Ａと待機側ＰＣ５Ｂの冗長化部５３Ｂの相互間は、汎用ＮＩＣ６Ａ４、６Ｂ４とＰＣ冗長化用の等値化バス９を介して直接接続されている。
【００４０】
通常稼働時には、稼働側ＰＣ５ＡのゲストＯＳ５５Ａとアプリケーションソフトウェア５６Ａが動作を継続し、待機側ＰＣ５ＢのゲストＯＳ５５Ｂとアプリケーションソフトウェア５６Ｂは動作を停止している。
【００４１】
稼働側ＰＣ５Ａの冗長化部５３Ａは、仮想化部５４Ａにある仮想デバイス上のメモリのスナップショットなどの情報を等値化情報として、等値化バス９を介して待機側ＰＣ５Ｂに送信する。
【００４２】
稼働側ＰＣ５Ａの異常発生時には、待機側ＰＣ５Ｂの仮想化部５４Ｂに送信済みの等値化情報を使用して、待機側ＰＣ５ＢのゲストＯＳ５５Ｂとアプリケーションソフトウェア５６Ｂを起動し、制御権を待機側ＰＣ５Ｂに切り替える。
【００４３】
また、稼働側ＰＣ５Ａの冗長化部５３Ａは、自ＰＣ５Ａ、ＮＩＣ６Ａ３、６Ａ４、ゲストＯＳ５５Ａなどについての自己診断機能を有し、待機側ＰＣ５Ｂの冗長化部５３Ｂは、自ＰＣ５Ｂ、ＮＩＣ６Ｂ３、６Ｂ４、ゲストＯＳ５５Ｂなどについての自己診断機能を有する。さらに、稼働側ＰＣ５Ａの冗長化部５３Ａと待機側ＰＣ５Ｂの冗長化部５３Ｂとの相互間で、ハートビートを確認し合うなどにより、冗長化相手の状態確認を相互に行う。
【００４４】
異常を検知した場合、稼働側ＰＣ５Ａの冗長化部５３Ａと待機側ＰＣ５Ｂの冗長化部５３Ｂは、稼働側ＰＣから待機側ＰＣに切り替えたり、ＰＣ冗長化管理ツール８に異常の発生を通知する。
【００４５】
ＰＣ冗長化管理ツール８は、エンジニアリング端末上などで動作する管理用ソフトウェアであり、情報ネットワーク７と汎用ＮＩＣ６Ａ３、６Ｂ３を介してそれぞれの冗長化部５３Ａ、５３Ｂと接続される。
【００４６】
ＰＣ冗長化管理ツール８は、以下の機能を有する。
１）冗長化の動作状態や各種ハードウェア／ネットワークの動作状態を表示しメンテナンス作業時に情報を提供する。
２）ＰＣの制御権切替、システムの起動／停止、２台化分離などのメンテナンス操作を行うための機能
３）ライブアップデート機能（ハードウェアを稼働したまま更新する機能）
４）ゲストＯＳのバックアップ／リストア
５）Ping Checkなどのシステムの保守／管理を行うための機能
【００４７】
以上のように構成することにより、リアルタイム通信部５２Ａ、５２Ｂと冗長化部５３Ａ、５３Ｂおよび仮想化部５４Ａ、５４ＢをホストＯＳ５１Ａ、５１Ｂ上の独立したプロセスに置くことにより、ゲストＯＳ５５Ａ、５５Ｂ／アプリケーションソフトウェア５６Ａ、５６Ｂの状態／割込み状況などの影響や、制御ネットワーク３の状態や状況の影響を受けることなく、冗長化されたＰＣ５Ａ、５Ｂ間の情報等値化、状態把握や切替などを行うことができる。
【００４８】
また、ゲストＯＳ５５Ａ、５５Ｂやアプリケーションソフトウェア５６Ａ、５６Ｂに依存することなく冗長化システムを構築できるため、アプリケーションごとに異なったシステムが乱立することを防止できる。
【００４９】
また、冗長化された制御ネットワーク３の稼働側／待機側および冗長化されたＰＣ５Ａ、５Ｂの稼働側／待機側のそれぞれの制御ネットワークポートは、冗長化された制御ネットワーク３に常時接続されているので、リアルタイム通信部５２Ａ、５２Ｂによる診断パケットの交換により、冗長化されたネットワーク３および冗長化されたＰＣ５Ａ、５Ｂの健全性をリアルタイムで確認できる。
【００５０】
したがって、冗長化されたＰＣ５Ａ、５Ｂの異常や冗長化されたネットワーク３の異常などの発生を早期に検知して稼働側から待機側へ瞬時に切り替えることができる。
【００５１】
また、ＰＣ切替のための図３に示すような切り替えのためのレイヤ２スイッチＳＷ１、ＳＷ２が不要となるため、コストやFit数の低減が図れる。
【００５２】
また、ゲストＯＳ５５Ａ、５５Ｂやアプリケーションソフトウェア５６Ａ、５６Ｂおよび制御ネットワーク３に接続されたコントローラ２や図示しない操作監視端末などは、ＰＣやネットワークの切り替わりを意識することなく、稼働を続けることができる。
【００５３】
この結果、ゲストＯＳ５５Ａ、５５Ｂやアプリケーションソフトウェア５６Ａ、５６Ｂおよび制御ネットワーク３に接続されるコントローラ２や操作監視端末などを、冗長化構成に非依存とすることができる。
【００５４】
また、リアルタイム通信部５２Ａ、５２ＢをホストＯＳ５１Ａ、５１Ｂ上に置くことにより、汎用のＮＩＣを利用することができる。これにより、常に最新世代のＰＣやＮＩＣの技術革新の成果を享受できるとともに、かなり高価な旧世代品を調達したり、旧世代品が入手できなくなってしまうなどの課題も解決できる。
【００５５】
冗長化された制御ネットワーク３や冗長化されたＰＣ５Ａ、５Ｂのどちらが稼働しているかなどの状態は、ＰＣ冗長化管理ツール８が把握、管理している。したがって、ゲストＯＳ５５Ａ、５５Ｂやアプリケーションソフトウェア５６Ａ、５６Ｂおよび制御ネットワーク３に接続されたコントローラ２や操作監視端末などは、冗長化方法などを意識することなく稼働することができる。
【００５６】
すなわち、冗長化に未対応の旧世代のアプリケーションソフトウェア／ゲストＯＳ／コントローラ／操作監視端末なども、長期のプラントライフサイクルにわたり、継続して利用し続けることができる。アプリケーションは、ゲートウェイやエンジニアリングツールなどであってもよい。
【００５７】
なお、独立したプロセスであるリアルタイム通信部５２Ａ、５２Ｂおよび冗長化部５３Ａ、５３Ｂには、冗長化されたＰＣ５Ａ、５ＢのＣＰＵリソースをそれぞれ専有して提供してもよい。
【００５８】
また、マルチコアＣＰＵの場合には、リアルタイム通信部５２Ａ、５２Ｂと冗長化部５３Ａ、５３Ｂに、それぞれ独立したＣＰＵコアを割り付けてもよい。これにより、それぞれの機能はより独立した動作が可能となり、互いに影響を受けにくくなる。
【００５９】
さらに、冗長化されたＰＣ５Ａ、５Ｂの冗長化部５３Ａ、５３Ｂ間のＰＣ冗長化用等値化バス９も冗長化してもよい。
【００６０】
以上説明したように、本発明によれば、リアルタイム性と高信頼性とを確保した上で、長期化するプラントのライフサイクルにおける変化に対応できる冗長化ＰＣシステムを実現できる。
【符号の説明】
【００６１】
１  フィールド機器
２  コントローラ
３  制御ネットワーク
５  ＰＣ
５１  ホストＯＳ
５２  リアルタイム通信部
５３  冗長化部
５４  仮想化部
５５  ゲストＯＳ
５６  アプリケーションソフトウェア
６  汎用ＮＩＣ
７  情報ネットワーク
８  ＰＣ冗長化管理ツール
９  ＰＣ冗長化用等値化バス
【図１】
0006299640.tif 000002
【図２】
0006299640.tif 000003
【図３】
0006299640.tif 000004