《第3章S700PLC的用户程序结构与故障诊断(ppt版).pptx》由会员分享,可在线阅读,更多相关《第3章S700PLC的用户程序结构与故障诊断(ppt版).pptx(85页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第 3 章章S7-1200 PLC的用户程序结构的用户程序结构(jigu)与故障诊断与故障诊断1第一页,共八十五页。3.1 用户程序结构用户程序结构(jigu)简介简介模块化编程模块化编程 1/3 模模块块化化编编程程将将复复杂杂的的自自动动化化任任务务划划分分为为对对应应于于生生产产过过程程的的技技术术功功能能的的较较小小的的子子任任务务,每每个个子子任任务务对对应应于于一一个个称称为为“块块的的子子程程序序,可可以以(ky)通通过过块块与与块块之之间间的的相相互互调调用用来来组组织织程程序序。这这样样的的程程序序易易于于修修改改、查查错错和和调调试。试。块块简要描述简要描述组织块组织块(
2、OB)操作系统与用户程序的接口,决定用户程序的结构操作系统与用户程序的接口,决定用户程序的结构功能块功能块(FB)用户编写的包含经常使用的功能的子程序,有专用的背景数据用户编写的包含经常使用的功能的子程序,有专用的背景数据块块功能功能(FC)用户编写的包含经常使用的功能的子程序,没有专用的背景数用户编写的包含经常使用的功能的子程序,没有专用的背景数据块据块背景数据块背景数据块(DB)用于保存用于保存FB的输入变量、输出变量和静态变量,其数据在编的输入变量、输出变量和静态变量,其数据在编译时自动生成译时自动生成全局数据块全局数据块(DB)存储用户数据的数据区域,供所有的代码块共享存储用户数据的数
3、据区域,供所有的代码块共享2第二页,共八十五页。3.1 用户程序结构用户程序结构(jigu)简介简介模块化编程模块化编程 2/3 块结构显著增加了块结构显著增加了PLC程序的组织透明性、可理解程序的组织透明性、可理解(lji)性和易维护性。性和易维护性。OB、FB、FC都包含代码,统称为代码块都包含代码,统称为代码块(Code)块。块。被调用的代码块又可以调用别的代码块,这种调用称为嵌套调用。被调用的代码块又可以调用别的代码块,这种调用称为嵌套调用。在块调用中,调用者可以是各种代码块,被调用的块是在块调用中,调用者可以是各种代码块,被调用的块是OB之外的代码之外的代码块。调用功能时需要为它指定
4、一个背景数据块。块。调用功能时需要为它指定一个背景数据块。3第三页,共八十五页。3.1 用户程序结构用户程序结构(jigu)简介简介模块化编程模块化编程 3/3 编编程程时时被被调调用用的的块块应应该该是是已已经经存存在在的的块块,即即应应先先创创立立(chungl)被被调调用用的块及其背景数据块。的块及其背景数据块。4第四页,共八十五页。3.1 用户程序结构用户程序结构(jigu)简介简介组织块组织块 1/6 组组织织块块(Organization Block,OB)是是操操作作系系统统与与用用户户程程序序的的接接口口,由由操操作作系系统统调调用用,用用于于控控制制循循环环扫扫描描和和中中断
5、断程程序序的的执执行行、PLC的的启启动动和和错误处理等。组织块的程序是用户编写的。错误处理等。组织块的程序是用户编写的。每每个个组组织织块块必必须须有有唯唯一一的的OB编编号号(bin ho),200之之前前的的某某些些编编号号(bin ho)是是保保存的,其他存的,其他OB的编号的编号(bin ho)应大于等于应大于等于200.没没有有可可以以调调用用OB的的指指令令,S7-1200 CPU具具有有基基于于事事件件的的特特性性,只只有有发发生生了了某某些些特特定定事事件件,相相应应的的OB才才会会被被执执行行。不不要要试试图图在在OB/FC/FB中中调调用用某某个个OB,除除非非用用户户触
6、触发发与与此此OB相相关关的的OB。例例如如用用户户可可以以在在OB1中中通通过过SRT_DINT指令设置延迟时间,当延迟时间到达时,延迟中断指令设置延迟时间,当延迟时间到达时,延迟中断OB被触发。被触发。当特定事件发生时,相应当特定事件发生时,相应OB被调用,无论其是否包含程序代码。被调用,无论其是否包含程序代码。5第五页,共八十五页。3.1 用户程序结构简介用户程序结构简介(jin ji)组织块组织块 2/6 l 程序循环程序循环(xnhun)组织块组织块(Program cycle OB):OB1是是用用户户程程序序中中的的主主程程序序,CPU循循环环执执行行操操作作系系统统程程序序,在
7、在每每一一次次循循环环中中,操操作作系系统统调调用用一一次次OB1。因因此此OB1中中的的程程序序也也是是循循环执行的。环执行的。允允许许有有多多个个程程序序循循环环OB,默默认认的的是是OB1,其其他他程程序序循循环环OB的的编编号号应应大大于于等等于于200。6第六页,共八十五页。3.1 用户程序结构用户程序结构(jigu)简介简介组织块组织块 3/6 l 启动组织块启动组织块(Startup OB):当当CPU的的工工作作模模式式从从STOP切切换换到到RUN时时,执执行行(zhxng)一一次次启启动动(Startup)组组织块,来初始化程序循环织块,来初始化程序循环OB中的某些变量。中
8、的某些变量。执行完启动执行完启动OB后,开始执行程序循环后,开始执行程序循环OB。可以有多个启动可以有多个启动OB,默认的为,默认的为OB100,其他启动,其他启动OB的编号应大于等于的编号应大于等于200。7第七页,共八十五页。3.1 用户程序结构简介用户程序结构简介(jin ji)组织块组织块 4/6 l 中断组织块中断组织块(Interrupt OB):l中断组织块用来实现对特殊内部事件或外部事件的快速响应。中断组织块用来实现对特殊内部事件或外部事件的快速响应。l如如果果没没有有中中断断事事件件出出现现,CPU循循环环执执行行组组织织块块OB1。如如果果出出现现中中断断事事件件,例例如如
9、诊诊断断中中断断和和时时间间延延迟迟中中断断等等,因因为为OB1的的中中断断优优先先级级最最低低,操操作作系系统统在在执执行行完完当当前前程程序序的的当当前前指指令令后后,立立即即响响应应中中断断。CPU暂暂停停正正在在执执行行的的程程序序块块,自自动动调调用用一一个个分分配配给给该该事事件件的的组组织织块块(即即中中断断程程序序)来来处处理理(chl)中中断断事事件件。执执行行完完中中断断组组织织块块后后,返返回回被被中中断断的的程程序序的的断断点点处处继继续执行原来的程序。续执行原来的程序。l这这意意味味着着局局部部用用户户程程序序不不必必在在每每次次循循环环中中处处理理,而而是是在在需需
10、要要时时才才被及时处理。处理中断事件的程序放在该事件驱动的被及时处理。处理中断事件的程序放在该事件驱动的OB中。中。8第八页,共八十五页。3.1 用户程序结构简介用户程序结构简介(jin ji)组织块组织块 5/6 时间延迟中断组织块时间延迟中断组织块(Time-delay OB):此此OB可可以以通通过过SRT_DINT指指令令设设置置其其延延迟迟时时间间,当当延延迟迟时时间间到到达达时时,延迟中断延迟中断OB被触发。被触发。周期中断组织块周期中断组织块(Cyclic interrupt OB):将在指定间隔之间被执行将在指定间隔之间被执行(zhxng)。硬件中断组织块硬件中断组织块(Har
11、dware interrupt OB):将将在在指指定定的的硬硬件件事事件件发发生生时时被被执执行行,例例如如数数字字量量输输入入信信号号的的上上升升沿或下降沿。沿或下降沿。9第九页,共八十五页。3.1 用户程序结构简介用户程序结构简介(jin ji)组织块组织块 6/6 时间错误中断组织块时间错误中断组织块(Time-error interrupt OB):此此OB将将在在检检测测(jin c)到到时时间间错错误误(程程序序循循环环扫扫描描OB执执行行时时间间超超出出了了CPU属属性性中中定定义义的的最最大大扫扫描描时时间间)时时被被执执行行,此此OB的的编编号号只只能能是是OB80。当当C
12、PU中中没没有有此此OB时时,用用户户可可以以指指定定当当时时间间错错误误发发生生时时CPU是是忽忽略略此此错错误还是转换到误还是转换到STOP模式。模式。诊断错误中断组织块诊断错误中断组织块(Diagnostic error interrupt OB):此此OB将将在在检检测测到到诊诊断断错错误误时时被被执执行行,此此OB的的编编号号只只能能是是OB82。当当CPU中中没没有有此此OB时时,用用户户可可以以指指定定当当诊诊断断错错误误发发生生时时CPU是是忽忽略此错误还是转换到略此错误还是转换到STOP模式。模式。10第十页,共八十五页。3.1 用户程序结构用户程序结构(jigu)简介简介功
13、能功能 功功能能(Function,FC)是是用用户户程程序序编编写写的的子子程程序序,它它包包含含完完成成特特定定任任务务的的代代码码和和参参数数。FC和和FB有有与与调调用用它它的的块块共共享享的的输输入入参参数数和和输输出参数。执行完出参数。执行完FC和和FB后,返回调用它的代码块。后,返回调用它的代码块。功功能能是是快快速速执执行行的的代代码码块块,用用于于执执行行以以下下任任务务:完完成成标标准准的的和和可可重重复复使使用用的的操操作作,例例如如算算术术运运算算;完完成成技技术术功功能能,例例如如使使用用位位逻逻辑辑运运算算的的控制控制(kngzh)。可可以以在在程程序序的的不不同同
14、位位置置屡屡次次调调用用同同一一个个FC,这这可可以以简简化化重重复复执执行行的的任务的变成。任务的变成。功功能能没没有有固固定定的的存存储储区区,执执行行结结束束后后,其其临临时时变变量量中中的的数数据据就就丧丧失失了了。可可以以用用全全局局数数据据块块或或M存存储储区区来来存存储储那那些些在在功功能能执执行行结结束束后后需需要要保保持持的的数据。数据。11第十一页,共八十五页。3.1 用户程序结构用户程序结构(jigu)简介简介功能块功能块 功功能能块块(Function Block,FB)是是用用户户程程序序编编写写的的子子程程序序。调调用用功功能能块块时时,需需要要制制定定背背景景数数
15、据据块块,是是功功能能块块专专用用的的存存储储区区。CPU执执行行FB中中的的程程序序代代码码,将将块块的的输输入入、输输出出参参数数和和局局部部静静态态变变量量保保存存在在背背景景数数据据块块中中,以以便便可可以以从从一一个个扫扫描描周周期期到到下下一一个个扫扫描描周周期期快快速速访访问问它它们。们。FB的典型应用是执行不能在一个扫描周期结束的操作。的典型应用是执行不能在一个扫描周期结束的操作。在在调调用用FB时时,翻翻开开了了对对应应的的背背景景数数据据块块,后后者者的的变变量量可可以以供供其其他他代代码块使用。码块使用。调调用用同同一一个个功功能能块块时时使使用用不不同同的的背背景景数数
16、据据块块,可可以以控控制制不不同同的的设设备备。例例如如用用来来(yn li)控控制制水水泵泵和和阀阀门门的的功功能能使使用用包包含含特特定定的的操操作作参参数数的的不不同同的的背背景景数数据据块,可以控制不同的水泵和阀门。块,可以控制不同的水泵和阀门。S7-1200的的局局部部指指令令(例例如如IEC标标准准的的定定时时器器和和计计数数器器指指令令)实实际际上上是是功功能能块块,在调用它们时需要指定配套的背景数据块。在调用它们时需要指定配套的背景数据块。12第十二页,共八十五页。3.1 用户程序结构用户程序结构(jigu)简介简介数据块数据块 数数据据块块(Data block,DB)是是用
17、用于于存存放放执执行行代代码码块块时时所所需需的的数数据据的的数数据据区区,有有两种类型的数据块:两种类型的数据块:全全局局(Global)数数据据块块:存存储储供供所所有有(suyu)的的代代码码块块使使用用的的数数据据,所所有有(suyu)的的OB、FB和和FC都可以都可以 访问。访问。背景数据块:存储供特定的背景数据块:存储供特定的FB使用的数据。使用的数据。13第十三页,共八十五页。3.2 PLC的工作原理的工作原理(yunl)操作系统与用户程序操作系统与用户程序 CPU的的操操作作系系统统用用来来组组织织与与具具体体的的控控制制任任务务无无关关的的所所有有的的CPU功功能能,包包括括
18、:处处理理暖暖启启动动、刷刷新新(shu xn)输输入入/输输出出过过程程映映像像、调调用用用用户户程程序序、检测中断事件和调用中断组织块等。检测中断事件和调用中断组织块等。用户程序:处理具体的最大化任务必须的所有功能,包括:用户程序:处理具体的最大化任务必须的所有功能,包括:1)检检查查是是否否满满足足暖暖启启动动需需要要的的条条件件,例例如如限限位位开开关关是是否否在在正正确确的的位位置,平安继电器是否处于正常的工作状态;置,平安继电器是否处于正常的工作状态;2)处理过程数据,例如用读取的输入信号来控制输出信号等;处理过程数据,例如用读取的输入信号来控制输出信号等;3)用用OB中中的的程程
19、序序对对中中断断事事件件作作出出反反响响,例例如如在在诊诊断断错错误误中中断断组组织织块块OB82中中发发出报警信号;出报警信号;4)在程序执行中处理错误。在程序执行中处理错误。14第十四页,共八十五页。3.2 PLC的工作原理的工作原理(yunl)CPU的工作模式的工作模式 1/4CPU 有有三三种种工工作作模模式式:STOP 模模式式、STARTUP 模模式式和和 RUN 模模式式。CPU 前面的状态前面的状态 LED 指示当前工作模式。指示当前工作模式。在在 STOP 模式下,模式下,CPU 不执行任何程序,而用户可以下载工程。不执行任何程序,而用户可以下载工程。在在 STARTUP 模
20、模式式下下,执执行行一一次次启启动动OB(如如果果存存在在)。在在RUN 模模式式的的启启动阶段,不处理任何中断动阶段,不处理任何中断(zhngdun)事件。事件。在在RUN模模式式下下,重重复复执执行行扫扫描描周周期期。中中断断事事件件可可能能会会在在程程序序循循环环阶阶段段的的任任何何点点发发生生并并进进行行处处理理。处处于于RUN模模式式下下时时,无无法法下下载载任任何何工工程。程。15第十五页,共八十五页。3.2 PLC的工作原理的工作原理(yunl)CPU的工作模式的工作模式 2/4在在 STOP 模模式式下下,CPU 处处理理所所有有通通信信请请求求如如果果适适用用并并 执执行自诊
21、断行自诊断(zhndun)。在在STOP模式下,模式下,CPU不执行用户程序,过程映像也不会自动更新。不执行用户程序,过程映像也不会自动更新。16第十六页,共八十五页。3.2 PLC的工作原理的工作原理(yunl)CPU的工作模式的工作模式 3/4上上电电后后CPU进进入入STARTUP模模式式(msh),进进行行上上电电诊诊断断和和系系统统初初始始化化,检查到某些错误时,将禁止检查到某些错误时,将禁止CPU进入进入RUN模式模式(msh),保持在,保持在STOP。STARTUP:A 复位复位(f wi)I 存储区存储区 B 使用上一次使用上一次RUN模式最后的值或替换值初始化输出模式最后的值
22、或替换值初始化输出 C 执行启动执行启动 OB D 将物理输入的状态复制到将物理输入的状态复制到 I 存储器存储器 E 将所有中断事件存储到要在将所有中断事件存储到要在 RUN模式下处理的队列中模式下处理的队列中 F 将过程映像输出区将过程映像输出区(Q区区)的值写到物理输出的值写到物理输出 17第十七页,共八十五页。3.2 PLC的工作的工作(gngzu)原理原理CPU的工作模式的工作模式 4/4启动阶段结束启动阶段结束(jish)后,进入后,进入 RUN 模式,模式,CPU 执行以下图所示的执行以下图所示的任务:任务:RUN 将过程映像输出区将过程映像输出区(Q区区)的值写到物理输出的值写
23、到物理输出 将物理输入的状态复制到将物理输入的状态复制到 I 存储器存储器 执行程序循环执行程序循环 OB 处理通信请求和进行处理通信请求和进行(jnxng)自诊断自诊断 在扫描周期的任何阶段处理中断和通信在扫描周期的任何阶段处理中断和通信 18第十八页,共八十五页。3.2 PLC的工作的工作(gngzu)原理原理工作模式的切换工作模式的切换CPU模模块块上上没没有有切切换换工工作作模模式式(msh)的的模模式式(msh)选选择择开开关关,只只能能用用STEP 7 Basic在在线线工工具具中中的的CPU操操作作员员面面板板,或或工工具具栏栏上上的的按按钮钮,来切换来切换STOP或或RUN工作
24、模式工作模式(msh)。也可以在程序中用也可以在程序中用STP指令使指令使CPU进入进入STOP模式。模式。19第十九页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块功能的特点功能的特点功功能能(Function,FC)和和功功能能块块(Function Block,FB)是是用用户户编编写写的的子子程序,他们包含完成特定任务的程序。程序,他们包含完成特定任务的程序。FC和和FB有有与与调调用用它它的的块块共共享享的的输输入入(shr)、输输出出参参数数,执执行行完完FC和和FB后,将执行结果返回给调用它的代码块。后,将执行结果返回给调用它的代码块。功功能能没没
25、有有固固定定的的存存储储区区,功功能能执执行行结结束束后后,其其局局部部变变量量中中的的临临时时数数据据就就丧丧失失了了。可可以以用用全全局局变变量量来来存存储储那那些些在在功功能能执执行行结结束束后后需需要要保保存存的的数据。数据。20第二十页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块生成功能生成功能设压力变送器量程设压力变送器量程(lingchng)的下限为的下限为0MPa,上限为,上限为High MPa,经,经A/D转转换后得到换后得到0 27648的整数。数字的整数。数字N和压力和压力P之间的计算公式:之间的计算公式:双击21第二十一页,共八十五页。
26、3.3 功能功能(gngnng)与功能与功能(gngnng)块块功能的局部数据功能的局部数据 1/3在在界界面面区区中中生生成成局局部部变变量量,只只能能在在它它所所在在的的块块中中使使用用。局局部部变变量量的的名名字字有字符有字符(包括汉字包括汉字)和数字组成。和数字组成。1)Input(输入参数输入参数):由调用它的块提供的输入数据。:由调用它的块提供的输入数据。2)Output(输出参数输出参数):返回给调用它的块的程序执行结果。:返回给调用它的块的程序执行结果。3)InOut(输输入入_输输出出参参数数):初初值值有有调调用用它它的的块块提提供供,块块执执行行后后将将它它的的返返回值返
27、回给调用它的块。回值返回给调用它的块。4)Temp(临临时时(ln sh)数数据据):暂暂时时保保存存在在局局部部数数据据堆堆栈栈中中的的数数据据。只只是是在在执执行行块块时时使使用用临临时时(ln sh)数数据据,执执行行完完后后,不不在在保保存存临临时时(ln sh)数数据据的的数数值值,它可能被别的块的临时它可能被别的块的临时(ln sh)数据覆盖。数据覆盖。5)Return中的中的Ret_Val(返回值返回值),属于输出参数。,属于输出参数。22第二十二页,共八十五页。3.3 功能与功能块功能与功能块功能的局部功能的局部(jb)数据数据 2/323第二十三页,共八十五页。3.3 功能与
28、功能块功能与功能块功能的局部功能的局部(jb)数据数据 3/3生生成成局局部部变变量量时时,不不需需要要指指定定存存储储器器地地址址,根根据据各各变变量量的的类类型型,程程序序编辑器自动地为所有变量指定存储器地址。编辑器自动地为所有变量指定存储器地址。返返回回值值Ret_Val属属于于输输出出参参数数,默默认认的的数数据据类类型型为为Void,该该数数据据类类型型不不保保存存数数据据,用用于于功功能能不不需需要要返返回回值值的的情情况况,在在调调用用(dioyng)FC1时,看不到时,看不到Ret_Val。如如果果将将它它设设置置为为Void之之外外的的数数据据类类型型,在在FC1内内部部编编
29、程程时时可可以以使使用用该该变变量量,调用调用FC1时可以在方框的右边看到作为输出参数的时可以在方框的右边看到作为输出参数的Ret_Val。24第二十四页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块FC1的程序设计的程序设计STEP 7 Basic自动地在局部变量的前面自动地在局部变量的前面(qin mian)添加添加#号。号。25第二十五页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块在在OB1中调用中调用FC1在在FC的的界界面面区区中中定定义义的的参参数数称称为为FC的的形形式式参参数数,简简称称为为形形参参,形形参参在在
30、FC内内部部的的程程序序中中使使用用,在在别别的的逻逻辑辑块块调调用用FC时时,需需要要为为每每个个形形参参指指定定实实际际的参数,简称为实参。的参数,简称为实参。实参与实参与(cny)它对应的形参应具有相同的数据类型。它对应的形参应具有相同的数据类型。26第二十六页,共八十五页。3.3 功能与功能块功能与功能块调用调用(dioyng)功能的实验功能的实验27第二十七页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块为块提供密码保护为块提供密码保护选选中中生生产产的的FC1,执执行行菜菜单单命命令令:“编编辑辑“专专有有技技术术保保护护 “启启用用专专有有技技术术
31、保保护护,在在翻翻开开的的对对话话框框中中输输入入密密码码并并确确认认,工工程程树树中中的的FC1图图标标上上出出现现锁锁的的符符号号,表表示示(biosh)FC1受受保保护护。双双击击翻翻开开FC1,可可以以看看到到界界面面区区的的变变量,但是看不到程序区的程序。量,但是看不到程序区的程序。也可修改或禁用专有技术保护。也可修改或禁用专有技术保护。28第二十八页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块功能块的特点功能块的特点功功能能块块(FB)是是用用户户编编写写的的有有自自己己的的存存储储区区(背背景景(bijng)数数据据块块)的的块块。FB的典型应用
32、是执行不能在一个扫描周期结束的操作。的典型应用是执行不能在一个扫描周期结束的操作。每每次次调调用用功功能能块块是是,都都需需要要指指定定一一个个背背景景数数据据块块,背背景景数数据据块块随随功功能能块块的的调用而翻开,在调用结束时自动关闭。调用而翻开,在调用结束时自动关闭。功功能能块块的的输输入入、输输出出和和静静态态变变量量(Static)用用指指定定的的背背景景数数据据块块保保存存,但但是是不会保存临时局部变量不会保存临时局部变量(Temp)中的数据。中的数据。功能块执行后,背景数据块中的数据不会丧失。功能块执行后,背景数据块中的数据不会丧失。29第二十九页,共八十五页。3.3 功能功能(
33、gngnng)与功能与功能(gngnng)块块功能块的局部变量功能块的局部变量 1/2FB1的界面区FB1的背景(bijng)数据块30第三十页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块功能块的局部变量功能块的局部变量 2/2功功能能块块的的数数据据永永久久性性地地保保存存在在它它的的背背景景数数据据块块中中,在在功功能能块块执执行行完完后后也也不不会会丧失,以供下次执行时使用。丧失,以供下次执行时使用。其他代码块可以访问背景数据块中的变量。其他代码块可以访问背景数据块中的变量。不不能能直直接接删删除除和和修修改改背背景景数数据据块块中中的的变变量量,只只能
34、能在在它它的的功功能能块块的的界界面面区区中中删除和修改这些变量。删除和修改这些变量。生生成成功功能能块块的的输输入入、输输出出参参数数和和静静态态(jngti)变变量量时时,它它们们被被自自动动指指定定一一个个默默认认值值,可可以以修修改改这这些些默默认认值值。变变量量的的默默认认值值被被传传送送给给FB的的背背景景数数据据块块,作为同一个变量的初始值。作为同一个变量的初始值。可以在背景数据块中修改变量的初始值。可以在背景数据块中修改变量的初始值。调用调用FB时没有指定实参的形参使用背景数据块中的初始值。时没有指定实参的形参使用背景数据块中的初始值。31第三十一页,共八十五页。3.3 功能与
35、功能块功能与功能块编写编写(binxi)FB1的程序的程序32第三十二页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块在在OB1中调用中调用FB1 1/233第三十三页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块在在OB1中调用中调用FB1 2/2如如果果没没有有给给功功能能块块(FB)的的输输入入、输输出出或或输输入入/输输出出参参数数赋赋值值,将将使使用用背背景景数据块数据块(DB)中存储的值。中存储的值。可可以以给给FB接接口口中中的的参参数数赋赋初初值值。这这些些值值将将传传送送到到相相关关的的背背景景 DB 中中。如如
36、果未分配果未分配(fnpi)参数,将使用当前存储在背景参数,将使用当前存储在背景 DB 中的值。中的值。34第三十四页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块处理调用错误处理调用错误FB1最初没有输入参数最初没有输入参数“定时时间。定时时间。在在OB1中中调调用用符符号号名名为为“Motor的的FB1后后,在在FB1的的界界面面区区增增加加了了输输入参数入参数“定时时间,定时时间,OB1中被调用的中被调用的FB1的方框和字符变为红色。的方框和字符变为红色。点点击击工工件件栏栏上上的的 (更更新新不不一一致致的的块块调调用用),出出现现“界界面面更更新新对对
37、话话框框,显示出原有的块界面和新的界面。显示出原有的块界面和新的界面。点点击击确确定定,OB1中中被被调调用用的的FB1被被修修改改(xigi)为为新新的的界界面面,FB1中中的的红色错误标记消失。红色错误标记消失。35第三十五页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块FC与与FB的区别的区别1)功能块有背景数据块,功能没有背景数据块。功能块有背景数据块,功能没有背景数据块。2)只只能能在在功功能能内内部部访访问问它它的的局局部部变变量量,其其他他代代码码块块或或HMI可可以以访访问问功功能能块块的的背景数据块中的变量。背景数据块中的变量。3)功能没有静态
38、变量,功能块有保存在背景数据块中的静态变量。功能没有静态变量,功能块有保存在背景数据块中的静态变量。功功能能如如果果有有执执行行完完后后需需要要保保存存的的数数据据,只只能能存存放放在在全全局局变变量量中中(如如全全局数据块和局数据块和M去去),但这样会影响功能的可移植性。,但这样会影响功能的可移植性。4)功功能能块块的的局局部部变变量量(不不包包含含(bohn)Temp)有有默默认认值值(初初始始值值),功功能能的的局局部部变变量量没没有有初初始始值值。在在调调用用功功能能块块时时如如果果没没有有设设置置某某些些输输入入、输输出出参参数数的的实实参参,将将使使用用背背景景数数据据块块中中的的
39、初初始始值值。调调用用功功能能时时应应给给所所有有的的形形参指定实参。参指定实参。36第三十六页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块OB与与FC和和FB的区别的区别1)对对应应的的事事情情发发生生时时,由由操操作作系系统统调调用用(dioyng)组组织织块块,FB和和FC是是用用户户程程序在代码块中调用序在代码块中调用(dioyng)。2)组组织织块块没没有有输输入入参参数数、输输出出参参数数和和静静态态变变量量,只只有有临临时时局局部部数数据据。有有的的组组织织块块自自动动生生成成的的临临时时局局部部数数据据包包含含了了与与启启动动组组织织块块的的时
40、时间间有有关关的的信信息息,它们由操作系统提供。它们由操作系统提供。37第三十七页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块FB的多重背景数据块的多重背景数据块 1/4每每次次调调用用定定时时器器和和计计数数器器指指令令时时,都都需需要要指指定定一一个个背背景景数数据据块块。如如果这类指令很多,将会生成大量的数据块果这类指令很多,将会生成大量的数据块“碎片。碎片。为为了了解解决决这这个个问问题题,在在功功能能块块中中使使用用定定时时器器、计计数数器器指指令令时时,可可以以在在功功能能块块的的界界面面区区定定义义数数据据类类型型为为IEC_Timer或或IEC
41、_Counter的的静静态态变变量量,用用这这些些(zhxi)静静态态变变量量来来提提供供定定时时器器和和计计数数器器的的背背景景数数据据。这这种种功功能能的的背背景景数数据据块块称为多重背景数据块。称为多重背景数据块。这这样样多多个个定定时时器器或或计计数数器器的的背背景景数数据据块块被被包包含含在在它它们们所所在在的的功功能能块块的的背背景景数数据据块块中中,而而不不需需要要为为每每个个定定时时器器或或计计数数器器设设置置一一个个单单独独的的背背景景数数据据块块,减减少少了处理数据的时间,能更合理地利用存储空间。了处理数据的时间,能更合理地利用存储空间。在在共共享享的的多多重重背背景景数数
42、据据块块中中,定定时时器器、计计数数器器的的数数据据结结构构之之间间不不会会产产生生相相互互作用。作用。38第三十八页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块FB的多重背景数据块的多重背景数据块 2/4调用(dioyng)定时器时39第三十九页,共八十五页。3.3 功能功能(gngnng)与功能与功能(gngnng)块块FB的多重背景数据块的多重背景数据块 3/4只只能能以以多多重重背背景景方方式式调调用用STEP 7 Basic提提供供(tgng)的的库库中中包包含含的的功功能能块块,不不能能以多种背景方式调用用户创立的功能块。以多种背景方式调用用户创立
43、的功能块。40第四十页,共八十五页。3.3 功能与功能块功能与功能块FB的多重背景的多重背景(bijng)数据块数据块 4/4变量变量(binling)表中的变量表中的变量(binling):OB1中两次调用中两次调用(dioyng)FB2:41第四十一页,共八十五页。3.4 全局数据全局数据(shj)块块类型类型数数据据块块(DB)是是用用于于存存放放执执行行代代码码时时所所需需的的数数据据的的数数据据区区。与与代代码码块块不不同同,数数据据块块没没有有指指令令,STEP 7 Basic按按数数据据生生成成的的顺顺序序自自动动地地为为数据块中的变量分配地址。数据块中的变量分配地址。有两种类型
44、有两种类型(lixng)数据块:数据块:全全局局数数据据块块:存存储储供供所所有有的的代代码码块块使使用用的的数数据据,所所有有的的OB、FB和和FC都都可以访问;可以访问;背背景景数数据据块块:存存储储的的数数据据供供特特定定的的FB使使用用。背背景景数数据据块块中中保保存存的的是是对对应应的的FB的的Input、Output、InOut和和Static变变量量,Temp没没有有用用背背景景数数据据块保存。块保存。42第四十二页,共八十五页。3.4 全局数据全局数据(shj)块块建立建立可以修改(xigi)块的编号选择是全局DB或是某个FB对应(duyng)的的背景数据块修改数据块的名称只能
45、用符号地址访问生成的块中的变量,不能使用绝对地址,可以提高存储器的利用率43第四十三页,共八十五页。3.4 全局数据全局数据(shj)块块格式格式全部全部(qunb)监监视视插入插入(ch r)行行添加行添加行扩展模式扩展模式结构和数组的结构和数组的“偏移量它们在数据块中的起始地址偏移量它们在数据块中的起始地址结构的元素的结构的元素的“偏移量列是它们在结构中的地址偏移量偏移量列是它们在结构中的地址偏移量44第四十四页,共八十五页。3.4 全局全局(qunj)数据块数据块访问访问数据块可以按位数据块可以按位(例如例如DBX3.5)、字节、字节(DBB)、字、字(DBW)和双字和双字(DBD)来访
46、问。来访问。在在访访问问数数据据块块中中的的数数据据时时,应应指指明明数数据据块块的的名名称称,可可以以用用符符号号地地址址或或绝绝对对地地址访问:址访问:“GloablDB1.功率功率2,或绝对地址,或绝对地址DB5.DBW14。符号地址表示符号地址表示(biosh)结构中的元素:结构中的元素:“GloablDB1.发电机发电机.电流电流45第四十五页,共八十五页。3.5 中断中断(zhngdun)事件与中断事件与中断(zhngdun)指令指令启动组织块的事件启动组织块的事件事件类型事件类型OB编号编号OB个数个数启动事件启动事件队列队列深度深度OB优先级优先级优先优先级组级组程序循环程序循
47、环1或或 200 1 启动或结束前一循环启动或结束前一循环OB111启动启动100或或 200 0 从从STOP切换到切换到RUN11时间延迟时间延迟 200 4 延迟时间到延迟时间到832循环中断循环中断 200 4 固定的循环时间到固定的循环时间到84硬件中断硬件中断 200 50上升沿上升沿(16个个)、下降沿、下降沿(16个个)325HSC计数值计数值=设定值,计数方向设定值,计数方向编号,外部复位,最大分别编号,外部复位,最大分别6个个166诊断错误诊断错误820或或1 模块检测到错误模块检测到错误89时间错误时间错误800或或1超过最大循环时间,调用的超过最大循环时间,调用的OB正
48、在执行,队列溢出,因为中正在执行,队列溢出,因为中断负荷过高丢失中断断负荷过高丢失中断826346第四十六页,共八十五页。3.5 中断事件与中断指令中断事件与中断指令(zhlng)不会启动不会启动OB的事件的事件事件级别事件级别事事 件件事件优先级事件优先级系统反应系统反应插入插入/拔出拔出插入插入/拔出模块拔出模块21STOP访问错误访问错误刷新过程映像的刷新过程映像的I/O访问错误访问错误22忽略忽略编程错误编程错误块内的编程错误块内的编程错误23STOPI/O访问错误访问错误块内的块内的I/O访问错误访问错误24STOP超过最大循环超过最大循环时间的两倍时间的两倍超过最大循环时间的两倍超
49、过最大循环时间的两倍27STOP47第四十七页,共八十五页。3.5 中断事件中断事件(shjin)与中断指令与中断指令事件执行的优先级与中断队列事件执行的优先级与中断队列优先级、优先级组合队列用来决定时间效劳程序的处理顺序。优先级、优先级组合队列用来决定时间效劳程序的处理顺序。每每个个CPU事事件件都都有有它它的的优优先先级级,不不同同优优先先级级的的事事件件分分为为3个个优优先先级级组组。优先级的编号越大,优先级越高。优先级的编号越大,优先级越高。事事件件一一般般按按优优先先级级的的上上下下来来处处理理,先先处处理理高高优优先先级级的的事事件件。优优先先级级相相同同的的事件按事件按“先来先效
50、劳的原那么来处理。先来先效劳的原那么来处理。高高优优先先级级组组的的事事件件可可以以中中断断低低优优先先级级组组的的事事件件的的OB的的执执行行。一一个个OB正正在在执执行行时时,如如果果出出现现了了另另一一个个具具有有相相同同或或较较低低优优先先级级组组的的事事件件,后后者者不不会会中中断断正正在在处处理理的的OB,将将根根据据它它的的优优先先级级添添加加到到对对应应的的中中断断队队列列排排队队等等待待。当当前的前的OB处理完后,再处理排队的事件。处理完后,再处理排队的事件。不不同同的的事事件件均均有有它它自自己己的的中中断断队队列列和和不不同同的的队队列列深深度度(shnd)。对对于于特特