一种用于数控系统电机主轴转速的控制系统及方法

文档序号:6328983阅读:199来源:国知局
专利名称:一种用于数控系统电机主轴转速的控制系统及方法
技术领域
本发明涉及电机主轴转速的控制系统及方法,特别涉及一种用于数控系统电机主轴转速的控制系统及方法。
背景技术
数控系统中通过伺服驱动器控制电机主轴转速的常见控制方式有第一种方式变频器实现主轴模拟量控制数字控制和模拟控制是数控系统配置的两种机床主轴控制方式。由于经济型数控车床对主轴的功率、控制精度和动态响应等要求不高,使用变频器实现主轴模拟量控制是低端数控车床的首选方式。第二种方式模拟量PLC控制电机主轴转速触摸屏是人机对话接口,最初的指令信息要从这里输入。输入的信息通过通讯端口传送到PLC。经PLC运算后,PLC输出模拟量,并连接到伺服控制器的模拟量输入端口。伺服控制器对接收到的模拟量进行内部运算,而后驱动伺服电机达到相应的转速。伺服电机通过测速元件将转速信息反馈到伺服控制器,形成闭环系统。实现电机转速稳定的效果。第三种方式PC机并口伺服驱动板脉冲控制电机主轴转速以上做法的缺点通过变频器对电机主轴控制适用于经济型数控车床。当对主轴的功率、控制精度和动态响应等要求很高的场合时不适用;采用模拟量控制时抗干扰能力弱,实时性不强;伺服驱动板依赖于具体的硬件,当换成其它伺服系统时,需要更换伺服驱动板。现有技术中,中国专利申请号CN200820239247公开一种机械压力机数控液压垫的控制系统,它存在不足的问题是(1)它使用windows操作系统,运用TwinCAT软件,这套软件运行系统经常会导致系统蓝屏死机,造成控制系统不稳定;(2)它采用专用的模拟量输入输出板卡和伺服阀,伺服驱动板依赖于具体的硬件;(3)它采用专用硬件结构实现电气控制,硬件冗余。由于采用硬件控制,易造成故障率升高,维护成本较高,可靠性无法保障。

发明内容
本发明针对上述数控系统中采用模拟量控制电机主轴的抗干扰性较差,实时性不强的问题;针对上述数控系统中采用专用伺服驱动板卡,故障率较高,专用伺服驱动板灵活性较差(如果伺服系统更换成其它厂家的伺服驱动器,需要更换伺服驱动板);针对上述数控系统采用Windows操作系统产生蓝屏不稳定的缺点。本发明提供一种用于数控系统电机主轴转速的控制系统及方法,其抗干扰性较强、实时性较好、稳定性和可靠性均均较好。为达到上述的目的,本发明采取的技术方案是一种用于数控系统电机主轴转速的控制系统,包括嵌入式Linux数控系统主站和数控系统从站,嵌入式Linux数控系统主站与数控系统从站之间通过EtherCAT通信协议总线相互通信连接;所述嵌入式Linux数控系统主站包括控制模块和主站接口模块;所述控制模块包括带有网卡的嵌入式硬件平台和置于嵌入式硬件平台上的软体部分;所述软体部分里包括嵌入式Linux用户空间和嵌入式Linux内核空间;所嵌入式Linux用户空间里的应用层内置有包含SoE协议的EtherCAT通信协议栈;所述嵌入式Linux内核空间里置有嵌入式Linux操作系统以及包含软电路层、EtherCAT通信协议栈内态驱动模块和网卡驱动模块的驱动层;所述数控系统从站包括带有从站接口的伺服装置和与其连接的电机,其中从站接口与上述嵌入式Linux数控系统主站内的主站接口模块连接;所述嵌入式Linux数控系统主站通过嵌入式Linux用户空间里的应用层内的EtherCAT通信协议栈内的SoE协议向软电路层发出主轴控制字,使能于数控系统从站内的伺服装置;通过嵌入式Linux内核空间里的软电路层周期性地发出速度指令值,并通过EtherCAT通信协议总线传送给数控系统从站内的伺服装置,伺服装置按照接收到该速度指令值控制电机旋转;伺服装置通过KherCAT通信协议总线周期性地将速度反馈值反馈给嵌入式Linux数控系统主站内驱动层内的软电路层,以此完成闭环控制。本发明提供的用于数控系统电机主轴转速的控制方法,是采用闭环控制的方法首先建立一个嵌入式Linux数控系统主站,将数控系统内的伺服装置及与伺服装置连接的电机作为数控系统从站,采用EtherCAT通信协议总线使嵌入式Linux数控系统主站与数控系统从站进行通信连接;在嵌入式Linux数控系统主站内设置嵌入式硬件平台和置于嵌入式硬件平台上的软件部分;在软件部分中,设置嵌入式Linux用户空间和嵌入式Linux内核空间;在嵌入式Linux用户空间里的应用层内置放包含SoE协议的KherCAT通信协议栈; 采用嵌入式Linux操作系统,设计一软电路层,在软电路层内设置运动控制层、主轴控制层及两者之间的单位换算模块;编写软电路层的配置文件,在配置文件中定义两个线程基础线程和伺服线程;基础线程是通过EtherCAT协议周期性地将对伺服装置的输出过程数据发送到数控系统从站的伺服装置侧;伺服线程是周期性地将伺服装置反馈的过程数据读取到嵌入式Linux数控系统主站中,以致实现闭环控制;将这一软电路层加载到嵌入式Linux内核空间里的驱动层内; 用户通过上述嵌入式Linux用户空间里的应用层内的EtherCAT通信协议栈内的SoE协议向驱动层的软电路层中的主轴控制层发出启动从站的伺服装置进入可操作状态的请求,当伺服装置进入可操作状态后,发出主轴控制字,主轴控制层通过肚herCAT通信协议总线向数控系统从站发出该主轴控制字,使能于数控系统从站中伺服装置;软电路层中的运动控制层设置主轴速度给定值,经过单位换算模块换算后发出速度指令值,主轴控制层将该速度指令值通过KherCAT通信协议总线送到伺服装置,伺服装置控制电机按其速度指令值旋转;伺服装置控制电机的运转状态通过KherCAT通信协议总线反馈给软电路层的主轴控制层,主轴控制层发出驱动状态字通过EtherCAT通信协议栈内的SoE协议反馈到用户空间的应用层;伺服装置控制电机的转速通过KherCAT通信协议总线反馈到软电路层内的主轴控制层,主轴控制层输出主轴速度反馈值经过单位换算模块换算后的主轴速度反馈到运动控制层,运动控制层周期性地发出主轴速度给定值,并周期性地读取主轴速度反馈值,以此完成闭环控。本发明的有益效果如上述本发明的控制系统及方法,因为控制系统及方法是全闭环控制,而且基本是在软件部分内进行循环。所以,不受外界干扰,基本上无干扰稳定性较好,故障率低。而且减少了伺服驱动的硬件,极大地提高了数控系统的伺服闭环控制的质量,使得数控系统的实时控制取得了显著的进步和提升。如上述本发明的控制系统及方法,因为嵌入式Linux数控系统主站与数控系统从站之间所有的通信往来都是通过KherCAT通信协议总线,在用户空间里置有KherCAT通信协议栈,在驱动层内含有^herCAT通信协议栈内态驱动模块。所以,本发明具有KherCAT通信协议栈的所有的优点,其传送速度快,使得全闭环控制的循环时间达到Iys0如上述本发明的控制系统及方法,因为本发明的主站是嵌入式Linux数控系统主站,采用了嵌入式Linux操作系统,设置为嵌入式硬件平台。所以本发明的稳定性和可靠性都比较好。如上述本发明的控制系统及方法,因为本发明的稳定性和可靠性都得到了保障,全闭环控制的循环速度又快。所以,控制精度可达到lnm,电机主轴的转速达到16000rpm。


图1是本发明用于数控系统电机主轴转速的控制系统一实施例的结构示意图。图2是图1中主站与从站具体运行一实施例的结构示意图。图3是本发明用于数控系统电机主轴转速的控制方法一实施例的流程图。
具体实施例方式下面结合附图进一步说明本发明的控制系统及方法的特征。如图1所示,本发明的用于数控系统电机主轴转速的控制系统包括嵌入式Linux数控系统主站1和数控系统从站2。其中嵌入式Linux数控系统主站1包括控制模块11和主站接口模块12。数控系统从站2包括带从站接口 21的伺服装置(或称伺服驱动装置)22,与伺服装置22连接的电机23。在本实施例中,主站接口模块12为标准网口 RJ45网口。数控系统从站2中的伺服装置22为AMK KW-r03伺服驱动器,其控制方式为速度控制。控制电机为0. Skw永磁同步交流伺服电机。从站接口 21也是标准网口与主站接口模块12的标准网口 RJ45网口连接,EtherCAT通信协议总线(包括SoE协议)通过该标准网口使嵌入式Linux数控系统主站与数控系统从站之间相互通信。所述嵌入式Linux数控系统主站中的控制模块11内部的具体结构如图2所示。控制模块11内包括带有网卡的嵌入式硬件平台和运行于嵌入式硬件平台上的软体部分。如图2所示,在本实施例中,嵌入式硬件平台为嵌入式X86硬件平台,在嵌入式X86硬件平台上的网卡为8139网卡。所述软体部分包括嵌入式Linux用户空间和嵌入式Linux内核空间。
6
如图2所示,位于嵌入式Linux用户空间里的应用层内包含主轴转速接口、包含SoE协议的EtherCAT通信协议栈和应用接口(或称用户应用接口)。所述EtherCAT通信协议栈包含SoE协议。SoE (SERCOS OVER EtherCAT)协议是指在KherCAT通信协议下运行的SERCOS协议定义的伺服设备行规。具体地说,也就是使用EtherCAT通信协议操作SERCOS设备行规所定义的伺服参数和控制数据。如图2所示,位于嵌入式Linux内核空间里有嵌入式Linux操作系统和驱动层。驱动层内包含软电路层、EtherCAT通信协议栈内态驱动模块和网卡驱动模块。其中软电路层内包含云动控制层、主轴控制层和位于两者之间的单位换算模块。如图1、图2所示,由嵌入式Linux数控系统主站1发出主轴的速度给定值至数控系统从站2,并接收数控系统从站2中电机主轴的速度反馈值。嵌入式Linux数控系统主站1的驱动层内的软电路层自定义的配置文件,在该配置文件中定义为两个线程基础线程和伺服线程。基础线程为嵌入式Linux数控系统主站1至数控系统从站2的线程;伺服线程为数控系统从站2至嵌入式Linux数控系统主站1的线程。在本实施例中,基础线程每隔100 μ s运行一次,伺服线程每隔Ims运行一次。如图2所示,所述嵌入式Linux数控系统主站1的控制模块11的嵌入式Linux用户空间里应用层中的应用接口(用户通过应用接口输出的指令)通过调用嵌入式Linux数控系统主站1的控制模块11的嵌入式Linux内核空间里驱动层内WKherCAT通信协议栈内核态驱动模块,同时加载网卡驱动,激活网卡,启动EtherCAT通信协议栈,在其数据链路层通过KherCAT通信协议的SoEGercos over EtherCAT)协议发送主轴转速控制指令给伺服装置22,从而控制电机23主轴旋转。嵌入式Linux数控系统主站1与数控系统从站2之间的通信由EtherCAT的SoE协议实现,该协议通过标准网口 RJ45网口实现通信功能。通过设置伺服装置的伺服参数设置EtherCAT通信协议总线的周期时间。根据SoE协议中规定的速度控制模式下周期性数据报文MDT (Master DataTelegram主站数据报)和AT (Driver Telegram驱动数据包)与KherCAT周期性数据帧传输的对应关系建立主轴的软电路层,并将该软电路层编译加载到嵌入式Linux数控系统主站1的软体部分的驱动层中,该软电路层的功能是通a^herCAT协议周期性地将伺服的输出过程数据(MDT)发送到数控系统从站2的伺服装置22侧,并周期性地将伺服装置22的输入过程数据(AT)读取到嵌入式Linux数控系统主站1中,实现闭环控制。如图2所示,嵌入式Linux数控系统主站1控制模块11软体部分中驱动层的软电路层内的运动控制层实现运动控制功能,生成主轴速度给定值,通过软电路层的运动控制层发出主轴速度经过单位换算模块换算后输出速度指令值;通过主轴控制层的速度反馈值经过单位换算模块换算后向运动控制层输入主轴速度,运动控制层读入到该反馈的主轴速度,并进行进一步的控制处理。数控系统从站2伺服装置22的速度反馈值单位为0. OOOlrpm,经过单位换算模块的单位换算后传送到运动控制层侧的主轴转速输入的单位为rps。运动控制层侧的主轴转速输出的单位为rpm,经过单位换算模块的单位换算后传送到数控系统从站2伺服装置22侧的速度给定值单位为0. OOOlrpm0例如,数控系统从站2伺服装置22反馈回的速度反馈值=600000,单位为0. OOOlrpm,即60rpm,经过单位换算模块换算到运动控制层侧的主轴转速输入=600000/10000/60 = lrps。运动控制层侧的主轴转速输出=60rpm,经过单位换算模块换算后传送到数控系统从站2伺服装置22的速度给定值=60*10000 = 600000,单位为0.OOOlrpm0本发明的用于数控系统电机主轴转速的控制方法,采用闭环控制的方法首先,建立一个嵌入式Linux数控系统主站(简称主站),将数控系统内的伺服装置及与伺服装置连接的电机作为数控系统从站(简称从站),采用EtherCAT通信协议总线使嵌入式Linux数控系统主站与数控系统从站进行通信连接。建立的嵌入式Linux数控系统主站的具体结构如图1、2所示。在嵌入式Linux数控系统主站内设置嵌入式硬件平台和设置于嵌入式硬件平台上的软件部分;在软件部分中,设置嵌入式Linux用户空间和嵌入式Linux内核空间;在嵌入式Linux用户空间里的应用层内置放包含SoE协议的EtherCAT通信协议栈;采用嵌入式Linux操作系统,设计一软电路层,在软电路层内设置运动控制层、主轴控制层及两者之间的单位换算模块。编写软电路层的配置文件,在配置文件中定义两个线程基础线程和伺服线程。基础线程是通过EtherCAT协议周期性地将对伺服装置的输出过程数据发送到从站伺服装置侧;伺服线程是周期性地将伺服装置反馈的过程数据读取到主站中,以致实现闭环控制。将这一软电路层加载到嵌入式Linux内核空间里的驱动层内。如图2所示,用户通过上述用户空间里的应用层内的EtherCAT通信协议栈内的SoE协议向驱动层的软电路层中的主轴控制层发出启动从站的伺服装置进入可操作状态的请求,当伺服装置进入可操作状态后,发出主轴控制字,主轴控制层通过肚herCAT通信协议总线向数控系统从站发出该主轴控制字,使能于数控系统从站中伺服装置;软电路层中的运动控制层设置主轴速度给定值,经过单位换算模块换算后发出速度指令值,主轴控制层将该速度指令值通过KherCAT通信协议总线发送到伺服装置,伺服装置控制电机按其速度指令值旋转;伺服装置控制电机的运转状态通过KherCAT通信协议总线反馈给软电路层的主轴控制层,主轴控制层发出驱动状态字通过EtherCAT通信协议栈内的SoE协议反馈到用嵌入式Linux用户空间的应用层;伺服装置控制电机的转速通过EtherCAT通信协议总线反馈到软电路层内的主轴控制层,主轴控制层输出主轴速度反馈值经过单位换算模块换算后的主轴速度反馈发送到运动控制层,运动控制层周期性地发出主轴速度给定值,并周期性地读取速度反馈值,以此完成闭环控制。具体的步骤如图3所示的流程。参见图3,本发明用于数控系统电机主轴转速的控制方法的步骤是第1步01,将设计完成的软电路层加载到首先已建立好的(按照图1、2所建立的)嵌入式Linux数控系统主站的软体部分内的驱动层内(如图2所示)。所设计的软电路层内包含运动控制层、主轴控制层及两者之间的单位换算模块。编写软电路层的配置文件中定义两个线程基础线程和伺服线程。基础线程是通过KherCAT协议周期性地将对伺服装置的输出过程数据发送到从站伺服装置侧;伺服线程是周期性地将伺服装置的输入过程数据读取到主站中,以致实现闭环控制。第2步02,启动主站,主站向从站发送启动伺服装置进入可操作状态的请求。具体地是用户通过主站软体部分中的嵌入式Linux用户空间里的应用层内的EtherCAT通信协议栈内的SoE协议,并通过驱动层的软电路层向从站的伺服装置发送启动伺服装置进入可操作状态的请求。第3步03,伺服装置接收进入可操作状态的请求后,是否进入可操作状态?如果没有进入可操作状态,进行第4步04,如果已进入可操作状态,则进行第5步。第4步04,当伺服装置接收到启动进入可操作状态的请求后,没能进入可操作状态,伺服装置报警,并给出其错误的标志。第5步05,主站通过软电路层设置主站控制字使能从站的伺服装置。当伺服装置显示已进入可操作状态,用户通过嵌入式Linux用户空间里的应用层内的EtherCAT通信协议栈内的SoE协议向驱动层的软电路层中的主轴控制层发出主轴控制字,主轴控制层通过EtherCAT通信协议总线向从站发出该主轴控制字,使能于从站中的伺服装置。第6步06,主站驱动层中软电路层内的运动控制层设置主轴速度给定值,并发给主轴控制层速度指令值,主轴控制层再将该速度指令值发送给从站的伺服装置。具体的如图2所示,软电路层内的运动控制层设置的主轴速度给定值,经过单位换算模块换算后向主轴控制层发出速度指令值,主轴控制层将该速度指令值通过EtherCAT通信协议传送到从站的伺服装置。第7步07,从站的伺服装置按照接收到上述的速度指令值控制电机旋转。第8步08,从站的伺服装置将状态及速度反馈值通过主轴控制层传送给运动控制层。具体的如图2所示,伺服装置控制电机的运转状态通过EtherCAT通信协议总线反馈给软电路层的主轴控制层,主轴控制层发出驱动状态字通过EtherCAT通信协议栈内的SoE协议反馈到嵌入式Linux用户空间的应用层;伺服装置控制电机的转速通过KherCAT通信协议总线反馈到软电路层内的主轴控制层,主轴控制层输出主轴速度反馈值经过单位换算模块换算后的主轴速度反馈到运动控制层,至此完成闭环控制。第9步09,完成闭环控制后,主站通过软电路层设置主站控制字下令关闭从站的伺服装置。程序结束。
权利要求
1.一种用于数控系统电机主轴转速的控制系统,其特征在于,包括嵌入式Linux数控系统主站和数控系统从站,嵌入式Linux数控系统主站与数控系统从站之间通过EtherCAT通信协议总线相互通信连接;所述嵌入式Linux数控系统主站包括控制模块和主站接口模块;所述控制模块包括带有网卡的嵌入式硬件平台和运行于嵌入式硬件平台上的软体部分;所述软体部分里包括嵌入式Linux用户空间和嵌入式Linux内核空间;所嵌入式Linux用户空间里的应用层内置有包含SoE协议的EtherCAT通信协议栈;所述嵌入式Linux内核空间里置有嵌入式Linux操作系统以及包含软电路层、EtherCAT通信协议栈内态驱动模块和网卡驱动模块的驱动层;所述数控系统从站包括带有从站接口的伺服装置和与其连接的电机,其中从站接口与上述嵌入式Linux数控系统主站内的主站接口模块连接;所述嵌入式Linux数控系统主站通过嵌入式Linux用户空间里的应用层内的EtherCAT通信协议栈内的SoE协议向软电路层发出主轴控制字,使能于数控系统从站内的伺服装置;通过嵌入式Linux内核空间里的软电路层周期性地发出速度指令值,并通过KherCAT通信协议总线传送给数控系统从站内的伺服装置,伺服装置按照接收到该速度指令值控制电机旋转;伺服装置通过EtherCAT通信协议总线周期性地将速度反馈值反馈给嵌入式Linux数控系统主站内驱动层内的软电路层,以此完成闭环控制。
2.根据权利要求1所述的用于数控系统电机主轴转速的控制系统,其特征在于,所述嵌入式Linux数控系统主站中控制模块内软体部分内的位于嵌入式Linux内核空间里的驱动层内的软电路层内包括运动控制层,电机控制层以及位于运动控制层与电机控制层之间的单位换算模块。
3.一种用于数控系统电机主轴转速的控制方法,其特征在于采用闭环控制的方法首先建立一个嵌入式Linux数控系统主站,将数控系统内的伺服装置及与伺服装置连接的电机作为数控系统从站,采用EtherCAT通信协议总线使嵌入式Linux数控系统主站与数控系统从站进行通信连接;在嵌入式Linux数控系统主站内设置嵌入式硬件平台和置于嵌入式硬件平台上的软件部分;在软件部分中,设置嵌入式Linux用户空间和嵌入式Linux内核空间;在嵌入式Linux用户空间里的应用层内置放包含SoE协议的EtherCAT通信协议栈;采用嵌入式Linux操作系统,设计一软电路层,在软电路层内设置运动控制层、主轴控制层及两者之间的单位换算模块;编写软电路层的配置文件,在配置文件中定义两个线程基础线程和伺服线程;基础线程是通过EtherCAT协议周期性地将对伺服装置的输出过程数据发送到数控系统从站的伺服装置侧;伺服线程是周期性地将伺服装置反馈的过程数据读取到嵌入式Linux数控系统主站中,以致实现闭环控制;将这一软电路层加载到嵌入式Linux内核空间里的驱动层内;用户通过上述嵌入式Linux用户空间里的应用层内的EtherCAT通信协议栈内的SoE协议向驱动层的软电路层中的主轴控制层发出启动从站的伺服装置进入可操作状态的请求,当伺服装置进入可操作状态后,发出主轴控制字,主轴控制层通过EtherCAT通信协议总线向数控系统从站发出该主轴控制字,使能于数控系统从站中伺服装置;软电路层中的运动控制层设置主轴速度给定值,经过单位换算模块换算后发出速度指令值,主轴控制层将该速度指令值通过KherCAT通信协议总线送到伺服装置,伺服装置控制电机按其速度指令值旋转;伺服装置控制电机的运转状态通过KherCAT通信协议总线反馈给软电路层的主轴控制层,主轴控制层发出驱动状态字通过EtherCAT通信协议栈内的SoE协议反馈到用户空间的应用层;伺服装置控制电机的转速通过KherCAT通信协议总线反馈到软电路层内的主轴控制层,主轴控制层输出主轴速度反馈值经过单位换算模块换算后的主轴速度反馈到运动控制层,运动控制层周期性地发出主轴速度给定值,并周期性地读取主轴速度反馈值,以此完成闭环控制。
全文摘要
一种用于数控系统电机主轴转速的控制系统及方法,控制系统中包括嵌入式Linux数控系统主站和通过EtherCAT通信协议总线通信连接的数控系统从站。嵌入式Linux数控系统主站通过软电路层周期性地向数控系统从站的伺服装置发送速度指令值控制电机按其旋转;数控系统从站的伺服装置周期性地将速度反馈值反馈给嵌入式Linux数控系统主站,构成全闭环控制系统。本发明的控制方法采用闭环控制方法,本发明基本上无干扰,稳定性较好,故障率低,传送速度快,全闭环控制的循环时间达到1μs,控制精度可达到1nm,电机主轴的转速达到16000rpm,稳定性和可靠性都得到了保障。
文档编号G05D13/62GK102393762SQ20111025333
公开日2012年3月28日 申请日期2011年8月30日 优先权日2011年8月30日
发明者叶华, 李春良, 高春风 申请人:上海三一精机有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1