FUNCTION_BLOCK BS_CMFCU
VAR_EXTERNAL

END_VAR

VAR_INPUT
FAU_STRUCT_IN  :FAU_IN;
END_VAR

VAR_OUTPUT
FAU_STRUCT_OUT :FAU_OUT;
END_VAR

VAR

FAU_SPID       	 :BS_PID;
FAU_WPID		 :BS_PID;
FAU_RunTime		 :BS_Runtime;
FAU_WVCTEMP		 :REAL;
RunTon1         	 :TON;
RunTon2         	 :TON;
RunTon3         	 :TON;
RunTon5         	 :TON;
FanTon1         	 :TON;
FanTon2         	 :TON;
FanTon2q			 :BOOL;
RunTof1         	 :TOF;
RunTof2         	 :TOF;
RunTof3         	 :TOF;
DevCheck1_time  	 :TIME :=t#15s;  (*设备运行状态反馈*)
DevCheck2_time  	 :TIME :=t#15s;  (*设备运行状态反馈*)
AFSDelay_time	     :TIME :=t#10s;
Status0				 :INT;
Status1				 :INT;
Status2				 :INT;
Status3				 :INT;
FAU_SPID_VP		     :REAL;
FAU_SPID_VI		     :REAL;
FAU_WPID_VP	     	 :REAL;
FAU_WPID_VI		     :REAL;
PID_in				 :BOOL;
PID_timer			 :TON;
AFSM				 :BOOL;
FDSM				 :BOOL;
FDOM				 :BOOL;
FDOTon          	 :TON;
FDSTon          	 :TON;
FAU_FEC              :BS_FEC;
FAU_CM				 :BOOL;
FAU_VFCSM    		 :INT;
ini                  :BOOL;
VFMVM      		     :INT;
AFSON				 :BOOL;
AFSOF				 :BOOL;
AFSTON         	 	 :TON;
AFSTOF          	 :TOF;
FVCS				 :REAL;

END_VAR

(*Automatically declared*)
VAR_EXTERNAL
END_VAR
(** {*  **)
(**  **)
(** ʱ  �䣺20201028 **)
(** ��  ����1.1 **)
(** ��  �ߣ�Ҧ�� **)
(** ��  �ƣ�����ʡ���������Ƶ����յ���������ܿ� **)
(** ˵  ���� **)
(** 		�������		 **)
(** 		FAU_STRUCT_IN. **)
(** 		SM              :INT ; ����ģʽ 0�ļ� 1���� 2����  **)
(** 		LM				:LM	 ; ����ģʽ 0������ 1���� **)
(** 		Run             :BOOL; ����״̬ **)
(** 		Fault           :BOOL; ����״̬ **)
(** 		Auto            :BOOL; �Զ�״̬ **)
(** 		Control         :BOOL; �������      **)
(** 		FVMC			:BOOL; �緧�ֶ����� **)
(** 		FVMV    		:REAL; �緧�ֶ�����ֵ **)
(** 		FVOCT			:TIME; �緧����ʱ�������趨OpenCycleTime **)
(** 		FVOST			:TIME; �緧�����ȶ�ʱ���趨OpenStableTime	                                                                           **)
(** 		TSET			:REAL; �¶��趨 **)
(** 		WVMC			:BOOL; ˮ���ֶ����� **)
(** 		WVMV    		:REAL; ˮ���ֶ�����ֵ **)
(** 		VFMC			:BOOL; ��Ƶ�ֶ����� **)
(** 		VFMV            :INT;  ��Ƶ�趨ֵ **)
(** 		STS         	:REAL; �ͷ��¶� **)
(** 		RST      		:BOOL; ����ʱ���ۼ����� **)
(** 		RSTV			:REAL; ����ʱ���ۼ�����ֵ **)
(** 		FPS 			:BOOL; ���ѹ�� **)
(** 		IPS 			:BOOL; ����ѹ�� **)
(** 		AFS 			:BOOL; ���¶�·���� **)
(** 		ISO1   			:BOOL; ���й��Ϸ������� **)
(** 		ISO2   			:BOOL; ���ѹ������� **)
(** 		ISO3   			:BOOL; ���¶�·�������� **)
(** 		VFBS   			:INT;  ��Ƶ����	 **)
(** 		VP				:REAL; PI�趨ֵP **)
(** 		VI				:REAL; PI�趨ֵI **)
(** 		FDELAY			:TIME; ���������ʱ **)
(** 		VDELAY			:TIME; �緧�ź��г���ʱ **)
(** 		 **)
(** 		FAU_STRUCT_OUT. **)
(** 		WVCS     		:INT ; ˮ������ת��ֵ���Ŵ�100�� **)
(** 		VFCS   			:INT ; ��Ƶ���� (35~50)	 **)
(** 		FVCS	        :INT ; �緧���� (50~100) **)
(** 		Control         :BOOL; ��ͣ���� **)
(** 		RH        		:REAL; ����Сʱ **)
(** 		SN        		:INT ; �豸״̬����	 **)
(** 		 **)
(** 		�������¼��㹦�� **)
(** 		1.���й��ϻؼ�,������ϴ��룬֧�ֹ��ϱ������� **)
(** 		2.ˮ��PID����/�ֶ����� **)
(** 		3.����ʱ���ۼ� **)
(** 		4.������������ **)
(** 		5.�緧��������Ĭ��50%���ȣ���������OST�ȶ�100%һ��ʱ�䣬ÿ���趨ʱ��OCT��Ԥ��4Сʱ�����ٿ�����100%�����ȶ�ʱ��OST **)
(** 		7.�����ͣ�������� **)
(** 		8.��Ƶ���� **)
(** 				 **)
(** ��  ע�� **)
(** �����飺 **)
(** 		BS_PID; **)
(** 		BS_Runtime; **)
(**  **)
(** *}{* **)
(** if ini=0 then  **)
(**    FAU_STRUCT_IN.VFMV:=40; **)
(**    ini:=1; **)
(** end_if;*} **)
(**  **)
(**  **)
(**  **)
(**  **)
(** 	 **)
(**  **)
(** {******************************************************CO2��������******************************************************* **)
(** �����ܿ������� **)
(** if FAU_STRUCT_IN.LM=0 then	 **)
(**    if FAU_STRUCT_IN.Control=1 then	 **)
(**       FAU_CM:=1; **)
(** 	else FAU_CM:=0; **)
(**    end_if; **)
(** end_if; **)
(**  **)
(** if FAU_STRUCT_IN.LM=1 then		 **)
(**    FAU_FEC(RUN :=FAU_STRUCT_IN.CM , SET :=FAU_STRUCT_IN.CO2SET , FB :=FAU_STRUCT_IN.CO2S , DEAD_BAND :=10.0 , DELAY :=t#20s   |  FAU_CM:= DevC); **)
(** end_if; **)
(** *} **)
(**  **)
(** {******************************************************�·����ͣ����********************************************************} **)
(**  **)
(** if AFSM=0 then{*����������������������ʼ*} **)
	(* if - Cond *)
	LD AFSM
	EQ 0
	JMPCN ODK_SKIP_000000000000001_000000000000001

		(* then - Stmts *)

(**  **)
(** 	{*�����������������緧*} **)
(** 	if FAU_STRUCT_IN.Control=1 then  **)
		(* if - Cond *)
		LD FAU_STRUCT_IN.Control
		EQ 1
		JMPCN ODK_SKIP_000000000000002_000000000000001

			(* then - Stmts *)

(** 		FanTon1	( IN:=FanTon2q 		, PT:=FAU_STRUCT_IN.FVOCT ); **)
			(* call - Stmt *)
			CAL FanTon1 (
				IN := FanTon2q,
				PT := FAU_STRUCT_IN.FVOCT
			)

(** 		FanTon2	( IN:=FanTon1.q		, PT:=FAU_STRUCT_IN.FVOST ); **)
			(* call - Stmt *)
			CAL FanTon2 (
				IN := FanTon1.q,
				PT := FAU_STRUCT_IN.FVOST
			)

(** 		FanTon2q:=not FanTon2.q; **)
			(* assign - Stmt *)
			LD FanTon2.q
			NOT
			ST FanTon2q

(** 		if FAU_STRUCT_IN.FVMC=0 then **)
			(* if - Cond *)
			LD FAU_STRUCT_IN.FVMC
			EQ 0
			JMPCN ODK_SKIP_000000000000003_000000000000001

				(* then - Stmts *)

(** 			if FanTon1.q=1 and FanTon2.q=0 then  **)
				(* if - Cond *)
				LD FanTon1.q
				EQ 1
				AND ( FanTon2.q
					EQ 0
				)
				JMPCN ODK_SKIP_000000000000004_000000000000001

					(* then - Stmts *)

(** 				FAU_STRUCT_OUT.FVCS:=50; **)
					(* assign - Stmt *)
					LD 50
					ST FAU_STRUCT_OUT.FVCS

					JMP ODK_END_IF_000000000000004

(** 			else **)
				(* else *) 
				ODK_SKIP_000000000000004_000000000000001:

					(* else - Stmts *)

(** 				FAU_STRUCT_OUT.FVCS:=100; **)
					(* assign - Stmt *)
					LD 100
					ST FAU_STRUCT_OUT.FVCS

(** 			end_if;	 **)
				(* if - End *) 
				ODK_END_IF_000000000000004:

				JMP ODK_END_IF_000000000000003

(** 		else **)
			(* else *) 
			ODK_SKIP_000000000000003_000000000000001:

				(* else - Stmts *)

(** 			FAU_STRUCT_OUT.FVCS:=FAU_STRUCT_IN.FVMV; **)
				(* assign - Stmt *)
				LD FAU_STRUCT_IN.FVMV
				ST FAU_STRUCT_OUT.FVCS

(** 		end_if; **)
			(* if - End *) 
			ODK_END_IF_000000000000003:

			JMP ODK_END_IF_000000000000002

(** 	end_if;	 **)
		(* if - End *) 
		ODK_SKIP_000000000000002_000000000000001:
		ODK_END_IF_000000000000002:

(**  **)
(** {***************************************�����ʱ��������**********************************************} **)
(**  **)
(** 	RunTon3	( IN:=FAU_STRUCT_IN.Control , PT:=FAU_STRUCT_IN.FDELAY | FAU_STRUCT_OUT.Control:=q ); **)
		(* call - Stmt *)
		CAL RunTon3 (
			IN := FAU_STRUCT_IN.Control,
			PT := FAU_STRUCT_IN.FDELAY
			|
			FAU_STRUCT_OUT.Control := q
		)

(**  **)
(**  **)
(** 	if FAU_STRUCT_IN.Run=1 then **)
		(* if - Cond *)
		LD FAU_STRUCT_IN.Run
		EQ 1
		JMPCN ODK_SKIP_000000000000005_000000000000001

			(* then - Stmts *)

(** 		{*��Ƶ�������ֵ*} **)
(** 		if FAU_STRUCT_IN.VFMC =1 then **)
			(* if - Cond *)
			LD FAU_STRUCT_IN.VFMC
			EQ 1
			JMPCN ODK_SKIP_000000000000006_000000000000001

				(* then - Stmts *)

(** 			if FAU_STRUCT_IN.VFMV<=50 and FAU_STRUCT_IN.VFMV>=35 then **)
				(* if - Cond *)
				LD FAU_STRUCT_IN.VFMV
				LE 50
				AND ( FAU_STRUCT_IN.VFMV
					GE 35
				)
				JMPCN ODK_SKIP_000000000000007_000000000000001

					(* then - Stmts *)

(** 			FAU_STRUCT_OUT.VFCS:=FAU_STRUCT_IN.VFMV; **)
					(* assign - Stmt *)
					LD FAU_STRUCT_IN.VFMV
					ST FAU_STRUCT_OUT.VFCS

					JMP ODK_END_IF_000000000000007

(** 			end_if; **)
				(* if - End *) 
				ODK_SKIP_000000000000007_000000000000001:
				ODK_END_IF_000000000000007:

(** 			if FAU_STRUCT_IN.VFMV>50 then  **)
				(* if - Cond *)
				LD FAU_STRUCT_IN.VFMV
				GT 50
				JMPCN ODK_SKIP_000000000000008_000000000000001

					(* then - Stmts *)

(** 				FAU_STRUCT_OUT.VFCS:=50; **)
					(* assign - Stmt *)
					LD 50
					ST FAU_STRUCT_OUT.VFCS

					JMP ODK_END_IF_000000000000008

(** 			end_if; **)
				(* if - End *) 
				ODK_SKIP_000000000000008_000000000000001:
				ODK_END_IF_000000000000008:

(** 			if FAU_STRUCT_IN.VFMV<35 then  **)
				(* if - Cond *)
				LD FAU_STRUCT_IN.VFMV
				LT 35
				JMPCN ODK_SKIP_000000000000009_000000000000001

					(* then - Stmts *)

(** 				FAU_STRUCT_OUT.VFCS:=35; **)
					(* assign - Stmt *)
					LD 35
					ST FAU_STRUCT_OUT.VFCS

					JMP ODK_END_IF_000000000000009

(** 			end_if; **)
				(* if - End *) 
				ODK_SKIP_000000000000009_000000000000001:
				ODK_END_IF_000000000000009:

				JMP ODK_END_IF_000000000000006

(** 		else **)
			(* else *) 
			ODK_SKIP_000000000000006_000000000000001:

				(* else - Stmts *)

(** 			FAU_STRUCT_OUT.VFCS:=50; **)
				(* assign - Stmt *)
				LD 50
				ST FAU_STRUCT_OUT.VFCS

(** 		end_if; **)
			(* if - End *) 
			ODK_END_IF_000000000000006:

			JMP ODK_END_IF_000000000000005

(** 	else **)
		(* else *) 
		ODK_SKIP_000000000000005_000000000000001:

			(* else - Stmts *)

(** 		FAU_STRUCT_OUT.VFCS:=0; **)
			(* assign - Stmt *)
			LD 0
			ST FAU_STRUCT_OUT.VFCS

(** 	end_if; **)
		(* if - End *) 
		ODK_END_IF_000000000000005:

(**  **)
(**  **)
(** {******************************************************ˮ������******************************************************} **)
(**  **)
(** 	PID_in:= not PID_timer.q; **)
		(* assign - Stmt *)
		LD PID_timer.q
		NOT
		ST PID_in

(** 	PID_timer(in:=PID_in, pt:=t#1s );{*PID����ʱ��*} **)
		(* call - Stmt *)
		CAL PID_timer (
			IN := PID_in,
			PT := t#1s
		)

(**  **)
(** 	if FAU_STRUCT_IN.WVMC=0 then **)
		(* if - Cond *)
		LD FAU_STRUCT_IN.WVMC
		EQ 0
		JMPCN ODK_SKIP_00000000000000A_000000000000001

			(* then - Stmts *)

(** 		if FAU_STRUCT_IN.Run=1 then **)
			(* if - Cond *)
			LD FAU_STRUCT_IN.Run
			EQ 1
			JMPCN ODK_SKIP_00000000000000B_000000000000001

				(* then - Stmts *)

(** 			if FAU_STRUCT_IN.VP<>0.0 and FAU_STRUCT_IN.VI<>0.0 then **)
				(* if - Cond *)
				LD FAU_STRUCT_IN.VP
				NE 0.0
				AND ( FAU_STRUCT_IN.VI
					NE 0.0
				)
				JMPCN ODK_SKIP_00000000000000C_000000000000001

					(* then - Stmts *)

(** 			FAU_SPID_VP:=-FAU_STRUCT_IN.VP; **)
					(* assign - Stmt *)
					LD FAU_STRUCT_IN.VP
					NEG
					ST FAU_SPID_VP

(** 			FAU_SPID_VI:=-FAU_STRUCT_IN.VI; **)
					(* assign - Stmt *)
					LD FAU_STRUCT_IN.VI
					NEG
					ST FAU_SPID_VI

(** 			FAU_WPID_VP:=FAU_STRUCT_IN.VP; **)
					(* assign - Stmt *)
					LD FAU_STRUCT_IN.VP
					ST FAU_WPID_VP

(** 			FAU_WPID_VI:=FAU_STRUCT_IN.VI; **)
					(* assign - Stmt *)
					LD FAU_STRUCT_IN.VI
					ST FAU_WPID_VI

					JMP ODK_END_IF_00000000000000C

(** 			else **)
				(* else *) 
				ODK_SKIP_00000000000000C_000000000000001:

					(* else - Stmts *)

(** 			FAU_SPID_VP:=-30.0; **)
					(* assign - Stmt *)
					LD -30.0
					ST FAU_SPID_VP

(** 			FAU_SPID_VI:=-150.0; **)
					(* assign - Stmt *)
					LD -150.0
					ST FAU_SPID_VI

(** 			FAU_WPID_VP:=30.0; **)
					(* assign - Stmt *)
					LD 30.0
					ST FAU_WPID_VP

(** 			FAU_WPID_VI:=150.0; **)
					(* assign - Stmt *)
					LD 150.0
					ST FAU_WPID_VI

(** 			end_if; **)
				(* if - End *) 
				ODK_END_IF_00000000000000C:

(** 			{*���伾*} **)
(** 			if FAU_STRUCT_IN.SM=0 then		 **)
				(* if - Cond *)
				LD FAU_STRUCT_IN.SM
				EQ 0
				JMPCN ODK_SKIP_00000000000000D_000000000000001

					(* then - Stmts *)

(** 				if  FAU_STRUCT_IN.STS-FAU_STRUCT_IN.TSET>=3.0 then **)
					(* if - Cond *)
					LD FAU_STRUCT_IN.STS
					SUB FAU_STRUCT_IN.TSET
					GE 3.0
					JMPCN ODK_SKIP_00000000000000E_000000000000001

						(* then - Stmts *)

(** 					FAU_WVCTEMP:=100.0; **)
						(* assign - Stmt *)
						LD 100.0
						ST FAU_WVCTEMP

						JMP ODK_END_IF_00000000000000E

(** 				end_if; **)
					(* if - End *) 
					ODK_SKIP_00000000000000E_000000000000001:
					ODK_END_IF_00000000000000E:

(** 				if PID_timer.q then **)
					(* if - Cond *)
					LD PID_timer.q
					JMPCN ODK_SKIP_00000000000000F_000000000000001

						(* then - Stmts *)

(** 					FAU_SPID(RUN:= FAU_STRUCT_IN.RUN,STOP_D:=1,STOP_I:=0,SET:=FAU_STRUCT_IN.TSET,FB:=FAU_STRUCT_IN.STS,KFB:=1.0,KP:=FAU_SPID_VP,TI:=FAU_SPID_VI,TD:=-1.0,DEAD_BAND:=0.2,YMAX:=100.0,YMIN:=0.0 | FAU_WVCTEMP:=OUT); **)
						(* call - Stmt *)
						CAL FAU_SPID (
							Run := FAU_STRUCT_IN.Run,
							STOP_D := 1,
							STOP_I := 0,
							SET := FAU_STRUCT_IN.TSET,
							FB := FAU_STRUCT_IN.STS,
							KFB := 1.0,
							KP := FAU_SPID_VP,
							TI := FAU_SPID_VI,
							TD := -1.0,
							DEAD_BAND := 0.2,
							YMAX := 100.0,
							YMIN := 0.0
							|
							FAU_WVCTEMP := OUT
						)

						JMP ODK_END_IF_00000000000000F

(** 				end_if; **)
					(* if - End *) 
					ODK_SKIP_00000000000000F_000000000000001:
					ODK_END_IF_00000000000000F:

					JMP ODK_END_IF_00000000000000D

(** 			end_if; **)
				(* if - End *) 
				ODK_SKIP_00000000000000D_000000000000001:
				ODK_END_IF_00000000000000D:

(** 			{*���ȼ�*} **)
(** 			if FAU_STRUCT_IN.SM=1 then **)
				(* if - Cond *)
				LD FAU_STRUCT_IN.SM
				EQ 1
				JMPCN ODK_SKIP_00000000000000G_000000000000001

					(* then - Stmts *)

(** 				if  FAU_STRUCT_IN.TSET-FAU_STRUCT_IN.STS>=3.0 then **)
					(* if - Cond *)
					LD FAU_STRUCT_IN.TSET
					SUB FAU_STRUCT_IN.STS
					GE 3.0
					JMPCN ODK_SKIP_00000000000000H_000000000000001

						(* then - Stmts *)

(** 					FAU_WVCTEMP:=100.0; **)
						(* assign - Stmt *)
						LD 100.0
						ST FAU_WVCTEMP

						JMP ODK_END_IF_00000000000000H

(** 				end_if; **)
					(* if - End *) 
					ODK_SKIP_00000000000000H_000000000000001:
					ODK_END_IF_00000000000000H:

(** 				if PID_timer.q then **)
					(* if - Cond *)
					LD PID_timer.q
					JMPCN ODK_SKIP_00000000000000I_000000000000001

						(* then - Stmts *)

(** 					FAU_WPID(RUN:= FAU_STRUCT_IN.RUN,STOP_D:=1,STOP_I:=0,SET:=FAU_STRUCT_IN.TSET,FB:=FAU_STRUCT_IN.STS,KFB:=1.0,KP:=FAU_WPID_VP,TI:=FAU_WPID_VI,TD:=1.0,DEAD_BAND:=0.2,YMAX:=100.0,YMIN:=0.0 | FAU_WVCTEMP:=OUT); **)
						(* call - Stmt *)
						CAL FAU_WPID (
							Run := FAU_STRUCT_IN.Run,
							STOP_D := 1,
							STOP_I := 0,
							SET := FAU_STRUCT_IN.TSET,
							FB := FAU_STRUCT_IN.STS,
							KFB := 1.0,
							KP := FAU_WPID_VP,
							TI := FAU_WPID_VI,
							TD := 1.0,
							DEAD_BAND := 0.2,
							YMAX := 100.0,
							YMIN := 0.0
							|
							FAU_WVCTEMP := OUT
						)

						JMP ODK_END_IF_00000000000000I

(** 				end_if; **)
					(* if - End *) 
					ODK_SKIP_00000000000000I_000000000000001:
					ODK_END_IF_00000000000000I:

					JMP ODK_END_IF_00000000000000G

(** 			end_if; **)
				(* if - End *) 
				ODK_SKIP_00000000000000G_000000000000001:
				ODK_END_IF_00000000000000G:

(** 			{*���ɼ�*} **)
(** 			if FAU_STRUCT_IN.SM=2 then 	 **)
				(* if - Cond *)
				LD FAU_STRUCT_IN.SM
				EQ 2
				JMPCN ODK_SKIP_00000000000000J_000000000000001

					(* then - Stmts *)

(** 				FAU_WVCTEMP:=0.0; **)
					(* assign - Stmt *)
					LD 0.0
					ST FAU_WVCTEMP

					JMP ODK_END_IF_00000000000000J

(** 			end_if; **)
				(* if - End *) 
				ODK_SKIP_00000000000000J_000000000000001:
				ODK_END_IF_00000000000000J:

				JMP ODK_END_IF_00000000000000B

(** 		else **)
			(* else *) 
			ODK_SKIP_00000000000000B_000000000000001:

				(* else - Stmts *)

(** 			FAU_WVCTEMP:=0.0;		 **)
				(* assign - Stmt *)
				LD 0.0
				ST FAU_WVCTEMP

(** 		end_if; **)
			(* if - End *) 
			ODK_END_IF_00000000000000B:

			JMP ODK_END_IF_00000000000000A

(** 	else **)
		(* else *) 
		ODK_SKIP_00000000000000A_000000000000001:

			(* else - Stmts *)

(** 		FAU_WVCTEMP:=FAU_STRUCT_IN.WVMV; **)
			(* assign - Stmt *)
			LD FAU_STRUCT_IN.WVMV
			ST FAU_WVCTEMP

(** 	end_if; **)
		(* if - End *) 
		ODK_END_IF_00000000000000A:

		JMP ODK_END_IF_000000000000001

(** 	 **)
(** end_if;{*���������������������*} **)
	(* if - End *) 
	ODK_SKIP_000000000000001_000000000000001:
	ODK_END_IF_000000000000001:

(**  **)
(**  **)
(** {*ˮ����ֵ����ת��*} **)
(** FAU_STRUCT_OUT.WVCS:=REAL_TO_INT(FAU_WVCTEMP*100.0); **)
	(* assign - Stmt *)
	LD FAU_WVCTEMP
	MUL 100.0
	REAL_TO_INT 
	ST FAU_STRUCT_OUT.WVCS

(**  **)
(**  **)
(** {***************************************�緧���ŵ�λ���ӳ�ֹͣ���Ƶ��������********************************************* **)
(**  **)
(** 	FDOTon( IN:=FDOM , PT:=FAU_STRUCT_IN.VDELAY); **)
(** 	FDSTon( IN:=FDSM , PT:=FAU_STRUCT_IN.VDELAY); **)
(**  **)
(** 	if FDOM=1 and FDOTon.q=0 then  **)
(** 		FAU_STRUCT_OUT.FDO:=1; **)
(** 		else FAU_STRUCT_OUT.FDO:=0; **)
(** 	end_if;	 **)
(** 	if FDSM=1 and FDSTon.q=0 then  **)
(** 		FAU_STRUCT_OUT.FDS:=1; **)
(** 		else FAU_STRUCT_OUT.FDS:=0; **)
(** 	end_if;	 **)
(** 	 **)
(** *} **)
(** {*��Ƶ������������ͣ������*} **)
(** {*  **)
(** ��Ƶ��������ֹͣ��ɺ����������ر�����,�����Ƶ��һ���Դ�����������ֹͣ����ʱ�����˹��� **)
(**  **)
(** RunTon5	( IN:=RunTon5M , PT:=DevDelay5_time   ); **)
(** RunTon5M:= not RunTon5.q; **)
(**  **)
(** if 	RunTon3.Q =1 then  **)
(** 	if RunTon5.Q then **)
(** 		FAU_VFCSM:=FAU_VFCSM+1; **)
(** 	end_if; **)
(** 	if FAU_VFCSM>FAU_STRUCT_IN.VFMV then **)
(** 		FAU_VFCSM:=FAU_STRUCT_IN.VFMV; **)
(** 	end_if; **)
(** end_if; **)
(** if 	FAU_CM =0 then  **)
(** 	if RunTon5.Q then **)
(** 		FAU_VFCSM:=FAU_VFCSM-1; **)
(** 	end_if; **)
(** 	if FAU_VFCSM<1 then **)
(** 		FAU_VFCSM:=0; **)
(** 		FAU_STRUCT_OUT.Control :=0; **)
(** 		FDOM:=0; **)
(**     	FDSM:=1; **)
(** 	end_if; **)
(** end_if; **)
(**  **)
(**  **)
(** if RunTon3.q=1 then **)
(** 	if FAU_VFCSM=FAU_STRUCT_IN.VFMV then **)
(** 		FAU_STRUCT_OUT.Control:=1; **)
(** 	end_if; **)
(** 	if FAU_VFCSM=0 then **)
(** 		FAU_STRUCT_OUT.Control:=0; **)
(** 	end_if; **)
(** end_if; **)
(** 		 **)
(** FAU_STRUCT_OUT.VFCS	:=FAU_VFCSM; **)
(** *}		 **)
(** {******************************************************������������******************************************************} **)
(**  **)
(** if FAU_STRUCT_IN.ISO3=0 and FAU_STRUCT_IN.SM=1 then **)
	(* if - Cond *)
	LD FAU_STRUCT_IN.ISO3
	EQ 0
	AND ( FAU_STRUCT_IN.SM
		EQ 1
	)
	JMPCN ODK_SKIP_00000000000000K_000000000000001

		(* then - Stmts *)

(** 	AFSTON ( IN:=FAU_STRUCT_IN.AFS , PT:=AFSDelay_time | AFSON:=q ); **)
		(* call - Stmt *)
		CAL AFSTON (
			IN := FAU_STRUCT_IN.AFS,
			PT := AFSDelay_time
			|
			AFSON := q
		)

(** 	AFSTOF ( IN:=FAU_STRUCT_IN.AFS , PT:=AFSDelay_time | AFSOF:=q ); **)
		(* call - Stmt *)
		CAL AFSTOF (
			IN := FAU_STRUCT_IN.AFS,
			PT := AFSDelay_time
			|
			AFSOF := q
		)

(** 	if AFSON=1 and AFSOF=1 then **)
		(* if - Cond *)
		LD AFSON
		EQ 1
		AND ( AFSOF
			EQ 1
		)
		JMPCN ODK_SKIP_00000000000000L_000000000000001

			(* then - Stmts *)

(** 		AFSM:=1 ; **)
			(* assign - Stmt *)
			LD 1
			ST AFSM

			JMP ODK_END_IF_00000000000000L

(** 	end_if; **)
		(* if - End *) 
		ODK_SKIP_00000000000000L_000000000000001:
		ODK_END_IF_00000000000000L:

(** 	if AFSOF=0 and AFSON=0 then **)
		(* if - Cond *)
		LD AFSOF
		EQ 0
		AND ( AFSON
			EQ 0
		)
		JMPCN ODK_SKIP_00000000000000M_000000000000001

			(* then - Stmts *)

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

			JMP ODK_END_IF_00000000000000M

(** 	end_if; **)
		(* if - End *) 
		ODK_SKIP_00000000000000M_000000000000001:
		ODK_END_IF_00000000000000M:

(** 	if AFSM=1 then **)
		(* if - Cond *)
		LD AFSM
		EQ 1
		JMPCN ODK_SKIP_00000000000000N_000000000000001

			(* then - Stmts *)

(** 		FAU_STRUCT_OUT.Control:=0; **)
			(* assign - Stmt *)
			LD 0
			ST FAU_STRUCT_OUT.Control

(** 		FAU_WVCTEMP:=100.0; **)
			(* assign - Stmt *)
			LD 100.0
			ST FAU_WVCTEMP

(** 		FDSM:=1; **)
			(* assign - Stmt *)
			LD 1
			ST FDSM

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

(** 		Status3:=1; **)
			(* assign - Stmt *)
			LD 1
			ST Status3

			JMP ODK_END_IF_00000000000000N

(** 		else **)
		(* else *) 
		ODK_SKIP_00000000000000N_000000000000001:

			(* else - Stmts *)

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

(** 	end_if; 	 **)
		(* if - End *) 
		ODK_END_IF_00000000000000N:

		JMP ODK_END_IF_00000000000000K

(** end_if; **)
	(* if - End *) 
	ODK_SKIP_00000000000000K_000000000000001:
	ODK_END_IF_00000000000000K:

(** {*�Ƕ���������г���������*} **)
(** if FAU_STRUCT_IN.ISO3=1 or FAU_STRUCT_IN.SM<>1 then  **)
	(* if - Cond *)
	LD FAU_STRUCT_IN.ISO3
	EQ 1
	OR ( FAU_STRUCT_IN.SM
		NE 1
	)
	JMPCN ODK_SKIP_00000000000000O_000000000000001

		(* then - Stmts *)

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

		JMP ODK_END_IF_00000000000000O

(** end_if; **)
	(* if - End *) 
	ODK_SKIP_00000000000000O_000000000000001:
	ODK_END_IF_00000000000000O:

(**  **)
(**  **)
(** {******************************************************���й��ϻؼ�******************************************************} **)
(** RunTon1( IN:=FAU_STRUCT_IN.Control , PT:=DevCheck1_time); **)
	(* call - Stmt *)
	CAL RunTon1 (
		IN := FAU_STRUCT_IN.Control,
		PT := DevCheck1_time
	)

(** RunTof1( IN:=FAU_STRUCT_IN.Control , PT:=DevCheck1_time); **)
	(* call - Stmt *)
	CAL RunTof1 (
		IN := FAU_STRUCT_IN.Control,
		PT := DevCheck1_time
	)

(** RunTon2( IN:=FAU_STRUCT_IN.Control , PT:=DevCheck2_time); **)
	(* call - Stmt *)
	CAL RunTon2 (
		IN := FAU_STRUCT_IN.Control,
		PT := DevCheck2_time
	)

(** RunTof2( IN:=FAU_STRUCT_IN.Control , PT:=DevCheck2_time); **)
	(* call - Stmt *)
	CAL RunTof2 (
		IN := FAU_STRUCT_IN.Control,
		PT := DevCheck2_time
	)

(**  **)
(** {*�豸�������������ָ�����豸���з�����һ�¹��ϼ�⣬�����ϲ���ԭ�����û�硢��·���Ͽ����м�̵�����Ӵ������ϵ�ΪStatus0*}; **)
(**  **)
(** if FAU_STRUCT_IN.ISO1=0 then **)
	(* if - Cond *)
	LD FAU_STRUCT_IN.ISO1
	EQ 0
	JMPCN ODK_SKIP_00000000000000P_000000000000001

		(* then - Stmts *)

(** 	if RunTon1.q or not RunTof1.q then		 **)
		(* if - Cond *)
		LD RunTon1.q
		OR ( RunTof1.q
			NOT
		)
		JMPCN ODK_SKIP_00000000000000Q_000000000000001

			(* then - Stmts *)

(** 		if FAU_STRUCT_OUT.Control<>FAU_STRUCT_IN.Run then **)
			(* if - Cond *)
			LD FAU_STRUCT_OUT.Control
			NE FAU_STRUCT_IN.Run
			JMPCN ODK_SKIP_00000000000000R_000000000000001

				(* then - Stmts *)

(** 			Status0:=1; **)
				(* assign - Stmt *)
				LD 1
				ST Status0

				JMP ODK_END_IF_00000000000000R

(** 			else **)
			(* else *) 
			ODK_SKIP_00000000000000R_000000000000001:

				(* else - Stmts *)

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

(** 		end_if; **)
			(* if - End *) 
			ODK_END_IF_00000000000000R:

(** 		if FAU_STRUCT_IN.Fault=1 then **)
			(* if - Cond *)
			LD FAU_STRUCT_IN.Fault
			EQ 1
			JMPCN ODK_SKIP_00000000000000S_000000000000001

				(* then - Stmts *)

(** 			Status1:=1; **)
				(* assign - Stmt *)
				LD 1
				ST Status1

				JMP ODK_END_IF_00000000000000S

(** 			else **)
			(* else *) 
			ODK_SKIP_00000000000000S_000000000000001:

				(* else - Stmts *)

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

(** 		end_if; **)
			(* if - End *) 
			ODK_END_IF_00000000000000S:

			JMP ODK_END_IF_00000000000000Q

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

		JMP ODK_END_IF_00000000000000P

(** 	else **)
	(* else *) 
	ODK_SKIP_00000000000000P_000000000000001:

		(* else - Stmts *)

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

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

(** end_if; **)
	(* if - End *) 
	ODK_END_IF_00000000000000P:

(**  **)
(** {*�豸�������������ָ�����豸���з�����һ�¹��ϼ�⣬�����ϲ������ѹ���޻ؼ��ź�*}; **)
(** if FAU_STRUCT_IN.ISO2=0 then **)
	(* if - Cond *)
	LD FAU_STRUCT_IN.ISO2
	EQ 0
	JMPCN ODK_SKIP_00000000000000T_000000000000001

		(* then - Stmts *)

(** 	if RunTon2.q or not RunTof2.q then		 **)
		(* if - Cond *)
		LD RunTon2.q
		OR ( RunTof2.q
			NOT
		)
		JMPCN ODK_SKIP_00000000000000U_000000000000001

			(* then - Stmts *)

(** 		if FAU_STRUCT_OUT.Control<>FAU_STRUCT_IN.FPS then **)
			(* if - Cond *)
			LD FAU_STRUCT_OUT.Control
			NE FAU_STRUCT_IN.FPS
			JMPCN ODK_SKIP_00000000000000V_000000000000001

				(* then - Stmts *)

(** 			Status2:=1; **)
				(* assign - Stmt *)
				LD 1
				ST Status2

				JMP ODK_END_IF_00000000000000V

(** 			else **)
			(* else *) 
			ODK_SKIP_00000000000000V_000000000000001:

				(* else - Stmts *)

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

(** 		end_if; **)
			(* if - End *) 
			ODK_END_IF_00000000000000V:

			JMP ODK_END_IF_00000000000000U

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

		JMP ODK_END_IF_00000000000000T

(** 	else **)
	(* else *) 
	ODK_SKIP_00000000000000T_000000000000001:

		(* else - Stmts *)

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

(** end_if; **)
	(* if - End *) 
	ODK_END_IF_00000000000000T:

(**  **)
(**  **)
(** {*������ϴ���*} **)
(** if FAU_STRUCT_OUT.Control<>0 then **)
	(* if - Cond *)
	LD FAU_STRUCT_OUT.Control
	NE 0
	JMPCN ODK_SKIP_00000000000000W_000000000000001

		(* then - Stmts *)

(** 	FAU_STRUCT_OUT.SN := Status0 * 1 + Status1* 2 + Status2* 4 + Status3*8; **)
		(* assign - Stmt *)
		LD Status0
		MUL 1
		ADD ( Status1
			MUL 2
		)
		ADD ( Status2
			MUL 4
		)
		ADD ( Status3
			MUL 8
		)
		ST FAU_STRUCT_OUT.SN

		JMP ODK_END_IF_00000000000000W

(** 	else **)
	(* else *) 
	ODK_SKIP_00000000000000W_000000000000001:

		(* else - Stmts *)

(** 	FAU_STRUCT_OUT.SN := 0 ; **)
		(* assign - Stmt *)
		LD 0
		ST FAU_STRUCT_OUT.SN

(** end_if; **)
	(* if - End *) 
	ODK_END_IF_00000000000000W:

(**  **)
(** {******************************************************����ʱ���ۼ�******************************************************} **)
(** FAU_RunTime(RUN :=FAU_STRUCT_IN.Run , RUNTIMESET :=FAU_STRUCT_IN.RSTV , RUNTIMERST :=FAU_STRUCT_IN.RST  |  FAU_STRUCT_OUT.RH:= RUNTIME); **)
	(* call - Stmt *)
	CAL FAU_RunTime (
		Run := FAU_STRUCT_IN.Run,
		RUNTIMESET := FAU_STRUCT_IN.RSTV,
		RUNTIMERST := FAU_STRUCT_IN.RST
		|
		FAU_STRUCT_OUT.RH := RUNTIME
	)

(**  **)
(**  **)
(**  **)
(**  **)
(**  **)
(**  **)
(**  **)
(**  **)
(**  **)

END_FUNCTION_BLOCK