05S7-300程序结构与程序设计01课件.ppt
文本预览下载声明
第5章 S7-300程序结构与程序设计 第5章 S7-300程序结构与程序设计 STEP7的块 * * 第5章 S7-300程序结构与程序设计 * 第6章 西门子S7-300系列PLC基本指令 电气控制技术与PLC应用 5.1 S7-300 CPU 中的程序 S7-300 CPU程序分操作系统和用户程序: 操作系统:由PLC的生产厂家提供,完成PLC起动、刷新、调用用户程序、中断/诊断/通信处理等任务。 用户程序:用户为完成特定的任务而编写的应用程序,由STEP 7编写,编译后下载到PLC的CPU中。 5.1.1 用户程序中的块 STEP7用文件块的形式管理用户编写的程序及程序运行所需的数据,组成结构化的用户程序。 结构化编程可使程序组织明确、结构清晰、易于阅读和修改。 STEP7 用户程序块: 组织块(OB) 功能块(FB) 功能(FC) 数据块(DB) 逻辑块 1.组织块OB OB1是主程序循环块,在任何情况下都必须存在。 OB100~OB102用于系统初始化 —— 只上电执行一次。 OB10~OB17用于日期时间中断 —— CPU属性设置。 OB30~OB38用于循环中断 —— CPU属性设置。 OB10...17 日期时间中断 OB80...87 异步错误 OB20...23 延时中断 定期的 程序执行 OB30...38 循环中断 事件驱动的 程序执行 OB40...47 硬件中断 OB100 OB101 启动 OB102 循环的 程序执行 OB1 OB121, 122 同步错误 错误OB 中断OB 2.功能块FB和功能FC FB、FC是用户“子程序”; FB带“记忆”功能,数据记忆在FB带有的背景数据块DB(Instance Data Block)中; 在FB块结束时数据继续保持,即被“记忆”。 功能FC不带“记忆”,没有背景数据块。 3.系统功能块SFB和系统功能SFC SFB和SFC集成在S7功能程序库中; 用户可以直接调用,但不能修改。 4.数据块DB DB是用户定义的用于存取数据的存储区,可以被打开或关闭。 DB可以是某个FB的背景数据块;也可以是通用的全局数据块,用于FB或FC的数据存储。 数据块分类: 全局(共享)数据块 背景数据块 用户定义数据块。 5.FC和FB的区别 FB带自己的存储区(背景数据块); FC不带存储区; 调用FB可以通过背景数据块传递参数,因此必须指定一背景数据块; 调用FC必须通过实参和形参互传参数。 块调用的分层结构 5.1.2 用户程序设计方法: 1.线性化编程 把用户程序全部放置在一个循环程序块(OB1)中,块中的程序按顺序逐条执行; CPU通过反复执行OB1来实现自动化控制任务。 这种结构和PLC所代替的硬接线继电器控制类似。 2.模块化编程(分部式) 把整个程序按任务分成若干个部分,并分别放置在不同的功能(FC)、功能块(FB)及组织块中; 在一个块中可以进一步分解成段。 在组织块OB1中包含按顺序调用这些块的指令,并控制程序执行。 3. 结构化编程 根据控制任务,把过程要求类似或相关的功能进行分类,分割为几个通用的小任务,这些小任务用相应的程序段表示,称为块(FC或FB)。 OB1通过调用这些程序块来完成自动化控制任务。 特点: 每个块(FC或FB)在OB1中可能会被多次调用,以完成相同工艺要求但不同参数的控制对象。 简化程序设计过程、减小代码长度、提高编程效率。 适合较复杂的自动化控制任务的设计。 5.2 数据块中的数据存储 5.2.1 数据存储区 数据以变量形式存储,且具唯一。 数据可以存储在PII、PIQ、M、L堆栈和DB中。 数据可以基本数据类型、复杂数据类型或参数类型。 全局变量——符号表或共享数据块中声明的变量。 局部变量—— OB、FC和FB的变量声明表中的变量。 5.2.2 数据块 1.数据块的分类 符号表:只为方便程序阅读,用于给变量设定名称;符号表中变量为全局变量,可在程序所有地方使用。 全局(共享)数据块:存储全局数据,所有逻辑块(OB、FC、FB)都可以访问共享数据块的数据。 背景数据块:私有存储器区,只用作FB的存储器。 背景数据块中包含了FB的参数和静态变量。 背景数据块由编辑器生成,不能由用户编辑。 用户定义数据块:以UDT为模板所生成的数据块。 2.数据块寄存器 CPU有两个数据块寄存器: DB(共享数据块):DBX、DBB、DBW、DBD DI(背景数据块): DIX、DIB、DIW、DID 可以同时被打开。 5.2.3 数据块的数据结构 数据块中含有不同数据类型的数据; 在STEP 7数据块中的数据包括: 基本数据类型 复杂数据类型 用户定义数据类型(UDT) 5.2.4 建立数据块 STEP7中,只要使用
显示全部