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
342 lines
7.6 KiB
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
|