西门子PLC S7-1200按钮控制灯实例
1. 单按钮控制灯
1.PLC 控制任务说明
用比较和计数指令编写开 / 关灯的程序,要求控制按钮 I0.0 被按下一次,灯 Q0.0 亮,被按下两次,
灯 Q0.0 、 Q0.1 全亮,被按下三次,灯全灭,如此循环。
2. 电气接线
图 2-70 为单按钮控制灯的电气接线。表 2-30 为输入 / 输出元件及其控制功能。

图 2-70 为单按钮控制灯的电气接线
表 2-30 为输入 / 输出元件及其控制功能

3.PLC 编程
图 2-71 为单按钮控制灯的梯形图。在程序中,所用的计数器都为加法计数器,当加到 3 时,必须复位计数器。程序段1 为根据按钮上升沿的情况进行计数。其中, PV=10 ,是大于 3 的任意数,因为到了 3 就被复位。程序段2 为计数值 =1 ,灯 Q0.0 亮。程序段 3 为计数值 =2 ,灯 Q0.0 、 Q0.1 全亮。程序段 4 为计数值=3 ,灯全灭,且通过 M0.0 复位计数器。

图 2-71 单按钮控制灯的梯形图

图 2-71 单按钮控制灯的梯形图(续)
2. 用一个按钮控制四个灯(先亮后灭)
1.PLC 控制任务说明
用一个按钮控制四个灯,以达到控制灯的亮度。由 PLC 组成一个控制器,每按一次按钮,增加一个
灯亮,待四个灯全部亮起来后,每按一次按钮,则灭一个灯,灭灯的顺序是先亮的那个灯后灭、后亮的那个灯先灭。
2. 电气接线
图 2-72 为用一个按钮控制四个灯的电气接线。表 2-31 为输入 / 输出元件及其控制功能。

图 2-72 用一个按钮控制四个灯的电气接线
表 2-31 输入 / 输出及其控制功能

3.PLC 编程
根据任务要求,可以设置一个状态值变量 MW0 ,当 MW0=0 时为开始状态,按下启动按钮, MW0 可以依次加一(INC 指令),一直到 MW0=4 ,这个过程为逐渐亮灯过程;待 MW0=4 后,即进入灭灯过程,此时,MW0 执行依次减一( DEC 指令),一直到 MW0=0 ;进行下一轮循环。
【实例 10 】 的编程相对比较复杂,为确保程序的正常执行, MW0 在初始状态时必须为 0 ,此时需要引入一个OB100 块,以便进行初始化处理。 PLC 的用户程序是从头至尾按顺序循环执行的,一个过程被称为一个扫描周期,如图2-73 所示。

图 2-73 【实例 10 】的控制过程
OB100 的初始化在上电运行或复位时处理一次,并完成如下任务:复位输入 / 输出模块;自诊断;清 除数据区;输入 / 输出模块的地址分配;等等。
按如图 2-74 所示添加新块,并在如图 2-75 所示中选择 “ 组织块 ” 中的 “Startup” ,即 OB100 模块后,就可以在正常的OB1 模块中进行梯形图的编程,即将 “0” 移动到状态值变量 MW0 中,如图 2-76 所示。
图 2-74 添加新块

图 2-75 添加组织块 OB100
先亮后灭的控制方式可以得出如下规律:当 MW0=1 时,灯 Q0.0 亮;当 MW0=2 时,
灯 Q0.0 、 Q0.1 亮;当 MW0=3 时,灯 Q0.0 、 Q0.1 、 Q0.2 亮;当 MW0=4 时,灯Q0.0 、 Q0.1 Q0.2 、 Q0.3 亮。这个逻辑可以采用 “>=” 比较指令实现,梯形图如图 2-77 所示。程序段 1 是当计数值MW0=0 时,进入逐渐亮灯的过程, M10.0 为 ON 。程序段 2 是当计数值 M10.0 为 ON 时,按下按钮进行计数,从1 ~ 3 ,为亮灯的过程。程序段 3 是当计数值 M10.0 为 OFF 时,按下按钮进行计数,从 3 ~ 1 为灭灯的过程。程序段4 是当计数值 MW0=4 时,复位 M10.0 。程序段 5 ~程序段 8 为根据计数值的不同,显示不同的亮灯状态。

图 2-76 OB100 的梯形图

图 2-77 【实例 10 】的梯形图

图 2-77 【实例 10 】的梯形图(续)
3. 用一个按钮控制四个灯(先亮先灭)
1.PLC 控制任务说明
用一个按钮控制四个灯,以达到控制灯的亮度。由 PLC 组成一个控制器,每按一次按钮增加一个灯
亮,待四个灯全部亮起来后,每按一次按钮,则灭一个灯,灭灯的顺序是先亮的那个灯先灭、后亮的那 个灯后灭。
2.PLC 编程
【实例 11 】的电气接线图和 I/O 定义与【实例 10 】一样。其中,状态值变量 MW0 的变化规律也是相
同的,唯一的区别在于输出控制灯的不同,需要分逐渐亮灯过程和逐渐灭灯过程两个区间进行判断。
在逐渐亮灯的过程中,其规律为: MW0=1 时,灯 Q0.0 亮; MW0=2 时,灯Q0.0 、 Q0.1 亮; MW0=3 时,灯 Q0.0 、 Q0.1 、 Q0.2 亮; MW0=4 时,灯 Q0.0 、 Q0.1 、 Q0.2 、 Q0.3 亮。在逐渐灭灯的过程中,其规律为:MW0=3 时,灯 Q0.1 、 Q0.2 、 Q0.3 亮; MW0=2 时,灯Q0.2 、 Q0.3 亮; MW0=1 时,灯 Q0.3 亮; MW0=0 时,全灭。因此, OB100 块相同, OB1 块前面的四个程序段也是相同的,【实例11 】与【实例 10 】的主要区别为程序段 5 ~程序段 8 ,如图 2-78 所示。

图 2-78 【实例 11 】的梯形图

图 2-78 【实例 11 】的梯形图(续)

图 2-78 【实例 11 】的梯形图(续