CN109542046A - 控制装置、控制方法及支援装置 - Google Patents

控制装置、控制方法及支援装置 Download PDF

Info

Publication number
CN109542046A
CN109542046A CN201810151489.0A CN201810151489A CN109542046A CN 109542046 A CN109542046 A CN 109542046A CN 201810151489 A CN201810151489 A CN 201810151489A CN 109542046 A CN109542046 A CN 109542046A
Authority
CN
China
Prior art keywords
command
application program
control
point
order
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.)
Granted
Application number
CN201810151489.0A
Other languages
English (en)
Other versions
CN109542046B (zh
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
Publication of CN109542046A publication Critical patent/CN109542046A/zh
Application granted granted Critical
Publication of CN109542046B publication Critical patent/CN109542046B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/18Numerical 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/41Numerical 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 characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • 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/18Numerical 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/408Numerical 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 characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • 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
    • 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/18Numerical 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/19Numerical 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 characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • 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/18Numerical 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/4155Numerical 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 characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • 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/10Plc systems
    • G05B2219/16Plc to applications
    • 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/34Director, elements to supervisory
    • G05B2219/34093Real time toolpath generation, no need for large memory to store values
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43185Speed invariant motions, path accuracy independent of speed
    • 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/45Nc applications
    • G05B2219/45083Manipulators, robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Programmable Controllers (AREA)
  • Numerical Control (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

本发明提供一种控制装置、控制方法及支援装置,在依次解释应用程序而进行按照目标轨迹的控制的情况下能兼顾处理速度及控制精度的要求的控制装置及控制方法。本发明的控制装置包含在每个控制周期中输出指令值的指令值输出部、及依次解释应用程序并生成内部命令的命令解释部。命令解释部算出每隔预定期间的目标轨迹上的通过点,并且根据此算出的通过点生成内部命令,在应用程序的依次解释中执行预先定义的特殊命令时,将算出通过点的期间变更为由所述特殊命令指定的长度。

Description

控制装置、控制方法及支援装置
技术领域
本公开涉及一种能控制一个或多个电动机的控制装置及控制方法、以及对所述控制装置及控制方法的支援装置。
背景技术
在各种生产现场,使用可编程逻辑控制器(programmable logic controller,PLC)(可编程控制器)等控制装置的工厂自动化(Factory Automation,FA)技术已广泛普及。随着近年来的信息及通信技术(Information and Communication Technology,ICT)的进步,控制装置的处理能力也不断飞跃性地提高。
也产生了将使用多个专用装置而实现的现有控制装置合并成数量更少的控制装置等需求(needs)。例如日本专利特开2012-194662号公报(专利文献1)中公开了一种由PLC的中央处理器(Central Processing Unit,CPU)单元同步执行动作运算程序及用户程序的配置。根据日本专利特开2012-194662号公报(专利文献1)公开的配置,顺序程序等用户程序与动作运算程序可以通过激励相互协作/执行。通过采用此种PLC单元,不需要采用专用装置来实现动作运算的处理。
发明内容
[发明所要解决的问题]
除了所述那样的动作运算以外,有一种需求希望能够使用单一的控制装置来实现对于工作机械或机器人等按照预定的目标轨迹的控制。
在使用PLC实现按照目标轨迹的控制的情况下,将所定义的目标轨迹模型化后,必须在每个控制周期中算出指令值。此种处理中,若模型化的精度过高则运算量会很高,无法实现预先计算出每个控制周期的指令值。反之,若模型化的精度过低则大幅偏离所要求的目标轨迹。如此,对于按照目标轨迹的控制而言,难以兼顾处理速度及控制精度的要求。
本公开用于解决所述课题,其中一个目的在于提供一种在依次解释应用程序而进行按照目标轨迹的控制的情况下,能兼顾处理速度及控制精度的要求的控制装置及控制方法。另外,本公开的另一目的在于提供一种支援装置,此支援装置能制作兼顾处理速度及控制精度的要求的应用程序。
[解决问题的技术手段]
根据本公开的一例,提供一种能控制一个或多个电动机的控制装置。控制装置包含:指令值输出部,在每个控制周期中输出对一个或多个电动机的指令值;以及命令解释部,依次解释包含定义目标轨迹的一个或多个命令的应用程序,并且生成由指令值输出部在每个控制周期中用来执行并输出指令值所需要的内部命令。命令解释部按照应用程序所含的命令,算出每隔预定期间的目标轨迹上的通过点,并且根据所述算出的通过点生成内部命令,在应用程序的依次解释中执行预先定义的特殊命令时,将算出通过点的期间变更为由所述特殊命令指定的长度。
根据本公开,能实现如下执行方式:根据目标轨迹的复杂性等与对象命令相关地追加特殊命令,由此提高特定区间的控制精度,并且在除此以外的情况下优先处理速度。由此,能兼顾处理速度及控制精度的要求。
所述公开中,命令解释部也可在执行特殊命令时,按照所述特殊命令的指定来解释应用程序中记述在所述特殊命令之后的一个或多个命令。
根据本公开,仅在欲变更指定的命令之前追加特殊命令便能实现与目标指定相应的处理,从而能使特殊命令的设定变容易。
所述公开中,特殊命令也可包含用于使算出通过点的期间的变更还原的命令。
根据本公开,在欲对特定命令指定特定设定之后以通常的设定对此后的命令进行处理的情况下,无需每次输入通常的设定,从而能减少利用特殊命令时的工作量。
所述公开中,命令解释部也可根据目标轨迹上的邻接通过点之后的多个通过点的信息,生成与目标轨迹上的所述邻接通过点间对应的内部命令。
根据本公开,能提高内部命令的生成精度。
所述公开中,特殊命令也可包含指定生成内部命令所需要的通过点的个数的命令。
根据本公开,不仅能调整算出通过点的期间,而且也能调整用于生成内部命令的通过点的个数,因此能更灵活地调整控制精度。
所述公开中,控制装置也可还包含依次存储由命令解释部生成的内部命令的缓冲器。特殊命令也可包含指定缓冲器中存储的内部命令的个数的命令。
根据本公开,能调整事先应准备的内部命令的个数,因此在预计目标轨迹复杂而必须在短时间内更新内部命令的事态的情况等时,能防止内部命令的生成来不及而停止输出指令值那样的事态。
所述公开中,特殊命令也可按用于记述应用程序的语言形式定义。
根据本公开,应用程序的开发者能利用特殊命令而并无违和感。
所述公开中,内部命令也可定义为表示目标轨迹上设定的每个邻接通过点间的各电动机行为的函数。
根据本公开,能减少指令值输出部中用于输出指令值的运算量。
根据本公开的另一例,提供一种能控制一个或多个电动机的控制方法。控制方法包括以下步骤:在每个控制周期中输出对一个或多个电动机的指令值;以及依次解释包含定义目标轨迹的一个或多个命令的应用程序,生成在每个控制周期中输出指令值所需要的内部命令。生成内部命令的步骤包括以下步骤:按照应用程序所含的命令,算出每隔预定期间的目标轨迹上的通过点,并且根据所述算出的通过点生成内部命令;以及在应用程序的依次解释中执行预先定义的特殊命令时,将算出通过点的期间变更为由所述特殊命令指定的长度。
根据本公开,能实现如下执行方式:根据目标轨迹的复杂性等与对象命令相关地追加特殊命令,由此提高特定区间的控制精度,并且在除此以外的情况下优先处理速度。由此,能兼顾处理速度及控制精度的要求。
根据本公开的另一例,提供一种支援装置,此支援装置对包含定义目标轨迹的一个或多个命令的应用程序进行处理。支援装置包括:第一取得机构,取得按照每个控制周期的指令值的表示控制对象的轨迹的实际行为,所述轨迹是根据通过依次解释应用程序而生成的内部命令所算出;第二取得机构,取得理想行为,所述理想行为是按照目标轨迹的控制对象原本的轨迹;确定机构,提取实际行为与理想行为的误差超过预定的允许误差范围的部分,并且确定应用程序所含的与所述提取部分对应的命令;以及修正机构,按照用户操作在所确定的命令之前追加特殊命令,所述特殊命令用于变更由应用程序所含的命令生成内部命令时的处理精度。
根据本公开,用户能一面参照实际行为与理想行为的比较结果一面确定应变更内部命令的生成条件的部位。而且,通过指定此所确定的部位,能对应用程序的成为对象的命令追加特殊命令。结果,即便是缺乏预备知识的用户也能适当利用本发明的特殊命令。
所述公开中,内部命令也可根据依次解释应用程序而算出的目标轨迹上设定的多个通过点的信息而生成。特殊命令也可包含变更目标轨迹上的通过点的设定间隔的命令。
根据本公开,能调整生成内部命令时算出的通过点的精度,由此能实现目标控制精度。
所述公开中,内部命令也可与目标轨迹上的邻接通过点间相对应,并且根据所述邻接通过点之后的多个通过点的信息而生成。特殊命令也可包含指定生成内部命令所需要的通过点的个数的命令。
根据本公开,不仅能调整算出通过点的期间,而且也能调整用于生成内部命令的通过点的个数,因此能更灵活地调整控制精度。
所述公开中,支援装置也可还包括更新机构,所述更新机构根据追加特殊命令后的应用程序更新实际行为。
根据本公开,用户能确认对应用程序插入特殊命令的结果,视需要也能再次检视特殊命令的条件等。
所述公开中,支援装置也可还包括显示机构,所述显示机构将实际行为及理想行为重叠显示,并且与产生了超过允许误差范围的误差的部分相关地标示第一对象。
根据本公开,用户能容易地确定实际行为与理想行为相比删除超过允许误差范围而偏离的部分。
所述公开中,显示机构也可在根据追加特殊命令后的应用程序所算出的实际行为中,产生了超过允许误差范围的误差的部分变为允许误差范围以内时,将第一对象更新为第二对象。
根据本公开,用户能容易地掌握由插入特殊命令后的应用程序所得的实际行为的运算结果。
[发明的效果]
根据本公开的一例,在依次解释应用程序而进行按照目标轨迹的控制的情况下,能兼顾处理速度及控制精度的要求。
根据本公开的另一例,能提供一种能制作兼顾处理速度及控制精度的要求的应用程序的支援装置。
附图说明
图1为表示本实施方式的控制装置的应用场景的一例的示意图。
图2(A)、图2(B)为对本实施方式的控制装置的处理内容进行说明的示意图。
图3为表示本实施方式的控制系统的整体构成例的示意图。
图4为表示本实施方式的控制装置的硬件构成例的方块图。
图5为表示本实施方式的控制装置的程序执行机构的一例的示意图。
图6为表示本实施方式的控制装置的程序的执行动作例的时间图。
图7(A)、图7(B)为用于对本实施方式的控制装置的内部命令的生成处理的一例进行说明的示意图。
图8为用于对本实施方式的控制装置的内部命令的生成处理的因数进行说明的示意图。
图9为表示本实施方式的控制装置按照应用程序生成内部命令的处理顺序的流程图。
图10为表示本实施方式的支援装置的硬件构成的一例的示意图。
图11为表示本实施方式的支援装置的功能构成的一例的示意图。
图12(A)、图12(B)为表示本实施方式的支援装置提供的画面用户接口的一例的示意图。
图13为用于对通过用户操作图12(A)、图12(B)所示的画面用户接口而变更应用程序的处理进行说明的示意图。
图14为表示本实施方式的支援装置的应用程序的变更处理顺序的流程图。
[符号的说明]
1:控制系统;
2:现场网络;
6:上级网络;
30:顺序程序;
32、32A:应用程序;
33、33A、33B:特殊命令;
34:系统程序;
40:目标轨迹;
42、42A:通过点;
44:移动路径;
100:控制装置;
102、202:处理器;
104:芯片组;
106、206:主存储器;
108、208:存储部;
110:上级网络控制器;
112、212:USB控制器;
114:存储卡接口;
116:存储卡;
120:内部总线控制器;
122:I/O单元;
130:现场网络控制器;
150:顺序程序执行部;
152:顺序命令解释部;
154:库;
156:动作指令值输出部;
160:应用程序执行部;
162:命令解释部;
164、264:缓冲器;
166、266、Fx1(t)、Fx2(t):内部命令;
168:指令值输出部;
170:共享存储器;
172、174:指令值;
180:输入输出刷新处理部;
200:支援装置;
204:显示器;
210:内部总线;
214:输入装置;
216:OS;
218:支援程序;
262:命令解释模块;
268:指令值输出模块;
270:比较显示模块;
272:设定数据;
274:误差算出模块;
280:描画模块;
290:变更接受模块;
292:块编号确定模块;
294:命令修正模块;
300:伺服装置;
400:显示装置;
500:现场设备;
510:远程I/O装置;
520、520_1、520_2、520_3、530:伺服驱动器;
522、522_1、522_2、522_3、532:伺服电动机;
540:工作机械;
550:搬送装置;
554:作业台;
600:验证画面;
610:轨迹显示区域;
612、614:踪迹;
620、622:注意显示对象;
630:允许误差范围输入区域;
640:详细显示区域;
642:块编号显示区域;
644:代码显示区域;
646:前瞻单位显示区域;
648:前瞻单位接受区域;
649:输入区域;
P0(t0)、P1(t1)、P2(t2)、P3(t3)、P4(t4):通过点;
S100、S102、S104、S106、S108、S110、S112、S114、S116、S118、S120、S122、S200、S202、S204、S206、S208、S210、S212、S214、S216:步骤;
T1:控制周期;
T2:应用执行周期;
t0、t1、t2、t3、t4:时刻;
W:工件。
具体实施方式
一方面参照附图一方面对本发明的实施方式进行详细说明。此外,对图中的相同或相应部分标注相同符号,不重复进行说明。
<A.应用例>
首先,对应用本发明的场景的一例进行说明。图1为表示本实施方式的控制装置100的应用场景的一例的示意图。
本实施方式的控制装置100能控制一个或多个电动机。具体而言,控制装置100依次解释包含定义目标轨迹的一个或多个命令的应用程序32,并在每个控制周期中输出对控制对象的一个或多个电动机的指令值。
本发明的“电动机”为包含伺服电动机、同步电动机及感应电动机等任意种类的驱动装置的概念。另外,本发明的“电动机”例如也可包含直线电动机(linear motor)那样进行直线运动而非旋转运动的装置。例如在驱动伺服电动机的情况下利用伺服驱动器,但驱动电动机的装置也是根据电动机的种类而适当选择。
本说明书中,将使用应用程序32对包含一个或多个电动机的装置进行控制的处理及功能统称为“控制应用”。此“控制应用”的术语例如为以下概念:包含使用计算机数值控制(Computer Numerical Control,CNC)和/或机器人的进行特定加工或动作的装置或机械以及所述装置或机械的控制。
本说明书中,“应用程序”包含由用于实现“控制应用”的一个或多个命令组成的程序。“应用程序”为表现控制应用的顺序的程序,作为一例,CNC的情况下使用被称为G代码的命令群记述,机器人控制的情况下使用被称为M代码的命令群记述。“应用程序”是以定义目标轨迹的一个或多个命令记述,且在执行时采用逐块(block)依次解释的解释器(interpreter)方式。
控制装置100含有命令解释部162及指令值输出部168作为主要功能构成。命令解释部162中输入应用程序32。图1中作为应用程序32的一例,示出用于进行计算机数值控制的数值控制程序(以下也简称为“NC程序”)。
应用程序32包含定义目标轨迹的一个或多个命令。图1所示的示例中,由“G00 X10Y10”、“G01 X20 Y20”、“G00 X30 Y30”等各块的命令来定义目标轨迹。更具体而言,“G00”、“G01”等记述为定义动作(例如直线移动、曲线移动、样条线(spline)移动等)的命令,随后的“X10 Y10”、“X20 Y20”、“X30 Y30”等记述成为一种引数(此例中为表示移动目的地的坐标)。
命令解释部162依次解释应用程序32,生成指令值输出部168在每个控制周期中输出指令值所需要的内部命令166。命令解释部162相当于应用程序32用“解释器”。
更具体而言,首先命令解释部162依次解释应用程序32((1)应用程序依次解释)。通过依次解释应用程序32所含的命令而算出目标轨迹40。命令解释部162算出所算出的目标轨迹40上的每隔预定期间的通过点42。通过点42是也考虑到在目标轨迹40上移动的目标速度后,以每隔预定时间应存在的位置的形式算出。在时刻t=0开始移动的情况下,以t=T的通过点42、t=2T的通过点42、t=3T的通过点42、…等状况依次设定通过点42。
如此,命令解释部162按照应用程序32所含的命令,算出每隔预定期间的目标轨迹40上的通过点42((2)目标轨迹、通过点算出)。
然后,命令解释部162算出将目标轨迹40上的邻接通过点42连结的移动路径44,生成用于实现此所算出的移动路径44的内部命令166((3)内部命令生成)。
本说明书中,“内部命令”为包含用于使指令值输出部168每隔预定时间(在每个控制周期中)输出指令值的命令或函数等的概念。图1所示的示例中,内部命令166也可定义为以下函数,此函数表示与目标轨迹40上设定的通过点42对应的每个时间(经过时间)区间的各电动机行为。“内部命令”典型而言也能以定义时间与指令值的关系的函数的形式定义。指令值例如可使用电动机的位置、速度、加速度、急动度、角度、角速度、角加速度、角急动度等。
如此,命令解释部162根据算出的通过点42生成内部命令166。图1所示的示例中,示出存在用于分别驱动X轴及Y轴的两个电动机的情况的示例。即,根据目标轨迹40上设定的通过点42,生成对两个电动机(X轴用电动机及Y轴用电动机)各自的内部命令166。
指令值输出部168按照由命令解释部162生成的内部命令166,在每个控制周期中输出对一个或多个电动机的指令值((4)指令值输出)。如图1所示,基本上内部命令166是对每个时间区间(较一个控制周期长)定义,指令值输出部168按照对应的内部命令166算出每个控制周期的指令值。
此外,由于命令解释部162依次解释应用程序32,因此目标轨迹40的算出及通过点的算出也是依次算出。如下文将述,为了提高内部命令166的精度,在生成与某个通过点42对应的内部命令166的情况下,优选参照位于目标轨迹40上的此通过点42之后的一个或多个通过点42的信息。
以下,将如此那样生成与任意通过点42对应的内部命令166时参照此通过点42之后的一个或多个通过点42的信息的情况也称为“前瞻(look ahead)”。下文中将对所述“前瞻”动作进行详述。
在如图1的目标轨迹40所示那样由应用程序32定义的目标轨迹40与邻接通过点42之间的区间相比复杂(即,局部变化相对大)的情况下,有时移动路径44偏离目标轨迹40。图1所示的示例中,示出目标轨迹40中产生了两个误差产生区间的示例。因产生此种误差产生区间而导致内部命令166的精度降低,控制精度可能降低。
为了防止此种控制精度的降低,也能减小在目标轨迹40上设定通过点42的区间宽,但通过减小区间宽设定的通过点42的数量增大,用于生成内部命令166的运算量可能增加。因此,本实施方式的控制装置100按照应用程序32所含的特殊命令,变更由应用程序32所含的命令生成内部命令166时的处理精度。此种特殊命令典型而言包含对设定通过点42的区间宽(即,设定通过点42的时间间隔)进行调整的命令。
图2(A)、图2(B)为用于对本实施方式的控制装置100的处理内容进行说明的示意图。图2(A)中示出与图1同样地对应用程序32进行依次解释的处理例。此情况下,在目标轨迹40上每隔预定期间设定通过点42。
相对于此,图2(B)中示出依次解释应用程序32A的情况的处理例,所述应用程序32A是在应用程序32中追加特殊命令33A、特殊命令33B所得。
作为特殊命令33A的“G990.5”命令定义:在此命令以后的命令解释中,将设定通过点42的区间宽设定为“0.5”。另一方面,作为特殊命令33B的“G99 default”命令定义:在此命令以后的命令解释中,使设定通过点42的区间宽回到默认值(default value)。如此,特殊命令33B也可包含用于使算出通过点42的期间的变更还原的命令。
此外,区间宽的设定方法可为绝对值,也可为相对值。例如可为将设定通过点42的区间宽设定为“0.5msec”的命令,也可为设定成相对于默认值而缩小至“50%”的命令。另外,可为用于缩短区间宽的命令,也可为用于延长区间宽的命令。
图2(B)所示的示例中,在位于应用程序32的第2个块的“G01 X20 Y20”命令之前追加特殊命令33A。利用此特殊命令33A,针对通过执行“G01 X20 Y20”命令所算出的目标轨迹的区间,将通过点42的设定间隔变更为由特殊命令33A指定的长度(如图所描述的通过点42及通过点42A之间的间隔)。
另外,在位于应用程序32的第3个块的“G00 X30 Y30”命令之前追加特殊命令33B。利用此特殊命令33B,针对通过执行“G00 X30 Y30”命令所算出的目标轨迹的区间,使通过点42的设定间隔回到由特殊命令33B指定的原本长度。
通过在应用程序32A中追加特殊命令33A、特殊命令33B,能视需要调整目标轨迹上设定的通过点42的区间宽。如此,命令解释部162执行特殊命令33A、特殊命令33B时,按照此特殊命令33A、特殊命令33B的指定而解释应用程序32中记述在此特殊命令33A、特殊命令33B之后的一个或多个命令。
图2(A)、图2(B)所示的示例中,命令解释部162在应用程序32A的依次解释中执行(即遇到)预先定义的特殊命令33A、特殊命令33B时,将算出通过点42的期间(区间宽)变更为由特殊命令33A、特殊命令33B指定的长度。
如此,通过根据目标轨迹的复杂性调整设定通过点42的时间间隔,能兼顾处理速度及控制精度的要求。即,能够在目标轨迹的复杂性相对较低的情况下,使设定通过点42的时间间隔相对长而优先处理速度,并且在目标轨迹的复杂性相对高的情况下,使设定通过点42的时间间隔相对短而优先控制精度。
通过采用此种用于兼顾处理速度及控制精度的要求的构成,能使控制装置100的运算资源最优化。即,不会为了实现控制应用而要求不必要地高的运算资源。
<B.控制系统的整体构成例>
其次,对包含本实施方式的控制装置100的控制系统1的整体构成例进行说明。图3为表示本实施方式的控制系统1的整体构成例的示意图。图3中示出以本实施方式的控制装置100为中心的控制系统1。
控制装置100相当于控制各种设备或装置等控制对象的工业用控制器。控制装置100为执行下文将述那样的控制运算的一种计算机,典型而言能以PLC(可编程控制器)的形式具体化。控制装置100经由现场网络(field network)2与各种现场设备500连接。控制装置100经由现场网络2等在与一个或多个现场设备500之间交换数据。通常“现场网络”也被称为“现场总线”,但为了简化说明,在以下的说明中统称为“现场网络”。即,本说明书的“现场网络”为除了狭义的“现场网络”以外还可包括“现场总线”的概念。
控制装置100所执行的控制运算包括:收集现场设备500所收集或生成的数据(输入数据)的处理(输入处理)、生成对现场设备500的指令值等数据(输出数据)的处理(运算处理)、将所生成的输出数据发送给对象的现场设备500的处理(输出处理)等。
现场网络2优选采用进行固定周期通信的总线或网络。此种进行固定周期通信的总线或网络已知以太网控制自动化技术(Ether Control Automation Technology,EtherCAT)(注册商标)、以太网工业协议(EtherNet Industry Protocol,EtherNet/IP)(注册商标)、设备网(DeviceNet)(注册商标)、混合网(CompoNet)(注册商标)等。在保证数据到达时间的方面,优选EtherCAT(注册商标)。
现场网络2上能连接任意的现场设备500。现场设备500包含对处于现场侧的制造装置或生产线等给予某些物理作用的致动器、及与现场之间交换信息的输入输出装置等。
虽经由现场网络2在控制装置100与现场设备500之间进行数据交换,但这些交换数据是以几百微秒(μsec)级~几十毫秒(msec)级的极短周期更新。
图3所示的整体构成例中,控制装置100控制CNC工作机械540及对CNC工作机械540供给工件W的搬送装置550。
CNC工作机械540按照指定位置或速度等的NC程序来控制加工中心(machiningcenter)等,由此对任意对象物进行加工。CNC工作机械540不限于图示,能应用于车床加工、铣床、放电加工等的任意加工装置。
CNC工作机械540及搬送装置550是按照来自控制装置100的指令值而被驱动。将由搬送装置550搬送的工件W配置在作业台554上,并由CNC工作机械540进行指定的加工。
图3所示的整体构成例中,现场设备500包含远程输入/输出(Input/Output,I/O)装置510、伺服驱动器520_1、伺服驱动器520_2、伺服驱动器520_3及伺服电动机522_1、伺服电动机522_2、伺服电动机522_3、以及伺服驱动器530。控制装置100能控制所述电动机。
典型而言,远程I/O装置510包含经由现场网络2进行通信的通信耦合器、及用于进行输入数据的取得及输出数据的输出的输入输出部(以下也称为“I/O单元”)。远程I/O装置510上,连接有输入继电器或各种传感器(例如模拟传感器、温度传感器、振动传感器等)等收集输入数据的装置,以及输出继电器、接触器、伺服驱动器及其他任意致动器等对现场给予某些作用的装置。
现场设备500不限于所述设备,能采用收集输入数据的任意设备(例如视觉传感器等)、给予依输出数据的某些作用的任意设备(例如逆变器装置等)、各种机器人等。
伺服电动机522_1、伺服电动机522_2、伺服电动机522_3是作为CNC工作机械540的一部分而组入,伺服驱动器530对连结于搬送装置550的传送带的伺服电动机532进行驱动。伺服驱动器520_1~伺服驱动器520_3、伺服驱动器530按照来自控制装置100的指令值(例如位置指令值或速度指令值等)驱动对应的伺服电动机。
作为一例,图3所示的整体构成例中,伺服电动机522_1、伺服电动机522_2、伺服电动机522_3为CNC工作机械540的X轴、Y轴、Z轴的驱动源,例如大多情况下对所述轴进行一体控制。
本实施方式的控制装置100能并列执行顺序程序30及应用程序32。即,控制装置100通过执行顺序程序30而输出按照顺序命令及动作命令所决定的指令值,并且通过执行应用程序32而输出用于控制CNC工作机械540或机器人的行为的指令值。此外,也可利用顺序程序30所含的控制命令来控制应用程序32的执行开始及执行结束等。
本说明书中,“顺序程序”为包含每当执行时被整体扫描且每当执行时算出一个或多个指令值的程序的概念。“顺序程序”包含由按国际电工委员会(InternationalElectrotechnical Commission,IEC)规定的国际标准IEC61131-3记述的一个或多个命令组成的程序。“顺序程序”中也可包含顺序命令和/或动作命令。此外,“顺序程序”不限于按国际标准IEC61131-3记述的命令,也包含PLC(可编程控制器)的制造商或供应商(vendor)等独自规定的命令。如此,“顺序程序”适于要求即时性及高速性的控制。
本说明书中,“顺序命令”基本上为包含由算出输入值、输出值、内部值等的一个或多个逻辑回路所记述的一个或多个命令的术语。基本上在一次控制周期中将“顺序命令”从最初开始执行到最末,并在下一控制周期中再次将“顺序命令”从最初开始执行到最末。本说明书中,“动作命令”为包含用于对伺服电动机等致动器算出位置、速度、加速度、急动度、角度、角速度、角加速度、角急动度等数值作为指令的一个或多个命令的术语。“动作命令”也是在一次控制周期中,将由功能块或数值算出式等记述的动作命令的程序(动作程序)从最初开始执行到最末。即,在每个控制周期中算出(更新)指令值。
控制装置100也经由上级网络6连接于其他装置。上级网络6也可采用作为普通网络协议的以太网(Ethernet)(注册商标)或EtherNet/IP(注册商标)。更具体而言,上级网络6上也可连接着一个或多个伺服装置300及一个或多个显示装置400。
关于伺服装置300,假设是数据库系统(database system)、制造执行系统(Manufacturing Execution System,MES)等。制造执行系统取得来自控制对象的制造装置或设备的信息并监视及管理整个生产,也能操作订货(order)信息、品质信息、出货信息等。不限于此,也可将提供信息系统服务的装置连接于上级网络6。关于信息系统服务,设想取得来自控制对象的制造装置或设备的信息并进行宏观分析或微观分析等的处理。例如设想数据挖掘(data mining)或机械学习工具等,所述数据挖掘提取来自控制对象的制造装置或设备的信息中所含的任何特征性倾向,所述机械学习工具用于根据来自控制对象的设备或机械的信息进行机械学习。
显示装置400接受来自用户的操作,对控制装置100输出与用户操作相应的命令等,并且以图形(graphical)的形式显示控制装置100中的运算结果等。
控制装置100上能连接支援装置200。支援装置200为对控制装置100对控制对象进行控制所需要的准备给予支援的装置。具体而言,支援装置200提供:控制装置100所执行的程序的开发环境(程序制作编辑工具、剖析器(parser)、编译器(compiler)等)、用于设定控制装置100及连接于控制装置100的各种设备的构成信息(配置(configuration))的设定环境、将所生成的用户程序输出给控制装置100的功能、在线(on-line)修正/变更控制装置100上执行的用户程序等的功能等。
<C.控制装置的硬件构成例>
其次,对本实施方式的控制装置100的硬件构成例进行说明。图4为表示本实施方式的控制装置100的硬件构成例的方块图。
参照图4,控制装置100为被称为CPU单元的运算处理部,包含处理器102、芯片组(chip set)104、主存储器106、存储部(storage)108、上级网络控制器110、通用串行总线(Universal Serial Bus,USB)控制器112、存储卡接口114、内部总线控制器120及现场网络控制器130。
处理器102是由中央处理器(Central Processing Unit,CPU)、微处理器(MicroProcessing Unit,MPU)、图形处理器(Graphics Processing Unit,GPU)等构成。处理器102也可采用具有多核(core)的构成,也可配置多个处理器102。芯片组104通过控制处理器102及周边元件(element)而实现整个控制装置100的处理。主存储器106是由动态随机存取存储器(Dynamic Random Access Memory,DRAM)或静态随机存取存储器(Static RandomAccess Memory,SRAM)等挥发性存储装置等构成。存储部108例如是由硬盘驱动器(HardDisk Drive,HDD)或固态驱动器(Solid State Drive,SSD)等非挥发性存储装置等构成。
处理器102读取存储部108中存储的各种程序并在主存储器106中展开执行,由此实现与控制对象相应的控制及下文将述那样的各种处理。存储部108中除了存储用于实现基本功能的系统程序34以外,还存储根据控制对象的制造装置或设备而制作的用户程序(顺序程序30及应用程序32)。
上级网络控制器110经由上级网络6而控制与伺服装置300或显示装置400(参照图4)等之间的数据交换。USB控制器112经由USB连接而控制与支援装置200之间的数据交换。
存储卡接口114构成为可装卸存储卡116,且能对存储卡116写入数据,从存储卡116读取各种数据(用户程序或跟踪数据(trace data)等)。
内部总线控制器120控制与控制装置100上安装的I/O单元122之间的数据交换。现场网络控制器130控制经由现场网络2的与现场设备之间的数据交换。
图4中示出了通过处理器102执行程序而提供必要功能的构成例,但也可使用专用的硬件电路(例如专用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编程门阵列(Field-Programmable GateArray,FPGA)等)来安装所述提供的功能的一部分或全部。或者,也可使用按照通用架构(architecture)的硬件(例如以通用个人计算机为基础的工业用个人计算机)来实现控制装置100的主要部分。此情况下,也可使用虚拟化技术并列执行用途不同的多个操作系统(Operating System,OS),并且在各OS上执行必要的应用。
图3所示的控制系统1中,控制装置100、支援装置200及显示装置400是分别以个体的形式构成,但也可采用将所述装置的全部或一部分功能归集到单一装置中那样的构成。
<D.程序执行机构>
然后,对本实施方式的控制装置100的程序执行机构例进行说明。图5为表示本实施方式的控制装置100的程序执行机构的一例的示意图。
参照图5,控制装置100具有执行顺序程序30并输出指令值的顺序程序执行部150、及执行应用程序32并输出指令值的应用程序执行部160。
更具体而言,顺序程序执行部150具有顺序命令解释部152、库(library)154及动作指令值输出部156。
顺序命令解释部152解释顺序程序30所含的顺序命令,并执行指定的顺序运算(逻辑运算)。库154提供与顺序程序30所含的单纯顺序以外的控制命令对应的代码。例如在顺序程序30能使用可进行复合处理的功能块记述那样的情况下,通过参照顺序程序30而取得解释并执行所述功能块所需要的代码。
动作指令值输出部156按照顺序程序30所含的动作命令算出指令值。动作命令利用一个命令在多个控制周期内定义指令值的算出,动作指令值输出部156解释此种动作命令,在每个控制周期中更新动作指令值。
将由顺序程序执行部150的顺序命令解释部152及动作指令值输出部156在每个控制周期中算出的一个或多个指令值172输出给共享存储器170。一个或多个指令值172典型而言包含按照顺序命令所决定的数字输出的开/关、及按照动作命令算出的模拟输出。
应用程序执行部160以解释器方式执行应用程序32,并输出对各电动机的指令值。应用程序执行部160的指令值算出(更新)是在每个控制周期中重复执行。如此,与顺序程序执行部150的指令值算出同步,应用程序执行部160按照应用程序32算出指令值。为了实现此种每个控制周期的指令值算出,应用程序执行部160生成用于算出指令值的内部命令166。
更具体而言,应用程序执行部160包含命令解释部162、缓冲器164及指令值输出部168。
命令解释部162依次解释应用程序32并生成内部命令166。命令解释部162将所生成的内部命令166依次存储在缓冲器164中。命令解释部162以某种程度事先进行根据应用程序32的内部命令166的生成。在缓冲器164中依次存储由命令解释部162生成的内部命令166。因此,也可能存在缓冲器164中存储着多个内部命令166的状态。本实施方式中,命令解释部162生成目标轨迹以及用于算出指令值174的内部命令166,因此有时也被称为“规划器(planner)”。
指令值输出部168按照命令解释部162事先生成的内部命令166在每个控制周期中算出指令值174。通常应用程序32中记述的命令(代码)是依次解释,因此并不保证能在每个控制周期中输出指令值174,但通过利用内部命令166,能实现每个控制周期的指令值174的输出。
命令解释部162将所生成的内部命令166在缓冲器164中依次列队(queueing),指令值输出部168按缓冲器164中的列队次序读取内部命令166。
将由应用程序执行部160的指令值输出部168在每个控制周期中算出的指令值174输出给共享存储器170。
输入输出刷新处理部180在每个控制周期中将包含指令值172及指令值174的输出数据发送给现场侧,并且从现场侧取得测量值等输入数据。本说明书中,将控制装置100与现场侧之间的输入数据及输出数据的交换也称为“输入输出刷新处理”。
通过采用图5所示那样的构成,能在每个控制周期中同步输出通过执行顺序程序30所算出的指令值172、及通过执行应用程序32所算出的指令值174。由此,对于包含工作机械或机器人的控制对象整体也能实现高精度的控制。
<E.程序的执行动作例>
然后,对本实施方式的控制装置100的程序执行动作例进行说明。图6为表示本实施方式的控制装置100的程序执行动作例的时间图(time chart)。图6中作为一例,示出以不同优先度设定多个任务(task)且各任务按照各自的优先度共享处理器102的资源(resource)的示例。
参照图6,设定以下4个处理作为高优先任务:(1)由输入输出刷新处理部180执行的输入输出刷新处理、(2)顺序程序执行部150的顺序命令解释部152通过执行顺序程序30而进行的指令值输出处理、(3)应用程序执行部160的指令值输出部168的指令值输出处理、(4)顺序程序执行部150的动作指令值输出部156的指令值输出处理。
作为低优先任务,设定应用程序执行部160的命令解释部162进行的应用程序32的依次解释及内部命令生成处理。
高优先任务是在每个预定的控制周期T1中重复执行。低优先任务是在不执行高优先任务的期间中适当执行。即,在每个控制周期中,分配高优先任务的执行时间,在高优先任务的执行时间以外的时间执行低优先任务。低优先任务是在每个预定的应用执行周期T2(基本上为控制周期T1的整数倍)中依次执行。
首先对高优先任务进行说明,当各控制周期到来时,首先执行输入输出刷新处理后,顺序命令解释部152执行(扫描)整个顺序程序30,输出按照顺序命令的一个或多个指令值172。而且,指令值输出部168从缓冲器164中读取内部命令166(使其出队(dequeue)),算出此控制周期的指令值。另外,动作指令值输出部156按照顺序程序30所含的动作命令,算出与动作命令有关的一个或多个指令值。以后,在每个控制周期中重复同样的处理。
此外,指令值输出部168从缓冲器164中读取内部命令166的时机(出队时机)也可不为每个控制周期T1。其原因在于:所读取的内部命令166大多情况下包含能在多个控制周期中算出指令值的命令。
如此,某个控制周期T1的高优先任务的执行完成时,准备好按照顺序命令的指令值、按照动作命令的指令值及按照控制应用的指令值的组合(set)。所述指令值基本上是在下一控制周期T1到来时反映给现场侧。即,顺序程序执行部150及应用程序执行部160以同一控制周期算出与输入数据相应的指令值,因此能实现与输入同步的输出。
图6中为了便于说明,示出依次执行顺序程序30的执行、指令值输出部168的指令值算出处理及动作指令值输出部156的指令值算出处理的示例,但执行顺序也可适当变更,也可将各处理进一步细分并交替执行。即,只要能在前一次输入输出刷新处理的执行完成后到下一次输入输出刷新处理的执行开始前的期间中,算出应作为包含指令值的外部数据而输出的数据即可。
另一方面,对低优先任务进行说明,应用程序执行部160的命令解释部162依次解释应用程序32。即,命令解释部162以低优先来执行应用程序32的读入及分析。命令解释部162对应用程序32进行分析处理而生成的内部命令166依次在缓冲器164中列队(入队(enqueue))。在缓冲器164中列队的内部命令166是由指令值输出部168每次参照以用于生成指令值。
通过命令解释部162将高优先任务的运算周期即控制周期的整数倍的内部命令166预先列队,能实现指令值输出部168在每个控制周期中的指令值算出。
应用程序执行部160的命令解释部162也可事先对应用程序32进行分析处理,由此预先足够多余地生成指令值输出部168运算指令值所参照的内部命令166。
应用程序执行部160的命令解释部162在每个预定的应用执行周期T2中,在与顺序程序执行部150之间进行数据同步处理。因此,命令解释部162在各程序执行动作中,仅读入应用程序32所含的命令中在应用执行周期T2内可处理的命令并解释。
本实施方式的控制装置100中,对于重复执行(扫描)的顺序程序30及依次解释的应用程序32,均是在每个控制周期中执行算出指令值的处理,因此能容易地进行在此种性质不同的两个程序间互相参照运算结果等处理、或将各程序输出的运算结果汇总等处理。
<F.内部命令的生成处理>
然后,对应用程序执行部160的命令解释部162依次解释应用程序32及生成内部命令166的处理的一例进行说明。
控制装置100通过依次解释应用程序32所含的命令而算出目标轨迹。所定义的目标轨迹上的区间长度等根据每个命令而变化。因此,一面依次解释应用程序32一面在每个控制周期中算出指令值并不容易。
因此,本实施方式的控制装置100中,应用程序执行部160的命令解释部162解释应用程序32中记述的一个或多个命令,并根据此解释的内容生成用于在每个控制周期中算出指令值的内部命令166。将所生成的内部命令166在应用程序执行部160的缓冲器164中依次列队。
内部命令166也可使用输入与时间有关的变量且能算出指令值的函数。即,内部命令166也可为指令值输出部168在每个控制周期中输出指令值的函数。更具体而言,内部命令166也可为规定时间与指令值的关系的函数。用于规定内部命令166的与时间有关的变量能使用时刻、从某个基准时机开始的经过时间、控制周期的累计循环数等。
通过使用此种函数,指令值输出部168能依次参照所生成的内部命令166在各控制周期中输出指令值。
图7(A)、图7(B)为用于对本实施方式的控制装置100的内部命令166的生成处理的一例进行说明的示意图。图7(A)中示出时刻t0到时刻t1的期间中生成内部命令166的处理顺序,图7(B)中示出时刻t1到时刻t2的期间中生成内部命令166的处理顺序。
参照图7(A),命令解释部162依次解释应用程序32而依次决定目标轨迹。命令解释部162针对依次决定的目标轨迹,依次算出每隔预定期间的通过点。各通过点是根据目标轨迹上的移动距离及目标轨迹上的移动速度而算出。
图7(A)所示的示例中,除了时刻t0的作为初始位置的通过点P0(t0)以外,算出时刻t1的通过点P1(t1)、时刻t2的通过点P2(t2)、时刻t3的通过点P3(t3)。
命令解释部162根据通过点P0(t0)、通过点P1(t1)、通过点P2(t2)、通过点P3(t3)的信息,算出通过点P0(t0)到通过点P1(t1)的移动路径44。命令解释部162根据所算出的移动路径44生成内部命令Fx1(t)。此外,图7(A)中仅示出内部命令Fx1(t),但实际上以必须同时控制的电动机的个数生成内部命令166。
此外,算出移动路径44时也可仅使用通过点P0(t0)及通过点P1(t1)的信息。然而,为了算出更平稳且准确的移动路径44,也可反映出通过点P1(t1)之后的一个或多个通过点的信息。即,能通过利用“前瞻”动作生成内部命令166而提高控制精度。
参照图7(B),对于时刻t1到时刻t2的期间,命令解释部162进一步解释应用程序32并决定接下来的目标轨迹。命令解释部162对所决定的接下来的目标轨迹算出新通过点。即,命令解释部162算出新通过点P4(t4)。
然后,命令解释部162根据通过点P1(t1)、通过点P2(t2)、通过点P3(t3)、通过点P4(t4)的信息算出通过点P1(t1)到通过点P2(t2)的移动路径44。命令解释部162根据所算出的移动路径44生成内部命令Fx2(t)。此外,图7(B)中仅示出内部命令Fx2(t),但实际上以必须同时控制的电动机的个数生成内部命令166。
如图7(A)、图7(B)所示,“前瞻”动作中,命令解释部162根据目标轨迹40上的邻接通过点42之后的多个通过点42的信息,生成与目标轨迹40上的所述邻接通过点42间对应的内部命令166。
通过重复如上处理顺序而依次生成用于实现目标轨迹的内部命令。
通过采用此种内部命令的生成处理,能在每个控制周期中输出用于实现由应用程序定义的目标轨迹的控制指令。
<G.内部命令生成的因数(factor)及特殊命令>
在所述那样的内部命令166的生成时,在每个区间内需要多个通过点的信息。以下,对内部命令166生成的因数进行说明。图8为用于对本实施方式的控制装置100的内部命令166的生成处理的因数进行说明的示意图。
参照图8,在生成各区间的内部命令166时,需要与此区间对应的通过点及此区间以后的通过点的信息。为了依次推进成为生成内部命令166的对象的区间,必须依次更新通过点的信息。
如参照所述图1及图2(A)、图2(B)所说明,本实施方式中,能调整设定通过点42的区间宽(设定通过点42的时间间隔)。将此种区间宽称为“前瞻单位”。通过缩短此时间间隔,能提高目标轨迹的实现精度。
另外,为了进行所述那样的前瞻动作,必须预先保持多个通过点的信息。将用于进行前瞻动作的通过点的个数称为“前瞻数”。通过确保此前瞻数多,能实现精度高的内部命令166的生成。
进而,指令值输出部168通过参照内部命令166而输出指令值。因此,优选预先将大量的内部命令166列队在缓冲器164中。另外,指令值输出部168也能够通过不仅参照当前应参照的内部命令166而且还参照以后的内部命令166,而输出更平稳且准确的指令值。将此种列队在缓冲器164中的内部命令166的个数称为“内部命令缓冲器数”。
图8所示的“前瞻单位”、“前瞻数”、“内部命令缓冲器数”为用于实现沿着目标轨迹的移动的重要因数。本实施方式中,能按照应用程序32所含的特殊命令控制所述因数。
底下内容是为用于对本实施方式的控制装置100中输入的应用程序32所含的特殊命令的一例进行说明的内容。
(A)G99 0.5
(B)G99 0.5 5 6
(C)G991 0.5
(D)G 992 5
(E)G993 6
(A)中示出仅变更前瞻单位的特殊命令的一例。(A)所示的特殊命令与所述图2(A)、图2(B)所示的特殊命令33A相同,定义将设定通过点42的前瞻单位设定为“0.5”。
(B)中示出设定前瞻单位、前瞻数、内部命令缓冲器数各者的特殊命令的一例。(B)所示的“G99”命令之后的“0.5”、“5”、“6”分别表示前瞻单位、前瞻数、内部命令缓冲器数。
(C)~(E)中示出分别设定前瞻单位、前瞻数、内部命令缓冲器数的特殊命令的一例。
(C)所示的“G991”为用于设定前瞻单位的命令,“G991”之后的“0.5”表示应设定的前瞻单位的值。
(D)所示的“G992”为用于设定前瞻数的命令,“G992”之后的“5”表示应设定的前瞻数的值。如此,特殊命令也可包含指定生成内部命令166所需要的通过点42的个数的命令。
(E)所示的“G993”为用于设定内部命令缓冲器数的命令,“G993”之后的“6”表示应设定的内部命令缓冲器数的值。如此,特殊命令也可包含指定缓冲器164中存储的内部命令166的个数的命令。
此外,(A)~(E)所示的特殊命令仅为一例,也可规定任何特殊命令。此外,特殊命令也能按用于记述应用程序32的语言形式预先定义。通过采用按此种语言形式的特殊命令,应用程序的开发者能利用特殊命令而并无违和感。
如以上那样,本实施方式的控制装置100能利用应用程序32所含的特殊命令使生成内部命令的处理速度及所生成的内部命令的控制精度变化。
<H.应用程序32的解释处理>
然后,对本实施方式的控制装置100的应用程序32的解释处理进行说明。
图9为表示本实施方式的控制装置100按照应用程序32生成内部命令166的处理顺序的流程图。图9中示出应用程序执行部160的命令解释部162依次解释应用程序32时所示的处理顺序,命令解释部162典型而言是通过控制装置100的处理器102执行系统程序34而实现。图9所示的处理顺序是在每个应用执行周期T2中重复。
参照图9,应用执行周期T2的开始时机到来时(步骤S100中为是的情况),命令解释部162读入应用程序32所含的一个或多个命令(步骤S102)。命令解释部162算出按照所读入的一个或多个命令的目标轨迹(步骤S104)。
命令解释部162判断所读入的一个或多个命令中是否包含特殊命令(步骤S106)。在包含特殊命令的情况(步骤S106中为是的情况)下,命令解释部162按照此特殊命令变更用于算出通过点42的条件(步骤S108)。在不含特殊命令的情况(步骤S106中为否的情况)下,跳过步骤S108的处理。
命令解释部162按照当前设定的条件(前瞻单位),算出位于所算出的目标轨迹上的一个或多个通过点(步骤S110)。然后,命令解释部162针对对象区间判断是否已算出了当前设定的前瞻数以上的通过点(步骤S112)。
若算出了前瞻数以上的通过点(步骤S112中为是的情况),则命令解释部162根据相当于当前设定的前瞻数的通过点的信息,算出对象通过点到下一通过点的移动路径44(步骤S114),根据所算出的移动路径44生成内部命令166(步骤S116)。命令解释部162将所生成的内部命令166存储到缓冲器164中(步骤S118)。
命令解释部162将生成内部命令166的对象区间更新为下一区间(步骤s120)。然后,命令解释部162判断是否满足新对象区间的内部命令166的生成条件(步骤S122)。若满足新对象区间的内部命令166的生成条件(步骤S122中为是的情况),则重复步骤S112以后的处理。
若不满足新对象区间的内部命令166的生成条件(步骤S122中为否的情况),则处理结束。
另外,若未算出前瞻数以上的通过点(步骤S112中为否的情况),则跳过步骤S114~步骤S122的处理。然后,处理结束。
通过在每个应用执行周期T2中重复以上那样的处理,而依次生成内部命令166。应用程序执行部160的指令值输出部168根据依次生成的内部命令166在每个控制周期中输出指令值。
<I.对应用程序32追加特殊命令>
然后,对将所述那样的特殊命令追加到应用程序32中的方法的一例进行说明。
虽然能在应用程序32的任意位置追加特殊命令,但大多情况下难以直观地理解应在哪个位置追加特殊命令。因此,本实施方式中提供以下构成:根据模拟或实际测定的行为(以下也称为“跟踪数据”),确定相对于目标轨迹而产生了误差的区间,并追加用于抑制此误差的特殊命令。以下的说明中,对利用支援装置200提供此种功能的构成进行说明。
(i1:支援装置的硬件构成)
然后,对支援装置200的硬件构成的一例进行说明。图10为表示本实施方式的支援装置200的硬件构成的一例的示意图。
参照图10,支援装置200典型而言是通过在具有通用架构的个人计算机上执行支援程序218而实现。更具体而言,参照图10,支援装置200包含处理器202、显示器204、主存储器206、存储部208、USB控制器212及输入装置214。所述部件(component)是经由内部总线210而连接。
处理器202是由CPU、MPU、GPU等构成,读取存储部208中存储的包含OS 216及支援程序218的各种程序并在主存储器206中展开执行,由此实现后述那样的各种功能。主存储器206是由DRAM或SRAM等挥发性存储装置等构成。存储部208例如是由HDD或SSD等非挥发性存储装置等构成。
显示器204为显示处理器202等的运算结果的设备,例如由液晶显示器(LiquidCrystal Display,LCD)等构成。
USB控制器212经由USB连接而在与控制装置100之间交换数据。
输入装置214为接受用户操作的设备,例如由键盘或存储器等构成。
如以下将说明,本实施方式的支援装置200对包含定义目标轨迹的一个或多个命令的应用程序32进行处理。
(i2:支援装置的功能构成)
然后,对支援装置200的功能构成的一例进行说明。图11为表示本实施方式的支援装置200的功能构成的一例的示意图。典型而言,图11所示的各功能是通过支援装置200的处理器202执行支援程序218而实现。
参照图11,支援装置200包含命令解释模块262、缓冲器264、指令值输出模块268、比较显示模块270、误差算出模块274、描画模块280、变更接受模块290、块编号确定模块292及命令修正模块294。
支援装置200取得包含一个或多个电动机控制对象的轨迹,此轨迹是按照控制装置100根据应用程序32在每个控制周期中输出的指令值。即,支援装置200取得按照每个控制周期的指令值的控制对象的轨迹(以下称为“实际行为”),所述轨迹是根据通过依次解释应用程序32而生成的内部命令所算出。
本实施方式中,此种实际行为的取得方法能采用基于模拟的方法、及基于实际测定的行为(跟踪数据)的方法。现实产品中也可安装仅其中一者。
命令解释模块262、缓冲器264及指令值输出模块268作为模拟器发挥功能,此模拟器根据应用程序32算出控制对象可能移动的轨迹(实际行为)。
更具体而言,命令解释模块262执行与控制装置100的命令解释部162相同的处理。即,命令解释模块262依次解释所输入的应用程序32,生成内部命令266。将命令解释模块262生成的内部命令266依次存储在缓冲器264中。指令值输出模块268执行与控制装置100的指令值输出部168相同的处理。即,指令值输出模块268按照所生成的内部命令166,在每个控制周期中输出对控制对象的电动机的指令值。
根据由此种模拟器输出的每个控制周期的指令值,取得控制对象的实际行为。
或者,也可直接利用从控制装置100现实控制的控制对象测定的跟踪数据。
支援装置200取得按照目标轨迹的控制对象原本的轨迹(以下也称为“理想行为”)。本实施方式中,此种理想行为的取得方法能采用基于成品的设计数据的方法、及基于应用程序32的方法。现实产品中也可仅安装其中一者。
描画模块280根据成品的设计数据算出理想行为。生成控制对象应移动的轨迹(理想行为)。设计数据典型而言可使用计算机辅助设计(Computer Aided Design,CAD)/计算机辅助制造(Computer Aided Manufacturing,CAM)数据等。
另外,在基于应用程序32的情况下,也可解释应用程序32所含的一个或多个命令并直接描画目标轨迹。
比较显示模块270将实际行为与理想行为相比较,并在显示器204等中输出此比较结果。此外,比较显示模块270也可参照设定数据272,以使来自指令值输出模块268的指令值或跟踪数据与实际坐标相对应。
比较显示模块270也具有生成及提供下文将述那样的验证画面600的功能。
误差算出模块274算出实际行为与理想行为的误差,并输出其位置(坐标)及误差大小。
变更接受模块290按照用户操作接受对应用程序32的变更指示。块编号确定模块292按照来自变更接受模块290的变更指示,确定应用程序32内成为对象的块。
块编号确定模块292根据指令值输出模块268正在处理的内部命令266的信息、及来自误差算出模块274的成为对象的位置(坐标)的信息等,确定成为对象的块的编号。即,误差算出模块274提取实际行为与理想行为的误差超过预定的允许误差范围的部分,块编号确定模块292确定应用程序32所含的与此提取部分对应的命令。
命令修正模块294按照来自块编号确定模块292的命令的变更指示及成为对象的块编号的指示,修正应用程序32所含的命令,输出修正后的应用程序。
(i3:支援装置的画面用户接口例)
然后,对利用图11所示那样的功能构成提供的画面用户接口的一例进行说明。
图12(A)、图12(B)为表示本实施方式的支援装置200提供的画面用户接口的一例的示意图。参照图12(A),验证画面600包含轨迹显示区域610,此轨迹显示区域610含有与实际行为对应的踪迹(trace)612、及与理想行为对应的踪迹614。在踪迹612与踪迹614之间的误差大小超过预定条件(允许误差范围)的部分标示注意显示对象620、注意显示对象622。如此,支援装置200将所述实际行为及理想行为重叠显示,并且与产生了超过允许误差范围的误差的部分相关地标示注意显示对象620、注意显示对象622。
图12(A)所示的示例中,产生了超过允许误差范围的误差的部位存在两处,利用注意显示对象620、注意显示对象622示出各部分。预定条件(允许误差范围)可由允许误差范围输入区域630中设定的值任意调整。
在详细显示区域640中显示与超过允许误差范围的部位有关的信息。具体而言,详细显示区域640包含:块编号显示区域642,示出与超过允许误差范围的部位对应的应用程序32的块编号;代码显示区域644,示出所述块编号中记述的代码的内容;前瞻单位显示区域646,示出对所述块编号中记述的代码设定的前瞻单位的大小;以及前瞻单位接受区域648,接受变更后的前瞻单位的大小。
图12(A)所示那样的验证画面600中,设想用户对第1个误差产生部位变更前瞻单位的情况。图12(B)中示出用户在输入区域649中输入“0.5ms”代替当前的前瞻单位“1ms”的示例。如上所述,内部命令是根据依次解释应用程序32而算出的目标轨迹40上设定的多个通过点42的信息而生成。此时,追加的特殊命令变更目标轨迹40上设定的通过点42的设定间隔。
对应于用户变更前瞻单位,模拟器(命令解释模块262、缓冲器264及指令值输出模块268)再次对应用程序32进行处理,由此更新与实际行为对应的踪迹612。即,支援装置200根据追加特殊命令后的应用程序32更新实际行为。
若将更新后的实际行为与理想行为相比而第1个误差产生部位的误差控制在允许误差范围以下,则将注意显示对象620变更为正常显示对象621。如此,支援装置200在根据追加特殊命令后的应用程序32所算出的实际行为中,产生了超过允许误差范围的误差的部分变为允许误差范围以内时,将注意显示对象620更新为正常显示对象621。
此外,为了便于说明,图12(A)、图12(B)中示出了仅变更前瞻单位的示例,但不限于此,前瞻数和/或内部命令缓冲器数也能由用户任意变更。例如关于前瞻数追加以下命令,此命令指定生成内部命令所需要的通过点42的个数。
如此,支援装置200的命令修正模块294按照用户操作,在所确定的命令之前追加特殊命令,此特殊命令用于变更由应用程序32所含的命令生成内部命令时的处理精度。
图13为用于对通过用户操作图12(A)、图12(B)所示的画面用户接口而变更应用程序32的处理进行说明的示意图。参照图13,在应用程序32所含的多个命令中,在即将成为对象的命令之前追加特殊命令33。图12(A)、图12(B)及图13所示的示例中,在成为对象的第10个块的命令之前追加特殊命令33。
通过将此种对话型的验证画面600提示给用户,用户能适当调整依次执行应用程序32时的设定条件(前瞻单位、前瞻数、内部命令缓冲器数)。
(i4:处理顺序)
然后,对支援装置200中将特殊命令追加到应用程序32中的处理顺序进行说明。图14为表示本实施方式的支援装置200进行的应用程序32的变更处理顺序的流程图。典型而言,图14所示的各步骤是通过支援装置200的处理器202执行存储部208中存储的支援程序218而实现。
参照图14,支援装置200读入应用程序32(步骤S200),根据依次解释应用程序32而生成的内部命令266算出实际行为(步骤S202)。
此外,在代替应用程序32而输入跟踪数据的情况下,代替步骤S202的处理而算出基于跟踪数据的实际行为。
另外,支援装置200读入设计数据,算出理想行为(步骤S204)。然后,支援装置200将步骤S202中算出的实际行为与步骤S204中算出的理想行为相比较,判断是否存在超过预定的允许误差范围的部分(步骤S206)。
若在实际行为与理想行为之间存在超过预定的允许误差范围的部分(步骤S206中为是的情况),则支援装置200在应用程序32所含的命令中,确定与所述超过允许误差范围的部分对应的命令存在的块编号(步骤S208)。若在实际行为与理想行为之间不存在超过预定的允许误差范围的部分(步骤S206中为否的情况),则跳过步骤S208的处理。
支援装置200显示出验证画面600,此验证画面600包含实际行为及理想行为以及两者的比较结果(步骤S210)。
支援装置200在验证画面600中收到用户对应用程序32的变更指示时(步骤S212中为是的情况),支援装置200在与变更指示对应的块编号的命令之前追加表示变更指示内容的特殊命令(步骤S214)。然后,模拟追加特殊命令后的实际行为。即,支援装置200根据依次解释追加特殊命令后的应用程序32所生成的内部命令266,算出变更后的实际行为(步骤S216)。然后,重复步骤S206以后的处理。
若不存在用户对应用程序32的变更指示(步骤S212中为否的情况),则支援装置200视需要输出变更后的应用程序32,结束处理。
<J.变形例>
所述说明中,对执行顺序程序30和应用程序32的控制装置100进行了说明,但只要为以解释器方式记述的程序,则无论是何种程序均能同样地应用。
另外,不限定于本实施方式的控制装置100那样并列执行顺序程序30及应用程序32的构成,也能应用于仅依次执行应用程序32那样的执行环境。
<K.备注>
所述那样的本实施方式包含如下技术思想。
[构成1]
一种控制装置(100),能控制一个或多个电动机,并且所述控制装置(100)具备:
指令值输出部(168),在每个控制周期中输出对所述一个或多个电动机的指令值;以及
命令解释部(162),依次解释包含定义目标轨迹的一个或多个命令的应用程序,生成所述指令值输出部在每个控制周期中输出指令值所需要的内部命令;且
所述命令解释部按照所述应用程序所含的命令,算出每隔预定期间的所述目标轨迹上的通过点,并且根据所述算出的通过点生成所述内部命令(S102、S104、S110、S114、S116),
在所述应用程序的依次解释中执行预先定义的特殊命令时,将算出所述通过点的期间变更为由所述特殊命令指定的长度(S106、S108)。
[构成2]
根据构成1所述的控制装置,其中所述命令解释部执行所述特殊命令时,按照所述特殊命令的指定来解释所述应用程序中记述在所述特殊命令之后的一个或多个命令。
[构成3]
根据构成1或2所述的控制装置,其中所述特殊命令包含用于使算出所述通过点的期间的变更还原的命令。
[构成4]
根据构成1至3中任一项所述的控制装置,其中所述命令解释部根据所述目标轨迹上的邻接通过点之后的多个通过点的信息,生成与所述目标轨迹上的所述邻接通过点间对应的内部命令(S114、S116)。
[构成5]
根据构成4所述的控制装置,其中所述特殊命令包含指定生成所述内部命令所需要的通过点的个数的命令。
[构成6]
根据构成1至5中任一项所述的控制装置,还包括缓冲器(164),所述缓冲器依次存储由所述命令解释部生成的内部命令,
所述特殊命令包含指定所述缓冲器中存储的内部命令的个数的命令。
[构成7]
根据构成1至6中任一项所述的控制装置,其中所述特殊命令是按用于记述所述应用程序的语言形式定义。
[构成8]
根据构成1至7中任一项所述的控制装置,其中将所述内部命令定义为表示所述目标轨迹上设定的每个邻接通过点间的各电动机行为的函数。
[构成9]
一种控制方法,能控制一个或多个电动机,并且所述控制方法包括:
在每个控制周期中输出对所述一个或多个电动机的指令值的步骤(168);以及
依次解释包含定义目标轨迹的一个或多个命令的应用程序,生成在每个所述控制周期中输出指令值所需要的内部命令的步骤(S100~S122);且
所述生成内部命令的步骤包括:
按照所述应用程序所含的命令,算出每隔预定期间的所述目标轨迹上的通过点,并且根据所述算出的通过点生成所述内部命令的步骤(S102、S104、S110、S114、S116);以及
在所述应用程序的依次解释中执行预先定义的特殊命令时,将算出所述通过点的期间变更为由所述特殊命令指定的长度的步骤(S106、S108)。
[构成10]
一种支援装置(200),对包含定义目标轨迹的一个或多个命令的应用程序进行处理,并且所述支援装置(200)具备:
第一取得机构(262、264、268),取得按照每个控制周期的指令值的表示控制对象的轨迹的实际行为,所述轨迹是根据通过依次解释所述应用程序而生成的内部命令所算出;
第二取得机构(280),取得理想行为,所述理想行为是按照目标轨迹的所述控制对象原本的轨迹;
确定机构(270、274、292),提取所述实际行为与所述理想行为的误差超过预定的允许误差范围的部分,并且确定所述应用程序所含的与所述提取部分对应的命令;以及
修正机构(294),按照用户操作在所述确定的命令之前追加特殊命令,所述特殊命令用于变更由所述应用程序所含的命令生成所述内部命令时的处理精度。
[构成11]
根据构成10所述的支援装置,其中所述内部命令是根据依次解释所述应用程序而算出的目标轨迹上设定的多个通过点的信息而生成,
所述特殊命令包含变更所述目标轨迹上的通过点的设定间隔的命令。
[构成12]
根据构成11所述的支援装置,其中所述内部命令是与所述目标轨迹上的邻接通过点间相对应,并且根据所述邻接通过点之后的多个通过点的信息而生成,
所述特殊命令包含指定生成所述内部命令所需要的通过点的个数的命令。
[构成13]
根据构成10至12中任一项所述的支援装置,还包括更新机构(262、264、268),所述更新机构根据追加所述特殊命令后的应用程序更新所述实际行为。
[构成14]
根据构成13所述的支援装置,还包括显示机构(270),所述显示机构将所述实际行为及所述理想行为重叠显示,并且与产生了超过所述允许误差范围的误差的部分相关地标示第一对象(620)。
[构成15]
根据构成14所述的支援装置,其中所述显示机构在根据追加所述特殊命令后的应用程序所算出的实际行为中,所述产生了超过允许误差范围的误差的部分变为所述允许误差范围以内时,将所述第一对象更新为第二对象(621)。
<L.总结>
本实施方式中,控制装置能解释特殊命令,此特殊命令用于变更由应用程序所含的命令生成内部命令时的处理精度。通过使用此种特殊命令,能根据目标轨迹的复杂性等局部地提高控制精度。
通过使用此种用于变更处理精度的特殊命令,能动态变更通过应用程序的句法分析所算出的通过点的精度(前瞻单位)、及前瞻的缓冲器尺寸等。
本实施方式中,在支援装置上等比较实际行为与理想行为,在其偏离量超过预定标准的情况下,将此部位告知用户。用户能根据产生了超过标准的误差的部位,将用于调整控制精度的特殊命令追加给应用。由此,能实现对不满足所要求的控制精度的部分的控制精度。另外,用户能确认由追加特殊命令后的应用程序所得的实际轨迹,因此能一眼确认特殊命令的设定妥当性等。
另外,本实施方式中,能将根据应用程序而生成的多个内部命令提供给在每个控制周期中算出指令值的指令值输出部。由此,能避免内部命令的生成来不及而动作停止等事态。即,能消除动作间的间断,实现连续的轨迹。
通过采用所述那样的构成,能实现与现有技术相比较更平稳的曲线加工及形状加工。另外,能根据要求容易地调整加工精度。
应认为本次公开的实施方式在所有方面为例示而非限制性。本发明的范围是由权利要求而非所述说明揭示,是指包括与权利要求均等的含意及范围内的所有变更。

Claims (15)

1.一种控制装置,能控制一个或多个电动机,并且所述控制装置的特征在于包括:
指令值输出部,在每个控制周期中输出对所述一个或多个电动机的指令值;以及
命令解释部,依次解释包含定义目标轨迹的一个或多个命令的应用程序,生成所述指令值输出部在每个控制周期中输出指令值所需要的内部命令;且
所述命令解释部按照所述应用程序所含的命令,算出每隔预定期间的所述目标轨迹上的通过点,并且根据所述算出的通过点生成所述内部命令,
在所述应用程序的依次解释中执行预先定义的特殊命令时,将算出所述通过点的期间变更为由所述特殊命令指定的长度。
2.根据权利要求1所述的控制装置,其特征在于:所述命令解释部执行所述特殊命令时,按照所述特殊命令的指定来解释所述应用程序中记述在所述特殊命令之后的一个或多个命令。
3.根据权利要求1或2所述的控制装置,其特征在于:所述特殊命令包含用于使算出所述通过点的期间的变更还原的命令。
4.根据权利要求1或2所述的控制装置,其特征在于:所述命令解释部根据所述目标轨迹上的邻接通过点之后的多个通过点的信息,生成与所述目标轨迹上的所述邻接通过点间对应的内部命令。
5.根据权利要求4所述的控制装置,其特征在于:所述特殊命令包含指定生成所述内部命令所需要的通过点的个数的命令。
6.根据权利要求1或2所述的控制装置,其特征在于:还包括缓冲器,所述缓冲器依次存储由所述命令解释部生成的内部命令,
所述特殊命令包含指定所述缓冲器中存储的内部命令的个数的命令。
7.根据权利要求1或2所述的控制装置,其特征在于:所述特殊命令是按用于记述所述应用程序的语言形式定义。
8.根据权利要求1或2所述的控制装置,其特征在于:将所述内部命令定义为表示所述目标轨迹上设定的每个邻接通过点间的各电动机行为的函数。
9.一种控制方法,能控制一个或多个电动机,并且所述控制方法的特征在于包括以下步骤:
在每个控制周期中输出对所述一个或多个电动机的指令值;以及
依次解释包含定义目标轨迹的一个或多个命令的应用程序,生成在每个所述控制周期中输出指令值所需要的内部命令的步骤;并且
所述生成内部命令的步骤包括以下步骤:
按照所述应用程序所含的命令,算出每隔预定期间的所述目标轨迹上的通过点,并且根据所述算出的通过点生成所述内部命令;以及
在所述应用程序的依次解释中执行预先定义的特殊命令时,将算出所述通过点的期间变更为由所述特殊命令指定的长度。
10.一种支援装置,对包含定义目标轨迹的一个或多个命令的应用程序进行处理,并且所述支援装置的特征在于包括:
第一取得机构,取得按照每个控制周期的指令值的表示控制对象的轨迹的实际行为,所述轨迹是根据通过依次解释所述应用程序而生成的内部命令所算出;
第二取得机构,取得理想行为,所述理想行为是按照目标轨迹的所述控制对象原本的轨迹;
确定机构,提取所述实际行为与所述理想行为的误差超过预定的允许误差范围的部分,并且确定所述应用程序所含的与所述提取部分对应的命令;以及
修正机构,按照用户操作在所述确定的命令之前追加特殊命令,所述特殊命令用于变更由所述应用程序所含的命令生成所述内部命令时的处理精度。
11.根据权利要求10所述的支援装置,其特征在于:所述内部命令是根据依次解释所述应用程序而算出的目标轨迹上设定的多个通过点的信息而生成,
所述特殊命令包含变更所述目标轨迹上的通过点的设定间隔的命令。
12.根据权利要求11所述的支援装置,其特征在于:所述内部命令是与所述目标轨迹上的邻接通过点间相对应,并且根据所述邻接通过点之后的多个通过点的信息而生成,
所述特殊命令包含指定生成所述内部命令所需要的通过点的个数的命令。
13.根据权利要求10至12中任一项所述的支援装置,其特征在于还包括更新机构,所述更新机构根据追加所述特殊命令后的应用程序更新所述实际行为。
14.根据权利要求13所述的支援装置,其特征在于还包括显示机构,所述显示机构将所述实际行为及所述理想行为重叠显示,并且与产生了超过所述允许误差范围的误差的部分相关地标示第一对象。
15.根据权利要求14所述的支援装置,其特征在于:所述显示机构在根据追加所述特殊命令后的应用程序所算出的实际行为中,所述产生了超过允许误差范围的误差的部分变为所述允许误差范围以内时,将所述第一对象更新为第二对象。
CN201810151489.0A 2017-09-22 2018-02-13 控制装置、控制方法及控制系统 Active CN109542046B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-182885 2017-09-22
JP2017182885A JP6900863B2 (ja) 2017-09-22 2017-09-22 制御装置、制御方法および制御プログラム

Publications (2)

Publication Number Publication Date
CN109542046A true CN109542046A (zh) 2019-03-29
CN109542046B CN109542046B (zh) 2021-09-21

Family

ID=61226390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810151489.0A Active CN109542046B (zh) 2017-09-22 2018-02-13 控制装置、控制方法及控制系统

Country Status (4)

Country Link
US (1) US20190094831A1 (zh)
EP (1) EP3460602B1 (zh)
JP (1) JP6900863B2 (zh)
CN (1) CN109542046B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111487927A (zh) * 2020-04-26 2020-08-04 华中科技大学 一种基于双代码联合作用的样条轨迹控制指令优化方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7087316B2 (ja) * 2017-09-27 2022-06-21 オムロン株式会社 情報処理装置、情報処理方法およびプログラム
JP7207393B2 (ja) * 2018-02-28 2023-01-18 ソニーグループ株式会社 情報処理装置および情報処理方法
JP7247808B2 (ja) * 2019-07-31 2023-03-29 オムロン株式会社 制御システム、解析方法およびプログラム
US20230315034A1 (en) * 2020-09-07 2023-10-05 Fanuc Corporation Display device

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07175508A (ja) * 1993-12-20 1995-07-14 Ricoh Co Ltd ロボット制御装置
US5955856A (en) * 1997-05-20 1999-09-21 Mitsubishi Denki Kabushiki Kaisha Numerical control apparatus and method
CN101673104A (zh) * 2009-10-10 2010-03-17 浙江工业大学 基于g代码转换方法的工业机器人加工控制方法
CN102063088A (zh) * 2010-11-05 2011-05-18 江俊逢 一种计算机辅助离散运动规划方法与系统
EP2629163A1 (en) * 2010-10-13 2013-08-21 Omron Corporation Control device, control system and control method
CN103324141A (zh) * 2013-06-14 2013-09-25 浙江工业大学 一种高精度变插补周期的多轴联动运动控制方法
CN103699056A (zh) * 2013-12-02 2014-04-02 嘉兴学院 高速高精度数控加工的小线段实时平滑过渡插补方法
CN105388840A (zh) * 2015-12-24 2016-03-09 上海交通大学 实时自适应轮廓误差估计方法
US20160288256A1 (en) * 2015-04-06 2016-10-06 Mitsubishi Electric Research Laboratories, Inc. Control of Processing Machines with Redundant Actuators

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01147610A (ja) * 1987-12-03 1989-06-09 Fanuc Ltd 数値制御装置
JP3277947B2 (ja) * 1992-08-31 2002-04-22 株式会社安川電機 Nc制御装置の速度制御方法
JPH11149306A (ja) * 1997-11-14 1999-06-02 Fanuc Ltd 加工機の制御装置
JP3904993B2 (ja) * 2002-08-16 2007-04-11 ファナック株式会社 曲線補間方法
JP4271487B2 (ja) * 2003-05-19 2009-06-03 東芝機械株式会社 数値制御装置及び数値制御方法
JP2006236243A (ja) * 2005-02-28 2006-09-07 Yaskawa Electric Corp モーションコントロールシステムとその同期方法
WO2011114457A1 (ja) * 2010-03-17 2011-09-22 トヨタ自動車株式会社 脚補助装置
JP5573664B2 (ja) * 2010-12-27 2014-08-20 ブラザー工業株式会社 数値制御装置、移動制御方法、移動制御プログラム及び記憶媒体
JP4877423B1 (ja) 2011-03-15 2012-02-15 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP6376558B2 (ja) * 2013-09-13 2018-08-22 株式会社ソディック 加工データ演算装置および加工データ演算プログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07175508A (ja) * 1993-12-20 1995-07-14 Ricoh Co Ltd ロボット制御装置
US5955856A (en) * 1997-05-20 1999-09-21 Mitsubishi Denki Kabushiki Kaisha Numerical control apparatus and method
CN101673104A (zh) * 2009-10-10 2010-03-17 浙江工业大学 基于g代码转换方法的工业机器人加工控制方法
EP2629163A1 (en) * 2010-10-13 2013-08-21 Omron Corporation Control device, control system and control method
CN102063088A (zh) * 2010-11-05 2011-05-18 江俊逢 一种计算机辅助离散运动规划方法与系统
CN103324141A (zh) * 2013-06-14 2013-09-25 浙江工业大学 一种高精度变插补周期的多轴联动运动控制方法
CN103699056A (zh) * 2013-12-02 2014-04-02 嘉兴学院 高速高精度数控加工的小线段实时平滑过渡插补方法
US20160288256A1 (en) * 2015-04-06 2016-10-06 Mitsubishi Electric Research Laboratories, Inc. Control of Processing Machines with Redundant Actuators
CN105388840A (zh) * 2015-12-24 2016-03-09 上海交通大学 实时自适应轮廓误差估计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨雪峰 等: "基于FPGA的变周期精插补器设计", 《可编程控制器与工厂自动化》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111487927A (zh) * 2020-04-26 2020-08-04 华中科技大学 一种基于双代码联合作用的样条轨迹控制指令优化方法
CN111487927B (zh) * 2020-04-26 2022-02-15 华中科技大学 一种基于双代码联合作用的样条轨迹控制指令优化方法

Also Published As

Publication number Publication date
EP3460602B1 (en) 2021-05-05
EP3460602A1 (en) 2019-03-27
JP2019057253A (ja) 2019-04-11
US20190094831A1 (en) 2019-03-28
CN109542046B (zh) 2021-09-21
JP6900863B2 (ja) 2021-07-07

Similar Documents

Publication Publication Date Title
CN109542046A (zh) 控制装置、控制方法及支援装置
CN109388107A (zh) 控制装置
CN109507980A (zh) 控制装置及控制方法
CN109582397B (zh) 控制系统以及控制装置
Carlsson et al. Methods for reliable simulation-based PLC code verification
CN109581976B (zh) 控制装置
CN108170084A (zh) 一种农机设备自动化控制系统及产品
US10606246B2 (en) Control device and control method with various command values in a shared memory providing access to various program execution and command value operation parts in each control cycle
US8250343B2 (en) Axial motion control processing by multiple cores respectively executing each of a sequence of functions in parallel for respective portions of a motion system
CN109557889A (zh) 支持装置及记录媒体
US10509393B2 (en) Control device and control method
Neugebauer et al. Virtual-reality-based simulation of NC programs for milling machines
EP4036670A1 (en) Control device
Priggemeyer et al. Simulation-based control of reconfigurable robotic workcells: interactive planning and execution of processes in cyber-physical systems
WO2021019818A1 (ja) 制御システム、解析方法およびプログラム
Limón-Molina et al. Proposes to enable a CNC mill from 3 axes to 5 axes synchronized
Hoffman et al. Towards alternatives for agent based control in reconfigurable manufacturing systems
Auslander Concepts of “State” in Introductory Control Education

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