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.
1145 lines
24 KiB
1145 lines
24 KiB
FUNCTION_BLOCK IJ_FAU
|
|
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;
|
|
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;
|
|
|
|
END_VAR
|
|
|
|
(*Automatically declared*)
|
|
VAR_EXTERNAL
|
|
END_VAR
|
|
(** {* **)
|
|
(** **)
|
|
(** 时 间:20200411 **)
|
|
(** 版 本:1.4 **)
|
|
(** 作 者:潘平/姚立 **)
|
|
(** 名 称:吾悦定制吊顶空调机组程序功能块 **)
|
|
(** 说 明: **)
|
|
(** 输入变量 **)
|
|
(** FAU_STRUCT_IN. **)
|
|
(** SM :INT ; 季节模式 0夏季 1冬季 2过渡 **)
|
|
(** LM :LM ; 联动模式 0无联动 1联动 **)
|
|
(** Run :BOOL; 运行状态 **)
|
|
(** Fault :BOOL; 故障状态 **)
|
|
(** Auto :BOOL; 自动状态 **)
|
|
(** Control :BOOL; 程序控制 **)
|
|
(** FDOB :BOOL; 风阀开状态 **)
|
|
(** FDSB :BOOL; 风阀关状态 **)
|
|
(** TSET :REAL; 温度设定 **)
|
|
(** WVMC :BOOL; 水阀手动控制 **)
|
|
(** WVMV :REAL; 水阀手动控制值 **)
|
|
(** VFMV :INT; 变频设定值 **)
|
|
(** STS :REAL; 送风温度 **)
|
|
(** RTS :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) **)
|
|
(** FDO :BOOL; 风阀开控制 **)
|
|
(** FDS :BOOL; 风阀关控制 **)
|
|
(** Control :BOOL; 启停控制 **)
|
|
(** RH :REAL; 运行小时 **)
|
|
(** SN :INT ; 设备状态代码 **)
|
|
(** **)
|
|
(** 包含以下几点功能 **)
|
|
(** 1.运行故障回检,输出故障代码,支持故障报警隔离 **)
|
|
(** 2.水阀PID调节/手动调节 **)
|
|
(** 3.运行时间累计 **)
|
|
(** 4.防冻联动程序 **)
|
|
(** 5.风阀联动程序,监测阀门到位后停止控制点输出 **)
|
|
(** 6.二氧化碳联动程序 **)
|
|
(** 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 or FAU_STRUCT_IN.Run=1 then **)
|
|
(* if - Cond *)
|
|
LD FAU_STRUCT_IN.Control
|
|
EQ 1
|
|
OR ( FAU_STRUCT_IN.Run
|
|
EQ 1
|
|
)
|
|
JMPCN ODK_SKIP_000000000000002_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** FDOM:=1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST FDOM
|
|
|
|
(** FDSM:=0; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST FDSM
|
|
|
|
JMP ODK_END_IF_000000000000002
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_000000000000002_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** FDOM:=0; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST FDOM
|
|
|
|
(** FDSM:=1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST FDSM
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
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.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_000000000000003_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_000000000000003
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_000000000000003_000000000000001:
|
|
ODK_END_IF_000000000000003:
|
|
|
|
(** if FAU_STRUCT_IN.VFMV>50 then **)
|
|
(* if - Cond *)
|
|
LD FAU_STRUCT_IN.VFMV
|
|
GT 50
|
|
JMPCN ODK_SKIP_000000000000004_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** FAU_STRUCT_OUT.VFCS:=50; **)
|
|
(* assign - Stmt *)
|
|
LD 50
|
|
ST FAU_STRUCT_OUT.VFCS
|
|
|
|
JMP ODK_END_IF_000000000000004
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_000000000000004_000000000000001:
|
|
ODK_END_IF_000000000000004:
|
|
|
|
(** if FAU_STRUCT_IN.VFMV<30 then **)
|
|
(* if - Cond *)
|
|
LD FAU_STRUCT_IN.VFMV
|
|
LT 30
|
|
JMPCN ODK_SKIP_000000000000005_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** FAU_STRUCT_OUT.VFCS:=30; **)
|
|
(* assign - Stmt *)
|
|
LD 30
|
|
ST FAU_STRUCT_OUT.VFCS
|
|
|
|
JMP ODK_END_IF_000000000000005
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_000000000000005_000000000000001:
|
|
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_000000000000006_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** if FAU_STRUCT_IN.Run=1 then **)
|
|
(* if - Cond *)
|
|
LD FAU_STRUCT_IN.Run
|
|
EQ 1
|
|
JMPCN ODK_SKIP_000000000000007_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_000000000000008_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_000000000000008
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_000000000000008_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_000000000000008:
|
|
|
|
(** {*制冷季*} **)
|
|
(** if FAU_STRUCT_IN.SM=0 then **)
|
|
(* if - Cond *)
|
|
LD FAU_STRUCT_IN.SM
|
|
EQ 0
|
|
JMPCN ODK_SKIP_000000000000009_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_00000000000000A_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** FAU_WVCTEMP:=100.0; **)
|
|
(* assign - Stmt *)
|
|
LD 100.0
|
|
ST FAU_WVCTEMP
|
|
|
|
JMP ODK_END_IF_00000000000000A
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000A_000000000000001:
|
|
ODK_END_IF_00000000000000A:
|
|
|
|
(** if PID_timer.q then **)
|
|
(* if - Cond *)
|
|
LD PID_timer.q
|
|
JMPCN ODK_SKIP_00000000000000B_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_00000000000000B
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000B_000000000000001:
|
|
ODK_END_IF_00000000000000B:
|
|
|
|
JMP ODK_END_IF_000000000000009
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_000000000000009_000000000000001:
|
|
ODK_END_IF_000000000000009:
|
|
|
|
(** {*制热季*} **)
|
|
(** if FAU_STRUCT_IN.SM=1 then **)
|
|
(* if - Cond *)
|
|
LD FAU_STRUCT_IN.SM
|
|
EQ 1
|
|
JMPCN ODK_SKIP_00000000000000C_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_00000000000000D_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** FAU_WVCTEMP:=100.0; **)
|
|
(* assign - Stmt *)
|
|
LD 100.0
|
|
ST FAU_WVCTEMP
|
|
|
|
JMP ODK_END_IF_00000000000000D
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000D_000000000000001:
|
|
ODK_END_IF_00000000000000D:
|
|
|
|
(** if PID_timer.q then **)
|
|
(* if - Cond *)
|
|
LD PID_timer.q
|
|
JMPCN ODK_SKIP_00000000000000E_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_00000000000000E
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000E_000000000000001:
|
|
ODK_END_IF_00000000000000E:
|
|
|
|
JMP ODK_END_IF_00000000000000C
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000C_000000000000001:
|
|
ODK_END_IF_00000000000000C:
|
|
|
|
(** {*过渡季*} **)
|
|
(** if FAU_STRUCT_IN.SM=2 then **)
|
|
(* if - Cond *)
|
|
LD FAU_STRUCT_IN.SM
|
|
EQ 2
|
|
JMPCN ODK_SKIP_00000000000000F_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** FAU_WVCTEMP:=0.0; **)
|
|
(* assign - Stmt *)
|
|
LD 0.0
|
|
ST FAU_WVCTEMP
|
|
|
|
JMP ODK_END_IF_00000000000000F
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000F_000000000000001:
|
|
ODK_END_IF_00000000000000F:
|
|
|
|
JMP ODK_END_IF_000000000000007
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_000000000000007_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** FAU_WVCTEMP:=0.0; **)
|
|
(* assign - Stmt *)
|
|
LD 0.0
|
|
ST FAU_WVCTEMP
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_000000000000007:
|
|
|
|
JMP ODK_END_IF_000000000000006
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_000000000000006_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_000000000000006:
|
|
|
|
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); **)
|
|
(* call - Stmt *)
|
|
CAL FDOTon (
|
|
IN := FDOM,
|
|
PT := FAU_STRUCT_IN.VDELAY
|
|
)
|
|
|
|
(** FDSTon( IN:=FDSM , PT:=FAU_STRUCT_IN.VDELAY); **)
|
|
(* call - Stmt *)
|
|
CAL FDSTon (
|
|
IN := FDSM,
|
|
PT := FAU_STRUCT_IN.VDELAY
|
|
)
|
|
|
|
(** **)
|
|
(** if FDOM=1 and FDOTon.q=0 then **)
|
|
(* if - Cond *)
|
|
LD FDOM
|
|
EQ 1
|
|
AND ( FDOTon.q
|
|
EQ 0
|
|
)
|
|
JMPCN ODK_SKIP_00000000000000G_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** FAU_STRUCT_OUT.FDO:=1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST FAU_STRUCT_OUT.FDO
|
|
|
|
JMP ODK_END_IF_00000000000000G
|
|
|
|
(** else FAU_STRUCT_OUT.FDO:=0; **)
|
|
(* else *)
|
|
ODK_SKIP_00000000000000G_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST FAU_STRUCT_OUT.FDO
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_00000000000000G:
|
|
|
|
(** if FDSM=1 and FDSTon.q=0 then **)
|
|
(* if - Cond *)
|
|
LD FDSM
|
|
EQ 1
|
|
AND ( FDSTon.q
|
|
EQ 0
|
|
)
|
|
JMPCN ODK_SKIP_00000000000000H_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** FAU_STRUCT_OUT.FDS:=1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST FAU_STRUCT_OUT.FDS
|
|
|
|
JMP ODK_END_IF_00000000000000H
|
|
|
|
(** else FAU_STRUCT_OUT.FDS:=0; **)
|
|
(* else *)
|
|
ODK_SKIP_00000000000000H_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST FAU_STRUCT_OUT.FDS
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_00000000000000H:
|
|
|
|
(** {*变频器软启动,软停机程序*} **)
|
|
(** {* **)
|
|
(** 变频软启动、停止完成后开启主机,关闭主机,但因变频器一般自带软启动、软停止,暂时保留此功能 **)
|
|
(** **)
|
|
(** 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_00000000000000I_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_00000000000000J_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** AFSM:=1 ; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST AFSM
|
|
|
|
JMP ODK_END_IF_00000000000000J
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000J_000000000000001:
|
|
ODK_END_IF_00000000000000J:
|
|
|
|
(** if AFSOF=0 and AFSON=0 then **)
|
|
(* if - Cond *)
|
|
LD AFSOF
|
|
EQ 0
|
|
AND ( AFSON
|
|
EQ 0
|
|
)
|
|
JMPCN ODK_SKIP_00000000000000K_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** AFSM:=0 ; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST AFSM
|
|
|
|
JMP ODK_END_IF_00000000000000K
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000K_000000000000001:
|
|
ODK_END_IF_00000000000000K:
|
|
|
|
(** if AFSM=1 then **)
|
|
(* if - Cond *)
|
|
LD AFSM
|
|
EQ 1
|
|
JMPCN ODK_SKIP_00000000000000L_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_00000000000000L
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_00000000000000L_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** Status3:=0; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST Status3
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_00000000000000L:
|
|
|
|
JMP ODK_END_IF_00000000000000I
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000I_000000000000001:
|
|
ODK_END_IF_00000000000000I:
|
|
|
|
(** {*非冬季或隔离切除防冻报警*} **)
|
|
(** 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_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:
|
|
|
|
(** **)
|
|
(** **)
|
|
(** {******************************************************运行故障回检******************************************************} **)
|
|
(** 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_00000000000000N_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** if RunTon1.q or not RunTof1.q then **)
|
|
(* if - Cond *)
|
|
LD RunTon1.q
|
|
OR ( RunTof1.q
|
|
NOT
|
|
)
|
|
JMPCN ODK_SKIP_00000000000000O_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_00000000000000P_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** Status0:=1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST Status0
|
|
|
|
JMP ODK_END_IF_00000000000000P
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_00000000000000P_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** Status0:=0; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST Status0
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_00000000000000P:
|
|
|
|
(** if FAU_STRUCT_IN.Fault=1 then **)
|
|
(* if - Cond *)
|
|
LD FAU_STRUCT_IN.Fault
|
|
EQ 1
|
|
JMPCN ODK_SKIP_00000000000000Q_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** Status1:=1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST Status1
|
|
|
|
JMP ODK_END_IF_00000000000000Q
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_00000000000000Q_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** Status1:=0; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST Status1
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_00000000000000Q:
|
|
|
|
JMP ODK_END_IF_00000000000000O
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000O_000000000000001:
|
|
ODK_END_IF_00000000000000O:
|
|
|
|
JMP ODK_END_IF_00000000000000N
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_00000000000000N_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_00000000000000N:
|
|
|
|
(** **)
|
|
(** {*设备电气控制箱控制指令与设备运行反馈不一致故障检测,检测故障产生风机压差无回检信号*}; **)
|
|
(** if FAU_STRUCT_IN.ISO2=0 then **)
|
|
(* if - Cond *)
|
|
LD FAU_STRUCT_IN.ISO2
|
|
EQ 0
|
|
JMPCN ODK_SKIP_00000000000000R_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** if RunTon2.q or not RunTof2.q then **)
|
|
(* if - Cond *)
|
|
LD RunTon2.q
|
|
OR ( RunTof2.q
|
|
NOT
|
|
)
|
|
JMPCN ODK_SKIP_00000000000000S_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_00000000000000T_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** Status2:=1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST Status2
|
|
|
|
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:
|
|
|
|
JMP ODK_END_IF_00000000000000S
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_00000000000000S_000000000000001:
|
|
ODK_END_IF_00000000000000S:
|
|
|
|
JMP ODK_END_IF_00000000000000R
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_00000000000000R_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** Status2:=0; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST Status2
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_00000000000000R:
|
|
|
|
(** **)
|
|
(** **)
|
|
(** {*输出故障代码*} **)
|
|
(** if FAU_STRUCT_OUT.Control<>0 then **)
|
|
(* if - Cond *)
|
|
LD FAU_STRUCT_OUT.Control
|
|
NE 0
|
|
JMPCN ODK_SKIP_00000000000000U_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_00000000000000U
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_00000000000000U_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** FAU_STRUCT_OUT.SN := 0 ; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST FAU_STRUCT_OUT.SN
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_00000000000000U:
|
|
|
|
(** **)
|
|
(** {******************************************************运行时间累计******************************************************} **)
|
|
(** FAU_RunTime(RUN :=FAU_STRUCT_IN.Run , RUNTIMESET :=FAU_STRUCT_IN.RSTV , RUNTIMERST :=FAU_STRUCT_IN.RST ,RunTimeRec_In :=FAU_STRUCT_OUT.RH | 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,
|
|
RunTimeRec_In := FAU_STRUCT_OUT.RH
|
|
|
|
|
FAU_STRUCT_OUT.RH := RUNTIME
|
|
)
|
|
|
|
(** **)
|
|
(** **)
|
|
(** **)
|
|
(** **)
|
|
(** **)
|
|
(** **)
|
|
(** **)
|
|
(** **)
|
|
(** **)
|
|
|
|
END_FUNCTION_BLOCK
|