You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

342 lines
7.6 KiB

4 months ago
FUNCTION_BLOCK IJ_FCU
VAR_EXTERNAL
END_VAR
VAR_INPUT
FCU_STRUCT_IN :FCU_IN;
END_VAR
VAR_OUTPUT
FCU_STRUCT_OUT :FCU_OUT;
END_VAR
VAR
FCU_RunTime :BS_Runtime;
RunTon1 :TON;
RunTof1 :TOF;
DevCheck1_time :TIME :=t#15s; (*设备运行状态反馈*)
DevCheck2_time :TIME :=t#15s; (*设备运行状态反馈*)
Status0 :INT;
Status1 :INT;
Status2 :INT;
Status3 :INT;
FCU_EVC :BS_EVC;
END_VAR
(*Automatically declared*)
VAR_EXTERNAL
END_VAR
(** {* **)
(** **)
(** ʱ �䣺20191003 **)
(** �� ����1.0 **)
(** �� �ߣ�Ҧ�� **)
(** �� �ƣ����ö��Ʒ����̹ܳ������ܿ� **)
(** ˵ ���� **)
(** **)
(** �������� **)
(** FCU_IN:STRUCT **)
(** SM :INT ; ����ģʽ 0�ļ� 1���� 2���� **)
(** Run :BOOL; ����״̬ **)
(** Auto :BOOL; �Զ�״̬ **)
(** Control :BOOL; �������� **)
(** TSET :REAL; �¶��趨 **)
(** EVC :BOOL; ���ŷ����� **)
(** EVA :BOOL; ���ŷ��Զ�״̬ **)
(** EVR :BOOL; ���ŷ�����״̬ **)
(** EVMC :BOOL; ���ŷ��ֶ����� **)
(** EVMV :BOOL; ���ŷ��ֶ�����ֵ **)
(** TS :REAL; �ط��¶� **)
(** ISO1 :BOOL; ���й��Ϸ������� **)
(** RST :BOOL; ����ʱ���ۼ����� **)
(** RSTV :REAL; ����ʱ���ۼ�����ֵ **)
(** END_STRUCT; **)
(** �������� **)
(** FCU_OUT:STRUCT **)
(** EVC :BOOL ;ˮ������ת��ֵ���Ŵ�100�� **)
(** Control :BOOL; ��ͣ���� **)
(** RH :REAL; ����Сʱ **)
(** SN :INT ; �豸״̬���� **)
(** END_STRUCT; **)
(** **)
(** �������¼��㹦�� **)
(** 1.���й��ϻؼ�,�������ϴ��룬֧�ֹ��ϱ������� **)
(** 2.ˮ�����ؿ���/�ֶ����� **)
(** 3.����ʱ���ۼ� **)
(** **)
(** �� ע�� **)
(** �����飺 **)
(** BS_Runtime; **)
(** BS_EVC; **)
(** *} **)
(** **)
(** {******************************************************���й��ϻؼ�******************************************************} **)
(** RunTon1( IN:=FCU_STRUCT_IN.Control , PT:=DevCheck1_time); **)
(* call - Stmt *)
CAL RunTon1 (
IN := FCU_STRUCT_IN.Control,
PT := DevCheck1_time
)
(** **)
(** {*�豸��������������ָ�����豸���з�����һ�¹��ϼ��⣬�������ϲ���ԭ������û�硢��·���Ͽ����м��̵������Ӵ������ϵ�ΪStatus0*}; **)
(** FCU_STRUCT_OUT.Control:=FCU_STRUCT_IN.Control; **)
(* assign - Stmt *)
LD FCU_STRUCT_IN.Control
ST FCU_STRUCT_OUT.Control
(** if FCU_STRUCT_IN.ISO1=0 then **)
(* if - Cond *)
LD FCU_STRUCT_IN.ISO1
EQ 0
JMPCN ODK_SKIP_000000000000001_000000000000001
(* then - Stmts *)
(** if RunTon1.q or not RunTof1.q then **)
(* if - Cond *)
LD RunTon1.q
OR ( RunTof1.q
NOT
)
JMPCN ODK_SKIP_000000000000002_000000000000001
(* then - Stmts *)
(** if FCU_STRUCT_OUT.Control<>FCU_STRUCT_IN.Run then **)
(* if - Cond *)
LD FCU_STRUCT_OUT.Control
NE FCU_STRUCT_IN.Run
JMPCN ODK_SKIP_000000000000003_000000000000001
(* then - Stmts *)
(** Status0:=1; **)
(* assign - Stmt *)
LD 1
ST Status0
JMP ODK_END_IF_000000000000003
(** else **)
(* else *)
ODK_SKIP_000000000000003_000000000000001:
(* else - Stmts *)
(** Status0:=0; **)
(* assign - Stmt *)
LD 0
ST Status0
(** 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:
JMP ODK_END_IF_000000000000001
(** else **)
(* else *)
ODK_SKIP_000000000000001_000000000000001:
(* else - Stmts *)
(** Status0:=0; **)
(* assign - Stmt *)
LD 0
ST Status0
(** end_if; **)
(* if - End *)
ODK_END_IF_000000000000001:
(** **)
(** {*�������ϴ���*} **)
(** if FCU_STRUCT_OUT.Control<>0 then **)
(* if - Cond *)
LD FCU_STRUCT_OUT.Control
NE 0
JMPCN ODK_SKIP_000000000000004_000000000000001
(* then - Stmts *)
(** FCU_STRUCT_OUT.SN := Status0*1 ; **)
(* assign - Stmt *)
LD Status0
MUL 1
ST FCU_STRUCT_OUT.SN
JMP ODK_END_IF_000000000000004
(** else **)
(* else *)
ODK_SKIP_000000000000004_000000000000001:
(* else - Stmts *)
(** FCU_STRUCT_OUT.SN := 0 ; **)
(* assign - Stmt *)
LD 0
ST FCU_STRUCT_OUT.SN
(** end_if; **)
(* if - End *)
ODK_END_IF_000000000000004:
(** **)
(** {******************************************************ˮ������******************************************************} **)
(** if FCU_STRUCT_IN.EVMC=0 then **)
(* if - Cond *)
LD FCU_STRUCT_IN.EVMC
EQ 0
JMPCN ODK_SKIP_000000000000005_000000000000001
(* then - Stmts *)
(** if FCU_STRUCT_IN.Run=1 then **)
(* if - Cond *)
LD FCU_STRUCT_IN.Run
EQ 1
JMPCN ODK_SKIP_000000000000006_000000000000001
(* then - Stmts *)
(** {*���伾*} **)
(** if FCU_STRUCT_IN.SM=0 then **)
(* if - Cond *)
LD FCU_STRUCT_IN.SM
EQ 0
JMPCN ODK_SKIP_000000000000007_000000000000001
(* then - Stmts *)
(** FCU_EVC(RUN :=FCU_STRUCT_IN.RUN , SET :=FCU_STRUCT_IN.TSET , FB :=FCU_STRUCT_IN.TS , DEAD_BAND :=0.5 , DELAY :=t#60s , SW :=FCU_STRUCT_IN.SM | FCU_STRUCT_OUT.EVC:= EVC); **)
(* call - Stmt *)
CAL FCU_EVC (
Run := FCU_STRUCT_IN.Run,
SET := FCU_STRUCT_IN.TSET,
FB := FCU_STRUCT_IN.TS,
DEAD_BAND := 0.5,
DELAY := t#60s,
SW := FCU_STRUCT_IN.SM
|
FCU_STRUCT_OUT.EVC := EVC
)
JMP ODK_END_IF_000000000000007
(** end_if; **)
(* if - End *)
ODK_SKIP_000000000000007_000000000000001:
ODK_END_IF_000000000000007:
(** {*���ȼ�*} **)
(** if FCU_STRUCT_IN.SM=1 then **)
(* if - Cond *)
LD FCU_STRUCT_IN.SM
EQ 1
JMPCN ODK_SKIP_000000000000008_000000000000001
(* then - Stmts *)
(** FCU_EVC(RUN :=FCU_STRUCT_IN.RUN , SET :=FCU_STRUCT_IN.TSET , FB :=FCU_STRUCT_IN.TS , DEAD_BAND :=0.5 , DELAY :=t#60s , SW :=FCU_STRUCT_IN.SM | FCU_STRUCT_OUT.EVC:= EVC); **)
(* call - Stmt *)
CAL FCU_EVC (
Run := FCU_STRUCT_IN.Run,
SET := FCU_STRUCT_IN.TSET,
FB := FCU_STRUCT_IN.TS,
DEAD_BAND := 0.5,
DELAY := t#60s,
SW := FCU_STRUCT_IN.SM
|
FCU_STRUCT_OUT.EVC := EVC
)
JMP ODK_END_IF_000000000000008
(** end_if; **)
(* if - End *)
ODK_SKIP_000000000000008_000000000000001:
ODK_END_IF_000000000000008:
(** {*���ɼ�*} **)
(** if FCU_STRUCT_IN.SM=2 then **)
(* if - Cond *)
LD FCU_STRUCT_IN.SM
EQ 2
JMPCN ODK_SKIP_000000000000009_000000000000001
(* then - Stmts *)
(** FCU_STRUCT_OUT.EVC:=0; **)
(* assign - Stmt *)
LD 0
ST FCU_STRUCT_OUT.EVC
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 *)
(** FCU_STRUCT_OUT.EVC:=0 ; **)
(* assign - Stmt *)
LD 0
ST FCU_STRUCT_OUT.EVC
(** end_if; **)
(* if - End *)
ODK_END_IF_000000000000006:
JMP ODK_END_IF_000000000000005
(** else **)
(* else *)
ODK_SKIP_000000000000005_000000000000001:
(* else - Stmts *)
(** FCU_STRUCT_OUT.EVC:=FCU_STRUCT_IN.EVMV; **)
(* assign - Stmt *)
LD FCU_STRUCT_IN.EVMV
ST FCU_STRUCT_OUT.EVC
(** end_if; **)
(* if - End *)
ODK_END_IF_000000000000005:
(** **)
(** {******************************************************����ʱ���ۼ�******************************************************} **)
(** FCU_RunTime(RUN :=FCU_STRUCT_IN.Run , RUNTIMESET :=FCU_STRUCT_IN.RSTV , RUNTIMERST :=FCU_STRUCT_IN.RST ,RunTimeRec_In :=FCU_STRUCT_OUT.RH | FCU_STRUCT_OUT.RH:= RUNTIME); **)
(* call - Stmt *)
CAL FCU_RunTime (
Run := FCU_STRUCT_IN.Run,
RUNTIMESET := FCU_STRUCT_IN.RSTV,
RUNTIMERST := FCU_STRUCT_IN.RST,
RunTimeRec_In := FCU_STRUCT_OUT.RH
|
FCU_STRUCT_OUT.RH := RUNTIME
)
(** **)
(** **)
END_FUNCTION_BLOCK