功能与功能块的区别

Automann

  • 帖子

    6168
  • 精华

    138
  • 被关注

    309

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

发布于 2011-04-27 21:23:50

5楼

FB和FC均为用户编写的子程序,局部变量表中均有IN、OUT、IN_OUT和TEMP变量。FC的返回值Ret_Val实际上属于输出参数。下面是FC和FB的区别:
1) 功能块有背景数据块,功能没有背景数据块。
2)只能在功能内部访问它的局部变量。其他逻辑块可以访问功能块的背景数据块中的变量。
3)功能没有静态变量(STAT),功能块有保存在背景数据块中的静态变量。
功能如果有执行完后需要保存的数据,只能存放在全局变量(例如共享数据块和M区)中,但是这样会影响功能的可移植性。如果功能或功能块的内部不使用全局变量,只使用局部变量,不需要作任何修改,就可以将它们移植到其他项目。如果块的内部使用了全局变量,在移植时需要考虑每个块使用的全局变量是否会与别的块产生地址冲突。
4)功能块的局部变量(不包括TEMP)有初始值,功能的局部变量没有初始值。调用功能时应给所有的形参指定实参。
调用功能块时可以不设置某些输入、输出参数的实参,此时这些参数将使用背景数据块中的初始值。
转自http://blog.gkong.com/more.asp?name=liaochangchu&id=119612
追求完美
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54707条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。