【工控技术】如何在 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 | 当前日期时间与设定值相同 |


