JP6969283B2 - 制御システム - Google Patents

制御システム Download PDF

Info

Publication number
JP6969283B2
JP6969283B2 JP2017206492A JP2017206492A JP6969283B2 JP 6969283 B2 JP6969283 B2 JP 6969283B2 JP 2017206492 A JP2017206492 A JP 2017206492A JP 2017206492 A JP2017206492 A JP 2017206492A JP 6969283 B2 JP6969283 B2 JP 6969283B2
Authority
JP
Japan
Prior art keywords
network
command
control
teaching
drive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017206492A
Other languages
English (en)
Other versions
JP2019079344A (ja
Inventor
光宏 米田
嘉英 田村
英彦 関本
拓 大谷
祥実 丹羽
純児 島村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2017206492A priority Critical patent/JP6969283B2/ja
Priority to EP18193442.3A priority patent/EP3483684B1/en
Priority to CN201811059543.5A priority patent/CN109709929B/zh
Priority to US16/129,827 priority patent/US20190121335A1/en
Publication of JP2019079344A publication Critical patent/JP2019079344A/ja
Application granted granted Critical
Publication of JP6969283B2 publication Critical patent/JP6969283B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/0405Programme-control specially adapted for machine tool control and not otherwise provided for
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39448Same teach pendant connects to many robot controllers over network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Description

本開示は、ネットワーク接続される複数の駆動機器の各々に対して、対応する制御対象の動作を教示するための技術に関する。
複数のロボットをそれぞれ制御する複数のロボットコントローラを備えるロボットシステムにおいては、従来、各々のロボットコントローラに対して1つの教示装置(典型的には、ティーチングペンダント)が使用される(例えば、特開2000−288976号公報(特許文献1参照)。そのため、複数のロボットに対して教示を行なう場合、ユーザは、教示対象のロボットコントローラに応じて教示装置を持ち替える必要があり、作業効率が低い。
このようなロボットシステムとして、例えば、特開2017−77606号公報(特許文献2)は、複数のロボットコントローラが接続されるネットワークに教示装置を接続し、各ロボットコントローラからの接続要求に応答して、いずれか1つのロボットコントローラと教示装置とを選択的に通信できるように、教示装置の通信先を切り替えることができるロボットシステムを開示する。
また、特開2006−130577号公報(特許文献3)は、複数台のロボットと、該複数台のロボットのうち1台以上を制御するロボット制御装置と、ロボット制御装置に接続される教示装置とからなるロボットシステムを開示する。
特開2000−288976号公報 特開2017−77606号公報 特開2006−130577号公報
上述の特許文献2に開示された構成においては、1つの教示装置で複数のロボットに対する教示を行なうことができるものの、教示対象のロボットコントローラに応じて教示装置の通信先を切り替える必要がある。また、1回の教示において教示可能なロボットコントローラは1つであるため、ユーザは、ロボットコントローラの数だけ教示を繰返し行なう必要がある。そのため、依然として作業効率が低いという課題がある。
また、ロボットシステムにおいて、動作タイミングを互いに同期させることが必要である複数のロボットについては、これら複数のロボットを同時に動作させて教示を行なうことが要求されることがある。しかしながら、上述の特許文献2に開示された構成では、このような要求に応えることができない。
上述の特許文献3に開示された構成においては、ロボット制御装置に接続されるロボットの台数が、ロボット制御装置のハードウェアに制約されることが懸念される。また、ロボット制御装置に接続されるロボットの機種についても、ロボット制御装置のハードウェアに制約されるという課題がある。
本開示は、このような課題の解決に向けられており、その一つの目的は、ネットワーク接続される複数の駆動機器に対して、単一の教示装置を用いて、対応する制御対象の動作を同時に教示することができる制御システムを提供することである。
本開示の一例では、複数の制御対象を制御するための制御システムが提供される。制御システムは、ネットワークに接続され、複数の制御対象をそれぞれ駆動する複数の駆動機器と、ネットワークを介して複数の駆動機器を制御する制御装置と、複数の駆動機器に対して、対応する制御対象の動作を教示するための教示装置とを備える。教示装置は、ネットワークを介して、複数の駆動機器のうち少なくとも1つの駆動機器に対して、対応する制御対象を駆動するための指令を送信する。
この開示によれば、複数の駆動機器およびこれらを制御する制御装置がネットワーク接続されてなる制御システムにおいて、教示装置は、ネットワークを利用して、複数の駆動機器に対して指令を同時に送信することができる。これにより、単一の教示装置によって、複数の駆動機器に対して同時に教示を行なうことができる。したがって、教示対象の駆動機器を1つずつ選択して教示を行なう従来の構成に比べて、作業効率を向上させることができる。また、複数の駆動機器は、いわゆる産業用ネットワークに接続されるため、従来の構成のように、接続可能な駆動機器の台数が制御装置のハードウェアに制約されることがない。駆動機器の機種についても、産業用ネットワークに接続可能な機種であれば接続することができるため、制御装置のハードウェアに制約されることがない。また、この開示によれば、教示装置は、複数の駆動機器に対して同時に指令を与えることができるため、動作タイミングを互いに同期させることが必要である複数の駆動機器を同時に動作させて教示を行なうことが可能となる。
上述の開示において、教示装置は、複数の駆動機器のうち第1の駆動機器と通信線を介して接続され、複数の駆動機器のうち第2の駆動機器に対する指令を、第1の駆動機器に出力する。第1の駆動機器は、第2の駆動機器に対する指令を、ネットワークを介して第2の駆動機器へ送信する。
この開示によれば、教示装置は、ネットワークを利用して、複数の駆動機器の各々に対して指令を送信することができる。
上述の開示において、教示装置は、ネットワークに接続され、ネットワークを介して対象の駆動機器に対して、対応する制御対象を駆動するための指令を送信する。
この開示によれば、教示装置は、ネットワークを利用して、複数の駆動機器の各々に対して指令を送信することができる。
上述の開示において、制御装置は、ネットワークを介して教示装置が送信した指令を収集し、収集した指令を、ネットワークを介して対象となる駆動機器に対して送信する。
この開示によれば、教示装置は、ネットワーク上で行なわれる制御装置と各駆動機器との間のデータの遣り取りを利用して、複数の駆動機器の各々に対して指令を送信することができる。
上述の開示において、制御装置は、収集した指令を、通信フレームの対象の駆動機器に割当てられている領域に格納し、ネットワークを介して前記通信フレームを送出する。対象の駆動機器は、通信フレームを受信すると、対象の駆動機器に割当てられている領域に格納されている指令を読出す。
この開示によれば、通信フレームを利用して、対象の駆動機器に対して指令を送信することができる。
上述の開示において、制御装置および複数の駆動機器の各々は、互いに時刻同期したタイマを有している。制御装置は、タイマが管理する時刻を基準として、複数の駆動機器の各々において受信された指令に対応する信号を出力する同期タイミングを決定する。
この開示によれば、教示装置は、複数の駆動機器に対して同時に指令を与えることができるため、動作タイミングを互いに同期させることが必要である複数の駆動機器を同時に動作させて教示を行なうことが可能となる。
上述の開示において、制御装置および複数の駆動機器の各々は、互いに時刻同期したタイマを有している。制御装置は、ネットワークを介して所定周期毎に通信フレームを送出する。教示装置は、通信フレームが伝送されていない期間において、対象の駆動機器に対する指令を送信するとともに、対象の駆動機器において受信された指令に対応する信号を出力するタイミングを指示する。
この開示によれば、教示装置は、メッセージ通信を利用して、対象の駆動機器に対して指令を送信することができる。このとき、対象の駆動機器に対して、指令に対応する信号を出力するタイミングを通知することで、複数の駆動機器の間で出力タイミングを同期させることができる。
上述の開示において、複数の駆動機器のうち第1の駆動機器は、教示装置から、対応する第1の制御対象を駆動するための指令を受信した場合、指令を実行することによる第1の制御対象と第2の制御対象との間の衝突可能性を判定する。衝突可能性があると判定されたときには、第1の駆動機器は、指令の実行を中止するとともに、教示装置に対して指令が実行不可であることを通知する。
この開示によれば、制御装置および複数の駆動機器間は、ネットワークを介してデータを遣り取りすることができるため、教示装置から対象の駆動機器に対して指令が与えられた場面において、対象の駆動機器は、自機器と他の駆動機器との相対的な位置関係に基づいて両者間の衝突可能性を判定することができる。さらに、衝突可能性があると判定された場合には、対象の駆動機器は、衝突を回避するための処理を実行することができる。
上述の開示において、複数の駆動機器のうち第1の駆動機器は、教示装置から、対応する第1の制御対象を駆動するための指令を受信した場合、指令を実行することによる第1の制御対象と第2の制御対象との間の衝突可能性を判定する。衝突可能性があると判定されたときには、第1の駆動機器は、ネットワークを介して、制御装置に対して、第2の制御対象を駆動する第2の駆動機器に対する衝突回避指令を送信する。制御装置は、衝突回避指令を受信したときには、第2の制御対象の補正位置を含む指令を、ネットワークを介して第2の駆動機器に送信する。
この開示によれば、制御装置および複数の駆動機器間は、ネットワークを介してデータを遣り取りすることができるため、教示装置から対象の駆動機器に対して指令が与えられた場面において、対象の駆動機器は、自機器と他の駆動機器との相対的な位置関係に基づいて両者間の衝突可能性を判定することができる。さらに、衝突可能性があると判定された場合には、制御装置と第1および第2の駆動機器とが互いに連系して、衝突を回避するための処理を実行することができる。
上述の開示において、制御システムは、ネットワークに接続され、複数の制御対象を撮像するように配置された撮像部を有する視覚センサをさらに備える。教示装置は、視覚センサからネットワークを介して伝送される、撮像部によって撮像された画像を表示する表示部と、対象の駆動機器に対する指令を入力する操作を受け付ける操作部とを含む。
この開示によれば、教示装置は、ネットワークに接続された視覚センサから制御対象の挙動を撮像した画像を受信して表示させることができる。これにより、ユーザは、教示装置に表示された、制御対象の機械または設備の挙動を監視しながら、制御対象の駆動機器に対して指令を与えることができる。これにより、ユーザは、目視が困難な制御対象の挙動についても駆動機器に教示させることができる。
上述の開示において、教示装置は、停止指令を入力する操作を受け付ける操作部を含み、ネットワークを介して、複数の駆動機器のうち少なくとも1つの駆動機器に対して停止指令を送信する。
この開示によれば、非常時に教示装置から発せられた停止指令を、ネットワークを介して、複数の駆動機器に出力することができる。これにより、複数の駆動機器を緊急停止させることができる。教示装置は、また、予め設定された特定の駆動機器のみに対して停止指令を出力することで、特定の駆動機器のみを緊急停止させることもできる。
上述の開示において、制御システムは、ネットワークに接続され、複数の制御対象の状態を検知するセンサデバイスをさらに備える。教示装置は、ネットワークを介して、センサデバイスの出力値を受信する。
この開示によれば、ユーザは、教示装置を用いて制御対象を移動させた際に、制御対象の挙動に対してセンサデバイスが正しい値を出力することを確認することができる。
本開示の一例によれば、ネットワーク接続される複数の駆動機器に対して、単一の教示装置を用いて、対応する制御対象の動作を同時に教示することができる制御システムを提供できる。
本実施の形態に係る制御システムの適用場面の一例を示す模式図である。 図1に示したティーチングペンダントの構成例を示す模式図である。 本実施の形態に係る制御システムのハードウェア構成例を示すブロック図である。 本実施の形態に係る制御システムにおけるデータ通信の第1の構成例を説明するための模式図である。 本実施の形態に係る制御システムにおけるデータ通信の第2の構成例を説明するための模式図である。 本実施の形態に係る制御システムにおけるデータ通信の第3の構成例を説明するための模式図である。 本実施の形態に係る制御システムにおけるデータ通信の第4の構成例を説明するための模式図である。 本実施の形態に係る制御システムにおいて用いられるI/Oリフレッシュフレームのデータ構造の一例を示す模式図である。 制御装置から駆動機器に対して指令を出力するために必要な処理を説明するための図である。 本実施の形態に係る制御システムが提供する出力タイミング同期機能について説明するための模式図である。 本実施の形態に係る制御システムが提供する出力タイミング同期機能に係る各部の処理(その1)を示すタイミングチャートである。 本実施の形態に係る制御システムにおける出力タイミング同期機能に係る処理手順(その2)を示すフローチャートである。 ティーチングペンダントからの指令がメッセージ通信される例を示す模式図である。 メッセージ通信を用いた、出力タイミング同期機能について説明するための模式図である。 本実施の形態に係る制御システムにおける緊急停止処理の一例を示す模式図である。 本実施の形態に係る制御システムにおける緊急停止処理の別の例を示す模式図である。 本実施の形態に係る制御システムにおける動作確認処理の一例を示す模式図である。 本実施の形態に係る制御システムが提供する衝突回避機能について説明するための模式図である。 本実施の形態に係る制御システムにおける他ロボット回避モードを説明するための模式図である。 本実施の形態に係る制御システムにおける衝突回避機能の処理手順を示すフローチャートである。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分について、同一符号を付してその説明は繰返さない。
<A.適用例>
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る制御システム1の適用場面の一例を示す模式図である。図1には、制御装置100を中心とした制御システム1を示す。
制御装置100は、各種の設備や装置などの制御対象を制御する産業用コントローラに相当する。制御装置100は、後述するような制御演算を実行する一種のコンピュータであり、典型的には、PLC(プログラマブルコントローラ)として具現化されてもよい。制御装置100は、フィールドネットワーク2などを介して各種のフィールド機器500と接続されてもよい。制御装置100は、フィールドネットワーク2を介して、1または複数のフィールド機器500との間でデータを遣り取りする。一般的に「フィールドネットワーク」は、「フィールドバス」とも称されるが、説明の簡素化のため、以下の説明においては、「フィールドネットワーク」と総称する。
制御装置100において実行される制御演算は、フィールド機器500において収集または生成されたデータ(以下、「入力データ」とも称す。)を収集する処理(入力処理)、フィールド機器500に対する指令などのデータ(以下、「出力データ」とも称す。)を生成する処理(演算処理)、生成した出力データを対象のフィールド機器500へ送信する処理(出力処理)などを含む。
フィールドネットワーク2は、データの到達時間が保証される、定周期通信を行なうバスまたはネットワークを採用することが好ましい。このような定周期通信を行なうバスまたはネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
このようなフィールドデータの転送を実現するにあたっては、データ転送に関係する各部が互いに時刻同期されたタイマを有する構成を想定する。すなわち、バスまたはネットワークにおいて、各部は、互いに時刻同期されたタイマを用いて指定されるタイミングで、データの送信または受信を行なう。
フィールドネットワーク2には、任意のフィールド機器500を接続することができる。フィールド機器500は、製造装置や生産ラインなど(以下、「フィールド」とも総称する。)に対して何らかの物理的な作用を与えるアクチュエータ、および、フィールドとの間で情報を遣り取りする入出力装置などを含む。
フィールドネットワーク2を介して、制御装置100とフィールド機器500との間でデータが遣り取りされることになるが、これらの遣り取りされるデータは、数100μsecオーダ〜数10msecオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理は、入出力リフレッシュ処理とも称される。
図1に示す構成例において、フィールド機器500は、リモートI/O(Input/Output)装置510、サーボドライバ520およびサーボモータ522と、ロボットコントローラ530およびロボット532,534と、視覚センサ540とを含む。フィールド機器500は、これらに限られることなく、入力データを収集する任意のデバイス、出力データに従う何らかの作用を与える任意のデバイスなどを採用することができる。
リモートI/O装置510は、入力リレーや各種センサ(例えば、アナログセンサ、温度センサ、振動センサなど)などの入力データを収集する装置、および、出力リレー、コンタクタ、サーボドライバ、および、その他任意のアクチュエータなどのフィールドに対しても何らかの作用を与える装置が接続される。
サーボドライバ520は、制御装置100からの出力データ(例えば、位置指令や速度指令など)に従って、サーボモータ522を駆動する。
ロボットコントローラ530は、制御装置100からの位置指令などに従って、軌道計算および各軸の角度計算などを行なうとともに、計算結果に従って、ロボット532,534を構成するサーボモータなどを駆動する。図1に示す構成例において、ロボット532はパラレルロボットであり、ロボット534は、多関節ロボットである。なお、ロボットとしては、図1に示す機構に限らず任意の機構を採用できる。また、説明の便宜上、ロボットコントローラ530とロボット532,534とが分離した構成を例示するが、これに限らず両者を一体化してもよい。
視覚センサ540は、制御対象の機械または設備およびワークなどの被写体を撮像するための撮像部542と、撮像部542によって撮像された画像を処理するための画像処理部(図示せず)とを一体的に構成したものである。ただし、撮像部542と画像処理部とを別体として構成してもよい。
制御装置100は、上位ネットワーク3を介して、他の装置にも接続されている。上位ネットワーク3には、一般的なネットワークプロトコルであるイーサネット(登録商標)やEtherNet/IP(登録商標)が採用されてもよい。より具体的には、上位ネットワーク3には、1または複数のサーバ装置300および1または複数の表示装置400が接続されてもよい。
サーバ装置300としては、データベースシステム、製造実行システム(MES:Manufacturing Execution System)などが想定される。これに限らず、情報系サービスを提供する装置を上位ネットワーク3に接続するようにしてもよい。情報系サービスとしては、制御対象の製造装置や設備からの情報を取得して、マクロ的またはミクロ的な分析などを行なう処理が想定される。
表示装置400は、ユーザからの操作を受けて、制御装置100に対してユーザ操作に応じたコマンドを出力するとともに、制御装置100での演算結果などをグラフィカルに表示する。
ロボット532,534の駆動機器であるロボットコントローラ530、およびサーボモータ522の駆動機器であるサーボドライバ520には、ティーチングペンダント200が接続可能となっている。ティーチングペンダント200は、駆動機器に対して、制御対象の機械や設備の動作を教示するための装置である。具体的には、ティーチングペンダント200は、視覚センサ540からの画像データや駆動機器からの制御対象の動作状態などを表示するとともに、ユーザからの操作に応答して、駆動機器へ各種の指令を与える。ユーザは、ティーチングペンダント200の表示を参照しながらティーチングペンダント200を操作することにより、キャリブレーションなどに必要な位置に制御対象を移動させることができる。
図1に示す構成例においては、ティーチングペンダント200は、ロボット534を駆動するロボットコントローラ530に接続されている。ロボットコントローラ530とティーチングペンダント200との通信にはシリアル通信が用いられる。なお、パラレル通信を用いてもよい。ティーチングペンダント200とロボットコントローラ530との接続に用いられる通信線は、一例として送信用と受信用との2本である。
ティーチングペンダント200は、ロボットコントローラ530に対してユーザ操作に応じた指令などを出力する。この指令には、ロボットコントローラ530の制御対象であるロボット534の目標位置を示す位置指令や、ロボット534の目標速度を示す速度指令などが含まれる。
本実施の形態に係る制御システム1において、ティーチングペンダント200は、さらに、フィールドネットワーク2に接続される少なくとも1つの駆動機器に対して、フィールドネットワーク2を経由して指令を出力することができる。図1には、ティーチングペンダント200の接続先である駆動機器(ロボットコントローラ530)以外の複数の駆動機器(ロボットコントローラ530およびサーボドライバ520)に向けて指令を出力する場合が例示されている。このような場合、ティーチングペンダント200から出力された指令は、接続先の駆動機器(ロボットコントローラ530)を経由してフィールドネットワーク2に出力される。そして、当該指令は、フィールドネットワーク2を介して各駆動機器へ送信される。
すなわち、ティーチングペンダント200は、フィールドネットワーク2を利用して複数の駆動機器(ロボットコントローラ530およびサーボドライバ520)に対して同時に指令を出力することができる。これによれば、ユーザは、単一のティーチングペンダント200によって、フィールドネットワーク2に接続される複数の駆動機器に対して、対応する制御対象の動作を同時に教示することが可能となる。
ティーチングペンダント200は、また、視覚センサ540の撮像部542で撮像された画像を、フィールドネットワーク2および、接続先の駆動機器(ロボットコントローラ530)を経由して受信する。ティーチングペンダント200は、受信した画像を表示部に表示することができる。
図2は、図1に示したティーチングペンダント200の構成例を示す模式図である。
図2を参照して、ティーチングペンダント200は、操作部204および表示部203を有する。操作部204は、ユーザが操作する各種キーを含み、ユーザからティーチングペンダント200に対する指示を含む入力を受け付ける。操作部204には、サーボモータ522およびロボット532,534を緊急停止できる非常停止ボタン205が含まれる。
表示部203は、例えば、LCD(Liquid Crystal Display)または有機EL(Electro Luminescence)を含み、ユーザのキー操作に対応した画像を表示する。表示部203はさらに、視覚センサ540の撮像部542で撮像された画像を表示することができる。図2に示す構成例では、表示部203は、制御対象の機械または設備の動作状態を表示する領域RE1と、制御対象に対する指令を表示する領域RE2と、視覚センサ540の撮像部542によって撮像された画像を表示する領域RE3とを有する。
すなわち、ティーチングペンダント200は、制御対象の機械または設備に対する指令を実行するとき、同一画面において、制御対象の挙動を表示し、制御対象に対する指令を表示するよう、表示部203を制御することができる。これにより、ユーザは、同一画面において、制御対象の挙動と、当該挙動を実現している指令とを確認することができる。ユーザは、さらに、操作部204を操作して制御対象の位置を登録することができる。ユーザは、また、操作部204を操作して、制御対象に対する指令を入力することにより、制御対象の動作や作業をプログラムすることができる。
ティーチングペンダント200は、「教示装置」の一実施例に対応する。なお、教示装置としては、図1および図2に示す構成に限らず、任意の構成を採用できる。また、図1および図2では、駆動機器と教示装置とが分離した構成を例示するが、これに限らず両者を一体化してもよい。すなわち、駆動機器に教示装置が内蔵されていてもよい。
<B.制御システムのハードウェア構成例>
次に、本実施の形態に係る制御システム1のハードウェア構成例について説明する。
図3は、本実施の形態に係る制御システム1のハードウェア構成例を示すブロック図である。制御システム1は、制御装置100と、フィールドネットワーク2を介して接続される複数のフィールド機器500を備える。本実施の形態においては、フィールド機器500として、リモートI/O装置510と、サーボドライバ520およびサーボモータ522と、ロボットコントローラ530およびロボット532,534と、視覚センサ540とを含む。
制御装置100は、主たるコンポーネントとして、プロセッサ102と、メモリ104と、ストレージ106と、通信I/F(インターフェイス)110とを含む。これらのコンポーネントはバス109を介して接続されている。
プロセッサ102は、ストレージ106に格納されているシステムプログラム107およびユーザアプリケーションプログラム108をメモリ104に読み出して実行することで、各種処理を実現する。メモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置からなる。ストレージ106は、ハードディスクやフラッシュメモリなどの不揮発性記憶装置からなる。ストレージ106には、制御装置100の各部を制御するためのシステムプログラム107に加えて、制御対象などに応じて設計されるユーザアプリケーションプログラム108が格納される。通信I/F110は、他の装置から受信したデータを別の装置へ転送する送受信回路に相当する。通信I/F110は、フィールドネットワーク2に接続される通信ポートを含んでいる。
リモートI/O装置510は、通信制御部511と、通信I/F512とを含む。通信制御部511は、制御装置100とリモートI/O装置510に接続される1または複数の装置との間で要求を仲介する。例えば、制御装置100からの通信要求に応答して、1または複数の装置に対して、出力データの送信を要求する。
サーボドライバ520は、サーボ制御部525と、通信I/F526とを含む。サーボ制御部525は、制御装置100またはティーチングペンダント200からの指令に基づいて、対応するサーボモータ522に対して出力するコマンドを生成し、生成したコマンドに従って、対応するサーボモータ522を制御する。サーボモータ522の回転軸にはエンコーダ(図示せず)が設けられている。当該エンコーダは、サーボモータ522の位置(回転角度)、回転速度、累積回転数などをサーボ制御部525にフィードバックする。サーボ制御部525は、サーボモータ522の目標位置および目標回転速度などを送信するインターフェイスと、サーボモータ522の現在位置および現在の回転速度などを受信するインターフェイスとを有している。
通信I/F526は、他の装置から受信したデータを別の装置へ転送する送受信回路に相当する。通信I/F526は、後述するように、フィールドネットワーク2に接続される通信ポートを含んでいる。
ロボットコントローラ530は、ロボット制御部535と、通信I/F536とを含む。ロボット制御部535は、制御装置100またはティーチングペンダント200からの指令に基づいて、対応するロボットに対して出力するコマンドを生成し、生成したコマンドに従って、対応するロボットを制御する。具体的には、ロボット制御部535には、1または複数のサーボドライバが内蔵されており、各サーボドライバは、対応するサーボモータを制御する。サーボモータの回転軸にはエンコーダ(図示せず)が設けられている。当該エンコーダは、サーボモータの位置(回転角度)、サーボモータの回転速度、サーボモータの累積回転数などを、対応するサーボドライバにフィードバックする。なお、当該サーボドライバは、ロボットコントローラ530に必ずしも内蔵されている必要はなく、ロボットコントローラ530と別に設けられてもよい。
視覚センサ540は、撮像部542と、画像処理部544とを含む。撮像部542は、撮像範囲に存在する被写体を撮像する装置であり、主たる構成要素として、レンズや絞りなどの光学系と、CCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどの受光素子とを含む。撮像部542は、画像処理部544からの指令に従って撮像するとともに、その撮像によって得られた画像データを画像処理部544へ出力する。
画像処理部544は、撮像制御部546と、通信I/F548とを含む。これらのコンポーネントは図示しないバスを介して互いにデータ通信可能に接続されている。撮像制御部546は、撮像部542における撮像動作を制御する。撮像制御部546は、撮像部542に対して各種コマンドを送信するインターフェイスと、撮像部542からの画像データを受信するインターフェイスとを有している。通信I/F548は、制御装置100との間で各種データを遣り取りする。
ティーチングペンダント200は、制御部201と、通信I/F202と、表示部203と、操作部204とを含む。図2に示したように、操作部204は、ユーザからの所望の駆動機器に対する指令を含む入力を受け付ける。
制御部201は、ユーザが操作部204に対して入力した情報を受け付ける。所望の駆動機器に対する指令を受け付けると、制御部201は、当該指令に基づいて当該駆動機器を制御するための指令(位置指令および速度指令など)を生成し、その生成した指令を、接続先の駆動機器(ロボットコントローラ530)に対して出力する。接続先の駆動機器(ロボットコントローラ530)は、ティーチングペンダント200で生成された指令を受け入れると、その指令を所望の駆動機器に向けて出力する。
制御部201はまた、接続先の駆動機器(ロボットコントローラ530)を介して視覚センサ540から出力される画像データを受け付けて、表示部203へ出力する。表示部203は、図2に示したように、制御部201から出力される画像データに従う画像を表示する。
通信I/F202は、ティーチングペンダント200が接続先の駆動機器(ロボットコントローラ530)を含む外部の機器と通信するためのインターフェイスである。
<C.制御システムにおけるデータ通信>
次に、本実施の形態に係る制御システム1におけるデータ通信について説明する。
図4は、本実施の形態に係る制御システム1におけるデータ通信の第1の構成例を説明するための模式図である。
図4を参照して、制御装置100および複数のフィールド機器500は、フィールドネットワーク2を介してデイジーチェーンで接続されている。制御システム1におけるデータ通信において、制御装置100は、ネットワーク内のデータ伝送を管理するマスターとして機能し、複数のフィールド機器500の各々は、マスターからの指令に従ってデータ伝送を行なうスレーブとして機能する。以下の説明では、複数のフィールド機器500をそれぞれ、スレーブ♯01〜♯05・・・とも称する。ただし、制御装置100および複数のフィールド機器500の接続態様は、デイジーチェーンに限定されず、ツリー接続またはスター接続のような他の接続態様であってもよい。
制御装置100(マスター)における通信I/F110は、フィールドネットワーク2を介して、複数のフィールド機器500とデータを送受信する通信回路に相当する。通信I/F110は、複数のフィールド機器500が収集または生成したデータ(入力データ)を受信し、制御装置100により取得または生成されたデータ(出力データ)を複数のフィールド機器500へ送信する。
具体的には、通信I/F110は、フィールドネットワーク2と物理的に接続され、フィールドネットワーク2上に通信フレームを送信するとともに、フィールドネットワーク2上を伝送される通信フレームを受信してプロセッサ102(図2参照)へ出力する。通信I/F110は、フィールドネットワーク2を介したデータの遣り取りに加えて、フィールドネットワーク2上を転送される通信フレームの到着時間を保証するための時間管理および送受信タイミング管理などを行なう機能を有している。
フィールドネットワーク2上では、予め定められたデータ構造を有する通信フレームが所定周期で順次転送されてもよく、制御装置100およびフィールド機器500の各々は、順次転送される通信フレームに対して、指定されたデータを指令された領域に書込み、および、必要なデータを対応する領域から読出す。
より具体的には、通信I/F110は、通信ポート114と、送受信コントローラ116と、タイマ112とを含む。通信ポート114は、フィールドネットワーク2と物理的に接続される部位であり、送受信コントローラ116からの指令に従って電気信号を生成して、フィールドネットワーク2上に送信するとともに、フィールドネットワーク2上に生じる電気信号をデジタル信号に変換して送受信コントローラ116へ出力する。
送受信コントローラ116は、フィールドネットワーク2上を転送される通信フレームの生成および受信に関する処理を行なう。
タイマ112は、送受信コントローラ116から通信フレームなどの送信などを指示するタイミングの基準となるパルスを発生する。タイマ112は、リアルタイムクロックを採用することもできるが、本実施の形態においては、所定周期でカウントアップ(インクリメント)するフリーランカウンタが用いられる。フリーランカウンタが出力するカウンタ値をある時点からの経過時間として扱うことで、現在時刻を計算でき、これによってタイマとして機能させることができる。
フィールド機器500(スレーブ)の各々において、通信I/F502は、フィールドネットワーク2を順次転送される通信フレームを処理する。すなわち、通信I/F502は、フィールドネットワーク2を介して何らかの通信フレームを受信すると、当該受信した通信フレームに対するデータ書込みおよび/またはデータ読出しを行なった後に、フィールドネットワーク2上において次に位置するフィールド機器500へ当該通信フレームを送信する。通信I/F502は、このようなフレームリレーの機能を提供する。
より具体的には、通信I/F502は、通信ポート504,505と、送受信コントローラ506と、タイマ503とを含む。通信ポート504,505は、フィールドネットワーク2と物理的に接続される部位であり、送受信コントローラ506からの指令に従って、フィールドネットワーク2上を伝送される通信フレームの受信および再生などの処理を行なうことで、通信フレームの順次転送を実現する。
送受信コントローラ506は、フィールドネットワーク2上を転送される通信フレームに対するデータ書込みおよび/またはデータ読出しを行なう。
タイマ503は、送受信コントローラ506による指令出力やフィールド情報の収集などのタイミングの基準となるクロックを発生する。タイマ503としては、リアルタイムクロックを採用することもできるが、本実施の形態においては、所定周期でカウントアップ(インクリメント)するフリーランカウンタが用いられる。
複数のフィールド機器500のうち、制御対象の駆動機器を構成するフィールド機器500には、ティーチングペンダント200が接続されている。図4の構成例では、「スレーブ♯01」に相当するフィールド機器500にティーチングペンダント200が接続されている。スレーブ♯01は、例えばロボットコントローラまたはサーボドライバである。スレーブ♯01における通信I/F502は、通信ポート508をさらに含む。
ティーチングペンダント200において、通信I/F202は、通信ポート206および送受信コントローラ208を含む。通信ポート202は、通信線509を介してスレーブ♯01における通信ポート508と接続されている。通信線509は、シリアル通信方式およびパラレル通信方式のいずれであってもよく、また、バスおよびネットワークのいずれであってもよい。送受信コントローラ208は、通信線509を介してスレーブ♯01との間のデータの遣り取りを制御する。
<D.ティーチングペンダントの接続態様>
次に、フィールドネットワーク2に対するティーチングペンダント200の接続態様について説明する。ティーチングペンダント200の接続態様は、図4に示す接続態様に限定されず、図5から図7に示すような接続態様を採用することができる。
図5は、本実施の形態に係る制御システム1におけるデータ通信の第2の構成例を説明するための模式図である。
図5に示す第2の構成例は、図4に示す第1の構成例に対して、ティーチングペンダント200の接続態様が異なる。図5では、ティーチングペンダント200は、制御装置100および複数のフィールド機器500に対して、フィールドネットワーク2を介してデイジーチェーンで接続されている。すなわち、ティーチングペンダント200は、データ通信においてスレーブとして機能し得る。図5に示す例では、ティーチングペンダント200は、スレーブ♯04を構成する。
ティーチングペンダント200は、通信I/F202として、通信ポート206,207と、送受信コントローラ208と、タイマ209とを含む。通信ポート206,207は、フィールドネットワーク2と物理的に接続される部位であり、送受信コントローラ208からの指令に従って、フィールドネットワーク2上を伝送される通信フレームの受信および再生などの処理を行なうことで、通信フレームの順次転送を実現する。
送受信コントローラ208は、フィールドネットワーク2上を転送される通信フレームに対するデータ書込みおよび/またはデータ読出しを行なう。
タイマ209は、送受信コントローラ208による指令出力やフィールド情報の収集などのタイミングの基準となるクロックを発生する。タイマ209は、タイマ112およびタイマ503と互いに時刻同期している。タイマ209としては、リアルタイムクロックを採用することもできるが、本実施の形態においては、所定周期でカウントアップ(インクリメント)するフリーランカウンタが用いられる。
図6は、本実施の形態に係る制御システム1におけるデータ通信の第3の構成例を説明するための模式図である。
図6に示す第3の構成例は、図4に示す第1の構成例に対して、ティーチングペンダント200の接続態様が異なる。図6では、スイッチ600が、制御装置100および複数のフィールド機器500に対して、フィールドネットワーク2を介してデイジーチェーンで接続されている。
スイッチ600は、通信ポート601〜603と、送受信コントローラ604とを含む。通信ポート601,602は、フィールドネットワーク2と物理的に接続される。通信ポート604は、通信線605を介してティーチングペンダント200の通信ポート206と接続される。通信線605は、シリアル通信方式およびパラレル通信方式のいずれであってもよく、また、バスおよびネットワークのいずれであってもよい。
スイッチ600は、ティーチングペンダント200と制御装置100またはフィールド機器500との間でデータの遣り取りが発生したとき、ティーチングペンダント200をフィールドネットワーク2に接続させる。これにより、ティーチングペンダント200は、データ通信においてスレーブ(図6ではスレーブ♯04)として機能し得る。一方、ティーチングペンダント200と制御装置100またはフィールド機器500との間でデータの遣り取りが無いときには、スイッチ600は、ティーチングペンダント200をフィールドネットワーク2から切り離すことができる。
スイッチ600における送受信コントローラ604は、フィールドネットワーク2上を転送される通信フレームに対するデータ書込みおよび/またはデータ読出しを行なう。通信ポート601,602は、送受信コントローラ604からの指令に従って、フィールドネットワーク2上を伝送される通信フレームの受信および再生などの処理を行なうことで、通信フレームの順次転送を実現する。
図7は、本実施の形態に係る制御システム1におけるデータ通信の第4の構成例を説明するための模式図である。
図7に示す第4の構成例は、図4に示す第1の構成例に対して、ティーチングペンダント200の接続態様が異なる。図7では、複数のフィールド機器500のうち、制御対象の駆動機器を構成するフィールド機器500(例えばスレーブ♯04)は、通信I/F502として、制御対象の機械または設備が接続される通信ポート514と、ティーチングペンダント200が接続される通信ポート508と、通信ポート508,514と送受信コントローラ506との接続を切り替えるスイッチ515とを含む。例えば、通信ポート514には、ロボットのエンドエフェクタ537が接続される。エンドエフェクタは、例えば、ワークのピックアップツールであり、ロボットのアームに連結されている。
スイッチ515は、ティーチングペンダント200と制御装置100またはフィールド機器500との間でデータの遣り取りが発生していない場合、通信ポート514と送受信コントローラ506とを接続することにより、エンドエフェクタ537をスレーブ♯04に接続させる。ティーチングペンダント200と制御装置100またはフィールド機器500との間でデータの遣り取りが発生した場合、スイッチ515は、通信ポート508と送受信コントローラ506とを接続することにより、ティーチングペンダント200をスレーブ♯04に接続させる。
<E.通信フレームの例>
次に、本実施の形態に係る制御システム1において用いられる通信フレームの一例について説明する。本実施の形態においては、実装例として、I/Oリフレッシュを行なうための通信フレームが用いられる。I/Oリフレッシュとは、制御装置100が保持する入力データの値を対応するフィールド機器500が収集した最新の値に更新する処理(入力リフレッシュ)と、制御装置100で算出された出力データの値を対応するフィールド機器500の出力値として反映する処理(出力リフレッシュ)とを包含する概念である。
このような通信フレームとして、I/Oリフレッシュフレームが採用される。I/Oリフレッシュフレームは、入力リフレッシュに必要な入力データおよび出力データの両方を格納可能に構成される。なお、入力リフレッシュおよび出力リフレッシュをそれぞれ別々に実行するように実装してもよい。その場合には、入力データおよび出力データの一方のみをそれぞれ格納するように構成した通信フレームが採用される。
図8は、本実施の形態に係る制御システム1において用いられるI/OリフレッシュフレームFLのデータ構造の一例を示す模式図である。図8を参照して、I/OリフレッシュフレームFLは、フレーム種別や宛先などを格納するためのヘッダ部と、データを格納する本体部とからなる。
ヘッダ部に格納されるフレーム種別としては、通信フレームの種類を特定するための識別情報が用いられてもよく、例えば、ユニキャスト、マルチキャスト、ブロードキャストのいずれであるかを示す識別情報が用いられる。宛先としては、送信先のフィールド機器500の識別情報などが用いられる。
本体部には、入力データおよび出力データを格納するための領域が複数規定されており、それぞれの領域には、I/OリフレッシュフレームFLの転送経路に存在するフィールド機器500(スレーブ♯01〜♯05)の全部または一部にそれぞれ対応付けられている。
フィールド機器500は、I/Oリフレッシュフレームを受信すると、自機器に割当てられている領域に格納されている出力データを読出すとともに、自機器が収集または生成した入力データを自機器に割当てられている領域に書込む。このような出力データの読出しおよび入力データの書込みが各フィールド機器において実行されることで、I/Oリフレッシュを実現できる。
<F.駆動機器への指令の送信>
次に、本実施の形態に係る制御システム1において駆動機器に対して、ティーチングペンダント200からの指令を送信するための必要な処理について説明する。
以下に説明するように、ティーチングペンダント200からの指令は、図8に示した通信フレームFLを利用して送信することができる。
図9は、本実施の形態に係る制御システムにおいて、ティーチングペンダント200が接続される駆動機器から他の駆動機器に指令を出力するために必要な処理を説明するための図である。
図9を参照して、ティーチングペンダント200が接続される駆動機器(スレーブ♯01とも称する。)から他の駆動機器(スレーブ♯02および♯03とも称する。)に対して指令を出力する際の処理について説明する。
まず、ティーチングペンダント200においては、スレーブ♯02に向けられる指令(以下、「指令♯02」とも称する。)およびスレーブ♯03に向けられる指令(以下、「指令♯03」とも称する。)が生成され、その生成された指令♯02、♯03がスレーブ♯01に送られる。
スレーブ♯01においては、フィールドネットワーク2上を順次転送される通信フレームFLの到着前に、制御装置100へ送信すべき入力データの収集などを含む入力データ送信処理を実行する。この入力データ送信処理において、スレーブ♯01は、ティーチングペンダント200から他の駆動機器へ送信すべき指令(指令♯02、♯03)を収集する。
次に、スレーブ♯01は、通信フレームFLを受信すると、当該受信した通信フレームFLの自機器に割当てられている領域から自機器宛ての出力データを読出す。続いて、スレーブ♯01は、該自機器に割当てられている領域に対して、入力データおよび指令♯02、♯03を書込む(図中の(1)に相当)。
通信フレームFLに書込まれた指令♯02,♯03は、次回のI/Oリフレッシュ処理の実行タイミングにおいて、制御装置100により収集されることとなる(図中の(2)に相当)。
制御装置100においては、対象の駆動機器へ向けられる出力データが生成され、その生成されたデータを通信フレームFLに格納して送信するためのパック処理が実行される。このパック処理では、収集した指令が、対象の駆動機器に割当てられてい領域に格納される。図9の例では、スレーブ♯02に向けられる指令(指令♯02)が、通信フレームFLのスレーブ#02に割当てられている領域に格納される。また、スレーブ♯03に向けられる指令(指令♯03)が、通信フレームFLのスレーブ♯03に割当てられている領域に格納される(図中の(3)に相当)。
フィールド機器500からの出力信号を定義する出力データについては、対象の出力データが格納された通信フレームFLがフィールドネットワーク2を介して対象のフィールド機器500へ伝送される。
対象のフィールド機器500においては、通信フレームFLを受信すると、受信した通信フレームFLから必要な出力データを読出すなどの処理が実行されるとともに、読出された出力データが現実の信号として外部出力される。このとき、スレーブ♯02においては、読出された出力データに指令♯02が含まれており、スレーブ♯03においては、読出された出力データに指令♯03が含まれている(図中の(4)に相当)。スレーブ♯02および♯03の各々は、読出した出力データに対応する信号を外部出力する処理を含む出力データ受信処理を実行する。
スレーブ♯02、♯03の各々は、通信フレームFLの自機器に割当てられている領域から自機器宛ての出力データを読出した後、該自機器に割当てられている領域に、入力データを書込む(図中の(5)に相当)。
<G.制御システムにおける各フィールド機器の出力タイミング同期機能>
次に、本実施の形態に係る制御システム1が提供する出力タイミング同期機能について説明する。
図10は、本実施の形態に係る制御システム1が提供する出力タイミング同期機能について説明するための模式図である。
図10を参照して、制御システム1は、多関節ロボット534と、ワークWを保持するXYステージ750とを含む。図12には、多関節ロボット534の先端に把持された部品をワークWに設けられた孔に挿入するようなアプリケーション例を示す。
多関節ロボット534はロボットコントローラ530によって駆動され、XYステージ750はサーボドライバ520A,520Bによって駆動される。サーボドライバ520Aは、XYステージ750のX軸を駆動するサーボモータ522Aを制御する。サーボドライバ520Bは、XYステージ750のY軸を駆動するサーボモータ522Bを制御する。
多関節ロボット534およびXYステージ750を連係させる必要があるので、ロボットコントローラ530およびサーボドライバ520A,520Bは、いずれも制御装置100と接続されている。制御装置100は、ロボットコントローラ530およびサーボドライバ520A,520Bに対して指令を与える。
ロボットコントローラ530には、ティーチングペンダント200が接続されている。ティーチングペンダント200は、ロボットコントローラ530およびサーボドライバ520A,520Bに対して指令を与えることができる。
ロボットコントローラ530は、ティーチングペンダント200から与えられた指令を実行することで、多関節ロボット534に指令に従った挙動を行なわせる。サーボドライバ520A,520Bは、ティーチングペンダント200から与えられた指令を実行することで、XYステージ750上に配置されたワークWを適切な位置に位置決めする。
ティーチングペンダント200を用いて、多関節ロボット534とXYステージ750とを連係して作動させるためには、ロボットコントローラ530とサーボドライバ520A,520Bとの間で制御タイミングを同期させる必要がある。本実施の形態に係る制御システム1は、ロボットコントローラ530が多関節ロボット534に対する指令を出力するタイミングと、サーボドライバ520A,520Bがサーボモータ522A,522Bに対する指令を出力するタイミングとを同期させる出力タイミング同期機能を有している。これにより、多関節ロボット534の動作とXYステージ750の動作とを同期させることができる。
(g1:出力タイミング同期機能に係る処理(その1))
図11は、本実施の形態に係る制御システム1が提供する出力タイミング同期機能に係る各部の処理を示すタイミングチャートである。図10には、主として、出力リフレッシュに関する処理を示す。
図11を参照して、制御装置100は、I/Oリフレッシュ処理の実行によって生成された出力データを送信するための前処理、およびフィールドネットワーク2により送信される通信フレームに出力データを格納するための前処理(パック処理)を順次実行する。パック処理の実行完了のタイミングで、I/Oリフレッシュフレームである通信フレームがフィールドネットワーク2へ送出される。通信フレームが送信されたタイミングを「起動基準時刻Tt」と称する。通信フレームはフィールドネットワーク2上を順次転送される。
フィールドネットワーク2に接続されているフィールド機器500(ロボットコントローラ530およびサーボドライバ520A,520Bを含む)の各々は、フィールドネットワーク2上を順次転送される通信フレームの到着前に、制御装置100へ送信すべき入力データの収集などを含む入力データ送信処理を予め実行する。
ロボットコントローラ530は、入力データ送信処理として、制御装置100へ送信すべき入力データの収集とともに、ティーチングペンダント200が受け付けた指令の収集を行なう。そして、ロボットコントローラ530は、通信フレームが到着すると、当該受信した通信フレームから自機器宛ての出力データを読出すとともに、予め用意していた入力データおよび指令を当該受信した通信フレームに書込む。ロボットコントローラ530は、読出した出力データに対応する信号を外部出力する処理を含む出力データ受信処理を実行する。
サーボドライバ520A,520Bの各々は、フィールドネットワーク2上を順次転送される通信フレームを受信すると、当該受信した通信フレームから自機器宛ての出力データを読出す。そして、サーボドライバ520A,520Bの各々は、読出した出力データに対応する信号を外部出力する出力データ受信処理を実行する。
図11に示すタイムチャートにおいて、ロボットコントローラ530およびサーボドライバ520A,520Bの各々から出力データが出力可能になるタイミングは、互いに異なる。そこで、本実施の形態においては、ロボットコントローラ530およびサーボドライバ520A,520Bの各々について、制御装置100において通信フレームを送出する指定がなされてから、当該通信フレームに含まれる出力データを出力可能な状態になるまでに要する遅れ時間がそれぞれ算出され、算出された遅れ時間のうち最大のもの(最大遅れ時間)が決定される。その上で、最大遅れ時間に対応する時刻を、制御システム1全体についての出力同期タイミングToutとして決定する。
このように、本実施の形態においては、制御装置100から出力データの送信が要求された後、各フィールド機器500にて当該出力データに対応する信号が出力可能になるまでに要する最大遅れ時間を算出し、システム全体としての最大遅れ時間を考慮した上で、出力同期タイミングを決定する。そして、各フィールド機器500が互いに保持する互いに同期されたタイマに対して、出力同期タイミングに応じたタイミングを設定することで、各フィールド機器500から出力データに対応する信号が一斉に外部出力される。
具体的には、各フィールド機器500の遅れ時間は、制御装置100において出力データの送信指令が与えられてからフィールドネットワーク2上に当該出力データを含む通信フレームが送出されるまでに要する時間、フィールドネットワーク2上に送出された出力データを含む通信フレームが対象のフィールド機器500まで転送されるのに要する時間、および、各フィールド機器500が出力データを含む通信フレームを受信してから当該受信データに対応する信号がフィールド機器500から出力可能になるまでに要する時間を含む。
制御システム1に含まれるフィールド機器500の各々について、上述の時間要素の合計(フィールド機器500毎の遅れ時間)がそれぞれ算出される。そして、これらの遅れ時間のうち最大のものが最大遅れ時間Dmaxとして決定される。
出力同期タイミングToutの設定においては、制御装置100およびフィールド機器500の各々が保持するタイマの間で同期をとる。例えば、制御装置100のタイマ112がグランドマスタクロックとして機能し、フィールド機器500のタイマ503を、このグランドマスタクロックと同期させる。これにより、制御装置100およびフィールド機器500は、共通のクロックに従って各種制御およびアクションを実行することができる。このような環境下において、所定周期毎に設定される起動基準時刻Ttおよび、起動基準時刻Ttを基準として設定される出力同期タイミングToutが各フィールド機器500に対して指定され、各フィールド機器500は指定されたタイミングで指定された処理を実行する。
図11の構成例においては、制御装置100に対しては、パック処理の実行開始をトリガする開始タイミングTR1が設定される。また、制御装置100に接続されるロボットコントローラ530およびサーボドライバ520A,520Bの各々に対しては、出力同期タイミングToutが設定される。このように、ロボットコントローラ530およびサーボドライバ520A,520Bの各々において、受信された出力データに対応する信号を外部出力または更新するタイミングが指示される。
上述したような出力同期タイミングの算出および設定については、任意の1または複数の演算主体によって実現されてもよい。典型的には、出力同期タイミングの算出および設定を行なうためのロジックを制御装置100内に実装してもよいし、あるいは、出力同期タイミングの算出および設定を行なうための機能をティーチングペンダント200に実装してもよい。
いずれの実装においても、制御装置100がロボットコントローラ530およびサーボドライバ520A,520Bの各々へ、出力データに対応する信号を外部出力または更新すべきタイミング(出力同期タイミングTout)を指示する。出力同期タイミングToutは、制御装置100のグランドマスタクロックであるタイマ112が管理する時刻(例えば、起動基準時刻Tt)を基準に設定される。これは、制御システム1に含まれるフィールド機器500の各々がグランドマスタクロックであるタイマ112と時刻同期を行なっているからである。
図12は、本実施の形態に係る制御システム1における出力タイミング同期機能に係る処理手順を示すフローチャートである。図12には、典型例として、制御装置100のプロセッサ102がシステムプログラム107を実行することで、各ステップが実施される例について説明する。但し、以下に示す各ステップの全部または一部を他のユニットまたはティーチングペンダント200などで実行するようにしてもよい。
図12を参照して、プロセッサ102は、メモリ104に格納されているコンフィギュレーションなどを参照するなどして、制御装置100に接続されたフィールド機器毎の遅れ時間をそれぞれ算出し(ステップS100)、算出された遅れ時間のうちの最大のものを最大遅れ時間Dmaxとして決定する(ステップS101)。
プロセッサ102は、ステップS101において決定された最大遅れ時間Dmaxに基づいて、制御システム1全体における出力同期タイミングToutを決定する(ステップS102)。
プロセッサ102は、ステップS102において決定された出力同期タイミングToutを各フィールド機器500へ通知する(ステップS103)。各フィールド機器500は、制御装置100からの通知に従って、必要なタイミングを設定する。
以上の処理により、出力タイミング同期機能に必要な設定は完了する。制御システム1を構成する各フィールド機器500は、設定されたタイミングに従って、処理を繰返し実行する。
(g2:出力タイミング同期機能に係る処理(その2))
図11および図12では、I/Oリフレッシュ処理が実行される期間において、I/Oリフレッシュフレームである通信フレームを利用して、ティーチングペンダント200からの指令を対象のフィールド機器500へ送信する構成について説明したが、I/Oリフレッシュ処理が実行される期間以外の期間に、メッセージ通信を用いてティーチングペンダント200からの指令を対象のフィールド機器500に送信するようにしてもよい。
上述したように、本実施の形態に係る制御システム1においては、制御装置100とフィールド機器500とは、各々に内蔵されるタイマが互いに同期した状態に維持されている。そのため、ティーチングペンダント200から指令を受けた複数の駆動機器の各々は、互いに同期したタイマに基づいて、出力タイミングを同期させることができる。
図13には、所定周期毎に繰返し実行されるI/Oリフレッシュに加えて、ティーチングペンダント200からの指令がメッセージ通信される例を示す。
具体的には、図13(A)に示すように、フィールドネットワーク2を介して、所定のシステム周期Ts毎にI/Oリフレッシュを行なうための通信フレームFLが送出される。典型的には、通信フレームFLは、制御装置100から送出されて、隣接するフィールド機器500に対して順次転送される。このような所定周期毎に繰返し伝送される通信フレームFLが転送されていない期間にて、任意のメッセージ通信でデータを送信することもできる。このメッセージフレームMSGFLについては、ティーチングペンダント200から対象の駆動機器に指令が伝送される場合、ティーチングペンダント200が接続される駆動機器から対象の駆動機器に指令が伝送される場合、制御装置100から対象の駆動機器に指令が伝送される場合がある。
ただし、通信フレームFLとメッセージフレームMSGFLとは同時に送出することができないので、メッセージフレームMSGFLの送信要求が発行されたとしても、I/Oリフレッシュ中であれば、指定されたメッセージフレームMSGFLの生成および送出は遅れることになる。
例えば、図13(B)に示すように、I/Oリフレッシュを行なうための通信フレームFLの伝送中に、メッセージ送信要求が与えられたとする。この場合、通信フレームFLの伝送完了後に、メッセージフレームMSGFLが生成および送出されることになる。図15(B)に示す例では、メッセージフレームMSGFLは、メッセージ送信要求が与えられてから遅延時間D1後に送出が開始される。
また、図13(C)に示すように、I/Oリフレッシュを行なうための通信フレームFLの伝送直前に、メッセージ送信要求が与えられたとすると、この場合、通信フレームFLの伝送期間が迫っているので、メッセージフレームMSGFLの生成および送出は妨げられ、後続の通信フレームFLの伝送完了後に、メッセージフレームMSGFLが生成および送出されることになる。図15(C)に示す例では、メッセージフレームMSGFLは、メッセージ送信要求が与えられてから遅延時間D2後に送出が開始される。
このように、I/Oリフレッシュを行なうための通信フレームFLが周期的に伝送されているフィールドネットワーク2においては、メッセージ送信要求が与えられてから、実際にメッセージフレームMSGFLが送出されるまでには、ある程度の伝送遅延が発生することになる。さらに、多数のメッセージ送信要求が発行されているような場合には、送信要求の数などに応じて、メッセージフレームMSGFLの送信遅延が発生する。
したがって、ティーチングペンダント200から複数の駆動機器の各々に対して、メッセージ通信を用いて指令を送信する場合、複数の駆動機器の各々から出力データが出力可能になるタイミングが互いに異なることが懸念される。そこで、各駆動機器へ送信するメッセージフレームMSGFLに対して、ティーチングペンダント200からの指令とともに、出力データに対応する信号を外部出力または更新すべきタイミング(出力同期タイミング)を書込むことにより、各駆動機器に対して出力同期タイミングを通知する。なお、出力同期タイミングは、カウント値またはクロック値の形で通知されてもよい。
図14は、メッセージ通信を用いた、出力タイミング同期機能について説明するための模式図である。図14には、ティーチングペンダント200が接続されたロボットコントローラ530からサーボドライバ520A,520Bに対して、メッセージ通信を用いて指令を送信する例を示す。
図14を参照して、マスターとして機能する制御装置100と、フィールドネットワーク2を介して制御装置100に接続されるサーボドライバ520A,520Bおよびロボットコントローラ530との各々は、互いに同期したタイマを有している。具体的には、制御装置100は、グランドマスタクロックであるタイマ112を有しており、サーボドライバ520A,520Bおよびロボットコントローラ530の各々は、タイマ112と同期するタイマ503を有している。
サーボドライバ520A,520Bおよびロボットコントローラ530の各々の通信I/Fは、タイマ503が示すタイミングを基準としてデータの送受信を管理する。図14には、メッセージ通信を用いて、ティーチングペンダント200からの指令が、ロボットコントローラ530を経由してサーボドライバ520A,520Bに送信される場合を示す。この場合、ロボットコントローラ530は、サーボドライバ520A,520Bに対して、出力同期タイミングを通知する。サーボドライバ520A,520Bの各々は、通知された出力同期タイミングに従って、受信された出力データに対応する信号を外部出力または更新する。
<H.制御システムの監視機能>
次に、本実施の形態に係る制御システム1が提供する、ティーチングペンダント200を利用した監視機能について説明する。
本実施の形態に係る制御システム1におけるデータ通信において、視覚センサ540は、通信フレームを受信すると、撮像部542で撮像された画像データを当該受信した通信フレームに書込む。例えば、図4および図7に示す構成例においては、視覚センサ540は、通信フレームを受信すると、ティーチングペンダント200が接続されるフィールド機器500に割当てられている領域に撮像部542から収集した画像データを書込む。当該フィールド機器500は、通信フレームを受信すると、自機器に割当てられている領域に格納されている画像データを読出し、読出した画像データをティーチングペンダント200へ送信する。ティーチングペンダント200は、受信した画像データを表示部203に表示する。
あるいは、図5および図6に示す構成例においては、視覚センサ540は、通信フレームを受信すると、ティーチングペンダント200に割当てられている領域に撮像部542から収集した画像データを書込む。ティーチングペンダント200は、通信フレームを受信すると、自機器に割当てられている領域に格納されている画像データを読出し、読出した画像データを表示部203に表示する。
このように、ティーチングペンダント200は、フィールドネットワーク2を介して視覚センサ540からの画像データを受信し、受信した画像データを表示部203に表示させる。これにより、ユーザは、制御対象の機械または設備の挙動を監視しながら、制御対象の駆動機器に対して指令を与えることができる。例えば、ステージ上のワークを掴み移動させるロボットにおいては、ユーザがロボットのエンドエフェクタの挙動を目視できない場合がある。このような場合、視覚センサ540を用いてエンドエフェクタの挙動を撮像することによって、ユーザは、ティーチングペンダント200の表示部203に表示される、エンドエフェクタの挙動を確認しながら、ロボットを駆動するロボットコントローラに対して指令を与えることができる。
但し、画像データを受信する駆動機器またはティーチングペンダント200の受信バッファなどはデバイス固有の性能に影響されるので、1回に送信できるデータサイズが制限されることもある。このような場合、送信される画像データのデータサイズの送信単位を小さくする。すなわち、1回に送信する画像データのサイズを小さくするとともに、より多くの送信回数に分けてデータ全体を送信する。このように、受信側の駆動機器またはティーチングペンダント200の受信可能な最大サイズが小さい場合には、送信サイズの送信単位を小さくする。
<I.制御システムのセーフティ機能>
次に、本実施の形態に係る制御システム1が提供するセーフティ機能について説明する。
例えば、上述した視覚センサ540を用いた監視動作の実行中において制御対象の挙動に異常が検出された場合、ユーザは、ティーチングペンダント200に設けられた非常停止ボタン205(図2参照)を操作することにより、制御対象の駆動機器を緊急停止させることができる。
図15は、本実施の形態に係る制御システム1における緊急停止処理の一例を示す模式図である。図15に示す例では、ティーチングペンダント200の非常停止ボタン205が操作されたとき、制御システム1に含まれる複数の駆動機器に向けて停止指令が発せられる。これにより、複数の駆動機器全てを停止させる。
図16は、本実施の形態に係る制御システム1における緊急停止処理の別の例を示す模式図である。図16に示す例では、ティーチングペンダント200の非常停止ボタン205が操作されたときに、特定の駆動機器に向けて停止指令が発せられる。これにより、特定の駆動機器のみを停止させる。特定の駆動機器は、1または複数の駆動機器で構成されており、予めユーザがティーチングペンダント200に対して設定しておくことができる。あるいは、図10に示した多関節ロボット534およびステージ750(サーボモータ522A,522B)のように、制御タイミングが互いに同期する複数の駆動機器を、特定の駆動機器に設定することができる。
このように、本実施の形態に係る制御システム1においては、ティーチングペンダント200における非常停止ボタン205が操作された場合、フィールドネットワーク2を利用して、複数の駆動機器に向けて停止指令を発することができる。したがって、異常検出時において、速やかに複数の駆動機器を停止させることができる。
また、複数の駆動機器のうちの特定の駆動機器に向けて停止指令を発する構成とすれば、異常による弊害が生じる虞のある駆動機器のみを停止させることで、製造設備や生産ラインへの影響を抑えることができる。
<J.制御システムの動作確認機能>
次に、本実施の形態に係る制御システム1が提供する、ティーチングペンダント200を利用した動作確認機能について説明する。
図17は、本実施の形態に係る制御システム1における動作確認処理の一例を示す模式図である。図17に示す例では、ティーチングペンダント200は、ロボットコントローラ530に対してユーザ操作に応じた指令を出力する。この指令には、ロボット533の目標位置を示す位置指令や、ロボット533の目標速度を示す速度指令などが含まれる。
ロボット533の動作中、ティーチングペンダント200は、フィールドネットワーク2に接続されたセンサデバイス550から出力されるON/OFF値を受信する。センサデバイス550は、制御対象の機械または設備の状態(温度、変位、圧力など)を検知するためのデバイスであり、例えば、温度センサ、変位センサ、圧力センサなどが含まれる。ティーチングペンダント200は、センサデバイス550のON/OFF値を表示部203に表示させる。
例えば、ロボット33が所定位置まで移動したときに、センサデバイス550がON値を出力するように、製造設備を設計する場面において、ユーザは、センサデバイス550の出力値をティーチングペンダント200の表示部203で監視しながら、操作部204を操作してロボット533を移動させる。ユーザは、ロボット533を所定位置まで移動させたときに、センサデバイス550が正しくON値を出力することを確認することができる。一方、センサデバイス550がON値を出力しなければ、ユーザは、ロボット533が所定位置まで移動していない可能性、もしくは、センサデバイス550が正常に動作していない可能性があると判断することができる。
このように、ティーチングペンダント200はフィールドネットワーク2を介してセンサデバイス550の出力を取得することができるため、ユーザは、ティーチングペンダント200を用いて、制御対象およびセンサデバイス550の動作を確認することができる。
<K.制御システムの衝突回避機能>
次に、本実施の形態に係る制御システム1が提供する、複数の制御対象間の衝突回避機能について説明する。
図18は、本実施の形態に係る制御システム1が提供する衝突回避機能について説明するための模式図である。図18は、本実施の形態に係る制御システム1の全体構成例を示す模式図である。
図18に示す構成例においては、フィールド機器500は、リモートI/O装置510と、サーボドライバ520およびサーボモータ522と、ロボットコントローラ530Aおよびロボット532と、ロボットコントローラ530Bおよびロボット533と、ロボットコントローラ530Cおよびロボット534とを含む。
ロボットコントローラ530A〜530Cの各々は、制御装置100からの位置指令などに従って、軌道計算および各軸の角度計算などと行なうとともに、計算結果に従って、対応するロボットを構成するサーボモータなどを駆動する。図18に示す構成例において、ロボット532はパラレルロボットであり、ロボット533はスカラロボットであり、ロボット534は多関節ロボットである。
フィールドネットワーク2には、ティーチングペンダント200が接続されている。ティーチングペンダント200は、フィールドネットワーク2を介してフィールド機器500との間でデータを遣り取りする。
ユーザは、ティーチングペンダント200の操作部204を操作して、動作対象のフィールド機器500を指定することができる。ユーザは、さらに、ティーチングペンダント200の操作部204を操作して、回避対象のフィールド機器500を指定することができる。動作対象のフィールド機器500とは、ユーザが動作させたい機械または設備および、それを駆動する駆動機器に相当する。回避対象のフィールド機器500とは、動作対象の機械または設備を目標位置まで移動させた場合に、動作対象の機械または設備と衝突する可能性がある機械または設備、およびそれを駆動する駆動機器に相当する。
図18に示す構成例においては、ロボット533およびロボットコントローラ530Bが動作対象のフィールド機器500に指定されている。ロボット532およびロボットコントローラ530Aと、ロボット534およびロボットコントローラ530Cとが回避対象のフィールド機器500に指定されている。
なお、回避対象のフィールド機器500の指定については、ユーザがティーチングペンダント200に対して、動作対象のフィールド機器500を入力するとともに、回避対象のフィールド機器500を入力する構成について例示したが、ティーチングペンダント200が、ユーザが指定した動作対象のフィールド機器500に基づいて、自動的に回避対象のフィールド機器500を指定する構成としてもよい。例えば、ティーチングペンダント200は、予め登録されている制御システム1の構成情報から、ロボット533との間で動作タイミングを同期させる同期制御の対象となるロボット(またはサーボモータ)およびその駆動機器を、回避対象のフィールド機器500に指定することができる。
図18を参照して、動作対象に指定されたロボットコントローラ530Bは、ティーチングペンダント200から、ロボット533の目標位置を示す位置指令を受信する。ロボット533の目標位置は、ロボット533が有する複数のアームにそれぞれ対応付けられた複数の軸の各々の目標位置を表す。各軸の目標位置からロボット533の位置が決まる。
ロボット533の複数のアームの各々は、サーボモータによって駆動される。ロボットコントローラ530Bは、ティーチングペンダント200から位置指令を受信すると、受信した位置指令が示す目標位置に基づいて各サーボモータの回転量を決定し、決定した回転量を指定する指定値を各サーボモータに対して出力する。
ロボットコントローラ530Bは、さらに、回避対象に指定されたロボットコントローラ530Aからロボット532の位置を示す位置情報と受信するとともに、ロボットコントローラ530Cからロボット534の位置を示す位置情報を受信する。各ロボットの位置情報は、各ロボットが有する複数のアームにそれぞれ対応付けられた複数の軸の各々の現在位置を表す。ロボットコントローラ530Bは、例えば、所定のシステム周期Ts毎に繰返し伝送される通信フレームから、回避対象のロボットコントローラに割当てられた領域に格納されている入力データを読出すことによって、回避対象のロボットの位置情報を取得することができる。
次に、ロボットコントローラ530Bは、動作対象のロボット533の目標位置および現在位置と、回避対象のロボット532,534の現在位置とに基づいて、動作対象のロボット533と回避対象のロボット532,534の各々との間の衝突可能性を判定する。
具体的には、ロボットコントローラ530Bは、動作対象のロボット533と回避対象のロボット532,534の各々との相対的な位置関係が、特定位置関係にあるか否かを判定する。この特定位置関係は、動作対象のロボットの目標位置と、回避対象のロボットの現在位置との間の距離が、閾値以下であることを含む。また、動作対象のロボットの現在位置と目標位置とを結ぶ軌跡と、回避対象のロボットの現在位置との最短距離が、閾値以下であることを含む。なお、特定位置関係は、これらの位置関係に限定されない。
動作対象のロボット533と回避対象のロボット532,534の各々との相対的な位置関係のいずれか特定位置関係にある場合、ロボットコントローラ530Bは、動作対象のロボット533と回避対象のロボット532,534とが衝突する可能性があると判定する。一方、動作対象のロボット533と回避対象のロボット532,534の各々との相対的な位置関係がいずれも特定位置関係にない場合、ロボットコントローラ530Bは、動作対象のロボット533と回避対象のロボット532,534とが衝突する可能性がないと判定する。
ロボットコントローラ530Bは、動作対象のロボット533と回避対象のロボット532,534とが衝突する可能性があると判定された場合、衝突を未然に回避するためのモード(衝突回避モード)に移行する。
本実施の形態では、ロボットコントローラ530Bは、衝突回避モードとして、自己のロボットの動作を停止させる「自ロボット停止モード」と、回避対象のロボットを、自己のロボットとの衝突を回避可能な位置まで移動させる「他ロボット回避モード」とを選択することができる。
自ロボット停止モードにおいては、ロボットコントローラ530Bは、動作対象のロボット533を目標位置まで移動させることなく、現在の位置に停止させる。この場合、ティーチングペンダント200を介して、ユーザに対して、回避対象のロボット532および534との衝突可能性があるためにコマンドを実行不可であることを通知する。
これに対して、他ロボット回避モードにおいては、ロボットコントローラ530Bは、制御装置100に対して、回避対象のロボット532,534を、衝突を回避可能な位置まで移動させるための衝突回避指令を通知する。制御装置100は、衝突回避指令を受けると、回避対象のロボット532の位置を補正するための補正指令を生成し、生成した補正指令をロボットコントローラ530Aに出力する。また、制御装置100は、回避対象のロボット534の位置を補正するための補正指令を生成し、生成した補正指令をロボットコントローラ530Cに出力する。なお、衝突回避指令は、回避対象のロボットのうち、衝突可能性のあるロボットの駆動機器に対して通知されればよい。
図19は、本実施の形態に係る制御システム1における他ロボット回避モードを説明するための模式図である。なお、説明の便宜上、図19においては、動作対象のロボット533の現在位置をP1とし、目標位置をP1*として表している。また、回避対象のロボット532,5533の現在位置をそれぞれ、P2,P3として表している。
図19(A)に示すように、動作対象のロボット533の目標位置P1*と回避対象のロボット532の現在位置P2との間の距離が、閾値X1以下となる場合、動作対象のロボット533と回避対象のロボット532との相対的な位置関係が特定位置関係にあるため、動作対象のロボット533と回避対象のロボット532とが衝突する可能性があると判定される。同様に、動作対象のロボット533の目標位置P1*と回避対象のロボット534の現在位置P3との間の距離が、閾値X1以下となる場合、動作対象のロボット533と回避対象のロボット534との相対的な位置関係が特定位置関係にあるため、動作対象のロボット533と回避対象のロボット534とが衝突する可能性があると判定される。
そこで、制御装置100は、ロボットコントローラ530Bから、ロボット532,534に対する衝突回避指令を受けると、ロボット532,534の各々について補正位置を算出する。図19(A)に示す例においては、目標位置P1*を中心とし、閾値X1を半径とする円状の領域k1の範囲外であり、ロボット532の現在位置P2との間の距離が所定値以下となる位置P2♯を、ロボット532の補正位置とする。また、領域k1の範囲外であって、ロボット534の現在位置P3との間の距離が所定値以下となる位置P3♯を、ロボット534の補正位置とする。
図19(B)には、動作対象のロボット533の現在位置P1と目標位置P1*とを結ぶ軌跡(図中の実線矢印に相当)と、回避対象のロボット532,534の各々の現在位置との間の最短距離が閾値X2以下となる場合を示す。このような場合、動作対象のロボット533と回避対象のロボット532,534との相対的な位置関係が特定位置関係にあるため、動作対象のロボット533と回避対象のロボット532,534とが衝突する可能性があると判定される。
制御装置100は、ロボットコントローラ530Bから、ロボット532,534に対する衝突回避指令を受けると、ロボット532,534の各々について補正位置を算出する。図19(B)に示す例においては、現在位置P1と目標位置P1*とを結ぶ軌跡との間の最短距離が閾値X2以下となる領域k2の範囲外であって、ロボット532の現在位置P2との間の距離が所定値以下となる位置P2♯を、ロボット532の補正位置とする。また、領域k2の範囲外であって、ロボット534の現在位置P3との間の距離が所定値以下となる位置P3♯を、ロボット534の補正位置とする。
制御装置100は、ロボットコントローラ530Aに対して、ロボット532の補正位置P2♯を含む補正指令を出力するとともに、ロボットコントローラ530Cに対して、ロボット534の補正位置P3♯を含む補正指令を出力する。ロボットコントローラ530Aは、補正指令に従って、ロボット532を補正位置P2♯まで移動させる。ロボットコントローラ530Cは、補正指令に従って、ロボット534を補正位置P3♯まで移動させる。
このように、他ロボット回避モードにおいては、回避対象のロボット532,534を動作対象のロボット533との衝突を回避可能な位置まで移動させる。回避対象のロボット532,534の回避動作を行なっている期間中、動作対象のロボット533は、現在位置に止まり、待機状態とされる。
回避対象のロボット532,534の回避動作が完了することによって、動作対象のロボット532と回避対象のロボット532,534との間の衝突可能性がなくなると、ロボットコントローラ530Bは、ロボット533を目標位置P1*まで移動させる。そして、ロボット533が目標位置P1♯まで移動すると、ロボットコントローラ530Bは、ティーチングペンダント200に対して動作完了を通知する。
図20は、本実施の形態に係る制御システム1における衝突回避機能の処理手順を示すフローチャートである。図20に示すフローチャートは、動作対象に指定されたフィールド機器500によって、所定のシステム周期Ts毎に繰返し実行される。
図20には、図18に示す構成例に適用した場合の衝突回避機能の処理手順が示されている。なお、図22に示す処理手順に先立って、ユーザにより、動作対象のフィールド機器500(ロボットコントローラ530Bおよびロボット533)が指定されている。また、ユーザまたはティーチングペンダント200により、回避対象のフィールド機器500(ロボットコントローラ530Aおよびロボット532、およびロボットコントローラ530Cおよびロボット534)が指定されている。
図20を参照して、動作対象に指定されたロボットコントローラ530Bは、回避対象に指定されたロボットコントローラ530Aおよび530Bからそれぞれ出力される、ロボット532および534の位置情報を受信する(ステップS110)。
ロボットコントローラ530Bは、ティーチングペンダント200から、動作対象のロボット533に対する位置指令を受信したか否かを判定する(ステップS111)。ティーチングペンダント200からの位置指令を受信していない場合(S111のNO判定時)、ロボットコントローラ530Bは、以降の処理S112〜S122をスキップして処理を終了する。
一方、ティーチングペンダント200から、ロボット533に対する位置指令を受信した場合(S111のYES判定時)には、ロボットコントローラ530Bは、動作対象のロボット533と回避対象のロボット532,534との衝突可能性を判定する(ステップS112)。ロボットコントローラ530Bは、動作対象のロボット533の現在位置および目標位置と、回避対象のロボット532,534の現在位置とに基づいて、衝突可能性があるか否かを判定する。
ステップS112において衝突可能性がないと判定された場合(S112のNO判定時)、ロボットコントローラ530Bは、ティーチングペンダント200からの位置指令に従って、ロボット533を移動させる(ステップS120)。そして、ロボット533が目標位置まで移動すると、ロボットコントローラ530Bは、ロボット533の動作が完了したと判定し(S121のYES判定時)、動作完了をティーチングペンダント200に対して通知する(ステップS122)。通知を受け取ったティーチングペンダント200は、その通知を表示部203に表示させることで、ユーザに対してロボット533の動作完了を知らせる。
これに対して、ステップS112において衝突可能性がありと判定された場合(S112のYES判定時)には、ロボットコントローラ530Bは、衝突回避モードに移行する。まず、ロボットコントローラ530Bは、衝突回避モードとして、自ロボット停止モードおよび他ロボット回避モードのいずれが選択されているかを判定する(ステップS113)
自ロボット停止モードが選択されている場合、ロボットコントローラ530Bは、ロボット533に対する位置指令の実行を中止してロボット533を停止状態とするとともに(ステップS114)、ティーチングペンダント200に対して、コマンドを実行不可であることを通知する(ステップS115)。通知を受け取ったティーチングペンダント200は、その通知を表示部203に表示させることで、ユーザに対して、回避対象の機器との衝突可能性があるためにロボット533を移動できないことを知らせる。
一方、ステップS113において他ロボット回避モードが選択されている場合、ロボットコントローラ530Bは、制御装置100に対して、ロボット532,534に対する衝突回避指令を通知する(ステップS116)。ロボットコントローラ530Bは、さらに、ティーチングペンダント200に対して、他ロボット回避モードを実行するために、ロボット533が待機状態であることを通知する(ステップS117)。ティーチングペンダント200は、ロボット533が待機状態であることを表示部203に表示させる。このロボット533の待機状態は、ロボットコントローラ530Bによって衝突可能性がなくなったと判定されたことによって解除される。
なお、ステップS116により、制御装置100は、ロボットコントローラ530Bから衝突回避指令を受け取ると、ロボット532,534の各々について、ロボット533の現在位置および目標位置に基づいて、ロボット532,534の各々の補正位置を算出する。制御装置100は、算出した補正位置を含む補正指令を、ロボットコントローラ530A,530Cに対して出力する。ロボットコントローラ530A,530Cの各々は、補正指令を受信すると、補正指令で指示された補正位置まで、対応するロボットを移動させる。
<L.まとめ>
本実施の形態によれば、複数の駆動機器およびこれらを制御する制御装置がネットワーク接続されてなる制御システムにおいて、教示装置は、ネットワークを利用して、複数の駆動機器に対して指令を同時に送信することができる。これにより、単一の教示装置によって、複数の駆動機器に対して同時に教示を行なうことができる。したがって、教示対象の駆動機器を1つずつ選択して教示を行なう従来の構成に比べて、作業効率を向上させることができる。
また、複数の駆動機器は、いわゆる産業用ネットワークに接続されるため、従来の構成のように、接続可能な駆動機器の台数が制御装置のハードウェアに制約されることがない。駆動機器の機種についても、産業用ネットワークに接続可能な機種であれば接続することができるため、制御装置のハードウェアに制約されることがない。
また、本実施の形態によれば、教示装置は、複数の駆動機器に対して同時に指令を与えることができるため、動作タイミングを互いに同期させることが必要である複数の駆動機器を同時に動作させて教示を行なうことが可能となる。
また、本実施の形態によれば、教示装置は、ネットワークに接続された視覚センサから制御対象の挙動を撮像した画像を受信して表示させることができる。これにより、ユーザは、教示装置に表示された、制御対象の機械または設備の挙動を監視しながら、制御対象の駆動機器に対して指令を与えることができる。これにより、ユーザは、目視が困難な制御対象の挙動についても駆動機器に教示させることができる。
また、本実施の形態によれば、非常時に教示装置から発せられた停止指令を、ネットワークを介して、複数の駆動機器に出力することができる。これにより、複数の駆動機器を緊急停止させることができる。教示装置は、また、予め設定された特定の駆動機器のみに対して停止指令を出力することで、特定の駆動機器のみを緊急停止させることもできる。
また、本実施の形態によれば、制御装置および複数の駆動機器間は、ネットワークを介してデータを遣り取りすることができるため、教示装置から対象の駆動機器に対して指令が与えられた場面において、対象の駆動機器は、自機器と他の駆動機器との相対的な位置関係に基づいて両者間の衝突可能性を判定することができる。さらに、衝突可能性があると判定された場合には、制御装置、対象の駆動機器および他の駆動機器が互いに連系して、衝突を回避するための処理を実行することができる。
<M.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
複数の制御対象を制御するための制御システム(1)であって、ネットワーク(2)に接続され、前記複数の制御対象(522,532〜534)をそれぞれ駆動する複数の駆動機器(500,520,530,530A〜530C)と、前記ネットワークを介して前記複数の駆動機器を制御する制御装置(100)と、前記複数の駆動機器に対して、対応する制御対象の動作を教示するための教示装置(200)とを備える。前記教示装置は、前記ネットワークを介して、前記複数の駆動機器のうち少なくとも1つの駆動機器に対して、対応する制御対象を駆動するための指令を送信する、制御システム。
[構成2]
教示装置は、複数の駆動機器のうち第1の駆動機器と通信線(509)を介して接続され、複数の駆動機器のうち第2の駆動機器に対する指令を、第1の駆動機器に出力する。第1の駆動機器は、第2の駆動機器に対する指令を、ネットワークを介して第2の駆動機器へ送信する、構成1に記載の制御システム。
[構成3]
教示装置は、ネットワークに接続され、ネットワークを介して対象の駆動機器に対して、対応する制御対象を駆動するための指令を送信する、構成1に記載の制御システム。
[構成4]
制御装置は、ネットワークを介して教示装置が送信した指令を収集し、収集した指令を、ネットワークを介して対象となる駆動機器に対して送信する、構成1から3のいずれかに記載の制御システム。
[構成5]
制御装置は、収集した指令を、通信フレームの対象の駆動機器に割当てられている領域に格納し、ネットワークを介して通信フレームを送出する。対象の駆動機器は、通信フレームを受信すると、対象の駆動機器に割当てられている領域に格納されている指令を読出す、構成4に記載の制御システム。
[構成6]
制御装置および複数の駆動機器の各々は、互いに時刻同期したタイマ(112,503)を有する。制御装置は、タイマが管理する時刻を基準として、複数の駆動機器の各々において受信された指令に対応する信号を出力する同期タイミングを決定する、構成1に記載の制御システム。
[構成7]
制御装置および複数の駆動機器の各々は、互いに時刻同期したタイマを有している。制御装置は、ネットワークを介して所定周期毎に通信フレームを送出する。教示装置は、通信フレームが伝送されていない期間において、対象の駆動機器に対する指令を送信するとともに、対象の駆動機器において受信された指令に対応する信号を出力するタイミングを指示する、構成1に記載の制御システム。
[構成8]
複数の駆動機器のうち第1の駆動機器は、教示装置から、対応する第1の制御対象を駆動するための指令を受信した場合、指令を実行することによる第1の制御対象と第2の制御対象との間の衝突可能性を判定する。第1の駆動機器は、衝突可能性があると判定されたときには、指令の実行を中止するとともに、教示装置に対して前記指令が実行不可であることを通知する、構成1に記載の制御システム。
[構成9]
複数の駆動機器のうち第1の駆動機器は、教示装置から、対応する第1の制御対象を駆動するための指令を受信した場合、指令を実行することによる第1の制御対象と第2の制御対象との間の衝突可能性を判定する。第1の駆動機器は、衝突可能性があると判定されたときには、ネットワークを介して、制御装置に対して、第2の制御対象を駆動する第2の駆動機器に対する衝突回避指令を送信する。制御装置は、衝突回避指令を受信したときには、第2の制御対象の補正位置を含む指令を、ネットワークを介して第2の駆動機器に送信する、構成1に記載の制御システム。
[構成10]
ネットワークに接続され、複数の制御対象を撮像するように配置された撮像部(542)を有する視覚センサ(540)をさらに備え、教示装置は、視覚センサからネットワークを介して伝送される、撮像部によって撮像された画像を表示する表示部(203)と、対象の駆動機器に対する指令を入力する操作を受け付ける操作部(204)とを含む、構成1に記載の制御システム。
[構成11]
教示装置は、停止指令を入力する操作を受け付ける操作部(204)を含み、ネットワークを介して、複数の駆動機器のうち少なくとも1つの駆動機器に対して停止指令を送信する、構成1に記載の制御システム。
[構成12]
ネットワークに接続され、複数の制御対象の状態を検知するセンサデバイス(550)をさらに備える。教示装置は、ネットワークを介して、センサデバイスの出力値を受信する、構成1に記載の制御システム。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲よって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、2 フィールドネットワーク、3 上位ネットワーク、100 制御装置、102 プロセッサ、104 メモリ、106 ストレージ、107 システムプログラム、108 ユーザアプリケーションプログラム、109 バス、112,209,503 タイマ、114,202,206,207,504,505,5098,514,601〜604 通信ポート、116,208,506,604 送受信コントローラ、200 ティーチングペンダント、201 制御部、203 表示部、204 操作部、205 非常停止ボタン、300 サーバ装置、400 表示装置、509,605 通信線、510 リモートI/O装置、511 通信制御部、515,600 スイッチ、520,520A,520B サーボドライバ、522,522A,522B サーボモータ、525 サーボ制御部、530,530A〜530C ロボットコントローラ、532〜534 ロボット、535 ロボット制御部、537 エンドエフェクタ、540 視覚センサ、542 撮像部、544 画像処理部、546 撮像制御部、550 センサデバイス、750 ステージ。

Claims (11)

  1. 複数の制御対象を制御するための制御システムであって、
    ネットワークに接続され、前記複数の制御対象をそれぞれ駆動する複数の駆動機器と、
    前記ネットワークを介して前記複数の駆動機器を制御する制御装置と、
    前記複数の駆動機器に対して、対応する制御対象の動作を教示するための教示装置とを備え、
    前記教示装置は、前記ネットワークを介して、前記複数の駆動機器のうち少なくとも1つの駆動機器に対して、対応する制御対象を駆動するための指令を送信し、
    前記制御装置および前記複数の駆動機器の各々は、互いに時刻同期したタイマを有しており、
    前記制御装置は、前記タイマが管理する時刻を基準として、前記複数の駆動機器の各々において受信された指令に対応する信号を出力する同期タイミングを決定する、制御システム。
  2. 前記教示装置は、前記複数の駆動機器のうち第1の駆動機器と通信線を介して接続され、前記複数の駆動機器のうち第2の駆動機器に対する指令を、前記第1の駆動機器に出力し、
    前記第1の駆動機器は、前記第2の駆動機器に対する指令を、前記ネットワークを介して前記第2の駆動機器へ送信する、請求項1に記載の制御システム。
  3. 前記教示装置は、前記ネットワークに接続され、前記ネットワークを介して対象の駆動機器に対して、対応する制御対象を駆動するための指令を送信する、請求項1に記載の制御システム。
  4. 前記制御装置は、前記ネットワークを介して前記教示装置が送信した指令を収集し、収集した指令を、前記ネットワークを介して対象となる駆動機器に対して送信する、請求項1から3のいずれかに記載の制御システム。
  5. 前記制御装置は、収集した指令を、通信フレームの前記対象の駆動機器に割当てられている領域に格納し、前記ネットワークを介して前記通信フレームを送出し、
    前記対象の駆動機器は、前記通信フレームを受信すると、前記対象の駆動機器に割当てられている領域に格納されている指令を読出す、請求項4に記載の制御システム。
  6. 複数の制御対象を制御するための制御システムであって、
    ネットワークに接続され、前記複数の制御対象をそれぞれ駆動する複数の駆動機器と、
    前記ネットワークを介して前記複数の駆動機器を制御する制御装置と、
    前記複数の駆動機器に対して、対応する制御対象の動作を教示するための教示装置とを備え、
    前記教示装置は、前記ネットワークを介して、前記複数の駆動機器のうち少なくとも1つの駆動機器に対して、対応する制御対象を駆動するための指令を送信し、
    前記制御装置および前記複数の駆動機器の各々は、互いに時刻同期したタイマを有しており、
    前記制御装置は、前記ネットワークを介して所定周期毎に通信フレームを送出し、
    前記教示装置は、前記通信フレームが伝送されていない期間において、対象の駆動機器に対する指令を送信するとともに、前記対象の駆動機器において受信された指令に対応する信号を出力するタイミングを指示する、制御システム。
  7. 複数の制御対象を制御するための制御システムであって、
    ネットワークに接続され、前記複数の制御対象をそれぞれ駆動する複数の駆動機器と、
    前記ネットワークを介して前記複数の駆動機器を制御する制御装置と、
    前記複数の駆動機器に対して、対応する制御対象の動作を教示するための教示装置とを備え、
    前記教示装置は、前記ネットワークを介して、前記複数の駆動機器のうち少なくとも1つの駆動機器に対して、対応する制御対象を駆動するための指令を送信し、
    前記複数の駆動機器のうち第1の駆動機器は、前記教示装置から、対応する第1の制御対象を駆動するための指令を受信した場合、前記指令を実行することによる前記第1の制御対象と第2の制御対象との間の衝突可能性を判定し、
    前記衝突可能性があると判定されたときには、前記指令の実行を中止するとともに、前記教示装置に対して前記指令が実行不可であることを通知する、制御システム。
  8. 複数の制御対象を制御するための制御システムであって、
    ネットワークに接続され、前記複数の制御対象をそれぞれ駆動する複数の駆動機器と、
    前記ネットワークを介して前記複数の駆動機器を制御する制御装置と、
    前記複数の駆動機器に対して、対応する制御対象の動作を教示するための教示装置とを備え、
    前記教示装置は、前記ネットワークを介して、前記複数の駆動機器のうち少なくとも1つの駆動機器に対して、対応する制御対象を駆動するための指令を送信し、
    前記複数の駆動機器のうち第1の駆動機器は、前記教示装置から、対応する第1の制御対象を駆動するための指令を受信した場合、前記指令を実行することによる前記第1の制御対象と第2の制御対象との間の衝突可能性を判定し、
    前記衝突可能性があると判定されたときには、前記ネットワークを介して、前記制御装置に対して、前記第2の制御対象を駆動する第2の駆動機器に対する衝突回避指令を送信し、
    前記制御装置は、前記衝突回避指令を受信したときには、前記第2の制御対象の補正位置を含む指令を、前記ネットワークを介して前記第2の駆動機器に送信する、制御システム。
  9. 前記ネットワークに接続され、前記複数の制御対象を撮像するように配置された撮像部を有する視覚センサをさらに備え、
    前記教示装置は、前記視覚センサから前記ネットワークを介して伝送される、前記撮像部によって撮像された画像を表示する表示部と、
    対象の駆動機器に対する指令を入力する操作を受け付ける操作部とを含む、請求項1に記載の制御システム。
  10. 前記教示装置は、停止指令を入力する操作を受け付ける操作部を含み、前記ネットワークを介して、前記複数の駆動機器のうち少なくとも1つの駆動機器に対して前記停止指令を送信する、請求項1に記載の制御システム。
  11. 前記ネットワークに接続され、前記複数の制御対象の状態を検知するセンサデバイスをさらに備え、
    前記教示装置は、前記ネットワークを介して、前記センサデバイスの出力値を受信する、請求項1に記載の制御システム。
JP2017206492A 2017-10-25 2017-10-25 制御システム Active JP6969283B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017206492A JP6969283B2 (ja) 2017-10-25 2017-10-25 制御システム
EP18193442.3A EP3483684B1 (en) 2017-10-25 2018-09-10 Control system
CN201811059543.5A CN109709929B (zh) 2017-10-25 2018-09-12 控制系统
US16/129,827 US20190121335A1 (en) 2017-10-25 2018-09-13 Control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017206492A JP6969283B2 (ja) 2017-10-25 2017-10-25 制御システム

Publications (2)

Publication Number Publication Date
JP2019079344A JP2019079344A (ja) 2019-05-23
JP6969283B2 true JP6969283B2 (ja) 2021-11-24

Family

ID=63642519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017206492A Active JP6969283B2 (ja) 2017-10-25 2017-10-25 制御システム

Country Status (4)

Country Link
US (1) US20190121335A1 (ja)
EP (1) EP3483684B1 (ja)
JP (1) JP6969283B2 (ja)
CN (1) CN109709929B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6859914B2 (ja) * 2017-10-05 2021-04-14 オムロン株式会社 通信システム、通信装置および通信方法
JP2020179453A (ja) * 2019-04-25 2020-11-05 セイコーエプソン株式会社 ロボットシステムの制御方法およびロボットシステム
JP7251402B2 (ja) * 2019-08-20 2023-04-04 オムロン株式会社 制御システム、制御装置およびプログラム
JP7437910B2 (ja) * 2019-10-29 2024-02-26 株式会社東芝 制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体
JP7441707B2 (ja) * 2020-03-31 2024-03-01 株式会社ユーシン精機 アタッチメントの三次元形状寸法測定方法
JP7040567B2 (ja) * 2020-08-18 2022-03-23 オムロン株式会社 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
JP2022122366A (ja) * 2021-02-10 2022-08-23 セイコーエプソン株式会社 ロボットシステム
JP2022139199A (ja) 2021-03-11 2022-09-26 オムロン株式会社 複数の移動機構を制御するシステムおよび方法
EP4355535A1 (en) * 2021-06-17 2024-04-24 Abb Schweiz Ag Providing safety in a robot system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3439930B2 (ja) * 1996-10-02 2003-08-25 三菱電機株式会社 サーボモータの駆動制御装置およびサーボアンプ、周辺装置、サーボモータの位置検出器
JP3708357B2 (ja) * 1999-04-01 2005-10-19 松下電器産業株式会社 ロボット制御装置
WO2004114037A2 (en) * 2003-06-20 2004-12-29 Fanuc Robotics America, Inc. Multiple robot arm tracking and mirror jog
JP4744847B2 (ja) 2004-11-02 2011-08-10 株式会社安川電機 ロボット制御装置およびロボットシステム
WO2006096695A2 (en) * 2005-03-04 2006-09-14 Fanuc Robotics America, Inc. Flexible connection of teaching devices to programmable controllers
EP1719588A1 (en) * 2005-05-02 2006-11-08 Abb Research Ltd. A robot control system comprising a portable operating device with safety equipment
US7860609B2 (en) * 2005-05-06 2010-12-28 Fanuc Robotics America, Inc. Robot multi-arm control system
JP4247213B2 (ja) * 2005-07-20 2009-04-02 ファナック株式会社 複数のロボット制御装置を備えるロボットシステム及びロボット制御装置
JP4835616B2 (ja) * 2008-03-10 2011-12-14 トヨタ自動車株式会社 動作教示システム及び動作教示方法
JP4676544B2 (ja) * 2009-05-29 2011-04-27 ファナック株式会社 工作機械に対してワークの供給及び取り出しを行うロボットを制御するロボット制御装置
WO2013136756A1 (ja) * 2012-03-16 2013-09-19 パナソニック株式会社 溶接線検出方法および産業用ロボット
CN103406905B (zh) * 2013-08-20 2015-07-08 西北工业大学 一种具有视觉伺服及检测功能的机器人系统
JP5860079B2 (ja) * 2014-02-21 2016-02-16 ファナック株式会社 複数のロボット制御装置を含むロボットシステム
JP6350011B2 (ja) * 2014-06-20 2018-07-04 オムロン株式会社 ロボット制御システム
JP6465620B2 (ja) * 2014-10-31 2019-02-06 ヤマハ発動機株式会社 制御システムおよび制御方法
WO2017063887A1 (de) * 2015-10-13 2017-04-20 ATENSOR Engineering and Technology Systems GmbH Synchronisierung mehrerer roboter
JP6333790B2 (ja) 2015-10-21 2018-05-30 ファナック株式会社 ネットワークを介して接続された複数の制御装置を備えるロボットシステム

Also Published As

Publication number Publication date
US20190121335A1 (en) 2019-04-25
EP3483684A2 (en) 2019-05-15
CN109709929B (zh) 2021-07-23
EP3483684B1 (en) 2023-11-22
CN109709929A (zh) 2019-05-03
JP2019079344A (ja) 2019-05-23
EP3483684A3 (en) 2019-09-04

Similar Documents

Publication Publication Date Title
JP6969283B2 (ja) 制御システム
JP7008103B2 (ja) ロボットシステムのノードを同期させるためのシステム
US20100199002A1 (en) Industrial controller
JP7316056B2 (ja) プログラマブルロジックコントローラ及びカメラ入力拡張ユニット
JP6897462B2 (ja) 制御システムおよび通信方法
JP5530479B2 (ja) 少なくとも2本のロボットアームの同期化システムおよびその制御方法
JP6349805B2 (ja) 通信ユニット、コントローラ、制御システム、制御方法、およびプログラム
KR20180039132A (ko) 로봇시스템
JP2006105782A (ja) ロボットビジョンによる計測装置及びロボット制御装置
JP6859914B2 (ja) 通信システム、通信装置および通信方法
CN108886481B (zh) 通信控制系统以及通信控制方法
WO2019163443A1 (ja) 通信システム、通信装置および通信方法
CN113508560B (zh) 控制系统、装置以及控制方法
TWI648975B (zh) 通信裝置、通信系統及通信方法
WO2021033358A1 (ja) 制御システム、制御装置およびプログラム
JP2005014150A (ja) ロボットシステム
WO2021166398A1 (ja) 処理装置、及び処理方法
US20210347037A1 (en) Control system and control method
JP2004280195A (ja) ロボット制御装置
JP2002073121A (ja) ネットワーク制御システム、その通信モジュール、及びリモート制御方法
US20220331951A1 (en) Robot control system, lower-level control apparatus, and control method for robot
JP2023167806A (ja) ロボット制御システム、下位制御装置、ロボット制御システムの制御方法、及び、下位制御装置の制御方法
JP2009098735A (ja) Plcのスレーブ
KR101052543B1 (ko) 네트워크 기반의 서보 관리 방법 및 장치
KR102039274B1 (ko) 다수의 로봇의 협력 동작을 동기식으로 제어하기 위한 방법 및 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210928

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211011

R150 Certificate of patent or registration of utility model

Ref document number: 6969283

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150