技术论坛

 关于 FC 和 FB 的区别 欢迎拍砖

返回主题列表
作者 主题
leafnew
侠士

经验值:1374
发帖数:69
精华帖:0
楼主    2018-07-10 09:49:12
主题:关于 FC 和 FB 的区别 欢迎拍砖 精编帖 

 

FC的两种功能:
1、子程序的功能。可以将流水线式的编程划分为几部分,便于程序的编写和后期的维护,这样的函数通常不带有形参
2、程序中多次调用的函数。如果某些设备(电机)具有相同的控制逻辑,我们可以为这个控制逻辑编写一个FC,然后在程序里多次调用这个FC,即可实现控制。这样的函数通常带有形参

FC和FB的区别:
1、FB可以让函数的形参变的简洁,不常用的参数完全可以通过静态变量表示
2、FB具有存储功能,可以存储中间值
3、FC形参必须连接变量,FB形参变量不是必须的

永远相信美好的事情即将发生!
Zane
版主

经验值:85161
发帖数:21047
精华帖:399
3楼    2018-07-10 18:13:47
精编帖  主题:回复:关于 FC 和 FB 的区别 欢迎拍砖

FC通过IN-OUT接口也可以存储变量,连接指定的全局变量

IN-OUT接口的形参无论FC/FB都必须赋值

Zane 注册自动化系统工程师 Always save before download
威师爷
至圣

经验值:37606
发帖数:5108
精华帖:47
4楼    2018-07-10 19:25:38
精编帖  主题:回复:关于 FC 和 FB 的区别 欢迎拍砖

FB没有用的接口不赋值不会报错,例如某些功能没有用,不赋值也不影响,可以不赋值。

FC必须所有接口赋值,否则会报错!

个人见解。


工业起重机防摇摆 QQ:404136820 AntiSwayControl
威师爷
至圣

经验值:37606
发帖数:5108
精华帖:47
6楼    2018-07-10 22:31:25
精编帖  主题:回复:关于 FC 和 FB 的区别 欢迎拍砖

FC 块里面的逻辑以及接口

FB块里面的逻辑以及接口



FB在OB块调用运行正常

FC调用时没有分配参数时出现错误编译通不过


当然FB是多了一个背景DB,但是的确有它的优势。


还请Z版多多指教!!


工业起重机防摇摆 QQ:404136820 AntiSwayControl
Zane
版主

经验值:85161
发帖数:21047
精华帖:399
7楼    2018-07-11 01:54:23
精编帖  主题:回复:关于 FC 和 FB 的区别 欢迎拍砖

呵呵,就知道你会做这个例子。你怎么不定义一个数据块或结构呢?

Zane 注册自动化系统工程师 Always save before download
zhangli0
至圣

经验值:48087
发帖数:17127
精华帖:63
10楼    2018-07-12 10:05:30
精编帖  主题:回复:关于 FC 和 FB 的区别 欢迎拍砖

我原来举过一个例子:fb和fc都是数据加工的流水线,fc是没有自己的仓库的流水线,它的数据来源和去向都是全局的公共仓库。fb是有自己仓库的流水线,数据可以通过公共仓库传递,也可以通过自己的仓库传递,其他的没有区别。

因为fc没有自己的仓库,所以所有的输入输出都必须有公共仓库的链接地址来保证数据的正确来去。

活到老,学到老!为了生活学习吧!
shine
至圣

经验值:19820
发帖数:8803
精华帖:39
11楼    2018-07-12 10:18:13
精华帖  精编帖  主题:回复:关于 FC 和 FB 的区别 欢迎拍砖

如果是非优化的FB,也是可以不输入参数的。

优化块,当InOut参数类型是结构、数据块等复杂类型的时候,以引用的方式传递参数,是不占用地址的,在 背景数据块中没有他的位置,所以必须填写实参,非优化块,会预先分配地址,所以可以使用背景数据块的值作为默认参数

坏笨笨
侠士

经验值:1689
发帖数:402
精华帖:4
12楼    2018-07-25 16:44:34
精编帖  主题:回复:关于 FC 和 FB 的区别 欢迎拍砖

以上的回复,Z版说的是对的。FB适合作为设备控制的类,而FC就是个方法,可以专门完成某一个功能。

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