分享

【三菱基础】3开关与1照明灯控制案例

 PLC发烧友 2021-04-16
控制要求

3个开关控制一盏照明灯(切换开关),任何一个开关都能控制照明灯的亮与灭。(此案例可以应用与家庭电路的控制,比如走廊有一个开关,入门处有一个开关,房间内部也有一个开关,多个开关都能控制这个照明灯)

I/O分配

  表1-5-1 I/O分配

输入点

注释

输出点

注释

X0

开关1

Y0

照明灯

X1

开关2



X2

开关3



程序编写及思路

1.普通的触点和线圈去编写

1)我们可以列出3个开关的所有情况,打开用1表示,关闭用0表示,最后看各种情况的Y0的状况

X0

X1

X2

Y0

1

0

0

1

1

0

1

0

1

1

0

0

0

1

0

1

0

1

1

0

0

0

1

1

1

1

1

1

图1-5-1 3真值表

图1-5-3  完整程序


2)从上面表格可以看出,只有4种情况,Y0有输出,这4种情况X0、X1、X2的状态分别是:(1、0、0)(0、1、0)(0、0、1)(1、1、1),根据这个写出来4行能控制Y0输出的程序去控制Y0输出,完整程序如图1-5-3

2.使用ALT指令去写

这种写法的思维就是,每个按钮,无论打开或者关闭操作,都会把Y0当前的状态进行切换,这时我们可以使用3个按钮的所有上升沿与下降沿。

图1-5-4  使用ALT指令

3.利用程序扫描周期知识

这个写法的优点是,开关多了(不超过32个)都可以一步程序直接搞定,需要学习程序扫描周期相关知识点(本书第3章有更多应用案例)。

程序扫描是从第一行开始的,一开始的D0状态为0,当我们按下或者松开X0到X3之间的任一按钮时K1X0的值就会改变(由于上一个扫描周期时,程序最后一行把K1X0的值传送给了D0了)因此会导致K1X0和D0的值不相等,这时触发ALT指令把Y0的状态改变。

最后程序执行第二行,把K1X0的值传送给D0,,这样两个的数据就相等了,下一个周期第一行程序就无法执行了,除非重新触发某个按钮,状态发送了改变,有开始执行什么描述的控制过程

图1-5-5  利用程序扫描周期



来源:PLC发烧友,作者:技成-陈育鑫,转载请注明出处!评论处大家可以补充文章解释不对或欠缺的部分,这样下一个看到的人会学到更多,你知道的正是大家需要的。。。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多