自动控制网—学习自动控制技术电气自动化技术从这里开始!
当前位置: 自动控制网 > 自动化 > PLC >

西门子plc程序块的功能

时间:2017-05-29 18:02来源:www.eadianqi.com 编辑:自动控制网
这几种程序块的功能简要说明如下: 说 明: 调用程序块:OB,FB,FC(可以调用除OB块外的其它程序块); 被调用程序块:FB,FC,SFB,SFC。 1、组织块OB OB由系统自动调用,并执行用户在OB块中编写的程序,所以OB的基本作用是调用用户程序。 在OB块中编写程

这几种程序块的功能简要说明如下: 本文来自www.eadianqi.com

  

自动控制网www.eadianqi.com版权所有

  说明:
  
调用程序块:OB,FB,FC(可以调用除OB块外的其它程序块); 本文来自www.eadianqi.com

  被调用程序块:FB,FC,SFB,SFC。

本文来自www.eadianqi.com

  1、组织块OB

自动控制网www.eadianqi.com版权所有

  OB由系统自动调用,并执行用户在OB块中编写的程序,所以OB的基本作用是调用用户程序。 自动控制网www.eadianqi.com版权所有

  在OB块中编写程序的最大容量,S7-300是16KB,S7-400是64KB。

本文来自www.eadianqi.com

  除主程序循环OB1外,其它OB均是由事件触发的中断。

本文来自www.eadianqi.com

  2、函数FC

自动控制网www.eadianqi.com版权所有

  函数FC有两个作用:(1)作为子程序用;(2)作为函数用,函数中通常带形参。 自动控制网www.eadianqi.com版权所有

  函数中程序的最大容量,S7-300是16KB,S7-400是64KB。 本文来自www.eadianqi.com

  FC的形参通常也称为接口区,参数类型分为输入参数,输出参数,输入/输出参数和临时数据区。 自动控制网www.eadianqi.com版权所有

  在编写函数FC的输出参数时,应避免没有直接输出(否则,可能输出一个随机值,影响程序的判断)。可以在函数的开始,将字输出参数清0,位输出参数复位。 本文来自www.eadianqi.com

  3、函数块FB 本文来自www.eadianqi.com

  FB与FC相比,FB每次调用都必须分配一个背景数据块,用来存储接口数据区(TEMP类型除外)和运算的中间数据。其它程序可以直接使用背景数据区中的数据。

本文来自www.eadianqi.com

  FB中程序的最大容量,S7-300是16KB,S7-400是64KB。 本文来自www.eadianqi.com

  FB的接口区比FC多了一个静态数据区(STAT),用来存储中间变量。

自动控制网www.eadianqi.com版权所有

  程序调用FB时,形参不像FC那样必须赋值,可以通过背景数据块直接赋值。

自动控制网www.eadianqi.com版权所有

  由于FB带有背景数据块,输出参数不会输出随机值,可以不在FB中编写初始化程序。

自动控制网www.eadianqi.com版权所有

  4、数据块DB

本文来自www.eadianqi.com

  DB用来存储用户数据及程序的中间变量,为全局变量。DB的最大容量,S7-300为32KB,S7-400为64KB。

自动控制网www.eadianqi.com版权所有

  DB可分为共享数据块(Share DB)、背景数据块(Instance DB)和用户自定义数据(UDT)类型的数据块。 本文来自www.eadianqi.com

  ★ 共享数据块可作为所有程序使用的全局变量,在CPU允许的条件下,一个程序可创建任意多个DB,每个DB的最大容量为64KB。 本文来自www.eadianqi.com

  默认条件下,共享数据块为掉电保持,在其属性菜单中选中“Non Retain”可以更改为掉电数据丢失。

自动控制网www.eadianqi.com版权所有

  如CPU中无足够的内部存储空间保存数据,可将指定的数据保存到共享数据块。存储在共享数据块中的数据可被其它任意一个块调用(全局变量)。这一点和背景数据块不同,背景数据块只能被指定的功能块(FB)使用,保存在背景数据块中的数据只能在这个功能块中有效。

本文来自www.eadianqi.com

本文已影响