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 OnH1th<OffH1th then **)
				(* if - Cond *)
				LD OnH1th
				LT OffH1th
				JMPCN ODK_SKIP_00000000000000Q_000000000000001

					(* then - Stmts *)

(** 		    SetCompare1th := 0; **)
					(* assign - Stmt *)
					LD 0
					ST SetCompare1th

					JMP ODK_END_IF_00000000000000Q

(** 		  end_if; **)
				(* if - End *) 
				ODK_SKIP_00000000000000Q_000000000000001:
				ODK_END_IF_00000000000000Q:

(** 		  if OnH1th=OffH1th then **)
				(* if - Cond *)
				LD OnH1th
				EQ OffH1th
				JMPCN ODK_SKIP_00000000000000R_000000000000001

					(* then - Stmts *)

(** 		  	if OnM1th>OffM1th 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_HOUR then **)
				(* if - Cond *)
				LD OnH1th
				LT WD_HOUR
				JMPCN ODK_SKIP_00000000000000U_000000000000001

					(* then - Stmts *)

(** 		    TrueSetOpenCompare1th := 0; **)
					(* assign - Stmt *)
					LD 0
					ST TrueSetOpenCompare1th

					JMP ODK_END_IF_00000000000000U

(** 		  end_if; **)
				(* if - End *) 
				ODK_SKIP_00000000000000U_000000000000001:
				ODK_END_IF_00000000000000U:

(** 		  if OnH1th=WD_HOUR then **)
				(* if - Cond *)
				LD OnH1th
				EQ WD_HOUR
				JMPCN ODK_SKIP_00000000000000V_000000000000001

					(* then - Stmts *)

(** 		  	if OnM1th>=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_HOUR then **)
				(* if - Cond *)
				LD OffH1th
				LT WD_HOUR
				JMPCN ODK_SKIP_00000000000000Y_000000000000001

					(* then - Stmts *)

(** 		    TrueSetCloseCompare1th := 0; **)
					(* assign - Stmt *)
					LD 0
					ST TrueSetCloseCompare1th

					JMP ODK_END_IF_00000000000000Y

(** 		  end_if; **)
				(* if - End *) 
				ODK_SKIP_00000000000000Y_000000000000001:
				ODK_END_IF_00000000000000Y:

(** 		  if OffH1th=WD_HOUR then **)
				(* if - Cond *)
				LD OffH1th
				EQ WD_HOUR
				JMPCN ODK_SKIP_00000000000000Z_000000000000001

					(* then - Stmts *)

(** 		  	if OffM1th>=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 OnH2th<OffH2th then **)
				(* if - Cond *)
				LD OnH2th
				LT OffH2th
				JMPCN ODK_SKIP_000000000000016_000000000000001

					(* then - Stmts *)

(** 		    SetCompare2th := 0; **)
					(* assign - Stmt *)
					LD 0
					ST SetCompare2th

					JMP ODK_END_IF_000000000000016

(** 		  end_if; **)
				(* if - End *) 
				ODK_SKIP_000000000000016_000000000000001:
				ODK_END_IF_000000000000016:

(** 		  if OnH2th=OffH2th then **)
				(* if - Cond *)
				LD OnH2th
				EQ OffH2th
				JMPCN ODK_SKIP_000000000000017_000000000000001

					(* then - Stmts *)

(** 		  	if OnM2th>OffM2th 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_HOUR then **)
				(* if - Cond *)
				LD OnH2th
				LT WD_HOUR
				JMPCN ODK_SKIP_00000000000001A_000000000000001

					(* then - Stmts *)

(** 		    TrueSetOpenCompare2th := 0; **)
					(* assign - Stmt *)
					LD 0
					ST TrueSetOpenCompare2th

					JMP ODK_END_IF_00000000000001A

(** 		  end_if; **)
				(* if - End *) 
				ODK_SKIP_00000000000001A_000000000000001:
				ODK_END_IF_00000000000001A:

(** 		  if OnH2th=WD_HOUR then **)
				(* if - Cond *)
				LD OnH2th
				EQ WD_HOUR
				JMPCN ODK_SKIP_00000000000001B_000000000000001

					(* then - Stmts *)

(** 		  	if OnM2th>=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_HOUR then **)
				(* if - Cond *)
				LD OffH2th
				LT WD_HOUR
				JMPCN ODK_SKIP_00000000000001E_000000000000001

					(* then - Stmts *)

(** 		    TrueSetCloseCompare2th := 0; **)
					(* assign - Stmt *)
					LD 0
					ST TrueSetCloseCompare2th

					JMP ODK_END_IF_00000000000001E

(** 		  end_if; **)
				(* if - End *) 
				ODK_SKIP_00000000000001E_000000000000001:
				ODK_END_IF_00000000000001E:

(** 		  if OffH2th=WD_HOUR then **)
				(* if - Cond *)
				LD OffH2th
				EQ WD_HOUR
				JMPCN ODK_SKIP_00000000000001F_000000000000001

					(* then - Stmts *)

(** 		  	if OffM2th>=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 OnH3th<OffH3th then **)
				(* if - Cond *)
				LD OnH3th
				LT OffH3th
				JMPCN ODK_SKIP_00000000000001M_000000000000001

					(* then - Stmts *)

(** 		    SetCompare3th := 0; **)
					(* assign - Stmt *)
					LD 0
					ST SetCompare3th

					JMP ODK_END_IF_00000000000001M

(** 		  end_if; **)
				(* if - End *) 
				ODK_SKIP_00000000000001M_000000000000001:
				ODK_END_IF_00000000000001M:

(** 		  if OnH3th=OffH3th then **)
				(* if - Cond *)
				LD OnH3th
				EQ OffH3th
				JMPCN ODK_SKIP_00000000000001N_000000000000001

					(* then - Stmts *)

(** 		  	if OnM3th>OffM3th 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_HOUR then **)
				(* if - Cond *)
				LD OnH3th
				LT WD_HOUR
				JMPCN ODK_SKIP_00000000000001Q_000000000000001

					(* then - Stmts *)

(** 		    TrueSetOpenCompare3th := 0; **)
					(* assign - Stmt *)
					LD 0
					ST TrueSetOpenCompare3th

					JMP ODK_END_IF_00000000000001Q

(** 		  end_if; **)
				(* if - End *) 
				ODK_SKIP_00000000000001Q_000000000000001:
				ODK_END_IF_00000000000001Q:

(** 		  if OnH3th=WD_HOUR then **)
				(* if - Cond *)
				LD OnH3th
				EQ WD_HOUR
				JMPCN ODK_SKIP_00000000000001R_000000000000001

					(* then - Stmts *)

(** 		  	if OnM3th>=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_HOUR then **)
				(* if - Cond *)
				LD OffH3th
				LT WD_HOUR
				JMPCN ODK_SKIP_00000000000001U_000000000000001

					(* then - Stmts *)

(** 		    TrueSetCloseCompare3th := 0; **)
					(* assign - Stmt *)
					LD 0
					ST TrueSetCloseCompare3th

					JMP ODK_END_IF_00000000000001U

(** 		  end_if; **)
				(* if - End *) 
				ODK_SKIP_00000000000001U_000000000000001:
				ODK_END_IF_00000000000001U:

(** 		  if OffH3th=WD_HOUR then **)
				(* if - Cond *)
				LD OffH3th
				EQ WD_HOUR
				JMPCN ODK_SKIP_00000000000001V_000000000000001

					(* then - Stmts *)

(** 		  	if OffM3th>=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 OnH4th<OffH4th then **)
				(* if - Cond *)
				LD OnH4th
				LT OffH4th
				JMPCN ODK_SKIP_000000000000022_000000000000001

					(* then - Stmts *)

(** 		    SetCompare4th := 0; **)
					(* assign - Stmt *)
					LD 0
					ST SetCompare4th

					JMP ODK_END_IF_000000000000022

(** 		  end_if; **)
				(* if - End *) 
				ODK_SKIP_000000000000022_000000000000001:
				ODK_END_IF_000000000000022:

(** 		  if OnH4th=OffH4th then **)
				(* if - Cond *)
				LD OnH4th
				EQ OffH4th
				JMPCN ODK_SKIP_000000000000023_000000000000001

					(* then - Stmts *)

(** 		  	if OnM4th>OffM4th 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_HOUR then **)
				(* if - Cond *)
				LD OnH4th
				LT WD_HOUR
				JMPCN ODK_SKIP_000000000000026_000000000000001

					(* then - Stmts *)

(** 		    TrueSetOpenCompare4th := 0; **)
					(* assign - Stmt *)
					LD 0
					ST TrueSetOpenCompare4th

					JMP ODK_END_IF_000000000000026

(** 		  end_if; **)
				(* if - End *) 
				ODK_SKIP_000000000000026_000000000000001:
				ODK_END_IF_000000000000026:

(** 		  if OnH4th=WD_HOUR then **)
				(* if - Cond *)
				LD OnH4th
				EQ WD_HOUR
				JMPCN ODK_SKIP_000000000000027_000000000000001

					(* then - Stmts *)

(** 		  	if OnM4th>=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_HOUR then **)
				(* if - Cond *)
				LD OffH4th
				LT WD_HOUR
				JMPCN ODK_SKIP_00000000000002A_000000000000001

					(* then - Stmts *)

(** 		    TrueSetCloseCompare4th := 0; **)
					(* assign - Stmt *)
					LD 0
					ST TrueSetCloseCompare4th

					JMP ODK_END_IF_00000000000002A

(** 		  end_if; **)
				(* if - End *) 
				ODK_SKIP_00000000000002A_000000000000001:
				ODK_END_IF_00000000000002A:

(** 		  if OffH4th=WD_HOUR then **)
				(* if - Cond *)
				LD OffH4th
				EQ WD_HOUR
				JMPCN ODK_SKIP_00000000000002B_000000000000001

					(* then - Stmts *)

(** 		  	if OffM4th>=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 *)

(** 	{* �������������豸 *} **)
(** 	{*���ݴ��� ���˳���max��min��Χ��ֵ��������Ч���ݣ����ƽ��ֵ, ȡ�ܺ�*} **)
(**  **)
(** 		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