什么是线性化编程、模块化编程、结构化编程?
今天我们来说一说什么是线性化编程、模块化编程和结构化编程。
线性化编程的程序结构示意图如上图所示,线性化化编程 是将整个用户程序都放在循环组织块OB1中,也就是主程序中,CPU循环扫描时不断地依次执行OB1中的全部指令。线性化编程的特点是结构简单,不带分支,一个程序块包含了系统的所有指令。由于所有的指令都在OB1中,循环扫描工作方式下每个扫描周期都要扫描执行所有的指令,即使某些部分代码在大多数时候并不需要执行,因此,CPU效率低下,没有充分利用。另一方面,如果需要多次执行相同或者类似的操作,需要重复编写相同或类似的程序。再者,由于程序结构不清晰,会造成管理和调试的不方便。建议在编写大型程序时应尽量避免采用线性化编程。
模块化编程的程序结构示意图如上图所示,模块化编程 是将程序根据功能分为不同的逻辑块,在OB1中可以根据条件决定块的调用和执行。模块化编程的特点是控制任务被分成不同的块,易于几个人同时编程,调试也比较方便。由于OB1中根据条件只有在需要时才调用相关的程序块,因此每次循环中不是所有的块都执行,CPU的利用效率得到了提高。模块化编程中,被调用块和调用块之间没有数据交换。
结构化编程的程序结构示意图如上图所示,结构化编程 是将过程要求类似或相关的任务归类,形成通用的解决方案,在相应的程序块中编程,可以在OB1或者其它程序块中调用。该程序块编程时采用形式参数,可以通过不同的实际参数调用相同的程序块。结构化编程中,被调用块和调用块之间有数据交换,需要对数据进行管理。结构化编程必须对系统功能进行合理地分析、分解和综合,对编程设计人员的要求较高。在对西门子S7-1200 CPU编程时,推荐使用结构化编程方法。
以上,我们介绍了西门子S7-1200的几种编程方法,并给大家讲解了什么是线性化编程、模块化编程和结构化编程。想要学习更多西门子PLC编程知识,请持续关注本号内容,我们共同学习提高!
PLC编程方法概述及线性化编程,再不学习就晚了
用户程序结构
线性程序(线性编程)
所谓线性程序结构,就是将整个用户程序连续放置在一个循环程序块(OB1)中块中的程序按顺序执行,CPU通过反复执行OB1来实现自动化控制任务。这种结构和PLC所代替的硬接线继电器控制类似,CPU逐条地处理指令。事实上所有的程序都可以用线性结构实现,不过,线性结构一般适用于相对简单的程序编写。
分部式程序(分部编程、分块编程)
所谓分部程序,就是将整个程序按任务分成若干个部分,并分别放置在不同的功能(FC)、功能块(FB)及组织块中,在一个块中可以进一步分解成段。在组织块OB1中包含按顺序调用其他块的指令,并控制程序执行。 在分部程序中,既无数据交换,也不存在重复利用的程序代码。功能(FC)和功能块(FB)不传递也不接收参数,分部程序结构的编程效率比线性程序有所提高,程序测试也较方便,对程序员的要求也不太高。对不太复杂的控制程序可考虑采用这种程序结构。
结构化程序(结构化编程或模块化编程 )
所谓结构化程序,就是处理复杂自动化控制任务的过程中,为了使任务更易于控制,常把过程要求类似或相关的功能进行分类,分割为可用于几个任务的通用解决方案的小任务,这些小任务以相应的程序段表示,称为块(FC或FB)。OB1通过调用这些程序块来完成整个自动化控制任务。
结构化程序的特点是每个块(FC或FB)在OB1中可能会被多次调用,以完成具有相同过程工艺要求的不同控制对象。这种结构可简化程序设计过程、减小代码长度、提高编程效率,比较适合于较复杂自动化控制任务的设计。
利用Shift移位指令的线性化编程方法
梯形图指令
EN:Enable 允许输入,使能输入
IN:待移位的原数据
N:要移位的位数
ENO:Enable Out,使能输出
OUT:移位操作的结果
指令使用注意
1、IN、OUT数据类型要与移位指令名称中的类型一致才可移位
2、N的表示方法
可用BCD码表示:C#x 范围0~15
可用16进制数表示:W#16#X 范围:W#16#1~W#16#FFFF
可用存储单元来表示:MWx
3、明确存储器中数据的存放格式
多气缸的应用A+A-B+C+C-B-A+A-
气动回路
1)实现A+A-B+C+C-B-A+A-
2)手动方式下,按下start,按顺序执行
3)自动方式下,按下start,循环执行上述动作10次且循环间隔2s
4)自动方式下,按下pause,工步停止,按下start,当前工步继续 进行,按下stop,1个循环结束后停止
相关问答
plc有两种编程方式分别为?
1、经验法即是运用自己的或别人的经验进行设计,设计前选择与设计要求相类似的成功的例子,并进行修改,增删部分功能或运用其中部分程序,直至适合自己的情况。...
PLC程序设计方法有几种,各有什么特点?
PLC的编程方法有线性化编程、模块化编程和结构化编程i种。线性化编程是将整个用户程序放在主程序OB1中,在CPU循环扫描时执行()BI中的全部指令。其特点是结构简...
plc编程过程控制算法?
在PLC编程中,过程控制算法是用来实现对工业过程的控制和调节的一种方法。下面是一般的PLC编程过程控制算法的步骤:确定控制目标:首先需要明确要控制的过程和...
Plc扩展模块中AD模块的功能是?
AD模块就模拟量输入模块,作用就是把外部输入的电流,电压,热电阻,热电偶等信号接进模拟量输入模块,模拟量模块负责把这些信号转换成数字信号,不同的模块转换...
plc五个工作原理?
PLC组成1.CPU运算和控制中心起“心脏”作用。纵:当从编程器输入的程序存入到用户程序存储器中,然后CPU根据系统所赋予的功能(系统程序存储器的解释编译程序...
西门子plc如何学习?需要什么plc编程软件?
需要学习PLC首先需要知道PLC编程的方式:线性编程、模块化编程、结构化编程。对于西门子PLC,以结构化编程为主,但可以使用线性编程和模块化编程,对于结构化编...
plc是运动控制器吗--jiagee的回答-懂得
plc不是运动控制器。PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算...
在PLC中使用数学问题有哪些?
在PLC(可编程逻辑控制器)中使用数学问题主要涉及以下几个方面:算术运算:PLC可用于执行基本的算术运算,如加法、减法、乘法和除法。这些运算可用于各种应用,...
PLC怎样计算幂、指数、根、多项式、对数和线型值?
用三菱的LOGE指令,用movK123D10(对数设定)FLTD10D20(将数据转换为实属)DLOGED20D30(计算)在D30和D31中就是L...用三菱的LOGE指令,用...
PLC的工作原理?
[回答]适用于有高速响应要求的场合;及时性:电机加减速的动态相应时间短,一般在几十毫秒之内;舒适性:发热和噪音明显降低。PLC可使控制速度,位置精度非常...