在网上找到了一个程序是关于FB嵌套调用的,
FUNCTION_BLOCK FB10
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这些块呢,以前在源文件中编然后编译就会生成了,麻烦大家讲讲啊,谢谢了
最佳答案
试了一下,确实不能编译。
按照所给的代码重新编写后成功,应该是直接复制时格式不对。而且你FB11中o_6_fb11 := instance_1.o_6_fb10 后面没有“;”,也没有END_FUNCTION_BLOCK。
max 是关键字,不能用关键字定义变量名。
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc234463.html