用定时器控制的步进电机运行程序
某程序要求:
一台四相位步进电机,要求以A\AB\B\B-A\-A\-A-B\-B\-BA的励磁方式运行。
一个按钮SB1控制启动停止。
SB2为正反转切换开关。
按钮SB1按下时,步进电机启动运行,指示灯亮,再按一次按钮,步进电机停止运行,指示灯灭。
按钮SB3为加速按钮,按钮SB4为减速按钮,速度范围为0.2~1.5s之间变化。
程序要如何编写?
X0 | 启停按钮 | SB1 |
| X1 | 正反开关 | SB2 |
| X2 | 加速按钮 | SB3 |
| X3 | 减速按钮 | SB4 |
| Y0 | 步进电机 | A |
| Y1 | 步进电机 | B |
| Y2 | 步进电机 | -A |
| Y3 | 步进电机 | -B |
| Y4 | 指示灯 | HL |
设计思路:
1,根据输入相位波形图,计算K1Y0的值。每个脉冲它的变化由1、3、2、6、4、C、8、9循环变化,这时步进电机为正转。反向变化为反转。
| 1 | 3 | 2 | 6 | 4 | C | 8 | 9 | 1 |
Y0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| Y1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
| Y2 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
| Y3 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
2,把
1、3、2、6、4、C、8、9存放在寄存器D0D1中,刚好占用32个位,用移位指令每4位循环移位,把低4位的值传送给K1Y0。正转时左移位,反转时右移位。
接线简图:
首先,我们用梯形图语言来编写,打开三菱PLC编程软件MELSOFT GX Works3,新建一个工程,选择系列、机型,选择梯形图语言编写:
第一步,启动程序,传送步进移位值、高速计数器初始值和传送D0的低4位到Y0-Y3。
第二步,启动按钮按下,执行定时指令。
第三步,正转按钮切换执行正转、反转。
▼ 5UPLC定时器类型
其次,我们再用ST语言来编写,打开三菱PLC编程软件MELSOFT GX Works3,新建一个工程,选择系列、机型,选择ST语言编写:
ST语言程序如下:
DMOV(SM402,H13264C89,D0);
MOV(SM402,500,D2);
MOV(SM400,D0,K1Y0);
FF(X0,Y4);
OUTHS(NOT T0 AND Y4,T0,D2);
DROLP(T0 AND X1,4,D0);
DRORP(T0 AND NOT X1,4,D0);
INCP((D2<1500)AND X3 AND SM409,D2);
DECP((D2>200)AND X2 AND SM409,D2);
MOV(NOT Y4,0,K1Y0);
感谢阅读指正,关注了解更多!