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.

368 lines
7.1 KiB

4 months ago
FUNCTION_BLOCK BS_GroupVavle
VAR_EXTERNAL
END_VAR
VAR_INPUT
LOCK :INT:=0;
BOOL_GroupSet:BOOL;
INT_GroupSet:INT;
REAL_GroupSet:REAL;
END_VAR
VAR_OUTPUT
REAL_OUT :ARRAY[0..10] OF REAL;
INT_OUT :ARRAY[0..10] OF INT;
BOOL_OUT :ARRAY[0..10] OF BOOL;
END_VAR
VAR
REAL_GroupSetP :REAL;
BOOL_GroupSetP :BOOL;
INT_GroupSetP :INT;
END_VAR
(*Automatically declared*)
VAR_EXTERNAL
END_VAR
(** **)
(** {* **)
(** **)
(** ʱ �䣺20191008 **)
(** �� ����1.5 **)
(** �� �ߣ�Ҧ�� **)
(** �� �ƣ�����������ֵ **)
(** ˵ �������ڱ���������ֵ����ѡ���������������� **)
(** LOCK 0��������;1����BOOL;2,����INT;3,����REAL; **)
(** �� ע��֧��10��BOOL,10��REAL,10��INT **)
(** �����飺�� **)
(** **)
(** *} **)
(** {**********һ��REAL���ܱ�����10��������ֵ��10������Ҳ�ɵ�����ֵ*************} **)
(** **)
(** if REAL_GroupSet<>REAL_GroupSetP then **)
(* if - Cond *)
LD REAL_GroupSet
NE REAL_GroupSetP
JMPCN ODK_SKIP_000000000000001_000000000000001
(* then - Stmts *)
(** REAL_OUT[01]:=REAL_GroupSet; **)
(* assign - Stmt *)
LD REAL_GroupSet
ST REAL_OUT[01]
(** REAL_OUT[02]:=REAL_GroupSet; **)
(* assign - Stmt *)
LD REAL_GroupSet
ST REAL_OUT[02]
(** REAL_OUT[03]:=REAL_GroupSet; **)
(* assign - Stmt *)
LD REAL_GroupSet
ST REAL_OUT[03]
(** REAL_OUT[04]:=REAL_GroupSet; **)
(* assign - Stmt *)
LD REAL_GroupSet
ST REAL_OUT[04]
(** REAL_OUT[05]:=REAL_GroupSet; **)
(* assign - Stmt *)
LD REAL_GroupSet
ST REAL_OUT[05]
(** REAL_OUT[06]:=REAL_GroupSet; **)
(* assign - Stmt *)
LD REAL_GroupSet
ST REAL_OUT[06]
(** REAL_OUT[07]:=REAL_GroupSet; **)
(* assign - Stmt *)
LD REAL_GroupSet
ST REAL_OUT[07]
(** REAL_OUT[08]:=REAL_GroupSet; **)
(* assign - Stmt *)
LD REAL_GroupSet
ST REAL_OUT[08]
(** REAL_OUT[09]:=REAL_GroupSet; **)
(* assign - Stmt *)
LD REAL_GroupSet
ST REAL_OUT[09]
(** REAL_OUT[10]:=REAL_GroupSet; **)
(* assign - Stmt *)
LD REAL_GroupSet
ST REAL_OUT[10]
JMP ODK_END_IF_000000000000001
(** **)
(** end_if; **)
(* if - End *)
ODK_SKIP_000000000000001_000000000000001:
ODK_END_IF_000000000000001:
(** **)
(** **)
(** {**********һ��BOOL���ܱ�����10��������ֵ��10������Ҳ�ɵ�����ֵ*************} **)
(** **)
(** if BOOL_GroupSet<>BOOL_GroupSetP then **)
(* if - Cond *)
LD BOOL_GroupSet
NE BOOL_GroupSetP
JMPCN ODK_SKIP_000000000000002_000000000000001
(* then - Stmts *)
(** BOOL_OUT[01]:=BOOL_GroupSet; **)
(* assign - Stmt *)
LD BOOL_GroupSet
ST BOOL_OUT[01]
(** BOOL_OUT[02]:=BOOL_GroupSet; **)
(* assign - Stmt *)
LD BOOL_GroupSet
ST BOOL_OUT[02]
(** BOOL_OUT[03]:=BOOL_GroupSet; **)
(* assign - Stmt *)
LD BOOL_GroupSet
ST BOOL_OUT[03]
(** BOOL_OUT[04]:=BOOL_GroupSet; **)
(* assign - Stmt *)
LD BOOL_GroupSet
ST BOOL_OUT[04]
(** BOOL_OUT[05]:=BOOL_GroupSet; **)
(* assign - Stmt *)
LD BOOL_GroupSet
ST BOOL_OUT[05]
(** BOOL_OUT[06]:=BOOL_GroupSet; **)
(* assign - Stmt *)
LD BOOL_GroupSet
ST BOOL_OUT[06]
(** BOOL_OUT[07]:=BOOL_GroupSet; **)
(* assign - Stmt *)
LD BOOL_GroupSet
ST BOOL_OUT[07]
(** BOOL_OUT[08]:=BOOL_GroupSet; **)
(* assign - Stmt *)
LD BOOL_GroupSet
ST BOOL_OUT[08]
(** BOOL_OUT[09]:=BOOL_GroupSet; **)
(* assign - Stmt *)
LD BOOL_GroupSet
ST BOOL_OUT[09]
(** BOOL_OUT[10]:=BOOL_GroupSet; **)
(* assign - Stmt *)
LD BOOL_GroupSet
ST BOOL_OUT[10]
JMP ODK_END_IF_000000000000002
(** **)
(** end_if; **)
(* if - End *)
ODK_SKIP_000000000000002_000000000000001:
ODK_END_IF_000000000000002:
(** **)
(** **)
(** {**********һ��INT���ܱ�����10��������ֵ��10������Ҳ�ɵ�����ֵ*************} **)
(** **)
(** if INT_GroupSet<>INT_GroupSetP then **)
(* if - Cond *)
LD INT_GroupSet
NE INT_GroupSetP
JMPCN ODK_SKIP_000000000000003_000000000000001
(* then - Stmts *)
(** INT_OUT[01]:=INT_GroupSet; **)
(* assign - Stmt *)
LD INT_GroupSet
ST INT_OUT[01]
(** INT_OUT[02]:=INT_GroupSet; **)
(* assign - Stmt *)
LD INT_GroupSet
ST INT_OUT[02]
(** INT_OUT[03]:=INT_GroupSet; **)
(* assign - Stmt *)
LD INT_GroupSet
ST INT_OUT[03]
(** INT_OUT[04]:=INT_GroupSet; **)
(* assign - Stmt *)
LD INT_GroupSet
ST INT_OUT[04]
(** INT_OUT[05]:=INT_GroupSet; **)
(* assign - Stmt *)
LD INT_GroupSet
ST INT_OUT[05]
(** INT_OUT[06]:=INT_GroupSet; **)
(* assign - Stmt *)
LD INT_GroupSet
ST INT_OUT[06]
(** INT_OUT[07]:=INT_GroupSet; **)
(* assign - Stmt *)
LD INT_GroupSet
ST INT_OUT[07]
(** INT_OUT[08]:=INT_GroupSet; **)
(* assign - Stmt *)
LD INT_GroupSet
ST INT_OUT[08]
(** INT_OUT[09]:=INT_GroupSet; **)
(* assign - Stmt *)
LD INT_GroupSet
ST INT_OUT[09]
(** INT_OUT[10]:=INT_GroupSet; **)
(* assign - Stmt *)
LD INT_GroupSet
ST INT_OUT[10]
JMP ODK_END_IF_000000000000003
(** **)
(** end_if; **)
(* if - End *)
ODK_SKIP_000000000000003_000000000000001:
ODK_END_IF_000000000000003:
(** **)
(** case lock of **)
(** {*0ʱ������������1����BOOL;2,����INT;3,����REAL;*} **)
(** 0: **)
(* case - Elm *)
ODK_SKIP_000000000000004_000000000000000:
(* case - Cond *)
LD lock
EQ 0
JMPC ODK_CASE_000000000000004_000000000000001
JMP ODK_SKIP_000000000000004_000000000000001
(* case - Stmts *)
ODK_CASE_000000000000004_000000000000001:
(** BOOL_GroupSetP:=BOOL_GroupSet; **)
(* assign - Stmt *)
LD BOOL_GroupSet
ST BOOL_GroupSetP
(** INT_GroupSetP:=INT_GroupSet; **)
(* assign - Stmt *)
LD INT_GroupSet
ST INT_GroupSetP
(** REAL_GroupSetP:=REAL_GroupSet; **)
(* assign - Stmt *)
LD REAL_GroupSet
ST REAL_GroupSetP
JMP ODK_END_CASE_000000000000004
(** 1: **)
(* case - Elm *)
ODK_SKIP_000000000000004_000000000000001:
(* case - Cond *)
LD lock
EQ 1
JMPC ODK_CASE_000000000000004_000000000000002
JMP ODK_SKIP_000000000000004_000000000000002
(* case - Stmts *)
ODK_CASE_000000000000004_000000000000002:
(** INT_GroupSetP:=INT_GroupSet; **)
(* assign - Stmt *)
LD INT_GroupSet
ST INT_GroupSetP
(** REAL_GroupSetP:=REAL_GroupSet; **)
(* assign - Stmt *)
LD REAL_GroupSet
ST REAL_GroupSetP
JMP ODK_END_CASE_000000000000004
(** 2: **)
(* case - Elm *)
ODK_SKIP_000000000000004_000000000000002:
(* case - Cond *)
LD lock
EQ 2
JMPC ODK_CASE_000000000000004_000000000000003
JMP ODK_SKIP_000000000000004_000000000000003
(* case - Stmts *)
ODK_CASE_000000000000004_000000000000003:
(** BOOL_GroupSetP:=BOOL_GroupSet; **)
(* assign - Stmt *)
LD BOOL_GroupSet
ST BOOL_GroupSetP
(** REAL_GroupSetP:=REAL_GroupSet; **)
(* assign - Stmt *)
LD REAL_GroupSet
ST REAL_GroupSetP
JMP ODK_END_CASE_000000000000004
(** 3: **)
(* case - Elm *)
ODK_SKIP_000000000000004_000000000000003:
(* case - Cond *)
LD lock
EQ 3
JMPC ODK_CASE_000000000000004_000000000000004
JMP ODK_SKIP_000000000000004_000000000000004
(* case - Stmts *)
ODK_CASE_000000000000004_000000000000004:
(** BOOL_GroupSetP:=BOOL_GroupSet; **)
(* assign - Stmt *)
LD BOOL_GroupSet
ST BOOL_GroupSetP
(** INT_GroupSetP:=INT_GroupSet; **)
(* assign - Stmt *)
LD INT_GroupSet
ST INT_GroupSetP
JMP ODK_END_CASE_000000000000004
(** end_case; **)
(* case - End *)
ODK_SKIP_000000000000004_000000000000004:
ODK_END_CASE_000000000000004:
(** **)
END_FUNCTION_BLOCK