时钟运算类指令用于对plc内部的时钟数据进行运算和比较,对PLC内置实时时钟进行时间校准和时钟数据格式化操纵。共有七条时钟运算类指令,指令的编号分布在FNC160~FNC169之间。
(1)时钟数据比较指令TCMP(FNC160) TCMP(P)它的功能是用来比较指定时刻与时钟数据的大小。如图3- 86所示,将源操纵数[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个程序步。如图3-87所示,将[S1.]指定的D10~D12和D20~D22中所放的时、分、秒相加,把结果送进[D.]指定的D30~D32中。当运算结果超过24小时时,进位标志位变为ON,将进行加法运算的结果减往24小时后作为结果进行保存。
图 时钟数据加法运算指令的使用
(3)时钟数据读取指令TRD(FNC166) TRD(P)指令为16位运算,占7个程序步。[D.]可取T,C和D。它的功能是读出内置的实时时钟的数据放进由[D.]开始的7个字内。如图3-87所示,当X1为ON时,将实时时钟(它们以年、月、日、时、分、秒、星期的顺序存放在特殊辅助寄存器D8013~8019之中)传送到D10~D16之中。
图 时钟数据读取指令的使用