多轴运动控制系统及其控制方法

文档序号:6303935阅读:1510来源:国知局
多轴运动控制系统及其控制方法
【专利摘要】本发明公开了多轴运动控制系统及其控制方法,涉及机械设计及其自动化【技术领域】。所述控制系统包括上位机、多轴运动控制卡以及执行机构,所述上位机用于下发运动指令并接收和显示运动控制卡的状态信息;所述多轴运动控制卡用于接收上位机下发的运动指令,并根据指令实现通讯接口、脉冲输出、I/O状态管理、轴轨迹规划、执行PLC运算;所述执行机构用于接收多轴运动控制卡输出的脉冲信号并根据脉冲信号驱动多轴运动。本系统及其方法充分利用了运动控制卡中FPGA的可编程特性,集成了PCI接口芯片IP核,以及具有FIFO型和双口RAM两种通道的缓冲模块,在提高运动控制卡集成度的同时,实现了数据的分类传输。
【专利说明】多轴运动控制系统及其控制方法
【技术领域】
[0001]本发明涉及机械设计及其自动化【技术领域】,尤其涉及一种多轴运动控制系统及其控制方法。
【背景技术】
[0002]伴随着计算机的普及以及工业控制领域的多样化,开放式运动控制卡逐渐成为自动化设备的主流控制系统,典型的开放型控制系统采用PC机与运动控制卡结合的方式实现。目前通用型运动控制卡中,基于DSP+FPGA的架构逐渐成熟,此种架构结合了 DSP的高速浮点运算和FPGA高精度的脉冲控制、灵活性等优点,满足了各种自动化设备的控制需求。主要涉及到两个方向的数据流,一是由上位机发送到运动控制卡,二是由运动控制卡发送给上位机,如图4所示。
[0003]上位机到运动控制卡的数据,首先通过Win32API发送给PCI驱动程序,然后PCI驱动会通过PCI接口和运动控制卡的PCI接口芯片发送到运动控制卡上。运动控制卡中一般会通过FIFO型或者双口 RAM缓冲芯片作为缓冲区,通过缓冲区再将数据发送给DSP。经过DSP处理后,数据会发送给FPGA进行输出或者相应的配置操作。由运动控制卡发送给上位机的数据,由于控制卡是PCI从设备,不能主动向上位机发送,只能将数据写入运动控制卡中的缓冲芯片上,然后上位机采用定时器轮询或单独线程轮询的方式来获知其各种状态。
[0004]在现有的DSP+FPGA架构的运动控制卡中,为了缩短开发周期,外围PCI接口芯片、缓冲芯片常采用专用电路,没有充分利用FPGA的可编程特性。同时,控制系统中数据种类繁多,以及通用型运动控制卡集成功能多样,使得数据和指令的传输以及执行会有优先级的划分。比如控制过程中急停指令、探针功能、报警信号等,要求系统要对这些数据和指令做出快速反应,那么上位机到运动控制卡的单一通讯信道是不能满足这种多样化需求的。

【发明内容】

[0005]本发明所要解决的技术问题是提供一种多轴运动控制系统及其控制方法,本系统及其方法充分利用了运动控制卡中FPGA的可编程特性,集成了 PCI接口芯片IP核,以及具有FIFO型和双口 RAM两种通道的缓冲模块,在提高运动控制卡集成度的同时,实现了数据的分类传输。
[0006]为解决上述技术问题,本发明所采取的技术方案是:一种多轴运动控制系统,其特征在于:所述控制系统包括上位机、多轴运动控制卡以及执行机构,所述上位机用于下发运动指令并接收和显示运动控制卡的状态信息;所述多轴运动控制卡用于接收上位机下发的运动指令,并根据指令实现通讯接口、脉冲输出、I/o状态管理、轴轨迹规划、执行PLC运算;所述执行机构用于接收多轴运动控制卡输出的脉冲信号并根据脉冲信号驱动多轴运动。
[0007]优选的,所述上位机中设置有基于Windows平台的接口模块函数库,用于实现初始化、脉冲输出设置、位置速度设置、单轴运动、多轴插补、轴停止、在线参数调整、补偿、回零、编码器相关、I/o控制、PLC相关和PID参数设置。
[0008]优选的,所述上位机中设置有基于Windows平台的PCI驱动,上位机发送数据时,PCI驱动根据调用的不同的接口函数,区分此条指令是普通指令还是紧急指令,然后选择相应的通讯信道下发数据给FIFO或者双口 RAM,上位机程序中定时调用的读取数据函数,会通过驱动程序定时将双口 RAM中整块的数据读取上来,并在上位机程序中实时显示,实现数据的上传下传。
[0009]优选的,所述运动控制卡的处理器包括DSP和FPGA,FPGA用于实现通讯接口、脉冲输出和I/o状态管理;DSP用于实现轴轨迹规划、执行PLC运算。
[0010]优选的,所述FPGA包括PCI接口芯片IP核、一个FIFO通道以及两个双口 RAM通道,所述PCI接口芯片IP核用于实现运动控制卡与上位机通过PCI接口连接,所述FIFO通道和一个双口 RAM通道用于传输上位机到运动控制卡的指令,另一个双口 RAM通道用于实现运动控制卡向上位机传送数据。
[0011]优选的,所述FPGA还包括4路RS485串行总线接口,用于连接上位机的触摸屏。
[0012]一种多轴运动控制系统的控制方法,其特征在于所述方法包括以下步骤:1)上位机向多轴运动控制卡发送指令;2)多轴运动控制卡接收上位机发送的指令,并对该指令进行处理,将处理后的指令转换为脉冲命令输出给执行机构;与此同时,多轴运动控制卡将现场的实时数据定时写入上位机,上位机将上述数据进行处理并显示;3)执行机构接收多轴运动控制卡传送的脉冲命令,驱动多轴运动。
[0013]优选的,上位机通过I/O操作将数据发送到PCI驱动程序,PCI驱动程序接着将数据写入运动控制卡的存储器中;上位机采用定时器轮询或单独线程轮询运动控制卡的状态寄存器来获知其各种状态。
[0014]优选的,多轴运动控制卡接收上位机发送的指令,如果为普通指令,则通过FIFO通道发送给DSP,并存储到DSP上存放普通指令的消息队列中等待处理;如果为紧急指令,则通过双口 RAM通道发送给DSP,并存储到DSP上存放紧急指令的消息队列中,并且打断普通指令直接进行处理。
[0015]优选的,DSP中的数据流处理完后,所有状态都由DSP中的DPRAM通道向上位机上传,并根据上位机的轮询机制决定何时上传。
[0016]采用上述技术方案所产生的有益效果在于:本系统及其方法充分利用了运动控制卡中FPGA的可编程特性,集成了 PCI接口芯片IP核,以及具有FIFO型和双口 RAM两种通道的缓冲模块,在提高运动控制卡集成度的同时,实现了数据的分类传输,提高了系统的集成度和灵活性,降低成本。所述系统采用多种通讯信道,使系统中各部分之间数据的交换更加合理,并且使本系统中的运动控制卡可以适用于多种应用场景,扩大了所述系统的使用范围。
【专利附图】

【附图说明】
[0017]下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0018]图1是本发明运动控制卡与上位机的整体数据流向框架图;
[0019]图2是本发明运动控制卡与上位机主机的整体数据流向框架图;
[0020]图3是运动控制卡RS485串口通讯示意图;[0021]图4是现有技术控制系统结构示意图。
【具体实施方式】
[0022]基于【背景技术】所述,本发明提供了以下技术方案解决现有技术中存在的问题:
[0023]本发明公开了两个技术主题,多轴运动控制系统以及专门适用于该系统的控制方法。
[0024]一种多轴运动控制系统,所述控制系统包括上位机、多轴运动控制卡以及执行机构,所述上位机用于下发运动指令并接收和显示运动控制卡的状态信息;所述多轴运动控制卡用于接收上位机下发的运动指令,并根据指令实现通讯接口、脉冲输出、I/o状态管理、轴轨迹规划、执行PLC运算;所述执行机构用于接收多轴运动控制卡输出的脉冲信号并根据脉冲信号驱动多轴运动。
[0025]相应的本发明还提供了一种控制方法,所述方法包括以下步骤:1)上位机向多轴运动控制卡发送指令;2)多轴运动控制卡接收上位机发送的指令,并对该指令进行处理,将处理后的指令转换为脉冲命令输出给执行机构;与此同时,多轴运动控制卡将现场的实时数据定时写入上位机,上位机将上述数据进行处理并显示;3)执行机构接收多轴运动控制卡传送的脉冲命令,驱动多轴运动。
[0026]以上是本申请的核心思想,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027]在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
[0028]下面通过具体实施例进行说明。
[0029]实施例一
[0030]如图1所不,一种多轴运动控制系统,所述控制系统包括上位机、多轴运动控制卡以及执行机构,所述上位机用于下发运动指令并接收和显示运动控制卡的状态信息;所述多轴运动控制卡用于接收上位机下发的运动指令,并根据指令实现通讯接口、脉冲输出、I/O状态管理、轴轨迹规划、执行PLC运算;所述执行机构用于接收多轴运动控制卡输出的脉冲信号并根据脉冲信号驱动多轴运动。
[0031]运动控制卡中,FPGA负责实现通讯接口、脉冲输出和I/O状态管理等功能,DSP负责轨迹规划、执行PLC等复杂运算。FPGA采用ALTERA公司的EP4CE40F23C8N,该芯片集成了 PCI接口芯片IP核,用于实现通过PCI和上位机数据交换。FPGA中的缓冲模块一个FIFO通道以及两个双口 RAM通道,所述FIFO通道和一个双口 RAM通道用于传输上位机到运动控制卡的指令,另一个双口 RAM通道用于实现运动控制卡向上位机传送数据。FIFO通道为先进先出的队列,数据发送较慢,双口 RAM支持两个独立的CPU或控制器同时访问,数据吞吐率高。
[0032]上位机向运动控制卡发送的数据,如果为普通指令,则通过FIFO通道发送给DSP,并存储到DSP上存放普通指令的消息队列中等待处理;如果为紧急指令,则通过双口 RAM通道发送给DSP,并存储到DSP上存放紧急指令的消息队列中,并且打断普通指令直接进行处理;控制现场的实时数据会被一个定时执行的任务写入向上位机发送数据的双口 RAM通道中,以供上位机通过PCI驱动定时读取。
[0033]FPGA中还包括4路RS485串行总线接口,实现基于Modbus RTU协议的通讯,可用于连接支持组态软件开发上位机的触摸屏,也可以通过RS485总线,结合自主研发的PLC编译仿真工具软件,实现PLC逻辑的在线以及离线仿真,RS485的通讯波特率是可以自由配置的。使用本运动控制卡独立的电源模块供电,则可以结合触摸屏构成不使用上位机的独立式运动控制系统。
[0034]DSP采用德州仪器的TMS320C6713,时钟最高频率为300MHz,支持32位高速浮点运算。DSP通过EMIF (External Memory Interface),即外部存储器接口,与FPGA之间实现数据交换。
[0035]Windows平台下的接口函数库,提供了初始化函数、脉冲输出设置函数、位置速度设置函数、单轴运动函数、多轴插补函数、轴停止函数、在线参数调整函数、补偿函数、回零函数、编码器相关函数、IO控制函数、PLC相关函数和PID参数设置等一系列接口函数。用户只需要设置参数要求,调用函数就可以将数据传递给运动控制卡。
[0036]Windows PCI驱动,主要实现数据的上传下传。上位机发送数据时,PCI驱动会根据调用的不同的接口函数,区分此条指令时普通指令还是紧急指令,然后选择相应的通讯信道下发数据给FIFO或者双口 RAM。上位机程序中定时调用的读取数据函数,会通过驱动程序定时将双口 RAM中整块的数据读取上来,并在上位机程序中实时显示。
[0037]如图2所示,一种多轴运动控制系统的控制方法,所述方法包括以下步骤:1)上位机向多轴运动控制卡发送指令;2)多轴运动控制卡接收上位机发送的指令,并对该指令进行处理,将处理后的指令转换为脉冲命令输出给执行机构;与此同时,多轴运动控制卡将现场的实时数据定时写入上位机,上位机将上述数据进行处理并显示;3)执行机构接收多轴运动控制卡传送的脉冲命令,驱动多轴运动。
[0038]APP层:用户的上位机应用程序,负责用户的输入输出,将用户输入指令往下发送;与此同时,它也接收运动控制卡的状态信息。
[0039]PCI层:驱动程序所在的地方,上位机通过I/O操作将数据发送到PCI驱动程序,PCI驱动程序接着将数据写入运动控制卡的存储器中;另外,PCI设备是从设备,只能被动接收指令和数据,无法主动给上位机发送指令或数据,所以PCI驱动程序无法实时的通知上位机。如果PCI设备要主动给上位机发送数据,只能采用定时器轮询,或单独线程轮询运动控制卡的状态寄存器来获知其各种状态。
[0040]FPGA层:FPGA接收PCI发下来的命令时,会分两个存储空间:FIF0与DPRAM,FIF0是先进先出,执行指令相对来说会比较慢一点,而DPRAM会打断FIFO的指令,马上获得执行,因此其执行指令的速度会比FIFO快,故用于一些需要紧急处理的指令传送;上传缓冲区则统一采用DPRAM,由上位机定时去轮询而得到数据。
[0041]DSP层:运动控制卡的主要数据处理都放在了 DSP中,其数据来源是由FPGA送下来,并存于FIFO缓冲区中,而数据流处理完后的所有状态都由DSP中的DPRAM往上传,而何时上传,则是由上位机的轮询机制决定;
[0042]如图3所示,在只有PLC逻辑控制的控制系统中,本控制卡可以运行PLC梯形图程序,实现复杂的逻辑过程,并通过RS485接口跟触摸屏相连。触摸屏和控制卡形成控制系统;PLC编译仿真工具和控制卡实现在线离线仿真。
[0043]上位机和运动控制卡的数据通讯,都是是基于Modbus协议通过RS485串行总线传输的。上位机按照Modbus协议规定的报文格式发送数据到运动控制卡,运动控制卡接收串口数据时会有一个串口缓冲区进行数据存储,再通过定时执行的任务,将缓冲区数据读取到DSP中进行处理。DSP返回报文信息时,同样需要先把数据写入发送缓冲区,在发送缓冲区接到数据以后,FPGA将按照设定的波特率把缓冲区的数据通过RS485总线发送到上位机。
[0044]优点,本系统及其方法充分利用了运动控制卡中FPGA的可编程特性,集成了 PCI接口芯片IP核,以及具有FIFO型和双口 RAM两种通道的缓冲模块,在提高运动控制卡集成度的同时,实现了数据的分类传输,提高了系统的集成度和灵活性,降低成本。采用多种通讯信道的,使系统中各部分之间数据的交换更加合理,并且使本运动控制卡可以适用于多种应用场景。
【权利要求】
1.一种多轴运动控制系统,其特征在于:所述控制系统包括上位机、多轴运动控制卡以及执行机构,所述上位机用于下发运动指令并接收和显示运动控制卡的状态信息;所述多轴运动控制卡用于接收上位机下发的运动指令,并根据指令实现通讯接口、脉冲输出、I/O状态管理、轴轨迹规划、执行PLC运算;所述执行机构用于接收多轴运动控制卡输出的脉冲信号并根据脉冲信号驱动多轴运动。
2.根据权利要求1所述的多轴运动控制系统,其特征在于:所述上位机中设置有基于Windows平台的接口模块函数库,用于实现初始化、脉冲输出设置、位置速度设置、单轴运动、多轴插补、轴停止、在线参数调整、补偿、回零、编码器相关、I/O控制、PLC相关和PID参数设置。
3.根据权利要求2所述的多轴运动控制系统,其特征在于:所述上位机中设置有基于Windows平台的PCI驱动,上位机发送数据时,PCI驱动根据调用的不同的接口函数,区分此条指令是普通指令还是紧急指令,然后选择相应的通讯信道下发数据给FIFO或者双口RAM,上位机程序中定时调用的读取数据函数,会通过驱动程序定时将双口 RAM中整块的数据读取上来,并在上位机程序中实时显示,实现数据的上传下传。
4.根据权利要求1所述的多轴运动控制系统,其特征在于:所述运动控制卡的处理器包括DSP和FPGA,FPGA用于实现通讯接口、脉冲输出和I/O状态管理;DSP用于实现轴轨迹规划、执行PLC运算。
5.根据权利要求4所述的多轴运动控制系统,其特征在于:所述FPGA包括PCI接口芯片IP核、一个FIFO通道以及两个双口 RAM通道,所述PCI接口芯片IP核用于实现运动控制卡与上位机通过PCI接口连接,所述FIFO通道和一个双口 RAM通道用于传输上位机到运动控制卡的指令,另一个双口 RAM通道用于实现运动控制卡向上位机传送数据。
6.根据权利要求4所述的多轴运动控制系统,其特征在于:所述FPGA还包括4路RS485串行总线接口,用于连接上位机的触摸屏。
7.一种多轴运动控制系统的控制方法,其特征在于所述方法包括以下步骤:1)上位机向多轴运动控制卡发送指令;2)多轴运动控制卡接收上位机发送的指令,并对该指令进行处理,将处理后的指令转换为脉冲命令输出给执行机构;与此同时,多轴运动控制卡将现场的实时数据定时写入上位机,上位机将上述数据进行处理并显示;3)执行机构接收多轴运动控制卡传送的脉冲命令,驱动多轴运动。
8.根据权利要求7所述的多轴运动控制系统的控制方法,其特征在于:上位机通过I/O操作将数据发送到PCI驱动程序,PCI驱动程序接着将数据写入运动控制卡的存储器中;上位机采用定时器轮询或单独线程轮询运动控制卡的状态寄存器来获知其各种状态。
9.根据权利要求7所述的多轴运动控制系统的控制方法,其特征在于:多轴运动控制卡接收上位机发送的指令,如果为普通指令,则通过FIFO通道发送给DSP,并存储到DSP上存放普通指令的消息队列中等待处理;如果为紧急指令,则通过双口 RAM通道发送给DSP,并存储到DSP上存放紧急指令的消息队列中,并且打断普通指令直接进行处理。
10.根据权利要求7所述的多轴运动控制系统的控制方法,其特征在于:DSP中的数据流处理完后,所有状态都由DSP中的DPRAM通道向上位机上传,并根据上位机的轮询机制决定何时上传。
【文档编号】G05B19/414GK103941648SQ201410084094
【公开日】2014年7月23日 申请日期:2014年3月7日 优先权日:2014年3月7日
【发明者】李松, 莫广锋, 黄水永, 高选全, 吴杰文 申请人:东莞市升力智能科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1