当前位置: 主页 > PLC控制

这是个 FC 块,为什么可以像 FB块一样多次调用啊?

这个FC块如下:
SET
SAVE
=L4.1
L#IN1
L0
==I
JCNM001
T#RET_VAL
AL4.1
SAVE
BEU
M001:L#IN0
L1.638400e+004
*R
L#IN1
ITD
DTR
/R
T#TEMP2
L-3.276800e+004
<R
JCNM002
L-32768
T#RET_VAL
AL4.1
SAVE
BEU
JUM003
M002:L#TEMP2
L3.276700e+004
>R
JCNM004
L32767
T#RET_VAL
AL4.1
SAVE
BEU
JUM003
M004:L#TEMP2
RND
T#RET_VAL
M003:CLR
AL4.1
SAVE
BE
这个FC块为何可以多次调用啊,谢谢。

ASs='html_titleimg_p' STyle='text-align:CEnter;'>

最佳答案

回答这个问题,必须先说下fb和FC区别。
1:FB有自己的存储区,称之为背景数据块。
FC没有自己的存储区,但是有一个返回值,RET_VAL。
2:由于FC没有自己的存储区,所以在调用的时候,必须给FC所有的接口赋值,也就是必须赋实参。
3:FB有自己的存储区,所以在调用时,可以不必给FB接口赋值,没有赋值的接口,将使用背景DB的默认值,对于赋值(有实参的接口),值从实参处得到。
3:FC编程时,每个周期在FC内部必须给OUT类型的接口赋值,不然可能会出现未知错误

共同点就是它们都可以被其它程序块和OB块多次调用。
对于更高级的实参到形参,是按值调用还是按引用调用,亲参见STEP7编程手册。

提问者对于答案的评价:
谢谢

  • 关注微信

猜你喜欢

微信公众号