前言:
在工业控制步进电机或者伺服电机时候,经常会用到位置模式。简单说就是脉冲+方向控制模式。脉冲简单说就是类似心电图上脉搏跳动的电压或电流波形。
能产生脉冲信号的器件或设备有很多,而PLC控制比较方便,它可以产生不同频率、不同周期、甚至不同脉宽的脉冲信号,而这些信号的输出离不开脉冲输出指令的驱动。相比于STC单片机或者是STM32单片机控制起来更加的方便,只需要调用相对应的指令就可以控制匀加速或者匀减速等等。
在利用PLC三菱脉冲输出指令之前,先了解下脉冲的波形。
一、脉冲输出波形
如下图所示为脉冲输出信号的波形及相关变量。脉冲输出是一个连续的周期性信号,其中t为每个脉冲导通时间,即脉冲宽度;T为脉冲周期;频率f为周期的倒数,含义是每秒产生的脉冲个数,。
PLC的高速脉冲输出信号按脉宽分有两种,一种是占空比为50%的固定脉宽的脉冲串,另一种是脉宽可调的脉冲串。显然,D=50%的脉冲信号,其ON导通时间(t)与OFF关闭时间相等,而脉宽可调,其实就是所谓的PWM。本文所讲述的脉冲输出指的是第一种。
PLC的脉冲输出一般用于控制步进电机或伺服电机的运转,在FX 2N中,其高速脉冲输出口规定只能为Y0、Y1,这些高速脉冲的输出由指令控制,然后直接控制驱动器,进而控制电机的运行,最终实现位置的控制。
另外,想要实现高速脉冲输出,就必须得选择晶体管型输出的PLC型号。而且PLC的脉冲输出是以中断方式输出的,不受扫描周期的影响,如相关指令的驱动条件断开,其脉冲的输出也会立即停止,直到驱动条件再次接通。
二、脉冲输出指令PLSY
几个脉冲输出指令中最简单的就是PLSY,其编程手册截图如下图所示。PLSY指令可用于16位,也可用于32位,具体可根据脉冲数进行选择。这里要注意的是,该指令没有脉冲执行型。
PLSY指令的梯形图形式亦如图所示,其操作数有3个,源址S1、S2分别为输出脉冲频率或其存储地址、输出脉冲个数或其存储地址。终址D为指定的脉冲输出口,只能为Y0或Y1。当驱动条件成立时,执行PLSY指令,PLC从输出口D输出一个频率为S1、个数为S2,占空比为50%的高速脉冲。当X0接通,PLC的Y0输出口输出频率为1000Hz、个数存储在寄存器D0中的脉冲波。
PLSY指令比较简单,三有一点值得注意的是,若脉冲个数为K0,不是指输出脉冲个数为0(S2=0),而是指脉冲的连续输出,即驱动条件接通,脉冲就一直输出,不计个数,直到驱动条件断开,如执行指令PLSY K1000 K0 Y1。
在PLC 2N中,脉冲频率和个数都是有相关规定的,PLSY指令所能指定的脉冲频率为2~20000Hz,脉冲个数用于16位时为1~32767,用于32位时为1~2147483647。
三、带加减速的脉冲输出指令PLSR
PLSR指令和PLSY指令的最大区别在于是否带加减速,所谓“加减速”,其实就是频率的加减,因为频率代表的就是速度的快慢,频率越大,脉冲周期就越短,每秒输出的脉冲个数就越多,控制电机的转速就越快。
PLSR指令的编程手册截图和梯形图形式如下图所示。PLSR的操作数有4个,比PLSY多出一个S3,为加减速时间,单位是ms;而S1为脉冲的最高频率;S2为总的脉冲个数;D依然是输出口地址,只能为Y0或Y1。
S1输出频率与频率个数的规定,于PLSR指令而言是10~20000Hz,而且设定值必须是10的整数倍,例如500Hz、1000Hz等,而不能是501Hz、1001Hz等。总输出脉冲数用于16位时为110~32767,用于32位时为110~2147483647,若(S2)<110,脉冲将不能正常输出。以图22-4为例,当驱动条件X10接通时,PLC将在Y0输出口输出最高频率为500Hz、脉冲总数为(D0)、加减速时间为3600ms、占空比为50%的脉冲串。
那么,S1的设定为什么是10的整数倍呢?这是因为在加减速期间,指令将频率设定值分为10个阶梯加减,每个阶梯对应频率增量为1/10×(S1)Hz,所以S1的值为10的整数倍才能够被10整除,
既然有了PLSY指令,为什么还要开发PLSR指令呢?也就是说,为什么要增加“加减速”这个功能?这就和步进电机的工作原理有关了。步进电机是将脉冲信号转变为角位移或线位移的开环控制元步进电机件,若PLC的输出脉冲很大,直接以该大频率脉冲驱动电机,电机在起动之初,其转速为0,不能一下子达到大的转速,从而造成失步现象。同理,电机在停转的时候若速度很快,也不能一下子就停止,很可能会造成过冲现象。所以,增加加减速时间可以让电机避免失步和过冲现象
四、可变速脉冲输出指令PLSV
PLSV指令的编程手册截图如上图,有3个操作数,源址S为输出脉冲频率或其存储地址,用于16位时的取值范围为1~32767Hz和-1~-32767Hz,用于32位时的取值范围为1~100000Hz和-1~-100000Hz。D1为脉冲输出口,仍然是只能为Y0或Y1。D2为旋转方向信号输出地址,当D2=ON时为正转,D2=OFF时为反转。
以图的梯形图为例,当驱动条件M0接通,PLC将在Y0输出口输出频率为10000Hz的脉冲串,若Y4=ON,表示输出频率为正值,若Y4=OFF,表示输出频率为负值。
和PLSY、PLSR指令不同,PLSV指令不能设定脉冲个数,所以它不能用于定位。虽然PLSV指令不能用于精确定位,但它在脉冲输出的过程中,可以自由改变输出脉冲的频率(S),用于电机控制时,就可以随时控制电机的转速和转向。
这里要注意的一点是,若脉冲频率S的值为0,脉冲输出将停止,而且是直接停止,而不是像PLSR那样有减速时间。
PLSY指令、PLSR指令或者是PLSV指令都是脉冲输出指令,它们的执行会涉及到几个特殊辅助继电器和特殊数据寄存器
相关特殊软元件
其中M8147、M8148为脉冲输出监控,若Y0或Y1有脉冲输出,对应辅助继电器将为ON。而M8145、M8146为脉冲输出停止,如果指令的驱动条件不能断开,就可以通过M8145、M8146来停止Y0或Y1的脉冲输出。M8029就不用我多说了,表格已经写明
上图为相关特殊数据寄存器列表。各个数据寄存器的值不会自动更改,所以我们可以用DMOV指令进行清零。
PLSY指令、PLSR指令和PLSV指令的脉冲输出口都是Y0或Y1,所以,三个指令显然不可能同时使用,只能三选二或其中一个指令用两次,并在Y0和Y1输出口得到各自独立的脉冲输出。
五 实物效果展示:
如需以上软件,请在评论区留下联系方式。
全部评论