浔之漫智控技术(上海)有限公司总部
主营西门子模块 , PLC模块 , 变频器模块 , 触摸屏模块
西门子AI模块6ES7214-1AD23-0XB8

西门子AI模块6ES7214-1AD23-0XB8西门子AI模块6ES7214-1AD23-0XB8

西门子AI模块6ES7531-7NF10-0AB0

西门子AI模块6ES7531-7QD00-0AB0

西门子AI模块6ES7531-7KF00-0AB0

西门子AI/AO模块6ES7534-7QE00-0AB0

【控制要求】

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

【I/O分配】

表1-5-1 I/O分配


【程序编写及思路】

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

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


图1-5-1 3真值表


5.jpg

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



图1-5-3 完整程序

2.使用ALT指令去写

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


图1-5-4 使用ALT指令

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

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

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

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


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

西门子AI模块6ES7214-1AD23-0XB8西门子AI模块6ES7214-1AD23-0XB8西门子AI模块6ES7214-1AD23-0XB8西门子AI模块6ES7214-1AD23-0XB8西门子AI模块6ES7214-1AD23-0XB8

展开全文