FUNCTION_BLOCK IJ_EAFGroup VAR_EXTERNAL BS_Schedule_Str_W :STRING; BS_Schedule_Str_R :ARRAY[0..60] OF BYTE; END_VAR VAR_INPUT Enable :bool; (*联动启用*) LinkageValue:ARRAY[0..10] of real;(*传感器输入数组*) Dead_Band :real:=10.0; (*联动死区*) MaxRange :real:=1000.0; (*上限切除值*) MinRange :real:=10.0; (*下限切除值*) LinkageSet :real; (*联动目标设定值,平均值大于设定值时动作*) HoldDelay :time:=t#60s; (*波动稳定时间*) EnableNum :INT; (*启用时间段数量 1~4*) SCH_str :STRING; ALLDAY :BOOL; END_VAR VAR_OUTPUT LinkageOut :ARRAY[0..10] of bool; END_VAR VAR OUT_Z :BOOL; TempSum :REAL; TempCount :INT; ValueSum :REAL; ValueCount :INT; ValueAverage:REAL; LinkageEN :BOOL; ton1 :ton; ton2 :ton; i,j,k :INT:=0; TimeSw1 :BOOL; TimeSw2 :BOOL; TimeSw3 :BOOL; TimeSw4 :BOOL; Enable1th :BOOL; Enable2th :BOOL; Enable3th :BOOL; Enable4th :BOOL; OnH1th :INT:=0; OnM1th :INT:=0; OffH1th :INT:=0; OffM1th :INT:=0; OnH2th :INT:=0; OnM2th :INT:=0; OffH2th :INT:=0; OffM2th :INT:=0; OnH3th :INT:=0; OnM3th :INT:=0; OffH3th :INT:=0; OffM3th :INT:=0; OnH4th :INT:=0; OnM4th :INT:=0; OffH4th :INT:=0; OffM4th :INT:=0; Clock : NW_DateTimeGet; HOUR :byte; YEAR :word; MON :byte; DAY :byte; MI :byte; SEC :byte; WEEK :byte; WD_HOUR :INT; WD_MI :INT; SetCompare1th :BOOL; (*开启设定时间大于关闭设定时间为1,反之为0*) TrueSetCloseCompare1th :BOOL; (*关闭设定时间大于实际时间为1,反之为0*) TrueSetOpenCompare1th :BOOL; (*开启设定时间大于实际时间为1,反之为0*) SetCompare2th :BOOL; (*开启设定时间大于关闭设定时间为1,反之为0*) TrueSetCloseCompare2th :BOOL; (*关闭设定时间大于实际时间为1,反之为0*) TrueSetOpenCompare2th :BOOL; (*开启设定时间大于实际时间为1,反之为0*) SetCompare3th :BOOL; (*开启设定时间大于关闭设定时间为1,反之为0*) TrueSetCloseCompare3th :BOOL; (*关闭设定时间大于实际时间为1,反之为0*) TrueSetOpenCompare3th :BOOL; (*开启设定时间大于实际时间为1,反之为0*) SetCompare4th :BOOL; (*开启设定时间大于关闭设定时间为1,反之为0*) TrueSetCloseCompare4th :BOOL; (*关闭设定时间大于实际时间为1,反之为0*) TrueSetOpenCompare4th :BOOL; (*开启设定时间大于实际时间为1,反之为0*) p1,p2 : pointer; v2v : NW_MemCopy; ini :BOOL; str_ini :STRING; END_VAR (*Automatically declared*) VAR_EXTERNAL END_VAR (** {* **) (** ʱ 䣺20200807 **) (** 1.1 **) (** ߣ **) (** ƣŷܿ **) (** ˵ **) (** **) (** Enable :bool; **) (** LinkageValue:ARRAY[0..10] of real; **) (** Dead_Band :real:=10.0; **) (** MaxRange :real:=1000.0; гֵ **) (** MinRange :real:=10.0; гֵ **) (** LinkageSet :real; Ŀ趨ֵƽֵ趨ֵʱ **) (** HoldDelay :time:=t#60s; ȶʱ Ĭ60s **) (** EnableNum :INT; ʱ 1~4 **) (** SCH_str :STRING; ʱַ **) (** ALLDAY :BOOL; ȫģʽ 0ʱʱУ1ȫ **) (** **) (** **) (** **) (** LinkageOut :ARRAY[0..10] of bool; **) (** **) (** 1.֧4ʱλȫ **) (** 2.֧10ƽȡֵΪ **) (** 3.֧10豸Ϊ **) (** 4.ֵΧгֵȶʱ **) (** **) (** עC4汾CPU **) (** 飺 **) (** BS_Runtime; **) (** BS_DevC; **) (** *} **) (** if Enable=1 then **) (* if - Cond *) LD Enable EQ 1 JMPCN ODK_SKIP_000000000000001_000000000000001 (* then - Stmts *) (** if SCH_str<>'' then **) (* if - Cond *) LD SCH_str NE '' JMPCN ODK_SKIP_000000000000002_000000000000001 (* then - Stmts *) (** {*ַͨ,ֵΪASCII룬ͨBS_ASCII2INTָ빦ߺŻⲿ*} **) (** BS_Schedule_Str_W :=SCH_str; **) (* assign - Stmt *) LD SCH_str ST BS_Schedule_Str_W (** {* C2汾 **) (** v2m1(EN :=1 , DW_MEM_ADDR :=2000 , W_MAXNUM :=32 , STR_FILENAME :='OPCDA1' , STR_VARNAME :='BS_Schedule_Str_W' ); **) (** m2v1(EN :=1 , DW_MEM_ADDR :=2000 , W_MEM_LEN :=32 , STR_FILENAME :='OPCDA1' , STR_VARNAME :='BS_Schedule_Str_R' ); **) (** *} **) (** {* C4汾 *} **) (** p1:=&BS_Schedule_Str_W; **) (* assign - Stmt *) LD &BS_Schedule_Str_W ST p1 (** p2:=&BS_Schedule_Str_R; **) (* assign - Stmt *) LD &BS_Schedule_Str_R ST p2 (** v2v(DEST :=p2 , SRC :=p1 , LENGTH :=32 , IQM :=0 ); **) (* call - Stmt *) CAL v2v ( DEST := p2, SRC := p1, LENGTH := 32, IQM := 0 ) (** **) (** {*ʱݸֵֵ*} **) (** if BS_ASCII2INT(BS_Schedule_Str_R[ 0],BS_Schedule_Str_R[ 1])<0 then OnH1th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[ 0],BS_Schedule_Str_R[ 1])>23 then OnH1th:=23; else OnH1th:=BS_ASCII2INT(BS_Schedule_Str_R[ 0],BS_Schedule_Str_R[ 1]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[0] BS_ASCII2INT BS_Schedule_Str_R[1] LT 0 JMPCN ODK_SKIP_000000000000003_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OnH1th JMP ODK_END_IF_000000000000003 (* elseif - Cond *) ODK_SKIP_000000000000003_000000000000001: LD BS_Schedule_Str_R[0] BS_ASCII2INT BS_Schedule_Str_R[1] GT 23 JMPCN ODK_SKIP_000000000000003_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 23 ST OnH1th JMP ODK_END_IF_000000000000003 (* else *) ODK_SKIP_000000000000003_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[0] BS_ASCII2INT BS_Schedule_Str_R[1] ST OnH1th (* if - End *) ODK_END_IF_000000000000003: (** if BS_ASCII2INT(BS_Schedule_Str_R[ 2],BS_Schedule_Str_R[ 3])<0 then OnM1th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[ 2],BS_Schedule_Str_R[ 3])>59 then OnM1th:=59; else OnM1th:=BS_ASCII2INT(BS_Schedule_Str_R[ 2],BS_Schedule_Str_R[ 3]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[2] BS_ASCII2INT BS_Schedule_Str_R[3] LT 0 JMPCN ODK_SKIP_000000000000004_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OnM1th JMP ODK_END_IF_000000000000004 (* elseif - Cond *) ODK_SKIP_000000000000004_000000000000001: LD BS_Schedule_Str_R[2] BS_ASCII2INT BS_Schedule_Str_R[3] GT 59 JMPCN ODK_SKIP_000000000000004_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 59 ST OnM1th JMP ODK_END_IF_000000000000004 (* else *) ODK_SKIP_000000000000004_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[2] BS_ASCII2INT BS_Schedule_Str_R[3] ST OnM1th (* if - End *) ODK_END_IF_000000000000004: (** if BS_ASCII2INT(BS_Schedule_Str_R[ 4],BS_Schedule_Str_R[ 5])<0 then OffH1th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[ 4],BS_Schedule_Str_R[ 5])>23 then OffH1th:=23; else OffH1th:=BS_ASCII2INT(BS_Schedule_Str_R[ 4],BS_Schedule_Str_R[ 5]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[4] BS_ASCII2INT BS_Schedule_Str_R[5] LT 0 JMPCN ODK_SKIP_000000000000005_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OffH1th JMP ODK_END_IF_000000000000005 (* elseif - Cond *) ODK_SKIP_000000000000005_000000000000001: LD BS_Schedule_Str_R[4] BS_ASCII2INT BS_Schedule_Str_R[5] GT 23 JMPCN ODK_SKIP_000000000000005_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 23 ST OffH1th JMP ODK_END_IF_000000000000005 (* else *) ODK_SKIP_000000000000005_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[4] BS_ASCII2INT BS_Schedule_Str_R[5] ST OffH1th (* if - End *) ODK_END_IF_000000000000005: (** if BS_ASCII2INT(BS_Schedule_Str_R[ 6],BS_Schedule_Str_R[ 7])<0 then OffM1th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[ 6],BS_Schedule_Str_R[ 7])>59 then OffM1th:=59; else OffM1th:=BS_ASCII2INT(BS_Schedule_Str_R[ 6],BS_Schedule_Str_R[ 7]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[6] BS_ASCII2INT BS_Schedule_Str_R[7] LT 0 JMPCN ODK_SKIP_000000000000006_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OffM1th JMP ODK_END_IF_000000000000006 (* elseif - Cond *) ODK_SKIP_000000000000006_000000000000001: LD BS_Schedule_Str_R[6] BS_ASCII2INT BS_Schedule_Str_R[7] GT 59 JMPCN ODK_SKIP_000000000000006_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 59 ST OffM1th JMP ODK_END_IF_000000000000006 (* else *) ODK_SKIP_000000000000006_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[6] BS_ASCII2INT BS_Schedule_Str_R[7] ST OffM1th (* if - End *) ODK_END_IF_000000000000006: (** **) (** if BS_ASCII2INT(BS_Schedule_Str_R[ 8],BS_Schedule_Str_R[ 9])<0 then OnH2th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[ 8],BS_Schedule_Str_R[ 9])>23 then OnH2th:=23; else OnH2th:=BS_ASCII2INT(BS_Schedule_Str_R[ 8],BS_Schedule_Str_R[ 9]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[8] BS_ASCII2INT BS_Schedule_Str_R[9] LT 0 JMPCN ODK_SKIP_000000000000007_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OnH2th JMP ODK_END_IF_000000000000007 (* elseif - Cond *) ODK_SKIP_000000000000007_000000000000001: LD BS_Schedule_Str_R[8] BS_ASCII2INT BS_Schedule_Str_R[9] GT 23 JMPCN ODK_SKIP_000000000000007_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 23 ST OnH2th JMP ODK_END_IF_000000000000007 (* else *) ODK_SKIP_000000000000007_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[8] BS_ASCII2INT BS_Schedule_Str_R[9] ST OnH2th (* if - End *) ODK_END_IF_000000000000007: (** if BS_ASCII2INT(BS_Schedule_Str_R[10],BS_Schedule_Str_R[11])<0 then OnM2th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[10],BS_Schedule_Str_R[11])>59 then OnM2th:=59; else OnM2th:=BS_ASCII2INT(BS_Schedule_Str_R[10],BS_Schedule_Str_R[11]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[10] BS_ASCII2INT BS_Schedule_Str_R[11] LT 0 JMPCN ODK_SKIP_000000000000008_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OnM2th JMP ODK_END_IF_000000000000008 (* elseif - Cond *) ODK_SKIP_000000000000008_000000000000001: LD BS_Schedule_Str_R[10] BS_ASCII2INT BS_Schedule_Str_R[11] GT 59 JMPCN ODK_SKIP_000000000000008_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 59 ST OnM2th JMP ODK_END_IF_000000000000008 (* else *) ODK_SKIP_000000000000008_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[10] BS_ASCII2INT BS_Schedule_Str_R[11] ST OnM2th (* if - End *) ODK_END_IF_000000000000008: (** if BS_ASCII2INT(BS_Schedule_Str_R[12],BS_Schedule_Str_R[13])<0 then OffH2th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[12],BS_Schedule_Str_R[13])>23 then OffH2th:=23; else OffH2th:=BS_ASCII2INT(BS_Schedule_Str_R[12],BS_Schedule_Str_R[13]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[12] BS_ASCII2INT BS_Schedule_Str_R[13] LT 0 JMPCN ODK_SKIP_000000000000009_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OffH2th JMP ODK_END_IF_000000000000009 (* elseif - Cond *) ODK_SKIP_000000000000009_000000000000001: LD BS_Schedule_Str_R[12] BS_ASCII2INT BS_Schedule_Str_R[13] GT 23 JMPCN ODK_SKIP_000000000000009_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 23 ST OffH2th JMP ODK_END_IF_000000000000009 (* else *) ODK_SKIP_000000000000009_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[12] BS_ASCII2INT BS_Schedule_Str_R[13] ST OffH2th (* if - End *) ODK_END_IF_000000000000009: (** if BS_ASCII2INT(BS_Schedule_Str_R[14],BS_Schedule_Str_R[15])<0 then OffM2th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[14],BS_Schedule_Str_R[15])>59 then OffM2th:=59; else OffM2th:=BS_ASCII2INT(BS_Schedule_Str_R[14],BS_Schedule_Str_R[15]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[14] BS_ASCII2INT BS_Schedule_Str_R[15] LT 0 JMPCN ODK_SKIP_00000000000000A_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OffM2th JMP ODK_END_IF_00000000000000A (* elseif - Cond *) ODK_SKIP_00000000000000A_000000000000001: LD BS_Schedule_Str_R[14] BS_ASCII2INT BS_Schedule_Str_R[15] GT 59 JMPCN ODK_SKIP_00000000000000A_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 59 ST OffM2th JMP ODK_END_IF_00000000000000A (* else *) ODK_SKIP_00000000000000A_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[14] BS_ASCII2INT BS_Schedule_Str_R[15] ST OffM2th (* if - End *) ODK_END_IF_00000000000000A: (** **) (** if BS_ASCII2INT(BS_Schedule_Str_R[16],BS_Schedule_Str_R[17])<0 then OnH3th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[16],BS_Schedule_Str_R[17])>23 then OnH3th:=23; else OnH3th:=BS_ASCII2INT(BS_Schedule_Str_R[16],BS_Schedule_Str_R[17]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[16] BS_ASCII2INT BS_Schedule_Str_R[17] LT 0 JMPCN ODK_SKIP_00000000000000B_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OnH3th JMP ODK_END_IF_00000000000000B (* elseif - Cond *) ODK_SKIP_00000000000000B_000000000000001: LD BS_Schedule_Str_R[16] BS_ASCII2INT BS_Schedule_Str_R[17] GT 23 JMPCN ODK_SKIP_00000000000000B_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 23 ST OnH3th JMP ODK_END_IF_00000000000000B (* else *) ODK_SKIP_00000000000000B_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[16] BS_ASCII2INT BS_Schedule_Str_R[17] ST OnH3th (* if - End *) ODK_END_IF_00000000000000B: (** if BS_ASCII2INT(BS_Schedule_Str_R[18],BS_Schedule_Str_R[19])<0 then OnM3th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[18],BS_Schedule_Str_R[19])>59 then OnM3th:=59; else OnM3th:=BS_ASCII2INT(BS_Schedule_Str_R[18],BS_Schedule_Str_R[19]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[18] BS_ASCII2INT BS_Schedule_Str_R[19] LT 0 JMPCN ODK_SKIP_00000000000000C_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OnM3th JMP ODK_END_IF_00000000000000C (* elseif - Cond *) ODK_SKIP_00000000000000C_000000000000001: LD BS_Schedule_Str_R[18] BS_ASCII2INT BS_Schedule_Str_R[19] GT 59 JMPCN ODK_SKIP_00000000000000C_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 59 ST OnM3th JMP ODK_END_IF_00000000000000C (* else *) ODK_SKIP_00000000000000C_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[18] BS_ASCII2INT BS_Schedule_Str_R[19] ST OnM3th (* if - End *) ODK_END_IF_00000000000000C: (** if BS_ASCII2INT(BS_Schedule_Str_R[20],BS_Schedule_Str_R[21])<0 then OffH3th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[20],BS_Schedule_Str_R[21])>23 then OffH3th:=23; else OffH3th:=BS_ASCII2INT(BS_Schedule_Str_R[20],BS_Schedule_Str_R[21]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[20] BS_ASCII2INT BS_Schedule_Str_R[21] LT 0 JMPCN ODK_SKIP_00000000000000D_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OffH3th JMP ODK_END_IF_00000000000000D (* elseif - Cond *) ODK_SKIP_00000000000000D_000000000000001: LD BS_Schedule_Str_R[20] BS_ASCII2INT BS_Schedule_Str_R[21] GT 23 JMPCN ODK_SKIP_00000000000000D_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 23 ST OffH3th JMP ODK_END_IF_00000000000000D (* else *) ODK_SKIP_00000000000000D_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[20] BS_ASCII2INT BS_Schedule_Str_R[21] ST OffH3th (* if - End *) ODK_END_IF_00000000000000D: (** if BS_ASCII2INT(BS_Schedule_Str_R[22],BS_Schedule_Str_R[23])<0 then OffM3th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[22],BS_Schedule_Str_R[23])>59 then OffM3th:=59; else OffM3th:=BS_ASCII2INT(BS_Schedule_Str_R[22],BS_Schedule_Str_R[23]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[22] BS_ASCII2INT BS_Schedule_Str_R[23] LT 0 JMPCN ODK_SKIP_00000000000000E_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OffM3th JMP ODK_END_IF_00000000000000E (* elseif - Cond *) ODK_SKIP_00000000000000E_000000000000001: LD BS_Schedule_Str_R[22] BS_ASCII2INT BS_Schedule_Str_R[23] GT 59 JMPCN ODK_SKIP_00000000000000E_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 59 ST OffM3th JMP ODK_END_IF_00000000000000E (* else *) ODK_SKIP_00000000000000E_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[22] BS_ASCII2INT BS_Schedule_Str_R[23] ST OffM3th (* if - End *) ODK_END_IF_00000000000000E: (** **) (** if BS_ASCII2INT(BS_Schedule_Str_R[24],BS_Schedule_Str_R[25])<0 then OnH4th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[24],BS_Schedule_Str_R[25])>23 then OnH4th:=23; else OnH4th:=BS_ASCII2INT(BS_Schedule_Str_R[24],BS_Schedule_Str_R[25]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[24] BS_ASCII2INT BS_Schedule_Str_R[25] LT 0 JMPCN ODK_SKIP_00000000000000F_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OnH4th JMP ODK_END_IF_00000000000000F (* elseif - Cond *) ODK_SKIP_00000000000000F_000000000000001: LD BS_Schedule_Str_R[24] BS_ASCII2INT BS_Schedule_Str_R[25] GT 23 JMPCN ODK_SKIP_00000000000000F_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 23 ST OnH4th JMP ODK_END_IF_00000000000000F (* else *) ODK_SKIP_00000000000000F_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[24] BS_ASCII2INT BS_Schedule_Str_R[25] ST OnH4th (* if - End *) ODK_END_IF_00000000000000F: (** if BS_ASCII2INT(BS_Schedule_Str_R[26],BS_Schedule_Str_R[27])<0 then OnM4th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[26],BS_Schedule_Str_R[27])>59 then OnM4th:=59; else OnM4th:=BS_ASCII2INT(BS_Schedule_Str_R[26],BS_Schedule_Str_R[27]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[26] BS_ASCII2INT BS_Schedule_Str_R[27] LT 0 JMPCN ODK_SKIP_00000000000000G_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OnM4th JMP ODK_END_IF_00000000000000G (* elseif - Cond *) ODK_SKIP_00000000000000G_000000000000001: LD BS_Schedule_Str_R[26] BS_ASCII2INT BS_Schedule_Str_R[27] GT 59 JMPCN ODK_SKIP_00000000000000G_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 59 ST OnM4th JMP ODK_END_IF_00000000000000G (* else *) ODK_SKIP_00000000000000G_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[26] BS_ASCII2INT BS_Schedule_Str_R[27] ST OnM4th (* if - End *) ODK_END_IF_00000000000000G: (** if BS_ASCII2INT(BS_Schedule_Str_R[28],BS_Schedule_Str_R[29])<0 then OffH4th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[28],BS_Schedule_Str_R[29])>23 then OffH4th:=23; else OffH4th:=BS_ASCII2INT(BS_Schedule_Str_R[28],BS_Schedule_Str_R[29]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[28] BS_ASCII2INT BS_Schedule_Str_R[29] LT 0 JMPCN ODK_SKIP_00000000000000H_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OffH4th JMP ODK_END_IF_00000000000000H (* elseif - Cond *) ODK_SKIP_00000000000000H_000000000000001: LD BS_Schedule_Str_R[28] BS_ASCII2INT BS_Schedule_Str_R[29] GT 23 JMPCN ODK_SKIP_00000000000000H_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 23 ST OffH4th JMP ODK_END_IF_00000000000000H (* else *) ODK_SKIP_00000000000000H_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[28] BS_ASCII2INT BS_Schedule_Str_R[29] ST OffH4th (* if - End *) ODK_END_IF_00000000000000H: (** if BS_ASCII2INT(BS_Schedule_Str_R[30],BS_Schedule_Str_R[31])<0 then OffM4th:=0; elsif BS_ASCII2INT(BS_Schedule_Str_R[30],BS_Schedule_Str_R[31])>59 then OffM4th:=59; else OffM4th:=BS_ASCII2INT(BS_Schedule_Str_R[30],BS_Schedule_Str_R[31]); end_if; **) (* if - Cond *) LD BS_Schedule_Str_R[30] BS_ASCII2INT BS_Schedule_Str_R[31] LT 0 JMPCN ODK_SKIP_00000000000000I_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 0 ST OffM4th JMP ODK_END_IF_00000000000000I (* elseif - Cond *) ODK_SKIP_00000000000000I_000000000000001: LD BS_Schedule_Str_R[30] BS_ASCII2INT BS_Schedule_Str_R[31] GT 59 JMPCN ODK_SKIP_00000000000000I_000000000000002 (* elsif - Stmts *) (* assign - Stmt *) LD 59 ST OffM4th JMP ODK_END_IF_00000000000000I (* else *) ODK_SKIP_00000000000000I_000000000000002: (* else - Stmts *) (* assign - Stmt *) LD BS_Schedule_Str_R[30] BS_ASCII2INT BS_Schedule_Str_R[31] ST OffM4th (* if - End *) ODK_END_IF_00000000000000I: JMP ODK_END_IF_000000000000002 (** **) (** end_if; **) (* if - End *) ODK_SKIP_000000000000002_000000000000001: ODK_END_IF_000000000000002: (** {* Чʱ䷶Χڳִ*} **) (** if EnableNum =1 then Enable1th :=1; Enable2th :=0; Enable3th :=0; Enable4th :=0; end_if; **) (* if - Cond *) LD EnableNum EQ 1 JMPCN ODK_SKIP_00000000000000J_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 1 ST Enable1th (* assign - Stmt *) LD 0 ST Enable2th (* assign - Stmt *) LD 0 ST Enable3th (* assign - Stmt *) LD 0 ST Enable4th JMP ODK_END_IF_00000000000000J (* if - End *) ODK_SKIP_00000000000000J_000000000000001: ODK_END_IF_00000000000000J: (** if EnableNum =2 then Enable1th :=1; Enable2th :=1; Enable3th :=0; Enable4th :=0; end_if; **) (* if - Cond *) LD EnableNum EQ 2 JMPCN ODK_SKIP_00000000000000K_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 1 ST Enable1th (* assign - Stmt *) LD 1 ST Enable2th (* assign - Stmt *) LD 0 ST Enable3th (* assign - Stmt *) LD 0 ST Enable4th JMP ODK_END_IF_00000000000000K (* if - End *) ODK_SKIP_00000000000000K_000000000000001: ODK_END_IF_00000000000000K: (** if EnableNum =3 then Enable1th :=1; Enable2th :=1; Enable3th :=1; Enable4th :=0; end_if; **) (* if - Cond *) LD EnableNum EQ 3 JMPCN ODK_SKIP_00000000000000L_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 1 ST Enable1th (* assign - Stmt *) LD 1 ST Enable2th (* assign - Stmt *) LD 1 ST Enable3th (* assign - Stmt *) LD 0 ST Enable4th JMP ODK_END_IF_00000000000000L (* if - End *) ODK_SKIP_00000000000000L_000000000000001: ODK_END_IF_00000000000000L: (** if EnableNum =4 then Enable1th :=1; Enable2th :=1; Enable3th :=1; Enable4th :=1; end_if; **) (* if - Cond *) LD EnableNum EQ 4 JMPCN ODK_SKIP_00000000000000M_000000000000001 (* then - Stmts *) (* assign - Stmt *) LD 1 ST Enable1th (* assign - Stmt *) LD 1 ST Enable2th (* assign - Stmt *) LD 1 ST Enable3th (* assign - Stmt *) LD 1 ST Enable4th JMP ODK_END_IF_00000000000000M (* if - End *) ODK_SKIP_00000000000000M_000000000000001: ODK_END_IF_00000000000000M: (** **) (** if ALLDAY=0 then **) (* if - Cond *) LD ALLDAY EQ 0 JMPCN ODK_SKIP_00000000000000N_000000000000001 (* then - Stmts *) (** {*ʱ 4ų*} **) (** 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 Enable1th=TRUE and (not(OnH1th=OffH1th and OnM1th=OffM1th)) then{*ʱһЧ*} **) (* if - Cond *) LD Enable1th EQ TRUE AND ( OnH1th EQ OffH1th AND ( OnM1th EQ OffM1th ) NOT ) JMPCN ODK_SKIP_00000000000000O_000000000000001 (* then - Stmts *) (** {*1жϿ趨ʱ֮ĴС*} **) (** if OnH1th>OffH1th then **) (* if - Cond *) LD OnH1th GT OffH1th JMPCN ODK_SKIP_00000000000000P_000000000000001 (* then - Stmts *) (** SetCompare1th := 1; **) (* assign - Stmt *) LD 1 ST SetCompare1th JMP ODK_END_IF_00000000000000P (** end_if; **) (* if - End *) ODK_SKIP_00000000000000P_000000000000001: ODK_END_IF_00000000000000P: (** if OnH1thOffM1th then **) (* if - Cond *) LD OnM1th GT OffM1th JMPCN ODK_SKIP_00000000000000S_000000000000001 (* then - Stmts *) (** SetCompare1th := 1; **) (* assign - Stmt *) LD 1 ST SetCompare1th JMP ODK_END_IF_00000000000000S (** else **) (* else *) ODK_SKIP_00000000000000S_000000000000001: (* else - Stmts *) (** SetCompare1th := 0; **) (* assign - Stmt *) LD 0 ST SetCompare1th (** end_if; **) (* if - End *) ODK_END_IF_00000000000000S: JMP ODK_END_IF_00000000000000R (** end_if; **) (* if - End *) ODK_SKIP_00000000000000R_000000000000001: ODK_END_IF_00000000000000R: (** **) (** {*1жϿ趨ʱʵʱ֮ĴС*} **) (** if OnH1th>WD_HOUR then **) (* if - Cond *) LD OnH1th GT WD_HOUR JMPCN ODK_SKIP_00000000000000T_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare1th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare1th JMP ODK_END_IF_00000000000000T (** end_if; **) (* if - End *) ODK_SKIP_00000000000000T_000000000000001: ODK_END_IF_00000000000000T: (** if OnH1th=WD_MI then **) (* if - Cond *) LD OnM1th GE WD_MI JMPCN ODK_SKIP_00000000000000W_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare1th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare1th JMP ODK_END_IF_00000000000000W (** else **) (* else *) ODK_SKIP_00000000000000W_000000000000001: (* else - Stmts *) (** TrueSetOpenCompare1th := 0; **) (* assign - Stmt *) LD 0 ST TrueSetOpenCompare1th (** end_if; **) (* if - End *) ODK_END_IF_00000000000000W: JMP ODK_END_IF_00000000000000V (** end_if; **) (* if - End *) ODK_SKIP_00000000000000V_000000000000001: ODK_END_IF_00000000000000V: (** **) (** {*1жϹ趨ʱʵʱ֮ĴС*} **) (** if OffH1th>WD_HOUR then **) (* if - Cond *) LD OffH1th GT WD_HOUR JMPCN ODK_SKIP_00000000000000X_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare1th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare1th JMP ODK_END_IF_00000000000000X (** end_if; **) (* if - End *) ODK_SKIP_00000000000000X_000000000000001: ODK_END_IF_00000000000000X: (** if OffH1th=WD_MI then **) (* if - Cond *) LD OffM1th GE WD_MI JMPCN ODK_SKIP_000000000000010_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare1th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare1th JMP ODK_END_IF_000000000000010 (** else **) (* else *) ODK_SKIP_000000000000010_000000000000001: (* else - Stmts *) (** TrueSetCloseCompare1th := 0; **) (* assign - Stmt *) LD 0 ST TrueSetCloseCompare1th (** end_if; **) (* if - End *) ODK_END_IF_000000000000010: JMP ODK_END_IF_00000000000000Z (** end_if; **) (* if - End *) ODK_SKIP_00000000000000Z_000000000000001: ODK_END_IF_00000000000000Z: (** **) (** {*1*} **) (** if SetCompare1th then{*趨ʱڹر趨ʱΪ1*} **) (* if - Cond *) LD SetCompare1th JMPCN ODK_SKIP_000000000000011_000000000000001 (* then - Stmts *) (** if TrueSetOpenCompare1th and not (TrueSetCloseCompare1th) then **) (* if - Cond *) LD TrueSetOpenCompare1th AND ( TrueSetCloseCompare1th NOT ) JMPCN ODK_SKIP_000000000000012_000000000000001 (* then - Stmts *) (** TimeSw1:=0; **) (* assign - Stmt *) LD 0 ST TimeSw1 JMP ODK_END_IF_000000000000012 (** else **) (* else *) ODK_SKIP_000000000000012_000000000000001: (* else - Stmts *) (** TimeSw1:=1; **) (* assign - Stmt *) LD 1 ST TimeSw1 (** end_if; **) (* if - End *) ODK_END_IF_000000000000012: JMP ODK_END_IF_000000000000011 (** else **) (* else *) ODK_SKIP_000000000000011_000000000000001: (* else - Stmts *) (** **) (** if TrueSetCloseCompare1th and not (TrueSetOpenCompare1th) then **) (* if - Cond *) LD TrueSetCloseCompare1th AND ( TrueSetOpenCompare1th NOT ) JMPCN ODK_SKIP_000000000000013_000000000000001 (* then - Stmts *) (** TimeSw1:=1; **) (* assign - Stmt *) LD 1 ST TimeSw1 JMP ODK_END_IF_000000000000013 (** else **) (* else *) ODK_SKIP_000000000000013_000000000000001: (* else - Stmts *) (** TimeSw1:=0; **) (* assign - Stmt *) LD 0 ST TimeSw1 (** end_if; **) (* if - End *) ODK_END_IF_000000000000013: (** end_if; **) (* if - End *) ODK_END_IF_000000000000011: JMP ODK_END_IF_00000000000000O (** **) (** else **) (* else *) ODK_SKIP_00000000000000O_000000000000001: (* else - Stmts *) (** TimeSw1:=0; **) (* assign - Stmt *) LD 0 ST TimeSw1 (** end_if; **) (* if - End *) ODK_END_IF_00000000000000O: (** **) (** **) (** if Enable2th=TRUE and (not(OnH2th=OffH2th and OnM2th=OffM2th)) then{*ʱһЧ*} **) (* if - Cond *) LD Enable2th EQ TRUE AND ( OnH2th EQ OffH2th AND ( OnM2th EQ OffM2th ) NOT ) JMPCN ODK_SKIP_000000000000014_000000000000001 (* then - Stmts *) (** {*2жϿ趨ʱ֮ĴС*} **) (** if OnH2th>OffH2th then **) (* if - Cond *) LD OnH2th GT OffH2th JMPCN ODK_SKIP_000000000000015_000000000000001 (* then - Stmts *) (** SetCompare2th := 1; **) (* assign - Stmt *) LD 1 ST SetCompare2th JMP ODK_END_IF_000000000000015 (** end_if; **) (* if - End *) ODK_SKIP_000000000000015_000000000000001: ODK_END_IF_000000000000015: (** if OnH2thOffM2th then **) (* if - Cond *) LD OnM2th GT OffM2th JMPCN ODK_SKIP_000000000000018_000000000000001 (* then - Stmts *) (** SetCompare2th := 1; **) (* assign - Stmt *) LD 1 ST SetCompare2th JMP ODK_END_IF_000000000000018 (** else **) (* else *) ODK_SKIP_000000000000018_000000000000001: (* else - Stmts *) (** SetCompare2th := 0; **) (* assign - Stmt *) LD 0 ST SetCompare2th (** end_if; **) (* if - End *) ODK_END_IF_000000000000018: JMP ODK_END_IF_000000000000017 (** end_if; **) (* if - End *) ODK_SKIP_000000000000017_000000000000001: ODK_END_IF_000000000000017: (** **) (** {*2жϿ趨ʱʵʱ֮ĴС*} **) (** if OnH2th>WD_HOUR then **) (* if - Cond *) LD OnH2th GT WD_HOUR JMPCN ODK_SKIP_000000000000019_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare2th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare2th JMP ODK_END_IF_000000000000019 (** end_if; **) (* if - End *) ODK_SKIP_000000000000019_000000000000001: ODK_END_IF_000000000000019: (** if OnH2th=WD_MI then **) (* if - Cond *) LD OnM2th GE WD_MI JMPCN ODK_SKIP_00000000000001C_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare2th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare2th JMP ODK_END_IF_00000000000001C (** else **) (* else *) ODK_SKIP_00000000000001C_000000000000001: (* else - Stmts *) (** TrueSetOpenCompare2th := 0; **) (* assign - Stmt *) LD 0 ST TrueSetOpenCompare2th (** end_if; **) (* if - End *) ODK_END_IF_00000000000001C: JMP ODK_END_IF_00000000000001B (** end_if; **) (* if - End *) ODK_SKIP_00000000000001B_000000000000001: ODK_END_IF_00000000000001B: (** **) (** {*2жϹ趨ʱʵʱ֮ĴС*} **) (** if OffH2th>WD_HOUR then **) (* if - Cond *) LD OffH2th GT WD_HOUR JMPCN ODK_SKIP_00000000000001D_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare2th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare2th JMP ODK_END_IF_00000000000001D (** end_if; **) (* if - End *) ODK_SKIP_00000000000001D_000000000000001: ODK_END_IF_00000000000001D: (** if OffH2th=WD_MI then **) (* if - Cond *) LD OffM2th GE WD_MI JMPCN ODK_SKIP_00000000000001G_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare2th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare2th JMP ODK_END_IF_00000000000001G (** else **) (* else *) ODK_SKIP_00000000000001G_000000000000001: (* else - Stmts *) (** TrueSetCloseCompare2th := 0; **) (* assign - Stmt *) LD 0 ST TrueSetCloseCompare2th (** end_if; **) (* if - End *) ODK_END_IF_00000000000001G: JMP ODK_END_IF_00000000000001F (** end_if; **) (* if - End *) ODK_SKIP_00000000000001F_000000000000001: ODK_END_IF_00000000000001F: (** **) (** {*2*} **) (** if SetCompare2th then{*趨ʱڹر趨ʱΪ1*} **) (* if - Cond *) LD SetCompare2th JMPCN ODK_SKIP_00000000000001H_000000000000001 (* then - Stmts *) (** if TrueSetOpenCompare2th and not (TrueSetCloseCompare2th) then **) (* if - Cond *) LD TrueSetOpenCompare2th AND ( TrueSetCloseCompare2th NOT ) JMPCN ODK_SKIP_00000000000001I_000000000000001 (* then - Stmts *) (** TimeSw2:=0; **) (* assign - Stmt *) LD 0 ST TimeSw2 JMP ODK_END_IF_00000000000001I (** else **) (* else *) ODK_SKIP_00000000000001I_000000000000001: (* else - Stmts *) (** TimeSw2:=1; **) (* assign - Stmt *) LD 1 ST TimeSw2 (** end_if; **) (* if - End *) ODK_END_IF_00000000000001I: JMP ODK_END_IF_00000000000001H (** else **) (* else *) ODK_SKIP_00000000000001H_000000000000001: (* else - Stmts *) (** **) (** if TrueSetCloseCompare2th and not (TrueSetOpenCompare2th) then **) (* if - Cond *) LD TrueSetCloseCompare2th AND ( TrueSetOpenCompare2th NOT ) JMPCN ODK_SKIP_00000000000001J_000000000000001 (* then - Stmts *) (** TimeSw2:=1; **) (* assign - Stmt *) LD 1 ST TimeSw2 JMP ODK_END_IF_00000000000001J (** else **) (* else *) ODK_SKIP_00000000000001J_000000000000001: (* else - Stmts *) (** TimeSw2:=0; **) (* assign - Stmt *) LD 0 ST TimeSw2 (** end_if; **) (* if - End *) ODK_END_IF_00000000000001J: (** end_if; **) (* if - End *) ODK_END_IF_00000000000001H: JMP ODK_END_IF_000000000000014 (** **) (** else **) (* else *) ODK_SKIP_000000000000014_000000000000001: (* else - Stmts *) (** TimeSw2:=0; **) (* assign - Stmt *) LD 0 ST TimeSw2 (** end_if; **) (* if - End *) ODK_END_IF_000000000000014: (** **) (** **) (** **) (** if Enable3th=TRUE and (not(OnH3th=OffH3th and OnM3th=OffM3th)) then{*ʱһЧ*} **) (* if - Cond *) LD Enable3th EQ TRUE AND ( OnH3th EQ OffH3th AND ( OnM3th EQ OffM3th ) NOT ) JMPCN ODK_SKIP_00000000000001K_000000000000001 (* then - Stmts *) (** {*3жϿ趨ʱ֮ĴС*} **) (** if OnH3th>OffH3th then **) (* if - Cond *) LD OnH3th GT OffH3th JMPCN ODK_SKIP_00000000000001L_000000000000001 (* then - Stmts *) (** SetCompare3th := 1; **) (* assign - Stmt *) LD 1 ST SetCompare3th JMP ODK_END_IF_00000000000001L (** end_if; **) (* if - End *) ODK_SKIP_00000000000001L_000000000000001: ODK_END_IF_00000000000001L: (** if OnH3thOffM3th then **) (* if - Cond *) LD OnM3th GT OffM3th JMPCN ODK_SKIP_00000000000001O_000000000000001 (* then - Stmts *) (** SetCompare3th := 1; **) (* assign - Stmt *) LD 1 ST SetCompare3th JMP ODK_END_IF_00000000000001O (** else **) (* else *) ODK_SKIP_00000000000001O_000000000000001: (* else - Stmts *) (** SetCompare3th := 0; **) (* assign - Stmt *) LD 0 ST SetCompare3th (** end_if; **) (* if - End *) ODK_END_IF_00000000000001O: JMP ODK_END_IF_00000000000001N (** end_if; **) (* if - End *) ODK_SKIP_00000000000001N_000000000000001: ODK_END_IF_00000000000001N: (** **) (** {*3жϿ趨ʱʵʱ֮ĴС*} **) (** if OnH3th>WD_HOUR then **) (* if - Cond *) LD OnH3th GT WD_HOUR JMPCN ODK_SKIP_00000000000001P_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare3th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare3th JMP ODK_END_IF_00000000000001P (** end_if; **) (* if - End *) ODK_SKIP_00000000000001P_000000000000001: ODK_END_IF_00000000000001P: (** if OnH3th=WD_MI then **) (* if - Cond *) LD OnM3th GE WD_MI JMPCN ODK_SKIP_00000000000001S_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare3th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare3th JMP ODK_END_IF_00000000000001S (** else **) (* else *) ODK_SKIP_00000000000001S_000000000000001: (* else - Stmts *) (** TrueSetOpenCompare3th := 0; **) (* assign - Stmt *) LD 0 ST TrueSetOpenCompare3th (** end_if; **) (* if - End *) ODK_END_IF_00000000000001S: JMP ODK_END_IF_00000000000001R (** end_if; **) (* if - End *) ODK_SKIP_00000000000001R_000000000000001: ODK_END_IF_00000000000001R: (** **) (** {*3жϹ趨ʱʵʱ֮ĴС*} **) (** if OffH3th>WD_HOUR then **) (* if - Cond *) LD OffH3th GT WD_HOUR JMPCN ODK_SKIP_00000000000001T_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare3th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare3th JMP ODK_END_IF_00000000000001T (** end_if; **) (* if - End *) ODK_SKIP_00000000000001T_000000000000001: ODK_END_IF_00000000000001T: (** if OffH3th=WD_MI then **) (* if - Cond *) LD OffM3th GE WD_MI JMPCN ODK_SKIP_00000000000001W_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare3th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare3th JMP ODK_END_IF_00000000000001W (** else **) (* else *) ODK_SKIP_00000000000001W_000000000000001: (* else - Stmts *) (** TrueSetCloseCompare3th := 0; **) (* assign - Stmt *) LD 0 ST TrueSetCloseCompare3th (** end_if; **) (* if - End *) ODK_END_IF_00000000000001W: JMP ODK_END_IF_00000000000001V (** end_if; **) (* if - End *) ODK_SKIP_00000000000001V_000000000000001: ODK_END_IF_00000000000001V: (** **) (** {*3*} **) (** if SetCompare3th then{*趨ʱڹر趨ʱΪ1*} **) (* if - Cond *) LD SetCompare3th JMPCN ODK_SKIP_00000000000001X_000000000000001 (* then - Stmts *) (** if TrueSetOpenCompare3th and not (TrueSetCloseCompare3th) then **) (* if - Cond *) LD TrueSetOpenCompare3th AND ( TrueSetCloseCompare3th NOT ) JMPCN ODK_SKIP_00000000000001Y_000000000000001 (* then - Stmts *) (** TimeSw3:=0; **) (* assign - Stmt *) LD 0 ST TimeSw3 JMP ODK_END_IF_00000000000001Y (** else **) (* else *) ODK_SKIP_00000000000001Y_000000000000001: (* else - Stmts *) (** TimeSw3:=1; **) (* assign - Stmt *) LD 1 ST TimeSw3 (** end_if; **) (* if - End *) ODK_END_IF_00000000000001Y: JMP ODK_END_IF_00000000000001X (** else **) (* else *) ODK_SKIP_00000000000001X_000000000000001: (* else - Stmts *) (** **) (** if TrueSetCloseCompare3th and not (TrueSetOpenCompare3th) then **) (* if - Cond *) LD TrueSetCloseCompare3th AND ( TrueSetOpenCompare3th NOT ) JMPCN ODK_SKIP_00000000000001Z_000000000000001 (* then - Stmts *) (** TimeSw3:=1; **) (* assign - Stmt *) LD 1 ST TimeSw3 JMP ODK_END_IF_00000000000001Z (** else **) (* else *) ODK_SKIP_00000000000001Z_000000000000001: (* else - Stmts *) (** TimeSw3:=0; **) (* assign - Stmt *) LD 0 ST TimeSw3 (** end_if; **) (* if - End *) ODK_END_IF_00000000000001Z: (** end_if; **) (* if - End *) ODK_END_IF_00000000000001X: JMP ODK_END_IF_00000000000001K (** **) (** else **) (* else *) ODK_SKIP_00000000000001K_000000000000001: (* else - Stmts *) (** TimeSw3:=0; **) (* assign - Stmt *) LD 0 ST TimeSw3 (** end_if; **) (* if - End *) ODK_END_IF_00000000000001K: (** **) (** **) (** **) (** 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_000000000000020_000000000000001 (* then - Stmts *) (** {*4жϿ趨ʱ֮ĴС*} **) (** if OnH4th>OffH4th then **) (* if - Cond *) LD OnH4th GT OffH4th JMPCN ODK_SKIP_000000000000021_000000000000001 (* then - Stmts *) (** SetCompare4th := 1; **) (* assign - Stmt *) LD 1 ST SetCompare4th JMP ODK_END_IF_000000000000021 (** end_if; **) (* if - End *) ODK_SKIP_000000000000021_000000000000001: ODK_END_IF_000000000000021: (** if OnH4thOffM4th then **) (* if - Cond *) LD OnM4th GT OffM4th JMPCN ODK_SKIP_000000000000024_000000000000001 (* then - Stmts *) (** SetCompare4th := 1; **) (* assign - Stmt *) LD 1 ST SetCompare4th JMP ODK_END_IF_000000000000024 (** else **) (* else *) ODK_SKIP_000000000000024_000000000000001: (* else - Stmts *) (** SetCompare4th := 0; **) (* assign - Stmt *) LD 0 ST SetCompare4th (** end_if; **) (* if - End *) ODK_END_IF_000000000000024: JMP ODK_END_IF_000000000000023 (** end_if; **) (* if - End *) ODK_SKIP_000000000000023_000000000000001: ODK_END_IF_000000000000023: (** **) (** {*4жϿ趨ʱʵʱ֮ĴС*} **) (** if OnH4th>WD_HOUR then **) (* if - Cond *) LD OnH4th GT WD_HOUR JMPCN ODK_SKIP_000000000000025_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare4th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare4th JMP ODK_END_IF_000000000000025 (** end_if; **) (* if - End *) ODK_SKIP_000000000000025_000000000000001: ODK_END_IF_000000000000025: (** if OnH4th=WD_MI then **) (* if - Cond *) LD OnM4th GE WD_MI JMPCN ODK_SKIP_000000000000028_000000000000001 (* then - Stmts *) (** TrueSetOpenCompare4th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetOpenCompare4th JMP ODK_END_IF_000000000000028 (** else **) (* else *) ODK_SKIP_000000000000028_000000000000001: (* else - Stmts *) (** TrueSetOpenCompare4th := 0; **) (* assign - Stmt *) LD 0 ST TrueSetOpenCompare4th (** end_if; **) (* if - End *) ODK_END_IF_000000000000028: JMP ODK_END_IF_000000000000027 (** end_if; **) (* if - End *) ODK_SKIP_000000000000027_000000000000001: ODK_END_IF_000000000000027: (** **) (** {*4жϹ趨ʱʵʱ֮ĴС*} **) (** if OffH4th>WD_HOUR then **) (* if - Cond *) LD OffH4th GT WD_HOUR JMPCN ODK_SKIP_000000000000029_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare4th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare4th JMP ODK_END_IF_000000000000029 (** end_if; **) (* if - End *) ODK_SKIP_000000000000029_000000000000001: ODK_END_IF_000000000000029: (** if OffH4th=WD_MI then **) (* if - Cond *) LD OffM4th GE WD_MI JMPCN ODK_SKIP_00000000000002C_000000000000001 (* then - Stmts *) (** TrueSetCloseCompare4th := 1; **) (* assign - Stmt *) LD 1 ST TrueSetCloseCompare4th JMP ODK_END_IF_00000000000002C (** else **) (* else *) ODK_SKIP_00000000000002C_000000000000001: (* else - Stmts *) (** TrueSetCloseCompare4th := 0; **) (* assign - Stmt *) LD 0 ST TrueSetCloseCompare4th (** end_if; **) (* if - End *) ODK_END_IF_00000000000002C: JMP ODK_END_IF_00000000000002B (** end_if; **) (* if - End *) ODK_SKIP_00000000000002B_000000000000001: ODK_END_IF_00000000000002B: (** **) (** {*4*} **) (** if SetCompare4th then{*趨ʱڹر趨ʱΪ1*} **) (* if - Cond *) LD SetCompare4th JMPCN ODK_SKIP_00000000000002D_000000000000001 (* then - Stmts *) (** if TrueSetOpenCompare4th and not (TrueSetCloseCompare4th) then **) (* if - Cond *) LD TrueSetOpenCompare4th AND ( TrueSetCloseCompare4th NOT ) JMPCN ODK_SKIP_00000000000002E_000000000000001 (* then - Stmts *) (** TimeSw4:=0; **) (* assign - Stmt *) LD 0 ST TimeSw4 JMP ODK_END_IF_00000000000002E (** else **) (* else *) ODK_SKIP_00000000000002E_000000000000001: (* else - Stmts *) (** TimeSw4:=1; **) (* assign - Stmt *) LD 1 ST TimeSw4 (** end_if; **) (* if - End *) ODK_END_IF_00000000000002E: JMP ODK_END_IF_00000000000002D (** else **) (* else *) ODK_SKIP_00000000000002D_000000000000001: (* else - Stmts *) (** **) (** if TrueSetCloseCompare4th and not (TrueSetOpenCompare4th) then **) (* if - Cond *) LD TrueSetCloseCompare4th AND ( TrueSetOpenCompare4th NOT ) JMPCN ODK_SKIP_00000000000002F_000000000000001 (* then - Stmts *) (** TimeSw4:=1; **) (* assign - Stmt *) LD 1 ST TimeSw4 JMP ODK_END_IF_00000000000002F (** else **) (* else *) ODK_SKIP_00000000000002F_000000000000001: (* else - Stmts *) (** TimeSw4:=0; **) (* assign - Stmt *) LD 0 ST TimeSw4 (** end_if; **) (* if - End *) ODK_END_IF_00000000000002F: (** end_if; **) (* if - End *) ODK_END_IF_00000000000002D: JMP ODK_END_IF_000000000000020 (** **) (** else **) (* else *) ODK_SKIP_000000000000020_000000000000001: (* else - Stmts *) (** TimeSw4:=0; **) (* assign - Stmt *) LD 0 ST TimeSw4 (** end_if; **) (* if - End *) ODK_END_IF_000000000000020: (** if TimeSw1 or TimeSw2 or TimeSw3 or TimeSw4 then **) (* if - Cond *) LD TimeSw1 OR TimeSw2 OR TimeSw3 OR TimeSw4 JMPCN ODK_SKIP_00000000000002G_000000000000001 (* then - Stmts *) (** OUT_Z:=1; **) (* assign - Stmt *) LD 1 ST OUT_Z JMP ODK_END_IF_00000000000002G (** else **) (* else *) ODK_SKIP_00000000000002G_000000000000001: (* else - Stmts *) (** OUT_Z:=0; **) (* assign - Stmt *) LD 0 ST OUT_Z (** end_if; **) (* if - End *) ODK_END_IF_00000000000002G: (** if OUT_Z=0 and ALLDAY =0 then **) (* if - Cond *) LD OUT_Z EQ 0 AND ( ALLDAY EQ 0 ) JMPCN ODK_SKIP_00000000000002H_000000000000001 (* then - Stmts *) (** LinkageEN:=0; **) (* assign - Stmt *) LD 0 ST LinkageEN JMP ODK_END_IF_00000000000002H (** end_if; **) (* if - End *) ODK_SKIP_00000000000002H_000000000000001: ODK_END_IF_00000000000002H: JMP ODK_END_IF_00000000000000N (** end_if; **) (* if - End *) ODK_SKIP_00000000000000N_000000000000001: ODK_END_IF_00000000000000N: (** **) (** {* ʱΧڶ *} **) (** if OUT_Z=1 or ALLDAY =1 then **) (* if - Cond *) LD OUT_Z EQ 1 OR ( ALLDAY EQ 1 ) JMPCN ODK_SKIP_00000000000002I_000000000000001 (* then - Stmts *) (** {* 豸 *} **) (** {*ݴ ˳maxminΧֵЧݣƽֵ, ȡܺ*} **) (** **) (** for i:= 0 to 9 by 1 do **) (* for - Init *) LD 0 ST i EQ 9 JMPC ODK_FOR_STMTS_00000000000002J (* for - Cond *) ODK_FOR_00000000000002J: LD 0 GT 9 JMPC ODK_FOR_DOWN_00000000000002J LD 0 GT 1 JMPC ODK_END_FOR_00000000000002J LD 9 LT i JMPC ODK_END_FOR_00000000000002J JMP ODK_FOR_STMTS_00000000000002J ODK_FOR_DOWN_00000000000002J: LD 9 GT i JMPC ODK_END_FOR_00000000000002J LD 0 LT 1 JMPC ODK_END_FOR_00000000000002J (* for - Stmts *) ODK_FOR_STMTS_00000000000002J: (** if LinkageValue[i]>=MinRange and LinkageValue[i]<=MaxRange then **) (* if - Cond *) LD LinkageValue[i] GE MinRange AND ( LinkageValue[i] LE MaxRange ) JMPCN ODK_SKIP_00000000000002K_000000000000001 (* then - Stmts *) (** TempSum:=LinkageValue[i]+TempSum; **) (* assign - Stmt *) LD LinkageValue[i] ADD TempSum ST TempSum JMP ODK_END_IF_00000000000002K (** else **) (* else *) ODK_SKIP_00000000000002K_000000000000001: (* else - Stmts *) (** TempCount:=TempCount+1; **) (* assign - Stmt *) LD TempCount ADD 1 ST TempCount (** end_if; **) (* if - End *) ODK_END_IF_00000000000002K: (* for - By *) LD 1 ADD i ST i (** end_for; **) JMP ODK_FOR_00000000000002J (* for - End *) ODK_END_FOR_00000000000002J: (** if i>=9 then **) (* if - Cond *) LD i GE 9 JMPCN ODK_SKIP_00000000000002L_000000000000001 (* then - Stmts *) (** i:=0; **) (* assign - Stmt *) LD 0 ST i (** ValueCount:=10-TempCount; **) (* assign - Stmt *) LD 10 SUB TempCount ST ValueCount (** TempCount :=0; **) (* assign - Stmt *) LD 0 ST TempCount (** ValueSum :=TempSum; **) (* assign - Stmt *) LD TempSum ST ValueSum (** TempSum :=0.0; **) (* assign - Stmt *) LD 0.0 ST TempSum JMP ODK_END_IF_00000000000002L (** end_if; **) (* if - End *) ODK_SKIP_00000000000002L_000000000000001: ODK_END_IF_00000000000002L: (** **) (** if ValueCount<>0 then **) (* if - Cond *) LD ValueCount NE 0 JMPCN ODK_SKIP_00000000000002M_000000000000001 (* then - Stmts *) (** ValueAverage:=ValueSum/int_to_real(ValueCount); **) (* assign - Stmt *) LD ValueSum DIV ( ValueCount int_to_real ) ST ValueAverage JMP ODK_END_IF_00000000000002M (** end_if; **) (* if - End *) ODK_SKIP_00000000000002M_000000000000001: ODK_END_IF_00000000000002M: (** **) (** {*Ƚ趨ֵȶЧʱ*} **) (** **) (** ton1(pt:=HoldDelay); **) (* call - Stmt *) CAL ton1 ( pt := HoldDelay ) (** ton2(pt:=HoldDelay); **) (* call - Stmt *) CAL ton2 ( pt := HoldDelay ) (** if ValueAverage<>0.0 then **) (* if - Cond *) LD ValueAverage NE 0.0 JMPCN ODK_SKIP_00000000000002N_000000000000001 (* then - Stmts *) (** if (LinkageSet-Dead_Band)-ValueAverage>=0.0 then **) (* if - Cond *) LD LinkageSet SUB Dead_Band SUB ValueAverage GE 0.0 JMPCN ODK_SKIP_00000000000002O_000000000000001 (* then - Stmts *) (** ton1.in:=1; **) (* assign - Stmt *) LD 1 ST ton1.in JMP ODK_END_IF_00000000000002O (** else **) (* else *) ODK_SKIP_00000000000002O_000000000000001: (* else - Stmts *) (** ton1.in:=0; **) (* assign - Stmt *) LD 0 ST ton1.in (** end_if; **) (* if - End *) ODK_END_IF_00000000000002O: (** if ton1.q=1 then **) (* if - Cond *) LD ton1.q EQ 1 JMPCN ODK_SKIP_00000000000002P_000000000000001 (* then - Stmts *) (** LinkageEN:=0; **) (* assign - Stmt *) LD 0 ST LinkageEN JMP ODK_END_IF_00000000000002P (** end_if; **) (* if - End *) ODK_SKIP_00000000000002P_000000000000001: ODK_END_IF_00000000000002P: (** if (LinkageSet+Dead_Band)-ValueAverage<0.0 then **) (* if - Cond *) LD LinkageSet ADD Dead_Band SUB ValueAverage LT 0.0 JMPCN ODK_SKIP_00000000000002Q_000000000000001 (* then - Stmts *) (** ton2.in:=1; **) (* assign - Stmt *) LD 1 ST ton2.in JMP ODK_END_IF_00000000000002Q (** else **) (* else *) ODK_SKIP_00000000000002Q_000000000000001: (* else - Stmts *) (** ton2.in:=0; **) (* assign - Stmt *) LD 0 ST ton2.in (** end_if; **) (* if - End *) ODK_END_IF_00000000000002Q: (** if ton2.q=1 then **) (* if - Cond *) LD ton2.q EQ 1 JMPCN ODK_SKIP_00000000000002R_000000000000001 (* then - Stmts *) (** LinkageEN:=1; **) (* assign - Stmt *) LD 1 ST LinkageEN JMP ODK_END_IF_00000000000002R (** end_if; **) (* if - End *) ODK_SKIP_00000000000002R_000000000000001: ODK_END_IF_00000000000002R: JMP ODK_END_IF_00000000000002N (** else **) (* else *) ODK_SKIP_00000000000002N_000000000000001: (* else - Stmts *) (** LinkageEN:=0; **) (* assign - Stmt *) LD 0 ST LinkageEN (** end_if; **) (* if - End *) ODK_END_IF_00000000000002N: JMP ODK_END_IF_00000000000002I (** **) (** end_if; **) (* if - End *) ODK_SKIP_00000000000002I_000000000000001: ODK_END_IF_00000000000002I: (** {*󶨷*} **) (** **) (** for j:= 0 to 9 by 1 do **) (* for - Init *) LD 0 ST j EQ 9 JMPC ODK_FOR_STMTS_00000000000002S (* for - Cond *) ODK_FOR_00000000000002S: LD 0 GT 9 JMPC ODK_FOR_DOWN_00000000000002S LD 0 GT 1 JMPC ODK_END_FOR_00000000000002S LD 9 LT j JMPC ODK_END_FOR_00000000000002S JMP ODK_FOR_STMTS_00000000000002S ODK_FOR_DOWN_00000000000002S: LD 9 GT j JMPC ODK_END_FOR_00000000000002S LD 0 LT 1 JMPC ODK_END_FOR_00000000000002S (* for - Stmts *) ODK_FOR_STMTS_00000000000002S: (** LinkageOut[j]:=LinkageEN; **) (* assign - Stmt *) LD LinkageEN ST LinkageOut[j] (* for - By *) LD 1 ADD j ST j (** end_for; **) JMP ODK_FOR_00000000000002S (* for - End *) ODK_END_FOR_00000000000002S: JMP ODK_END_IF_000000000000001 (** **) (** **) (** end_if; **) (* if - End *) ODK_SKIP_000000000000001_000000000000001: ODK_END_IF_000000000000001: (** **) (** **) (** **) (** **) END_FUNCTION_BLOCK