S7-200 SMART PLC行车自动往返循环控制
说到小车来回运送黄金,大家并不陌生,那么如何自动的来回向你家运送黄金呢?接下来就为大家讲解如何让小车来回并且自动循环的控制向你家运送黄金。
控制要求
按下启动按钮,行车自动循环运行,按下停止按钮,行车停止运行,具有点动控制,8次循环运行。
编程程序
第一步:(设计IO分配表)
第二步:(对应PLC 符号表)
第三步:(设计程序)
按下启动按钮SB1,I0.1触点闭合,Q0.0 线圈输出,控制KM1线圈得电,即行车执行前进操作,Q.0.0的常开触点闭合,形成自锁。强制I0.3为1,则Q0.0线圈失电,Q0.1 线圈得电,控制KM2线圈得电,即行车执行后退操作,Q0.1的常开触点闭合,形成自锁,同时C1计数1次。I0.3强制为0,I0.4强制为1,则Q0.1线圈失电,Q0.0线圈得电,控制KM1线圈得电,即行车执行前进操作,Q0. 0的常开触点闭合,形成自锁,同时C0计数1次。
此时此刻,S7-200 SMART PLC行车自动往返循环控制,大家都理解并且掌握了吗?不理解的,可以在上述文章找答案哦!
热门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怎么让一个程序重复循环?
在PLC中,可以使用循环语句或者定时器来实现程序的重复循环。循环语句可以使用LAD、FBD或者STL等编程语言编写,通过判断循环次数或者循环条件来实现重复执行程...
plc排队程序怎么写?
PLC排队程序的编写需要依据具体的实际应用需求,以下提供一个简单的示例:1.定义变量:定义一个整型数组Queue,用于存储排队顾客的编号,定义一个整型变量Count...
plc怎么写循环指令?
在PLC的程序中,循环执行可以通过使用循环指令来实现。PLC的循环指令通常分为两种:定长循环和条件循环。1.定长循环定长循环指令是由一个计数器和一个定值组...
红绿灯用PLC怎么设计循环程序?
红绿灯用PLC设计循环程序的步骤如下:1.红绿灯的循环程序设计需要考虑信号的切换和时间控制,以确保交通流畅和安全。2.PLC(可编程逻辑控制器)是一种用于自动...
plc200如何在子程序循环?
您可以使用PLC200的循环指令。以下是一些常见的PLC200循环指令:1.FOR循环:FOR循环用于重复执行一段代码,直到满足特定条件为止。在PLC200...```其中,循环...
用PLC控制两个单动气缸先后运动,怎么控制?
Y1控制气缸1,单向气缸的话,只能断开Y1,气缸缩回;Y2控制气缸2,可以用Y1与Y2实现互锁,Y1闭合,气缸2断,Y2闭合,气缸1断;如果要等气缸就位后再动,只...Y1控...
1200plc循环流水灯程序如何编写?
编写1200PLC循环流水灯程序的步骤如下:1.定义输入输出点,如定义一个输入点I0和8个输出点Q0-Q7。2.使用一个计时器,设置一个定时时间,例如100ms。3.在主...
plc200如何让子程序再循环?
如果需要让PLC200中的子程序再循环,通常可以采用以下两种方法:1.使用循环指令:PLC200支持循环指令,如LOOP指令,可以在子程序中使用该指令,设置循环次数,...
西门子系统循环编程怎么编?
西门子系统的循环编程可以使用西门子的编程软件STEP7或TIAPortal来实现。以下是一般的步骤:1.打开STEP7或TIAPortal软件,并创建一个新的项目或打开一个...
PLC里面的FOR循环?
循环指令共有两条:循环区起点指令FOR,编号为FNC08,占3个程序步;循环结束指令NEXT,编号为FNC09,占用1个程序步,无操作数。在程序运行时,位于FOR~NEXT间的...4)...