用一个按钮控制三个(组)灯之二
上回说到用一个按钮控制三个灯的程序是用ICNP指令来完成的。今天我们来学习另一个简单的用移位指令来编写的照明灯控制程序案例。
本案例要求基本和上个案例要求一样:
用一个按钮控制三个灯的开关,要求按一下按钮,亮一个灯,亮度不够,再按一下按钮,再亮一个灯,直到三个灯全部点亮。
点亮后,再按一下按钮,先亮的灯先灭一个,再按一下按钮,第二亮的灯再灭一个,直到全灭。
如果一直按下按钮3秒钟,则灯全灭;再加上一个如果不按下按钮3秒,再按时重新从第一步开始。
软元件分配/使用如下表:
设计思路:
Y2未亮时,移入值为1; Y2点亮时,移入值为0; X0每按一次移位一次。
接线简图同上一案例:
编写程序:
首先,我们用梯形图语言来编写,打开三菱PLC编程软件MELSOFT GX Works3,新建一个工程,选择系列、机型,选择梯形图语言编写:
梯形图程序,用SFTLP指令设计如下:
其次,我们再用ST语言来编写,打开三菱PLC编程软件MELSOFT GX Works3,新建一个工程,选择系列、机型,选择ST语言编写:
ST语言程序如下:
ZRST(SM402 OR T0 OR T1 ,Y0,Y2);//上电复位,定时复位。
OUT_T(X0,T0,30);//常按按钮定时。 OUT_T(NOT X0,T1,30);//不按按钮定时。
M0:=NOT Y2;//移位的源数据。
SFTLP(X0,M0,K3,K1,Y0);//X0接通,向左移入M0开始的K1位到Y0开始的K3位。
和上个案例相比较而言,这个案例确实比较简单,说明移位指令的功能很强大,能运用好移位指令可以节省很多程序。
参阅:《三菱FX5U PLC,移位指令的区别与速记》 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |