技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > SCL中功能块数据块为什么生成不了

SCL中功能块数据块为什么生成不了

刘玉蓉 发布于2014-11-28 17:51 2 0 标签:

在网上找到了一个程序是关于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 是关键字,不能用关键字定义变量名。

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签