时钟运算指令共有 7 条,编号分布在 FNC160~FNC169 之间,用于对时钟数据进行运算与比较、对 PLC 内置实时时钟进行时间校准和时钟数据格式化。
(1) 时钟数据比较指令 TCMP(FNC160)
TCMP(P) 用于比较指定时刻与时钟数据的大小。如图 5-61 所示,将源操作数 [S1]、[S2]、[S3] 中的时间与 [S] 起始的 3 点时间数据比较,根据比较结果决定目标操作数 [D] 起始的 3 点单元的 ON/OFF 状态。该指令只有 16 位运算,占 11 个程序步,源操作数可取 T、C 和 D,目标操作数可以是 Y、M 和 S。
图 5-61 时钟数据比较指令的使用

(2) 时钟数据加法运算指令 TADD(FNC162)
TADD(P) 的功能是将两个源操作数的内容相加,结果送入目标操作数,源操作数和目标操作数均可取 T、C、D。TADD 为 16 位运算指令,占 7 个程序步。如图 5-62 所示,将 [S1] 指定的 D10~D12 与 D20~D22 中存放的时、分、秒相加,结果送入 [D] 指定的 D30~D32。当运算结果超过 24 小时时进位标志位变为 ON,并将结果减 24 小时保存。
图 5-62 时钟数据加法运算指令的使用

(3) 时钟数据读取指令 TRD(FNC166)
TRD(P) 为 16 位运算指令,占 7 个程序步,[D] 可取 T、C、D。其功能是读出内置实时时钟的数据并放入由 [D] 开始的 7 个字内。如图 5-63 所示,当 X1 为 ON 时,将特殊辅助寄存器 D8013~D8019 中的实时时钟数据(按年、月、日、时、分、秒、星期的顺序保存)传送到 D10~D16。
图 5-63 时钟数据读取指令的使用
