text: STEP7程序结构的基本原理
  S7-300/400系列CPU 原则上运行两个不同的程序：操作系统和用户程序。 每个CPU都带有集成的操作系统，组织与特定控制任务无关的所有CPU功能和顺序。操作系统任务包括下列各项：处理重启(热启动)和热重启；更新输入的过程映像表，并输出输出过程映像表；调用用户程序；采集中断信息，调用中断OB；识别错误并进行错误处理；管理内存区域；与编程设备和其它通讯伙伴进行通讯；通过修改操作系统参数(操作系统默认设置)，可以在某些区域影响CPU响应。 用户程序则是由用户进行创建，在STEP 7中进行编程后并将其下载到CPU中。它包含处理特定自动化任务所要求的所有功能，其任务包括：确定CPU的重启(热启动)和热重启条件，如用特定值初始化信号；处理过程数据，如产生二进制信号的逻辑链接，获取并评估模拟量信号，指定用于输出的二进制信号，输出模拟值；响应中断；处理正常程序周期中的干扰。 2、用户程序中的块 在STEP 7编程软件中进行构建的用户程序，可以将程序分成单个或独立的程序段，称为“块”。，这对于一个大的工业自动化过程来说具有非常大的优点，比如易于理解、可以标准化、方便修改程序、简化测试等。表3-2所示为在S7用户程序内可使用多种块的类型。
  本文引用地址：
  http://www.eepw.com.cn/article/201612/331126.htm
  OB、FB、SFB、FC和SFC包含程序段，因此也称为逻辑块。每种块类型许可的块数目和块长度由CPU决定。
  3、组织块 组织块(OB)表示操作系统和用户程序之间的接口，它由操作系统调用，控制循环中断驱动的程序执行、plc启动特性和错误处理。用户可以在STEP 7中对组织块进行编程来确定CPU特性。 常见的组织块主要包括以下部分（如图1所示）：
  组织块确定单个程序段执行的顺序，即启动事件。启动事件触发OB调用称为中断，一个OB调用可以中断另一个OB的执行，哪个OB允许中断另一个OB取决于其优先级，高优先级的OB可以中断低优先级的OB，背景OB的优先级最低。 可以通过STEP 7给中断分配参数，如通过参数分配，可以取消选定参数块中的中断OB或优先级：日历中断、延时中断、循环中断和硬件中断（如图2所示）。
  必须说明的是：S7-300 CPU上的组织块优先级固定，但是对于S7-400 CPU(和CPU 318)，可以通过STEP 7 修改OB10 - OB47组织块的优先级或者可以将相同优先级分配给多个OB。具有相同优先级的OB按照其启动事件发生的先后次序进行处理。