最简单的一个编程(只要你一步步来)

首页常识最简单的一个编程更新时间:2023-02-13 07:32:14

今天小编又找到一个有意思的题目,里面的题小编想了好久才做出来,不知道聪明的你怎么样呢?

1.用一个开关控制三个照明灯,要求开关闭合时灯亮,开关断开时灯灭。

2.如果3S之内每闭合一次开关,亮的灯数按1个—2个—3个—2个—1个—0个循环。

3.如果开关断开时间超过3S,在合上开关时,重复上述过程。

分析题意:1.很明显这个开关是一个转换开关,能自行保持当前状态。

2.在3S之内闭合一次,灯的状态就变换一次。

3.灯由1个—2个—3个—2个—1个—0个循环,那么一个周期就是6次。

4.在3S之外闭合,重置电路。

老规矩,输入、输出表的干活:



这个电路一个周期为6次,而且只是要求了亮的灯的个数,并没有要求到底是哪个灯亮,那么可以使用计数器C0来对着6次开关闭合来进行区分,这个想通了这个这一题就OK了。

开关闭合一次,C0计数1,此时Q0.0亮

开关闭合二次,C0计数2,此时Q0.0、Q0.1亮

开关闭合三次,C0计数3,此时Q0.0、Q0.1、Q0.2亮

开关闭合四次,C0计数4,此时Q0.0、Q0.1亮也可以Q0.1、Q0.2或者Q0.0、Q0.2亮,这里我做的是第一种。

开关闭合五次,C0计数5,此时Q0.0或者Q0.1亮,我选的Q0.0亮

开关闭合六次,C0计数6,此时计数器复位。


具体程序如下:

网络1:主要是利用I0.0输入的信号为计数器C0计数,那个P一样的叫上升沿触发,也就是说当I0.0由0变1时才导通,C0向上计数。当C0到6时,C0位由0置1,将计数器C0复位。

网络2:这就是把C0的各个情况用M0.0到M0.4记录

网络3,这里是利用网络2的记录,一一对应输出,根据题意,当I0.0断开时,灯要灭,所以输出与I0.0串联。


下一步,加3S的时间条件:

这里加了T37复位C0

最后网络4加上定时器T37。

至此,程序就算完成。小伙伴们,你们有收获吗?

PS:小编想问小伙伴们一个问题:按照这个程序,最后I0.0按第六下时没有任何灯亮(题目要求),但是你们办法把这一步去掉嘛?

PPS:接线及演示视频以上传

,
推荐内容
热门内容