共有7条时钟运算类指令,指令的编号分布在FNC160 - FNC169之间。时钟运算指令是对时钟数据进行运算和比较,对PLC内置实时时钟进行时间校准和时钟数据格式化操作。时钟运算指令如表4-16所示。
表4-16 时钟运算指令
(1)时钟数据比较指令TCMP (FNC160)
TCMP (P)的功能是比较指定时刻与时钟数据的大小。
示例及使用:如图4-66所示,将源操作数[S1.]、[S2.]、[S3.]中的时间与[S.]起始的3点时间数据比较,根据它们的比较结果决定目标操作数[D.]中起始的3点单元中取ON或OFF的状态。该指令只有16位运算,占11个程序步。它的源操作数可取T、C和D,目标操作数可以是Y、M和S。
(2)时钟数据加法运算指令TADD(FNC162)
TADD (P)指令的功能是将两源操作数的内容相加结果送入目标操作数。源操作数和目标操作数均可取T、C和D。TADD为16位运算,占7个程序步。
示例及使用:如图4-67所示,将[S1.]指定的D10 - D12和D20 - D22中所放的时、分、秒相加,把结果送入[D.]指定的D30 - D32中。当运算结果超过24h时,进位标志位变为ON,将进行加法运算的结果减去24小时后作为结果进行保存。
图4-66 时钟数据比较指令的使用
图4-67 时钟数据加法运算指令的使用
(3)时钟数据读取指令TRD (FNC166)
TRD (P)指令为16位运算,占7个程序步。[D.]可取T、C和D。它的功能是读出内置的实时时钟的数据放入由[D.]开始的7个字内。
示例及使用:如图4-68所示,当X1为ON时,将实时时钟(它们以年、月、日、时、分、秒、星期的顺序存放在特殊辅助寄存器D8013 - 8019中)传送到D10 - D16中。
图4-68 时钟数据读取指令的使用