CN106843121A - 对plc定位系统中的各轴的独立控制周期分配的方法 - Google Patents

对plc定位系统中的各轴的独立控制周期分配的方法 Download PDF

Info

Publication number
CN106843121A
CN106843121A CN201610839540.8A CN201610839540A CN106843121A CN 106843121 A CN106843121 A CN 106843121A CN 201610839540 A CN201610839540 A CN 201610839540A CN 106843121 A CN106843121 A CN 106843121A
Authority
CN
China
Prior art keywords
axle
position control
controlling cycle
axle group
calculated
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
CN201610839540.8A
Other languages
English (en)
Other versions
CN106843121B (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.)
LS Electric Co Ltd
Original Assignee
LSIS Co Ltd
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 LSIS Co Ltd filed Critical LSIS Co Ltd
Publication of CN106843121A publication Critical patent/CN106843121A/zh
Application granted granted Critical
Publication of CN106843121B publication Critical patent/CN106843121B/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/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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • 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
    • G05B19/27Numerical 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 using an absolute digital measuring device
    • G05B19/29Numerical 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 using an absolute digital measuring device for point-to-point control
    • 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • 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/13Plc programming
    • G05B2219/13042Display logic diagram, LOP
    • 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/34323Commanding different axis in sequential order as function of direction of movement
    • 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/34411Handling time critical and time non critical program sequences
    • 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/34412Mark some sequences of time non critical sequences as locked, non interruptable
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36507Select program or execute command, control instructions as function of axis position

Landscapes

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

Abstract

本发明涉及一种对PLC定位系统中的各轴的独立控制周期分配的方法。该方法包括:将各轴分成具有第一控制周期的第一轴组和具有第二控制周期的第二轴组并且为不同的轴分配不同的控制周期;当在第二轴组的位置控制计算期间请求第一轴组的位置控制计算时,经由中断通过任务切换来执行第一轴组的位置控制计算;并且,在完成第一轴组的位置控制计算之后,经由中断通过任务切换来重启第二轴组的位置控制计算。

Description

对PLC定位系统中的各轴的独立控制周期分配的方法
技术领域
本发明涉及一种对PLC定位系统中的各轴的独立控制周期分配的方法。更具体地,本发明涉及一种对控制多个轴的PLC定位系统中的各轴的独立控制周期分配的方法,其中各轴被分成需要较快响应的第一轴组和需要较慢响应的第二轴组,并且在请求第一轴组的位置控制计算的时间点切换任务,以便优先于第二轴组的位置控制计算来执行第一轴组的位置控制计算。
背景技术
可编程逻辑控制器(PLC)的定位功能是通过利用输出到PLC的晶体管输出接触点的快速脉冲串驱动电机来将对象移动到正确位置的功能。
随着自动控制系统的复杂度的增加,已经开发了用于利用单个控制器来控制多个轴的各种应用。然而,现有的基于脉冲或模拟信号的直驱伺服控制具有对可控制的伺服驱动器的数量的限制,因为输入/输出接触点以一对一的对应关系被连接到伺服驱动器。
然而,近年来,在上述方法之外,已经利用了使用网络技术来将目标位置和速度实时发送到多个伺服驱动器的其他方法。
作为一个示例,EtherCAT协议可以用于每100μs将指令值和控制数据提供给100个伺服轴。然而,难以每100μs计算100个伺服轴中的每个伺服轴的移动。当然,具有高性能的MPU可以有助于减少计算时间,但是不能够避免任何固有限制。
PLC定位系统计算要在按单位时间定义的每个控制周期输出的脉冲。取决于制造商和产品,控制周期通常在从几百μm到几十ms的范围内变化。在控制周期期间输出的脉冲的频率是恒定的并且要针对下一控制周期输出的脉冲的速度(即频率)被确定。因此,较短的控制周期促进更平滑的电机控制。
图1和图2是用于解释传统PLC定位系统的位置控制计算方法的示意图。
参考图1和图2,计算要在针对每个轴的控制周期内从每个间隔的控制周期的开始移动的轴的移动量(S1)。总体上,完成从第一轴到最后一轴(取决于产品而变化)的计算。在完成计算后,任务等待对应控制周期的剩余时间或者进行控制所需要的剩余的任务(S2)。在完成计算之后的下一控制周期期间,在先前控制周期中计算的移动量被输出到伺服驱动器,并且在对应的控制周期中,计算在每个轴的第二下一控制周期期间的移动量(S3)。在第二控制周期期间输出在第一控制周期中计算的移动量。在此时计算的移动量被存储在输出缓冲器中并且在稍后被输出。
上述方法必须在考虑所有轴的最大计算时间的情况下分配控制周期,因为各轴的控制周期是相同的。例如,如果要控制具有相同种类的10个轴(其计算时间是1ms的最大值)的系统,控制周期必须至少被分配以10ms。
图3是用于解释其中计算所有轴花费的时间的周期超过传统PLC定位系统中的控制周期的情况的示意图。
参考图3,尽管在第一控制周期内完成对其的计算的包括第一轴和第二轴的轴的移动量在下一控制周期期间正常地被传递到伺服驱动器,但是未在第一控制周期(第一间隔)内完成对其的计算的轴不具有要在下一控制周期期间被输出的移动量。
因此,第n个轴在第二间隔中不具有实际输出。这样的效果的累积可能导致增大的位置误差。因此,如果所有轴要利用相同控制周期来控制,则所有轴的位置控制计算必须利用分配的控制周期来完成。
然而,该控制周期对控制系统的响应性和灵活性具有影响。较长的控制周期导致在终点处同样程度的较慢响应,其对产品的产量具有直接影响。
另外,由于在加速/减速间隔中的速度变化的速率增大,所以存在由于机械冲击的故障的高概率。因此,存在对用于计算多个轴的新颖方法的需要。
发明内容
本发明的一方面在于提供一种对控制多个轴的PLC定位系统中的各轴的独立控制周期分配的方法,其中要被控制的各轴被分成需要较快响应的第一轴组和需要较慢响应的第二轴组,并且在请求第一轴组的位置控制计算的时间点切换任务,以便优先于第二轴组的位置控制计算执行第一轴组的位置控制计算,从而灵活地控制所有轴。
本发明不限于上述方面并且本发明的其他方面将由本领域技术人员从下面的描述中得到清楚地理解。
根据本发明的一个方面,提供了一种对PLC定位系统中的各轴的独立控制周期分配的方法,包括:将各轴分成具有第一控制周期的第一轴组和具有第二控制周期的第二轴组并且为不同的轴分配不同的控制周期;当在第二轴组的位置控制计算期间请求第一轴组的位置控制计算时,经由中断通过任务切换来执行第一轴组的位置控制计算;并且,在完成第一轴组的位置控制计算之后,经由中断通过任务切换来重启第二轴组的位置控制计算。
为不同的轴分配不同的控制周期的动作可以包括将单个轴指派给第一轴组。
为不同的轴分配不同的控制周期的动作可以包括将多个轴指派给第一轴组。
在为不同的轴分配不同的控制周期的动作中,第一控制周期和第二控制周期中的每个可以包括针对轴中的每个轴的位置控制计算运行间隔和裕量间隔。
重启第二轴组的位置控制计算的动作包括:当在第一控制周期的位置控制计算运行间隔期间完成第一轴组的位置控制计算时,执行针对第二轴组的位置控制计算的任务切换;并且在第一轴组的裕量间隔期间重启第二轴组的位置控制计算。
为不同的轴分配不同的控制周期的动作还可以包括为第一轴组中的轴分配ISP区的堆栈并且为第二轴组中的轴分配USP区的堆栈。
为不同的轴分配不同的控制周期的动作可以包括指派第一控制周期,使得使用ISP区的轴的计算能够在第一控制周期内来完成。
执行第一轴组的位置控制计算的动作可以包括:在执行第二控制组的控制计算时,当在请求第一控制周期的位置控制计算的时间点发生堆栈切换中断时,将所有寄存器入栈到USP区,并且,在完成中断服务例程之后,将返回地址改变到第一控制周期计算区以便返回到ISP区,并且重启第二轴组的位置控制计算的动作可以包括:当完成第一控制周期的控制计算时,将通用寄存器、状态寄存器和程序计数器入栈到ISP区,并且在堆栈切换到USP区之后,重启以执行第二控制周期的控制计算。
[本发明的优点]
根据本发明,在对控制多个轴的PLC定位系统中的各轴的独立控制周期分配的方法中,在共同地应用控制周期的现有方式之外,能够将各轴分成(需要较快响应的)第一轴组和(需要较慢响应的)第二轴组并且在两个轴组的操作数据的计算期间请求第一轴组的位置控制计算的时间点切换任务,以便优先于第二轴组的位置控制计算执行第一轴组的位置控制计算,从而灵活地控制所有轴。
根据本发明,由于计算优先级被授予给需要较快响应的轴,所以能够甚至利用增加的数量的控制轴来保证需要较快响应的轴的响应速度。
在工业领域中,存在如在关节式机器人以及类似装置中的对响应速度和轴同步更敏感的轴和如在传输带以及类似装置中的对响应速度和轴同步较不敏感的轴。根据本发明,通过将控制关节式机器人以及类似装置的各轴分配给第一轴组并且将控制传送带以及类似装置的各轴分配给第二轴组,能够灵活地控制甚至大规模系统中的伺服驱动器。
附图说明
图1是用于解释传统PLC定位系统的位置控制计算方法的示意图。
图2是用于解释传统PLC定位系统的位置控制计算方法的流程图。
图3是用于解释其中计算所有轴花费的时间的周期超过传统PLC定位系统中的控制周期的情况的示意图。
图4是用于解释根据本发明的一个实施例的PLC定位系统的框图。
图5是用于解释根据本发明的一个实施例的PLC定位系统中的各轴的独立控制周期分配的方法的流程图。
图6是示出了在根据本发明的一个实施例的PLC定位系统中的各轴的独立控制周期分配的方法中的函数调用处的当前堆栈的存储区的示意图。
图7是示出了在根据本发明的一个实施例的PLC定位系统中的各轴的独立控制周期分配的方法中的中断调用处的当前堆栈的存储区的示意图。
图8是用于解释根据本发明的一个实施例的较短的控制周期和较长的控制周期的控制计算的示意图。
图9是用于解释根据本发明的一个实施例的关于PLC定位系统中的各轴的独立控制周期分配的方法的模拟的结果的图表。
图10是用于解释根据本发明的一个实施例的关于PLC定位系统中的各轴的独立控制周期分配的方法的模拟的结果的图表。
具体实施方式
在下文中,参考附图详细描述本发明的各实施例。应当理解,本发明不限于下面的实施例,并且这些实施例仅仅是为了说明性目的而提供的。本发明的范围仅仅由随附的权利要求及其等价要件限定。
图4是用于解释根据本发明的一个实施例的PLC定位系统的框图。
参考图4,根据本发明的一个实施例的PLC定位系统100可以被配置为包括定位控制单元110、快速光耦合器120和外部接口单元130。
定位控制单元110被配置为将各轴分成第一轴组和第二轴组,在请求两个组的操作数据计算的第一轴组计算的时间点切换任务,并且优先地执行第一组的位置控制计算。需要较快响应的轴属于第一轴组。需要较慢响应的轴属于第二轴组。
定位控制单元110可以为第一轴组指派一个轴并且为第二轴组指派剩余的轴。因此,能够优先于剩余的轴运行对为第一轴组指派轴的计算。
定位控制单元110可以为第一轴组指派多个轴并且为第二轴组指派剩余的轴。因此,可以优先于剩余的轴运行对为第一轴组指派的多个轴的计算。
例如,定位控制单元110可以为第一轴组指派两个轴并且为第二轴组指派剩余的轴。因此,能够优先于剩余的轴运行对为第一轴组指派的两个轴的计算。在此时,为第一轴组指派的两个轴具有相同的优先级。随着为第一轴组指派的轴的数量增加,由于指派的轴共享相同的优先级,所以有利的是将为第一轴组指派的轴的数量设置为尽可能小(优选为一)。
定位控制单元110可以根据由用户设置的脉冲/方向或CW/CCW输出模式和高活性输出水平集合或低活性输出水平集合来生成快速脉冲串。快速脉冲串通过快速光耦合器120被发送到外部,在快速脉冲串与外部电隔离的状态中快速光耦合器120用作绝缘发送单元。快速脉冲串由外部接口单元130转换为适合于外部电机驱动器200的开路集电极或线驱动形式的信号水平。
图5是用于解释根据本发明的一个实施例的PLC定位系统中的各轴的独立控制周期分配的方法的流程图。
参考图5,定位控制单元110将各轴分成具有第一控制周期的第一轴组和具有第二控制周期的第二轴组并且为各轴分配不同的控制周期(S11)。
即,定位控制单元110使用任务切换以使得较短的控制周期(第一控制周期)被分配给需要较快响应的轴并且较长的周期(第二控制周期)被分配给需要较慢响应的轴的方式来为各轴分配不同的控制周期。
例如,定位控制单元110将各轴分成需要较短的控制周期的伺服驱动器组(第一轴组),例如关节式机器人或类似装置,以及需要较长的控制周期的伺服驱动器组(第二轴组),例如传送带或类似装置。之后,定位控制单元110将第一轴组的位置控制计算优先级设置为比第二轴组的位置控制计算优先级更高。
即,当在第二轴组的位置控制计算期间接收到针对第一轴组的位置控制计算的请求时,定位控制单元110执行第一轴组的位置控制计算(S12)。之后,在完成第一轴组的位置控制计算之后,定位控制单元110执行第二轴组的位置控制计算(S13)。该过程能够保证第一轴组的较短的控制周期代替增加第二轴组的控制周期。
定位控制单元110可以利用MPU(微处理单元)来实现。在这种情况下,定位控制单元110可以通过使用MPU的内部外设的任务切换来执行独立控制周期分配。
如果RTOS(实时操作系统)用于实现任务切换技术,则这可以导致具有更必要的周期性/非周期性调度的负载,其可以导致MPU资源的浪费。
因此,定位控制单元110能够执行能够在RTOS的函数的计时器中断的发生的时间的灵活的任务切换的过程。
即,定位控制单元110在具有较长的控制周期的轴的位置计算期间的具有较短的控制周期的轴的位置计算的请求的时间停止不间断的计算,并且优先地执行具有较短的控制周期的轴的位置计算。在完成具有较短的控制周期的轴的位置计算后,定位控制单元110重启以执行具有较长的控制周期的轴的位置计算。
为此,定位控制单元110如下地提供两个轴控制规则。
首先,在具有较长的控制周期的轴的位置计算期间的具有较短的控制周期的轴的位置计算的请求的时间,应当立即执行针对具有较短的控制周期的轴的位置控制计算例程。
第二,在完成了具有较短的控制周期的轴的位置计算后,应当重启具有较长的控制周期的轴的位置控制计算。
需要任务切换技术来灵活地实现具有不同的控制周期的轴的位置控制计算。典型的RTOS使用时钟节拍或内核与其工作的API函数的调用以切换任务。当内核函数被调用时,内核调度器运行当前处于待机状态的任务之中具有最高优先级的任务。
然而,典型的嵌入式RTOS的时钟节拍为10ms,并且通常,大约1ms的控制周期基本上被提供用于定位控制。这可以引发比必要的更多的针对任务切换执行的工作,其可以对系统施加负担。因此,存在用于使定位控制单元110通过利用仅仅Non-RTOS上的多任务技术来执行任务切换的合适的方式的需要。
任务切换需要可以由用户利用源代码任意地实现的堆栈分割。例如,定位控制单元110可以采用堆栈分割方案,其能够使用ISP(中断堆栈指针)和USP(用户堆栈指针)。定位控制单元110能够通过控制寄存器操纵来确定针对当前堆栈是使用ISP区还是USP区。
图6是示出了根据本发明的一个实施例的PLC定位系统中的各轴的独立控制周期分配的方法中的函数调用处的当前堆栈的存储区的示意图。
参考图6,定位控制单元110可以接收函数调用以执行Func2的任务而同时执行Func1的任务。在此时,取决于是使用ISP区还是USP区,入栈区和出栈区彼此不同。
当ISP区被使用时,如果存在用于执行Func2的任务而同时执行Func1的任务的函数调用,则定位控制单元110入栈到ISP区。之后,在完成Func2的任务之后,当Func2的任务被切换到Func1的任务时,定位控制单元110从ISP区出栈。
另一方面,当USP区被使用时,如果存在用于执行Func2的任务而同时执行Func1的任务的函数调用,则定位控制单元110入栈到USP区。之后,在完成Func2的任务之后,当Func2的任务被切换到Func1的任务时,定位控制单元110从USP区出栈。
图7是示出了根据本发明的一个实施例的PLC定位系统中的各轴的独立控制周期分配的方法中的中断调用处的当前堆栈的存储区的示意图。
参考图7,如果在其中使用了ISP区或USP区的所有情况下发生中断,则定位控制单元110使用ISP区来执行入栈和出栈操作。
例如,如果Interrupt1发生,则定位控制单元110入栈到ISP区而同时执行Func1的任务,并且如果Interrupt2发生,则定位控制单元110入栈到ISP区而同时执行Interrupt1的任务。
再次地,在完成Interrupt2的任务之后,当Interrupt2的任务被切换到Interrupt1的任务时,定位控制单元110从ISP区出栈。另外,在完成Interrupt1的任务之后,当Interrupt1的任务被切换到Func1的任务时,定位控制单元110从ISP区出栈。
以这种方式,定位控制单元110当不存在特定操纵时使用ISP区,并且当函数被调用或中断发生时将当前状态存储在ISP区中。甚至当使用USP区时,定位控制单元110存储当函数被调用时将当前状态存储在USP区中,但是可以当中断发生时使用ISP区。
因此,定位控制单元110使用中断过程使得两个独立的任务的ISP区能够用于需要较快响应的轴,并且USP区能够用于需要较慢响应的轴。
为方便起见,在此假设较快的控制周期是第一控制周期,并且较慢的控制周期是第二控制周期。因此,定位控制单元110基于针对使用ISP区的轴的第一控制周期来计算操作数据并且基于针对使用USP区的轴的第二控制周期来计算操作数据。当第一控制周期开始时,使用ISP区的轴的位置控制计算开始。
在此应当指出,使用ISP区的轴的计算必须在使得计算能够在短于第一控制周期的周期内来完成的程度上被指定,即,计算时间不比第一控制周期长。以针对在下一控制周期之前剩余的时间执行具有较慢的控制周期的轴的计算当在第一控制周期内完成需要较快响应的轴的计算之后开始的这样的方式来管理任务。
图8是用于解释根据本发明的一个实施例的较短的控制周期和较长的控制周期的控制计算的示意图。
参考图8,当开始执行操作数据计算时,定位控制单元110首先开始执行ISP区中的第一控制周期的计算。当完成了要在第一控制周期内执行的所有控制计算时,定位控制单元110的系统寄存器用于执行到USP区的堆栈切换。
当针对第一控制周期的位置控制计算的计时器中断发生在USP周期中的第二控制周期的计算的过程中时,定位控制单元110停止USP区中的计算。之后,定位控制单元110在将寄存器状态存储在USP区的堆栈中之后执行到ISP区的堆栈切换。定位控制单元110使用任务切换以优先地执行第一控制周期的位置控制计算。在此时,由于程序指针在ISP被切换为USP的时间点指向下一步时,ISP区的计算对USP区进行连接。
即,当使用计时器中断来计算第二控制周期时,当堆栈切换中断(1ms)在请求第一控制周期的位置控制计算的时间点发生时,定位控制单元110将所有寄存器入栈到USP区。之后,在完成中断服务例程之后,定位控制单元110将返回地址改变到第一控制周期计算区以便返回到ISP区。其后,定位控制单元110切换堆栈以执行第一控制周期的位置控制计算。当完成了第一控制周期的位置控制计算时,定位控制单元110将通用寄存器、状态寄存器和程序计数器入栈到ISP区。之后,在堆栈切换到USP之后,定位控制单元110重启以执行第二控制周期的位置控制计算。
图9是用于解释根据本发明的一个实施例的关于PLC定位系统中的各轴的独立控制周期分配的方法的模拟的结果的图表。
参考图9,(可从Renesas公司获得的)Rx621MPU用于执行关于根据本发明的一个实施例的PLC定位系统中的各轴的独立控制周期分配的方法的模拟。为了检查程序被运行在其中的区是ISP区还是USP区,利用示波器来测量通过GPIO管脚输出的开/关信号。连接到示波器探头No.3(CH3)的GPIO管脚在第一控制周期计算期间被打开并且在完成第一控制周期计算之后被关闭。针对第二控制周期,这同样适用于连接到示波器探头No.2(CH2)的GPIO管脚。
第一控制周期利用1ms来指定并且第二控制周期利用5ms来指定。换言之,第二控制周期被重复一次,而第一控制周期被重复五次。
以这种方式,确定具有不同的控制周期的两个组的操作数据计算随时间如下地被执行。
如能够从图9中看到的,当完成第一控制周期计算(S21)时,定位控制单元110使用第二控制周期任务切换来计算第二控制周期(S22)。之后,在第二控制周期计算的过程中,当1ms计时器在当第一控制周期开始的时间点发生中断时,定位控制单元110执行堆栈切换以便执行第一控制周期的位置控制计算(S23)。能够从图9确定在完成第一控制周期之后继续第二控制周期的剩余的计算。
在此指出第一控制周期(CH3)和第二控制周期(CH2)被配置为包括针对每个轴的位置控制计算运行间隔和裕量间隔。甚至当第一控制周期为1ms时,仅仅1ms的整个周期中的一些用作控制计算运行间隔,在控制计算运行间隔中第一控制周期的控制计算被执行,但是其中的其他被用作裕量间隔。由于控制周期中的每个具有控制计算运行间隔和保留的裕量间隔,所以当完成第一控制周期的运行时,在裕量间隔期间无等待地执行第二控制周期的控制计算。
图10是用于解释根据本发明的一个实施例的关于PLC定位系统中的各轴的独立控制周期分配的方法的模拟的结果的图表。
在图10中示出了具有第一控制周期的第一轴和第二轴的计算和具有第二控制周期的第三轴和第四轴的计算的结果。能够从图10确定各轴以相同的速度移动并且生成相同的轮廓。
根据本发明,控制多个轴的定位控制单元110为各轴独立地分配控制周期并将计算优先级授予给需要较快响应的轴。这能够甚至利用控制轴的增加的数量来保证需要较快响应的轴的响应速度。
在工业领域中,存在如在关节式机器人以及类似装置中的对响应速度和轴同步更敏感的轴和如在传输带以及类似装置中的对响应速度和轴同步较不敏感的轴。根据本发明,通过将控制关节式机器人以及类似装置的各轴分配给第一轴组并且将控制传送带以及类似装置的各轴分配给第二轴组,能够灵活地控制甚至大规模系统中的伺服驱动器。
尽管已经描述了特定实施例,但是这些实施例仅仅通过举例的方式来呈现,并且不旨在限制本公开内容的范围。实际上,本文描述的新颖的方法和装置可以以各种其他形式来实现;另外,可以在不脱离本公开内容的精神的情况下进行本文描述的实施例的形式的各种删减、替代和改变。随附权利要求和其等价要件旨在覆盖如将落入本公开内容的范围和精神内的这样的形式或修改。

Claims (8)

1.一种对PLC定位系统中的各轴的独立控制周期分配的方法,包括:
将所述各轴分成具有第一控制周期的第一轴组和具有第二控制周期的第二轴组并且为不同的轴分配不同的控制周期;
当在所述第二轴组的位置控制计算期间请求所述第一轴组的位置控制计算时,经由中断通过任务切换来执行所述第一轴组的所述位置控制计算;并且
在完成所述第一轴组的所述位置控制计算之后,经由中断通过任务切换来重启所述第二轴组的所述位置控制计算。
2.根据权利要求1所述的方法,其中,为不同的轴分配不同的控制周期的动作包括将单个轴指派给所述第一轴组。
3.根据权利要求1所述的方法,其中,为不同的轴分配不同的控制周期的动作包括将多个轴指派给所述第一轴组。
4.根据权利要求1所述的方法,其中,在为不同的轴分配不同的控制周期的动作中,所述第一控制周期和所述第二控制周期中的每个包括针对所述轴中的每个轴的位置控制计算运行间隔和裕量间隔。
5.根据权利要求4述的方法,其中,重启所述第二轴组的所述位置控制计算的动作包括:
当在所述第一控制周期的所述位置控制计算运行间隔期间完成所述第一轴组的所述位置控制计算时,执行针对所述第二轴组的所述位置控制计算的任务切换;并且
在所述第一轴组的所述裕量间隔期间重启所述第二轴组的所述位置控制计算。
6.根据权利要求1所述的方法,其中,为不同的轴分配不同的控制周期的动作还包括为所述第一轴组中的轴分配ISP区的堆栈并且为所述第二轴组中的轴分配USP区的堆栈。
7.根据权利要求6所述的方法,其中,为不同的轴分配不同的控制周期的动作包括指派所述第一控制周期,使得使用所述ISP区的轴的计算能够在所述第一控制周期内来完成。
8.根据权利要求6所述的方法,其中,执行所述第一轴组的所述位置控制计算的动作包括:在执行所述第二控制组的所述控制计算时,当在请求所述第一控制周期的所述位置控制计算的时间点发生堆栈切换中断时,将所有寄存器入栈到所述USP区,并且,在完成中断服务例程之后,将返回地址改变到第一控制周期计算区以便返回到所述ISP区,并且
其中,重启所述第二轴组的所述位置控制计算的动作包括:当完成所述第一控制周期的所述控制计算时,将通用寄存器、状态寄存器和程序计数器入栈到所述ISP区,并且在堆栈切换到所述USP区之后,重启以执行所述第二控制周期的所述控制计算。
CN201610839540.8A 2015-10-20 2016-09-21 对plc定位系统中的各轴的独立控制周期分配的方法 Active CN106843121B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2015-0146342 2015-10-20
KR1020150146342A KR102079499B1 (ko) 2015-10-20 2015-10-20 Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법

Publications (2)

Publication Number Publication Date
CN106843121A true CN106843121A (zh) 2017-06-13
CN106843121B CN106843121B (zh) 2019-05-17

Family

ID=57003318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610839540.8A Active CN106843121B (zh) 2015-10-20 2016-09-21 对plc定位系统中的各轴的独立控制周期分配的方法

Country Status (6)

Country Link
US (1) US10394213B2 (zh)
EP (1) EP3159761B1 (zh)
JP (1) JP6429842B2 (zh)
KR (1) KR102079499B1 (zh)
CN (1) CN106843121B (zh)
ES (1) ES2752879T3 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110398933A (zh) * 2018-04-25 2019-11-01 Ls产电株式会社 基于可编程逻辑控制器的位置控制装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6520545B2 (ja) * 2015-08-10 2019-05-29 オムロン株式会社 サポート装置およびサポートプログラム
KR102132857B1 (ko) * 2018-05-03 2020-07-10 엘에스일렉트릭(주) Plc의 모터 구동 제어 방법

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0347467A1 (en) * 1987-12-10 1989-12-27 Fanuc Ltd. Cnc control system
WO1996033450A1 (de) * 1995-04-19 1996-10-24 Siemens Aktiengesellschaft Verfahren zum betrieb einer numerischen steuerung mit zeitkritischen und nicht zeitkritischen prozessen in einem echtzeitsystem
US6260058B1 (en) * 1994-07-19 2001-07-10 Robert Bosch Gmbh Process for controlling technological operations or processes
US20030139848A1 (en) * 2002-01-18 2003-07-24 Christopher Cifra System and method for invoking execution of a sequence of operations that includes motion control, machine vision, and data acquisition (DAQ) functionality
EP1342699A1 (en) * 2002-03-08 2003-09-10 Bedogni s.r.l. Apparatus for driving tools for the production of articles made of glass, crystal and the like
CN1540467A (zh) * 2003-04-21 2004-10-27 发那科株式会社 数字控制器
JP2007140655A (ja) * 2005-11-15 2007-06-07 Yaskawa Electric Corp モーションコントローラ
CN101458509A (zh) * 2007-12-13 2009-06-17 发那科株式会社 具有控制模式切换功能的数值控制装置
CN102130640A (zh) * 2011-01-25 2011-07-20 南京雪曼机电科技有限公司 多轴同步伺服驱动系统及其同步控制方法
CN202094830U (zh) * 2011-01-25 2011-12-28 南京雪曼机电科技有限公司 多轴同步伺服驱动系统
US20120029657A1 (en) * 2010-07-27 2012-02-02 Yokogawa Electric Corporation Sequence controller
CN102629119A (zh) * 2011-02-08 2012-08-08 发那科株式会社 进行旋转轴的定位完成确认的数值控制装置
JP2012194670A (ja) * 2011-03-15 2012-10-11 Omron Corp Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
CN102854901A (zh) * 2011-06-28 2013-01-02 欧姆龙株式会社 同步控制装置、同步控制方法
CN103123476A (zh) * 2011-11-18 2013-05-29 中国科学院沈阳计算技术研究所有限公司 一种单伺服电机驱动多轴机床的数控系统控制方法
CN103403631A (zh) * 2011-03-15 2013-11-20 欧姆龙株式会社 可编程逻辑控制器的cpu单元、可编程逻辑控制器用系统程序以及存储可编程逻辑控制器用系统程序的记录介质

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4319338A (en) * 1979-12-12 1982-03-09 Allen-Bradley Company Industrial communications network with mastership determined by need
US4514814A (en) * 1982-09-07 1985-04-30 General Electric Company Multi-processor axis control
JPH0766284B2 (ja) * 1984-07-23 1995-07-19 日産自動車株式会社 プログラマブルロジツクコントロ−ラ
WO1992015068A1 (en) * 1991-02-15 1992-09-03 Incontrol, Inc. Computer control system for generating geometric designs
US5453933A (en) * 1993-09-08 1995-09-26 Hurco Companies, Inc. CNC control system
JPH0851796A (ja) * 1994-06-01 1996-02-20 Minolta Co Ltd モータ制御機構
US6466962B2 (en) * 1995-06-07 2002-10-15 International Business Machines Corporation System and method for supporting real-time computing within general purpose operating systems
GB9825102D0 (en) * 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
KR20020031378A (ko) 1999-07-06 2002-05-01 다니구찌 이찌로오, 기타오카 다카시 구동제어 시스템
US6594541B1 (en) * 2000-01-10 2003-07-15 Siemens Aktiengesellschaft Universal motion control
US20020198970A1 (en) * 2001-04-27 2002-12-26 Shunji Kuwa Programmable controller system
DE10144788A1 (de) * 2001-09-11 2003-04-30 Siemens Ag Verfahren und Vorrichtung zur sicheren hochperformanten Aufzeichnung von Prozessdaten bei numerisch gesteuerten industriellen Bearbeitungsmaschinen
JP3922070B2 (ja) * 2002-03-29 2007-05-30 株式会社デンソー 分散制御方法及び装置
KR20040071921A (ko) 2003-02-07 2004-08-16 삼성전자주식회사 다축 서보드라이브 시스템
US20060153008A1 (en) * 2003-02-12 2006-07-13 Toshiyuki Miyamatsu Control device and control method capable of external synchronization
JP2006187826A (ja) 2005-01-05 2006-07-20 Kawasaki Heavy Ind Ltd ロボットコントローラ
US7565654B2 (en) * 2006-01-10 2009-07-21 National Instruments Corporation Programmatic control of tasks in a programmable logic controller
US7424563B2 (en) * 2006-02-24 2008-09-09 Qualcomm Incorporated Two-level interrupt service routine
JP2009059310A (ja) * 2007-09-03 2009-03-19 Panasonic Corp プログラム制御装置
JP5416594B2 (ja) 2007-10-31 2014-02-12 Thk株式会社 多軸駆動ドライバの制御方法、及び多軸駆動ドライバ、並びにそれを備えた多軸駆動制御システム
DE102009047024A1 (de) * 2009-11-23 2011-05-26 Beckhoff Automation Gmbh Parallelisierte Programmsteuerung
DE102009055752A1 (de) * 2009-11-25 2011-05-26 Robert Bosch Gmbh Verfahren zum Ermöglichen einer sequentiellen, nicht blockierenden Abarbeitung von Anweisungen in nebenläufigen Tasks in einer Steuereinrichtung
JP5246186B2 (ja) * 2010-03-15 2013-07-24 オムロン株式会社 コントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体
US20130254584A1 (en) * 2010-12-16 2013-09-26 Mitsubishi Electric Corporation Sequencer system and control method therefor
JP5267737B2 (ja) * 2011-01-31 2013-08-21 トヨタ自動車株式会社 安全制御装置および安全制御方法
US8706262B2 (en) * 2011-03-15 2014-04-22 Omron Corporation CPU unit of PLC, system program for PLC, and recording medium storing system program for PLC
JP4894961B1 (ja) * 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
US8799880B2 (en) * 2011-04-08 2014-08-05 Siemens Aktiengesellschaft Parallelization of PLC programs for operation in multi-processor environments
WO2013010159A1 (en) * 2011-07-14 2013-01-17 Siemens Corporation Reducing the scan cycle time of control applications through multi-core execution of user programs
JP5099251B1 (ja) * 2011-07-15 2012-12-19 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラム、plc用のシステムプログラムを格納した記録媒体、plcシステム、plcサポート装置、plcサポートプログラム、および、plcサポートプログラムを格納した記録媒体
KR101271854B1 (ko) 2011-08-31 2013-06-07 숭실대학교산학협력단 태스크 주기 스케쥴링 장치 및 방법
FR2997773B1 (fr) * 2012-11-06 2016-02-05 Centre Nat Rech Scient Procede d'ordonnancement avec contraintes d'echeance, en particulier sous linux, realise en espace utilisateur.
DE112012001007T5 (de) 2012-12-10 2014-09-11 Mitsubishi Electric Corp. Mehrachsensteuersystem-Einstell-/Justierfunktionsunterstützungsvorrichtung
CN103870327A (zh) * 2012-12-18 2014-06-18 华为技术有限公司 一种实时多任务调度方法和装置
FR3004825B1 (fr) * 2013-04-19 2015-04-24 Krono Safe Procede d'allocation temporelle de taches permettant une recuperation d'erreur deterministe en temps reel
KR20150074392A (ko) 2013-12-24 2015-07-02 엘에스산전 주식회사 위치 결정 시스템의 제어 주기 설정방법
JP6626240B2 (ja) * 2014-03-13 2019-12-25 オムロン株式会社 コントローラ
KR102338849B1 (ko) * 2014-04-01 2021-12-14 삼성전자주식회사 실시간 운영 체제에서 스택 메모리 관리를 제공하는 방법 및 시스템
JP6203691B2 (ja) * 2014-08-29 2017-09-27 ファナック株式会社 複数軸の軸制御処理を分散して実行可能な数値制御装置

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0347467A1 (en) * 1987-12-10 1989-12-27 Fanuc Ltd. Cnc control system
US6260058B1 (en) * 1994-07-19 2001-07-10 Robert Bosch Gmbh Process for controlling technological operations or processes
WO1996033450A1 (de) * 1995-04-19 1996-10-24 Siemens Aktiengesellschaft Verfahren zum betrieb einer numerischen steuerung mit zeitkritischen und nicht zeitkritischen prozessen in einem echtzeitsystem
US20030139848A1 (en) * 2002-01-18 2003-07-24 Christopher Cifra System and method for invoking execution of a sequence of operations that includes motion control, machine vision, and data acquisition (DAQ) functionality
EP1342699A1 (en) * 2002-03-08 2003-09-10 Bedogni s.r.l. Apparatus for driving tools for the production of articles made of glass, crystal and the like
CN1540467A (zh) * 2003-04-21 2004-10-27 发那科株式会社 数字控制器
JP2007140655A (ja) * 2005-11-15 2007-06-07 Yaskawa Electric Corp モーションコントローラ
CN101458509A (zh) * 2007-12-13 2009-06-17 发那科株式会社 具有控制模式切换功能的数值控制装置
US20120029657A1 (en) * 2010-07-27 2012-02-02 Yokogawa Electric Corporation Sequence controller
CN102130640A (zh) * 2011-01-25 2011-07-20 南京雪曼机电科技有限公司 多轴同步伺服驱动系统及其同步控制方法
CN202094830U (zh) * 2011-01-25 2011-12-28 南京雪曼机电科技有限公司 多轴同步伺服驱动系统
CN102629119A (zh) * 2011-02-08 2012-08-08 发那科株式会社 进行旋转轴的定位完成确认的数值控制装置
JP2012194670A (ja) * 2011-03-15 2012-10-11 Omron Corp Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
CN103403631A (zh) * 2011-03-15 2013-11-20 欧姆龙株式会社 可编程逻辑控制器的cpu单元、可编程逻辑控制器用系统程序以及存储可编程逻辑控制器用系统程序的记录介质
CN102854901A (zh) * 2011-06-28 2013-01-02 欧姆龙株式会社 同步控制装置、同步控制方法
CN103123476A (zh) * 2011-11-18 2013-05-29 中国科学院沈阳计算技术研究所有限公司 一种单伺服电机驱动多轴机床的数控系统控制方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110398933A (zh) * 2018-04-25 2019-11-01 Ls产电株式会社 基于可编程逻辑控制器的位置控制装置
CN110398933B (zh) * 2018-04-25 2022-06-21 Ls产电株式会社 基于可编程逻辑控制器的位置控制装置

Also Published As

Publication number Publication date
JP2017079060A (ja) 2017-04-27
ES2752879T3 (es) 2020-04-06
US10394213B2 (en) 2019-08-27
US20170108845A1 (en) 2017-04-20
KR102079499B1 (ko) 2020-02-21
EP3159761A1 (en) 2017-04-26
JP6429842B2 (ja) 2018-11-28
KR20170046256A (ko) 2017-05-02
CN106843121B (zh) 2019-05-17
EP3159761B1 (en) 2019-08-21

Similar Documents

Publication Publication Date Title
CN109557890B (zh) 控制装置
US6823517B1 (en) Multi-tasking-real-time operating system for microprocessors with limited memory that constrains context switching to occur only at task level
CN106843121B (zh) 对plc定位系统中的各轴的独立控制周期分配的方法
KR20190044526A (ko) 컴파일러 방법
US11416293B2 (en) Control unit having a scheduler for scheduling a plurality of virtual machines, and methods for scheduling a plurality of virtual machines
JP2012066376A (ja) 1つ以上の人間型ロボットの同時経路検討
JP2012066376A5 (zh)
KR102543212B1 (ko) 로봇 제어 시스템 및 방법
CN104636202A (zh) 计算机系统及其排程方法
US10877803B2 (en) Control apparatus, control method and non-transitory storage medium
CN103677990A (zh) 虚拟机实时任务的调度方法、装置和虚拟机
CN104008005B (zh) 用于控制处理器的装置、方法和系统
US20240100697A1 (en) Multi-Thread Controller for Parallel Robot
US20170132030A1 (en) Virtual machine system, control method thereof, and control program recording medium thereof
WO2019063693A1 (en) PROGRAMMABLE LOGIC CONTROL DEVICE BASED ON ROS, SYSTEM AND METHOD
CN112659119A (zh) 机械臂的控制方法、装置、电子设备及存储介质
CN101833450A (zh) 定时方法和装置
JP2021192949A5 (zh)
JPH01124042A (ja) 仮想計算機システムにおける回線制御方式
CN110716791A (zh) 一种实时虚拟化系统及其执行方法
WO2023230909A1 (zh) 调度方法及相关装置
JP2019194847A (ja) 分散したソフトウェアコンポーネント間の通信におけるエラー処理のための方法および装置
KR20180117927A (ko) 프로그래머블 논리 제어 시스템
EP3380935A1 (en) Balancing processing loads of virtual machines
KR20160076148A (ko) 가상 머신 환경에서의 입출력 방법

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