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.
529 lines
10 KiB
529 lines
10 KiB
FUNCTION_BLOCK IJDAHU
|
|
VAR_EXTERNAL
|
|
|
|
END_VAR
|
|
|
|
VAR_INPUT
|
|
DAHU_STRUCT_IN :DAHU_IN;
|
|
END_VAR
|
|
|
|
VAR_OUTPUT
|
|
DAHU_STRUCT_OUT :DAHU_OUT;
|
|
END_VAR
|
|
|
|
VAR
|
|
|
|
DAHU_SPID :PID;
|
|
DAHU_WPID :PID;
|
|
DAHU_WVCTEMP :REAL;
|
|
DAHU_SPID_VP :REAL;
|
|
DAHU_SPID_VI :REAL;
|
|
DAHU_WPID_VP :REAL;
|
|
DAHU_WPID_VI :REAL;
|
|
PID_in :BOOL;
|
|
PID_timer :TON;
|
|
DAHU_R :BOOL;
|
|
|
|
FPSSIM_timer :TON;
|
|
|
|
END_VAR
|
|
|
|
(*Automatically declared*)
|
|
VAR_EXTERNAL
|
|
END_VAR
|
|
(** {******************************检测风机运行类别 0压差或电流值 1仅压差 2仅电流*************************************} **)
|
|
(** **)
|
|
(** if DAHU_STRUCT_IN.RunMode=0 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.RunMode
|
|
EQ 0
|
|
JMPCN ODK_SKIP_000000000000001_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** if DAHU_STRUCT_IN.FPS=1 or DAHU_STRUCT_IN.CTV>50 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.FPS
|
|
EQ 1
|
|
OR ( DAHU_STRUCT_IN.CTV
|
|
GT 50
|
|
)
|
|
JMPCN ODK_SKIP_000000000000002_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** DAHU_R:= 1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST DAHU_R
|
|
|
|
JMP ODK_END_IF_000000000000002
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_000000000000002_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** DAHU_R:= 0; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST DAHU_R
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_000000000000002:
|
|
|
|
JMP ODK_END_IF_000000000000001
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_000000000000001_000000000000001:
|
|
ODK_END_IF_000000000000001:
|
|
|
|
(** if DAHU_STRUCT_IN.RunMode=1 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.RunMode
|
|
EQ 1
|
|
JMPCN ODK_SKIP_000000000000003_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** if DAHU_STRUCT_IN.FPS=1 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.FPS
|
|
EQ 1
|
|
JMPCN ODK_SKIP_000000000000004_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** DAHU_R:= 1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST DAHU_R
|
|
|
|
JMP ODK_END_IF_000000000000004
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_000000000000004_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** DAHU_R:= 0; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST DAHU_R
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_000000000000004:
|
|
|
|
JMP ODK_END_IF_000000000000003
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_000000000000003_000000000000001:
|
|
ODK_END_IF_000000000000003:
|
|
|
|
(** if DAHU_STRUCT_IN.RunMode=2 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.RunMode
|
|
EQ 2
|
|
JMPCN ODK_SKIP_000000000000005_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** if DAHU_STRUCT_IN.CTV>50 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.CTV
|
|
GT 50
|
|
JMPCN ODK_SKIP_000000000000006_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** DAHU_R:= 1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST DAHU_R
|
|
|
|
JMP ODK_END_IF_000000000000006
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_000000000000006_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** DAHU_R:= 0; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST DAHU_R
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_000000000000006:
|
|
|
|
JMP ODK_END_IF_000000000000005
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_000000000000005_000000000000001:
|
|
ODK_END_IF_000000000000005:
|
|
|
|
(** {******************************************************压差信号模拟**************************************************} **)
|
|
(** {********************************************原则上不使用,谨慎使用**************************************************} **)
|
|
(** **)
|
|
(** FPSSIM_timer( IN:=DAHU_R , PT:=t#2s ); **)
|
|
(* call - Stmt *)
|
|
CAL FPSSIM_timer (
|
|
IN := DAHU_R,
|
|
PT := t#2s
|
|
)
|
|
|
|
(** if DAHU_R=1 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_R
|
|
EQ 1
|
|
JMPCN ODK_SKIP_000000000000007_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** DAHU_STRUCT_OUT.FPSSIM:=FPSSIM_timer.q; **)
|
|
(* assign - Stmt *)
|
|
LD FPSSIM_timer.q
|
|
ST DAHU_STRUCT_OUT.FPSSIM
|
|
|
|
JMP ODK_END_IF_000000000000007
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_000000000000007_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** DAHU_STRUCT_OUT.FPSSIM:=0; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST DAHU_STRUCT_OUT.FPSSIM
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_000000000000007:
|
|
|
|
(** **)
|
|
(** {******************************************************水阀控制******************************************************} **)
|
|
(** **)
|
|
(** 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 DAHU_STRUCT_IN.WVMC=0 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.WVMC
|
|
EQ 0
|
|
JMPCN ODK_SKIP_000000000000008_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** if DAHU_R=1 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_R
|
|
EQ 1
|
|
JMPCN ODK_SKIP_000000000000009_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** {*制冷季*} **)
|
|
(** if DAHU_STRUCT_IN.SM=0 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.SM
|
|
EQ 0
|
|
JMPCN ODK_SKIP_00000000000000A_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** if DAHU_STRUCT_IN.RTS-DAHU_STRUCT_IN.TSET>=2.0 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.RTS
|
|
SUB DAHU_STRUCT_IN.TSET
|
|
GE 2.0
|
|
JMPCN ODK_SKIP_00000000000000B_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** DAHU_WVCTEMP:=100.0; **)
|
|
(* assign - Stmt *)
|
|
LD 100.0
|
|
ST DAHU_WVCTEMP
|
|
|
|
JMP ODK_END_IF_00000000000000B
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000B_000000000000001:
|
|
ODK_END_IF_00000000000000B:
|
|
|
|
(** if DAHU_STRUCT_IN.RTS-DAHU_STRUCT_IN.TSET>0.2 and DAHU_STRUCT_IN.RTS-DAHU_STRUCT_IN.TSET<2.0 then {*死区*} **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.RTS
|
|
SUB DAHU_STRUCT_IN.TSET
|
|
GT 0.2
|
|
AND ( DAHU_STRUCT_IN.RTS
|
|
SUB DAHU_STRUCT_IN.TSET
|
|
LT 2.0
|
|
)
|
|
JMPCN ODK_SKIP_00000000000000C_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** if PID_timer.q then **)
|
|
(* if - Cond *)
|
|
LD PID_timer.q
|
|
JMPCN ODK_SKIP_00000000000000D_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** DAHU_WVCTEMP:=(DAHU_STRUCT_IN.RTS-DAHU_STRUCT_IN.TSET)*49.0; **)
|
|
(* assign - Stmt *)
|
|
LD DAHU_STRUCT_IN.RTS
|
|
SUB DAHU_STRUCT_IN.TSET
|
|
MUL 49.0
|
|
ST DAHU_WVCTEMP
|
|
|
|
JMP ODK_END_IF_00000000000000D
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000D_000000000000001:
|
|
ODK_END_IF_00000000000000D:
|
|
|
|
JMP ODK_END_IF_00000000000000C
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000C_000000000000001:
|
|
ODK_END_IF_00000000000000C:
|
|
|
|
(** if DAHU_STRUCT_IN.RTS-DAHU_STRUCT_IN.TSET<=0.0 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.RTS
|
|
SUB DAHU_STRUCT_IN.TSET
|
|
LE 0.0
|
|
JMPCN ODK_SKIP_00000000000000E_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** DAHU_WVCTEMP:=0.0; **)
|
|
(* assign - Stmt *)
|
|
LD 0.0
|
|
ST DAHU_WVCTEMP
|
|
|
|
JMP ODK_END_IF_00000000000000E
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000E_000000000000001:
|
|
ODK_END_IF_00000000000000E:
|
|
|
|
JMP ODK_END_IF_00000000000000A
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000A_000000000000001:
|
|
ODK_END_IF_00000000000000A:
|
|
|
|
(** {*制热季*} **)
|
|
(** if DAHU_STRUCT_IN.SM=1 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.SM
|
|
EQ 1
|
|
JMPCN ODK_SKIP_00000000000000F_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** if DAHU_STRUCT_IN.TSET-DAHU_STRUCT_IN.RTS>=2.0 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.TSET
|
|
SUB DAHU_STRUCT_IN.RTS
|
|
GE 2.0
|
|
JMPCN ODK_SKIP_00000000000000G_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** DAHU_WVCTEMP:=100.0; **)
|
|
(* assign - Stmt *)
|
|
LD 100.0
|
|
ST DAHU_WVCTEMP
|
|
|
|
JMP ODK_END_IF_00000000000000G
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000G_000000000000001:
|
|
ODK_END_IF_00000000000000G:
|
|
|
|
(** if DAHU_STRUCT_IN.TSET-DAHU_STRUCT_IN.RTS>0.2 and DAHU_STRUCT_IN.TSET-DAHU_STRUCT_IN.RTS<2.0 then {*死区*} **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.TSET
|
|
SUB DAHU_STRUCT_IN.RTS
|
|
GT 0.2
|
|
AND ( DAHU_STRUCT_IN.TSET
|
|
SUB DAHU_STRUCT_IN.RTS
|
|
LT 2.0
|
|
)
|
|
JMPCN ODK_SKIP_00000000000000H_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** if PID_timer.q then **)
|
|
(* if - Cond *)
|
|
LD PID_timer.q
|
|
JMPCN ODK_SKIP_00000000000000I_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** DAHU_WVCTEMP:=(DAHU_STRUCT_IN.TSET-DAHU_STRUCT_IN.RTS)*49.0; **)
|
|
(* assign - Stmt *)
|
|
LD DAHU_STRUCT_IN.TSET
|
|
SUB DAHU_STRUCT_IN.RTS
|
|
MUL 49.0
|
|
ST DAHU_WVCTEMP
|
|
|
|
JMP ODK_END_IF_00000000000000I
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000I_000000000000001:
|
|
ODK_END_IF_00000000000000I:
|
|
|
|
JMP ODK_END_IF_00000000000000H
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000H_000000000000001:
|
|
ODK_END_IF_00000000000000H:
|
|
|
|
(** if DAHU_STRUCT_IN.TSET-DAHU_STRUCT_IN.RTS<=0.0 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.TSET
|
|
SUB DAHU_STRUCT_IN.RTS
|
|
LE 0.0
|
|
JMPCN ODK_SKIP_00000000000000J_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** DAHU_WVCTEMP:=0.0; **)
|
|
(* assign - Stmt *)
|
|
LD 0.0
|
|
ST DAHU_WVCTEMP
|
|
|
|
JMP ODK_END_IF_00000000000000J
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000J_000000000000001:
|
|
ODK_END_IF_00000000000000J:
|
|
|
|
JMP ODK_END_IF_00000000000000F
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000F_000000000000001:
|
|
ODK_END_IF_00000000000000F:
|
|
|
|
(** {*过渡季*} **)
|
|
(** if DAHU_STRUCT_IN.SM=2 then **)
|
|
(* if - Cond *)
|
|
LD DAHU_STRUCT_IN.SM
|
|
EQ 2
|
|
JMPCN ODK_SKIP_00000000000000K_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** DAHU_WVCTEMP:=0.0; **)
|
|
(* assign - Stmt *)
|
|
LD 0.0
|
|
ST DAHU_WVCTEMP
|
|
|
|
JMP ODK_END_IF_00000000000000K
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000K_000000000000001:
|
|
ODK_END_IF_00000000000000K:
|
|
|
|
JMP ODK_END_IF_000000000000009
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_000000000000009_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** DAHU_WVCTEMP:=0.0; **)
|
|
(* assign - Stmt *)
|
|
LD 0.0
|
|
ST DAHU_WVCTEMP
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_000000000000009:
|
|
|
|
JMP ODK_END_IF_000000000000008
|
|
|
|
(** elsif DAHU_STRUCT_IN.WVMC=1 then **)
|
|
(* elseif - Cond *)
|
|
ODK_SKIP_000000000000008_000000000000001:
|
|
LD DAHU_STRUCT_IN.WVMC
|
|
EQ 1
|
|
JMPCN ODK_SKIP_000000000000008_000000000000002
|
|
|
|
(* elsif - Stmts *)
|
|
|
|
(** DAHU_WVCTEMP:=DAHU_STRUCT_IN.WVMV; **)
|
|
(* assign - Stmt *)
|
|
LD DAHU_STRUCT_IN.WVMV
|
|
ST DAHU_WVCTEMP
|
|
|
|
JMP ODK_END_IF_000000000000008
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_000000000000008_000000000000002:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** DAHU_WVCTEMP:=100.0; **)
|
|
(* assign - Stmt *)
|
|
LD 100.0
|
|
ST DAHU_WVCTEMP
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_000000000000008:
|
|
|
|
(** **)
|
|
(** {*水阀赋值量程转换*} **)
|
|
(** DAHU_STRUCT_OUT.WVCS:=REAL_TO_INT(DAHU_WVCTEMP*100.0); **)
|
|
(* assign - Stmt *)
|
|
LD DAHU_WVCTEMP
|
|
MUL 100.0
|
|
REAL_TO_INT
|
|
ST DAHU_STRUCT_OUT.WVCS
|
|
|
|
(** **)
|
|
(** **)
|
|
(** **)
|
|
|
|
END_FUNCTION_BLOCK
|