技术领域
本发明涉及伺服电机领域,具体的涉及一种多轴伺服驱动器同步控制领域。
背景技术:
伺服驱动器(servo drives)又称为“伺服控制器”、“伺服放大器”,是用来控制伺服电机的一种控制器,主要应用于高精度的定位系统。一般是通过位置、速度和力矩三种方式对伺服马达进行控制,实现高精度的传动系统定位,目前是传动技术的高端产品,是机械装备实现高精度数控化的重要核心零部件。
近年来,诞生了实时工业以太网技术。该技术不仅传输速度快,数据包容量大,传输距离长,拓扑结构灵活,而且能保障较高的实时和同步性能,因而成为解决上述问题的新方案。由于厂商选择的传输介质和通讯协议的不同,形成了多个技术路线,目前主流的工业以太网协议包括POWERLINK、EtherCAT、SERCOS III、PROFINET等。
为保证网络的实时性和同步性,各工业以太网协议都会提供一种同步机制,通过产生一个精确的同步信号用于同步网络中各从站节点。大体上,各工业以太网的从站同步模式可以归结为以下两种:
第1种:如图1所示,主站按照同步周期间隔性的产生同步信号。从站接收到同步信号后,首先需要将主站下发的数据存储到本地接收缓存区,此为T1时间;接着对本地接收缓存数据按照应用层协议进行解析,获得本地命令数据,此为T2时间;然后锁存主站索取的反馈数据至本地发送缓存区,供主站读取,此为T3时间。
第2种:如图2所示,主站在产生同步信号之前会产生一个数据帧到达信号,从站在接收到数据帧到达信号之后,将主站下发的数据存储到本地接收缓存区,然后等待同步信号的到来。当同步信号到达后,从站对本地接收缓存数据按照应用层协议进行解析,获得本地命令数据,然后锁存主站索取的反馈数据至本地发送缓存区,供主站读取。这种做法可以减少同步信号到达之后至命令数据有效之间的时间,从而进一步提高同步性能。
对于多轴伺服驱动器而言,在上述两种模式中,现有技术中通常采用应用层控制模块在第一次进入同步中断时计算多轴伺服驱动器的Tset,之后在每次进入同步中断时计算中断响应延时Δt1并根据Tset调整伺服程序定时周期,然而Tset是参考伺服时钟工作,而伺服时钟和从站时钟没有同步,随着时间的推移,各轴的Tset将发生不同的变化。因此,各轴的伺服中断程序之间是没有同步的。
技术实现要素:
针对现有技术中的这些缺点,本发明的目的在于提供了一种多轴伺服驱动器同步系统控制方法,应用该方法可以确保在各轴伺服驱动器同步通信的过程中,同步过程中各周期互不干扰,且不会随着时间的推移导致各轴伺服中断程序之间依然同步,从而保证了数据和执行同步的准确性。
该方法为各轴伺服驱动器在同步信号SYNCEVT到达的同时,均重置伺服时钟,使得各轴伺服时钟在经过时间Tsync_off后才触发伺服中断程序;
其中时间Tsync_off满足下列条件:Tcycle-Tjitter-Tservo>Tsync_off,Tcycle为伺服控制周期(即电流环周期),Tservo为伺服中断程序执行时间,Tjitter为同步信号SYNCEVT抖动时间;
其中时间Tsync_off满足下列条件:Tsync_off>Texchange+Tjitter,Texchange为伺服驱动器主控模块和工业以太网协议模块进行数据交互,Tjitter为同步信号SYNCEVT抖动时间;
Texchange=T1+T2+T3,主站下发的数据存储到伺服驱动器本地接收缓存区,此为T1时间;接着对本地接收缓存数据按照应用层协议进行解析,获得本地命令数据,此为T2时间;然后锁存主站索取的反馈数据至本地发送缓存区,供主站读取,此为T3时间;
Texchange=T2+T3,对伺服驱动器本地接收缓存数据按照应用层协议进行解析,获得本地命令数据,此为T2时间;然后锁存主站索取的反馈数据至伺服驱动器本地发送缓存区,供主站读取,此为T3时间;
本发明的优点在于通过合理设置伺服时钟重置后的间断时间,实现主站时钟、各轴从站时钟以及各轴伺服时钟的同步,即各轴的同步中断程序和伺服中断程序之间都是同步的,使得伺服中断程序和同步中断程序互不干扰,从而保证了调整后的各轴伺服中断程序也是同步的。
附图说明
图1 现有技术中数据同步周期内的一种阶段构成。
图2现有技术中数据同步周期内的另一种阶段构成。
图3 本发明的一种多轴伺服驱动器同步控制系统的组成框图。
具体实施方式
结合具体实施例对本发明进行具体说明如下:
本发明的多轴伺服驱动器同步控制方法中,共有3种时钟,分别为主站时钟,从站时钟和伺服时钟。主站时钟和从站时钟都服务于工业以太网协议,具体地,主站时钟服务于上位控制器,从站时钟服务于伺服驱动器的工业以太网协议处理模块,伺服时钟则服务于伺服驱动器的主控模块。在伺服驱动器主控模块中,存在两个中断程序,分别为伺服中断程序和同步中断程序。
如图3所示,伺服驱动器主控模块在接收到伺服驱动器的同步控制模块产生的同步信号SYNCEVT后,触发同步中断程序。在同步中断程序中,主控模块和工业以太网协议模块进行数据交互,此段时间记为Texchange。在同步信号SYNCEVT到达之后的时间Toffset后,伺服中断程序触发。由于时间Toffset是参考伺服时钟计算的,而伺服时钟和从站时钟没有同步,随着时间的推移,各轴的时间Toffset将发生不同的变化。因此各轴的伺服中断程序之间是没有同步的。
为了达到各轴伺服中断程序之间同步的目的,在同步信号SYNCEVT到达的同时,重置伺服时钟,使得伺服时钟在经过时间Tsync_off后产生伺服中断程序。时间Tsync_off为预先设定的常量,时间Tsync_off需满足以下条件:
Tcycle-Tjitter-Tservo>Tsync_off>Texchange+Tjitter
式中,Tcycle为伺服控制周期(即电流环周期),Tservo为伺服中断程序执行时间,Tjitter为SYNCEVT抖动时间(此时间由具体的工业以太网协议决定,一般数值较小)。如果采用图1所示的同步模式时,Texchange=T1+T2+T3,如果采用图2所示的同步模式时,Texchange=T2+T3。
满足Tsync_off>Texchange+Tjitter的条件,是为了保证在伺服中断程序到来时,来自上位控制器的命令数据已经有效,伺服驱动器主控模块可以立即使用并进行控制;满足Tcycle-Tjitter-Tservo>Tsync_off的条件,是为了保证在SYNCEVT信号到达时,伺服中断程序已经执行完毕,主控模块可以立即响应同步中断程序。
本发明的上述技术方案实现了主站时钟、各轴从站时钟以及各轴伺服时钟的同步,即各轴的同步中断程序和伺服中断程序之间都是同步的,使得伺服中断程序和同步中断程序互不干扰,从而保证了调整后(或称为同步后)的各轴伺服中断程序也是同步的。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。