在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)类型的数据块。 ★ 共享数据块可作为所有程序使用的全局变量,在CPU 允许的条件下,一个程序可创建任意多个DB,每个DB 的最大容量为64KB。 默认条件下,共享数据块为掉电保持,在其属性菜单中选中“Non Retain”可以更改为掉电...