找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10268|回复: 34

西门子 S7-300/400PLC编程之程序块的类型及区别

  [复制链接]
  • 打卡等级:即来则安
  • 打卡总天数:28
  • 打卡月天数:7
  • 打卡总奖励:7961
  • 最近打卡:2025-12-22 17:16:30

3317

主题

285

回帖

2万

积分

管理员

积分
24106
发表于 2018-10-15 19:46:46 | 显示全部楼层 |阅读模式
      
      在SIEMENS S7-300/400系列PLC中有多种程序块,主要有:组织块(OB),功能块(FB),功能(FC),数据块(DB)及系统功能(SFC)和系统功能块(SFB)等。
      注:快捷菜单中的其它两项:数据类型和变量表。数据类型(UDT)用于指定程序中数据元素的大小与格式;变量表(VAT)用来在程序调试和运行时修改和监视变量的内容(在地址栏中输入地址后,符号栏中会自动显示在符号表中定义的符号)。
      这几种程序块的功能简要说明如下:
     调用程序块:OB,FB,FC(可以调用除OB块外的其它程序块);
      被调用程序块:FB,FC,SFB,SFC。
1、组织块OB
      OB由系统自动调用,并执行用户在OB块中编写的程序,所以OB的基本作用是调用用户程序。在OB块中编写程序的最大容量,S7-300是16KB,S7-400是64KB。除主程序循环OB1外,其它OB均是由事件触发的中断。
2、函数FC
      函数FC有两个作用:
      (1)作为子程序用;
      (2)作为函数用,函数中通常带形参。
      函数中程序的最大容量,S7-300是16KB,S7-400是64KB。
      FC的形参通常也称为接口区,参数类型分为输入参数,输出参数,输入/输出参数和临时数据区。
在编写函数FC的输出参数时,应避免没有直接输出(否则,可能输出一个随机值,影响程序的判断)。可以在函数的开始,将字输出参数清0,位输出参数复位。
3、函数块FB
     FB与FC相比,FB每次调用都必须分配一个背景数据块,用来存储接口数据区(TEMP类型除外)和运算的中间数据。其它程序可以直接使用背景数据区中的数据。
     FB中程序的最大容量,S7-300是16KB,S7-400是64KB。
     FB的接口区比FC多了一个静态数据区(STAT),用来存储中间变量。
     程序调用FB时,形参不像FC那样必须赋值,可以通过背景数据块直接赋值。
     由于FB带有背景数据块,输出参数不会输出随机值,可以不在FB中编写初始化程序。
4、数据块DB
      DB用来存储用户数据及程序的中间变量,为全局变量。DB的最大容量,S7-300为32KB,S7-400为64KB。
     DB可分为共享数据块(Share DB)、背景数据块(Instance DB)和用户自定义数据(UDT)类型的数据块。
★5共享数据块可作为所有程序使用的全局变量,在CPU允许的条件下,一个程序可创建任意多个DB,每个DB的最大容量为64KB。默认条件下,共享数据块为掉电保持,在其属性菜单中选中“Non Retain”可以更改为掉电数据丢失。如CPU中无足够的内部存储空间保存数据,可将指定的数据保存到共享数据块。存储在共享数据块中的数据可被其它任意一个块调用(全局变量)。这一点和背景数据块不同,背景数据块只能被指定的功能块(FB)使用,保存在背景数据块中的数据只能在这个功能块中有效。
★ 背景数据块与FB和SFB关联,也是全局变量。背景数据块和共享数据块相比,只保存与FB或SFB接口数据区(Temp)相关的数据。背景数据块中有一种比较特殊的数据块,称为多重背景数据块。有关多重背景数据块的用法和使用注意事项请参看《怎样使用多重背景数据块》。
★ 基于UDT的数据块为全局变量,提供一个固定格式的数据结构,便于用户使用。
5、系统函数(SFC)和系统函数块(SFB)
      SFC和SFB集成在CPU中,相当于系统提供的可供用户程序调用的FC或FB,实现与CPU系统相关的一些功能,如读写CPU时钟等功能。调用SFB需要背景数据块。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
工控课堂 www.gkket.com

0

主题

435

回帖

2361

积分

高级会员

积分
2361
发表于 2018-10-16 14:36:44 | 显示全部楼层
真是被感动的痛哭流涕……
工控课堂 www.gkket.com

0

主题

430

回帖

2452

积分

高级会员

积分
2452
发表于 2018-10-16 16:59:06 | 显示全部楼层
真是被感动的痛哭流涕……
工控课堂 www.gkket.com

0

主题

447

回帖

2601

积分

高级会员

积分
2601
发表于 2018-10-16 18:30:57 | 显示全部楼层
大家都不容易!
工控课堂 www.gkket.com

0

主题

408

回帖

2650

积分

高级会员

积分
2650
发表于 2018-10-16 20:58:45 | 显示全部楼层
楼主加油,我们都看好你哦。
工控课堂 www.gkket.com

11

主题

368

回帖

2645

积分

高级会员

积分
2645
发表于 2018-10-16 23:33:59 | 显示全部楼层
真是难得给力的帖子啊。
工控课堂 www.gkket.com

0

主题

431

回帖

2681

积分

高级会员

积分
2681
发表于 2018-10-17 14:51:24 | 显示全部楼层
在遇到你之前我对人世间是否有技术大佬保有怀疑,现在我是彻底被你征服了
工控课堂 www.gkket.com

0

主题

360

回帖

2280

积分

高级会员

积分
2280
发表于 2018-10-19 03:55:49 | 显示全部楼层
无回帖,不论坛,这才是人道。
工控课堂 www.gkket.com

6

主题

429

回帖

2739

积分

高级会员

积分
2739
发表于 2018-10-19 17:30:40 | 显示全部楼层
谢谢您的分享!
工控课堂 www.gkket.com

10

主题

433

回帖

2689

积分

高级会员

积分
2689
发表于 2018-10-20 12:54:38 | 显示全部楼层
激动人心,无法言表!
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-23 05:33 , Processed in 0.083395 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表