特許第6465620号(P6465620)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ヤマハ発動機株式会社の特許一覧

<>
  • 特許6465620-制御システムおよび制御方法 図000002
  • 特許6465620-制御システムおよび制御方法 図000003
  • 特許6465620-制御システムおよび制御方法 図000004
  • 特許6465620-制御システムおよび制御方法 図000005
  • 特許6465620-制御システムおよび制御方法 図000006
  • 特許6465620-制御システムおよび制御方法 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6465620
(24)【登録日】2019年1月18日
(45)【発行日】2019年2月6日
(54)【発明の名称】制御システムおよび制御方法
(51)【国際特許分類】
   H04L 7/00 20060101AFI20190128BHJP
   G04G 5/00 20130101ALI20190128BHJP
   H04L 12/28 20060101ALI20190128BHJP
   G05B 19/05 20060101ALI20190128BHJP
   G05B 19/042 20060101ALI20190128BHJP
【FI】
   H04L7/00 330
   G04G5/00 J
   H04L12/28 400
   G05B19/05 S
   G05B19/042
【請求項の数】8
【全頁数】14
(21)【出願番号】特願2014-223371(P2014-223371)
(22)【出願日】2014年10月31日
(65)【公開番号】特開2016-92544(P2016-92544A)
(43)【公開日】2016年5月23日
【審査請求日】2017年6月1日
(73)【特許権者】
【識別番号】000010076
【氏名又は名称】ヤマハ発動機株式会社
(74)【代理人】
【識別番号】100105935
【弁理士】
【氏名又は名称】振角 正一
(74)【代理人】
【識別番号】100136836
【弁理士】
【氏名又は名称】大西 一正
(72)【発明者】
【氏名】藤田 貴吉
【審査官】 川口 貴裕
(56)【参考文献】
【文献】 特開2012−060207(JP,A)
【文献】 特開2007−130722(JP,A)
【文献】 特開2005−210515(JP,A)
【文献】 国際公開第2013/137023(WO,A1)
【文献】 特開2006−244264(JP,A)
【文献】 特開2003−145462(JP,A)
【文献】 特許第5394283(JP,B2)
【文献】 特表2011−529351(JP,A)
【文献】 国際公開第2009/011437(WO,A1)
【文献】 特開2006−148925(JP,A)
【文献】 特開2011−083841(JP,A)
【文献】 特開2006−107050(JP,A)
【文献】 国際公開第2013/064867(WO,A1)
【文献】 産業用ネットワーク研究会,なんと100Mbpsでデータ衝突なし! 制御用イーサネットEtherCAT,Interface,日本,CQ出版株式会社,2013年 7月 1日,第39巻,第7号,p.130〜139
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
H04L 12/28
G04G 5/00
G05B 19/042
G05B 19/05
(57)【特許請求の範囲】
【請求項1】
第1時計部から出力される時刻情報に基づいて第1制御対象物を制御するマスタ制御装置と、
前記マスタ制御装置とネットワークを介して接続され、前記マスタ制御装置から送信される制御情報および第2時計部から出力される時刻情報に基づいて前記第1制御対象物と異なる第2制御対象物を制御するスレーブ制御装置とを備え、
前記マスタ制御装置は、第1モータドライバと、前記第1モータドライバに指令を与えて前記第1制御対象物を動作させる第1コントローラとを有し、
前記スレーブ制御装置は、第2モータドライバと、前記第2モータドライバに指令を与えて前記第2制御対象物を動作させる第2コントローラとを有し、
前記マスタ制御装置から送信された前記制御情報が前記スレーブ制御装置を通過する時刻をサンプリングした結果に基づき、前記第1コントローラの前記第1時計部の時刻情報と前記第2コントローラの前記第2時計部の時刻情報との時刻同期を行うことを特徴とする制御システム。
【請求項2】
請求項1に記載の制御システムであって、
前記スレーブ制御装置は、前記マスタ制御装置から送信される前記制御情報からのデータ読出および前記制御情報へのデータ書込を行った後で前記マスタ制御装置に戻し、
前記マスタ制御装置は、前記制御情報に基づいて前記時刻同期を行う制御システム。
【請求項3】
請求項2に記載の制御システムであって、
前記スレーブ制御装置は複数設けられ、前記マスタ制御装置から送信される前記制御情報を順番に通過させた後で折り返して逆の順番で通過させて前記マスタ制御装置に戻し、
前記第1時計部および複数の前記第2時計部のうちの一の時計部を基準時計部とし、前記基準時計部以外の時計部を前記基準時計部に対して時刻同期させる制御システム。
【請求項4】
請求項3に記載の制御システムであって、
前記基準時計部は、前記マスタ制御装置の前記第1時計部である制御システム。
【請求項5】
請求項3に記載の制御システムであって、
前記基準時計部は、前記マスタ制御装置からの前記制御情報を最初に受信するスレーブ制御装置の前記第2時計部である制御システム。
【請求項6】
請求項1ないし5のいずれか一項に記載の制御システムであって、
前記マスタ制御装置は、前記第2制御対象物の動作に関連する動作指令を前記制御情報に含めて送信し、前記スレーブ制御装置の全てが前記制御情報から前記動作指令を読み取った後で、第1割込信号を発生させて前記第1制御対象物の動作を開始し、
前記スレーブ制御装置は前記第1割込信号と同期して第2割込信号を発生させて前記第2制御対象物の動作を開始する制御システム。
【請求項7】
請求項6に記載の制御システムであって、
前記スレーブ制御装置は、前記マスタ制御装置から送信される前記制御情報からのデータ読出および前記制御情報へのデータ書込を行った後で前記制御情報を前記マスタ制御装置に戻し、
前記マスタ制御装置は、前記制御情報が前記マスタ制御装置から前記スレーブ制御装置に送信されてから前記マスタ制御装置に戻る1サイクルの半分の時間が経過するまで、前記第1割込信号の発生を禁止する制御システム。
【請求項8】
第1モータドライバと、前記第1モータドライバに指令を与えて第1制御対象物を動作させる第1コントローラとを有するマスタ制御装置により前記第1制御対象物を制御するとともに、第2モータドライバと、前記第2モータドライバに指令を与えて第2制御対象物を動作させる第2コントローラとを有し、前記マスタ制御装置とネットワークを介して接続されスレーブ制御装置により前記第1制御対象物と異なる前記第2制御対象物を制御する制御方法であって、
第1時計部から出力される時刻情報に基づいて前記マスタ制御装置による前記第1制御対象物の制御を行う工程と、
前記マスタ制御装置から制御情報を送信する工程と、
前記マスタ制御装置から送信される制御情報および第2時計部から出力される時刻情報に基づいて前記第2制御対象物の制御を行う工程と、
前記マスタ制御装置から送信された前記制御情報が前記スレーブ制御装置を通過する時刻をサンプリングした結果に基づき、前記第1コントローラの前記第1時計部の時刻情報と前記第2コントローラの前記第2時計部の時刻情報とを時刻同期させる工程と
を備えることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、マスタ制御装置により第1制御対象物を制御するとともに、当該マスタ制御装置とネットワークを介して接続されるスレーブ制御装置により第1制御対象物と異なる第2制御対象物を制御する制御システムおよび制御方法、ならびに当該制御技術に適した拡張ボードに関するものである。
【背景技術】
【0002】
PLC(=Programmable Logic Controller)やIPC(=Industrial PC )などのマスタがネットワークを介して単一または複数の制御対象(スレーブ)を制御する制御システムが従来より数多く提供されている。例えば特許文献1に記載の制御システムでは、リアルタイムEthernetであるEtherCAT(登録商標)を用いて、単一のマスタと複数のスレーブ(サーボアンプとサーボモータとを有するロボット)とを接続してリングトポロジを構築している。マスタおよびスレーブは2つの通信ポートを有し、これらを接続していくことでリングトポロジが構成され、マスタで作成された制御パケットが上記通信ポートを介して順番に全てのスレーブを通過し、さらに折り返して上記と逆の順番で再びマスタに返る。これを1サイクルとして繰り返して行われ、各スレーブは制御パケットに含まれる動作指令を読み出してロボットを制御する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第5394283号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、ロボットをコントロールするコントローラを複数台ネットワークにより相互に接続してリングトポロジを構築するとともに、それら複数のコントローラの1台をマスタとして機能させることで、PLCやIPCを用いることなく各ロボットを制御する制御システムが検討されている。EtherCATを用いる場合、スレーブとなるコンローラ同士についてはEtherCATのディストリビュートクロック(=Distributed clock)を使用することで同期させることができるが、現状では、マスタとして機能するコントローラとスレーブとなるコントローラとを同期させるための構成は用意されていない。その結果、ロボットなどの第1制御対象物の動作を制御するコントローラをマスタとして機能させるとともに当該マスタを1台あるいは複数台のスレーブと接続してネットワーク・トポロジを構成した制御システムでは、第1制御対象物と、スレーブに接続されるロボットなどの第2制御対象物とを同期して動作させることは困難であった。
【0005】
この発明は、上記課題に鑑みなされたものであり、マスタ制御装置により第1制御対象物を制御するとともに、当該マスタ制御装置とネットワークを介して接続されるスレーブ制御装置により第1制御対象物と異なる第2制御対象物を制御する制御システムにおいて第1制御対象物と第2制御対象物とを容易に同期させることができる制御技術、ならびに当該制御技術に適した拡張ボードを提供することを目的とする。
【課題を解決するための手段】
【0006】
この発明の第1態様は、制御システムであって、第1時計部から出力される時刻情報に基づいて第1制御対象物を制御するマスタ制御装置と、マスタ制御装置とネットワークを介して接続され、マスタ制御装置から送信される制御情報および第2時計部から出力される時刻情報に基づいて第1制御対象物と異なる第2制御対象物を制御するスレーブ制御装置とを備え、第1時計部の時刻情報と第2時計部の時刻情報との時刻同期を行うことを特徴としている。
【0007】
また、この発明の第2態様は、マスタ制御装置により第1制御対象物を制御するとともに、マスタ制御装置とネットワークを介して接続されるスレーブ制御装置により第1制御対象物と異なる第2制御対象物を制御する制御方法であって、第1時計部から出力される時刻情報に基づいてマスタ制御装置による第1制御対象物の制御を行う工程と、マスタ制御装置から制御情報を送信する工程と、マスタ制御装置から送信される制御情報および第2時計部から出力される時刻情報に基づいて第2制御対象物の制御を行う工程と、第1時計部の時刻情報と第2時計部の時刻情報とを時刻同期させる工程とを備えることを特徴としている。
【0008】
さらに、この発明の第3態様は、第1制御対象物を制御するマスタ制御装置に装着自在な拡張ボードであって、第1制御対象物を制御するための時刻情報を出力する第1時計部と、マスタ制御装置とネットワークを介して接続されるスレーブ制御装置により第1制御対象物と異なる第2制御対象物を制御するための制御情報をスレーブ制御装置に送信する通信部と、スレーブ制御装置に設けられて第2制御対象物を制御するための時刻情報を出力する、第2時計部の時刻情報と、第1時計部の時刻情報とを時刻同期させる時刻同期部とを備えることを特徴としている。
【発明の効果】
【0009】
このように構成された発明では、マスタ制御装置は第1時計部を有しており第1時計部から出力される時刻情報に基づいて第1制御対象物を制御するとともに、スレーブ制御装置はマスタ制御装置から送信される制御情報および第2時計部から出力される時刻情報に基づいて第2制御対象物を制御する。そして、第1時計部の時刻情報と第2時計部の時刻情報とは時刻同期される。したがって、第1制御対象物と第2制御対象物とを容易に、しかも正確に同期して動作させることができる。
【図面の簡単な説明】
【0010】
図1】本発明にかかる制御システムの第1実施形態を示す図である。
図2図1に示す制御システムを構成するマスタ制御装置および第1スレーブ制御装置の構成を示すブロック図である。
図3図1に示す制御システムの制御方法を模式的に示す図である。
図4】本発明にかかる制御システムの第2実施形態を構成するマスタ制御装置および第1スレーブ制御装置の構成を示すブロック図である。
図5図4に示す制御システムの制御方法を模式的に示す図である。
図6】本発明にかかる制御システムの第3実施形態を構成するマスタ制御装置および第1スレーブ制御装置の構成を示すブロック図である。
【発明を実施するための形態】
【0011】
図1は本発明にかかる制御システムの第1実施形態を示す図であり、図2図1に示す制御システムを構成するマスタ制御装置および第1スレーブ制御装置の構成を示すブロック図である。この制御システム1は、図1に示すように、4台のロボットRB1〜RB4を同期して動作させて所望の処理を行う。これらのロボットRB1〜RB4はそれぞれマスタ制御装置2、第1スレーブ制御装置3、第2スレーブ制御装置4および第3スレーブ制御装置5に接続されている。また、マスタ制御装置2と第1スレーブ制御装置3とがEthernetポートを介してネットワークケーブル6で接続され、第1スレーブ制御装置3と第2スレーブ制御装置4とがEthernetポートを介してネットワークケーブル6で接続され、さらに第2スレーブ制御装置4と第3スレーブ制御装置5とがEthernetポートを介してネットワークケーブル6で接続されている。こうして、4台の制御装置2〜5がライン接続されてライントポロジが形成されている。なお、ネットワーク・トポロジの態様はこれに限定されるものではなく、スタートポロジやツリートポロジ等の他のトポロジでネットワークを構成してもよい。
【0012】
これら4台の制御装置のうちスレーブ制御装置3〜5はいずれも同一構成を有しているため、ここでは第1スレーブ制御装置3の構成について説明し、その他のスレーブ制御装置4、5については同一または相当符号を付して構成説明を省略する。
【0013】
第1スレーブ制御装置3は、図2に示すように、ロボットコントローラ31と、モータドライバ32と、拡張ポート33とを有している。そして、当該拡張ポート33にスレーブボード34が装着されていない、あるいは当該拡張ポート33にスレーブボード34が装着されているもののスレーブボード34上のスイッチ部35の切替設定によりスレーブボード34による通信が無効となるように設定されている場合、ロボットコントローラ31は単独でロボットRB2をコントロールする。すなわち、ロボットコントローラ31の演算処理部311が記憶部312に予め記憶されているプログラムにしたがってロボットの動作に関連する指令データ、つまり動作指令をモータドライバ32に与えてロボットRB2を上記プログラムに応じた動作させる。
【0014】
一方、拡張ポート33にスレーブボード34が装着されるとともにスイッチ部35の切替設定によりスレーブボード34による通信が有効となるように設定されている場合には、ロボットコントローラ31によるロボットRB2の独立制御は行われず、同期制御が行われる。つまり、後述するようにマスタ制御装置2から送信されてくるEtherCATパケット(以下、単に「パケット」という)に含まれる動作指令がロボットコントローラ31を介してモータドライバ32に与えられ、ロボットRB2を他のロボットRB1、RB3、RB4と同期して動作させる。なお、本実施形態では、ロボットコントローラ31は単独制御と同期制御との切替をソフトウェアにより行っている。
【0015】
また、同期制御を行うために、スレーブボード34にはスレーブコントローラ36が搭載されている。このスレーブコントローラ36は、CPU(=Central Processing Unit)により構成される演算処理部361と、演算処理部361で行われる時刻同期機構や割込発生機能に必要な各種データ等を記憶する記憶部362と、2つの通信部363、364とを備えている。この演算処理部361はカウンタ365を有しており、当該カウンタ365によるカウント値がロボットRB2の動作タイミングを決定するための時刻情報となっており、カウンタ365は時計部として機能する。また、演算処理部361は、他のスレーブコントローラのカウンタと時刻同期させるための時刻同期機能ブロック366、およびロボットRB2を他のロボットRB1、RB3、RB4と同期して動作させるための割込信号Syncを発生させてロボットコントローラ31に与える割込発生機能ブロック367としても機能する。
【0016】
通信部363、364はいずれもEthernetポートとして機能するものであり、通信部363はマスタ制御装置2内の通信部とネットワークケーブル6で接続されるとともに、通信部364は第2スレーブ制御装置4内の通信部とネットワークケーブル6で接続されている。これによって、次に説明するマスタ制御装置2から送信されるパケットを受信し、それを第2スレーブ制御装置4に送信する。また、第3スレーブ制御装置5で折り返されたパケットを第2スレーブ制御装置4を介して受信し、それをマスタ制御装置2に戻す。
【0017】
マスタ制御装置2は、図2に示すように、ロボットコントローラ21と、モータドライバ22と、拡張ポート23とを有している。そして、第1スレーブ制御装置3と同様に、当該拡張ポート23にマスタボード24が装着されていない場合、ロボットコントローラ21の演算処理部211が記憶部212に予め記憶されているプログラムにしたがって動作指令をモータドライバ22に与えてロボットRB1を上記プログラムに応じた動作させる。つまり、このような場合、ロボットコントローラ21が単独でロボットRB1をコントロールする。なお、第1スレーブ制御装置3と同様にスイッチ部を設け、当該スイッチ部の設定による単独制御を実行可能に構成してもよい。また、マスタ制御装置2における単独制御と同期制御との切替を、上記したようなハードウェア的なアプローチ以外にも、ソフトウェア的なアプローチによって行うように構成してもよい。例えばマスタ制御装置2を制御するための各種パラメータ項目の中に上記単独制御を行うか否かに関連する項目を追加し、上記項目をロボットコントローラ21がチェックして単独制御および同期制御のうちのいずれ一方を行うように構成してもよい。
【0018】
一方、拡張ポート23にマスタボード24が装着されている場合には、ロボットコントローラ21によるロボットRB1の独立制御は行われず、同期制御が行われる。つまり、マスタ制御装置2の演算処理部211はプログラムを解析してロボットRB1を制御するための動作指令のみならず、その他のロボットRB2〜RB4を制御するための動作指令を発生させる。そして、マスタボード24に搭載されたマスタコントローラ25はロボットRB2〜RB4を動作させるための動作指令が書き込まれたパケットを作成し、同マスタボード24上でマスタコントローラ25と並んで搭載されたスレーブコントローラ26を介して第1スレーブ制御装置3に送信する。このようにマスタボード24を拡張ポート23に装着することでロボットコントローラ21と協働してPLCやIPCと同様のマスタ機能を果たす。より詳しくは、マスタコントローラ25およびスレーブコントローラ26は以下のように構成されている。
【0019】
マスタコントローラ25は、CPUにより構成される演算処理部251と、記憶部252と、通信部253とを有している。これらのうち演算処理部251は、EtherCAT通信機能ブロックとして機能し、ロボットコントローラ21から与えられる動作指令をパケットに書き込んでEtherCAT通信によってスレーブ制御装置3〜5に送信し、また戻ってくるパケットを受信する。なお、当該パケットを作成するにあたって、例えば各ロボットRB2〜RB4を適正に動作させるために必要となる動作指令の種類、データ構成やデータ値に関連する情報等(以下「パケット作成用基本情報」という)が必要となるが、パケット作成用基本情報はロボットRB2〜RB4のメーカや機種などに応じて準備され、予め記憶部252に記憶されている。
【0020】
こうして演算処理部251で作成されたパケットは通信部253を介してスレーブコントローラ26に送信される。このスレーブコントローラ26はスレーブボード34に搭載されたスレーブコントローラ36と同一の構成を有している。つまり、スレーブコントローラ26は、カウンタ265、時刻同期機能ブロック266および割込発生機能ブロック267を有する演算処理部261と、演算処理部261で行われる時刻同期機構や割込発生機能に必要な各種データ等を記憶する記憶部262と、2つの通信部263、264とを備えている。演算処理部261のカウンタ265によるカウント値はロボットRB1の動作タイミングを決定するための時刻情報となる。また、演算処理部261の時刻同期機能ブロック266は他のスレーブコントローラのカウンタと時刻同期させる。さらに、割込発生機能ブロック267はロボットRB1を他のロボットRB2〜RB4と同期して動作させるための割込信号Syncを発生させる。
【0021】
通信部263、264はいずれもEthernetポートとして機能するものであり、通信部263はマスタコントローラ25の通信部253と接続されるとともに、通信部264は第1スレーブ制御装置3の通信部363とネットワークケーブル6で接続されている。これによって、マスタコントローラ25で作成されたパケットがスレーブコントローラ26を介して第1スレーブ制御装置3に送信され、第3スレーブ制御装置5で折り返されたパケットがスレーブコントローラ26を介してマスタコントローラ25に戻される。 次に、上記のように構成された制御システム1におけるロボットRB1〜RB4の制御方法について図3を参照しつつ説明する。
【0022】
図3図1に示す制御システムの制御方法を模式的に示す図である。制御システム1では、マスタ制御装置2の拡張ポート23にマスタボード24が装着され、第1スレーブ制御装置3の拡張ポート33に対してスレーブボード34が装着され、さらに第2スレーブ制御装置4および第3スレーブ制御装置5の各々に対してもスレーブボード34と同一構成のスレーブボードが拡張ポートに装着されている。そして、以下の説明する手順で制御システム1が装置各部を制御して、ロボットコントローラ21の記憶部212に記憶されたプログラムにしたがってロボットRB1〜RB4が同期して動作して所望の処理が実行される。
【0023】
当該プログラムは、制御システム1全体の動作を規定したものであり、予め記憶部212に記憶されている。このプログラムをロボットコントローラ21が記憶部212から読み出し、さらに当該プログラムに基づく演算処理を所定タイミング、例えば一定間隔で行うことで各ロボットRB1〜RB4を動作させるための動作指令を適宜作成する(図3中の演算処理)。
【0024】
これらの動作指令のうちロボットRB2〜RB4を駆動するモータドライバに与えるべき動作指令を書き込んだ、パケットをマスタコントローラ25が作成し(図3中のパケット作成)、送信する(図3中の送信)。当該パケットはマスタ制御装置2、スレーブ制御装置3〜5の順番で各スレーブコントローラを通過していく。また、パケットは第3スレーブ制御装置5で折り返され、スレーブ制御装置5〜3およびマスタ制御装置2の順番で各スレーブコントローラを通過してマスタ制御装置2のマスタコントローラ25に戻る。このように、EtherCATでは、これを「1サイクル」とし、各スレーブコントローラは、パケットの通過中にパケットの受信、パケットに対する入出力処理およびパケットの送信を行う。例えばスレーブ制御装置3のスレーブコントローラ36は上記入出力処理により第1スレーブ制御装置3に接続されたロボットRB2を駆動するための動作指令を受け取り、ロボットコントローラ31に与える。すると、ロボットコントローラ31は当該動作指令を後述する割込信号Syncを受け付けるまで保持する。なお、第2スレーブ制御装置4および第3スレーブ制御装置5においても、第1スレーブ制御装置3と同様の処理が実行される。これによって、ロボットコントローラ21の演算処理によって作成された動作指令が各スレーブ制御装置3〜5に与えられる。
【0025】
また、本実施形態では、マスタ制御装置2、スレーブ制御装置3〜5の各々にカウンタが設けられており、これらを利用して制御装置2〜5の時刻同期が行われる。すなわち、上記したサイクリックなパケットの伝達が一定間隔で行われ、各スレーブコントローラではパケットの通過の際に時刻情報(カウンタでのカウント値)をサンプリングする。そして、それらの時刻情報に基づいて各スレーブコントローラがカウンタのカウント値を更新して時刻同期処理を行う。
【0026】
さらに、各スレーブコントローラは時刻同期処理されたカウンタから出力される時刻情報(カウント値)に基づいて割込信号Syncをロボットコントローラに出力する。例えばマスタ制御装置2では、図3の最上欄に示すように、スレーブコントローラ26から出力された割込信号Syncに基づいてロボットコントローラ21は一時的に保持しているロボットRB1の動作指令をモータドライバ22に送ってロボットRB1の駆動を開始する。また、第1スレーブ制御装置3では、図3の上から2段目の欄に示すように、ロボットコントローラ31はパケットにより伝達されてきたロボットRB2の動作指令を一時的に保持しているが、スレーブコントローラ36からの割込信号Syncが受けると、上記動作指令をモータドライバ32に送ってロボットRB2の駆動を開始する。その他のスレーブ制御装置4、5においても、スレーブ制御装置3と同様の同期処理が行われる。こうして、ロボットRB1〜RB4は互いに同期して動作する。
【0027】
ここで、スレーブ制御装置3〜5の全てに動作指令が伝達されていない間に、割込信号Syncが出力されると、全ロボットRB1〜RB4を同期して動作させることができない。そこで、本実施形態では、演算処理により作成された動作指令を書き込んだパケットが第3スレーブ制御装置5で折り返されるタイミングT(図3参照)までの間、割込信号Syncの出力を禁止している。つまり、動作指令を書き込んだパケットの送信直後から少なくとも1サイクルの半分の時間が経過したタイミングTよりも後で割込信号Syncを出力するように構成している。これにより、各制御装置2〜5で割込信号Syncが発生した時点においては、各ロボットコントローラに対して動作指令が与えられており、ロボットRB1〜RB4の同期動作を確実に実行することができる。
【0028】
以上のように、本実施形態によれば、マスタ制御装置2は複数のロボットコントローラのうちの1台にマスタボード24を装着することでマスタ制御装置2として機能させている。つまり、マスタ制御装置2のロボットコントローラ21が記憶部212中のプログラムを解析して各ロボットRB1〜RB4の動作指令を作成するとともに、ロボットRB2〜RB4の動作指令についてはEtherCATによりスレーブ制御装置3〜5に与えている。また、各制御装置2〜5では、カウンタのカウント値(時刻情報)と動作指令に基づいてロボットRB1〜RB4が動作するが、各制御装置2〜5にはスレーブコントローラが設けられてカウント値の同期、つまり時刻同期が行われている。このように本実施形態の技術的特徴の一つは次の点にある。本実施形態では、スレーブ制御装置3〜5間での時刻同期は従来技術と同様にして行われているが、マスタ制御装置2にスレーブコントローラ26を設けてマスタ制御装置2とスレーブ制御装置3〜5との間で時刻同期を行うという特有の構成を設けている。このため、ロボットRB2〜RB4間のみならず、これらとロボットRB1とを容易に、しかも正確に同期して動作させることが可能となっている。
【0029】
また、本実施形態では、上記タイミングTを過ぎた後、つまり動作指令が全ロボットコントローラに行き渡った状態で各ロボットコントローラに割込信号Syncを出力している。そのため、ロボットRB1〜RB4の動作をより高精度に、かつ、より確実に同期させることが可能となっている。
【0030】
また、本実施形態では、スレーブ制御装置3〜5に接続されるロボットRB2〜RB4を動作させるためのプログラムを個別に作成し、予め記憶部に記憶させていく必要はなく、マスタ制御装置2のロボットコントローラ21に制御システム1全体の動作を記述したプログラムをロボットコントローラ21の記憶部212に書き込むことのみで複数台のロボットを動作させることができる。したがって、プログラムの作成、制御システム1の管理および動作をロボットコントローラ21へのアクセスのみで行うことができ、ユーザ負担を大幅に低減することができるとともに、プログラムのバックアップの容易化を図ることができる。
【0031】
図4は本発明にかかる制御システムの第2実施形態を構成するマスタ制御装置および第1スレーブ制御装置の構成を示すブロック図である。また、図5図4に示す制御システムの制御方法を模式的に示す図である。第2実施形態が第1実施形態と大きく相違する点は、マスタ制御装置2ではスレーブコントローラ26の構成がマスタコントローラ25に組み込まれており、マスタコントローラ25の演算処理部251は、第1実施形態中のカウンタ265、時刻同期機能ブロック266および割込発生機能ブロック267と同様の構成、つまりカウンタ255、時刻同期機能ブロック256および割込発生機能ブロック257を有している。また、通信部253はネットワークケーブル6により第1スレーブ制御装置3の通信部363と接続されてEthernetポートとして機能する。なお、その他の構成は第1実施形態と同一である。したがって、以下においては同一構成については、同一符号を付して構成説明を省略する。
【0032】
このように構成された制御システム1では、以下の説明する手順で制御システム1が装置各部を制御して、ロボットコントローラ21の記憶部212に記憶されたプログラムにしたがってロボットRB1〜RB4が同期して動作して所望の処理が実行される。
【0033】
ロボットコントローラ21は、予め記憶部212に記憶されているプログラムを読み出し、当該プログラムにしたがって演算処理を行い、各ロボットRB1〜RB4を制御するための動作指令を適宜作成する(図5中の演算処理)。
【0034】
これらの動作指令のうちロボットRB2〜RB4を駆動するモータドライバに与えるべき動作指令を書き込んだ、パケットをマスタコントローラ25が作成し(図5中のパケット作成)、送信する(図5中の送信)。当該パケットはスレーブ制御装置3〜5の順番で各スレーブコントローラを通過していく。また、パケットは第3スレーブ制御装置5で折り返され、スレーブ制御装置5〜3の順番でスレーブコントローラを通過してマスタ制御装置2のマスタコントローラ25に戻る。EtherCATでは、これを「1サイクル」とし、各スレーブコントローラは、パケットの通過中にパケットの受信、パケットに対する入出力処理およびパケットの送信を行う。また、スレーブ制御装置3〜5毎に、第1実施形態と同様に、スレーブコントローラは上記入出力処理により当該スレーブ制御装置に接続されるロボットを駆動するための動作指令を受け取り、ロボットコントローラに与える。なお、各ロボットコントローラは、当該動作指令を後述する割込信号Syncを受け付けるまで保持する。
【0035】
また、本実施形態においても、マスタ制御装置2、スレーブ制御装置3〜5の各々にカウンタが設けられており、これらを利用して制御装置2〜5の時刻同期が行われる。すなわち、上記したサイクリックなパケットの伝達が一定間隔で行われ、各スレーブコントローラではパケットの通過の際に時刻情報(カウンタでのカウント値)がサンプリングされる。そして、それらの時刻情報に基づいてスレーブ制御装置3〜5では各スレーブコントローラがカウンタのカウント値を更新して時刻同期処理を行うとともに、マスタ制御装置2では上記スレーブコントローラと同様に時刻同期機能ブロック266を有するマスタコントローラ25がカウンタ255のカウント値を更新して時刻同期処理を行う。
【0036】
さらに、各スレーブ制御装置3〜5では、第1実施形態と同様に、スレーブコントローラが時刻同期処理されたカウンタから出力される時刻情報(カウント値)に基づいて割込信号Syncをロボットコントローラに出力する。一方、マスタ制御装置2では、上記スレーブコントローラと同様に割込発生機能ブロック267を有するマスタコントローラ25が時刻同期処理されたカウンタから出力される時刻情報(カウント値)に基づいて割込信号Syncをロボットコントローラ21に出力する。
【0037】
こうした割込信号Syncをトリガーとして、第1実施形態と同様に、各制御装置2〜5では割込信号Syncに基づいてロボットコントローラがロボットの動作指令をモータドライバに送ってロボットの駆動を開始する。
【0038】
以上のように、第2実施形態においても、第1実施形態と同様に、マスタ制御装置2とスレーブ制御装置3〜5との間で時刻同期を行っており、全ロボットRB1〜RB4を容易に、しかも正確に同期して動作させることができる。また、上記タイミングTを過ぎた後、つまり動作指令が全ロボットコントローラに行き渡った状態で各ロボットコントローラに割込信号Syncを出力してロボット動作の開始を制御している。このため、ロボットRB1〜RB4の動作をより高精度に、かつ、より確実に同期させることが可能となっている。さらに、第2実施形態では、マスタコントローラ25にスレーブコントローラの機能を装備させているため、マスタボード24の構成を簡素化することができ、マスタボード24の小型化および低価格化が可能となっている。
【0039】
このように、上記第1実施形態および第2実施形態では、マスタ制御装置2に接続されるロボットRB1が本発明の「第1制御対象物」の一例に相当するとともにスレーブ制御装置3〜5に接続されるロボットRB2〜RB4が本発明の「第2制御対象物」の一例に相当している。また、上記第1実施形態および第2実施形態では、パケットが本発明の「制御情報」の一例に相当している。また、上記第1実施形態および第2実施形態では、マスタボード24が本発明の「拡張ボード」の一例に相当している。
【0040】
また、第1実施形態では、マスタ制御装置2のスレーブコントローラ26のカウンタ265が本発明の「第1時計部」の一例に相当するとともにスレーブ制御装置3〜5のスレーブコントローラのカウンタが本発明の「第2時計部」の一例に相当している。また、第1実施形態では、スレーブコントローラ26から出力される割込信号Syncが本発明の「第1割込信号」の一例に相当するとともにスレーブ制御装置3〜5のスレーブコントローラから出力される割込信号Syncが本発明の「第2割込信号」の一例に相当している。さらに、第1実施形態では、時刻同期機能ブロック266を有する演算処理部261が本発明の「時刻同期部」の一例に相当している。
【0041】
また、第2実施形態では、マスタ制御装置2のマスタコントローラ25のカウンタ255が本発明の「第1時計部」の一例に相当するとともにスレーブ制御装置3〜5のスレーブコントローラのカウンタが本発明の「第2時計部」の一例に相当している。また、第2実施形態では、マスタコントローラ25から出力される割込信号Syncが本発明の「第1割込信号」の一例に相当するとともにスレーブ制御装置3〜5のスレーブコントローラから出力される割込信号Syncが本発明の「第2割込信号」の一例に相当している。さらに、第2実施形態では、時刻同期機能ブロック256を有する演算処理部251が本発明の「時刻同期部」の一例に相当している。
【0042】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記第1実施形態および第2実施形態では、マスタボード24を拡張ポート23に装着することでマスタ制御装置2を構成しているが、図6に示すように、マスタ制御装置2においてマスタコントローラ25およびスレーブコントローラ26の構成をロボットコントローラ21に組み込んでもよい(第3実施形態)。この第3実施形態では、ロボットコントローラ21の演算処理部211が、EtherCAT通信機能ブロック、カウンタ、時刻同期機能ブロックおよび割込発生機能ブロックと同様の機能を有する。この場合、マスタ制御装置2の構成を簡素化することができ、マスタボード24の小型化および低価格化が可能となっている。なお、記憶部212は、プログラムの以外に、パケット作成用基本情報、時刻同期機構や割込発生機能に必要な各種データ等を記憶する。また、同図中の符号27は「通信部」であり、ネットワークケーブル6により第1スレーブ制御装置3の通信部363と接続されてEthernetポートとして機能する。
【0043】
また、上記実施形態では、マスタ制御装置2が有するカウンタ(第1時計部)のカウント値(時刻情報)と、スレーブ制御装置3〜5が有するカウンタ(第2時計部)のカウント値(時刻情報)とに基づいて時計部の時刻同期を行っている。すなわち、第1時計部および第2時計部のうちの一の時計部を基準時計部とし、これ以外の時計部を基準時計部に対して時刻同期させている。例えば第1実施形態では、マスタ制御装置2が有するカウンタ(スレーブコントローラ26のカウンタ265)を基準時計部とし、スレーブ制御装置3〜5が有するカウンタのカウント値と基準時計部のカウント値との差をサイクリックに計算し、当該差に基づいてカウント値を更新することで時刻同期を行うことができる。また、第2実施形態や第3実施形態では、スレーブ制御装置3〜5のうち最もマスタ制御装置2に近接する第1スレーブ制御装置3が有するカウンタ365を基準時計部とし、その他のカウンタを時刻同期させることができる。
【0044】
また、上記実施形態では、スレーブ制御装置を3台設けているが、スレーブ制御装置の個数はこれに限定されるものではなく、「1」、「2」あるいは「4」以上であってもよい。
【0045】
また、上記実施形態では、同一構成のロボットRB1〜RB4を制御対象物とする制御システム1に対して本発明を適用しているが、本発明の適用対象はこれに限定されるものではなく、制御対象物の組み合わせは任意である。例えばリニアコンベアおよびロボットをそれぞれ第1制御対象物および第2制御対象物とする制御システムに対して本発明を適用することで、リニアコンベアで搬送されるワークにロボットを並走させながらワークへの作業を良好に行うことも可能となる。さらに、第1制御対象物および第2制御対象物の提供メーカが異なる場合であっても、上記制御システム1を用いることで複数の制御対象物を良好に同期させながら連携して動作させることができ、上記制御システム1は優れた汎用性を有している。
【産業上の利用可能性】
【0046】
この発明は、マスタ制御装置により第1制御対象物を制御するとともに、当該マスタ制御装置とネットワークを介して接続されるスレーブ制御装置により第1制御対象物と異なる第2制御対象物を制御する制御技術全般に適用することができる。
【符号の説明】
【0047】
1…制御システム
2…マスタ制御装置
3…第1スレーブ制御装置
4…第2スレーブ制御装置
5…第3スレーブ制御装置
6…ネットワークケーブル
24…マスタボード(拡張ボード)
25…マスタコントローラ
34…スレーブボード
255…カウンタ(第1時計部)
265,365…カウンタ(第2時計部)
256,266,366…時刻同期機能ブロック(時刻同期部)
253,264…通信部
RB1…ロボット(第1制御対象物)
RB2、RB3、RB4…ロボット(第2制御対象物)
Sync…割込信号
T…タイミング
図1
図2
図3
図4
図5
図6