[西门子] 案例分享 | 隧道风机控制案例

[复制链接]
查看82 | 回复0 | 2024-6-6 09:37:30 | 显示全部楼层 |阅读模式
一、任务目标该任务是功能指令应用案例,使用功能指令有助于我们理清编程思路。本任务使用了时钟指令读取实时时钟,在实际应用中这个指令应用非常广泛。本任务要求读者掌握以下几个内容:
1、系统时间与本地时间的组态
2、读写时钟指令的使用


二、任务描述1、在某高速公路中有一隧道,分别有A、B两组风机,A组风机编号为1#、2#,B组风机编号为3#、4#。


2、控制方式:
按下系统启动按钮之后,风机按以下控制方式运行。
第一天,7:00--23:001#、2#运行;8:00--23:003#运行;23:00--7:003#、4# 运行。
第二天,7:00--23:003#、4#运行;8:00--23:001#运行;23:00--7:001#、2# 运行。
第三天,7:00--23:001#、2#运行;8:00--23:004#运行;23:00--7:003#、4# 运行。
第四天,7:00--23:003#、4#运行;8:00--23:002#运行;23:00--7:001#、2# 运行。


3、按照以上要求进行循环。


4、任意一台电机出现故障时该台电机应立即停止,并有故障提醒指示灯。


5、故障指示灯以1HZ频率闪烁,当按下故障复位按钮,如故障还在故障指示灯则常亮,待故障消除时,故障指示灯熄灭。


三、相关知识本案例需要掌握的知识有时区设置、系统时间与本地时间的区别,本地时间的读写时钟指令的使用。


1、时区的设置
(1)在S7-1200PLC中的硬件组态中需要设置正确的时区才能读取到正确的时间,而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)系统时间(SystemTime)是指格林威治(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、当风机出现故障时,对应的风机停止。也利用系统存储器时间,使对应的指示灯闪烁。




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则