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.
197 lines
3.3 KiB
197 lines
3.3 KiB
FUNCTION_BLOCK BS_FEC
|
|
VAR_EXTERNAL
|
|
|
|
END_VAR
|
|
|
|
VAR_INPUT
|
|
RUN : BOOL ; (* PID鍔熻兘鍧楀惎鐢� *)
|
|
SET : REAL ; (* 璋冭妭鐩�爣鍊� *)
|
|
FB : REAL ; (* 璋冭妭鐩�爣鍊肩殑鍙嶉�鍊� *)
|
|
Dead_Band : REAL :=10.0 ; (* 姝诲尯 *)
|
|
Delay : TIME :=t#300s;(* 寤舵椂鏃堕棿 *)
|
|
|
|
END_VAR
|
|
|
|
VAR_OUTPUT
|
|
DevC : BOOL ; (* 璁惧�寮€鍏虫帶鍒� *)
|
|
END_VAR
|
|
|
|
VAR
|
|
ton1 : TON ;
|
|
ton2 : TON ;
|
|
END_VAR
|
|
|
|
(*Automatically declared*)
|
|
VAR_EXTERNAL
|
|
END_VAR
|
|
(** {* **)
|
|
(** **)
|
|
(** 时 间:20200220 **)
|
|
(** 版 本:1.0 **)
|
|
(** 作 者:潘平 **)
|
|
(** 名 称:设备开关值控程序 **)
|
|
(** 说 明:用于设备开关的值控程序 **)
|
|
(** 备 注:适用于风机联动环境值等控制 **)
|
|
(** 依赖块:无 **)
|
|
(** **)
|
|
(** 输入变量 **)
|
|
(** RUN : BOOL ; PID功能块启用 **)
|
|
(** SET : REAL ; 调节目标值 **)
|
|
(** FB : REAL ; 调节目标值的反馈值 **)
|
|
(** Dead_Band : REAL ; 死区,默认10 **)
|
|
(** Delay : TIME ; 延时时间,默认300S **)
|
|
(** 输出变量 **)
|
|
(** DevC : BOOL ; 设备控制输出 **)
|
|
(** **)
|
|
(** *} **)
|
|
(** **)
|
|
(** {* **)
|
|
(** FB>SET DevC:=1 **)
|
|
(** FB-(SET-D)<0 DevC:=0 **)
|
|
(** **)
|
|
(** *} **)
|
|
(** ton1(pt:=Delay); **)
|
|
(* call - Stmt *)
|
|
CAL ton1 (
|
|
pt := Delay
|
|
)
|
|
|
|
(** ton2(pt:=Delay); **)
|
|
(* call - Stmt *)
|
|
CAL ton2 (
|
|
pt := Delay
|
|
)
|
|
|
|
(** **)
|
|
(** if RUN =1 then **)
|
|
(* if - Cond *)
|
|
LD RUN
|
|
EQ 1
|
|
JMPCN ODK_SKIP_000000000000001_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** if FB-SET>=0.0 then **)
|
|
(* if - Cond *)
|
|
LD FB
|
|
SUB SET
|
|
GE 0.0
|
|
JMPCN ODK_SKIP_000000000000002_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** DevC:=1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST DevC
|
|
|
|
(** ton1.in:=1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST ton1.in
|
|
|
|
JMP ODK_END_IF_000000000000002
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_000000000000002_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** ton1.in:=0; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST ton1.in
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_000000000000002:
|
|
|
|
(** if ton1.q=1 then **)
|
|
(* if - Cond *)
|
|
LD ton1.q
|
|
EQ 1
|
|
JMPCN ODK_SKIP_000000000000003_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** DevC:=1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST DevC
|
|
|
|
JMP ODK_END_IF_000000000000003
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_000000000000003_000000000000001:
|
|
ODK_END_IF_000000000000003:
|
|
|
|
(** if FB-(SET-Dead_Band)<0.0 then **)
|
|
(* if - Cond *)
|
|
LD FB
|
|
SUB ( SET
|
|
SUB Dead_Band
|
|
)
|
|
LT 0.0
|
|
JMPCN ODK_SKIP_000000000000004_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** ton2.in:=1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST ton2.in
|
|
|
|
JMP ODK_END_IF_000000000000004
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_000000000000004_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** ton2.in:=0; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST ton2.in
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_END_IF_000000000000004:
|
|
|
|
(** if ton2.q=1 then **)
|
|
(* if - Cond *)
|
|
LD ton2.q
|
|
EQ 1
|
|
JMPCN ODK_SKIP_000000000000005_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** DevC:=0; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST DevC
|
|
|
|
JMP ODK_END_IF_000000000000005
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_000000000000005_000000000000001:
|
|
ODK_END_IF_000000000000005:
|
|
|
|
JMP ODK_END_IF_000000000000001
|
|
|
|
(** end_if; **)
|
|
(* if - End *)
|
|
ODK_SKIP_000000000000001_000000000000001:
|
|
ODK_END_IF_000000000000001:
|
|
|
|
(** **)
|
|
(** **)
|
|
(** **)
|
|
(** **)
|
|
(** **)
|
|
(** **)
|
|
|
|
END_FUNCTION_BLOCK
|