text: 为了结构化程序设计，STEP 7将用户程序分类归并为不同的块
  为了结构化程序设计，STEP 7将用户程序分类归并为不同的块，根据程序要求，可选用组织块（OB）、功能块（FB）、或功能（FC)三种类型的逻辑块，而数据块（DB）或（DI）则用来存储执行用户程序时所需的数据。
  三种编程方法：
  （1）线性编程：将整个用户程序写在一个指令连续的块中，处理器线性地或顺序地扫描程序的每条指令。
  （2）分部编程：将用户程序分成相对独立的指令块、每个块包含给定的部件组或作业组的控制逻辑。
  （3）结构化编程：要求用户程序提供一些通用的指令块，以便控制一类相似或相同的部件，给通用指令提供的参数进一步说明各部件的控制差异。
  一、数据块及其数据结构
  用户程序运行所需的大量数据或变量存储在数据块中，数据块也是实现各逻辑块之间交换、传递和共享数据的重要途径。 对于CPU 314，用作数据块的存储器最多8KB，用户定义的数据总量不能超过这个限制。对于数据块必须遵循先定义后使用的原则。
  1、定义数据块
  定义内容包括数据块号及块中的变量（包括：变量符号名，数据类型以及初始值等）。数据块在使用前，必须作为用户程序的一部分下载到CPU 中。
  2、访问数据块
  访问时需要明确数据块号和数据块中的数据类型与位置。根据明确数据块号的不同方法，可以用以多种方法访问数据块中的数据。
  由于有两个数据块寄存器（DB和DI寄存器），所以，最多可以同时打开两个数据块。一个作为背景数据块，数据块的起始地址存储在DI寄存 器中；另一个作为共享数据块，数据块的起始地址存储在DB寄存器中。
  打开背景数据块，在调用FB时可以自动实现，由于调用FB时使用DI 寄存器，所以，一般不在FB程序中用OPN DI n指令打开数据块。
  3、背景数据块和共享数据块
  任何FB、FC或OB均可读写存放在共享数据块中的数据。背景数据块是FB运行时的工作存储区，它存放FB的部分运行变量。调用FB时， 必须指定一个相关的背景数据块。
  作为规则，只有FB块才能访问存放 在背景数据块中的数据。一般情况下，每个FB都有一个对应的背景数 据块，一个FB也可以使用不同的背景数据块。如果几个FB需要的背景数据完全相同，为节省存储器，则可以定义成一个背景数据块，供它们分别使用。
  二、数据结构
  1、用户数据类型
  STEP 7允许将基本或复式组合成“用户”自已定义的数据类型，这种类型称为用户数据类型（UDT）。用户数据类型必须首先单独建立，并存放 在称为UDT的特殊数据块中。
  建立用户数据类型的目的，是为了将UDT作为一种数据类型使用，以方便定义多个结构相同的构造变量。
  2、功能块编程及调用
  一个程序由许多部分（子程序）组成，STEP 7将这些部分称为逻辑块，并允许块间相互调用。
  功能块由两个主要部分组成：一部分是每个功能块的变量声明表，变量声表声明此块的局部数据；另一部分是逻辑指令组成的程序，程序要用到变量声明表中给出的局部数据。
  当调用功能块时，需要提供块执行时要用到的数据或变量，也就是将外部数据传递给功能块，这称为参数传递。
  3、变量声明表（局部数据）
  局部数据分为参数和局部变量两大类，局部变量又包括静态变量和临时变量（暂态变量）两种。参数是在调用块和被调用块间传递的数据。静态变量和临时变量是仅供逻辑块本身使用的数据。
  4、逻辑块局部数据的数据类型
  在变量声明表中，要明确局部数据的数据类型，这样操作系统才能给变量分配确定的存储空间。局部数据可以是基本数据类型或是复式数据类型， 也可以是专门用于参数传递的所谓“参数类型”。
  STEP 7对分配给块局部数据（在变量声明表中）的数据类型（基本、复式、参数）是有一定限制的。
  STEP 7允许用物理地址（绝对地址）或符号地址或常数等形式作为实参给形参赋值，但对于不同的形参类型，STEP 7限制了赋值形式。
  5、功能块编程与调用举例
  对功能块编程分两步进行:第一步工作是定义局部变量（填写局部变量表）；第二步是编写要执行的程序。写功能块程序时，可以两种方式使用局部变量：
  ①使用变量名，此时变量名前缀“＃”，以区别于在符号表中定义的符号地址，增量方式下，前缀 会自动产生；
  ②直接使用局部变量的地址，这种方式只对背景数据块和L堆栈有效。
  例一：二分频器
  二分频器是一种具有一个输入端和一个输出端的功能单元,输出频率为输入频率的一半。
  （1）FC1的变量声明表
  （2）FC1梯形图程序
  （3）OB1调用梯形图程序
  例二：时钟脉冲发生器
  使用定时器实现自由设定时钟脉冲发生器功能脉冲占空系数1:1。
  （1）FC1变量声明表
  （2）FC1梯形图程序
  （3）OB1调用梯形图程序
  三、可编程序控制器应用设计
  PLC系统设计步骤：