CN109709929B - 控制系统 - Google Patents
控制系统 Download PDFInfo
- Publication number
- CN109709929B CN109709929B CN201811059543.5A CN201811059543A CN109709929B CN 109709929 B CN109709929 B CN 109709929B CN 201811059543 A CN201811059543 A CN 201811059543A CN 109709929 B CN109709929 B CN 109709929B
- Authority
- CN
- China
- Prior art keywords
- command
- control
- network
- robot
- 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
Links
- 238000004891 communication Methods 0.000 claims description 192
- 238000003384 imaging method Methods 0.000 claims description 29
- 230000009471 action Effects 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 48
- 238000012545 processing Methods 0.000 description 43
- 230000006870 function Effects 0.000 description 36
- 238000000034 method Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 34
- 230000008569 process Effects 0.000 description 26
- 230000001360 synchronised effect Effects 0.000 description 18
- 230000006399 behavior Effects 0.000 description 16
- 238000012937 correction Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 9
- 239000012636 effector Substances 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000007906 compression Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000012190 activator Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording 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/425—Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/0405—Programme-control specially adapted for machine tool control and not otherwise provided for
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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/4185—Total 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39448—Same teach pendant connects to many robot controllers over network
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本发明提供一种控制系统,其针对经网络连接的多个驱动机器,能够使用单个示教装置来同时示教对应的控制对象的动作。控制系统包括:多个驱动机器,连接于网络,分别驱动多个控制对象;控制装置,经由网络来控制多个驱动机器;以及示教装置,用于对多个驱动机器示教对应的控制对象的动作。示教装置经由网络来对多个驱动机器中的至少一个驱动机器,发送用于驱动对应的控制对象的指令。
Description
技术领域
本发明涉及一种控制系统,用于针对经网络(network)连接的多个驱动机器的各个,示教对应的控制对象的动作。
背景技术
在具备分别控制多个机器人(robot)的多个机器人控制器(robot controller)的机器人系统(system)中,以往,针对各个机器人控制器使用一个示教装置(典型的是示教器(teaching pendant))(例如,日本专利特开2000-288976号公报(参照专利文献1)。因此,在对多个机器人进行示教时,用户必须根据作为示教对象的机器人控制器来换持示教装置,作业效率低。
作为此种机器人系统,例如日本专利特开2017-77606号公报(专利文献2)揭示了一种机器人系统,其在连接多个机器人控制器的网络上连接示教装置,并能够切换示教装置的通信目标,以便能够响应来自各机器人控制器的连接请求,而使任一个机器人控制器与示教装置选择性地通信。
而且,日本专利特开2006-130577号公报(专利文献3)揭示了一种机器人系统,其包含多台机器人、对所述多台机器人中的一台以上进行控制的机器人控制装置、及连接于机器人控制装置的示教装置。
现有技术文献
专利文献
专利文献1:日本专利特开2000-288976号公报
专利文献2:日本专利特开2017-77606号公报
专利文献3:日本专利特开2006-130577号公报
发明内容
发明所要解决的问题
在所述专利文献2所揭示的结构中,虽能够利用一个示教装置来进行针对多个机器人的示教,但必须根据作为示教对象的机器人控制器来切换示教装置的通信目标。而且,由于在一次示教中可示教的机器人控制器仅为一个,因此用户必须按照机器人控制器的数量来反复进行示教。因此,依然存在作业效率低的问题。
而且,在机器人系统中,对于必须使动作时机(timing)彼此同步的多个机器人,有时要求使所述多个机器人同时动作来进行示教。但是,所述专利文献2所揭示的结构无法应对此种要求。
所述专利文献3所揭示的结构中,连接于机器人控制装置的机器人的台数有可能受到机器人控制装置的硬件(hardware)限制。而且,对于连接于机器人控制装置的机器人的机型,也存在受到机器人控制装置的硬件限制的问题。
本发明是为了解决此种问题,其一个目的在于提供一种控制系统,所述控制系统针对经网络连接的多个驱动机器,能够使用单个示教装置来同时示教对应的控制对象的动作。
解决问题的技术手段
本发明的一例中,提供一种用于控制多个控制对象的控制系统。控制系统包括:多个驱动机器,连接于网络,分别驱动多个控制对象;控制装置,经由网络来控制多个驱动机器;以及示教装置,用于对多个驱动机器示教对应的控制对象的动作。示教装置经由网络来对多个驱动机器中的至少一个驱动机器,发送用于驱动对应的控制对象的指令。
根据本发明,在多个驱动机器及控制它们的控制装置经网络连接而成的控制系统中,示教装置能够利用网络来对多个驱动机器同时发送指令。由此,能够通过单个示教装置来对多个驱动机器同时进行示教。因此,与逐个地选择示教对象驱动机器来进行示教的以往结构相比,能够提高作业效率。而且,由于多个驱动机器连接于所谓的工业用网络,因此不会如以往的结构那样,可连接的驱动机器的台数受到控制装置的硬件限制。对于驱动机器的机型,只要是可连接于工业用网络的机型便能够连接,因此也不会受到控制装置的硬件限制。而且,根据本发明,示教装置能够对多个驱动机器同时给予指令,因此能够使必须使动作时机彼此同步的多个驱动机器同时动作而进行示教。
所述发明中,示教装置经由通信线而与多个驱动机器中的第1驱动机器连接,将针对多个驱动机器中的第2驱动机器的指令输出至第1驱动机器。第1驱动机器将针对第2驱动机器的指令经由网络而发送至第2驱动机器。
根据本发明,示教装置能够利用网络来对多个驱动机器的各个发送指令。
所述发明中,示教装置连接于网络,经由网络来针对对象驱动机器发送用于驱动对应的控制对象的指令。
根据本发明,示教装置能够利用网络来对多个驱动机器的各个发送指令。
所述发明中,控制装置经由网络来收集示教装置所发送的指令,并将所收集的指令经由网络而发送至作为对象的驱动机器。
根据本发明,示教装置能够利用在网络上进行的控制装置与各驱动机器之间的数据交换,来对多个驱动机器的各个发送指令。
所述发明中,控制装置将所收集的指令保存在通信帧(frame)的分配给对象驱动机器的区域中,并经由网络来送出所述通信帧。对象驱动机器在收到通信帧时,读出在分配给对象驱动机器的区域中保存的指令。
根据本发明,能够利用通信帧来针对对象驱动机器发送指令。
所述发明中,控制装置及多个驱动机器各自具有彼此经时刻同步的计时器(timer)。控制装置以计时器所管理的时刻作为基准,来决定输出信号的同步时机,所述信号与多个驱动机器的各个中收到的指令对应。
根据本发明,示教装置能够对多个驱动机器同时给予指令,因此能够使彼此使动作时机彼此同步的多个驱动机器同时动作而进行示教。
所述发明中,控制装置及多个驱动机器各自具有彼此经时刻同步的计时器。控制装置经由网络而在每个规定周期送出通信帧。示教装置在未传输通信帧的期间,发送针对对象驱动机器的指令,并且指示输出信号的时机,所述信号与对象驱动机器中收到的指令对应。
根据本发明,示教装置能够利用消息(message)通信来针对对象驱动机器发送指令。此时,针对对象驱动机器来通知输出与指令对应的信号的时机,由此,能够在多个驱动机器之间使输出时机同步。
所述发明中,多个驱动机器中的第1驱动机器在从示教装置收到用于驱动对应的第1控制对象的指令时,判定因执行指令造成的第1控制对象与第2控制对象之间的碰撞可能性。当判定为存在碰撞可能性时,第1驱动机器中止指令的执行,并且通知示教装置不能执行指令。
根据本发明,控制装置及多个驱动机器间能够经由网络来交换数据,因此在从示教装置针对对象驱动机器给予指令的场景中,对象驱动机器能够给予自身机器与其他驱动机器的相对位置关系来判定两者间的碰撞可能性。进而,当判定为存在碰撞可能性时,对象驱动机器能够执行用于回避碰撞的处理。
所述发明中,多个驱动机器中的第1驱动机器在从示教装置收到用于驱动对应的第1控制对象的指令时,判定因执行指令造成的第1控制对象与第2控制对象之间的碰撞可能性。当判定为存在碰撞可能性时,第1驱动机器经由网络来对控制装置发送针对驱动第2控制对象的第2驱动机器的碰撞回避指令。控制装置在收到碰撞回避指令时,将包含第2控制对象的修正位置的指令经由网络而发送至第2驱动机器。
根据本发明,控制装置及多个驱动机器间能够经由网络来交换数据,因此在从示教装置针对对象驱动机器给予指令的场景中,对象驱动机器能够基于自身机器与其他驱动机器的相对位置关系来判定两者间的碰撞可能性。进而,当判定为存在碰撞可能性时,控制装置与第1及第2驱动机器能够彼此联系,而执行用于回避碰撞的处理。
所述发明中,控制系统还包括视觉传感器,所述视觉传感器连接于网络,且具有以拍摄多个控制对象的方式而配置的拍摄部。示教装置包括:显示部,显示从视觉传感器经由网络而传输的、由拍摄部所拍摄的图像;以及操作部,受理输入针对对象驱动机器的指令的操作。
根据本发明,示教装置能够从连接于网络的视觉传感器接收对控制对象的行为进行拍摄所得的图像并予以显示。由此,用户能够一边监控显示于示教装置的、作为控制对象的机械或设备的行为,一边对控制对象驱动机器给予指令。由此,用户对于目测困难的控制对象的行为,也能够使其示教给驱动机器。
所述发明中,示教装置包含操作部,所述操作部受理输入停止指令的操作,经由网络来对多个驱动机器中的至少一个驱动机器发送停止指令。
根据本发明,能够将在紧急时从示教装发出的停止指令经由网络而输出至多个驱动机器。由此,能够使多个驱动机器紧急停止。而且,示教装置通过仅对预先设定的特定的驱动机器输出停止指令,能够仅使特定的驱动机器紧急停止。
所述发明中,控制系统还包括传感器元件,所述传感器元件连接于网络,对多个控制对象的状态进行探测。示教装置经由网络来接收传感器元件的输出值。
根据本发明,用户在使用示教装置来使控制对象移动时,能够确认传感器元件针对控制对象的行为输出正确的值。
发明的效果
根据本发明的一例,能够提供一种控制系统,其针对经网络连接的多个驱动机器,能够使用单个示教装置来同时示教对应的控制对象的动作。
附图说明
图1是表示本实施方式的控制系统的适用场景的一例的示意图。
图2是表示图1所示的示教器的结构例的示意图。
图3是表示本实施方式的控制系统的硬件结构例的框图。
图4是用于说明本实施方式的控制系统中的数据通信的第1结构例的示意图。
图5是用于说明本实施方式的控制系统中的数据通信的第2结构例的示意图。
图6是用于说明本实施方式的控制系统中的数据通信的第3结构例的示意图。
图7是用于说明本实施方式的控制系统中的数据通信的第4结构例的示意图。
图8是表示在本实施方式的控制系统中所使用的输入/输出(Input/Output,I/O)刷新帧(refresh frame)的数据结构的一例的示意图。
图9是用于说明从控制装置对驱动机器输出指令所需的处理的图。
图10是用于对本实施方式的控制系统所提供的输出时机同步功能进行说明的示意图。
图11是表示与本实施方式的控制系统所提供的输出时机同步功能相关的各部的处理(其一)的时间图(timing chart)。
图12是表示与本实施方式的控制系统中的输出时机同步功能相关的处理流程(其二)的流程图。
图13的(A)至图13的(C)是表示对来自示教器的指令进行消息通信的示例的示意图。
图14是用于对使用消息通信的输出时机同步功能进行说明的示意图。
图15是表示本实施方式的控制系统中的紧急停止处理的一例的示意图。
图16是表示本实施方式的控制系统中的紧急停止处理的另一例的示意图。
图17是表示本实施方式的控制系统中的动作确认处理的一例的示意图。
图18是用于对本实施方式的控制系统所提供的碰撞回避功能进行说明的示意图。
图19A及图19B是用于说明本实施方式的控制系统中的其他机器人回避模式的示意图。
图20是表示本实施方式的控制系统中的碰撞回避功能的处理流程的流程图。
符号的说明
1:控制系统
2:现场网络
3:上位网络
100:控制装置
102:处理器
104:存储器
106:贮存器
107:系统程序
108:用户应用程序
109:总线
112、209、503:计时器
114、202、206、207、504、505、508、514、601~603:通信端口
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:载台
具体实施方式
对于本发明的实施方式,参照附图来进行详细说明。另外,对于图中相同或相当的部分标注相同的符号,并不再重复其说明。
<A.适用例>
首先,参照图1来说明适用本发明的场景的一例。图1是表示本实施方式的控制系统1的适用场景的一例的示意图。图1中,表示以控制装置100为中心的控制系统1。
控制装置100相当于对各种设备或装置等控制对象进行控制的工业用控制器。控制装置100是执行如后所述的控制运算的一种计算机(computer),典型的是,也可作为可编程逻辑控制器(Programmable Logic Controller,PLC)(可编程控制器)而具现化。控制装置100也可经由现场网络(field network)2等而与各种现场机器500连接。控制装置100经由现场网络2来与一个或多个现场机器500之间交换数据。一般而言,“现场网络”也被称作“现场总线(field bus)”,但为了简化说明,在以下的说明中,总称作“现场网络”。
在控制装置100中执行的控制运算包含:对在现场机器500中收集或生成的数据(以下也称作“输入数据”)进行收集的处理(输入处理);生成针对现场机器500的指令等数据(以下也称作“输出数据”)的处理(运算处理);以及将所生成的输出数据发送至作为对象的现场机器500的处理(输出处理)等。
现场网络2优选采用进行保证数据到达时间的固定周期通信的总线或网络。作为此种进行固定周期通信的总线或网络,已知有EtherCAT(注册商标)、EtherNet/IP(注册商标)、DeviceNet(注册商标)、CompoNet(注册商标)等。
在实现此种现场数据的转发时,设想与数据转发相关的各部具有彼此经时刻同步的计时器的结构。即,在总线或网络中,各部以使用彼此经时刻同步的计时器来指定的时机,进行数据的发送或接收。
在现场网络2上,能够连接任意的现场机器500。现场机器500包含对制造装置或生产线(line)等(以下也总称作“现场”)给予某些物理作用的致动器(actuator)、及与现场之间交换信息的输入/输出装置等。
经由现场网络2,在控制装置100与现场机器500之间交换数据,但这些交换数据将以数百微秒级(order)至数十毫秒级的极短周期受到更新。另外,此类交换数据的更新处理也被称作输入/输出刷新处理。
图1所示的结构例中,现场机器500包含远程(remote)输入/输出(Input/Output,I/O)装置510、伺服驱动器(servo driver)520及伺服马达522、机器人控制器530及机器人532、机器人534、以及视觉传感器540。现场机器500并不限于这些,能够采用收集输入数据的任意元件、给予依据输出数据的某些作用的任意元件等。
远程I/O装置510连接输入中继器(relay)或各种传感器(例如模拟传感器(analogsensor)、温度传感器、振动传感器等)等收集输入数据的装置、及输出中继器、接触器(contactor)、伺服驱动器以及其他任意致动器等对于现场也给予某些作用的装置。
伺服驱动器520根据来自控制装置100的输出数据(例如位置指令或速度指令等)来驱动伺服马达522。
机器人控制器530根据来自控制装置100的位置指令等,来进行轨道计算及各轴的角度计算等,并且根据计算结果来驱动构成机器人532、534的伺服马达等。在图1所示的结构例中,机器人532为并行机器人(parallel robot),机器人534为多关节机器人。另外,作为机器人,并不限于图1所示的机构,能够采用任意机构。而且,为了便于说明,例示了机器人控制器530与机器人532、534分离的结构,但并不限于此,也可将两者一体化。
视觉传感器540是将拍摄部542与图像处理部(未图示)一体地构成,所述拍摄部542用于对作为控制对象的机械或设备及工件(work)等被摄物进行拍摄,所述图像处理部用于对由拍摄部542所拍摄的图像进行处理。但是,拍摄部542与图像处理部也可构成为独立体。
控制装置100也经由上位网络3而连接于其他装置。对于上位网络3,也可采用作为一般网络协议(network protocol)的以太网(Ethernet)(注册商标)或EtherNet/IP(注册商标)。更具体而言,在上位网络3上,也可连接有一个或多个服务器装置300以及一个或多个显示装置400。
作为服务器装置300,设想数据库系统(database system)、制造执行系统(Manufacturing Execution System,MES)等。并不限于此,也可将提供信息系统服务(service)的装置连接于上位网络3。作为信息系统服务,设想下述处理,即:获取来自作为控制对象的制造装置或设备的信息,来进行宏观(micro)的或微观(micro)分析的处理。
显示装置400受理来自用户的操作,对控制装置100输出与用户操作相应的命令,并且以图形(graphical)方式显示控制装置100中的运算结果等。
在作为机器人532、534的驱动机器的机器人控制器530以及作为伺服马达522的驱动机器的伺服驱动器520上,可连接示教器200。示教器200是用于对驱动机器示教作为控制对象的机械或设备的动作的装置。具体而言,示教器200显示来自视觉传感器540的图像数据或来自驱动机器的控制对象的动作状态等,并且响应来自用户的操作来对驱动机器给予各种指令。用户一边参照示教器200的显示,一边操作示教器200,由此,能够使控制对象移动至校准(calibration)等所需的位置。
在图1所示的结构例中,示教器200连接于驱动机器人534的机器人控制器530。对于机器人控制器530与示教器200的通信,使用串行(serial)通信。另外,也可使用并行通信。作为一例,用于示教器200与机器人控制器530的连接的通信线为发送用与接收用这两条。
示教器200对机器人控制器530输出与用户操作相应的指令等。所述指令包含表示机器人控制器530的控制对象即机器人534的目标位置的位置指令、或表示机器人534的目标速度的速度指令等。
在本实施方式的控制系统1中,示教器200能够进一步对连接于现场网络2的至少一个驱动机器,经由现场网络2而输出指令。图1中例示了下述情况,即,朝向示教器200的连接目标即驱动机器(机器人控制器530)以外的多个驱动机器(机器人控制器530及伺服驱动器520)输出指令。此种情况下,从示教器200输出的指令经由作为连接目标的驱动机器(机器人控制器530)而输出至现场网络2。然后,将所述指令经由现场网络2而发送至各驱动机器。
即,示教器200能够利用现场网络2来对多个驱动机器(机器人控制器530及伺服驱动器520)同时输出指令。据此,用户能够通过单个示教器200,来对连接于现场网络2的多个驱动机器同时示教对应的控制对象的动作。
而且,示教器200经由现场网络2及作为连接目标的驱动机器(机器人控制器530)来接收由视觉传感器540的拍摄部542所拍摄的图像。示教器200能够将所接收的图像显示于显示部。
图2是表示图1所示的示教器200的结构例的示意图。
参照图2,示教器200具有操作部204及显示部203。操作部204包含用户操作的各种按键(key),从用户受理包含针对示教器200的指示的输入。操作部204包含能够使伺服马达522及机器人532、534紧急停止的紧急停止按钮(button)205。
显示部203例如包含液晶显示器(Liquid Crystal Display,LCD)或有机电致发光(Electro Luminescence,EL)显示器,显示与用户的按键操作对应的图像。显示部203还能够显示由视觉传感器540的拍摄部542所拍摄的图像。图2所示的结构例中,显示部203具有:区域RE1,显示作为控制对象的机械或设备的动作状态;区域RE2,显示针对控制对象的指令;以及区域RE3,显示由视觉传感器540的拍摄部542所拍摄的图像。
即,示教器200能够以下述方式来控制显示部203,即,在执行针对作为控制对象的机械或设备的指令时,在同一画面中显示控制对象的行为,并显示针对控制对象的指令。由此,用户能够在同一画面中确认控制对象的行为与实现此行为的指令。用户能够进一步对操作部204进行操作,以登记控制对象的位置。用户还能够对操作部204进行操作以输入针对控制对象的指令,由此来对控制对象的动作或作业进行编程。
示教器200对应于“示教装置”的一实施例。另外,作为示教装置,并不限于图1及图2所示的结构,能够采用任意结构。而且,图1及图2中,例示了驱动机器与示教装置分离的结构,但并不限于此,也可将两者一体化。即,也可将示教装置内置于驱动机器。
<B.控制系统的硬件结构例>
接下来,对本实施方式的控制系统1的硬件结构例进行说明。
图3是表示本实施方式的控制系统1的硬件结构例的框图。控制系统1具备控制装置100、及经由现场网络2而连接的多个现场机器。本实施方式中,作为现场机器,包含远程I/O装置510、伺服驱动器520及伺服马达522、机器人控制器530及机器人532、机器人534以及视觉传感器540。
控制装置100包含处理器(processor)102、存储器(memory)104、贮存器(storage)106及通信接口(Interface,I/F)110,以作为主要的组件(component)。这些组件经由总线109而连接。
处理器102将保存在贮存器106中的系统程序(system program)107及用户应用程序(user application program)108读出至存储器104中并予以执行,从而实现各种处理。存储器104包含动态随机存取存储器(Dynamic Random Access Memory,DRAM)或静态随机存取存储器(Static Random Access Memory,SRAM)等易失性存储装置。贮存器106包含硬盘(hard disk)或快闪存储器(flash memory)等非易失性存储装置。在贮存器106中,除了用于对控制装置100的各部进行控制的系统程序107以外,还保存根据控制对象等而设计的用户应用程序108。通信I/F110相当于将从其他装置接收的数据转发给其他装置的收发电路。通信I/F110包含连接于现场网络2的通信端口(port)。
远程I/O装置510包含通信控制部511与通信I/F512。通信控制部511在控制装置100与连接于远程I/O装置510的一个或多个装置之间,对请求进行中介。例如,响应来自控制装置100的通信请求,来对一个或多个装置请求输出数据的发送。
伺服驱动器520包含伺服控制部525与通信I/F526。伺服控制部525基于来自控制装置100或示教器200的指令,生成向对应的伺服马达522输出的命令,根据所生成的命令来控制对应的伺服马达522。在伺服马达522的旋转轴上设有编码器(encoder)(未图示)。所述编码器将伺服马达522的位置(旋转角度)、转速、累积旋转数等反馈(feedback)给伺服控制部525。伺服控制部525具有发送伺服马达522的目标位置及目标转速等的接口、与接收伺服马达522的当前位置及当前转速等的接口。
通信I/F526相当于将从其他装置接收的数据转发给其他装置的收发电路。通信I/F526如后所述,包含连接于现场网络2的通信端口。
机器人控制器530包含机器人控制部535与通信I/F536。机器人控制部535基于来自控制装置100或示教器200的指令,生成向对应的机器人输出的命令,根据所生成的命令来控制对应的机器人。具体而言,在机器人控制部535中,内置有一个或多个伺服驱动器,各伺服驱动器控制对应的伺服马达。在伺服马达的旋转轴上设有编码器(未图示)。所述编码器将伺服马达的位置(旋转角度)、伺服马达的转速、伺服马达的累积旋转数等反馈给对应的伺服驱动器。另外,所述伺服驱动器未必需要内置在机器人控制器530中,也可独立于机器人控制器530而设。
视觉传感器540包含拍摄部542与图像处理部544。拍摄部542是对处于拍摄范围内的被摄物进行拍摄的装置,包含镜头(lens)或光圈等光学系统、以及电荷耦合器件(ChargeCoupled Device,CCD)影像传感器(image sensor)或金属氧化物半导体(ComplementaryMetal Oxide Semiconductor,CMOS)影像传感器等受光元件,以作为主要的构成元件。拍摄部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而以菊链(daisychain)连接。在控制系统1中的数据通信中,控制装置100作为对网络内的数据传输进行管理的主机(master)发挥功能,多个现场机器500的各个作为依据来自主机的指令进行数据传输的从机(slave)发挥功能。以下的说明中,也将多个现场机器500分别称作从机#01~#05…。但是,控制装置100及多个现场机器500的连接方式并不限定于菊链,也可为树型(tree)连接或星型(star)连接之类的其他连接方式。
控制装置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、收发控制器(Tx/Rx CTRL)116及计时器112。通信端口114是与现场网络2物理连接的部位,依据来自收发控制器116的指令而生成电信号并发送至现场网络2上,并且将现场网络2上产生的电信号转换为数字(digital)信号并输出至收发控制器116。
收发控制器116进行与在现场网络2上转发的通信帧的生成及接收相关的处理。
计时器112产生脉冲(pulse),所述脉冲成为从收发控制器116指示通信帧等的发送等的时机的基准。计时器112也可采用实时时钟(realtime clock),但在本实施方式中,是使用以规定周期进行增序计数(count up)(增量(increment))的自由运行计数器(freerunning counter)。通过将自由运行计数器所输出的计数器值作为从某时间点计起的经过时间来进行处理,从而能够计算当前时刻,由此,能够使其作为计时器来发挥功能。
在现场机器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.示教器的连接方式>
接下来,对示教器200相对于现场网络2的连接方式进行说明。示教器200的连接方式并不限定于图4所示的连接方式,能够采用图5至图7所示的连接方式。
图5是用于说明本实施方式的控制系统1中的数据通信的第2结构例的示意图。
图5所示的第2结构例相对于图4所示的第1结构例,示教器200的连接方式不同。图5中,示教器200相对于控制装置100及多个现场机器500,经由现场网络2而以菊链连接。即,示教器200可在数据通信中作为从机发挥功能。图5所示的示例中,示教器200构成从机#04。
示教器200包含通信端口206、通信端口207、收发控制器208及计时器209,以作为通信I/F202。通信端口206、207是与现场网络2物理连接的部位,根据来自收发控制器208的指令,进行在现场网络2上传输的通信帧的接收及再生等处理,从而实现通信帧的依序转发。
收发控制器208进行针对在现场网络2上转发的通信帧的数据写入及/或数据读出。
计时器209产生时钟,所述时钟成为收发控制器208的指令输出或现场信息收集等的时机的基准。计时器209与计时器112及计时器503彼此进行时刻同步。作为计时器209,也可采用实时时钟,但在本实施方式中,是使用以规定周期来进行增序计数(增量)的自由运行计数器。
图6是用于说明本实施方式的控制系统1中的数据通信的第3结构例的示意图。
图6所示的第3结构例相对于图4所示的第1结构例,示教器200的连接方式不同。图6中,开关(switch)600相对于控制装置100及多个现场机器500,经由现场网络2而以菊链连接。
开关600包含通信端口601~603及收发控制器604。通信端口601、602与现场网络2物理连接。通信端口603经由通信线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)包含连接作为控制对象的机械或设备的通信端口514、连接示教器200的通信端口508、以及对通信端口508、514与收发控制器506的连接进行切换的开关515,以作为通信I/F502。例如,在通信端口514上,连接机器人的末端执行器(end effector)537。末端执行器例如为工件的拾取工具(pickup tool),连结于机器人的臂(arm)。
开关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包含用于保存帧种类或目的地等的报头(header)部、与保存数据的本体部。
作为保存在报头部中的帧种类,也可使用用于确定通信帧种类的识别信息,例如使用表示是单播(unicast)、多播(multicast)、广播(broadcast)中的哪一种的识别信息。作为目的地,使用作为发送目标的现场机器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中,生成面向对象驱动机器的输出数据,并执行压缩(pack)处理,所述压缩处理用于将此生成的数据保存到通信帧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载台(stage)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:与输出时机同步功能相关的处理(其一))
图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作为最高级时钟(grand master clock)发挥功能,使现场机器500的计时器503与此最高级时钟同步。由此,控制装置100及现场机器500能够依照共同的时钟来执行各种控制及动作(action)。在此种环境下,对各现场机器500指定在每个规定周期设定的启动基准时刻Tt及以启动基准时刻Tt为基准而设定的输出同步时机Tout,各现场机器500以指定的时机来执行指定的处理。
图11的结构例中,对控制装置100设定开始时机TR1,所述开始时机TR1触发(trigger)压缩处理的执行开始。而且,针对连接于控制装置100的机器人控制器530及伺服驱动器520A、520B的各个,设定输出同步时机Tout。这样,在机器人控制器530及伺服驱动器520A、520B的各个中,指示将与所接收的输出数据对应的信号输出至外部或者进行更新的时机。
对于如上所述的输出同步时机的计算及设定,也可通过任意一个或多个运算主体来实现。典型的是,既可将用于进行输出同步时机的计算及设定的逻辑电路(logic)安装于控制装置100内,或者,也可将用于进行输出同步时机的计算及设定的功能安装于示教器200中。
在任一安装中,均由控制装置100对机器人控制器530及伺服驱动器520A、520B的各个,指示应将与输出数据对应的信号输出至外部或进行更新的时机(输出同步时机Tout)。输出同步时机Tout是以控制装置100的最高级时钟即计时器112所管理的时刻(例如启动基准时刻Tt)为基准而设定。这是因为,控制系统1中所含的现场机器500的各个已与最高级时钟即计时器112进行了时刻同步。
图12是表示与本实施方式的控制系统1中的输出时机同步功能相关的处理流程的流程图。图12中,作为典型例,对通过控制装置100的处理器102执行系统程序107来实施各步骤的示例进行说明。但是,也可由其他单元或示教器200等执行以下所示的各步骤的全部或一部分。
参照图12,处理器102参照保存在存储器104中的配置(configuration)等,分别算出连接于控制装置100的每个现场机器的延迟时间(步骤S100),并将所算出的延迟时间中的最大者决定为最大延迟时间Dmax(步骤S101)。
处理器102基于在步骤S101中决定的最大延迟时间Dmax,来决定控制系统1整体的输出同步时机Tout(步骤S102)。
处理器102将在步骤S102中决定的输出同步时机Tout通知给各现场机器500(步骤S103)。各现场机器500根据来自控制装置100的通知,来设定所需的时机。
通过以上的处理,输出时机同步功能所需的设定完成。构成控制系统1的各现场机器500根据所设定的时机,来反复执行处理。
(g2:与输出时机同步功能相关的处理(其二))
在图11及图12中,对下述结构进行了说明,即,在执行I/O刷新处理的期间,利用作为I/O刷新帧的通信帧,将来自示教器200的指令发送至作为对象的现场机器500,但在执行I/O刷新处理的期间以外的期间,也可使用消息通信而将来自示教器200的指令发送至作为对象的现场机器500。
如上所述,本实施方式的控制系统1中,控制装置100与现场机器500被维持为内置在各自中的计时器已彼此同步的状态。因此,从示教器200收到指令的多个驱动机器的各个能够基于彼此同步的计时器,来使输出时机同步。
图13的(A)至图13的(C)中表示除了在每个规定周期反复执行的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。图13的(B)所示的示例中,消息帧MSGFL是从给予消息发送请求起经过延迟时间D1后,开始送出。
而且,如图13的(C)所示,若假设在用于进行I/O刷新的通信帧FL的刚要传输之前,给予有消息发送请求,则此时,由于通信帧FL的传输期间迫在眉睫,因此消息帧MSGFL的生成及送出受到妨碍,在后续的通信帧FL的传输完成后,才生成及送出消息帧MSGFL。图13的(C)所示的示例中,消息帧MSGFL是在从给予消息发送请求起经过延迟时间D2后,开始送出。
这样,在周期性地传输用于进行I/O刷新的通信帧FL的现场网络2中,从给予有消息发送请求开始,直至实际送出消息帧MSGFL为止,会产生一定程度的传输延迟。进而,在发布有多个消息发送请求的情况下,根据发送要求的数量等,会产生消息帧MSGFL的发送延迟。
因此,在从示教器200对多个驱动机器的各个使用消息通信来发送指令的情况下,输出数据可从多个驱动机器的各个输出的时机有可能互不相同。因此,将应将与输出数据对应的信号输出至外部或进行更新的时机(输出同步时机),与来自示教器200的指令一同写入至发送向各驱动机器的消息帧MSGFL,由此,将输出同步时机通知给各驱动机器。另外,输出同步时机也可以计数值或时钟值的形式来通知。
图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在收到通信帧时,将从拍摄部542收集的图像数据写入至对连接示教器200的现场机器500分配的区域中。所述现场机器500在收到通信帧时,读出在分配给自身机器的区域中保存的图像数据,并将所读出的图像数据发送至示教器200。示教器200使所收到的图像数据显示于显示部203。
或者,在图5及图6所示的结构例中,视觉传感器540在收到通信帧时,将从拍摄部542收集的图像数据写入至分配给示教器200的区域中。示教器200在收到通信帧时,读出在分配给自身机器的区域中保存的图像数据,并将所读出的图像数据显示于显示部203。
这样,示教器200经由现场网络2而接收来自视觉传感器540的图像数据,并使所收到的图像数据显示于显示部203。由此,用户能够一边监控作为控制对象的机械或设备的行为,一边对控制对象驱动机器给予指令。例如,在抓住载台上的工件而使其移动的机器人中,有时用户无法目测到机器人的末端执行器的行为。此种情况下,通过使用视觉传感器540来拍摄末端执行器的行为,从而用户能够一边确认显示于示教器200的显示部203上的、末端执行器的行为,一边对驱动机器人的机器人控制器给予指令。
但是,接收图像数据的驱动机器或示教器200的接收缓冲器(buffer)等会受到元件(device)固有性能影响,因此一次能够发送的数据大小(size)也有时受到限制。此种情况下,减小所发送的图像数据的数据大小的发送单位。即,减小一次发送的图像数据的大小,并且分为更多的发送次数来发送整个数据。这样,在接收侧的驱动机器或示教器200可接收的最大大小较小的情况下,减小发送大小的发送单位。
<I.控制系统的安全(safety)功能>
接下来,对本实施方式的控制系统1所提供的安全功能进行说明。
例如,当在使用所述视觉传感器540的监控动作的执行中检测到控制对象的行为存在异常时,用户通过操作示教器200上所设的紧急停止按钮205(参照图2),便能够使控制对象驱动机器紧急停止。
图15是表示本实施方式的控制系统1中的紧急停止处理的一例的示意图。图15所示的示例中,当示教器200的紧急停止按钮205受到操作时,朝向控制系统1中的多个驱动机器发出停止指令。由此,使多个驱动机器全部停止。
图16是表示本实施方式的控制系统1中的紧急停止处理的另一例的示意图。图16所示的示例中,当示教器200的紧急停止按钮205受到操作时,朝向特定的驱动机器发出停止指令。由此,仅使特定的驱动机器停止。特定的驱动机器包含一个或多个驱动机器,能够由用户预先对示教器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的接通/断开值显示于显示部203。
例如,在以机器人33移动到规定位置时传感器元件550输出接通值的方式来设计制造设备的场景中,用户一边利用示教器200的显示部203来监控传感器元件550的输出值,一边对操作部204进行操作以使机器人533移动。用户在使机器人533移动到规定位置时,能够确认传感器元件550正确输出接通值的情况。另一方面,若传感器元件550未输出接通值,则用户能够判断为存在机器人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为顺应性装配机械臂(SelectiveCompliance Assembly Robot Arm,SCARA)机器人,机器人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。另外,碰撞回避指令只要对回避对象机器人中的、存在碰撞可能性的机器人的驱动机器进行通知即可。
图19A及图19B是用于说明本实施方式的控制系统1中的其他机器人回避模式的示意图。另外,为了便于说明,在图19A及图19B中,将作为动作对象的机器人533的当前位置表示为P1,将目标位置表示为P1*。而且,将作为回避对象的机器人532、533的当前位置分别表示为P2、P3。
如图19A所示,当作为动作对象的机器人533的目标位置P1*、与作为回避对象的机器人532的当前位置P2之间的距离为阈值X1以下时,由于作为动作对象的机器人533与作为回避对象的机器人532的相对位置关系处于特定位置关系,因此判定为作为动作对象的机器人533与作为回避对象的机器人532存在碰撞的可能性。同样,当作为动作对象的机器人533的目标位置P1*、与作为回避对象的机器人534的当前位置P3之间的距离为阈值X1以下时,由于作为动作对象的机器人533与作为回避对象的机器人534的相对位置关系处于特定位置关系,因此判定为作为动作对象的机器人533与作为回避对象的机器人534存在碰撞的可能性。
因此,控制装置100在从机器人控制器530B收到针对机器人532、534的碰撞回避指令时,对于机器人532、534分别算出修正位置。在图19A所示的示例中,将位置P2#设为机器人532的修正位置,所述位置P2#处于以目标位置P1*为中心、阈值X1为半径的圆状区域k1的范围外,且与机器人532的当前位置P2之间的距离为规定值以下。而且,将处于区域k1的范围外且与机器人534的当前位置P3之间的距离为规定值以下的位置P3#设为机器人534的修正位置。
图19B中表示下述情况:连接作为动作对象的机器人533的当前位置P1和目标位置P1*的轨迹(相当于图中的实线箭头)、与作为回避对象的机器人532、534各自的当前位置之间的最短距离为阈值X2以下。此种情况下,由于作为动作对象的机器人533与作为回避对象的机器人532、534的相对位置关系处于特定位置关系,因此判定为作为动作对象的机器人533与作为回避对象的机器人532、534存在碰撞的可能性。
控制装置100在从机器人控制器530B收到针对机器人532、534的碰撞回避指令时,对于机器人532、534分别算出修正位置。在图19B所示的示例中,将位置P2#设为机器人532的修正位置,所述位置P2#处于连接当前位置P1和目标位置P1*的轨迹之间的最短距离为阈值X2以下的区域k2的范围外,且与机器人532的当前位置P2之间的距离为规定值以下。而且,将处于区域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所示的结构例时的碰撞回避功能的处理流程。另外,在图20所示的处理流程之前,先由用户指定作为动作对象的现场机器500(机器人控制器530B及机器人533)。而且,由用户或示教器200指定作为回避对象的现场机器500(机器人控制器530A及机器人532以及机器人控制器530C及机器人534)。
参照图20,被指定为动作对象的机器人控制器530B接收从被指定为回避对象的机器人控制器530A及530B分别输出的、机器人532及534的位置信息(步骤S110)。
机器人控制器530B判定是否从示教器200收到针对作为动作对象的机器人533的位置指令(步骤S111)。若未收到来自示教器200的位置指令(S111的否判定时),则机器人控制器530B跳过(skip)以后的处理S112~S122而结束处理。
另一方面,若从示教器200收到了针对机器人533的位置指令(S111的是判定时),则机器人控制器530B判定作为动作对象的机器人533与作为回避对象的机器人532、534的碰撞可能性(步骤S112)。机器人控制器530B基于作为动作对象的机器人533的当前位置及目标位置、与作为回避对象的机器人532、534的当前位置,来判定是否存在碰撞可能性。
若在步骤S112中判定为无碰撞可能性(S112的否判定时),则机器人控制器530B根据来自示教器200的位置指令来使机器人533移动(步骤S120)。并且,当机器人533移动到目标位置时,机器人控制器530B判定为机器人533的动作已完成(S121的是判定时),对示教器200通知动作完成(步骤S122)。收到通知的示教器200使此通知显示于显示部203,从而将机器人533的动作完成告知给用户。
与此相对,若在步骤S112中判定为存在碰撞可能性(S112的是判定时),机器人控制器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.总结>
根据本实施方式,在多个驱动机器及控制它们的控制装置经网络连接而成的控制系统中,示教装置能够利用网络来对多个驱动机器同时发送指令。由此,能够通过单个示教装置来对多个驱动机器同时进行示教。因此,与逐个地选择示教对象驱动机器来进行示教的以往结构相比,能够提高作业效率。
而且,由于多个驱动机器连接于所谓的工业用网络,因此不会如以往的结构那样,可连接的驱动机器的台数受到控制装置的硬件限制。对于驱动机器的机型,只要是可连接于工业用网络的机型便能够连接,因此也不会受到控制装置的硬件限制。
而且,根据本实施方式,示教装置能够对多个驱动机器同时给予指令,因此能够使必须使动作时机彼此同步的多个驱动机器同时动作而进行示教。
而且,根据本实施方式,示教装置能够从连接于网络的视觉传感器接收对控制对象的行为进行拍摄所得的图像并予以显示。由此,用户能够一边监控显示于示教装置的、作为控制对象的机械或设备的行为,一边对控制对象驱动机器给予指令。由此,用户对于目测困难的控制对象的行为,也能够使其示教给驱动机器。
而且,根据本实施方式,能够将在紧急时从示教装发出的停止指令经由网络而输出至多个驱动机器。由此,能够使多个驱动机器紧急停止。而且,示教装置通过仅对预先设定的特定的驱动机器输出停止指令,能够仅使特定的驱动机器紧急停止。
而且,根据本实施方式,控制装置及多个驱动机器间能够经由网络来交换数据,因此在从示教装置针对对象驱动机器给予指令的场景中,对象驱动机器能够基于自身机器与其他驱动机器的相对位置关系来判定两者间的碰撞可能性。进而,当判定为存在碰撞可能性时,控制装置与对象驱动机器及其他驱动机器能够彼此联系,而执行用于回避碰撞的处理。
<M.附注>
如上所述的本实施方式包含如下所述的技术思想。
结构1
一种控制系统,是用于控制多个控制对象的控制系统1,其包括:多个驱动机器500、520、530、530A~530C,连接于网络2,分别驱动所述多个控制对象522、532~534;控制装置100,经由所述网络来控制所述多个驱动机器;以及示教装置200,用于对所述多个驱动机器示教对应的控制对象的动作,所述示教装置经由所述网络来对所述多个驱动机器中的至少一个驱动机器,发送用于驱动对应的控制对象的指令。
结构2
根据结构1所述的控制系统,其中,示教装置经由通信线509而与多个驱动机器中的第1驱动机器连接,将针对多个驱动机器中的第2驱动机器的指令输出至第1驱动机器,第1驱动机器将针对第2驱动机器的指令经由网络而发送至第2驱动机器。
结构3
根据结构1的控制系统,其中,示教装置连接于网络,经由网络来针对对象驱动机器发送用于驱动对应的控制对象的指令。
结构4
根据结构1至3中任一项所述的控制系统,其中,控制装置经由网络来收集示教装置所发送的指令,并将所收集的指令经由网络而发送至作为对象的驱动机器。
结构5
根据结构4所述的控制系统,其中,控制装置将所收集的指令保存在通信帧的分配给对象驱动机器的区域中,并经由网络来送出通信帧,对象驱动机器在收到通信帧时,读出在分配给对象驱动机器的区域中保存的指令。
结构6
根据结构1所述的控制系统,其中,控制装置及多个驱动机器各自具有彼此经时刻同步的计时器112、503,控制装置以计时器所管理的时刻作为基准,来决定输出信号的同步时机,所述信号与多个驱动机器的各个中收到的指令对应。
结构7
根据结构1所述的控制系统,其中,控制装置及多个驱动机器各自具有彼此经时刻同步的计时器,控制装置经由网络而在每个规定周期送出通信帧,示教装置在未传输通信帧的期间,发送针对对象驱动机器的指令,并且指示输出信号的时机,所述信号与对象驱动机器中收到的指令对应。
结构8
根据结构1所述的控制系统,其中,多个驱动机器中的第1驱动机器在从示教装置收到用于驱动对应的第1控制对象的指令时,判定因执行指令造成的第1控制对象与第2控制对象之间的碰撞可能性,第1驱动机器在判定为存在碰撞可能性时,中止指令的执行,并且通知示教装置不能执行所述指令。
结构9
根据结构1所述的控制系统,其中,多个驱动机器中的第1驱动机器在从示教装置收到用于驱动对应的第1控制对象的指令时,判定因执行指令造成的第1控制对象与第2控制对象之间的碰撞可能性,第1驱动机器在判定为存在碰撞可能性时,经由网络来对控制装置发送针对驱动第2控制对象的第2驱动机器的碰撞回避指令,控制装置在收到碰撞回避指令时,将包含第2控制对象的修正位置的指令经由网络而发送至第2驱动机器。
结构10
根据结构1所述的控制系统,还包括:视觉传感器540,连接于网络,且具有以拍摄多个控制对象的方式而配置的拍摄部542,示教装置包括:显示部203,显示从视觉传感器经由网络而传输的、由拍摄部所拍摄的图像;以及操作部204,受理输入针对对象驱动机器的指令的操作。
结构11
根据结构1所述的控制系统,其中,示教装置包含操作部204,所述操作部204受理输入停止指令的操作,经由网络来对多个驱动机器中的至少一个驱动机器发送停止指令。
结构12
根据结构1所述的控制系统,还包括:传感器元件550,连接于网络,对多个控制对象的状态进行探测,示教装置经由网络来接收传感器元件的输出值。
应认为,本次揭示的实施方式在所有方面仅为例示而非限制者。本发明的范围是由权利要求而非所述说明所示,且意图包含与权利要求均等的含义及范围内的所有变更。
Claims (11)
1.一种控制系统,用于控制多个控制对象,所述控制系统的特征在于包括:
多个驱动机器,连接于网络,分别驱动所述多个控制对象;
控制装置,经由所述网络来控制所述多个驱动机器;以及
示教装置,用于对所述多个驱动机器示教对应的控制对象的动作,
所述示教装置经由所述网络来对所述多个驱动机器中的至少一个驱动机器,发送用于驱动所述对应的控制对象的指令,
所述示教装置经由通信线而与所述多个驱动机器中的第1驱动机器连接,将针对所述多个驱动机器中的第2驱动机器的指令输出至所述第1驱动机器,
所述第1驱动机器将针对所述第2驱动机器的指令经由所述网络而发送至所述第2驱动机器。
2.根据权利要求1所述的控制系统,其特征在于,
所述示教装置连接于所述网络,经由所述网络来针对对象驱动机器发送用于驱动所述对应的控制对象的指令。
3.根据权利要求2所述的控制系统,其特征在于,
所述控制装置经由所述网络来收集所述示教装置所发送的指令,并将所收集的指令经由所述网络而发送至作为对象的驱动机器。
4.根据权利要求3所述的控制系统,其特征在于,
所述控制装置将所述所收集的指令保存在通信帧的分配给所述对象驱动机器的区域中,并经由所述网络来送出所述通信帧,
所述对象驱动机器在收到所述通信帧时,读出在分配给所述对象驱动机器的区域中保存的指令。
5.根据权利要求1所述的控制系统,其特征在于,
所述控制装置及所述多个驱动机器各自具有彼此经时刻同步的计时器,
所述控制装置以所述计时器所管理的时刻作为基准,来决定输出信号的同步时机,所述信号与所述多个驱动机器的各个中收到的指令对应。
6.根据权利要求1所述的控制系统,其特征在于,
所述控制装置及所述多个驱动机器各自具有彼此经时刻同步的计时器,
所述控制装置经由所述网络而在每个规定周期送出通信帧,
所述示教装置在未传输所述通信帧的期间,发送针对对象驱动机器的指令,并且指示输出信号的时机,所述信号与所述对象驱动机器中收到的指令对应。
7.根据权利要求1所述的控制系统,其特征在于,
所述第1驱动机器在从所述示教装置收到用于驱动对应的第1控制对象的指令时,判定因执行用于驱动对应的所述第1控制对象的指令造成的所述第1控制对象与第2控制对象之间的碰撞可能性,
当判定为存在所述碰撞可能性时,中止用于驱动对应的所述第1控制对象的指令的执行,并且通知所述示教装置不能执行用于驱动对应的所述第1控制对象的指令。
8.根据权利要求1所述的控制系统,其特征在于,
所述第1驱动机器在从所述示教装置收到用于驱动对应的第1控制对象的指令时,判定因执行用于驱动对应的所述第1控制对象的指令造成的所述第1控制对象与第2控制对象之间的碰撞可能性,
当判定为存在所述碰撞可能性时,经由所述网络来对所述控制装置发送针对驱动所述第2控制对象的所述第2驱动机器的碰撞回避指令,
所述控制装置在收到所述碰撞回避指令时,将包含所述第2控制对象的修正位置的指令经由所述网络而发送至所述第2驱动机器。
9.根据权利要求1所述的控制系统,其特征在于还包括:
视觉传感器,连接于所述网络,且具有以拍摄所述多个控制对象的方式而配置的拍摄部,
所述示教装置包括:
显示部,显示从所述视觉传感器经由所述网络而传输的、由所述拍摄部所拍摄的图像;以及
操作部,受理输入针对对象驱动机器的指令的操作。
10.根据权利要求1所述的控制系统,其特征在于,
所述示教装置包含操作部,所述操作部受理输入停止指令的操作,经由所述网络来对所述多个驱动机器中的至少一个驱动机器发送所述停止指令。
11.根据权利要求1所述的控制系统,其特征在于还包括:
传感器元件,连接于所述网络,对所述多个控制对象的状态进行探测,
所述示教装置经由所述网络来接收所述传感器元件的输出值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017-206492 | 2017-10-25 | ||
JP2017206492A JP6969283B2 (ja) | 2017-10-25 | 2017-10-25 | 制御システム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109709929A CN109709929A (zh) | 2019-05-03 |
CN109709929B true CN109709929B (zh) | 2021-07-23 |
Family
ID=63642519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811059543.5A Active CN109709929B (zh) | 2017-10-25 | 2018-09-12 | 控制系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190121335A1 (zh) |
EP (1) | EP3483684B1 (zh) |
JP (1) | JP6969283B2 (zh) |
CN (1) | CN109709929B (zh) |
Families Citing this family (9)
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 | オムロン株式会社 | 複数の移動機構を制御するシステムおよび方法 |
CN117460600A (zh) * | 2021-06-17 | 2024-01-26 | Abb瑞士股份有限公司 | 在机器人系统中提供安全 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1899774A (zh) * | 2005-07-20 | 2007-01-24 | 发那科株式会社 | 机器人系统以及机器人控制装置 |
CN101171105A (zh) * | 2005-05-02 | 2008-04-30 | Abb研究有限公司 | 一种包括具有安全装备的便携式操作设备的机器人控制系统 |
CN103406905A (zh) * | 2013-08-20 | 2013-11-27 | 西北工业大学 | 一种具有视觉伺服及检测功能的机器人系统 |
CN104858872A (zh) * | 2014-02-21 | 2015-08-26 | 发那科株式会社 | 机器人系统 |
CN106607903A (zh) * | 2015-10-21 | 2017-05-03 | 发那科株式会社 | 具备经由网络连接的多个控制装置的机器人系统 |
Family Cites Families (12)
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 | 株式会社安川電機 | ロボット制御装置およびロボットシステム |
US8005572B2 (en) * | 2005-03-04 | 2011-08-23 | Fanuc Robotics America, Inc. | Flexible connection of teaching devices to programmable controllers |
US7860609B2 (en) * | 2005-05-06 | 2010-12-28 | Fanuc Robotics America, Inc. | Robot multi-arm control system |
JP4835616B2 (ja) * | 2008-03-10 | 2011-12-14 | トヨタ自動車株式会社 | 動作教示システム及び動作教示方法 |
JP4676544B2 (ja) * | 2009-05-29 | 2011-04-27 | ファナック株式会社 | 工作機械に対してワークの供給及び取り出しを行うロボットを制御するロボット制御装置 |
JP5556974B2 (ja) * | 2012-03-16 | 2014-07-23 | パナソニック株式会社 | 溶接線検出方法および産業用ロボット |
JP6350011B2 (ja) * | 2014-06-20 | 2018-07-04 | オムロン株式会社 | ロボット制御システム |
JP6465620B2 (ja) * | 2014-10-31 | 2019-02-06 | ヤマハ発動機株式会社 | 制御システムおよび制御方法 |
CN108472808B (zh) * | 2015-10-13 | 2022-05-17 | 艾天诚工程技术系统股份有限公司 | 多个机器人的同步 |
-
2017
- 2017-10-25 JP JP2017206492A patent/JP6969283B2/ja active Active
-
2018
- 2018-09-10 EP EP18193442.3A patent/EP3483684B1/en active Active
- 2018-09-12 CN CN201811059543.5A patent/CN109709929B/zh active Active
- 2018-09-13 US US16/129,827 patent/US20190121335A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101171105A (zh) * | 2005-05-02 | 2008-04-30 | Abb研究有限公司 | 一种包括具有安全装备的便携式操作设备的机器人控制系统 |
CN1899774A (zh) * | 2005-07-20 | 2007-01-24 | 发那科株式会社 | 机器人系统以及机器人控制装置 |
CN103406905A (zh) * | 2013-08-20 | 2013-11-27 | 西北工业大学 | 一种具有视觉伺服及检测功能的机器人系统 |
CN104858872A (zh) * | 2014-02-21 | 2015-08-26 | 发那科株式会社 | 机器人系统 |
CN106607903A (zh) * | 2015-10-21 | 2017-05-03 | 发那科株式会社 | 具备经由网络连接的多个控制装置的机器人系统 |
Also Published As
Publication number | Publication date |
---|---|
US20190121335A1 (en) | 2019-04-25 |
JP2019079344A (ja) | 2019-05-23 |
JP6969283B2 (ja) | 2021-11-24 |
EP3483684B1 (en) | 2023-11-22 |
EP3483684A2 (en) | 2019-05-15 |
EP3483684A3 (en) | 2019-09-04 |
CN109709929A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109709929B (zh) | 控制系统 | |
TWI666099B (zh) | Robot system | |
JP5530479B2 (ja) | 少なくとも2本のロボットアームの同期化システムおよびその制御方法 | |
US20100199002A1 (en) | Industrial controller | |
EP1693165A2 (en) | Robot control system for simultaneously controlling a plurality of robots | |
JP6897462B2 (ja) | 制御システムおよび通信方法 | |
CN108886481B (zh) | 通信控制系统以及通信控制方法 | |
KR20130027523A (ko) | 자동화 워크셀 제어 방법 | |
EP2494742B1 (en) | Network control architecture and protocol for a distributed control, data acquisition and data distribution system and process | |
US20240033931A1 (en) | Transport System, Control Method for Transport System, and Control Program for Transport System | |
CN113508560B (zh) | 控制系统、装置以及控制方法 | |
CN109491331B (zh) | 控制系统、副控制装置及控制方法 | |
JP2021128709A (ja) | 処理装置、及び処理方法 | |
US20210347037A1 (en) | Control system and control method | |
KR101052543B1 (ko) | 네트워크 기반의 서보 관리 방법 및 장치 | |
US20220331951A1 (en) | Robot control system, lower-level control apparatus, and control method for robot | |
JP7476420B2 (ja) | 機器制御システム、機器制御方法、および機器制御プログラム | |
EP4336290A1 (en) | System and method for dynamic nest and routing adjustment | |
WO2023281805A1 (ja) | 通信システム、コントロールシステム、及び通信方法 | |
KR102039274B1 (ko) | 다수의 로봇의 협력 동작을 동기식으로 제어하기 위한 방법 및 시스템 | |
WO2023138536A1 (zh) | 电机控制系统、电机控制方法和电机驱动和转发装置 | |
JPH0619660B2 (ja) | 分散形数値制御装置 | |
JP2023167806A (ja) | ロボット制御システム、下位制御装置、ロボット制御システムの制御方法、及び、下位制御装置の制御方法 | |
WO1997004371A1 (fr) | Systeme de gestion d'un controleur numerique par un processeur d'informations equipe d'une fonction de traitement de logiciel | |
JP2020089937A (ja) | ロボット遠隔操作装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |