第6章 结构化编程.pdf
文本预览下载声明
第六章 结构化编程
主讲:程子华
6.1 程序设计方法
• 在STEP7中有三种编程方法:线性化编程、模块化编程、
结构化编程。
• 线性化编程:线性化编程是将整个程序都放在循环控制组
织块OB1中。在整个程序执行的过程中,每一步都被扫描,
适用与一些比较简单的程序。如果是编写大型程序,要避
免线性化编程。
• 模块化编程:将程序分成根据功能分成不同的逻辑块,没
一逻辑块的功能不同,然后在OB1中可以根据条件调用不
同的功能块,特点是易于分工合作,调试方便。
• 结构化编程:结构化编程是将过程要求中类似或相似的任
务归类,在功能或功能块中编程,形成通用的解决方案。
一。块的分类
组织块(OB ),直接有系统调用
功能块(FB),由其他逻辑块调用
用户程序 功能(FC),由其他逻辑块调用。
数据块(DB),
操作系统
系统功能(SFC )
系统程序 系统功能块(SFB )
系统数据块(SDB )
二。块的含义及调用
• (一).功能(FC)
• 功能是用户所编写的无固定存储区的块。它为不带“记忆”
的逻辑块。所谓不带“记忆”表示没有背景数据块。当完
成操作后,数据不能保持。这些数据为临时变量,对于那
些需要保存的数据只能通过共享数据块(SB )来存储。
调用功能时,需要用实参来代替形参。
• (二)。功能块(FB)
• 功能块是用户所编写的有固定存储区的块。FB为带“记忆”的
逻辑块。它有一个数据结构与功能块参数表完全相同的数据块
(DB)。我们称该数据块为背景数据块,当数据块背执行时,
数据块背调用;功能块结束,调用随之结束。存放在背景数据
块中的数据在FB块结束以后,仍能继续保持,具有“记忆”功
能。
• 一个功能块可以有多个背景数据块,使功能块可以被不同的对
象使用。
• 数据块包含共享数据块和背景数据块两种类型,共享数据块存
储的是全局变量,所有的逻辑块都可以从共享数据块中读取数
据,背景数据块则从属于某个功能块,用于传递参数。
• 块的调用即为子程序调用,块可以嵌套调用,嵌套的层数与
CPU的型号有关。
三. 块的结构
• 块是有变量声明表和程序组成的。
• 变量声明表。每个逻辑块都有变量声明表,而变量声明表是用来说明
块的局部数据,局部数据包含参数和局部变量两大类型,在不同的的
逻辑块中可以重复声明和使用同一个局部数据,因为它们在每一个块
中有效一次。
局部数据声明类型
变量名 类 型 说 明
输入 IN 为调用逻辑块提供数据,输入给逻辑块。
输出 OUT 从逻辑块中输出数据结果
输入/输出 IN_OUT 参数值可以输入,也可以输出
静态变量 STAT 静态变量存储于背景数据块中,块调用结束后,
变量被保留
临时变量 TEMP 临时变量存储于L堆栈中,块执行结束后,变
量消失。
6.2 功能和功能块编程及调用举例
• 一。功能和功能块的编程步骤:
• 1. 定义局部变量,首先定义形参和临时变量。
• 2. 编写执行程序,在编
显示全部