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.
103 lines
1.6 KiB
103 lines
1.6 KiB
FUNCTION_BLOCK BS_Feedback
|
|
VAR_EXTERNAL
|
|
|
|
END_VAR
|
|
|
|
VAR_INPUT
|
|
Control :BOOL; (*璁惧�鎺у埗鎸囦护*)
|
|
Run :BOOL; (*璁惧�杩愯�鐘舵€佸弽棣�*)
|
|
|
|
END_VAR
|
|
|
|
VAR_OUTPUT
|
|
ALARM :BOOL; (*璁惧�鐢垫皵鎺у埗绠辨晠闅滄姤璀�*)
|
|
|
|
END_VAR
|
|
|
|
VAR
|
|
TON1 :TON;
|
|
TOF1 :TOF;
|
|
END_VAR
|
|
|
|
(*Automatically declared*)
|
|
VAR_EXTERNAL
|
|
END_VAR
|
|
(** {* **)
|
|
(** **)
|
|
(** 时 间:20191003 **)
|
|
(** 版 本:1.0 **)
|
|
(** 作 者:姚立 **)
|
|
(** 名 称:控制反馈不一致报警 **)
|
|
(** 说 明:注:设备电气控制箱控制指令与设备运行反馈不一致故障检测,检测故障产生原因电箱没电、断路器断开、中间继电器与接触器故障等 **)
|
|
(** 备 注: **)
|
|
(** **)
|
|
(** *} **)
|
|
(** **)
|
|
(** TON1( IN:=Control , PT:=t#15S); **)
|
|
(* call - Stmt *)
|
|
CAL TON1 (
|
|
IN := Control,
|
|
PT := t#15S
|
|
)
|
|
|
|
(** TOF1( IN:=Control , PT:=t#15S); **)
|
|
(* call - Stmt *)
|
|
CAL TOF1 (
|
|
IN := Control,
|
|
PT := t#15S
|
|
)
|
|
|
|
(** **)
|
|
(** IF TON1.q=1 or TOF1.q=1 then **)
|
|
(* if - Cond *)
|
|
LD TON1.q
|
|
EQ 1
|
|
OR ( TOF1.q
|
|
EQ 1
|
|
)
|
|
JMPCN ODK_SKIP_000000000000001_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** if Control<>Run then **)
|
|
(* if - Cond *)
|
|
LD Control
|
|
NE Run
|
|
JMPCN ODK_SKIP_000000000000002_000000000000001
|
|
|
|
(* then - Stmts *)
|
|
|
|
(** ALARM:=1; **)
|
|
(* assign - Stmt *)
|
|
LD 1
|
|
ST ALARM
|
|
|
|
JMP ODK_END_IF_000000000000002
|
|
|
|
(** else **)
|
|
(* else *)
|
|
ODK_SKIP_000000000000002_000000000000001:
|
|
|
|
(* else - Stmts *)
|
|
|
|
(** ALARM:=0; **)
|
|
(* assign - Stmt *)
|
|
LD 0
|
|
ST ALARM
|
|
|
|
(** 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:
|
|
|
|
(** **)
|
|
(** **)
|
|
(** **)
|
|
|
|
END_FUNCTION_BLOCK
|