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.
221 lines
5.7 KiB
221 lines
5.7 KiB
FUNCTION_BLOCK BS_GroupVavle50
|
|
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..50] OF REAL;
|
|
INT_OUT :ARRAY[0..50] OF INT;
|
|
BOOL_OUT :ARRAY[0..50] OF BOOL;
|
|
END_VAR
|
|
|
|
VAR
|
|
REAL_GroupSetP :REAL;
|
|
BOOL_GroupSetP :BOOL;
|
|
INT_GroupSetP :INT;
|
|
END_VAR
|
|
(*
|
|
|
|
时 间:20190923
|
|
版 本:1.4
|
|
作 者:姚立
|
|
名 称:变量批量赋值
|
|
说 明:用于变量批量赋值,可选锁定单体变量输入
|
|
LOCK 0均不锁定;1锁定BOOL;2,锁定INT;3,锁定REAL;
|
|
备 注:支持50组BOOL,50组REAL,50组INT
|
|
依赖块:无
|
|
|
|
*)
|
|
(**********一个REAL型总变量对50个变量赋值,50个变量也可单独赋值*************)
|
|
|
|
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;
|
|
REAL_OUT[11]:=REAL_GroupSet;
|
|
REAL_OUT[12]:=REAL_GroupSet;
|
|
REAL_OUT[13]:=REAL_GroupSet;
|
|
REAL_OUT[14]:=REAL_GroupSet;
|
|
REAL_OUT[15]:=REAL_GroupSet;
|
|
REAL_OUT[16]:=REAL_GroupSet;
|
|
REAL_OUT[17]:=REAL_GroupSet;
|
|
REAL_OUT[18]:=REAL_GroupSet;
|
|
REAL_OUT[19]:=REAL_GroupSet;
|
|
REAL_OUT[20]:=REAL_GroupSet;
|
|
REAL_OUT[21]:=REAL_GroupSet;
|
|
REAL_OUT[22]:=REAL_GroupSet;
|
|
REAL_OUT[23]:=REAL_GroupSet;
|
|
REAL_OUT[24]:=REAL_GroupSet;
|
|
REAL_OUT[25]:=REAL_GroupSet;
|
|
REAL_OUT[26]:=REAL_GroupSet;
|
|
REAL_OUT[27]:=REAL_GroupSet;
|
|
REAL_OUT[28]:=REAL_GroupSet;
|
|
REAL_OUT[29]:=REAL_GroupSet;
|
|
REAL_OUT[30]:=REAL_GroupSet;
|
|
REAL_OUT[31]:=REAL_GroupSet;
|
|
REAL_OUT[32]:=REAL_GroupSet;
|
|
REAL_OUT[33]:=REAL_GroupSet;
|
|
REAL_OUT[34]:=REAL_GroupSet;
|
|
REAL_OUT[35]:=REAL_GroupSet;
|
|
REAL_OUT[36]:=REAL_GroupSet;
|
|
REAL_OUT[37]:=REAL_GroupSet;
|
|
REAL_OUT[38]:=REAL_GroupSet;
|
|
REAL_OUT[39]:=REAL_GroupSet;
|
|
REAL_OUT[40]:=REAL_GroupSet;
|
|
REAL_OUT[41]:=REAL_GroupSet;
|
|
REAL_OUT[42]:=REAL_GroupSet;
|
|
REAL_OUT[43]:=REAL_GroupSet;
|
|
REAL_OUT[44]:=REAL_GroupSet;
|
|
REAL_OUT[45]:=REAL_GroupSet;
|
|
REAL_OUT[46]:=REAL_GroupSet;
|
|
REAL_OUT[47]:=REAL_GroupSet;
|
|
REAL_OUT[48]:=REAL_GroupSet;
|
|
REAL_OUT[49]:=REAL_GroupSet;
|
|
REAL_OUT[50]:=REAL_GroupSet;
|
|
end_if;
|
|
|
|
|
|
(**********一个BOOL型总变量对50个变量赋值,50个变量也可单独赋值*************)
|
|
|
|
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;
|
|
BOOL_OUT[11]:=BOOL_GroupSet;
|
|
BOOL_OUT[12]:=BOOL_GroupSet;
|
|
BOOL_OUT[13]:=BOOL_GroupSet;
|
|
BOOL_OUT[14]:=BOOL_GroupSet;
|
|
BOOL_OUT[15]:=BOOL_GroupSet;
|
|
BOOL_OUT[16]:=BOOL_GroupSet;
|
|
BOOL_OUT[17]:=BOOL_GroupSet;
|
|
BOOL_OUT[18]:=BOOL_GroupSet;
|
|
BOOL_OUT[19]:=BOOL_GroupSet;
|
|
BOOL_OUT[20]:=BOOL_GroupSet;
|
|
BOOL_OUT[21]:=BOOL_GroupSet;
|
|
BOOL_OUT[22]:=BOOL_GroupSet;
|
|
BOOL_OUT[23]:=BOOL_GroupSet;
|
|
BOOL_OUT[24]:=BOOL_GroupSet;
|
|
BOOL_OUT[25]:=BOOL_GroupSet;
|
|
BOOL_OUT[26]:=BOOL_GroupSet;
|
|
BOOL_OUT[27]:=BOOL_GroupSet;
|
|
BOOL_OUT[28]:=BOOL_GroupSet;
|
|
BOOL_OUT[29]:=BOOL_GroupSet;
|
|
BOOL_OUT[30]:=BOOL_GroupSet;
|
|
BOOL_OUT[31]:=BOOL_GroupSet;
|
|
BOOL_OUT[32]:=BOOL_GroupSet;
|
|
BOOL_OUT[33]:=BOOL_GroupSet;
|
|
BOOL_OUT[34]:=BOOL_GroupSet;
|
|
BOOL_OUT[35]:=BOOL_GroupSet;
|
|
BOOL_OUT[36]:=BOOL_GroupSet;
|
|
BOOL_OUT[37]:=BOOL_GroupSet;
|
|
BOOL_OUT[38]:=BOOL_GroupSet;
|
|
BOOL_OUT[39]:=BOOL_GroupSet;
|
|
BOOL_OUT[40]:=BOOL_GroupSet;
|
|
BOOL_OUT[41]:=BOOL_GroupSet;
|
|
BOOL_OUT[42]:=BOOL_GroupSet;
|
|
BOOL_OUT[43]:=BOOL_GroupSet;
|
|
BOOL_OUT[44]:=BOOL_GroupSet;
|
|
BOOL_OUT[45]:=BOOL_GroupSet;
|
|
BOOL_OUT[46]:=BOOL_GroupSet;
|
|
BOOL_OUT[47]:=BOOL_GroupSet;
|
|
BOOL_OUT[48]:=BOOL_GroupSet;
|
|
BOOL_OUT[49]:=BOOL_GroupSet;
|
|
BOOL_OUT[50]:=BOOL_GroupSet;
|
|
end_if;
|
|
|
|
|
|
(**********一个INT型总变量对50个变量赋值,50个变量也可单独赋值*************)
|
|
|
|
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;
|
|
INT_OUT[11]:=INT_GroupSet;
|
|
INT_OUT[12]:=INT_GroupSet;
|
|
INT_OUT[13]:=INT_GroupSet;
|
|
INT_OUT[14]:=INT_GroupSet;
|
|
INT_OUT[15]:=INT_GroupSet;
|
|
INT_OUT[16]:=INT_GroupSet;
|
|
INT_OUT[17]:=INT_GroupSet;
|
|
INT_OUT[18]:=INT_GroupSet;
|
|
INT_OUT[19]:=INT_GroupSet;
|
|
INT_OUT[20]:=INT_GroupSet;
|
|
INT_OUT[21]:=INT_GroupSet;
|
|
INT_OUT[22]:=INT_GroupSet;
|
|
INT_OUT[23]:=INT_GroupSet;
|
|
INT_OUT[24]:=INT_GroupSet;
|
|
INT_OUT[25]:=INT_GroupSet;
|
|
INT_OUT[26]:=INT_GroupSet;
|
|
INT_OUT[27]:=INT_GroupSet;
|
|
INT_OUT[28]:=INT_GroupSet;
|
|
INT_OUT[29]:=INT_GroupSet;
|
|
INT_OUT[30]:=INT_GroupSet;
|
|
INT_OUT[31]:=INT_GroupSet;
|
|
INT_OUT[32]:=INT_GroupSet;
|
|
INT_OUT[33]:=INT_GroupSet;
|
|
INT_OUT[34]:=INT_GroupSet;
|
|
INT_OUT[35]:=INT_GroupSet;
|
|
INT_OUT[36]:=INT_GroupSet;
|
|
INT_OUT[37]:=INT_GroupSet;
|
|
INT_OUT[38]:=INT_GroupSet;
|
|
INT_OUT[39]:=INT_GroupSet;
|
|
INT_OUT[40]:=INT_GroupSet;
|
|
INT_OUT[41]:=INT_GroupSet;
|
|
INT_OUT[42]:=INT_GroupSet;
|
|
INT_OUT[43]:=INT_GroupSet;
|
|
INT_OUT[44]:=INT_GroupSet;
|
|
INT_OUT[45]:=INT_GroupSet;
|
|
INT_OUT[46]:=INT_GroupSet;
|
|
INT_OUT[47]:=INT_GroupSet;
|
|
INT_OUT[48]:=INT_GroupSet;
|
|
INT_OUT[49]:=INT_GroupSet;
|
|
INT_OUT[50]:=INT_GroupSet;
|
|
end_if;
|
|
|
|
case lock of
|
|
(*0时,均不锁定,1锁定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
|