CN107229240B - 一种基于EtherCAT的多轴同步控制装置和方法 - Google Patents
一种基于EtherCAT的多轴同步控制装置和方法 Download PDFInfo
- Publication number
- CN107229240B CN107229240B CN201710441244.7A CN201710441244A CN107229240B CN 107229240 B CN107229240 B CN 107229240B CN 201710441244 A CN201710441244 A CN 201710441244A CN 107229240 B CN107229240 B CN 107229240B
- Authority
- CN
- China
- Prior art keywords
- servo driver
- clock
- station
- slave station
- alternating current
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
本发明公开了一种基于EtherCAT的多轴同步控制装置,包括机械本体部分,交流伺服驱动部分和控制部分,所述机械本体部分包括支撑台架和若干交流伺服电机;所述交流伺服驱动部分包括若干与交流伺服电机一一对应连接的交流伺服驱动器从站;所述控制部分包括:PC主站,通过EtherCAT网络与各交流伺服驱动器从站电路连接,用于初始化EtherCAT网络、实现PC主站与交流伺服驱动器从站的主从站时钟同步、各交流伺服驱动器从站之间时钟同步、发送位置信号到各交流伺服驱动器从站。本发明还公开了一种基于EtherCAT的多轴同步控制方法。本发明装置能实现基于工业以太网EtherCAT协议的多轴同步控制和信号采集。
Description
技术领域
本发明涉及工业以太网及运动控制领域,特别涉及一种基于EtherCAT的多轴同步控制装置和方法。
背景技术
传统的现场总线曾被广泛应用到控制领域中,然而这种特定协议设计的模式带来了控制系统的兼容性和速度问题。目前,现场总线的速率较低,最快的profibus总线速率只能达到12Mb/s。此外,现场总线技术没有一个统一的国际标准,虽然协议开放,但不同协议的控制系统由于帧格式以及周期时间的差异不易兼容,不利于控制系统的开放性、分散性和可操作性。因此,具有高速率、高可靠性并且制定了通用国际标准的以太网被引入到工业自动化控制领域。工业以太网已经成为当前自动化控制研究的热点对象,并将逐渐取代传统的现场总线技术。
EtherCAT是一种流行的实时工业以太网协议,其具有高速和传输数据量大、效率高等特点,是目前传输速度最快的工业以太网协议,可以达到小于100us的数据刷新周期,可以用于伺服技术中底层的闭环控制。单个以太网帧最多可容纳1486个字节,整个网络最多可以连接65535个设备。EtherCAT协议的时钟同步技术基于IEEE1588精确时钟协议,其从站时钟同步性能可以达到ns级,以工业PC作为主站的主从站同步可以达到us级。EtherCAT网络从站节点使用专用的控制芯片,主站使用标准的以太网控制器。
EtherCAT技术使得开发基于PC的多轴同步控制成为可能,可以应用于多机器人协同工作等领域。但目前国内的EtherCAT设备主要依赖进口,价格昂贵,且开放性低。
发明内容
本发明的目的在于克服现有技术的不足,研制一套基于工业以太网EtherCAT的多轴同步控制装置及方法。采用此装置可以进行多轴同步算法的研究,如机器人运动控制算法的研究。
为达到上述目的,本发明采用如下的技术方案:
一种基于EtherCAT的多轴同步控制装置,包括机械本体部分,交流伺服驱动部分和控制部分:
所述机械本体部分包括:
支撑台架和若干安装在所述支撑台架上的交流伺服电机;
所述交流伺服驱动部分包括:
若干与交流伺服电机一一对应连接的交流伺服驱动器从站,所述交流伺服驱动器从站工作在同步位置模式下,用于按照获得的脉冲信号输出位置,并分别输出对应交流伺服驱动器的光电编码器值、角速度值、力矩值;
所述控制部分包括:
PC主站,通过网线与交流伺服驱动器从站连接,用于初始化EtherCAT网络、实现PC主站与交流伺服驱动器从站的主从站时钟同步、各交流伺服驱动器从站之间时钟同步、发送位置信号到各交流伺服驱动器从站、接收各交流伺服驱动器从站输出的各交流伺服电机的光电编码器值、角速度值、力矩值。
进一步地,所述支撑台架采用框架结构,该框架结构包括四条竖向支架、一上一下地水平设置在所述竖向支架上顶部平台和中部平台。
进一步地,所述支撑台架底部设置有四个使所述支撑台架移动的万向轮。
进一步地,所述交流伺服电机采用螺栓与所述支撑台架固定连接,所述交流伺服驱动器采用螺栓与所述支撑台架固定连接,交流伺服电机固定安装在所述支撑台架的顶部平面上,所述交流伺服驱动器从站固定安装在所述支撑台架的中部平面。
进一步地,所述交流伺服驱动器从站具有EtherCAT通信功能以及支持分布式时钟,每个交流伺服驱动器从站分别具有两个以太网端口:为端口0和端口1,所述端口0为数据输入端口,所述端口1为数据输出端口;每个交流伺服驱动器从站都为一个EtherCAT网络从站,所述PC主站仅与第一个交流伺服驱动器从站通过网线连接,其余交流伺服驱动器从站之间通过网线串联连接,所述交流伺服驱动器从站直接处理由端口0接收的数据帧,并从数据帧中提取或插入相关的数据,然后将该数据帧传输到下一个交流伺服驱动器从站,最后一个交流伺服驱动器从站发回经过完全处理的数据帧,并由所连接的第一个交流伺服驱动器从站作为响应数据帧将其发送给PC主站,每个数据帧都可包含多个子数据帧,可对交流伺服驱动器从站的多个寄存器同时进行操作。
进一步地,所述的PC主站包括:
交流伺服电机转动位置控制模块,用于输出位置控制信号,控制各交流伺服电机转至相应的位置;
绝对式编码器信号读取模块,用于通过标准以太网线,对交流伺服驱动器从站处理过的各交流伺服电机的绝对式编码器信号进行读取;
角速度信号读取模块,用于通过标准以太网线,对交流伺服驱动器从站处理过的各交流伺服电机的角速度信号进行读取;
力矩信号读取模块,用于通过标准以太网线,对交流伺服驱动器从站处理过的各交流伺服电机的力矩信号进行读取;
以太网网络数据帧输出模块,用于初始化EtherCAT网络,进行交流伺服驱动器从站之间的从站时钟同步、PC主站与各交流伺服驱动器从站之间的主从站时钟同步。
进一步地,所述PC主站为安装有intime实时操作系统和Windows系统的工业PC机,所述intime实时操作系统与Windows系统之间通过共享内存与邮箱进行通信与数据传输,通过以太网接口与网线连接各交流伺服驱动器从站,控制整个EtherCAT网络,最小采样周期为50微秒。
一种基于所述装置的多轴同步控制方法,包括以下步骤:
S1:PC主站配置各交流伺服驱动器的从站站点地址寄存器,配置邮箱通道参数,配置分布式时钟相关寄存器,实现各个交流伺服驱动器从站之间的时钟同步,并在接下去发送的每个数据帧中插入对各交流伺服驱动器进行时钟漂移补偿的子数据帧;PC主站对各交流伺服驱动器从站的状态控制寄存器进行写操作,使各交流伺服驱动器从站的当前状态转换为预运行状态,所述PC主站每1-3ms发送一个数据帧。
S2:所述PC主站使用邮箱初始化过程数据映射,所述初始化过程依次包括:PC主站使用服务数据对象(SDO)对各交流伺服驱动器从站的CANopen对象字典进行读写、PC主站配置交流伺服驱动器的过程数据通信所使用的同步管理器(SM)通道、PC主站配置现场总线内存管理单元(FMMU);PC主站对各交流伺服驱动器从站的状态控制寄存器进行写操作,使各交流伺服驱动器从站的当前状态转换为安全运行状态;
S3:所述PC主站发送有效的输出数据帧,对各交流伺服驱动器的状态控制寄存器进行写操作,使个交流伺服驱动器从站的当前状态转换为运行状态;所述PC主站与各交流伺服驱动器从站进行主从站时钟同步。
进一步地,步骤S1中,所述配置分布式时钟相关寄存器,实现各个从站的时钟同步,并在接下去的每个数据帧中插入对各交流伺服驱动器从站进行时钟漂移补偿的子数据帧的步骤具体包括:
S11:以与PC主站连接的第一个交流伺服驱动器从站作为EtherCAT网络参考时钟,所述PC主站以及其他的交流伺服驱动器从站的本地时钟都与这个参考时钟进行同步;所述PC主站发送顺序读命令读取参考时钟的本地系统时钟寄存器0x910~0x917,计算使得高32位为0xffffffff所需的高32位时钟偏移,低32位时钟偏移为0;PC主站发送顺序写命令,写参考时钟的时间偏移寄存器0x920~0x927,使得高32位时钟为0xffffffff,低32位时钟保持不变;
S12:PC主站发送一个广播写命令数据帧,写所有交流伺服驱动器从站的端口0的接收时间寄存器0x0900,当数据帧由第一个交流伺服驱动器从站向最后一个交流伺服驱动器从站传输时,每个交流伺服驱动器从站的端口0锁存数据帧第一个前导位到达端口0时的本地系统时间,当数据帧由最后一个交流伺服驱动器从站向第一个交流伺服驱动器从站传输时,每个交流伺服驱动器从站端口1锁存数据帧第一个前导位到达端口1时的本地系统时间,具体对应关系为:设置为参考时钟的交流伺服驱动器从站的寄存器0x0900~0x0903中保存了数据帧到达端口0时的参考时钟tsys_ref时刻T1,寄存器0x0904~0x0907中保存了数据帧到达端口1时的参考时钟tsys_ref时刻T4;其他交流伺服驱动器从站n的时钟寄存器0x0900~0x0903中保存了数据帧到达端口0时的本地时钟tlocal时刻T2(n),时钟寄存器0x0904~0x0907中保存了数据帧到达端口1时的本地时钟tlocal时刻T3(n);
S13:读取所述时刻T1、T4、T2(n)、T3(n),通过以下公式计算其他交流伺服驱动器从站n低32位的时钟偏移Toffset和传输延时Tdelay:
T2(n)-T1=Toffset(n)+Tdelay(n) (1)
T3(n)-T4=Toffset(n)-Tdelay(n) (2)
联立公式(1)(2)可得:
Tdelay(n)=[((T4-T1)-(T3(n)-T2(n)))]/2 (3)
Toffset(n)=(T2(n)-T1+T3(n)-T4)/2 (4)
对于最后一个交流伺服驱动器从站,由于没有报文返回通过端口1,所以:
T2(n)=T3(n) (5)
从站系统时间为:
Tsys_time=Tlocal_time+Toffset-Tdelay (6)
总是假设交流伺服驱动器从站n的本地时钟小于参考时钟,所以,当交流伺服驱动器从站n的本地时钟大于参考时钟时,时钟偏移量的计算为:
Toffset(n)=0xFFFFFFFF-(T2(n)-T1+T3(n)-T4)/2 (7)
此时交流伺服驱动器从站n在高32位时钟偏移计算的偏移量要减1,因为在计算低32位时钟偏移量的时候使其向高32位时钟进位了;
当交流伺服驱动器从站n本地时钟小于参考时钟时,时钟偏移量的计算为:
Toffset(n)=(T2(n)-T1+T3(n)-T4)/2 (8)
接着PC主站发送顺序读命令,读各交流伺服驱动器从站的本地系统时间寄存器0x910~0x917,通过公式(3)计算各个从站本地时钟相对参考时钟高32位的时钟偏移量;
S14:PC主站发送设置写命令,除了参考时钟从站,把步骤S13计算所得的时钟偏移和传输延时写入各个从站的时间寄存器,包括时钟偏移寄存器0x920~0x927,和传输延时寄存器0x928~0x92B;在之后PC主站发送的每一个数据帧中,都包含了一个时钟漂移补偿子数据帧,这个子数据帧对第一个交流伺服驱动器的时钟寄存器0x910~0x917进行读多重写操作。
进一步地,所述PC主站与各交流伺服驱动器从站进行主从站时钟同步是使用IEEE1588时钟同步协议进行同步,具体步骤包括:
S31:PC主站发送读交流伺服驱动器从站的系统时钟的数据帧;
S32:PC主站读取返回数据帧获得交流伺服驱动器从站的系统时钟t1,读取此时PC主站的系统时钟为t2;
S33:PC主站再次发送读交流伺服驱动器从站的系统时钟数据帧,记录此时PC主站的系统时钟为t3;
S34:PC主站读取返回报文获得交流伺服驱动器从站的系统时钟为t4,根据公式(9)~(12)计算PC主站的系统时钟与交流伺服驱动器从站的系统时钟的初始时钟偏移和数据传输过程的传输延时:
toffset=t2-t1-tdelay (9)
toffset=t3-t4+tdelay (10)
计算可得:
toffset=(t2-t1+t3-t4)/2 (11)
tdelay=(t2-t1+t4-t3)/2 (12)
其中toffset为PC主站时钟与参考时钟的时钟偏移量,tdelay为PC主站时钟与参考时钟数据传输的传输延时;
S35:PC主站在周期性发送的数据帧中插入读取交流伺服驱动器从站系统时钟的子数据帧;
S36:根据公式(13)计算PC主站时钟与交流伺服驱动器从站系统时钟的时钟漂移tdrift:
tdrift=tmaster-(tslave+toffset+tdelay) (13)
其中tmaster为当前PC主站时钟,tslave为参考时钟时间;
S37:若tdrift>0,PC主站系统时钟快于交流伺服驱动器从站系统时钟,减慢主站系统时钟运行,若tdrift<0,主站系统时钟慢于从站系统时钟,加快主站系统时钟运行;
S38:重复S35至S37。
本发明相对于现有技术具有如下优点和有益效果:
(1)本装置采用基于PC的控制器,实现了驱控一体化,利用PC强大的运算能力,可以实现复杂的控制算法。
(2)本装置采用了EtherCAT通信技术,具有传输速度快,数据量大,同步性能好,可与其他以太网设备及协议并存与同一总线,开放性好。
(3)本装置的实时模块运行于Intime实时系统之上,结合工业以太网总线EtherCAT,控制系统采样周期最小可达到50微秒,运动插补周期最小可达到200微秒。
附图说明
图1是本发明基于EtherCAT的多轴同步控制装置总体结构示意图。
图2是本发明的软件结构示意图。
图3是本发明基于EtherCAT的多轴同步控制方法的人机交互界面。其中Job工作区为类似于数控系统的编程方式,可进行MOVL(直线插补),MOVC(圆弧插补)等定义点与点之间的插补方式,TechPoint工作区显示获取的示教点坐标。运行程序按键为运行多轴同步运动控制算法,writedata按键打印出多轴同步运动控制过程中每个轴在每个插补周期的位置、速度与力矩。
图中所示:1-支撑台架,2~9-伺服电机,10~17-交流伺服驱动器,18-PC主站。
具体实施方式
为了更好地理解本发明,下面结合附图对本发明作进一步地描述。
如图1所示,一种基于EtherCAT的多轴同步控制装置,包括机械本体部分,交流伺服驱动部分和控制部分:
所述机械本体部分包括:
支撑台架1和若干安装在所述支撑台架1上的交流伺服电机2~9;
所述交流伺服驱动部分包括:
若干与交流伺服电机2~9一一对应连接的交流伺服驱动器从站10~17,所述交流伺服驱动器从站10~17工作在同步位置模式下,用于按照获得的脉冲信号输出位置,并分别输出对应交流伺服驱动器的光电编码器值、角速度值、力矩值;
所述控制部分包括:
PC主站18,通过EtherCAT网络与各交流伺服驱动器从站10~17电路连接,用于初始化EtherCAT网络、实现PC主站18与交流伺服驱动器从站10~17的主从站时钟同步、各交流伺服驱动器从站10~17之间时钟同步、发送位置信号到各交流伺服驱动器从站10~17、接收各交流伺服驱动器从站10~17输出的各交流伺服电机2~9的光电编码器值、角速度值、力矩值。
具体而言,所述支撑台架1采用50*50的铝型材构建,采用框架结构,整体尺寸为800*400*690mm,该框架结构包括四条竖向支架、一上一下地水平设置在所述竖向支架上顶部平台和中部平台。
具体而言,所述支撑台架1底部设置有四个使所述支撑台架移动的万向轮。
具体而言,所述交流伺服电机采用螺栓与所述支撑台架固定连接,所述交流伺服驱动器采用螺栓与所述支撑台架固定连接,交流伺服电机固定安装在所述支撑台架1的顶部平面上,所述交流伺服驱动器从站固定安装在所述支撑台架1的中部平面。
具体而言,所述交流伺服驱动器从站具有EtherCAT通信功能以及支持分布式时钟,每个交流伺服驱动器从站分别具有两个以太网端口:为端口0和端口1,所述端口0为数据输入端口,所述端口1为数据输出端口;每个交流伺服驱动器从站都为一个EtherCAT网络从站,所述PC主站仅与第一个交流伺服驱动器从站通过网线连接,其余交流伺服驱动器从站之间通过网线串联连接,所述交流伺服驱动器从站直接处理由端口0接收的数据帧,并从数据帧中提取或插入相关的数据,然后将该数据帧传输到下一个交流伺服驱动器从站,最后一个交流伺服驱动器从站发回经过完全处理的数据帧,并由所连接的第一个交流伺服驱动器从站作为响应数据帧将其发送给PC主站,每个数据帧都可包含多个子数据帧,可对交流伺服驱动器从站的多个寄存器同时进行操作。
具体而言,所述的PC主站包括:
交流伺服电机转动位置控制模块,用于输出位置控制信号,控制各交流伺服电机转至相应的位置;
绝对式编码器信号读取模块,用于通过标准以太网线,对交流伺服驱动器从站处理过的各交流伺服电机的绝对式编码器信号进行读取;
角速度信号读取模块,用于通过标准以太网线,对交流伺服驱动器从站处理过的各交流伺服电机的角速度信号进行读取;
力矩信号读取模块,用于通过标准以太网线,对交流伺服驱动器从站处理过的各交流伺服电机的力矩信号进行读取;
以太网网络数据帧输出模块,用于初始化EtherCAT网络,进行交流伺服驱动器从站之间的从站时钟同步、PC主站与各交流伺服驱动器从站之间的主从站时钟同步。
具体而言,所述PC主站为安装有intime实时操作系统和Windows系统的工业PC机,所述intime实时操作系统与Windows系统之间通过共享内存与邮箱进行通信与数据传输,通过以太网接口与网线连接各交流伺服驱动器从站,控制整个EtherCAT网络,最小采样周期为50微秒。
在本实施例中,交流伺服电机2~9选用的是台达公司生产的ECMA-CA0604RS型交流伺服电机,光电编码器为绝对型编码器,其额定电压220V,额定功率为400W,额定转速为3000r/min,额定转矩为1.27N.m,不带电磁制动器。相应的交流伺服驱动器从站10~17型号为ASD-A2-0421-E,额定功率400W;所述支撑台架选用的是上海璐琥铝型材公司生产的5050W型工业铝型材及4590连接角件;环氧板可选用杰诺牌型号为JN-11999,厚度为10mm的环氧板,所述支撑台架的万向轮可选用上海璐琥铝型材公司生产的M8.100.500型万向尼龙蹄脚。
PC主站18选用的是安装有Intime实时操作系统的工业控制机,其通过网线与交流伺服驱动器从站10~17通讯,交流伺服驱动器从站与正泰公司生产的1P,额定电流为10A的DZ47-60C10空气开关直接连接。交流伺服驱动器从站10~17之间通过以太网线以串联连接的方式进行连接。
如图2和图3所示,一种基于所述装置的多轴同步控制方法,包括以下步骤:
S1:PC主站配置各交流伺服驱动器的从站站点地址寄存器,配置邮箱通道参数,配置分布式时钟相关寄存器,实现各个交流伺服驱动器从站之间的时钟同步,并在接下去发送的每个数据帧中插入对各交流伺服驱动器进行时钟漂移补偿的子数据帧;PC主站对各交流伺服驱动器从站的状态控制寄存器进行写操作,使各交流伺服驱动器从站的当前状态转换为预运行状态,所述PC主站每1-3ms发送一个数据帧。
S2:所述PC主站使用邮箱初始化过程数据映射,所述初始化过程依次包括:PC主站使用服务数据对象(SDO)对各交流伺服驱动器从站的CANopen对象字典进行读写、PC主站配置交流伺服驱动器的过程数据通信所使用的同步管理器(SM)通道、PC主站配置现场总线内存管理单元(FMMU);PC主站对各交流伺服驱动器从站的状态控制寄存器进行写操作,使各交流伺服驱动器从站的当前状态转换为安全运行状态;
S3:所述PC主站发送有效的输出数据帧,对各交流伺服驱动器的状态控制寄存器进行写操作,使个交流伺服驱动器从站的当前状态转换为运行状态;所述PC主站与各交流伺服驱动器从站进行主从站时钟同步。
具体而言,步骤S1中,所述配置分布式时钟相关寄存器,实现各个从站的时钟同步,并在接下去的每个数据帧中插入对各交流伺服驱动器从站进行时钟漂移补偿的子数据帧的步骤具体包括:
S11:以与PC主站连接的第一个交流伺服驱动器从站10作为EtherCAT网络参考时钟,所述PC主站以及其他的交流伺服驱动器从站11~17的本地时钟都与这个参考时钟进行同步;所述PC主站发送顺序读命令读取参考时钟的本地系统时钟寄存器0x910~0x917,计算使得高32位为0xffffffff所需的高32位时钟偏移,低32位时钟偏移为0;PC主站发送顺序写命令,写参考时钟的时间偏移寄存器0x920~0x927,使得高32位时钟为0xffffffff,低32位时钟保持不变;
S12:PC主站发送一个广播写命令数据帧,写所有交流伺服驱动器从站的端口0的接收时间寄存器0x0900,当数据帧由第一个交流伺服驱动器从站10向最后一个交流伺服驱动器从站传输时,每个交流伺服驱动器从站的端口0锁存数据帧第一个前导位到达端口0时的本地系统时间,当数据帧由最后一个交流伺服驱动器从站向第一个交流伺服驱动器从站传输时,每个交流伺服驱动器从站端口1锁存数据帧第一个前导位到达端口1时的本地系统时间,具体对应关系为:设置为参考时钟的交流伺服驱动器从站的寄存器0x0900~0x0903中保存了数据帧到达端口0时的参考时钟tsys_ref时刻T1,寄存器0x0904~0x0907中保存了数据帧到达端口1时的参考时钟tsys_ref时刻T4;其他交流伺服驱动器从站n的时钟寄存器0x0900~0x0903中保存了数据帧到达端口0时的本地时钟tlocal时刻T2(n),时钟寄存器0x0904~0x0907中保存了数据帧到达端口1时的本地时钟tlocal时刻T3(n);
S13:读取所述时刻T1、T4、T2(n)、T3(n),通过以下公式计算其他交流伺服驱动器从站n低32位的时钟偏移Toffset和传输延时Tdelay:
T2(n)-T1=Toffset(n)+Tdelay(n) (1)
T3(n)-T4=Toffset(n)-Tdelay(n) (2)
联立公式(1)(2)可得:
Tdelay(n)=[((T4-T1)-(T3(n)-T2(n)))]/2 (3)
Toffset(n)=(T2(n)-T1+T3(n)-T4)/2 (4)
对于最后一个交流伺服驱动器从站,由于没有报文返回通过端口1,所以:
T2(n)=T3(n) (5)
从站系统时间为:
Tsys_time=Tlocal_time+Toffset-Tdelay (6)
总是假设交流伺服驱动器从站n的本地时钟小于参考时钟,所以,当交流伺服驱动器从站n的本地时钟大于参考时钟时,时钟偏移量的计算为:
Toffset(n)=0xFFFFFFFF-(T2(n)-T1+T3(n)-T4)/2 (7)
此时交流伺服驱动器从站n在高32位时钟偏移计算的偏移量要减1,因为在计算低32位时钟偏移量的时候使其向高32位时钟进位了;
当交流伺服驱动器从站n本地时钟小于参考时钟时,时钟偏移量的计算为:
Toffset(n)=(T2(n)-T1+T3(n)-T4)/2; (8)
接着PC主站发送顺序读命令,读各交流伺服驱动器从站的本地系统时间寄存器0x910~0x917,通过公式(3)计算各个从站本地时钟相对参考时钟高32位的时钟偏移量;
S14:PC主站发送设置写命令,除了参考时钟从站,把步骤S13计算所得的时钟偏移和传输延时写入各个从站的时间寄存器,包括时钟偏移寄存器0x920~0x927,和传输延时寄存器0x928~0x92B;在之后PC主站发送的每一个数据帧中,都包含了一个时钟漂移补偿子数据帧,这个子数据帧对第一个交流伺服驱动器的时钟寄存器0x910~0x917进行读多重写操作。
具体而言,所述PC主站与各交流伺服驱动器从站进行主从站时钟同步是使用IEEE1588时钟同步协议进行同步,具体步骤包括:
S31:PC主站发送读交流伺服驱动器从站的系统时钟的数据帧;
S32:PC主站读取返回数据帧获得交流伺服驱动器从站的系统时钟t1,读取此时PC主站的系统时钟为t2;
S33:PC主站再次发送读交流伺服驱动器从站的系统时钟数据帧,记录此时PC主站的系统时钟为t3;
S34:PC主站读取返回报文获得交流伺服驱动器从站的系统时钟为t4,根据公式(9)~(12)计算PC主站的系统时钟与交流伺服驱动器从站的系统时钟的初始时钟偏移和数据传输过程的传输延时:
toffset=t2-t1-tdelay (9)
toffset=t3-t4+tdelay (10)
计算可得:
toffset=(t2-t1+t3-t4)/2 (11)
tdelay=(t2-t1+t4-t3)/2 (12)
其中toffset为PC主站时钟与参考时钟的时钟偏移量,tdelay为PC主站时钟与参考时钟数据传输的传输延时;
S35:PC主站在周期性发送的数据帧中插入读取交流伺服驱动器从站系统时钟的子数据帧;
S36:根据公式(13)计算PC主站时钟与交流伺服驱动器从站系统时钟的时钟漂移tdrift:
tdrift=tmaster-(tslave+toffset+tdelay) (13)
其中tmaster为当前PC主站时钟,tslave为参考时钟时间;
S37:若tdrift>0,PC主站系统时钟快于交流伺服驱动器从站系统时钟,减慢主站系统时钟运行,若tdrift<0,主站系统时钟慢于从站系统时钟,加快主站系统时钟运行;
S38:重复S35至S37。
图3是本发明基于EtherCAT的多轴同步控制方法的软件的人机交互界面。其中Job工作区为类似于数控系统的编程方式,可进行MOVL(直线插补),MOVC(圆弧插补)等定义点与点之间的插补方式,TechPoint工作区显示获取的示教点坐标。运行程序按键为运行多轴同步运动控制算法,writedata按键打印出多轴同步运动控制过程中每个轴在每个插补周期的位置、速度与力矩。
软件包括非实时模块和实时模块,构成如下:
非实时模块采用Microsoft Visual Studio 2010平台开发。主要完成人机交互功能。包括启动和停止控制系统,控制控制系统单轴运行或者多轴联动。也完成数据的存储与输出的功能。
实时模块运行于Intime实时操作系统之上。使用C/C++语言编程,用于运行控制算法,以一定的周期发送控制信号,补偿网络时钟偏移,接受交流伺服驱动器信号。
非实时模块与实时模块之间通过共享内存与邮箱进行数据共享与通信。
上述实施例为本发明较佳的实施方式,但本方明的实施方式并不受上述实施例的限制,其他的任何背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (9)
1.一种基于EtherCAT的多轴同步控制方法,其特征在于:该方法采用的装置包括机械本体部分,交流伺服驱动部分和控制部分:
所述机械本体部分包括:
支撑台架和若干安装在所述支撑台架上的交流伺服电机;
所述交流伺服驱动部分包括:
若干与交流伺服电机一一对应连接的交流伺服驱动器从站,所述交流伺服驱动器从站工作在同步位置模式下,用于按照获得的脉冲信号输出位置信号,并分别输出对应交流伺服驱动器的光电编码器值、角速度值、力矩值;
所述控制部分包括:
PC主站,通过网线与交流伺服驱动器从站连接,用于初始化EtherCAT网络、实现PC主站与交流伺服驱动器从站的主从站时钟同步、各交流伺服驱动器从站之间时钟同步、发送位置信号到各交流伺服驱动器从站、接收各交流伺服驱动器从站输出的各交流伺服电机的光电编码器值、角速度值、力矩值;
所述控制方法包括以下步骤:
S1:PC主站配置各交流伺服驱动器的从站站点地址寄存器,配置邮箱通道参数,配置分布式时钟相关寄存器,实现各个交流伺服驱动器从站之间的时钟同步,并在接下去发送的每个数据帧中插入对各交流伺服驱动器进行时钟漂移补偿的子数据帧;PC主站对各交流伺服驱动器从站的状态控制寄存器进行写操作,使各交流伺服驱动器从站的当前状态转换为预运行状态,所述PC主站每1-3ms发送一个数据帧;
S2:所述PC主站使用邮箱初始化过程数据映射,所述初始化过程依次包括:PC主站使用服务数据对象对各交流伺服驱动器从站的CANopen对象字典进行读写、PC主站配置交流伺服驱动器的过程数据通信所使用的同步管理器通道、PC主站配置现场总线内存管理单元;PC主站对各交流伺服驱动器从站的状态控制寄存器进行写操作,使各交流伺服驱动器从站的当前状态转换为安全运行状态;
S3:所述PC主站发送有效的输出数据帧,对各交流伺服驱动器的状态控制寄存器进行写操作,使各个交流伺服驱动器从站的当前状态转换为运行状态;所述PC主站与各交流伺服驱动器从站进行主从站时钟同步。
2.根据权利要求1所述的一种基于EtherCAT的多轴同步控制方法,其特征在于:所述支撑台架采用框架结构,该框架结构包括四条竖向支架、一上一下地水平设置在所述竖向支架上顶部平台和中部平台。
3.根据权利要求2所述的一种基于EtherCAT的多轴同步控制方法,其特征在于:所述支撑台架底部设置有四个使所述支撑台架移动的万向轮。
4.根据权利要求2所述的一种基于EtherCAT的多轴同步控制方法,其特征在于:所述交流伺服电机采用螺栓与所述支撑台架固定连接,所述交流伺服驱动器采用螺栓与所述支撑台架固定连接,交流伺服电机固定安装在所述支撑台架的顶部平面上,所述交流伺服驱动器从站固定安装在所述支撑台架的中部平面。
5.根据权利要求1所述的一种基于EtherCAT的多轴同步控制方法,其特征在于:所述交流伺服驱动器从站具有EtherCAT通信功能以及支持分布式时钟,每个交流伺服驱动器从站分别具有两个以太网端口:为端口0和端口1,所述端口0为数据输入端口,所述端口1为数据输出端口;每个交流伺服驱动器从站都为一个EtherCAT网络从站,所述PC主站仅与第一个交流伺服驱动器从站通过网线连接,其余交流伺服驱动器从站之间通过网线串联连接,所述交流伺服驱动器从站直接处理由端口0接收的数据帧,并从数据帧中提取或插入相关的数据,然后将该数据帧传输到下一个交流伺服驱动器从站,最后一个交流伺服驱动器从站发回经过完全处理的数据帧,并由所连接的第一个交流伺服驱动器从站作为响应数据帧将其发送给PC主站,每个数据帧都可包含多个子数据帧,可对交流伺服驱动器从站的多个寄存器同时进行操作。
6.根据权利要求1所述的一种基于EtherCAT的多轴同步控制方法,其特征在于,所述的PC主站包括:
交流伺服电机转动位置控制模块,用于输出位置控制信号,控制各交流伺服电机转至相应的位置;
绝对式编码器信号读取模块,用于通过标准以太网线,对交流伺服驱动器从站处理过的各交流伺服电机的绝对式编码器信号进行读取;
角速度信号读取模块,用于通过标准以太网线,对交流伺服驱动器从站处理过的各交流伺服电机的角速度信号进行读取;
力矩信号读取模块,用于通过标准以太网线,对交流伺服驱动器从站处理过的各交流伺服电机的力矩信号进行读取;
以太网网络数据帧输出模块,用于初始化EtherCAT网络,进行交流伺服驱动器从站之间的从站时钟同步、PC主站与各交流伺服驱动器从站之间的主从站时钟同步。
7.根据权利要求1所述的一种基于EtherCAT的多轴同步控制方法,其特征在于;
所述PC主站为安装有intime实时操作系统和Windows系统的工业PC机,所述intime实时操作系统与Windows系统之间通过共享内存与邮箱进行通信与数据传输,通过以太网接口与网线连接各交流伺服驱动器从站,控制整个EtherCAT网络,最小采样周期为50微秒。
8.根据权利要求1所述的一种基于EtherCAT的多轴同步控制方法,其特征在于,步骤S1中,所述配置分布式时钟相关寄存器,实现各个从站的时钟同步,并在接下去的每个数据帧中插入对各交流伺服驱动器从站进行时钟漂移补偿的子数据帧的步骤具体包括:
S11:以与PC主站连接的第一个交流伺服驱动器从站作为EtherCAT网络参考时钟,所述PC主站以及其他的交流伺服驱动器从站的本地时钟都与这个参考时钟进行同步;所述PC主站发送顺序读命令读取参考时钟的本地系统时钟寄存器0x910~0x917,计算使得高32位为0xffffffff所需的高32位时钟偏移,低32位时钟偏移为0;PC主站发送顺序写命令,写参考时钟的时间偏移寄存器0x920~0x927,使得高32位时钟为0xffffffff,低32位时钟保持不变;
S12:PC主站发送一个广播写命令数据帧,写所有交流伺服驱动器从站的端口0的接收时间寄存器0x0900,当数据帧由第一个交流伺服驱动器从站向最后一个交流伺服驱动器从站传输时,每个交流伺服驱动器从站的端口0锁存数据帧第一个前导位到达端口0时的本地系统时间,当数据帧由最后一个交流伺服驱动器从站向第一个交流伺服驱动器从站传输时,每个交流伺服驱动器从站端口1锁存数据帧第一个前导位到达端口1时的本地系统时间,具体对应关系为:设置为参考时钟的交流伺服驱动器从站的寄存器0x0900~0x0903中保存了数据帧到达端口0时的参考时钟tsys_ref时刻T1,寄存器0x0904~0x0907中保存了数据帧到达端口1时的参考时钟tsys_ref时刻T4;其他交流伺服驱动器从站n的时钟寄存器0x0900~0x0903中保存了数据帧到达端口0时的本地时钟tlocal时刻T2(n),时钟寄存器0x0904~0x0907中保存了数据帧到达端口1时的本地时钟tlocal时刻T3(n);
S13:读取所述时刻T1、T4、T2(n)、T3(n),通过以下公式计算其他交流伺服驱动器从站n低32位的时钟偏移Toffset和传输延时Tdelay:
T2(n)-T1=Toffset(n)+Tdelay(n) (1)
T3(n)-T4=Toffset(n)-Tdelay(n) (2)
联立公式(1)(2)可得:
Tdelay(n)=[((T4-T1)-(T3(n)-T2(n)))]/2 (3)
Toffset(n)=(T2(n)-T1+T3(n)-T4)/2 (4)
对于最后一个交流伺服驱动器从站,由于没有报文返回通过端口1,所以:
T2(n)=T3(n) (5)
从站系统时间为:
Tsys_time=Tlocal_time+Toffset-Tdelay (6)
总是假设交流伺服驱动器从站n的本地时钟小于参考时钟,所以,当交流伺服驱动器从站n的本地时钟大于参考时钟时,时钟偏移量的计算为:
Toffset(n)=0xFFFFFFFF-(T2(n)-T1+T3(n)-T4)/2 (7)
此时交流伺服驱动器从站n在高32位时钟偏移计算的偏移量要减1,因为在计算低32位时钟偏移量的时候使其向高32位时钟进位了;
当交流伺服驱动器从站n本地时钟小于参考时钟时,时钟偏移量的计算为:
Toffset(n)=(T2(n)-T1+T3(n)-T4)/2; (8)
接着PC主站发送顺序读命令,读各交流伺服驱动器从站的本地系统时间寄存器0x910~0x917,通过公式(3)计算各个从站本地时钟相对参考时钟高32位的时钟偏移量;
S14:PC主站发送设置写命令,除了参考时钟从站,把步骤S13计算所得的时钟偏移和传输延时写入各个从站的时间寄存器,包括时钟偏移寄存器0x920~0x927,和传输延时寄存器0x928~0x92B;在之后PC主站发送的每一个数据帧中,都包含了一个时钟漂移补偿子数据帧,这个子数据帧对第一个交流伺服驱动器的时钟寄存器0x910~0x917进行读多重写操作。
9.根据权利要求1所述的一种基于EtherCAT的多轴同步控制方法,其特征在于:所述PC主站与各交流伺服驱动器从站进行主从站时钟同步是使用IEEE1588时钟同步协议进行同步,具体步骤包括:
S31:PC主站发送读交流伺服驱动器从站的系统时钟的数据帧;
S32:PC主站读取返回数据帧获得交流伺服驱动器从站的系统时钟t1,读取此时PC主站的系统时钟为t2;
S33:PC主站再次发送读交流伺服驱动器从站的系统时钟数据帧,记录此时PC主站的系统时钟为t3;
S34:PC主站读取返回报文获得交流伺服驱动器从站的系统时钟为t4,根据公式(9)~(12)计算PC主站的系统时钟与交流伺服驱动器从站的系统时钟的初始时钟偏移和数据传输过程的传输延时:
toffset=t2-t1-tdelay (9)
toffset=t3-t4+tdelay (10)
计算可得:
toffset=(t2-t1+t3-t4)/2 (11)
tdelay=(t2-t1+t4-t3)/2 (12)
其中toffset为PC主站时钟与参考时钟的时钟偏移量,tdelay为PC主站时钟与参考时钟数据传输的传输延时;
S35:PC主站在周期性发送的数据帧中插入读取交流伺服驱动器从站系统时钟的子数据帧;
S36:根据公式(13)计算PC主站时钟与交流伺服驱动器从站系统时钟的时钟漂移tdrift:
tdrift=tmaster-(tslave+toffset+tdelay) (13)
其中tmaster为当前PC主站时钟,tslave为参考时钟时间;
S37:若tdrift>0,PC主站系统时钟快于交流伺服驱动器从站系统时钟,减慢主站系统时钟运行,若tdrift<0,主站系统时钟慢于从站系统时钟,加快主站系统时钟运行;
S38:重复S35至S37。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710441244.7A CN107229240B (zh) | 2017-06-13 | 2017-06-13 | 一种基于EtherCAT的多轴同步控制装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710441244.7A CN107229240B (zh) | 2017-06-13 | 2017-06-13 | 一种基于EtherCAT的多轴同步控制装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107229240A CN107229240A (zh) | 2017-10-03 |
CN107229240B true CN107229240B (zh) | 2023-05-23 |
Family
ID=59935889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710441244.7A Active CN107229240B (zh) | 2017-06-13 | 2017-06-13 | 一种基于EtherCAT的多轴同步控制装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107229240B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108445830B (zh) * | 2018-03-13 | 2020-11-06 | 大连理工大学 | 一种基于多控制器同步控制的造波机控制系统 |
CN109343473B (zh) * | 2018-09-27 | 2020-02-14 | 中国科学院力学研究所 | 一种基于双时钟的高速高精度多轴同步运动的控制方法 |
CN110531685A (zh) * | 2019-09-25 | 2019-12-03 | 重庆智能机器人研究院 | 一种EtherCAT总线多轴从站系统 |
CN110647120B (zh) * | 2019-09-26 | 2021-01-01 | 北京机电工程研究所 | 一种适用于极端应用条件的运动控制方法 |
CN111272127B (zh) * | 2020-02-21 | 2021-06-29 | 东莞市三姆森光电科技有限公司 | 一种通过EtherCAT总线测控同步的方法 |
CN111478834B (zh) * | 2020-03-25 | 2022-04-29 | 武汉迈信电气技术有限公司 | 一种基于非实时系统的EtherCAT主站同步方法 |
CN111488005B (zh) * | 2020-04-28 | 2023-05-30 | 中船动力研究院有限公司 | 船用低速机转速分发系统、方法及设备 |
CN113110364A (zh) * | 2021-05-26 | 2021-07-13 | 哈尔滨理工大学 | 一种基于工业以太网的服务机器人控制系统 |
CN113607389B (zh) * | 2021-06-30 | 2022-05-10 | 湖南汉能科技有限公司 | 用于多轴联动台架的驱动装置和多轴联动台架 |
CN113485205B (zh) * | 2021-08-05 | 2022-07-29 | 杭州力超智能科技有限公司 | 一种基于canbus总线的伺服驱动器时钟同步和位置重构方法 |
CN113721506A (zh) * | 2021-08-17 | 2021-11-30 | 中国船舶重工集团公司第七0四研究所 | 基于epa技术的船用光电信号采集单元 |
CN114095304B (zh) * | 2022-01-24 | 2022-05-10 | 深圳市山龙智控有限公司 | 一种基于EtherCAT总线的节点间同步精度补偿方法及系统 |
CN114679249B (zh) * | 2022-05-26 | 2022-09-02 | 深圳市杰美康机电有限公司 | 一种EtherCAT通讯同步方法及装置 |
CN115079622B (zh) * | 2022-08-22 | 2023-01-31 | 季华实验室 | 多伺服调试的id配置系统、方法、电子设备和存储介质 |
CN115533945A (zh) * | 2022-09-14 | 2022-12-30 | 重庆智能机器人研究院 | 一种机器人系统双轴同步控制装置及方法 |
CN116436720A (zh) * | 2023-03-07 | 2023-07-14 | 深圳市杰美康机电有限公司 | 一种EtherCAT在线向多轴写参数的方法、装置及系统 |
CN116722944B (zh) * | 2023-07-13 | 2024-04-02 | 安徽中科海奥电气股份有限公司 | 一种分布式能源系统的设备同步控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2658373A1 (fr) * | 1990-02-13 | 1991-08-16 | Js Telecommunications | Autocommutateur a structure repartie, comportant des boucles federant des reseaux locaux, et procede d'exploitation d'un tel autocommutateur. |
CN105656592A (zh) * | 2015-12-31 | 2016-06-08 | 深圳市汇川技术股份有限公司 | EtherCAT通信系统主站及通信方法 |
WO2016092166A1 (fr) * | 2014-12-11 | 2016-06-16 | Electricite Reseau Distribution France | Synchronisation d'un réseau cpl |
CN105892430A (zh) * | 2016-05-03 | 2016-08-24 | 杭州新松机器人自动化有限公司 | 一种机器人关节电机同步控制系统及其方法 |
-
2017
- 2017-06-13 CN CN201710441244.7A patent/CN107229240B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2658373A1 (fr) * | 1990-02-13 | 1991-08-16 | Js Telecommunications | Autocommutateur a structure repartie, comportant des boucles federant des reseaux locaux, et procede d'exploitation d'un tel autocommutateur. |
WO2016092166A1 (fr) * | 2014-12-11 | 2016-06-16 | Electricite Reseau Distribution France | Synchronisation d'un réseau cpl |
CN105656592A (zh) * | 2015-12-31 | 2016-06-08 | 深圳市汇川技术股份有限公司 | EtherCAT通信系统主站及通信方法 |
CN105892430A (zh) * | 2016-05-03 | 2016-08-24 | 杭州新松机器人自动化有限公司 | 一种机器人关节电机同步控制系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107229240A (zh) | 2017-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107229240B (zh) | 一种基于EtherCAT的多轴同步控制装置和方法 | |
CN111740643B (zh) | 基于EtherCAT P总线技术的多轴伺服电机控制系统及方法 | |
CN103425106B (zh) | 一种基于Linux的EtherCAT主/从站控制系统及方法 | |
CN106411184B (zh) | 一种网络化的多轴电机同步控制装置及方法 | |
CN101907882B (zh) | 基于epa现场总线的多轴直流伺服电机控制系统及方法 | |
CA2612564A1 (en) | Method for data communication of bus users in an open automation system | |
CN205844813U (zh) | 基于EtherCAT总线的四轴伺服驱动器 | |
US20020049505A1 (en) | Power section for driving an electric drive, a drive control based thereon, and a method for networking a control unit with one or more power sections | |
CN207216330U (zh) | 一种基于EtherCAT的多轴同步控制装置 | |
CN103901814B (zh) | 一种多轴运动数控系统 | |
CN111381612B (zh) | 一种基于can总线的多轴同步控制系统及方法 | |
CN112910593A (zh) | 一种应用于伺服电机驱动器的同步控制系统及方法 | |
CN106888141A (zh) | 一种高效can总线通信方法 | |
CN111488005B (zh) | 船用低速机转速分发系统、方法及设备 | |
CN113485205A (zh) | 一种基于canbus总线的伺服驱动器时钟同步和位置重构方法 | |
CN109491332B (zh) | 一种用于机电伺服的高速高精密多轴并行控制系统 | |
Xing et al. | Motion control system using sercos over ethercat | |
CN115562122A (zh) | 一种基于soc的开放架构的伺服控制系统、设备及方法 | |
JP7453268B2 (ja) | 多軸サーボ制御システム | |
Huang et al. | Design of electronic shaft synchronization control system based on EtherCAT bus | |
Qi et al. | Networked motion control system design based on EtherCAT | |
CN117742213A (zh) | 基于EtherCAT的一体式从站控制系统、方法及主从站系统 | |
Gu et al. | Control system design of 6-DOFs serial manipulator based on real-time ethernet | |
TWI834071B (zh) | 多軸伺服控制系統 | |
Xu et al. | Development of a networked multi-agent system based on real-time Ethernet |
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 |