(57)【特許請求の範囲】
【請求項１】
あらかじめ設定されたスケジュールで動作し制御ループを構成する複数のフィールド機器がネットワークを介してパケット通信を行うフィールド制御システムにおいて、
前記制御ループは、ネットワークを介して前記フィールド機器として接続されたセンサとコントローラとアクチュエータにより、前記コントローラが前記センサの測定値に基づいてあらかじめ定められた目標値に収束するように前記アクチュエータを制御するフィードバック制御ループとして構成され、
前記センサは、センサ機能、通信機能、フィードバック制御に関わるデータの送信時刻および受信時刻などのタイムスタンプを付加するタイムスタンプ機能を有し、前記コントローラに測定値を含むパケットを送信し
前記コントローラは、通信機能、タイムスタンプ機能および前記センサの測定値が所定の目標値に収束するように前記アクチュエータを操作制御する操作制御機能を有し、前記アクチュエータに制御値を含むパケットを送信し、
前記アクチュエータは、操作制御機能、通信機能およびタイムスタンプ機能を有し、前記コントローラにフィードバック情報を含むパケットを送信し、
さらに、前記ネットワークには、通信機能、スケジュール設定機能および各フィールド機器間の通信期間を測定し把握する通信期間把握機能を有するコンフィギュレータが接続され、
前記コンフィギュレータは、前記各フィールド機器のタイムスタンプが付加された測定結果パケットを収集し、前記タイムスタンプに基づいて前記各フィールド機器間における通信時間の少なくともいずれか一つを把握し、これら通信時間に応じて前記各フィールド機器の動作スケジュールを調整することを特徴とするフィールド制御システム。
【請求項２】
前記各フィールド機器は、
他のフィールド機器の少なくともいずれか一つに時間測定パケットを送信し、前記時間測定パケットの送信元フィールド機器の送信時刻および送信先フィールド機器の受信時刻を付加した前記測定結果パケットを前記コンフィギュレータに送信することを特徴とする
請求項１記載のフィールド制御システム。
【請求項３】
前記各フィールド機器は、
制御処理の遅延を検出した場合は、遅延通知パケットを前記コンフィギュレータに送信することを特徴とする
請求項１もしくは請求項２記載のフィールド制御システム。
【請求項４】
前記コンフィギュレータは前記遅延通知パケットに基づいて測定要求パケットを前記フィールド機器に送信し、前記フィールド機器は前記測定要求パケットに基づいて前記時間測定パケットを送信することを特徴とする
請求項３記載のフィールド制御システム。
【請求項５】
前記フィールド機器は、
パケット通信を行う通信部と、
前記各フィールド機器のスケジュール情報を記憶する記憶部と、
各フィールド機器の少なくともいずれか一つに前記時間測定パケットを送信し、前記時間測定パケットの送信時刻および受信時刻を前記測定結果データに付加して前記コンフィギュレータに送信する演算制御部とから構成されることを特徴とする
請求項１ないし請求項４いずれかに記載のフィールド制御システム。
【請求項６】
前記演算制御部は、
制御パケットがスケジュール内に到達しない場合は、前記遅延通知パケットを送信することを特徴とする
請求項５記載のフィールド制御システム。
【請求項７】
前記コンフィギュレータは、
パケット通信を行う通信部と、
前記各フィールド機器のスケジュール情報および前記通信時間を記憶する記憶部と、
前記各フィールド機器に測定要求パケットを送信し、前記測定結果パケットに付加された前記各フィールド機器の前記時間測定パケットの送信時刻および受信時刻に基づき前記通信期間を算出し、前記通信期間に基づき前記各フィールド機器のスケジュールを調整する演算制御部とから構成されることを特徴とする
請求項１ないし請求項６いずれかに記載のフィールド制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールド制御システムに関し、詳しくは、フィールド機器のスケジュール制御に関する。
【背景技術】
【０００２】
近年、たとえばインダストリアルオートメーションにおけるプロセス制御システムとして、フィードバック制御などの制御ループを構成する流量計や温度計などのセンサ、アクチュエータ、コントローラを含むフィールド機器をネットワークにより相互に接続し、フィールド制御システムとして構築することが提案されている。このような、フィールド制御システムでは、フィールド機器の動作スケジュールが設定され、フィールド機器で構成される制御ループが計画通りに動作するように構成されている。
【０００３】
従来のフィールド制御システムに関連する先行技術文献としては次のようなものがある。
【０００４】
【特許文献１】特開２００１−０５３７８０号公報
【０００５】
図１２は従来のフィールド制御システムの一例を示す構成ブロック図である。図１２において、センサ１は、温度や流量などの物理量を測定するセンサ機能と、これら物理量の測定値をＩＰ（Internet Protocol）を用いて伝送する通信機能を有している。コントローラ２は、プラントが最適に運転されて、センサ１の測定値が所定の目標値に収束するようにバルブや調整弁などのアクチュエータ３を操作制御する。アクチュエータ３は、温度や流量などの物理量を制御する制御機能と、データを伝送する通信機能を有している。コンフィギュレータ４は、センサ１、コントローラ２、アクチュエータ３の動作スケジュールを設定するスケジュール設定機能と、これらスケジュール情報を伝送する通信機能を有している。
【０００６】
これらセンサ１、コントローラ２、アクチュエータ３はプラントに設置されていて、フィードバック制御ループを構成している。また、センサ１、コントローラ２、アクチュエータ３およびコンフィギュレータ４はネットワークＮＷ１００を介して相互に接続されている。
【０００７】
なお、図１２では、センサ１がコントローラ２に測定値を含むパケットを送信するデータ通信ＤＦ１００の流れと、コントローラ２がアクチュエータ３に制御値を含むパケットを送信するデータ通信ＤＦ１０１の流れと、アクチュエータ３がコントローラ２にフィードバック情報を含むパケットを送信するデータ通信ＤＦ１０２の流れを示している。
【０００８】
図１３は図１２のコンフィギュレータ４の構成ブロック図である。通信部４１は、主にセンサ１、コントローラ２、アクチュエータ３との間で通信を行うものであり、各部の動作を制御するＣＰＵ（Central Processing Unit）などの演算制御部４２に接続されている。演算制御部４２は記憶部４３に接続されている。記憶部４３には、コンフィギュレータ４として動作させるためのプログラムおよびセンサ１、コントローラ２、アクチュエータ３などのスケジュール情報などが格納されている。
【０００９】
図１４は図１３のコンフィギュレータ４を構成する演算制御部４２の機能ブロック例図である。パケット送受部４２１は、パケットの送受信を行う。パケット解析部４２２は、パケット送受部４２１で得たパケットの解析を行う。スケジュール情報格納部４２３は、主にセンサ１、コントローラ２、アクチュエータ３の実行時間を設定するスケジュール情報を格納する。
【００１０】
スケジュール設定部４２４は、スケジュール情報格納部４２３に格納されたスケジュール情報に基づいて主にセンサ１、コントローラ２、アクチュエータ３の動作スケジュールを設定するスケジュール設定情報を作成する。パケット生成部４２５は、スケジュール設定情報に基づいてネットワークを介して各フィールド機器のスケジュールを設定するためのパケットを生成する。
【００１１】
このように構成されるコンフィギュレータ４は、フィードバック制御ループを構成するセンサ１、コントローラ２、アクチュエータ３の動作時間をあらかじめスケジュール設定する。たとえば、図１４のコンフィギュレータ４のスケジュール設定部４２４は、スケジュール情報格納部４２３のスケジュール情報から各フィールド機器の動作スケジュールを設定するスケジュール設定情報を作成し、パケット生成部４２５はスケジュール設定情報を含むパケットを生成して各フィールド機器に送信し、各フィールド機器はそれぞれスケジュール設定情報に基づいてスケジュールを設定する。
【００１２】
図１５は図１２のセンサ１の構成ブロック図である。通信部１１は、主にコントローラ２、アクチュエータ３、コンフィギュレータ４との間で通信を行うものであり、各部の動作を制御するＣＰＵなどの演算制御部１２に接続されている。演算制御部１２は記憶部１３に接続されている。記憶部１３には、センサ１として動作させるためのプログラムおよびスケジュール情報などが格納されている。なお、コントローラ２、アクチュエータ３の構成もセンサ１とほぼ同様であり、これらの説明は省略する。
【００１３】
図１６は図１５のセンサ１を構成する演算制御部１２の機能ブロック例図である。パケット送受部１２１は、パケットの送受信を行う。パケット解析部１２２は、パケット送受部４２１で得たパケットの解析を行い、スケジュール情報を抽出する。スケジュール情報格納部１２３は、コンフィギュレータ４からのスケジュール情報を格納する。固有機能実行部１２４は、スケジュール情報格納部１２３に格納されたスケジュール情報に基づいて制御処理（たとえば物理量の測定や、測定値の通知、制御データの算出など）を行う。パケット生成部１２５は、固有機能実行部１２４で得られた測定値に基づいてネットワークを介しコントローラ２に送信するためのパケットを生成する。スケジュール設定部１２６は、パケット解析部１２２で解析したスケジュール情報をスケジュール格納部１２３に格納する。
【００１４】
図１７はフィールド制御システムの動作を説明するフロー図であり、図１８は各フィールド機器の動作スケジュールおよびフィールド機器間の通信時間の説明図である。なお、図１７では、フィールド制御システムの動作を図１２のデータ通信ＤＦ１００〜１０２の流れに基づき説明する。
【００１５】
なお、各フィールド機器の動作スケジュールは一定周期ごとに繰り返され、この周期をマクロサイクルと呼ぶ。いいかえれば、各フィールド機器はマクロサイクル内に動作するようにスケジューリングされることになる。たとえば、図１８に示すようにセンサ１の実行時間は「Ｔ０〜Ｔ１」、コントローラ２の実行時間は「Ｔ２〜Ｔ３」、アクチュエータ３の実行時間は「Ｔ４〜Ｔ５」として設定される。また各フィールドデバイスの実行開始時間Ｔ０、Ｔ２、Ｔ４をオフセットと呼ぶ。
【００１６】
まず、ステップＳ１０１において、センサ１の固有機能実行部１２４は、スケジュール情報格納部１２３に格納されているあらかじめ定められたスケジュールに基づいて流量や温度などの物理量を測定し、パケット生成部１２５はこの測定値を含むパケットを生成し、パケット送受部１２１はコントローラ２に送信する。
【００１７】
センサ１は、図１８に示すようにあらかじめ定められた実行時間「Ｔ０〜Ｔ１」内で流量や温度などの物理量を測定し、図１２のデータ通信ＤＦ１００の流れに示すように測定値を含むパケットをコントローラ２に送信する。なお、センサ１から送信された測定値は、通信時間「Ｔａ（Ｔ１〜Ｔ２）」だけ到達するまでに時間がかかる。
【００１８】
ステップＳ１０２において、コントローラ２はあらかじめ定められたスケジュールに基づいて、受信した測定値を利用してあらかじめ設定されている目標値に収束してプラントが最適に運転されるように、アクチュエータ３を制御するための設定情報である「制御データ」を算出する。コントローラ２は図１８に示すように、あらかじめ定められた実行時間「Ｔ２〜Ｔ３」内で制御データを算出する。
【００１９】
ステップＳ１０３において、コントローラ２はあらかじめ定められたスケジュールに基づいて、算出した制御データを含むパケットをアクチュエータ３に送信する。コントローラ２は図１８に示すように、あらかじめ定められた実行時間「Ｔ２〜Ｔ３」内で図１２のデータ通信ＤＦ１０１の流れに示すように制御データを含むパケットをアクチュエータ３に送信する。
【００２０】
ステップＳ１０４において、アクチュエータ３は、あらかじめ定められたスケジュールで、制御データに基づいて動作し、たとえば、バルブが制御データに基づき開度を変更して流量を調整するという動作を行う。
【００２１】
ステップＳ１０５において、アクチュエータ３は、現在のアクチュエータ３の操作状態（たとえばバルブの開度８０％など）などのフィードバックデータを含むパケットをコントローラ２に送信する。アクチュエータ３は図１８に示すように、あらかじめ定められた実行時間「Ｔ４〜Ｔ５」内で図１２のデータ通信ＤＦ１０２の流れに示すようにフィードバックデータを含むパケットをコントローラ２に送信する。
【００２２】
このように、フィールド制御システムは、各フィールド機器がマクロサイクル内に設定された動作スケジュールに従って動作し、測定値があらかじめ設定されている目標値に収束するようにアクチュエータを制御するのでプラントを最適に運転することが可能となる。
【００２３】
また、各フィールド機器間の通信時間は図１２のように単一セグメントでの通信である場合には固有の一定の値となる。センサ１とコントローラ２との通信時間は「Ｔａ（Ｔ１〜Ｔ２）」、コントローラ２とアクチュエータ３との通信時間は「Ｔｂ（Ｔ３〜Ｔ４）」、アクチュエータ３とコントローラ２との通信時間は「Ｔｃ（Ｔ５〜Ｔ６）」であり、それぞれ等しい時間となる。このように単一セグメントでの通信である場合は、コンフィギュレータ４は通信時間Ｔａ、Ｔｂ、Ｔｃに基づいて動作スケジュールのオフセットを容易に設定することができる。
【００２４】
一方、フィールド制御システムが中継機器を有するような複雑なネットワークで構成される場合には、ネットワークの負荷状態や中継機器の負荷状態などによって各フィールド機器間の通信時間が長くなったり短くなったりすることがある。
【００２５】
図１９は中継機器を介して構成されるフィールド制御システムの一例を示す構成ブロック図である。センサ１、コントローラ２、アクチュエータ３、コンフィギュレータ４の構成は図１２と同様である。中継機器５は、データを伝送する通信機能を有し、受信したデータを転送する。
【００２６】
これらのセンサ１、コントローラ２はネットワークＮＷ１００を介して相互に接続されており、アクチュエータ３、コンフィギュレータ４はネットワークＮＷ１０１を介して相互に接続されている。中継機器５はネットワークＮＷ１００とネットワークＮＷ１０１とに相互に接続されている。
【００２７】
また、図１９では、センサ１がコントローラ２に測定値を含むパケットを送信するデータ通信ＤＦ２００の流れと、コントローラ２がアクチュエータ３に制御値を含むパケットを送信するデータ通信ＤＦ２０１の流れと、アクチュエータ３がコントローラ２にフィードバック情報を含むパケットを送信するデータ通信ＤＦ２０２の流れを示している。
【００２８】
図１９において、コントローラ２とアクチュエータ３とは中継機器５を経由して通信するので、コントローラ２とアクチュエータ３との通信時間は中継機器５の転送時の負荷状況の影響を受けて変化することにより、常に一定の時間ではない。図２０は図１９のフィールド制御システムのフィールド機器間の通信時間の説明図である。
【００２９】
図２０に示すように、センサ１がコントローラ２に測定値を含むパケットを送信する（たとえばデータ通信ＤＦ２００の流れ）通信時間「Ｔａ（Ｔ１〜Ｔ２）」と、コントローラ２がアクチュエータ３に制御データを含むパケットを送信する（たとえばデータ通信ＤＦ２０１の流れ）通信時間「Ｔｂ（Ｔ３〜Ｔ４）」と、アクチュエータ３がコントローラ２にフィードバックデータを含むパケットを送信する（たとえばデータ通信ＤＦ２０２の流れ）通信時間「Ｔｃ（Ｔ５〜Ｔ６）」とは、ネットワークの負荷状態や中継機器の負荷状態によって互いに異なった時間となってしまう。
【００３０】
このため、各フィールド機器はあらかじめ定められたスケジュール通りに制御ループに関わる処理を実行できないことがある。また、コンフィギュレータ４は、各フィールド機器の動作スケジュールのオフセットを設定するにあたってはそれぞれ異なる通信時間Ｔａ、Ｔｂ、Ｔｃを把握してオフセットを求めなくてはならないことになる。
【発明の開示】
【発明が解決しようとする課題】
【００３１】
このように、従来のフィールド制御システムにおいて、複雑なネットワークで構成される場合には、ネットワークの負荷や中継機器の負荷などによって各フィールド機器間の通信時間が長くなったり短くなったりするため各フィールド機器のスケジュールにずれが生じてしまうといった問題点がある。
【００３２】
また、各フィールド機器がスケジュール通りに動作しないと制御ループが機能せずに期待される結果を得ることができないので、センサから転送される測定値があらかじめ設定されている目標値に収束してプラントが最適に運転されるようにアクチュエータを制御できないといった問題点がある。
【００３３】
本発明は上述の問題点を解決するものであり、その目的は、各フィールド機器間で必要となる通信時間を考慮してフィールド機器の動作スケジュールを制御できるフィールド制御システムを実現することにある。
【課題を解決するための手段】
【００３４】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
あらかじめ設定されたスケジュールで動作し制御ループを構成する複数のフィールド機器がネットワークを介してパケット通信を行うフィールド制御システムにおいて、
前記制御ループは、ネットワークを介して前記フィールド機器として接続されたセンサとコントローラとアクチュエータにより、前記コントローラが前記センサの測定値に基づいてあらかじめ定められた目標値に収束するように前記アクチュエータを制御するフィードバック制御ループとして構成され、
前記センサは、センサ機能、通信機能、フィードバック制御に関わるデータの送信時刻および受信時刻などのタイムスタンプを付加するタイムスタンプ機能を有し、前記コントローラに測定値を含むパケットを送信し
前記コントローラは、通信機能、タイムスタンプ機能および前記センサの測定値が所定の目標値に収束するように前記アクチュエータを操作制御する操作制御機能を有し、前記アクチュエータに制御値を含むパケットを送信し、
前記アクチュエータは、操作制御機能、通信機能およびタイムスタンプ機能を有し、前記コントローラにフィードバック情報を含むパケットを送信し、
さらに、前記ネットワークには、通信機能、スケジュール設定機能および各フィールド機器間の通信期間を測定し把握する通信期間把握機能を有するコンフィギュレータが接続され、
前記コンフィギュレータは、前記各フィールド機器のタイムスタンプが付加された測定結果パケットを収集し、前記タイムスタンプに基づいて前記各フィールド機器間における通信時間の少なくともいずれか一つを把握し、これら通信時間に応じて前記各フィールド機器の動作スケジュールを調整することを特徴とする。
【００３５】
請求項２記載の発明は、
請求項１記載のフィールド制御システムにおいて、
前記各フィールド機器は、他のフィールド機器の少なくともいずれか一つに時間測定パケットを送信し、前記時間測定パケットの送信元フィールド機器の送信時刻および送信先フィールド機器の受信時刻を付加した前記測定結果パケットを前記コンフィギュレータに送信することを特徴とする。
【００３６】
請求項３記載の発明は、
請求項１もしくは請求項２記載のフィールド制御システムにおいて、
前記各フィールド機器は、他のフィールド機器からの制御パケットを設定時刻までに受信できない場合は、遅延検出通知パケットを前記コンフィギュレータに送信することを特徴とする。
【００３７】
請求項４記載の発明は、
請求項３記載のフィールド制御システムにおいて、
前記コンフィギュレータは前記遅延検出パケットに基づいて測定要求パケットを送信し、前記フィールド機器は前記測定要求パケットに基づいて前記測定結果パケットを収集することを特徴とする。
【００３８】
請求項５記載の発明は、
請求項１ないし請求項４いずれかに記載のフィールド制御システムにおいて、
前記フィールド機器は、パケット通信を行う通信部と、前記各フィールド機器のスケジュール情報を記憶する記憶部と、各フィールド機器の少なくともいずれか一つに前記時間測定パケットを送信し、前記時間測定パケットの送信時刻および受信時刻を前記測定結果データに付加して前記コンフィギュレータに送信する演算制御部とから構成されることを特徴とする。
【００３９】
請求項６記載の発明は、
請求項１ないし請求項５いずれかに記載のフィールド制御システムにおいて、
前記演算制御部は、他のフィールド機器からの制御パケットがあらかじめ設定されたスケジュール内に到達しない場合は、前記遅延検出通知パケットを送信することを特徴とする。
【００４０】
請求項７記載の発明は、
請求項１ないし請求項６いずれかに記載のフィールド制御システムにおいて、
前記コンフィギュレータは、パケット通信を行う通信部と、前記各フィールド機器のスケジュール情報および前記通信時間を記憶する記憶部と、前記各フィールド機器に測定要求パケットを送信し、前記測定結果パケットに付加された前記各フィールド機器の前記時間測定パケットの送信時刻および受信時刻に基づき前記通信期間を算出し、前記通信期間に基づき前記各フィールド機器のスケジュールを調整する演算制御部とから構成されることを特徴とする。
【発明の効果】
【００４１】
本発明によれば、コンフィギュレータは各フィールド機器間で必要となる通信時間を考慮してフィールド機器の動作スケジュールを調整する。
【発明を実施するための最良の形態】
【００４２】
図１は、本発明に係るフィールド制御システムの一実施例を示す構成ブロック図である。センサ５１は、センサ機能、通信機能、フィードバック制御に関わるデータの送信時刻および受信時刻などの「タイムスタンプ」を付加するタイムスタンプ機能を有している。コントローラ５２は、通信機能およびタイムスタンプ機能を有し、センサ５１の測定値が所定の目標値に収束するようにバルブや調整弁などのアクチュエータ５３を操作制御する。アクチュエータ５３は操作制御する制御機能、通信機能およびタイムスタンプ機能を有している。コンフィギュレータ５４は通信機能、スケジュール設定機能および各フィールド機器間の通信期間を測定し把握する通信期間把握機能を有している。
【００４３】
これらのセンサ５１、コントローラ５２、アクチュエータ５３はフィードバック制御ループを構成していて、複数のルータやスイッチなどの中継機器が設置される複雑な構成のネットワークＮＷ２００を介して接続されている。なお、本発明に係るフィールド制御システムの構成は、各フィールド機器のタイムスタンプ機能およびコンフィギュレータ５４の通信期間測定機能以外は従来と同等なので、各部の説明を適宜省略する。
【００４４】
このフィードバック制御ループは、センサ５１がコントローラ５２に測定値を含むパケットを送信し（データ通信ＤＦ３００の流れ）、コントローラ５２がアクチュエータ５３に制御値を含むパケットを送信し（データ通信ＤＦ３０１の流れ）、アクチュエータ５３がコントローラ５２にフィードバック情報を含むパケットを送信（データ通信ＤＦ３０２の流れ）することにより、コントローラ５２がセンサ５１の測定値に基づいてあらかじめ定められた目標値に収束するようにアクチュエータ５３を制御する。
【００４５】
図２は図１のコンフィギュレータ５４の構成ブロック図である。通信部５４１は、主にセンサ５１、コントローラ５２、アクチュエータ５３との間で通信を行うものであり、各部の動作を制御するＣＰＵなどの演算制御部５４２に接続されている。演算制御部５４２は記憶部５４３に接続されている。記憶部５４３には、コンフィギュレータ５４として動作させるためのプログラムおよびセンサ５１、コントローラ５２、アクチュエータ５３などのスケジュール情報などが格納されている。
【００４６】
図３は図２のコンフィギュレータ５４を構成する演算制御部５４２の機能ブロック例図である。パケット送受部５４２１は、パケットの送受信を行う。パケット解析部５４２２は、パケット送受部５４２１で得たパケットの解析を行い、タイムスタンプ、送信先アドレス、送信元アドレスやスケジュール情報などのパケット情報を抽出する。スケジュール情報格納部５４２３は、主にセンサ５１、コントローラ５２、アクチュエータ５３のスケジュール情報および通信期間把握部５４２５で得られる通信時間を格納する。
【００４７】
スケジュール設定部５４２４は、パケット解析部５４２２で解析したパケット情報、スケジュール情報格納部５４２３のスケジュール情報および通信期間把握部５４２５で得られる通信時間に基づいて各フィールド機器の動作スケジュールを調整し、主にセンサ５１、コントローラ５２、アクチュエータ５３の動作スケジュールを設定する「スケジュール設定情報」を作成する。通信期間把握部５４２５は、各フィールド機器にタイムスタンプの取得を要求する「測定要求データ」を生成し、各フィールド機器間の通信期間を算出する。パケット生成部５４２６は、主に測定要求データを含むパケット（以下、測定要求パケットという）、スケジュール設定情報を含むパケット（以下、スケジュール設定パケットという）のパケットなどを生成する。
【００４８】
図４は図１のセンサ５１の構成ブロック図である。通信部５１１は、主にコントローラ５２、アクチュエータ５３、コンフィギュレータ５４との間で通信を行うものであり、各部の動作を制御するＣＰＵなどの演算制御部５１２に接続されている。演算制御部５１２は記憶部５１３に接続されている。記憶部５１３には、センサ５１として動作させるためのプログラムおよびスケジュール情報などが格納されている。なお、コントローラ５２、アクチュエータ５３の構成もセンサ５１とほぼ同様であり、これらの説明は省略する。
【００４９】
図５は図４のセンサ５１を構成する演算制御部５１２の機能ブロック例図である。パケット送受部５１２１は、パケットの送受信を行う。パケット解析部５１２２は、パケット送受部５１２１で得たパケットの解析を行い、タイムスタンプ、送信先アドレス、送信元アドレスやスケジュール情報などのパケット情報を抽出する。スケジュール情報格納部５１２３は、制御処理を行うためのスケジュール情報を格納する。固有機能実行部５１２４は、スケジュール情報格納部５１２３に格納されたスケジュール情報に基づいて制御処理（たとえば物理量の測定や、測定値の通知、制御データの算出など）を行う。通信時間測定部５１２５は、各フィールド機器間の通信時間を測定するためのタイムスタンプを取得する「時間測定データ」を生成して各フィールド機器に送信する。
【００５０】
また、パケット生成部５１２６は、主にマルチキャスト初期化データを含むパケット（以下、マルチキャスト初期化パケットという）、時間測定データを含むパケット（以下、時間測定パケットという）、測定結果データを含むパケット（以下、測定結果パケットという）、固有機能実行部５１２４の制御処理による送信するためのパケット（以下、制御パケットという）を生成する。タイムスタンプ付加部５１２７は、各フィールド機器の時間測定パケットの送信時刻や受信時刻などの「タイムスタンプ」を時間測定パケットおよび測定結果データに付加する。マルチキャスト初期化部５１２８は、フィールド機器間の通信がマルチキャスト通信で行われている場合にマルチキャスト通信を受信可能な状態に遷移させるための「マルチキャスト初期化データ」を作成する。スケジュール設定部５１２９は、パケット解析部５４２２で解析したスケジュール情報などのパケット情報に基づき、スケジュール情報をスケジュール情報格納部５１２３に格納する。
【００５１】
図６はフィールド制御システムの動作の一例を説明するシーケンス図、図７〜図１０はフィールド制御システムで利用するパケットフォーマットの具体例である。また、説明を簡単にするため、各フィールド機器はマルチキャスト通信によって制御処理が行われているものとする。なお、各フィールド機器の通信方法は使用されているフィールドバスの仕様に準拠した方法で行われるものであればどのようなものであってもよい。
【００５２】
図６のフィールド制御システムの動作は、たとえばネットワーク構成の変更などによって各フィールド機器間のパケット通信に要する通信時間が不明である場合や、システムメンテナンス、システムの再設定実施時など実行される。
【００５３】
各フィールド機器は通信期間を測定するための時間測定パケットを送受信し、コンフィギュレータは各フィールド機器間のパケット通信に要する通信時間を把握し、この通信時間を各フィールド機器の動作スケジュールに反映させてスケジュール調整を行う。以下説明を簡単にするため、制御ループの制御処理を一時停止して通信時間の測定を行うものとする。なお、制御ループの制御処理を実施しつつ通信時間の測定を行うものでもよい。
【００５４】
まずシーケンスＳＱ１０１において、コンフィギュレータ５４の演算制御部５４２の通信時間把握部５４２５は、各フィールド機器間のパケット通信に要する通信時間を測定するための「測定要求データ」を生成し、パケット生成部５４２６は、測定要求パケット（たとえば図７のパケットＰ１）を生成し、パケット送受部５４２１は、このパケットをネットワークＮＷ２００を介してセンサ５１に送信する。ちなみに、測定要求パケットの送受信はユニキャスト通信で行われる。
【００５５】
なお、コンフィギュレータ５４が測定要求パケットを送信するタイミングは、オペレータがコンフィギュレータ５４を制御するものであってもよいし、コンフィギュレータ５４があらかじめ定められた時間の経過後に送信するものであってもよい。
【００５６】
図７に示すように、測定要求パケットは、ＩＰヘッダ、ＵＤＰヘッダ、ペイロードなどのフィールドを有し、ペイロードに「メッセージタイプ」、「トランザクションＩＤ」、「返信アドレス」、制御ループを一巡するまでに経由するフィールド機器の個数を示す「残りホップ数」や各ホップのユニキャストアドレスおよびマルチキャストアドレスなどの情報を格納する複数の「ホップ」フィールドなど、複数のフィールドを有している。また、各「ホップ」はマルチキャストアドレスとユニキャストアドレスを格納し、マルチキャストアドレスにはフィードバック制御に関わる通信で用いられる各フィールド機器のマルチキャストアドレスが設定され、ユニキャストアドレスにはマルチキャスト通信を受信可能にするように通知するための各フィールド機器のユニキャストアドレスが設定される。
【００５７】
たとえば、コンフィギュレータ５４のパケット生成部５４２６は、図７のパケットＰ１のメッセージタイプの値（たとえば「測定要求」）、トランザクションＩＤの値（たとえば「ＩＤ１」）、返信アドレス（たとえば「コンフィギュレータ５４」）、残りホップ数（たとえば「３」）を設定している。また、パケット生成部５４２６は、ホップ１には「コントローラ５２」、ホップ２には「アクチュエータ５３」、ホップ３には「コントローラ５２」を設定し、それぞれユニキャストアドレスとマルチキャストアドレスを格納している。
【００５８】
このようにコンフィギュレータ５４は、ホップ１〜ホップ３を設定することで、各フィールド機器間の通信時間を制御ループの流れに沿って測定するように測定要求パケットを設定している。なお、制御ループの流れに沿って通信時間を測定できるのであれば、コンフィギュレータ５４は測定要求パケットをコントローラ５２やアクチュエータ５３に送信するものであってもよい。
【００５９】
シーケンスＳＱ１０２において、センサ５１のパケット解析部５１２２はコンフィギュレータ５４からの測定要求パケットを解析して測定要求データを抽出し、パケット生成部５１２６は、測定要求パケットに基づいてマルチキャスト初期化パケット（たとえば図８のパケットＰ２）を生成し、ネットワークＮＷ２００を介してコントローラ５２に送信する。ちなみに、マルチキャスト初期化パケットの送受信はユニキャスト通信で行われる。また図６ではマルチキャスト初期化パケットを送信するシーケンスを破線で表している。
【００６０】
パケットＰ２は図８に示すように、ＩＰヘッダ、ＵＤＰヘッダ、ペイロードなどのフィールドを有している。また、ペイロードに「メッセージタイプ」、「トランザクションＩＤ」、「マルチキャストアドレス」などの複数のフィールドを有している。
【００６１】
センサ５１のパケット生成部５１２６は受信した測定要求パケットＰ１に基づいて、パケットＰ２におけるＩＰヘッダの始点アドレスの値（たとえばパケットＰ１の終点アドレスの値「センサ５１」）、終点アドレスの値（たとえばパケットＰ１のホップ１のユニキャストアドレスの値「コントローラ５２」）を設定する。すなわちパケット送受部５１２１は、送信先にコントローラ５２のユニキャストアドレスを設定していることになる。
【００６２】
パケット生成部５１２６は、パケットＰ２におけるペイロードのメッセージタイプの値（たとえば「マルチキャスト通信初期化」）、トランザクションＩＤの値（たとえば「ＩＤ１」）、マルチキャストアドレス（たとえばパケットＰ１のホップ１のマルチキャストアドレスの値「コントローラ５２」）を設定する。
【００６３】
なお、コントローラ５２は、センサ５１から受信したマルチキャスト初期化パケットに基づいてマルチキャスト通信の初期化を行った場合は、初期化終了の旨をセンサ５１に通知するものであってもよい。また、各フィールド機器間の通信がユニキャスト通信で行われている場合はマルチキャスト初期化パケットを送信せずにシーケンスＳＱ１０３に移行するものであってもよい。
【００６４】
シーケンスＳＱ１０３において、センサ５１のパケット解析部５１２２はコンフィギュレータ５４からの測定要求パケットを解析して測定要求データを抽出し、パケット生成部５１２６は測定要求データに基づいて、時間測定パケット（たとえば図９のパケットＰ３）を生成してコントローラ５２に送信する。このとき、タイムスタンプ付加部５１２６は、この時間測定パケットを送信する時刻（たとえば「Ｔ１」）を時間測定パケットに付加する。ちなみに、時間測定パケットの送受信はマルチキャスト通信で行われる。また図６では測定パケットを送信するシーケンスを太線で表している。
【００６５】
パケットＰ３は図９に示すように、ＩＰヘッダ、ＵＤＰヘッダ、ペイロードなどのフィールドを有している。また、ペイロードに「メッセージタイプ」、「トランザクションＩＤ」、時間測定パケットの宛先である「返信アドレス」、フィールド機器間を特定する「区間番号」、時間測定パケットの送信時刻を格納する「始点タイムスタンプ」、「残りホップ数」、複数の「ホップ」フィールドなど、複数のフィールドを有している。
【００６６】
たとえば、センサ５１のパケット生成部５１２６は、コンフィギュレータ５４からの測定要求パケットＰ１に基づいて、パケットＰ３におけるＩＰヘッダの始点アドレスの値（たとえばパケットＰ１の終点アドレスの値「センサ５１」）、終点アドレスの値（たとえばパケットＰ１におけるホップ１のユニキャストアドレスの値「コントローラ５２」）を設定する。
【００６７】
また、パケット生成部５１２６はコンフィギュレータ５４からのパケットＰ１に基づいてパケットＰ３におけるペイロードのメッセージタイプの値（たとえば「測定」）、トランザクションＩＤの値（たとえばパケットＰ１のトランザクションＩＤの値「ＩＤ１」）、返信アドレス（たとえばパケットＰ１の返信アドレスの値「コンフィギュレータ５４」）、区間番号（たとえば０）、始点タイムスタンプ（たとえばパケットＰ３を送信する時刻「Ｔ１」）、残りホップ数（たとえばパケットＰ１の残りホップ数の値から１減算した値「２」）を設定する。また、パケットＰ３のホップ１には、パケットＰ１におけるホップ２の値「アクチュエータ５３」、ホップ２にはパケットＰ１におけるホップ３の値「コントローラ５２」が設定され、それぞれユニキャストアドレスおよびマルチキャストアドレスが格納されている。なお、タイムススタンプの取得に関わる時間測定パケットや測定結果パケットの生成は、主にＩＰアドレスの設定やタイムスタンプの付加以外はほぼ同等なので以下省略する。
【００６８】
シーケンスＳＱ１０４において、コントローラ５２は、センサ５１とコントローラ５２の測定結果パケット（たとえば図１０のパケットＰ４）を生成してネットワークＮＷ２００を介してコンフィギュレータ５４に送信する。このとき、コントローラ５２の図示しないタイムスタンプ付加部は、センサ５１からの時間測定パケットの受信時刻（たとえば「Ｔ２」）をこの測定結果パケットに付加する。よってコントローラ５２は、センサ５１とコントローラ５２が時間測定パケットを送受信したタイムスタンプをコンフィギュレータ５４に通知することになる。ちなみに、測定結果データの送受信はユニキャスト通信で行われる。
【００６９】
パケットＰ４は図１０に示すように、ＩＰヘッダ、ペイロードを有している。また、ペイロードに「メッセージタイプ」、「トランザクションＩＤ」、「区間番号」、時間測定パケットの送信時刻を格納する「始点タイムスタンプ」、時間測定パケットの受信時刻を格納する「終点タイムスタンプ」などの複数のフィールドを有している。
【００７０】
たとえば、コントローラ５２の図示しないパケット生成部は、センサ５１からのパケットＰ２およびＰ３に基づいて、パケットＰ４におけるＩＰヘッダの始点アドレスの値（たとえばパケットＰ２における終点アドレスの値「コントローラ５２」）、終点アドレスの値（たとえばパケットＰ３の返信アドレスの値「コンフィギュレータ５４」）を設定する。すなわち、コントローラ５２のパケット送受部は、送信先にコンフィギュレータのユニキャストアドレスを設定していることになる。
【００７１】
また、コントローラ５２のパケット生成部は、パケットＰ４におけるペイロードのメッセージタイプの値（たとえば「測定結果」）、トランザクションＩＤの値（たとえばパケットＰ３のトランザクションＩＤの値「ＩＤ１」）、区間番号（たとえばパケットＰ３の区間番号の値「０」）、始点タイムスタンプ（たとえばパケットＰ３の始点タイムスタンプの値「Ｔ１」）、終点タイムスタンプ（たとえばパケットＰ３を受信した時刻「Ｔ２」）を設定する。
【００７２】
シーケンスＳＱ１０５において、コンフィギュレータ５４のパケット解析部５４２２はコントローラ５２からの測定結果パケットを解析してセンサ５１およびコントローラ５２のタイムスタンプを抽出し、通信期間把握部５４２５は、これらのタイムスタンプに基づいてセンサ５１とコントローラ５２との通信時間を算出し、スケジュール情報格納部５４２３に記憶する。
【００７３】
たとえば、コンフィギュレータ５４は、コントローラ５２からの測定結果パケットに付加されているセンサ５１の始点タイムスタンプ（たとえば「Ｔ１」）とコントローラ５２の終点タイムスタンプ（たとえば「Ｔ２」）との差分を算出して、センサ５１とコントローラ５２との通信時間を把握する。このため、コンフィギュレータ５４はセンサ５１とコントローラ５２との通信時間を把握することができる。
【００７４】
シーケンスＳＱ１０６において、コントローラ５２は、マルチキャスト初期化パケットを生成してアクチュエータ５３に送信する。ここでマルチキャスト初期化パケットは、上述の図８のパケットＰ２と始点アドレス、終点アドレス、マルチキャストアドレス以外は同等であるので説明を省略する。
【００７５】
なお、アクチュエータ５３は、コントローラ５２からのマルチキャスト初期化パケットに基づいてマルチキャスト通信の初期化を行った場合は、初期化終了の旨をコントローラ５２に通知するものであってもよい。
【００７６】
シーケンスＳＱ１０７において、コントローラ５２は、コントローラ５２からアクチュエータ５３への時間測定パケットを生成してアクチュエータ５３に送信する。このとき、コントローラ５２はこの時間測定パケットに送信時刻（たとえば「Ｔ３」）を付加する。
【００７７】
シーケンスＳＱ１０８において、アクチュエータ５３は、測定結果パケットを生成してコンフィギュレータ５４に送信する。このとき、アクチュエータ５３は、コントローラ５２からの時間測定パケットの受信時刻（たとえば「Ｔ４」）をこの測定結果パケットに付加する。すなわち、アクチュエータ５３は、コントローラ５２とアクチュエータ５３が時間測定パケットを送受信したタイムスタンプをコンフィギュレータ５４に通知することになる。
【００７８】
シーケンスＳＱ１０９において、コンフィギュレータ５４のパケット解析部５４２２はアクチュエータ５３からの測定結果パケットを解析してコントローラ５２およびアクチュエータ５３のタイムスタンプを抽出し、通信期間把握部５４２５はこれらのタイムスタンプに基づいてコントローラ５２とアクチュエータ５３との通信時間を算出し、この通信時間をスケジュール情報格納部５４２３に記憶する。
【００７９】
たとえば、コンフィギュレータ５４は、アクチュエータ５３からの測定結果データに付加されているコントローラ５２の始点タイムスタンプ（たとえば「Ｔ３」）と終点タイムスタンプ（たとえば「Ｔ４」）との差分を算出して、コントローラ５２とアクチュエータ５３との通信時間を把握する。このため、コンフィギュレータ５４はコントローラ５２とアクチュエータ５３との通信時間を把握することができる。
【００８０】
シーケンスＳＱ１１０において、アクチュエータ５３は、マルチキャスト初期化データパケットを生成してコントローラ５２に送信する。なお、コントローラ５２は、アクチュエータ５３からのマルチキャスト初期化データに基づいてマルチキャスト通信の初期化を行った場合は、初期化終了の旨をアクチュエータ５３に通知するものであってもよい。
【００８１】
シーケンスＳＱ１１１において、アクチュエータ５３は、時間測定パケットを生成してコントローラ５２に送信する。このとき、コントローラ５２はこの時間測定パケットにパケット送信時刻（たとえば、Ｔ５）を付加する。
【００８２】
シーケンスＳＱ１１２において、コントローラ５２は、測定結果パケットを生成してコンフィギュレータ５４に送信する。このとき、コントローラ５２は、アクチュエータ５３から時間測定パケットの受信時刻（たとえば、Ｔ６）をこの測定結果パケットに付加する。すなわち、コントローラ５２は、アクチュエータ５３とコントローラ５２が時間測定パケットを送受信したタイムスタンプをコンフィギュレータ５４に通知することになる。
【００８３】
シーケンスＳＱ１１３において、コンフィギュレータ５４のパケット解析部５４２２はコントローラ５２からの測定結果パケットを解析してアクチュエータ５３およびコントローラ５２のタイムスタンプを抽出し、通信期間把握部５４２５はこれらのタイムスタンプに基づいてアクチュエータ５３とコントローラ５２との通信時間を算出し、この通信時間をスケジュール情報格納部５４２３に記憶する。
【００８４】
たとえば、コンフィギュレータ５４は、コントローラ５２からの測定結果データに付加されているコントローラ５２の始点タイムスタンプ（たとえばＴ５）と終点タイムスタンプ（たとえばＴ６）との差分を算出して、アクチュエータ５３とコントローラ５２との通信時間を把握する。このため、コンフィギュレータ５４はアクチュエータ５３とコントローラ５２との通信時間を把握することができる。
【００８５】
シーケンスＳＱ１１４において、コンフィギュレータ５４のスケジュール設定部５４２４は、スケジュール情報格納部５４２３に記憶された各フィールド機器間の通信時間に基づき、各フィールド機器の動作スケジュールを調整しスケジュール設定情報を生成する。
【００８６】
シーケンスＳＱ１１５〜１１７において、コンフィギュレータ５４のパケット生成部５４２６はスケジュール設定パケットを生成し、パケット送受部５４２１はこのパケットをセンサ５１、コントローラ５２、アクチュエータ５３にネットワークＮＷ２００を介して送信する。そして、各フィールド機器はコンフィギュレータ５４からのスケジュール設定情報に基づいてスケジュールを設定する。なお、各フィールド機器のスケジュールの設定方法は使用されているフィールドバスに準拠した方法で行われるものであってよい。
【００８７】
この結果、コンフィギュレータはフィールド機器に測定要求パケットを送信し、フィールド機器は時間測定パケットを制御ループの流れに沿って他のフィールド機器に転送し、フィールド機器は始点および終点タイムスタンプを付加した測定結果パケットをコンフィギュレータに送信し、コンフィギュレータはこれらのタイムスタンプに基づいて各フィールド機器間の通信時間を算出してスケジュールを調整することにより、各フィールド機器間で必要となる通信時間を考慮してフィールド機器の動作スケジュールを調整できる。
【００８８】
また、本発明のフィールド制御システムは、複雑なネットワークで構成される場合であっても、フィールド機器間で必要となる通信時間を考慮してフィールド機器の動作スケジュールを調整できる。
【００８９】
なお、上記実施例では、コンフィギュレータ５４が測定要求パケットを送信するタイミングは、オペレータがコンフィギュレータ５４を制御して測定要求パケットを送信する、もしくはコンフィギュレータ５４があらかじめ定められた時間の経過後に送信するものとして説明したが、特にこれに限定されるものではなく、コンフィギュレータは、各フィールド機器からの制御処理の遅延を検知した旨を通知する「遅延通知パケット」に基づいて、測定要求パケットを送信するものであってもよい。いいかえれば、各フィールド機器からの遅延通知パケットをスケジュール調整のトリガとしてもよい。
【００９０】
たとえば図１のセンサ５１、コントローラ５２、アクチュエータ５３などの各フィールド機器を構成する演算制御部は、制御処理があらかじめ設定されたスケジュール通りに動作しているかどうか判定し、制御処理の遅延を検知した場合は「遅延通知パケット」をコンフィギュレータ５４に送信する遅延検知機能を有する。
【００９１】
具体的には、各フィールド機器の遅延検知機能は、制御処理に関わる制御パケット（たとえばセンサの測定値、コントローラの制御データ、アクチュエータのフィードバックデータなどを含む）の到達時刻とあらかじめ設定された制御処理期間などのスケジュールとを比較し、制御パケットがスケジュール内に到達しない場合は、制御処理が遅延しているものと判断して遅延通知パケットを送信する。
【００９２】
図１１は遅延通知パケットに基づいて通信時間を把握するフィールド制御システムの動作の一例を説明するシーケンス図である。図１１に示すようにフィールド制御システムは大きく「遅延検知」、「通信時間測定」、「スケジュール再設定」のフローにわかれる。
【００９３】
まず、シーケンスＳＱ２０１において、図５のセンサ５１の固有機能実行部１２４は、スケジュール情報格納部１２３に格納されているスケジュールに基づいて流量や温度などの物理量を測定する。また、シーケンスＳＱ２０２において、センサ５１のパケット送受部５１２１はセンサの測定値をコントローラ２に送信する。
【００９４】
シーケンスＳＱ２０３において、コントローラ５２の遅延検知機能は、センサ５１からの測定値の到達時刻とあらかじめ設定された制御処理期間などのスケジュールとを比較し、ネットワークの負荷などによって伝送時間が長いために制御パケットがスケジュール内に到達しない場合は、制御処理が遅延しているものと判断する。
【００９５】
シーケンスＳＱ２０４において、コントローラ５２の遅延検知機能は、制御処理が遅延している旨を通知する遅延通知パケットをコンフィギュレータ５４に送信する。シーケンスＳＱ２０５において、コンフィギュレータ５４はコントローラ５２からの遅延通知パケットに基づいて、測定要求パケットをセンサ５１に送信する。シーケンスＳＱ２０５〜ＳＱ２１８は図６で説明した動作と同等なので、ここでの説明を省略する。
【００９６】
このように、フィールド機器は制御処理があらかじめ設定されたスケジュール通りに動作しているかどうか判定し、制御処理の遅延を検知した場合に遅延通知パケットをコンフィギュレータに送信すると、コンフィギュレータは遅延通知パケットに基づいて測定要求パケットをフィールド機器に送信し、各フィールド機器間のパケット通信に要する通信時間を測定し、この通信時間に基づいて各スケジュールを調整するものであってもよい。
【００９７】
また、上記実施例では、フィールド制御システムがインダストリアルオートメーションにおけるプラントの運転を支援する例を説明したが、特にこれに限定されるものではなく、たとえばファクトリーオートメーションにおける浄水場の制御システムや、ビルの空調・照明システム、ＦＦＨＳＥ（Foundation Field bus High Speed Ethernet（登録商標））に展開し運転を支援するものであっても構わない。
【００９８】
たとえば、ビルオートメーションシステムにおいては、制御ループを構成するフィールド機器が設置されるネットワークが複雑である場合、ネットワークの負荷や中継機器の負荷状態などによって通信時間が変化しやすい。このため、コンフィギュレータは各フィールド機器に測定要求データを送信し、フィールド機器は時間測定パケットを制御ループの流れに沿って他のフィールド機器に転送し、フィールド機器は始点および終点タイムスタンプを付加した測定結果パケットをコンフィギュレータに送信し、コンフィギュレータはこれらのタイムスタンプに基づいて各フィールド機器間の通信時間を算出してスケジュールを調整することにより、各フィールド機器間で必要となる通信時間を考慮してフィールド機器の動作スケジュールを制御できる。
【００９９】
また、上記実施例のフィールド制御システムは、センサ５１、コントローラ５２、アクチュエータ５３などの複数のフィールド機器から構成されているが、本発明のフィールド制御システムは１個以上のフィールド機器から構成されるものであってもよい。
【０１００】
また、上記実施例のフィールド制御システムは、センサ５１、コントローラ５２、アクチュエータ５３などから構成されるフィードバック制御ループを有しているが、１個以上の制御ループからなる構成であってもよい。
【０１０１】
また、上記実施例では、各フィールド機器は、マルチキャスト通信でタイムスタンプを取得する場合には、あらかじめマルチキャスト初期化データを送信していたが、特にこれに限定されるものではなく、コンフィギュレータがあらかじめ各フィールド機器にマルチキャスト初期化データを送信するものでもよい。たとえばコンフィギュレータ５４は、図６のシーケンスＳＱ１０１に示すように測定要求データをセンサ５１に送信する前に、センサ５１、コントローラ５２、アクチュエータ５３にマルチキャスト初期化データをそれぞれ送信するものであってもよい。
【０１０２】
また、上記実施例では、各フィールド機器は、各フィールド機器間通信のタイムスタンプを取得する度に、タイムスタンプを付加した測定結果データをコンフィギュレータに送信しているが、フィールド機器は、タイムスタンプを取得する度に時間測定パケットに付加してフィードバック制御ループに沿って転送し、転送が一巡すると、各フィールド機器間通信におけるタイムスタンプを全て付加した測定結果データをコンフィギュレータに送信するものであってもよい。すなわち、フィールド機器は、タイムスタンプの取得の度にコンフィギュレータに通知するのではなく、各フィールド機器間通信のタイムスタンプを全て同時にコンフィギュレータに通知することになる。
【０１０３】
このため、コンフィギュレータと各フィールド機器との通信回数を減少することができるので、通信回数を最適化することができる。また、フィールド制御システムは、コンフィギュレータが各フィールド機器にマルチキャスト初期化データを送信するものと各フィールド機器間のタイムスタンプを同時にコンフィギュレータに通知するものとを組み合わせたものであってもよい。
【０１０４】
また、上記実施例では、各フィールド機器は、各フィールド機器間のタイムスタンプをコンフィギュレータに通知すると示しているが、各フィールド機器は、タイムスタンプと同様にフィールド機器における制御処理の実行時間のスケジュールが設定されている「スケジュール情報」をコンフィギュレータに通知するものであってもよい。たとえば、フィールド機器は、時間測定パケットにフィールド機器の「スケジュール情報」を付加してフィードバック制御ループに沿って転送し、送信元および送信先のフィールド機器の「スケジュール情報」を付加した測定結果データをコンフィギュレータに送信する。
【０１０５】
このため、コンフィギュレータは各フィールド機器のスケジュール情報をネットワークを介して自動的に取得することができるので、コンフィギュレータは事前に各フィールド機器の実行時間のスケジュールを把握しなくても各フィールド機器間の通信時間を考慮して各フィールド機器のスケジュールを調整することができる。また、オペレータなどによってコンフィギュレータにスケジュール情報や各フィールド機器の実行時間をあらかじめ記憶させる必要がなくなるので、オペレータの入力ミスなどを防止することができ、各フィールド機器の動作スケジュールを確実に調整できる。
【０１０６】
また、フィールド機器が「スケジュール情報」を付加した時間測定パケットを制御ループに沿って転送し、転送が一巡すると、各フィールド機器の「スケジュール情報」を全て付加した測定結果データをコンフィギュレータに送信するものであってもよい。すなわち、フィールド機器は、各フィールド機器の「スケジュール情報」を全て同時にコンフィギュレータに通知することになる。このため、コンフィギュレータと各フィールド機器との通信回数を減少することができるので、通信回数を最適化することができる。また、各フィールド機器の動作スケジュールを確実に調整できる。
【０１０７】
また、上記実施例では、コンフィギュレータ５４は測定要求データを送信して「Ｔ１〜Ｔ６」まで全てのタイムスタンプを連続して取得しているが、測定要求データを複数回送信してタイムスタンプを「Ｔ１〜Ｔ２」、「Ｔ３〜Ｔ４」、「Ｔ５〜Ｔ６」などとして別々に取得するものであっても構わない。この場合、コンフィギュレータ５４は測定要求データを送信する度にトランザクションＩＤを更新する。たとえば、トランザクションＩＤが「ＩＤ１」の時にはタイムスタンプ「Ｔ１〜Ｔ２」を、トランザクションＩＤが「ＩＤ２」の時にはタイムスタンプ「Ｔ３〜Ｔ４」を、トランザクションＩＤが「ＩＤ３」の時にはタイムスタンプ「Ｔ５〜Ｔ６」を取得するものであってもよい。
【０１０８】
また、コンフィギュレータは測定要求データの送信回数を制御して、一度にタイムスタンプを取得する範囲を決めるものであってもよい。たとえば、コンフィギュレータは測定要求データを２回送信する場合は、トランザクションＩＤ「ＩＤ１」の時にはタイムスタンプ「Ｔ１〜Ｔ４」を、トランザクションＩＤ「ＩＤ２」の時にはタイムスタンプ「Ｔ５〜Ｔ６」を取得するものであってもよい。
【０１０９】
また、上記実施例では、コンフィギュレータは各フィールド機器間の通信時間を把握するとしているが、コンフィギュレータは各フィールド機器間における通信時間のうち少なくともいずれか一つを把握し、その通信時間に基づいて各フィールド機器の動作スケジュールを設定するものであってもよい。たとえば、コンフィギュレータは測定要求パケットのペイロードの「ホップ」に把握すべきフィールド機器間通信を構成するフィールド機器を記載することによって、各フィールド機器間における通信時間のうち少なくともいずれか一つを把握することができる。
【０１１０】
また、コンフィギュレータは特定のフィールド機器間の通信時間を対象として通信時間を測定するものであってもよい。たとえば、コンフィギュレータは測定要求パケットのペイロードの「ホップ」に特定のフィールド機器のみを記載することによって、特定のフィールド機器間の通信時間を対象として通信時間を測定することができる。
【図面の簡単な説明】
【０１１１】
【図１】本発明に係るフィールド制御システムの一実施例を示す構成ブロック図である。
【図２】図１のコンフィギュレータ５４の構成ブロック図である。
【図３】図２のコンフィギュレータ５４の演算制御部５４２の機能ブロック例図である。
【図４】図１のセンサ５１の構成ブロック図である。
【図５】図４のセンサ５１を構成する演算制御部５１２の機能ブロック例図である。
【図６】フィールド制御システムの動作の一例を説明するシーケンス図である。
【図７】フィールド制御システムで利用するパケットフォーマットの一例である。
【図８】フィールド制御システムで利用するパケットフォーマットの一例である。
【図９】フィールド制御システムで利用するパケットフォーマットの一例である。
【図１０】フィールド制御システムで利用するパケットフォーマットの一例である。
【図１１】遅延通知パケットに基づいて通信時間を把握するフィールド制御システムの動作の一例を説明するシーケンス図である。
【図１２】従来のフィールド制御システムの一例を示す構成ブロック図である。
【図１３】図１２のコンフィギュレータ４の構成ブロック図である。
【図１４】図１３のコンフィギュレータ４を構成する演算制御部４２の機能ブロック例図である。
【図１５】図１４のセンサ１の構成ブロック図である。
【図１６】図１５のセンサ１を構成する演算制御部１２の機能ブロック例図である。
【図１７】フィールド制御システムの動作を説明するフロー図である。
【図１８】各フィールド機器の動作スケジュールおよび通信時間の説明図である。
【図１９】中継機器を有するフィールド制御システムの一例を示す構成ブロック図である。
【図２０】図１９のフィールド制御システムのフィールド機器間の通信時間の説明図である。
【符号の説明】
【０１１２】
１、５１  センサ
２、５２  コントローラ
３、５３  アクチュエータ
４、５４  コンフィギュレータ
１１、４１、５１１、５４１  通信部
１２、４２、５１２、５４２  演算制御部
１３、４３、５１３、５４３  記憶部
１２１、４２１、５１２１、５４２１  パケット送受部
１２２、４２２、５１２２、５４２２  パケット解析部
１２３、４２３、５１２３、５４２３  スケジュール情報格納部
１２４、５１２４  固有機能実行部
５１２５  通信時間測定部
１２５、４２５、５１２６、５４２６  パケット生成部
１２６  スケジュール設定部
４２４、５４２４  スケジュール設定部
５１２７  タイムスタンプ付加部
５１２８  マルチキャスト初期化部
５１２９  スケジュール設定部
５４２５  通信期間把握部
【図１】
0004941753.tif 000002
【図２】
0004941753.tif 000003
【図３】
0004941753.tif 000004
【図４】
0004941753.tif 000005
【図５】
0004941753.tif 000006
【図６】
0004941753.tif 000007
【図７】
0004941753.tif 000008
【図８】
0004941753.tif 000009
【図９】
0004941753.tif 000010
【図１０】
0004941753.tif 000011
【図１１】
0004941753.tif 000012
【図１２】
0004941753.tif 000013
【図１３】
0004941753.tif 000014
【図１４】
0004941753.tif 000015
【図１５】
0004941753.tif 000016
【図１６】
0004941753.tif 000017
【図１７】
0004941753.tif 000018
【図１８】
0004941753.tif 000019
【図１９】
0004941753.tif 000020
【図２０】
0004941753.tif 000021