程序结构和编程.pptVIP

  • 5
  • 0
  • 约4.27千字
  • 约 38页
  • 2017-05-21 发布于湖北
  • 举报
I/O分配: I1.0汽油发动机启动 Q5.0汽油发动机启动命令 I1.1汽油发动机停止 Q5.2汽油发动机风扇的启动命令 I1.2汽油发动机故障 T1汽油发动机风扇延时关闭定时器 I1.4柴油发动机启动 Q5.4柴油发动机启动命令 I1.5柴油发动机停止 Q5.6柴油发动机风扇启动命令 I1.6柴油发动机故障 T2柴油发动机风扇延时关闭定时器 Fc1风扇控制 FB1发动机控制 FB10发动机控制上层功能块 DB3共享数据块 DB10 FB10的实例数据块 Date: * Page: * 1 S7 CPU中的程序 1.1 用户程序中的块结构 1.2 用户程序结构 1.3 I/O过程映像 1.4 程序循环执行 返回本章 1.1 用户程序中的块结构 返回本节 1.2 用户程序结构 线性程序(线性编程) 分部式程序(分部编程、分块编程) 结构化程序(结构化编程或模块化编程) 返回本节 1. 线性程序(线性编程) 所谓线性程序结构,就是将整个用户程序连续放置在一个循环程序块(OB1)中,块中的程序按顺序执行,CPU通过反复执行OB1来实现自动化控制任务。这种结构和PLC所代替的硬接线继电器控制类似,CPU逐条地处理指令。事实上所有的程序都可以用线性结构实现,不过,线性结构 一般适用于相对简单的程序编写。 返回上级 2.分部式程序(分部编程、分块编程) 所谓分部程序,就是将整个程序按任务分成若干个部分,并分别放置在不同的功能(FC)、功能块(FB)及组织块中,在一个块中可以进一步分解成段。在组织块OB1中 包含按顺序调用其他块的指令,并控制程序执行。 在分部程序中,既无数据交换,也不存在重复利用的程序代码。功能(FC)和功能块(FB)不传递也不接收参数,分部程序结构的编程效率比线性程序有所提高,程序测试也较方便,对程序员的要求也不太高。对不太复杂的 控制程序可考虑采用这种程序结构。实际上就是编辑并调用无参功能(FC) 。 返回上级 3. 结构化程序(结构化编程或模块化编程) 所谓结构化程序,就是处理复杂自动化控制任务的过程中,为了使任务更易于控制,常把过程要求类似或相关的功能进行分类,分割为可用于几个任务的通用解决方案的小任务,这些小任务以相应的程序段表示,称为块(FC或FB)。OB1通过调用这些程序块来完成整个自动化控制任 务。 结构化程序的特点是每个块(FC或FB)在OB1中可能会被多次调用,以完成具有相同过程工艺要求的不同控制对象。这种结构可简化程序设计过程、减小代码长度、提高 编程效率,比较适合于较复杂自动化控制任务的设计。实际上就是编辑并调用有参功能(FC)。 返回上级 1.3 I/O过程映像 返回本节 1.4 程序循环执行 返回本节 功能(FC)、功能块(FB)和组织块(OB)统称为逻辑块(或程序块)。功能块(FB)有一个数据结构与该功能块的参数完全相同的数据块,称为背景数据块,背景数据块依附于功能块,它随着功能块的调用而打开,随着功能块的结束而关闭。存放在背景数据块中的数据在功能块结束时继续保持。而功能(FC)则不需要背景数据块,功能调用结束后数据不能保持。组织块(OB)是由操作系统直接调用的逻辑 块。 3.1 逻辑块(FC和FB)的结构 3.1 逻辑块(FC和FB)的编程 3 逻辑块(FC和FB)的结构及编程 返回本章 逻辑块(OB、FB、FC)由变量声明表、代码段及其属性等几部分组成。 局部变量声明表(局部数据) 逻辑块局部变量的数据类型 逻辑块的调用过程及内存分配 3.1 逻辑块(FC和FB)的结构 返回本节 每个逻辑块前部都有一个变量声明表,称为局部变量声明表。 1. 局部变量声明表 局部数据分为参数和局部变量两大类,局部变量又包括静态变量和临时变量(暂态变量)两种。 返回上级 对于功能块(FB),操作系统为参数及静态变量分配的存储空间是背景数据块。这样参数变量在背景数据块中留有运行结果备份。在调用FB时,若没有提供实参,则功能块使用背景数据块中的数值。操作系统在L堆栈中给FB的临时变量分配存储空间。 对于功能(FC),操作系统在L堆栈中给FC的临时变量分配存储空间。由于没有背景数据块,因而FC不能使用静态变量。输入、输出、I/O参数以指向实参的指针形式存储在操作系统为参数传递而保留的额外空间中。 对于组织块(OB)来说,其调用是由操作系统管理的,用户不能参与。因此,OB只有定义在L堆栈中的临时变量。 返回上级 对逻辑块编程时必须编辑下列三个部分: 变量声明:分别定义形参、静态变量

文档评论(0)

1亿VIP精品文档

相关文档