功能块 TIMESWITCH_ADD

功能块 TIMESWITCH_ADD 创建或修改时钟开关中的一个事件。

注意: 时钟开关必须在同一元素中存储。

提示: 要修改事件,可以使用功能块 TIMESWITCH_GET 读取所有值。

输入 ADD

在正边沿时,该输入会创建或修改日历中的一个事件。如果输入始终为真,则一旦删除该事件,它将再次被创建。不会检测到对事件的更改。

重要: 应避免同时创建和删除,因为这会对 SSD 造成很大压力。

输入 TIMESWITCH

在此处将时钟开关的数据库存储为字符串。该数据库必须作为功能块 TIMESWITCH 已经存在。请注意程序的顺序,以便正确初始化此功能块。

输入 ID

定义事件的字符串 ID。这允许唯一识别并防止其他事件产生冲突。ID 应仅由字母和数字组成。区分大小写。

注意: ID 应在所有日历中定义为唯一的。用户可以将一个事件复制到可视化中的另一个日历中。

输入 TITLE

事件标题作为字符串。此标题不应包含换行符。如果输入 ADD 为真,则每次更改都会立即写入日历。

输入 DT_START

返回格式为 DT# 的事件的开始时间点。如果输入 ADD 为真,则每次更改都会立即写入日历。

提示: 开关时间可以使用功能块 MKTIMESTR2DTEASTER_DATE 计算。

输入 DT_END

返回格式为 DT# 的事件的结束时间点。如果输入 ADD 为真,则每次更改都会立即写入日历。如果结束时间小于 DT_START,则将 DT_END 定义为开始时间点。

如果未定义该输入,则假设与 DT_START 相同的值,并在事件中生成一个脉冲。

输入 DIS

该输入会在日历中禁用事件。如果输入 ADD 为真,则每次更改都会立即写入日历。

输入 REPEAT

可以在输入处定义重复项作为字符串。这些重复项可以使用辅助函数 REPEAT_YEARLYREPEAT_MONTHLYREPEAT_WEEKLYREPEAT_DAILYREPEAT_HOURLY 生成或如所述声明。

字符串可以通过冒号分隔,构建如下:

w:2:4:135

第一个数字(小写)定义重复的时间间隔:

缩写 时间间隔
h 每小时
d 每天
w 每周
m 每月
y 每年

第二个数字定义重复的整数间隔。最小值为 1

第三个数字定义重复的结束时间。可以在此处定义三种不同格式:

  • 无值:重复是无限的。
  • 作为简单整数:在定义的重复次数之后结束重复。
  • 作为日期 YYYY-MM-DD:在该日期之前结束重复。

第四个数字定义重复发生的星期几。此数字仅用于定义每周或每月重复时使用。

每周重复

检查当前星期是否存在于该数字中。可以简单地连续指定多个天。例如,135 用于星期一、星期三和星期五。如果未指定值(0 或空字符串),则不在任何天重复。

数字 星期几
1 星期一
2 星期二
3 星期三
4 星期四
5 星期五
6 星期六
7 星期日
每月重复

定义应在哪个星期几重复事件。支持的数字范围是 -140 或无声明每月在同一天重复,与星期几无关。星期几将从第一个日期获取。

描述
-1 在最后一个星期几重复。
0 在同一天重复。(默认)
1 在第一个星期几重复。
2 在第二个星期几重复。
3 在第三个星期几重复。
4 在第四个星期几重复。

输出 ERR

在发生错误的情况下,将输出设置为真。这可以是日历不存在或 ID 未定义或无效时的情况。