(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024019869
(43)【公開日】2024-02-14
(54)【発明の名称】産業システム、産業機械及び制御方法
(51)【国際特許分類】
G05B 19/042 20060101AFI20240206BHJP
B25J 5/00 20060101ALI20240206BHJP
【FI】
G05B19/042
B25J5/00 A
【審査請求】有
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022122611
(22)【出願日】2022-08-01
(71)【出願人】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100145012
【弁理士】
【氏名又は名称】石坂 泰紀
(74)【代理人】
【識別番号】100171099
【弁理士】
【氏名又は名称】松尾 茂樹
(72)【発明者】
【氏名】下留 諒
(72)【発明者】
【氏名】藤野 賀須男
(72)【発明者】
【氏名】弓場 忠輔
(72)【発明者】
【氏名】森若 良太
(72)【発明者】
【氏名】小林 和敏
(72)【発明者】
【氏名】南田 裕喜
(72)【発明者】
【氏名】俣賀 幹夫
【テーマコード(参考)】
3C707
5H220
【Fターム(参考)】
3C707AS01
3C707BS10
3C707CS08
3C707JS02
3C707JS03
3C707KS16
3C707KS22
3C707LV01
3C707LV04
3C707LV05
3C707LV15
3C707MT06
3C707WA16
5H220AA04
5H220BB09
5H220CC07
5H220CC09
5H220CX01
5H220CX05
5H220HH01
5H220JJ12
5H220JJ22
5H220JJ26
5H220JJ28
5H220KK03
5H220KK06
5H220LL01
5H220LL04
5H220MM00
(57)【要約】
【課題】複数の産業機械のネットワーク通信を介した同期モーションの信頼性向上に有効なシステムを提供する。
【解決手段】産業システム1は、複数のノード10が時刻同期したネットワーク2から取得した時刻に基づいて、互いに同期したモーションを実施する2以上の産業機械20を備え、2以上の産業機械20に含まれる第1産業機械20は、時刻の生成元である時刻マスタに関するマスタ情報を取得する取得部111と、マスタ情報に応じて、同期の度合いを表す制御モードを切り替える切替部117と、を有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
複数のノードが時刻同期したネットワークから取得した時刻に基づいて、互いに同期したモーションを実施する2以上の産業機械を備え、
前記2以上の産業機械に含まれる第1産業機械は、
前記時刻の生成元である時刻マスタに関するマスタ情報を取得する取得部と、
前記マスタ情報に応じて、前記同期の度合いを表す制御モードを切り替える切替部と、
を有する、産業システム。
【請求項2】
前記第1産業機械は、前記取得部が取得したマスタ情報に基づいて、前記時刻マスタの切り替わりを検出する検出部を更に有し、
前記切替部は、前記時刻マスタの切り替わりが検出された場合、前記制御モードを、前記2以上の産業機械が同期する同期モードから、当該同期モードよりも同期レベルが低い安全モードに切り替える、
請求項1記載の産業システム。
【請求項3】
前記第1産業機械は、前記時刻マスタの切り替わりが検出された場合に、前記2以上の産業機械に含まれる第2産業機械が取得した時刻と、自身が取得した時刻との間の差異を確認する差異確認部を更に有し、
前記切替部は、前記差異確認部により差異が確認された場合に、前記同期モードから前記安全モードに切り替える、
請求項2記載の産業システム。
【請求項4】
前記第1産業機械は、前記切替部が前記制御モードを前記同期モードから前記安全モードに切り替える際に、前記2以上の産業機械に含まれる第2産業機械に通知する通知部を更に有し、
前記第2産業機械は、前記通知を取得した場合、前記第2産業機械における制御モードを、前記同期モードから、前記安全モードに切り替える切替部を有する、
請求項2記載の産業システム。
【請求項5】
前記第1産業機械は、前記安全モードにおいて、前記互いに同期したモーションを、速度を落として継続する、
請求項2記載の産業システム。
【請求項6】
前記第1産業機械は、前記安全モードにおいて、前記互いに同期したモーションとは異なり、前記2以上の産業機械が互いに同期しないモーションを実施する、
請求項2記載の産業システム。
【請求項7】
前記差異確認部は、前記差異の大きさを確認し、
前記第1産業機械は、前記安全モードにおいて、
前記差異が所定レベルよりも小さい場合に、前記互いに同期したモーションを、速度を落として継続し、
前記差異が前記所定レベルよりも大きい場合に、前記互いに同期しないモーションを実施するか、実施しているモーションを停止させる、
請求項3記載の産業システム。
【請求項8】
前記制御モードは、
前記2以上の産業機械が互いに同期しない非同期モードと、
前記非同期モードの後に実施され、前記2以上の産業機械が互いに同期する同期モードと、
を含み、
前記第1産業機械は、前記制御モードが前記非同期モードである期間に、前記検出部で前記時刻マスタの切り替わりが検出された場合、前記2以上の産業機械に含まれる第2産業機械が取得した時刻と、自身が取得した時刻との間に、差異が生じているか否かを確認する差異確認部を更に有し、
前記切替部は、前記差異確認部により差異が生じていないことが確認された場合、前記制御モードを、前記非同期モードから前記同期モードに切り替える、
請求項2記載の産業システム。
【請求項9】
前記第1産業機械は、前記検出部で前記時刻マスタの切り替わりが検出された場合、前記時刻マスタの切り替わり前後の時刻が連続していることを確認する連続性確認部を更に有し、
前記切替部は、前記連続性確認部により連続していることを確認できない場合、前記制御モードを、前記同期モードから前記安全モードに切り替える、
請求項2~8のいずれか一項記載の産業システム。
【請求項10】
前記複数のノードはバウンダリクロックを含み、前記取得部は、前記時刻と、前記マスタ情報とを前記バウンダリクロックから取得する、
請求項1~8のいずれか一項記載の産業システム。
【請求項11】
前記第1産業機械は、ネットワークから取得した時刻に基づいて同期通信を行う、
請求項1~8のいずれか一項記載の産業システム。
【請求項12】
複数のノードが時刻同期したネットワークから取得した時刻に基づいて、他の産業機械における他のモーションと同期したモーションを実施する産業機械であって、
前記時刻の生成元である時刻マスタに関するマスタ情報を取得する取得部と、
前記マスタ情報に応じて、前記同期の度合いを表す制御モードを切り替える切替部と、
を備える産業機械。
【請求項13】
複数のノードが時刻同期したネットワークから取得した時刻に基づいて、他の産業機械における他のモーションと同期したモーションを実施することと、
前記時刻の生成元である時刻マスタに関するマスタ情報を取得することと、
前記マスタ情報に応じて、前記同期の度合いを表す制御モードを切り替えることと、
を含む制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、産業システム、産業機械及び制御方法に関する。
【背景技術】
【0002】
特許文献1には、ロボットと、加工装置と、ロボットを制御するロボットコントローラと、加工装置を制御する加工装置コントローラと、ロボットコントローラ及び加工装置コントローラに対する指令を生成するプログラマブルロジックコントローラとを備えるシステムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数の産業機械のネットワーク通信を介した同期モーションの信頼性向上に有効なシステムを提供する。
【課題を解決するための手段】
【0005】
本開示の一側面に係る産業システムは、複数のノードが時刻同期したネットワークから取得した時刻に基づいて、互いに同期したモーションを実施する2以上の産業機械を備え、2以上の産業機械に含まれる第1産業機械は、時刻の生成元である時刻マスタに関するマスタ情報を取得する取得部と、マスタ情報に応じて、同期の度合いを表す制御モードを切り替える切替部と、を有する。
【0006】
本開示の他の側面に係る産業機械は、複数のノードが時刻同期したネットワークから取得した時刻に基づいて、他の産業機械における他のモーションと同期したモーションを実施する産業機械であって、時刻の生成元である時刻マスタに関するマスタ情報を取得する取得部と、マスタ情報に応じて、同期の度合いを表す制御モードを切り替える切替部と、を備える。
【0007】
本開示の更に他の側面に係る制御方法は、複数のノードが時刻同期したネットワークから取得した時刻に基づいて、他の産業機械における他のモーションと同期したモーションを実施することと、時刻の生成元である時刻マスタに関するマスタ情報を取得することと、マスタ情報に応じて、同期の度合いを表す制御モードを切り替えることと、を含む。
【発明の効果】
【0008】
本開示によれば、複数の産業機械のネットワーク通信を介した同期モーションの信頼性向上に有効なシステムを提供することができる。
【図面の簡単な説明】
【0009】
【
図1】産業システムの構成を例示する模式図である。
【
図2】通信不良が発生した産業システムを例示する模式図である。
【
図6】サーバ及びローカルコントローラのハードウェア構成を例示するブロック図である。
【
図7】制御開始手順を例示するフローチャートである。
【
図8】制御モードの切り替え手順を例示するフローチャートである。
【
図9】非同期モードから同期モードへの移行手順を例示するフローチャートである。
【
図10】制御モードの切り替え手順の変形例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
【0011】
〔産業システム〕
図1は、産業システムの構成を例示する模式図である。
図1に示す産業システム1は、ネットワーク2を介して接続された複数の産業機械20を備える。複数の産業機械20は、ネットワーク2を介して互いに通信し、ワークの生産等を目的とする一連のモーションを実施する。一連のモーションは、少なくとも2以上の産業機械20の互いに同期したモーションを含む。互いに同期したモーション(以下、「同期モーション」という。)とは、実行タイミングの相互関係を予め定められた関係に維持して2以上の産業機械20によりそれぞれ実行される2以上のモーションを含む。
【0012】
2以上の産業機械20が同期モーションを実施するためには、2以上の産業機械20が互いに同期した時刻情報に基づいて動作する必要がある。そこで、ネットワーク2においては、複数のノード10が時刻同期しており、複数の産業機械20のそれぞれは、ネットワーク2から取得した時刻に基づいてモーションを実施する。
【0013】
ネットワーク2は、例えばローカルエリアネットワークである。ネットワーク2は、ローカルエリアネットワークは、ワイドエリアネットワークを介したVPN(Virtual Private Network)を含む。複数のノード10は、ネットワーク2により相互接続される機器(例えばサーバ装置、又はクライアント装置)を含む。複数のノード10は、機器間を中継するネットワークスイッチも含む。
【0014】
例えば複数のノード10は、グランドマスタ11と、複数のネットワークスイッチ12とを含む。グランドマスタ11は、時刻同期の対象となる基準時刻を生成する。複数のネットワークスイッチ12は、グランドマスタ11が生成した基準時刻に同期した時刻を表す時刻情報を複数の産業機械20に転送する。時刻情報は、基準時刻を表す情報と、基準時刻に対する遅延時間を表す情報とを含んでいてもよい。基準時刻を表す情報と、基準時刻に対する遅延時間を表す情報とによれば、基準時刻に同期した時刻が間接的に表されることとなる。例えば、グランドマスタ11と、複数のネットワークスイッチ12とのそれぞれは、送受信タイミングを表すタイムスタンプを付加しながら時刻情報を送受信する。
【0015】
グランドマスタ11から複数の産業機械20のそれぞれまでの時刻情報の転送経路には、1以上のネットワークスイッチ12が含まれる。以下、転送経路における位置を表す際に、「上位」、及び「下位」を用いる場合がある。これらは、説明の便宜上、転送経路に沿ってグランドマスタ11へ向かう方向を上方とし、転送経路に沿って産業機械20へ向かう方向を下方とした場合の位置づけを表す。
【0016】
図1の例において、産業システム1は産業機械20A,20B,20C,20Dを含む。複数のネットワークスイッチ12は、ネットワークスイッチ12A,12B,12C,12D,12E,12F,12Gを含む。グランドマスタ11から産業機械20Aまでの転送経路R1には、ネットワークスイッチ12A,12B,12Dが含まれる。グランドマスタ11から産業機械20Bまでの転送経路R2には、ネットワークスイッチ12A,12B,12Eが含まれる。グランドマスタ11から産業機械20Cまでの転送経路R3には、ネットワークスイッチ12A,12C,12Fが含まれる。グランドマスタ11から産業機械20Dまでの転送経路R4には、ネットワークスイッチ12A,12C,12Gが含まれる。以下、転送経路R1,R2,R3,R4のそれぞれにおいて、ネットワークスイッチ12の一つ上位に位置するノード(グランドマスタ11又はネットワークスイッチ12)を「隣接マスタ」といい、ネットワークスイッチ12の一つ下位に位置するノード(ネットワークスイッチ12又は産業機械20)を「隣接スレーブ」という。例えば、グランドマスタ11はネットワークスイッチ12Aの隣接マスタであり、ネットワークスイッチ12Bはネットワークスイッチ12Aの隣接スレーブである。また、ネットワークスイッチ12Bはネットワークスイッチ12Dの隣接マスタであり、産業機械20Aはネットワークスイッチ12Dの隣接スレーブである。
【0017】
時刻情報は、基準時刻の生成元である時刻マスタに関するマスタ情報を含む。マスタ情報は、例えば時刻マスタの識別情報を含む。
図1においては、転送経路R1,R2,R3,R4のいずれにおいても基準時刻の生成元はグランドマスタ11である。このため、産業機械20A,20B,20C,20Dに転送される時刻情報のそれぞれは、マスタ情報として、グランドマスタ11に関する情報(例えばグランドマスタ11の識別情報)を含むこととなる。
【0018】
複数のネットワークスイッチ12のそれぞれは、バウンダリクロックであってもよい。バウンダリクロックは、隣接マスタから取得した時刻情報と、上記タイムスタンプとに基づいて基準時刻に同期した時刻を生成する(基準時刻を再生成する)。バウンダリクロックは、再生成した基準時刻を含む時刻情報を隣接スレーブに送信する。この構成によれば、転送経路における最下位のネットワークスイッチ12が再生成した基準時刻を含む時刻情報が産業機械20に転送される。
【0019】
バウンダリクロックが再生成する基準時刻は、グランドマスタ11が生成した基準時刻に基づく。このため、バウンダリクロックが再生成する基準時刻についても、その時刻マスタはグランドマスタ11である。
【0020】
バウンダリクロックは、グランドマスタ11に接続されていない場合に、自身が基準時刻を生成する。この場合、グランドマスタ11に接続されることなく基準時刻を生成したバウンダリクロック(ネットワークスイッチ12)が時刻マスタとなる。
【0021】
複数のネットワークスイッチ12のそれぞれは、トランスペアレントクロックであってもよい。トランスペアレントクロックは、隣接マスタから取得した時刻情報に、自身で生じた遅延時間を含めて隣接スレーブに送信する。この構成によれば、グランドマスタ11が生成した基準時刻と、転送経路で生じた累積遅延時間とを含む時刻情報が産業機械20に転送される。
【0022】
ネットワーク2は、PTP(Precision Time Protocol)により時刻同期を行うように構成されていてもよい。PTPは、IEEE Std 1588で定められた時刻同期のプロトコルである。PTPにおいては、上述したタイムスタンプが物理層において付与される。また、各ノード10を、時刻情報を送信するマスタとしてのみ動作させるか、時刻情報を受信するスレーブとしてのみ動作させるか、マスタ及びスレーブの両方として動作させるかを選択できる。この選択は、ネットワーク2の構成に応じて動的に変化し得る。例えばネットワーク2は、gPTP(Generalized Precision Time Protocol,IEEE Std 802.1-AS)により時刻同期を行う。
【0023】
ネットワーク2は、NTP(Network Time Protocol)により時刻同期を行うように構成されていてもよい。NTPにおいては、上述したタイムスタンプがアプリケーション層において付される。
【0024】
以上に例示したように、複数のノード10が時刻同期するネットワーク2から複数の産業機械20のそれぞれが時刻を取得する産業システム1においては、2以上の産業機械20が取得する時刻の時刻マスタが相違する可能性がある。
図2は、ネットワークスイッチ12Bとネットワークスイッチ12Dとの間に通信不良が発生し、ネットワークスイッチ12Dがネットワークスイッチ12Bから時刻情報を取得できない場合を例示している。このような場合、産業機械20B,20C,20Dが取得する時刻の時刻マスタがグランドマスタ11であるのに対し、産業機械20Aが取得する時刻の時刻マスタはネットワークスイッチ12Dとなる。
【0025】
また、ネットワーク2が2以上のグランドマスタ11を含む場合もあり得る。この場合、2以上のグランドマスタ11のいずれが時刻マスタとなっているかが複数の産業機械20間で相違する可能性がある。時刻マスタの相違は、複数の産業機械20間における時刻の相違の要因となり得る。複数の産業機械20間における時刻の相違は、複数の産業機械20が互いに同期して行うモーションに影響を及ぼす可能性がある。
【0026】
そこで、複数の産業機械20の少なくともいずれか(第1産業機械)は、取得部111と、切替部117とを備える。取得部111は、ネットワーク2からマスタ情報を取得する。切替部117は、マスタ情報に応じて、同期の度合いを表す制御モードを切り替える。
図1及び
図2に示すように、複数の産業機械20のそれぞれが、取得部111と切替部117とを備えていてもよい。
【0027】
制御モードは、例えば産業機械20によるモーションの制御方式である。制御モードが同期の度合いを表すとは、制御モードが定まることによって、モーションの制御に必要とされる同期の度合いが定まることを意味する。制御モードを切り替えるとは、制御モードを、必要とされる同期の度合いが互いに異なるモード間で切り替えることを意味する。
【0028】
マスタ情報に応じて制御モードを切り替える構成によれば、同期ずれの要因となり得る時刻マスタの切り替わりに応じて制御モードを切り替えることで、同期ずれに起因する同期モーションの不具合を未然に防ぐことができる。
【0029】
図2の例においては、産業機械20Aが、マスタ情報に基づいて時刻マスタがグランドマスタ11からネットワークスイッチ12Dに切り替わったことを検出し、これに応じて制御モードを切り替える。例えば産業機械20Aは、高い時刻同期が必要とされる制御モードを、高い時刻同期が必要とされない制御モードに切り替える。以下、産業機械20の構成を例示する。
【0030】
〔産業機械〕
図3に示すように、産業機械20は、本体30と、ローカルコントローラ300と、サーバ100と、基地局200と、通信端末400とを備える。以下、必要に応じて、産業機械20A,20B,20C,20Dの本体30を30A,30B,30C,30Dとして互いに区別する。本体30は、モーションを実施する機械である。本体30の種類に特に制限はない。
【0031】
一例として、
図3に示す本体30は移動型のロボットであり、ワークに対し搬送、加工、組立て等を行うためのモーションを実施する。モーションの具体例としては、部品を搬送してワークに取り付けるモーション、ねじ締め工具又は溶接トーチ等の工具を搬送してワークに加工を施すモーション、又はワーク自体を搬送するモーション等が挙げられる。
【0032】
本体30は、無人搬送車31と、ロボット40とを有する。無人搬送車31は、ロボット40を支持して移動する。ロボット40は、例えば垂直多関節型の産業ロボットである。
図4に示すように、ロボット40は、基部41と、旋回部42と、第1アーム43と、第2アーム44と、手首部45と、先端部46とを有する。基部41は、無人搬送車31の上に設置される。旋回部42は、鉛直な軸線51まわりに回転可能となるように基部41の上に取り付けられている。例えばロボット40は、旋回部42を軸線51まわりに回転可能となるように基部41に取り付ける関節61を有する。第1アーム43は、軸線51に交差(例えば直交)する軸線52まわりに回転可能となるように旋回部42に接続されている。例えばロボット40は、第1アーム43を軸線52まわりに回転可能となるように旋回部42に接続する関節62を有する。交差は、いわゆる立体交差のように、ねじれの関係にあることを含む。以下においても同様である。第1アーム43は、軸線52に交差(例えば直交)する一方向に沿って旋回部42から延びている。
【0033】
第2アーム44は、軸線52に平行な軸線53まわりに回転可能となるように第1アーム43の端部に接続されている。例えばロボット40は、第2アーム44を軸線53まわりに回転可能となるように第1アーム43に接続する関節63を有する。第2アーム44は、軸線53に交差(例えば直交)する一方向に沿って第1アーム43の端部から延びるアーム基部47と、同じ一方向に沿ってアーム基部47の端部から更に延びるアーム端部48とを有する。アーム端部48は、アーム基部47に対して軸線54まわりに回転可能である。軸線54は、軸線53に交差(例えば直交)する。例えばロボット40は、アーム端部48を軸線54まわりに回転可能となるようにアーム基部47に接続する関節64を有する。
【0034】
手首部45は、軸線54に交差(例えば直交)する軸線55まわりに回転可能となるようにアーム端部48の端部に接続されている。例えばロボット40は、手首部45を軸線55まわりに回転可能となるようにアーム端部48に接続する関節65を有する。手首部45は、軸線55に交差(例えば直行)する一方向に沿ってアーム端部48の端部から延びている。先端部46は、軸線55に交差(例えば直交)する軸線56まわりに回転可能となるように、手首部45の端部に接続されている。例えばロボット40は、先端部46を軸線56まわりに回転可能となるように手首部45に接続する関節66を有する。先端部46にはエンドエフェクタが設けられる。エンドエフェクタの具体例としては、ワークを把持するハンド、ワークに対し加工、組み立て等を行う作業ツール等が挙げられる。
【0035】
アクチュエータ71,72,73,74,75,76は、関節61,62,63,64,65,66を駆動する。アクチュエータ71,72,73,74,75,76のそれぞれは、例えば電動モータと、電動モータの動力を関節61,62,63,64,65,66に伝える伝達部(例えば減速機)とを有する。例えばアクチュエータ71は、軸線51まわりに旋回部42を回転させるように関節61を駆動する。アクチュエータ72は、軸線52まわりに第1アーム43を回転させるように関節62を駆動する。アクチュエータ73は、軸線53まわりに第2アーム44を回転させるように関節63を駆動する。アクチュエータ74は、軸線54まわりにアーム端部48を回転させるように関節64を駆動する。アクチュエータ75は、軸線55まわりに手首部45を回転させるように関節65を駆動する。アクチュエータ76は、軸線56まわりに先端部46を回転させるように関節66を駆動する。
【0036】
本体30は、必ずしも上述した移動型のロボットに限られず、定位置に固定されたロボットであってもよい。本体30は、ワーク等の搬送対象物を搬送するモーションを実施する無人搬送車であってもよい。
【0037】
図3に戻り、ローカルコントローラ300は、本体30を制御する。例えばローカルコントローラ300は、サーバ100と通信を行い、サーバ100からの指令に基づいて本体30を制御する。以下、ローカルコントローラ300がサーバ100との間で行う通信を「装置間通信」という。ローカルコントローラ300は、本体30の制御の少なくとも一部を、サーバ100からの指令に基づくことなく自律的に行い得るように構成されていてもよい。この場合、ローカルコントローラ300は、例えば自身が記憶する動作プログラムに基づいて本体30を制御する。動作プログラムは、時系列に並ぶ複数の動作命令を含む。複数の動作命令のそれぞれは、本体30の動作目標位置及び動作目標速度を含む。本体30の動作目標位置の一例として、先端部46の動作目標位置が挙げられる。先端部46の動作目標位置は、先端部46の動作目標姿勢を含む。
【0038】
サーバ100は、上記装置間通信によりローカルコントローラ300と通信し、ローカルコントローラ300を介して本体30を制御する。例えばサーバ100は、他の産業機械20の本体30との同期モーションを本体30に実施させる。例えば20Aのサーバ100Aは、本体30B,30C,30Dとの同期モーションを本体30Aに実施させる。このような同期モーションの具体例としては、以下が挙げられる。例1)本体30Aと、本体30B,30C,30Dの少なくともいずれかとが、協働で同一のワークを保持し、搬送する。例2)本体30B,30C,30Dの少なくともいずれかが保持・搬送するワークに対し、本体30Aが加工、組立等のモーションを実施する。
【0039】
上記例1においては、本体30B,30C,30Dの少なくともいずれかの先端部46に対し、本体30Aの先端部46が予め定められた位置・姿勢となるように、本体30Aのモーションが本体30B,30C,30Dの少なくともいずれかのモーションと同期する必要がある。上記例2においては、本体30B,30C,30Dの少なくともいずれかの先端部46が保持・搬送するワークに対し、本体30Aの先端部46が予め定められた位置・姿勢となるように、本体30Aのモーションが本体30B,30C,30Dの少なくともいずれかのモーションと同期する必要がある。
【0040】
基地局200はサーバ100に接続され、通信端末400は基地局200に接続される。基地局200と通信端末400とは、上記装置間通信のための無線通信を行う。例えば基地局200と通信端末400とは、移動体通信を行う。移動体通信は、第5世代移動通信システムによる通信(5G通信)であってもよい。
【0041】
図5に示すように、サーバ100は、機能的な構成要素(以下、「機能ブロック」という。)として、取得部111と、時刻生成部112と、通信部113と、コントローラ114と、検出部115と、差異確認部116と、切替部117と、通知部118とを有する。取得部111は、ネットワーク2から上記時刻情報を取得する。例えば取得部111は、上記時刻情報をネットワークスイッチ12から取得する。
【0042】
時刻生成部112は、取得部111が取得した時刻情報に基づいて、基準時刻に同期した時刻を生成する。上述したように、ネットワークスイッチ12がバウンダリクロックである場合、取得部111が取得する時刻情報は、産業機械20の一つ上位のネットワークスイッチ12が再生成した基準時刻を含む。時刻生成部112は、ネットワークスイッチ12が再生成した基準時刻に基づいて、基準時刻に同期した時刻を生成する。
【0043】
上述したように、ネットワークスイッチ12がトランスペアレントクロックである場合、取得部111が取得する時刻情報は、グランドマスタ11が生成した基準時刻と累積遅延時間とを含む。時刻生成部112は、グランドマスタ11が生成した基準時刻と累積遅延時間とに基づいて、基準時刻に同期した時刻を生成する。
【0044】
以下、時刻生成部112が生成した時刻を「生成済み時刻」という。生成済み時刻は、サーバ100が取得した時刻に含まれる。
【0045】
通信部113は、ネットワーク2を介して、他の産業機械20のサーバ100とサーバ間通信を行う。通信部113は、本体30による同期モーションの進捗状況等を、サーバ間通信により他の産業機械20のサーバ100との間で送受信する。更に、通信部113は、サーバ間通信により、生成済み時刻を他の産業機械20のサーバ100に送信し、他の産業機械20のサーバ100による生成済み時刻を他の産業機械20のサーバ100から受信する。以下、他の産業機械20のサーバ100による生成済み時刻を「比較対象時刻」という。
【0046】
コントローラ114は、上記装置間通信によりローカルコントローラ300と通信し、ローカルコントローラ300を介して本体30を制御する。コントローラ114は、予め定められた制御モードにて本体30にモーションを実施させる。コントローラ114が本体30に実施させるモーションは、上述した同期モーションを含む。
【0047】
例えばコントローラ114は、生成済み時刻に基づいて、予め定められたタイミングで本体30に同期モーションを実施させる。2以上の本体30が、互いに同期した時刻に基づき予め定められたタイミングでモーションを実施することによって、同期モーションが実施されることとなる。
【0048】
コントローラ114は、複数種類の制御モードにて本体30を制御し得るように構成されている。複数種類の制御モードは、互いに同期レベルが異なる二以上の制御モードを含んでいてもよい。同期レベルとは、本体30に支障なくモーションを実施させるために、他の産業機械20との間で必要とされる同期レベルである。同期レベルとは、例えば生成済み時刻と、比較対象時刻との差異の小ささを表す。同期レベルが高いことは、生成済み時刻と比較対象時刻との差異が小さいことを表す。同期レベルが低いことは、生成済み時刻と比較対象時刻との差異が大きいことを表す。
【0049】
いずれの制御モードにおいても、コントローラ114は、予め定められた動作プログラムに基づいて本体30を制御する。ここにおける動作プログラムも、上述した動作プログラムと同様に、時系列の複数の動作命令を含む。
【0050】
コントローラ114は、本体30の状態を表すフィードバック情報をローカルコントローラ300から受信することと、フィードバック情報に基づいて本体30を動作命令に追従させるように制御指令を生成することと、制御指令をローカルコントローラ300に送信することと、を所定の制御サイクルで繰り返し実行してもよい。この場合、ローカルコントローラ300は、フィードバック情報をサーバ100に送信することと、制御指令をサーバ100から受信することと、受信した制御指令に基づいて本体30を動作させることとを制御サイクルで繰り返す。
【0051】
コントローラ114は、生成済み時刻に基づいて同期通信を行ってもよい。同期通信は、予め定められたデータセットの送受信を一定の通信サイクルで繰り返す通信である。例えばコントローラ114は、他のサーバ100のコントローラ114(以下、「他のコントローラ114」という。)との間で、同期通信を行ってもよい。一例として、コントローラ114は、第1データセットを他のコントローラ114に送信することと、第2データセットを他のコントローラ114から受信することとを通信サイクルで繰り返す。
【0052】
コントローラ114が第1データセットを送信した後、第1データセットを他のコントローラ114が受信するまでの時間にはばらつきが生じ得る。同様に、他のコントローラ114が第2データセットを送信した後、第2データセットをコントローラ114が受信するまでの時間にはばらつきが生じ得る。このばらつきを抑制するために、コントローラ114は、生成済み時刻に基づいて、第1データセットを読み出すべき通信サイクルを指定する第1通信サイクル情報を付加して第1データセットを他のコントローラ114に送信してもよい。この場合、他のコントローラ114は、第1通信サイクル情報により指定された通信サイクルまでは受信した第1データセットを記憶しておき、当該通信サイクルにて第1データセットを読み出す。同様に、他のコントローラ114は、生成済み時刻に基づいて、第2データセットを読み出すべき通信サイクルを指定する第2通信サイクル情報を付加して第2データセットをコントローラ114に送信してもよい。この場合、コントローラ114は、第2通信サイクル情報により指定された通信サイクルまでは受信した第2データセットを記憶しておき、当該通信サイクルにて第2データセットを読み出す。
【0053】
このように、第1データセット及び第2データセットの送受信タイミングのばらつきを抑制する処理が、コントローラ114と他のコントローラ114とのそれぞれにおいて、互いに同期した時刻に基づいて行われるので、高い信頼性で同期通信を行うことができる。
【0054】
コントローラ114は、ローカルコントローラ300との間で同期通信を行ってもよい。例えばコントローラ114は、制御指令を読み出すべき制御サイクルを指定する第1制御サイクル情報を付加して制御指令をローカルコントローラ300に送信してもよい。この場合、ローカルコントローラ300は、第1制御サイクル情報により指定された制御サイクルまでは受信した制御指令を記憶しておき、当該制御サイクルにて制御指令を読み出し、読み出した制御指令に基づいて本体30を制御する。同様にローカルコントローラ300は、フィードバック情報を読み出すべき制御サイクルを指定する第2制御サイクル情報を付加してフィードバック情報をサーバ100に送信してもよい。この場合、第2制御サイクル情報により指定された制御サイクルまでは、フィードバック情報を通信部113が記憶する。コントローラ114は、第2制御サイクル情報により指定された制御サイクルにてフィードバック情報を読み出し、読み出したフィードバック情報に基づいて制御指令を生成する。これらにより、フィードバック情報及び制御指令の送受信タイミングのばらつきが、本体30のモーションに及ぼす影響が抑制される。
【0055】
このように、フィードバック情報及び制御指令の送受信タイミングのばらつきが、本体30のモーションに及ぼす影響を抑制する制御を、各産業機械20が基準時刻に同期した時刻に基づき行うことで、本体30による同期モーションの信頼性を更に向上させることができる。
【0056】
検出部115は、取得部111が取得した時刻情報に含まれるマスタ情報(以下、「取得部111が取得したマスタ情報」という。)に基づいて、時刻マスタの切り替わりを検出する。例えば検出部115は、所定タイミングにおいて取得部111が取得したマスタ情報を「基準マスタ情報」として記憶し、その後取得部111が取得したマスタ情報と基準マスタ情報とを比較して、時刻マスタの切り替わりを検出する。
【0057】
差異確認部116は、検出部115により時刻マスタの切り替わりが検出された場合に、上記生成済み時刻と、上記比較対象時刻との間の差異を確認する。
【0058】
差異確認部116は、検出部115により時刻マスタの切り替わりが検出される前においても、生成済み時刻と比較対象時刻との間の差異を確認してもよい。例えば差異確認部116は、サーバ100が本体30に同期モーションを実施させる前に、生成済み時刻と比較対象時刻とに差異があるか否かを確認してもよい。この場合、検出部115は、生成済み時刻と比較対象時刻とに差異がないことを差異確認部116が確認したタイミングにおいて上記基準マスタ情報を記憶してもよい。
【0059】
なお、「差異がない」とは、必ずしも差異がゼロである場合に限られず、同期モーションに支障のない程度の差異がある場合を含む。以下においても同様である。差異確認部116は、生成済み時刻と比較対象時刻との比較に代えて、生成済み時刻の時刻マスタが、比較対象時刻の時刻マスタと同じであるか否かに基づいて、生成済み時刻と比較対象時刻との間に差異があるか否かを判定してもよい。例えば差異確認部116は、生成済み時刻の時刻マスタと、比較対象時刻の時刻マスタとが同一である場合に、差異はないと判定してもよい。この場合、通信部113は、比較対象時刻の時刻マスタの情報を他の産業機械20のサーバ100から受信してもよい。
【0060】
差異確認部116は、生成済み時刻と比較対象時刻との比較に代えて、生成済み時刻の連続性に基づいて、生成済み時刻と比較対象時刻との間に差異があるか否かを判定してもよい。例えば差異確認部116は、生成済み時刻を生成する度に、生成済み時刻と一つ前の生成済み時刻との差分(以下、「時刻差分」という。)と、一つ前の生成済み時刻の生成タイミングからの経過時間とを比較する。差異確認部116は、時刻差分と経過時間との間に差異がない場合に、生成済み時刻に連続性があると判定し、時間差分と経過時間との間に差異がある場合に、生成済み時刻に連続性がないと判定する。差異確認部116は、生成済み時刻に連続性がないと判定した場合に、生成済み時刻と比較対象時刻とに差異が生じたと推定してもよい。なお、生成済み時刻に連続性がなくなることが、必ずしも、生成済み時刻と比較対象時刻とに差異が生じたことを意味するわけではないが、連続性がなくなったことによって、差異が生じたことをある程度推定することは可能である。例えば、生成済み時刻と比較対象時刻とが同期していた状況において、比較対象時刻は連続性を維持し、生成済み時刻に連続性がなくなった場合には、生成済み時刻と比較対象時刻とに差異が生じることとなる。連続性に基づいて差異の発生を推定する構成によれば、通信部113が比較対象時刻を他の産業機械20のサーバ100から受信しなくても、生成済み時刻と比較対象時刻との差異の発生を推定することができる。
【0061】
切替部117は、マスタ情報に応じて、コントローラ114による本体30の制御モードを切り替える。コントローラ114は、切替部117により制御モードが切り替えられた場合に、切り替え後の制御モードにて本体30を制御する。
【0062】
例えば、上述した複数種類の制御モードは、2以上の産業機械20が同期する(2以上の産業機械20に同期モーションを実行させる)同期モードと、同期モードよりも同期レベルが低い安全モードとを含んでいてもよい。この場合、切替部117は、コントローラ114が同期モードにて本体30を制御している最中に時刻マスタの切り替わりが検出された場合、制御モードを、同期モードから安全モードに切り替えてもよい。
【0063】
切替部117は、時刻マスタの切り替わりが検出された場合の少なくとも一部において、同期モードから安全モードに切り替えればよい。例えば切替部117は、時刻マスタの切り替わりが検出された場合のうち、差異確認部116により差異が確認された場合に、同期モードから安全モードに切り替えてもよい。
【0064】
安全モードは、少なくとも同期モードに比較して同期レベルが低いモードであればよい。安全モードの例としては、以下が挙げられる。例2-1) 同期モードの実行中に比較して、速度を落として同期モーションを本体30に継続させる。例2-2) 他の産業機械20の本体30とは同期しないモーション(以下、「非同期モーション」という。)を本体30に実施させる。例2-3) 本体30を停止させ、停止した状態を維持させる。例2-4) 本体30を停止させ、同期モーションの開始前の初期状態まで復帰させる。
【0065】
例2-1によれば、コントローラ114は、切替部117が同期モードを安全モードに切り替えた後に、速度を落として本体30に同期モーションを継続させる。例2-2によれば、コントローラ114は、切替部117が同期モードを安全モードに切り替えた後に、本体30に同期モーションを中止させ、本体30に非同期モーションを実施させる。例2-3によれば、コントローラ114は、切替部117が同期モードを安全モードに切り替えた後に、本体30に同期モーションを停止させる。例2-3によれば、コントローラ114は、切替部117が同期モードを安全モードに切り替えた後に、本体30に同期モーションを停止させ、同期モーションの開始前の初期状態まで本体30を復帰させる。
【0066】
複数種類の制御モードは、互いに同期レベルが異なる2以上の安全モードを含んでいてもよい。例えば2以上の安全モードは、第1安全モードと、第1安全モードよりも同期レベルが低い第2安全モードとを含む。この場合、差異確認部116は、差異があると判定した場合に、差異の大きさを更に判定してもよい。切替部117は、差異が所定レベルよりも小さい場合に、同期モードを第1安全モードに切り替え、差異が所定レベルよりも大きい場合に、同期モードを第2安全モードに切り替えてもよい。第1安全モードが上述した例2-1である場合、上述した例2-2~例2-4等が第2安全モードとなり得る。
【0067】
通知部118は、切替部117が制御モードを同期モードから安全モードに切り替える際に、他の産業機械20(第2産業機械)に通知する。例えば通知部118は、通知内容を、通信部113により他の産業機械20に送信させる。他の産業機械20に対する通知内容は、例えば制御モードを同期モードから安全モードに切り替える予告であってもよく、制御モードを同期モードから安全モードに切り替えたことの事後通知であってもよい。
【0068】
通知内容は、切替部117が制御モードを同期モードから安全モードから切り替えることのトリガーとなる情報であってもよい。当該トリガーとなる情報の例としては、検出部115により時刻マスタの切り替わりが検出されたこと、又は差異確認部116により差異が確認されたこと等が挙げられる。通知部118は、トリガーとなる情報を検出部115又は差異確認部116等から取得し、切替部117及び他の産業機械20の両方に通知するように構成されていてもよい。この場合、切替部117は、通知部118からの通知に基づいて制御モードを切り替える。
【0069】
他の産業機械20において、上記通知は通信部113により受信される。他の産業機械20の切替部117は、上記通知を通信部113が受信した場合、他の産業機械20における制御モードを、同期モードから安全モードに切り替える。
【0070】
複数種類の制御モードは、2以上の産業機械20が互いに同期しない非同期モードと、2以上の産業機械20が互いに同期する同期モードと、を含み、コントローラ114は、非同期モードにより本体30を制御した後に、同期モードにより本体30を制御してもよい。
【0071】
この場合、差異確認部116は、制御モードが非同期モードである期間に、検出部115で時刻マスタの切り替わりが検出された場合、生成済み時刻と比較対象時刻との差異が生じているか否かを確認してもよい。切替部117は、差異確認部116により差異が生じていないことが確認された場合、制御モードを、非同期モードから同期モードに切り替える。切替部117は、差異確認部116により差異が生じていることが確認された場合、非同期モードから同期モードへの切り替えを中止する。
【0072】
他の産業機械20の通知部118からの上記通知を通信部113が受信する場合もある。この場合、切替部117は、制御モードを同期モードから安全モードに切り替える。切替部117による制御モードの切り替えに先立って、差異確認部116が上記差異を確認してもよい。切替部117は、上記通知内容を通信部113が受信した場合のうち、差異確認部116により差異が確認された場合に、同期モードから安全モードに切り替えてもよい。
【0073】
サーバ100は、連続性確認部119を更に備えてもよい。連続性確認部119は、検出部115で時刻マスタの切り替わりが検出された場合、時刻マスタの切り替わり前後の時刻が連続していること(上記生成済み時刻の連続性)を確認する。切替部117は、連続性確認部119により連続していることを確認できない場合、制御モードを同期モードから安全モードに切り替えてもよい。
【0074】
このように、時刻の不連続は、制御モードを同期モードから安全モードに切り替えるトリガーとなる。通知部118から他の産業機械20への上記通知内容は、時刻の不連続であってもよい。通知部118は、時刻の不連続の発生を連続性確認部119から取得し、切替部117及び他の産業機械20の両方に通知するように構成されていてもよい。この場合、切替部117は、通知部118からの通知に基づいて制御モードを切り替える。
【0075】
図6は、サーバ100及びローカルコントローラ300のハードウェア構成を例示するブロック図である。
図6に示すように、サーバ100は、回路190を有する。回路190は、プロセッサ191と、メモリ192と、ストレージ193と、通信ポート194と、通信ポート195とを有する。
【0076】
ストレージ193は、不揮発性の記憶媒体である。ストレージ193の具体例としては、ハードディスク、フラッシュメモリ等が挙げられる。ストレージ193は、光ディスクなどの可搬型の記憶媒体であってもよい。ストレージ193は、ネットワーク2からマスタ情報を取得することと、マスタ情報に応じて制御モードを切り替えることと、をサーバ100に実行させるためのプログラムを記憶している。例えばストレージ193は、上述した各機能ブロックをサーバ100に構成させるためのプログラムを記憶している。
【0077】
メモリ192は、例えばランダムアクセスメモリ等の一時記憶媒体であり、ストレージ193からロードされたプログラムを一時的に記憶する。プロセッサ191は、1以上の演算素子により構成され、メモリ192にロードされたプログラムを実行することにより、サーバ100に上記各機能ブロックを構成させる。通信ポート194は、プロセッサ191からの要求に応じて、ネットワーク2を介して他の産業機械20とサーバ間通信を行う。通信ポート195は、プロセッサ191からの要求に応じて、基地局200及び通信端末400を介してローカルコントローラ300と装置間通信を行う。
【0078】
ローカルコントローラ300は、回路390を有する。回路390は、プロセッサ391と、メモリ392と、ストレージ393と、通信ポート394と、ドライブ回路395とを有する。
【0079】
ストレージ393は、不揮発性の記憶媒体である。ストレージ393の具体例としては、ハードディスク、フラッシュメモリ等が挙げられる。ストレージ393は、光ディスクなどの可搬型の記憶媒体であってもよい。ストレージ393は、本体30を制御するためのプログラムを記憶している。
【0080】
メモリ392は、例えばランダムアクセスメモリ等の一時記憶媒体であり、ストレージ393からロードされたプログラムを一時的に記憶する。プロセッサ391は、1以上の演算素子により構成され、メモリ392にロードされたプログラムを実行することにより、本体30を制御する。通信ポート394は、プロセッサ391からの要求に応じて、通信端末400及び基地局200を介してサーバ100と装置間通信を行う。ドライブ回路395は、プロセッサ391からの要求に応じて、本体30に駆動電力を供給する。
【0081】
以上に示した構成はあくまで一例であり、適宜変更可能である。例えば産業機械20は、サーバ100とローカルコントローラ300との間の装置間通信を有線通信により行うように構成されていてもよい。また、サーバ100とローカルコントローラ300とが一つの装置にまとめられていてもよい。更に、2以上の産業機械20のサーバ100が、産業システム1のサーバ装置にまとめられていてもよい。この場合、産業システム1のサーバ装置内に、2以上の産業機械20のサーバ100がソフトウェアにより実装される。
【0082】
〔制御手順〕
以下、産業機械20が実行する制御手順を例示する。この制御手順は、ネットワーク2から取得した時刻に基づいて、他の産業機械20における他のモーションと同期したモーションを実施することと、マスタ情報を取得することと、マスタ情報に応じて制御モードを切り替えることと、を含む。以下、制御手順を、制御開始手順と、制御モードの変更手順とに分けて例示する。
【0083】
(制御開始手順)
図7に示すように、サーバ100は、まずステップS01,S02を実行する。ステップS01では、取得部111が、ネットワーク2から時刻情報を取得する。ステップS02では、時刻生成部112が、時刻情報に基づいて基準時刻に同期した時刻を生成する。ステップS02において生成される時刻は、上記生成済み時刻である。
【0084】
次に、サーバ100は、ステップS03,S04を実行する。ステップS03では、通信部113が、他の産業機械20のサーバ100から上記比較対象時刻を受信する。ステップS04では、差異確認部116が、生成済み時刻と、比較対象時刻とに差異がないことを確認する。
【0085】
次に、サーバ100は、ステップS05,S06を実行する。ステップS05では、検出部115が、マスタ情報を基準マスタ情報として記憶する。ステップS06では、コントローラ114が、生成済み時刻に基づいて本体30の制御を開始する。以上で制御開始手順が完了する。
【0086】
(制御モード変更手順)
制御モード変更手順は、上述した制御開始手順の後に実行される。
図8に示すように、サーバ100は、まずステップS11,S12を実行する。ステップS11では、取得部111が、ネットワーク2から時刻情報を取得する。ステップS12では、時刻生成部112が、時刻情報に基づいて生成済み時刻を更新する。
【0087】
次に、サーバ100はステップS13を実行する。ステップS13では、ステップS11において取得された時刻情報に含まれるマスタ情報と、基準マスタ情報とを比較して、時刻マスタが切り替わったか否かを検出部115が確認する。ステップS13において、時刻マスタは切り替わっていないと判定した場合、サーバ100はステップS14を実行する。ステップS14では、差異が確認されたことの通知を通信部113が受信しているか否かを通知部118が確認する。ステップS14において、差異が確認されたことの通知を受信していないと判定した場合、サーバ100は処理をステップS11に戻す。
【0088】
ステップS13において、時刻マスタは切り替わっていると判定した場合、サーバ100はステップS15,S16を実行する。ステップS15では、通信部113が、他の産業機械20のサーバ100から上記比較対象時刻を受信する。ステップS16では、差異確認部116が、生成済み時刻と比較対象時刻との差異を確認する。ステップS16において、差異はないと判定した場合、サーバ100はステップS17を実行する。ステップS17では、検出部115が、切り替わり後のマスタ情報を基準マスタ情報として記憶する。その後、サーバ100は処理をステップS11に戻す。
【0089】
ステップS16において、差異があると判定した場合、サーバ100はステップS21を実行する。ステップS21では、差異があることを通知部118が切替部117及び他の産業機械20のサーバ100に通知する。ステップS14において、上記通知を通信部113が受信していると判定した場合、サーバ100はステップS22を実行する。ステップS22では、通知を受信していることを通知部118が切替部117に通知する。
【0090】
次に、サーバ100はステップS23を実行する。ステップS23では、ステップS21又はステップS22における通知に基づいて、切替部117が制御モードを切り替える。コントローラ114は、切り替え前の制御モードによる本体30の制御を中止し、切り替え後の制御モードにて本体30を制御する。以上で制御モードの切り替え手順が完了する。なお、以上の手順においては、差異確認部116が差異を確認したことを通知部118による通知内容とした場合を例示したが、上述のとおり通知内容はこれに限られない。通知内容の違い等によって、以上の手順は適宜変更可能である。
【0091】
以上の手順は、非同期モードにて本体30を制御している最中に実行される場合もある。この場合、切替部117は、非同期モードの最中に、非同期モードの実行後における制御モードを事前に切り替える。例えば切替部117は、非同期モードの実行後における同期モードへの移行可否を切り替える。
図9は、移行可否の切り替え結果に基づいて、非同期モードの実行後にサーバ100が実行する制御手順を例示するフローチャートである。
【0092】
図9に示すように、サーバ100は、まずステップS31,S32を実行する。ステップS31では、コントローラ114が、非同期モードから同期モードへの移行タイミングを待機する。ステップS32では、同期モードへの移行可否の判定結果を切替部117が確認する。ステップS32において、同期モードへの移行可と判定した場合、サーバ100はステップS33を実行する。ステップS33では、切替部117が非同期モードを同期モードに移行させる。コントローラ114は、同期モードによる本体30の制御を開始する。ステップS32において、同期モードへの移行不可と判定した場合、サーバ100はステップS34を実行する。ステップS34では、切替部117が非同期モードを同期モードに移行させない。コントローラ114は、非同期モードによる本体30の制御を継続させる。以上により、非同期モードの実行中に事前に行われていた制御モードの切り替え結果が、非同期モードの実行後の制御に反映される。
【0093】
上述したように、サーバ100は、連続性確認部119を更に有してもよい。
図10は、連続性確認部119を有する場合における制御モードの切り替え手順を例示する
図10に示すように、サーバ100は、ステップS11,S12,S13と同様にステップS41,S42,S43を実行する。ステップS41では、取得部111が、ネットワーク2から時刻情報を取得する。ステップS42では、時刻生成部112が、時刻情報に基づいて生成済み時刻を更新する。ステップS43では、時刻マスタが切り替わったか否かを検出部115が確認する。
【0094】
ステップS43において、時刻マスタは切り替わっていないと判定した場合、サーバ100はステップS44を実行する。ステップS44では、不連続の発生の通知を通信部113が受信しているか否かを通知部118が確認する。ステップS44において、不連続の発生の通知を通信部113が受信していないと判定した場合、サーバ100は処理をステップS41に戻す。
【0095】
ステップS43において、時刻マスタが切り替わっていると判定した場合、サーバ100はステップS45を実行する。ステップS45では、連続性確認部119が、時刻マスタの切り替わり前後の時刻に不連続が発生しているか否かを確認する。
【0096】
ステップS45において不連続が発生していると判定した場合、サーバ100はステップS46を実行する。ステップS46では、不連続が発生していることを通知部118が切替部117及び他の産業機械20のサーバ100に通知する。ステップS44において、不連続の発生の通知を通信部113が受信していると判定した場合、サーバ100はステップS47を実行する。ステップS47では、通知を受信していることを通知部118が切替部117に通知する。
【0097】
次に、サーバ100はステップS48を実行する。ステップS48では、ステップS46又はステップS47における通知に基づいて、切替部117が制御モードを切り替える。以上で制御モードの切り替え手順が完了する。
【0098】
〔まとめ〕
以上に説明した実施形態は、以下の構成を含む。
【0099】
(1) 複数のノード10が時刻同期したネットワーク2から取得した時刻に基づいて、互いに同期したモーションを実施する2以上の産業機械20を備え、2以上の産業機械20に含まれる第1産業機械20は、時刻の生成元である時刻マスタに関するマスタ情報を取得する取得部111と、マスタ情報に応じて、同期の度合いを表す制御モードを切り替える切替部117と、を有する産業システム1。
同期ずれの要因となり得る時刻マスタの切り替わりに応じて制御方式を切り替えることで、同期ずれに起因する同期モーションの不具合を未然に防ぐことができる。従って、同期モーションの信頼性向上に有効である。
【0100】
(2) 第1産業機械20は、取得部111が取得したマスタ情報に基づいて、時刻マスタの切り替わりを検出する検出部115を更に有し、切替部117は、時刻マスタの切り替わりが検出された場合、制御モードを、2以上の産業機械20が同期する同期モードから、当該同期モードよりも同期レベルが低い安全モードに切り替える、(1)記載の産業システム1。
同期ずれに起因する同期モーションの不具合を防ぎつつ、産業機械20にモーションを継続させ、効率性と信頼性との両立を図ることができる。
【0101】
(3) 第1産業機械20は、時刻マスタの切り替わりが検出された場合に、2以上の産業機械20に含まれる第2産業機械20が取得した時刻と、自身が取得した時刻との間の差異を確認する差異確認部116を更に有し、切替部117は、差異確認部116により差異が確認された場合に、同期モードから安全モードに切り替える、(2)記載の産業システム1。
同期モードから安全モードへの無駄な切り替えを削減し、効率性と信頼性との両立を更に図ることができる。
【0102】
(4) 第1産業機械20は、切替部117が制御モードを同期モードから安全モードに切り替える際に、2以上の産業機械20に含まれる第2産業機械20に通知する通知部118を更に有し、第2産業機械20は、通知を取得した場合、第2産業機械20における制御モードを、同期モードから、安全モードに切り替える切替部117を有する、(2)又は(3)記載の産業システム1。
同期ずれに起因する同期モーションの不具合を、同期して動いている他の産業機械20と協働して防ぐことができる。
【0103】
(5) 第1産業機械20は、安全モードにおいて、互いに同期したモーションを、速度を落として継続する、(2)~(4)のいずれか記載の産業システム1。
動作時間を長くすることで、同期ずれを相対的に小さくし、産業機械20に他の産業機械20と同期したモーションを継続させることができる。
【0104】
(6) 第1産業機械20は、安全モードにおいて、互いに同期したモーションとは異なり、2以上の産業機械20が互いに同期しないモーションを実施する、(2)~(5)のいずれか記載の産業システム1。
同期モーションを継続し得ない場合であっても、非同期のモーションを継続させ、効率性と信頼性との両立を図ることができる。
【0105】
(7) 差異確認部116は、差異の大きさを確認し、第1産業機械20は、安全モードにおいて、差異が所定レベルよりも小さい場合に、互いに同期したモーションを、速度を落として継続し、差異が所定レベルよりも大きい場合に、互いに同期しないモーションを実施するか、実施しているモーションを停止させる、(2)~(6)のいずれか記載の産業システム1。
差異の大きさに応じて、安全モードにおける実施内容を変更することで、効率性と信頼性との両立を更に図ることができる。
【0106】
(8) 制御モードは、2以上の産業機械20が互いに同期しない非同期モードと、非同期モードの後に実施され、2以上の産業機械20が互いに同期する同期モードと、を含み、第1産業機械20は、制御モードが非同期モードである期間に、検出部115で時刻マスタの切り替わりが検出された場合、2以上の産業機械20に含まれる第2産業機械20が取得した時刻と、自身が取得した時刻との間に、差異が生じているか否かを確認する差異確認部116を更に有し、切替部117は、差異確認部116により差異が生じていないことが確認された場合、制御モードを、非同期モードから同期モードに切り替える、(2)~(7)のいずれか記載の産業システム1。
非同期モーションの実行期間を利用して同期を確認することで、効率性と信頼性との両立を図ることができる。
【0107】
(9) 第1産業機械20は、検出部115で時刻マスタの切り替わりが検出された場合、時刻マスタの切り替わり前後の時刻が連続していることを確認する連続性確認部119を更に有し、切替部117は、連続性確認部119により連続していることを確認できない場合、制御モードを、同期モードから安全モードに切り替える、(2)~(8)のいずれか記載の産業システム1。
時刻マスタが切り替わった場合であっても、時刻の連続性が維持されている場合には可動部のモーションを継続させ、効率性と信頼性との両立を図ることができる。
【0108】
(10) 複数のノード10はバウンダリクロックを含み、取得部111は、時刻と、マスタ情報とをバウンダリクロックから取得する、(1)~(9)のいずれか記載の産業システム1。
時刻マスタの切り替わりを容易に検出することができる。
【0109】
(11) 第1産業機械20は、ネットワーク2から取得した時刻に基づいて同期通信を行う、(1)~(10)のいずれか記載の産業システム1。
ネットワーク2から取得した時刻を同期通信に有効活用することができる。
【0110】
(12) 複数のノード10が時刻同期したネットワーク2から取得した時刻に基づいて、他の産業機械20における他のモーションと同期したモーションを実施する産業機械20であって、時刻の生成元である時刻マスタに関するマスタ情報を取得する取得部111と、マスタ情報に応じて、同期の度合いを表す制御モードを切り替える切替部117と、を備える産業機械20。
【0111】
(13) 複数のノード10が時刻同期したネットワーク2から取得した時刻に基づいて、他の産業機械20における他のモーションと同期したモーションを実施することと、時刻の生成元である時刻マスタに関するマスタ情報を取得することと、マスタ情報に応じて、同期の度合いを表す制御モードを切り替えることと、を含む制御方法。
【符号の説明】
【0112】
1…産業システム、10…ノード、2…ネットワーク、20…産業機械、111…取得部、115…検出部、116…差異確認部、117…切替部、118…通知部、119…連続性確認部。