在自动化控制系统中,PLC(可编程逻辑控制器)是一种广泛应用的工业自动化设备。本篇博客将介绍如何使用PLC编程创建一个简单而实用的红绿灯控制系统。通过这个实例,你将了解PLC编程的基本概念和在实际应用中的运用。
注释:这里我使用的是一种不常用的方法(FB块和SCL语言),梯形图的方法在其他的文章里也有介绍,关注我的其他文章。
主要是梯形图编程的红绿灯过于简单和重复,不容易通过老师的审核;这里采用了新的方法,也方便理解其他的编程,方便资深梯形图的编程者学习新技术,以便工作转型
PLC是一种专门设计用于工业自动化和控制系统的电子设备。它通过可编程的方式,根据输入信号的状态来控制输出设备的行为,从而实现对工业过程的精确控制。
在开始编写PLC程序之前,我们需要准备以下环境:
图1 博途V18的编程环境
我们的目标是创建一个交替显示红绿灯的系统,即绿灯亮3S,黄灯亮3S,红灯亮3S,如此反复。
在PLC编程中,我们使用类似于 ladder diagram(梯形图)的图形语言。以下是一个简单的PLC程序块,用于实现红绿灯的交替控制:
图2 FB块
在图1中的添加新块中添加FB块;
图3 添加需要的块
双击新增的块,如下图
图4 块的变量命名
先定义变量;
input :输入变量:开关
output:输出变量:绿、黄、红
static:内部变量:A、B、C(A是绿灯标志、B是黄灯标志、C是红灯标志)
编程:PLC中的SCL语言与C语言逻辑类似,学过C语言容易上手
首先用IF语句(可以点击上方的快捷栏的IF)
IF #开关 THEN
;
END_IF;
图5 IF语句
如果开关为真;执行空指令。在IF这里面编写红绿灯的程序。
(将开关的值赋给#A;)
#A := #开关;
定时器,IN := #A是启动开关; PT := T#3S是定时3S后,定时器的输入由0变成1
"T1".TON(IN := #A,
PT := T#3S);
下面的程序是指开关为1时,定时器启动,再用IF语句判断定时器的输出Q: "T1".Q 是真的话,说明已经过去了3S; #绿 := 1;让绿灯亮;
#B := 1; 是让下一个定时器的开关启动
#A := false;是将定时器T1的开关复位;
#红 := 0;是将红灯复位
#A := #开关;
"T1".TON(IN := #A,
PT := T#3S);
IF "T1".Q THEN
#绿 := 1;
#B := 1;
#A := false;
#红 := 0;
END_IF;
由于执行上述程序,令#B等于1;
定时器T2启动
3S后让黄灯亮,绿灯灭,让下一个的定时器T3启动,复位#B;
这样就实现绿灯亮3S后熄灭,黄灯亮
"T2".TON(IN := #B,
PT := T#3S);
IF "T2".Q THEN
#黄 := 1;
#C := 1;
#B := false;
#绿 := 0;
END_IF;
同理,下面程序实现黄灯亮3S后熄灭,红灯灯亮;
"T3".TON(IN := #C,
PT := T#3S);
IF "T3".Q THEN
#红 := 1;
#A := 1;
RESET_TIMER(TIMER := "T1"); //复位
#C := false;
#黄 := 0;
END_IF;
RESET_TIMER(TIMER := "T1"); //复位
注意:复位程序是因为,定时器T1的启动开关读取的是input :输入变量:开关。这是一直是1的;所以需要一个复位程序函数将T1强制复位,这样就可以反复的循环运行了;
这是所有的程序内容
IF #开关 THEN
#A := #开关;
"T1".TON(IN := #A,
PT := T#3S);
IF "T1".Q THEN
#绿 := 1;
#B := 1;
#A := false;
#红 := 0;
END_IF;
"T2".TON(IN := #B,
PT := T#3S);
IF "T2".Q THEN
#黄 := 1;
#C := 1;
#B := false;
#绿 := 0;
END_IF;
"T3".TON(IN := #C,
PT := T#3S);
IF "T3".Q THEN
#红 := 1;
#A := 1;
RESET_TIMER(TIMER := "T1"); //复位
#C := false;
#黄 := 0;
END_IF;
END_IF;
在PLC编程完成后,我们需要将程序下载到PLC控制器中,并进行调试。但是需要注意的是,新建的块需要你选中后拖动到程序中,才会在主程序中(Main)中出现;编译后下载;
开关的值设为1;
通过监视输入和输出信号的状态,我们可以确保程序按预期运行。
注意:这个程序虽然实行了红绿灯的功能,但是有一个小BUG哦!大家可以尝试修改一下;
当然可以!下面是一篇关于PLC编程的博客,主题是编写一个红绿灯的例子。
通过这个简单的红绿灯控制系统实例,我们学到了如何使用PLC编程实现一个基本的工业控制应用。PLC编程是工业自动化中的重要一环,掌握这项技能将使你能够参与更复杂的自动化系统的设计和开发。
希望这篇博客对你理解PLC编程有所帮助。如果你有任何问题或需要进一步的解释,请随时留言。
QQ联系方式:2713338087(添加请备注验证信息:竹字头虫字底)不然有可能不通过
本人也是初学者,重在学习交流,有错误请谅解