登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:S7-300的FC为什么有一个局部变量RET_VAL?

点击:7737 回复:4

与FB相比,FC的局部变量多了一个RET_VAL(返回值)。它实际上是输出参数。默认的情况它是没有数据类型的,在调用FC时也看不到这个输出参数。只要在局部变量表中设置RET_VAL的数据类型,在调用时就能看到它在方框的右边出现,所以它是一个输出参数。我很长时间一直不理解为什么要设置这样一个局部变量,而不是将它纳入输出参数。后来偶然在一个资料上看到,这是为了和PLC编程语言的国际标准IEC 61131-3一致而设置的。
功能FC的英语为Function,也可以像博途那样,将Function翻译为函数。IEC的函数和C语言的函数一样,执行后会产生一个返回值。IEC 61131-3的FC也只有一个返回值,不用设置它的名称,返回值的名称和FC的名称相同。因此IEC 61131-3的FC只有返回值这样一个输出参数。
西门子的FC对输出参数的个数没有限制,比IEC 61131-3的FC更好用一些。
最后修改:2013/5/24 8:23:04
13-05-22 18:22

引用 liaosun 在 2013/5/22 18:22:03 发言【内容省略】

必须纠正前辈的是:PLC编程标准是IEC61131而非6116
Good  Luck~
13-05-22 19:30
请教是所有的PLC都是按照这个标准执行吗?
13-05-23 09:16

引用 yk_wangyu 在 2013/5/23 9:16:19 发言【内容省略】

并非全部的PLC厂家均支持IEC61131标准。
另外,即使支持IEC标准的也不是全部的厂家完全支持IEC61131标准,目前仅有为数不多的厂家基本支持IEC标准,如国产的腾控,研华以及日系的富士,和欧美系的菲尼克斯。
Good Luck~
13-05-23 09:50
谢谢!的确是写错了,原帖我已改正。
13-05-24 08:24

工控新闻

更多新闻资讯