S7-1200与S7-1500中优化的DB块和标准DB块有哪些区别
打博途—程序块—添加新块—选择函数块FB或函数FC(注意块语言定要选SCL语言)——点击右侧工具栏指令——选择移操作文件夹读写存储器文件夹面POKE_BLK写入存储区指令想要点击指令按F1帮助具体实例
S7 300编程时,何时用FC,何时用FB,哪些是系统自带的?
可以用一个公式即FB=FC+DB来表示,FB是具有DB背景块的特殊FC,也就是说FB具有FC的功能,同时拥有一个DB块。
什么是FB?
FB是功能块,FB功能块就是把一些应用程序模块化了,就好像把编写好的程序封装在一个盒子里,我们想用的时候就拿过来用,不需要在编写相同控制功能的程序了,为我们编程提供了便利。
FB功能块是由单独的背景数据块做支撑的,就好比把封装好程序的相同的盒子,它们拥有自己独立的房间,即使它们相貌是完全一样的,确可以根据房间的不同来区别它们,这就是在应用的时候互不干扰的原因。
在西门子编程中,功能块有两种,一种是系统定义好的功能块,一种是用户自定义功能块。
①、系统功能块
系统定义好的功能块,它是西门子工程师把一些常用的、不常用的程序编写封装好的,我们只管拿来用,不可以修改。如,SFBO递增计数器。
优点:是在编程时方便、省时。
缺点:是你得按它的规则来应用,必须熟悉功能块的应用。
②、用户功能块
用户自定义的功能块,是我们需要我们自己编写封装的,引脚的多少和功能都是需要自己定义的。
优点:可以根据自己的控制工艺需要来编写、定义引脚,方便灵活应用。
缺点:需要自己编程,工作量比较大。
FC是功能,FC是没有自己独立的背景数据块,FC与FB的应用基本是致的,就好像FC没有自己独立的房间,大家都住在一个房间里,所以它们必须是不同的,不能长一样的相貌,以便于应用的时候区别对待,避免了混乱。
FC也是分为系统功能与用户自定义功能,它与FB应用方法基本相同,不同的是FB运行过程的数据,都可以在DB块中保存下来,直到下一次运算,被新的数据覆盖,而FC是不具备背景DB块保存数据。
DB的应用
PLC处理的数据是二进制的,也就是1和0,所谓的数据就是一长串的1和0的组合,数据块就是存储这些数字串的一个方式。PLC还有别的存储方式,比如M映像区。
DB块是保存过程数据用的,可读可写,背景数据块是与FB同时使用的,在你调用FB时,会自动按照FB形参的数据类型自动生成。全局数据块是用户自己定义和创建的,你可以把你的需要的过程数据写入,也可以读出来。
引用 十三公 的回复内容:FC一般是电工控制用的,FB一般是仪表控制用的。 这个 让人家怎么理解 啊。。。。。。。。。。。。!楼主说的 FB41 那是 系统自带的 库功能块, 还有 SFC, SFB 是系统功能块,和系统,通信,特殊功能相关的功能块 相当于指令的扩展 ;至于楼主 问的 在应用中 FC 和FB 的区别 , 你可以这样理解, FC 类似于一个 函数(function), 不能保存 临时计算结果值,因为没有背景 DB块,除非用 IN_OUT 类型, 适用 于 功能简单,少量参数的 功能块。每一个参数必须要填写;而 FB 则 在实际应用中 能完成 更大的任务,以及更多的参数, FB 更像是计算机中的 宏(VB 中的过程SUB),每一个实例都要分配一个 专用背景DB块,这样 参数的实参 可以不填写 。 而且FB中支持 VAR 静态变量;在每个扫描周期后,都要 保存中间计算结果的,就用 FB 块,否则可以用 FC 块。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!