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

与FB相比,FC的局部变量多了一个RET_VAL(返回值)。它实际上是输出参数。默认的情况它是没有数据类型的,在调用FC时也看不到这个输出参数。只要在局部变量表中设置RET_VAL的数据类型,在调用时就能看到它在方框的右边出现,所以它是一个输出参数。

我很长时间一直不理解为什么要设置这样一个局部变量,而不是将它纳入输出参数。后来偶然在一个资料上看到,这是为了和编程语言的国际标准IEC 61131-3一致而设置的。

功能FC的英语为Function,也可以像博途那样,将Function翻译为函数。IEC的函数和C语言的函数一样,执行后会产生一个返回值。IEC 61131-3的FC也只有一个返回值,不用设置它的名称,返回值的名称和FC的名称相同。因此IEC 61131-3的FC只有返回值这样一个输出参数。

西门子的FC对输出参数的个数没有限制,比IEC 61131-3的FC更好用一些。

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

相关文章:

你感兴趣的文章:

标签云: