S7-1200PLC用户程序结构与故障诊断.ppt

上传人:scccc 文档编号:13800382 上传时间:2022-01-24 格式:PPT 页数:83 大小:816KB
返回 下载 相关 举报
S7-1200PLC用户程序结构与故障诊断.ppt_第1页
第1页 / 共83页
S7-1200PLC用户程序结构与故障诊断.ppt_第2页
第2页 / 共83页
S7-1200PLC用户程序结构与故障诊断.ppt_第3页
第3页 / 共83页
S7-1200PLC用户程序结构与故障诊断.ppt_第4页
第4页 / 共83页
S7-1200PLC用户程序结构与故障诊断.ppt_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《S7-1200PLC用户程序结构与故障诊断.ppt》由会员分享,可在线阅读,更多相关《S7-1200PLC用户程序结构与故障诊断.ppt(83页珍藏版)》请在三一文库上搜索。

1、S7-1200PLC用户程序结构与故障诊断,1,第 3 章S7-1200 PLC的用户程序结构与故障诊断,S7-1200PLC用户程序结构与故障诊断,2,3.1 用户程序结构简介模块化编程 1/3,模块化编程将复杂的自动化任务划分为对应于生产过程的技术功能的较小的子任务,每个子任务对应于一个称为“块”的子程序,可以通过块与块之间的相互调用来组织程序。这样的程序易于修改、查错和调试。,S7-1200PLC用户程序结构与故障诊断,3,3.1 用户程序结构简介模块化编程 2/3,块结构显著增加了PLC程序的组织透明性、可理解性和易维护性。OB、FB、FC都包含代码,统称为代码块(Code)块。被调用

2、的代码块又可以调用别的代码块,这种调用称为嵌套调用。在块调用中,调用者可以是各种代码块,被调用的块是OB之外的代码块。调用功能时需要为它指定一个背景数据块。,S7-1200PLC用户程序结构与故障诊断,4,3.1 用户程序结构简介模块化编程 3/3,编程时被调用的块应该是已经存在的块,即应先创建被调用的块及其背景数据块。,S7-1200PLC用户程序结构与故障诊断,5,3.1 用户程序结构简介组织块 1/6,组织块(Organization Block,OB)是操作系统与用户程序的接口,由操作系统调用,用于控制循环扫描和中断程序的执行、PLC的启动和错误处理等。组织块的程序是用户编写的。每个组

3、织块必须有唯一的OB编号,200之前的某些编号是保留的,其他OB的编号应大于等于200.没有可以调用OB的指令,S7-1200 CPU具有基于事件的特性,只有发生了某些特定事件,相应的OB才会被执行。不要试图在OB/FC/FB中调用某个OB,除非用户触发与此OB相关的OB。例如用户可以在OB1中通过SRT_DINT指令设置延迟时间,当延迟时间到达时,延迟中断OB被触发。当特定事件发生时,相应OB被调用,无论其是否包含程序代码。,S7-1200PLC用户程序结构与故障诊断,6,3.1 用户程序结构简介组织块 2/6,程序循环组织块(Program cycle OB):OB1是用户程序中的主程序,

4、CPU循环执行操作系统程序,在每一次循环中,操作系统调用一次OB1。因此OB1中的程序也是循环执行的。允许有多个程序循环OB,默认的是OB1,其他程序循环OB的编号应大于等于200。,S7-1200PLC用户程序结构与故障诊断,7,3.1 用户程序结构简介组织块 3/6,启动组织块(Startup OB):当CPU的工作模式从STOP切换到RUN时,执行一次启动(Startup)组织块,来初始化程序循环OB中的某些变量。执行完启动OB后,开始执行程序循环OB。可以有多个启动OB,默认的为OB100,其他启动OB的编号应大于等于200。,S7-1200PLC用户程序结构与故障诊断,8,3.1 用

5、户程序结构简介组织块 4/6,中断组织块(Interrupt OB):中断组织块用来实现对特殊内部事件或外部事件的快速响应。如果没有中断事件出现,CPU循环执行组织块OB1。如果出现中断事件,例如诊断中断和时间延迟中断等,因为OB1的中断优先级最低,操作系统在执行完当前程序的当前指令后,立即响应中断。CPU暂停正在执行的程序块,自动调用一个分配给该事件的组织块(即中断程序)来处理中断事件。执行完中断组织块后,返回被中断的程序的断点处继续执行原来的程序。这意味着部分用户程序不必在每次循环中处理,而是在需要时才被及时处理。处理中断事件的程序放在该事件驱动的OB中。,S7-1200PLC用户程序结构

6、与故障诊断,9,3.1 用户程序结构简介组织块 5/6,时间延迟中断组织块(Time-delay OB):此OB可以通过SRT_DINT指令设置其延迟时间,当延迟时间到达时,延迟中断OB被触发。 周期中断组织块(Cyclic interrupt OB):将在指定间隔之间被执行。 硬件中断组织块(Hardware interrupt OB):将在指定的硬件事件发生时被执行,例如数字量输入信号的上升沿或下降沿。,S7-1200PLC用户程序结构与故障诊断,10,3.1 用户程序结构简介组织块 6/6,时间错误中断组织块(Time-error interrupt OB):此OB将在检测到时间错误(程

7、序循环扫描OB执行时间超出了CPU属性中定义的最大扫描时间)时被执行,此OB的编号只能是OB80。当CPU中没有此OB时,用户可以指定当时间错误发生时CPU是忽略此错误还是转换到STOP模式。 诊断错误中断组织块(Diagnostic error interrupt OB):此OB将在检测到诊断错误时被执行,此OB的编号只能是OB82。当CPU中没有此OB时,用户可以指定当诊断错误发生时CPU是忽略此错误还是转换到STOP模式。,S7-1200PLC用户程序结构与故障诊断,11,3.1 用户程序结构简介功能,功能(Function,FC)是用户程序编写的子程序,它包含完成特定任务的代码和参数。

8、FC和FB有与调用它的块共享的输入参数和输出参数。执行完FC和FB后,返回调用它的代码块。功能是快速执行的代码块,用于执行下列任务:完成标准的和可重复使用的操作,例如算术运算;完成技术功能,例如使用位逻辑运算的控制。可以在程序的不同位置多次调用同一个FC,这可以简化重复执行的任务的变成。功能没有固定的存储区,执行结束后,其临时变量中的数据就丢失了。可以用全局数据块或M存储区来存储那些在功能执行结束后需要保持的数据。,S7-1200PLC用户程序结构与故障诊断,12,3.1 用户程序结构简介功能块,功能块(Function Block,FB)是用户程序编写的子程序。调用功能块时,需要制定背景数据

9、块,是功能块专用的存储区。CPU执行FB中的程序代码,将块的输入、输出参数和局部静态变量保存在背景数据块中,以便可以从一个扫描周期到下一个扫描周期快速访问它们。FB的典型应用是执行不能在一个扫描周期结束的操作。在调用FB时,打开了对应的背景数据块,后者的变量可以供其他代码块使用。调用同一个功能块时使用不同的背景数据块,可以控制不同的设备。例如用来控制水泵和阀门的功能使用包含特定的操作参数的不同的背景数据块,可以控制不同的水泵和阀门。S7-1200的部分指令(例如IEC标准的定时器和计数器指令)实际上是功能块,在调用它们时需要指定配套的背景数据块。,S7-1200PLC用户程序结构与故障诊断,1

10、3,3.1 用户程序结构简介数据块,数据块(Data block,DB)是用于存放执行代码块时所需的数据的数据区,有两种类型的数据块:全局(Global)数据块:存储供所有的代码块使用的数据,所有的OB、FB和FC都可以 访问。背景数据块:存储供特定的FB使用的数据。,S7-1200PLC用户程序结构与故障诊断,14,3.2 PLC的工作原理操作系统与用户程序,CPU的操作系统用来组织与具体的控制任务无关的所有的CPU功能,包括:处理暖启动、刷新输入/输出过程映像、调用用户程序、检测中断事件和调用中断组织块等。用户程序:处理具体的最大化任务必须的所有功能,包括:1)检查是否满足暖启动需要的条件

11、,例如限位开关是否在正确的位置,安全继电器是否处于正常的工作状态;2)处理过程数据,例如用读取的输入信号来控制输出信号等;3)用OB中的程序对中断事件作出反应,例如在诊断错误中断组织块OB82中发出报警信号;4)在程序执行中处理错误。,S7-1200PLC用户程序结构与故障诊断,15,3.2 PLC的工作原理CPU的工作模式 1/4,CPU 有三种工作模式: STOP 模式、STARTUP 模式和 RUN 模式。CPU 前面的状态 LED 指示当前工作模式。 在 STOP 模式下,CPU 不执行任何程序,而用户可以下载项目。 在 STARTUP 模式下,执行一次启动OB(如果存在)。在RUN

12、模式的启动阶段,不处理任何中断事件。 在RUN模式下,重复执行扫描周期。中断事件可能会在程序循环阶段的任何点发生并进行处理。处于RUN模式下时,无法下载任何项目。,S7-1200PLC用户程序结构与故障诊断,16,3.2 PLC的工作原理CPU的工作模式 2/4,在 STOP 模式下,CPU 处理所有通信请求(如果适用)并 执行自诊断。 在STOP模式下,CPU不执行用户程序,过程映像也不会自动更新。,S7-1200PLC用户程序结构与故障诊断,17,3.2 PLC的工作原理CPU的工作模式 3/4,上电后CPU进入STARTUP模式,进行上电诊断和系统初始化,检查到某些错误时,将禁止CPU进

13、入RUN模式,保持在STOP。,STARTUP:A 复位I 存储区 B 使用上一次RUN模式最后的值或替换值初始化输出 C 执行启动 OB D 将物理输入的状态复制到 I 存储器 E 将所有中断事件存储到要在 RUN模式下处理的队列中 F 将过程映像输出区(Q区)的值写到物理输出,S7-1200PLC用户程序结构与故障诊断,18,3.2 PLC的工作原理CPU的工作模式 4/4,启动阶段结束后,进入 RUN 模式,CPU 执行下图所示的任务:,RUN 将过程映像输出区(Q区)的值写到物理输出 将物理输入的状态复制到 I 存储器 执行程序循环 OB 处理通信请求和进行自诊断 在扫描周期的任何阶段

14、处理中断和通信,S7-1200PLC用户程序结构与故障诊断,19,3.2 PLC的工作原理工作模式的切换,CPU模块上没有切换工作模式的模式选择开关,只能用STEP 7 Basic在线工具中的CPU操作员面板,或工具栏上的按钮,来切换STOP或RUN工作模式。也可以在程序中用STP指令使CPU进入STOP模式。,S7-1200PLC用户程序结构与故障诊断,20,3.3 功能与功能块功能的特点,功能(Function, FC)和功能块(Function Block, FB)是用户编写的子程序,他们包含完成特定任务的程序。FC和FB有与调用它的块共享的输入、输出参数,执行完FC和FB后,将执行结果

15、返回给调用它的代码块。功能没有固定的存储区,功能执行结束后,其局部变量中的临时数据就丢失了。可以用全局变量来存储那些在功能执行结束后需要保存的数据。,S7-1200PLC用户程序结构与故障诊断,21,3.3 功能与功能块生成功能,设压力变送器量程的下限为0MPa,上限为High MPa,经A/D转换后得到027648的整数。数字N和压力P之间的计算公式:,双击,S7-1200PLC用户程序结构与故障诊断,22,3.3 功能与功能块功能的局部数据 1/3,在界面区中生成局部变量,只能在它所在的块中使用。局部变量的名字有字符(包括汉字)和数字组成。1)Input(输入参数):由调用它的块提供的输入

16、数据。2)Output(输出参数):返回给调用它的块的程序执行结果。3)InOut(输入_输出参数):初值有调用它的块提供,块执行后将它的返回值返回给调用它的块。4)Temp(临时数据):暂时保存在局部数据堆栈中的数据。只是在执行块时使用临时数据,执行完后,不在保存临时数据的数值,它可能被别的块的临时数据覆盖。5)Return中的Ret_Val(返回值),属于输出参数。,S7-1200PLC用户程序结构与故障诊断,23,3.3 功能与功能块功能的局部数据 2/3,S7-1200PLC用户程序结构与故障诊断,24,3.3 功能与功能块功能的局部数据 3/3,生成局部变量时,不需要指定存储器地址,

17、根据各变量的类型,程序编辑器自动地为所有变量指定存储器地址。返回值Ret_Val属于输出参数,默认的数据类型为Void,该数据类型不保存数据,用于功能不需要返回值的情况,在调用FC1时,看不到Ret_Val。如果将它设置为Void之外的数据类型,在FC1内部编程时可以使用该变量,调用FC1时可以在方框的右边看到作为输出参数的Ret_Val。,S7-1200PLC用户程序结构与故障诊断,25,3.3 功能与功能块FC1的程序设计,STEP 7 Basic自动地在局部变量的前面添加#号。,S7-1200PLC用户程序结构与故障诊断,26,3.3 功能与功能块在OB1中调用FC1,在FC的界面区中定

18、义的参数称为FC的形式参数,简称为形参,形参在FC内部的程序中使用,在别的逻辑块调用FC时,需要为每个形参指定实际的参数,简称为实参。实参与它对应的形参应具有相同的数据类型。,S7-1200PLC用户程序结构与故障诊断,27,3.3 功能与功能块调用功能的实验,S7-1200PLC用户程序结构与故障诊断,28,3.3 功能与功能块为块提供密码保护,选中生产的FC1,执行菜单命令:“编辑”“专有技术保护” “启用专有技术保护”,在打开的对话框中输入密码并确认,项目树中的FC1图标上出现锁的符号,表示FC1受保护。双击打开FC1,可以看到界面区的变量,但是看不到程序区的程序。也可修改或禁用专有技术

19、保护。,S7-1200PLC用户程序结构与故障诊断,29,3.3 功能与功能块功能块的特点,功能块(FB)是用户编写的有自己的存储区(背景数据块)的块。FB的典型应用是执行不能在一个扫描周期结束的操作。每次调用功能块是,都需要指定一个背景数据块,背景数据块随功能块的调用而打开,在调用结束时自动关闭。功能块的输入、输出和静态变量(Static)用指定的背景数据块保存,但是不会保存临时局部变量(Temp)中的数据。功能块执行后,背景数据块中的数据不会丢失。,S7-1200PLC用户程序结构与故障诊断,30,3.3 功能与功能块功能块的局部变量 1/2,FB1的界面区,FB1的背景数据块,S7-12

20、00PLC用户程序结构与故障诊断,31,3.3 功能与功能块功能块的局部变量 2/2,功能块的数据永久性地保存在它的背景数据块中,在功能块执行完后也不会丢失,以供下次执行时使用。其他代码块可以访问背景数据块中的变量。不能直接删除和修改背景数据块中的变量,只能在它的功能块的界面区中删除和修改这些变量。生成功能块的输入、输出参数和静态变量时,它们被自动指定一个默认值,可以修改这些默认值。变量的默认值被传送给FB的背景数据块,作为同一个变量的初始值。可以在背景数据块中修改变量的初始值。调用FB时没有指定实参的形参使用背景数据块中的初始值。,S7-1200PLC用户程序结构与故障诊断,32,3.3 功

21、能与功能块编写FB1的程序,S7-1200PLC用户程序结构与故障诊断,33,3.3 功能与功能块在OB1中调用FB1 1/2,S7-1200PLC用户程序结构与故障诊断,34,3.3 功能与功能块在OB1中调用FB1 2/2,如果没有给功能块 (FB) 的输入、输出或输入/输出参数赋值,将使用背景数据块 (DB) 中存储的值。 可以给FB接口中的参数赋初值。这些值将传送到相关的背景 DB 中。如果未分配参数,将使用当前存储在背景 DB 中的值。,S7-1200PLC用户程序结构与故障诊断,35,3.3 功能与功能块处理调用错误,FB1最初没有输入参数“定时时间”。在OB1中调用符号名为“Mo

22、tor”的FB1后,在FB1的界面区增加了输入参数“定时时间”,OB1中被调用的FB1的方框和字符变为红色。点击工件栏上的 (更新不一致的块调用) ,出现“界面更新”对话框,显示出原有的块界面和新的界面。点击确定,OB1中被调用的FB1被修改为新的界面,FB1中的红色错误标记消失。,S7-1200PLC用户程序结构与故障诊断,36,3.3 功能与功能块FC与FB的区别,1)功能块有背景数据块,功能没有背景数据块。2)只能在功能内部访问它的局部变量,其他代码块或HMI可以访问功能块的背景数据块中的变量。3)功能没有静态变量,功能块有保存在背景数据块中的静态变量。功能如果有执行完后需要保存的数据,

23、只能存放在全局变量中(如全局数据块和M去),但这样会影响功能的可移植性。4)功能块的局部变量(不包含Temp)有默认值(初始值),功能的局部变量没有初始值。在调用功能块时如果没有设置某些输入、输出参数的实参,将使用背景数据块中的初始值。调用功能时应给所有的形参指定实参。,S7-1200PLC用户程序结构与故障诊断,37,3.3 功能与功能块OB与FC和FB的区别,1)对应的事情发生时,由操作系统调用组织块,FB和FC是用户程序在代码块中调用。2)组织块没有输入参数、输出参数和静态变量,只有临时局部数据。有的组织块自动生成的临时局部数据包含了与启动组织块的时间有关的信息,它们由操作系统提供。,S

24、7-1200PLC用户程序结构与故障诊断,38,3.3 功能与功能块FB的多重背景数据块 1/4,每次调用定时器和计数器指令时,都需要指定一个背景数据块。如果这类指令很多,将会生成大量的数据块“碎片”。为了解决这个问题,在功能块中使用定时器、计数器指令时,可以在功能块的界面区定义数据类型为IEC_Timer或IEC_Counter的静态变量,用这些静态变量来提供定时器和计数器的背景数据。这种功能的背景数据块称为多重背景数据块。这样多个定时器或计数器的背景数据块被包含在它们所在的功能块的背景数据块中,而不需要为每个定时器或计数器设置一个单独的背景数据块,减少了处理数据的时间,能更合理地利用存储空

25、间。在共享的多重背景数据块中,定时器、计数器的数据结构之间不会产生相互作用。,S7-1200PLC用户程序结构与故障诊断,39,3.3 功能与功能块FB的多重背景数据块 2/4,调用定时器时,S7-1200PLC用户程序结构与故障诊断,40,3.3 功能与功能块FB的多重背景数据块 3/4,只能以多重背景方式调用STEP 7 Basic提供的库中包含的功能块,不能以多种背景方式调用用户创建的功能块。,S7-1200PLC用户程序结构与故障诊断,41,3.3 功能与功能块FB的多重背景数据块 4/4,变量表中的变量:,OB1中两次调用FB2:,S7-1200PLC用户程序结构与故障诊断,42,3

26、.4 全局数据块类型,数据块(DB)是用于存放执行代码时所需的数据的数据区。与代码块不同,数据块没有指令,STEP 7 Basic按数据生成的顺序自动地为数据块中的变量分配地址。有两种类型数据块:全局数据块:存储供所有的代码块使用的数据,所有的OB、FB和FC都可以访问;背景数据块:存储的数据供特定的FB使用。背景数据块中保存的是对应的FB的Input、Output、InOut和Static变量,Temp没有用背景数据块保存。,S7-1200PLC用户程序结构与故障诊断,43,3.4 全局数据块建立,可以修改块的编号,选择是全局DB或是某个FB对应的的背景数据块,修改数据块的名称,只能用符号地

27、址访问生成的块中的变量,不能使用绝对地址,可以提高存储器的利用率,S7-1200PLC用户程序结构与故障诊断,44,3.4 全局数据块格式,全部监视,插入行,添加行,扩展模式,结构和数组的“偏移量”它们在数据块中的起始地址结构的元素的“偏移量”列是它们在结构中的地址偏移量,S7-1200PLC用户程序结构与故障诊断,45,3.4 全局数据块访问,数据块可以按位(例如DBX3.5)、字节(DBB)、字(DBW)和双字(DBD)来访问。在访问数据块中的数据时,应指明数据块的名称,可以用符号地址或绝对地址访问: “GloablDB1”.功率2,或绝对地址DB5.DBW14。,S7-1200PLC用户

28、程序结构与故障诊断,46,3.5 中断事件与中断指令启动组织块的事件,S7-1200PLC用户程序结构与故障诊断,47,3.5 中断事件与中断指令不会启动OB的事件,S7-1200PLC用户程序结构与故障诊断,48,3.5 中断事件与中断指令事件执行的优先级与中断队列,优先级、优先级组合队列用来决定时间服务程序的处理顺序。每个CPU事件都有它的优先级,不同优先级的事件分为3个优先级组。优先级的编号越大,优先级越高。事件一般按优先级的高低来处理,先处理高优先级的事件。优先级相同的事件按“先来先服务”的原则来处理。高优先级组的事件可以中断低优先级组的事件的OB的执行。一个OB正在执行时,如果出现了

29、另一个具有相同或较低优先级组的事件,后者不会中断正在处理的OB,将根据它的优先级添加到对应的中断队列排队等待。当前的OB处理完后,再处理排队的事件。不同的事件均有它自己的中断队列和不同的队列深度。对于特定的事件类型,如果队列中的事件个数达到上限,下一个事件将使队列溢出,新的中断事件被丢弃,同时产生时间错误中断事件。,S7-1200PLC用户程序结构与故障诊断,49,3.5 中断事件与中断指令程序循环组织块,需要连续执行的程序应放在主程序OB1中,CPU在RUN模式时循环执行OB1,可以在OB1中调用FC和FB。如果用户程序生成了其他程序循环OB,CPU按OB编号的顺序执行它们,首先执行主程序O

30、B1,然后执行编号大于等于200的程序循环OB。一般只需要一个程序循环组织块。,S7-1200PLC用户程序结构与故障诊断,50,3.5 中断事件与中断指令启动组织块,启动组织块用于初始化,CPU从STOP切换到RUN时,执行一次启动OB。执行完后,开始执行程序循环OB1。允许生成多个启动OB,默认的是OB100,其他的启动OB的编号应大于等于200。一般只需要一个启动组织块。,OB100的程序:,OB201的程序:,将CPU切换到RUN后,QB0的数值为7,MB14和MB16的值为1,说明只执行了一次OB100和OB201。,S7-1200PLC用户程序结构与故障诊断,51,3.5 中断事件

31、与中断指令循环中断组织块,在设定的时间间隔,循环中断(cyclic interrupt)组织块被周期地执行。最多可以组态4个循环中断事件,循环中断OB的编号大于等于200。,S7-1200PLC用户程序结构与故障诊断,52,3.5 中断事件与中断指令硬件中断组织块 1/4,硬件中断组织块用于处理需要快速响应的过程事件。出现CPU内置的数字量输入的上升沿、下降沿和高速计数器事件时,立即中止当前正在执行的程序,改为执行对应的硬件中断OB(编号大于等于200)。硬件中断组织块没有启动信息。最多可以生成50个硬件中断OB:1)上升沿事件:CPU内置的数字量输入和2点信号板的数字量输入有OFF变为ON时

32、,产生上升沿事件。2)下降沿事件:上述数字量输入由ON变OFF时,产生下降沿事件。3)高速计数器HSC16的实际计数值等于设定值(CV=RV)。4) HSC16的方向改变,计数值由增大变减小,或由减小变增大。5) HSC16的外部复位,某些HSC的数字量外部复位输入从OFF变ON时,将计数值复位为0。,S7-1200PLC用户程序结构与故障诊断,53,3.5 中断事件与中断指令硬件中断组织块 2/4,硬件中断组织块的处理方法:1)给一个事件指定一个硬件中断OB,这种方法最为简单方便,应优先采用;2)多个硬件中断OB分时处理一个硬件中断事件,需要用DETACH指令取消原有的OB与事件的连接,用A

33、TTACH指令将一个新的硬件中断OB分配给硬件中断事件。,S7-1200PLC用户程序结构与故障诊断,54,3.5 中断事件与中断指令硬件中断组织块 3/4,生成硬件中断组织块:,S7-1200PLC用户程序结构与故障诊断,55,3.5 中断事件与中断指令硬件中断组织块 4/4,建立一个新的OB用于该硬件中断事件,将已有的OB203分配给该硬件中断事件,没有OB连接到该硬件中断事件,组态硬件中断事件:,S7-1200PLC用户程序结构与故障诊断,56,3.5 中断事件与中断指令中断连接与中断分离指令 1/5,例:首先将硬件中断组织块OB200分配给I0.0的上升沿中断事件,该中断事件出现时,调

34、用OB200。在OB200中,用DETACH指令断开I0.0上升沿事件与OB200的连接,用ATTACH指令建立I0.0上升沿事件与OB201的连接。下一次出现I0.0上升沿事件时,调用OB201。在OB201中,用DETACH指令断开I0.0上升沿事件与OB201的连接,用ATTACH指令建立I0.0上升沿事件与OB200的连接。用这样的方法,可以用OB200和OB201轮流处理I0.0的上升沿中断事件。,S7-1200PLC用户程序结构与故障诊断,57,3.5 中断事件与中断指令中断连接与中断分离指令 2/5,生成硬件中断组织块OB200与OB201:,S7-1200PLC用户程序结构与故

35、障诊断,58,3.5 中断事件与中断指令中断连接与中断分离指令 3/5,组态硬件中断事件:,S7-1200PLC用户程序结构与故障诊断,59,3.5 中断事件与中断指令中断连接与中断分离指令 4/5,OB200的程序:,OB201的程序:,S7-1200PLC用户程序结构与故障诊断,60,3.5 中断事件与中断指令中断连接与中断分离指令 5/5,中断分离指令DETACH用来断开硬件中断事件与中断OB的连接,禁止在出现指令的硬件中断事件时执行指定的中断OB。输入参数OB_NR是OB的编号,EVENT是指定的事件的编号,返回值是执行的条件代码。如果没有指定参数EVENT,当前连接到OB_NR的所有

36、事件将被断开连接。中断连接指令ATTACH将OB_NR指定的组织块连接到EVENT指定的事件。在指定的事件发生时,将调用指定的OB。如果执行指令时没有OB连接到指定的事件,该指令的功能被忽略。参数ADD为默认值0时,指定的事件取代连接到原来指定给这个OB的所有事件。,S7-1200PLC用户程序结构与故障诊断,61,3.5 中断事件与中断指令时间延迟中断组织块 1/4,定时器指令的定时误差较大,如果需要高精度的延时,可以使用时间延迟中断。在过程事件出现后延迟一定的时间再执行OB。最多可以组态4个时间延迟中断事件,OB的编号应大于等于200.,硬件中断组织块OB203中的程序:,使能输入EN的上

37、升沿,启动延时中断。,指定延时时间到时调用的OB的编号。,设置延时时间(160000ms),指令执行的状态代码,读取PLC的实时时间,S7-1200未使用,S7-1200PLC用户程序结构与故障诊断,62,3.5 中断事件与中断指令时间延迟中断组织块 2/4,时间延迟中断组织块OB204中的程序:,再次读取PLC的实时时间,立即置位物理输出点Q0.4:P,为了保存读取的日期时间值,在DB1中生成数据类型为DTL的变量DT1和DT2:,S7-1200PLC用户程序结构与故障诊断,63,3.5 中断事件与中断指令时间延迟中断组织块 3/4,OB1中取消时间延迟:,OB1中的程序:,S7-1200P

38、LC用户程序结构与故障诊断,64,3.5 中断事件与中断指令时间延迟中断组织块 4/4,I0.0变为1时,CPU调用硬件中断组织块OB203,10s后SRT_DINT启动的定时时间到,CPU调用延时中断组织块OB204,Q0.4被立即置位。利用监视功能,可以看到指令SRT_DINT启动定时和定时时间到两次读取的实时时间的差值为10.000145s,与定时延迟的设定值10s相比,定时精度高。当I0.4产生一个脉冲信号,将Q0.4复位(OB1中程序)。当I0.0变为1状态,CPU调用硬件中断组织块OB203,再次启动时间延迟中断的定时。在定时期间,当I0.1变为1状态,调用指令CAN_DINT,时

39、间延迟中断被取消,不会调用OB204,10s的延迟时间到了后,Q0.4不会变为1状态。,S7-1200PLC用户程序结构与故障诊断,65,3.6 在线功能,建立起编程计算机与PLC的在线连接后,可以进行下列操作: 下载程序和项目组态数据给CPU; 测试用户程序; 显示和改变CPU的操作模式; 显示和设置CPU的实时时钟的日期和时间; 显示模块信息和诊断硬件; 比较在线和离线的块。,S7-1200PLC用户程序结构与故障诊断,66,3.6 在线功能进入和退出在线模式,打开项目树中某个PLC的文件夹,点击 ,进入在线模式。被激活的项目树或工作区的标题栏的背景色为表示在线的橙色,没有激活的窗口的标题

40、栏下沿有橙色的线条。选择项目树中的PLC_1,点击 ,进入离线模式。,S7-1200PLC用户程序结构与故障诊断,67,3.6 在线功能可访问设备对话框,执行“在线”“可访问的设备”,或点击 ,打开可访问设备对话框,可以看到目标子网中所有可访问设备的列表。,S7-1200PLC用户程序结构与故障诊断,68,3.6 在线功能在线与诊断视图 1/7,在线与诊断视图由文件夹和文件夹中的组组成,选中左边窗口中的某个组,右边窗口是有关的详细信息。,S7-1200PLC用户程序结构与故障诊断,69,3.6 在线功能在线与诊断视图 2/7,“在线访问”组,显示是否建立了在线连接,以及通信接口(网卡)的信息:

41、,S7-1200PLC用户程序结构与故障诊断,70,3.6 在线功能在线与诊断视图 3/7,切换CPU的操作模式,清除工作区中所有的保持性和非保持性的存储器,断开现有的通信连接。用户程序、IP地址、系统时间、诊断缓冲区和存储卡的内容不受影响。,显示CPU最短的、最长的和当前的循环扫描周期。,显示使用的装载存储器、工作存储器(内存)和保持存储器所占的百分比。,S7-1200PLC用户程序结构与故障诊断,71,3.6 在线功能在线与诊断视图 4/7,“诊断状态”组,显示模块的诊断的信息:,S7-1200PLC用户程序结构与故障诊断,72,3.6 在线功能在线与诊断视图 5/7,“设置日时间”,可以

42、设置PLC的实时时钟:,PLC的实时时钟将会与计算机的实时时钟同步。,S7-1200PLC用户程序结构与故障诊断,73,3.6 在线功能在线与诊断视图 6/7,比较离线和在线的块:离线(编程设备中),在线(PLC中),在离线状态右键点击程序块文件夹或其中的某个块,执行快捷菜单“比较离线/在线”,工作区出现比较编辑器:,蓝色和橙色的两个半圆表示在线与离线的块不一致:,S7-1200PLC用户程序结构与故障诊断,74,3.6 在线功能在线与诊断视图 7/7,双击比较编辑器中的某个块,打开离线和在线两个窗口:,S7-1200PLC用户程序结构与故障诊断,75,3.7 故障诊断使用状态LED 1/7,

43、CPU LED的组合意义,S7-1200PLC用户程序结构与故障诊断,76,3.7 故障诊断使用状态LED 2/7,CPU和每块数字量信号模块(SM)提供每点数字量的I/O状态LED,点亮和熄灭分别表示1状态和0状态。模拟量信号模块为每个模拟量I/O通道提供一个I/O通道LED,绿色表示通道被组态和激活,红色表示通道处于错误状态。此外,每个数字量信号模块和模拟量信号模块还有一个DIAG(诊断)LED,用于显示模块的状态,绿色表示模块运行正常,红色表示模块有故障或不可用。信号模块还有检测现场侧的电源是否存在。,S7-1200PLC用户程序结构与故障诊断,77,3.7 故障诊断使用状态LED 3/

44、7,信号模块 LED的组合意义,S7-1200PLC用户程序结构与故障诊断,78,3.7 故障诊断使用STEP Basic诊断故障 4/7,打开“在线与诊断”视图,使用下面巡视窗口中的“诊断”选项卡:,S7-1200PLC用户程序结构与故障诊断,79,3.7 故障诊断使用STEP Basic诊断故障 5/7,“在线与诊断”视图中选择诊断诊断缓冲区:,S7-1200PLC用户程序结构与故障诊断,80,3.7 故障诊断使用STEP Basic诊断故障 6/7,与CPU建立在线连接,进入在线模式后,用符号显示有关模块的状态和运行模式:,设备视图:除了CPU上的信号板之外,设备视图中所有的硬件模块组件

45、将显示诊断符号:,S7-1200PLC用户程序结构与故障诊断,81,3.7 故障诊断使用STEP Basic诊断故障 7/7,网络视图:每个组件都有诊断符号,显示所有硬件组件共同的状态:,S7-1200PLC用户程序结构与故障诊断,82,3.8 诊断错误中断诊断错误中断组织块 OB82,某些模块有检测和报告诊断错误的功能。如果激活了模块的诊断功能,在检测到错误事件时,CPU将会调用OB82。只有OB82支持诊断错误事件。下列情况将调用OB82:有诊断功能的模块没有用户电源、输入信号超过模拟量模块的测量范围(上溢出和下溢出)、AO模块输出电路短线和短路故障。,S7-1200PLC用户程序结构与故障诊断,83,3.9 时间错误中断时间错误中断组织块 OB80 1/2,如果发生以下事件,系统调用时间错误中断组织块:1)实际的扫描循环时间超过设置的最大循环时间;2)请求执行循环中断或时间延迟中断,但是被请求的OB已经在执行;3)中断事件出现的速度并处理它们的速度还要快,对应的中断队列已满,导致中断队列溢出;4)因为中断负荷过高而丢失中断。,可以在优先级为1的程序循环OB和它调用的块中,用指令RE_TRIGR(重新触发循环时间监视)来重新启动监控定时器。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1