一种支持认知的运动控制系统及方法与流程

文档序号:11153319阅读:476来源:国知局
本发明涉及实时通讯运动控制
技术领域
,特别涉及一种支持认知的运动控制方法。
背景技术
:运动控制(MC)是自动化的一个分支,它使用通称为伺服机构的一些设备如液压泵,线性执行机或者是电机来控制机器的位置或速度。运动控制在机器人和数控机床的领域内的应用要比在专用机器中的应用更复杂,因为后者运动形式更简单,通常被称为通用运动控制(GMC)。运动控制被广泛应用在包装、印刷、纺织和装配工业中。运动控制起源于早期的伺服控制。简单地说,运动控制就是对机械运动部件的位置、速度等进行实时的控制管理,使其按照预期的运动轨迹和规定的运动参数进行运动。早期的运动控制技术主要是伴随着数控技术、机器人技术和工厂自动化技术的发展而发展的。早期的运动控制器实际上是可以独立运行的专用的控制器,往往无需另外的处理器和操作系统支持,可以独立完成运动控制功能、工艺技术要求的其他功能和人机交互功能。这类控制器可以成为独立运行的运动控制器。这类控制器主要针对专门的数控机械和其他自动化设备而设计,往往已根据应用行业的工艺要求设计了相关的功能,用户只需要按照其协议要求编写应用加工代码文件,利用RS232或者DNC方式传输到控制器,控制器即可完成相关的动作。这类控制器往往不能离开其特定的工艺要求而跨行业应用,控制器的开放性仅仅依赖于控制器的加工代码协议,用户不能根据应用要求而重组自己的运动控制系统。随着运动控制领域的飞速发展,实时通信需求的不断提升,工业控制器方向由传统的以秒为单位的同步控制演变到微秒级控制。EtherCAT总线技术就是为了适应于更高速的通信速度而提出。目前工业领域主流的总线技术包括Powerlink、CAN总线等,配合不同的厂商多领域的涉及,已经将实时通信技术延展到了更多的领域。针对运动控制领域,各大厂家都提出了基于快速总线通信的解决方案。运动控制产品主要以运动控制卡和运动模型库为主。但现有运动控制器多固化了运动控制模块,在面对应用场景变更,控制要求变更等情况下,都要进行重新设计重新编译部署等工作,因此大大的限制了运动控制器的灵活性。同时现有运动控制器与驱动器之间通信协议种类繁多,因此需要一套标准的通信协议定义出一套通用性的应用层协议格式。综上所述,运动控制器在实现运动控制功能的基础上,还应该支持认知学习,实现对实际运动控制效果的在线调整。另一方面针对通信协议各异、标准不统一的问题,设计基于CANopen应用层协议的运动控制器,将运动控制参数统一映射到构建的统一地址模型中,并通过通信层EtherCAT接口进行实时控制。技术实现要素:本发明所要解决的技术问题在于,提供了一种支持认知的运动控制方法。针对现有技术中存在的上述不足之处,克服现有控制器存在的不足,提供一种基于EtherCAT技术的运动控制方法,不仅能够将伺服驱动器所需数据进行实时采集和传输,还能将数据定义出CANopen应用层模型进行统一管理。同时本发明还提出了一套支持认知学习的解决方案。为解决上述技术问题,本发明提供了一种支持认知的运动控制系统,包括:以太网接口单元、以太网控制单元、SRAM存储单元、主控单元、控制单元、指示灯单元、供电单元,以及:运动控制功能库模块、控制模块、EtherCAT总线通信模块、程序监听模块。所述主控单元优选分别与以太网控制单元、SRAM存储单元、通信接口转换单元、按键单元、指示灯单元、供电单元呈星形连接;所述供电单元为所有单元供电。所述供电单元优选进一步包括降压开关电源模块及其外围保护、滤波、稳压电路;所述降压开关电源模块的输入端连接有防浪涌电路,使本网关具有抗雷击和冲击的性能;所述降压开关电源模块将输入的220V交流电压变为5V直流电压;所述降压开关电源模块和线性稳压器的输出端都设置有滤波电路。所述运动控制功能库模块,可以用于根据被控对象的控制模型建立控制算法库;所述控制模块,可以用于控制被控对象执行运动指令的应用程序主逻辑进程;所述EtherCAT总线通信模块,可以用于控制器和伺服驱动器之间的总线通信,包括状态采集和指令传输;所述程序监听模块,可以用于处理运动控制器的请求响应,其中包括基于网络的更新请求和基于硬件按键的中断请求。为解决上述技术问题,本发明又提供了一种如前述任一项所述支持认知的运动控制系统的使用方法,包括以下步骤:步骤S1:上电,初始化运动控制器;步骤S2:执行运动控制主程序,同时触发执行监听线程和EtherCAT总线通信线程;步骤S3:通过EtherCAT总线协议,检查网络结构,初始化伺服驱动器,实时采集伺服驱动器状态信息;步骤S4:读取伺服驱动器状态参数和运动控制指令解析运动控制模型,生成运动控制指令,若运动控制指令为空,则等待;步骤S5:实时传输运动控制指令,重复步骤S3;步骤S6:若触发硬件中断触发,则执行步骤S1;若触发网络更新请求,则执行程序下载,完毕后执行步骤S1。为解决上述技术问题,本发明另提供了一种支持认知的运动控制方法,包括以下步骤:主控单元执行运动控制主进程,并触发EtherCAT总线通信线程和监听线程;通过EtherCAT总线通信线程,根据EtherCAT总线通信层协议检查网络结构、初始化伺服驱动器;通过监听线程对信号量进行监听:当监听到中断信号,则主控单元重置;当监听到认知线程发送的变更请求时,进行在线更新;同时,通过运动控制主进程解析上位机发来的运动控制任务:根据运动控制任务确定伺服驱动器状态信息参数列表和运动控制指令;根据EtherCAT总线应用层协议实时采集伺服驱动器状态信息,并解析运动控制模型生成控制命令实时传输给伺服驱动器。所述伺服驱动器状态信息优选根据CIA402应用层协议封装,包括状态字、实时速度信息、实时扭矩信息、实时末端位置信息、当前运动控制模式。所述运动控制指令优选根据CIA402应用层协议封装,包括指令字、速度信息、扭矩信息、末端位置信息、运动控制模式。所述认知线程优选用于解析控制器配置信息,监控系统主状态机,检查系统库更新以及想主进程发送变更请求的辅助控制线程。所述认知线程发送变更请求优选包括:当认知线程在监控控制器主状态机和运行库时发现主状态机或运行库有新版本,或者,当基于历史数据的认知学习发现有更优化参数产生时,由认知线程向主进程发送变更请求,主进程调用系统更新服务。本发明产生的有益效果包括:1.采用支持认知的运动控制器进行运动控制,适用于运动控制研究阶段、调试阶段以及后期维护阶段,覆盖整个运动控制产品的生命周期,使运动控制器能够最大限度的适配不同被控对象,大大的降低了维护成本,同时适应于算法研究过程中对在线调试的要求,复用性强。2.本设计通过监听线程的方式实现了运动功能模块的在线更新,使得运动控制器能够最大限度的应用于复杂运动控制场景,同时依托EtherCAT总线接口实现实时控制,网络结构非常灵活。3.能够真正实现运动控制应用层接口的统一化。运动控制器内置EtherCAT通信协议,并通过CANopen应用层协议将伺服驱动器状态参数和控制命令实时进行通信,并且能够保障同步周期在100微秒以内,实现快速有效的运动控制解决方案。附图说明图1为本发明实施例所述支持认知的运动控制系统结构图;图2为本发明实施例所述支持认知的运动控制方法工作原理图;图3为本发明实施例所述支持认知的运动控制系统工作状态机示意图。具体实施方式为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明,但本发明并不局限于这些实施例。本发明支持认知的运动控制方法,适用于各种运动控制应用场景,尤其适用于对认知学习有要求的控制领域。EtherCAT(以太网控制自动化技术)是一个以以太网为基础的开放架构的现场总线系统,EtherCAT名称中的CAT为ControlAutomationTechnology(控制自动化技术)首字母的缩写。最初由德国倍福自动化有限公司(BeckhoffAutomationGmbH)研发。EtherCAT为系统的实时性能和拓扑的灵活性树立了新的标准,同时,它还符合甚至降低了现场总线的使用成本。EtherCAT的特点还包括高精度设备同步,可选线缆冗余,和功能性安全协议(SIL3)。EtherCAT协议针对过程数据进行了优化,它被直接传送到以太网帧,或被压缩到UDP/IP数据报文中。UDP协议在其它子网中的EtherCAT网段由路由器进行寻址的情况下使用。以太网帧可能包含若干个EtherCAT报文,每个报文专门用于特定存储区域,该存储区域可编制大小达4GB的逻辑过程镜像。由于数据链独立于EtherCAT端子物理顺序,因此可以对EtherCAT端子进行任意编址。从站之间可进行广播、多点传送和通讯。EtherCAT协议还可处理通常为非循环的参数通讯。参数的结构和含义通过CANopen设备行规进行设定,这些设备行规用于多种设备类别和应用。EtherCAT还支持符合IEC61491标准的从属行规。该行规以SERCOS命名,被全球运动控制应用领域普遍认可。除了符合主站/从站原理的数据交换外,EtherCAT还非常适用于控制器之间(主站/主站)的通讯。可自由编址的过程数据网络变量以及各种参数化、诊断、编程和远程控制服务,可以满足众多要求。用于主站/从站和主站/主站通讯的数据接口是相同的。CANopen是一种架构在控制局域网路(ControllerAreaNetwork,CAN)上的高层通信协协议,包括通信子协议及设备子协议,常在嵌入式系统中使用,也是工业控制常用到的一种现场总线。CANopen实现了OSI模型中的网络层以上(包括网络层)的协定。CANopen标准包括寻址方案、数个小的通讯子协定及由设备子协定所定义的应用层。CANopen支援网络管理、设备监控及节点间的通讯,其中包括一个简易的传输层,可处理资料的分段传送及其组合。一般而言数据链结层及物理层会用CAN来实作。除了CANopen外,也有其他的通讯协定(如EtherCAT)实作CANopen的设备子协定。CANopen由非营利组织CiA(CANinAutomaion)进行标准的起草及审核工作,基本的CANopen设备及通讯子协定定义在CANinAutomation(CiA)draftstandard301.中。针对个别设备的子协定以CiA301为基础再进行扩充。如针对I/O模组的CiA401及针对运动控制的CiA402。在本发明的一实施例中,为实现本发明目的所采用的技术方案是:一种支持认知的运动控制方法,包括以下步骤:主控单元执行运动控制主进程,并触发EtherCAT总线通信线程和监听线程;通过EtherCAT总线通信线程,根据EtherCAT总线通信层协议检查网络结构、初始化伺服驱动器;通过监听线程对信号量进行监听:当监听到中断信号,则主控单元重置;当监听到认知线程发送的变更请求时,进行在线更新;同时,通过运动控制主进程解析上位机发来的运动控制任务:根据运动控制任务确定伺服驱动器状态信息参数列表和运动控制指令;根据EtherCAT总线应用层协议实时采集伺服驱动器状态信息,并解析运动控制模型生成控制命令实时传输给伺服驱动器。所述伺服驱动器状态信息根据CIA402应用层协议封装,包括状态字、实时速度信息、实时扭矩信息、实时末端位置信息、当前运动控制模式。所述运动控制指令根据CIA402应用层协议封装,包括指令字、速度信息、扭矩信息、末端位置信息、运动控制模式。所述认知线程是用于解析控制器配置信息,监控系统主状态机,检查系统库更新以及想主进程发送变更请求的辅助控制线程。所述认知线程发送变更请求是指当认知线程在监控控制器主状态机和运行库时发现主状态机或运行库有新版本,当基于历史数据的认知学习发现有更优化参数产生时,由认知线程向主进程发送变更请求,主进程调用系统更新服务。所述主进程调用系统更新服务,将运动控制模块更新文件替换当前运动控制模块中的待更新部分的目标代码文件,重新连接生成可调用的运动控制模块包括以下步骤:当更新内容为主状态机时,系统更新服务将停止当前所有服务,重新启动主进程已完成主状态机更新;当更新内容为运行库时,系统更新服务将停止当前运行库更新部分相关服务,并将系统重新链接至新版本库文件,即可完成在线更新;当更新内容为优化参数时,系统更新服务首先检索优化参数名称,查找运动控制模块在内存中的起始地址及偏移量;然后根据起始地址及偏移量调用内存访问接口,将运动控制模块更新文件写入当前内存;最后通过运动控制模块原有连接方法,实现运动控制功能模块的更新,并向主进程发送更新完成信号。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。在本发明的另一实施例中,如图1所示,为本发明实施例所述支持认知的运动控制系统结构图。图中,本发明的运动控制器硬件装置主要包括以太网接口单元、以太网控制单元、SRAM存储单元、主控单元、控制按键和指示灯单元和供电单元。数据处理单元中主控单元与以太网控制单元、SRAM存储单元、通信接口转换模块、控制按键、指示灯单元、供电单元呈星形连接;所述供电单元为数据处理单元中其他所有单元供电。所述主控单元由TI公司生产的AM335x系列Cortex-A8处理器及其外围电路组成;所述SRAM存储器单元由ISSI公司生产的IS61WV102416BLL芯片及其外围电路组成;所述以太网控制单元由TI公司生产的DP83848CVV芯片及其外围电路组成;所述指示灯单元由贴片LED组成;所述供电单元由金升阳公司生产的降压开关电源模块及其外围保护、滤波、稳压电路组成。在降压开关电源模块的输入端连接有防浪涌电路,使本网关具有抗雷击和冲击的性能;降压开关电源模块将输入的220V交流电压变为5V直流电压,由于上述各单元工作电压都为3.3V,因此采用AS1117线性稳压器将电压降为3.3V,在降压开关电源模块和线性稳压器的输出端都设计了滤波电路。本发明的运动应用程序主要包括运动控制功能库、控制主进程、EtherCAT总线通信线程和程序监听线程组成。所述的运动控制功能库,是根据被控对象的控制模型建立的控制算法库;所述的控制主进程,是控制被控对象执行运动指令的应用程序主逻辑进程。所述的EtherCAT总线通信线程,是控制器和伺服驱动器之间的总线通信,包括状态采集和指令传输。所述的程序监听线程,是处理运动控制器的请求响应,其中包括基于网络的更新请求和基于硬件按键的中断请求。在本发明的再一实施例中,如图2所示,为本发明实施例所述支持认知的运动控制方法工作原理图。本发明支持认知的运动控制器,其执行过程包含以下步骤:步骤S1:上电,初始化运动控制器;步骤S2:执行运动控制主程序,同时触发执行监听线程和EtherCAT总线通信线程;步骤S3:通过EtherCAT总线协议,检查网络结构,初始化伺服驱动器,实时采集伺服驱动器状态信息;步骤S4:读取伺服驱动器状态参数和运动控制指令解析运动控制模型,生成运动控制指令,若运动控制指令为空,则等待;步骤S5:实时传输运动控制指令,重复步骤S3;步骤S6:若触发硬件中断触发,则执行步骤S1;若触发网络更新请求,则执行程序下载,完毕后执行步骤S1。下面就本发明的运动控制应用程序部分具体实施方式做进一步详细说明。本实施例中要求确保运动控制器与伺服驱动器之间保持稳定连接。在本发明下一实施例中,如图3所示,为本发明实施例所述支持认知的运动控制系统工作状态机示意图。将运动控制器接通24v直流电,启动控制器,通过运动控制主进程初始化运动控制器,同时触发监听线程和EtherCAT通信线程。当应用任务存在时,控制器状态切换为执行状态,根据伺服驱动器状态参数和运动控制模型解算运动控制,生成运动控制指令,并通过EtherCAT总线协议进行传输,待指令下发后运动控制器状态切换至停止状态。当应用任务不存在时,控制器状态直接切换为停止状态。当运动控制器初始化失败则运动控制器本周期内状态为错误状态。当在执行状态时,运动控制器出现非严重错误则从新执行,若出现严重错误则运动控制器状态切换至停止状态。其中所述的运动控制器监听线程和EtherCAT通信线程只执行一次,而运动控制器任务状态切换是在运动控制器主程序中周期性执行。当运动控制器监听线程接收到中断信号量时,运动控制器中断当前执行任务,关闭监听线程和EtherCAT总线通信线程。若中断信号量为Reset信号时,重新执行运动控制器主进程初始化;若中断信号量为Close信号时,关闭运动控制器主进程。当运动控制器监听线程接收到由上位机发送的运动控制模块更新信号SIGEV_INTR时,主进程向任务线程发送SIGEV_SIGNAL,停止当前运动控制任务,并将通过EtherCAT总线将伺服驱动器运动状态切换至停止状态,同时开始接收上位机发来的运动控制模块更新文件,待接收完成后上位机向主控单元发送接收完成信号SIGEV_DOWN。主进程调用主控单元内嵌操作系统更新服务,替换当前运动控制模块中的待更新部分的目标代码文件,重新连接生成可调用的运动控制模块,向主进程发送SIGEV_NONE,重新初始化主控单元。所述的系统更新服务,是基于共享内存的技术实现的用于对运动控制功能块在线更新的服务,该服务将注册在主控单元内嵌系统的服务挂载目录内,随设备上电初始化启动。所述的更新服务具体执行过程,包括如下步骤:步骤S1:解析认知线程更新请求,获取更新目标来源。步骤S2:若判断目标来源为主状态机,系统更新服务将停止当前所有服务,重新启动主进程已完成主状态机更新;步骤S3:若判断更新内容为运行库,系统更新服务将停止当前运行库更新部分相关服务,并将系统重新链接至新版本库文件,即可完成在线更新;步骤S4:若判断更新内容为优化参数,系统更新服务首先检索优化参数名称查找运动控制模块在内存中的起始地址及偏移量,然后根据起始地址及偏移量调用内存访问接口将运动控制模块更新文件写入当前内存;步骤S5:最后通过运动控制模块原有连接方法实现运动控制功能模块的更新,并向主进程发送更新完成信号。当运动控制器EtherCAT通信线程触发时,则运动控制器将通过EtherCAT总线和伺服驱动器进行通信。将状态信息和控制指令按照CIA402应用层协议进行封装,实现运动控制的接口格式的一致性,且保证运动控制器的通用性。所述的CIA402应用层协议是CANopen针对运动控制领域规定的通信标准,在EtherCAT通信过程中按照CIA402协议定义数据字典,如表1所示,运动指令定义包括控制字数据对象、运行模式定义和运行指令定义等;如表2所示,运动反馈定义包括状态字数据对象、运动模式数据定义以及运动状态定义。表1运动指令定义表索引号类型定义0x607A:004字节位置指令值0x60FF:004字节速度指令值0x6071:002字节扭矩指令值0x6060:001字节运行模式0x6040:002字节控制字表2运动反馈定义表索引号类型定义0x6064:004字节实际位置0x6077:002字节实际扭矩0x606C:004字节实际速度0x60F4:004字节跟随误差0x6061:001字节实际运行状态0x6041:002字节状态字本发明具有良好的交互性与通用性,使用支持认知的高速运动控制器,能够大幅度的缩短运动控制功能研发周期,降低控制器研制成本。同时通用的高速EtherCAT通信接口能够让本发明运动控制器适应于各种运动控制场景。以上所述,仅是本发明的几个实施例,并非对本发明做任何形式的限制,虽然本发明以较佳实施例揭示如上,然而并非用以限制本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案的范围内,利用上述揭示的技术内容做出些许的变动或修饰均等同于等效实施案例,均属于技术方案范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1