CN107861414B - 实现伺服电机同步运动的方法及系统、主控制器、伺服驱动器 - Google Patents
实现伺服电机同步运动的方法及系统、主控制器、伺服驱动器 Download PDFInfo
- Publication number
- CN107861414B CN107861414B CN201710959756.2A CN201710959756A CN107861414B CN 107861414 B CN107861414 B CN 107861414B CN 201710959756 A CN201710959756 A CN 201710959756A CN 107861414 B CN107861414 B CN 107861414B
- Authority
- CN
- China
- Prior art keywords
- servo
- response time
- address
- servo driver
- driver
- 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.)
- Active
Links
Images
Classifications
-
- 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/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- 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/20—Pc systems
- G05B2219/26—Pc applications
- G05B2219/2609—Process control
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Moving Of The Head To Find And Align With The Track (AREA)
- Control Of Multiple Motors (AREA)
Abstract
本发明实施例公开了一种实现伺服电机同步运动的方法,包括:对所述多个伺服驱动器发送位置扫描指令;根据多个伺服驱动器反馈的主地址以及响应时间,生成辅地址以及根据每一伺服驱动器的脉冲位置差,并发送给相应的伺服驱动器;伺服驱动器向所述多个伺服驱动器同时发送具有辅地址以及指定启动位置信息的执行指令,使得所述多个伺服驱动器以其各自脉冲位置差对所述指定启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动,以实现所有伺服电机的同步运动。本发明实施例还公开了相应的系统、主控制器、伺服驱动器,能够有效的解决现有CANopen通信方式中伺服驱动器所驱动的伺服电机不同步问题。
Description
技术领域
本发明涉及机械技术领域,尤其涉及一种实现伺服电机同步运动的方法及系统、主控制器、伺服驱动器。
背景技术
很多机械运动场合需要两个或多个伺服驱动器实现同步运动。目前,对伺服驱动器实现同步运动的传统解决方法有以下两种:一、伺服驱动器处于外部位置控制模式,主控制器会发出脉冲信号(如位置指令)同时给到两个或多个伺服驱动器;二、主控制器发出脉冲信号首先给到伺服驱动器1,再由伺服驱动器1的编码器反馈信号给到伺服驱动器2、接着由伺服驱动器2再给到伺服驱动器3,依次类推直到传递至最远端的伺服驱动器为止。
但是,上述两种传统解决方法均存在不足之处,其不足之处在于:在第一种方法中,要求控制器的脉冲输出驱动能力足够大,还存在脉冲信号易受干扰的问题,而且伺服驱动器端子需要接线,增加了接线工作量;在第二种方法中,位置越靠后的伺服驱动器所控制的伺服电机运动越滞后,也存在脉冲信号易受干扰的问题,而且伺服驱动器端子也需要接线,增加了接线工作量。
为了克服上述两种传统解决方法存在的不足之处,采用CANopen通信方式控制伺服驱电机运动。但是,对于多轴同步运动来说,由于CANopen通信采用轮循机制,使得不同的伺服驱动器接收到主控制器所发出的位置指令时间是不一样的,因此时间延迟将导致伺服驱动器所控制的伺服电机启动一开始就不同步,特别是延迟时间太大或要求定位速度快,伺服电机的同步误差就更高。
发明内容
本发明实施例的所要解决的技术问题在于提供一种实现伺服电机同步运动的方法及系统、主控制器、伺服驱动器,能够有效的解决现有CANopen通信方式中伺服电机不同步问题。
为了解决上述技术问题,本发明实施例的一方面,提供了一种实现伺服电机同步运动的方法,用于包含主控制器以及由所述主控制器控制的伺服驱动器的系统中,其中,每一伺服驱动器驱动一个伺服电机,所述方法包括:
对多个伺服驱动器发送位置扫描指令,并接收所述多个伺服驱动器对所述位置扫描指令分别反馈的响应时间以及反馈对应的主地址;
根据所接收到的多个伺服驱动器分别反馈的主地址以及响应时间,将响应时间最短伺服驱动器的主地址作为辅地址,以及根据每一伺服驱动器响应时间与最短响应时间之间的差值,为每一伺服驱动器确定其对应的脉冲位置差,并将所述辅地址以及脉冲位置差发送给相应的伺服驱动器;
向所述多个伺服驱动器同时发送具有辅地址以及指定启动位置信息的执行指令,使得所述多个伺服驱动器以其各自脉冲位置差对所述指定启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动,以实现所有伺服电机的同步运动。
其中,根据每一伺服驱动器响应时间与最短响应时间之间的差值,为每一伺服驱动器生成其对应的脉冲位置差的步骤具体为:
通过公式(Ti-T1)*v计算来获得每一伺服驱动器与响应时间最短伺服驱动器之间的脉冲位置差;其中,T1为所述响应时间最短伺服驱动器的响应时间,Ti为每一伺服驱动器的响应时间,v为所述响应时间最短伺服驱动器的运行速度。
相应地,本发明的另一方面,还提供一种实现伺服电机同步运动的方法,用于包含主控制器以及由所述主控制器控制的伺服驱动器的系统中,其中,每一伺服驱动器驱动一个伺服电机,所述方法包括:
接收所述主控制器发送的位置扫描指令,并对所述位置扫描指令向所述主控制器反馈响应时间以及对应的主地址;
接收所述主控制器所发送的写辅地址指令以及写脉冲位置差指令,并将所述写辅地址指令中的辅地址写入辅地址寄存器中,以及将写脉冲位置差指令中的脉冲位置差写入位置差寄存器中,其中,所述辅地址与响应时间最短伺服驱动器的主地址相同,所述脉冲位置差根据其响应时间与最短响应时间所获得;
每一伺服驱动器接收来自主控制器的包含辅地址以及指定启动位置信息的伺服启动命令,以其各自脉冲位置差对所述指定启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动,以实现所有伺服电机的同步运动。
其中,每一伺服驱动器接收来自主控制器的包含辅地址以及启动位置信息的伺服启动命令,以其各自脉冲位置差对所述启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动的步骤具体包括:
每一伺服驱动器接收来自主控制器的伺服启动命令,所述伺服启动命令中包含有地址以及指定启动位置信息;
当所述伺服启动命令中的地址与本身的辅地址相同时,获得所述伺服启动命令中的指定启动位置信息;
将所述指定启动位置与其脉冲位置差进行相加,获得实际启动位置信息;
控制所述伺服驱动器所连接的伺服驱动器从所述实际启动位置进行启动。
其中,所述每一伺服驱动器对应的所述脉冲位置差通过公式(Ti-T1)*v计算来获得;其中,T1为所述响应时间最短伺服驱动器的响应时间,Ti为每一伺服驱动器的响应时间,v为所述响应时间最短伺服驱动器的运行速度。
其中,所述方法进一步包括:
当所述伺服启动命令中的地址与本身的主地址相同时,获得所述伺服启动命令中的指定启动位置信息,控制所述伺服驱动器所连接的伺服驱动器从所述指定启动位置进行启动。
相应地,本发明实施例的另一方面,还提供了一种主控制器,所述主控制器包括:
第一发送单元,用于对多个伺服驱动器发送位置扫描指令;
接收单元,用于接收所述多个伺服驱动器对所述位置扫描指令分别反馈的响应时间以及反馈对应的主地址;
确定单元,用于根据所接收到的多个伺服驱动器分别反馈的响应时间、主地址,确定其中响应时间最短的伺服驱动器的主地址作为所有伺服驱动器的辅地址,并确定出每一伺服驱动器与所述响应时间最短伺服驱动器之间分别形成的脉冲位置差;
第二发送单元,用于向所述多个伺服驱动器分别发送写辅地址指令及写脉冲位置差指令,控制每一伺服驱动器写入所述辅地址以及每一伺服驱动器所对应的脉冲位置差;
第三发送单元,用于待所述多个伺服驱动器的辅地址及脉冲位置差写入完成后,向所述多个伺服驱动器同时发送包含辅地址以及指定启动位置的伺服启动指令,使得所述多个伺服驱动器以其各自脉冲位置差对所述指定启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动,,以实现所有伺服电机的同步运动。
其中,所述写脉冲位置差指令中每一伺服驱动器对应的脉冲位置差通过公式(Ti-T1)*v计算来获得;其中,T1为所述响应时间最短伺服驱动器的响应时间,Ti为每一伺服驱动器的响应时间,v为所述响应时间最短伺服驱动器的运行速度。
相应地,本发明实施例的另一方面,还提供了一种伺服驱动器,包括:
反馈单元,用于接收主控制器发送的位置扫描指令,并对所述位置扫描指令向所述主控制器反馈响应时间以及对应的主地址;
调整单元,用于接收所述主控制器所发送的写辅地址指令和写脉冲位置差指令,并将所接收到的写辅地址指令中的辅地址写入辅地址寄存器中;将所述写脉冲位置差指令中的脉冲位置差写入位置差寄存器中;其中,所述辅地址与响应时间最短伺服驱动器的主地址相同,所述脉冲位置差根据其响应时间与最短响应时间所获得;
同步单元,用于接收来自主控制器的包含辅地址以及指定启动位置信息的伺服启动命令,以其各自脉冲位置差对所述指定启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动,以实现所有伺服电机的同步运动。
其中,所述同步单元进一步包括:
计算模块,用于将所述指定启动位置与其脉冲位置差进行相加,获得实际启动位置信息;
启动模块,用于控制所述伺服驱动器所连接的伺服驱动器从所述实际启动位置进行启动。
相应地,本发明提供了一种实现伺服电机同步运动的系统,包含有前述的主控制器以及由所述主控制器控制的前述的伺服驱动器,其中,每一伺服驱动器驱动一个伺服电机。
实施本发明实施例,具有如下有益效果:
本发明实施例以响应时间最短伺服驱动器的主地址作为所有伺服控制器的辅地址,每一伺服驱动器收到含有辅地址的伺服启动命令后,根据预先获得的脉冲位置差对伺服启动命令中的启动位置进行调整,控制其所控制的伺服电机在调整后的启动位置上进行启动。从而可以使所有伺服控制器所控制的伺服电机实现同步。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其它的附图仍属于本发明的范畴。
图1为本发明提供的实现伺服电机同步运动的方法的一个实施例中的流程图;
图2为本发明提供的实现伺服电机同步运动的方法的另一个实施例中的流程图;
图3为本发明提供的实现伺服电机同步运动的方法的又一个实施例中的流程图;
图4为本发明提供的主控制器的一个实施例中的结构示意图;
图5为本发明提供的伺服驱动器的一个实施例中的结构示意图;
图6为本发明提供的实现伺服电机同步运动的系统的一个实施例中的结构示意图;
图7为本发明提供的实现伺服电机同步运动的方法的一个实施例中的应用示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明提供的一种实现伺服电机同步运动的方法的实施例,在该实施例中,所述方法包含主控制器以及由所述主控制器控制的伺服驱动器的系统中,其中,每一伺服驱动器驱动一个伺服电机,该方法示出了主控制器侧的处理流程,具体包括:
步骤S101、对多个伺服驱动器发送位置扫描指令;
步骤S102、接收所述多个伺服驱动器对所述位置扫描指令分别反馈的响应时间以及反馈对应的主地址;
步骤S103、根据所接收到的多个伺服驱动器分别反馈的主地址以及响应时间,将响应时间最短伺服驱动器的主地址作为辅地址,以及根据每一伺服驱动器响应时间与最短响应时间之间的差值,为每一伺服驱动器确定其对应的脉冲位置差,并将所述辅地址以及脉冲位置差发送给相应的伺服驱动器;
步骤S104、向所述多个伺服驱动器同时发送具有辅地址以及指定启动位置信息的执行指令,使得所述多个伺服驱动器以其各自脉冲位置差对所述指定启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动,以实现所有伺服电机的同步运动。
应当说明的是,为了使得多个伺服驱动器实现同步运动,所有伺服驱动器的运行速度都应与响应时间最短伺服驱动器的运行速度相同,且响应时间最短伺服驱动器的运行速度为匀速最佳。
应当说明的是,伺服驱动器的主地址和辅地址存储格式相同,使得辅地址调整时能够写入,且伺服驱动器的辅地址可以有预存值,例如可以为NULL或其它数值。
其中,步骤S 103中,根据每一伺服驱动器响应时间与最短响应时间之间的差值,为每一伺服驱动器生成其对应的脉冲位置差的步骤具体为:
通过公式(Ti-T1)*v计算来获得每一伺服驱动器与响应时间最短伺服驱动器之间的脉冲位置差;其中,T1为所述响应时间最短伺服驱动器的响应时间,Ti为每一伺服驱动器的响应时间,v为所述响应时间最短伺服驱动器的运行速度。
其中,所述多个伺服驱动器的主地址均预存于其对应的主寄存器中,辅地址和启动位置分别预存于其对应的两个辅寄存器中,例如一个为辅地址寄存器,另一个为位置差寄存器。
可以理解的是,如果主控制器向所述多个伺服驱动器同时发送具有主地址的执行指令,使得只与所述具有主地址的执行指令中相同主地址的伺服驱动器才能以其对应的启动位置启动运行。
如图2所示,本发明提供的另一种实现伺服电机同步运动的方法的实施例,在该实施例中,所述方法用于包含主控制器以及由所述主控制器控制的伺服驱动器的系统中,其中,每一伺服驱动器驱动一个伺服电机,该方法示出了伺服驱动器侧的处理流程,具体包括:
步骤S201、接收所述主控制器发送的位置扫描指令,并对所述位置扫描指令向所述主控制器反馈响应时间以及对应的主地址;
步骤S202、接收所述主控制器所发送的写辅地址指令以及写脉冲位置差指令,并将所述写辅地址指令中的辅地址写入辅地址寄存器中,以及将写脉冲位置差指令中的脉冲位置差写入位置差寄存器中,其中,所述辅地址与响应时间最短伺服驱动器的主地址相同,所述脉冲位置差根据其响应时间与最短响应时间所获得;
步骤S203、每一伺服驱动器接收来自主控制器的包含辅地址以及指定启动位置信息的伺服启动命令,以其各自脉冲位置差对所述指定启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动,以实现所有伺服电机的同步运动。
其中,步骤S 203可以进一步包括如下的步骤:
每一伺服驱动器接收来自主控制器的伺服启动命令,所述伺服启动命令中包含有地址以及指定启动位置信息;
当所述伺服启动命令中的地址与本身的辅地址相同时,获得所述伺服启动命令中的指定启动位置信息;
将所述指定启动位置与其脉冲位置差进行相加,获得实际启动位置信息;
控制所述伺服驱动器所连接的伺服驱动器从所述实际启动位置进行启动。
应当说明的是,为了使得多个伺服驱动器实现同步运动,所有伺服驱动器的运行速度都应与响应时间最短伺服驱动器的运行速度相同,且响应时间最短伺服驱动器的运行速度为匀速最佳。
应当说明的是,伺服驱动器的主地址和辅地址存储格式相同,使得辅地址调整时能够写入,且伺服驱动器的辅地址可以有预存值,例如可以为NULL或其它数值。
其中,所述每一伺服驱动器对应的所述脉冲位置差通过公式(Ti-T1)*v计算来获得;其中,T1为所述响应时间最短伺服驱动器的响应时间,Ti为每一伺服驱动器的响应时间,v为所述响应时间最短伺服驱动器的运行速度。
其中,所述多个伺服驱动器的主地址均预存于其对应的主寄存器中,辅地址和启动位置分别预存于其对应的两个辅寄存器(即辅地址寄存器和位置差寄存器)中。
可以理解的是,任一伺服驱动器只要接收所述主控制器发送的具有主地址的执行指令,并待检测到与所述具有主地址的执行指令中主地址相同时,以其对应的启动位置启动运行。
如图3所示,本发明提供的又一种实现伺服电机同步运动的方法的实施例,在该实施例中,所述方法用于包含主控制器以及由所述主控制器控制的伺服驱动器的系统中,其中,每一伺服驱动器驱动一个伺服电机,,该方法同时示出了主控制器和伺服驱动器侧的处理流程,具体包括:
步骤S301、所述主控制器对所述多个伺服驱动器发送位置扫描指令;
步骤S302、所述多个伺服驱动器均接收所述主控制器发送的位置扫描指令,并对所述位置扫描指令向所述主控制器反馈响应时间以及对应的主地址;
步骤S303、所述主控制器接收所述多个伺服驱动器对所述位置扫描指令分别反馈的响应时间以及反馈对应的主地址;
步骤S304、根据所接收到的多个伺服驱动器分别反馈的主地址以及响应时间,将响应时间最短伺服驱动器的主地址作为辅地址,以及根据每一伺服驱动器响应时间与最短响应时间之间的差值,为每一伺服驱动器确定其对应的脉冲位置差,并将所述辅地址以及脉冲位置差发送给相应的伺服驱动器,具体地向伺服驱动器发送写辅地址指令和写脉冲位置差指令;
步骤S305、所述多个伺服驱动器均接收所述主控制器所发送的写辅地址指令以及写脉冲位置差指令,并将所述写辅地址指令中的辅地址写入辅地址寄存器中,以及将写脉冲位置差指令中的脉冲位置差写入位置差寄存器中,其中,所述辅地址与响应时间最短伺服驱动器的主地址相同,所述脉冲位置差根据其响应时间与最短响应时间所获得;
步骤S306、所述主控制器待所述多个伺服驱动器的辅地址及脉冲位置差均调整完成后,向所述多个伺服驱动器向所述多个伺服驱动器同时发送具有辅地址以及指定启动位置信息的执行指令;
步骤S307、所述每一伺服驱动器接收来自主控制器的包含辅地址以及指定启动位置信息的伺服启动命令,以其各自脉冲位置差对所述指定启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动,以实现所有伺服电机的同步运动。
应当说明的是,为了使得多个伺服驱动器实现同步运动,所有伺服驱动器的运行速度都应与响应时间最短伺服驱动器的运行速度相同,且响应时间最短伺服驱动器的运行速度为匀速最佳。
可以理解的是,更多的细节,可以参考前述对图1以及图2的说明,在此不进行赘述。
如图4所示,本发明提供了一种主控制器的实施例,在该实施例中,所述主控制器包括:
第一发送单元410,用于对多个伺服驱动器发送位置扫描指令;
接收单元420,用于接收所述多个伺服驱动器对所述位置扫描指令分别反馈的响应时间以及反馈对应的主地址;
确定单元420,用于根据所接收到的多个伺服驱动器分别反馈的响应时间、主地址,确定其中响应时间最短的伺服驱动器的主地址作为所有伺服驱动器的辅地址,并确定出每一伺服驱动器与所述响应时间最短伺服驱动器之间分别形成的脉冲位置差;
第二发送单元430,用于向所述多个伺服驱动器分别发送写辅地址指令及写脉冲位置差指令,控制每一伺服驱动器写入所述辅地址以及每一伺服驱动器所对应的脉冲位置差;
第三发送单元440,用于待所述多个伺服驱动器的辅地址及脉冲位置差写入完成后,向所述多个伺服驱动器同时发送包含辅地址以及指定启动位置的伺服启动指令,使得所述多个伺服驱动器以其各自脉冲位置差对所述指定启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动,,以实现所有伺服电机的同步运动。
在确定单元430中,所述写脉冲位置差指令中每一伺服驱动器对应的脉冲位置差通过公式(Ti-T1)*v计算来获得;其中,T1为所述响应时间最短伺服驱动器的响应时间,Ti为每一伺服驱动器的响应时间,v为所述响应时间最短伺服驱动器的运行速度。
如图5所示,本发明提供了一种伺服驱动器的实施例,在该实施例中,所述伺服驱动器包括:
反馈单元510,用于接收主控制器发送的位置扫描指令,并对所述位置扫描指令向所述主控制器反馈响应时间以及对应的主地址;
调整单元520,用于接收所述主控制器所发送的写辅地址指令和写脉冲位置差指令,并将所接收到的写辅地址指令中的辅地址写入辅地址寄存器中;将所述写脉冲位置差指令中的脉冲位置差写入位置差寄存器中;
同步单元530,用于接收来自主控制器的包含辅地址以及指定启动位置信息的伺服启动命令,以其各自脉冲位置差对所述指定启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动,以实现所有伺服电机的同步运动。
具体地,所述同步单元530可进一步包括:
计算模块,用于将所述指定启动位置与其脉冲位置差进行相加,获得实际启动位置信息;
启动模块,用于控制所述伺服驱动器所连接的伺服驱动器从所述实际启动位置进行启动。
如图6所示,本发明提供了一种实现伺服电机同步运动的系统的实施例,在该实施例中,系统包括前述图5中的主控制器和前述图6中的伺服驱动器,具体细节可参照前述对图5和图6的描述。
图7示出了本发明提供的实现伺服电机同步运动的方法的实施例进一步应用场景:
第一步、主控制器M确定接收伺服驱动器A至C反馈的响应时间以及分别对应的主地址,并确定伺服驱动器A为响应时间最短的伺服驱动器,并将伺服驱动器A的主地址a作为所有伺服驱动器的辅地址;
第二步、计算伺服驱动器B和C分别与伺服驱动器A的响应时间差,并根据伺服驱动器A的运行速度,计算出伺服驱动器B和C分别与伺服驱动器A的脉冲位置差;其中,伺服驱动器B与伺服驱动器A的脉冲位置差△L1=(T2-T1)*v;伺服驱动器C与伺服驱动器A的脉冲位置差△L2=(T3-T1)*v;
第三步、通过写辅地址指令,调整伺服驱动器A至C的辅地址,使得伺服驱动器A的辅地址=伺服驱动器B的辅地址=伺服驱动器C的辅地址=伺服驱动器A的主地址a,同时将每一伺服驱动器对应的脉冲位置差发送给各伺服驱动器。
第四步、主控制器M向伺服驱动器A至C同时发送包含辅地址以及启动位置(如m位置)的伺服启动指令,各伺服驱动器接收到该伺服启动指令后,对通过对其中的启动位置采用脉冲位置差进行调整;其中假设伺服驱动A在时间T1时接收到该伺服启动命令,则其驱动伺服电机从m位置开始运动;在时间T2时,,,此时伺服驱动器B接收到该伺服启动命令,则其控制其伺服电机开始从m+△L1位置上启动,而此时,伺服驱动器A所控制的伺服电机也运行到了m+△L1位置,从而在时间T2上伺服驱动器A和B所控制的伺服电机实现了同步运动;同样,在时间T3上,伺服控制器C接收到伺服启动指令,然后控制其伺服电机从m+△L2位置开始启动;此时伺服驱动器A和伺服驱动器B所控制的伺服电机也运动至m+△L2位置,从而实现在时间T3上,伺服驱动器A至C所控制的伺服电机实现同步运动。
实施本发明实施例,具有如下有益效果:
本发明实施例以响应时间最短伺服驱动器的主地址作为所有伺服控制器的辅地址,每一伺服驱动器收到含有辅地址的伺服启动命令后,根据预先获得的脉冲位置差对伺服启动命令中的启动位置进行调整,控制其所控制的伺服电机在调整后的启动位置上进行启动。从而可以使所有伺服控制器所控制的伺服电机实现同步。
值得注意的是,上述产品实施例中,所包括的各个系统单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种实现伺服电机同步运动的方法,用于包含主控制器以及由所述主控制器控制的伺服驱动器的系统中,其中,每一伺服驱动器驱动一个伺服电机,其特征在于,所述方法包括:
对多个伺服驱动器发送位置扫描指令,并接收所述多个伺服驱动器对所述位置扫描指令分别反馈的响应时间以及反馈对应的主地址;
根据所接收到的多个伺服驱动器分别反馈的主地址以及响应时间,将响应时间最短伺服驱动器的主地址作为辅地址,以及根据每一伺服驱动器响应时间与最短响应时间之间的差值,为每一伺服驱动器确定其对应的脉冲位置差,并将所述辅地址以及脉冲位置差发送给相应的伺服驱动器;
向所述多个伺服驱动器同时发送具有辅地址以及指定启动位置信息的执行指令,使得所述多个伺服驱动器以其各自脉冲位置差对所述指定启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动,以实现所有伺服电机的同步运动。
2.如权利要求1所述的方法,其特征在于,根据每一伺服驱动器响应时间与最短响应时间之间的差值,为每一伺服驱动器生成其对应的脉冲位置差的步骤具体为:
通过公式(Ti-T1)*v计算来获得每一伺服驱动器与响应时间最短伺服驱动器之间的脉冲位置差;其中,T1为所述响应时间最短伺服驱动器的响应时间,Ti为每一伺服驱动器的响应时间,v为所述响应时间最短伺服驱动器的运行速度。
3.一种实现伺服电机同步运动的方法,用于包含主控制器以及由所述主控制器控制的伺服驱动器的系统中,其中,每一伺服驱动器驱动一个伺服电机,其特征在于,所述方法包括:
接收所述主控制器发送的位置扫描指令,并对所述位置扫描指令向所述主控制器反馈响应时间以及对应的主地址;
接收所述主控制器所发送的写辅地址指令以及写脉冲位置差指令,并将所述写辅地址指令中的辅地址写入辅地址寄存器中,以及将写脉冲位置差指令中的脉冲位置差写入位置差寄存器中,其中,所述辅地址与响应时间最短伺服驱动器的主地址相同,所述脉冲位置差根据其响应时间与最短响应时间所获得;
每一伺服驱动器接收来自主控制器的包含辅地址以及指定启动位置信息的伺服启动命令,以其各自脉冲位置差对所述指定启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动,以实现所有伺服电机的同步运动。
4.如权利要求3所述的方法,其特征在于,每一伺服驱动器接收来自主控制器的包含辅地址以及启动位置信息的伺服启动命令,以其各自脉冲位置差对所述启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动的步骤具体包括:
每一伺服驱动器接收来自主控制器的伺服启动命令,所述伺服启动命令中包含有地址以及指定启动位置信息;
当所述伺服启动命令中的地址与本身的辅地址相同时,获得所述伺服启动命令中的指定启动位置信息;
将所述指定启动位置与其脉冲位置差进行相加,获得实际启动位置信息;
控制所述伺服驱动器所连接的伺服驱动器从所述实际启动位置进行启动。
5.如权利要求4所述的方法,其特征在于,所述每一伺服驱动器对应的所述脉冲位置差通过公式(Ti-T1)*v计算来获得;其中,T1为所述响应时间最短伺服驱动器的响应时间,Ti为每一伺服驱动器的响应时间,v为所述响应时间最短伺服驱动器的运行速度。
6.如权利要求5所述的方法,其特征在于,所述方法进一步包括:
当所述伺服启动命令中的地址与本身的主地址相同时,获得所述伺服启动命令中的指定启动位置信息,控制所述伺服驱动器所连接的伺服驱动器从所述指定启动位置进行启动。
7.一种主控制器,其特征在于,所述主控制器包括:
第一发送单元,用于对多个伺服驱动器发送位置扫描指令;
接收单元,用于接收所述多个伺服驱动器对所述位置扫描指令分别反馈的响应时间以及反馈对应的主地址;
确定单元,用于根据所接收到的多个伺服驱动器分别反馈的响应时间、主地址,确定其中响应时间最短的伺服驱动器的主地址作为所有伺服驱动器的辅地址,并确定出每一伺服驱动器与所述响应时间最短伺服驱动器之间分别形成的脉冲位置差;
第二发送单元,用于向所述多个伺服驱动器分别发送写辅地址指令及写脉冲位置差指令,控制每一伺服驱动器写入所述辅地址以及每一伺服驱动器所对应的脉冲位置差;
第三发送单元,用于待所述多个伺服驱动器的辅地址及脉冲位置差写入完成后,向所述多个伺服驱动器同时发送包含辅地址以及指定启动位置的伺服启动指令,使得所述多个伺服驱动器以其各自脉冲位置差对所述指定启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动,以实现所有伺服电机的同步运动。
8.如权利要求7所述的主控制器,其特征在于,所述写脉冲位置差指令中每一伺服驱动器对应的脉冲位置差通过公式(Ti-T1)*v计算来获得;其中,T1为所述响应时间最短伺服驱动器的响应时间,Ti为每一伺服驱动器的响应时间,v为所述响应时间最短伺服驱动器的运行速度。
9.一种伺服驱动器,其特征在于,包括:
反馈单元,用于接收主控制器发送的位置扫描指令,并对所述位置扫描指令向所述主控制器反馈响应时间以及对应的主地址;
调整单元,用于接收所述主控制器所发送的写辅地址指令和写脉冲位置差指令,并将所接收到的写辅地址指令中的辅地址写入辅地址寄存器中;将所述写脉冲位置差指令中的脉冲位置差写入位置差寄存器中;其中,所述辅地址与响应时间最短伺服驱动器的主地址相同,所述脉冲位置差根据其响应时间与最短响应时间所获得;
同步单元,用于接收来自主控制器的包含辅地址以及指定启动位置信息的伺服启动命令,以其各自脉冲位置差对所述指定启动位置进行调整,并控制其伺服电机在调整后的启动位置上进行启动,以实现所有伺服电机的同步运动。
10.如权利要求9所述的伺服驱动器,其特征在于,所述同步单元进一步包括:
计算模块,用于将所述指定启动位置与其脉冲位置差进行相加,获得实际启动位置信息;
启动模块,用于控制所述伺服驱动器所连接的伺服驱动器从所述实际启动位置进行启动。
11.一种实现伺服电机同步运动的系统,包含有主控制器以及由所述主控制器控制的伺服驱动器,其中,每一伺服驱动器驱动一个伺服电机;其特征在于,所述主控制器为权利要求7或8所述的主控制器,所述伺服驱动器为权利要求9或10所述的伺服驱动器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710959756.2A CN107861414B (zh) | 2017-10-16 | 2017-10-16 | 实现伺服电机同步运动的方法及系统、主控制器、伺服驱动器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710959756.2A CN107861414B (zh) | 2017-10-16 | 2017-10-16 | 实现伺服电机同步运动的方法及系统、主控制器、伺服驱动器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107861414A CN107861414A (zh) | 2018-03-30 |
CN107861414B true CN107861414B (zh) | 2021-07-13 |
Family
ID=61698863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710959756.2A Active CN107861414B (zh) | 2017-10-16 | 2017-10-16 | 实现伺服电机同步运动的方法及系统、主控制器、伺服驱动器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107861414B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108809178A (zh) * | 2018-06-28 | 2018-11-13 | 重庆科技学院 | 一种智能流体传动伺服反馈控制系统及方法 |
CN115570568B (zh) * | 2022-10-11 | 2024-01-30 | 江苏高倍智能装备有限公司 | 一种多机械手协同控制方法及系统 |
CN116501020B (zh) * | 2023-05-10 | 2023-11-03 | 上海铼钠克数控科技有限公司 | 伺服匹配性检测方法、装置、设备及可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100434149B1 (ko) * | 2002-03-14 | 2004-06-04 | 엘지산전 주식회사 | 위치 결정 모듈의 동시 기동 장치 |
EP2138917A1 (de) * | 2008-06-26 | 2009-12-30 | Siemens Aktiengesellschaft | Verfahren zur Synchronisation einer Mehrzahl von Antrieben sowie nach dem Verfahren betreibbarer Antrieb |
CN103490678B (zh) * | 2013-10-17 | 2016-06-22 | 双峰格雷斯海姆医药玻璃(丹阳)有限公司 | 主从机同步控制方法及系统 |
CN104300843A (zh) * | 2014-11-06 | 2015-01-21 | 北京合康亿盛变频科技股份有限公司 | 多电机同步控制系统 |
CN105490592B (zh) * | 2016-01-07 | 2019-02-15 | 瑞声光电科技(常州)有限公司 | 线性电机相位同步控制系统及其控制方法 |
CN106411184B (zh) * | 2016-11-04 | 2017-09-29 | 华中科技大学 | 一种网络化的多轴电机同步控制装置及方法 |
-
2017
- 2017-10-16 CN CN201710959756.2A patent/CN107861414B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107861414A (zh) | 2018-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861414B (zh) | 实现伺服电机同步运动的方法及系统、主控制器、伺服驱动器 | |
EP1321838B1 (en) | Motor controlling serial communication device | |
KR101494117B1 (ko) | 전동기 제어 시스템 및 통신 방법 | |
US20160124412A1 (en) | Control system, control method and extension board | |
KR102088182B1 (ko) | 통신 제어 시스템 및 통신 제어 방법 | |
CN108183635B (zh) | 一种主从结构的电机同步控制方法 | |
JP2008242728A (ja) | モータ制御システム | |
CN113098311A (zh) | 分散马达控制系统、马达控制装置以及分散马达控制方法 | |
JP5687302B2 (ja) | 負荷駆動制御装置及び負荷駆動制御方法 | |
CN102948070A (zh) | 电动机驱动器控制装置 | |
US20230131842A1 (en) | Multi-axis servo control system | |
CN103552072A (zh) | 一种基于嵌入式控制器的机器人控制方法和装置 | |
JP5609075B2 (ja) | サーボモータ制御ネットワークとその通信方法 | |
JP2008090825A (ja) | 位置検出器をマルチドロップ接続した多軸制御システム | |
JP2007025759A (ja) | 電動機駆動装置および位置指令装置ならびに位置決め装置 | |
US9905264B2 (en) | Servo control system having function of switching learning memory | |
JP6629817B2 (ja) | 制御システム、および、モータ制御方法 | |
CN111381612A (zh) | 一种基于can总线的多轴同步控制系统及方法 | |
US20150177725A1 (en) | Numerical control system | |
CN105227041A (zh) | 电机驱动器的控制方法及电机驱动系统 | |
TWI834071B (zh) | 多軸伺服控制系統 | |
Chunhao et al. | Research of motion control system based on PCI-1243 | |
JP2006247745A (ja) | レーザ加工システム | |
JP6361017B2 (ja) | モータ駆動装置の指令生成方法 | |
WO2023138536A1 (zh) | 电机控制系统、电机控制方法和电机驱动和转发装置 |
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 |