SCL中功能塊數(shù)據(jù)塊為什么生成不了
劉玉蓉
發(fā)布于2014-11-28 17:51
2
0
標(biāo)簽:
在網(wǎng)上找到了一個(gè)程序是關(guān)于FB嵌套調(diào)用的,
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
為什么點(diǎn)編譯按鈕并沒有生成FB10,DB10這些塊呢,以前在源文件中編然后編譯就會(huì)生成了,麻煩講講啊.
佳答案
試了一下,確實(shí)不能編譯。
按照所給的代碼重新編寫后成功,應(yīng)該是直接復(fù)制時(shí)格式不對(duì)。而且你FB11中o_6_fb11 := instance_1.o_6_fb10 后面沒有“;”,也沒有END_FUNCTION_BLOCK。
max 是關(guān)鍵字,不能用關(guān)鍵字定義變量名。