如何用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, ms 到 +2, 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地址分配以及程序设计思路:
图2-2-14PLC接线图
输入地址 | 说明 | 输出地址 | 说明 |
I0.0 | 启动 | Q0.0 | 小车前进 |
I0.1 | A点位置 | Q0.1 | 小车后退 |
I0.2 | B点位置 | ||
I0.3 | C点位置 | ||
I0.4 | D点位置 | ||
I0.5 | E点位置 |
任务中,小车需要到达5个工位,首先判断小车前进的条件是:按下了启动按钮或者从B、C、D、E点任意一点返回到A点后。
小车停止前进的条件是:小车到达了B、C、D、E点或者触碰到了E点位置。
判断小车后退的条件是:B、C、D、E点位置到达了,然后延时时间到了则小车后退。
五
经验与总结
1、在这个案例中主要使用的是常开、常闭、线圈、定时器指令。案例中有5个工位,当按下启动按钮后,小车启动。到达B、C、D、E任何一点都需要停止小车前进(使用M0.0标志位断开小车前进),然后再延时,延时时间到达后后退。
2、小车后退到达A点位置后,小车又继续前进。假定前一次到达的位置是B点,则这一次需要到达的是C点位置。到达C点位置就会触碰到B点的限位开关,故使用标志位(M0.1)断开小车在B点前进功能。