当前位置:首页 > 基于S7-200PLC步进电机控制系统本科生毕业设计
苏州大学本科生毕业设计
//包络表子程序PTOSBR_1
LD I0.0
MOVB 3, VB400 //包络表分为3段
MOVW 500, VW401 //第一段周期初值为500μs MOVW -1, VW403 //周期增量为-1 MOVD 400, VD405 //脉冲数为400
MOVW 100,VW409 //第二段周期初值为100μs MOVW 0,VW411 //周期增量为0 MOVD 4000, VD413 //脉冲数为4000
MOVW 100,VW417 //第三段周期初值为100μs MOVW 2,VW419 //周期增量为2 MOVD 200, VD421 //脉冲数为200
//中断程序
LD SM0.0
= Q0.0 //脉冲输出
程序说明:
本段程序中涉及:传送指令MOVE,中断指令ATCH,脉冲输出指令PLC以及子程序调用指令。它们的梯形图符号如图4.12所示:
MOVEENINENOOUTENINTEVNTATCHENOENQ0.XPLSENO子程序名EN
图4.12 各指令符号
MOVE(赋值指令)可以由使能(EN)输入端的信号激活。将在输入端IN的特定
值复制到输出端OUT上的特定地址中。ENO和EN具有相同的逻辑状态。MOVE只能复制 BYTE(字节)、WORD(字)或DWORD(双字)数据对象。
ATCH(中断指令)可以由使能(EN)输入端的信号激活。将一个中断事件和一个
中断程序建立联系,并允许这一中断事件。INT为中断程序号,EVNT为中断事件号。
PLS检测用程序设置的特殊存储器位,激活由控制位定义的脉冲操作,从Q0.0或Q0.1输出高速脉冲。高速脉冲串输出PTO和宽度可调脉冲输出PWM都由PLS指令激
活。
18
苏州大学本科生毕业设计
子程序调用指令在使能输入有效时,主程序把程序控制权交给子程序。[]
6
4.2.2 控制电机方向转动
用接在I0.1的开关来选择方向。如果I0.1=1,将输出Q0.1置高位,则电机逆时针转动。如果I0.1=0,将输出Q0.1置低位,电机顺时针转动。为保护电机,避免漏电,电机转动方向的改变只能在电机处于停止状态(M0.1=0)时进行。
程序如下: //设置转动方向
LDN M0.1 //若电机处于停止状态 A I0.1 //且转向开关置于1 S Q0.1, 1 //逆时针转动 LDN M0.1 //若电机处于停止状态 AN I0.1 //且转向开关置于0 R Q0.1, 0 //顺时针转动
4.2.3 电机急停控制
停止电机有2个条件:按STOP按钮,在I0.2产生脉冲上升沿;电机处于转动状态,即
M0.1=1。
如果同时具备上述2个条件,则将标志M0.1复位(M0.1=0),并中断输出端Q0.0的脉冲输出。这与PLS指令有关,它将脉宽调制(PWM)输出的脉冲宽度减为0,因此输出信号被抑制。
1)参数设定
在程序中,只要按下STOP按钮,无论电机处于运行中的何种状态,都必须马上停止,此过程需要将脉宽调制为0,因此选用PWM输出。在该段程序中,功能允许脉冲输出,异步更新,时基为μs,允许更新周期值和脉冲数。因此,根据控制位功能表,将2#11000011
即16#C3写入控制字SWM67。
程序如下: //停止电机
LD I0.2 //若按STOP按钮 EU //上升沿有效
19
苏州大学本科生毕业设计
A M0.1 //且电机正在转动 R M0.1, 1 //电机运行标志复位
MOVB 16#C3, SMB67 //置脉冲输出功能的控制位PWM为0 PLS 0 //输出端无脉冲 MEND //主程序结束 4.3.4 联锁
为了保证安全,在按STOP之后,驱动器必须联锁,将联锁标志M0.2置位(M0.2=1),立即关断驱动器。只有在M0.2复位(M0.2=0)后,才能重新起动电机。当STOP松开后,为防止电机意外起动,只有在START和STOP同时松开,才能将
M0.2复位。
程序如下: //联锁和联锁解除
LD I0.2 //若按STOP按钮 S M0.2, 1 //联锁有效 LDN I0.0 //若START松开 AN I0.2 //且STOP松开 R M0.2, 1 //解除联锁
4.4 程序调试
按照上述所编写的程序绘制梯形图,而后编译程序,如图4.13:
20
苏州大学本科生毕业设计
图4.13 编译程序
左下角显示0错误后下载程序,如图4.14、图4.15所示:
图4.14 下载程序(1)
21
共分享92篇相关文档