一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

控制装置的制作方法

2022-08-08 10:46:03 来源:中国专利 TAG:


1.本发明涉及用于对多个机器人进行同步控制的控制装置。


背景技术:

2.在各种生产现场中,使用plc(可编程控制器)等控制装置的fa(factory automation:工厂自动化)技术广泛普及。这样的控制装置不仅直接对控制对象进行控制,还有时通过对其他装置提供控制指令而间接地对控制对象进行控制。另外,还产生了想要将目前为止使用多个专用装置实现的控制系统合并为更少数量的控制装置的需求。例如,在专利文献1所示的技术中,在plc的cpu单元中,同步地执行动作运算程序以及用户程序。
3.另外,在专利文献2中,公开了通过单一的控制装置实现按照执行方式不同的多种程序的控制运算的技术。在该技术中,例如采用如下结构:关于在每个控制周期执行程序整体的方式的程序和按照通过部分解释而生成的中间代码依次执行的方式的程序,进行各自的指令值运算,在每个控制周期一并输出各指令值。
4.现有技术文献
5.专利文献
6.专利文献1:日本特开2012-194662号公报
7.专利文献2:日本特开2019-36043号公报


技术实现要素:

8.发明所要解决的课题
9.通常,为了通过一台控制装置对多个机器人进行同步控制,在对该控制装置电连接作为对象的多个机器人,在各机器人与控制装置之间能够进行通信的状态下,执行该多个机器人的同步控制所需的程序。由此,适当地进行通过该程序的执行而产生的控制装置与各机器人之间的控制信号的收发。假设在这样的控制方式中,若多个机器人中的一个机器人以某种目的(例如,维护目的等)被排除,则在程序中作为对象的机器人的数量与实际连接于控制装置的机器人的数量产生偏离,因此若维持排除前的程序,则难以进行该程序的适当的执行。
10.另外,即使在与上述不同的状况下,也存在用于同步控制的程序中的机器人的数量与实际连接于控制装置的机器人的数量产生偏离的情况。例如,在程序中作为对象的机器人的数量可能比实际与控制装置连接的机器人的数量多。
11.本发明是鉴于这样的问题而完成的,其目的在于提供一种用于即使在用于机器人的同步控制的程序中的机器人的数量与实际连接于控制装置的机器人的数量产生偏离的情况下也适当地实现机器人的同步控制的技术。
12.用于解决课题的手段
13.在本发明中,为了解决上述课题,在进行一个或多个机器人的同步控制的控制装置中,采用了生成与同步控制相关联地虚拟设定的虚拟机器人的输出信号的结构。通过采
用该结构,即使用于机器人的同步控制的程序中的机器人的数量与实际连接于控制装置的机器人的数量产生偏离,也能够消除由该偏离引起的控制上的不良情况。
14.具体而言,本发明是一种控制装置,其具备:处理部,其构成为能够按每个预先决定的控制周期运算用于对所述一个或多个机器人进行同步控制的规定指令值;输出部,其按每个所述控制周期输出所述规定指令值;以及生成部,其生成与所述同步控制相关联地虚拟设定的虚拟机器人的输出信号,所述处理部使用由所述生成部生成的所述虚拟机器人的输出信号来运算所述规定指令值。
15.上述的虚拟机器人不是实际的机器人,而是在由上述控制装置进行的同步控制上设定的虚拟的机器人。因此,即使在用于机器人的同步控制的程序中的机器人的数量与实际连接于控制装置的机器人的数量产生偏离的情况下,通过将虚拟机器人编入用于同步控制的规定指令值的运算处理,也能够消除由该偏离引起的控制上的不良情况。因此,在如上述那样构成的控制装置中,采用了构成为生成虚拟机器人的输出信号的生成部。
16.作为更详细的第一方式,也可以是,上述的控制装置还具备:取得部,其在通过程序的执行对所述一个或多个机器人进行同步控制时取得该一个或多个机器人中的一个机器人的输出信号;以及检测部,其检测所述一个或多个机器人中的所述一个机器人被从所述同步控制中排除的情况,在该情况下,所述生成部生成在已经执行的同步控制中由所述取得部取得的所述一个机器人的输出信号作为所述虚拟机器人的输出信号,当由所述检测部检测到所述一个机器人的排除时,所述处理部通过使用所述虚拟机器人的输出信号,在该一个机器人被排除的状态下继续执行用于控制所述一个或多个机器人的所述程序,运算所述规定指令值。
17.在上述那样的方式中,若作为同步控制的对象的一个或者多个机器人中的一个机器人被从该同步控制中排除,则该同步控制上的“对象物”实际不再存在。这里所说的“排除”是指不再是控制装置的控制对象,其目的不限。“排除”例如包括与控制装置的电连接被切断的状态、机器人本身发生故障而无法运转的状态等。由于这样的同步控制上的对象物的不存在,即使通过输出部输出了以其实际存在为前提而计算出的用于同步控制的规定指令值,也无法适当地进行同步控制,结果可能产生控制上的错误。因此,用户为了避免该控制上的错误,不得不修正用于同步控制的程序,其作业负荷不小。
18.因此,如上所述,当由检测部检测到一个机器人被从同步控制中排除时,处理部为了运算规定指令值,而利用由生成部生成的虚拟机器人的输出信号。此时,虚拟机器人的输出信号是在过去执行的同步控制、即在一个机器人未被排除的状态下执行的同步控制中由取得部取得的一个机器人的输出信号。换言之,虚拟机器人是能够视为与被排除的一个机器人相同的机器人,因此虚拟机器人的输出信号能够视为与一个机器人的输出信号相同。因此,通过处理部利用虚拟机器人的输出信号,能够形成犹如一个机器人未被排除的状态,因此不会产生控制上的错误,能够继续执行用于同步控制的程序,能够进行规定指令值的运算。其结果,无需修正程序,就能够代替一个机器人而对包括虚拟机器人的一个或多个机器人实施同步控制,减轻用户的作业负荷。另外,虚拟机器人的输出信号能够视为与一个机器人的输出信号相同,因此即使在代替一个机器人而对包括虚拟机器人的一个或多个机器人实施了同步控制的情况下,也能够不受机器人的个体差异影响、即不受一个机器人与虚拟机器人的差异影响,继续同步控制。这有助于即使在一个机器人被排除的情况下也维持
适当的同步控制。
19.另外,作为详细的第二方式,在上述的控制装置中,也可以是,所述生成部生成与所述一个或多个机器人相区别的所述虚拟机器人的输出信号,所述处理部使用由所述生成部生成的所述虚拟机器人的输出信号,以该虚拟机器人的动作与所述一个或多个机器人各自的动作同步的方式,运算用于对该一个或多个机器人进行同步控制的所述规定指令值。该方式相当于控制上的机器人的数量比实际与控制装置连接的机器人的数量多的情况。为了实现多个机器人的同步控制,虚拟机器人成为该同步控制的基准。通过这样在控制上设定虚拟机器人作为基准,能够容易地生成用于同步控制的程序。
20.在此,在上述为止的控制装置中,也可以是,所述处理部构成为能够按照中间代码按每个所述控制周期运算所述规定指令值,所述中间代码是执行遵循逐次执行的规定执行方式的程序并通过解释器解释该程序的至少一部分而生成的,所述处理部还构成为能够按每个所述控制周期执行遵循在每次执行时整体被执行的其他执行方式的程序,运算用于控制其他控制对象的其他指令值,所述输出部输出为了对所述一个或多个机器人及所述其他控制对象进行同步控制而由所述处理部运算出的所述规定指令值。这样,控制装置具有执行方式的种类不同的程序,由此能够利用该不同的执行方式的程序,用户能够适当选择适于机器人、其他控制对象的控制的程序,提高控制装置的便利性。
21.发明效果
22.即使在用于机器人的同步控制的程序中的机器人的数量与实际连接于控制装置的机器人的数量产生偏离的情况下,也能够适当地实现机器人的同步控制。
附图说明
23.[图1]是表示包括综合控制器的控制系统的概略构成的图。
[0024]
[图2]是将综合控制器的功能图像化的功能框图。
[0025]
[图3]是表示在综合控制器中按照控制周期执行的处理的流程的图。
[0026]
[图4]是与由综合控制器执行的机器人控制有关的第一流程图。
[0027]
[图5]是与由综合控制器执行的机器人控制有关的第二流程图。
[0028]
[图6]是与由综合控制器执行的机器人控制有关的第三流程图。
[0029]
[图7]是用于说明机器人间的同步控制的图。
具体实施方式
[0030]
《应用例》
[0031]
基于图1以及图2对实施方式的控制装置的应用例进行说明。图1是应用该控制装置100的控制系统1的概略结构图,图2是将形成于控制装置100的功能部图像化的图。
[0032]
控制装置100相当于对各种设备、装置等控制对象进行控制的产业用控制器。控制装置100是如后所述的执行控制运算的一种计算机。控制装置100也可经由现场网络2而与各种现场设备连接。现场设备包括对制造装置、生产线等(以下,也总称为“现场”)赋予某些物理作用的致动器、以及在与现场之间交换信息的输入输出装置等,在图1中,作为现场设备,例示有机器人210、伺服驱动器220及马达222。伺服驱动器220根据来自控制装置100的指令值(例如位置指令、速度指令等)来驱动马达222。另外,作为机器人210,能够例示并联
机器人、scara机器人、多关节机器人。如此,控制装置100是构成为能够综合控制机器人210、伺服驱动器220及马达222的控制装置,其详细内容将后述。如图1所示,控制装置100可仅将多个机器人210作为控制对象,也可将机器人210与伺服驱动器220及马达222掺杂起来作为控制对象。
[0033]
控制装置100经由现场网络2等在与1个或多个现场设备之间交换数据。通常,“现场网络”也被称为“现场总线”,但为了简化说明,在本技术中统称为“现场网络”。控制装置100进行对在各种现场设备中收集或生成的数据(以下,也称为“输入数据”)进行收集的处理(输入处理)、生成针对现场设备的指令等数据(以下,也称为“输出数据”)的处理(运算处理)、将生成的输出数据向对象现场设备发送的处理(输出处理)等。
[0034]
在此,现场网络2优选采用保证数据的到达时间的、进行固定周期通信的总线或网络。作为这种进行固定周期通信的总线或网络,已知有ethercat(注册商标)等。而且,经由现场网络2而在控制装置100与现场设备之间交换的数据以数100μsec量级至数10msec量级的极短的周期被更新。此外,这样的被交换的数据的更新处理也被称为输入输出刷新处理。
[0035]
另外,控制装置100还经由上级网络6与其他装置连接。上级网络6也可采用作为一般网络协议的以太网(注册商标)、ethernet/ip(注册商标)。更具体而言,也可以在上级网络6上连接有1个或多个服务器装置10。作为服务器装置10,设想数据库系统、制造执行系统(mes:manufacturing execution system)等。制造执行系统取得来自控制对象的制造装置、设备的信息,监视以及管理生产整体,也能够处理订货信息、品质信息、出货信息等。不限于此,也可以将提供信息类服务的装置与上级网络6连接。
[0036]
在此,基于图2对控制装置100的结构进行说明。控制装置100是如上所述执行规定的控制运算的一种计算机,具备该控制运算所需的处理器、存储器。该处理器由cpu(central processing unit)、mpu(micro processing unit)、gpu(graphics processing unit)等构成。作为处理器,可以采用具有多个核的结构,也可以配置多个该处理器。作为该存储器,由dram(dynamic random access memory)、sram(static random access memory)等易失性存储装置、hdd(hard disk drive)、ssd(solid state drive)等非易失性存储装置等构成。而且,处理器通过读出并执行保存在存储器中的各种程序,实现与控制对象相应的控制及后述的各种处理。在存储器中,除了用于实现基本功能的系统程序以外,还保存有根据作为控制对象的制造装置、设备而制作的用户程序(iec程序51及应用程序52)。
[0037]
另外,本技术中的iec程序51是指每次执行时整体被扫描,每次执行时运算1个或多个指令值的程序,典型地包括由按照国际电工标准会议(international electrotechnical commission:iec)所规定的国际标准iec61131-3记述的1个或多个命令构成的程序。iec程序51中包括顺序控制及动作控制的命令。这种iec程序51对应于按每个控制周期执行(扫描)所有程序的执行方式,适合于要求即时性及高速性的控制。另一方面,本技术中的应用程序52是用于使用机器人进行特定的加工或动作的控制程序,包括由用于实现基于机器人的控制应用的1个或多个命令构成的程序,与iec程序51相区别。作为一例,与机器人控制有关的应用程序52采用使用机器人语言来记述且1行1行地逐次执行的解释器方式。此外,控制装置100也可以构成为使用iec程序51来控制机器人。
[0038]
而且,如图2所示,控制装置100具有控制应用处理部30、iec程序处理部40、上级网络接口20及下级网络接口60。下级网络接口60对iec程序处理部40及控制应用处理部30与
经由现场网络2连接的现场设备之间的数据交换进行中介。上级网络接口20对iec程序处理部40及控制应用处理部30与经由上级网络6连接的服务器装置10之间的数据交换进行中介。例如,控制装置100从经由上级网络6连接的服务器装置10接受生产的开始/结束这样的指示。服务器装置10有时也将用于使控制应用工作的应用程序及配方信息(适于生产的参数等信息)等发送至控制装置100。
[0039]
iec程序处理部40按每个预先决定的控制周期执行(扫描)iec程序51来运算1个或多个指令值。即,iec程序处理部40按照iec程序51,按每个控制周期运算指令值。另外,在本技术中,设为为了控制包括马达222而构成的规定装置,而执行iec程序51。而且,动作处理部42提供根据iec程序51中所含的动作命令,按每个控制周期运算指令值的功能。即,iec程序51中所含的运动命令包括指示跨多个控制周期的行为的命令(例如,用于使由马达222构成的规定装置的输出描绘某种轨道的命令)。当执行这样的动作命令时,动作处理部42按照所执行的动作命令的指示内容,按每个控制周期运算指令值。即,动作处理部42通过对上述的规定装置按每个控制周期输出指令值,而实现由动作命令指示的动作。
[0040]
另外,iec程序处理部40具有共享存储器41。在共享存储器41中,iec程序处理部40的处理结果的一部分或全部保存在共享存储器41中,控制应用处理部30能够参照iec程序处理部40的共享存储器41中保存的数据。另外,也可以从控制应用处理部30向iec程序处理部40的共享存储器41写入数据,如此从控制应用处理部30写入的数据能够由动作处理部42参照。
[0041]
接着,控制应用处理部30基于应用程序52以及配方信息等,运算用于对控制应用进行控制的指令值。此外,在本技术中,设为为了控制机器人210而由控制应用处理部30执行应用程序52。控制应用处理部30与iec程序处理部40的指令值的运算及输出同步地运算及输出用于控制应用的指令值。即,控制应用处理部30与iec程序处理部40的运算处理同步地执行用于控制机器人210的指令值的运算处理。另外,关于该iec程序处理部40与控制应用处理部30的同步处理,将后述。为了实现与iec程序处理部40的指令值的运算处理同步的指令值运算,控制应用处理部30包括动作处理部32、缓冲器33、解释器34及生成部35。
[0042]
解释器34逐次对应用程序52的至少一部分进行解释而生成中间代码,并且具有保存所生成的中间代码的缓冲器33。本技术中的中间代码是包括用于按每个控制周期运算指令值的命令的概念,也可以包括1个或多个命令、或者1个或多个函数。然后,动作处理部32按照解释器34事先生成并保存在缓冲器33中的中间代码,按每个控制周期运算指令值。一般而言,由于应用程序52中记述的命令(代码)被逐次执行,因此无法保证指令值的运算周期,但在本技术公开中,通过像这样利用中间代码,动作处理部32能够按每个控制周期运算指令值。在中间代码中记述的命令也可以使用与各控制应用相应的坐标系。
[0043]
在此,由控制应用处理部30驱动控制的机器人210不限于一台,能够控制多台机器人210。而且,动作处理部32也能够对该多台机器人210彼此进行同步控制。稍后将描述同步控制的详细情况。另外,生成部35是生成与该机器人210间的同步控制、机器人210与伺服驱动器220等的同步控制相关联地虚拟地设定的虚拟机器人的输出信号的功能部。即,生成部35是尽管机器人实际上不存在,但为了控制装置100的同步控制而虚拟地生成机器人的输出信号的功能部。
[0044]
《程序的同步执行》
[0045]
在控制装置100中,实现iec程序51与应用程序52的同步执行。通过同步执行这些程序,机器人210与伺服驱动器220等被同步控制。控制应用处理部30的解释器34按照比控制周期长的周期、例如控制周期的2倍的周期逐次执行应用程序52。其中,iec程序处理部40的动作处理部42及控制应用处理部30的动作处理部32均按每个相同的控制周期运算指令值。因此,来自控制装置100的指令值的输出均以预先决定的控制周期同步地进行。如此,iec程序处理部40及控制应用处理部30分别具有用于连续地控制致动器的动作的动作处理部,这些动作处理部同步地运算指令值,由此能够与控制周期同步地执行按照iec程序51的控制及按照应用程序52的控制这两者,由此实现以控制周期为单位的精密控制。
[0046]
接着,基于图3对控制装置100中的iec程序51及应用程序52的执行定时的详细情况进行说明。图3是表示控制装置100中的程序的执行定时的一例的图。此外,在控制装置100中,考虑处理器的资源,设定有优先级高的高优先级任务(图3中的上段的处理)和优先级低的低优先级任务(图3中的下段的处理)。具体而言,下级网络接口60、iec程序处理部40及其动作处理部42的执行、及控制应用处理部30的动作处理部32的执行被设定为高优先级任务,控制应用处理部30的解释器34的执行被设定为低优先级任务。
[0047]
即,与下级网络接口60关联的输入输出刷新处理b60、iec程序51的执行处理b40、按照iec程序51由动作处理部42进行的指令值的运算处理b42、按照应用程序52由动作处理部32进行的指令值的运算处理b32作为高优先级任务被执行。另一方面,逐次解释应用程序52的处理b34作为低优先级任务被执行。
[0048]
在此,按每个预先决定的控制周期t1反复执行高优先级任务。按各控制周期内不执行高优先级任务的期间每次执行低优先级任务。即,对每个控制周期分配高优先级任务的执行时间,在高优先级任务的执行时间以外的时间执行低优先级任务。
[0049]
首先,对高优先级任务进行说明,若各控制周期到来,则在执行输入输出刷新处理b60之后,通过iec程序处理部40来执行(扫描)iec程序51的整体,并运算关于顺序控制的1个或多个指令值(执行处理b40)。并且,通过动作处理部42执行与iec程序51中所含的动作命令有关的动作处理,运算关于动作命令的1个或多个指令值(执行处理b42)。进而,通过控制应用处理部30的动作处理部32,按照保存在缓冲器33中的中间代码来准备机器人210的控制用的动作指令(执行处理b32)。以下,按每个控制周期重复同样的处理。此外,动作处理部32从缓冲器33读出中间代码的定时也可以不是各控制周期。这是因为,在所读出的中间代码包括能够跨多个控制周期t1运算指令值的命令的情况下,能够在该多个控制周期t1中进行一次中间代码的读出。
[0050]
这样,当某个控制周期中的高优先级任务的执行完成时,准备关于与马达222等有关的顺序控制的指令值以及关于其运动控制的指令值、和关于与机器人210有关的控制应用的指令值的集合。这些指令值基本上在下一个控制周期到来时反映到现场侧。即,iec程序处理部40及控制应用处理部30以同一控制周期运算与输入数据对应的指令值,因此可实现与输入同步的输出。
[0051]
另一方面,关于低优先级任务,控制应用处理部30的解释器34依次执行应用程序52。即,解释器34以低优先级执行应用程序52的读入及分析。解释器34对应用程序52进行分析处理而生成的中间代码一边考虑缓冲器33的容量,一边逐次保存在缓冲器33中。保存在缓冲器33中的中间代码被控制应用处理部30的动作处理部32依次参照,用于运算处理b32
中的指令值的生成。此时,解释器34事先有余地生成高优先级任务的运算周期即控制周期的整数倍的量的中间代码,由此可不对动作处理部32的处理造成影响,而按每个控制周期运算针对控制应用的指令值。
[0052]
另外,解释器34在预先决定的控制应用同步周期(控制周期的整数倍)到来之前,暂时停止应用程序52的解释。在所述暂时停止的定时,在iec程序处理部40与控制应用处理部30之间进行数据同步,由此对两者共享具有匹配性的数据。如此,解释器34在每个同步周期更新与iec程序处理部40之间共享的数据。也可以与共享数据的更新一起,对从现场侧取得的输入数据以及输出数据也进行更新(数据同步)。由此,在控制应用处理部30侧,也能够利用iec程序处理部40所取得的数据来控制机器人210。控制应用同步周期只要设定为控制周期的整数倍,则可以是任意的长度。根据控制应用中要求的控制的精度等来适当设定。
[0053]
如图1所示,在作为控制装置100的控制对象而多台机器人210与控制装置100连接的情况下,在该多台机器人210间也能够进行同步控制。例如,在控制装置100仅连接有3台机器人210时,能够在该3台机器人210间进行同步控制。此时,作为高优先级任务,在控制周期t1中执行了输入输出刷新处理b60之后,通过控制应用处理部30的动作处理部32,按照保存于缓冲器33的中间代码来运算机器人210的控制用的动作指令。该中间代码为用于对多台机器人210进行同步控制的代码,其结果,计算出的动作指令也实现多台机器人210的同步控制。
[0054]
《第一方式》
[0055]
在此,对生成部35的第一方式进行说明。在机器人210与伺服驱动器220等之间进行同步控制的情况下(即,iec程序51与应用程序52同步执行的情况下),或者在机器人210彼此进行同步控制的情况下(即,在应用程序52内进行同步控制的情况下),有时出于某些目的而将该同步控制所包括的一个机器人210从该同步控制中排除。例如,能够例示一个机器人210出于维护目的而切断与控制装置100的连接的情况等。若如此将一个机器人210从同步控制中排除,则在同步控制中不再存在实际存在的控制对象,因此难以继续执行至此为止执行的应用程序52或同步执行的iec程序51。为了使同步执行继续,需要进行将一个机器人210被排除的情况反映到各程序的修正,用户的作业负荷不小。
[0056]
因此,为了在这样的情况下也不对用户施加特别的作业负荷,进行图4~图6的处理。此外,图4~图6的处理表示对与在机器人210与伺服驱动器220等之间进行了同步控制的情况下一个机器人210被从同步控制中排除的情况进行应对的处理。图4是与上述高优先级任务的处理有关的流程图,图5是与上述低优先级任务的处理有关的流程图。另外,图6是与一个机器人210的从同步控制的排除应对有关的流程图。
[0057]
首先,基于图4,对高优先级任务的处理流程进行说明。当控制周期t1到来时,下级网络接口60执行输入输出刷新处理(s101的处理)。由此,将在紧前的控制周期t1中运算出的指令值(基于b40、b42、b32等的指令值)向现场设备的致动器等输出,并且取得来自现场设备的输入数据。接着,在s102中,判定本次的控制周期是否与数据同步的定时一致。在此,若作出肯定判定,则在iec程序处理部40与控制应用处理部30之间执行数据同步(s103的处理)。另外,若在s102中作出否定判定,则处理进入s104。
[0058]
接着,在s104中进行上述的执行处理b40,接着在s105中进行上述的执行处理b42。之后,在s106中,执行进行用于控制机器人210的动作指令的准备的上述机器人执行处理
b32。在此,在机器人执行处理b32中,在未从同步控制中排除一个机器人210的情况下,直接执行应用程序52。另一方面,在从同步控制中排除了一个机器人210的情况下,通过后述的图6所示的排除应对处理,以生成部35的处理干扰应用程序52的方式进行同步控制。
[0059]
通过图4所示的高优先级任务的一系列处理而运算、准备的指令值在下一个控制周期t1到来时向现场输出。然后,在该一系列的处理结束后且到下一个控制周期t1到来为止的期间,执行图5所示的低优先级任务。
[0060]
基于图5,对低优先级任务的处理流程进行说明。低优先级任务涉及解释器34对应用程序52的解释处理。首先,在s201中,由控制应用处理部30判定在缓冲器33中是否残留有中间代码。进行该判定是为了不进行超过缓冲器33的容量的中间代码的生成。如果在s201中作出肯定判定,则低优先级任务结束,如果作出否定判定,则处理进入s202。在s202中,由解释器34读入应用程序52的一部分。例如,读入构成应用程序52的代码的一行。然后,在s203中,解释由解释器34读入的代码而生成中间代码。所生成的中间代码在s204中保存在缓冲器33中。此外,关于s202~s204的处理,在不存在作为执行对象的应用程序的情况下不进行这些处理,作为结果,在缓冲器33中不保存中间代码。具有这样的一系列处理的低优先级任务在对自身分配了程序的执行时间的期间内重复。
[0061]
通过如此进行图4、图5所示的一系列处理,在控制装置100中,在图3所示的执行定时,执行iec程序51及应用程序52。此外,在如图1所示控制装置100仅连接有多台机器人210,在该机器人210间进行同步控制的情况下,仅执行应用程序52。在高优先级任务处理中省略了s104、s105的状态下,进行用于同步控制的机器人执行处理b32。
[0062]
接下来,基于图6,对与一个机器人210从同步控制中排除应对关联的处理(排除应对处理)进行说明。该排除应对处理作为高优先级任务以及低优先级任务的一部分而由控制应用处理部30执行。首先,在s301中,判定是否检测到从同步控制的对象中排除了一个机器人210。在至此为止在机器人210与伺服驱动器220等之间进行了同步控制的情况下,或者在多台机器人210间进行了同步控制的情况下,将原本包含于其中的一个机器人210成为在控制上不是控制装置100的控制对象的状态的情况检测为“排除状态”。作为一例,如果是未保持一个机器人210与控制装置100的电连接的状态,则检测到排除状态。若在s301中作出否定判定,则处理进入s302,若作出肯定判定,则进入s304。
[0063]
在此,对进入s302的情况进行说明。在s302中,判定进行了同步控制的机器人210的输出的取得是否已完成。这里所说的机器人210的输出是指,在应用程序52中从程序开始到结束的全部被执行的期间,同步控制所需的来自机器人210的输出信号。通常,机器人210具有多个驱动关节,在与构成该各驱动关节的致动器的位置、速度等有关的信号被用于同步控制中的反馈处理等的情况下,该信号被设为该机器人210的输出信号。当在s302中作出否定判定时,在s303中取得机器人210的输出信号。例如,在同步控制中多台机器人210参与的情况下,进行各机器人210的输出信号的取得,在同步控制中仅一台机器人210参与的情况下,进行该机器人210的输出信号的取得。所取得的机器人210的输出信号被保存在控制应用处理部30所具有的未图示的存储器中。此外,若在s302中作出肯定判定,则结束排除应对处理。
[0064]
另外,对在s301中作出肯定判定且处理进入s304的情况进行说明。在s304中,在检测到一个机器人210的排除的情况下,读入通过上述s303的处理取得的机器人210的输出信
号中的、从同步控制中排除的机器人210的输出信号。该输出信号的读入由生成部35进行。
[0065]
接着,生成部35配合高优先级任务的进行,而将在s304中读入的被排除的机器人210的输出、即以前实际被同步控制的机器人210的输出作为虚拟机器人的输出向机器人执行处理b32传递。这意味着,代替实际上从同步控制中被排除的一个机器人210,生成部35使用所取得的输出信号犹如该一个机器人210存在那样生成输出信号,即生成虚拟机器人的输出。其结果,尽管一个机器人210实际上被排除,但实现包括该一个机器人210的最初的同步控制的应用程序52仍然不特别加以修正而继续执行。并且,动作处理部32能够与一个机器人210的排除前同样地,继续进行用于进行同步控制的机器人210用的动作指令的运算。
[0066]
另外,如上所述,生成部35使用实际存在的一个机器人210的输出信号来生成虚拟机器人的输出信号。因此,即使动作处理部32使用虚拟机器人的输出信号进行动作指令的运算,也能够进行以与一个机器人210被排除之前相同程度的精度实现同步控制的指令运算。
[0067]
《第二方式》
[0068]
接下来,基于图7对生成部35的第二方式进行说明。在如图1所示机器人210彼此进行同步控制的情况下(即,在应用程序52内进行同步控制的情况下),生成部35能够生成作为用于该同步控制的基准的虚拟机器人210’的输出信号。在此,如图7所示,若对虚拟机器人210’和各个实际的机器人210进行同步控制,则作为结果,对所有实际的机器人210进行同步控制。由此,能够使多台机器人210的同步控制变为虚拟机器人210’与单独的机器人210的同步控制,由此,减轻用于实现同步控制的应用程序52的制作负荷。应用程序52成为用于对包括多台实际的机器人210和虚拟机器人210’在内的机器人进行同步控制的程序。
[0069]
《附记》
[0070]
一种控制装置(100),其具备:
[0071]
处理部(30),其构成为能够按每个预先决定的控制周期运算用于对一个或多个机器人(210)进行同步控制的规定指令值;
[0072]
输出部(60),其按每个所述控制周期输出所述规定指令值;以及
[0073]
生成部(35),其生成与所述同步控制相关联地虚拟设定的虚拟机器人的输出信号,
[0074]
所述处理部(30)使用由所述生成部(35)生成的所述虚拟机器人的输出信号来运算所述规定指令值。
[0075]
标号说明
[0076]
2:现场网络;6:上级网络;10:服务器装置;30:控制应用处理部;32:动作处理部;35:生成部;40:iec程序处理部;51:iec程序;52:应用程序;100:控制装置;210:机器人;210’:虚拟机器人;220:伺服驱动器;222:马达。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献