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.
363 lines
6.2 KiB
363 lines
6.2 KiB
4 months ago
|
FUNCTION_BLOCK BS_SyncVavle
|
||
|
VAR_EXTERNAL
|
||
|
|
||
|
END_VAR
|
||
|
|
||
|
VAR_INPUT
|
||
|
REAL_IN1 :REAL;
|
||
|
REAL_IN2 :REAL;
|
||
|
REAL_IN3 :REAL;
|
||
|
BOOL_IN1 :BOOL;
|
||
|
BOOL_IN2 :BOOL;
|
||
|
BOOL_IN3 :BOOL;
|
||
|
INT_IN1 :INT;
|
||
|
INT_IN2 :INT;
|
||
|
INT_IN3 :INT;
|
||
|
END_VAR
|
||
|
|
||
|
VAR_OUTPUT
|
||
|
REAL_OUT1 :REAL;
|
||
|
REAL_OUT2 :REAL;
|
||
|
REAL_OUT3 :REAL;
|
||
|
BOOL_OUT1 :BOOL;
|
||
|
BOOL_OUT2 :BOOL;
|
||
|
BOOL_OUT3 :BOOL;
|
||
|
INT_OUT1 :INT;
|
||
|
INT_OUT2 :INT;
|
||
|
INT_OUT3 :INT;
|
||
|
END_VAR
|
||
|
|
||
|
VAR
|
||
|
REAL_TEMP1 :REAL;
|
||
|
REAL_TEMP2 :REAL;
|
||
|
REAL_TEMP3 :REAL;
|
||
|
BOOL_TEMP1 :BOOL;
|
||
|
BOOL_TEMP2 :BOOL;
|
||
|
BOOL_TEMP3 :BOOL;
|
||
|
INT_TEMP1 :INT;
|
||
|
INT_TEMP2 :INT;
|
||
|
INT_TEMP3 :INT;
|
||
|
END_VAR
|
||
|
|
||
|
(*Automatically declared*)
|
||
|
VAR_EXTERNAL
|
||
|
END_VAR
|
||
|
(** {* **)
|
||
|
(** **)
|
||
|
(** ʱ �䣺20191001 **)
|
||
|
(** �� ����1.2 **)
|
||
|
(** �� �ߣ�Ҧ�� **)
|
||
|
(** �� �ƣ���ֵ����������ֵ **)
|
||
|
(** ˵ ���������������������ֵ���Ҳ������Է�ֵ **)
|
||
|
(** �� ע�� **)
|
||
|
(** �����飺�� **)
|
||
|
(** **)
|
||
|
(** *} **)
|
||
|
(** **)
|
||
|
(** {**********REAL�����������ֵ*************} **)
|
||
|
(** if REAL_IN1<>REAL_TEMP1 then **)
|
||
|
(* if - Cond *)
|
||
|
LD REAL_IN1
|
||
|
NE REAL_TEMP1
|
||
|
JMPCN ODK_SKIP_000000000000001_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** REAL_OUT1:=REAL_IN1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD REAL_IN1
|
||
|
ST REAL_OUT1
|
||
|
|
||
|
(** REAL_OUT2:=REAL_IN1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD REAL_IN1
|
||
|
ST REAL_OUT2
|
||
|
|
||
|
(** REAL_OUT3:=REAL_IN1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD REAL_IN1
|
||
|
ST REAL_OUT3
|
||
|
|
||
|
JMP ODK_END_IF_000000000000001
|
||
|
|
||
|
(** elsif REAL_IN2<>REAL_TEMP2 then **)
|
||
|
(* elseif - Cond *)
|
||
|
ODK_SKIP_000000000000001_000000000000001:
|
||
|
LD REAL_IN2
|
||
|
NE REAL_TEMP2
|
||
|
JMPCN ODK_SKIP_000000000000001_000000000000002
|
||
|
|
||
|
(* elsif - Stmts *)
|
||
|
|
||
|
(** REAL_OUT1:=REAL_IN2; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD REAL_IN2
|
||
|
ST REAL_OUT1
|
||
|
|
||
|
(** REAL_OUT2:=REAL_IN2; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD REAL_IN2
|
||
|
ST REAL_OUT2
|
||
|
|
||
|
(** REAL_OUT3:=REAL_IN2; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD REAL_IN2
|
||
|
ST REAL_OUT3
|
||
|
|
||
|
JMP ODK_END_IF_000000000000001
|
||
|
|
||
|
(** elsif REAL_IN3<>REAL_TEMP3 then **)
|
||
|
(* elseif - Cond *)
|
||
|
ODK_SKIP_000000000000001_000000000000002:
|
||
|
LD REAL_IN3
|
||
|
NE REAL_TEMP3
|
||
|
JMPCN ODK_SKIP_000000000000001_000000000000003
|
||
|
|
||
|
(* elsif - Stmts *)
|
||
|
|
||
|
(** REAL_OUT1:=REAL_IN3; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD REAL_IN3
|
||
|
ST REAL_OUT1
|
||
|
|
||
|
(** REAL_OUT2:=REAL_IN3; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD REAL_IN3
|
||
|
ST REAL_OUT2
|
||
|
|
||
|
(** REAL_OUT3:=REAL_IN3; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD REAL_IN3
|
||
|
ST REAL_OUT3
|
||
|
|
||
|
JMP ODK_END_IF_000000000000001
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_SKIP_000000000000001_000000000000003:
|
||
|
ODK_END_IF_000000000000001:
|
||
|
|
||
|
(** **)
|
||
|
(** REAL_TEMP1:=REAL_IN1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD REAL_IN1
|
||
|
ST REAL_TEMP1
|
||
|
|
||
|
(** REAL_TEMP2:=REAL_IN2; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD REAL_IN2
|
||
|
ST REAL_TEMP2
|
||
|
|
||
|
(** REAL_TEMP3:=REAL_IN3; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD REAL_IN3
|
||
|
ST REAL_TEMP3
|
||
|
|
||
|
(** **)
|
||
|
(** {**********BOOL�����������ֵ*************} **)
|
||
|
(** if BOOL_IN1<>BOOL_TEMP1 then **)
|
||
|
(* if - Cond *)
|
||
|
LD BOOL_IN1
|
||
|
NE BOOL_TEMP1
|
||
|
JMPCN ODK_SKIP_000000000000002_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** BOOL_OUT1:=BOOL_IN1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD BOOL_IN1
|
||
|
ST BOOL_OUT1
|
||
|
|
||
|
(** BOOL_OUT2:=BOOL_IN1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD BOOL_IN1
|
||
|
ST BOOL_OUT2
|
||
|
|
||
|
(** BOOL_OUT3:=BOOL_IN1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD BOOL_IN1
|
||
|
ST BOOL_OUT3
|
||
|
|
||
|
JMP ODK_END_IF_000000000000002
|
||
|
|
||
|
(** elsif BOOL_IN2<>BOOL_TEMP2 then **)
|
||
|
(* elseif - Cond *)
|
||
|
ODK_SKIP_000000000000002_000000000000001:
|
||
|
LD BOOL_IN2
|
||
|
NE BOOL_TEMP2
|
||
|
JMPCN ODK_SKIP_000000000000002_000000000000002
|
||
|
|
||
|
(* elsif - Stmts *)
|
||
|
|
||
|
(** BOOL_OUT1:=BOOL_IN2; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD BOOL_IN2
|
||
|
ST BOOL_OUT1
|
||
|
|
||
|
(** BOOL_OUT2:=BOOL_IN2; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD BOOL_IN2
|
||
|
ST BOOL_OUT2
|
||
|
|
||
|
(** BOOL_OUT3:=BOOL_IN2; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD BOOL_IN2
|
||
|
ST BOOL_OUT3
|
||
|
|
||
|
JMP ODK_END_IF_000000000000002
|
||
|
|
||
|
(** elsif BOOL_IN3<>BOOL_TEMP3 then **)
|
||
|
(* elseif - Cond *)
|
||
|
ODK_SKIP_000000000000002_000000000000002:
|
||
|
LD BOOL_IN3
|
||
|
NE BOOL_TEMP3
|
||
|
JMPCN ODK_SKIP_000000000000002_000000000000003
|
||
|
|
||
|
(* elsif - Stmts *)
|
||
|
|
||
|
(** BOOL_OUT1:=BOOL_IN3; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD BOOL_IN3
|
||
|
ST BOOL_OUT1
|
||
|
|
||
|
(** BOOL_OUT2:=BOOL_IN3; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD BOOL_IN3
|
||
|
ST BOOL_OUT2
|
||
|
|
||
|
(** BOOL_OUT3:=BOOL_IN3; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD BOOL_IN3
|
||
|
ST BOOL_OUT3
|
||
|
|
||
|
JMP ODK_END_IF_000000000000002
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_SKIP_000000000000002_000000000000003:
|
||
|
ODK_END_IF_000000000000002:
|
||
|
|
||
|
(** **)
|
||
|
(** BOOL_TEMP1:=BOOL_IN1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD BOOL_IN1
|
||
|
ST BOOL_TEMP1
|
||
|
|
||
|
(** BOOL_TEMP2:=BOOL_IN2; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD BOOL_IN2
|
||
|
ST BOOL_TEMP2
|
||
|
|
||
|
(** BOOL_TEMP3:=BOOL_IN3; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD BOOL_IN3
|
||
|
ST BOOL_TEMP3
|
||
|
|
||
|
(** **)
|
||
|
(** {**********INT�����������ֵ*************} **)
|
||
|
(** if INT_IN1<>INT_TEMP1 then **)
|
||
|
(* if - Cond *)
|
||
|
LD INT_IN1
|
||
|
NE INT_TEMP1
|
||
|
JMPCN ODK_SKIP_000000000000003_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** INT_OUT1:=INT_IN1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD INT_IN1
|
||
|
ST INT_OUT1
|
||
|
|
||
|
(** INT_OUT2:=INT_IN1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD INT_IN1
|
||
|
ST INT_OUT2
|
||
|
|
||
|
(** INT_OUT3:=INT_IN1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD INT_IN1
|
||
|
ST INT_OUT3
|
||
|
|
||
|
JMP ODK_END_IF_000000000000003
|
||
|
|
||
|
(** elsif INT_IN2<>INT_TEMP2 then **)
|
||
|
(* elseif - Cond *)
|
||
|
ODK_SKIP_000000000000003_000000000000001:
|
||
|
LD INT_IN2
|
||
|
NE INT_TEMP2
|
||
|
JMPCN ODK_SKIP_000000000000003_000000000000002
|
||
|
|
||
|
(* elsif - Stmts *)
|
||
|
|
||
|
(** INT_OUT1:=INT_IN2; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD INT_IN2
|
||
|
ST INT_OUT1
|
||
|
|
||
|
(** INT_OUT2:=INT_IN2; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD INT_IN2
|
||
|
ST INT_OUT2
|
||
|
|
||
|
(** INT_OUT3:=INT_IN2; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD INT_IN2
|
||
|
ST INT_OUT3
|
||
|
|
||
|
JMP ODK_END_IF_000000000000003
|
||
|
|
||
|
(** elsif INT_IN3<>INT_TEMP3 then **)
|
||
|
(* elseif - Cond *)
|
||
|
ODK_SKIP_000000000000003_000000000000002:
|
||
|
LD INT_IN3
|
||
|
NE INT_TEMP3
|
||
|
JMPCN ODK_SKIP_000000000000003_000000000000003
|
||
|
|
||
|
(* elsif - Stmts *)
|
||
|
|
||
|
(** INT_OUT1:=INT_IN3; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD INT_IN3
|
||
|
ST INT_OUT1
|
||
|
|
||
|
(** INT_OUT2:=INT_IN3; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD INT_IN3
|
||
|
ST INT_OUT2
|
||
|
|
||
|
(** INT_OUT3:=INT_IN3; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD INT_IN3
|
||
|
ST INT_OUT3
|
||
|
|
||
|
JMP ODK_END_IF_000000000000003
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_SKIP_000000000000003_000000000000003:
|
||
|
ODK_END_IF_000000000000003:
|
||
|
|
||
|
(** **)
|
||
|
(** INT_TEMP1:=INT_IN1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD INT_IN1
|
||
|
ST INT_TEMP1
|
||
|
|
||
|
(** INT_TEMP2:=INT_IN2; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD INT_IN2
|
||
|
ST INT_TEMP2
|
||
|
|
||
|
(** INT_TEMP3:=INT_IN3; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD INT_IN3
|
||
|
ST INT_TEMP3
|
||
|
|
||
|
(** **)
|
||
|
(** **)
|
||
|
(** **)
|
||
|
(** **)
|
||
|
(** **)
|
||
|
(** **)
|
||
|
|
||
|
END_FUNCTION_BLOCK
|