5.12时钟运算(FNC160~169)时钟运算含对PLC内置的实时时钟进行时间校准和时间数据比较等。5.12.1时钟数据读取(TRD)1.时钟数据读取指令助记符及功能如表5-84所示:3.说明(1)TRD指令的意义为将PLC的实时时钟数据(年月日时分秒星期)送目标(D.)+0~(D.)+6中去。(2)PLC保持时间数据的源为D8013~D8019特殊数据存储器,执行TRD指令的意义是将源的数据送目标如下:年的设定范围为(00~79),即(2000~2079).如图5-195所示,读PLC内部的时钟数据,按X0,得D0=5,D1=9,D2=13,D3=20,D4=16,D5=46,D6=2.即PLC的时钟数据为2005年9月13日20时16分46秒星期二.图5-195读PLC内部的时钟数5.12.2时钟数据写入(TWR)1.时钟数据写入指令助记符及功能如表5-85所示:3.说明(1)TWR指令的意义是将设定的时钟数据写入到源(S.)为首址的连续7位元件中去.(2)执行TWR指令时,将新设定的时钟数据保存在PLC的实时时钟数据存储器D(D8013~D8019)中,如下表:例5-18将2005年9月18日星期六18时28分38秒显写入到PLC的实时时钟数据存储器中。程序如图5-197所示.图中,按X0输入时钟数据(年月日时分秒星期),按X1将此数据写入到PLC的实时时数据存储器中.按X3,读出此数据得D10=5,D11=9,D12=18,D13=18,D14=28,D15=39,D16=6。图中按X2,M8017为ON,有±30秒的修正操作。图5-197将设定时间写入到PLC的实时时钟数据存储器(1)图5-198将设定时间写入到PLC的实时时钟数据存储器中(2)当M8015为OFF时无法写入时间,操作时请预先设定好时间,当达到设定时间时,按X0,当M8015从ON→OFF时,新时间便开始生效。如不使用时间写入指令TWR写入时钟数据,可用图5-198程序。程序中将2005年10月25日星期二10时20分30秒写入PLC的实时时钟数据中。5.12.3时钟数据比较(TCMP)1.时钟数据比较指令助记符及功能如表5-86所示:图5-199TCMP指令3.说明(1)TCMP指令的意义是将基准时间源(S1.),(S2.),(S3.)(时,分,秒)与时钟数据(S.),(S.)+1,(S.)+2(时,分,秒)比较,比较的结果放在以(D.)为首址连续3个元件中。时,分,秒时,分,秒当(S1.),(S2.),(S3.)>(S.),(S.)+1,(S.)+2→(D.)为ON;当(S1.),(S2.),(S3.)=(S.),(S.)+1,(S.)+2→(D.)+1为ON;当(S1.),(S2.),(S3.)<(S.),(S.)+1,(S.)+2→(D.)+2为ON。(2)时的设定范围为(0~23),分的设定范围为(0~59),秒的设定范围为(0~59)。例5-20某通风系统要求每天7:30开第一台电机(Y1),10:00开第二台电机(Y2),16:30关第一台电机(Y1),23:30关第二台电机(Y2),试用时钟数据指令模拟编写程序,用D10~D16存放时钟数据。程序如图5-200所示。程序中如果按X0,表示时间已到7:30,时钟数据比较结果使M1闭合令Y1为ON。如按X1,表示时间已到10:00,时钟数据比较使M11闭合令结果Y2为ON。如按X2,表示时间已到16:30,时钟数据比较结果使M21闭合令Y1为OFF。如按X3,表示时间已到23:30,时钟数据比较结果使M31闭合令Y2为OFF。图5-200例5-20的程序5.12.4时钟数据区间比较(TZCP)1.时钟数据区间比较指令助记符及功能如表5-87所示:3.说明(1)TZCP指令的(S1.),(S2.),(S3.)(D.)的意义为:(S1.),(S1.)+1,(S1.)+2---以时,分,秒方式指定比较基准时间下限;(S2.),(S2.)+1,(S2.)+2---以时,分,秒方式指定比较基准时间上限;(S.),(S.)+1,(S.)+2-------以时,分,秒方式指定时钟数据;(D.),(D.)+1,(D.)+2-------根据比较结果的连续3位元件ON/OFF输出:当(S1.)>(S.)时→(D.)为ON;当(S1.)≤(S.)≤(S2.)时→(D.)+1为ON;当(S.)>(S2.)时→(D.)+2为ON。(2)执行图5-202程序,当按X0时,设定比较基准时间下限;按X1时,设定比较基准时间上限;之后按X2,Y3为ON;按X3,Y4为ON;按X4,Y5为ON。图5-202TZCP指令的应用5.12.5时钟数据的加减法(TADD,ASUB)1.时钟数据加减法指令助记符及功能如表5-88所示:3.说明(1)时钟数据中的(S1.),(S2.),(D.)用3个连续元件表示时,分,秒:(S1.)+0,(S2.)+0,(D.)+0-----时(设定范围0~23);(S1.)+1,(S2.)+1,(D.)+1-----分(设定范围0~59);(S1.)+2,(S2.)+2,(D.)+2-----秒(设定范围0~59)。(2)TADD的意义为(S1.)+(S2.)→(D.)即将(S1.)的3位连续元件的时、分、秒与(S2.)的3位连续元件的时、分、秒相加送目标。当运算的结果超过24小时,进位标志M8022为ON,将加法运算的结果减去24小时后送目标。图5-204时钟数据加减法运算的例子.图中按X0,X1,得(S1.)=20时46分38秒,(S2.)=17时39分28秒.按X3得两个时间相加数据为D30=14,D31=26,D32=6,即14时26分6秒。按X4得两个时间相减数据为D40=3,D41=7,D42=10,即3时7分10秒。(3)TSUB的意义为(S1.)-(S2.)→(D.)即将(S1.)的3位连续元件的时、分、秒与(S2.)的3位连续元件的时、分、秒相减送目标。当运算的结果超过0小时,借位标志M8021为ON,将加减法运算的结果加上24小时后送目标。图5-204为时钟数据加减法运算的程序例子.5.12.6计时表1.计时表指令助记符及功能如表5-89所示:3.说明HOUR指令只适用于FX1N和FX1S机型.其源与目标的意义为:(S.)----使目标(D2.)变为ON的时间,以小时计;(D1.)---以小时为单位的时间当前值;(D1)+1—不满1小时的当前值;(D2.)---报警输出地址,当(D1.)超过(S.)的设定时间时为ON。图5-205的意义为:当累积统计X0为ON的时间总和超过(S.)设定时间(小时)时,(D2.)为ON。而经历的时间(小时数)存放在(D1.),不满1小时(以秒计)存放在(D1.)+1中。本指令可以为16位指令,或32位指令,由(S1.)的值大小而定。