线性编程与结构化编程 |
线性编程
小型自动化任务可在程序循环 OB 中进行线性化编程。但这种编程方式仅适用于简单程序中。
下图所示为一个线性程序示意图:“Main”循环 OB 中包含整个用户程序。
结构化编程
将复杂自动化任务分割成与过程工艺功能相对应或可重复使用的更小的子任务,将更易于对这些复杂任务进行处理和管理。这些子任务在用户程序中以块来表示。因此,每个块是用户程序的独立部分。
结构化程序有以下优点:
- 通过结构化更容易进行大程序编程。
- 各个程序段都可实现标准化,通过更改参数反复使用。
- 程序结构更简单。
- 更改程序变得更容易。
- 可分别测试程序段,因而可简化程序排错过程。
- 简化了调试。
下图所示为一个结构化程序示意图:“Main”循环 OB 将连续调用子程序,执行所定义的子任务。
块的嵌套深度
块的允许嵌套深度取决于所用的 CPU。
下表列出了最大嵌套深度的参考值。有关所使用 CPU 的详细信息,请参见硬件文档中的技术规范。单击表格中的链接,可访问 Internet 上的硬件文档。
CPU 系列 | 嵌套深度(参考值) | 硬件文档的链接 |
S7-1500 | 每个优先级 24 个块 | SIMATIC S7-1500 / ET 200MP 手册集 |
S7-1200 | 16 个块位于循环 OB 或启动 OB;6 个附加块位于中断事件 OB 中 | SIMATIC S7-1200 自动化系统 |
S7-400 | 每个优先级 24 个块;一个错误 OB 内 1 到 2 个附加块 | SIMATIC S7-400 自动化系统 S7-400 CPU 数据 |
S7-300 | 每个优先级 16 个块;一个错误 OB 内 4 个附加块 | SIMATIC S7-300 CPU 31xC 和 CPU 31x:技术规范 |
ET 200SP | 24 个块 | SIMATIC ET 200SP 手册集 |
结构的嵌套深度结构 (STRUCT) 和 PLC 数据类型 (UDT) 的嵌套深度为 8 级。具体嵌套深度取决于所使用的 CPU。