CPU 214有两个脉冲输出,可以用来产生控制步进电动机驱动器的脉冲。功率驱动器将控制脉冲按照某种模式转换成步进电动机线圈的电流,产生旋转磁场,使得转子只能按固定的步数(步角)来改变它的位置。连续的脉冲序列产生与其对应的同频率(同步机)步序列。如果控制频率足够高,步进电动机的转动可看作一个连续的转动。
下面用Q0.0的输出脉冲触发步进电动机驱动器。示意图和流程图分别如图4-56和图4-57所示,当输入端I1.0发出“START”(启动)信号后,控制器将输出固定数目的方法脉冲,使步进电动机按对应的步数转动。当输入端I1.1发出“STOP”(停止)信号后,步进电动机停止转动。接在输入端I1.5的方向开关位置决定电动机正转或反转。
图4-56 脉冲输出指令应用示意
图4-57 脉冲输出指令应用流程
1.硬件要求(见表4-21)
表4-21 设备清单
2.程序和注释
(1)初始化。
在程序的第一个扫描周期(SM0.1=1),为两种脉冲输出功能(PTO和PTW)选择参数,本例从中选择了PTO,并规定了脉冲周期和脉冲数。
(2)选择转动方向。
用接在输入端11.5的开关来选择转动方向。如果I1.5=1,将输出Q0.2置成高电位,电动机逆时针转动;如果I1.5=0,将输出Q0.2置成低电位,电动机顺时针转动。为保护电动机避免漏步,电动机转动方向的改变只能在电动机处于停止状态(M0.1=0)时进行。
(3)启动电动机。
启动电动机的3个条件如下:
① 单击“START”(启动)按钮,在输入端I1.0产生脉冲上升沿(从0升到1)。
② 无联锁,即联锁标志M0.2=0。
③ 电动机处于停止状态,即操作标志M0.1=0。
如果同时具备上述3个条件,则将M0.1置位(M0.1=1),控制器执行PLS0指令,在输出端 Q0.0输出脉冲,其他必须预先具备的条件,已经在首次扫描(SM0.1=1)设置,主要是脉冲输出功能的基本数据,如时基、周期和脉冲数。这些数据置于相应的属于PTO/PWM的特殊存储字SWM68、SWM70和SWD72。
(4)停止电动机。
停止电动机的两个条件如下:
① 单击“STOP”(停止)按钮,在输入端产生脉冲上升沿(从“0”升到“1”)。
② 电动机处于转动状态,即操作标志M0.1=1。
如果同时具备上述两个条件,则将标志M0.1复位(M0.1=0),并中断输出端Q0.0的脉冲输出。这与执行PLS0 指令有关,它将脉宽调制(PWM)输出的脉冲宽度减为“0”(所需的基本设置已在第一个扫描周期中定义了),因而输出信号被抑制。
在完整的脉冲序列输出后,中断程序 0将标志M0.1复位(M0.1=0),从而使电动机能够重新启动。为更清晰起见,这部分程序不包括在本例程序流程图中。
(5)联锁。
为保护人员和设备的安全,在单击“STOP”(停止)按钮(I1.1)之后,必须规定驱动器联锁(或称阻塞),将联锁标志M0.2置位(M0.2=1),立即关断驱动器。只有在M0.2复位(M0.2=0)后,才能重新启动电动机。当“STOP”按钮松开后,为防止电动机被意外启动,只有在“START”按钮和“STOP”按钮都松开后,才能将M0.2复位(M0.2=0),如果要再次启动电动机,则必须再发出一个启动信号。
(6)程序清单。
本程序长度为64个字。
//标题:驱动器功能测试
LD SM0.1 //仅首次扫描周期SM0.1位置(SM0.1=1)
MOVW 500,SMW68 //输出脉冲周期为 500 μs
MOVW 0,SMW70 //脉宽为0(脉宽调制)
MOVD 40000,SMD72 输出40000个脉冲(www.daowen.com)
ATCH 0,19 把中断程序0分配给中继事件19(LPS0脉冲输出结束)
ENI //允许中断
//设置转动方向
LDN M0.1 //若电动机处于停止状态
A I1.5 //且转向开关置于1
S Q0.2,1 //则逆时针转动(Q0.2=1)
LDN M0.1 //若电动机处于停止状态
AN I1.5 //且转向开关置于0
R Q0.2,1 //则顺时针转动(Q0.2=0)
//联锁和解除联锁
LD I1.1 //若按“STOP”(停止)按钮
S M0.2,1 //则联锁有效(M0.2=1)
LDN I1.0 //若“START”(启动)按钮松开
AN I1.1 //且“STOP”(停止)按钮松开
R M0.2,1 //则解除连锁(M0.2=0)
//启动电动机
LD I1.0 //若按“START”(启动)按钮
EU //上升沿
AN M0.2 //且无联锁
AN M0.1 //且电动机停止
MOVB 16#85,SMB67 //则置永冲输出功能的控制位
PLS 0 //启动脉冲输出(Q0.0)
S M0.1,1 //电动机运行标志M0.1置位(M0.1=1)
//停止电动机
LD I1.1 //若按“STOP”(停止)按钮
EU 上升沿
A M0.1 //且电动机正在转动
R M0.1,1 //则电动机运行标志M0.1复位(M0.1=0)
MOVO 16#CB,SMB67 //置脉冲输出功能的控制位,PWM的脉宽为0
PLS 0 //输出端Q0.0无脉冲
MEND //主程序结束
//**************************
INT0 //中断程序0
R M0.1,1 //电动机运行标志M0.1复位(M0.1=0)
RET1 //中断程序0结束
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。