此功能可加快或减慢 RTC 的频率,以控制 RTC 补偿的应用,具体取决于操作环境(温度等)。每周以秒为单位提供补偿值。它可以是正值(加快)或负值(减慢)。
下表介绍输入参数:
输入 |
类型 |
注释 |
---|---|---|
RtcDrift |
SINT (-36..73) |
每周按秒修正 (-36 ... +73)。 |
下表描述了输出变量:
输出 |
类型 |
注释 |
---|---|---|
SetRTCDrift |
如果命令正常运行,则返回 |
在此示例中,仅在第一个 MAST 任务循环期间调用此功能一次。它每周加快 RTC 4 秒(一个月 18 秒)。
VAR
MyRTCDrift : SINT (-36..+73) := 0;
MyDay : sec.DAY_OF_WEEK;
MyHour : sec.HOUR;
MyMinute : sec.MINUTE;
END_VAR
IF IsFirstMastCycle() THEN
MyRTCDrift := 4;
MyDay := 0;
MyHour := 0;
MyMinute := 0;
SetRTCDrift(MyRTCDrift, MyDay, MyHour, MyMinute);
END_IF