版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2023/5/91项目五程序设计教学目标:理解顺序功能图的概念、四要素及其顺序功能图的三种结构。教学重点:1、顺序功能图转换实现的基本原则和基本步骤。2、顺序功能图转换成梯形图。教学难点:画出复杂控制任务的顺序功能图。技能目标:硬件:会接电气线路图。软件:能将复杂控制任务的顺序功能图转换成梯形图。顺序控制设计法与顺序功能图2023/5/93
梯形图的经验设计法开关量控制系统(例如继电器控制系统)又称为数字量控制系统。可以用设计继电器电路图的方法来设计比较简单的数字量控制系统的梯形图,即在一些典型电路的基础上,根据被控对象对控制系统的具体要求,不断地修改和完善梯形图。有时需要多次反复地调试和修改梯形图,增加一些中间编程元件和触点,最后才能得到一个较为满意的结果。这种方法没有普遍的规律可循,具有很大的试探性和随意性,最后的结果不是唯一的,设计所用的时间、设计的质量与设计者的经验有很大的关系,所以称为经验设计法,可以用于比较简单的梯形图设计。2023/5/945.1顺序功能图概念所谓顺序控制,就是按照生产工艺预先规定的顺序,在各个输入信号的作用下,根据内部状态和时间的顺序,在生产过程中各个执行机构自动地有秩序地进行操作。顺序功能图(SequentialFunctionChart,SFC)是描述控制系统的控制过程、功能和特点的一种图形,也是设计PLC的顺序控制程序的有力工具。顺序功能图是IEC61131-3居首位的编程语言,有的PLC为用户提供了顺序功能图语言,例如S7-300/400的S7Graph语言,在编程软件中生成顺序功能图后便完成了编程工作。S7-1200PLC没有配备顺序功能图语言,但可以用SFC来描述系统的功能,根据它来设计梯形图程序。2023/5/955.2顺序控制设计法与顺序功能图——顺序功能图四要素(1)步用矩形框表示各步,框内是步的编号(2)有向连线连接步与步,箭头的方向表示步的转换方向(3)转换与转换条件标注在步与步之间的短横线旁(4)动作各步需要完成的动作2023/5/96顺序控制设计法将系统的一个工作周期划分为若干个顺序相连的阶段(步,Step)。用编程元件(例如位存储器M)来代表各步。步是根据输出量的状态变化来划分的,在任何一步之内,各输出量的ON/OFF状态不变,但是相邻两步输出量的状态是不同的。步的这种划分使代表各步的编程元件的状态与各输出量的状态之间有着简单的逻辑关系。——步5.2顺序控制设计法与顺序功能图——顺序功能图四要素2023/5/97——步系统的初始状态相对应的步称之为初始步。初始状态一般是系统等待起动的相对静止的状态。每个顺序功能图都必须有一个初始步。顺序功能图中初始步用双线方框表示。控制系统当前处在某一阶段时,该步处于活动状态,称该步为“活动步”,步处于活动状态时,相应的动作被执行,其状态元件的值为1(ON)。处于不活动状态,则停止执行。5.2顺序控制设计法与顺序功能图——顺序功能图四要素2023/5/98——有向连线在SFC中,随着时间的推移和转换条件的实现,将会发生步的活动状态的进展,这种进展按有向连线规定的路线和方向进行。在画SFC时,将代表各步的方框按它们成为活动步的先后次序顺序排列,并用有向连线将它们连接起来。步的活动状态习惯的进展是从上到下或从左到右,在这两个方向有向连线上的箭头可以省略。如果不是上述的方向,则应在有向连线上用箭头注明进展方向。5.2顺序控制设计法与顺序功能图——顺序功能图四要素2023/5/99——转换与转换条件转换用有向连线上和有向连线相垂直的短划线表示,将相邻两步分隔开。使当前步进到下一个步的信号,称为转换条件。可以是输入信号,按钮信号;也可是PLC内部信号,如时间继电器的信号,计数器的信号等。转换条件可以是多个信号的与、或、非的组合,也可以是信号的上升沿或下降沿,分别用和表示。转换条件直接标示在表示转换的短线旁边,较多使用布尔代数表达式。5.2顺序控制设计法与顺序功能图——顺序功能图四要素2023/5/910每一步可以完成不同的动作。动作分为存储型和非存储型:如Q0.0,Q0.1,Q0.2均为非存储型,在对应的步为活动步时为1,为不活动步时为0。步与它的非存储性动作的波形相同。——动作5.2顺序控制设计法与顺序功能图——顺序功能图四要素2023/5/911小车刚开始停在最左边,限位开关I0.2为1状态。按下起动按钮,Q0.0变为1状态,小车右行。碰到右限位开关I0.1时,Q0.0变为0状态,Q0.1变为1状态,小车改为左行。返回起始位置时,Q0.1变为0状态,小车停止运行,同时Q0.2变为1状态,使制动电磁铁线圈通电,接通延时定时器开始工作。定时时间到,制动电磁阀线圈断电,系统返回初始状态。5.2顺序控制设计法与顺序功能图——顺序功能图四要素2023/5/9125.2顺序控制设计法与顺序功能图——顺序功能图四要素2023/5/9135.3顺序控制设计法与顺序功能图——SFC的基本结构——单序列三种基本结构:单序列,选择序列,并行序列单序列结构的功能表图没有分支,每个步后只有一个步,步与步之间只有一个转换条件。不是指一个信号,它可能是多个信号的‘与’、‘或’等逻辑关系的组合!!2023/5/9145.3顺序控制设计法与顺序功能图——SFC的基本结构——选择序列与并行序列共同点:都有分支和合并不同点:选择序列中各选择分支不能同时执行。若已选择了转向某一分支,则不允许另外几个分支的首步成为活动步。所以各分支之间要互锁。并行序列中各分支的首步同时被激活变成活动步。用双线来表示其分支的开始和合并,以示区别。转换条件放在双线之上(之下)。2023/5/9155.4顺序控制设计法与顺序功能图——SFC转换实现的基本规则——转换实现的条件(1)该转换所有的前级步都是活动步;(2)相应的转换条件得到满足。——转换实现应完成的操作(1)使该转换所有的后续步都变为活动步;(2)使该转换所有的前级步都变为不活动步。2023/5/916——绘制顺序功能图的注意事项(1)两个步绝对不能直接相连,必须用一个转换将它们隔开。(2)两个转换也不能直接相连,必须用一个步将它们隔开。(3)初始步对应于系统等待起动的初始状态,初始步必不可少。(4)步和有向连线一般应组成闭环。完成一次工艺过程的全部操作之后,在单周期工作方式下,应从最后一步返回初始步,系统停留在初始状态;在连续循环工作方式下,应从最后一步返回下一工作周期开始运行的第一步。5.4顺序控制设计法与顺序功能图——SFC转换实现的基本规则2023/5/9175.4顺序控制设计法与顺序功能图——SFC转换实现的基本规则——顺序控制设计法的本质经验设计法顺序控制设计法顺序控制设计法用输入量I控制代表各步的编程元件M,再用它们控制输出Q。步是根据Q的状态划分的,M与Q之间有很简单的“或”关系,输出电路的设计很简单。任何复杂系统的控制电路,设计方法是通用的。所以顺序控制设计法相比经验设计法,具有简单、规范、通用的特点。2023/5/918(1)分析控制要求,将控制过程分成若干个工作步,明确每个工作步的功能,弄清步的转换是单向进行还是多向进行,确定步的转换条件(可能是多个信号的“与”、“或”等逻辑组合)。可画一个工作流程图,对理顺整个控制过程的进程以及分析各步的相互联系有很大作用。(2)为每个步设定控制位。控制位最好使用位存储器M的若干连续位。若用定时器/计数器的输出作为转换条件,则应为定时器/计数器指定输出位。(3)确定所需输入和输出点,作出I/O分配。(4)在前两步的基础上,画出顺序功能图。(5)根据功能图画梯形图。(可以采用起保停或置位复位电路)(6)添加某些特殊要求的程序。5.5基于顺序功能图的梯形图设计——基本步骤2023/5/919包括初始化电路、转换电路和输出电路。初始化电路:在OB1中仅在首次扫描循环时为1状态的M1.0将初始步对应的编程元件M4.0置1,其余各步的编程元件置0,为转换的实现做好准备。可采用如下两种方式。如果MB4没有设置保持功能,起动时被自动清零,则可以删除MOVE指令或RESET_BF指令。5.6基于顺序功能图的梯形图设计——将顺序功能图转换为梯形图2023/5/9205.6基于顺序功能图的梯形图设计——将顺序功能图转换为梯形图转换电路:转换条件满足后可以实现转换,即所有的后续步都变为活动步,所有的前级步都变为不活动步。梯形图与转换实现的基本规则之间有严格的对应关系。转换电路实现:置位复位指令,起保停电路输出电路:用代表步的存储器位的常开触点或它们的并联电路来驱动输出位线圈。2023/5/921——置位和复位指令——起保停电路Ci:各步的转换条件(I区的外部输入信号、PLC内部定时器/计数器输出等)转换电路输出电路5.6基于顺序功能图的梯形图设计——将顺序功能图转换为梯形图2023/5/9225.6基于顺序功能图的梯形图设计——将顺序功能图转换为梯形图并行序列转换举例2023/5/923转换电路5.6基于顺序功能图的梯形图设计——将顺序功能图转换为梯形图选择与并行序列转换举例2023/5/924转换电路5.6基于顺序功能图的梯形图设计——将顺序功能图转换为梯形图选择与并行序列转换举例2023/5/925输出电路5.6基于顺序功能图的梯形图设计——将顺序功能图转换为梯形图选择与并行序列转换举例2023/5/9265.7基于顺序功能图的梯形图设计—应用举例—液体混合自动控制系统控制装置示意图
按下启动按钮,X1打开,液体A流入容器。当液面上升到I时,传感器I输出信号,关闭X1阀门,阀门X2打开,液体B流入容器。液面继续上升到H时,传感器H发出信号,关闭X2阀门,同时启动电动机M,开始搅拌。搅拌均匀后(设6s),停止搅动,打开放液阀X3,开始放出混合液体。当液面下降到L时,L从接通变为断开。经过3s后,混合液放完,将X3关闭,开始下一周期。在工作过程中,若按下停止按钮,则在完成当前混合操作处理后,才停止操作(停在初始状态)。2023/5/927题意要求:按下停止按钮,并不立即停止程序,而需等待所有流程走完。编程思路:停止按钮只影响X1的打开。H:按下启动按钮延时6S
L:延时3S工作过程分析:X1打开I:X1关闭X2打开X2关闭M启动启动定时器1M停止X3打开启动定时器2开始定时X3关闭,开始下一个周期5.7基于顺序功能图的梯形图设计—应用举例—液体混合自动控制系统2023/5/928I/O分配表输入输出启动按钮I0.0电磁阀X1Q0.0停止按钮I0.1电磁阀X2Q0.1H传感器I0.2电磁阀X3Q0.2I传感器I0.3电动机MQ0.5L传感器I0.45.7基于顺序功能图的梯形图设计—应用举例—液体混合自动控制系统外部连接图
I0.0I0.1I0.3I0.2I0.41M2LQ0.0Q0.1Q0.2Q0.51L启动停止HILDC24VAC220VMDC24VX1X2X32023/5/929TL1
南北绿灯控制信号TL4东西绿灯控制信号TL2
南北黄灯控制信号TL5东西黄灯控制信号TL3南北红灯控制信号TL6东西红灯控制信号5.8基于顺序功能图的梯形图设计—应用举例—交通灯信号控制系统2023/5/9305.8基于顺序功能图的梯形图设计—应用举例—交通灯信号控制系统信号灯受到起动开关控制,当起动开关接通时信号灯系统开始工作,先南北红灯亮,东西绿灯亮;当起动开关断开时,所有信号灯熄灭。南北红灯亮维持15s。在南北红灯亮的同时东西绿灯也亮,并维持10s。到10s时,东西绿灯闪亮,闪亮三次(一次/秒)后熄灭。在东西绿灯熄灭同时东西黄灯亮,并维持2s后东西黄灯熄灭,东西红灯亮。同时,南北红灯熄灭,绿灯亮。东西红灯亮维持15s。南北绿灯亮维持10s,然后闪亮三次(一次/秒)后熄灭,同时南北黄灯亮,维持2s后熄灭,同时,南北红灯亮,东西绿灯亮,开始下一个周期的动作。2023/5/931注意:本实验中采用转换开关控制,而不是按钮。起动开关闭合延时2S
开始下一个周期延时10S南北红灯东西绿灯启动定时器1南北红灯东西绿灯闪亮启动定时器2延时3S南北红灯东西黄灯启动定时器3东西红灯南北绿灯启动定时器4延时10S东西红灯南北绿灯闪亮启动定时器5延时3S东西红灯南北黄灯启动定时器6延时2S
5.9基于顺序功能图的梯形图设计—应用举例—交通灯信号控制系统2023/5/932I/O分配表
输入输出控制开关I0.0南北绿灯TL1Q0.1南北黄灯TL2Q0.2南北红灯TL3Q0.3东西绿灯TL4Q0.4东西黄灯TL5Q0.5东西红灯TL6Q0.65.9基于顺序功能图的梯形图设计—应用举例—交通灯信号控制系统2023/5/933M2.0M1.0开关(I0.0)初始位置M2.1南北红灯东西绿灯M2.2南北红灯东西绿灯闪亮M2.3南北红灯东西黄灯M2.4M3.2(定时)东西红灯南北绿灯Q0.3,Q0.4,启动10s定时Q0.3,Q0.4,启动3s定时Q0.3,Q0.5,启动2s定时Q0.6,Q0.1,启动10s定时M2.5Q0.6ON,Q0.1,启动3s定时东西红灯南北绿灯闪亮M3.0(定时)M3.1(定时)M3.3(定时)M3.4(定时)M3.5(定时)M2.6Q0.6,Q0.2,启动2s定时东西红灯南北黄灯顺序功能图5.9基于顺序功能图的梯形图设计—应用举例—交通灯信号控制系统S7-1200PLC的用户程序结构教学目标:会使用S7-1200带形参的FC块编写PLC梯形图程序并学会用PLC的OB1块调用FC块。教学重点:理解并正确使用用户变量名接口定义形参,并会填写OB1块中实参,调用FC块。教学难点:会使用用户变量名接口定义形参。技能目标:硬件:会接电气线路图。软件:会使用S7-1200带形参的FC块编写PLC梯形图程序并学会用PLC的OB1块调用FC块。355.10用户程序结构简介——模块化编程1/3
模块化编程将复杂的自动化任务划分为对应于生产过程的技术功能的较小的子任务,每个子任务对应于一个称为“块”的子程序,可以通过块与块之间的相互调用来组织程序。这样的程序易于修改、查错和调试。块简要描述组织块(OB)操作系统与用户程序的接口,决定用户程序的结构功能块(FB)用户编写的包含经常使用的功能的子程序,有专用的背景数据块功能(FC)用户编写的包含经常使用的功能的子程序,没有专用的背景数据块背景数据块(DB)用于保存FB的输入变量、输出变量和静态变量,其数据在编译时自动生成全局数据块(DB)存储用户数据的数据区域,供所有的代码块共享365.10用户程序结构简介——模块化编程2/3
块结构显著增加了PLC程序的组织透明性、可理解性和易维护性。OB、FB、FC都包含代码,统称为代码块(Code)块。被调用的代码块又可以调用别的代码块,这种调用称为嵌套调用。在块调用中,调用者可以是各种代码块,被调用的块是OB之外的代码块。调用功能时需要为它指定一个背景数据块。375.10用户程序结构简介——模块化编程3/3
编程时被调用的块应该是已经存在的块,即应先创建被调用的块及其背景数据块。385.10用户程序结构简介——组织块组织块(OrganizationBlock,OB)是操作系统与用户程序的接口,由操作系统调用,用于控制循环扫描和中断程序的执行、PLC的启动和错误处理等。组织块的程序是用户编写的。每个组织块必须有唯一的OB编号,200之前的某些编号是保留的,其他OB的编号应大于等于200.没有可以调用OB的指令,S7-1200CPU具有基于事件的特性,只有发生了某些特定事件,相应的OB才会被执行。不要试图在OB/FC/FB中调用某个OB,除非用户触发与此OB相关的OB。例如用户可以在OB1中通过SRT_DINT指令设置延迟时间,当延迟时间到达时,延迟中断OB被触发。当特定事件发生时,相应OB被调用,无论其是否包含程序代码。395.10用户程序结构简介——组织块
程序循环组织块(ProgramcycleOB):OB1是用户程序中的主程序,CPU循环执行操作系统程序,在每一次循环中,操作系统调用一次OB1。因此OB1中的程序也是循环执行的。允许有多个程序循环OB,默认的是OB1,其他程序循环OB的编号应大于等于200。405.10用户程序结构简介——组织块3/6
启动组织块(StartupOB):当CPU的工作模式从STOP切换到RUN时,执行一次启动(Startup)组织块,来初始化程序循环OB中的某些变量。执行完启动OB后,开始执行程序循环OB。可以有多个启动OB,默认的为OB100,其他启动OB的编号应大于等于200。415.10用户程序结构简介——组织块4/6
中断组织块(InterruptOB):中断组织块用来实现对特殊内部事件或外部事件的快速响应。如果没有中断事件出现,CPU循环执行组织块OB1。如果出现中断事件,例如诊断中断和时间延迟中断等,因为OB1的中断优先级最低,操作系统在执行完当前程序的当前指令后,立即响应中断。CPU暂停正在执行的程序块,自动调用一个分配给该事件的组织块(即中断程序)来处理中断事件。执行完中断组织块后,返回被中断的程序的断点处继续执行原来的程序。这意味着部分用户程序不必在每次循环中处理,而是在需要时才被及时处理。处理中断事件的程序放在该事件驱动的OB中。425.10用户程序结构简介——组织块5/6
时间延迟中断组织块(Time-delayOB):此OB可以通过SRT_DINT指令设置其延迟时间,当延迟时间到达时,延迟中断OB被触发。周期中断组织块(CyclicinterruptOB):将在指定间隔之间被执行。硬件中断组织块(HardwareinterruptOB):将在指定的硬件事件发生时被执行,例如数字量输入信号的上升沿或下降沿。435.10用户程序结构简介——组织块6/6
时间错误中断组织块(Time-errorinterruptOB):此OB将在检测到时间错误(程序循环扫描OB执行时间超出了CPU属性中定义的最大扫描时间)时被执行,此OB的编号只能是OB80。当CPU中没有此OB时,用户可以指定当时间错误发生时CPU是忽略此错误还是转换到STOP模式。诊断错误中断组织块(DiagnosticerrorinterruptOB):此OB将在检测到诊断错误时被执行,此OB的编号只能是OB82。当CPU中没有此OB时,用户可以指定当诊断错误发生时CPU是忽略此错误还是转换到STOP模式。445.11用户程序结构简介——功能
功能(Function,FC)是用户程序编写的子程序,它包含完成特定任务的代码和参数。FC和FB有与调用它的块共享的输入参数和输出参数。执行完FC和FB后,返回调用它的代码块。功能是快速执行的代码块,用于执行下列任务:完成标准的和可重复使用的操作,例如算术运算;完成技术功能,例如使用位逻辑运算的控制。可以在程序的不同位置多次调用同一个FC,这可以简化重复执行的任务的变成。功能没有固定的存储区,执行结束后,其临时变量中的数据就丢失了。可以用全局数据块或M存储区来存储那些在功能执行结束后需要保持的数据。455.11用户程序结构简介——功能块
功能块(FunctionBlock,FB)是用户程序编写的子程序。调用功能块时,需要制定背景数据块,是功能块专用的存储区。CPU执行FB中的程序代码,将块的输入、输出参数和局部静态变量保存在背景数据块中,以便可以从一个扫描周期到下一个扫描周期快速访问它们。FB的典型应用是执行不能在一个扫描周期结束的操作。在调用FB时,打开了对应的背景数据块,后者的变量可以供其他代码块使用。调用同一个功能块时使用不同的背景数据块,可以控制不同的设备。例如用来控制水泵和阀门的功能使用包含特定的操作参数的不同的背景数据块,可以控制不同的水泵和阀门。S7-1200的部分指令(例如IEC标准的定时器和计数器指令)实际上是功能块,在调用它们时需要指定配套的背景数据块。465.11用户程序结构简介——数据块
数据块(Datablock,DB)是用于存放执行代码块时所需的数据的数据区,有两种类型的数据块:全局(Global)数据块:存储供所有的代码块使用的数据,所有的OB、FB和FC都可以访问。背景数据块:存储供特定的FB使用的数据。475.12功能与功能块——功能的特点功能(Function,FC)和功能块(FunctionBlock,FB)是用户编写的子程序,他们包含完成特定任务的程序。FC和FB有与调用它的块共享的输入、输出参数,执行完FC和FB后,将执行结果返回给调用它的代码块。功能没有固定的存储区,功能执行结束后,其局部变量中的临时数据就丢失了。可以用全局变量来存储那些在功能执行结束后需要保存的数据。485.13功能与功能块——生成功能设压力变送器量程的下限为0MPa,上限为HighMPa,经A/D转换后得到027648的整数。数字N和压力P之间的计算公式:双击495.13功能与功能块——功能的局部数据1/3在界面区中生成局部变量,只能在它所在的块中使用。局部变量的名字有字符(包括汉字)和数字组成。1)Input(输入参数):由调用它的块提供的输入数据。2)Output(输出参数):返回给调用它的块的程序执行结果。3)InOut(输入_输出参数):初值有调用它的块提供,块执行后将它的返回值返回给调用它的块。4)Temp(临时数据):暂时保存在局部数据堆栈中的数据。只是在执行块时使用临时数据,执行完后,不在保存临时数据的数值,它可能被别的块的临时数据覆盖。5)Return中的Ret_Val(返回值),属于输出参数。505.13功能与功能块——功能的局部数据2/3515.13功能与功能块——功能的局部数据3/3生成局部变量时,不需要指定存储器地址,根据各变量的类型,程序编辑器自动地为所有变量指定存储器地址。返回值Ret_Val属于输出参数,默认的数据类型为Void,该数据类型不保存数据,用于功能不需要返回值的情况,在调用FC1时,看不到Ret_Val。如果将它设置为Void之外的数据类型,在FC1内部编程时可以使用该变量,调用FC1时可以在方框的右边看到作为输出参数的Ret_Val。525.13功能与功能块——FC1的程序设计STEP7Basic自动地在局部变量的前面添加#号。535.13功能与功能块——在OB1中调用FC1在FC的界面区中定义的参数称为FC的形式参数,简称为形参,形参在FC内部的程序中使用,在别的逻辑块调用FC时,需要为每个形参指定实际的参数,简称为实参。实参与它对应的形参应具有相同的数据类型。5.14FC块编程1、设备维护提醒按下启动按钮,电机开始工作,开始计时。按下停止按钮,电机停止计时,统计设备的运行时间,天、时、分、秒。电机累计工作10天,发出报警提示(报警需闪烁),但电机正常工作,正常计时。
发出报警提示,工作人员需按下停止按钮。对电机进行维护保养。维护保养以后,按下复位按钮,报警灯熄灭。计时从零开始。I/O分配输入功能输出功能I0.0启动按钮Q0.0电机运行I0.1停止按钮Q0.1维护指示灯I0.2硬件故障Q0.2报警指示灯I0.7复位按钮举一反三广场喷泉控制(1)任务要求:一个喷泉池里有A、B、C三种喷头。喷泉的喷水规律是:按下启动按钮,A喷头喷5S——B、C喷头同时喷8S——B喷头喷4S——A,C喷头同时喷5S——A、B、C喷头同时喷8S——停1S,然后从头循环开始喷水,直到按下停止按钮。(2)任务分析
画时序图(3)I/O分配输入功能输出功能I0.0启动按钮Q0.0AI0.1停止按钮Q0.1BQ0.2C程序如下:665.15功能与功能块——功能块的特点功能块(FB)是用户编写的有自己的存储区(背景数据块)的块。FB的典型应用是执行不能在一个扫描周期结束的操作。每次调用功能块是,都需要指定一个背景数据块,背景数据块随功能块的调用而打开,在调用结束时自动关闭。功能块的输入、输出和静态变量(Static)用指定的背景数据块保存,但是不会保存临时局部变量(Temp)中的数据。功能块执行后,背景数据块中的数据不会丢失。675.15功能与功能块——功能块的局部变量1/2FB1的界面区FB1的背景数据块685.15功能与功能块——功能块的局部变量2/2功能块的数据永久性地保存在它的背景数据块中,在功能块执行完后也不会丢失,以供下次执行时使用。其他代码块可以访问背景数据块中的变量。不能直接删除和修改背景数据块中的变量,只能在它的功能块的界面区中删除和修改这些变量。生成功能块的输入、输出参数和静态变量时,它们被自动指定一个默认值,可以修改这些默认值。变量的默认值被传送给FB的背景数据块,作为同一个变量的初始值。可以在背景数据块中修改变量的初始值。调用FB时没有指定实参的形参使用背景数据块中的初始值。695.15功能与功能块——编写FB1的程序705.15功能与功能块——在OB1中调用FB11/2715.15功能与功能块——在OB1中调用FB12/2如果没有给功能块(FB)的输入、输出或输入/输出参数赋值,将使用背景数据块(DB)中存储的值。可以给FB接口中的参数赋初值。这些值将传送到相关的背景DB中。如果未分配参数,将使用当前存储在背景DB中的值。725.15功能与功能块——处理调用错误FB1最初没有输入参数“定时时间”。在OB1中调用符号名为“Motor”的FB1后,在FB1的界面区增加了输入参数“定时时间”,OB1中被调用的FB1的方框和字符变为红色。点击工件栏上的(更新不一致的块调用),出现“界面更新”对话框,显示出原有的块界面和新的界面。点击确定,OB1中被调用的FB1被修改为新的界面,FB1中的红色错误标记消失。FB块编程临时变量(Temp):只有当块执行时存储数据的变量。当退出这些块时存储数据丢失。可以在所有的程序块中(FB、FC、DB)声明临时变量。静态变量(Static):如果有一些变量在块调用结束后还需将其数值保存下来,则必须将其存储在静态变量中。(FB块中有而FC块中没有)。静态变量将被保存在背景数据块中。INPUT,OUTPUT,INOUT会生成外部接口,但Static不会生成外部接口。INPUT,OUTPUT,INOUT、Static变量都会保存在背景数据块中。例题:以启、保、停任务为例编写理解FB功能块。FB块编程广场喷泉控制(1)任务要求:一个喷泉池里有A、B、C、D四种喷头。喷泉的喷水规律是:按下启动按钮,喷泉控制装置开始工作;按下停止按钮,喷泉装置停止工作。喷泉的工作方式有以下两种,可通过方式选择开关来选择。方式一:开始工作时,A喷头喷3S,接着B喷头喷水3S,然后C喷头喷水3S,最后D喷头喷水20S;重复上述过程,直到按下停止按钮为止。方式二:开始工作时,A,C喷头喷水5S,接着B,D喷头喷水5S,停2S,如此交替运行60S,然后4组喷头全喷水20S;重复上述过程,直到按下停止按钮。(2)任务分析
画时序图
(3)I/O分配输入功能输出功能I0.0启动按钮Q0.0AI0.1停止按钮Q0.1BI0.2方式选择开关Q0.2CQ0.3D程序如下:方式一参数变量表程序如下:方式二程序编写:程序如下:主程序865.16功能与功能块——FC与FB的区别1)功能块有背景数据块,功能没有背景数据块。2)只能在功能内部访问它的局部变量,其他代码块或HMI可以访问功能块的背景数据块中的变量。3)功能没有静态变量,功能块有保存在背景数据块中的静态变量。功能如果有执行完后需要保存的数据,只能存放在全局变量中(如全局数据块和M去),但这样会影响功能的可移植性。4)功能块的局部变量(不包含Temp)有默认值(初始值),功能的局部变量没有初始值。在调用功能块时如果没有设置某些输入、输出参数的实参,将使用背景数据块中的初始值。调用功能时应给所有的形参指定实参。875.16功能与功能块——OB与FC和FB的区别1)对应的事情发生时,由操作系统调用组织块,FB和FC是用户程序在代码块中调用。2)组织块没有输入参数、输出参数和静态变量,只有临时局部数据。有的组织块自动生成的临时局部数据包含了与启动组织块的时间有关的信息,它们由操作系统提供。885.17功能与功能块——FB的多重背景数据块1/4每次调用定时器和计数器指令时,都需要指定一个背景数据块。如果这类指令很多,将会生成大量的数据块“碎片”。为了解决这个问题,在功能块中使用定时器、计数器指令时,可以在功能块的界面区定义数据类型为IEC_Timer或IEC_Counter的静态变量,用这些静态变量来提供定时器和计数器的背景数据。这种功能的背景数据块称为多重背景数据块。这样多个定时器或计数器的背景数据块被包含在它们所在的功能块的背景数据块中,而不需要为每个定时器或计数器设置一个单独的背景数据块,减少了处理数据的时间,能更合理地利用存储空间。在共享的多重背景数据块中,定时器、计数器的数据结构之间不会产生相互作用。895.17功能与功能块——FB的多重背景数据块2/4调用定时器时905.17功能与功能块——FB的多重背景数据块3/4只能以多重背景方式调用STEP7Basic提供的库中包含的功能块,不能以多种背景方式调用用户创建的功能块。915.17功能与功能块——FB的多重背景数据块4/4变量表中的变量:OB1中两次调用FB2:925.17全局数据块——类型数据块(DB)是用于存放执行代码时所需的数据的数据区。与代码块不同,数据块没有指令,STEP7Basic按数据生成的顺序自动地为数据块中的变量分配地址。有两种类型数据块:全局数据块:存储供所有的代码块使用的数据,所有的OB、FB和FC都可以访问;背景数据块:存储的数据供特定的FB使用。背景数据块中保存的是对应的FB的Input、Output、InOut和Static变量,Temp没有用背景数据块保存。935.17全局数据块——建立可以修改块的编号选择是全局DB或是某个FB对应的的背景数据块修改数据块的名称只能用符号地址访问生成的块中的变量,不能使用绝对地址,可以提高存储器的利用率945.17全局数据块——格式全部监视插入行添加行扩展模式结构和数组的“偏移量”它们在数据块中的起始地址结构的元素的“偏移量”列是它们在结构中的地址偏移量955.17全局数据块——访问数据块可以按位(例如DBX3.5)、字节(DBB)、字(DBW)和双字(DBD)来访问。在访问数据块中的数据时,应指明数据块的名称,可以用符号地址或绝对地址访问:“GloablDB1”.功率[2],或绝对地址DB5.DBW14。符号地址表示结构中的元素:“GloablDB1”.发电机.电流965.18中断事件与中断指令——启动组织块的事件事件类型OB编号OB个数启动事件队列深度OB优先级优先级组程序循环1或2001启动或结束前一循环OB111启动100或2000从STOP切换到RUN11时间延迟2004延迟时间到832循环中断2004固定的循环时间到84硬件中断20050上升沿(16个)、下降沿(16个)325HSC计数值=设定值,计数方向编号,外部复位,最大分别6个166诊断错误820或1模块检测到错误89时间错误800或1超过最大循环时间,调用的OB正在执行,队列溢出,因为中断负荷过高丢失中断8263975.18中断事件与中断指令——不会启动OB的事件事件级别事件事件优先级系统反应插入/拔出插入/拔出模块21STOP访问错误刷新过程映像的I/O访问错误22忽略编程错误块内的编程错误23STOPI/O访问错误块内的I/O访问错误24STOP超过最大循环时间的两倍超过最大循环时间的两倍27STOP985.18中断事件与中断指令——事件执行的优先级与中断队列优先级、优先级组合队列用来决定时间服务程序的处理顺序。每个CPU事件都有它的优先级,不同优先级的事件分为3个优先级组。优先级的编号越大,优先级越高。事件一般按优先级的高低来处理,先处理高优先级的事件。优先级相同的事件按“先来先服务”的原则来处理。高优先级组的事件可以中断低优先级组的事件的OB的执行。一个OB正在执行时,如果出现了另一个具有相同或较低优先级组的事件,后者不会中断正在处理的OB,将根据它的优先级添加到对应的中断队列排队等待。当前的OB处理完后,再处理排队的事件。不同的事件均有它自己的中断队列和不同的队列深度。对于特定的事件类型,如果队列中的事件个数达到上限,下一个事件将使队列溢出,新的中断事件被丢弃,同时产生时间错误中断事件。995.18中断事件与中断指令——程序循环组织块需要连续执行的程序应放在主程序OB1中,CPU在RUN模式时循环执行OB1,可以在OB1中调用FC和FB。如果用户程序生成了其他程序循环OB,CPU按OB编号的顺序执行它们,首先执行主程序OB1,然后执行编号大于等于200的程序循环OB。一般只需要一个程序循环组织块。1005.18中断事件与中断指令——启动组织块启动组织块用于初始化,CPU从STOP切换到RUN时,执行一次启动OB。执行完后,开始执行程序循环OB1。允许生成多个启动OB,默认的是OB100,其他的启动OB的编号应大于等于200。一般只需要一个启动组织块。OB100的程序:OB201的程序:将CPU切换到RUN后,QB0的数值为7,MB14和MB16的值为1,说明只执行了一次OB100和OB201。1015.18中断事件与中断指令——循环中断组织块在设定的时间间隔,循环中断(cyclicinterrupt)组织块被周期地执行。最多可以组态4个循环中断事件,循环中断OB的编号大于等于200。1025.18中断事件与中断指令——硬件中断组织块1/4硬件中断组织块用于处理需要快速响应的过程事件。出现CPU内置的数字量输入的上升沿、下降沿和高速计数器事件时,立即中止当前正在执行的程序,改为执行对应的硬件中断OB(编号大于等于200)。硬件中断组织块没有启动信息。最多可以生成50个硬件中断OB:1)上升沿事件:CPU内置的数字量输入和2点信号板的数字量输入有OFF变为ON时,产生上升沿事件。2)下降沿事件:上述数字量输入由ON变OFF时,产生下降沿事件。3)高速计数器HSC16的实际计数值等于设定值(CV=RV)。4)HSC16的方向改变,计数值由增大变减小,或由减小变增大。5)HSC16的外部复位,某些HSC的数字量外部复位输入从OFF变ON时,将计数值复位为0。1035.18中断事件与中断指令——硬件中断组织块2/4硬件中断组织块的处理方法:1)给一个事件指定一个硬件中断OB,这种方法最为简单方便,应优先采用;2)多个硬件中断OB分时处理一个硬件中断事件,需要用DETACH指令取消原有的OB与事件的连接,用ATTACH指令将一个新的硬件中断
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东理工职业学院《JavaWEB开发技术课程综合实践》2023-2024学年第一学期期末试卷
- 广东科贸职业学院《大学职业发展与就业指导4》2023-2024学年第一学期期末试卷
- 广东江门中医药职业学院《高等数学II》2023-2024学年第一学期期末试卷
- 广东机电职业技术学院《中学英语》2023-2024学年第一学期期末试卷
- 广东环境保护工程职业学院《工程荷载与可靠度设计方法》2023-2024学年第一学期期末试卷
- 广东财贸职业学院《经贸应用文写作》2023-2024学年第一学期期末试卷
- 共青科技职业学院《电力电子与变频技术》2023-2024学年第一学期期末试卷
- 中考物理基础复习课件
- 贸促会法律培训课件
- 赣南卫生健康职业学院《能源转换原理B》2023-2024学年第一学期期末试卷
- 2024浙江宁波市象山县人力资源和社会保障局招聘历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 新概念第二册课文和单词
- 吾悦广场商场开业仪式开业庆典周年庆活动方案
- JJG 393-2018便携式X、γ辐射周围剂量当量(率)仪和监测仪
- 2023年6月新高考历史浙江卷试题真题答案解析版
- 人教新起点(一起)五年级英语上册全册知识点
- 幼儿园小班教案《垫子多玩》
- 2024年等离子切割机市场需求分析报告
- 高速公路服务区业态创新策划书
- 论药品管理在药品安全中的重要性
- 河北省唐山市2023-2024学年高一上学期1月期末考试物理试题(含答案解析)
评论
0/150
提交评论