STEP 7 编程方法 程序结构 STEP 7为设计程序提供三种方法。基于这些方法,可以选择最适合于你的应用的程序设计方法。 线性化编程 线性编程实例 - 传送带控制 模块化编程 模块化程序的执行 模块化编程实例 - 液位监视 结构化编程 结构化编程实例 程序块类型 用户定义的块 系统块 数据块类型和结构 调用程序块 循环程序执行 过程映象 S7-300 模块的编址 多层组态中的 DI/DO 编址 S7-300模拟量模块的寻址 S7-300培训设备的组成 S7-300 培训设备的组态 S7-400 培训设备的组成 S7-*******设备的组态 模拟器 传送带模型 STEP 7 的可能寻址范围 监视一个慢变的过程不需要每次扫描都进行。如果过程每隔一定时间或根据需要进行处理,程序 将更有效。液位监视图表示了这类过程的一个例子。当OB1循环扫描处理时, 可以按照一定的 周期对液位进行监视。 设计方法 设计程序是采用如下的方法: 1. 确定液位监视的组成部分和它们的关系。注意它们的功能。 2. 良好的文档资料易于对程序进行结构化处理,可以简化后面的 编程。对程序块的每个段加上文字注释和标题。 3. 设计完成所要求控制任务的功能。 4. 规划从OB中调用块完成功能的程序执行过程。 解决方案 当建立程序时,请使用如下的方法: 1. 建立一个功能 FC,它可以监视和控制任务。 2. 建立一个OB,其中每隔一定时间调用块(功能)。在这个时间间 隔执行液位监视。 什是结构化编程 ? 结构化程序把过程要求的类似或相关的功能进行分类,并试图提供可以用于几个 任务的通用解决方案。向指令块提供有关信息(以参数形式),结构化程序能够重复 利用这些通用模块。 这些模块的例子包括: - 传送带系统中所有交流电机的通用逻辑控制的块 - 装配线机械中所有电磁线圈的通用逻辑控制的块 - 造纸机器中所有驱动装置的通用逻辑控制的块 它如何执行? OB1 (或其他块)中的程序调用这些通用执行块。和模块化编程不同,通用的数据 和代码可以共享。 优点和缺点是什么? 不需要重复这些指令,然后对不同的设备代入不同的地址,可以在一个块中写程 序,用程序把参数(例如:要操作的设备或数据的地址)传给程序块。这样,可 以写一个通用模块,更多的设备或过程可以使用此模块。当使用结构化编程方 法时,需要管理程序存储和使用数据。 选择产品添加剂,需要决定哪个罐的成分要加到混合罐内。由于罐的控制具有相似的特点, 可以建立一个块选择产品。在选择开关的选择基础上,组织块调用相应的程序块,分配当 前的参数,控制混合罐的流入量。 设计方法 采用如下的方法 设计结构化程序: 1. 确定哪些部件和操作可以应用于所有的罐和相关的控制。 2. 建立功能或功能块,完成所要求的控制。 3. 建立块的变量定义表,以便于对要操作的罐和控制进行地址分配。 4. 设计一个程序来根据选择开关调用功能或功能块。 解决方案 采用如下的步骤建立程序逻辑: 1. 建立一个功能块或功能控制罐的流出量。(如果使用FB,还必须 建立背景数据块DB。如果使用FC, 就不需要建立背景数据块 DB)。 2. 为相关的块建立变量定义表。注意参数的设计和地址。 3. 建立一个OB块来根据选择开关调用功能或功能块。在结构化 编程中,调用功能的处理与在模块化编程中一样。 组织块 OB块构成了S7 CPU 和用户程序的接口。可以把全部程序存在OB1中, 让它连续不断地循环处理。也可以把程序放在不同的块中,用OB1在需 要的时候调用这些程序块。除OB1外。操作系统根据不同的事件可以调 用其他的OB块, 例如: - 时间-日期中断 - 周期时间中断 - 诊断中断 - 硬件中断 - 故障处理中断 - 硬件启动 功能块(FB) 功能块是在逻辑操作块内的功能或功能组,在操作块内分配有存储器,并 存储有变量。FB 需要这个背景数据块形式的辅助存储器。通过背景数据 块传递参数,而且,一些局部参数也保存在此区。其他的临时变量存在局 部堆栈中。保存在背景数据块内的数据,当功能块关闭时数据仍保持。 而保存在局部堆栈中的数据不能保存。 功能(FC) 功能是类似于功能块的逻辑操作块,但是,其中不分配存储区。FC 不需 要背景数据块。临时变量保存在局部堆栈中,直到功能结束。当FC执行 结束时,使用的变量要丢失。 数据块 (DB) 数据块是一个永久分配的区域,其中保存其他功能的数据或信息。数据块 是可读/写区,并做为用户程序的一部分转入CPU。 系统功能块(SFC) 系统功能是集成在S7 CPU中的已经编程并调试过的功能。这些块 支持的一些任务是设置模块参数、数据通讯和拷贝功能等。用户程序 可以不用装载直接调用SFC。SFC不需要分配数据块。 系统功能块(SFB) 系统功能块是S7 CPU的集成功能。 由于SFB是操作系统的一部分,用 户程序可以不用装载直接调用SFB。 SFB需要分配背景数据块DB,数据块必须作为用户程序的一部分下装 到CPU。 系统数据块(SDB) 系统数据块是由不同STEP 7工具产生的程序存储区,其中存有操作控 制器的必要数据。SDB中存有一些信息,例如:组态数据、通讯连接 和参数。 数据块 (DB)是CPU中用户程序存储数据的区域。如果逻辑块 (FC, FB 或 OB) 进行调用,它要在 局部数据区使用存储空间。除这个局部数据区外,逻辑块可以用背景数据块(DB)的形式打开一个 存储区。与存在局部区的数据不同,当DB关闭或逻辑块处理结束时,背景数据块 (DB)中的数据 并不清除。有两个不同的数据块类型,每个数据块根据其与逻辑块的关系不同,所起 的作用也 不 同。 全局数据块 全局数据块可以被程序的所有逻辑块使用。每个 FB、FC、或OB都可 以读/写一个共享数据块DB。数据块中的数据当其关闭时仍保持不变。 当建立一个共享数据块时,需要输入在DB中要保存的变量(名称和 数 据类型)。所输入的数据的顺序决定了DB中的数据结构。 背景数据块 背景数据块DB 和特定的功能块有关。这里,存储在背景数据块中的数 据只能由特定的功能块进行读/写。背景数据块为功能块提供了数据传 递的存储器空间。当数据块关闭时,所存储的数据并不清除,(和功能 或功能块中的局部数据不同,当数据块关闭时,功能或功能块中的局部 数据要清除) 。一个功能块可以分配几个背景数据块。 当开发一个复杂程序时,需要通过另一个程序调用一个块。可以把各个子任务存在功能块(FB) 和功能(FC)中。如上面的图所示,当程序调用第二个块时,执行被调用的块的指令。 一旦被调用的块执行结束其指令,参与调用的块继续执行其程序指令。 I 输入 Q 输出 B 字节 (8位) W 字(16位) D 双字(32位) M 存储器 P 外设 (直接访问) T 定时器 C 计数器 DB 数据块 DI 数据块 (用作背景数据块) 注意 CPU的型号不同,最大的地址可能小于上表的数据。 用户块 用户块包括程序代码和用户数据。 在结构化程序中,一些块循环调用处理,一些块需要时才调用。 系统
3.编程方法.ppt
下载此电子书资料需要扣除0点,