案例分享 | 快速掌握PLC功能指令应用之隧道风机控制编程
一、任务目标
该任务是功能指令应用案例,使用功能指令有助于我们理清编程思路。本任务使用了时钟指令读取实时时钟,在实际应用中这个指令应用非常广泛。本任务要求读者掌握以下几个内容:
1、系统时间与本地时间的组态
2、读写时钟指令的使用
1、在某高速公路中有一隧道,分别有A、B两组风机,A组风机编号为1#、2#,B组风机编号为3#、4#。
2、控制方式:
按下系统启动按钮之后,风机按以下控制方式运行。
天,7:00--23:00 1#、2#运行;8:00--23:00 3#运行;23:00--7:00 3#、4# 运行。
第二天,7:00--23:00 3#、4#运行;8:00--23:00 1#运行;23:00--7:00 1#、2#运行。
第三天,7:00--23:00 1#、2#运行;8:00--23:00 4#运行;23:00--7:00 3#、4#运行。
第四天,7:00--23:00 3#、4#运行;8:00--23:00 2#运行;23:00--7:00 1#、2#运行。
3、按照以上要求进行循环。
4、任意一台电机出现故障时该台电机应立即停止,并有故障提醒指示灯。
5、故障指示灯以1HZ频率闪烁,当按下故障复位按钮,如故障还在故障指示灯则常亮,待故障消除时,故障指示灯熄灭。
本案例需要掌握的知识有时区设置、系统时间与本地时间的区别,本地时间的读写时钟指令的使用。
1、时区的设置
(1)在S7-1200 PLC中的硬件组态中需要设置正确的时区才能读取到正确的时间,而S7-1200PLC默认的是“柏林”时区,而读者通常使用的是“北京”时间,需要在PLC的硬件组态中的“常规”选项中的“时间”栏设置为“北京”时间,如图3-6-1所示。
(2)如图3-6-1中有“夏令时”选项是否激活,夏令时我国在1992就开始停止实行,一般国内使用不需要勾选,如果出口到别的国家时要注意是否需要。
图3-6-1 时区设置图
2、系统时间与本地时间
(1)在博途软件中的扩展指令中有关于时钟功能的指令,如图3-6-2所示。“WR_SYS_T”和“RD_SYS_T”是关于读写系统时间的指令。“WR_LOC _T”和“RD_ LOC_T”是关于读写本地时间的指令。
图3-6-2 读写时钟指令
(2)系统时间(System Time)是指格林威治(UTC)标准时间。本地时间(LocalTime)是指S7-1200CPU所处时区设置的本地标准时间(一般我们设置为北京时间)。北京时间比UTC标准时间早8个小时(比如说UTC时间1月21日中午12:00,北京时间是1月21日20:00)
3、读写时钟指令
(1)读本地时间指令(RD_ LOC_T)
RD_ LOC_T指令:以 DTL数据类型提供 CPU的当前本地时间。指令相关参数如表3-6-1:
表3-6-1读本地时间指令参数
注意:可以从指令框“
图3-6-3 读写时钟指令
用一个例子来说明标准化指令 (RD_LOC_T)的使用,梯形图如图3-6-3所示当I0.0闭合激活读本地时间指令,在PLC的数据块中可以监控到当前的时间日期等,如图3-6-4。
图3-6-4 数据块中的时间日期等
(2)写本地时间指令(WR_ LOC_T)
写本地时间指令(WR_ LOC_T):设置 CPU时钟的日期与时间。可使用DTL 数据类型在LOCTIME中将日期和时间信息指定为本地时间。
指令相关参数如表3-6-2:
表3-6-2写本地时间指令相关参数
注意:可以从指令框“
用一个例子来说明标准化指令 (WR_LOC_T)的使用,梯形图如图3-6-5所示当I0.0闭合激活写本地时间指令,可以修改PLC当前的时间、日期、星期等,如图3-6-5,把2022年10月18日9点20分10秒写进PLC内。
图3-6-5 写本地时间指令
本任务的实施步骤主要分为PLC接线、IO地址分配以及程序设计思路:
1、IO地址分配如表3-6-3
表3-6-3 IO地址分配表
2、程序设计思路
(1)使用写时钟指令修正PLC当前时间,再使用读时钟指令读取PLC的时间。
(2)每天7点钟记录,当累积4天时重新计数。使用比较指令判断时间是几点几分几秒,条件达到则输出相关线圈。
3、程序设计如图3-6-6
图3-6-6程序设计
1、本任务主要是通过读本地时间指令,获取当前时间。再根据当前时间进行比较,在相关的时间范围内输出对应的风机。
2、当风机出现故障时,对应的风机停止。也利用系统存储器时间,使对应的指示灯闪烁。