一种逐脉冲调制方法和系统与流程

文档序号:17625821发布日期:2019-05-10 23:38阅读:356来源:国知局
一种逐脉冲调制方法和系统与流程

本发明涉及脉冲领域,尤其是一种逐脉冲调制方法和系统。



背景技术:

可编程逻辑控制器plc广泛应用于自动化场合,plc通过高速脉冲输出的方式控制步进驱动器或者是伺服驱动器,从而精确控制电机的位置和速度,实现自动化设备的复杂工艺流程动作。

plc高速脉冲输出频率最高可达200khz、500khz,甚至是8mhz的超高速频率,当前的实现方式其一是采用微处理器mcu的定时器资源,利用定时器外设发出期望频率的脉冲个数;其次是利用fpga的硬件并行特性,将fpga编程为发送高速脉冲的外设,利用cpu与fpga的数据交互来控制fpga脉冲发送的频率和个数。当前上述两种方式实现的脉冲发送都是基于分段的思想,即plc在每个分段周期内,根据指令速度的要求算出需要发送的脉冲个数,然后再依次将每一段的脉冲个数和频率传给脉冲发送外设,最后脉冲发送外设利用定时器资源或者是fpga资源,根据每一段脉冲的频率和个数在一个分段周期内发送固定频率的固定脉冲数。通过不同周期内发送不同频率、不同个数的脉冲来改变电机驱动的位置和速度,从而实现plc脉冲控制电机的加减速和匀速控制等过程。

现有技术中,由于是在每一段内发送固定频率的脉冲,每一个分段周期之间存在较大频率的跳变,特别是在高加速度的情况下,频率的台阶跳变更明显,对脉冲的加减速存在不均匀,存在驱动电机不稳定、抖动等现象,特别是步进驱动器的低速控制。当前方案主要是针对每一段脉冲的调制过程,只能控制段与段之间的脉冲频率增量,并不能控制每一个脉冲频率,因此无法做到真正意义上的脉冲均匀加减速控制。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的是提供一种逐脉冲调制方法和系统,脉冲频率均匀变化,脉冲输出均匀。

本发明所采用的技术方案是:

第一方面,本发明提供一种逐脉冲调制方法,包括:

逐脉冲调制预处理步骤:根据脉冲指令对需要发送的指令脉冲进行逐脉冲调制预处理以获取所述指令脉冲的调制信息;

逐脉冲调制输出步骤:根据所述调制信息进行逐脉冲调制并输出所述指令脉冲。

进一步地,所述逐脉冲调制预处理步骤包括:

脉冲预设信息生成子步骤:根据所述脉冲指令生成所述指令脉冲的脉冲预设信息,所述脉冲预设信息包括预设脉冲个数、预设起始频率、预设结束频率和预设加减速时间;

分段子步骤:将所述指令脉冲按照预设分段数进行分段以获取多个脉冲段,并获取所述脉冲段的起始频率、所述脉冲段的结束频率和所述脉冲段的脉冲个数;

逐脉冲调制预处理子步骤:根据所述脉冲段的脉冲个数、所述脉冲段的起始频率、所述脉冲段的结束频率均分频率变化量至所述脉冲段的每一个脉冲上,所述频率变化量为所述脉冲段的结束频率和所述脉冲段的起始频率的差值;

校正子步骤:获取逐脉冲调制预处理后的脉冲的加减速时间,根据所述加减速时间和预设加减速时间调整每个脉冲段以获取所述调制信息,所述调制信息包括每个脉冲段的新起始频率、每个脉冲段的新结束频率、每个脉冲段的新脉冲个数。

进一步地,所述逐脉冲调制输出步骤包括:

脉冲指令数据获取子步骤:获取所述调制信息;

逐脉冲频率调制子步骤:根据所述调制信息获取单个脉冲的控制参数;

脉冲输出子步骤:根据所述单个脉冲的控制参数输出所述指令脉冲。

进一步地,所述逐脉冲调制输出步骤还包括:

控制数据获取子步骤:获取脉冲的控制数据,所述控制数据包括逐脉冲调制控制数据和脉冲输出控制数据;

缓存计算控制子步骤:根据所述脉冲调制控制数据控制逐脉冲频率调制过程中的缓存计算;

脉冲输出控制子步骤:根据所述脉冲输出控制数据控制是否停止输出所述指令脉冲。

进一步地,所述逐脉冲调制方法还包括:

脉冲指令生成步骤:通过plc编程生成所述脉冲指令。

进一步地,利用cpu执行所述逐脉冲调制预处理步骤。

进一步地,利用fpga执行所述逐脉冲调制输出步骤。

第二方面,本发明提供一种逐脉冲调制系统,包括:

逐脉冲调制预处理单元,用于根据脉冲指令对需要发送的指令脉冲进行逐脉冲调制预处理以获取所述指令脉冲的调制信息;

逐脉冲调制输出单元,用于根据所述调制信息进行逐脉冲调制并输出所述指令脉冲。

进一步地,所述逐脉冲调制预处理单元包括cpu。

进一步地,所述逐脉冲调制输出单元包括fpga。

本发明的有益效果是:

本发明根据脉冲指令进行逐脉冲调制预处理以获取调制信息,并根据调制信息实现逐脉冲调制以输出指令脉冲,输出的脉冲的频率均匀变化,保证脉冲输出均匀,避免出现频率增量大、脉冲输出不均匀而导致电机抖动厉害的现象。

另外,本发明还通过将脉冲段的频率变化量均分至脉冲段的每个脉冲上,并通过加减速时间校正实现逐脉冲调制预处理,获得指令脉冲的调制信息。

附图说明

图1是本发明中一种逐脉冲调制系统的一具体实施例结构示意图;

图2是本发明中一种逐脉冲调制系统的逐脉冲调制预处理单元的一具体实施例工作过程示意图;

图3是本发明中一种逐脉冲调制系统的逐脉冲调制输出单元的一具体实施例结构示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

实施例1

参考图1,图1是本发明中一种逐脉冲调制系统的一具体实施例结构示意图;逐脉冲调制系统包括:

脉冲指令生成单元,用于通过plc编程生成脉冲指令;脉冲指令生成单元可采用pc来实现,pc端的plc编程软件通过编程不同类型的plc指令,包含脉冲指令等,并通过通信方式将脉冲指令下载至逐脉冲调制预处理单元;

逐脉冲调制预处理单元,用于根据脉冲指令对需要发送的指令脉冲进行逐脉冲调制预处理以获取指令脉冲的调制信息;逐脉冲调制预处理单元包括cpu(如mcu或mpu)。

逐脉冲调制输出单元,用于根据调制信息进行逐脉冲调制并输出指令脉冲;逐脉冲调制输出单元包括fpga。

本实施例中,逐脉冲调制系统基于fpga的plc逐脉冲调制方法,可以针对逐个脉冲进行频率调制,从而实现每一个脉冲都保持频率的均匀变化,使得plc控制电机的过程更加平稳。另外,在fpga平台基础之上,充分利用mcu/mpu等cpu处理器资源。由于fpga处理浮点计算非常浪费逻辑资源,所以利用cpu处理器辅助处理浮点数的计算,利用双处理器的硬件结构来实现逐脉冲调制过程,降低调制成本。

参考图2,图2是本发明中一种逐脉冲调制系统的逐脉冲调制预处理单元的一具体实施例工作过程示意图;cpu包括以下功能模块:

脉冲预设信息生成模块,用于根据脉冲指令生成指令脉冲的脉冲预设信息,脉冲预设信息包括预设脉冲个数、预设起始频率、预设结束频率和预设加减速时间;

分段模块,用于将指令脉冲按照预设分段数进行粗略分段以获取多个脉冲段,并获取脉冲段的起始频率、脉冲段的结束频率和脉冲段的脉冲个数;

逐脉冲调制预处理模块,用于根据脉冲段的脉冲个数、脉冲段的起始频率、脉冲段的结束频率均分频率变化量至脉冲段的每一个脉冲上,使得每一个脉冲段内的脉冲均匀增加或减少,频率变化量为脉冲段的结束频率和脉冲段的起始频率的差值;

校正模块,用于获取逐脉冲调制预处理后的脉冲的加减速时间,根据加减速时间和预设加减速时间校正调整每个脉冲段以获取调制信息,使得脉冲的加减速时间满足预设加减速时间的要求,调制信息包括每个脉冲段的新起始频率、每个脉冲段的新结束频率、每个脉冲段的新脉冲个数。

参考图3,图3是本发明中一种逐脉冲调制系统的逐脉冲调制输出单元的一具体实施例结构示意图,fpga包括脉冲指令数据获取模块、逐脉冲频率调制模块、脉冲输出模块、控制数据获取模块和脉冲发送控制模块,脉冲发送控制模块包括缓存计算控制模块和脉冲输出控制模块,脉冲指令数据获取模块、控制数据获取模块均和cpu进行读写交互,脉冲指令数据获取模块与逐脉冲频率调制模块相连,控制数据获取模块与脉冲发送控制模块相连,具体地,控制数据获取模块分别与缓存计算控制模块、脉冲输出控制模块相连,缓存计算控制模块与逐脉冲频率调制模块相连,脉冲输出控制模块与脉冲输出模块相连,逐脉冲频率调制模块与脉冲输出模块相连,其中:

脉冲指令数据获取模块,用于获取cpu输入的调制信息;

逐脉冲频率调制模块,用于根据调制信息获取单个脉冲的控制参数;具体地,根据每一个脉冲段的新起始频率、新结束频率和新脉冲个数等参数计算每一个脉冲段内的单个脉冲的频率增量,然后转换为以时钟单位为基准的时间数,时间数即为控制参数;

脉冲输出模块,用于根据单个脉冲的控制参数和脉冲输出控制数据输出指令脉冲;脉冲频率调制模块和脉冲输出控制模块触发脉冲输出模块后,脉冲输出模块发送指令脉冲的第一个起始频率脉冲,之后按照提前计算好时间数增量发送下一个脉冲频率的脉冲,以此类推发送不间断频率均匀变化的高速指令脉冲;根据每一个脉冲段的参数(新起始频率、新结束频率和新脉冲个数)发出相应的脉冲,由于每个脉冲段的频率彼此衔接,指令脉冲在脉冲段内和脉冲段与脉冲段之间都是均匀变化的;

控制数据获取模块,用于获取cpu输入的脉冲的控制数据,控制数据包括逐脉冲调制控制数据和脉冲输出控制数据;

缓存计算控制模块,用于根据脉冲调制控制数据控制逐脉冲频率调制模块的缓存计算;

脉冲输出控制模块,用于根据脉冲输出控制数据控制脉冲输出模块是否停止输出指令脉冲,脉冲输出控制模块可以控制脉冲输出模块启动或者停止输出指令脉冲。

与现有技术相比,本发明采用逐脉冲加减速调制方法,使得输出的脉冲串是均匀化频率增量,实现plc控制电机更加平稳、振动更小;利用fpga硬件处理方法,结合cpu处理,实现以资源最小化实现逐脉冲加减速调制功能,节约了系统成本;利用fpga并行处理方法,可以实现任意多路的高速脉冲同时并行输出,在不消耗cpu资源前提下实现plc多路高速脉冲。

实施例2

基于实施例1提供实施例2,实施例2提供一种逐脉冲调制方法,参考图1,包括:

脉冲指令生成步骤:通过plc编程生成脉冲指令;此步骤可采用pc来实现,利用pc段的plc编程软件来执行,生成的脉冲指令输入至cpu中;

逐脉冲调制预处理步骤:根据脉冲指令对需要发送的指令脉冲进行逐脉冲调制预处理以获取指令脉冲的调制信息;逐脉冲调制预处理步骤可利用cpu来执行,获得的调制信息输入fpga中。

逐脉冲调制输出步骤:根据调制信息进行逐脉冲调制并输出指令脉冲,逐脉冲调制输出步骤可利用fpga执行。

本发明根据脉冲指令进行逐脉冲调制预处理以获取调制信息,并根据调制信息实现逐脉冲调制以输出指令脉冲,输出的脉冲的频率均匀变化,保证脉冲输出均匀,避免出现频率增量大、脉冲输出不均匀而导致电机抖动厉害的现象。

进一步地,参考图2,cpu的执行过程包括:

脉冲预设信息生成子步骤:根据脉冲指令生成指令脉冲的脉冲预设信息,脉冲预设信息包括预设脉冲个数、预设起始频率、预设结束频率和预设加减速时间;

分段子步骤:将指令脉冲按照预设分段数进行粗略分段以获取多个脉冲段,并获取脉冲段的起始频率、脉冲段的结束频率和脉冲段的脉冲个数;

逐脉冲调制预处理子步骤:在粗略分段的基础之上,再对每一个脉冲段的脉冲进行逐脉冲频率调制预处理,根据脉冲段的脉冲个数、脉冲段的起始频率、脉冲段的结束频率均分频率变化量至脉冲段的每一个脉冲上,频率变化量为脉冲段的结束频率和脉冲段的起始频率的差值;具体地,根据顺序分段可获得每一个脉冲段的起始频率和结束频率,即上一脉冲段的结束频率和下一脉冲段的结束频率,然后根据脉冲段的脉冲个数,均分频率变化量至脉冲段的每一个脉冲上,使得每一个脉冲段内的脉冲均匀增加或减少;

校正子步骤:由于各脉冲频率的调整,原有的加减速时间已经不满足设定要求,需要获取逐脉冲调制预处理后的脉冲的加减速时间,再根据加减速时间和预设加减速时间校正调整每个脉冲段以获取调制信息,使得脉冲的加减速时间符合预设加减速时间的要求,调制信息包括每个脉冲段的新起始频率、每个脉冲段的新结束频率、每个脉冲段的新脉冲个数。另外,cpu将获得的调制信息发送至fpga中。

进一步地,参考图3,fpga的处理过程包括:

脉冲指令数据获取子步骤:获取调制信息;

逐脉冲频率调制子步骤:根据调制信息获取单个脉冲的控制参数;

脉冲输出子步骤:根据单个脉冲的控制参数和脉冲输出控制数据输出指令脉冲;

控制数据获取子步骤:获取脉冲的控制数据,控制数据包括逐脉冲调制控制数据和脉冲输出控制数据;

缓存计算控制子步骤:根据脉冲调制控制数据控制逐脉冲频率调制子步骤执行时的缓存计算;

脉冲输出控制子步骤:根据脉冲输出控制数据控制是否停止输出指令脉冲,可以控制启动或停止输出指令脉冲。

本发明的逐脉冲调制方法中,cpu在扫描到对应的脉冲指令后,将pc端编程输入的参数解析出来,并且做逐脉冲加减速调制的预处理过程,避免fpga做浮点运算消耗过多的逻辑资源,预处理完成后,通过cpu和fpga数据模块,将控制数据传入fpga模块中,通过逐脉冲调制过程,从而完成均匀化的高速脉冲输出。

以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1