(57)【要約】【課題】フィールドバス通信方式を利用した計装制御システムにおいて、パブリッシャにデータの世代管理をさせずとも、サブスクライバが受信に失敗したデータの回復を可能であるフィールドバス通信システムを提供する。【解決手段】フィールドバス通信システム１は、パブリッシャ１０と、サブスクライバ２０と、キャッシュサーバ４０とを備え、サブスクライバ２０はデータの送信要求を行う処理部２２を備え、キャッシュサーバ４０は、フィールドバスＦに接続可能な送受信部４１と、データを記憶する制御データ格納領域４７と、サブスクライバ２０から送信要求を受信した場合に、要求されるフィールド機器のデータを制御データ格納領域４７から読み出し、サブスクライバ２０に送信する処理を行う制御部４２と、を備える。【選択図】図１
2009284119.tif 000002
【特許請求の範囲】
【請求項１】
データを送信するフィールド機器と、
前記データを受信する受信機器と、
前記フィールド機器、及び前記受信機器がフィールドバスに接続された通信システムに接続可能なデータ管理装置と、を備えたフィールドバス通信システムであって、
前記受信機器は、前記データ管理装置に前記データの送信要求を行う処理部を備え、
前記データ管理装置は、前記フィールドバスに接続可能な送受信部と、前記フィールド機器から送信されるデータを記憶可能な記憶部と、前記受信機器から前記送信要求を受けた場合に、当該送信要求によって要求された前記データを前記記憶部から読み出し、前記受信機器に送信する制御部と、を備えることを特徴とするフィールドバス通信システム。
【請求項２】
前記受信機器は、前記データの受信に失敗した場合に自動的に当該データの前記送信要求を行うことを特徴とする請求項１に記載のフィールドバス通信システム。
【請求項３】
前記フィールド機器は、前記情報に送信順を示すパラメータ値を付加する送信順パラメータ値付加手段を備え、
前記処理部は、要求するデータの送信順を示すパラメータ値を前記送信要求に付加し、
前記制御部は、データから得られる前記送信順を示すパラメータ値と、前記送信要求から得られる前記送信順を示すパラメータ値とに基づいて、要求されるデータを特定することを特徴とすることを備えることを特徴とする請求項１又は２に記載のフィールドバス通信システム。
【請求項４】
前記処理部は、要求するデータを送信したフィールド機器の識別情報を前記送信要求に付加し、
前記制御部は、前記データ又は当該データの送受信から得られる前記識別情報と、前記送信要求から得られる前記識別情報とに基づいて要求されるデータを特定することを特徴とする請求項１から３のいずれか一項に記載のフィールドバス通信システム。
【請求項５】
前記処理部は、要求するデータの種類を示す付帯情報を前記送信要求に付加し、
前記制御部は、前記データ又は当該データの送受信から得られる前記付帯情報と、前記送信要求から得られる前記付帯情報とに基づいて要求されるデータを特定することを特徴とする請求項１から４のいずれか一項に記載のフィールドバス通信システム。
【請求項６】
前記フィールド機器、前記受信機器及び前記フィールドバス通信システムのデータ管理装置のいずれか又は複数は、複数であることを特徴とする請求項１から５のいずれか一項に記載のフィールドバス通信システム。
【請求項７】
データを送信するフィールド機器、及び当該データを受信する受信機器がフィールドバスに接続された通信システムに接続可能なデータ管理装置であって、
前記フィールドバスに接続可能な送受信部と、
前記フィールド機器から送信されるデータを記憶可能な記憶部と、
前記受信機器から前記データの送信要求を受けた場合に、要求されるフィールド機器のデータを前記記憶部から読み出し、前記受信機器に送信する制御部と、
を備えることを特徴とするデータ管理装置。
【請求項８】
前記制御部は、前記データから得られる送信順を示すパラメータ値と、前記送信要求から得られる送信順を示すパラメータ値とに基づいて要求されるデータを特定することを特徴とする請求項７に記載のデータ管理装置。
【請求項９】
前記制御部は、前記データ又は当該データの送受信から得られる当該データを送信したフィールド機器の識別情報と、前記送信要求から得られる前記識別情報とに基づいて要求されるデータを特定することを特徴とする請求項７又は８に記載のデータ管理装置。
【請求項１０】
前記制御部は、前記データ又は当該データの送受信から得られる当該データの種類を示す付帯情報と、前記送信要求から得られる前記付帯情報とに基づいて、要求されるデータを特定することを特徴とする請求項７から９のいずれか一項に記載のデータ管理装置。
【請求項１１】
前記データと当該データの受信機器との対応付けを行う対応付け手段と、
前記対応付け手段による対応付け情報を記憶する対応付け情報記憶部と、を備えることを特徴とする請求項７から１０のいずれか一項に記載のデータ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールドバス通信システム及び当該通信システムで用いるデータ管理装置に関する。
【背景技術】
【０００２】
従来、生産工場や大規模プラント等において、各種計測器（例えば、温度計や流量計等のセンサ）で取得された測定データを、ネットワークを介して制御デバイスに伝送し、この制御デバイスで測定データに基づいて操作端（例えば、モーター、電磁弁、ファン、ポンプ、バルブ等のアクチュエータ）等に対して必要な制御動作（例えば、所定のアクチュエータの制御処理）を自動で行う計装制御システムが知られている。
そして、近年では、アナログ通信方式に代わって、デジタル双方向式のフィールドバス通信方式を利用して測定デバイスと制御デバイス間の通信を行う計装制御システムが提案されている（例えば、特許文献１）。
以下の説明において、フィールドバス通信方式を利用した計装制御システムをフィールドバス管理システムと称し、フィールドバス通信方式に対応した計測器及び操作端をパブリッシャ（Publisher）、制御デバイスをサブスクライバ（Subscriber）と称する。
【０００３】
図５は従来のフィールドバス通信方式におけるパブリッシャ１１０とサブスクライバ１２０の関係を示すシーケンスチャートである。コンフィギュレーションツール（Configuration Tool）１３０は、パブリッシャ１１０とサブスクライバ１２０との対応付けの設定を行う設定ツールであり、該対応付けの設定を行う（ステップＳ１０１）。パブリッシャ１１０は、測定データを取得すると該測定データを該パブリッシャの送信バッファに格納し、事前にコンフィギュレーションツール１３０によって対応付けられたサブスクライバ１２０に対して送信バッファから測定データを送信する（ステップＳ１０２）。サブスクライバ１２０は、ステップＳ１０２においてデータの受信に成功すると（ステップＳ１０２：ＹＥＳ）、パブリッシャ１１０から送信された測定データを該サブスクライバのバッファに格納し、所定の処理を行う。
【０００４】
なお、図５では、パブリッシャ１１０とサブスクライバ１２０とを一対一の関係として示しているが、複数のパブリッシャによる測定データの送信と一つ又は複数のサブスクライバによるデータの処理が行われることもある。極めて多数（例えば万単位）のパブリッシャによる測定データを一つのサブスクライバが受信して処理することもある。
【特許文献１】特開平１１−１２００３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、パブリッシャ１１０及びサブスクライバ１２０は、それぞれ所定のスケジュールで動作している。つまり、パブリッシャ１１０は所定の周期（例えば１回／秒）でサブスクライバ１２０に測定データを送信する。また、サブスクライバ１２０は所定の周期（例えば１回／秒）で新たな測定データを受信することを前提に処理を進める。この動作は非同期で行われている。つまり、パブリッシャ１１０はサブスクライバ１２０の動作に関係なく所定の周期で送信バッファを最新の測定データによって上書きする。また、サブスクライバ１２０はパブリッシャ１１０の動作に関係なく所定の周期で受信バッファに格納された測定データを処理する。
【０００６】
一方、測定データに限らず、データの送受信においては各種ノイズによる影響等、何らかの理由によるデータの欠損等により送受信の失敗が発生しうる。従って、測定データの送受信において、例えば上述のステップＳ１０２においてサブスクライバ１２０による測定データの受信が失敗すると（ステップＳ１０２：ＮＯ）、サブスクライバ１２０の受信バッファには受信に失敗した測定データは格納されない。しかし、サブスクライバ１２０はあくまで所定のスケジュールで動作するのみである。従って、サブスクライバ１２０はそのとき受信バッファにあるデータすなわちそれ以前の測定データの送受信において受信を成功した測定データによる処理を行う。つまり、本来受信されるべき測定データ（受信に失敗した測定データ）に基づいてなされるべき処理が異なる測定データ（それ以前の測定データ）でなされる。これによってサブスクライバ１２０は誤った処理を行うおそれががある問題を生ずる。
【０００７】
上述のような問題に対し、サブスクライバ１２０は測定データの受信を失敗した場合、その測定データを再度要求するといった方法が考えられる。しかしながら、サブスクライバ１２０による測定データの受信の成否に関らず、パブリッシャ１１０は所定のスケジュール通り測定データを送信し続ける。このため、送受信の結果に関らずパブリッシャ１１０の送信バッファは常に新たな測定データによって上書きされる。従って、パブリッシャ１１０の送信バッファの上書き後は受信に失敗した測定データを再度送受信する等の回復措置をまったく行えなくなる。これは、パブリッシャ１１０の送信バッファの容量を拡大することにより幾分改善される見込みがあるものの、各パブリッシャにそのような構成を設けることは非効率であり、またシステムの高コスト化をもたらすという問題を生ずる。
【０００８】
本発明は、フィールドバス通信方式を利用したシステムにおいて、パブリッシャにデータの世代管理をさせずとも、サブスクライバが受信に失敗したデータの回復を可能であるフィールドバス通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、請求項１に記載の発明は、データを送信するフィールド機器と、前記データを受信する受信機器と、前記フィールド機器、及び前記受信機器がフィールドバスに接続された通信システムに接続可能なデータ管理装置と、を備えたフィールドバス通信システムであって、前記受信機器は、前記データ管理装置に前記データの送信要求を行う処理部を備え、前記データ管理装置は、前記フィールドバスに接続可能な送受信部と、前記フィールド機器から送信されるデータを記憶可能な記憶部と、前記受信機器から前記送信要求を受けた場合に、当該送信要求によって要求された前記データを前記記憶部から読み出し、前記受信機器に送信する制御部と、を備えることを特徴とする。
【００１０】
請求項２に記載の発明は、請求項１に記載のフィールドバス通信システムであって、前記受信機器は、前記データの受信に失敗した場合に自動的に当該データの前記送信要求を行うことを特徴とする。
【００１１】
請求項３に記載の発明は、請求項１又は２に記載のフィールドバス通信システムであって、前記フィールド機器は、前記情報に送信順を示すパラメータ値を付加する送信順パラメータ値付加手段を備え、前記処理部は、要求するデータの送信順を示すパラメータ値を前記送信要求に付加し、前記制御部は、データから得られる前記送信順を示すパラメータ値と、前記送信要求から得られる前記送信順を示すパラメータ値とに基づいて、要求されるデータを特定することを特徴とすることを備えることを特徴とする。
【００１２】
請求項４に記載の発明は、請求項１から３のいずれか一項に記載のフィールドバス通信システムであって、前記処理部は、要求するデータを送信したフィールド機器の識別情報を前記送信要求に付加し、前記制御部は、前記データ又は当該データの送受信から得られる前記識別情報と、前記送信要求から得られる前記識別情報とに基づいて要求されるデータを特定することを特徴とする。
【００１３】
請求項５に記載の発明は、請求項１から４のいずれか一項に記載のフィールドバス通信システムであって、前記処理部は、要求するデータの種類を示す付帯情報を前記送信要求に付加し、前記制御部は、前記データ又は当該データの送受信から得られる前記付帯情報と、前記送信要求から得られる前記付帯情報とに基づいて要求されるデータを特定することを特徴とする。
【００１４】
請求項６に記載の発明は、請求項１から５のいずれか一項に記載のフィールドバス通信システムであって、前記フィールド機器、前記受信機器及び前記フィールドバス通信システムのデータ管理装置のいずれか又は複数は、複数であることを特徴とする。
【００１５】
請求項７に記載の発明は、データを送信するフィールド機器、及び当該データを受信する受信機器がフィールドバスに接続された通信システムに接続可能なデータ管理装置であって、前記フィールドバスに接続可能な送受信部と、前記フィールド機器から送信されるデータを記憶可能な記憶部と、前記受信機器から前記データの送信要求を受けた場合に、要求されるフィールド機器のデータを前記記憶部から読み出し、前記受信機器に送信する制御部と、を備えることを特徴とする。
【００１６】
請求項８に記載の発明は、請求項７に記載のデータ管理装置であって、前記制御部は、前記データから得られる送信順を示すパラメータ値と、前記送信要求から得られる送信順を示すパラメータ値とに基づいて要求されるデータを特定することを特徴とする。
【００１７】
請求項９に記載の発明は、請求項７又は８に記載のデータ管理装置であって、前記制御部は、前記データ又は当該データの送受信から得られる当該データを送信したフィールド機器の識別情報と、前記送信要求から得られる前記識別情報とに基づいて要求されるデータを特定することを特徴とする。
【００１８】
請求項１０に記載の発明は、請求項７から９のいずれか一項に記載のデータ管理装置であって、前記制御部は、前記データ又は当該データの送受信から得られる当該データの種類を示す付帯情報と、前記送信要求から得られる前記付帯情報とに基づいて、要求されるデータを特定することを特徴とする。
【００１９】
請求項１１に記載の発明は、請求項７から１０のいずれか一項に記載のデータ管理装置であって、前記データと当該データの受信機器との対応付けを行う対応付け手段と、前記対応付け手段による対応付け情報を記憶する対応付け情報記憶部と、を備えることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、フィールドバス通信方式を利用したシステムにおいて、パブリッシャにデータの世代管理をさせずとも、サブスクライバが受信に失敗したデータの回復を可能であるフィールドバス通信システムを提供できる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態の一例を図面に基づいて説明する。
図１は本発明の実施の形態の一例によるフィールドバス通信システム１を示す構成図である。フィールドバス通信システム１は、測定データその他の各種データ（以下、単にデータと称する）を送信するパブリッシャ１０と、パブリッシャ１０の送信するデータを受信して処理すると共に、データの受信に失敗した場合に後述するキャッシュサーバ４０にデータを要求するサブスクライバ２０と、パブリッシャ１０の送信するデータを受信して記憶、保持し、サブスクライバ２０の送信要求に応じたデータを送信するキャッシュサーバ４０と、各機器を接続するフィールドバスＦと、を備えている。
【００２２】
フィールドバスＦは、各構成をデジタル通信で相互通信可能に接続する。フィールドバスＦの構成として、例えばLocal Area Network（ＬＡＮ）による接続が挙げられ、本実施の形態ではHi Speed Ethernet（登録商標）（ＨＳＥ）を用いている。このとき、ＨＳＥの回線は有線／無線又はその混在によって構成可能である。また、フィールドバスＦに接続された各機器間は所定の通信方式で通信を行う。当該通信方式として、本実施の形態では、インターネットプロトコル（Internet Protocol）を用いている。従って、各機器が個別のＩＰアドレス（以下、単にアドレスと称する）を有している。かような構成により、フィールドバス通信システム１の各機器は、相互通信可能に接続される。なお、フィールドバスＦは各機器をデジタル通信で相互通信可能に接続する他の構成によってもよい。
【００２３】
また、フィールドバス通信システムは、コンフィギュレーションツール３０（図４参照）を実行可能な構成を備える。コンフィギュレーションツール３０は、パブリッシャ１０、サブスクライバ２０及びキャッシュサーバ４０の対応付けを行う。該対応付けによって、パブリッシャ１０から送信されるデータは、サブスクライバ２０及びキャッシュサーバ４０によって受信されるようになる。
【００２４】
具体的には、パブリッシャ１０はデータをマルチキャスト（Multicast）宛に送信する。サブスクライバ２０及びキャッシュサーバ４０は、マルチキャスト宛のデータを受信すると、該データの送信元アドレスが対応付けされたパブリッシャ１０のアドレスであるかどうか識別する。対応付けされたパブリッシャ１０からの送信であると識別された場合、サブスクライバ２０及びキャッシュサーバ４０は該データを受信する。対応付けされたパブリッシャ１０からの送信でないと識別された場合、サブスクライバ２０及びキャッシュサーバ４０は該データを受信せず、破棄する。
本実施の形態では、サブスクライバ２０の処理部２２及びキャッシュサーバ４０の制御部４２が上述の受信に伴う識別を行うが、各機器に識別のための構成（識別手段）を設けてもよい。
【００２５】
コンフィギュレーションツール３０は、上述の対応付け処理の他、データの送受信に使用するポート番号やデータの送信間隔、その他関連する各種情報を設定することができる。該情報によって、サブスクライバ２０及びキャッシュサーバ４０はパブリッシャ１０のデータの種類を判別できる。例えば、パブリッシャ１０が複数の種類のデータを送信する場合、データの種類ごとに異なるポート番号を指定することとすれば、サブスクライバ２０及びキャッシュサーバ４０はデータを受信する際に指定されたポート番号によってデータの種類を判別できる。本実施の形態では、サブスクライバ２０の処理部２２及びキャッシュサーバ４０の制御部４２がポート番号に基づくデータの種類の判別を行うが、各機器に判別のための構成（判別手段）を設けてもよい。
コンフィギュレーションツール３０による対応付け及び各種情報の設定は、パブリッシャから送信されるデータの種類毎に行われる。
【００２６】
データの種類の判別方法は他の方法によってもよい。例えば、パブリッシャ１０にデータの種類を判別するための判別情報をデータに付加する構成を設け、サブスクライバ２０及びキャッシュサーバ４０は受信するデータに付加された判別情報に基づいてデータの種類を判別する等の方法が挙げられる。この場合、同じポート番号を用いた送受信で異なる種類のデータを送信できる。
【００２７】
なお、図１の例示は、各一つずつのパブリッシャ１０、サブスクライバ２０及びキャッシュサーバ４０による構成であるが、フィールドバス通信システムは、パブリッシャ、サブスクライバ、キャッシュサーバのいずれかまたは複数について、各構成を複数有してもよい。コンフィギュレーションツール３０は、複数のパブリッシャと一つのサブスクライバ及び／又はキャッシュサーバを対応付けてもよい。一つのパブリッシャと複数のサブスクライバ及び／又はキャッシュサーバを対応付けてもよい。複数のパブリッシャと複数のサブスクライバ及び／又はキャッシュサーバを対応付けてもよい。
また、他の装置その他の構成をフィールドバスＦに接続してもよい。
【００２８】
また、コンフィギュレーションツール３０は、上述の対応付け及び各種設定を可能とするための装置を個別に設けてフィールドバスＦに接続してもよいし、パブリッシャ１０、サブスクライバ２０及び／又はキャッシュサーバ４０がその機能を有していてもよい。
【００２９】
次に、フィールドバス通信システム１の各機器について説明する。
パブリッシャ１０は、データを送信するための送信部１１と、送信部１１から送信するデータにデータの送信順を示すシーケンス番号を付加するための「送信順パラメータ値付加手段」としての番号付与部１２と、を有している。番号付与部１２は、データの一部（例えばヘッダ等）に送信順を示す情報すなわち受信側（例えばサブスクライバ２０及びキャッシュサーバ４０等）で受信履歴の管理を把握可能な情報を付加する。該情報として、本実施の形態では番号付与部１２は送信部１１によるデータ送信が行われる毎に１ずつ順増する数値をデータに付与する。
【００３０】
サブスクライバ２０は、フィールドバスＦに接続可能な送受信部２１と、データの受信履歴を管理すると共にキャッシュサーバへデータを要求するための送信要求を行う処理部２２と、を有する。
【００３１】
処理部２２は、パブリッシャ１０の送信データに付加されたシーケンス番号に基づいてデータの受信の成否を判別する。具体的には、処理部２２は直前に受信したデータのシーケンス番号を保持する。その後、送受信部２１が最新のデータを受信すると、処理部２２は最新のデータのシーケンス番号を取得し、保持していた直前のデータのシーケンス番号と比較する。
【００３２】
最新のデータのシーケンス番号が直前のデータのシーケンス番号に対して１増加していた場合、処理部２２はデータの送信順に従ったデータの受信が行われていると判別する。この場合、サブスクライバ２０は所定のスケジュールに沿った処理を行う。
最新のデータのシーケンス番号が直前のデータのシーケンス番号に対して１増加していなかった場合（例えば２以上増加していた場合等）、処理部２２はデータの送信順に従ったデータの受信が行われていないと判別する。例えば、直前のデータのシーケンス番号が１で、最新のデータのシーケンス番号が３であった場合、処理部２２はシーケンス番号２を付加されたデータの受信に失敗したと判別する。この場合、処理部２２は受信に失敗したデータをキャッシュサーバ４０に要求する送信要求を行う。かようにして、処理部２２はデータの受信履歴管理と受信に失敗したデータの送信要求とを行う。処理部２２による送信要求は送受信部２１を介したデータ通信によって行われる。
【００３３】
処理部２２によるデータの受信履歴管理とデータの送信要求は、各処理内容に対応したソフトウェアを制御装置（例えばＣＰＵ等のマイクロプロセッサ等）が実行処理することによる、所謂ソフトウェア制御によって実現される。なお、受信履歴の管理は上述の方法に限らず、データの送信順の管理が行えれば他の方法によってもよい。
【００３４】
キャッシュサーバ４０は、フィールドバスＦに接続可能な送受信部４１と、送受信部４１の受信内容に応じて各種処理を行う制御部４２と、コンフィギュレーションツール３０による対応付け及び関連する各種情報の設定情報を記憶する「対応付け情報記憶部」としての設定情報格納領域４６と、パブリッシャ１０から送信されたデータを記憶する「記憶部」としての制御データ格納領域４７と、を備える。
【００３５】
設定情報格納領域４６及び制御データ格納領域４７は、所謂書き換え可能な記憶装置（例えばハードディスクやフラッシュＲＯＭ、その他書き換え可能な記憶領域を有する装置）の記憶領域の一部又は全部である。設定情報格納領域４６と制御データ格納領域４７とは、個別の記憶装置によって構成されてもよいし、同一の記憶装置内に設けられた個別の記憶領域であってもよい。
【００３６】
送受信部４１は、パブリッシャ１０及びサブスクライバ２０から送信された各種要求、命令及び／又はデータ等を受信すると、該データを制御部４２に渡す。送受信部４１が受信する内容としては、例えばコンフィギュレーションツール３０による対応付け及び各種関連情報の設定に関する命令や、パブリッシャ１０から送信されたデータ、及びサブスクライバ２０からの送信要求等がある。
【００３７】
制御部４２は、受信部４１から渡された各種要求、命令及び／又はデータ等の内容に応じた処理を行う。制御部４２は、当該処理のための設定機能４３、データ格納機能４４及びデータ読込機能４５を有する。制御部４２の各種機能は、当該機能として動作するためのソフトウェアを制御装置（例えばＣＰＵ等のマイクロプロセッサ等）が実行処理することによる、所謂ソフトウェア制御によって実現される。以下、制御部４２の動作について説明する。
【００３８】
送受信部４１からコンフィギュレーションツール３０による対応付け及び各種関連情報の設定に関する命令を渡されると、制御部４２は、設定機能４３により、コンフィギュレーションツール３０によるパブリッシャ１０、サブスクライバ２０及びキャッシュサーバ４０の対応付け及び関連する各種情報の設定に基づいて、パブリッシャから受信する情報の設定情報を生成する。生成された設定情報は、設定情報のエントリとして設定情報格納領域４６に格納される。
【００３９】
図２は、設定情報のエントリの構成の一例を示す説明図である。設定情報のエントリは、パブリッシャから送信されるデータの種類毎に設定される。各エントリは、セッション識別子、送信元アドレス、送信先アドレス、送信先ポート番号、送信間隔及びその他情報等を有する。セッション識別子は、送信元アドレス、送信先アドレス、送信先ポート番号、送信間隔及びその他情報等の組み合わせ毎に付加される固有のシーケンス番号である。送信元アドレスは、該データを送信するパブリッシャ１０のアドレスである。送信先アドレスは、送信元アドレスから該データを受信するサブスクライバ２０及びキャッシュサーバ４０のアドレスである。送信先ポート番号は、該データの送受信の際に送信側（例えばパブリッシャ１０）が指定するポート番号である。受信側（例えばサブスクライバ２０）は、指定されたポート番号で該データを受信する。送信間隔は、該データの送信が行われる時間の間隔である。その他の情報は、当該セッション識別子を設定されたデータの送受信に関する付随情報を設定、登録できる。エントリに設定される情報は、必要に応じて追加、削除又は変更できる。
【００４０】
キャッシュサーバ４０は、パブリッシャ１０から送信されたデータのうち、上述の設定情報のエントリに対応するデータを受信する。サブスクライバ２０によるデータの受信についてもキャッシュサーバ４０と同様であってよい。
【００４１】
送受信部４１からパブリッシャ１０から送信されたデータを渡されると、制御部４２は、データ格納機能４４により、パブリッシャ１０から送信されたデータと、設定情報格納領域４６に格納されたエントリとを照合し、該データがどのセッション識別子のエントリに対応するか判別する。判別後、データ格納部は該データを制御データ格納領域４７に記憶する。このとき、該データは対応するセッション識別子毎に管理されて記憶される。
【００４２】
図３は、制御データ格納領域４７に記憶されるセッション毎のデータの構成の一例を示す説明図である。制御データ格納領域４７に記憶されるデータは、セッション識別子毎（例えばセッション１、２，３…ｍ等）に管理される。各セッションのエントリは、セッション識別子、データレコード数、最新シーケンス番号、制御データを有する。
【００４３】
該エントリのセッション識別子は、前述の設定情報のセッション識別子と同一である。データレコード数は、該セッション識別子に対応するデータについて制御データ格納領域４７に格納可能なデータ世代数を示す数値である。最新シーケンス番号は、該セッション識別子に対応するデータの送信順を示すシーケンス番号のうち最近受信したデータに付加されたシーケンス番号をデータレコード数で除算した結果生ずる剰余である。つまり、最新シーケンス番号はパブリッシャ１０の送信データをキャッシュサーバ４０が受信するたびに更新される。
【００４４】
制御データは、パブリッシャ１０から送信されたデータのうち、シーケンス番号やその他のヘッダ情報を除いた実データ部分である。つまり、制御データは、パブリッシャ１０が計測した計測値や操作端からのレスポンスに関する情報等である。図３に示すように、制御データ格納領域４７は、セッション毎に複数の制御データの格納領域を有する。
【００４５】
各セッションの制御データの格納領域の数は、上述のデータレコード数と対応する。例えば、図３に示すように、データレコード数がｎの場合、制御データ格納領域４７は０〜（ｎ−１）のポインタが割り当てられた制御データの格納領域を設ける。各ポインタは、受信したデータのシーケンス番号をデータレコード数で除算した場合の剰余と対応する。例えば、ある受信データのシーケンス番号をデータレコード数で除算した結果、剰余が０であった場合、該データの制御データはポインタ０の格納領域に書き込まれる。このとき、当該格納領域に既に制御データが書き込まれていた場合、上書きされる。つまり、制御データ格納領域は、過去ｎ世代すなわちデータレコード数に設定された世代の数だけ記憶、保持される。
【００４６】
送受信部４１からサブスクライバ２０からの送信要求を渡されると、制御部４２は、データ読込機能により、サブスクライバ２０からの送信要求データに基づいて制御データ格納領域４７から要求されたデータを読み込む。該送信要求データは、要求するデータのセッション識別子とシーケンス番号を含む。制御部４２は、該送信要求に含まれるセッション識別子とシーケンス番号とから要求されたデータを特定する。具体的には、該送信要求のセッション識別子から、制御データ格納領域４７のセッションを特定する。次に、該セッションのデータレコード数を呼び出し、該送信要求のシーケンス番号を該データレコード数で除算し、その剰余を算出する。データ読取部は、該剰余に対応するポインタの格納領域に記憶された制御データを要求されたデータとして読み込む。
読み込まれたデータは、送受信部４１に渡され、サブスクライバ２０に送信される。
【００４７】
上述のように、送信要求はセッション識別子を含む。このため、サブスクライバ２０とキャッシュサーバ４０との間でセッション識別子の管理を共有する。該共有の方法としては、キャッシュサーバ４０の設定情報をサブスクライバ２０に送信して共有してもよいし、サブスクライバ２０に制御部４２の設定機能４３及び設定情報格納領域４６と同様の構成を設けてもよい。
【００４８】
なお、パブリッシャ１０の計測器又は操作端としての構成は従来と同様である。制御デバイスとしてのサブスクライバ２０の構成は従来と同様である。従って、これらの説明を省略する。
【００４９】
次に、図４のシーケンスチャートを用いてフィールドバス通信システム１におけるデータの流れについて説明する。まず、コンフィギュレーションツール３０によってパブリッシャ１０、サブスクライバ２０及びキャッシュサーバ４０の対応付け及び各種設定が行われる（ステップＳ１）。キャッシュサーバ４０の送受信部４１は、ステップＳ１の対応付け及び各種設定に関する命令を制御部４２に渡す（ステップＳ２）。制御部４２は、ステップＳ２で渡された命令に基づき、パブリッシャから受信する情報の設定情報を生成し、設定情報格納領域４６に格納する（ステップＳ３）。
【００５０】
その後、パブリッシャ１０は所定のスケジュールに従い、番号付与部１２が送信データにシーケンス番号を付与し（ステップＳ４）、送信部１１がデータをマルチキャスト方式で送信する（ステップＳ５）。サブスクライバ２０の送受信部２１はステップＳ５で送信されたデータを受信すると（ステップＳ５：ＹＥＳ）、処理部２２に該データ又は該データのシーケンス番号を渡す（ステップＳ６）。処理部２２は、直前のデータのシーケンス番号とステップＳ６で渡された最新のシーケンス番号とを比較してパブリッシャ１０の送信順通りにデータを受信しているかどうか判定する。このとき、送信順通りにデータを受信していればサブスクライバ２０は所定のスケジュールに従い、処理を行う。
【００５１】
ステップＳ６に並行して、キャッシュサーバ４０の送受信部４１はステップＳ５で送信されたデータを受信すると、該データを制御部４２に渡す（ステップＳ７）。制御部４２は、設定情報格納領域４６の設定情報を参照して該データのセッション識別子を特定し、上述のように該データのシーケンス番号をデータレコード数で除算してその剰余を算出し、対応するポインタを割り当てられた制御データの格納領域を特定する。かような処理を経て、制御部４２は制御データ格納領域４７にデータを格納する（ステップＳ８）。
【００５２】
ここで、ステップＳ５においてサブスクライバ２０の送受信部２１がデータの受信に失敗することがある（ステップＳ５：ＮＯ）。その場合、ステップＳ６の処理は行われない。一方、キャッシュサーバ４０の送受信部４１はデータの受信後にステップＳ７，Ｓ８の処理を行う。
【００５３】
サブスクライバ２０の送受信部２１が一度以上データの受信を失敗した後に、パブリッシャ１０から送信されたデータを送受信部２１が受信した場合、シーケンス番号が連続しないことから、処理部２２はパブリッシャ１０の送信順通りにデータを受信していないと判定する。この場合、処理部２２は、受信に失敗したデータを要求する送信要求をキャッシュサーバ４０に行う（ステップＳ９）。キャッシュサーバ４０の送受信部４１は、ステップＳ９の送信要求を制御部４２に渡す（ステップＳ１０）。制御部４２は制御データ格納領域４７から要求されたデータを読み込み（ステップＳ１１）、ステップＳ１１で読み込んだデータを送受信部４１に渡す（ステップＳ１２）。送受信部４１は、ステップＳ１２で渡されたデータをサブスクライバ２０に送信する（ステップＳ１３）。以上で処理は終了する。
【００５４】
（実施の形態による作用効果）
以上の実施の形態によれば、キャッシュサーバ４０の送受信部４１はパブリッシャ１０から送信されるデータを受信し、制御データ格納領域４７に記憶する。また、キャッシュサーバ４０はサブスクライバ２０のデータの送信要求に基づいてサブスクライバ２０に要求されたデータを送信する。従って、サブスクライバ２０はパブリッシャ１０の送信するデータの受信に失敗した場合、該受信に失敗したデータの送信要求をキャッシュサーバ４０に対して行うことで、受信に失敗したデータの回復動作を行うことができる。よって、冗長なフィールドバス通信システムを構築でき、フィールドバス通信システムにおけるデータの送受信の確実性が大幅に向上する。つまり、サブスクライバの処理におけるデータの信頼性すなわちフィールドバス通信システムの信頼性が大幅に向上する。さらに、データの回復動作において、パブリッシャ１０に処理負荷が生じることがない。従って、各パブリッシャにデータの回復動作のための構成を持たせる必要がなく、低コストで信頼性のフィールドバス通信システムを構築できる。
【００５５】
さらに、パブリッシャ１０の送信データにはシーケンス番号が付加されている。これによって、上述のようにサブスクライバ２０は受信履歴管理を行える。サブスクライバ２０は、送信要求データにシーケンス番号を付加することで、キャッシュサーバ４０に要求するデータをより具体的にすることができる。また要求されたデータをシーケンス番号により特定できる。よって、サブスクライバはより的確にデータの回復動作を行うことができ、キャッシュサーバ４０もこれに応じた動作を行える。
【００５６】
さらに、制御部４２によってパブリッシャ１０のアドレスとセッション識別子との対応付けが行われる。これによって、サブスクライバ２０は要求するデータの送信元であるパブリッシャを指定した送信要求を行える。キャッシュサーバ４０は、パブリッシャ１０から受信、格納したデータについてセッション識別子毎に管理できる。加えて、送信要求データがどのパブリッシャ１０のデータに対する要求であるのかを判別できる。よって、サブスクライバはより的確にデータの回復動作を行うことができ、キャッシュサーバ４０もこれに応じた動作を行える。
【００５７】
さらに、よってパブリッシャ１０がデータ送信時に指定するポート番号は、制御部４２によってセッション識別子と対応付けられる。これによって、サブスクライバ２０は要求するデータの種類を指定した送信要求を行える。キャッシュサーバ４０は、パブリッシャ１０から受信、格納したデータの種類別に管理できる。加えて、送信要求データがどの種類のデータに対する要求であるのかを判別できる。よって、サブスクライバはより的確にデータの回復動作を行うことができ、キャッシュサーバ４０もこれに応じた動作を行える。
【００５８】
さらに、制御部４２によってパブリッシャ１０と該パブリッシャのデータを受信するサブスクライバ２０との対応付けが行われる。これによって、サブスクライバ２０及びキャッシュサーバ４０は、パブリッシャ１０の送信するデータのうち受信するデータを限定できる。これによって、フィールドバス通信システムの構築をより柔軟に行える。
例えば、複数のパブリッシャ１０と、複数のサブスクライバ２０及び／又はキャッシュサーバ４０を複数有するフィールドバス通信システムにおいて、各サブスクライバ及び／又はキャッシュサーバごとに対応付けするパブリッシャ１０を別個にすることで、サブスクライバ及びキャッシュサーバの負荷を軽減することができる。
一方、ひとつのパブリッシャ１０に対して複数のキャッシュサーバ４０を対応付けすることで、より冗長なフィールドバス通信システムを構築できる。
【００５９】
さらに、サブスクライバ２０の処理部２２は、シーケンス番号の管理に基づいてパブリッシャ１０から送信されたデータの受信の成否を判定し、受信に失敗したデータがあった場合には自動的にキャッシュサーバ４０に対して送信要求を行う。つまり、サブスクライバ２０は自動的にデータの回復動作を行う。これによって、人の操作を要せずデータの送受信の確実性すなわちサブスクライバ２０による処理の信頼性を大幅に向上させることができる。
【００６０】
さらに、上述の実施の形態ではパブリッシャ１０からサブスクライバ２０及びキャッシュサーバ４０へのデータ送信はマルチキャストによるので、パブリッシャ１０の処理負荷はサブスクライバ２０及びサーバ４０の数の大小や増減に左右されない。従って、サブスクライバ２０やキャッシュサーバ４０の性能や数に応じてパブリッシャ１０に追加の構成を設けるといった必要が生じず、フィールドバス通信システムの構成の追加、削除又は変更等が容易に行える。
【００６１】
なお、本発明の実施の形態は、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００６２】
例えば、フィールドバス通信を行うための接続方法はインターネットプロトコルに限定されるものではなく、各機器間の相互通信が可能であればよい。このとき、パブリッシャのうち計測器に類するものとサブスクライバ及びキャッシュサーバとの通信は、少なくとも計測器からサブスクライバ及びキャッシュサーバに対してデータ送信が行えればよい。パブリッシャのうち操作端に類するものとサブスクライバ及びキャッシュサーバとの通信は、少なくともサブスクライバ及びキャッシュサーバから計測器に対してデータ送信が行えればよい。
【００６３】
また、パブリッシャはシーケンス番号付加部を有さなくてもよい。その場合、例えばサブスクライバ及びキャッシュサーバが定期的にデータの受信が行われているかを監視することでデータの送受信の正否を判断する等によってデータの受信履歴を管理する方法が挙げられる。
【００６４】
また、サブスクライバの送信要求データをあらかじめ定められたアドレス宛に送信することでセッション識別子に代えてもよい。例えば、サブスクライバは要求するデータのセッション識別子ごとに異なるアドレス宛の送信要求データをマルチキャストで送信する。該アドレス宛の送信要求を受信したキャッシュサーバは、該アドレスに対応するセッション識別子のデータをサブスクライバに送信する。この場合、セッション識別子毎に異なるキャッシュサーバを用いるようにしてもよいし、一つのキャッシュサーバで複数のアドレスのデータを受信可能とし、アドレスに対応するデータをサブスクライバに送信するようにしてもよい。
【００６５】
また、上述の実施の形態ではパブリッシャ１０からサブスクライバ２０及びキャッシュサーバ４０へのデータ送信はマルチキャスト、その他のデータ送信はユニキャストによるが、パブリッシャからのデータの送受信が行われれば送信の方式は限定されない。例えばフィールドバス通信システムが複数のキャッシュサーバを有する場合、サブスクライバは送信要求を複数のキャッシュサーバにエニーキャスト（anycast）又はマルチキャストで送信してもよい。この場合、各キャッシュサーバに別個の問い合わせをする処理を省略でき、より効率的となる。加えて、いずれかのキャッシュサーバが要求されたデータを該サブスクライバに送信すればデータの回復動作を遂行でき、信頼性が一層高まる。無論、全ての送信をユニキャストで行ってもよい。
【００６６】
また、キャッシュサーバ４０に記憶されたデータに対する送信要求はサブスクライバ２０以外の他の機器によっても行える。当該他の機器として、例えば表示装置を介して管理者がフィールドバス通信システムに関する管理その他の処理を行うためのＨＭＩ（Human Machine Interface）機器等が挙げられる。
【００６７】
また、各パブリッシャは送信するデータにセッション識別子を付加する構成を有してもよい。この場合、サブスクライバ２０及びキャッシュサーバ４０は、ＩＰアドレスやポート番号等によるデータの識別を省略でき、セッション識別子に基づく一元的なデータの管理を行える。
【図面の簡単な説明】
【００６８】
【図１】本発明の実施の形態の一例によるフィールドバス通信システムを示す構成図である。
【図２】設定情報のエントリの構成の一例を示す説明図である。
【図３】制御データ格納領域に記憶されるセッション毎のデータの構成の一例を示す説明図である。
【図４】フィールドバス通信システムにおけるデータの流れを示すシーケンスチャートである。
【図５】従来のフィールドバス通信方式におけるパブリッシャとサブスクライバの関係を示すシーケンスチャートである。
【符号の説明】
【００６９】
１０  パブリッシャ
１１  送信部
１２  番号付与部
２０  サブスクライバ
２１  送受信部
２２  処理部
３０  コンフィギュレーションツール
４０  キャッシュサーバ
４１  送受信部
４２  制御部
４３  設定機能
４４  データ格納機能
４５  データ読込機能
４６  設定情報格納領域
４７  制御データ格納領域
【図１】
2009284119.tif 000003
【図２】
2009284119.tif 000004
【図３】
2009284119.tif 000005
【図４】
2009284119.tif 000006
【図５】
2009284119.tif 000007