签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
FC的两种功能:1、子程序的功能。可以将流水线式的编程划分为几部分,便于程序的编写和后期的维护,这样的函数通常不带有形参2、程序中多次调用的函数。如果某些设备(电机)具有相同的控制逻辑,我们可以为这个控制逻辑编写一个FC,然后在程序里多次调用这个FC,即可实现控制。这样的函数通常带有形参
FC和FB的区别:1、FB可以让函数的形参变的简洁,不常用的参数完全可以通过静态变量表示2、FB具有存储功能,可以存储中间值3、FC形参必须连接变量,FB形参变量不是必须的
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1494267&b_id=66&s_id=0&num=17
FB和FC有官方文档
FC通过IN-OUT接口也可以存储变量,连接指定的全局变量
IN-OUT接口的形参无论FC/FB都必须赋值
FB没有用的接口不赋值不会报错,例如某些功能没有用,不赋值也不影响,可以不赋值。
FC必须所有接口赋值,否则会报错!
个人见解。
引用3楼详细内容:
你可以试试!
引用4楼详细内容:
FC 块里面的逻辑以及接口
FB块里面的逻辑以及接口
FB在OB块调用运行正常
FC调用时没有分配参数时出现错误编译通不过
当然FB是多了一个背景DB,但是的确有它的优势。
还请Z版多多指教!!
引用5楼详细内容:
呵呵,就知道你会做这个例子。你怎么不定义一个数据块或结构呢?
引用6楼详细内容:
我也知道我肯定有什么地方没考虑到的。
回头我再做一个测试验证一下。
谢谢指教!
感觉是挖好坑,让人家往里跳,少点套路,多点真诚!,那FB的IN-OUT引脚到底是怎么回事呢?
我原来举过一个例子:fb和fc都是数据加工的流水线,fc是没有自己的仓库的流水线,它的数据来源和去向都是全局的公共仓库。fb是有自己仓库的流水线,数据可以通过公共仓库传递,也可以通过自己的仓库传递,其他的没有区别。
因为fc没有自己的仓库,所以所有的输入输出都必须有公共仓库的链接地址来保证数据的正确来去。
如果是非优化的FB,也是可以不输入参数的。
优化块,当InOut参数类型是结构、数据块等复杂类型的时候,以引用的方式传递参数,是不占用地址的,在 背景数据块中没有他的位置,所以必须填写实参,非优化块,会预先分配地址,所以可以使用背景数据块的值作为默认参数
以上的回复,Z版说的是对的。FB适合作为设备控制的类,而FC就是个方法,可以专门完成某一个功能。
FB写的程序可移植性好
目前还没碰到2者不能相互替换的问题
就是那个什么感觉: 带类的C。
有没有这个感觉,就是这个感觉。
如果从面向对象的方式来看,就会发现很有意思。 当然在PLC的编程中并不能实现数据的完全保护。
好像明白了一些
感谢楼主分享!
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录