(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6299640
(24)【登録日】2018年3月9日
(45)【発行日】2018年3月28日
(54)【発明の名称】通信装置
(51)【国際特許分類】
G06F 11/16 20060101AFI20180319BHJP
G06F 11/20 20060101ALI20180319BHJP
【FI】
G06F11/16 625
G06F11/20 605
G06F11/20 633
【請求項の数】7
【全頁数】10
(21)【出願番号】特願2015-58850(P2015-58850)
(22)【出願日】2015年3月23日
(65)【公開番号】特開2016-177716(P2016-177716A)
(43)【公開日】2016年10月6日
【審査請求日】2016年4月22日
【前置審査】
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(72)【発明者】
【氏名】榎本 浩也
(72)【発明者】
【氏名】江守 敏幸
(72)【発明者】
【氏名】土屋 雅信
(72)【発明者】
【氏名】本郷 健
【審査官】
三坂 敏夫
(56)【参考文献】
【文献】
特開2014−048933(JP,A)
【文献】
特開2001−053757(JP,A)
【文献】
特開2001−311692(JP,A)
【文献】
特開2008−165637(JP,A)
【文献】
特開2004−227566(JP,A)
【文献】
米国特許出願公開第2014/0215461(US,A1)
【文献】
三好 力 他,「UNIXアプリケーションの機能拡張とプロセス間通信に関する一考察」,情報処理学会論文誌,日本,社団法人情報処理学会,1991年 8月15日,第32巻 第8号,1030頁〜1033頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/16−11/20
(57)【特許請求の範囲】
【請求項1】
制御ネットワークに接続するための第1のネットワークインタフェースが実装されたハードウェア上で動作するホストOSを具備する通信装置において、
前記第1のネットワークインタフェース及び第2のネットワークインタフェースを介し、前記制御ネットワーク及び冗長化用ネットワークに他の通信装置と自装置との冗長化を行うためにそれぞれ接続され、
前記ホストOSに、
アプリケーションソフトウェアを稼働させる仮想化部と、
前記制御ネットワークにおける通信パケットを定期的に送受するリアルタイム通信部と、
自装置の稼働中における異常を検出する自己診断機能部と、
前記自己診断機能部による異常の検出に基づいて前記自装置を稼働状態から待機状態に切り替える冗長化部と、
を備え、
前記リアルタイム通信部は、前記制御ネットワークの異常を検出するための診断パケットを送受すると、他の制御ネットワークに切り替え、
前記仮想化部と前記リアルタイム通信部と前記冗長化部は、
互いに独立した別のプロセスで、前記制御ネットワークの切り替え、自装置を稼働状態から待機状態への切り替え、及び、前記アプリケーションソフトウェアの稼働を行うために、前記ハードウェアに備えたマルチコアCPUのCPUコアをそれぞれ割り当てることを特徴とする通信装置。
【請求項2】
前記冗長化部は、前記仮想化部の記憶部に記憶される自装置と他の通信装置の情報を等値化するための等値化情報を、前記他の通信装置へ前記冗長化用ネットワークを介して送信することを特徴とする請求項1に記載の通信装置。
【請求項3】
前記冗長化部は、前記ハードウェア及び前記第1のネットワークインタフェースの動作状態を診断し、前記冗長化用ネットワークを介して自装置と前記他の通信装置間で前記診断の結果を送受信することを特徴とする請求項1または請求項2に記載の通信装置。
【請求項4】
前記仮想化部上で、ゲストOSとアプリケーションソフトウェアを動作させることを特徴とする請求項1から請求項3のいずれかに記載の通信装置。
【請求項5】
前記通信装置は、プラントの制御を行うプラント制御装置を構成することを特徴とする請求項1から請求項4のいずれかに記載の通信装置。
【請求項6】
前記制御ネットワークは、冗長化されることを特徴とする請求項1から請求項5のいずれかに記載の通信装置。
【請求項7】
前記冗長化部は、前記自己診断機能部を備え、
前記リアルタイム通信部と前記仮想化部と前記冗長化部とは、互いに独立した別のプロセスで動作することを特徴とする請求項1から請求項6のいずれかに記載の通信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、冗長化PCシステムに関し、詳しくは、プロセス制御システムなどに必要なリアルタイム性と高信頼性とを確保した上で、長期化するプラントのライフサイクルにおける変化にも対応できる冗長化PCシステムに関する。
【背景技術】
【0002】
従来から、プロセス制御システムは、リアルタイム性と高信頼性を両立させるために、操作監視機能等を有するPC群とコントローラ間は、独自のネットワークを介して接続されていた。
【0003】
図2は、従来のプロセス制御システムの一例を示す構成説明図である。
図2において、センサやアクチュエータなどのフィールド機器1は、コントローラ2を介して制御ネットワーク3に接続されている。
【0004】
フィールド機器1のセンサ11は測定対象の物理量を測定し、アクチュエータ12は操作対象を駆動する。コントローラ2は、プラント内に分散配置されていて、操作監視端末部との間で各種情報のやり取りを行うとともに、センサ11からの情報を元にアクチュエータ12へ駆動信号を送出するためのプログラマブル演算処理機能を有する。
【0005】
制御ネットワーク3には、PC4も接続されている。PC4は、コントローラ2からの情報に基づいてプロセス制御システム全体の制御/監視に必要な各種情報を運転員に提供する機能や、それらの情報を元に各システム構成要素に適切な指示や管理を行うための操作監視機能や、各種機器の保守状況など管理する機器管理機能などのアプリケーションソフトウェアを提供する機能を有している。
【0006】
PC4には、ハードウェアとして、制御ネットワーク3に接続するための専用ネットワークインタフェースカード(以下NICともいう)41や、NIC用のインタフェースNICI/F42などが設けられている。そして、ソフトウェアとしては、OS43や各種のアプリケーションソフトウェア44などが格納されている。
【0007】
なお、制御ネットワーク3には複数のPC4がPC群を形成するように接続されているが、
図2では1台のPC4だけを例示している。
【0008】
図3は、従来のプロセス制御システムの他の例を示す構成説明図である。
図3の構成において、システムの信頼性を高めるために、PC4は、稼働側のPC4Aと待機側のPC4Bとの2台で冗長化されている。これら稼働側のPC4Aと待機側のPC4Bは、連動して切換駆動される切換スイッチSW1とSW2を介して制御ネットワーク3に接続されるとともに、冗長制御通信線RLを介して接続されている。
【0009】
非特許文献1には、1Gbpsのイーサネット(登録商標)をベースとしたプロセス・オートメーション用の「リアルタイム・プラント・ネットワーク・システムVnet/IP」に関する技術が記載されている。
【0010】
非特許文献1に記載されているVnet/IP通信では、高信頼性を確保するため、ネットワークを二重化構成にしている。これにより、片方の系統に故障や異常が発生した場合、自動的に瞬時に経路切替を行うことが可能であり、リアルタイム性と高信頼性の両立を可能としている。
【0011】
特許文献1には、エンジニアリング作業の負担を軽減できる冗長化通信システム等を提供する技術が記載されている。
【先行技術文献】
【非特許文献】
【0012】
【非特許文献1】出町 公二、外3名、「リアルタイム・プラント・ネットワーク・システムVnet/IP」、横河技報、横河電機株式会社、2005年4月20日、Vol.49 No.2(2005) p.37−40
【特許文献】
【0013】
【特許文献1】特開2013−167922号公報
【発明の開示】
【発明が解決しようとする課題】
【0014】
ところで、プロセス制御システムで用いられる制御ネットワークについても、汎用イーサネットで構築する取り組みがなされているが、イーサネットで用いられる一般的なTCP/IP通信は、プロセス制御システムで要求される規定された時間内に処理が確実に実施されることを保証するリアルタイム性を有していない。
【0015】
一方で、汎用PCでVnet/IP通信を実施するためには、Vnet/IP専用のインタフェースカードが必要になる。
【0016】
各PCに搭載されたVnet/IP専用インタフェースカードは、それぞれが二重化されたネットワークを切り替えるというマスタ的な性格を有しているため、複数のインタフェースカードを同一ステーションアドレスで存在させることはできない。
【0017】
そこで、たとえば特許文献1に記載されているように、同一ステーションアドレスを設定した汎用コンピュータを2台用意し、片方のインタフェースカードの回線をネットワークスイッチ(レイヤー2スイッチ)で切り替えることで冗長化を実現している。
【0018】
このため、コントローラなどの通信相手から見ると、一時的にコネクションが切断されるように見えてしまう。また、上記切り替えのためのレイヤー2スイッチとその電源が必要となるため、コストアップや、構成品増加に伴う故障率の増加につながることになる。
【0019】
また、
図3に示すPC冗長化方式では、待機リスタート方式を取っていることから、冗長化されたPC4A、4Bの制御権切替に10秒近い時間がかかり、データ取得の空白期間が生じたり、ステーションが動作停止したように見えたり、リアルタイム性が維持できないなどの問題点がある。
【0020】
汎用コンピュータの製品寿命や各種部品、Windows(登録商標)などのOSの世代交代は数年毎に行われていて、コストパフォーマンスが大きく向上している。反面、旧世代品の供給は停止されることが多い。
【0021】
一方で、
図3に示すように複数のPC4A、4Bが接続されて構築されるプロセス制御システムは、約30年にも渡るプラント寿命の間、連続的に稼働させる必要がある。そして、稼働期間中の監視操作機能などのアプリケーションソフトウェアは、運転員の慣れ、教育、ノウハウの維持などから、OSなどが世代交代した場合であっても、従来通りの操作性や機能が求められる。
【0022】
また、汎用PCの技術革新に伴って、PCの汎用I/Fも進化していく。汎用I/Fの進化に伴い、旧世代の汎用I/Fに対応した汎用PCの入手は困難となる。進化した新たな汎用I/Fに対応するためには、プラントの寿命が尽きるまで同じ専用のインタフェースカードを用い続けることはできず、PCの汎用I/Fの進化に対応して専用のインタフェースカードを幾度も開発し直さなければならないという課題も生じている。
【0023】
本発明は、これらの課題を解決するものであり、その目的は、プロセス制御システムなどに必要なリアルタイム性と高信頼性とを確保した上で、長期化するプラントのライフサイクルにおける変化に対応できる冗長化PC装置を実現することにある。
【課題を解決するための手段】
【0024】
このような課題を達成するために、本発明のうち請求項1記載の発明は、
制御ネットワークに接続するための第1のネットワークインタフェースが実装されたハードウェア上で動作するホストOSを具備する通信装置において、
前記第1のネットワークインタフェース及び第2のネットワークインタフェースを介し、前記制御ネットワーク及び冗長化用ネットワークに他の通信装置と自装置との冗長化を行うためにそれぞれ接続され、
前記ホストOSに、
アプリケーションソフトウェアを稼働させる仮想化部と、
前記制御ネットワークにおける通信パケットを定期的に送受するリアルタイム通信部と、
自装置の稼働中における異常を検出する自己診断機能部と、
前記自己診断機能部による異常の検出に基づいて前記自装置を稼働状態から待機状態に切り替える冗長化部と、
を備え、
前記リアルタイム通信部は、前記制御ネットワークの異常を検出するための診断パケットを送受すると、他の制御ネットワークに切り替え、
前記仮想化部と前記リアルタイム通信部と前記冗長化
部は、
互いに独立した別のプロセス
で、前記制御ネットワークの切り替え、自装置を稼働状態から待機状態への切り替え、及び、前記アプリケーションソフトウェアの稼働を行うために、前記ハードウェアに備えたマルチコアCPUのCPUコアをそれぞれ割り当てることを特徴とする。
【0025】
請求項2記載の発明は、請求項1記載の
通信装置において、
前記冗長化部は、前記仮想化部の記憶部に記憶される自装置と他の通信装置の情報を等値化するための等値化情報を、前記他の通信装置へ前記冗長化用ネットワークを介して送信することを特徴とする。
また、請求項3記載の発明は、請求項1または請求項2に記載の通信装置において、
前記冗長化部は、前記ハードウェア及び前記第1のネットワークインタフェースの動作状態を診断し、前記冗長化用ネットワークを介して自装置と前記他の通信装置間で前記診断の結果を送受信することを特徴とする。
【0026】
請求項4記載の発明は、請求項1から請求項3のいずれかに記載の通信装置において、
前記仮想化部上で、ゲストOSとアプリケーションソフトウェアを動作させることを特徴とする。
【0027】
請求項5記載の発明は、請求項1から請求項4のいずれかに記載の通信装置において、
前記通信装置は、プラントの制御を行うプラント制御装置を構成することを特徴とする。
【0028】
請求項
6記載の発明は、請求項1から請求項
5のいずれかに記載の通信装置において、
前記制御ネットワークは、冗長化されることを特徴とする。
また、請求項
7記載の発明は、請求項1から請求項
6のいずれかに記載の通信装置において、前記冗長化部は、前記自己診断機能部を備え、
前記リアルタイム通信部と前記仮想化部と前記冗長化部とは、互いに独立した別のプロセスで動作することを特徴とする。
【発明の効果】
【0029】
これらにより、リアルタイム性と高信頼性とを確保した上で、長期化するプラントのライフサイクルにおける変化に対応できる冗長化PCシステムを実現できる。
【図面の簡単な説明】
【0030】
【
図2】従来のプロセス制御システムの一例を示す構成説明図である。
【
図3】従来のプロセス制御システムの他の例を示す構成説明図である。
【発明を実施するための最良の形態】
【0031】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
図1は本発明の一実施例を示す構成説明図であり、
図3と共通する部分には同一の符号を付けている。
【0032】
図1において、PC5A、5B、NIC6A1〜6A4、6B1〜6B4などのハードウェアは、いずれも一般に市販されている汎用品である。すなわち、これらは、前述したような数年毎の世代交代が起こることを想定している。
【0033】
これに対し、ゲストOS55A、55Bおよびアプリケーションソフトウェア56A、56Bは、ハードウェアの世代交代には関係なく組で維持することを想定している。これは、たとえばWindows(登録商標)XPがWindows 8に世代交代するようなゲストOSの変更は、アプリケーションソフトウェアの更新も必要となる場合が多いためである。
【0034】
本発明では、ハードウェア(PC5A、5B、NIC6A1〜6A4、6B1〜6B4など)とソフトウェア(ゲストOS55A、55Bおよびアプリケーションソフトウェア56A、56Bなど)との間に、ホストOS51A、51Bを設けている。ホストOS51A、51Bの具体例としては、Linux(登録商標)などがある。
【0035】
このホストOS51A、51B上には、制御リアルタイム通信をつかさどるリアルタイム通信部52A、52Bと、PC5A、5Bの冗長化をつかさどる冗長化部53A、53Bと、ゲストOS55A、55Bおよびアプリケーションソフトウェア56A、56Bを稼働させる仮想化部54A、54Bとが、独立したプロセスとして搭載されている。
【0036】
リアルタイム通信部52A、52Bは、汎用NIC6A1、6B1を介して制御ネットワーク31に接続され、汎用NIC6A2、6B2を介して制御ネットワーク32に接続されている。
【0037】
プロセス制御システムを構成する制御ネットワーク3は、本発明と同様に、冗長化されている場合が多い。本発明を構成するリアルタイム通信部52A、52Bは複数の汎用NICを接続できるように構成されているので、たとえば異常を検出した時に稼働側の制御ネットワーク(たとえば31)から待機側の制御ネットワーク(たとえば32)に切り替えることができる。
【0038】
また、本発明では、待機側の冗長化PC5Bの制御ネットワーク用NIC6B1、6B2も、常時、冗長化制御ネットワーク31、32に接続されている。リアルタイム通信部52A、52Bは、自ステーションの冗長相手側も含め、他のステーションの稼働側/待機側との間で、定期的に診断パケットを送受し、お互いの状態、健全性を確認する機能も有する。
【0039】
冗長化された稼働側PC5Aの冗長化部53Aと待機側PC5Bの冗長化部53Bの相互間は、汎用NIC6A4、6B4とPC冗長化用の等値化バス9を介して直接接続されている。
【0040】
通常稼働時には、稼働側PC5AのゲストOS55Aとアプリケーションソフトウェア56Aが動作を継続し、待機側PC5BのゲストOS55Bとアプリケーションソフトウェア56Bは動作を停止している。
【0041】
稼働側PC5Aの冗長化部53Aは、仮想化部54Aにある仮想デバイス上のメモリのスナップショットなどの情報を等値化情報として、等値化バス9を介して待機側PC5Bに送信する。
【0042】
稼働側PC5Aの異常発生時には、待機側PC5Bの仮想化部54Bに送信済みの等値化情報を使用して、待機側PC5BのゲストOS55Bとアプリケーションソフトウェア56Bを起動し、制御権を待機側PC5Bに切り替える。
【0043】
また、稼働側PC5Aの冗長化部53Aは、自PC5A、NIC6A3、6A4、ゲストOS55Aなどについての自己診断機能を有し、待機側PC5Bの冗長化部53Bは、自PC5B、NIC6B3、6B4、ゲストOS55Bなどについての自己診断機能を有する。さらに、稼働側PC5Aの冗長化部53Aと待機側PC5Bの冗長化部53Bとの相互間で、ハートビートを確認し合うなどにより、冗長化相手の状態確認を相互に行う。
【0044】
異常を検知した場合、稼働側PC5Aの冗長化部53Aと待機側PC5Bの冗長化部53Bは、稼働側PCから待機側PCに切り替えたり、PC冗長化管理ツール8に異常の発生を通知する。
【0045】
PC冗長化管理ツール8は、エンジニアリング端末上などで動作する管理用ソフトウェアであり、情報ネットワーク7と汎用NIC6A3、6B3を介してそれぞれの冗長化部53A、53Bと接続される。
【0046】
PC冗長化管理ツール8は、以下の機能を有する。
1)冗長化の動作状態や各種ハードウェア/ネットワークの動作状態を表示しメンテナンス作業時に情報を提供する。
2)PCの制御権切替、システムの起動/停止、2台化分離などのメンテナンス操作を行うための機能
3)ライブアップデート機能(ハードウェアを稼働したまま更新する機能)
4)ゲストOSのバックアップ/リストア
5)Ping Checkなどのシステムの保守/管理を行うための機能
【0047】
以上のように構成することにより、リアルタイム通信部52A、52Bと冗長化部53A、53Bおよび仮想化部54A、54BをホストOS51A、51B上の独立したプロセスに置くことにより、ゲストOS55A、55B/アプリケーションソフトウェア56A、56Bの状態/割込み状況などの影響や、制御ネットワーク3の状態や状況の影響を受けることなく、冗長化されたPC5A、5B間の情報等値化、状態把握や切替などを行うことができる。
【0048】
また、ゲストOS55A、55Bやアプリケーションソフトウェア56A、56Bに依存することなく冗長化システムを構築できるため、アプリケーションごとに異なったシステムが乱立することを防止できる。
【0049】
また、冗長化された制御ネットワーク3の稼働側/待機側および冗長化されたPC5A、5Bの稼働側/待機側のそれぞれの制御ネットワークポートは、冗長化された制御ネットワーク3に常時接続されているので、リアルタイム通信部52A、52Bによる診断パケットの交換により、冗長化されたネットワーク3および冗長化されたPC5A、5Bの健全性をリアルタイムで確認できる。
【0050】
したがって、冗長化されたPC5A、5Bの異常や冗長化されたネットワーク3の異常などの発生を早期に検知して稼働側から待機側へ瞬時に切り替えることができる。
【0051】
また、PC切替のための
図3に示すような切り替えのためのレイヤ2スイッチSW1、SW2が不要となるため、コストやFit数の低減が図れる。
【0052】
また、ゲストOS55A、55Bやアプリケーションソフトウェア56A、56Bおよび制御ネットワーク3に接続されたコントローラ2や図示しない操作監視端末などは、PCやネットワークの切り替わりを意識することなく、稼働を続けることができる。
【0053】
この結果、ゲストOS55A、55Bやアプリケーションソフトウェア56A、56Bおよび制御ネットワーク3に接続されるコントローラ2や操作監視端末などを、冗長化構成に非依存とすることができる。
【0054】
また、リアルタイム通信部52A、52BをホストOS51A、51B上に置くことにより、汎用のNICを利用することができる。これにより、常に最新世代のPCやNICの技術革新の成果を享受できるとともに、かなり高価な旧世代品を調達したり、旧世代品が入手できなくなってしまうなどの課題も解決できる。
【0055】
冗長化された制御ネットワーク3や冗長化されたPC5A、5Bのどちらが稼働しているかなどの状態は、PC冗長化管理ツール8が把握、管理している。したがって、ゲストOS55A、55Bやアプリケーションソフトウェア56A、56Bおよび制御ネットワーク3に接続されたコントローラ2や操作監視端末などは、冗長化方法などを意識することなく稼働することができる。
【0056】
すなわち、冗長化に未対応の旧世代のアプリケーションソフトウェア/ゲストOS/コントローラ/操作監視端末なども、長期のプラントライフサイクルにわたり、継続して利用し続けることができる。アプリケーションは、ゲートウェイやエンジニアリングツールなどであってもよい。
【0057】
なお、独立したプロセスであるリアルタイム通信部52A、52Bおよび冗長化部53A、53Bには、冗長化されたPC5A、5BのCPUリソースをそれぞれ専有して提供してもよい。
【0058】
また、マルチコアCPUの場合には、リアルタイム通信部52A、52Bと冗長化部53A、53Bに、それぞれ独立したCPUコアを割り付けてもよい。これにより、それぞれの機能はより独立した動作が可能となり、互いに影響を受けにくくなる。
【0059】
さらに、冗長化されたPC5A、5Bの冗長化部53A、53B間のPC冗長化用等値化バス9も冗長化してもよい。
【0060】
以上説明したように、本発明によれば、リアルタイム性と高信頼性とを確保した上で、長期化するプラントのライフサイクルにおける変化に対応できる冗長化PCシステムを実現できる。
【符号の説明】
【0061】
1 フィールド機器
2 コントローラ
3 制御ネットワーク
5 PC
51 ホストOS
52 リアルタイム通信部
53 冗長化部
54 仮想化部
55 ゲストOS
56 アプリケーションソフトウェア
6 汎用NIC
7 情報ネットワーク
8 PC冗長化管理ツール
9 PC冗長化用等値化バス