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.
345 lines
5.0 KiB
345 lines
5.0 KiB
6 days ago
|
FUNCTION_BLOCK MBDI
|
||
|
VAR_EXTERNAL
|
||
|
|
||
|
END_VAR
|
||
|
|
||
|
VAR_INPUT
|
||
|
|
||
|
mbdi1 :bool;
|
||
|
mbdi2 :bool;
|
||
|
mbdi3 :bool;
|
||
|
mbdi4 :bool;
|
||
|
mbdi5 :bool;
|
||
|
mbdi6 :bool;
|
||
|
mbdi7 :bool;
|
||
|
mbdi8 :bool;
|
||
|
light1_in :bool;
|
||
|
light2_in :bool;
|
||
|
light3_in :bool;
|
||
|
light4_in :bool;
|
||
|
light5_in :bool;
|
||
|
light6_in :bool;
|
||
|
light7_in :bool;
|
||
|
light8_in :bool;
|
||
|
light9_in :bool;
|
||
|
light10_in :bool;
|
||
|
light11_in :bool;
|
||
|
light12_in :bool;
|
||
|
light_timer :time:=t#5S;
|
||
|
|
||
|
END_VAR
|
||
|
|
||
|
VAR_OUTPUT
|
||
|
|
||
|
light1_out :bool;
|
||
|
light2_out :bool;
|
||
|
light3_out :bool;
|
||
|
light4_out :bool;
|
||
|
light5_out :bool;
|
||
|
light6_out :bool;
|
||
|
light7_out :bool;
|
||
|
light8_out :bool;
|
||
|
light9_out :bool;
|
||
|
light10_out :bool;
|
||
|
light11_out :bool;
|
||
|
light12_out :bool;
|
||
|
|
||
|
END_VAR
|
||
|
|
||
|
VAR
|
||
|
|
||
|
light :bool;
|
||
|
lightm :bool;
|
||
|
light_mb :bool;
|
||
|
light_tof :tof;
|
||
|
|
||
|
light1 :bool;
|
||
|
light2 :bool;
|
||
|
light3 :bool;
|
||
|
light4 :bool;
|
||
|
light5 :bool;
|
||
|
light6 :bool;
|
||
|
light7 :bool;
|
||
|
light8 :bool;
|
||
|
light9 :bool;
|
||
|
light10 :bool;
|
||
|
light11 :bool;
|
||
|
light12 :bool;
|
||
|
|
||
|
|
||
|
END_VAR
|
||
|
|
||
|
(*Automatically declared*)
|
||
|
VAR_EXTERNAL
|
||
|
END_VAR
|
||
|
(** **)
|
||
|
(** light1:=light1_in; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light1_in
|
||
|
ST light1
|
||
|
|
||
|
(** light2:=light2_in; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light2_in
|
||
|
ST light2
|
||
|
|
||
|
(** light3:=light3_in; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light3_in
|
||
|
ST light3
|
||
|
|
||
|
(** light4:=light4_in; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light4_in
|
||
|
ST light4
|
||
|
|
||
|
(** light5:=light5_in; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light5_in
|
||
|
ST light5
|
||
|
|
||
|
(** light6:=light6_in; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light6_in
|
||
|
ST light6
|
||
|
|
||
|
(** light7:=light7_in; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light7_in
|
||
|
ST light7
|
||
|
|
||
|
(** light8:=light8_in; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light8_in
|
||
|
ST light8
|
||
|
|
||
|
(** light9:=light9_in; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light9_in
|
||
|
ST light9
|
||
|
|
||
|
(** light10:=light10_in; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light10_in
|
||
|
ST light10
|
||
|
|
||
|
(** light11:=light11_in; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light11_in
|
||
|
ST light11
|
||
|
|
||
|
(** light12:=light12_in; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light12_in
|
||
|
ST light12
|
||
|
|
||
|
(** **)
|
||
|
(** if mbdi1=1 or mbdi2=1 or mbdi3=1 or mbdi4=1 or mbdi5=1 or mbdi6=1 or mbdi7=1 or mbdi8=1 then **)
|
||
|
(* if - Cond *)
|
||
|
LD mbdi1
|
||
|
EQ 1
|
||
|
OR ( mbdi2
|
||
|
EQ 1
|
||
|
)
|
||
|
OR ( mbdi3
|
||
|
EQ 1
|
||
|
)
|
||
|
OR ( mbdi4
|
||
|
EQ 1
|
||
|
)
|
||
|
OR ( mbdi5
|
||
|
EQ 1
|
||
|
)
|
||
|
OR ( mbdi6
|
||
|
EQ 1
|
||
|
)
|
||
|
OR ( mbdi7
|
||
|
EQ 1
|
||
|
)
|
||
|
OR ( mbdi8
|
||
|
EQ 1
|
||
|
)
|
||
|
JMPCN ODK_SKIP_000000000000001_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** light_mb:=1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 1
|
||
|
ST light_mb
|
||
|
|
||
|
(** light:=1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 1
|
||
|
ST light
|
||
|
|
||
|
JMP ODK_END_IF_000000000000001
|
||
|
|
||
|
(** else light_mb:=0; **)
|
||
|
(* else *)
|
||
|
ODK_SKIP_000000000000001_000000000000001:
|
||
|
|
||
|
(* else - Stmts *)
|
||
|
|
||
|
(* assign - Stmt *)
|
||
|
LD 0
|
||
|
ST light_mb
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_END_IF_000000000000001:
|
||
|
|
||
|
(** **)
|
||
|
(** light_tof( IN :=light_mb ,PT := light_timer | light:= Q ); **)
|
||
|
(* call - Stmt *)
|
||
|
CAL light_tof (
|
||
|
IN := light_mb,
|
||
|
PT := light_timer
|
||
|
|
|
||
|
light := Q
|
||
|
)
|
||
|
|
||
|
(** if light<>lightm then **)
|
||
|
(* if - Cond *)
|
||
|
LD light
|
||
|
NE lightm
|
||
|
JMPCN ODK_SKIP_000000000000002_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** light1:=light; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light
|
||
|
ST light1
|
||
|
|
||
|
(** light2:=light; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light
|
||
|
ST light2
|
||
|
|
||
|
(** light3:=light; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light
|
||
|
ST light3
|
||
|
|
||
|
(** light4:=light; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light
|
||
|
ST light4
|
||
|
|
||
|
(** light5:=light; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light
|
||
|
ST light5
|
||
|
|
||
|
(** light6:=light; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light
|
||
|
ST light6
|
||
|
|
||
|
(** light7:=light; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light
|
||
|
ST light7
|
||
|
|
||
|
(** light8:=light; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light
|
||
|
ST light8
|
||
|
|
||
|
(** light9:=light; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light
|
||
|
ST light9
|
||
|
|
||
|
(** light10:=light; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light
|
||
|
ST light10
|
||
|
|
||
|
(** light11:=light; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light
|
||
|
ST light11
|
||
|
|
||
|
(** light12:=light; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light
|
||
|
ST light12
|
||
|
|
||
|
(** lightm:=light; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light
|
||
|
ST lightm
|
||
|
|
||
|
JMP ODK_END_IF_000000000000002
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_SKIP_000000000000002_000000000000001:
|
||
|
ODK_END_IF_000000000000002:
|
||
|
|
||
|
(** **)
|
||
|
(** light1_out:=light1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light1
|
||
|
ST light1_out
|
||
|
|
||
|
(** light2_out:=light2; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light2
|
||
|
ST light2_out
|
||
|
|
||
|
(** light3_out:=light3; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light3
|
||
|
ST light3_out
|
||
|
|
||
|
(** light4_out:=light4; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light4
|
||
|
ST light4_out
|
||
|
|
||
|
(** light5_out:=light5; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light5
|
||
|
ST light5_out
|
||
|
|
||
|
(** light6_out:=light6; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light6
|
||
|
ST light6_out
|
||
|
|
||
|
(** light7_out:=light7; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light7
|
||
|
ST light7_out
|
||
|
|
||
|
(** light8_out:=light8; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light8
|
||
|
ST light8_out
|
||
|
|
||
|
(** light9_out:=light9; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light9
|
||
|
ST light9_out
|
||
|
|
||
|
(** light10_out:=light10; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light10
|
||
|
ST light10_out
|
||
|
|
||
|
(** light11_out:=light11; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light11
|
||
|
ST light11_out
|
||
|
|
||
|
(** light12_out:=light12; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD light12
|
||
|
ST light12_out
|
||
|
|
||
|
(** **)
|
||
|
|
||
|
END_FUNCTION_BLOCK
|