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.
 
 
 
 
 
 

105 lines
2.3 KiB

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
(*
20191008
1.5
LOCK 0均不锁定;1锁定BOOL;2,INT;3,REAL;
10组BOOL,10组REAL,10组INT
*)
(**********REAL10个变量赋值10个变量也可单独赋值*************)
if REAL_GroupSet<>REAL_GroupSetP then
REAL_OUT[01]:=REAL_GroupSet;
REAL_OUT[02]:=REAL_GroupSet;
REAL_OUT[03]:=REAL_GroupSet;
REAL_OUT[04]:=REAL_GroupSet;
REAL_OUT[05]:=REAL_GroupSet;
REAL_OUT[06]:=REAL_GroupSet;
REAL_OUT[07]:=REAL_GroupSet;
REAL_OUT[08]:=REAL_GroupSet;
REAL_OUT[09]:=REAL_GroupSet;
REAL_OUT[10]:=REAL_GroupSet;
end_if;
(**********BOOL10个变量赋值10个变量也可单独赋值*************)
if BOOL_GroupSet<>BOOL_GroupSetP then
BOOL_OUT[01]:=BOOL_GroupSet;
BOOL_OUT[02]:=BOOL_GroupSet;
BOOL_OUT[03]:=BOOL_GroupSet;
BOOL_OUT[04]:=BOOL_GroupSet;
BOOL_OUT[05]:=BOOL_GroupSet;
BOOL_OUT[06]:=BOOL_GroupSet;
BOOL_OUT[07]:=BOOL_GroupSet;
BOOL_OUT[08]:=BOOL_GroupSet;
BOOL_OUT[09]:=BOOL_GroupSet;
BOOL_OUT[10]:=BOOL_GroupSet;
end_if;
(**********INT10个变量赋值10个变量也可单独赋值*************)
if INT_GroupSet<>INT_GroupSetP then
INT_OUT[01]:=INT_GroupSet;
INT_OUT[02]:=INT_GroupSet;
INT_OUT[03]:=INT_GroupSet;
INT_OUT[04]:=INT_GroupSet;
INT_OUT[05]:=INT_GroupSet;
INT_OUT[06]:=INT_GroupSet;
INT_OUT[07]:=INT_GroupSet;
INT_OUT[08]:=INT_GroupSet;
INT_OUT[09]:=INT_GroupSet;
INT_OUT[10]:=INT_GroupSet;
end_if;
case lock of
(*01锁定BOOL;2,INT;3,REAL;*)
0:
BOOL_GroupSetP:=BOOL_GroupSet;
INT_GroupSetP:=INT_GroupSet;
REAL_GroupSetP:=REAL_GroupSet;
1:
INT_GroupSetP:=INT_GroupSet;
REAL_GroupSetP:=REAL_GroupSet;
2:
BOOL_GroupSetP:=BOOL_GroupSet;
REAL_GroupSetP:=REAL_GroupSet;
3:
BOOL_GroupSetP:=BOOL_GroupSet;
INT_GroupSetP:=INT_GroupSet;
end_case;
END_FUNCTION_BLOCK