今天跟大家分享的是一个比较经典的示例,电机顺序启动逆序停止的示例。通过本示例来学习ST编程的条件语句和移位指令的综合应用。
一、功能要求:
用按钮控制6台电机的启动和停止,要求当按下启动按钮,启动信号灯亮,而后每隔2s启动一台电机,直到6台电机全部启动。
当按下停止按钮,停止信号灯亮,而后每隔2s电机逆序停止。
二、编程的思路:从功能要求来看,我们很容易想到使用移位指令来实现本示例的功能。
在三菱PLC中的移位指令是SFTL和SFTR指令,
指令格式:

指令说明:
1、SFTL:对于以d起始的n1位(移位寄存器的长度)数据,左移n2位。移位后,将s开始的n2位数据传送到从d开始的n2位中。如下面的语句:
2、SFTR:对于以d起始的n1位(移位寄存器的长度)数据,右移n2位。移位后,将s开始n2位数据传送到从d+n1-n2开始的n2位中。如下面语句:
对于本例:
1、启动条件:就是当按下启动按钮(没按停止按钮),启动信号灯亮,停止信号灯灭。
2、当启动信号灯亮,启动定时器,延时2秒后启动第一台电机,并利用定时器输出值取反,来作为定时器启动的条件。同时利用定时器的输出值来使能左移位指令(也就是说每隔2s移位1次)
本示例的完整程序如下图所示:

三、示例仿真:
当按下启动按钮,电机顺序启动:

当按下停止按钮,电机逆序停止:
