(57)【特許請求の範囲】
【請求項１】
複数のフィールド機器がＩＰネットワークを介して相互に接続されたフィールドネットワークシステムであって、
各フィールド機器は、
要求時間どおりにデータを送信できるか否か判定し、前記要求時間にデータを送信できない場合は機能ブロックの処理およびデータ送信に必要な処理時間情報を送信し、
他のフィールド機器から機能ブロックの処理およびデータ送信に必要な処理時間情報を受信すると、前記処理時間情報に基づいて自機の動作スケジュールを変更し要求時間を設定して他のフィールド機器にデータの送信を要求し、常に最新のデータを用いて動作することを特徴とするフィールドネットワークシステム。
【請求項２】
前記各フィールド機器は、
パケット通信を行う通信部と、
自機と接続している他のフィールド機器情報、前記機能ブロックの動作スケジュール情報、前記処理時間情報を記憶する記憶部と、
前記要求時間にデータの送信を要求する設定パケットを他のフィールド機器に送信し、前記処理時間情報を受信すると前記処理時間に基づき、処理時間経過後に機能ブロックの処理を行うように自機の動作スケジュールを変更し前記要求時間を再設定して前記処理時間情報の送信元フィールド機器に前記設定パケットを送信する演算制御部から構成されることを特徴とする
請求項１に記載のフィールドネットワークシステム。
【請求項３】
前記演算制御部は、
前記設定パケットを受信すると前記要求時間にデータを送信できるか否か判定し、前記要求時間にデータを送信できない場合は送信不可能の旨を通知するとともに前記処理時間情報を前記設定パケットの送信元フィールド機器に送信することを特徴とする
請求項２記載のフィールドネットワークシステム。
【請求項４】
前記演算制御部は、
前記設定パケットを受信すると前記要求時間にデータを送信できるか否か判定し、前記要求時間にデータを送信できる場合はＡＣＫパケットを送信し、機能ブロックの処理を実行して、得られたデータを前記設定パケットの送信元フィールド機器に送信することを特徴とする
請求項２もしくは請求項３記載のフィールドネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ(Internet Protocol)ネットワークを用いたフィールドネットワークシステムに関し、詳しくは、最適状態でプラントなどの被制御対象の運転を行うことを目的とした各フィールド機器における動作スケジュールの調整に関するものである。
【背景技術】
【０００２】
近年、インダストリアルオートメーションにおけるプロセス制御システムとして、フィードバック制御ループを構成する流量計や温度計などのセンサ、アクチュエータ、コントローラを含むフィールド機器をネットワークで接続し、フィールドネットワークシステムとして構築することが提案されている。
【０００３】
従来のフィールドネットワークシステムに関連する先行技術文献としては次のようなものがある。
【０００４】
【特許文献１】特開２００５−３３３１８９号公報
【０００５】
ところで、近年のフィールド機器を接続するネットワークとしては、一般にフィールドバスが使われつつある。フィールドバスでは、フィールド機器間で通信する各種制御信号は所定の遅延時間以内に確実に通信先に到達することが必要とされている。そこで、フィールドバスでは、ネットワークを伝達する制御信号の通信時間を個別にスケジュールすることにより、所定の時間を確保している。
【０００６】
図９は、従来のフィールドネットワークシステムの一例を示す構成ブロック図である。図９において、フィールド機器１〜３およびコンフィギュレータ４はプラントに設置されていて、フィールドバスＦＦ−Ｈ１などのネットワークＮＷ１００を介して相互に接続されている。
【０００７】
フィールド機器１〜３は、データを伝送する通信機能や、ＡＩ（アナログ信号入力）、ＡＯ（アナログ信号入出力）、ＰＩＤ演算（比例、積分、微分演算）などのフィールド機器固有の機能ブロックを実行する機能を有している。コンフィギュレータ４は、フィールド機器１〜３の動作スケジュールを設定するスケジュール設定機能と、これらスケジュール情報を伝送する通信機能を有している。
【０００８】
データ通信ＤＦ１００はコンフィギュレータ４がフィールド機器１にスケジュール情報を送信する流れを示し、データ通信ＤＦ１０１はコンフィギュレータ４がフィールド機器２にスケジュール情報を送信する流れを示し、データ通信ＤＦ１０２はコンフィギュレータ４がフィールド機器３にスケジュール情報を送信する流れを示し、データ通信ＤＦ１０３はフィールド機器１が機能ブロックの出力データをフィールド機器２に送信する流れを示し、データ通信ＤＦ１０４はフィールド機器２が機能ブロックの出力データをフィールド機器３に送信する流れを示している。
【０００９】
ここで、フィールド機器１は機能ブロックＡＩ、フィールド機器２は機能ブロックＰＩＤ、フィールド機器３は機能ブロックＡＯをそれぞれあらかじめ定められたスケジュールに基づいて実行するものであって、フィールド機器１〜３はたとえば図１０のようにフィードバック制御ループを構成する。
【００１０】
図１０において、フィールド機器１は機能ブロックＡＩの出力（たとえば測定値などのアナログデータなど）をフィールド機器２の機能ブロックＰＩＤに伝送し、フィールド機器２は機能ブロックＰＩＤの出力（たとえばＡＩの出力があらかじめ定められた目標値に収束するように演算した演算結果）をフィールド機器３の機能ブロックＡＯに伝送し、フィールド機器３は機能ブロックＡＯの出力をフィールド機器２の機能ブロックＰＩＤに伝送する。フィールド機器２は、フィールド機器１および３の出力データに基づいて、あらかじめ定められた目標値に収束するようにＰＩＤ演算を行う。
【００１１】
図１１は図９に示すフィールドネットワークシステムの動作フロー図、図１２は動作スケジュールの説明図である。
【００１２】
まず、図１１のステップＳ１０１において、コンフィギュレータ４は、フィールド機器１〜３の機能ブロックの動作スケジュールを設定するための「動作スケジュール情報」を生成し、この動作スケジュール情報をたとえば図９のデータ通信ＤＦ１００〜１０２の流れに示すようにフィールド機器１〜３に送信する。
【００１３】
ステップＳ１０２において、フィールド機器１〜３はコンフィギュレータ４から受信した動作スケジュール情報を解析して記憶し、機能ブロックＡＩ、ＰＩＤ、ＡＯの動作スケジュールをそれぞれ設定する。
【００１４】
図１２において、横軸は時間軸を示している。フィールド機器１の機能ブロックＡＩの実行時間は「Ｔ１〜Ｔ２」、フィールド機器２の機能ブロックＰＩＤの実行時間は「Ｔ３〜Ｔ４」、フィールド機器３の機能ブロックＡＯの実行時間は「Ｔ５〜Ｔ６」として設定される。
【００１５】
フィールド機器１からフィールド機器２へデータを伝送する期間は「Ｔ２〜Ｔ３」、フィールド機器２からフィールド機器３へデータを伝送する期間は「Ｔ４〜Ｔ５」、フィールド機器３からフィールド機器２へデータを伝送する期間は「Ｔ６〜Ｔ７」として、コンフィギュレータ４によって設定される。
【００１６】
ステップＳ１０３において、フィールド機器１はコンフィギュレータ４によって設定された実行時間「Ｔ１〜Ｔ２」内で機能ブロックＡＩを実行し、図９のデータ通信ＤＦ１０３の流れに示すように「Ｔ２〜Ｔ３」内で機能ブロックＡＩの出力データをフィールド機器２に送信する。
【００１７】
ステップＳ１０４において、フィールド機器２はコンフィギュレータ４によって設定された実行時間「Ｔ３〜Ｔ４」内で、フィールド機器１から受信した機能ブロックＡＩの出力データに基づいて機能ブロックＰＩＤを実行してＰＩＤ演算を行う。
【００１８】
ステップＳ１０５において、フィールド機器２は図９のデータ通信ＤＦ１０４の流れに示すように「Ｔ４〜Ｔ５」内でＰＩＤ演算の演算結果データをフィールド機器３に送信する。
【００１９】
ステップＳ１０６において、フィールド機器３はコンフィギュレータ４によって設定された実行時間「Ｔ５〜Ｔ６」内で機能ブロックＡＯを実行し、機能ブロックＡＯの出力データを実行時間「Ｔ６〜Ｔ７」内でフィールド機器２に送信する。
【００２０】
このように、各フィールド機器１〜３が動作スケジュールに従って各機能ブロックの動作を実行することにより、フィールド機器２はフィールド機器１からの機能ブロックＡＩの出力があらかじめ設定されている目標値に収束するようにＰＩＤ演算を行い、このＰＩＤ演算結果に基づいてフィールド機器３を制御するので、プラントを最適に運転できるとともに、制御ループを計画通りに動作させることができる。
【００２１】
ところで、上述のようなフィールドネットワークとして、現在最も普及しているＩＰネットワークを用いることも検討されている。
【００２２】
ところが、ＩＰネットワークは、各機器間の通信時間はあらかじめ確保されているわけではなく、ネットワークの空き待ちや再送が発生する可能性があり、常に不規則な伝播遅延が発生するおそれがある。
【００２３】
また、ＩＰネットワークは、各機器が共通のネットワークを共用してパケットを交換することを目的とするものであって、規格上遅延に対する保証はない。
【００２４】
また、ＩＰネットワークを用いたフィールドネットワークでは、ネットワークや中継機器の負荷が高くなると伝播遅延が発生するなど通信時間が変化しやすく、フィールド機器１からのＡＩ出力がフィールド機器２にスケジュール通りに到達しない場合がある。
【００２５】
そこで、フィールド機器２がフィールド機器１からの出力を永遠に待ち続けて制御ループが動作しなくなることを避けるため、フィールド機器１からのＡＩの出力データが所定の時間内にフィールド機器２に到達しなければ、フィールド機器２は過去のデータを基にＰＩＤ演算を行うことが考えられる。
【発明の開示】
【発明が解決しようとする課題】
【００２６】
しかしながら、フィールド機器２が過去のデータを基にＰＩＤ演算を行うと、最新のデータを用いたＰＩＤ演算ができないことになり、最適状態でのプラント運転が行えないという問題点があった。
【００２７】
本発明は上述の問題点を解決するものであり、その目的は、フィールド機器が常に最新のデータを用いて最適状態でプラントなどの被制御対象の運転を行うことができるフィールドネットワークシステムを実現することにある。
【課題を解決するための手段】
【００２８】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
複数のフィールド機器がＩＰネットワークを介して相互に接続されたフィールドネットワークシステムであって、
各フィールド機器は、
要求時間どおりにデータを送信できるか否か判定し、前記要求時間にデータを送信できない場合は機能ブロックの処理およびデータ送信に必要な処理時間情報を送信し、
他のフィールド機器から機能ブロックの処理およびデータ送信に必要な処理時間情報を受信すると、前記処理時間情報に基づいて自機の動作スケジュールを変更し要求時間を設定して他のフィールド機器にデータの送信を要求し、常に最新のデータを用いて動作することを特徴とする。
【００３１】
請求項２記載の発明は、請求項１記載のフィールドネットワークシステムにおいて、
前記各フィールド機器は、
パケット通信を行う通信部と、
自機と接続している他のフィールド機器情報、前記機能ブロックの動作スケジュール情報、前記処理時間情報を記憶する記憶部と、
前記要求時間にデータの送信を要求する設定パケットを他のフィールド機器に送信し、前記処理時間情報を受信すると前記処理時間に基づき、処理時間経過後に機能ブロックの処理を行うように自機の動作スケジュールを変更し前記要求時間を再設定して前記処理時間情報の送信元フィールド機器に前記設定パケットを送信する演算制御部から構成されることを特徴とする。
【００３２】
請求項３記載の発明は、請求項２記載のフィールドネットワークシステムにおいて、
前記演算制御部は、前記設定パケットを受信すると前記要求時間にデータを送信できるか否か判定し、前記要求時間にデータを送信できない場合は送信不可能の旨を通知するとともに前記処理時間情報を前記設定パケットの送信元フィールド機器に送信することを特徴とする。
【００３３】
請求項４記載の発明は、請求項２もしくは請求項３記載のフィールドネットワークシステムにおいて、
前記演算制御部は、前記設定パケットを受信すると前記要求時間にデータを送信できるか否か判定し、前記要求時間にデータを送信できる場合はＡＣＫパケットを送信し、機能ブロックの処理を実行して、得られたデータを前記設定パケットの送信元フィールド機器に送信することを特徴とする。
【発明の効果】
【００３５】
本発明によれば、各フィールド機器は、要求時間どおりにデータを送信できるか否か判定し、要求時間どおりにデータを送信できない場合は機能ブロックの処理およびデータ送信に必要な処理時間情報を送信することにより、各フィールド機器は常に最新のデータを用いて動作でき、最適状態でプラントなどの被制御対象の運転を行うことができる。
【００３６】
また、各フィールド機器は、他のフィールド機器から処理時間情報を受信すると、処理時間情報に基づき自機の動作スケジュールを変更し要求時間を再設定して他のフィールド機器にデータの送信を要求することにより、各フィールド機器は常に最新のデータを用いて動作でき、最適状態でプラントなどの被制御対象の運転を行うことができる。
【００３７】
そして、制御ループの最後の処理を行うフィールド機器が送信するループが完了した旨を通知する完了メッセージを受信する完了メッセージ受信機を設けることにより、完了メッセージ受信機は各制御ループからの完了メッセージに基づき各フィールド機器の動作スケジュールを調整するので、各フィールド機器がスケジュール調整を主導する必要がなくなり、単純な機能のみの実装ですむという効果が得られる。
【発明を実施するための最良の形態】
【００３８】
図１は、本発明に係るＩＰネットワークを用いたフィールドネットワークシステムの一実施例を示す構成ブロック図である。図１において、フィールド機器１１〜１３はＩＰを用いてパケットを伝送する通信機能、「ＡＩ」、「ＡＯ」、「ＰＩＤ」などのフィールド機器固有の機能ブロックを実行する機能を有している。
【００３９】
図２は図１のフィールド機器１１の具体例を示す構成ブロック図であり、通信部１１１は演算制御部１１２に接続され、演算制御部１１２は記憶部１１３に接続されている。通信部１１１は主にフィールド機器１２および１３との間で通信を行う。演算制御部１１２は各部の動作を制御するものであり、たとえばＣＰＵ（Central Processing Unit）が用いられる。記憶部１１３はＯＳ（Operating System）やフィールド機器として動作させるためのプログラム、図示しないコンフィギュレータなどによって設定された機能ブロックを実行するための動作スケジュール情報、各種情報などを格納する。なお、フィールド機器１２および１３もフィールド機器１１と同様に構成されている。
【００４０】
図３は図２の演算制御部１１２の機能ブロック例図である。パケット送受部１１２１は主にフィールド機器１２および１３からのパケットなどの送受信を行う。スケジュール管理部１１２２は、パケット送受部１１２１が受信したパケットに含まれている設定情報に基づいて、所定の設定時間経過後もしくは許容所要時間内などの要求時間に応じて機能ブロックの出力を送信できるかどうかを判定し、設定時間内に機能ブロックの出力を送信できないと判定した場合はスケジュール情報格納部１１２５に格納されている動作スケジュールを調整する。
【００４１】
スケジュール実行部１１２３は、スケジュール情報に基づいて機能ブロック実行部１１２４に機能ブロックの処理を実行させる。機能ブロック実行部１１２４は、機能ブロック（たとえば機能ブロックＡＩ）を実行する。スケジュール情報格納部１１２５は、あらかじめ設定された機能ブロックを実行する動作スケジュール情報や設定情報を格納する。データ格納部１１２６は、主にフィールド機器１２、１３から受信した各機能ブロックの出力データや機能ブロック実行部１１２４の出力データを格納する。
【００４２】
定義情報格納部１１２７は、能力定義ファイル１１２８と通信定義ファイル１１２９を格納している。能力定義ファイル１１２８には、機能ブロック実行部１１２４が機能ブロックを実行するのに必要とする処理時間などの処理能力に関する「処理能力情報」などが格納されている。通信定義ファイル１１２９には、自機と通信を行うフィールド機器のＩＰアドレスなどの「ネットワーク情報」などが格納されている。
【００４３】
図４はフィールドネットワークシステムのパケット通信の流れを示す説明図である。パケット通信ＤＦ２０１はフィールド機器１２がフィールド機器１１に所定の設定時間経過後もしくは許容所要時間内などの要求時間に応じて送信するように依頼するための「設定情報」を含むパケット（以下、設定パケットという）を送信する流れを示し、パケット通信ＤＦ２００はフィールド機器１１がフィールド機器１２にＡＣＫ（Acknowledge）／ＮＡＣＫ（Negative Acknowledgement）パケットを送信する流れを示している。
【００４４】
パケット通信ＤＦ２０２はフィールド機器１２がフィールド機器１３に設定パケットを送信する流れを示し、パケット通信ＤＦ２０３はフィールド機器１３がフィールド機器１２にＡＣＫ／ＮＡＣＫパケットを送信する流れを示している。
【００４５】
図５は図１に示すフィールドネットワークシステムの動作説明図、図６は動作スケジュールの説明図である。
【００４６】
図５のシーケンスＳＱ２０１において、フィールド機器１２の演算制御部は記憶部に記憶されているＯＳなどを起動し、ＯＳ上でプログラムを読み出して実行しフィールド機器１２全体を制御するとともに、所定の設定時間（たとえば図６の「ＴＴ１００」）経過後に機能ブロックの出力データの送信を要求する設定パケットを生成し、あらかじめ記憶しているネットワーク情報に基づき通信部を制御してフィールド機器１１に送信する。
【００４７】
フィールド機器１２は、たとえば図４のパケット通信ＤＦ２０１の流れに示すように設定パケットをフィールド機器１１に送信する。
【００４８】
なお、フィールド機器１２はフィールド機器１１およびフィールド機器１２間の通信時間やネットワークの負荷、中継機器の負荷、通信品質などの各情報を考慮して許容所要時間（たとえば所要時間「ＴＴ１００」）を設定し、設定パケットを生成し、通信部を制御してフィールド機器１１に送信するものであってもよい。
【００４９】
また、フィールド機器１２の演算制御部が記憶部に格納されたプログラムを読み出し実行して各部を制御する動作については、他のフィールド機器についても同様であるので以下省略する。
【００５０】
ところで、図６（Ａ）の動作スケジュールの説明図では、フィールド機器１１の機能ブロックＡＩの実行時間は「Ｔ１〜Ｔ２」、フィールド機器１２の機能ブロックＰＩＤの実行時間は「Ｔ３〜Ｔ４」、フィールド機器１３の機能ブロックＡＯの実行時間は「Ｔ５〜Ｔ６」として設定されていることが示されている。
【００５１】
シーケンスＳＱ２０２において、フィールド機器１１の演算制御部１１２のスケジュール管理部１１２２は、受信した設定パケットに基づいて、設定パケットに設定された設定時間（たとえば図６の「ＴＴ１００」）経過後に機能ブロックＡＩの出力データを取得し送信できるかどうか判定する。
【００５２】
スケジュール管理部１１２２が設定時間経過後に機能ブロックＡＩの出力データを送信できると判定する場合は、シーケンスＳＱ２０３においてフィールド機器１１の演算制御部１１２のパケット送受部１１２１はフィールド機器１２にＡＣＫパケットを送信する。
【００５３】
具体的には、スケジュール管理部１１２２は、定義情報格納部１１２７の能力定義ファイル１１２８に格納されている機能ブロックＡＩを実行するのに必要とする「処理時間（たとえば「Ｐ（ＡＩ）」）」と設定時間「ＴＴ１００」とを比較する。
【００５４】
そしてスケジュール管理部１１２２は、処理時間「Ｐ（ＡＩ）」が設定時間「ＴＴ１００」よりも短い場合は設定時間「ＴＴ１００」後に機能ブロックＡＩの出力データを送信できるものと判定し、シーケンスＳＱ２０３においてフィールド機器１１の演算制御部１１２のパケット送受部１１２１はフィールド機器１２にＡＣＫパケットを送信する。
【００５５】
このとき、フィールド機器１１のスケジュール管理部１１２２は、設定時間（たとえば「ＴＴ１００」）経過後に機能ブロックＡＩの出力データの送信を指示するスケジュール情報をスケジュール情報格納部１１２５に記憶する。
【００５６】
また、フィールド機器１１の機能ブロック実行部１１２４は、定められたスケジュールに基づいて機能ブロックＡＩの処理を実行し、得られた出力データをデータ格納部１１２６に記憶する。
【００５７】
シーケンスＳＱ２０４において、フィールド機器１１は設定時間（たとえば図６の「ＴＴ１００」）経過後に機能ブロックＡＩの出力データを含むパケットを生成し、フィールド機器１２に送信する。
【００５８】
具体的には、フィールド機器１１の演算制御部１１２のスケジュール実行部１１２３はスケジュール情報格納部１１２５に記憶されているスケジュール情報に基づいて、設定時間「ＴＴ１００」経過後にパケット送受部１１２１を制御して機能ブロックＡＩの出力データを含むパケットを生成し、フィールド機器１２に送信する。
【００５９】
このように、フィールド機器１２は設定時間どおりにフィールド機器１１から機能ブロックＡＩの出力データを受信できるので、最新のデータを用いて機能ブロックＰＩＤの処理を実行できる。
【００６０】
シーケンスＳＱ２０５において、フィールド機器１２はフィールド機器１１からの出力データに基づいて機能ブロックＰＩＤの処理を実行してＰＩＤ演算を行い、得られた出力データをデータ格納部に記憶する。
【００６１】
具体的には、フィールド機器１２のスケジュール実行部は、あらかじめ設定されたスケジュールに基づいて機能ブロック実行部を制御し、機能ブロックＡＩの出力データを基に機能ブロックＰＩＤの処理を実行してＰＩＤ演算結果データをデータ格納部に記憶する。
【００６２】
シーケンスＳＱ２０６において、フィールド機器１２は、機能ブロックＰＩＤの処理を実行して得られたＰＩＤ演算結果を含むパケットをフィールド機器１３に送信するとともに、機能ブロックＡＯの処理を完了するための許容所要時間を設定した設定パケットをフィールド機器１３に送信する。
【００６３】
具体的には、フィールド機器１２のスケジュール実行部は、パケット送受部を制御してデータ格納部に記憶されたＰＩＤ演算結果を含むパケットを生成し、通信部を制御してこのパケットをフィールド機器１３に送信する。また、フィールド機器１２のスケジュール実行部は、パケット送受部を制御して許容所要時間（たとえば所要時間「ＴＴ２００」）を設定した設定パケットを生成し、通信部を制御してフィールド機器１３に送信する。
【００６４】
なお、フィールド機器１２はフィールド機器１１およびフィールド機器１２間の通信時間やネットワークの負荷、中継機器の負荷、通信品質などの各情報を考慮して許容所要時間（たとえば所要時間「ＴＴ２００」）を設定し、設定パケットを生成し、通信部を制御してフィールド機器１３に送信するものであってもよい。また、フィールド機器１２は、出力データを所定の設定時間経過後に送信するように要求する設定パケットをフィールド機器１３に送信するものであってもよい。
【００６５】
シーケンスＳＱ２０７において、フィールド機器１３の演算制御部のスケジュール管理部は受信した設定パケットに基づいて、許容所要時間内に機能ブロックＡＯの処理を完了できるかどうか判定する。許容所要時間内（たとえば「ＴＴ２００」）に機能ブロックＡＯの処理を完了できると判定する場合は、シーケンスＳＱ２０８においてフィールド機器１３の演算制御部のパケット送受部はフィールド機器１２にＡＣＫパケットを送信する。
【００６６】
このとき、フィールド機器１３のスケジュール管理部は、許容所要時間内に機能ブロックＡＯの処理を完了しフィールド機器１３に出力データの送信を指示するスケジュール情報をスケジュール情報格納部に記憶する。
【００６７】
また、フィールド機器１３の演算制御部の機能ブロック実行部は、定められたスケジュールに基づいて機能ブロックＡＯの処理を実行し、得られたデータをデータ格納部に記憶する。
【００６８】
シーケンスＳＱ２０９において、フィールド機器１３は許容所要時間内に機能ブロックＡＯの出力データを含むパケットをフィールド機器１２に送信する。
【００６９】
具体的には、フィールド機器１３のスケジュール実行部はスケジュール情報格納部のスケジュール情報に基づき、所要時間「ＴＴ２００」内に機能ブロックＡＯの処理を終えパケット送受部を制御して機能ブロックＡＯの出力データを含むパケットを生成し、このパケットをフィールド機器１２に送信する。
【００７０】
このように、フィールド機器１２はフィールド機器１３から許容所要時間内に機能ブロックＡＯの出力データを受信できるので、最新のデータを用いて機能ブロックＰＩＤの処理を実行することができる。
【００７１】
一方、シーケンスＳＱ２０２において、フィールド機器１１のスケジュール管理部１１２２は、設定時間経過後に機能ブロックＡＩの出力データを送信できない、言い換えればフィールド機器１２に出力データが届かないと判定する場合、シーケンスＳＱ２０３においてフィールド機器１１のパケット送受部１１２１はフィールド機器１２にＮＡＣＫパケットを送信する（言い換えれば送信不可能である旨を通知する）とともに、機能ブロックＡＩの処理にかかる時間（以下、処理時間という（たとえば「Ｐ（ＡＩ）」））などの「処理時間情報」を送信する。
【００７２】
フィールド機器１２は、フィールド機器１１からＮＡＣＫパケットを受信した場合、設定時間（たとえば図６の「ＴＴ１００」）経過後にフィールド機器１１からの出力データが到達しないことを検知する。そして、フィールド機器１２は、図６（Ｂ）の動作スケジュールのようにスケジュールを変更するとともに、フィールド機器１１からの「処理時間情報」に基づいて設定情報の設定時間を機能ブロックＡＩの出力データを受信できるような時間（たとえば図６の「ＴＴ１０１」）に再設定し、シーケンスＳＱ２０１に戻る。
【００７３】
他方、シーケンスＳＱ２０７において、フィールド機器１３のスケジュール管理部が、許容所要時間内に機能ブロックＡＯの処理を完了できないと判定する場合、シーケンスＳＱ２０８においてフィールド機器１３のパケット送受部はフィールド機器１２にＮＡＣＫパケットを送信する（言い換えれば送信不可能である旨を通知する）とともに、機能ブロックＡＯの処理時間（たとえば処理時間「Ｐ（ＡＯ）」）などの「処理時間情報」を送信する。
【００７４】
フィールド機器１２は、フィールド機器１３からＮＡＣＫパケットを受信した場合、許容所要時間（たとえば所要時間「ＴＴ２００」）内にフィールド機器１１からの出力データが到達しないことを検知する。そして、フィールド機器１２はフィールド機器１１からのＮＡＣＫパケットおよび「処理時間情報」に基づき、動作スケジュールを変更するとともに、設定情報の許容所要間を機能ブロックＡＯの出力データを受信できるような時間（たとえば所要時間「ＴＴ２０１」）に再設定し、シーケンスＳＱ２０６に戻る。
【００７５】
これらのように、フィールド機器１２はスケジュールを変更するとともに設定情報を再設定して送信することにより、フィールド機器１１もしくは１３から設定時間どおりに機能ブロックＡＩやＡＯの出力データを受信できるので、最新のデータを用いて機能ブロックＰＩＤの処理を実行することができる。
【００７６】
すなわち、各フィールド機器は、他のフィールド機器からの設定情報に基づき、設定情報に設定された要求時間どおりに各機能ブロックの出力データを送信できるかどうかを判定し、要求時間どおりに各機能ブロックの出力データを送信できない場合は他のフィールド機器にＮＡＣＫパケットおよび処理時間情報を送信し、他のフィールド機器からＮＡＣＫパケットを受信した場合はＮＡＣＫパケットおよび処理時間情報に基づき動作スケジュールを変更するとともに設定情報を各機能ブロックの出力データを受信できるように再設定して再送信することにより、常に最新のデータを用いて動作することができる。
【００７７】
なお、上記実施例では、フィールド機器１１の機能ブロックＡＩがフィールド機器機１２の機能ブロックＰＩＤに出力データを送信する制御ループを示しているが、他のフィールド機器の機能ブロックの出力データに基づいて機能ブロックの処理を行うような各フィールド機器によって構成される制御ループに適用されるものであってもよい。
【００７８】
図７はフィールドネットワークのその他の例を示す構成ブロック図である。たとえば図７に示すように、フィールド機器１１が他のフィールド機器（以下、フィールド機器Ｘ）における機能ブロックＡＩ（以下、機能ブロックＡＩ（２）という）の出力データに基づいて機能ブロックＡＩの処理を行うような場合にも適用できる。
【００７９】
この場合、フィールド機器１１は、フィールド機器１２から受信した設定情報の設定時間「ＴＴ１００」に基づき、機能ブロックＡＩ（２）の出力データを設定時間「ＴＴ５００」経過後に送信を要求するような設定パケットをフィールド機器Ｘに送信する。このとき、設定時間「ＴＴ５００」は、フィールド機器１１の機能ブロックＡＩの処理にかかる時間「Ｐ（ＡＩ）」だけ差し引いた時間「ＴＴ１００―Ｐ（ＡＩ）」以下となる。
【００８０】
なお、フィールド機器１１および１２は、各フィールド機器間の通信時間やネットワークの負荷、中継機器の負荷、通信品質などの各情報を考慮して要求時間を設定して設定パケットを送信する場合は、この設定時間「ＴＴ５００」は、フィールド機器１１の機能ブロックＡＩの処理にかかる時間「Ｐ（ＡＩ）」とフィールド機器１１とフィールド機器Ｘ間の通信時間（たとえば「ＴＣ１００」）とを差し引いた時間「ＴＴ１００−Ｐ（ＡＩ）―ＴＣ１００」以下となるものであってもよい。
【００８１】
そして、フィールド機器Ｘは、設定情報に基づいて設定情報に設定されている設定時間「ＴＴ５００」経過後に機能ブロックＡＩ（２）の出力データを送信できるかどうか判定し、設定時間経過後に機能ブロックＡＩ（２）の出力データを送信できると判定する場合はＡＣＫパケットをフィールド機器１２に送信する。
【００８２】
また、フィールド機器Ｘは、設定時間経過後に機能ブロックＡＩ（２）の出力データを送信できないと判定することにより、ＮＡＣＫパケットを送信する（もしくは送信不可能の旨を通知する）とともに機能ブロックＡＩ（２）の処理時間「Ｐ（ＡＩ２）」を含む処理時間情報をフィールド機器１２に送信する。
【００８３】
このように、各フィールド機器が他のフィールド機器における機能ブロックの出力データに基づいて機能ブロックの処理を行う制御ループにおいても、各フィールド機器は、他のフィールド機器からの設定情報に基づいて要求時間どおりに各機能ブロックの出力データを送信できるかどうかを判定し、要求時間どおりに各機能ブロックの出力データを送信できない場合は他のフィールド機器にＮＡＣＫパケットおよび処理時間情報を送信し、他のフィールド機器からＮＡＣＫパケットを受信した場合はＮＡＣＫパケットおよび処理時間情報に基づき動作スケジュールを変更するとともに設定情報を各機能ブロックの出力データを受信できるように再設定して再送信することにより、常に最新のデータを用いて動作でき、最適状態でプラントなどの被制御対象の運転を行うことができる。
【００８４】
また、上記実施例では、フィールド機器１１〜１３が制御ループを構成しているが、複数のフィールド機器が複数の制御ループを構成しているものであってもよい。
【００８５】
また、ＰＩＤ制御を実施するフィールド機器１２が、設定時間もしくは許容所要時間などの要求時間を設定して設定パケットをフィールド機器１１もしくは１３に送信するとしているが、特にこれに限定するものではなく、ＰＩＤ制御を実施するフィールド機器１２はフィールド機器間の通信時間やネットワークの負荷、中継機器の負荷、通信品質などの各情報も考慮して設定時間後もしくは許容所要時間内などの要求時間を設定して設定パケットを送信するものであってもよい。
【００８６】
また、上記実施例では、フィールド機器１１もしくは１３は、あらかじめ能力定義ファイルに格納されている機能ブロックＡＩもしくはＡＯの「処理時間」と設定パケットに含まれる設定時間もしくは許容所要時間などの要求時間とを比較して、設定時間後もしくは許容所要時間内に機能ブロックの処理を実行できるかどうかを判定するとしているが、各フィールド機器は、ネットワークの負荷、中継機器の負荷、通信品質などの各情報も考慮して設定時間後もしくは許容所要時間内などの要求時間どおりに機能ブロックの処理を実行できるかどうかを判定するものであってもよい。
【００８７】
また、上記実施例では、フィールド機器１２が所定の設定時間後もしくは許容所要時間内などの要求時間にデータの送信を要求する設定パケットをフィールド機器１１もしくは１３に送信しているが、特にこれに限定するものではなく、フィールド機器１２は所定の設定時間もしくは許容所要時間を「０（時間）」と設定した「初期化メッセージ」を送信し、フィールド機器１１もしくは１３からＮＡＣＫパケットを送信する（もしくは送信不可能の旨を通知する）とともに機能ブロックＡＩもしくはＡＯの処理時間情報を受信することにより、フィールド機器１１もしくは１３の機能ブロックＡＩもしくはＡＯの処理に必要な処理時間を把握するものであってもよい。
【００８８】
このため、フィールド機器１２は、許容所要時間もしくは設定時間を「０（時間）」と設定して初期化メッセージを送信することにより、処理時間情報に基づき各フィールド機器の初期の動作スケジュールを作成することができる。
【００８９】
また、上記実施例では、機能ブロックＰＩＤの処理を行うフィールド機器１２が設定情報をフィールド機器１１もしくは１３に送信すると示しているが、制御ループの最後の処理を行うフィールド機器が「設定情報」を制御ループにおける前段階の処理を行うフィールド機器に送信し、各フィールド機器が順に一段階前の処理を行うフィールド機器に設定情報を送信することによって、制御ループを構成する各フィールド機器の動作スケジュールの調整を行うようにしてもよい。
【００９０】
この場合、各フィールド機器は、順に一段階前の処理を行うフィールド機器に設定パケットを送信するので、各フィールド機器のスケジュール調整を単純に行うことができる。
【００９１】
また、上記実施例では、フィールド機器１１もしくは１３は設定情報に基づいて機能ブロックＡＩもしくはＡＯの処理を行い、その出力データをフィールド機器１２に送信する構成を示しているが、特にこれに限定するものではなく、制御ループの最後の処理を行うフィールド機器がループが完了した旨を通知する「完了メッセージ」を送信し、この完了メッセージを受信する「完了メッセージ受信機」を設置するものであってもよい。
【００９２】
また、完了メッセージ受信機は、複数の制御ループの最後の処理を行うフィールド機器からそれぞれ完了メッセージを受信するものであってもよい。図８は完了メッセージ受信機を設置したフィールドネットワークシステムの構成ブロック図である。
【００９３】
図８において、フィールド機器１１〜１３は制御ループ１を構成し、フィールド機器１４〜１６は制御ループ２を構成している。完了メッセージ受信機１７はフィールド機器１２および１６に接続されている。
【００９４】
フィールド機器１２は制御ループ１の最後の処理を行い、フィールド機器１６は制御ループ２の最後の処理を行う。完了メッセージ受信機１７はあらかじめ各フィールド機器のスケジュール情報を記憶し、完了メッセージに基づいて制御ループの処理の完了を把握し動作スケジュールが守られているかどうかを判定する。
【００９５】
完了メッセージを設置したフィールドネットワークシステムの動作を説明する。なお、各フィールド機器における制御ループの処理およびスケジュール調整の動作は上述したものと同じであるので説明を省略する。
【００９６】
フィールド機器１２および１６は、制御ループ１および２の処理が完了した時点で、完了した旨を通知する「完了メッセージ」を完了メッセージ受信機に送信する。たとえば、各フィールド機器が上述のように設定情報に基づき機能ブロックの処理を行って制御ループの処理が一巡することにより、制御ループの最後の処理を行うフィールド機器が完了メッセージ受信機に送信する。
【００９７】
そして、完了メッセージ受信機は、受信した完了メッセージおよびあらかじめ記憶している各フィールド機器のスケジュール情報に基づいて、制御ループの処理の完了を把握するとともに、各フィールド機器の動作スケジュールが守られているか否かを判定する。
【００９８】
完了メッセージ受信機は、各フィールド機器の動作スケジュールが守られていないと判定すると、制御ループの最後の処理を行うフィールド機器にスケジュール調整を依頼するリクエストデータを送信する。
【００９９】
この場合、制御ループの最後の処理を行うフィールド機器は、リクエストデータを受信して「設定情報」を制御ループにおける一段階前の処理を行うフィールド機器に送信し、各フィールド機器が順に一段階前の処理を行うフィールド機器に設定情報を送信することにより制御ループを構成する全フィールド機器の動作スケジュールを調整する。
【０１００】
また、完了メッセージ受信機は、各フィールド機器の動作スケジュールが守られていないと判断したとき毎回スケジュール調整のためのリクエストデータを送信してもよいが、毎回行う必要はなく、動作スケジュールが守られずに制御処理に問題が発生するときにのみ調整するものでもよい。
【０１０１】
この結果、完了メッセージ受信機は各制御ループからの完了メッセージに基づき各フィールド機器の動作スケジュールを調整することにより、各フィールド機器がスケジュール調整を主導する必要がなくなり、単純な機能のみの実装ですむという効果がある。
【０１０２】
また、上記実施例では、フィールドネットワークシステムがインダストリアルオートメーションにおけるプラントの運転を支援する例を説明したが、たとえばファクトリーオートメーションにおける浄水場の制御システムや、ビルの空調・照明システム、ＦＦＨＳＥ（登録商標）に展開し、これらの被制御対象の運転を支援するものであっても構わない。
【０１０３】
たとえば、ビルオートメーションシステムにおいては、制御ループを構成するフィールド機器が設置されるネットワークが複雑である場合、ネットワークの負荷や中継機器の負荷状態などによって通信時間が変化しやすく、データの伝播遅延が発生することがある。      
【０１０４】
このようなシステムにも本発明を適用することにより、各フィールド機器は、他のフィールド機器からの設定情報に基づき、設定情報に設定された要求時間どおりに各機能ブロックの出力データを送信できない場合は他のフィールド機器にＮＡＣＫパケットおよび処理時間情報を送信し、他のフィールド機器からＮＡＣＫパケットを受信した場合はＮＡＣＫパケットおよび処理時間情報に基づき動作スケジュールを変更するとともに設定情報を各機能ブロックの出力データを受信できるように再設定して再送信することにより、常に最新のデータを用いて動作でき、最適状態で被制御対象の運転を行うことができる。
【図面の簡単な説明】
【０１０５】
【図１】フィールドネットワークシステムの一実施例を示す構成ブロック図である。
【図２】図１のフィールド機器１１の具体例を示す構成ブロック図である。
【図３】図２のフィールド機器を構成する演算制御部１１２の機能ブロック例図である。
【図４】フィールドネットワークシステムのパケット通信の流れを示す説明図である。
【図５】フィールドネットワークシステムの動作説明図である。
【図６】フィールドネットワークシステムの動作スケジュールの説明図である。
【図７】フィールドネットワークのその他の例を示す構成ブロック図である。
【図８】完了メッセージ受信機を設置したフィールドネットワークシステムの構成ブロック図である。
【図９】従来のフィールドネットワークシステムの一例を示す構成ブロック図である。
【図１０】フィールド機器１〜３の機能ブロックの関係を示す説明図である。
【図１１】フィールドネットワークシステムの動作のフロー図である。
【図１２】フィールドネットワークシステムの動作スケジュールを示す説明図である。
【符号の説明】
【０１０６】
１、２、３、１１、１２、１３、１４、１５、１６  フィールド機器
４  コンフィギュレータ
１７  完了メッセージ受信機
１１１  通信部
１１２  演算制御部
１１３  記憶部
１１２１  パケット送受部
１１２２  スケジュール管理部
１１２３  スケジュール実行部
１１２４  機能ブロック実行部
１１２５  スケジュール情報格納部
１１２６  データ格納部
１１２７  定義情報格納部
１１２８  能力定義ファイル
１１２９  通信定義ファイル
【図１】
0005077817.tif 000002
【図２】
0005077817.tif 000003
【図３】
0005077817.tif 000004
【図４】
0005077817.tif 000005
【図５】
0005077817.tif 000006
【図６】
0005077817.tif 000007
【図７】
0005077817.tif 000008
【図８】
0005077817.tif 000009
【図９】
0005077817.tif 000010
【図１０】
0005077817.tif 000011
【図１１】
0005077817.tif 000012
【図１２】
0005077817.tif 000013