理论教育 脉冲输出指令的应用举例

脉冲输出指令的应用举例

时间:2023-06-27 理论教育 版权反馈
【摘要】:CPU 214有两个脉冲输出,可以用来产生控制步进电动机驱动器的脉冲。图4-56脉冲输出指令应用示意图4-57脉冲输出指令应用流程1.硬件要求表4-21设备清单2.程序和注释初始化。在程序的第一个扫描周期,为两种脉冲输出功能选择参数,本例从中选择了PTO,并规定了脉冲周期和脉冲数。在完整的脉冲序列输出后,中断程序 0将标志M0.1复位,从而使电动机能够重新启动。

脉冲输出指令的应用举例

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结束

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈