回复:应用探讨——FC与FB的应用探讨及参数传递

Automann

  • 帖子

    6168
  • 精华

    138
  • 被关注

    308

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

发布于 2012-12-22 18:47:33

15楼

FC为什么会多出来一个RET_VAL

与FB相比,FC的局部变量多了一个RET_VAL(返回值)。它实际上是输出参数。默认的情况它是没有数据类型的,在调用FC时也看不到这个输出参数。只要在局部变量表中设置RET_VAL的数据类型,在调用时就能看到它在方框的右边出现,所以它是一个输出参数。
我很长时间一直不解为什么要设置这样一个局部变量,而不是将它纳入输出参数。后来偶然在一个资料上看到,这时为了和PLC编程语言的国际标准IEC 6116-3一致而设置的。
功能FC的英语为Function,也可以像博途那样,将Function翻译为函数。IEC的函数和C语言的函数一样,执行后会产生一个返回值。IEC 6116-3的FC也只有一个返回值,不用设置它的名称,返回值的名称和FC的名称相同。因此IEC 6116-3的FC只有一个输出参数。
西门子的FC没有对输出参数个数的限制,比IEC 6116-3的FC更好用一些。
我认为其实没有必要为了和IEC 6116-3一致而设置一个RET_VAL,这没有什么实质性的意义,反而容易把初学者弄糊涂。
追求完美
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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