打开网易新闻 查看更多图片

线性化编程的程序结构示意图如上图所示,线性化化编程是将整个用户程序都放在循环组织块OB1中,也就是主程序中,CPU循环扫描时不断地依次执行OB1中的全部指令。线性化编程的特点是结构简单,不带分支,一个程序块包含了系统的所有指令。由于所有的指令都在OB1中,循环扫描工作方式下每个扫描周期都要扫描执行所有的指令,即使某些部分代码在大多数时候并不需要执行,因此,CPU效率低下,没有充分利用。另一方面,如果需要多次执行相同或者类似的操作,需要重复编写相同或类似的程序。再者,由于程序结构不清晰,会造成管理和调试的不方便。建议在编写大型程序时应尽量避免采用线性化编程。

模块化编程的程序结构示意图如上图所示,模块化编程是将程序根据功能分为不同的逻辑块,在OB1中可以根据条件决定块的调用和执行。模块化编程的特点是控制任务被分成不同的块,易于几个人同时编程,调试也比较方便。由于OB1中根据条件只有在需要时才调用相关的程序块,因此每次循环中不是所有的块都执行,CPU的利用效率得到了提高。模块化编程中,被调用块和调用块之间没有数据交换。

打开网易新闻 查看更多图片

结构化编程的程序结构示意图如上图所示,结构化编程是将过程要求类似或相关的任务归类,形成通用的解决方案,在相应的程序块中编程,可以在OB1或者其它程序块中调用。该程序块编程时采用形式参数,可以通过不同的实际参数调用相同的程序块。结构化编程中,被调用块和调用块之间有数据交换,需要对数据进行管理。结构化编程必须对系统功能进行合理地分析、分解和综合,对编程设计人员的要求较高。在对西门子S7-1200 CPU编程时,推荐使用结构化编程方法。