【工控技术】如何在 S7-1200 /S7-1500 PLC 中实现一个定时执行事件的功能?
通过“clockalarm”功能块,可以实现事件单次执行,或每年,每月,每日,每小时,每分钟以及每秒执行。
描述
通过“clockalarm”功能块的输入参数定义事件的开始时间,禁用不需要的时间单位(例如,年,月,日,…)等下表中列出的参数。功能块会将配置的参数与系统时间进行比较,当定义的时间与系统时间相同时,“clockalarm”功能块输出管脚输出True信号。
例子
一个每天的事件用"ClockAlarm" 定义为本地时间14:50执行。
详细设置如下:
1、设置输入参数“小时 使能”和“分 使能”为 真 信号。具体输入参数“小时”和“分钟”的数值。
2、设定 "小时" 为14 , "分钟" 为50。
3、不用的时间参数("年", "月", "日", "秒" 和 "星期")使能关闭,(默认初始值是使能打开)。
4、功能输出值"Ret_Val" 分配给变量"WakeUp" (Q0.0).
5、保存编译块并下载到PLC。
数字量"Ret_Val" 被设定为每天本地时间14:50时被程序调用执行.图1 显示了参数设置情况。
图.1
注意
"ClockAlarm" 功能块参数也可以通过DB和面板设置。
“clockalarm”功能是SCL编程语言创建的,包含德语和英语的注释。下表描述了块参数。
参数 |
数据类型 |
描述 |
---|---|---|
输入参数 | ||
年 | UInt | 1970 到 2554 |
年 使能 | Bool | "1": 年 使能; "0": 关闭 (无监控) |
月 | USInt | 1到12 |
月使能 | Bool | 1": 月使能, "0": 关闭(无监控) |
日 | USInt | 0 到 31 |
日 使能 | Bool | "1": 日 使能, "0": 关闭(无监控) |
小时 | USInt | 0到23 |
小时 使能 | Bool | "1": 小时 使能, "0": 关闭(无监控) |
分 |
USInt | 0到59 |
分 使能 | Bool | "1": 分 使能, "0": 关闭(无监控) |
秒 | USInt | 0到59 |
秒 使能 | Bool | "1": 秒 使能, "0": 关闭(无监控) |
星期 | USInt | 1 到 7; "-1": 星期数; "1": 代表星期日 |
星期使能 | Bool | "1": 星期使能, "0": 关闭(无监控) |
本地时间 | Bool | "1":本地时间; "0": 系统时间 |
返回-参数 | ||
闹钟 | Bool | 当前日期时间与设定值相同 |