一种伺服驱动器的控制方法

文档序号:7852132阅读:321来源:国知局
专利名称:一种伺服驱动器的控制方法
技术领域
本发明涉及一种控制方法,尤其是涉及ー种伺服驱动器的控制方法,更具体的是涉及一种基于SOE通信协议伺服驱动器的控制方法。
背景技术
伺服驱动器已从模拟控制发展到全数字控制,而且其性能也得到了不断完善。但是控制任务对伺服控制的要求也越来越高,它要求伺服驱动器有更高的速度,更高的精度。这就要求伺服驱动器不仅自身的控制芯片有更高的速度,也要求伺服驱动器与上位机的通信有更高的通信速率。而采用已有的传统通信方式存在模拟信号传输精度较差,脉冲信 号通信速度较低,无法满足当前伺服控制系统高速高精度的要求。如已有的专利申请号为201020676417. 7,提供“ 一种基于EtherCAT网络的交流伺服控制系統”,它公开了ー种基于EtherCAT网络的交流伺服控制系统,提出了基于EtherCAT网络控制多个交流伺服系统的方案,该系统中主站和从站均支持EtherCAT协议,对于伺服驱动器需要ー个支持EtherCAT协议的通讯卡。该控制系统虽然比以前的控制系统有所进步,但速度和准确度仍然达不到要求。

发明内容
本发明的目的是为了提供ー种具有更高的控制速度和更高的可靠性的伺服驱动器的控制方法,将具有专用伺服通信协议标准的SOE通信协议用于伺服驱动器的控制中,使伺服驱动器(伺服驱动器和控制对象称为从站)能够迅速地与上位机(或称主站)进行通讯,能够将上位机(主站)的控制命令迅速地控制到控制对象以及将控制对象的运行数据和运行状态迅速地返回给上位机,以能够在线修改參数和实时观测运转状态。本发明为了达到上述的目的所采取的技术方案提供一种伺服驱动器的控制方法,所述伺服驱动器内包括ETllOO芯片和与其连接的DSP (数字信号处理器)处理器;选择ETllOO芯片的内部含有处理SOE通信协议的物理层和数据链路层,双端口内存和四个同步管理器;DSP处理器采用SOE通信协议(具有伺服专用通信协议标准的控制參数)通讯的控制方法;在DSP处理器中设置为三层运行程序(软件部分),包括应用层、SOE协议层和ETllOO驱动层。所述ETllOO驱动层用于DSP处理器与ET1100芯片之间的数据通讯。在这ー层中设置寄存器模块、邮箱数据模块、过程数据模块以及与ETllOO芯片内部四个同步管理器相对应的四个(O 3个)同步管理器模块,DSP处理器通过ETllOO芯片内的双端口内存读写寄存器模块(或称ESC寄存器模块,其ESC为从站控制器)、邮箱数据模块和过程数据模块的信息。其中邮箱数据模块和过程数据模块通过同步管理器模块与ETllOO芯片内部的同步管理器进行数据交换(ET1100芯片内的同步管理器负责与以太网物理接ロ总线上的数据进行数据交換),完成邮箱数据模块和过程数据模块与ETllOO芯片之间的数据交換。所述SOE协议层用于SOE通信协议中过程数据处理及状态机的处理。在这ー层中设置邮箱通信接ロ模块,过程数据映射模块,服务通道模块,IDN (參数标示编号)參数模块以及状态机处理模块。所述过程数据映射模块和服务通道模块通过邮箱通信接ロ模块与ETllOO驱动层进行数据交換。经过过程数据映射模块和服务通道模块交換的数据再与IDN參数模块进行交換。其过程数据映射模块从邮箱通信接ロ模块中获取相关的数据,经过SOE通信协议转换后对相应的IDN (參数标示编号)參数进行读写并对IDN參数模块中的IDN參数进行更新。IDN參数用干与应用层的数据交換。所述状态机处理模块通过ETl 100驱动层中的寄存器模块完成状态的读取和状态的设置以及对伺服驱动器的状态进行处理。所述应用层用于上位机(主站)和伺服驱动器之间的数据交换,使用SOE通信协议程序通过读写相关IDN參数完成对于控制对象的控制以及对控制对象的运行数据和状态的反馈。本发明伺服驱动器的控制方法具有显著的进步。如上述本发明的控制方法,因为本发明的控制方法中选择的ETllOO芯片的内部含有处理SOE通信协议的物理层和数据链路层,与ETllOO芯片连接的DSP处理器采用SOE通信协议通讯的方法控制控制对象。所以本发明伺服驱动器的控制方法是基于SOE通信协 议的基础。因为SOE通信协议是在EtherCAT通信协议下运行SERCOS设备的行规。所以本发明的控制方法既利用了 EtherCAT (实时以太网通信总线)的高速、高可靠性,也利用了SERCOS (串行实时通讯协议)伺服专用协议的标准。使得伺服驱动器不仅具有高速,高可靠的通信和较高的控制性能,也具有伺服专用通信协议标准的控制參数。能够和其他任何遵循这种协议的上位机(主站)连接,具有良好的通用性。因此能够组成大型的控制网络,如I个总线网络中可以最多有65535个伺服驱动器。如上述本发明的控制方法,因为本发明的控制方法中,在DSP处理器内的ETllOO驱动层上设置了与ETllOO芯片内部相对应的四个同步管理器模块。所以,当ETllOO芯片接收上位机(主站)的各种指令的同时DSP处理器能够同时接到同样的指令,同时进入所要求的状态。能够在极短的时间内完成插补运算。使得伺服驱动器的通信速率最大能够达到100M/S。通过ETl 100芯片同步触发信号可达到较高的同步精度,能够很方便地实现多个伺服驱动器的同步控制。满足了伺服控制高速、高精度的要求。如上述本发明的控制方法,因为本发明的控制方法中,在DSP处理器内的SOE协议层上设置了邮箱通信接ロ模块,过程数据映射模块,服务通道模块,IDN參数模块以及状态机处理模块。这就能够具体地使用SOE通信协议中的伺服专用通信协议标准的控制參数,继承了 SERCOS协议中ー些IDN參数。所以伺服器驱动器有较强的通用性和ー些标准的控制參数。可以和基于EtherCAT的其他协议共存,具有较好的兼容性。因此伺服器驱动器可以和基于EtherCAT协议的设备组成大型的控制网络。实现了 SOE通信协议所具有的一切优点。通过ETllOO芯片同步触发信号的处理可使伺服驱动器之间的同步时间可达到小于Ius的时钟同步精度。所以本发明伺服驱动器的控制方法具有较高的可靠性、快速性和稳定性。如上述本发明的控制方法,因为本发明的控制方法中,在DSP处理器内设置了应用层,在应用层中使用SOE通信协议程序通过读写相关IDN參数完成对控制对象的控制和对控制对象运行数据和状态的反馈。使得伺服驱动器能够对于參数在线进行修改和读取操作。上位机(或称主站)也就能够对控制对象的參数和运行状态实时进行监控。由于本发明采用SoE通信协议的通讯控制方法,这样带有普通网ロ的设备(主机)即可作为上位机无需额外的硬件,降低了伺服驱动器对控制器的要求。


图I是本发明控制方法在DSP处理器中设置三层运行程序一实施例的结构示意 图2是本发明控制方法一实施例的伺服驱动器的结构示意 图3是本发明控制方法一实施例的伺服控制系统的结构示意 图4是本发明控制方法中DSP处理器内SOE协议层上状态机处理模块一实施例的状态机状态转换的示意 图5是本发明控制方法具体控制步骤ー实施例的流程 图6是本发明控制方法一实施例的中断函数处理流程图。
具体实施例方式 下面结合附图进ー步说明本发明控制方法的技术特征。本发明伺服驱动器的控制方法中,所述伺服驱动器内包括ETllOO芯片2和与其连接的DSP处理器3 (如图2所示)。在DSP处理器中设置为三层运行程序(软件部分),如图I所示,包括用于上位机(主站)与伺服驱动器之间进行数据交换的应用层01,用于处理SOE通信协议中过程数据和状态机(或称为EtherCAT状态机)的SOE协议层02以及用于DSP处理器与ETllOO芯片之间进行数据通讯的ETllOO驱动层03。如图I所示,在本实施例中,所述ETllOO驱动层03中设置寄存器模块、邮箱数据模块、过程数据模块以及与ETllOO芯片内部相对应的O 3四个同步管理器模块。所述邮箱数据模块和过程数据模块通过同步管理器模块与ETllOO芯片之间进行数据交換。如图I所示,在本实施例中,所述SOE协议层02中设置邮箱通信接ロ模块,过程数据映射模块,服务通道模块,IDN參数模块以及状态机处理模块。所述过程数据映射模块和服务通道模块通过邮箱通信接ロ模块与ETllOO驱动层03进行数据交換。经过过程数据映射模块和服务通道模块交換的数据再与IDN參数模块进行交換。具体地是,过程数据映射模块从邮箱通信接ロ中获取相关的过程数据(周期性过程数据)经过SOE通信协议转换后对相应的IDN參数模块中的IDN參数进行更新。其IDN參数用干与应用层01的数据交換。邮箱通信接ロ模块用于从ETllOO驱动层03中的邮箱数据模块和过程数据模块中获得数据。所述状态机处理模块(或称EtherCAT状态机处理模块)通过ET1100驱动层03中的寄存器模块(或称ESC寄存器模块)完成状态读取和状态的设置以及对伺服驱动器的运行状态进行处理。如图I所示,在本实施例中,所述应用层01设置使用SOE通信协议程序,通过读写相关IDN參数模块的參数完成对于控制对象(在本实施例中为伺服电机)的控制和对于控制对象(伺服电机)运行数据和状态的反馈。所述伺服驱动器内包括支持SOE通信协议的ETllOO芯片2和与其连接的支持SOE通信协议的DSP处理器3。其中ETllOO芯片2选择内部含有处理SOE通信协议的物理层和数据链路层,双端口内存和四个同步管理器。在本实施例中,伺服驱动器的具体结构如图2所示,ETllOO芯片2通过网络接ロ I与上位机(主站或其他网络设备)通讯连接,ETl 100芯片2接收网络接ロ I输出的数据,并将数据通过双端ロ内存输出给与其连接的DSP处理器3 ; DSP处理器3对双端ロ内存数据进行读取并通过DSP处理器3内部设置的三层运行程序进行SOE通信协议的解析和处理后得到控制命令,控制命令通过功率驱动模块4将其功率放大后控制伺服电机的运行;与DSP处理器3相连接的位置反馈模块5的数据反馈给DSP处理器3。该反馈数据一方面用于控制对象(伺服电机)的控制,另ー方面DSP处理器将反馈数据转化为SOE通信协议參数数据,ETl 100芯片接收DSP处理器输出的SOE通信协议參数数据写入ETllOO芯片的双端口内存中并将其转换为网络数据后输出。也就是说,DSP处理器接收位置反馈模块输出的反馈数据和控制对象(伺服驱动器)的运行状态再通过ETllOO芯片2和网络接ロ I反馈给上位机(主站)。因为本发明控制方法的伺服驱动器具有很好的通用性和兼容性,所以在本实施例中,如图3所示,一上位机(主站)同时控制1、2、…、η个伺服驱动器。一上位机发送控制字和控制命令同步到达各个伺服驱动器1、2···、η个,各伺服驱动器迅速返回状态字和反馈数据到上位机,上位机和各伺服驱动器通过SOE通信协议的通信完成数据的交互以此实现对各伺服电机的控制。所述SOE协议层02中过程数据映射模块所映射的过程数据为周期性过程数据。在本实施例中,周期性过程数据包括输出过程数据(上位机数据电报数据内容)和输入过程数据(控制对象电报数据内容)。周期性过程数据由參数IDN0015 (周期性过程数据的类型)、參数IDN0024 (上位机数据电报配置列表)和參数IDN0016 (控制对象电报数据配置列表)配置确定。參数IDN0015设定了周期性过程数据的类型。输出过程数据包括伺服控制字和指令数据。其指令数据由參数IDN0024配置。输入过程数据包括状态字和反馈数据,其反馈数据由參数IDN0016配置。伺服驱动器可以以自由运行模式(查询模式)或同步模式(中断模式)处理周期性过程数据。所述服务通道模块(或称SOE服务通道模块)用于非周期性过程数据交換。如读写IDN參数及其元素,其操作包括SSC (S0E服务通道)读操作、SSC写操作、SSC过程命令和SSC控制对象信息服务。所述SOE协议层02中状态机处理模块(或称EtherCAT状态机处理模块)用于协调上位机与伺服驱动器运行状态的状态关系。在本实施例中,状态机处理模块中状态机各状态转换关系如图4所示。状态机处理模块的状态与SERCOS协议的通信阶段相近。从初始状态向运行状态转化吋,必须按照“初始化-预运行-安全运行-运行”的顺序转化。不可 以越级转化。从运行状态返回时可以越级转化。在初始状态时(初始化阶段),完成邮箱通信配置;在预运行状态时(预运行阶段)配置过程邮箱通信和配置ETllOO驱动层的同步信号。系统时钟同步以后,同步信号将为各个伺服驱动器提供同步的中断信号和精确的时间标记;在安全运行状态时(安全运行阶段)开始周期性数据传输,但输出数据无效。在运行状态时(运行阶段)输入和输出数据都有效。本发明伺服驱动器控制方法的具体控制步骤,在本实施例中,如图5所示。第一歩,伺服驱动器将状态切換到初始状态首先,伺服驱动器通过网络接ロ与上位机通讯连接,当伺服驱动器接收到上位机发送的初始状态请求后,伺服驱动器将状态切换到初始状态,并将该初始状态返回给上位机。第二歩,伺服驱动器将初始状态切换到预操作状态伺服驱动器在当上位机接收到伺服驱动器的初始状态标志后,上位机对伺服驱动器进行地址设置和邮箱通信通道配置井向伺服驱动器发出预操作状态请求后,伺服驱动器接收到上位机所发出的预操作状态的请求以及对于邮箱通信通道配置成功后,伺服驱动器将初始状态切换到预操作状态并将该预操作状态返回给上位机。
第三歩,伺服驱动器将预操作状态切换到安全运行状态伺服驱动器在当上位机接收到伺服驱动器的预操作状态标志后,上位机与伺服驱动器进行邮箱通信完成SOE通信协议中过程数据的数据映射配置和同步配置。伺服驱动器(DSP处理器)根据上位机的配置信息完成通信过程中过程数据的过程数据映射,然后再进行过程数据通信通道配置。伺服驱动器将在中断函数里处理周期性过程数据的更新。如果有同步配置则进行同步配置。并在接收到上位机的安全运行状态请求后,伺服驱动器将预操作状态切换到安全运行状态并将该安全运行状态返回给上位机。在本实施例中的详细过程上位机在接收到伺服驱动器返回的预操作状态标志后,上位机与伺服驱动器进行邮箱通信,将參数IDN0015配置为自定义模式,參数IDN0024列表配置为状态字和速度反馈值以及參数IDN0016列表配置为控制字和速度指令值。根据同步周期进行同步周期配置,最后上位机发送安全运行状态请求。伺服驱动器根据上位机所发出的參数IDN0015、參数IDN0024和參数IDN0016的配置信息完成过程数据的数据映射。然后再进行过程数据通信通道配置,在进入同步模式后,伺服驱动器将在中断函数里处理周期性过程数据的更新,中断函数处理流程如图6所示。 如图6所示,在中断函数中如果有过程数据输出事件且对输出更新使能时,对输出数据(控制字和速度指令值)进行更新;如果有过程输入事件且对输入更新使能时,则对输入数据(状态字和速度反馈值)进行更新。由于采用中断方式处理ETllOO芯片的同步信号,在本实施例中,与ETllOO芯片同步信号的刷新周期可达10ns。因此伺服驱动器可达到较高的同步精度。伺服驱动器几乎是在接收的同时更新速度指令值,从而到达同步控制的目的。如果没有同步配置则伺服驱动器以查询方式处理周期性过程数据的更新。在安全运行状态时,过程数据中的输入、输出数据开始传输,但输出数据无效。第四歩,伺服驱动器将安全运行状态切换到运行状态上位机在接收到伺服驱动器的安全运行状态标志后,如果有IDN參数配置则进行IDN參数配置,配置完成后上位机发送运行状态请求。如果没有IDN參数配置,上位机直接发送运行状态请求;伺服驱动器接收到上位机发送的运行状态请求,如果接收到上位机有IDN參数配置则进行IDN參数更新配置后,将安全运行状态切换到运行状态;如果没有收到上位机有IDN參数配置,则伺服驱动器收到运行状态请求后,直接将安全运行状态切换到运行状态并将该运行状态返回给上位机;在运行状态时输入、输出数据都有效。第五步,伺服驱动器进入运行状态,接收并解析上位机所发送的控制字、速度和位置指令对控制对象(伺服电机)进行控制,同时将伺服驱动器的状态字、控制对象(伺服电机)的速度和位置值反馈给上位机。如果有IDN參数的读写操作则进行相应IDN參数的读写和更新操作。至此实现对控制对象(伺服电机)的控制。实现參数的在线修改功能和对控制对象(伺服电机)的实时监控功能。
权利要求
1.一种伺服驱动器的控制方法,所述伺服驱动器内包括ETllOO芯片和与其连接的DSP处理器,其特征在干 选择ETllOO芯片的内部含有处理SOE通信协议的物理层和数据链路层,双端口内存和四个同步管理器;DSP处理器采用SOE通信协议通讯的控制方法,在DSP处理器中设置为三层运行程序,包括应用层、SOE协议层和ETllOO驱动层; 所述ETllOO驱动层用于DSP处理器与ETllOO芯片之间的数据通讯,在这ー层中设置寄存器模块、邮箱数据模块、过程数据模块以及与ETllOO芯片内部四个同步管理器相对应的四个同步管理器模块,DSP处理器通过ETllOO芯片内的双端口内存读写寄存器模块、邮箱数据模块和过程数据模块的信息,其中邮箱数据模块和过程数据模块通过同步管理器模块与ETllOO芯片内部的同步管理器进行数据交换,完成邮箱数据模块和过程数据模块与ETllOO芯片之间的数据交换; 所述SOE协议层用于SOE通信协议中过程数据处理及状态机的处理,在这ー层中设置邮箱通信接ロ模块,过程数据映射模块,服务通道模块,IDN參数模块和状态机处理模块,所述过程数据映射模块和服务通道模块通过邮箱通信接ロ模块与ETllOO驱动层进行数据交换,经过过程数据映射模块和服务通道模块交換的数据再与IDN參数模块进行交換,其过程数据映射模块从邮箱通信接ロ模块中获取相关的数据经过SOE通信协议转换后对相应的IDN參数进行读写并对IDN參数模块中的IDN參数进行更新,IDN參数用干与应用层的数据交换,所述状态机处理模块通过ETllOO驱动层中寄存器模块完成状态读取和状态的设置,同时对伺服驱动器的状态进行处理; 所述应用层用于上位机和伺服驱动器之间的数据交换,在这ー层中,使用SOE通信协议程序通过读写相关IDN參数完成对控制对象的控制以及对控制对象运行数据和状态的反馈。
2.根据权利要求I所述的伺服驱动器的控制方法,其特征在于,所述SOE协议层中过程数据映射模块所映射的过程数据包括周期性过程数据和非周期过程数据。
3.根据权利要求2所述的伺服驱动器的控制方法,其特征在干,所述周期性过程数据由參数IDN0015、參数IDN0024和參数IDN0016配置确定。
4.根据权利要求I所述的伺服驱动器的控制方法,其特征在于,伺服驱动器控制方法的具体控制步骤为 第一歩,伺服驱动器将状态切換到初始状态首先,伺服驱动器通过网络接ロ与上位机通讯连接,当伺服驱动器接收到上位机发送的初始状态请求后,伺服驱动器将状态切換到初始状态,并将该初始状态返回给上位机; 第二歩,伺服驱动器将初始状态切换到预操作状态伺服驱动器在当上位机接收到伺服驱动器的初始状态标志后,即对伺服驱动器进行地址设置和邮箱通信通道配置后发出预操作状态请求,伺服驱动器接收到上位机所发出的预操作状态的请求和对邮箱通信通道配置成功后,伺服驱动器将初始状态切换到预操作状态并将该预操作状态返回给上位机;第三歩,伺服驱动器将预操作状态切换到安全运行状态伺服驱动器在当上位机接收到伺服驱动器的预操作状态标志后,上位机与伺服驱动器进行邮箱通信完成SOE通信协议中过程数据的数据映射配置和同步配置,伺服驱动器根据上位机的配置信息完成通信过程中过程数据的过程数据映射,然后再进行过程数据通信通道配置,伺服驱动器在中断函数里处理周期性过程数据的更新,如果有同步配置则进入同步配置,并在接收到上位机的安全运行状态请求后,伺服驱动器将预操作状态切换到安全运行状态并将该安全运行状态返回给上位机; 第四步,伺服驱动器将安全运行状态切换到运行状态伺服驱动器接收到上位机发送的运行状态请求,如果接收到上位机有IDN參数配置则进行IDN參数更新配置后,将安全运行状态切换到运行状态;如果没有收到上位机有IDN參数配置,则伺服驱动器接收到运行状态请求后,直接将安全运行状态切换到运行状态并将该运行状态返回给上位机; 第五步,伺服驱动器进入运行状态,接收并解析上位机所发送的控制字、速度和位置指令对控制对象进行控制,同时将伺服驱动器的状态字、控制对象的速度和位置值反馈給上位机;如果有IDN參数的读写操作则进行相应IDN參数的读写和更新操作,通过IDN的读写操作实现參数的在线修改功能和对控制对象的实时监控功能。
全文摘要
一种伺服驱动器的控制方法,所述伺服驱动器内包括ET1100芯片和与其连接的DSP处理器。选择ET1100芯片的内部含有处理SOE通信协议的物理层和数据链路层,双端口内存和四个同步管理器。DSP处理器采用SOE通信协议通讯的控制方法,在DSP处理器中设置为三层运行程序,包括用于上位机和伺服驱动器之间的数据交换的应用层,用于SOE通信协议中过程数据处理及状态机处理的SOE协议层和用于DSP处理器与ET1100芯片之间进行数据通讯的ET1100驱动层。具有SOE通信协议所具有的一切优点。具有良好的通用性和同步性,能够组成大型的控制网络。能够对控制对象的参数和运行状态实时进行监控。
文档编号H04L29/06GK102685146SQ20121016838
公开日2012年9月19日 申请日期2012年5月28日 优先权日2012年5月28日
发明者叶华, 张坤, 陈广博 申请人:上海三一精机有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1