用一个按钮控制三个(组)灯
学习PLC就是要多练习,在接下来的一段时间里,小李会准备更多的PLC基础编程案例,有兴趣的老铁可以来一起练习。今天我们来学习第一个简单的照明灯控制程序案例。
案例程序要求:
用一个按钮控制三个灯的开关,要求按一下按钮,亮一个灯,亮度不够,再按一下按钮,再亮一个灯,直到三个灯全部点亮。点亮后,再按一下按钮,先亮的灯先灭一个,再按一下按钮,第二亮的灯再灭一个,直到全灭,如果一直按下按钮3秒钟,则灯全灭。
软元件分配/使用如下表:
Y0
| 灯1
| D0=0
| 灯全灭
| Y1
| 灯2 | D0=1
| 灯1亮
| Y2
| 灯3 | D0=2
| 灯12亮
|
|
| D0=3
| 灯123亮
| X0
| 按钮
| D0=4 | 灯23亮
|
|
| D0=5
| 灯3亮
|
|
| D0=6
| 复位不亮
|
|
|
|
|
|
|
|
|
|
|
|
|
设计思路:
X0每按一次D0自加1,根据计数设定灯亮与灭。
接线简图:
编写程序:
首先,我们用梯形图语言来编写,打开三菱PLC编程软件MELSOFT GX Works3,新建一个工程,选择系列、机型,选择梯形图语言编写:
梯形图程序,用INCP指令设计如下:
这里T0接通也可以把D0的数一并复位,再按按钮时就从开始计算。
其次,我们再用ST语言来编写,打开三菱PLC编程软件MELSOFT GX Works3,新建一个工程,选择系列、机型,选择ST语言编写:
ST语言程序如下:
RST(SM402,D0);
INCP(LDF(1,X0),D0);
OUT_T(X0,T0,30);
IF D0=6 OR T0 THEN D0:=0; END_IF;
CASE D0 OF //整型数据类型的值 1://值为1,则 Y0:=1; 2://值为2,则 Y1:=1; 3://值为3,则 Y2:=1; 4://值为4,则 Y0:=0; 5://值为5,则 Y1:=0; 6://值为6,则 Y2:=0; ELSE//否则 Y0:=0; Y1:=0; Y2:=0; END_CASE;
参阅:《三菱FX5U PLC,ST编程语言的语句类型,赋值语句和条件选择语句》
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |