什么是线性化编程、模块化编程、结构化编程?
今天我们来说一说什么是线性化编程、模块化编程和结构化编程。
线性化编程的程序结构示意图如上图所示,线性化化编程 是将整个用户程序都放在循环组织块OB1中,也就是主程序中,CPU循环扫描时不断地依次执行OB1中的全部指令。线性化编程的特点是结构简单,不带分支,一个程序块包含了系统的所有指令。由于所有的指令都在OB1中,循环扫描工作方式下每个扫描周期都要扫描执行所有的指令,即使某些部分代码在大多数时候并不需要执行,因此,CPU效率低下,没有充分利用。另一方面,如果需要多次执行相同或者类似的操作,需要重复编写相同或类似的程序。再者,由于程序结构不清晰,会造成管理和调试的不方便。建议在编写大型程序时应尽量避免采用线性化编程。
模块化编程的程序结构示意图如上图所示,模块化编程 是将程序根据功能分为不同的逻辑块,在OB1中可以根据条件决定块的调用和执行。模块化编程的特点是控制任务被分成不同的块,易于几个人同时编程,调试也比较方便。由于OB1中根据条件只有在需要时才调用相关的程序块,因此每次循环中不是所有的块都执行,CPU的利用效率得到了提高。模块化编程中,被调用块和调用块之间没有数据交换。
结构化编程的程序结构示意图如上图所示,结构化编程 是将过程要求类似或相关的任务归类,形成通用的解决方案,在相应的程序块中编程,可以在OB1或者其它程序块中调用。该程序块编程时采用形式参数,可以通过不同的实际参数调用相同的程序块。结构化编程中,被调用块和调用块之间有数据交换,需要对数据进行管理。结构化编程必须对系统功能进行合理地分析、分解和综合,对编程设计人员的要求较高。在对西门子S7-1200 CPU编程时,推荐使用结构化编程方法。
以上,我们介绍了西门子S7-1200的几种编程方法,并给大家讲解了什么是线性化编程、模块化编程和结构化编程。想要学习更多西门子PLC编程知识,请持续关注本号内容,我们共同学习提高!
西门子PLC结构化编程详解,电气小白建议收藏!
作为一个自动化行业的从业者,你或多或少应该听过结构化编程。那么什么是结构化编程呢?它是将复杂自动化任务分割成与过程工艺功能相对应或可重复使用的更小的子任务,将更易于对这些复杂任务进行处理和管理。这些子任务在用户程序中以块来表示。因此,每个块是用户程序的独立部分。
在进行PLC编程的时候,我们常用的方式有,线性化编程、模块化编程以及结构化编程。线性化编程只使用一个主程序,所有的程序指令都在主程序中执行,适合小型自动化项目。模块化编程是将一个自动化项目分割成不同的功能模块,比如一个自动化项目可以分成手动、自动、报警等不同的功能,这些不同的功能然后再统一被主程序调用。结构化编程与模块化有些类似,都是使用多个子程序,但是结构化编程将某些可重复性的任务,做成可复用的程序块,方便移植使用。为了直观的理解这三种编程方式的区别,下面以两条流水线的起保停控制作为举例说明。使用的硬件信号表1所示:
表1:IO信号表
01线性化编程
线性化的编程方式,所有的程序都在OB1中,如图1所示:
▲ 图1 线性化编程
02模块化编程
模块化的编程方式,将两条流水线分别在不同的子程序中进行调用,如图2、图3所示:
▲ 图2 主程序调用子程序
▲ 图3 流水线1执行程序
▲ 图4 流水线2执行程序
03结构化编程
结构化编程,则是通过建立FB程序块,内部的功能在FB中实现,该FB块可重复使用,当进行FB程序块调用的时候,会自动生产对应的DB数据块,程序进行控制的时候,定义具体的管脚即可。具体的结构化编程如图所示:
▲ 图5 OB1的程序调用
▲ 图6 流水线1的程序
▲ 图7 流水线2的程序
▲ 图8 流水线功能的背景块
总结
在上文中,对两个流水线的起保停控制,分别用不同的编程方式进行了举例。每种编程方式大致有了一定的认识,由于举例的程序比较简单,所以程序的优缺点不是那么的明显,但是随着项目的程序越来越复杂,编程的工作量越来越大,结构化的编程方式优势会更加明显,它的易读性、复用性可以提高工作的效率。在PLC的编程过程中,推荐大家使用结构化和模块化的混合编程方式。
来源:技成培训网,作者:技成-刘郴,未经授权不得转载!
评论处大家可以补充文章解释不对或欠缺的部分,这样下一个看到的人会学到更多,你知道的正是大家需要的。
如何获取 电气热门资料?
操作指引如下!
相关问答
plc中st是什么意思?
plc中st意思是指StructuredText,是一种基于结构化编程的PLC编程语言。它的语法类似于Pascal语言,具有易读性和易维护性的特点,适用于复杂的控制算法和数据处...
plc结构化编程与普通梯形图区别?
PLC(可编程逻辑控制器)的结构化编程和普通梯形图(LadderDiagram)之间有以下几个区别:1.编程语言:结构化编程使用的是结构化文本语言,如结构化文本编程...P...
PLC编程中简单工程和结构化工程有什么区别..._结构工程师_帮考网
简单工程和结构化工程是两种不同的PLC编程方式。简单工程是一种较为简单的编程方式,通常用于小型控制系统。在简单工程中,程序通常是一条直线式的代...
plc编程和上位机编程区别?
PLC编程和上位机编程是两种不同的编程方式,主要区别如下:1.设备类型:PLC编程是指对可编程逻辑控制器(PLC)进行编程,而上位机编程是指对上位机进行编程,上...
plc编程高级思路?
一、基本的硬件知识编程之前,需要了解一些基本的硬件知识,最好从硬件的选型和画图入手,等把输入输出的类型,模拟量的选型等搞清楚之后,再开始编程会简单点。...
plc程序分段的意义?
便于分类还查找。我们可以为每个分段程序命名,注意不能向结构化编程使用汉字进行命名,只能用数字和字母来命名。这样我们就能在每个分段程序中编程程...Plc,...
plc程序设计语言?
它是一种类似于高级语言的程序设计语言。在大中型的可编程序控制器系统中,常采用结构化语句描述程序设计语言来描述控制系统中各个变量的关系。它也被用于集散...
plc编程谁家的好用?
很高兴回答的问题!就市场占有率来看,西门子最大,其次是三菱、欧姆龙。具体谁家好用,这个不能一概而论,还取决于编程人员对其使用的熟练程度。西门子PLC又...这...
PLC用哪种编程语言比较好?
PLC(可编程逻辑控制器)可以使用多种编程语言进行编程,包括LadderDiagram(梯形图)、StructuredText(结构化文本)、FunctionBlockDiagram(功能块图...
西门子plc结构体变量是什么意思?
西门子PLC结构体变量是一种数据类型,它可以将不同类型的数据组合在一起,形成一个整体,方便程序员进行数据的管理和操作。结构体变量可以包含多个成员变量,每...