IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

<>
  • 特許-制御システムおよび制御装置 図1
  • 特許-制御システムおよび制御装置 図2
  • 特許-制御システムおよび制御装置 図3
  • 特許-制御システムおよび制御装置 図4
  • 特許-制御システムおよび制御装置 図5
  • 特許-制御システムおよび制御装置 図6
  • 特許-制御システムおよび制御装置 図7
  • 特許-制御システムおよび制御装置 図8
  • 特許-制御システムおよび制御装置 図9
  • 特許-制御システムおよび制御装置 図10
  • 特許-制御システムおよび制御装置 図11
  • 特許-制御システムおよび制御装置 図12
  • 特許-制御システムおよび制御装置 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-20
(45)【発行日】2022-09-29
(54)【発明の名称】制御システムおよび制御装置
(51)【国際特許分類】
   G05B 19/05 20060101AFI20220921BHJP
   H04L 12/28 20060101ALI20220921BHJP
【FI】
G05B19/05 L
H04L12/28 200Z
【請求項の数】 6
(21)【出願番号】P 2018172136
(22)【出願日】2018-09-14
(65)【公開番号】P2020046699
(43)【公開日】2020-03-26
【審査請求日】2020-12-14
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】米田 光宏
(72)【発明者】
【氏名】澤田 成憲
【審査官】牧 初
(56)【参考文献】
【文献】国際公開第2015/128981(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/04-19/05
(57)【特許請求の範囲】
【請求項1】
第1の制御装置と、
第1のネットワークを介して前記第1の制御装置と接続される1または複数の第1の機器と、
第2の制御装置と、
第2のネットワークを介して前記第2の制御装置と接続される1または複数の第2の機器とを備え、
前記第1の制御装置および前記1または複数の第1の機器の各々は、互いに同期した第1のタイマを有し、
前記第1の制御装置は、
前記第1のタイマの時刻に基づいて、第1の制御周期ごとに前記1または複数の第1の機器との間で第1のデータを送受信する第1の通信手段と、
前記第1の制御周期内において、前記1または複数の第1の機器が前記第1のデータを受信した後の第1の同期タイミングを設定する第1のスケジューリング手段とを含み、
前記1または複数の第1の機器は、前記第1のタイマの時刻に基づいて、前記第1の同期タイミングに同期して制御対象に対する処理を開始し、
前記第2の制御装置および前記1または複数の第2の機器の各々は、互いに同期した第2のタイマを有し、
前記第2の制御装置は、
前記第2のタイマの時刻に基づいて、第2の制御周期ごとに前記1または複数の第2の機器との間で第2のデータを送受信する第2の通信手段と、
前記第2の制御周期内において、前記1または複数の第2の機器が前記第2のデータを受信した後の第2の同期タイミングを設定する第2のスケジューリング手段とを含み、
前記1または複数の第2の機器は、前記第2のタイマの時刻に基づいて、前記第2の同期タイミングに同期して制御対象に対する処理を開始し、
前記第1の制御装置は、前記第1のネットワークおよび前記第2のネットワークよりも上位の第3のネットワークを介して前記第1の制御装置と前記第2の制御装置とが接続されると、前記第1の同期タイミングと前記第2の同期タイミングとが一致するように、前記第1の制御周期の長さ、前記第2の制御周期に対する前記第1の制御周期の位相差、および前記第1の制御周期の基準タイミングと前記第1の同期タイミングとの時間差の少なくとも1つを調整する調整手段をさらに含み、
前記調整手段は、前記第1の制御周期の長さと前記第2の制御周期の長さとが異なる場合に、前記第1の制御周期の長さを前記第2の制御周期の長さのN倍または1/N倍に補正し、
Nは1以上の整数である、制御システム。
【請求項2】
第1の制御装置と、
第1のネットワークを介して前記第1の制御装置と接続される1または複数の第1の機器と、
第2の制御装置と、
第2のネットワークを介して前記第2の制御装置と接続される1または複数の第2の機器とを備え、
前記第1の制御装置および前記1または複数の第1の機器の各々は、互いに同期した第1のタイマを有し、
前記第1の制御装置は、
前記第1のタイマの時刻に基づいて、第1の制御周期ごとに前記1または複数の第1の機器との間で第1のデータを送受信する第1の通信手段と、
前記第1の制御周期内において、前記1または複数の第1の機器が前記第1のデータを受信した後の第1の同期タイミングを設定する第1のスケジューリング手段とを含み、
前記1または複数の第1の機器は、前記第1のタイマの時刻に基づいて、前記第1の同期タイミングに同期して制御対象に対する処理を開始し、
前記第2の制御装置および前記1または複数の第2の機器の各々は、互いに同期した第2のタイマを有し、
前記第2の制御装置は、
前記第2のタイマの時刻に基づいて、第2の制御周期ごとに前記1または複数の第2の機器との間で第2のデータを送受信する第2の通信手段と、
前記第2の制御周期内において、前記1または複数の第2の機器が前記第2のデータを受信した後の第2の同期タイミングを設定する第2のスケジューリング手段とを含み、
前記1または複数の第2の機器は、前記第2のタイマの時刻に基づいて、前記第2の同期タイミングに同期して制御対象に対する処理を開始し、
前記第1の制御装置は、前記第1のネットワークおよび前記第2のネットワークよりも上位の第3のネットワークを介して前記第1の制御装置と前記第2の制御装置とが接続されると、前記第1の同期タイミングと前記第2の同期タイミングとが一致するように、前記第1の制御周期の長さ、前記第2の制御周期に対する前記第1の制御周期の位相差、および前記第1の制御周期の基準タイミングと前記第1の同期タイミングとの時間差の少なくとも1つを調整する調整手段をさらに含み、
前記基準タイミングは、前記第1の通信手段が前記第1のデータの送信を開始する第1の開始タイミングであり、
前記調整手段は、前記第2の通信手段が前記第2のデータの送信を開始する第2の開始タイミングから前記第2の同期タイミングまでの時間よりも前記時間差が短い場合に、前記第1の開始タイミングと前記第2の開始タイミングとが一致するように前記位相差を調整するとともに、前記時間差を前記第2の開始タイミングから前記第2の同期タイミングまでの時間に調整する、制御システム。
【請求項3】
前記調整手段は、前記第1の通信手段が前記第1のデータの送信を開始する第1の開始タイミングから前記第1の同期タイミングまでの第1の時間と、前記第2の通信手段が前記第2のデータの送信を開始する第2の開始タイミングから前記第2の同期タイミングまでの第2の時間とが異なる場合に、前記第1の開始タイミングと前記第2の開始タイミングとが前記第1の時間と前記第2の時間との差分だけずれるように前記位相差を調整する、請求項1に記載の制御システム。
【請求項4】
前記調整手段は、前記第1の時間が前記第2の時間よりも長い場合に、前記第1の開始タイミングが前記第2の開始タイミングよりも早くなるように前記位相差を調整する、請求項3に記載の制御システム。
【請求項5】
第1のネットワークを介して1または複数の第1の機器を接続される制御装置であって、
前記1または複数の第1の機器との間で互い同期されたタイマと、
前記タイマの時刻に基づいて、第1の制御周期ごとに前記1または複数の第1の機器との間で第1のデータを送受信する通信手段と、
前記第1の制御周期内において、前記1または複数の第1の機器が制御対象に対する処理を開始する第1の同期タイミングを設定するスケジューリング手段とを備え、
前記第1の同期タイミングは、前記1または複数の第1の機器が前記第1のデータを受信した後になるように設定され、
前記制御装置は、前記第1のネットワークよりも上位の第2のネットワークを介して他の制御装置と接続可能であり、
前記他の制御装置は、前記第2のネットワークよりも下位の第3のネットワークを介して1または複数の第2の機器に接続され、第2の制御周期ごとに前記1または複数の第2の機器との間で第2のデータを送受信し、
前記1または複数の第2の機器は、前記第2のデータを受信した後の第2の同期タイミングに同期して制御対象に対する処理を開始し、
前記制御装置は、前記第のネットワークを介して前記他の制御装置に接続されると、前記第1の同期タイミングと前記第2の同期タイミングとが一致するように、前記第1の制御周期の長さ、前記第2の制御周期に対する前記第1の制御周期の位相差、および前記第1の制御周期の基準タイミングと前記第1の同期タイミングとの時間差の少なくとも1つを調整する調整手段をさらに備え、
前記調整手段は、前記第1の制御周期の長さと前記第2の制御周期の長さとが異なる場合に、前記第1の制御周期の長さを前記第2の制御周期の長さのN倍または1/N倍に補正し、
Nは1以上の整数である、制御装置。
【請求項6】
第1のネットワークを介して1または複数の第1の機器を接続される制御装置であって、
前記1または複数の第1の機器との間で互い同期されたタイマと、
前記タイマの時刻に基づいて、第1の制御周期ごとに前記1または複数の第1の機器との間で第1のデータを送受信する通信手段と、
前記第1の制御周期内において、前記1または複数の第1の機器が制御対象に対する処理を開始する第1の同期タイミングを設定するスケジューリング手段とを備え、
前記第1の同期タイミングは、前記1または複数の第1の機器が前記第1のデータを受信した後になるように設定され、
前記制御装置は、前記第1のネットワークよりも上位の第2のネットワークを介して他の制御装置と接続可能であり、
前記他の制御装置は、前記第2のネットワークよりも下位の第3のネットワークを介して1または複数の第2の機器に接続され、第2の制御周期ごとに前記1または複数の第2の機器との間で第2のデータを送受信し、
前記1または複数の第2の機器は、前記第2のデータを受信した後の第2の同期タイミングに同期して制御対象に対する処理を開始し、
前記制御装置は、前記第のネットワークを介して前記他の制御装置に接続されると、前記第1の同期タイミングと前記第2の同期タイミングとが一致するように、前記第1の制御周期の長さ、前記第2の制御周期に対する前記第1の制御周期の位相差、および前記第1の制御周期の基準タイミングと前記第1の同期タイミングとの時間差の少なくとも1つを調整する調整手段をさらに備え、
前記基準タイミングは、前記通信手段が前記第1のデータの送信を開始する第1の開始タイミングであり、
前記調整手段は、前記他の制御装置が前記第2のデータの送信を開始する第2の開始タイミングから前記第2の同期タイミングまでの時間よりも前記時間差が短い場合に、前記第1の開始タイミングと前記第2の開始タイミングとが一致するように前記位相差を調整するとともに、前記時間差を前記第2の開始タイミングから前記第2の同期タイミングまでの時間に調整する、制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の制御装置がネットワーク接続される制御システム、およびその制御システムを構成する制御装置に関する。
【背景技術】
【0002】
様々な生産現場において、PLC(プログラマブルコントローラ)などの制御装置を用いたFA(Factory Automation)技術が広く普及している。このような制御装置は、1または複数の機器との間でネットワークを介してデータを送受信することにより、当該1または複数の機器の動作を制御する。
【0003】
制御システムの高機能化に伴って、互いに独立した制御処理を実行する複数の制御装置がネットワークを介して接続されるような構成も実現しつつある。例えば、特開2015-118505号公報(特許文献1)には、コントローラレベルネットワークに複数の制御装置が接続された制御システムが開示される。複数の制御装置の各々には、デバイスレベルネットワークを介して複数の入出力装置が接続されている。各制御装置は、複数の入出力装置から取得した入力値を、コントローラレベルネットワークを介してサーバに送信する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2015-118505号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
製造現場では、生産品種の変更、生産数の増量などの様々な理由により、生産ラインの組み替えが実施される。この場合、既に稼働中の制御装置に対して新たな制御装置を接続させ、当該2つの制御装置の各々に接続される機器を連係して動作させることが望まれる。
【0006】
複数の制御装置は互いに独立した制御処理を実行するため、互いに異なる制御装置に接続される複数の機器を連係して動作させるためには、当該複数の機器における制御対象に対する処理の開始タイミングを同期させる必要がある。そのため、既に稼働している制御装置を含む全ての制御装置を一旦停止させて、同期のための設定を行なう必要がある。その結果、稼働率が低下する。
【0007】
本発明は、上記の問題を鑑みてなされたものであり、その目的は、稼働率の低下を抑制しながら、互いに異なる制御装置に接続される複数の機器を連係して動作させることが可能な制御システムおよび制御装置を提供することである。
【課題を解決するための手段】
【0008】
本開示の一例によれば、制御システムは、第1の制御装置と、第1のネットワークを介して第1の制御装置と接続される1または複数の第1の機器と、第2の制御装置と、第2のネットワークを介して第2の制御装置と接続される1または複数の第2の機器とを備える。第1の制御装置および1または複数の第1の機器の各々は、互いに同期した第1のタイマを有する。第1の制御装置は、第1の通信手段と第1のスケジューリング手段とを含む。第1の通信手段は、第1のタイマの時刻に基づいて、第1の制御周期ごとに1または複数の第1の機器との間で第1のデータを送受信する。第1のスケジューリング手段は、第1の制御周期内において、1または複数の第1の機器が第1のデータを受信した後の第1の同期タイミングを設定する。1または複数の第1の機器は、第1のタイマの時刻に基づいて、第1の同期タイミングに同期して制御対象に対する処理を開始する。第2の制御装置および1または複数の第2の機器の各々は、互いに同期した第2のタイマを有する。第2の制御装置は、第2の通信手段と第2のスケジューリング手段とを含む。第2の通信手段は、第2のタイマの時刻に基づいて、第2の制御周期ごとに1または複数の第2の機器との間で第2のデータを送受信する。第2のスケジューリング手段は、第2の制御周期内において、1または複数の第2の機器が第2のデータを受信した後の第2の同期タイミングを設定する。1または複数の第2の機器は、第2のタイマの時刻に基づいて、第2の同期タイミングに同期して制御対象に対する処理を開始する。第1の制御装置は、第1のネットワークおよび第2のネットワークよりも上位の第3のネットワークを介して第1の制御装置と第2の制御装置とが接続されると、第1の同期タイミングと第2の同期タイミングとが一致するように、第1の制御周期の長さ、第2の制御周期に対する第1の制御周期の位相差、および第1の制御周期の基準タイミングと第1の同期タイミングとの時間差の少なくとも1つを調整する調整手段をさらに含む。
【0009】
この開示によれば、第1の制御装置が第2の制御装置と接続されるときに、第2の制御装置は、制御周期の長さ、制御周期の位相、および、制御周期内の同期タイミングと基準タイミングとの時間差を調整しなくてもよい。そのため、第2の制御装置が稼働中であっても、第1の制御装置を第2の制御装置に第3のネットワークを介して接続させ、1または複数の第1の機器と1または複数の第2の機器との連係した動作を開始させることができる。すなわち、1または複数の第1の機器と1または複数の第2の機器との連係した動作を開始させるために、第2制御装置を停止させる必要がない。これにより、稼働率の低下を抑制しながら、互いに異なる制御装置に接続される複数の機器を連係して動作させることができる。
【0010】
上述の開示において、基準タイミングは、第1の通信手段が第1のデータの送信を開始する第1の開始タイミングである。調整手段は、第2の通信手段が第2のデータの送信を開始する第2の開始タイミングから第2の同期タイミングまでの時間よりも上記の時間差が短い場合に、第1の開始タイミングと第2の開始タイミングとが一致するように上記の位相差を調整するとともに、上記の時間差を第2の開始タイミングから第2の同期タイミングまでの時間に調整する。
【0011】
この開示によれば、第1の同期タイミングと第2の同期タイミングとを一致させるとともに、第1の開始タイミングと第2の開始タイミングとも一致させることができる。
【0012】
上述の開示において、調整手段は、第1の通信手段が第1のデータの送信を開始する第1の開始タイミングから第1の同期タイミングまでの第1の時間と、第2の通信手段が第2のデータの送信を開始する第2の開始タイミングから第2の同期タイミングまでの第2の時間とが異なる場合に、第1の開始タイミングと第2の開始タイミングとが第1の時間と第2の時間との差分だけずれるように上記の位相差を調整する。たとえば、調整手段は、第1の時間が第2の時間よりも長い場合に、第1の開始タイミングが第2の開始タイミングよりも早くなるように上記の位相差を調整する。
【0013】
この開示によれば、第2の制御周期に対する第1の制御周期の位相差を調整することにより、第1の同期タイミングと第2の同期タイミングとを一致させることができる。
【0014】
上述の開示において、調整手段は、第1の制御周期の長さと第2の制御周期の長さとが異なる場合に、第1の制御周期の長さを第2の制御周期の長さのN倍または1/N倍に補正する。Nは1以上の整数である。
【0015】
この開示によれば、第1の同期タイミングと第2の同期タイミングとを一致させやすくなる。
【0016】
本開示の一例によれば、第1のネットワークを介して1または複数の第1の機器を接続される制御装置は、タイマと、通信手段と、スケジューリング手段とを備える。タイマは、1または複数の第1の機器との間で互い同期される。通信手段は、タイマの時刻に基づいて、第1の制御周期ごとに1または複数の第1の機器との間で第1のデータを送受信する。スケジューリング手段は、第1の制御周期内において、1または複数の第1の機器が制御対象に対する処理を開始する第1の同期タイミングを設定する。第1の同期タイミングは、1または複数の第1の機器が第1のデータを受信した後になるように設定される。制御装置は、第1のネットワークよりも上位の第2のネットワークを介して他の制御装置と接続可能である。他の制御装置は、第2のネットワークよりも下位の第3のネットワークを介して1または複数の第2の機器に接続され、第2の制御周期ごとに1または複数の第2の機器との間で第2のデータを送受信する。1または複数の第2の機器は、第2のデータを受信した後の第2の同期タイミングに同期して制御対象に対する処理を開始する。制御装置は、第3のネットワークを介して他の制御装置に接続されると、第1の同期タイミングと第2の同期タイミングとが一致するように、第1の制御周期の長さ、第2の制御周期に対する第1の制御周期の位相差、および第1の制御周期の基準タイミングと第1の同期タイミングとの時間差の少なくとも1つを調整する調整手段をさらに備える。
【0017】
この開示によっても、稼働率の低下を抑制しながら、互いに異なる制御装置に接続される複数の機器を連係して動作させることができる。
【発明の効果】
【0018】
本発明によれば、稼働率の低下を抑制しながら、互いに異なる制御装置に接続される複数の機器を連係して動作させることができる。
【図面の簡単な説明】
【0019】
図1】実施の形態に従う制御システムの概要を模式的に示す図である。
図2】本実施の形態に従う制御システムの全体構成の一例を示す模式図である。
図3】本実施の形態に従う制御システムのネットワーク構成例を示す模式図である。
図4】本実施の形態に係る制御装置およびフィールド機器のハードウェア構成例を示すブロック図である。
図5】本実施の形態に従う制御装置のソフトウェア構成の一例を示す模式図である。
図6】本実施の形態に従う制御装置における制御処理のスケジューリングを説明するための模式図である。
図7】本実施の形態に従う制御装置における調整処理の第1の具体例を説明するための模式図である。
図8】本実施の形態に従う制御装置における調整処理の第2の具体例を説明するための模式図である。
図9】本実施の形態に従う複数の制御装置間の接続処理の流れの一例を示すフローチャートである。
図10】複数の制御装置間の接続処理の流れの別の例を示すフローチャートである。
図11】本実施の形態に係る制御システムの第1の応用例を示す模式図である。
図12】本実施の形態に係る制御システムの第2の応用例を示す模式図である。
図13】本実施の形態に係る制御システムの第3の応用例を示す模式図である。
【発明を実施するための形態】
【0020】
以下、図面を参照しつつ、本発明に従う実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
【0021】
§1 適用例
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に従う制御システムの概要を模式的に示す図である。
【0022】
図1に示されるように、本実施の形態に従う制御システム1は、制御装置100A,100B,100Cと、フィールド機器200a,200b,200c,200dとを備える。制御装置100Aは、フィールドネットワーク10Aを介してフィールド機器200aに接続される。制御装置100Bは、フィールドネットワーク10Bを介してフィールド機器200b,200cに接続される。制御装置100Cは、フィールドネットワーク10Cを介してフィールド機器200dに接続される。なお、制御装置100A~100Cの各々に接続されるフィールド機器の個数は、1または2に限定されない。すなわち、制御装置100A~100Cの各々に接続されるフィールド機器の個数は1または複数である。
【0023】
制御装置100A~100Cは、それぞれ制御周期TcA~TcCごとに、IO(Input/Output)リフレッシュ処理、ユーザプログラム実行処理、モーション処理および他の処理を実行する。
【0024】
IOリフレッシュ処理とは、制御装置とフィールド機器との間でデータを送受信する処理である。
【0025】
ユーザプログラム実行処理とは、ユーザによって任意に作成されたプログラムを実行する処理である。
【0026】
モーション処理とは、フィールド機器が備えるサーボモータなどのアクチュエータに対して、位置、速度、加速度、加加速度、角度、角速度、角加速度、角加加速度などの数値を指令として演算する処理である。
【0027】
他の処理は、IOリフレッシュ処理、ユーザプログラム実行処理およびモーション処理以外の各種処理を含む。
【0028】
制御装置100Aおよびフィールド機器200aの各々は、互いに同期したタイマをそれぞれ有する。制御装置100Aは、当該タイマの時刻に基づいて、制御周期TcAごとにフィールド機器200aとの間でデータを送受信する。制御装置100Aは、制御周期TcA内において、フィールド機器200aがデータを受信した後の同期タイミングt1Aを設定する。フィールド機器200aは、制御装置100Aとの間で同期されたタイマに基づいて、同期タイミングt1Aに同期して制御対象に対する処理を開始する。具体的には、フィールド機器200aは、タイマの時刻が同期タイミングt1Aに到達したときにトリガ信号TRaを生成し、トリガ信号TRaの発生に応じて、制御対象に対する処理を開始する。
【0029】
制御装置100Bおよびフィールド機器200b,200cの各々は、互いに同期したタイマを有する。制御装置100Bは、当該タイマの時刻に基づいて、制御周期TcBごとにフィールド機器200b,200cとの間でデータを送受信する。制御装置100Bは、制御周期TcB内において、フィールド機器200b,200cがデータを受信した後の同期タイミングt1Bを設定する。フィールド機器200b,200cは、制御装置100Bとの間で同期されたタイマの時刻に基づいて、同期タイミングt1Bに同期して制御対象に対する処理を開始する。具体的には、フィールド機器200bは、タイマの時刻が同期タイミングt1Bに到達したときにトリガ信号TRbを生成し、トリガ信号TRbの発生に応じて、制御対象に対する処理をそれぞれ開始する。同様に、フィールド機器200cは、タイマの時刻が同期タイミングt1Bに到達したときにトリガ信号TRcを生成し、トリガ信号TRcの発生に応じて、制御対象に対する処理をそれぞれ開始する。
【0030】
制御装置100Cおよびフィールド機器200dの各々は、互いに同期したタイマを有する。制御装置100Cは、当該タイマの時刻に基づいて、制御周期TcCごとにフィールド機器200dとの間でデータを送受信する。制御装置100Cは、制御周期TcC内において、フィールド機器200dがデータを受信した後の同期タイミングt1Cを設定する。フィールド機器200dは、制御装置100Cとの間で同期されたタイマの時刻に基づいて、同期タイミングt1Cに同期して制御対象に対する処理を開始する。具体的には、フィールド機器200dは、タイマの時刻が同期タイミングt1Cに到達したときにトリガ信号TRdを生成し、トリガ信号TRdの発生に応じて、制御対象に対する処理を開始する。
【0031】
制御対象に対する処理は、たとえば、制御対象の機械や設備などからのフィールド情報の収集処理、制御対象の機械や設備への指令信号の出力処理などである。
【0032】
図1に示す例では、制御装置100Aと制御装置100Bとがフィールドネットワーク10A,10Bよりも上位のネットワーク11を介して予め接続されている。そして、制御装置100Aと制御装置100Bとの間で、同期タイミングt1Aと同期タイミングt1Bとを一致させるための各種の設定が予め行なわれている。
【0033】
具体的には、制御装置100Aの制御周期TcAの長さと制御装置100Bの制御周期TcBの長さとが同一に設定される。さらに、制御周期TcA内におけるIOリフレッシュ処理の開始タイミングt0Aと制御周期TcBにおけるIOリフレッシュ処理の開始タイミングt0Bとが一致するように、制御周期TcA,TcBの位相が設定される。さらに、制御周期TcAにおける開始タイミングt0Aと同期タイミングt1Aとの時間差と、制御周期TcBにおける開始タイミングt0Bと同期タイミングt1Bとの時間差とが同一に設定される。これにより、制御装置100A,100Bに接続されるフィールド機器200a~200cは、同時刻に制御対象に対する処理を開始することができる。その結果、フィールド機器200a~200cは連係して動作する。
【0034】
制御装置100Cがネットワーク11を介して制御装置100A,100Bに接続されていない場合、制御装置100Cは、制御装置100A,100Bと独立してフィールド機器200dを制御する。そのため、図1の左側に示されるように、制御周期TcC内の同期タイミングt1Cは、同期タイミングt1A,t1Bと一致しない。その結果、フィールド機器200dは、制御装置100A,100Bに接続されるフィールド機器200a~200cと連係して動作できない。
【0035】
制御装置100Cがネットワーク11を介して制御装置100A,100Bに接続されると、制御装置100Cは、制御周期TcC内の同期タイミングt1Cが同期タイミングt1A,t1Bと一致するように、以下の(a)~(c)の少なくとも1つを調整する。
(a)制御周期TcCの長さ、
(b)制御周期TcA,TcBに対する制御周期TcCの位相差、
(c)制御周期TcCの基準タイミング(たとえばIOリフレッシュ処理の開始タイミングt0C)と同期タイミングt1Cとの時間差。
【0036】
図1の右側に示す例では、制御周期TcCの長さが制御周期TcA,TcBの長さの1倍になるように調整される。さらに、同期タイミングt1Cが同期タイミングt1A,t1Bと一致するように、制御周期TcA,TcBに対する制御周期TcCの位相差が調整される。これにより、同期タイミングt1Cが同期タイミングt1A,t1Bと一致する。その結果、フィールド機器200dは、制御装置100A,100Bに接続されるフィールド機器200a~200cと連係して動作できる。
【0037】
本実施の形態によれば、制御装置100Cが制御装置100A,100Bと接続されるときに、制御装置100A,100Bは、制御周期の長さ、制御周期の位相、および、制御周期内の同期タイミングと基準タイミングとの時間差を調整する必要がない。そのため、制御装置100A,100Bが稼働中であっても、制御装置100Cを制御装置100A,100Bにネットワーク11を介して接続させ、フィールド機器200a~200dの連係した動作を開始させることができる。すなわち、フィールド機器200a~200dの連係した動作を開始させるために、制御装置100A,100Bを停止させる必要がない。これにより、稼働率の低下を抑制しながら、互いに異なる制御装置100A~100Cに接続される複数のフィールド機器200a~200dを連係して動作させることができる。
【0038】
§2 構成例
本発明の実施の形態について、図面を参照しながら詳細に説明する。以下の説明においては、「制御装置」の典型例として、PLC(プログラマブルロジックコントローラ)を具体例として説明するが、PLCの名称に限定されることなく、本明細書に開示された技術思想は、任意の制御装置に対して適用可能である。
【0039】
<A.制御システムの全体構成>
まず、本実施の形態に従う制御システムの全体構成について説明する。図2は、本実施の形態に従う制御システム1の全体構成の一例を示す模式図である。
【0040】
図2を参照して、制御システム1では、ネットワークが複数レベルに接続されており、各レベルのネットワークには、それぞれ異なる機能が割り当てられる。具体的には、4つのレベルのネットワーク11~14が設けられている。
【0041】
ネットワーク11は、コントロールレベルのネットワークである。ネットワーク11には、装置/ライン管理機器である装置/ライン管理装置190とSCADA(Supervisory Control And Data Acquisition)機能を提供する表示装置195とが接続されるとともに、マシン制御機器である複数の制御装置100A~100C(以下、「制御装置100」と総称することもある。)が接続可能である。ネットワーク11には、接続されている装置間でデータを伝送できるリンクが形成される。ネットワーク11は、コントローラ(制御装置100)と管理機器(装置/ライン管理装置190および表示装置195)との間でデータリンクを構築する。ネットワーク11は、主として、制御系に係る情報の伝送を主たる機能として提供する。
【0042】
制御装置100には、センサ、アクチュエータといった各種のフィールド機器が接続される。これらのフィールド機器は、制御装置100に装着される入出力ユニットを介して直接接続される場合もあるが、フィールドネットワークを介して接続されることもある。図1に示す構成例においては、制御装置100A~100Cでは、1または複数のフィールドネットワーク10A~10Cがそれぞれ構成されている。フィールドネットワーク10A~10C(以下、「フィールドネットワーク10」と総称することもある。)の各々には、1または複数のフィールド機器200が接続される。1または複数のフィールド機器200の各々は、製造装置や生産ラインなど(以下、「フィールド」とも総称する。)に対して何らかの物理的な作用を与えるアクチュエータ、およびフィールドとの間で情報を遣り取りする入出力装置などを含む。したがって、図1に示す制御システム1には、ネットワーク11~14の4つのレベルに加えて、フィールドレベルのネットワークがさらに追加されることになる。
【0043】
フィールドネットワーク10を介して制御装置100とフィールド機器200との間でデータが送受信される(IOリフレッシュ処理)。送受信されるデータは、数100μsecオーダ~数10msecオーダのごく短い制御周期で更新される。
【0044】
ネットワーク12は、管理レベルのネットワークであり、装置/ライン管理装置190と、製造管理装置250およびデータベース装置255とが接続されており、装置間でデータを伝送できるリンクが形成される。ネットワーク12は、管理情報の遣り取りおよび装置/ラインの情報の伝送を主たる機能として提供する。
【0045】
ネットワーク13は、コンピュータレベルのネットワークであり、製造管理装置250およびデータベース装置255と生産計画などを管理する生産管理装置300とが接続されており、装置間でデータを伝送できるリンクが形成される。ネットワーク13は、生産管理および情報系のデータの伝送を主たる機能として提供する。
【0046】
ネットワーク14は、インターネットなどの外部ネットワークであり、生産管理装置300とクラウドやサプライチェーンなどとが接続される。
【0047】
図2に示す制御システム1において、ネットワーク12およびそれ以下のレベルは、「ファクトリーネットワーク」とも称され、機器を現実に制御するためのデータ(以下、「制御系データ」と総称することもある)を遣り取りする制御系通信を提供する。一方、ネットワーク13以上のレベルは、「コーポレートネットワーク」とも称され、生産ライン/工場での生産活動などを監視・管理・制御するためのデータ(以下、「情報系データ」と総称することもある)を遣り取りする情報系通信を提供する。
【0048】
ネットワーク11~14およびフィールドネットワーク10A~10Cには、このような要求される特性の違いに応じたプロトコルおよびフレームワークが採用される。例えば、ファクトリーネットワークに属するネットワーク11,12のプロトコルとしては、汎用的なEthernet(登録商標)上に制御用プロトコルを実装した産業用オープンネットワークであるEtherNet/IP(登録商標)を用いてもよい。また、フィールドネットワーク10A~10Cのプロトコルとしては、マシンコントロール用ネットワークの一例であるEtherCAT(登録商標)を採用してもよい。なお、ネットワーク11のプロトコル(第1のプロトコル)とフィールドネットワーク10A~10Cのプロトコル(第2のプロトコル)とは、同じであってもよいし、異なっていてもよい。
【0049】
このようなマシンコントロールに適したネットワーク技術を採用することで、機器間の伝送に要する時間が保証されたリアルタイム性を提供できる。但し、1回の通信周期で伝送可能なデータ量には制限がある。
【0050】
一方、コーポレートネットワークに属するネットワーク13,14のプロトコルとしては、接続先の多様性を担保するために、汎用的なEthernetなどが用いられる。汎用的なEthernetを採用することで、リアルタイム性は実現できないものの、送信可能なデータ量などの制限は存在しない。
【0051】
<B.ネットワーク構成例>
次に、本実施の形態に従う制御システム1のネットワーク構成例について説明する。図3は、本実施の形態に従う制御システム1のネットワーク構成例を示す模式図である。
【0052】
図3に示す制御システム1は、複数の制御装置100A~100Cと、複数のフィールド機器200a~200dとを含む。制御システム1は、一例として、少なくとも一部の制御装置がデイジーチェーン接続のネットワークを採用する。制御装置100A~100Cは、フィールドネットワーク10A~10C内のデータ伝送を管理するマスタとしてそれぞれ動作る。フィールド機器200a~200dは、対応するマスタからの指令に従ってデータ伝送を行なうスレーブとして動作する。
【0053】
制御装置100A,100Bは、コントロールレベルのネットワーク11(上位ネットワーク)に接続されている。ネットワーク11には、例えば装置/ライン管理装置190が接続されている。
【0054】
制御装置100Cは、フィールド機器200dをフィールド機器200a~200cと連係して動作させる際にネットワーク11に接続される。制御装置100Cは、フィールド機器200dをフィールド機器200a~200cと連係して動作させない場合に、ネットワーク11から切り離される。なお、制御装置100A~100Cとネットワーク11とは、有線通信によって接続されてもよいし、無線通信によって接続されてもよい。
【0055】
制御装置100Aに接続されるフィールドネットワーク10Aには、フィールド機器200aを含む複数のフィールド機器がデイジーチェーンで順次接続されている。制御装置100Bに接続されるフィールドネットワーク10Bには、フィールド機器200b、200cを含む複数のフィールド機器がデイジーチェーンで順次接続されている。制御装置100Cに接続されるフィールドネットワーク10Cには、フィールド機器200dを含む複数のフィールド機器がデイジーチェーンで順次接続されている。
【0056】
フィールドネットワーク10A~10Cの各々において、制御装置100および1または複数のフィールド機器200は、いずれもデータ伝送動作を行なう通信装置とみなすことができる。図3に示す例においては、制御装置100および1または複数のフィールド機器200の各々は、隣接して接続されている上流側の通信装置からデータを受信すると、当該データを必要に応じて、隣接して接続されている下流側の通信装置へ伝送する。なお、受信されたデータが自装置宛てである場合には、当該受信したデータは他の通信装置へ伝送されることなく、当該データを受信した装置自体で当該データが処理される。
【0057】
本実施の形態に従う制御システム1において、フィールドネットワーク10A~10Cの各々を構成する複数の通信装置、すなわち制御装置100および1または複数のフィールド機器200の間では、送受信タイミングが時刻同期されている(図中の時刻同期(3)に相当)。具体的には、制御装置100および1または複数のフィールド機器200の各々は、互いに時刻同期されたタイマを有しており、それらの時刻同期されたタイマに従って、各々がデータの送信または受信のタイミングを決定する。なお、タイマは、同期してインクリメントまたはデクリメントされるカウンタであってもよい。
【0058】
図3に示す例では、制御装置100Aはタイマ102Aを有しており、フィールド機器200aはタイマ201aを有している。タイマ102Aがマスタとして動作し、タイマ201aがこのマスタを基準としてタイミングを同期させる。
【0059】
制御装置100Bはタイマ102Bを有しており、フィールド機器200b,200cはタイマ201b,201cをそれぞれ有している。タイマ102Bがマスタとして動作し、タイマ201b,201cがこのマスタを基準としてタイミングを同期させる。
【0060】
制御装置100Cはタイマ102Cを有しており、フィールド機器200dはタイマ201dを有している。タイマ102Cがマスタとして動作し、タイマ201dがこのマスタを基準としてタイミングを同期させる。
【0061】
すなわち、制御装置100A~100Cは、フィールドネットワーク10A~10C内のデータ伝送を管理するマスタとしてそれぞれ動作する。各制御装置100に接続されるフィールド機器200は、マスタからの指令に従ってデータ伝送を行なうスレーブとして動作する。マスタとスレーブとの間でタイマを互いに同期させることにより、フィールドネットワーク10を構成する制御装置100とフィールド機器200との間でデータの伝送タイミングなどを互いに一致させることができる。
【0062】
図3に示す例において、制御装置100Aは、さらに、タイマ102Aと時刻同期されたタイマ101Aを有している。制御装置100Bは、さらに、タイマ102Bと時刻同期されたタイマ101Bを有している。制御装置100Cは、さらに、タイマ102Cと時刻同期されたタイマ101Cを有している(図中の時刻同期(2)に相当)。
【0063】
制御システム1において、タイマ101A,101Bのいずれかを、制御システム1全体のマスタとして動作させる。以下、このようなシステム全体のマスタを「グランドマスタクロック」とも称す。
【0064】
一例として、図3では、制御装置100Aのタイマ101Aがグランドマスタクロックに設定され、制御装置100Bのタイマ101Bがこのグランドマスタクロックに時刻同期する。さらに、制御装置100Cがネットワーク11に接続されると、制御装置100Cのタイマ101Cがグランドマスタクロックに時刻同期する。これにより、ネットワーク11に接続されている複数の制御装置100A~100Cの間で、互いに時刻同期させることができる(図中の時刻同期(1)に相当)。
【0065】
なお、図3には、制御装置100Aのタイマ101Aをグランドマスタクロックとして設定する構成例について説明したが、外部装置のタイマをグランドマスタクロックとして設定してもよい。
【0066】
<C.制御装置およびフィールド機器のハードウェア構成例>
次に、本実施の形態に従う制御装置100(100A~100C)およびフィールド機器200(200a~200d)のハードウェア構成について説明する。
【0067】
図4は、本実施の形態に係る制御装置およびフィールド機器のハードウェア構成例を示すブロック図である。制御装置100は、典型的には、PLC(プログラマブルコントローラ)をベースとして構成されてもよい。
【0068】
図4を参照して、制御装置100は、主たるコンポーネントとして、プロセッサ103と、メモリ104と、ストレージ106と、ネットワークコントローラ130と、フィールドネットワークコントローラ140とを含む。
【0069】
プロセッサ103は、ストレージ106に格納されているシステムプログラム107およびユーザアプリケーションプログラム108を読み出して実行することにより、各種処理を実現する。メモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置からなる。ストレージ106は、制御装置100の各部を制御するためのシステムプログラム107に加えて、制御対象などに応じて設計されるユーザアプリケーションプログラム108を記憶する。
【0070】
ネットワークコントローラ130は、制御装置100がネットワーク11を介して他の装置との間でデータを遣り取りするためのインターフェイスを提供する。ネットワークコントローラ130は、主たるコンポーネントとして、送受信コントローラ131と、送受信バッファ132と、タイマ101とを含む。タイマ101は、制御装置100Aではタイマ101A(図3参照)に対応し、制御装置100Bではタイマ101Bに対応し、制御装置100Cではタイマ101Cに対応する。
【0071】
送受信コントローラ131は、ネットワーク11上を定周期で伝送されるパケットの生成および受信に関する処理を行なう。具体的には、送受信コントローラ131は、ネットワーク11から受信したパケットに格納されているデータを送受信バッファ132に書込む。送受信コントローラ131は、送受信バッファ132に書込まれた受信パケットを順次読出すとともに、当該読出したデータのうち制御装置100での処理に必要なデータのみをプロセッサ103へ出力する。送受信コントローラ131は、プロセッサ103からの指令に従って、他の装置へ送信すべきデータあるいはパケットを送受信バッファ132へ順次書込む。送受信バッファ132に格納されているデータは、ネットワークコントローラ130上をパケットが転送される周期に応じて順次送出される。
【0072】
タイマ101は、送受信コントローラ131からデータの送信などを指示するタイミングの基準となるパルスを発生する。タイマ101としては、リアルタイムクロック、または、所定周期でカウントアップ(インクリメント)するフリーランカウンタを用いることができる。フリーランカウンタが出力するカウント値をある時点からの経過時間として扱うことで現在時刻を計算でき、これによってタイマとして動作させることができる。
【0073】
フィールドネットワークコントローラ140は、制御装置100がフィールドネットワーク10を介してフィールド機器200との間でデータを送受信するためのインターフェイスを提供する。フィールドネットワークコントローラ140は、主たるコンポーネントとして、送受信コントローラ141と、送受信バッファ142と、タイマ102とを含む。送受信コントローラ141は、タイマ102の時刻に基づいて、制御周期Tcごとにフィールド機器200との間でデータを送受信する。これらのコンポーネントの動作は、ネットワークコントローラ130の対応するコンポーネントの動作と同様であるので、詳細な説明は繰返さない。なお、タイマ102は、制御装置100Aではタイマ102A(図3参照)に対応し、制御装置100Bではタイマ102Bに対応し、制御装置100Cではタイマ102Cに対応する。
【0074】
フィールド機器200は、制御装置100による制御に従って、機械や設備などの制御対象500に対する処理を行なう。典型的には、フィールド機器200は、制御対象500からのフィールド情報の収集処理や、制御対象500への指令信号の出力処理などを行なう。フィールド機器200は、主たるコンポーネントとして、フィールドネットワークコントローラ210と、処理部216とを含む。
【0075】
フィールドネットワークコントローラ210は、フィールド機器200がフィールドネットワーク10を介して制御装置100との間でデータを送受信するためのインターフェイスを提供する。フィールドネットワークコントローラ210は、主たるコンポーネントとして、送受信コントローラ212と、タイマ201と、トリガ信号生成回路214とを含む。
【0076】
送受信コントローラ212は、フィールドネットワーク10上を転送される通信フレームに対するデータ書込みおよびデータ読出しを行なう。
【0077】
タイマ201は、送受信コントローラ212に対する指令出力やフィールド機器200での処理実行などのタイミングの基準となるクロックを発生する。タイマ201としては、リアルタイムクロックまたがフリーランカウンタが用いられる。なお、タイマ201は、フィールド機器200aではタイマ201a(図3参照)に対応し、フィールド機器200bではタイマ201bに対応し、フィールド機器200cではタイマ201cに対応し、フィールド機器200dではタイマ201dに対応する。
【0078】
トリガ信号生成回路214は、タイマ201で示される時刻が同期タイミングt1に到達するとトリガ信号TRを生成し、処理部216に出力する。同期タイミングt1は、制御装置100の起動時に設定される。すなわち、制御装置100は、起動時に、フィールドネットワーク10に接続されたフィールド機器200の構成を認識し、フィールド機器200の接続台数および各フィールド機器200の通信遅延を考慮して、同期タイミングt1を設定する。なお、同期タイミングt1は、ユーザの指示に応じて調整されてもよい。制御装置100A~100Cによって設定される同期タイミングt1は、それぞれ同期タイミングt1A~t1C(図1参照)である。フィールド機器200a~200dで生成されるトリガ信号TRは、それぞれトリガ信号TRa~TRd(図1参照)である。
【0079】
フィールドネットワーク10のプロトコルとしてEtherCAT(登録商標)を用いる場合、トリガ信号生成回路214は、EtherCAT(登録商標)で規定される同期信号Sync0をトリガ信号TRとして生成すればよい。
【0080】
処理部216は、制御対象500に対する処理を行なう。処理部216は、トリガ信号生成回路214からトリガ信号TRを受けると、制御対象500に対する処理を開始する。
【0081】
たとえば、制御対象500がサーボモータである場合、処理部216は、制御装置100からの指令に基づいてサーボモータに対するコマンドを生成し、生成したコマンドに従ってサーボモータを動作させる。さらに、サーボモータの回転軸にはエンコーダが設けられており、処理部216は、当該エンコーダから、サーボモータの位置(回転角度)、回転速度、累積回転数などのフィールド情報を収集する。
【0082】
制御対象500がロボットである場合、処理部216は、制御装置100からの指令に基づいてロボットに対するコマンドを生成し、生成したコマンドに従ってロボットを動作させる。具体的には、処理部216は、ロボットが有する1または複数のサーボモータを動作させる。さらに、サーボモータの回転軸にはエンコーダが設けられており、処理部216は、当該エンコーダから、サーボモータの位置(回転角度)、回転速度、累積回転数などのフィールド情報を収集する。
【0083】
制御対象500がカメラである場合、処理部216は、カメラに撮像指示を出力し、撮像により得られた画像データを取得する。
【0084】
<D.ソフトウェア構成>
次に、本実施の形態に従う制御装置100のソフトウェア構成の一例について説明する。図5は、本実施の形態に従う制御装置のソフトウェア構成の一例を示す模式図である。
【0085】
図5を参照して、制御装置100のプロセッサ103ではスケジューラ170が実行される。スケジューラ170は、予め定められた制御周期Tcに従って、複数の処理の実行順序や実行中断などを決定する。より具体的には、スケジューラ170は、ユーザプログラム実行処理171と、モーション処理172と、各種処理を含む周辺処理173と、上位ネットワーク通信処理174と、下位ネットワーク通信処理176と、上位ネットワーク時刻同期処理178と、下位ネットワーク時刻同期処理179と、調整処理180とに対して、予め定められた優先度および制御周期Tcなどに従って、処理リソース(プロセッサ時間およびメモリなど)を割り当てる。
【0086】
さらに、スケジューラ170は、フィールドネットワーク10を介して接続されたフィールド機器200がトリガ信号TRを生成する同期タイミングt1を設定する。
【0087】
ユーザプログラム実行処理171は、ユーザアプリケーションプログラム108(図4参照)の実行に係る処理を含む。モーション処理172は、フィールド機器200が備えるサーボモータなどのアクチュエータに対する指令を演算する処理である。
【0088】
上位ネットワーク通信処理174は、上位ネットワーク通信に関わるデータに係る処理、たとえば、データ作成、エンコーディング、デコーディング、抽出、加工編集などを含む。プロセッサ103にはNIC(Network Interface Card)175が実装されている。NIC175は、図示しない通信ポートに接続され、ネットワーク11上でのデータ伝送を管理する。上位ネットワーク通信処理174は、NIC175を介して、ネットワークコントローラ130(図4参照)を制御する。
【0089】
同様に、下位ネットワーク通信処理176は、下位ネットワーク通信に関わるデータに係る処理を含む。プロセッサ103にはNIC177が実装されている。NIC177は、図示しない通信ポートに接続され、フィールドネットワーク10上でのデータ伝送を管理する。下位ネットワーク通信処理176は、NIC177を介して、フィールドネットワークコントローラ140(図4参照)を制御する。
【0090】
上位ネットワーク時刻同期処理178は、他の制御装置100との時刻同期に係る処理を含む。たとえば、自身の制御装置100のタイマ101(図4参照)がグランドマスタクロックに設定された場合、上位ネットワーク時刻同期処理178は、他の制御装置100との間で時刻同期をとるために、自身のタイマ101を基準として、他の制御装置100のタイマ101を調整する処理などを含む。あるいは、他の制御装置100のタイマ101がグランドマスタクロックに設定された場合、上位ネットワーク時刻同期処理178は、他の制御装置100のタイマ101を基準として自身のタイマ101を調整する処理を含む。
【0091】
下位ネットワーク時刻同期処理179は、フィールド機器200との時刻同期に係る処理を含む。たとえば、自身の制御装置100のタイマ101がグランドマスタクロックに設定された場合、下位ネットワーク時刻同期処理179は、自身のタイマ101を基準として、自身のタイマ102(図4参照)およびフィールド機器200のタイマ201を調整する処理などを含む。あるいは、他の制御装置100のタイマ101がグランドマスタクロックに設定された場合、下位ネットワーク時刻同期処理179は、他の制御装置100のタイマ101を基準として、自身のタイマ102およびフィールド機器200のタイマ201を調整する処理を含む。
【0092】
調整処理180は、他の制御装置100に接続されたときに、他の制御装置100で設定された同期タイミングt1と、スケジューラ170が設定した同期タイミングt1とが一致するように、以下の(a)~(c)の少なくとも1つを調整する処理である。
(a)自身の制御装置100の制御周期Tcの長さ、
(b)他の制御装置100の制御周期Tcに対する自身の制御周期Tcの位相差、
(c)自身の制御装置100の制御周期Tcの基準タイミング(たとえばIOリフレッシュ処理の開始タイミングt0)と同期タイミングt1との時間差(オフセット時間)。
【0093】
<E.制御処理のスケジューリング>
次に、本実施の形態に従う制御装置100における制御処理のスケジューリングについて説明する。
【0094】
図6は、本実施の形態に従う制御装置における制御処理のスケジューリングを説明するための模式図である。図6に示す例では、予め定められた制御周期Tcに従って、IOリフレッシュ処理、ユーザプログラム実行処理、モーション処理、およびその他の処理がこの順で実行される。
【0095】
IOリフレッシュ処理では、直前の制御周期Tcにおけるモーション処理により演算された出力データがフィールド機器200へ与えられ、フィールド機器200から入力データが収集される。
【0096】
フィールド機器200は、制御対象に対する処理を開始する前に、制御装置100から新たなデータを受け取る必要がある。そのため、制御装置100は、フィールドネットワーク10を介して接続される全てのフィールド機器200がデータを受け取るタイミングより同期タイミングt1が後になるように、制御周期Tc内において同期タイミングt1を設定する。すなわち、IOリフレッシュ処理の開始タイミングt0から全てのフィールド機器200がデータを受け取るタイミングまでの時間よりも、開始タイミングt0から同期タイミングt1までの時間が長くなるように、同期タイミングt1が設定される。これにより、各フィールド機器200は、制御装置100からデータを受け取った後の同期タイミングt1においてトリガ信号TRを生成し、制御対象500に対する処理を開始できる。
【0097】
<F.調整処理の第1の具体例>
次に、本実施の形態に従う制御装置100における調整処理180(図5参照)の第1の具体例について説明する。
【0098】
図7は、本実施の形態に従う制御装置における調整処理の第1の具体例を説明するための模式図である。図7に示す例では、制御装置100Aと制御装置100Bとの間で、同期タイミングt1Aと同期タイミングt1Bとを一致させるための各種の設定が予め行なわている。そして、制御装置100Cがネットワーク11を介して、稼働中の制御装置100A,100Bと接続される。稼働中の制御装置100A,100Bでは調整処理180が無効化され、制御装置100Cにおいて調整処理180が行なわれる。また、制御装置100Aのタイマ101Aがグランドマスタクロックに設定されているものとする。
【0099】
図7(a)には、制御装置100Cがネットワーク11に接続されていないときの、各制御装置の制御処理のスケジュールが示されている。制御装置100Cと制御装置100A,100Bとが接続されていないため、制御装置100Cの制御処理のスケジュールは、制御装置100A,100Bの制御処理のスケジュールと独立している。すなわち、制御装置100Cによって設定された同期タイミングt1Cは、同期タイミングt1A,t1Bと一致しない。
【0100】
制御装置100Cが制御装置100A,100Bとネットワーク11を介して接続されると、制御装置100Cの調整処理180によって、制御周期TcCの長さが制御周期TcA(=制御周期TcB)の長さと同じに調整される。さらに、制御装置100Cのタイマ101Cは、上位ネットワーク時刻同期処理178(図5参照)によって、制御装置100Aのタイマ101Aとの間で時刻同期をとるように調整される。
【0101】
図7(b)には、タイマ101Cがタイマ101Aと時刻同期されたときの、各制御装置の制御処理のスケジュールが示されている。制御装置100Cは、制御装置100A,100Bとの間で同期されたタイマの時刻に従って、制御装置100A、100Bと同一のタイミングでIOリフレッシュ処理を開始させる。すなわち、制御装置100AにおけるIOリフレッシュ処理の開始タイミングt0Aと、制御装置100CにおけるIOリフレッシュ処理の開始タイミングt0Cとが一致するように、制御周期TcA,TcBに対する制御周期TcCの位相差が調整される。開始タイミングt0A,t0B,t0Cはそれぞれ、制御装置100A,100B,100Cのフィールドネットワークコントローラ140がデータの送信を開始するタイミングである。
【0102】
しかしながら、制御周期TcCにおける開始タイミングt0Cと同期タイミングt1Cとの時間差Tsは、制御周期TcAにおける開始タイミングt0Aと同期タイミングt1Aとの時間差Tmと異なる。図7に示す例では、時間差Tsは、時間差Tmよりも短い。そのため、開始タイミングt0Cを開始タイミングt0Aに合わせたとしても、制御装置100Cに接続されるフィールド機器200dは、制御装置100Aまたは制御装置100Bに接続されるフィールド機器200a,200bと連係して動作できない。
【0103】
同期タイミングt1Cを同期タイミングt1Aと一致させるために、制御装置100Cでは、開始タイミングt0Cと同期タイミングt1Cとの時間差をTmまで長くする調整処理180が行なわれる。すなわち、開始タイミングt0Cと同期タイミングt1Cとの時間差は、差分ΔT(=Tm-Ts)だけ長くなるように調整される。
【0104】
上述したように、同期タイミングt1Cは、制御装置100Cに接続される全てのフィールド機器200がデータを受け取るタイミングよも後になるように予め設定されている。そのため、IOリフレッシュ処理の開始タイミングt0Cと同期タイミングt1Cとの時間差を長くしたとしても、全てのフィールド機器200は、制御装置100Cからのデータを受け取った後に、制御対象500に対する処理を開始できる。
【0105】
図7(c)には、開始タイミングt0Cと同期タイミングt1Cとの時間差が調整された後の、各制御装置の制御処理のスケジュールが示されている。図7(c)に示されるように、開始タイミングt0Cと同期タイミングt1Cとの時間差が調整されることにより、同期タイミングt1Cと同期タイミングt1Aとが一致する。
【0106】
このように、制御装置100Cのプロセッサ103は、開始タイミングt0Aから同期タイミングt1Aまでの時間(時間差Tm)よりも開始タイミングt0Cから同期タイミングt1Cまでの時間(時間差Ts)が短い場合に、以下の調整処理180を行なう。すなわち、制御装置100Cのプロセッサ103は、開始タイミングt0Cと開始タイミングt0Aとが一致するように、制御周期TcAに対する制御周期TcCの位相差を調整する。さらに、制御装置100Cのプロセッサ103は、開始タイミングt0Cと同期タイミングt1Cとの時間差を開始タイミングt0Aから同期タイミングt1Aまでの時間に調整する。これにより、同期タイミングt1Cと同期タイミングt1Aとが一致し、制御装置100Cに接続されるフィールド機器200dは、制御装置100Aまたは制御装置100Bに接続されるフィールド機器200a,200bと連係して動作できる。
【0107】
<G.調整処理の第2の具体例>
次に、本実施の形態に従う制御装置100における調整処理180(図5参照)の第2の具体例について説明する。
【0108】
図8は、本実施の形態に従う制御装置における調整処理の第2の具体例を説明するための模式図である。図8(a)には、図7(a)と同様に、制御装置100Cがネットワーク11に接続されていないときの、各制御装置の制御処理のスケジュールが示されている。
【0109】
制御装置100Cが制御装置100A,100Bとネットワーク11を介して接続されると、制御装置100Cの調整処理180によって、制御周期TcCの長さが制御周期TcA(=制御周期TcB)の長さと同じに調整される。さらに、制御装置100Cのタイマ101Cは、上位ネットワーク時刻同期処理178(図5参照)によって、制御装置100Aのタイマ101Aとの間で時刻同期をとるように調整される。
【0110】
図8(b)には、タイマ101Cがタイマ101Aと時刻同期されたときの、各制御装置の制御処理のスケジュールが示されている。制御装置100A~100Cは、互いに時刻同期されたタイマの時刻に従って、同一のタイミングでIOリフレッシュ処理を開始させる。すなわち、制御装置100AにおけるIOリフレッシュ処理の開始タイミングt0Aと、制御装置100CにおけるIOリフレッシュ処理の開始タイミングt0Cとが一致する。しかしながら、制御周期TcCにおける開始タイミングt0Cと同期タイミングt1Cとの時間差Tsは、制御周期TcAにおける開始タイミングt0Aと同期タイミングt1Aとの時間差Tmと異なる。図8に示す例では、時間差Tsは、時間差Tmよりも長い。そのため、制御装置100Cに接続されるフィールド機器200dは、制御装置100Aまたは制御装置100Bに接続されるフィールド機器200a,200bと連係して動作できない。
【0111】
時間差Tsが時間差Tmよりも長い場合において、第1の具体例のように開始タイミングt0Cと同期タイミングt1Cとの時間差がTmに調整されると、次のような問題が生じ得る。すなわち、フィールド機器200dは、制御装置100Cからのデータを受け取る前に、制御対象に対する処理を開始しなければならない。
【0112】
そのため第2の具体例における制御装置100Cでは、同期タイミングt1Cを同期タイミングt1A,t1Bと一致させるために、制御周期TcA,TcBに対する制御周期TcCの位相差を調整する調整処理180が行なわれる。すなわち、開始タイミングt0Cが時間差Tsと時間差Tmとの差分ΔT(=Ts-Tm)だけ開始タイミングt0A,t0Bよりも早くなるように、制御周期TcA,TcBに対する制御周期TcCの位相差が調整される。
【0113】
図8(c)には、制御周期TcA,TcBに対する制御周期TcCの位相差が調整された後の、各制御装置の制御処理のスケジュールが示されている。図8(c)に示されるように、制御周期TcA,TcBに対する制御周期TcCの位相差が調整されることにより、同期タイミングt1Cと同期タイミングt1A,t1Bとが一致する。
【0114】
このように、制御装置100Cのプロセッサ103は、開始タイミングt0Cから同期タイミングt1Cまでの時間(時間差Ts)と、開始タイミングt0Aから同期タイミングt1Aまでの時間(時間差Tm)とが異なる場合に、以下の調整処理180を行なう。すなわち、制御装置100Cのプロセッサ103は、開始タイミングt0Cと開始タイミングt0Aとが時間差Tsと時間差Tmとの差分だけずれるように、制御周期TcAに対する制御周期TcCの位相差を調整する。これにより、同期タイミングt1Cと同期タイミングt1Aとが一致し、制御装置100Cに接続されるフィールド機器200dは、制御装置100Aまたは制御装置100Bに接続されるフィールド機器200a,200bと連係して動作できる。
【0115】
<H.制御装置100Cと制御装置100A,100Bとの接続処理の流れ>
次に、本実施の形態に従う制御装置100Cと制御装置100A,100Bとの接続処理の流れについて説明する。
【0116】
図9は、本実施の形態に従う複数の制御装置間の接続処理の流れの一例を示すフローチャートである。
【0117】
まず、制御装置100Cと制御装置100A,100Bとは、ネットワーク11を介して互いに通信接続する(ステップS1,S11)。制御装置100Cは、制御装置100A,100Bと通信接続すると、フィールドネットワーク10Cを介して接続されたフィールド機器200に対する制御処理と、当該フィールド機器200との通信とを停止する(ステップS12)。なお、制御装置100A,100Bの各々は、フィールドネットワーク10を介して接続されたフィールド機器200に対する制御処理と、当該フィールド機器200との通信とを継続して実行する。
【0118】
次に、制御装置100Aは、制御周期TcAの長さをネットワーク11を介して制御装置100Cに通知する(ステップS2)。なお、制御周期TcA,TcBの長さは、同一になるように予め設定されている。そのため、制御装置100A,100Bのうちの一方(ここでは制御装置100A)が自身の制御周期の長さを通知すればよい。そして、制御装置100Cは、制御周期TcAの長さを受信する(ステップS13)。
【0119】
次に、制御装置100Cにおいて、制御周期TcCの長さを制御周期TcAの長さと一致させることが可能か否かが判断される(ステップS14)。当該判断は、制御装置100Cで実行される各処理(IOリフレッシュ処理、ユーザプログラム実行処理、モーション処理、その他の処理)に要する時間等を考慮して行なわれる。
【0120】
制御周期TcCの長さを制御周期TcAの長さと一致させることができる場合(ステップS14でYES)、制御装置100Cにおいて、制御周期TcCの長さが制御周期TcAの長さに調整される(ステップS15)。
【0121】
制御周期TcCの長さを制御周期TcAの長さと一致させることができない場合(ステップS14でNO)、制御装置100Cにおいて、制御周期TcCの長さを制御周期TcAの長さのN倍または1/N倍と一致させることが可能か否かが判断される(ステップS16)。ここで、Nは正の整数である。
【0122】
制御周期TcCの長さを制御周期TcAの長さのN倍または1/N倍と一致させることができる場合(ステップS16でYES)、制御装置100Cにおいて、制御周期TcCの長さが制御周期TcAの長さのN倍または1/N倍に調整される(ステップS17)。
【0123】
制御周期TcCの長さを制御周期TcAの長さのN倍または1/N倍と一致させることができない場合(ステップS16でNO)、接続処理は終了する。この場合、制御装置100Cは、制御装置100A,100Bと独立して、フィールドネットワーク10Cを介して接続されたフィールド機器200を制御する。
【0124】
ステップS15またはステップS17の後、制御装置100A~100Cの各々は、ネットワーク11における時刻同期プロトコルにより、タイマ101(図4参照)を調整する時刻同期処理を実行する(ステップS3,S18)。時刻同期プロトコルとしては、IEEE(Institute of Electrical and Electronics Engineers)158、IEEE802.1AS、IEEE802.1ASなどの高精度時間同期プロトコルを採用することで、時刻同期を実現することができる。
【0125】
次に、制御装置100Cでは、制御周期TcC内の同期タイミングt1Cが設定される。すなわち、制御周期TcCの基準タイミング(ここでは、IOリフレッシュ処理の開始タイミングt0C)と同期タイミングt1Cとの時間差(オフセット時間)Tsが設定される(ステップS19)。制御装置100Cは、IOリフレッシュ処理を開始してから全てのフィールド機器200がデータを受け取るまでに要する時間を考慮して、時間差Tsを設定する。具体的には、制御装置100Cは、IOリフレッシュ処理を開始してから全てのフィールド機器200がデータを受け取るまでに要する時間よりもわずかに長い時間を時間差Tsとして設定する。
【0126】
次に、制御装置100Aは、制御周期TcAにおけるIOリフレッシュ処理の開始タイミングt0Aと同期タイミングt1Aとの時間差(オフセット時間)Tmをネットワーク11を介して制御装置100Cに通知する(ステップS4)。なお、制御周期TcBにおけるIOリフレッシュ処理の開始タイミングt0Bと同期タイミングt1Bとの時間差(オフセット時間)は、Tmと同一である。そのため、制御装置100A,100Bのうちの一方(ここでは制御装置100A)が時間差Tmを通知すればよい。そして、制御装置100Cは、時間差Tmを受信する(ステップS20)。
【0127】
制御装置100Cでは、時間差Tsが時間差Tmよりも長いか否かが判断される(ステップS21)。時間差Tsが時間差Tmよりも短い場合(ステップS21でNO)、制御装置100Cでは、開始タイミングt0Cと同期タイミングt1Cとの時間差をTmまで長くする調整処理180が行なわれる(ステップS22)。ステップS22の調整方法は、上記の第1の具体例の調整方法に対応する。これにより、同期タイミングt1Cが同期タイミングt1Aと一致する。
【0128】
一方、時間差Tsが時間差Tm以上である場合(ステップS21でYES)、制御装置100Cでは、時間差Tsと時間差Tmとの差分ΔT(=Ts-Tm)が算出される(ステップS23)。その後、制御装置100Cでは、開始タイミングt0Cが差分ΔTだけ開始タイミングt0Aよりも早くなるように、制御周期TcAに対する制御周期TcCの位相差が調整される(ステップS24)。具体的には、調整後の開始タイミングt0Cの時刻は、(調整前の開始タイミングt0Cの時刻)+(制御周期TcC-ΔT)に調整される。ステップS23,S24の調整方法は、上記の第2の具体例の調整方法に対応する。これにより、同期タイミングt1Cが同期タイミングt1Aと一致する。
【0129】
ステップS22またはステップS24の後、制御装置100Cは、フィールドネットワーク10Cを介して接続されたフィールド機器200に対する制御処理と、当該フィールド機器200との通信処理とを開始する(ステップS25)。制御装置100Cは、同期タイミングt1Cを同期タイミングt1Aと一致させるための調整が終了した旨をネットワーク11を介して装置/ライン管理装置190に通知する(ステップS26)。ステップS26の後、調整処理は終了する。装置/ライン管理装置190は、調整が終了した旨の通知を受けて、制御装置100A~100Cに接続された複数のフィールド機器200が連係して動作するように、制御装置100A~100Cを管理する処理を開始する。これにより、制御装置100Cに接続されたフィールド機器200は、制御装置100Aまたは制御装置100Bに接続されたフィールド機器200と連係して動作できる。
【0130】
<I.変形例>
図9に示す例では、時間差(オフセット時間)Tsと時間差(オフセット時間)Tmとの大小関係に応じて、第1の具体例の調整方法(ステップS22に対応)と、第2の具体例の調整方法(ステップS23,S24)とを切り替える。しかしながら、時間差Tsと時間差Tmとの大小関係にかかわらず、第2の具体例の調整方法(ステップS23,S24)が実行されてもよい。
【0131】
図10は、複数の制御装置間の接続処理の流れの別の例を示すフローチャートである。図10に示すフローチャートは、ステップS21,S22が省略されている点で図9に示すフローチャートと相違する。すなわち、制御装置100Cは、時間差(オフセット時間)Tmを制御装置100Aから受信すると、ステップS23,S24を実行する。
【0132】
具体的には、ステップS24において、調整後の開始タイミングt0Cの時刻は、(調整前の開始タイミングt0Cの時刻)+(制御周期TcC-ΔT)に調整される。すなわち、時間差Tsが時間差Tmよりも長い場合には、開始タイミングt0Cが差分ΔT(=Ts-Tm)だけ開始タイミングt0A,t0Bよりも早くなるように、制御周期TcA,TcBに対する制御周期TcCの位相差が調整される。時間差Tsが時間差Tmよりも短い場合には、開始タイミングt0Cが差分ΔT(=Ts-Tm)の絶対値(Tm-Ts)だけ開始タイミングt0A,t0Bよりも遅れるように、制御周期TcA,TcBに対する制御周期TcCの位相差が調整される。これにより、同期タイミングt1Cが同期タイミングt1Aと一致する。
【0133】
<J.第1の応用例>
図11は、本実施の形態に係る制御システムの第1の応用例を示す模式図である。図11には、搬送ベルト601によって搬送されるワークW1に対して加工を行なう生産ライン701と、搬送ベルト602によって搬送われるワークW2に対して加工を行なう生産ライン702とに制御システムを適用した例が示されている。
【0134】
生産ライン701では、フィールド機器200aがワークW1に対する加工(たとえばラベルの貼り付けなど)を行なった後に、フィールド機器200bがワークW1を把持して次工程に搬送する。フィールド機器200aはフィールドネットワーク10Aを介して制御装置100Aに接続される。フィールド機器200bはフィールドネットワーク10Bを介して制御装置100Bに接続される。制御装置100A,100Bは、ネットワーク11Aに接続されており、フィールド機器200a,200bが連係して動作するように互いの同期タイミングt1を一致させている。
【0135】
生産ライン702では、フィールド機器200fがワークW2に対する加工(たとえばラベルの貼り付けなど)を行なった後に、フィールド機器200gがワークW2を把持して次工程に搬送する。フィールド機器200fはフィールドネットワーク10Dを介して制御装置100Dに接続される。フィールド機器200gはフィールドネットワーク10Eを介して制御装置100Eに接続される。制御装置100D,100Eは、ネットワーク11Bに接続されており、フィールド機器200f,200gが連係して動作するように互いの同期タイミングt1を一致させている。
【0136】
フィールド機器200eは、生産ライン701と生産ライン702との間を移動する走行ロボットである。
【0137】
フィールド機器200dは、フィールド機器200eに載置され、フィールド機器200eとともに、生産ライン701と生産ライン702との間を移動する。フィールド機器200dは、生産ライン701に到達すると、図示しないパレットに積載されたワークW1を把持して、搬送ベルト601上に載置する。フィールド機器200dは、生産ライン702に到達すると、図示しない別のパレットに積載されたワークW2を把持して、搬送ベルト602上に載置する。
【0138】
フィールド機器200d,200eは、フィールドネットワーク10Cを介して制御装置100Cに接続される。制御装置100Cは、フィールド機器200d,200eが生産ライン701に到達したときに、ネットワーク11Aに無線通信接続する。そして、制御装置100Cでは、制御装置100Cの同期タイミングt1が制御装置100Aの同期タイミングt1と一致するような調整処理180が実行される。これにより、フィールド機器200dは、生産ライン701において、フィールド機器200a,200bと連係して動作できる。
【0139】
同様に、制御装置100Cは、フィールド機器200d,200eが生産ライン702に到達したときに、ネットワーク11Bに無線通信接続する。そして、制御装置100Cでは、制御装置100Cの同期タイミングt1が制御装置100Dの同期タイミングt1と一致するような調整処理180が実行される。これにより、フィールド機器200dは、生産ライン702において、フィールド機器200f,200gと連係して動作できる。
【0140】
<K.第2の応用例>
図12は、本実施の形態に係る制御システムの第2の応用例を示す模式図である。図12には、搬送ベルト603によって搬送されるワークWに対して加工を行なう生産ラインに制御システムを適用した例が示されている。
【0141】
生産ラインでは、フィールド機器200aがワークWに対する加工を行なった後に、フィールド機器200bがワークWに対して別の加工を行なう。フィールド機器200aはフィールドネットワーク10Aを介して制御装置100Aに接続される。フィールド機器200bはフィールドネットワーク10Bを介して制御装置100Bに接続される。制御装置100A,100Bは、ネットワーク11に接続されており、フィールド機器200a,200bが連係して動作するように互いの同期タイミングt1を一致させている。
【0142】
製造品の種別変更のため、ワークWに対して追加の加工が必要になったとする。この場合、当該追加の加工を行なうためのフィールド機器200dと、当該フィールド機器200dにフィールドネットワーク10Cを介して接続された制御装置100Cとが生産ラインに導入される。このとき、ネットワーク11に新たに接続された制御装置100Cにおいて、制御装置100Cの同期タイミングt1を制御装置100Aの同期タイミングt1と一致させるための調整処理180が実行される。これにより、フィールド機器200a,200bの動作を停止させることなく、フィールド機器200dは、フィールド機器200a,200bと連係して動作できる。
【0143】
<L.第3の応用例>
図13は、本実施の形態に係る制御システムの第3の応用例を示す模式図である。図13には、搬送ベルト604によって搬送されるワークWに対して加工を行なう生産ライン704に制御システムを適用した例が示されている。
【0144】
生産ライン704では、フィールド機器200aがワークWに対する加工を行なった後に、フィールド機器200bがワークWに対して別の加工を行なう。フィールド機器200aはフィールドネットワーク10Aを介して制御装置100Aに接続される。フィールド機器200bはフィールドネットワーク10Bを介して制御装置100Bに接続される。制御装置100A,100Bは、ネットワーク11に接続されており、フィールド機器200a,200bが連係して動作するように互いの同期タイミングt1を一致させている。
【0145】
生産量の増加に備えて、生産ライン704と同構成の生産ライン705が設置されている。生産ライン705では、搬送ベルト605上のワークWに対して、フィールド機器200hが加工を行なった後に、フィールド機器200iが別の加工を行なう。フィールド機器200h,200iは、フィールド機器200a,200bとそれぞれ同じ構成を有する。フィールド機器200hはフィールドネットワーク10Fを介して制御装置100Fに接続される。フィールド機器200iはフィールドネットワーク10Gを介して制御装置100Gに接続される。
【0146】
フィールド機器200dは、搬送ベルト604,605の一方の上のワークWを他方の上に移動させるためのロボットである。フィールド機器200jは、搬送ベルト604上のワークWの個数と搬送ベルト605上のワークWの個数とを把握するための視覚センサである。フィールド機器200dはフィールドネットワーク10Cを介して制御装置100Cに接続される。フィールド機器200jはフィールドネットワーク10Hを介して制御装置100Hに接続される。
【0147】
生産数が増加されると、制御装置100C~100Hがネットワーク11に接続される。制御装置100C~100Hの各々では、自身の同期タイミングt1を制御装置100Aの同期タイミングt1と一致させるための調整処理180が実行される。これにより、フィールド機器200a,200bの動作を停止させることなく、フィールド機器200d,200h~200jは、フィールド機器200a,200bと連係して動作できる。具体的には、フィールド機器200jは、撮像画像に基づいて、搬送ベルト604上のワークWの個数と、搬送ベルト605上のワークWの個数とを認識する。フィールド機器200dは、フィールド機器200jの認識結果に基づいて、搬送ベルト604,605のうちワークWの個数が多い方から少ない方へワークWを移動させる。これにより、生産数の増加に適切に対応できる。
【0148】
<M.利点>
以上のように、本実施の形態によれば、制御装置100Cおよびフィールド機器200dは、互いに同期したタイマ102C,201dをそれぞれ有する。制御装置100Cは、タイマ102Cの時刻に基づいて、制御周期TcCごとにフィールド機器200dとの間でデータを送受信するフィールドネットワークコントローラ140を含む。制御装置100Cは、制御周期TcC内において、フィールド機器200dがデータを受信した後の同期タイミングt1Cを設定するプロセッサ103を含む。フィールド機器200dは、タイマ201dの時刻に基づいて、同期タイミングt1Cに同期して制御対象500に対する処理を開始する。制御装置100Aも同様に、タイマ102A、フィールドネットワークコントローラ140およびプロセッサ103を含む。制御装置100Aに接続されるフィールド機器200aは、タイマ102Aと時刻同期されたタイマ201aの時刻に基づいて、同期タイミングt1Aに同期して制御対象500に対する処理を開始する。制御装置100Cのプロセッサ103は、ネットワーク11を介して制御装置100Cと制御装置100Aとが接続されると、調整処理180を行なう。調整処理180は、同期タイミングt1Cと同期タイミングt1Aとが一致するように、以下の(a)~(c)の少なくとも1つを調整する処理である。
(a)制御周期TcCの長さ、
(b)制御周期TcAに対する制御周期TcCの位相差、
(c)制御周期TcCの基準タイミング(たとえば開始タイミングt0C)と同期タイミングt1Cとの時間差。
【0149】
これにより、同期タイミングt1Cが同期タイミングt1Aと一致する。その結果、フィールド機器200dは、制御装置100Aに接続されるフィールド機器200aと連係して動作できる。このとき、制御装置100Aは、制御周期の長さ、制御周期の位相、および、制御周期内の同期タイミングと基準タイミングとの時間差を調整する必要がない。すなわち、フィールド機器200aとフィールド機器200dとの連係した動作を開始させるために、制御装置100Aを停止させる必要がない。このように、稼働率の低下を抑制しながら、互いに異なる制御装置に接続される複数のフィールド機器を連係して動作させることができる。さらに、生産ラインの動的な組み換えが効率的にできる。
【0150】
<N.付記>
以上のように、本実施の形態は以下のような開示を含む。
【0151】
(構成1)
第1の制御装置(100C)と、
第1のネットワーク(10C)を介して前記第1の制御装置(100C)と接続される1または複数の第1の機器(200d)と、
第2の制御装置(100A,100B)と、
第2のネットワーク(10A,10B)を介して前記第2の制御装置(100A,100B)と接続される1または複数の第2の機器(200a~200c)とを備え、
前記第1の制御装置(100C)および前記1または複数の第1の機器(200d)の各々は、互いに同期した第1のタイマ(102C,201d)を有し、
前記第1の制御装置(100C)は、
前記第1のタイマ(102C)の時刻に基づいて、第1の制御周期ごとに前記1または複数の第1の機器(200d)との間で第1のデータを送受信する第1の通信手段(140)と、
前記第1の制御周期内において、前記1または複数の第1の機器(200d)が前記第1のデータを受信した後の第1の同期タイミングを設定する第1のスケジューリング手段(103)とを含み、
前記1または複数の第1の機器(200d)は、前記第1のタイマ(201d)の時刻に基づいて、前記第1の同期タイミングに同期して制御対象に対する処理を開始し、
前記第2の制御装置(100A,100B)および前記1または複数の第2の機器(200a~200c)の各々は、互いに同期した第2のタイマ(102A,102B,201a~201c)を有し、
前記第2の制御装置(100A,100B)は、
前記第2のタイマ(102A,102B)の時刻に基づいて、第2の制御周期ごとに前記1または複数の第2の機器との間で第2のデータを送受信する第2の通信手段(140)と、
前記第2の制御周期内において、前記1または複数の第2の機器(200a~200c)が前記第2のデータを受信した後の第2の同期タイミングを設定する第2のスケジューリング手段(103)とを含み、
前記1または複数の第2の機器(200a~200c)は、前記第2のタイマ(201a~201c)の時刻に基づいて、前記第2の同期タイミングに同期して制御対象に対する処理を開始し、
前記第1の制御装置(100C)は、前記第1のネットワーク(10C)および前記第2のネットワーク(10A,10B)よりも上位の第3のネットワーク(11)を介して前記第1の制御装置(100C)と前記第2の制御装置(100A,100B)とが接続されると、前記第1の同期タイミングと前記第2の同期タイミングとが一致するように、前記第1の制御周期の長さ、前記第2の制御周期に対する前記第1の制御周期の位相差、および前記第1の制御周期の基準タイミングと前記第1の同期タイミングとの時間差の少なくとも1つを調整する調整手段(103)をさらに含む、制御システム(1)。
【0152】
(構成2)
前記基準タイミングは、前記第1の通信手段(140)が前記第1のデータの送信を開始する第1の開始タイミングであり、
前記調整手段(103)は、前記第2の通信手段(140)が前記第2のデータの送信を開始する第2の開始タイミングから前記第2の同期タイミングまでの時間よりも前記時間差が短い場合に、前記第1の開始タイミングと前記第2の開始タイミングとが一致するように前記位相差を調整するとともに、前記時間差を前記第2の開始タイミングから前記第2の同期タイミングまでの時間に調整する、構成1に記載の制御システム。
【0153】
(構成3)
前記調整手段(103)は、前記第1の通信手段(140)が前記第1のデータの送信を開始する第1の開始タイミングから前記第1の同期タイミングまでの第1の時間と、前記第2の通信手段(140)が前記第2のデータの送信を開始する第2の開始タイミングから前記第2の同期タイミングまでの第2の時間とが異なる場合に、前記第1の開始タイミングと前記第2の開始タイミングとが前記第1の時間と前記第2の時間との差分だけずれるように前記位相差を調整する、構成1に記載の制御システム。
【0154】
(構成4)
前記調整手段(103)は、前記第1の時間が前記第2の時間よりも長い場合に、前記第1の開始タイミングが前記第2の開始タイミングよりも早くなるように前記位相差を調整する、構成3に記載の制御システム。
【0155】
(構成5)
前記調整手段(103)は、前記第1の制御周期の長さと前記第2の制御周期の長さとが異なる場合に、前記第1の制御周期の長さを前記第2の制御周期の長さのN倍または1/N倍に補正し、
Nは1以上の整数である、構成1から4のいずれかに記載の制御システム。
【0156】
(構成6)
第1のネットワーク(10C)を介して1または複数の第1の機器(200d)を接続される制御装置(100C)であって、
前記1または複数の第1の機器(200d)との間で互い同期されたタイマ(102C)と、
前記タイマ(102C)の時刻に基づいて、第1の制御周期ごとに前記1または複数の第1の機器(200d)との間で第1のデータを送受信する通信手段(140)と、
前記第1の制御周期内において、前記1または複数の第1の機器が制御対象に対する処理を開始する第1の同期タイミングを設定するスケジューリング手段(103)とを備え、
前記第1の同期タイミングは、前記1または複数の第1の機器が前記第1のデータを受信した後になるように設定され、
前記制御装置(100C)は、前記第1のネットワーク(10C)よりも上位の第2のネットワーク(11)を介して他の制御装置(100A,100B)と接続可能であり、
前記他の制御装置(100A,100B)は、前記第2のネットワーク(11)よりも下位の第3のネットワーク(10A,10B)を介して1または複数の第2の機器(200a~200c)に接続され、第2の制御周期ごとに前記1または複数の第2の機器(200a~200c)との間で第2のデータを送受信し、
前記1または複数の第2の機器(200a~200c)は、前記第2のデータを受信した後の第2の同期タイミングに同期して制御対象に対する処理を開始し、
前記制御装置(100C)は、前記第3のネットワーク(10A,10B)を介して前記他の制御装置(100A,100B)に接続されると、前記第1の同期タイミングと前記第2の同期タイミングとが一致するように、前記第1の制御周期の長さ、前記第2の制御周期に対する前記第1の制御周期の位相差、および前記第1の制御周期の基準タイミングと前記第1の同期タイミングとの時間差の少なくとも1つを調整する調整手段(103をさらに備える、制御装置(100C)。
【0157】
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0158】
1 制御システム、10,10A~10H フィールドネットワーク、11,11A,11B,12~14 ネットワーク、100,100A~100H 制御装置、101,101A~101C,102,102A~102C,201,201a~201d タイマ、103 プロセッサ、104 メモリ、106 ストレージ、107 システムプログラム、108 ユーザアプリケーションプログラム、130 ネットワークコントローラ、131,141,212 送受信コントローラ、132,142 送受信バッファ、140,210 フィールドネットワークコントローラ、170 スケジューラ、171 ユーザプログラム実行処理、172 モーション処理、173 周辺処理、174 上位ネットワーク通信処理、176 下位ネットワーク通信処理、178 上位ネットワーク時刻同期処理、179 下位ネットワーク時刻同期処理、180 調整処理、190 装置/ライン管理装置、195 表示装置、200,200a~200j フィールド機器、214 トリガ信号生成回路、216 処理部、250 製造管理装置、255 データベース装置、300 生産管理装置、500 制御対象、601~605 搬送ベルト、701,702,704,705 生産ライン。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13