用定时器控制的步进电机运行程序
某程序要求:
一台四相位步进电机,要求以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);
感谢阅读指正,关注了解更多! |