基本信息
文件名称:《机床电气与PLC控制技术》课件 2 用户程序结构.pptx
文件大小:2.39 MB
总页数:14 页
更新时间:2025-06-04
总字数:约2.46千字
文档摘要

用户程序的结构

目录1用户程序中的块2组织块OB3功能FC4功能块FB5数据块6块的调用

1用户程序中的块S7-1200PLC编程采用块的概念,即将程序分解为独立的、自成体系的各个部件,块类似于程序的功能。优点:采用块的概念便于大规模程序的设计和理解,可以设计标准化的块程序进行重复调用,程序结构清晰明了,修改方便,调试简单。

1用户程序中的块表1用户程序中的块S7-1200PLC程序提供了多种类型的块,见表1。其中OB、FB、FC都包含程序,统称为代码块。代码块的个数没有限制,但是受到存储器容量的限制。

2组织块OB组织块(OrganizationBlock,OB)是操作系统与用户程序的接口,由操作系统调用。作用:控制用户程序扫描循环和中断程序的执行、PLC的启动和错误处理等。每个组织块必须有一个唯一的OB编号,123之前的某些编号是保留的,其他组织块编号必须大于等于123。CPU中特定的事件触发组织块的执行。特点:组织块不能相互调用,也不能被FC和FB调用。只有启动事件(如诊断中断或时间间隔)可以启动组织块的执行。CPU按优先等级处理组织块,即先执行优先级较高的组织块然后执行优先级较低的组织块。最低优先级为1(对应主程序循环),最高优先等级为27(对应时间错误中断)。

2组织块OB(1)启动组织块CPU的工作模式从STOP切换到RUN时执行一次启动程序。作用:用于系统初始化,初始化程序循环组织块中的某些变量。执行完启动组织块后,开始执行程序循环组织块。可以有多个启动OB,OB100是默认的启动组织块,其他启动组织块的编号应大于等于123。

2组织块OB(2)程序循环组织块要启动程序执行,项目中至少要有一个程序循环OB。操作系统每个周期调用该程序循环OB一次,从而启动用户程序的执行。用户在其中放置控制程序的指令以及调用其他用户块。可以使用多个OB(OB编号大于等于123),默认的是OB1,其他程序循环组织块的编号应大于等于123。特点:使用多个程序循环OB时,将按照OB编号依次调用。首先调用OB编号最低的程序循环OB。程序循环OB的优先等级为1。这对应于所有OB的最低优先级。任何其它事件类别的事件都可以中断循环程序。

2组织块OB(3)中断组织块功能:中断处理用来实现对特殊内部事件或外部事件的快速响应。工作过程:①如果没有中断事件出现,CPU循环执行组织块OB1和它调用的块。②如果出现中断事件,例如诊断中断和时间延迟中断等,CPU暂停正在执行的程序块,自动调用一个分配给该事件的组织块(即中断程序)来处理中断事件。执行完中断组织块后,返回被中断的程序的断点处继续执行原来的程序。

3功能FC功能(Function,FC)是一种不带“存储区”的代码块。FC类似于子程序,仅在被其他程序调用时才执行此程序。特点:(1)用户可以将不同的任务编写到不同的FC中,同一FC可以在不同的地方被多次调用,简化了对重复发生的函数(功能)的编程。(2)由于FC没有它自己的存储区,所以必须为其指定实际参数,不能为一个FC的局部数据分配初始值。(3)FC没有固定的存储区,执行结束后,其临时变量中的数据就会丢失。可以用全局数据块或M存储区来存储那些在函数执行结束后需要保存的数据。

4功能块功能块FB与函数FC一样,类似于子程序,但FB是带“存储器”的块。特点:背景数据块作为存储器分配给FB。传递给FB的参数和静态变量都保存在背景数据块中。当FB执行结束时,存在背景数据块中的数据不会丢失。在编写调用FB的程序时,必须指定背景数据块的编号,调用时背景数据块被自动打开。可以在用户程序中或通过人机界面接口访问这些背景数据。一个FB可以有多个背景数据块,使FB用于不同的被控对象,称为多重背景数据块。

5数据块功能:数据块(DataBlock,DB)是用于存放执行用户程序时所需要的变量数据的数据区。访问方式:用户程序以位、字节、字或双字操作访问数据块中的数据,可以使用符号或绝对地址。数据块与临时数据不同,当代码块执行结束时或数据块关闭时,数据块中的数据不会被覆盖。数据块同代码块一样占用用户存储器的空间,但不同于代码块的是,数据块中没有指令,STEP7按变量生成的顺序自动地为数据块中的变量分配地址。

5数据块数据块分为全局数据块和背景数据块。(1)全局数据块全局数据块不能分配给代码块,任何代码块