一种伺服驱动器周期同步位置指令处理方法技术

技术编号:24088310 阅读:76 留言:0更新日期:2020-05-09 06:58
本发明专利技术提供一种伺服驱动器周期同步位置指令处理方法,包括以下步骤:步骤S1,在伺服驱动器内创建位置指令队列Queue;步骤S2,当伺服驱动器的MCU触发EtherCAT同步中断时,计算位置环的细分值,并实现位置指令队列Queue的入队操作;步骤S3,当伺服驱动器的MCU触发位置环中断时,等待满足条件则实现位置指令队列Queue的出队操作;步骤S4,实时调整位置指令,以实现位置同步。本发明专利技术确保了每个位置环的指令输入同步效果好,提高了伺服系统的平稳性,还提高了位置指令的同步性;能够确保伺服驱动器的MCU在执行同步中断位置指令调整时,即使被高优先级的位置环中断所打断了,也保证位置环的指令连续。

A processing method of servo driver periodic synchronous position command

【技术实现步骤摘要】
一种伺服驱动器周期同步位置指令处理方法
本专利技术涉及一种伺服驱动器控制
,尤其涉及一种基于EtherCAT(EthernetforControlAutomationTechnology)的伺服驱动器周期同步位置指令处理方法。
技术介绍
随着现代工业和运动控制的不断发展,伺服系统在工业控制领域的作用更显重要,市场需求日益攀升。同时,现代复杂的工业应用环境对伺服系统提出了高速、高精的控制要求,传统的脉冲命令和模拟量控制方式无法满足需求。工业以太网的出现,使伺服系统向着一体化、数字化和网络化的方向发展。EtherCAT(EthernetforControlAutomationTechnology)总线技术具有传输速度快、可靠性高、实时性好及精确同步等优势,备受国内外伺服厂家的青睐。EtherCAT总线技术支持CiA402(DeviceProfileDrivesandMotionControl)协议,并结合EtherCAT技术特性,加入了新的伺服工作模式,如周期同步位置模式、周期同步速度模式、周期同步转矩模式,其中周期同步位置模式最为常用。图2所示的是周期同步位置模式下的输入输出对象,当伺服驱动器处于该模式运行时,EtherCAT主站周期性发送规划好的位置指令。对于基于EtherCAT的伺服驱动器而言,实现EtherCAT总线技术需要独立的从站芯片,总线同步信号通过外部中断发送给伺服驱动器的MCU。在实际应用中,EtherCAT同步周期是要大于伺服位置环周期的,如果同步周期过大,则在下一个同步信号到来之前的位置环没有位置指令输入,影响伺服系统的平稳性。并且由于伺服驱动器的MCU和EtherCAT从站芯片的时钟独立,伺服驱动器的MCU内有比EtherCAT同步中断优先级高的控制回路中断,导致主站下发的位置指令不能严格于时间同步,影响控制的精确度。
技术实现思路
本专利技术所要解决的技术问题是需要提供一种保证同步性和提高控制精确度的基于EtherCAT(EthernetforControlAutomationTechnology)的伺服驱动器周期同步位置指令处理方法。对此,本专利技术提供一种伺服驱动器周期同步位置指令处理方法,包括以下步骤:步骤S1,在伺服驱动器内创建位置指令队列Queue;步骤S2,当伺服驱动器的MCU触发EtherCAT同步中断时,计算位置环的细分值,并实现位置指令队列Queue的入队操作;步骤S3,当伺服驱动器的MCU触发位置环中断时,等待满足条件则实现位置指令队列Queue的出队操作;步骤S4,实时调整位置指令,以实现位置同步。本专利技术的进一步改进在于,所述步骤S1中,先通过EtherCAT主站的同步周期T1和伺服驱动器的位置环周期T2,计算所述同步周期T1和位置环周期T2之间的比值K,然后在伺服驱动器内创建位置指令队列Queue。本专利技术的进一步改进在于,所述同步周期T1的取值是所述位置环周期T2的整数倍,所述位置指令队列Queue内能容纳的元素大小大于2*K。本专利技术的进一步改进在于,所述步骤S2中,当伺服驱动器的MCU触发EtherCAT同步中断时,先计算位置环的细分值,计算位置环的细分值过程为:将当前次数从EtherCAT主站下发的位置指令按照K值进行等分,等分结果对应一个EtherCAT同步周期内每个位置环的指令输入值,等分后的等分余数补偿到每个位置环中作为该位置环的细分值。本专利技术的进一步改进在于,将计算后的每个位置环的指令输入值及其细分值通过先进先出原则输入至所述位置指令队列Queue中以实现入队操作。本专利技术的进一步改进在于,所述步骤S2中计算位置环的细分值,并将等分后的等分余数补偿到每个位置环的过程包括:步骤S201,设第N-1次同步中断EtherCAT主站下发位置指令为Sn-1,第N次同步中断EtherCAT主站下发位置指令为Sn,则通过公式计算等分余数SR,其中SΔ为当前次数从EtherCAT主站下发的位置指令,SΔ=Sn-Sn-1,N为自然数;步骤S202,判断等分余数SR进行实现对位置环的补偿。本专利技术的进一步改进在于,所述步骤S202包括以下子步骤:步骤S2021,当所述等分余数SR=0时,则第N-1次同步中断和第N次同步中断时间间隔之内的K个位置环指令中,令m=1,2,…,K,Sm为同步中断间隔内的每个位置环指令;步骤S2022,当所述等分余数SR>0时,需要进行等分余数补偿,等分余数补偿的过程为在第N-1次同步中断和第N次同步中断时间间隔之内的前SR个位置环指令中,令m=1,2,…,SR;在剩余的位置环指令中,令m=(SR+1),(SR+2),…,(SR+(K-SR));步骤S2023,当所述等分余数SR<0时,需要进行等分余数补偿,等分余数补偿的过程为在第N-1次同步中断和第N次同步中断时间间隔之内的前|SR|个位置环指令中,令m=1,2,…,|SR|;在剩余的位置环指令中,令m=(|SR|+1),(|SR|+2),…,(|SR|+(K-|SR|))。本专利技术的进一步改进在于,所述步骤S3中,当伺服驱动器的MCU触发位置环中断时,判断位置指令队列Queue内所存储的元素是否大于比值K,若是,则判定为满足条件,通过先进先出原则实现位置指令队列Queue的出队操作。本专利技术的进一步改进在于,所述步骤S4实时调整位置指令,以实现位置同步的实现过程如下:自第2个EtherCAT同步中断开始,在执行步骤S2的同步中断位置指令细分前,判断位置指令队列Queue中剩余的元素个数K’,进而实现对应的同步控制。本专利技术的进一步改进在于,判断位置指令队列Queue中剩余的元素个数K’,进而实现对应的同步控制,具体包括以下子步骤:步骤S401,当元素个数K’<比值K时,说明伺服驱动器的MCU时钟快于EtherCAT从站时钟,此时步骤S2中位置环的细分值过程中,将比值K替换为(K+(K-K’))的值之后进行等分;步骤S402,当元素个数K’>比值K时,说明伺服驱动器的MCU时钟慢于EtherCAT从站时钟,此时需要对位置指令队列Queue进行出队操作,直至元素个数k’=比值k后,则将从位置指令队列Queue取出的位置指令叠加到新的位置指令后,跳转至步骤S2按照比值K进行等分;步骤S403,当元素个数K’=比值K时,直接跳转至步骤S2进行等分操作。与现有技术相比,本专利技术的有益效果在于:对于EtherCAT主机同步周期大于伺服驱动器的位置环周期的情况,采用了同步周期内的位置指令细分方法,确保了每个位置环的指令输入同步效果好,提高了伺服系统的平稳性;在此基础上,对于伺服驱动器的MCU和EtherCAT从站芯片时钟独立的情况,通过在EtherCAT同步中断中实时判断位置指令队列Queue的剩余大小来调整位置环的细分指令输入,在保证了伺服驱动器本身的控制稳定的前提下,提高了位置指令的同步性,对于基于EtherCAT的多本文档来自技高网
...

【技术保护点】
1.一种伺服驱动器周期同步位置指令处理方法,其特征在于,包括以下步骤:/n步骤S1,在伺服驱动器内创建位置指令队列Queue;/n步骤S2,当伺服驱动器的MCU触发EtherCAT同步中断时,计算位置环的细分值,并实现位置指令队列Queue的入队操作;/n步骤S3,当伺服驱动器的MCU触发位置环中断时,等待满足条件则实现位置指令队列Queue的出队操作;/n步骤S4,实时调整位置指令,以实现位置同步。/n

【技术特征摘要】
1.一种伺服驱动器周期同步位置指令处理方法,其特征在于,包括以下步骤:
步骤S1,在伺服驱动器内创建位置指令队列Queue;
步骤S2,当伺服驱动器的MCU触发EtherCAT同步中断时,计算位置环的细分值,并实现位置指令队列Queue的入队操作;
步骤S3,当伺服驱动器的MCU触发位置环中断时,等待满足条件则实现位置指令队列Queue的出队操作;
步骤S4,实时调整位置指令,以实现位置同步。


2.根据权利要求1所述的伺服驱动器周期同步位置指令处理方法,其特征在于,所述步骤S1中,先通过EtherCAT主站的同步周期T1和伺服驱动器的位置环周期T2,计算所述同步周期T1和位置环周期T2之间的比值K,然后在伺服驱动器内创建位置指令队列Queue。


3.根据权利要求2所述的伺服驱动器周期同步位置指令处理方法,其特征在于,所述同步周期T1的取值是所述位置环周期T2的整数倍,所述位置指令队列Queue内能容纳的元素大小大于2*K。


4.根据权利要求2或3所述的伺服驱动器周期同步位置指令处理方法,其特征在于,所述步骤S2中,当伺服驱动器的MCU触发EtherCAT同步中断时,先计算位置环的细分值,计算位置环的细分值过程为:将当前次数从EtherCAT主站下发的位置指令按照K值进行等分,等分结果对应一个EtherCAT同步周期内每个位置环的指令输入值,等分后的等分余数补偿到每个位置环中作为该位置环的细分值。


5.根据权利要求4所述的伺服驱动器周期同步位置指令处理方法,其特征在于,将计算后的每个位置环的指令输入值及其细分值通过先进先出原则输入至所述位置指令队列Queue中以实现入队操作。


6.根据权利要求4所述的伺服驱动器周期同步位置指令处理方法,其特征在于,所述步骤S2中计算位置环的细分值,并将等分后的等分余数补偿到每个位置环的过程包括:
步骤S201,设第N-1次同步中断EtherCAT主站下发位置指令为Sn-1,第N次同步中断EtherCAT主站下发位置指令为Sn,则通过公式计算等分余数SR,其中SΔ为当前次数从EtherCAT主站下发的位置指令,SΔ=Sn-Sn-1,N为自然数;
步骤S202,判断等分余数SR进行实现对位置环的补偿。

【专利技术属性】
技术研发人员:封志刚张中华何少强
申请(专利权)人:深圳科士达科技股份有限公司深圳科士达新能源有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1