FUNCTION_BLOCK TimerForm VAR_EXTERNAL END_VAR VAR_INPUT OnH1st :INT:=0; OnM1st :INT:=0; OffH1st :INT:=0; OffM1st :INT:=0; Enable1st :BOOL:=FALSE; OnH2nd :INT:=0; OnM2nd :INT:=0; OffH2nd :INT:=0; OffM2nd :INT:=0; Enable2nd :BOOL:=FALSE; OnH3rd :INT:=0; OnM3rd :INT:=0; OffH3rd :INT:=0; OffM3rd :INT:=0; Enable3rd :BOOL:=FALSE; OnH4th :INT:=0; OnM4th :INT:=0; OffH4th :INT:=0; OffM4th :INT:=0; Enable4th :BOOL:=FALSE; OnH5th :INT:=0; OnM5th :INT:=0; OffH5th :INT:=0; OffM5th :INT:=0; Enable5th :BOOL:=FALSE; OnH6th :INT:=0; OnM6th :INT:=0; OffH6th :INT:=0; OffM6th :INT:=0; Enable6th :BOOL:=FALSE; END_VAR VAR_OUTPUT TimeSw1 :BOOL; TimeSw2 :BOOL; TimeSw3 :BOOL; TimeSw4 :BOOL; TimeSw5 :BOOL; TimeSw6 :BOOL; OUT_Z :bool; END_VAR VAR HOUR : byte; YEAR : word; MON : byte; DAY : byte; MI : byte; SEC : byte; WEEK : byte; WD_HOUR :INT; WD_MI :INT; SetCompare1st :bool; (*开启设定时间大于关闭设定时间为1,反之为0*) TrueSetCloseCompare1st :bool; (*关闭设定时间大于实际时间为1,反之为0*) TrueSetOpenCompare1st :bool; (*开启设定时间大于实际时间为1,反之为0*) SetCompare2nd :bool; (*开启设定时间大于关闭设定时间为1,反之为0*) TrueSetCloseCompare2nd :bool; (*关闭设定时间大于实际时间为1,反之为0*) TrueSetOpenCompare2nd :bool; (*开启设定时间大于实际时间为1,反之为0*) SetCompare3rd :bool; (*开启设定时间大于关闭设定时间为1,反之为0*) TrueSetCloseCompare3rd :bool; (*关闭设定时间大于实际时间为1,反之为0*) TrueSetOpenCompare3rd :bool; (*开启设定时间大于实际时间为1,反之为0*) SetCompare4th :bool; (*开启设定时间大于关闭设定时间为1,反之为0*) TrueSetCloseCompare4th :bool; (*关闭设定时间大于实际时间为1,反之为0*) TrueSetOpenCompare4th :bool; (*开启设定时间大于实际时间为1,反之为0*) SetCompare5th :bool; (*开启设定时间大于关闭设定时间为1,反之为0*) TrueSetCloseCompare5th :bool; (*关闭设定时间大于实际时间为1,反之为0*) TrueSetOpenCompare5th :bool; (*开启设定时间大于实际时间为1,反之为0*) SetCompare6th :bool; (*开启设定时间大于关闭设定时间为1,反之为0*) TrueSetCloseCompare6th :bool; (*关闭设定时间大于实际时间为1,反之为0*) TrueSetOpenCompare6th :bool; (*开启设定时间大于实际时间为1,反之为0*) Clock : NW_DateTimeGet; p1,p2 : pointer; v2v : NW_MemCopy; END_VAR (*Automatically declared*) VAR_EXTERNAL END_VAR (** Clock( EN:=1 , B_TWELVE_HOUR:=0 | YEAR:= W_YEAR, MON:= BY_MONTH, DAY:= BY_DAY, HOUR:= BY_HOUR,MI := BY_MIN, SEC:= BY_SEC,WEEK := BY_WDAY ); **) (* call - Stmt *) CAL Clock ( EN := 1, B_TWELVE_HOUR := 0 | YEAR := W_YEAR, MON := BY_MONTH, DAY := BY_DAY, HOUR := BY_HOUR, MI := BY_MIN, SEC := BY_SEC, WEEK := BY_WDAY ) (** **) (** WD_HOUR:=BYTE_TO_int(HOUR); **) (* assign - Stmt *) LD HOUR BYTE_TO_int ST WD_HOUR (** WD_MI:=BYTE_TO_int(MI); **) (* assign - Stmt *) LD MI BYTE_TO_int ST WD_MI (** **) (** **) (** IF Enable1st=TRUE AND (NOT(OnH1st=OffH1st AND OnM1st=OffM1st)) THEN{*开关时间一致则无效*} **) (* if - Cond *) LD Enable1st EQ TRUE AND ( OnH1st EQ OffH1st AND ( OnM1st EQ OffM1st ) NOT ) JMPCN ODK_SKIP_000000000000001_000000000000001 (* then - Stmts *) (** {*1判断开关设定时间之间的大小*} **) (** IF OnH1st>OffH1st THEN **) (* if - Cond *) LD OnH1st GT OffH1st JMPCN ODK_SKIP_000000000000002_000000000000001 (* then - Stmts *) (** SetCompare1st := 1; **) (* assign - Stmt *) LD 1 ST SetCompare1st JMP ODK_END_IF_000000000000002 (** END_IF; **) (* if - End *) ODK_SKIP_000000000000002_000000000000001: ODK_END_IF_000000000000002: (** IF OnH1stOffM1st THEN **) (* if - Cond *) LD OnM1st GT OffM1st JMPCN ODK_SKIP_000000000000005_000000000000001 (* then - Stmts *) (** SetCompare1st := 1; **) (* assign - Stmt *) LD 1 ST SetCompare1st JMP ODK_END_IF_000000000000005 (** ELSE **) (* else *) ODK_SKIP_000000000000005_000000000000001: (* else - Stmts *) (** SetCompare1st := 0; **) (* assign - Stmt *) LD 0 ST SetCompare1st (** END_IF; **) (* if - End *) ODK_END_IF_000000000000005: JMP ODK_END_IF_000000000000004 (** END_IF; **) (* if - End *) ODK_SKIP_000000000000004_000000000000001: ODK_END_IF_000000000000004: (** **) (** {*1判断开设定时间与实际时间之间的大小*} **) (** IF OnH1st>WD_HOUR THEN **) (* if - Cond *) LD OnH1st GT WD_HOUR JMPCN ODK_SKIP_000000000000006_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare1st := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare1st JMP ODK_END_IF_000000000000006 (** END_IF; **) (* if - End *) ODK_SKIP_000000000000006_000000000000001: ODK_END_IF_000000000000006: (** IF OnH1st=WD_MI THEN **) (* if - Cond *) LD OnM1st GE WD_MI JMPCN ODK_SKIP_000000000000009_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare1st := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare1st JMP ODK_END_IF_000000000000009 (** ELSE **) (* else *) ODK_SKIP_000000000000009_000000000000001: (* else - Stmts *) (** TrueSetOpenCompare1st := 0; **) (* assign - Stmt *) LD 0 ST TrueSetOpenCompare1st (** END_IF; **) (* if - End *) ODK_END_IF_000000000000009: JMP ODK_END_IF_000000000000008 (** END_IF; **) (* if - End *) ODK_SKIP_000000000000008_000000000000001: ODK_END_IF_000000000000008: (** **) (** {*1判断关设定时间与实际时间之间的大小*} **) (** IF OffH1st>WD_HOUR THEN **) (* if - Cond *) LD OffH1st GT WD_HOUR JMPCN ODK_SKIP_00000000000000A_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare1st := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare1st JMP ODK_END_IF_00000000000000A (** END_IF; **) (* if - End *) ODK_SKIP_00000000000000A_000000000000001: ODK_END_IF_00000000000000A: (** IF OffH1st=WD_MI THEN **) (* if - Cond *) LD OffM1st GE WD_MI JMPCN ODK_SKIP_00000000000000D_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare1st := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare1st JMP ODK_END_IF_00000000000000D (** ELSE **) (* else *) ODK_SKIP_00000000000000D_000000000000001: (* else - Stmts *) (** TrueSetCloseCompare1st := 0; **) (* assign - Stmt *) LD 0 ST TrueSetCloseCompare1st (** END_IF; **) (* if - End *) ODK_END_IF_00000000000000D: JMP ODK_END_IF_00000000000000C (** END_IF; **) (* if - End *) ODK_SKIP_00000000000000C_000000000000001: ODK_END_IF_00000000000000C: (** **) (** {*1控制输出*} **) (** IF SetCompare1st THEN{*开启设定时间大于关闭设定时间为1*} **) (* if - Cond *) LD SetCompare1st JMPCN ODK_SKIP_00000000000000E_000000000000001 (* then - Stmts *) (** IF TrueSetOpenCompare1st AND NOT (TrueSetCloseCompare1st) THEN **) (* if - Cond *) LD TrueSetOpenCompare1st AND ( TrueSetCloseCompare1st NOT ) JMPCN ODK_SKIP_00000000000000F_000000000000001 (* then - Stmts *) (** TimeSw1:=0; **) (* assign - Stmt *) LD 0 ST TimeSw1 JMP ODK_END_IF_00000000000000F (** ELSE **) (* else *) ODK_SKIP_00000000000000F_000000000000001: (* else - Stmts *) (** TimeSw1:=1; **) (* assign - Stmt *) LD 1 ST TimeSw1 (** END_IF; **) (* if - End *) ODK_END_IF_00000000000000F: JMP ODK_END_IF_00000000000000E (** ELSE **) (* else *) ODK_SKIP_00000000000000E_000000000000001: (* else - Stmts *) (** **) (** IF TrueSetCloseCompare1st AND NOT (TrueSetOpenCompare1st) THEN **) (* if - Cond *) LD TrueSetCloseCompare1st AND ( TrueSetOpenCompare1st NOT ) JMPCN ODK_SKIP_00000000000000G_000000000000001 (* then - Stmts *) (** TimeSw1:=1; **) (* assign - Stmt *) LD 1 ST TimeSw1 JMP ODK_END_IF_00000000000000G (** ELSE **) (* else *) ODK_SKIP_00000000000000G_000000000000001: (* else - Stmts *) (** TimeSw1:=0; **) (* assign - Stmt *) LD 0 ST TimeSw1 (** END_IF; **) (* if - End *) ODK_END_IF_00000000000000G: (** END_IF; **) (* if - End *) ODK_END_IF_00000000000000E: JMP ODK_END_IF_000000000000001 (** **) (** ELSE **) (* else *) ODK_SKIP_000000000000001_000000000000001: (* else - Stmts *) (** TimeSw1:=0; **) (* assign - Stmt *) LD 0 ST TimeSw1 (** END_IF; **) (* if - End *) ODK_END_IF_000000000000001: (** **) (** **) (** IF Enable2nd=TRUE AND (NOT(OnH2nd=OffH2nd AND OnM2nd=OffM2nd)) THEN{*开关时间一致则无效*} **) (* if - Cond *) LD Enable2nd EQ TRUE AND ( OnH2nd EQ OffH2nd AND ( OnM2nd EQ OffM2nd ) NOT ) JMPCN ODK_SKIP_00000000000000H_000000000000001 (* then - Stmts *) (** {*2判断开关设定时间之间的大小*} **) (** IF OnH2nd>OffH2nd THEN **) (* if - Cond *) LD OnH2nd GT OffH2nd JMPCN ODK_SKIP_00000000000000I_000000000000001 (* then - Stmts *) (** SetCompare2nd := 1; **) (* assign - Stmt *) LD 1 ST SetCompare2nd JMP ODK_END_IF_00000000000000I (** END_IF; **) (* if - End *) ODK_SKIP_00000000000000I_000000000000001: ODK_END_IF_00000000000000I: (** IF OnH2ndOffM2nd THEN **) (* if - Cond *) LD OnM2nd GT OffM2nd JMPCN ODK_SKIP_00000000000000L_000000000000001 (* then - Stmts *) (** SetCompare2nd := 1; **) (* assign - Stmt *) LD 1 ST SetCompare2nd JMP ODK_END_IF_00000000000000L (** ELSE **) (* else *) ODK_SKIP_00000000000000L_000000000000001: (* else - Stmts *) (** SetCompare2nd := 0; **) (* assign - Stmt *) LD 0 ST SetCompare2nd (** END_IF; **) (* if - End *) ODK_END_IF_00000000000000L: JMP ODK_END_IF_00000000000000K (** END_IF; **) (* if - End *) ODK_SKIP_00000000000000K_000000000000001: ODK_END_IF_00000000000000K: (** **) (** {*2判断开设定时间与实际时间之间的大小*} **) (** IF OnH2nd>WD_HOUR THEN **) (* if - Cond *) LD OnH2nd GT WD_HOUR JMPCN ODK_SKIP_00000000000000M_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare2nd := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare2nd JMP ODK_END_IF_00000000000000M (** END_IF; **) (* if - End *) ODK_SKIP_00000000000000M_000000000000001: ODK_END_IF_00000000000000M: (** IF OnH2nd=WD_MI THEN **) (* if - Cond *) LD OnM2nd GE WD_MI JMPCN ODK_SKIP_00000000000000P_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare2nd := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare2nd JMP ODK_END_IF_00000000000000P (** ELSE **) (* else *) ODK_SKIP_00000000000000P_000000000000001: (* else - Stmts *) (** TrueSetOpenCompare2nd := 0; **) (* assign - Stmt *) LD 0 ST TrueSetOpenCompare2nd (** END_IF; **) (* if - End *) ODK_END_IF_00000000000000P: JMP ODK_END_IF_00000000000000O (** END_IF; **) (* if - End *) ODK_SKIP_00000000000000O_000000000000001: ODK_END_IF_00000000000000O: (** **) (** {*2判断关设定时间与实际时间之间的大小*} **) (** IF OffH2nd>WD_HOUR THEN **) (* if - Cond *) LD OffH2nd GT WD_HOUR JMPCN ODK_SKIP_00000000000000Q_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare2nd := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare2nd JMP ODK_END_IF_00000000000000Q (** END_IF; **) (* if - End *) ODK_SKIP_00000000000000Q_000000000000001: ODK_END_IF_00000000000000Q: (** IF OffH2nd=WD_MI THEN **) (* if - Cond *) LD OffM2nd GE WD_MI JMPCN ODK_SKIP_00000000000000T_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare2nd := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare2nd JMP ODK_END_IF_00000000000000T (** ELSE **) (* else *) ODK_SKIP_00000000000000T_000000000000001: (* else - Stmts *) (** TrueSetCloseCompare2nd := 0; **) (* assign - Stmt *) LD 0 ST TrueSetCloseCompare2nd (** END_IF; **) (* if - End *) ODK_END_IF_00000000000000T: JMP ODK_END_IF_00000000000000S (** END_IF; **) (* if - End *) ODK_SKIP_00000000000000S_000000000000001: ODK_END_IF_00000000000000S: (** **) (** {*2控制输出*} **) (** IF SetCompare2nd THEN{*开启设定时间大于关闭设定时间为1*} **) (* if - Cond *) LD SetCompare2nd JMPCN ODK_SKIP_00000000000000U_000000000000001 (* then - Stmts *) (** IF TrueSetOpenCompare2nd AND NOT (TrueSetCloseCompare2nd) THEN **) (* if - Cond *) LD TrueSetOpenCompare2nd AND ( TrueSetCloseCompare2nd NOT ) JMPCN ODK_SKIP_00000000000000V_000000000000001 (* then - Stmts *) (** TimeSw2:=0; **) (* assign - Stmt *) LD 0 ST TimeSw2 JMP ODK_END_IF_00000000000000V (** ELSE **) (* else *) ODK_SKIP_00000000000000V_000000000000001: (* else - Stmts *) (** TimeSw2:=1; **) (* assign - Stmt *) LD 1 ST TimeSw2 (** END_IF; **) (* if - End *) ODK_END_IF_00000000000000V: JMP ODK_END_IF_00000000000000U (** ELSE **) (* else *) ODK_SKIP_00000000000000U_000000000000001: (* else - Stmts *) (** **) (** IF TrueSetCloseCompare2nd AND NOT (TrueSetOpenCompare2nd) THEN **) (* if - Cond *) LD TrueSetCloseCompare2nd AND ( TrueSetOpenCompare2nd NOT ) JMPCN ODK_SKIP_00000000000000W_000000000000001 (* then - Stmts *) (** TimeSw2:=1; **) (* assign - Stmt *) LD 1 ST TimeSw2 JMP ODK_END_IF_00000000000000W (** ELSE **) (* else *) ODK_SKIP_00000000000000W_000000000000001: (* else - Stmts *) (** TimeSw2:=0; **) (* assign - Stmt *) LD 0 ST TimeSw2 (** END_IF; **) (* if - End *) ODK_END_IF_00000000000000W: (** END_IF; **) (* if - End *) ODK_END_IF_00000000000000U: JMP ODK_END_IF_00000000000000H (** **) (** ELSE **) (* else *) ODK_SKIP_00000000000000H_000000000000001: (* else - Stmts *) (** TimeSw2:=0; **) (* assign - Stmt *) LD 0 ST TimeSw2 (** END_IF; **) (* if - End *) ODK_END_IF_00000000000000H: (** **) (** **) (** **) (** IF Enable3rd=TRUE AND (NOT(OnH3rd=OffH3rd AND OnM3rd=OffM3rd)) THEN{*开关时间一致则无效*} **) (* if - Cond *) LD Enable3rd EQ TRUE AND ( OnH3rd EQ OffH3rd AND ( OnM3rd EQ OffM3rd ) NOT ) JMPCN ODK_SKIP_00000000000000X_000000000000001 (* then - Stmts *) (** {*3判断开关设定时间之间的大小*} **) (** IF OnH3rd>OffH3rd THEN **) (* if - Cond *) LD OnH3rd GT OffH3rd JMPCN ODK_SKIP_00000000000000Y_000000000000001 (* then - Stmts *) (** SetCompare3rd := 1; **) (* assign - Stmt *) LD 1 ST SetCompare3rd JMP ODK_END_IF_00000000000000Y (** END_IF; **) (* if - End *) ODK_SKIP_00000000000000Y_000000000000001: ODK_END_IF_00000000000000Y: (** IF OnH3rdOffM3rd THEN **) (* if - Cond *) LD OnM3rd GT OffM3rd JMPCN ODK_SKIP_000000000000011_000000000000001 (* then - Stmts *) (** SetCompare3rd := 1; **) (* assign - Stmt *) LD 1 ST SetCompare3rd JMP ODK_END_IF_000000000000011 (** ELSE **) (* else *) ODK_SKIP_000000000000011_000000000000001: (* else - Stmts *) (** SetCompare3rd := 0; **) (* assign - Stmt *) LD 0 ST SetCompare3rd (** END_IF; **) (* if - End *) ODK_END_IF_000000000000011: JMP ODK_END_IF_000000000000010 (** END_IF; **) (* if - End *) ODK_SKIP_000000000000010_000000000000001: ODK_END_IF_000000000000010: (** **) (** {*3判断开设定时间与实际时间之间的大小*} **) (** IF OnH3rd>WD_HOUR THEN **) (* if - Cond *) LD OnH3rd GT WD_HOUR JMPCN ODK_SKIP_000000000000012_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare3rd := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare3rd JMP ODK_END_IF_000000000000012 (** END_IF; **) (* if - End *) ODK_SKIP_000000000000012_000000000000001: ODK_END_IF_000000000000012: (** IF OnH3rd=WD_MI THEN **) (* if - Cond *) LD OnM3rd GE WD_MI JMPCN ODK_SKIP_000000000000015_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare3rd := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare3rd JMP ODK_END_IF_000000000000015 (** ELSE **) (* else *) ODK_SKIP_000000000000015_000000000000001: (* else - Stmts *) (** TrueSetOpenCompare3rd := 0; **) (* assign - Stmt *) LD 0 ST TrueSetOpenCompare3rd (** END_IF; **) (* if - End *) ODK_END_IF_000000000000015: JMP ODK_END_IF_000000000000014 (** END_IF; **) (* if - End *) ODK_SKIP_000000000000014_000000000000001: ODK_END_IF_000000000000014: (** **) (** {*3判断关设定时间与实际时间之间的大小*} **) (** IF OffH3rd>WD_HOUR THEN **) (* if - Cond *) LD OffH3rd GT WD_HOUR JMPCN ODK_SKIP_000000000000016_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare3rd := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare3rd JMP ODK_END_IF_000000000000016 (** END_IF; **) (* if - End *) ODK_SKIP_000000000000016_000000000000001: ODK_END_IF_000000000000016: (** IF OffH3rd=WD_MI THEN **) (* if - Cond *) LD OffM3rd GE WD_MI JMPCN ODK_SKIP_000000000000019_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare3rd := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare3rd JMP ODK_END_IF_000000000000019 (** ELSE **) (* else *) ODK_SKIP_000000000000019_000000000000001: (* else - Stmts *) (** TrueSetCloseCompare3rd := 0; **) (* assign - Stmt *) LD 0 ST TrueSetCloseCompare3rd (** END_IF; **) (* if - End *) ODK_END_IF_000000000000019: JMP ODK_END_IF_000000000000018 (** END_IF; **) (* if - End *) ODK_SKIP_000000000000018_000000000000001: ODK_END_IF_000000000000018: (** **) (** {*3控制输出*} **) (** IF SetCompare3rd THEN{*开启设定时间大于关闭设定时间为1*} **) (* if - Cond *) LD SetCompare3rd JMPCN ODK_SKIP_00000000000001A_000000000000001 (* then - Stmts *) (** IF TrueSetOpenCompare3rd AND NOT (TrueSetCloseCompare3rd) THEN **) (* if - Cond *) LD TrueSetOpenCompare3rd AND ( TrueSetCloseCompare3rd NOT ) JMPCN ODK_SKIP_00000000000001B_000000000000001 (* then - Stmts *) (** TimeSw3:=0; **) (* assign - Stmt *) LD 0 ST TimeSw3 JMP ODK_END_IF_00000000000001B (** ELSE **) (* else *) ODK_SKIP_00000000000001B_000000000000001: (* else - Stmts *) (** TimeSw3:=1; **) (* assign - Stmt *) LD 1 ST TimeSw3 (** END_IF; **) (* if - End *) ODK_END_IF_00000000000001B: JMP ODK_END_IF_00000000000001A (** ELSE **) (* else *) ODK_SKIP_00000000000001A_000000000000001: (* else - Stmts *) (** **) (** IF TrueSetCloseCompare3rd AND NOT (TrueSetOpenCompare3rd) THEN **) (* if - Cond *) LD TrueSetCloseCompare3rd AND ( TrueSetOpenCompare3rd NOT ) JMPCN ODK_SKIP_00000000000001C_000000000000001 (* then - Stmts *) (** TimeSw3:=1; **) (* assign - Stmt *) LD 1 ST TimeSw3 JMP ODK_END_IF_00000000000001C (** ELSE **) (* else *) ODK_SKIP_00000000000001C_000000000000001: (* else - Stmts *) (** TimeSw3:=0; **) (* assign - Stmt *) LD 0 ST TimeSw3 (** END_IF; **) (* if - End *) ODK_END_IF_00000000000001C: (** END_IF; **) (* if - End *) ODK_END_IF_00000000000001A: JMP ODK_END_IF_00000000000000X (** **) (** ELSE **) (* else *) ODK_SKIP_00000000000000X_000000000000001: (* else - Stmts *) (** TimeSw3:=0; **) (* assign - Stmt *) LD 0 ST TimeSw3 (** END_IF; **) (* if - End *) ODK_END_IF_00000000000000X: (** **) (** **) (** **) (** IF Enable4th=TRUE AND (NOT(OnH4th=OffH4th AND OnM4th=OffM4th)) THEN{*开关时间一致则无效*} **) (* if - Cond *) LD Enable4th EQ TRUE AND ( OnH4th EQ OffH4th AND ( OnM4th EQ OffM4th ) NOT ) JMPCN ODK_SKIP_00000000000001D_000000000000001 (* then - Stmts *) (** {*4判断开关设定时间之间的大小*} **) (** IF OnH4th>OffH4th THEN **) (* if - Cond *) LD OnH4th GT OffH4th JMPCN ODK_SKIP_00000000000001E_000000000000001 (* then - Stmts *) (** SetCompare4th := 1; **) (* assign - Stmt *) LD 1 ST SetCompare4th JMP ODK_END_IF_00000000000001E (** END_IF; **) (* if - End *) ODK_SKIP_00000000000001E_000000000000001: ODK_END_IF_00000000000001E: (** IF OnH4thOffM4th THEN **) (* if - Cond *) LD OnM4th GT OffM4th JMPCN ODK_SKIP_00000000000001H_000000000000001 (* then - Stmts *) (** SetCompare4th := 1; **) (* assign - Stmt *) LD 1 ST SetCompare4th JMP ODK_END_IF_00000000000001H (** ELSE **) (* else *) ODK_SKIP_00000000000001H_000000000000001: (* else - Stmts *) (** SetCompare4th := 0; **) (* assign - Stmt *) LD 0 ST SetCompare4th (** END_IF; **) (* if - End *) ODK_END_IF_00000000000001H: JMP ODK_END_IF_00000000000001G (** END_IF; **) (* if - End *) ODK_SKIP_00000000000001G_000000000000001: ODK_END_IF_00000000000001G: (** **) (** {*4判断开设定时间与实际时间之间的大小*} **) (** IF OnH4th>WD_HOUR THEN **) (* if - Cond *) LD OnH4th GT WD_HOUR JMPCN ODK_SKIP_00000000000001I_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare4th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare4th JMP ODK_END_IF_00000000000001I (** END_IF; **) (* if - End *) ODK_SKIP_00000000000001I_000000000000001: ODK_END_IF_00000000000001I: (** IF OnH4th=WD_MI THEN **) (* if - Cond *) LD OnM4th GE WD_MI JMPCN ODK_SKIP_00000000000001L_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare4th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare4th JMP ODK_END_IF_00000000000001L (** ELSE **) (* else *) ODK_SKIP_00000000000001L_000000000000001: (* else - Stmts *) (** TrueSetOpenCompare4th := 0; **) (* assign - Stmt *) LD 0 ST TrueSetOpenCompare4th (** END_IF; **) (* if - End *) ODK_END_IF_00000000000001L: JMP ODK_END_IF_00000000000001K (** END_IF; **) (* if - End *) ODK_SKIP_00000000000001K_000000000000001: ODK_END_IF_00000000000001K: (** **) (** {*4判断关设定时间与实际时间之间的大小*} **) (** IF OffH4th>WD_HOUR THEN **) (* if - Cond *) LD OffH4th GT WD_HOUR JMPCN ODK_SKIP_00000000000001M_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare4th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare4th JMP ODK_END_IF_00000000000001M (** END_IF; **) (* if - End *) ODK_SKIP_00000000000001M_000000000000001: ODK_END_IF_00000000000001M: (** IF OffH4th=WD_MI THEN **) (* if - Cond *) LD OffM4th GE WD_MI JMPCN ODK_SKIP_00000000000001P_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare4th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare4th JMP ODK_END_IF_00000000000001P (** ELSE **) (* else *) ODK_SKIP_00000000000001P_000000000000001: (* else - Stmts *) (** TrueSetCloseCompare4th := 0; **) (* assign - Stmt *) LD 0 ST TrueSetCloseCompare4th (** END_IF; **) (* if - End *) ODK_END_IF_00000000000001P: JMP ODK_END_IF_00000000000001O (** END_IF; **) (* if - End *) ODK_SKIP_00000000000001O_000000000000001: ODK_END_IF_00000000000001O: (** **) (** {*4控制输出*} **) (** IF SetCompare4th THEN{*开启设定时间大于关闭设定时间为1*} **) (* if - Cond *) LD SetCompare4th JMPCN ODK_SKIP_00000000000001Q_000000000000001 (* then - Stmts *) (** IF TrueSetOpenCompare4th AND NOT (TrueSetCloseCompare4th) THEN **) (* if - Cond *) LD TrueSetOpenCompare4th AND ( TrueSetCloseCompare4th NOT ) JMPCN ODK_SKIP_00000000000001R_000000000000001 (* then - Stmts *) (** TimeSw4:=0; **) (* assign - Stmt *) LD 0 ST TimeSw4 JMP ODK_END_IF_00000000000001R (** ELSE **) (* else *) ODK_SKIP_00000000000001R_000000000000001: (* else - Stmts *) (** TimeSw4:=1; **) (* assign - Stmt *) LD 1 ST TimeSw4 (** END_IF; **) (* if - End *) ODK_END_IF_00000000000001R: JMP ODK_END_IF_00000000000001Q (** ELSE **) (* else *) ODK_SKIP_00000000000001Q_000000000000001: (* else - Stmts *) (** **) (** IF TrueSetCloseCompare4th AND NOT (TrueSetOpenCompare4th) THEN **) (* if - Cond *) LD TrueSetCloseCompare4th AND ( TrueSetOpenCompare4th NOT ) JMPCN ODK_SKIP_00000000000001S_000000000000001 (* then - Stmts *) (** TimeSw4:=1; **) (* assign - Stmt *) LD 1 ST TimeSw4 JMP ODK_END_IF_00000000000001S (** ELSE **) (* else *) ODK_SKIP_00000000000001S_000000000000001: (* else - Stmts *) (** TimeSw4:=0; **) (* assign - Stmt *) LD 0 ST TimeSw4 (** END_IF; **) (* if - End *) ODK_END_IF_00000000000001S: (** END_IF; **) (* if - End *) ODK_END_IF_00000000000001Q: JMP ODK_END_IF_00000000000001D (** **) (** ELSE **) (* else *) ODK_SKIP_00000000000001D_000000000000001: (* else - Stmts *) (** TimeSw4:=0; **) (* assign - Stmt *) LD 0 ST TimeSw4 (** END_IF; **) (* if - End *) ODK_END_IF_00000000000001D: (** **) (** IF Enable5th=TRUE AND (NOT(OnH5th=OffH5th AND OnM5th=OffM5th)) THEN{*开关时间一致则无效*} **) (* if - Cond *) LD Enable5th EQ TRUE AND ( OnH5th EQ OffH5th AND ( OnM5th EQ OffM5th ) NOT ) JMPCN ODK_SKIP_00000000000001T_000000000000001 (* then - Stmts *) (** {*5判断开关设定时间之间的大小*} **) (** IF OnH5th>OffH5th THEN **) (* if - Cond *) LD OnH5th GT OffH5th JMPCN ODK_SKIP_00000000000001U_000000000000001 (* then - Stmts *) (** SetCompare5th := 1; **) (* assign - Stmt *) LD 1 ST SetCompare5th JMP ODK_END_IF_00000000000001U (** END_IF; **) (* if - End *) ODK_SKIP_00000000000001U_000000000000001: ODK_END_IF_00000000000001U: (** IF OnH5thOffM5th THEN **) (* if - Cond *) LD OnM5th GT OffM5th JMPCN ODK_SKIP_00000000000001X_000000000000001 (* then - Stmts *) (** SetCompare5th := 1; **) (* assign - Stmt *) LD 1 ST SetCompare5th JMP ODK_END_IF_00000000000001X (** ELSE **) (* else *) ODK_SKIP_00000000000001X_000000000000001: (* else - Stmts *) (** SetCompare5th := 0; **) (* assign - Stmt *) LD 0 ST SetCompare5th (** END_IF; **) (* if - End *) ODK_END_IF_00000000000001X: JMP ODK_END_IF_00000000000001W (** END_IF; **) (* if - End *) ODK_SKIP_00000000000001W_000000000000001: ODK_END_IF_00000000000001W: (** **) (** {*5判断开设定时间与实际时间之间的大小*} **) (** IF OnH5th>WD_HOUR THEN **) (* if - Cond *) LD OnH5th GT WD_HOUR JMPCN ODK_SKIP_00000000000001Y_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare5th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare5th JMP ODK_END_IF_00000000000001Y (** END_IF; **) (* if - End *) ODK_SKIP_00000000000001Y_000000000000001: ODK_END_IF_00000000000001Y: (** IF OnH5th=WD_MI THEN **) (* if - Cond *) LD OnM5th GE WD_MI JMPCN ODK_SKIP_000000000000021_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare5th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare5th JMP ODK_END_IF_000000000000021 (** ELSE **) (* else *) ODK_SKIP_000000000000021_000000000000001: (* else - Stmts *) (** TrueSetOpenCompare5th := 0; **) (* assign - Stmt *) LD 0 ST TrueSetOpenCompare5th (** END_IF; **) (* if - End *) ODK_END_IF_000000000000021: JMP ODK_END_IF_000000000000020 (** END_IF; **) (* if - End *) ODK_SKIP_000000000000020_000000000000001: ODK_END_IF_000000000000020: (** **) (** {*5判断关设定时间与实际时间之间的大小*} **) (** IF OffH5th>WD_HOUR THEN **) (* if - Cond *) LD OffH5th GT WD_HOUR JMPCN ODK_SKIP_000000000000022_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare5th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare5th JMP ODK_END_IF_000000000000022 (** END_IF; **) (* if - End *) ODK_SKIP_000000000000022_000000000000001: ODK_END_IF_000000000000022: (** IF OffH5th=WD_MI THEN **) (* if - Cond *) LD OffM5th GE WD_MI JMPCN ODK_SKIP_000000000000025_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare5th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare5th JMP ODK_END_IF_000000000000025 (** ELSE **) (* else *) ODK_SKIP_000000000000025_000000000000001: (* else - Stmts *) (** TrueSetCloseCompare5th := 0; **) (* assign - Stmt *) LD 0 ST TrueSetCloseCompare5th (** END_IF; **) (* if - End *) ODK_END_IF_000000000000025: JMP ODK_END_IF_000000000000024 (** END_IF; **) (* if - End *) ODK_SKIP_000000000000024_000000000000001: ODK_END_IF_000000000000024: (** **) (** {*5控制输出*} **) (** IF SetCompare5th THEN{*开启设定时间大于关闭设定时间为1*} **) (* if - Cond *) LD SetCompare5th JMPCN ODK_SKIP_000000000000026_000000000000001 (* then - Stmts *) (** IF TrueSetOpenCompare5th AND NOT (TrueSetCloseCompare5th) THEN **) (* if - Cond *) LD TrueSetOpenCompare5th AND ( TrueSetCloseCompare5th NOT ) JMPCN ODK_SKIP_000000000000027_000000000000001 (* then - Stmts *) (** TimeSw5:=0; **) (* assign - Stmt *) LD 0 ST TimeSw5 JMP ODK_END_IF_000000000000027 (** ELSE **) (* else *) ODK_SKIP_000000000000027_000000000000001: (* else - Stmts *) (** TimeSw5:=1; **) (* assign - Stmt *) LD 1 ST TimeSw5 (** END_IF; **) (* if - End *) ODK_END_IF_000000000000027: JMP ODK_END_IF_000000000000026 (** ELSE **) (* else *) ODK_SKIP_000000000000026_000000000000001: (* else - Stmts *) (** **) (** IF TrueSetCloseCompare5th AND NOT (TrueSetOpenCompare5th) THEN **) (* if - Cond *) LD TrueSetCloseCompare5th AND ( TrueSetOpenCompare5th NOT ) JMPCN ODK_SKIP_000000000000028_000000000000001 (* then - Stmts *) (** TimeSw5:=1; **) (* assign - Stmt *) LD 1 ST TimeSw5 JMP ODK_END_IF_000000000000028 (** ELSE **) (* else *) ODK_SKIP_000000000000028_000000000000001: (* else - Stmts *) (** TimeSw5:=0; **) (* assign - Stmt *) LD 0 ST TimeSw5 (** END_IF; **) (* if - End *) ODK_END_IF_000000000000028: (** END_IF; **) (* if - End *) ODK_END_IF_000000000000026: JMP ODK_END_IF_00000000000001T (** **) (** ELSE **) (* else *) ODK_SKIP_00000000000001T_000000000000001: (* else - Stmts *) (** TimeSw5:=0; **) (* assign - Stmt *) LD 0 ST TimeSw5 (** END_IF; **) (* if - End *) ODK_END_IF_00000000000001T: (** **) (** **) (** IF Enable6th=TRUE AND (NOT(OnH6th=OffH6th AND OnM6th=OffM6th)) THEN{*开关时间一致则无效*} **) (* if - Cond *) LD Enable6th EQ TRUE AND ( OnH6th EQ OffH6th AND ( OnM6th EQ OffM6th ) NOT ) JMPCN ODK_SKIP_000000000000029_000000000000001 (* then - Stmts *) (** {*6判断开关设定时间之间的大小*} **) (** IF OnH6th>OffH6th THEN **) (* if - Cond *) LD OnH6th GT OffH6th JMPCN ODK_SKIP_00000000000002A_000000000000001 (* then - Stmts *) (** SetCompare6th := 1; **) (* assign - Stmt *) LD 1 ST SetCompare6th JMP ODK_END_IF_00000000000002A (** END_IF; **) (* if - End *) ODK_SKIP_00000000000002A_000000000000001: ODK_END_IF_00000000000002A: (** IF OnH6thOffM6th THEN **) (* if - Cond *) LD OnM6th GT OffM6th JMPCN ODK_SKIP_00000000000002D_000000000000001 (* then - Stmts *) (** SetCompare6th := 1; **) (* assign - Stmt *) LD 1 ST SetCompare6th JMP ODK_END_IF_00000000000002D (** ELSE **) (* else *) ODK_SKIP_00000000000002D_000000000000001: (* else - Stmts *) (** SetCompare6th := 0; **) (* assign - Stmt *) LD 0 ST SetCompare6th (** END_IF; **) (* if - End *) ODK_END_IF_00000000000002D: JMP ODK_END_IF_00000000000002C (** END_IF; **) (* if - End *) ODK_SKIP_00000000000002C_000000000000001: ODK_END_IF_00000000000002C: (** **) (** {*6判断开设定时间与实际时间之间的大小*} **) (** IF OnH6th>WD_HOUR THEN **) (* if - Cond *) LD OnH6th GT WD_HOUR JMPCN ODK_SKIP_00000000000002E_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare6th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare6th JMP ODK_END_IF_00000000000002E (** END_IF; **) (* if - End *) ODK_SKIP_00000000000002E_000000000000001: ODK_END_IF_00000000000002E: (** IF OnH6th=WD_MI THEN **) (* if - Cond *) LD OnM6th GE WD_MI JMPCN ODK_SKIP_00000000000002H_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare6th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare6th JMP ODK_END_IF_00000000000002H (** ELSE **) (* else *) ODK_SKIP_00000000000002H_000000000000001: (* else - Stmts *) (** TrueSetOpenCompare6th := 0; **) (* assign - Stmt *) LD 0 ST TrueSetOpenCompare6th (** END_IF; **) (* if - End *) ODK_END_IF_00000000000002H: JMP ODK_END_IF_00000000000002G (** END_IF; **) (* if - End *) ODK_SKIP_00000000000002G_000000000000001: ODK_END_IF_00000000000002G: (** **) (** {*判断关设定时间与实际时间之间的大小*} **) (** IF OffH6th>WD_HOUR THEN **) (* if - Cond *) LD OffH6th GT WD_HOUR JMPCN ODK_SKIP_00000000000002I_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare6th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare6th JMP ODK_END_IF_00000000000002I (** END_IF; **) (* if - End *) ODK_SKIP_00000000000002I_000000000000001: ODK_END_IF_00000000000002I: (** IF OffH6th=WD_MI THEN **) (* if - Cond *) LD OffM6th GE WD_MI JMPCN ODK_SKIP_00000000000002L_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare6th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare6th JMP ODK_END_IF_00000000000002L (** ELSE **) (* else *) ODK_SKIP_00000000000002L_000000000000001: (* else - Stmts *) (** TrueSetCloseCompare6th := 0; **) (* assign - Stmt *) LD 0 ST TrueSetCloseCompare6th (** END_IF; **) (* if - End *) ODK_END_IF_00000000000002L: JMP ODK_END_IF_00000000000002K (** END_IF; **) (* if - End *) ODK_SKIP_00000000000002K_000000000000001: ODK_END_IF_00000000000002K: (** **) (** {*6控制输出*} **) (** IF SetCompare6th THEN{*开启设定时间大于关闭设定时间为1*} **) (* if - Cond *) LD SetCompare6th JMPCN ODK_SKIP_00000000000002M_000000000000001 (* then - Stmts *) (** IF TrueSetOpenCompare6th AND NOT (TrueSetCloseCompare6th) THEN **) (* if - Cond *) LD TrueSetOpenCompare6th AND ( TrueSetCloseCompare6th NOT ) JMPCN ODK_SKIP_00000000000002N_000000000000001 (* then - Stmts *) (** TimeSw6:=0; **) (* assign - Stmt *) LD 0 ST TimeSw6 JMP ODK_END_IF_00000000000002N (** ELSE **) (* else *) ODK_SKIP_00000000000002N_000000000000001: (* else - Stmts *) (** TimeSw6:=1; **) (* assign - Stmt *) LD 1 ST TimeSw6 (** END_IF; **) (* if - End *) ODK_END_IF_00000000000002N: JMP ODK_END_IF_00000000000002M (** ELSE **) (* else *) ODK_SKIP_00000000000002M_000000000000001: (* else - Stmts *) (** **) (** IF TrueSetCloseCompare6th AND NOT (TrueSetOpenCompare6th) THEN **) (* if - Cond *) LD TrueSetCloseCompare6th AND ( TrueSetOpenCompare6th NOT ) JMPCN ODK_SKIP_00000000000002O_000000000000001 (* then - Stmts *) (** TimeSw6:=1; **) (* assign - Stmt *) LD 1 ST TimeSw6 JMP ODK_END_IF_00000000000002O (** ELSE **) (* else *) ODK_SKIP_00000000000002O_000000000000001: (* else - Stmts *) (** TimeSw6:=0; **) (* assign - Stmt *) LD 0 ST TimeSw6 (** END_IF; **) (* if - End *) ODK_END_IF_00000000000002O: (** END_IF; **) (* if - End *) ODK_END_IF_00000000000002M: JMP ODK_END_IF_000000000000029 (** **) (** ELSE **) (* else *) ODK_SKIP_000000000000029_000000000000001: (* else - Stmts *) (** TimeSw6:=0; **) (* assign - Stmt *) LD 0 ST TimeSw6 (** END_IF; **) (* if - End *) ODK_END_IF_000000000000029: (** **) (** **) (** if TimeSw1 or TimeSw2 or TimeSw3 or TimeSw4 or TimeSw5 or TimeSw6 then **) (* if - Cond *) LD TimeSw1 OR TimeSw2 OR TimeSw3 OR TimeSw4 OR TimeSw5 OR TimeSw6 JMPCN ODK_SKIP_00000000000002P_000000000000001 (* then - Stmts *) (** OUT_Z:=1; **) (* assign - Stmt *) LD 1 ST OUT_Z JMP ODK_END_IF_00000000000002P (** else **) (* else *) ODK_SKIP_00000000000002P_000000000000001: (* else - Stmts *) (** OUT_Z:=0; **) (* assign - Stmt *) LD 0 ST OUT_Z (** end_if; **) (* if - End *) ODK_END_IF_00000000000002P: END_FUNCTION_BLOCK