|
×马上注册,结交更多工控达人,分享经验,让你轻松玩转追梦工控论坛。 已有帐号? 点击登录 或者
在网上找到了一个程序是关于FB嵌套调用的,
FUNCTION_BLOCK FB10 </P>
VAR_INPUT
sel_fb10 : INT;
i_1_fb10 : BOOL;
i_2_fb10 : BOOL;
i_3_fb10 : BOOL;
i_4_fb10 : BOOL;
i_5_fb10 : BOOL;
i_6_fb10 : BOOL;
END_VAR
VAR_OUTPUT
ret_fb10 : BOOL;
o_1_fb10 : BOOL;
o_2_fb10 : BOOL;
o_3_fb10 : BOOL;
o_4_fb10 : BOOL;
o_5_fb10 : BOOL;
o_6_fb10 : BOOL;
END_VAR
BEGIN
CASE sel_fb10 OF
1 : o_1_fb10 := i_1_fb10;
o_2_fb10 := i_2_fb10;
ret_fb10 := TRUE;
2 : o_3_fb10 := i_3_fb10;
o_4_fb10 := i_4_fb10;
ret_fb10 := TRUE;
3 : o_5_fb10 := i_5_fb10;
o_6_fb10 := i_6_fb10;
ret_fb10 := TRUE;
ELSE : ret_fb10 := FALSE;
END_CASE ;
END_FUNCTION_BLOCK
DATA_BlOCK DB10 FB10
BEGIN
END_DATA_BLOCK
FUNCTION_BLOCK FB11
TITLE = \'call\'
NAME : call
FAMILY : SCL
AUTHOR : CS
VERSION : \'0.0\'
VAR_INPUT
sel_fb11 : INT;
i_1_fb11 : BOOL;
i_2_fb11 : BOOL;
i_3_fb11 : BOOL;
i_4_fb11 : BOOL;
i_5_fb11 : BOOL;
i_6_fb11 : BOOL;
END_VAR
VAR_OUTPUT
ret_fb11 : BOOL;
o_1_fb11 : BOOL;
o_2_fb11 : BOOL;
o_3_fb11 : BOOL;
o_4_fb11 : BOOL;
o_5_fb11 : BOOL;
o_6_fb11 : BOOL;
rv_sfc : INT;
time_m : DT;
ctv_o : INT;
END_VAR
VAR
ct : BOOL;
rs : BOOL;
ctv : INT;
max : INT;
instance_1 : FB10;
instance_2 : FB10;
END_VAR
BEGIN
FB10.DB10(sel_fb10 := sel_fb11,
i_1_fb10 := i_1_fb11,
i_2_fb10 := i_2_fb11,
i_3_fb10 := i_3_fb11,
i_4_fb10 := i_4_fb11,
i_5_fb10 := i_5_fb11,
i_6_fb10 := i_6_fb11);
o_1_fb11 := DB10.o_1_fb10;
o_2_fb11 := DB10.o_2_fb10;
o_3_fb11 := DB10.o_3_fb10;
o_4_fb11 := DB10.o_4_fb10;
o_5_fb11 := DB10.o_5_fb10;
o_6_fb11 := DB10.o_6_fb10;
ret_fb11 := DB10.ret_fb10;
instance_1(sel_fb10 := sel_fb11,
i_1_fb10 := i_1_fb11,
i_2_fb10 := i_2_fb11,
i_3_fb10 := i_3_fb11,
i_4_fb10 := i_4_fb11,
i_5_fb10 := i_5_fb11,
i_6_fb10 := i_6_fb11);
o_1_fb11 := instance_1.o_1_fb10;
o_2_fb11 := instance_1.o_2_fb10;
o_3_fb11 := instance_1.o_3_fb10;
o_4_fb11 := instance_1.o_4_fb10;
o_5_fb11 := instance_1.o_5_fb10;
o_6_fb11 := instance_1.o_6_fb10
为什么点编译按钮并没有生成FB10,DB10这些块呢,以前在源文件中编然后编译就会生成了,麻烦大家讲讲啊,谢谢了 |
|