CN107809189A - 控制装置以及控制*** - Google Patents
控制装置以及控制*** Download PDFInfo
- Publication number
- CN107809189A CN107809189A CN201710695042.5A CN201710695042A CN107809189A CN 107809189 A CN107809189 A CN 107809189A CN 201710695042 A CN201710695042 A CN 201710695042A CN 107809189 A CN107809189 A CN 107809189A
- Authority
- CN
- China
- Prior art keywords
- parameter set
- processing
- computing circuit
- command value
- motor
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims abstract description 84
- 238000003860 storage Methods 0.000 claims abstract description 55
- 230000009471 action Effects 0.000 claims abstract description 8
- 230000015654 memory Effects 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 24
- 241000208340 Araliaceae Species 0.000 claims 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 1
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 1
- 235000008434 ginseng Nutrition 0.000 claims 1
- 238000000034 method Methods 0.000 description 68
- 230000008569 process Effects 0.000 description 58
- 230000033001 locomotion Effects 0.000 description 44
- 238000004364 calculation method Methods 0.000 description 25
- 230000001133 acceleration Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000000275 quality assurance Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P5/00—Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
- B25J9/12—Programme-controlled manipulators characterised by positioning means for manipulator elements electric
- B25J9/126—Rotary actuators
-
- 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
-
- 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/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
- G05B19/4148—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using several processors for different functions, distributed (real-time) systems
-
- 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] or computer integrated manufacturing [CIM]
- G05B19/41865—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] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- 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/10—Plc systems
- G05B2219/16—Plc to applications
-
- 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/31—From computer integrated manufacturing till monitoring
- G05B2219/31001—CIM, total factory control
-
- 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/33—Director till display
- G05B2219/33081—Parallel computing, pipeline
-
- 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/33—Director till display
- G05B2219/33104—Tasks, functions are distributed over different cpu
-
- 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/43—Speed, acceleration, deceleration control ADC
- G05B2219/43009—Acceleration deceleration for each block of data, segment
-
- 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/43—Speed, acceleration, deceleration control ADC
- G05B2219/43167—Distributed motion control
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Manufacturing & Machinery (AREA)
- Robotics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Power Engineering (AREA)
- Numerical Control (AREA)
- Programmable Controllers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Feedback Control In General (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
本发明提供一种控制装置以及控制***。为了提高控制精度,有想要尽可能缩短控制周期的要求。控制装置包括:接口,用于对驱动电机的电机驱动器输出指令值;存储部,存储用于指定电机驱动器驱动的电机的动作的一个或多个指令;以及处理部,包括第一运算电路和第二运算电路。第一运算电路执行第一处理,所述第一处理依次解释存储于存储部的一个或多个指令,从而依次计算出定义与计算指令值相关的函数的参数集。第二运算电路独立于第一处理的执行而执行第二处理,所述第二处理基于依次计算的参数集,在每个预先确定的控制周期计算指令值。
Description
技术领域
本发明涉及控制装置以及控制***。
背景技术
在工厂自动化(Factory Automation,FA)领域,许多的电机被利用于启动设备或机械。典型地,使用PLC(可编程控制器)等控制装置与各种传感器中的检测信号相结合来控制各电机的转速等。
例如,日本特开2011-035664号公报(专利文献1)中公开单个控制器与伺服驱动器和变频器等进行网络连接并进行控制的结构。
现有技术文献
专利文献
专利文献1:日本特开2011-035664号公报
发明内容
例如,为了控制各种产业用机器人,需要对驱动各元件的电机给出精细的指令。典型地,需要在每个规定的控制周期(数100μsec~数10msec)更新指令,以使被电机驱动的臂等沿预先指定的轨道移动。由于此指令的控制周期越短则控制精度则越高,所以有尽可能缩短控制周期的要求。
根据本发明的一个实施方式的控制装置包括:接口,用于对驱动电机的电机驱动器输出指令值;存储部,存储用于指定电机驱动器驱动的电机的动作的一个或多个指令;以及处理部,其包括第一运算电路和第二运算电路。第一运算电路执行第一处理,所述第一处理依次解释存储于存储部的一个或多个指令,从而依次计算出定义与计算指令值相关的函数的参数集。第二运算电路独立于第一处理的执行而执行第二处理,所述第二处理基于依次计算出的参数集,在每个预先确定的控制周期计算指令值。
优选地,控制装置还包括可从第一运算电路和第二运算电路访问的共享存储器。第一运算电路将依次计算出的参数集写入共享存储器。第二运算电路从共享存储器依次读取参数集。
优选地,第一运算电路在计算出参数集时,将表示有效的状态信息与该计算出的参数集相关联地写入共享存储器中。第二运算电路在基于参数集进行的指令值的计算完成时,将与该参数集相关联的状态信息变更为表示无效的值。
优选地,第一运算电路在删除表示相关联的状态信息为无效的参数集之后,将重新计算出的参数集写入共享存储器。
优选地,参数集包括表示应计算指令值的次数的参数。第二运算电路在基于通过第一处理而计算出的参数集进行的指令值的计算执行了指定的次数时,开始基于通过所述第一处理而接着计算出的参数集进行的所述指令值的计算。
根据本发明其他实施方式的控制***,包括:电机驱动器,其驱动电机;以及控制装置,对电机驱动器输出指令值。控制装置包括:存储部,存储用于指定电机驱动器驱动的电机的动作的一个或多个指令;以及处理部,其包括第一运算电路和第二运算电路。第一运算电路执行第一处理,所述第一处理依次解释存储于存储部的一个或多个指令,从而依次计算出定义与计算指令值相关的函数的参数集。第二运算电路独立于第一处理的执行而执行第二处理,所述第二处理基于依次计算出的参数集,在每个预先确定的控制周期计算指令值。
根据本发明的实施方式,能够缩短向电机提供的指令的控制周期。
附图说明
图1是表示根据本实施方式的控制***的构成例的示意图。
图2是表示根据本实施方式的控制装置的构成例的示意图。
图3是用于说明在根据本实施方式的控制装置中执行的运动程序的一个例子的图。
图4是表示用于实现图3(A)所示的目标轨道的指令值的时间变化的一个例的时序图。
图5是用于说明与基于运动程序的运动控制的解释方式的执行相关的相关技术的图。
图6是用于说明根据本实施方式的控制装置进行的、基于运动程序的运动控制的解释方式的执行方法的图。
图7是表示根据本实施方式的解释处理所计算出的参数集的一个例子的图。
图8是用于说明根据本实施方式的控制装置中的指令值运算处理的处理内容的示意图。
图9是用于说明根据本实施方式的控制装置中的解释处理与指令值运算处理之间的联系方法的示意图。
图10是表示在根据本实施方式的控制装置中执行的处理顺序的流程图。
其中,附图标记说明如下:
1控制***;2现场网络;100控制装置;110、110A处理器;111第一核;112第二核;113第一缓存;114第二缓存;116共享缓存;118总线;120主存储器;122现场网络接口;124网络接口;126USB接口;128存储器读写器;130二级存储装置;132***程序;134用户程序;136序列程序;138运动程序;150参数集;151控制标志;152加速时间;153加速函数类型;154减速时间;155减速函数类型;156恒速时间;157轴移动量;158轴速度;159插补移动量;160函数模块;200电机驱动器;250电机;P1A、P1解释处理;P2、P2A指令值运算处理。
具体实施方式
参照附图详细说明本发明的实施方式。需要说明的是,对相同或等同的部分在图中赋予相同的符号表示,并不重复其说明。
<A.控制***的构成例>
首先,说明根据本实施方式的控制***的构成例。图1是表示根据本实施方式的控制***1的构成例的示意图。参照图1,控制***1包括电机250-1、250-2、…以及驱动电机250-1、250-2、…的电机驱动器200-1、200-2、…。电机驱动器200-1、200-2、…通过现场网络2连接控制装置100,根据来自控制装置100的指令驱动电机250-1、250-2、…。即,控制装置100对电机驱动器200-1、200-2、…输出指令值。以下,也将电机250-1、250-2、…总称为“电机250”,将电机驱动器200-1、200-2、…总称为“电机驱动器200”。
电机250组装到控制装置100作为控制对象的设备或机械,成为启动设备或机械的驱动源。电机250的种类等没有特别的限制,包含常见意义上的驱动源的“电机”。例如,采用作为电机250的AC电机、DC电机、步进电机、线性电机等已知电机。
电机驱动器200采用与要驱动的电机250的类型相应的构成。例如,可以使用变频器、伺服驱动器、伺服放大器等。
作为控制装置100,假定PLC(可编程控制器),但不限于此,可以使用任何计算机。可以使用称为例如机器人控制器或运动控制器等名称的计算机。
<B.控制装置的构成例>
然后,对作为根据本实施方式的控制***1的主要部的控制装置100的构成例进行说明。图2是表示根据本实施方式的控制装置100的构成例的示意图。
参照图2,典型地,控制装置100是根据通用架构构成的计算机,通过处理器执行程序而实现所需的处理和功能。更具体而言,控制装置100包括:处理器110、主存储器120、二级存储装置130、现场网络接口122、网络接口124、USB(Universal Serial Bus:通用串行总线)接口126、以及存储器读写器128。此类组件通过总线118被连接。
处理器110相当于至少包括第一运算电路和第二运算电路的处理部,且可以并列执行程序。作为一个例子,处理器110由多核处理器构成。更具体而言,处理器110包括第一核111、第二核112、以及共享缓存116。第一核111内置有第一缓存113,第二核112内置有第二缓存114。
图2中,例示出了包括两个核的处理器,但可以采用包括更多核的处理器,或者,也可以采用使用多个由单个核形成的多个处理器的构成(即,多处理器)。根据本实施方式的控制装置100中,如果是可并列执行程序的构成,则可任意设计核的个数以及处理器的个数。此外,作为处理器110,可以采用中央处理器(Central Processing Unit,CPU)以外,也可以采用专用于并列处理的图形处理器(Graphics Processing Unit,GPU)等。
主存储器120是临时保持根据处理器110执行的程序的全部或者一部分的代码和工作数据等的存储装置。主存储器120是由例如动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)或静态随机存取存储器(Static Random Access Memory,SRAM)等来构成。
二级存储装置130是将处理器110中执行的程序、处理对象的数据、设定参数等非易失性地保持的存储装置。二级存储装置130是由例如硬盘驱动器(Hard Disk Drive,HDD)或固态硬盘(Solid State Drive,SSD)等来构成。典型地,二级存储装置130存储用于提供控制装置100基本功能的***程序132,以及根据控制装置100的控制对象而任意设计出的用户程序134。作为用户程序134,典型地包括:序列程序(sequence program)136,其用于实现序列逻辑(sequence logic);运动程序(motion program)138,其用于控制机器人的轨道等。对用户程序134可以用任意语言描述。即,二级存储装置130相当于是存储用于指定电机驱动器200驱动的电机250的动作的一个或多个指令(运动程序138)的存储部。
现场网络接口122是负责将控制装置100和电机驱动器200进行连接的现场网络2上的数据交换的控制器。现场网络接口122相当于用于对电机驱动器200输出输出值的接口。优选地,作为现场网络2,采用保证数据到达时间,进行固定周期通信的网络。作为这样的进行固定周期通信的网络,已知有EtherCAT(注册商标)、EtherNet/IP(注册商标)、DeviceNet(注册商标)、CompoNet(注册商标)等。
网络接口124是负责与上位服务器装置和人机界面(Human Machine Interface、HMI)装置等之间的数据交换的控制器。上位服务器装置和HMI装置等之间的数据交换中使用以太网(注册商标)等的包交换网络(Packet network)。
USB接口126是负责与支持装置等之间的数据交换的控制器。USB接口126通过USB等串行通信来交换数据。
存储器读写器128是在与SD卡等便携式存储介质之间进行数据的读取/写入的接口装置。控制装置100中执行的用户程序通过存储介质可以安装,也可以将控制装置100中收集的数据写入存储介质。
<C.基于运动程序的运动控制>
下面,将说明由根据本实施方式的控制装置100中执行的用户程序134(运动程序138)进行的运动控制。本说明书中,“运动控制”包含以被电机驱动的部位取得预先指定的动作的方式对驱动电机250的电机驱动器250依次给出指令的控制。
根据作为目标的动作适当地选择对电机驱动器200输出的指令值(物理量或相当于物理量的操作量),例如,假定位置指令值、速度指令值、加速度指令值、加加速度指令值等。以下,作为典型例子,对电机的速度指令值作为指令值使用的情况进行说明。
图3是用于说明根据本实施方式的控制装置100中执行的运动程序138的一个例子的图。图3(A)中示出了目标轨道的一个例子。图3(A)所示出的轨道是两个电机250分别驱动X轴和Y轴的构成,作为一个例子,从地点P000出发经由地点P001以及地点P002后到达地点P003的轨道被用作目标。
运动程序138中指定合计三个轨道作为各个独立的运动指令,其中三个轨道为从地点P000到地点P001的轨道N001、从地点P001到地点P002的轨道N002、以及从地点P002到地点P003的轨道N003。
图3(B)中示出图3(A)所示的用于实现目标轨道的运动程序138的一个例子。参照图3(B),运动程序138的各行分别对应于图3(A)所示的三个轨道N001、N002、N003。即,运动程序138中1行表示一个运动指令。
作为一个例子,图3(B)所示的运动程序138中对应于N001、N002、N003等的标签指定了<插补类型>、<目标终点>、<目标速度>。图3(B)所示的例子中,作为<插补类型>,指定表示<直线插补>的<G01>。作为<目标终点>,指定一组X坐标以及Y坐标(例如<X100Y100>)。图3(B)所示的例子中,作为<目标速度>,指定“F50”等。
需要说明的是,图3(B)所示的运动程序138的指定以外,作为***配置还预先指定加速度、加速度模式、速度上下限等设定值。
图4是表示用于实现图3(A)所示的目标轨道的指令值的时间变化的一个例的时序图。如图4所示,由于目标轨道定义于X-Y平面,需要各自对与X轴及Y轴相关联的两个电机给出指令值。此外,由静止状态到目标速度需要以指定的加速度加速。因此,如图4所示的时序图,即使是一个运动指令也需要依次更新对电机驱动器输出的指令值。此指令值的更新周期相当于<控制周期>。需要说明的是,图4所示的时序图所示出的面积相当于位置指令值。
为算出各控制周期中的指令值,需要解释由图3(B)所示的运动程序138所指定的各运动指令,并预先决定各控制周期中用于计算指令值的函数或运算式。
虽然假定在对运动程序138指定的各运动指令事先进行语法分析以及编译等的作业,并先决定用于计算各控制周期中的指令值的函数的方式,但在根据本实施方式的控制装置100,依次解释由运动程序138指定的各运动指令,并决定用于各控制周期中算出指令值的函数后,采用依次计算各控制周期中的指令值的方式。以下,将这样的方式称为“解释方式”。即,根据本实施方式的控制装置100以解释方式执行基于运动程序的运动控制。
<D.相关技术>
下面,说明与基于上述运动程序的运动控制的解释方式中的执行相关的相关技术。
图5是用于说明与基于运动程序的运动控制的解释方式的执行相关的相关技术的图。参照图5,在运动控制的解释方式中的执行中,在运动程序138需要依次解释指定的各运动指令的处理(以下,称为“解释处理”)P1A,以及计算指令值的处理(以下,称为“指令值运算处理”)P2A。
依次解释运动指令的解释处理P1A相当于执行解释用户程序(运动程序)的处理。计算指令值的指令值运算处理P2A相当于更新控制致动器的指令值的处理。
相关技术中,在共用的处理器110A执行这样的2个处理。为了在共用的处理器110A执行2个处理,通过时间分割方式在各处理分配处理器时间。即,解释处理P1与指令值运算处理P2交替执行。为了在每个预先确定的控制周期稳定地更新指令值,通常,对于指令值运算处理P2A是在固定周期的中断处理中执行,在背景的时间执行解释处理P1A。按照根据这样的相关技术的运动控制的解释方式下的执行,它有诸如以下的问题。
计算指令值的指令值运算处理P2A的处理时间根据运动指令的内容和执行时刻等来变动,所以对解释处理P1A分配的处理器时间产生偏差,没有准备预先估计该偏差而设计运动控制。
考虑如上所述的处理器时间的偏差而实现稳定的运动控制,在设定指令值运算处理P2A的执行周期即控制周期时,除了解释处理P1A的执行时间以外,还需要考虑某种程度的余量时间,无法100%利用处理器的性能。
为了在中断处理中执行指令值运算处理P2A,需要充分考虑关于解释处理P1A以及指令值运算处理P2A设定优先级的同时,为了交付每个处理的运算结果,需要安装对存储器访问的复杂的排他控制。由于有必要考虑这样的点,对设计以及质量保证需要大量的检查时间以及验证时间。
根据本实施方式的控制装置100将解决如上所述的问题作为一个目的。
<E.並列处理>
下面,说明根据本实施方式的控制装置100中,基于运动程序的运动控制的解释方式的执行方法。
图6是用于说明根据本实施方式的控制装置100进行的、基于运动程序的运动控制的解释方式的执行方法的图。本实施方式中,将依次解释在运动程序138中指定的各运动指令的处理(解释处理)P1、以及计算指令值的处理(指令值运算处理)P2分别在不同的运算电路(本实施方式中处理器110的第一核111以及第二核112)彼此独立执行。此时,因使两个处理彼此独立执行,通过将基于解释处理P1的运算结果作为参数集150输出,从而向指令值运算处理P2的传递变得容易。即,解释处理P1中,以解释方式解释运动程序138并分解为函数的参数集150。通过利用这种分解参数集150,实现向2个处理之间共享的主存储器120的缓冲。需要说明的是,将在后面描述参数集150的输出处理、以及使用参数集150的指令值的算出处理。
以下的说明中,例示出了作为可以从第一核111以及第二核112访问的共享存储器而使用主存储器120来缓冲参数集150的构成,但作为共享存储器,也可以使用处理器110的共享缓存116。
通过这种方式,在本实施方式中,将解释处理P1简化为输出定义与指令值计算相关的函数的参数集150并将其写入主存储器120的处理的同时,将指令值运算处理P2简化为从主存储器120读取参数集150并根据函数来更新指令值的处理。即,以解释处理P1主要对主存储器120仅写入数据,而指令值运算处理P2主要从主存储器120仅读取数据的方式,使得向主存储器120的访问冲突的可能性趋近于零,之后,将解释处理P1以及指令值运算处理P2分配到共享主存储器120的各个不同的核。通过采用这样彼此独立的处理,可以消除由干渉彼此的处理所造成的问题。
即,第一核111(第一运算电路)执行解释处理P1,所述解释处理P1依次解释存储于二级存储装置130的一个或多个指令(运动程序138)并依次计算出定义与计算指令值相关的函数的参数集150,第二核112(第二运算电路)独立于解释处理P1的执行而执行指令值运算处理P2,所述指令值运算处理P2基于依次计算出的参数集150,在每个预先确定的控制周期计算指令值。
此时,第一核111(第一运算电路)将依次计算出的参数集写入作为共享存储器来发挥作用的主存储器120,而第二核112(第二运算电路)从作为共享存储器来发挥作用的主存储器120依次读取参数集150。
通过采用如上所述的构成,由于几乎不发生各核访问存储器的冲突,所以不需要安装对存储器访问的复杂的排他控制。此外,由于能够对分配给各核的处理使用所负责的核的全部处理器时间,所以能够100%利用处理器的性能。
对于在每个预先确定的控制周期更新指令值的指令值运算处理P2,通过监测各控制周期中的空闲时间,可得到缩短在此空闲时间的控制周期,其结果是,能够容易地优化运动控制的控制精度。
由于各处理对每个核独立执行,因此能够简化了在各核中执行程序的设计,可以减少设计和质量保证所需的工时。
<F.解释处理以及指令值计算处理>
说明通过上述解释处理计算出的参数集150以及使用了参数集150的指令值运算处理。
图7是表示根据本实施方式的解释处理所计算出的参数集150的一例的图。参数集150包括定义表示指令值在时间上的变化的函数的一个或多个的参数,作为一个例子,由如图7(A)所示的多个参数来构成。图7(A)所示的参数集150定义表示如图7(B)所示的指令值的时间变化(作为一个例子,速度模式)的函数。
在解释处理中,对运动程序138进行语法分析后,计算从指定的目标位置和/或现在位置的移动量,根据指定的速度和/或加速度,算出加速时间、减速时间、恒速时间。图7(A)示出通过这样的处理得到的参数集150的一个例子。
更具体而言,参数集150包括:控制标记151、加速时间152、加速函数类型153、减速时间154、减速函数类型155、恒速时间156、各轴移动量157、各轴速度158、插补移动量159。这样的参数集150对包括在运动程序138的每个运动指令计算。
加速时间152表示在图7(B)所示的速度模式的加速区间的长度,并由控制周期作为基准的次数来定义。加速函数类型153表示在图7(B)所示的速度模式的加速区间的时间上的变化类型,并可以指定一次曲线和多次曲线等。同样,减速时间154表示在图7(B)所示的速度模式的减速区间的长度,减速函数类型155表示在图7(B)所示的速度模式的减速区间的时间上的变化类型。恒速时间156表示在图7(B)所示的速度模式的恒速区间的长度。
加速时间152、减速时间154以及恒速时间156的合计表示速度模式全体的时间长度,通过将控制周期作为基准的次数来定义。即,参数集150作为表示应计算指令值的次数的参数,包括加速时间152、减速时间154以及恒速时间156。并且,在基于参数集150的指令值的计算执行所指定的次数时,终止基于该参数集150计算指令值的处理,开始基于下一个计算出的参数集150的指令值的计算。
各轴移动量157表示每个轴的移动量,各轴速度158表示每个轴的速度。插补移动量159表示多个轴的移动量的合成值。
通过使用这样的多个参数,可以构成表示由各运动指令定义的速度模式等的函数。
图8是用于说明根据本实施方式的控制装置100中的指令值运算处理的处理内容的示意图。参照图8,指令值运算处理P2中,通过输入由解释处理P1计算出的参数集150,使用构成输出指令值的函数的函数模块160。对函数模块160输入参数集150的同时,在各控制周期的指令值(t)依次被计算出。在依次计算出指令值时,使用上一个控制周期中的指令值(t-1)。并且,当完成由作为对象的参数集150定义的指令值的依次输出时,该参数集150的控制标记151的值由“有效”变更为“无效”。并且,读取下一个参数集150。
包括在图7(A)参数集150的控制标记151是用于管理由解释处理进行的参数集的计算以及指令值运算处理的执行完成等的标记。通过解释处理而参数集150被重新写入主存储器120时,控制标记151的值设定为“有效”。并且,当对写入主存储器120的参数集150完成指令值运算处理的执行时,控制标记151的值设定为“无效”。在解释处理中,由于对控制标记151的值设定为“无效”的参数集150可以判断为处理结束且不需要,所以从主存储器120删除此参数集150,根据需要计算新参数集150。
图9是用于说明根据本实施方式的控制装置100中的解释处理与指令值运算处理之间的联系方法的示意图。参照图9(A),通过解释处理P1由包括在运动程序138的两个运动指令依次计算出参数集150-1以及参数集150-2。计算之后,参数集150的控制标记151值立即被设定为“有效”。即,第一核111(第一运算电路)在计算出参数集150时,通过将控制标记151值设定为表示“有效”的值,与计算出的参数集150相关联,将表示有效的状态信息写入主存储器120。
指令值运算处理P2中,基于先前计算出的参数集150-1执行指令值的依次更新。当被指定的n个指令值(指令值1(1)、指令值1(2)、…、指令值1(n))的计算完成,则参数集150-1的控制标记151值从“有效”变更为“无效”。即,第二核112(第二运算电路)在基于参数集150的指令值的计算完成时,通过将控制标记151的值变更为表示“无效”的值,将与参数集150相关联的状态信息变更为表示无效的值。
然后,如图9(B)所示,控制标记151的值变更为“无效”的参数集150-1通过解释处理P1从主存储器120被删除。而且,如图9(C)所示,通过解释处理P1,由包括在运动程序138的新指令创建一个新参数集150-3,并写入主存储器120。
另一方面,指令值运算处理P2中,基于位于参数集150-1的下一个参数集150-2执行指令值的依次更新。
通过这种方式,第一核111(第一运算电路)在删除表示相关联的状态信息为无效的参数集150(即,控制标记的值设定为“无效”)后,将重新计算的参数集150写入主存储器120。重复解释处理P1以及指令值运算处理P2中的处理,直到完成对包括在运动程序138的全部运动指令的处理。
需要说明的是,为了便于说明,将图9(B)所示的参数集150-1的删除、以及图9(C)所示的参数集150-3的创建分别作为单独处理来说明,但可以一次性进行这些。即,也可以由创建的一个新参数集150-3来覆盖旧的参数集150-1。
<G.处理顺序>
下面,说明在根据本实施方式的控制装置100的第一核111以及第二核112中分别执行的处理顺序。
图10是表示在根据本实施方式的控制装置100中执行的处理顺序的流程图。图10所示的各步骤通过第一核111以及第二核112各自执行程序来实现。第一核111中执行解释处理P1。第二核112中执行指令值运算处理P2。
参照图10,若第一核111被指示运动程序138的执行(步骤S100),则解释包括在运动程序138的运动指令并计算参数集150(步骤S102),将控制标记151的值设定为“有效”(步骤S104)后,写入主存储器120(步骤S106)。
然后,第一核111判断是否结束包括在运动程序138的全部运动指令的解释(步骤S108)。当包括在运动程序138的运动指令中有未结束解释的情况(在步骤S108中“否”的情况)下,则第一核111判断在主存储器120中是否存在输出新参数集150的区域(步骤S110)。当主存储器120中存在输出新参数集150区域的情况(在步骤S110中“是”的情况)下,则第一核111将包括在运动程序138的未处理的运动指令设定为对象(步骤S112),进行参数集150计算以及输出。即,步骤S102以下的处理被重复。
当结束包括在运动程序138的全部运动指令的解释的情况(在步骤S108中“是”的情况)、或当主存储器120中不存在输出新参数集150的区域的情况(在步骤S110中“否”的情况)下,第一核111判断是否存在控制标记151的值被设定为“无效”的参数集150(步骤S114)。
只要存在控制标记151的值被设定为“无效”的参数集150(在步骤S114中“是”的情况),则第一核111删除该控制标记151值被设定为“无效”的参数集150(步骤S116)。
在执行步骤S116后,或在不存在控制标记151值被设定为“无效”的参数集150的情况(在步骤S114中“否”的情况)下,第一核111判断参数集150是否存在于主存储器120中(步骤S118)。如果参数集150存在于主存储器120中(在步骤S118中“是”的情况),则重复步骤S108以下的处理。
如果参数集150不存在于主存储器120中(在步骤S118中“否”的情况),则处理将会结束。
另一方面,若第二核112被指示运动程序138的执行(步骤S200),则从主存储器120读取最早计算的参数集150(步骤S202),根据以该读取的参数集为基础所构成的函数来计算指令值(步骤S204)。第二核112判断是否计算出对读取的参数集150所指定的次数的指令值(步骤S206)。如果没有计算出对对象的参数集150所指定的次数的指令值(在步骤S206中“否”的情况),则步骤S204以下的处理被重复。
如果计算出对对象的参数集150所指定的次数的指令值(在步骤S206中“是”的情况),则第二核112将包括在作为对象的参数集150的控制标记151的值变更为“无效”(步骤S208),判断主存储器120中是否存在控制标记151的值设定为“有效”的参数集150(步骤S210)。
如果主存储器120中存在控制标记151的值设定为“有效”的参数集150(在步骤S210中“是”的情况),则第二核112从主存储器120中读取在控制标记151的值设定为“有效”的参数集150中最早计算出的参数集150(步骤S212),重复步骤S204以下的处理。
如果主存储器120中不存在控制标记151的值设定为“有效”的参数集150(在步骤S210中“否”的情况),则处理将会结束。
<H.优点>
根据本实施方式,提供将包括多个运动指令的运动程序以解释方式解释而执行运动控制的结构。具体而言,将依次解释运动程序138中指定的各运动指令的处理(解释处理)以及计算指令值的处理(指令值运算处理)分别在不同的运算电路中使彼此独立执行。此时,为使彼此独立执行两个处理,将解释处理的运算结果作为参数集输出,从而向指令值运算处理的传递变得容易。通过这种方式,以解释方式解释并执行运动控制时所需要的处理分解为可以彼此独立执行的两个处理之后,在彼此不同的运算电路中执行各处理,从而不受运动程序的运算量的影响,就可以实现在指定的控制周期中的指令值的更新。
应认为本次公开的实施方式在全部点是例示而非限制。本发明的范围由权利要求书来表示而非上述的说明,意在包括与权利要求书均等的意思和范围内的全部变更。
Claims (6)
1.一种控制装置,其中,包括:
接口,用于对驱动电机的电机驱动器输出指令值;
存储部,存储用于指定所述电机驱动器驱动的电机的动作的一个或多个指令;以及
处理部,包括第一运算电路和第二运算电路,
所述第一运算电路执行第一处理,在所述第一处理中,依次解释存储于所述存储部的所述一个或多个指令,从而依次计算出定义与所述指令值的计算相关的函数的参数集,
所述第二运算电路独立于所述第一处理的执行而执行第二处理,在所述第二处理中,基于依次计算出的所述参数集,在每个预先确定的控制周期计算所述指令值。
2.根据权利要求1所述的控制装置,其中,
还包括能够由所述第一运算电路和所述第二运算电路访问的共享存储器,
所述第一运算电路将依次计算出的所述参数集写入所述共享存储器,
所述第二运算电路从所述共享存储器依次读取参数集。
3.根据权利要求2所述的控制装置,其中,
在计算出所述参数集时,所述第一运算电路将表示有效的状态信息与计算出的所述参数集相关联地写入所述共享存储器,
在基于所述参数集进行的所述指令值的计算完成时,所述第二运算电路将与该参数集相关联的状态信息变更为表示无效的值。
4.根据权利要求3所述的控制装置,其中,
在删除表示相关联的状态信息为无效的参数集之后,所述第一运算电路将重新计算出的参数集写入所述共享存储器。
5.根据权利要求1至4中任一项的控制装置,其中,
所述参数集包括表示应计算所述指令值的次数的参数,
在基于通过所述第一处理而计算出的参数集进行的所述指令值的计算执行了指定的次数时,所述第二运算电路开始基于通过所述第一处理而接着计算出的参数集计算所述指令值。
6.一种控制***,其中,包括:
电机驱动器,驱动电机;以及
控制装置,对所述电机驱动器输出指令值,
所述控制装置包括:
存储部,存储用于指定所述电机驱动器驱动的电机的动作的一个或多个指令;以及
处理部,包括第一运算电路和第二运算电路,
所述第一运算电路执行第一处理,在所述第一处理中,依次解释存储于所述存储部的所述一个或多个指令,从而依次计算定义与所述指令值的计算相关的函数的参数集,
所述第二运算电路独立于所述第一处理的执行而执行第二处理,在所述第二处理中,基于依次计算出的所述参数集,在每个预先确定的控制周期计算所述指令值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-172042 | 2016-09-02 | ||
JP2016172042A JP2018037021A (ja) | 2016-09-02 | 2016-09-02 | 制御装置および制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107809189A true CN107809189A (zh) | 2018-03-16 |
Family
ID=59772355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710695042.5A Pending CN107809189A (zh) | 2016-09-02 | 2017-08-15 | 控制装置以及控制*** |
Country Status (4)
Country | Link |
---|---|
US (1) | US20180065244A1 (zh) |
EP (1) | EP3291037B1 (zh) |
JP (1) | JP2018037021A (zh) |
CN (1) | CN107809189A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112091962A (zh) * | 2019-06-18 | 2020-12-18 | 株式会社大亨 | 机器人控制装置、以及机器人控制*** |
CN112236728A (zh) * | 2018-06-22 | 2021-01-15 | 软件伺服***公司 | 运动控制程序、运动控制方法以及运动控制装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6859675B2 (ja) * | 2016-11-21 | 2021-04-14 | セイコーエプソン株式会社 | ロボット、及びロボットシステム |
JP6851837B2 (ja) * | 2017-01-20 | 2021-03-31 | キヤノン株式会社 | 制御装置、ロボットシステム、制御方法、プログラム、記録媒体及び物品の製造方法 |
JP6773072B2 (ja) * | 2018-04-23 | 2020-10-21 | オムロン株式会社 | 制御装置、システムおよび制御方法 |
CN109240191B (zh) * | 2018-04-25 | 2020-04-03 | 实时侠智能控制技术有限公司 | 集成运动控制和电机控制的控制器和控制*** |
CN108762197B (zh) * | 2018-06-14 | 2019-12-31 | 杭州电子科技大学 | 基于plc的运动控制方法和运动控制器 |
CN111687830A (zh) * | 2019-03-15 | 2020-09-22 | 广州市韦德电气机械有限公司 | 一种机器人驱控一体机多轴总线链接方法及其驱动*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040122557A1 (en) * | 2002-12-19 | 2004-06-24 | National Instruments Corporation | Parallel trajectory generation, interpolation, and control in a motion control application |
US20060145647A1 (en) * | 2005-01-05 | 2006-07-06 | Kawasaki Jukogyo Kabushiki Kaisha | Robot controller |
CN103370664A (zh) * | 2011-02-21 | 2013-10-23 | 三菱电机株式会社 | 电动机控制***及通信方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2831350B2 (ja) * | 1987-02-12 | 1998-12-02 | 株式会社安川電機 | 産業用ロボツトの補間演算方法 |
JPH04364550A (ja) * | 1991-06-11 | 1992-12-16 | Oki Electric Ind Co Ltd | メモリ管理方法 |
JPH06190749A (ja) * | 1992-12-25 | 1994-07-12 | Fujitsu Ltd | 多関節ロボットアームの制御装置 |
JPH07210233A (ja) * | 1994-01-27 | 1995-08-11 | Matsushita Electric Ind Co Ltd | ロボットの軌道の補間方法と補間装置 |
JPH09244725A (ja) * | 1996-03-05 | 1997-09-19 | Sony Corp | 軌道補間装置及びその方法並びに制御装置 |
JP5037881B2 (ja) * | 2006-04-18 | 2012-10-03 | 株式会社日立製作所 | ストレージシステム及びその制御方法 |
JP5348489B2 (ja) | 2009-07-31 | 2013-11-20 | オムロン株式会社 | コントローラ |
JP5743495B2 (ja) * | 2010-11-05 | 2015-07-01 | キヤノン株式会社 | ロボット制御装置 |
-
2016
- 2016-09-02 JP JP2016172042A patent/JP2018037021A/ja active Pending
-
2017
- 2017-08-11 EP EP17185881.4A patent/EP3291037B1/en active Active
- 2017-08-15 CN CN201710695042.5A patent/CN107809189A/zh active Pending
- 2017-08-16 US US15/678,459 patent/US20180065244A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040122557A1 (en) * | 2002-12-19 | 2004-06-24 | National Instruments Corporation | Parallel trajectory generation, interpolation, and control in a motion control application |
US20060145647A1 (en) * | 2005-01-05 | 2006-07-06 | Kawasaki Jukogyo Kabushiki Kaisha | Robot controller |
CN103370664A (zh) * | 2011-02-21 | 2013-10-23 | 三菱电机株式会社 | 电动机控制***及通信方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112236728A (zh) * | 2018-06-22 | 2021-01-15 | 软件伺服***公司 | 运动控制程序、运动控制方法以及运动控制装置 |
CN112236728B (zh) * | 2018-06-22 | 2024-05-03 | 软件伺服***公司 | 运动控制程序、运动控制方法以及运动控制装置 |
CN112091962A (zh) * | 2019-06-18 | 2020-12-18 | 株式会社大亨 | 机器人控制装置、以及机器人控制*** |
Also Published As
Publication number | Publication date |
---|---|
EP3291037A3 (en) | 2018-03-21 |
EP3291037A2 (en) | 2018-03-07 |
JP2018037021A (ja) | 2018-03-08 |
US20180065244A1 (en) | 2018-03-08 |
EP3291037B1 (en) | 2020-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107809189A (zh) | 控制装置以及控制*** | |
CN102804087B (zh) | 控制器支持装置、控制程序的仿真方法 | |
CN105467858B (zh) | 一种机器人控制程序图形化集成开发环境 | |
CN109507980B (zh) | 控制装置及控制方法 | |
CN109388107B (zh) | 控制装置 | |
US7865349B2 (en) | Simulation, measurement and/or control system and method with coordinated timing | |
CN103477290A (zh) | 控制器辅助装置、用于在该装置中执行的控制器辅助程序以及存储有该程序的记录介质 | |
JP2019159697A (ja) | 制御システムおよび制御方法 | |
CN109491307B (zh) | 控制装置及控制方法 | |
US10761513B2 (en) | Information processing device, information processing method, and non-transitory computer-readable recording medium | |
US10814486B2 (en) | Information processing device, information processing method, and non-transitory computer-readable recording medium | |
JP2019061467A (ja) | サポート装置およびサポートプログラム | |
JP6900863B2 (ja) | 制御装置、制御方法および制御プログラム | |
US20030090490A1 (en) | Simulation device | |
CN109491324B (zh) | 控制装置及控制方法 | |
CN114800523B (zh) | 机械臂轨迹修正方法、***、计算机及可读存储介质 | |
US20220397880A1 (en) | Control device | |
Ashley | A mosaic for machine tools | |
CN109613880A (zh) | 信息处理装置、信息处理方法及其计算机可读记录介质 | |
JP6988773B2 (ja) | 制御システムおよび制御装置 | |
WO2022254928A1 (ja) | 制御装置、制御システム、および制御プログラムの更新を管理するプログラム | |
JP5235609B2 (ja) | 特殊ユニット模擬プログラム作成装置、プログラマブルコントローラ模擬装置、および方法 | |
JP2833215B2 (ja) | 制御管理システム | |
JPH052213U (ja) | 無人搬送車の管理装置 | |
JPH054206U (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180316 |
|
WD01 | Invention patent application deemed withdrawn after publication |