直播课堂
HOME
直播课堂
正文内容
plc编程循环启动 西门子PLC经典案例,用两种编程方法实现两灯交替闪烁
发布时间 : 2026-03-10
作者 : 小编
访问数量 : 23
扫码分享至微信

西门子PLC经典案例,用两种编程方法实现两灯交替闪烁

今天给大家说一个西门子案例——西门子S7-200SMART PLC怎么实现两灯交替闪烁

我们先来看看这个案例的具体要求:

使用定时器Q0.0和Q0.1,当按下启动按钮时Q0.0亮,1秒后Q0.0灭,同时Q0.1亮,再过两秒后Q0.1灭。以此循环,直到按下停止按钮,Q0.0和Q0.1全灭

首先画时序图。再用定时器加比较的方法会把很多复杂的东西简单化

时序图就是表示地址或变量根据时间的变化而变化的图形

整个占用的时间为3秒,需要用到100毫秒定时器

设:定时器的当前值为X,0≦X﹤10的时候,Q0.0亮;当10≦X﹤30时,Q0.1亮。

接下来就是循环的问题,循环就是用最后一个状态作为第一个状态的启动条件。

定时器PT值为3秒(数值计作30),使用TNO接通延时定时器,当当前值=设定值,状态输出为1时,即定时器状态位T37=1时,就去复位定时器,再从0开始,这个就是自复位,就是自己复位自己,到了3秒就从0开始。

最后梳理下编写程序的思路:

1、 启停控制——输出启动标志位,输出为1,并保持(自锁)

2、 定时器控制——用启动标志位去接通定时器,让其工作

3、 比较——0-1秒Q0.0输出,1-3秒Q0.1输出

于是程序如图:

此外还有第二种方法哦,会使用到震荡电路(闪烁电路)以及两个定时器交替控制,一个控制接通时间,一个控制断开时间,一起来看看。

看完这段程序,建议大家还是自己动手 操作一遍,效果会更好哦!

往期优秀文章回顾:

238道低压/初级电工考试题,2017和2018版(附答案)

热门PLC案例|如何用PLC控制小车五位自动循环往返运行?

一、任务目标

该任务是定时器指令相关应用案例。西门子S7-1200 PLC定时器种类比较多,在实际的应用中,读者可根据实际的应用场景选择对应的定时器指令。本任务要求读者掌握以下几个内容。

1.定时器指令的分类

2.定时器各管脚的含义

3.定时器配合其他指令的使用方法

二、任务描述

如图所示(2-2-1)用三相异步电机拖动一辆小车在A、B、C、D、E五点之间自动循环往返运行,小车五位行程控制的示意图如图所示。小车初始在A点,按下启动按钮,小车依次前进到B、C、D、E点,并分别停止5S返回到A点停止。

图2-2-1小车延时自动往返示意图

三、相关知识

本案例需要使用的是基本位逻辑和定时器指令。位逻辑指令在其他的章节中已有介绍,此处为读者介绍定时器指令的相关知识。

1、定时器指令

西门子S7-1200PLC有4种常用的定时器:

①TP:脉冲定时器,可生成具有预设宽度时间的脉冲。

②TON:接通延时定时器,输出Q在预设的延时后设置为ON。

③TOF:关断延时定时器,输出Q在预设的言时后重置为OFF。

④TONR:保持型接通延时定时器,输出Q在预设的延时后设置为ON,在使用R输入重置经过的时间之前,会一直累加跨越多个定时时段经过的时间。

2、如图2-2-2所示,在指令窗口中选择“定时器操作中”的TON指令,并将其拖入程序段中(见图2-2-3),这时会跳出一个“调用数据块”窗口,选择自动编号后,会直接生成DB1数据块,也可以选择手动编号,根据用户需要生成DB数据块。

图2-2-2 定时器指令

图2-2-3 TON指令调用数据块

在项目树的“程序块”中可以看到自动生成的IEC_Timer_0_DB[DB1]数据块(见图2-2-4)双击进入,即可读取DB1定时器的各个数据,变量的数据类型为IEC_Timer,见表2-2-5。

图2-2-4 DB1数据块位置

TON指令就是接通延迟定时器,输出Q在预设的延时后设置为ON。TON指令形式如图2-2-6。TON的参数及数据类型见表2-2-7。在2-2-7表中,R参数一般用于TONR等指令。参数IN从0跳为1时将启动定时器TON。

表2-2-5 DB1数据块IEC_Timer_0_DB的内容

图2-2-6 TON指令形式

表2-2-7 TON的参数及数据类型

参数

数据类型

说明

IN

Bool

启用定时器输入

R

Bool

将TONR经过的时间重置为0

PT

Bool

预设的时间值输入

Q

Bool

定时器输出

ET

Time

经过的时间值输出

定时器数据块

DB

指定要使用RT指令复位的定时器

在定时器中PT(预设的时间)和ET(经过的时间)的数据大小以有符号、双精度的32位整数形式表示毫秒时间,见表2-2-8。TIME数据使用T#标识符,以简单时间单元“T#200ms”或者复合时间单元“T#2S_200ms”的形式输入。

表2-2-8 TON的参数及数据类型

数据类型

大小

有效数值范围

TIME

32位存储形式

T#-24d_20h_31m_23s_648ms 到 T#24d_20h_31m_23s_647ms 以 -2,147,483,648 ms 到 +2,147,483,647 ms

TON指令的应用与时序图如图2-2-9和图2-2-10所示。在时序图中PT=5S。

图2-2-9 TON指令的应用

图2-2-10TON指令的时序图

TOF关断延时定时器的指令与TON类似。图2-2-11和图2-2-12为TOF指令的应用和时序图。在时序图中PT=5S。

图2-2-11TOF指令的应用

图2-2-12TOF指令的时序图

TP脉冲定时器指令的应用如图2-2-13,时序图如图2-2-14所示。在时序图中PT=5S。

图2-2-13TP指令的应用

图2-2-14TP指令的时序图

四、任务实施

本任务的实施步骤主要分为PLC接线、IO地址分配以及程序设计思路:

1、PLC接线如图2-2-14

图2-2-14PLC接线图

2、IO地址分配

输入地址

说明

输出地址

说明

I0.0

启动

Q0.0

小车前进

I0.1

A点位置

Q0.1

小车后退

I0.2

B点位置

I0.3

C点位置

I0.4

D点位置

I0.5

E点位置

3、程序设计思路

任务中,小车需要到达5个工位,首先判断小车前进的条件是:按下了启动按钮或者从B、C、D、E点任意一点返回到A点后。

小车停止前进的条件是:小车到达了B、C、D、E点或者触碰到了E点位置。

判断小车后退的条件是:B、C、D、E点位置到达了,然后延时时间到了则小车后退。

4、程序设计

五、经验与总结

1、在这个案例中主要使用的是常开、常闭、线圈、定时器指令。案例中有5个工位,当按下启动按钮后,小车启动。到达B、C、D、E任何一点都需要停止小车前进(使用M0.0标志位断开小车前进),然后再延时,延时时间到达后后退。

2、小车后退到达A点位置后,小车又继续前进。假定前一次到达的位置是B点,则这一次需要到达的是C点位置。到达C点位置就会触碰到B点的限位开关,故使用标志位(M0.1)断开小车在B点前进功能。

(技成培训网原创,作者:郭彪,未经授权不得转载,违者必究)

特别推荐:

手机版电工专用计算器,1分钟快速搞定复杂的电工计算

13种电气计算EXCEL表格,自动生成!从此计算不求人(超实用)

6款免安装的超实用电气计算软件,值得下载

相关问答

plc怎么实现自动循环?

用按钮触发后,用延时器控制自动无限循环运动,配合计数器可实现有限循环。例:用两个按钮一开(X0)一闭(X1)控制一个线圈Y0并自锁Y0的电路谁都会做吧。先...用...

plc怎么循环运行2次?

PLC的循环运行次数可以通过编程来实现,具体方法如下:1.在程序中使用计数器:在PLC的程序中,可以使用计数器来控制循环运行的次数。例如,可以设置计数器的初...

plc程序启动几秒停几秒循环?

程序的循环周期是固定的,而不是变来变去。你可以设置这一值,同样是在“周期”标签页,勾选“启用循环OB的最小循环时间”,然后输入你想要的值即可。在“在线和...

plc如何实现不同程序循环?

要用PLC实现程序的无限循环,我们可以使用时间顺序循环的指令,指令如下:1、用时间继电器T0驱动T1。2、再由T1驱动T2。3、T2驱动T3。4、直到最后一个,用TN...

PLC怎么编辑无限循环点动?

PLC可以通过编写无限循环点动程序来实现对设备的持续控制。具体操作步骤为:首先确定需要控制的设备输入输出口地址,然后设置一个无限循环程序,将控制信号输出...

plc怎么控制两个灯循环亮?

使用了R901C与非指令动作2个灯的发光控制,因此启动时不能保证灯1或是灯2首先发光。这是由于启动时刻与R901C的脉冲产生时刻不能保证同步,因此,若启动时R901C刚...

西门子PLC单灯循环编程?

比较简单的方法,程序长,抛砖引玉,大家考虑用简单的。图片不好显示全,步骤是这样的。1、按键按下后置位一个标志位。用这个标志位去控制下面的计数器。2、用...

用PLC实现彩灯的顺序循环点亮控制?

要用PLC实现彩灯的顺序循环点亮控制,可以按照以下步骤进行:1.确定需要控制的彩灯数量和控制顺序,设计电路连接方式,并将彩灯的正极连接到PLC的输出端口上。...

怎样设计用PLC控制机械来回循环运动的电路_住范儿家装官网

当程序执行到最后一步完成时,再次启动程序本身就反复执行了。1、首先将电机的各个控制做一个正方向转动的小功能,再做一个负方向运动的小功能;2、...

西门子PLC怎么完成循环啊S7-200我是用定时器来完成程序的,我TOF以后程序就完成了,怎么回到开头啊?

循环控制吗,那不是很简单,一般都是顺序控制,只要你在最后步执行完了跳转到需要循环开始点就可以了。如果需要多个这样的循环,另外编程,可以调用子程序方式实...

 徐昆  carnegiemellon 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2026  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部