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
】的梯形图(续