(57)【要約】      （修正有）【課題】稼働率の低下を抑制しながら、互いに異なる制御装置に接続される複数の機器を連係して動作させることが可能な制御システムおよび制御装置を提供する。【解決手段】第１の制御装置１００Ａと接続される第１の機器２００ａおよび第２の制御装置１００Ｂと接続される第２の機器２００ｂ、２００ｃはそれぞれ、第１および第２の同期タイミングに同期して制御対象に対する処理を開始する。第１の制御装置は、ネットワーク１１を介して第２の制御装置と接続されると、第１の同期タイミングと第２の同期タイミングとが一致するように、第１の制御周期の長さ、第２の制御周期に対する第１の制御周期の位相差、および第１の制御周期の基準タイミングと第１の同期タイミングとの時間差の少なくとも１つを調整する。【選択図】図１
2020046699.tif 000002
【特許請求の範囲】
【請求項１】
第１の制御装置と、
第１のネットワークを介して前記第１の制御装置と接続される１または複数の第１の機器と、
第２の制御装置と、
第２のネットワークを介して前記第２の制御装置と接続される１または複数の第２の機器とを備え、
前記第１の制御装置および前記１または複数の第１の機器の各々は、互いに同期した第１のタイマを有し、
前記第１の制御装置は、
前記第１のタイマの時刻に基づいて、第１の制御周期ごとに前記１または複数の第１の機器との間で第１のデータを送受信する第１の通信手段と、
前記第１の制御周期内において、前記１または複数の第１の機器が前記第１のデータを受信した後の第１の同期タイミングを設定する第１のスケジューリング手段とを含み、
前記１または複数の第１の機器は、前記第１のタイマの時刻に基づいて、前記第１の同期タイミングに同期して制御対象に対する処理を開始し、
前記第２の制御装置および前記１または複数の第２の機器の各々は、互いに同期した第２のタイマを有し、
前記第２の制御装置は、
前記第２のタイマの時刻に基づいて、第２の制御周期ごとに前記１または複数の第２の機器との間で第２のデータを送受信する第２の通信手段と、
前記第２の制御周期内において、前記１または複数の第２の機器が前記第２のデータを受信した後の第２の同期タイミングを設定する第２のスケジューリング手段とを含み、
前記１または複数の第２の機器は、前記第２のタイマの時刻に基づいて、前記第２の同期タイミングに同期して制御対象に対する処理を開始し、
前記第１の制御装置は、前記第１のネットワークおよび前記第２のネットワークよりも上位の第３のネットワークを介して前記第１の制御装置と前記第２の制御装置とが接続されると、前記第１の同期タイミングと前記第２の同期タイミングとが一致するように、前記第１の制御周期の長さ、前記第２の制御周期に対する前記第１の制御周期の位相差、および前記第１の制御周期の基準タイミングと前記第１の同期タイミングとの時間差の少なくとも１つを調整する調整手段をさらに含む、制御システム。
【請求項２】
前記基準タイミングは、前記第１の通信手段が前記第１のデータの送信を開始する第１の開始タイミングであり、
前記調整手段は、前記第２の通信手段が前記第２のデータの送信を開始する第２の開始タイミングから前記第２の同期タイミングまでの時間よりも前記時間差が短い場合に、前記第１の開始タイミングと前記第２の開始タイミングとが一致するように前記位相差を調整するとともに、前記時間差を前記第２の開始タイミングから前記第２の同期タイミングまでの時間に調整する、請求項１に記載の制御システム。
【請求項３】
前記調整手段は、前記第１の通信手段が前記第１のデータの送信を開始する第１の開始タイミングから前記第１の同期タイミングまでの第１の時間と、前記第２の通信手段が前記第２のデータの送信を開始する第２の開始タイミングから前記第２の同期タイミングまでの第２の時間とが異なる場合に、前記第１の開始タイミングと前記第２の開始タイミングとが前記第１の時間と前記第２の時間との差分だけずれるように前記位相差を調整する、請求項１に記載の制御システム。
【請求項４】
前記調整手段は、前記第１の時間が前記第２の時間よりも長い場合に、前記第１の開始タイミングが前記第２の開始タイミングよりも早くなるように前記位相差を調整する、請求項３に記載の制御システム。
【請求項５】
前記調整手段は、前記第１の制御周期の長さと前記第２の制御周期の長さとが異なる場合に、前記第１の制御周期の長さを前記第２の制御周期の長さのＮ倍または１／Ｎ倍に補正し、
Ｎは１以上の整数である、請求項１から４のいずれか１項に記載の制御システム。
【請求項６】
第１のネットワークを介して１または複数の第１の機器を接続される制御装置であって、
前記１または複数の第１の機器との間で互い同期されたタイマと、
前記タイマの時刻に基づいて、第１の制御周期ごとに前記１または複数の第１の機器との間で第１のデータを送受信する通信手段と、
前記第１の制御周期内において、前記１または複数の第１の機器が制御対象に対する処理を開始する第１の同期タイミングを設定するスケジューリング手段とを備え、
前記第１の同期タイミングは、前記１または複数の第１の機器が前記第１のデータを受信した後になるように設定され、
前記制御装置は、前記第１のネットワークよりも上位の第２のネットワークを介して他の制御装置と接続可能であり、
前記他の制御装置は、前記第２のネットワークよりも下位の第３のネットワークを介して１または複数の第２の機器に接続され、第２の制御周期ごとに前記１または複数の第２の機器との間で第２のデータを送受信し、
前記１または複数の第２の機器は、前記第２のデータを受信した後の第２の同期タイミングに同期して制御対象に対する処理を開始し、
前記制御装置は、前記第３のネットワークを介して前記他の制御装置に接続されると、前記第１の同期タイミングと前記第２の同期タイミングとが一致するように、前記第１の制御周期の長さ、前記第２の制御周期に対する前記第１の制御周期の位相差、および前記第１の制御周期の基準タイミングと前記第１の同期タイミングとの時間差の少なくとも１つを調整する調整手段をさらに備える、制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の制御装置がネットワーク接続される制御システム、およびその制御システムを構成する制御装置に関する。
【背景技術】
【０００２】
様々な生産現場において、ＰＬＣ（プログラマブルコントローラ）などの制御装置を用いたＦＡ（Factory Automation）技術が広く普及している。このような制御装置は、１または複数の機器との間でネットワークを介してデータを送受信することにより、当該１または複数の機器の動作を制御する。
【０００３】
制御システムの高機能化に伴って、互いに独立した制御処理を実行する複数の制御装置がネットワークを介して接続されるような構成も実現しつつある。例えば、特開２０１５−１１８５０５号公報（特許文献１）には、コントローラレベルネットワークに複数の制御装置が接続された制御システムが開示される。複数の制御装置の各々には、デバイスレベルネットワークを介して複数の入出力装置が接続されている。各制御装置は、複数の入出力装置から取得した入力値を、コントローラレベルネットワークを介してサーバに送信する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１１８５０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
製造現場では、生産品種の変更、生産数の増量などの様々な理由により、生産ラインの組み替えが実施される。この場合、既に稼働中の制御装置に対して新たな制御装置を接続させ、当該２つの制御装置の各々に接続される機器を連係して動作させることが望まれる。
【０００６】
複数の制御装置は互いに独立した制御処理を実行するため、互いに異なる制御装置に接続される複数の機器を連係して動作させるためには、当該複数の機器における制御対象に対する処理の開始タイミングを同期させる必要がある。そのため、既に稼働している制御装置を含む全ての制御装置を一旦停止させて、同期のための設定を行なう必要がある。その結果、稼働率が低下する。
【０００７】
本発明は、上記の問題を鑑みてなされたものであり、その目的は、稼働率の低下を抑制しながら、互いに異なる制御装置に接続される複数の機器を連係して動作させることが可能な制御システムおよび制御装置を提供することである。
【課題を解決するための手段】
【０００８】
本開示の一例によれば、制御システムは、第１の制御装置と、第１のネットワークを介して第１の制御装置と接続される１または複数の第１の機器と、第２の制御装置と、第２のネットワークを介して第２の制御装置と接続される１または複数の第２の機器とを備える。第１の制御装置および１または複数の第１の機器の各々は、互いに同期した第１のタイマを有する。第１の制御装置は、第１の通信手段と第１のスケジューリング手段とを含む。第１の通信手段は、第１のタイマの時刻に基づいて、第１の制御周期ごとに１または複数の第１の機器との間で第１のデータを送受信する。第１のスケジューリング手段は、第１の制御周期内において、１または複数の第１の機器が第１のデータを受信した後の第１の同期タイミングを設定する。１または複数の第１の機器は、第１のタイマの時刻に基づいて、第１の同期タイミングに同期して制御対象に対する処理を開始する。第２の制御装置および１または複数の第２の機器の各々は、互いに同期した第２のタイマを有する。第２の制御装置は、第２の通信手段と第２のスケジューリング手段とを含む。第２の通信手段は、第２のタイマの時刻に基づいて、第２の制御周期ごとに１または複数の第２の機器との間で第２のデータを送受信する。第２のスケジューリング手段は、第２の制御周期内において、１または複数の第２の機器が第２のデータを受信した後の第２の同期タイミングを設定する。１または複数の第２の機器は、第２のタイマの時刻に基づいて、第２の同期タイミングに同期して制御対象に対する処理を開始する。第１の制御装置は、第１のネットワークおよび第２のネットワークよりも上位の第３のネットワークを介して第１の制御装置と第２の制御装置とが接続されると、第１の同期タイミングと第２の同期タイミングとが一致するように、第１の制御周期の長さ、第２の制御周期に対する第１の制御周期の位相差、および第１の制御周期の基準タイミングと第１の同期タイミングとの時間差の少なくとも１つを調整する調整手段をさらに含む。
【０００９】
この開示によれば、第１の制御装置が第２の制御装置と接続されるときに、第２の制御装置は、制御周期の長さ、制御周期の位相、および、制御周期内の同期タイミングと基準タイミングとの時間差を調整しなくてもよい。そのため、第２の制御装置が稼働中であっても、第１の制御装置を第２の制御装置に第３のネットワークを介して接続させ、１または複数の第１の機器と１または複数の第２の機器との連係した動作を開始させることができる。すなわち、１または複数の第１の機器と１または複数の第２の機器との連係した動作を開始させるために、第２制御装置を停止させる必要がない。これにより、稼働率の低下を抑制しながら、互いに異なる制御装置に接続される複数の機器を連係して動作させることができる。
【００１０】
上述の開示において、基準タイミングは、第１の通信手段が第１のデータの送信を開始する第１の開始タイミングである。調整手段は、第２の通信手段が第２のデータの送信を開始する第２の開始タイミングから第２の同期タイミングまでの時間よりも上記の時間差が短い場合に、第１の開始タイミングと第２の開始タイミングとが一致するように上記の位相差を調整するとともに、上記の時間差を第２の開始タイミングから第２の同期タイミングまでの時間に調整する。
【００１１】
この開示によれば、第１の同期タイミングと第２の同期タイミングとを一致させるとともに、第１の開始タイミングと第２の開始タイミングとも一致させることができる。
【００１２】
上述の開示において、調整手段は、第１の通信手段が第１のデータの送信を開始する第１の開始タイミングから第１の同期タイミングまでの第１の時間と、第２の通信手段が第２のデータの送信を開始する第２の開始タイミングから第２の同期タイミングまでの第２の時間とが異なる場合に、第１の開始タイミングと第２の開始タイミングとが第１の時間と第２の時間との差分だけずれるように上記の位相差を調整する。たとえば、調整手段は、第１の時間が第２の時間よりも長い場合に、第１の開始タイミングが第２の開始タイミングよりも早くなるように上記の位相差を調整する。
【００１３】
この開示によれば、第２の制御周期に対する第１の制御周期の位相差を調整することにより、第１の同期タイミングと第２の同期タイミングとを一致させることができる。
【００１４】
上述の開示において、調整手段は、第１の制御周期の長さと第２の制御周期の長さとが異なる場合に、第１の制御周期の長さを第２の制御周期の長さのＮ倍または１／Ｎ倍に補正する。Ｎは１以上の整数である。
【００１５】
この開示によれば、第１の同期タイミングと第２の同期タイミングとを一致させやすくなる。
【００１６】
本開示の一例によれば、第１のネットワークを介して１または複数の第１の機器を接続される制御装置は、タイマと、通信手段と、スケジューリング手段とを備える。タイマは、１または複数の第１の機器との間で互い同期される。通信手段は、タイマの時刻に基づいて、第１の制御周期ごとに１または複数の第１の機器との間で第１のデータを送受信する。スケジューリング手段は、第１の制御周期内において、１または複数の第１の機器が制御対象に対する処理を開始する第１の同期タイミングを設定する。第１の同期タイミングは、１または複数の第１の機器が第１のデータを受信した後になるように設定される。制御装置は、第１のネットワークよりも上位の第２のネットワークを介して他の制御装置と接続可能である。他の制御装置は、第２のネットワークよりも下位の第３のネットワークを介して１または複数の第２の機器に接続され、第２の制御周期ごとに１または複数の第２の機器との間で第２のデータを送受信する。１または複数の第２の機器は、第２のデータを受信した後の第２の同期タイミングに同期して制御対象に対する処理を開始する。制御装置は、第３のネットワークを介して他の制御装置に接続されると、第１の同期タイミングと第２の同期タイミングとが一致するように、第１の制御周期の長さ、第２の制御周期に対する第１の制御周期の位相差、および第１の制御周期の基準タイミングと第１の同期タイミングとの時間差の少なくとも１つを調整する調整手段をさらに備える。
【００１７】
この開示によっても、稼働率の低下を抑制しながら、互いに異なる制御装置に接続される複数の機器を連係して動作させることができる。
【発明の効果】
【００１８】
本発明によれば、稼働率の低下を抑制しながら、互いに異なる制御装置に接続される複数の機器を連係して動作させることができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態に従う制御システムの概要を模式的に示す図である。
【図２】本実施の形態に従う制御システムの全体構成の一例を示す模式図である。
【図３】本実施の形態に従う制御システムのネットワーク構成例を示す模式図である。
【図４】本実施の形態に係る制御装置およびフィールド機器のハードウェア構成例を示すブロック図である。
【図５】本実施の形態に従う制御装置のソフトウェア構成の一例を示す模式図である。
【図６】本実施の形態に従う制御装置における制御処理のスケジューリングを説明するための模式図である。
【図７】本実施の形態に従う制御装置における調整処理の第１の具体例を説明するための模式図である。
【図８】本実施の形態に従う制御装置における調整処理の第２の具体例を説明するための模式図である。
【図９】本実施の形態に従う複数の制御装置間の接続処理の流れの一例を示すフローチャートである。
【図１０】複数の制御装置間の接続処理の流れの別の例を示すフローチャートである。
【図１１】本実施の形態に係る制御システムの第１の応用例を示す模式図である。
【図１２】本実施の形態に係る制御システムの第２の応用例を示す模式図である。
【図１３】本実施の形態に係る制御システムの第３の応用例を示す模式図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照しつつ、本発明に従う実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
【００２１】
§１  適用例
まず、図１を参照して、本発明が適用される場面の一例について説明する。図１は、実施の形態に従う制御システムの概要を模式的に示す図である。
【００２２】
図１に示されるように、本実施の形態に従う制御システム１は、制御装置１００Ａ，１００Ｂ，１００Ｃと、フィールド機器２００ａ，２００ｂ，２００ｃ，２００ｄとを備える。制御装置１００Ａは、フィールドネットワーク１０Ａを介してフィールド機器２００ａに接続される。制御装置１００Ｂは、フィールドネットワーク１０Ｂを介してフィールド機器２００ｂ，２００ｃに接続される。制御装置１００Ｃは、フィールドネットワーク１０Ｃを介してフィールド機器２００ｄに接続される。なお、制御装置１００Ａ〜１００Ｃの各々に接続されるフィールド機器の個数は、１または２に限定されない。すなわち、制御装置１００Ａ〜１００Ｃの各々に接続されるフィールド機器の個数は１または複数である。
【００２３】
制御装置１００Ａ〜１００Ｃは、それぞれ制御周期ＴｃＡ〜ＴｃＣごとに、ＩＯ（Input／Output）リフレッシュ処理、ユーザプログラム実行処理、モーション処理および他の処理を実行する。
【００２４】
ＩＯリフレッシュ処理とは、制御装置とフィールド機器との間でデータを送受信する処理である。
【００２５】
ユーザプログラム実行処理とは、ユーザによって任意に作成されたプログラムを実行する処理である。
【００２６】
モーション処理とは、フィールド機器が備えるサーボモータなどのアクチュエータに対して、位置、速度、加速度、加加速度、角度、角速度、角加速度、角加加速度などの数値を指令として演算する処理である。
【００２７】
他の処理は、ＩＯリフレッシュ処理、ユーザプログラム実行処理およびモーション処理以外の各種処理を含む。
【００２８】
制御装置１００Ａおよびフィールド機器２００ａの各々は、互いに同期したタイマをそれぞれ有する。制御装置１００Ａは、当該タイマの時刻に基づいて、制御周期ＴｃＡごとにフィールド機器２００ａとの間でデータを送受信する。制御装置１００Ａは、制御周期ＴｃＡ内において、フィールド機器２００ａがデータを受信した後の同期タイミングｔ１Ａを設定する。フィールド機器２００ａは、制御装置１００Ａとの間で同期されたタイマに基づいて、同期タイミングｔ１Ａに同期して制御対象に対する処理を開始する。具体的には、フィールド機器２００ａは、タイマの時刻が同期タイミングｔ１Ａに到達したときにトリガ信号ＴＲａを生成し、トリガ信号ＴＲａの発生に応じて、制御対象に対する処理を開始する。
【００２９】
制御装置１００Ｂおよびフィールド機器２００ｂ，２００ｃの各々は、互いに同期したタイマを有する。制御装置１００Ｂは、当該タイマの時刻に基づいて、制御周期ＴｃＢごとにフィールド機器２００ｂ，２００ｃとの間でデータを送受信する。制御装置１００Ｂは、制御周期ＴｃＢ内において、フィールド機器２００ｂ，２００ｃがデータを受信した後の同期タイミングｔ１Ｂを設定する。フィールド機器２００ｂ，２００ｃは、制御装置１００Ｂとの間で同期されたタイマの時刻に基づいて、同期タイミングｔ１Ｂに同期して制御対象に対する処理を開始する。具体的には、フィールド機器２００ｂは、タイマの時刻が同期タイミングｔ１Ｂに到達したときにトリガ信号ＴＲｂを生成し、トリガ信号ＴＲｂの発生に応じて、制御対象に対する処理をそれぞれ開始する。同様に、フィールド機器２００ｃは、タイマの時刻が同期タイミングｔ１Ｂに到達したときにトリガ信号ＴＲｃを生成し、トリガ信号ＴＲｃの発生に応じて、制御対象に対する処理をそれぞれ開始する。
【００３０】
制御装置１００Ｃおよびフィールド機器２００ｄの各々は、互いに同期したタイマを有する。制御装置１００Ｃは、当該タイマの時刻に基づいて、制御周期ＴｃＣごとにフィールド機器２００ｄとの間でデータを送受信する。制御装置１００Ｃは、制御周期ＴｃＣ内において、フィールド機器２００ｄがデータを受信した後の同期タイミングｔ１Ｃを設定する。フィールド機器２００ｄは、制御装置１００Ｃとの間で同期されたタイマの時刻に基づいて、同期タイミングｔ１Ｃに同期して制御対象に対する処理を開始する。具体的には、フィールド機器２００ｄは、タイマの時刻が同期タイミングｔ１Ｃに到達したときにトリガ信号ＴＲｄを生成し、トリガ信号ＴＲｄの発生に応じて、制御対象に対する処理を開始する。
【００３１】
制御対象に対する処理は、たとえば、制御対象の機械や設備などからのフィールド情報の収集処理、制御対象の機械や設備への指令信号の出力処理などである。
【００３２】
図１に示す例では、制御装置１００Ａと制御装置１００Ｂとがフィールドネットワーク１０Ａ，１０Ｂよりも上位のネットワーク１１を介して予め接続されている。そして、制御装置１００Ａと制御装置１００Ｂとの間で、同期タイミングｔ１Ａと同期タイミングｔ１Ｂとを一致させるための各種の設定が予め行なわれている。
【００３３】
具体的には、制御装置１００Ａの制御周期ＴｃＡの長さと制御装置１００Ｂの制御周期ＴｃＢの長さとが同一に設定される。さらに、制御周期ＴｃＡ内におけるＩＯリフレッシュ処理の開始タイミングｔ０Ａと制御周期ＴｃＢにおけるＩＯリフレッシュ処理の開始タイミングｔ０Ｂとが一致するように、制御周期ＴｃＡ，ＴｃＢの位相が設定される。さらに、制御周期ＴｃＡにおける開始タイミングｔ０Ａと同期タイミングｔ１Ａとの時間差と、制御周期ＴｃＢにおける開始タイミングｔ０Ｂと同期タイミングｔ１Ｂとの時間差とが同一に設定される。これにより、制御装置１００Ａ，１００Ｂに接続されるフィールド機器２００ａ〜２００ｃは、同時刻に制御対象に対する処理を開始することができる。その結果、フィールド機器２００ａ〜２００ｃは連係して動作する。
【００３４】
制御装置１００Ｃがネットワーク１１を介して制御装置１００Ａ，１００Ｂに接続されていない場合、制御装置１００Ｃは、制御装置１００Ａ，１００Ｂと独立してフィールド機器２００ｄを制御する。そのため、図１の左側に示されるように、制御周期ＴｃＣ内の同期タイミングｔ１Ｃは、同期タイミングｔ１Ａ，ｔ１Ｂと一致しない。その結果、フィールド機器２００ｄは、制御装置１００Ａ，１００Ｂに接続されるフィールド機器２００ａ〜２００ｃと連係して動作できない。
【００３５】
制御装置１００Ｃがネットワーク１１を介して制御装置１００Ａ，１００Ｂに接続されると、制御装置１００Ｃは、制御周期ＴｃＣ内の同期タイミングｔ１Ｃが同期タイミングｔ１Ａ，ｔ１Ｂと一致するように、以下の（ａ）〜（ｃ）の少なくとも１つを調整する。
（ａ）制御周期ＴｃＣの長さ、
（ｂ）制御周期ＴｃＡ，ＴｃＢに対する制御周期ＴｃＣの位相差、
（ｃ）制御周期ＴｃＣの基準タイミング（たとえばＩＯリフレッシュ処理の開始タイミングｔ０Ｃ）と同期タイミングｔ１Ｃとの時間差。
【００３６】
図１の右側に示す例では、制御周期ＴｃＣの長さが制御周期ＴｃＡ，ＴｃＢの長さの１倍になるように調整される。さらに、同期タイミングｔ１Ｃが同期タイミングｔ１Ａ，ｔ１Ｂと一致するように、制御周期ＴｃＡ，ＴｃＢに対する制御周期ＴｃＣの位相差が調整される。これにより、同期タイミングｔ１Ｃが同期タイミングｔ１Ａ，ｔ１Ｂと一致する。その結果、フィールド機器２００ｄは、制御装置１００Ａ，１００Ｂに接続されるフィールド機器２００ａ〜２００ｃと連係して動作できる。
【００３７】
本実施の形態によれば、制御装置１００Ｃが制御装置１００Ａ，１００Ｂと接続されるときに、制御装置１００Ａ，１００Ｂは、制御周期の長さ、制御周期の位相、および、制御周期内の同期タイミングと基準タイミングとの時間差を調整する必要がない。そのため、制御装置１００Ａ，１００Ｂが稼働中であっても、制御装置１００Ｃを制御装置１００Ａ，１００Ｂにネットワーク１１を介して接続させ、フィールド機器２００ａ〜２００ｄの連係した動作を開始させることができる。すなわち、フィールド機器２００ａ〜２００ｄの連係した動作を開始させるために、制御装置１００Ａ，１００Ｂを停止させる必要がない。これにより、稼働率の低下を抑制しながら、互いに異なる制御装置１００Ａ〜１００Ｃに接続される複数のフィールド機器２００ａ〜２００ｄを連係して動作させることができる。
【００３８】
§２  構成例
本発明の実施の形態について、図面を参照しながら詳細に説明する。以下の説明においては、「制御装置」の典型例として、ＰＬＣ（プログラマブルロジックコントローラ）を具体例として説明するが、ＰＬＣの名称に限定されることなく、本明細書に開示された技術思想は、任意の制御装置に対して適用可能である。
【００３９】
＜Ａ．制御システムの全体構成＞
まず、本実施の形態に従う制御システムの全体構成について説明する。図２は、本実施の形態に従う制御システム１の全体構成の一例を示す模式図である。
【００４０】
図２を参照して、制御システム１では、ネットワークが複数レベルに接続されており、各レベルのネットワークには、それぞれ異なる機能が割り当てられる。具体的には、４つのレベルのネットワーク１１〜１４が設けられている。
【００４１】
ネットワーク１１は、コントロールレベルのネットワークである。ネットワーク１１には、装置／ライン管理機器である装置／ライン管理装置１９０とＳＣＡＤＡ（Supervisory  Control  And  Data  Acquisition）機能を提供する表示装置１９５とが接続されるとともに、マシン制御機器である複数の制御装置１００Ａ〜１００Ｃ（以下、「制御装置１００」と総称することもある。）が接続可能である。ネットワーク１１には、接続されている装置間でデータを伝送できるリンクが形成される。ネットワーク１１は、コントローラ（制御装置１００）と管理機器（装置／ライン管理装置１９０および表示装置１９５）との間でデータリンクを構築する。ネットワーク１１は、主として、制御系に係る情報の伝送を主たる機能として提供する。
【００４２】
制御装置１００には、センサ、アクチュエータといった各種のフィールド機器が接続される。これらのフィールド機器は、制御装置１００に装着される入出力ユニットを介して直接接続される場合もあるが、フィールドネットワークを介して接続されることもある。図１に示す構成例においては、制御装置１００Ａ〜１００Ｃでは、１または複数のフィールドネットワーク１０Ａ〜１０Ｃがそれぞれ構成されている。フィールドネットワーク１０Ａ〜１０Ｃ（以下、「フィールドネットワーク１０」と総称することもある。）の各々には、１または複数のフィールド機器２００が接続される。１または複数のフィールド機器２００の各々は、製造装置や生産ラインなど（以下、「フィールド」とも総称する。）に対して何らかの物理的な作用を与えるアクチュエータ、およびフィールドとの間で情報を遣り取りする入出力装置などを含む。したがって、図１に示す制御システム１には、ネットワーク１１〜１４の４つのレベルに加えて、フィールドレベルのネットワークがさらに追加されることになる。
【００４３】
フィールドネットワーク１０を介して制御装置１００とフィールド機器２００との間でデータが送受信される（ＩＯリフレッシュ処理）。送受信されるデータは、数１００μｓｅｃオーダ〜数１０ｍｓｅｃオーダのごく短い制御周期で更新される。
【００４４】
ネットワーク１２は、管理レベルのネットワークであり、装置／ライン管理装置１９０と、製造管理装置２５０およびデータベース装置２５５とが接続されており、装置間でデータを伝送できるリンクが形成される。ネットワーク１２は、管理情報の遣り取りおよび装置／ラインの情報の伝送を主たる機能として提供する。
【００４５】
ネットワーク１３は、コンピュータレベルのネットワークであり、製造管理装置２５０およびデータベース装置２５５と生産計画などを管理する生産管理装置３００とが接続されており、装置間でデータを伝送できるリンクが形成される。ネットワーク１３は、生産管理および情報系のデータの伝送を主たる機能として提供する。
【００４６】
ネットワーク１４は、インターネットなどの外部ネットワークであり、生産管理装置３００とクラウドやサプライチェーンなどとが接続される。
【００４７】
図２に示す制御システム１において、ネットワーク１２およびそれ以下のレベルは、「ファクトリーネットワーク」とも称され、機器を現実に制御するためのデータ（以下、「制御系データ」と総称することもある）を遣り取りする制御系通信を提供する。一方、ネットワーク１３以上のレベルは、「コーポレートネットワーク」とも称され、生産ライン／工場での生産活動などを監視・管理・制御するためのデータ（以下、「情報系データ」と総称することもある）を遣り取りする情報系通信を提供する。
【００４８】
ネットワーク１１〜１４およびフィールドネットワーク１０Ａ〜１０Ｃには、このような要求される特性の違いに応じたプロトコルおよびフレームワークが採用される。例えば、ファクトリーネットワークに属するネットワーク１１，１２のプロトコルとしては、汎用的なＥｔｈｅｒｎｅｔ（登録商標）上に制御用プロトコルを実装した産業用オープンネットワークであるＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）を用いてもよい。また、フィールドネットワーク１０Ａ〜１０Ｃのプロトコルとしては、マシンコントロール用ネットワークの一例であるＥｔｈｅｒＣＡＴ（登録商標）を採用してもよい。なお、ネットワーク１１のプロトコル（第１のプロトコル）とフィールドネットワーク１０Ａ〜１０Ｃのプロトコル（第２のプロトコル）とは、同じであってもよいし、異なっていてもよい。
【００４９】
このようなマシンコントロールに適したネットワーク技術を採用することで、機器間の伝送に要する時間が保証されたリアルタイム性を提供できる。但し、１回の通信周期で伝送可能なデータ量には制限がある。
【００５０】
一方、コーポレートネットワークに属するネットワーク１３，１４のプロトコルとしては、接続先の多様性を担保するために、汎用的なＥｔｈｅｒｎｅｔなどが用いられる。汎用的なＥｔｈｅｒｎｅｔを採用することで、リアルタイム性は実現できないものの、送信可能なデータ量などの制限は存在しない。
【００５１】
＜Ｂ．ネットワーク構成例＞
次に、本実施の形態に従う制御システム１のネットワーク構成例について説明する。図３は、本実施の形態に従う制御システム１のネットワーク構成例を示す模式図である。
【００５２】
図３に示す制御システム１は、複数の制御装置１００Ａ〜１００Ｃと、複数のフィールド機器２００ａ〜２００ｄとを含む。制御システム１は、一例として、少なくとも一部の制御装置がデイジーチェーン接続のネットワークを採用する。制御装置１００Ａ〜１００Ｃは、フィールドネットワーク１０Ａ〜１０Ｃ内のデータ伝送を管理するマスタとしてそれぞれ動作る。フィールド機器２００ａ〜２００ｄは、対応するマスタからの指令に従ってデータ伝送を行なうスレーブとして動作する。
【００５３】
制御装置１００Ａ，１００Ｂは、コントロールレベルのネットワーク１１（上位ネットワーク）に接続されている。ネットワーク１１には、例えば装置／ライン管理装置１９０が接続されている。
【００５４】
制御装置１００Ｃは、フィールド機器２００ｄをフィールド機器２００ａ〜２００ｃと連係して動作させる際にネットワーク１１に接続される。制御装置１００Ｃは、フィールド機器２００ｄをフィールド機器２００ａ〜２００ｃと連係して動作させない場合に、ネットワーク１１から切り離される。なお、制御装置１００Ａ〜１００Ｃとネットワーク１１とは、有線通信によって接続されてもよいし、無線通信によって接続されてもよい。
【００５５】
制御装置１００Ａに接続されるフィールドネットワーク１０Ａには、フィールド機器２００ａを含む複数のフィールド機器がデイジーチェーンで順次接続されている。制御装置１００Ｂに接続されるフィールドネットワーク１０Ｂには、フィールド機器２００ｂ、２００ｃを含む複数のフィールド機器がデイジーチェーンで順次接続されている。制御装置１００Ｃに接続されるフィールドネットワーク１０Ｃには、フィールド機器２００ｄを含む複数のフィールド機器がデイジーチェーンで順次接続されている。
【００５６】
フィールドネットワーク１０Ａ〜１０Ｃの各々において、制御装置１００および１または複数のフィールド機器２００は、いずれもデータ伝送動作を行なう通信装置とみなすことができる。図３に示す例においては、制御装置１００および１または複数のフィールド機器２００の各々は、隣接して接続されている上流側の通信装置からデータを受信すると、当該データを必要に応じて、隣接して接続されている下流側の通信装置へ伝送する。なお、受信されたデータが自装置宛てである場合には、当該受信したデータは他の通信装置へ伝送されることなく、当該データを受信した装置自体で当該データが処理される。
【００５７】
本実施の形態に従う制御システム１において、フィールドネットワーク１０Ａ〜１０Ｃの各々を構成する複数の通信装置、すなわち制御装置１００および１または複数のフィールド機器２００の間では、送受信タイミングが時刻同期されている（図中の時刻同期（３）に相当）。具体的には、制御装置１００および１または複数のフィールド機器２００の各々は、互いに時刻同期されたタイマを有しており、それらの時刻同期されたタイマに従って、各々がデータの送信または受信のタイミングを決定する。なお、タイマは、同期してインクリメントまたはデクリメントされるカウンタであってもよい。
【００５８】
図３に示す例では、制御装置１００Ａはタイマ１０２Ａを有しており、フィールド機器２００ａはタイマ２０１ａを有している。タイマ１０２Ａがマスタとして動作し、タイマ２０１ａがこのマスタを基準としてタイミングを同期させる。
【００５９】
制御装置１００Ｂはタイマ１０２Ｂを有しており、フィールド機器２００ｂ，２００ｃはタイマ２０１ｂ，２０１ｃをそれぞれ有している。タイマ１０２Ｂがマスタとして動作し、タイマ２０１ｂ，２０１ｃがこのマスタを基準としてタイミングを同期させる。
【００６０】
制御装置１００Ｃはタイマ１０２Ｃを有しており、フィールド機器２００ｄはタイマ２０１ｄを有している。タイマ１０２Ｃがマスタとして動作し、タイマ２０１ｄがこのマスタを基準としてタイミングを同期させる。
【００６１】
すなわち、制御装置１００Ａ〜１００Ｃは、フィールドネットワーク１０Ａ〜１０Ｃ内のデータ伝送を管理するマスタとしてそれぞれ動作する。各制御装置１００に接続されるフィールド機器２００は、マスタからの指令に従ってデータ伝送を行なうスレーブとして動作する。マスタとスレーブとの間でタイマを互いに同期させることにより、フィールドネットワーク１０を構成する制御装置１００とフィールド機器２００との間でデータの伝送タイミングなどを互いに一致させることができる。
【００６２】
図３に示す例において、制御装置１００Ａは、さらに、タイマ１０２Ａと時刻同期されたタイマ１０１Ａを有している。制御装置１００Ｂは、さらに、タイマ１０２Ｂと時刻同期されたタイマ１０１Ｂを有している。制御装置１００Ｃは、さらに、タイマ１０２Ｃと時刻同期されたタイマ１０１Ｃを有している（図中の時刻同期（２）に相当）。
【００６３】
制御システム１において、タイマ１０１Ａ，１０１Ｂのいずれかを、制御システム１全体のマスタとして動作させる。以下、このようなシステム全体のマスタを「グランドマスタクロック」とも称す。
【００６４】
一例として、図３では、制御装置１００Ａのタイマ１０１Ａがグランドマスタクロックに設定され、制御装置１００Ｂのタイマ１０１Ｂがこのグランドマスタクロックに時刻同期する。さらに、制御装置１００Ｃがネットワーク１１に接続されると、制御装置１００Ｃのタイマ１０１Ｃがグランドマスタクロックに時刻同期する。これにより、ネットワーク１１に接続されている複数の制御装置１００Ａ〜１００Ｃの間で、互いに時刻同期させることができる（図中の時刻同期（１）に相当）。
【００６５】
なお、図３には、制御装置１００Ａのタイマ１０１Ａをグランドマスタクロックとして設定する構成例について説明したが、外部装置のタイマをグランドマスタクロックとして設定してもよい。
【００６６】
＜Ｃ．制御装置およびフィールド機器のハードウェア構成例＞
次に、本実施の形態に従う制御装置１００（１００Ａ〜１００Ｃ）およびフィールド機器２００（２００ａ〜２００ｄ）のハードウェア構成について説明する。
【００６７】
図４は、本実施の形態に係る制御装置およびフィールド機器のハードウェア構成例を示すブロック図である。制御装置１００は、典型的には、ＰＬＣ（プログラマブルコントローラ）をベースとして構成されてもよい。
【００６８】
図４を参照して、制御装置１００は、主たるコンポーネントとして、プロセッサ１０３と、メモリ１０４と、ストレージ１０６と、ネットワークコントローラ１３０と、フィールドネットワークコントローラ１４０とを含む。
【００６９】
プロセッサ１０３は、ストレージ１０６に格納されているシステムプログラム１０７およびユーザアプリケーションプログラム１０８を読み出して実行することにより、各種処理を実現する。メモリ１０４は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）などの揮発性記憶装置からなる。ストレージ１０６は、制御装置１００の各部を制御するためのシステムプログラム１０７に加えて、制御対象などに応じて設計されるユーザアプリケーションプログラム１０８を記憶する。
【００７０】
ネットワークコントローラ１３０は、制御装置１００がネットワーク１１を介して他の装置との間でデータを遣り取りするためのインターフェイスを提供する。ネットワークコントローラ１３０は、主たるコンポーネントとして、送受信コントローラ１３１と、送受信バッファ１３２と、タイマ１０１とを含む。タイマ１０１は、制御装置１００Ａではタイマ１０１Ａ（図３参照）に対応し、制御装置１００Ｂではタイマ１０１Ｂに対応し、制御装置１００Ｃではタイマ１０１Ｃに対応する。
【００７１】
送受信コントローラ１３１は、ネットワーク１１上を定周期で伝送されるパケットの生成および受信に関する処理を行なう。具体的には、送受信コントローラ１３１は、ネットワーク１１から受信したパケットに格納されているデータを送受信バッファ１３２に書込む。送受信コントローラ１３１は、送受信バッファ１３２に書込まれた受信パケットを順次読出すとともに、当該読出したデータのうち制御装置１００での処理に必要なデータのみをプロセッサ１０３へ出力する。送受信コントローラ１３１は、プロセッサ１０３からの指令に従って、他の装置へ送信すべきデータあるいはパケットを送受信バッファ１３２へ順次書込む。送受信バッファ１３２に格納されているデータは、ネットワークコントローラ１３０上をパケットが転送される周期に応じて順次送出される。
【００７２】
タイマ１０１は、送受信コントローラ１３１からデータの送信などを指示するタイミングの基準となるパルスを発生する。タイマ１０１としては、リアルタイムクロック、または、所定周期でカウントアップ（インクリメント）するフリーランカウンタを用いることができる。フリーランカウンタが出力するカウント値をある時点からの経過時間として扱うことで現在時刻を計算でき、これによってタイマとして動作させることができる。
【００７３】
フィールドネットワークコントローラ１４０は、制御装置１００がフィールドネットワーク１０を介してフィールド機器２００との間でデータを送受信するためのインターフェイスを提供する。フィールドネットワークコントローラ１４０は、主たるコンポーネントとして、送受信コントローラ１４１と、送受信バッファ１４２と、タイマ１０２とを含む。送受信コントローラ１４１は、タイマ１０２の時刻に基づいて、制御周期Ｔｃごとにフィールド機器２００との間でデータを送受信する。これらのコンポーネントの動作は、ネットワークコントローラ１３０の対応するコンポーネントの動作と同様であるので、詳細な説明は繰返さない。なお、タイマ１０２は、制御装置１００Ａではタイマ１０２Ａ（図３参照）に対応し、制御装置１００Ｂではタイマ１０２Ｂに対応し、制御装置１００Ｃではタイマ１０２Ｃに対応する。
【００７４】
フィールド機器２００は、制御装置１００による制御に従って、機械や設備などの制御対象５００に対する処理を行なう。典型的には、フィールド機器２００は、制御対象５００からのフィールド情報の収集処理や、制御対象５００への指令信号の出力処理などを行なう。フィールド機器２００は、主たるコンポーネントとして、フィールドネットワークコントローラ２１０と、処理部２１６とを含む。
【００７５】
フィールドネットワークコントローラ２１０は、フィールド機器２００がフィールドネットワーク１０を介して制御装置１００との間でデータを送受信するためのインターフェイスを提供する。フィールドネットワークコントローラ２１０は、主たるコンポーネントとして、送受信コントローラ２１２と、タイマ２０１と、トリガ信号生成回路２１４とを含む。
【００７６】
送受信コントローラ２１２は、フィールドネットワーク１０上を転送される通信フレームに対するデータ書込みおよびデータ読出しを行なう。
【００７７】
タイマ２０１は、送受信コントローラ２１２に対する指令出力やフィールド機器２００での処理実行などのタイミングの基準となるクロックを発生する。タイマ２０１としては、リアルタイムクロックまたがフリーランカウンタが用いられる。なお、タイマ２０１は、フィールド機器２００ａではタイマ２０１ａ（図３参照）に対応し、フィールド機器２００ｂではタイマ２０１ｂに対応し、フィールド機器２００ｃではタイマ２０１ｃに対応し、フィールド機器２００ｄではタイマ２０１ｄに対応する。
【００７８】
トリガ信号生成回路２１４は、タイマ２０１で示される時刻が同期タイミングｔ１に到達するとトリガ信号ＴＲを生成し、処理部２１６に出力する。同期タイミングｔ１は、制御装置１００の起動時に設定される。すなわち、制御装置１００は、起動時に、フィールドネットワーク１０に接続されたフィールド機器２００の構成を認識し、フィールド機器２００の接続台数および各フィールド機器２００の通信遅延を考慮して、同期タイミングｔ１を設定する。なお、同期タイミングｔ１は、ユーザの指示に応じて調整されてもよい。制御装置１００Ａ〜１００Ｃによって設定される同期タイミングｔ１は、それぞれ同期タイミングｔ１Ａ〜ｔ１Ｃ（図１参照）である。フィールド機器２００ａ〜２００ｄで生成されるトリガ信号ＴＲは、それぞれトリガ信号ＴＲａ〜ＴＲｄ（図１参照）である。
【００７９】
フィールドネットワーク１０のプロトコルとしてＥｔｈｅｒＣＡＴ（登録商標）を用いる場合、トリガ信号生成回路２１４は、ＥｔｈｅｒＣＡＴ（登録商標）で規定される同期信号Ｓｙｎｃ０をトリガ信号ＴＲとして生成すればよい。
【００８０】
処理部２１６は、制御対象５００に対する処理を行なう。処理部２１６は、トリガ信号生成回路２１４からトリガ信号ＴＲを受けると、制御対象５００に対する処理を開始する。
【００８１】
たとえば、制御対象５００がサーボモータである場合、処理部２１６は、制御装置１００からの指令に基づいてサーボモータに対するコマンドを生成し、生成したコマンドに従ってサーボモータを動作させる。さらに、サーボモータの回転軸にはエンコーダが設けられており、処理部２１６は、当該エンコーダから、サーボモータの位置（回転角度）、回転速度、累積回転数などのフィールド情報を収集する。
【００８２】
制御対象５００がロボットである場合、処理部２１６は、制御装置１００からの指令に基づいてロボットに対するコマンドを生成し、生成したコマンドに従ってロボットを動作させる。具体的には、処理部２１６は、ロボットが有する１または複数のサーボモータを動作させる。さらに、サーボモータの回転軸にはエンコーダが設けられており、処理部２１６は、当該エンコーダから、サーボモータの位置（回転角度）、回転速度、累積回転数などのフィールド情報を収集する。
【００８３】
制御対象５００がカメラである場合、処理部２１６は、カメラに撮像指示を出力し、撮像により得られた画像データを取得する。
【００８４】
＜Ｄ．ソフトウェア構成＞
次に、本実施の形態に従う制御装置１００のソフトウェア構成の一例について説明する。図５は、本実施の形態に従う制御装置のソフトウェア構成の一例を示す模式図である。
【００８５】
図５を参照して、制御装置１００のプロセッサ１０３ではスケジューラ１７０が実行される。スケジューラ１７０は、予め定められた制御周期Ｔｃに従って、複数の処理の実行順序や実行中断などを決定する。より具体的には、スケジューラ１７０は、ユーザプログラム実行処理１７１と、モーション処理１７２と、各種処理を含む周辺処理１７３と、上位ネットワーク通信処理１７４と、下位ネットワーク通信処理１７６と、上位ネットワーク時刻同期処理１７８と、下位ネットワーク時刻同期処理１７９と、調整処理１８０とに対して、予め定められた優先度および制御周期Ｔｃなどに従って、処理リソース（プロセッサ時間およびメモリなど）を割り当てる。
【００８６】
さらに、スケジューラ１７０は、フィールドネットワーク１０を介して接続されたフィールド機器２００がトリガ信号ＴＲを生成する同期タイミングｔ１を設定する。
【００８７】
ユーザプログラム実行処理１７１は、ユーザアプリケーションプログラム１０８（図４参照）の実行に係る処理を含む。モーション処理１７２は、フィールド機器２００が備えるサーボモータなどのアクチュエータに対する指令を演算する処理である。
【００８８】
上位ネットワーク通信処理１７４は、上位ネットワーク通信に関わるデータに係る処理、たとえば、データ作成、エンコーディング、デコーディング、抽出、加工編集などを含む。プロセッサ１０３にはＮＩＣ（Network Interface Card）１７５が実装されている。ＮＩＣ１７５は、図示しない通信ポートに接続され、ネットワーク１１上でのデータ伝送を管理する。上位ネットワーク通信処理１７４は、ＮＩＣ１７５を介して、ネットワークコントローラ１３０（図４参照）を制御する。
【００８９】
同様に、下位ネットワーク通信処理１７６は、下位ネットワーク通信に関わるデータに係る処理を含む。プロセッサ１０３にはＮＩＣ１７７が実装されている。ＮＩＣ１７７は、図示しない通信ポートに接続され、フィールドネットワーク１０上でのデータ伝送を管理する。下位ネットワーク通信処理１７６は、ＮＩＣ１７７を介して、フィールドネットワークコントローラ１４０（図４参照）を制御する。
【００９０】
上位ネットワーク時刻同期処理１７８は、他の制御装置１００との時刻同期に係る処理を含む。たとえば、自身の制御装置１００のタイマ１０１（図４参照）がグランドマスタクロックに設定された場合、上位ネットワーク時刻同期処理１７８は、他の制御装置１００との間で時刻同期をとるために、自身のタイマ１０１を基準として、他の制御装置１００のタイマ１０１を調整する処理などを含む。あるいは、他の制御装置１００のタイマ１０１がグランドマスタクロックに設定された場合、上位ネットワーク時刻同期処理１７８は、他の制御装置１００のタイマ１０１を基準として自身のタイマ１０１を調整する処理を含む。
【００９１】
下位ネットワーク時刻同期処理１７９は、フィールド機器２００との時刻同期に係る処理を含む。たとえば、自身の制御装置１００のタイマ１０１がグランドマスタクロックに設定された場合、下位ネットワーク時刻同期処理１７９は、自身のタイマ１０１を基準として、自身のタイマ１０２（図４参照）およびフィールド機器２００のタイマ２０１を調整する処理などを含む。あるいは、他の制御装置１００のタイマ１０１がグランドマスタクロックに設定された場合、下位ネットワーク時刻同期処理１７９は、他の制御装置１００のタイマ１０１を基準として、自身のタイマ１０２およびフィールド機器２００のタイマ２０１を調整する処理を含む。
【００９２】
調整処理１８０は、他の制御装置１００に接続されたときに、他の制御装置１００で設定された同期タイミングｔ１と、スケジューラ１７０が設定した同期タイミングｔ１とが一致するように、以下の（ａ）〜（ｃ）の少なくとも１つを調整する処理である。
（ａ）自身の制御装置１００の制御周期Ｔｃの長さ、
（ｂ）他の制御装置１００の制御周期Ｔｃに対する自身の制御周期Ｔｃの位相差、
（ｃ）自身の制御装置１００の制御周期Ｔｃの基準タイミング（たとえばＩＯリフレッシュ処理の開始タイミングｔ０）と同期タイミングｔ１との時間差（オフセット時間）。
【００９３】
＜Ｅ．制御処理のスケジューリング＞
次に、本実施の形態に従う制御装置１００における制御処理のスケジューリングについて説明する。
【００９４】
図６は、本実施の形態に従う制御装置における制御処理のスケジューリングを説明するための模式図である。図６に示す例では、予め定められた制御周期Ｔｃに従って、ＩＯリフレッシュ処理、ユーザプログラム実行処理、モーション処理、およびその他の処理がこの順で実行される。
【００９５】
ＩＯリフレッシュ処理では、直前の制御周期Ｔｃにおけるモーション処理により演算された出力データがフィールド機器２００へ与えられ、フィールド機器２００から入力データが収集される。
【００９６】
フィールド機器２００は、制御対象に対する処理を開始する前に、制御装置１００から新たなデータを受け取る必要がある。そのため、制御装置１００は、フィールドネットワーク１０を介して接続される全てのフィールド機器２００がデータを受け取るタイミングより同期タイミングｔ１が後になるように、制御周期Ｔｃ内において同期タイミングｔ１を設定する。すなわち、ＩＯリフレッシュ処理の開始タイミングｔ０から全てのフィールド機器２００がデータを受け取るタイミングまでの時間よりも、開始タイミングｔ０から同期タイミングｔ１までの時間が長くなるように、同期タイミングｔ１が設定される。これにより、各フィールド機器２００は、制御装置１００からデータを受け取った後の同期タイミングｔ１においてトリガ信号ＴＲを生成し、制御対象５００に対する処理を開始できる。
【００９７】
＜Ｆ．調整処理の第１の具体例＞
次に、本実施の形態に従う制御装置１００における調整処理１８０（図５参照）の第１の具体例について説明する。
【００９８】
図７は、本実施の形態に従う制御装置における調整処理の第１の具体例を説明するための模式図である。図７に示す例では、制御装置１００Ａと制御装置１００Ｂとの間で、同期タイミングｔ１Ａと同期タイミングｔ１Ｂとを一致させるための各種の設定が予め行なわている。そして、制御装置１００Ｃがネットワーク１１を介して、稼働中の制御装置１００Ａ，１００Ｂと接続される。稼働中の制御装置１００Ａ，１００Ｂでは調整処理１８０が無効化され、制御装置１００Ｃにおいて調整処理１８０が行なわれる。また、制御装置１００Ａのタイマ１０１Ａがグランドマスタクロックに設定されているものとする。
【００９９】
図７（ａ）には、制御装置１００Ｃがネットワーク１１に接続されていないときの、各制御装置の制御処理のスケジュールが示されている。制御装置１００Ｃと制御装置１００Ａ，１００Ｂとが接続されていないため、制御装置１００Ｃの制御処理のスケジュールは、制御装置１００Ａ，１００Ｂの制御処理のスケジュールと独立している。すなわち、制御装置１００Ｃによって設定された同期タイミングｔ１Ｃは、同期タイミングｔ１Ａ，ｔ１Ｂと一致しない。
【０１００】
制御装置１００Ｃが制御装置１００Ａ，１００Ｂとネットワーク１１を介して接続されると、制御装置１００Ｃの調整処理１８０によって、制御周期ＴｃＣの長さが制御周期ＴｃＡ（＝制御周期ＴｃＢ）の長さと同じに調整される。さらに、制御装置１００Ｃのタイマ１０１Ｃは、上位ネットワーク時刻同期処理１７８（図５参照）によって、制御装置１００Ａのタイマ１０１Ａとの間で時刻同期をとるように調整される。
【０１０１】
図７（ｂ）には、タイマ１０１Ｃがタイマ１０１Ａと時刻同期されたときの、各制御装置の制御処理のスケジュールが示されている。制御装置１００Ｃは、制御装置１００Ａ，１００Ｂとの間で同期されたタイマの時刻に従って、制御装置１００Ａ、１００Ｂと同一のタイミングでＩＯリフレッシュ処理を開始させる。すなわち、制御装置１００ＡにおけるＩＯリフレッシュ処理の開始タイミングｔ０Ａと、制御装置１００ＣにおけるＩＯリフレッシュ処理の開始タイミングｔ０Ｃとが一致するように、制御周期ＴｃＡ，ＴｃＢに対する制御周期ＴｃＣの位相差が調整される。開始タイミングｔ０Ａ，ｔ０Ｂ，ｔ０Ｃはそれぞれ、制御装置１００Ａ，１００Ｂ，１００Ｃのフィールドネットワークコントローラ１４０がデータの送信を開始するタイミングである。
【０１０２】
しかしながら、制御周期ＴｃＣにおける開始タイミングｔ０Ｃと同期タイミングｔ１Ｃとの時間差Ｔｓは、制御周期ＴｃＡにおける開始タイミングｔ０Ａと同期タイミングｔ１Ａとの時間差Ｔｍと異なる。図７に示す例では、時間差Ｔｓは、時間差Ｔｍよりも短い。そのため、開始タイミングｔ０Ｃを開始タイミングｔ０Ａに合わせたとしても、制御装置１００Ｃに接続されるフィールド機器２００ｄは、制御装置１００Ａまたは制御装置１００Ｂに接続されるフィールド機器２００ａ，２００ｂと連係して動作できない。
【０１０３】
同期タイミングｔ１Ｃを同期タイミングｔ１Ａと一致させるために、制御装置１００Ｃでは、開始タイミングｔ０Ｃと同期タイミングｔ１Ｃとの時間差をＴｍまで長くする調整処理１８０が行なわれる。すなわち、開始タイミングｔ０Ｃと同期タイミングｔ１Ｃとの時間差は、差分ΔＴ（＝Ｔｍ−Ｔｓ）だけ長くなるように調整される。
【０１０４】
上述したように、同期タイミングｔ１Ｃは、制御装置１００Ｃに接続される全てのフィールド機器２００がデータを受け取るタイミングよも後になるように予め設定されている。そのため、ＩＯリフレッシュ処理の開始タイミングｔ０Ｃと同期タイミングｔ１Ｃとの時間差を長くしたとしても、全てのフィールド機器２００は、制御装置１００Ｃからのデータを受け取った後に、制御対象５００に対する処理を開始できる。
【０１０５】
図７（ｃ）には、開始タイミングｔ０Ｃと同期タイミングｔ１Ｃとの時間差が調整された後の、各制御装置の制御処理のスケジュールが示されている。図７（ｃ）に示されるように、開始タイミングｔ０Ｃと同期タイミングｔ１Ｃとの時間差が調整されることにより、同期タイミングｔ１Ｃと同期タイミングｔ１Ａとが一致する。
【０１０６】
このように、制御装置１００Ｃのプロセッサ１０３は、開始タイミングｔ０Ａから同期タイミングｔ１Ａまでの時間（時間差Ｔｍ）よりも開始タイミングｔ０Ｃから同期タイミングｔ１Ｃまでの時間（時間差Ｔｓ）が短い場合に、以下の調整処理１８０を行なう。すなわち、制御装置１００Ｃのプロセッサ１０３は、開始タイミングｔ０Ｃと開始タイミングｔ０Ａとが一致するように、制御周期ＴｃＡに対する制御周期ＴｃＣの位相差を調整する。さらに、制御装置１００Ｃのプロセッサ１０３は、開始タイミングｔ０Ｃと同期タイミングｔ１Ｃとの時間差を開始タイミングｔ０Ａから同期タイミングｔ１Ａまでの時間に調整する。これにより、同期タイミングｔ１Ｃと同期タイミングｔ１Ａとが一致し、制御装置１００Ｃに接続されるフィールド機器２００ｄは、制御装置１００Ａまたは制御装置１００Ｂに接続されるフィールド機器２００ａ，２００ｂと連係して動作できる。
【０１０７】
＜Ｇ．調整処理の第２の具体例＞
次に、本実施の形態に従う制御装置１００における調整処理１８０（図５参照）の第２の具体例について説明する。
【０１０８】
図８は、本実施の形態に従う制御装置における調整処理の第２の具体例を説明するための模式図である。図８（ａ）には、図７（ａ）と同様に、制御装置１００Ｃがネットワーク１１に接続されていないときの、各制御装置の制御処理のスケジュールが示されている。
【０１０９】
制御装置１００Ｃが制御装置１００Ａ，１００Ｂとネットワーク１１を介して接続されると、制御装置１００Ｃの調整処理１８０によって、制御周期ＴｃＣの長さが制御周期ＴｃＡ（＝制御周期ＴｃＢ）の長さと同じに調整される。さらに、制御装置１００Ｃのタイマ１０１Ｃは、上位ネットワーク時刻同期処理１７８（図５参照）によって、制御装置１００Ａのタイマ１０１Ａとの間で時刻同期をとるように調整される。
【０１１０】
図８（ｂ）には、タイマ１０１Ｃがタイマ１０１Ａと時刻同期されたときの、各制御装置の制御処理のスケジュールが示されている。制御装置１００Ａ〜１００Ｃは、互いに時刻同期されたタイマの時刻に従って、同一のタイミングでＩＯリフレッシュ処理を開始させる。すなわち、制御装置１００ＡにおけるＩＯリフレッシュ処理の開始タイミングｔ０Ａと、制御装置１００ＣにおけるＩＯリフレッシュ処理の開始タイミングｔ０Ｃとが一致する。しかしながら、制御周期ＴｃＣにおける開始タイミングｔ０Ｃと同期タイミングｔ１Ｃとの時間差Ｔｓは、制御周期ＴｃＡにおける開始タイミングｔ０Ａと同期タイミングｔ１Ａとの時間差Ｔｍと異なる。図８に示す例では、時間差Ｔｓは、時間差Ｔｍよりも長い。そのため、制御装置１００Ｃに接続されるフィールド機器２００ｄは、制御装置１００Ａまたは制御装置１００Ｂに接続されるフィールド機器２００ａ，２００ｂと連係して動作できない。
【０１１１】
時間差Ｔｓが時間差Ｔｍよりも長い場合において、第１の具体例のように開始タイミングｔ０Ｃと同期タイミングｔ１Ｃとの時間差がＴｍに調整されると、次のような問題が生じ得る。すなわち、フィールド機器２００ｄは、制御装置１００Ｃからのデータを受け取る前に、制御対象に対する処理を開始しなければならない。
【０１１２】
そのため第２の具体例における制御装置１００Ｃでは、同期タイミングｔ１Ｃを同期タイミングｔ１Ａ，ｔ１Ｂと一致させるために、制御周期ＴｃＡ，ＴｃＢに対する制御周期ＴｃＣの位相差を調整する調整処理１８０が行なわれる。すなわち、開始タイミングｔ０Ｃが時間差Ｔｓと時間差Ｔｍとの差分ΔＴ（＝Ｔｓ−Ｔｍ）だけ開始タイミングｔ０Ａ，ｔ０Ｂよりも早くなるように、制御周期ＴｃＡ，ＴｃＢに対する制御周期ＴｃＣの位相差が調整される。
【０１１３】
図８（ｃ）には、制御周期ＴｃＡ，ＴｃＢに対する制御周期ＴｃＣの位相差が調整された後の、各制御装置の制御処理のスケジュールが示されている。図８（ｃ）に示されるように、制御周期ＴｃＡ，ＴｃＢに対する制御周期ＴｃＣの位相差が調整されることにより、同期タイミングｔ１Ｃと同期タイミングｔ１Ａ，ｔ１Ｂとが一致する。
【０１１４】
このように、制御装置１００Ｃのプロセッサ１０３は、開始タイミングｔ０Ｃから同期タイミングｔ１Ｃまでの時間（時間差Ｔｓ）と、開始タイミングｔ０Ａから同期タイミングｔ１Ａまでの時間（時間差Ｔｍ）とが異なる場合に、以下の調整処理１８０を行なう。すなわち、制御装置１００Ｃのプロセッサ１０３は、開始タイミングｔ０Ｃと開始タイミングｔ０Ａとが時間差Ｔｓと時間差Ｔｍとの差分だけずれるように、制御周期ＴｃＡに対する制御周期ＴｃＣの位相差を調整する。これにより、同期タイミングｔ１Ｃと同期タイミングｔ１Ａとが一致し、制御装置１００Ｃに接続されるフィールド機器２００ｄは、制御装置１００Ａまたは制御装置１００Ｂに接続されるフィールド機器２００ａ，２００ｂと連係して動作できる。
【０１１５】
＜Ｈ．制御装置１００Ｃと制御装置１００Ａ，１００Ｂとの接続処理の流れ＞
次に、本実施の形態に従う制御装置１００Ｃと制御装置１００Ａ，１００Ｂとの接続処理の流れについて説明する。
【０１１６】
図９は、本実施の形態に従う複数の制御装置間の接続処理の流れの一例を示すフローチャートである。
【０１１７】
まず、制御装置１００Ｃと制御装置１００Ａ，１００Ｂとは、ネットワーク１１を介して互いに通信接続する（ステップＳ１，Ｓ１１）。制御装置１００Ｃは、制御装置１００Ａ，１００Ｂと通信接続すると、フィールドネットワーク１０Ｃを介して接続されたフィールド機器２００に対する制御処理と、当該フィールド機器２００との通信とを停止する（ステップＳ１２）。なお、制御装置１００Ａ，１００Ｂの各々は、フィールドネットワーク１０を介して接続されたフィールド機器２００に対する制御処理と、当該フィールド機器２００との通信とを継続して実行する。
【０１１８】
次に、制御装置１００Ａは、制御周期ＴｃＡの長さをネットワーク１１を介して制御装置１００Ｃに通知する（ステップＳ２）。なお、制御周期ＴｃＡ，ＴｃＢの長さは、同一になるように予め設定されている。そのため、制御装置１００Ａ，１００Ｂのうちの一方（ここでは制御装置１００Ａ）が自身の制御周期の長さを通知すればよい。そして、制御装置１００Ｃは、制御周期ＴｃＡの長さを受信する（ステップＳ１３）。
【０１１９】
次に、制御装置１００Ｃにおいて、制御周期ＴｃＣの長さを制御周期ＴｃＡの長さと一致させることが可能か否かが判断される（ステップＳ１４）。当該判断は、制御装置１００Ｃで実行される各処理（ＩＯリフレッシュ処理、ユーザプログラム実行処理、モーション処理、その他の処理）に要する時間等を考慮して行なわれる。
【０１２０】
制御周期ＴｃＣの長さを制御周期ＴｃＡの長さと一致させることができる場合（ステップＳ１４でＹＥＳ）、制御装置１００Ｃにおいて、制御周期ＴｃＣの長さが制御周期ＴｃＡの長さに調整される（ステップＳ１５）。
【０１２１】
制御周期ＴｃＣの長さを制御周期ＴｃＡの長さと一致させることができない場合（ステップＳ１４でＮＯ）、制御装置１００Ｃにおいて、制御周期ＴｃＣの長さを制御周期ＴｃＡの長さのＮ倍または１／Ｎ倍と一致させることが可能か否かが判断される（ステップＳ１６）。ここで、Ｎは正の整数である。
【０１２２】
制御周期ＴｃＣの長さを制御周期ＴｃＡの長さのＮ倍または１／Ｎ倍と一致させることができる場合（ステップＳ１６でＹＥＳ）、制御装置１００Ｃにおいて、制御周期ＴｃＣの長さが制御周期ＴｃＡの長さのＮ倍または１／Ｎ倍に調整される（ステップＳ１７）。
【０１２３】
制御周期ＴｃＣの長さを制御周期ＴｃＡの長さのＮ倍または１／Ｎ倍と一致させることができない場合（ステップＳ１６でＮＯ）、接続処理は終了する。この場合、制御装置１００Ｃは、制御装置１００Ａ，１００Ｂと独立して、フィールドネットワーク１０Ｃを介して接続されたフィールド機器２００を制御する。
【０１２４】
ステップＳ１５またはステップＳ１７の後、制御装置１００Ａ〜１００Ｃの各々は、ネットワーク１１における時刻同期プロトコルにより、タイマ１０１（図４参照）を調整する時刻同期処理を実行する（ステップＳ３，Ｓ１８）。時刻同期プロトコルとしては、ＩＥＥＥ（Institute of Electrical and Electronics Engineers）１５８、ＩＥＥＥ８０２．１ＡＳ、ＩＥＥＥ８０２．１ＡＳなどの高精度時間同期プロトコルを採用することで、時刻同期を実現することができる。
【０１２５】
次に、制御装置１００Ｃでは、制御周期ＴｃＣ内の同期タイミングｔ１Ｃが設定される。すなわち、制御周期ＴｃＣの基準タイミング（ここでは、ＩＯリフレッシュ処理の開始タイミングｔ０Ｃ）と同期タイミングｔ１Ｃとの時間差（オフセット時間）Ｔｓが設定される（ステップＳ１９）。制御装置１００Ｃは、ＩＯリフレッシュ処理を開始してから全てのフィールド機器２００がデータを受け取るまでに要する時間を考慮して、時間差Ｔｓを設定する。具体的には、制御装置１００Ｃは、ＩＯリフレッシュ処理を開始してから全てのフィールド機器２００がデータを受け取るまでに要する時間よりもわずかに長い時間を時間差Ｔｓとして設定する。
【０１２６】
次に、制御装置１００Ａは、制御周期ＴｃＡにおけるＩＯリフレッシュ処理の開始タイミングｔ０Ａと同期タイミングｔ１Ａとの時間差（オフセット時間）Ｔｍをネットワーク１１を介して制御装置１００Ｃに通知する（ステップＳ４）。なお、制御周期ＴｃＢにおけるＩＯリフレッシュ処理の開始タイミングｔ０Ｂと同期タイミングｔ１Ｂとの時間差（オフセット時間）は、Ｔｍと同一である。そのため、制御装置１００Ａ，１００Ｂのうちの一方（ここでは制御装置１００Ａ）が時間差Ｔｍを通知すればよい。そして、制御装置１００Ｃは、時間差Ｔｍを受信する（ステップＳ２０）。
【０１２７】
制御装置１００Ｃでは、時間差Ｔｓが時間差Ｔｍよりも長いか否かが判断される（ステップＳ２１）。時間差Ｔｓが時間差Ｔｍよりも短い場合（ステップＳ２１でＮＯ）、制御装置１００Ｃでは、開始タイミングｔ０Ｃと同期タイミングｔ１Ｃとの時間差をＴｍまで長くする調整処理１８０が行なわれる（ステップＳ２２）。ステップＳ２２の調整方法は、上記の第１の具体例の調整方法に対応する。これにより、同期タイミングｔ１Ｃが同期タイミングｔ１Ａと一致する。
【０１２８】
一方、時間差Ｔｓが時間差Ｔｍ以上である場合（ステップＳ２１でＹＥＳ）、制御装置１００Ｃでは、時間差Ｔｓと時間差Ｔｍとの差分ΔＴ（＝Ｔｓ−Ｔｍ）が算出される（ステップＳ２３）。その後、制御装置１００Ｃでは、開始タイミングｔ０Ｃが差分ΔＴだけ開始タイミングｔ０Ａよりも早くなるように、制御周期ＴｃＡに対する制御周期ＴｃＣの位相差が調整される（ステップＳ２４）。具体的には、調整後の開始タイミングｔ０Ｃの時刻は、（調整前の開始タイミングｔ０Ｃの時刻）＋（制御周期ＴｃＣ−ΔＴ）に調整される。ステップＳ２３，Ｓ２４の調整方法は、上記の第２の具体例の調整方法に対応する。これにより、同期タイミングｔ１Ｃが同期タイミングｔ１Ａと一致する。
【０１２９】
ステップＳ２２またはステップＳ２４の後、制御装置１００Ｃは、フィールドネットワーク１０Ｃを介して接続されたフィールド機器２００に対する制御処理と、当該フィールド機器２００との通信処理とを開始する（ステップＳ２５）。制御装置１００Ｃは、同期タイミングｔ１Ｃを同期タイミングｔ１Ａと一致させるための調整が終了した旨をネットワーク１１を介して装置／ライン管理装置１９０に通知する（ステップＳ２６）。ステップＳ２６の後、調整処理は終了する。装置／ライン管理装置１９０は、調整が終了した旨の通知を受けて、制御装置１００Ａ〜１００Ｃに接続された複数のフィールド機器２００が連係して動作するように、制御装置１００Ａ〜１００Ｃを管理する処理を開始する。これにより、制御装置１００Ｃに接続されたフィールド機器２００は、制御装置１００Ａまたは制御装置１００Ｂに接続されたフィールド機器２００と連係して動作できる。
【０１３０】
＜Ｉ．変形例＞
図９に示す例では、時間差（オフセット時間）Ｔｓと時間差（オフセット時間）Ｔｍとの大小関係に応じて、第１の具体例の調整方法（ステップＳ２２に対応）と、第２の具体例の調整方法（ステップＳ２３，Ｓ２４）とを切り替える。しかしながら、時間差Ｔｓと時間差Ｔｍとの大小関係にかかわらず、第２の具体例の調整方法（ステップＳ２３，Ｓ２４）が実行されてもよい。
【０１３１】
図１０は、複数の制御装置間の接続処理の流れの別の例を示すフローチャートである。図１０に示すフローチャートは、ステップＳ２１，Ｓ２２が省略されている点で図９に示すフローチャートと相違する。すなわち、制御装置１００Ｃは、時間差（オフセット時間）Ｔｍを制御装置１００Ａから受信すると、ステップＳ２３，Ｓ２４を実行する。
【０１３２】
具体的には、ステップＳ２４において、調整後の開始タイミングｔ０Ｃの時刻は、（調整前の開始タイミングｔ０Ｃの時刻）＋（制御周期ＴｃＣ−ΔＴ）に調整される。すなわち、時間差Ｔｓが時間差Ｔｍよりも長い場合には、開始タイミングｔ０Ｃが差分ΔＴ（＝Ｔｓ−Ｔｍ）だけ開始タイミングｔ０Ａ，ｔ０Ｂよりも早くなるように、制御周期ＴｃＡ，ＴｃＢに対する制御周期ＴｃＣの位相差が調整される。時間差Ｔｓが時間差Ｔｍよりも短い場合には、開始タイミングｔ０Ｃが差分ΔＴ（＝Ｔｓ−Ｔｍ）の絶対値（Ｔｍ−Ｔｓ）だけ開始タイミングｔ０Ａ，ｔ０Ｂよりも遅れるように、制御周期ＴｃＡ，ＴｃＢに対する制御周期ＴｃＣの位相差が調整される。これにより、同期タイミングｔ１Ｃが同期タイミングｔ１Ａと一致する。
【０１３３】
＜Ｊ．第１の応用例＞
図１１は、本実施の形態に係る制御システムの第１の応用例を示す模式図である。図１１には、搬送ベルト６０１によって搬送されるワークＷ１に対して加工を行なう生産ライン７０１と、搬送ベルト６０２によって搬送われるワークＷ２に対して加工を行なう生産ライン７０２とに制御システムを適用した例が示されている。
【０１３４】
生産ライン７０１では、フィールド機器２００ａがワークＷ１に対する加工（たとえばラベルの貼り付けなど）を行なった後に、フィールド機器２００ｂがワークＷ１を把持して次工程に搬送する。フィールド機器２００ａはフィールドネットワーク１０Ａを介して制御装置１００Ａに接続される。フィールド機器２００ｂはフィールドネットワーク１０Ｂを介して制御装置１００Ｂに接続される。制御装置１００Ａ，１００Ｂは、ネットワーク１１Ａに接続されており、フィールド機器２００ａ，２００ｂが連係して動作するように互いの同期タイミングｔ１を一致させている。
【０１３５】
生産ライン７０２では、フィールド機器２００ｆがワークＷ２に対する加工（たとえばラベルの貼り付けなど）を行なった後に、フィールド機器２００ｇがワークＷ２を把持して次工程に搬送する。フィールド機器２００ｆはフィールドネットワーク１０Ｄを介して制御装置１００Ｄに接続される。フィールド機器２００ｇはフィールドネットワーク１０Ｅを介して制御装置１００Ｅに接続される。制御装置１００Ｄ，１００Ｅは、ネットワーク１１Ｂに接続されており、フィールド機器２００ｆ，２００ｇが連係して動作するように互いの同期タイミングｔ１を一致させている。
【０１３６】
フィールド機器２００ｅは、生産ライン７０１と生産ライン７０２との間を移動する走行ロボットである。
【０１３７】
フィールド機器２００ｄは、フィールド機器２００ｅに載置され、フィールド機器２００ｅとともに、生産ライン７０１と生産ライン７０２との間を移動する。フィールド機器２００ｄは、生産ライン７０１に到達すると、図示しないパレットに積載されたワークＷ１を把持して、搬送ベルト６０１上に載置する。フィールド機器２００ｄは、生産ライン７０２に到達すると、図示しない別のパレットに積載されたワークＷ２を把持して、搬送ベルト６０２上に載置する。
【０１３８】
フィールド機器２００ｄ，２００ｅは、フィールドネットワーク１０Ｃを介して制御装置１００Ｃに接続される。制御装置１００Ｃは、フィールド機器２００ｄ，２００ｅが生産ライン７０１に到達したときに、ネットワーク１１Ａに無線通信接続する。そして、制御装置１００Ｃでは、制御装置１００Ｃの同期タイミングｔ１が制御装置１００Ａの同期タイミングｔ１と一致するような調整処理１８０が実行される。これにより、フィールド機器２００ｄは、生産ライン７０１において、フィールド機器２００ａ，２００ｂと連係して動作できる。
【０１３９】
同様に、制御装置１００Ｃは、フィールド機器２００ｄ，２００ｅが生産ライン７０２に到達したときに、ネットワーク１１Ｂに無線通信接続する。そして、制御装置１００Ｃでは、制御装置１００Ｃの同期タイミングｔ１が制御装置１００Ｄの同期タイミングｔ１と一致するような調整処理１８０が実行される。これにより、フィールド機器２００ｄは、生産ライン７０２において、フィールド機器２００ｆ，２００ｇと連係して動作できる。
【０１４０】
＜Ｋ．第２の応用例＞
図１２は、本実施の形態に係る制御システムの第２の応用例を示す模式図である。図１２には、搬送ベルト６０３によって搬送されるワークＷに対して加工を行なう生産ラインに制御システムを適用した例が示されている。
【０１４１】
生産ラインでは、フィールド機器２００ａがワークＷに対する加工を行なった後に、フィールド機器２００ｂがワークＷに対して別の加工を行なう。フィールド機器２００ａはフィールドネットワーク１０Ａを介して制御装置１００Ａに接続される。フィールド機器２００ｂはフィールドネットワーク１０Ｂを介して制御装置１００Ｂに接続される。制御装置１００Ａ，１００Ｂは、ネットワーク１１に接続されており、フィールド機器２００ａ，２００ｂが連係して動作するように互いの同期タイミングｔ１を一致させている。
【０１４２】
製造品の種別変更のため、ワークＷに対して追加の加工が必要になったとする。この場合、当該追加の加工を行なうためのフィールド機器２００ｄと、当該フィールド機器２００ｄにフィールドネットワーク１０Ｃを介して接続された制御装置１００Ｃとが生産ラインに導入される。このとき、ネットワーク１１に新たに接続された制御装置１００Ｃにおいて、制御装置１００Ｃの同期タイミングｔ１を制御装置１００Ａの同期タイミングｔ１と一致させるための調整処理１８０が実行される。これにより、フィールド機器２００ａ，２００ｂの動作を停止させることなく、フィールド機器２００ｄは、フィールド機器２００ａ，２００ｂと連係して動作できる。
【０１４３】
＜Ｌ．第３の応用例＞
図１３は、本実施の形態に係る制御システムの第３の応用例を示す模式図である。図１３には、搬送ベルト６０４によって搬送されるワークＷに対して加工を行なう生産ライン７０４に制御システムを適用した例が示されている。
【０１４４】
生産ライン７０４では、フィールド機器２００ａがワークＷに対する加工を行なった後に、フィールド機器２００ｂがワークＷに対して別の加工を行なう。フィールド機器２００ａはフィールドネットワーク１０Ａを介して制御装置１００Ａに接続される。フィールド機器２００ｂはフィールドネットワーク１０Ｂを介して制御装置１００Ｂに接続される。制御装置１００Ａ，１００Ｂは、ネットワーク１１に接続されており、フィールド機器２００ａ，２００ｂが連係して動作するように互いの同期タイミングｔ１を一致させている。
【０１４５】
生産量の増加に備えて、生産ライン７０４と同構成の生産ライン７０５が設置されている。生産ライン７０５では、搬送ベルト６０５上のワークＷに対して、フィールド機器２００ｈが加工を行なった後に、フィールド機器２００ｉが別の加工を行なう。フィールド機器２００ｈ，２００ｉは、フィールド機器２００ａ，２００ｂとそれぞれ同じ構成を有する。フィールド機器２００ｈはフィールドネットワーク１０Ｆを介して制御装置１００Ｆに接続される。フィールド機器２００ｉはフィールドネットワーク１０Ｇを介して制御装置１００Ｇに接続される。
【０１４６】
フィールド機器２００ｄは、搬送ベルト６０４，６０５の一方の上のワークＷを他方の上に移動させるためのロボットである。フィールド機器２００ｊは、搬送ベルト６０４上のワークＷの個数と搬送ベルト６０５上のワークＷの個数とを把握するための視覚センサである。フィールド機器２００ｄはフィールドネットワーク１０Ｃを介して制御装置１００Ｃに接続される。フィールド機器２００ｊはフィールドネットワーク１０Ｈを介して制御装置１００Ｈに接続される。
【０１４７】
生産数が増加されると、制御装置１００Ｃ〜１００Ｈがネットワーク１１に接続される。制御装置１００Ｃ〜１００Ｈの各々では、自身の同期タイミングｔ１を制御装置１００Ａの同期タイミングｔ１と一致させるための調整処理１８０が実行される。これにより、フィールド機器２００ａ，２００ｂの動作を停止させることなく、フィールド機器２００ｄ，２００ｈ〜２００ｊは、フィールド機器２００ａ，２００ｂと連係して動作できる。具体的には、フィールド機器２００ｊは、撮像画像に基づいて、搬送ベルト６０４上のワークＷの個数と、搬送ベルト６０５上のワークＷの個数とを認識する。フィールド機器２００ｄは、フィールド機器２００ｊの認識結果に基づいて、搬送ベルト６０４，６０５のうちワークＷの個数が多い方から少ない方へワークＷを移動させる。これにより、生産数の増加に適切に対応できる。
【０１４８】
＜Ｍ．利点＞
以上のように、本実施の形態によれば、制御装置１００Ｃおよびフィールド機器２００ｄは、互いに同期したタイマ１０２Ｃ，２０１ｄをそれぞれ有する。制御装置１００Ｃは、タイマ１０２Ｃの時刻に基づいて、制御周期ＴｃＣごとにフィールド機器２００ｄとの間でデータを送受信するフィールドネットワークコントローラ１４０を含む。制御装置１００Ｃは、制御周期ＴｃＣ内において、フィールド機器２００ｄがデータを受信した後の同期タイミングｔ１Ｃを設定するプロセッサ１０３を含む。フィールド機器２００ｄは、タイマ２０１ｄの時刻に基づいて、同期タイミングｔ１Ｃに同期して制御対象５００に対する処理を開始する。制御装置１００Ａも同様に、タイマ１０２Ａ、フィールドネットワークコントローラ１４０およびプロセッサ１０３を含む。制御装置１００Ａに接続されるフィールド機器２００ａは、タイマ１０２Ａと時刻同期されたタイマ２０１ａの時刻に基づいて、同期タイミングｔ１Ａに同期して制御対象５００に対する処理を開始する。制御装置１００Ｃのプロセッサ１０３は、ネットワーク１１を介して制御装置１００Ｃと制御装置１００Ａとが接続されると、調整処理１８０を行なう。調整処理１８０は、同期タイミングｔ１Ｃと同期タイミングｔ１Ａとが一致するように、以下の（ａ）〜（ｃ）の少なくとも１つを調整する処理である。
（ａ）制御周期ＴｃＣの長さ、
（ｂ）制御周期ＴｃＡに対する制御周期ＴｃＣの位相差、
（ｃ）制御周期ＴｃＣの基準タイミング（たとえば開始タイミングｔ０Ｃ）と同期タイミングｔ１Ｃとの時間差。
【０１４９】
これにより、同期タイミングｔ１Ｃが同期タイミングｔ１Ａと一致する。その結果、フィールド機器２００ｄは、制御装置１００Ａに接続されるフィールド機器２００ａと連係して動作できる。このとき、制御装置１００Ａは、制御周期の長さ、制御周期の位相、および、制御周期内の同期タイミングと基準タイミングとの時間差を調整する必要がない。すなわち、フィールド機器２００ａとフィールド機器２００ｄとの連係した動作を開始させるために、制御装置１００Ａを停止させる必要がない。このように、稼働率の低下を抑制しながら、互いに異なる制御装置に接続される複数のフィールド機器を連係して動作させることができる。さらに、生産ラインの動的な組み換えが効率的にできる。
【０１５０】
＜Ｎ．付記＞
以上のように、本実施の形態は以下のような開示を含む。
【０１５１】
（構成１）
第１の制御装置（１００Ｃ）と、
第１のネットワーク（１０Ｃ）を介して前記第１の制御装置（１００Ｃ）と接続される１または複数の第１の機器（２００ｄ）と、
第２の制御装置（１００Ａ，１００Ｂ）と、
第２のネットワーク（１０Ａ，１０Ｂ）を介して前記第２の制御装置（１００Ａ，１００Ｂ）と接続される１または複数の第２の機器（２００ａ〜２００ｃ）とを備え、
前記第１の制御装置（１００Ｃ）および前記１または複数の第１の機器（２００ｄ）の各々は、互いに同期した第１のタイマ（１０２Ｃ，２０１ｄ）を有し、
前記第１の制御装置（１００Ｃ）は、
前記第１のタイマ（１０２Ｃ）の時刻に基づいて、第１の制御周期ごとに前記１または複数の第１の機器（２００ｄ）との間で第１のデータを送受信する第１の通信手段（１４０）と、
前記第１の制御周期内において、前記１または複数の第１の機器（２００ｄ）が前記第１のデータを受信した後の第１の同期タイミングを設定する第１のスケジューリング手段（１０３）とを含み、
前記１または複数の第１の機器（２００ｄ）は、前記第１のタイマ（２０１ｄ）の時刻に基づいて、前記第１の同期タイミングに同期して制御対象に対する処理を開始し、
前記第２の制御装置（１００Ａ，１００Ｂ）および前記１または複数の第２の機器（２００ａ〜２００ｃ）の各々は、互いに同期した第２のタイマ（１０２Ａ，１０２Ｂ，２０１ａ〜２０１ｃ）を有し、
前記第２の制御装置（１００Ａ，１００Ｂ）は、
前記第２のタイマ（１０２Ａ，１０２Ｂ）の時刻に基づいて、第２の制御周期ごとに前記１または複数の第２の機器との間で第２のデータを送受信する第２の通信手段（１４０）と、
前記第２の制御周期内において、前記１または複数の第２の機器（２００ａ〜２００ｃ）が前記第２のデータを受信した後の第２の同期タイミングを設定する第２のスケジューリング手段（１０３）とを含み、
前記１または複数の第２の機器（２００ａ〜２００ｃ）は、前記第２のタイマ（２０１ａ〜２０１ｃ）の時刻に基づいて、前記第２の同期タイミングに同期して制御対象に対する処理を開始し、
前記第１の制御装置（１００Ｃ）は、前記第１のネットワーク（１０Ｃ）および前記第２のネットワーク（１０Ａ，１０Ｂ）よりも上位の第３のネットワーク（１１）を介して前記第１の制御装置（１００Ｃ）と前記第２の制御装置（１００Ａ，１００Ｂ）とが接続されると、前記第１の同期タイミングと前記第２の同期タイミングとが一致するように、前記第１の制御周期の長さ、前記第２の制御周期に対する前記第１の制御周期の位相差、および前記第１の制御周期の基準タイミングと前記第１の同期タイミングとの時間差の少なくとも１つを調整する調整手段（１０３）をさらに含む、制御システム（１）。
【０１５２】
（構成２）
前記基準タイミングは、前記第１の通信手段（１４０）が前記第１のデータの送信を開始する第１の開始タイミングであり、
前記調整手段（１０３）は、前記第２の通信手段（１４０）が前記第２のデータの送信を開始する第２の開始タイミングから前記第２の同期タイミングまでの時間よりも前記時間差が短い場合に、前記第１の開始タイミングと前記第２の開始タイミングとが一致するように前記位相差を調整するとともに、前記時間差を前記第２の開始タイミングから前記第２の同期タイミングまでの時間に調整する、構成１に記載の制御システム。
【０１５３】
（構成３）
前記調整手段（１０３）は、前記第１の通信手段（１４０）が前記第１のデータの送信を開始する第１の開始タイミングから前記第１の同期タイミングまでの第１の時間と、前記第２の通信手段（１４０）が前記第２のデータの送信を開始する第２の開始タイミングから前記第２の同期タイミングまでの第２の時間とが異なる場合に、前記第１の開始タイミングと前記第２の開始タイミングとが前記第１の時間と前記第２の時間との差分だけずれるように前記位相差を調整する、構成１に記載の制御システム。
【０１５４】
（構成４）
前記調整手段（１０３）は、前記第１の時間が前記第２の時間よりも長い場合に、前記第１の開始タイミングが前記第２の開始タイミングよりも早くなるように前記位相差を調整する、構成３に記載の制御システム。
【０１５５】
（構成５）
前記調整手段（１０３）は、前記第１の制御周期の長さと前記第２の制御周期の長さとが異なる場合に、前記第１の制御周期の長さを前記第２の制御周期の長さのＮ倍または１／Ｎ倍に補正し、
Ｎは１以上の整数である、構成１から４のいずれかに記載の制御システム。
【０１５６】
（構成６）
第１のネットワーク（１０Ｃ）を介して１または複数の第１の機器（２００ｄ）を接続される制御装置（１００Ｃ）であって、
前記１または複数の第１の機器（２００ｄ）との間で互い同期されたタイマ（１０２Ｃ）と、
前記タイマ（１０２Ｃ）の時刻に基づいて、第１の制御周期ごとに前記１または複数の第１の機器（２００ｄ）との間で第１のデータを送受信する通信手段（１４０）と、
前記第１の制御周期内において、前記１または複数の第１の機器が制御対象に対する処理を開始する第１の同期タイミングを設定するスケジューリング手段（１０３）とを備え、
前記第１の同期タイミングは、前記１または複数の第１の機器が前記第１のデータを受信した後になるように設定され、
前記制御装置（１００Ｃ）は、前記第１のネットワーク（１０Ｃ）よりも上位の第２のネットワーク（１１）を介して他の制御装置（１００Ａ，１００Ｂ）と接続可能であり、
前記他の制御装置（１００Ａ，１００Ｂ）は、前記第２のネットワーク（１１）よりも下位の第３のネットワーク（１０Ａ，１０Ｂ）を介して１または複数の第２の機器（２００ａ〜２００ｃ）に接続され、第２の制御周期ごとに前記１または複数の第２の機器（２００ａ〜２００ｃ）との間で第２のデータを送受信し、
前記１または複数の第２の機器（２００ａ〜２００ｃ）は、前記第２のデータを受信した後の第２の同期タイミングに同期して制御対象に対する処理を開始し、
前記制御装置（１００Ｃ）は、前記第３のネットワーク（１０Ａ，１０Ｂ）を介して前記他の制御装置（１００Ａ，１００Ｂ）に接続されると、前記第１の同期タイミングと前記第２の同期タイミングとが一致するように、前記第１の制御周期の長さ、前記第２の制御周期に対する前記第１の制御周期の位相差、および前記第１の制御周期の基準タイミングと前記第１の同期タイミングとの時間差の少なくとも１つを調整する調整手段（１０３をさらに備える、制御装置（１００Ｃ）。
【０１５７】
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５８】
１  制御システム、１０，１０Ａ〜１０Ｈ  フィールドネットワーク、１１，１１Ａ，１１Ｂ，１２〜１４  ネットワーク、１００，１００Ａ〜１００Ｈ  制御装置、１０１，１０１Ａ〜１０１Ｃ，１０２，１０２Ａ〜１０２Ｃ，２０１，２０１ａ〜２０１ｄ  タイマ、１０３  プロセッサ、１０４  メモリ、１０６  ストレージ、１０７  システムプログラム、１０８  ユーザアプリケーションプログラム、１３０  ネットワークコントローラ、１３１，１４１，２１２  送受信コントローラ、１３２，１４２  送受信バッファ、１４０，２１０  フィールドネットワークコントローラ、１７０  スケジューラ、１７１  ユーザプログラム実行処理、１７２  モーション処理、１７３  周辺処理、１７４  上位ネットワーク通信処理、１７６  下位ネットワーク通信処理、１７８  上位ネットワーク時刻同期処理、１７９  下位ネットワーク時刻同期処理、１８０  調整処理、１９０  装置／ライン管理装置、１９５  表示装置、２００，２００ａ〜２００ｊ  フィールド機器、２１４  トリガ信号生成回路、２１６  処理部、２５０  製造管理装置、２５５  データベース装置、３００  生産管理装置、５００  制御対象、６０１〜６０５  搬送ベルト、７０１，７０２，７０４，７０５  生産ライン。
【図１】
2020046699.tif 000003
【図２】
2020046699.tif 000004
【図３】
2020046699.tif 000005
【図４】
2020046699.tif 000006
【図５】
2020046699.tif 000007
【図６】
2020046699.tif 000008
【図７】
2020046699.tif 000009
【図８】
2020046699.tif 000010
【図９】
2020046699.tif 000011
【図１０】
2020046699.tif 000012
【図１１】
2020046699.tif 000013
【図１２】
2020046699.tif 000014
【図１３】
2020046699.tif 000015