书签 分享 收藏 举报 版权申诉 / 43
上传文档赚钱

类型现代电气控制技术第7章课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3404660
  • 上传时间:2022-08-28
  • 格式:PPT
  • 页数:43
  • 大小:417.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《现代电气控制技术第7章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    现代 电气控制 技术 课件
    资源描述:

    1、Ch7 S7-200系列系列PLC的功能指令的功能指令 程序控制类指令程序控制类指令 数据处理类指令数据处理类指令 运算指令运算指令 转换指令转换指令子程序子程序 时钟指令时钟指令 中断中断 高速计数器指令高速计数器指令 高速脉冲输出指令高速脉冲输出指令n功能指令功能指令(Functional Instruction)也称应用指令,是也称应用指令,是基本指令之外的指令。基本指令之外的指令。n功能指令的丰富程度及使用的方便程度是衡量功能指令的丰富程度及使用的方便程度是衡量PLC性性能的一个重要指标。能的一个重要指标。n功能指令的梯形图符号多为功能指令的梯形图符号多为“功能块功能块”,涉及到的机,

    2、涉及到的机内器件种类、数据类型及数据量较多。内器件种类、数据类型及数据量较多。n功能指令依据其功能大致分为程序控制类指令、数据功能指令依据其功能大致分为程序控制类指令、数据处理类指令、特殊功能类指令等。处理类指令、特殊功能类指令等。nS7-200系列系列PLC功能指令较多,学习时应重点了解其功能指令较多,学习时应重点了解其基本功能和基本概念,通过读程序、编程序和调试程基本功能和基本概念,通过读程序、编程序和调试程序来学习功能指令。序来学习功能指令。指令规约指令规约若将若将“ENO”作为下一个功能块的输入,作为下一个功能块的输入,则可将功能块串联在同一逻辑行中(如下图)。则可将功能块串联在同一逻

    3、辑行中(如下图)。只有当前一个功能块被正确执行时后面的功能块才能被只有当前一个功能块被正确执行时后面的功能块才能被执行。执行。功能块的级联不仅使梯形图程序更加紧凑,而且能在指功能块的级联不仅使梯形图程序更加紧凑,而且能在指令出错时及时停止执行后续指令。令出错时及时停止执行后续指令。无使能输出端的功能块指令不能用于级联。无使能输出端的功能块指令不能用于级联。上图所对应语句表如下:上图所对应语句表如下:LD I0.0SQRT VD0,VD4AENOMOVB VB8,QB2SQRTENINENOOUTMOV-BENINENOOUT能流I0.0VD0VD4 VB8QB2能流 在梯形图中,程序被划分为独

    4、立的段,称之为在梯形图中,程序被划分为独立的段,称之为网络(网络(Network),每一个网络由一个或多个梯级组成;在语),每一个网络由一个或多个梯级组成;在语句表中,使用句表中,使用“NETWORK”关键词对程序分段,多条语句组关键词对程序分段,多条语句组成一个程序段;在功能块图中,使用网络概念给程序分段。成一个程序段;在功能块图中,使用网络概念给程序分段。语句表程序可以不使用网络,但只有将语法正确的语句表语句表程序可以不使用网络,但只有将语法正确的语句表程序正确的划分为网络,才能将语句表程序转换为梯形图程序。程序正确的划分为网络,才能将语句表程序转换为梯形图程序。在输入语句表指令时,必须使

    5、用英文标点符号。在输入语句表指令时,必须使用英文标点符号。梯形图中的网络与指令梯形图中的网络与指令 注意:注意:梯形图中左、右两侧的垂直线称之为梯形图中左、右两侧的垂直线称之为左、右母线左、右母线,通常情况,通常情况下右母线省略不画。下右母线省略不画。在两母线之间是由在两母线之间是由触点、线圈和功能块触点、线圈和功能块组成的组成的梯级梯级。触点代。触点代表表逻辑输入条件逻辑输入条件,如外部开关、按钮等;线圈代表,如外部开关、按钮等;线圈代表逻辑输出结逻辑输出结果果,用来控制外部的负载或内部的输出条件;功能块用来表示,用来控制外部的负载或内部的输出条件;功能块用来表示计数器、定时器等功能指令。计

    6、数器、定时器等功能指令。条件输入指令条件输入指令是指必须有是指必须有“能流能流”输入才能执行的输入才能执行的线圈或功能块指令,它们不能直接连接在左母线;如线圈或功能块指令,它们不能直接连接在左母线;如果指令需要无条件的被执行,可以用连接至左母线的果指令需要无条件的被执行,可以用连接至左母线的SM0.0(该位始终为(该位始终为1)常开触点进行驱动;)常开触点进行驱动;无条件输无条件输入指令入指令是指线圈或功能块的执行与是指线圈或功能块的执行与“能流能流”无关,则无关,则与左母线直接相连,如与左母线直接相连,如LBL、SCR等。等。程序控制指令程序控制指令有条件结束指令有条件结束指令ENDEND根

    7、据前面的逻辑条件终止用户主程序的根据前面的逻辑条件终止用户主程序的执行,返回主程序的起点(第一条指令行)。执行,返回主程序的起点(第一条指令行)。在梯形图中,该指令不能直接连在左母线上,用于无条件结在梯形图中,该指令不能直接连在左母线上,用于无条件结束指令束指令MENDMEND之前,且只能用于主程序、不能用在子程序和中之前,且只能用于主程序、不能用在子程序和中断程序中。断程序中。有有条件结束指令条件结束指令程序控制类指令用于程序运行状态的控制,主要包括跳转指程序控制类指令用于程序运行状态的控制,主要包括跳转指令、循环指令等,能够影响程序执行的流向及内容。令、循环指令等,能够影响程序执行的流向及

    8、内容。M0.0LD M0.0a)梯形图b)语句表(END )END注意注意 无条件结束指令无条件结束指令MEND在执行时,终止用户程序的执行返在执行时,终止用户程序的执行返回主程序第一条指令行。回主程序第一条指令行。STEP 7-Micro/WIN 4.0编程软件会自动编程软件会自动在主程序结束时加上一个无条件结束指令,用户不能输入,否则在主程序结束时加上一个无条件结束指令,用户不能输入,否则编译出错。编译出错。PLC反复进行输入采样、程序执行、输出刷新,在程序反复进行输入采样、程序执行、输出刷新,在程序的最后写入的最后写入END指令,表示程序结束,直接进行输出处理。在程指令,表示程序结束,直

    9、接进行输出处理。在程序调试过程中,可以按段插入序调试过程中,可以按段插入END指令,按顺序扩大对各程序段指令,按顺序扩大对各程序段动作的检查,当确定处于前面的电路块的动作正确无误之后,再动作的检查,当确定处于前面的电路块的动作正确无误之后,再依次删去依次删去END指令。另外,在执行指令。另外,在执行END指令时,也刷新监视时指令时,也刷新监视时钟。钟。停止指令停止指令 停止指令停止指令STOP在使能输入有效时,立即终止程序的执在使能输入有效时,立即终止程序的执行,能够引起行,能够引起CPU工作方式发生变化,使工作方式发生变化,使CPU从从RUN模式转模式转为为STOP模式,立即终止程序的执行。

    10、因此,停止指令主要模式,立即终止程序的执行。因此,停止指令主要用于处理突发紧急事件。用于处理突发紧急事件。STOP指令可以用于主程序,也可以用于子程序和中断指令可以用于主程序,也可以用于子程序和中断程序。若在中断程序中执行程序。若在中断程序中执行STOP指令,则中断程序立即终指令,则中断程序立即终止,并且忽略所有等待执行的中断,继续扫描循环中的剩余止,并且忽略所有等待执行的中断,继续扫描循环中的剩余主程序,在当前扫描结束时将主程序,在当前扫描结束时将CPU由由RUN切换至切换至STOP。SM5.0LD SM5.0STOP(STOP )监视器重设指令监视器重设指令 监视器重设指令(监视器重设指令

    11、(WDR,Watchdog Reset)又称看门狗)又称看门狗复位指令或监控定时器复位指令,用于重新触发复位指令或监控定时器复位指令,用于重新触发CPU的系统的系统监视程序计时器,扩展扫描允许使用的时间,而不会出现监监视程序计时器,扩展扫描允许使用的时间,而不会出现监视程序错误。视程序错误。SM5.0LD SM5.0a)梯形图b)语句表(STOP)STOPM5.6(WDR )MOV_BIWENENOINOUTQB2QB2I0.0(END)LD M5.6WDRLD I0.0ENDBIW QB2,QB2 工作原理:工作原理:为了保证系统可靠运行,为了保证系统可靠运行,PLC内部设置了内部设置了系统

    12、监视定时器系统监视定时器WDT,以监视扫描周期是否超时。监视器定时时间为,以监视扫描周期是否超时。监视器定时时间为500ms,每次扫描它都被自动复位一次。如果扫描周期小于每次扫描它都被自动复位一次。如果扫描周期小于500ms,它,它不起作用;由于用户程序很长、执行中断程序的时间较长、循不起作用;由于用户程序很长、执行中断程序的时间较长、循环指令的循环次数过多等原因,扫描周期有可能大于环指令的循环次数过多等原因,扫描周期有可能大于500ms,监控定时器会停止执行用户程序。监控定时器会停止执行用户程序。注意注意 如果使用监视器重设指令允许执行扫描时间很长的程如果使用监视器重设指令允许执行扫描时间很

    13、长的程序,模式开关切换到序,模式开关切换到STOP位置,会使位置,会使S7-200在在1.4秒内转换为秒内转换为STOP模式。模式。带数字量输出的扩展模块也有一监控定时器,在使用带数字量输出的扩展模块也有一监控定时器,在使用WDR指令时,应对每个扩展模块的某一个输出字节使用立即写指令时,应对每个扩展模块的某一个输出字节使用立即写(BIW)指令来复位扩展模块的监控定时器。)指令来复位扩展模块的监控定时器。循环指令循环指令I2.1FORENENOINDXINITFINALVW100110I2.2FORENENOINDXINITFINALVW20015(NEXT)(NEXT)12FOR指令中,指令中

    14、,INDX称为称为索引值或当前值计数器,索引值或当前值计数器,INIT为起始值,为起始值,FINAL为终值,均为整数类型。为终值,均为整数类型。由由FOR和和NEXT指令构成指令构成程序的循环体。程序的循环体。FOR指令指令执行执行FOR和和NEXT之间的之间的指令,是循环的开始;指令,是循环的开始;NEXT指令表示循环结束,指令表示循环结束,并将堆栈的栈顶值设为并将堆栈的栈顶值设为1。跳转跳转指令指令SM0.2LDN SM0.2b)语句表(JMP)JMP 4LBL 4LBL44a)梯形图JMP与与LBL(Label)配合实现配合实现程序的跳转,在使能输入有效时,程序的跳转,在使能输入有效时,

    15、跳转指令使程序流程转到对应的标跳转指令使程序流程转到对应的标号号LBL处,标号指令用来指示跳转处,标号指令用来指示跳转指令的目的位置;使能输入无效时,指令的目的位置;使能输入无效时,程序顺序执行。程序顺序执行。JMP以线圈形式编程,而以线圈形式编程,而LBL以功能块形式编程。以功能块形式编程。JMP与与LBL指令之间的区域称为跳转区,在跳转发生的扫描周期中,指令之间的区域称为跳转区,在跳转发生的扫描周期中,跳转区内的程序段停止执行,涉及的各输出器件状态保持不跳转区内的程序段停止执行,涉及的各输出器件状态保持不变。跳转执行时,栈顶值始终为变。跳转执行时,栈顶值始终为1。操作数操作数n为常数为常数

    16、0255。注意注意 跳转及其对应的标号指令跳转及其对应的标号指令必须始终位于相同的代码段中必须始终位于相同的代码段中(同在(同在主程序内、同一子程序或同一中断服务程序内),不可由主程主程序内、同一子程序或同一中断服务程序内),不可由主程序跳转至子程序或中断服务程序中的标号,也不可由子程序或序跳转至子程序或中断服务程序中的标号,也不可由子程序或中断服务程序跳转至子程序或中断服务程序之外的标号。中断服务程序跳转至子程序或中断服务程序之外的标号。由于跳转指令具有选择程序段的功能,因此,在同一程序但位由于跳转指令具有选择程序段的功能,因此,在同一程序但位于因跳转而不会被同时执行的程序段中的相同线圈不被

    17、视为于因跳转而不会被同时执行的程序段中的相同线圈不被视为双双线圈线圈。可以可以多条跳转指令使用同一标号,但多条跳转指令使用同一标号,但不能不能一个跳转指令对应多一个跳转指令对应多个标号。个标号。7.2 数据处理类指令数据处理类指令字节传送指令。字节传送指令。MOVB IN,OUT功能:功能:当当EN=1时,将一时,将一个个无符号单字节无符号单字节数据由数据由IN传送到传送到OUT。字传送指令。字传送指令。MOVW IN,OUT功能:功能:当当EN=1时,将一个时,将一个有符号有符号单字长单字长数据由数据由IN传送到传送到OUT。双字传送指令双字传送指令梯形图:梯形图:语句表:语句表:MOVD

    18、IN,OUT 功能:功能:当当EN=1时,将一时,将一个个有符号双字长数据有符号双字长数据由由IN传送到传送到OUT。实数传送指令实数传送指令语句表:语句表:MOVR IN,OUT梯形图:梯形图:功能:功能:当当EN=1时,将一时,将一个个有符号双字长的实数有符号双字长的实数数据由数据由IN传送到传送到OUT。利用传送指令实现利用传送指令实现3台电动机台电动机M0、M1和和M2同时启同时启/停控制,试停控制,试梯形图电路实现控制功能。梯形图电路实现控制功能。M0.1QB0OUTI0.0ENMOV_B7INENOQB0OUTENMOV_B0INENO网络网络1 启动三台电动机启动三台电动机网络网

    19、络2 同时停止三台电动机同时停止三台电动机字节左、右移指令字节左、右移指令梯形图:梯形图:语句表:语句表:SHLB OUT,N SHRB OUT,N 功能:功能:当当EN=1时,将单字节长的输入无符号数时,将单字节长的输入无符号数IN按位按位进行左移或右移进行左移或右移N位,移位后最右边移走的位或最左边位,移位后最右边移走的位或最左边移走的位补移走的位补0,结果存入,结果存入OUT。其他移位指令其他移位指令梯形图:梯形图:语句表:语句表:SHLW OUT,N SHRW OUT,N 梯形图:梯形图:语句表:语句表:SHLD OUT,N SHRD OUT,N(2)循环左移、循环右移循环左移、循环右

    20、移 循环移位特点:循环移位特点:移位数据存储单元的移出端与另一端相连移位数据存储单元的移出端与另一端相连,同时又与,同时又与SM1.1 (溢出)相连,所以最后被移出的位被移到另一端的同时,(溢出)相连,所以最后被移出的位被移到另一端的同时,也被放到也被放到SM1.1位存储单元。位存储单元。移位次数与移位数据的长度有关,如果移位次数设定值大于移位次数与移位数据的长度有关,如果移位次数设定值大于移位数据的位数,则执行循环移位之前,系统先对设定值取移位数据的位数,则执行循环移位之前,系统先对设定值取以数据长度为底的模以数据长度为底的模(求余数),(求余数),用小于数据长度的结果作用小于数据长度的结果

    21、作为实际循环移位的次数。为实际循环移位的次数。如字左移时,若移位次数设定为如字左移时,若移位次数设定为36,则先对则先对36取以取以16为底的模,得到小于为底的模,得到小于16的结果的结果移位次数移位次数N为字节型数据。为字节型数据。使能输入有效时,把字节型输入数据使能输入有效时,把字节型输入数据IN循环左移或循环右移循环左移或循环右移N位后,再将结果输出到位后,再将结果输出到OUT所指的字节存储单元(在语句所指的字节存储单元(在语句表中,表中,IN与与OUT使用同一个单元)。使用同一个单元)。实际移位次数为设定值实际移位次数为设定值取以取以8为底的模所得的结果。为底的模所得的结果。指令格式:

    22、指令格式:RLB OUT,N (字节循环左移)(字节循环左移)RRB OUT,N (字节循环右移)(字节循环右移)例:例:RLB MB0,2 RRB LB0,3 (1)字节循环左移和右移指令:)字节循环左移和右移指令:RLB,RRB(2)字循环左移和右移指令:)字循环左移和右移指令:RLW,RRW 功能框与字节循环移位只有名称变为功能框与字节循环移位只有名称变为ROL W和和ROR W,其他,其他部分完全相同。使能输入有效时,把字型输入数据部分完全相同。使能输入有效时,把字型输入数据IN循环左移循环左移或循环右移或循环右移N位后,再将结果输出到位后,再将结果输出到OUT所指的字存储单元所指的字

    23、存储单元(在语句表中,(在语句表中,IN与与OUT使用同一个单元)。使用同一个单元)。实际移位次数为实际移位次数为设定值取以设定值取以16为底的模所得的结果为底的模所得的结果。指令格式:指令格式:RLW OUT,N (字循环左移)(字循环左移)RRW OUT,N (字循环右移)(字循环右移)例:例:RLW MD0,2 RRW LD0,3 ROL_WENINNENOOUTROR_WENINNENOOUT(3)双字循环左移和右移指令:)双字循环左移和右移指令:RLD,RRD 功能框与字节循环移位只有名称变为功能框与字节循环移位只有名称变为ROL DW和和ROR DW,其他部分完全相同。使能输入有效

    24、时,把双字型输入数据其他部分完全相同。使能输入有效时,把双字型输入数据IN循循环左移或循环右移环左移或循环右移N位后,再将结果输出到位后,再将结果输出到OUT所指的双字存所指的双字存储单元(在语句表中,储单元(在语句表中,IN与与OUT使用同一个单元)。使用同一个单元)。实际移位实际移位次数为设定值取以次数为设定值取以32为底的模所得的结果。为底的模所得的结果。指令格式:指令格式:RLD OUT,N (双字循环左移)(双字循环左移)RRD OUT,N (双字循环右移)(双字循环右移)例:例:RLD MD0,2 RRD LD0,3 ROL_DWENINNENOOUTROR_DWENINNENOO

    25、UTSHL_BENINNENOOUTVB204VB20I2.1ROR_WENINNENOOUTAC02AC0VB20移移位位前前1110 0101VB20移移位位后后0101 0000SM1.1X0AC0循循环环移移位位前前0100 0000 0000 0001AC0循循环环移移位位后后0101 0000 0000 0000X0字节左移、字循环右移指令举例字节左移、字循环右移指令举例 8个彩灯依顺序每秒闪亮一次。个彩灯依顺序每秒闪亮一次。M0.0QB0OUTM0.0ENMOV_B1INENOINT3710PTTON网络网络1网络网络2 启动第一个灯先亮启动第一个灯先亮I0.1M0.0()I0.

    26、6M0.0P网络网络3 彩灯闪亮频率为彩灯闪亮频率为1sT37QB0OUTT37ENROL_BQB0INENON13.移位寄存器指令移位寄存器指令移位寄存器指令可用来进行顺序控制、步进及数据流控制。移位寄存器指令可用来进行顺序控制、步进及数据流控制。使用该指令时,每个扫描周期整个移位寄存器移动一位。使用该指令时,每个扫描周期整个移位寄存器移动一位。SHRBENDATAS_BI TNENOPI0.2I 0.3V100.0+2I0.2正跳变I0.3第一次移位前第一次移位后第二次移位后1100 0101MSBLSB1000 10110001011011I 0.3I0.3移位寄存器指令移位寄存器指令S

    27、HRB把输入把输入DATA端的数值移入移位寄存器端的数值移入移位寄存器中,该移位寄存器由中,该移位寄存器由S_BIT和和N决定决定。存器的存器的长度和移位方向,长度和移位方向,N为正时左移,为正时左移,N为负时右移;移出为负时右移;移出的位放在的位放在“溢出溢出”存储器位存储器位SM1.1中。中。S_BIT指定移位寄存器的最低位;指定移位寄存器的最低位;N指定移位寄指定移位寄 由移位寄存器的最低有效位由移位寄存器的最低有效位S_BIT和移位寄存器的长度和移位寄存器的长度N可可计算移位寄存器最高有效位(计算移位寄存器最高有效位(MSB.b)的地址,计算公式为:)的地址,计算公式为:MSB.b=(

    28、S_BIT的字节号)的字节号)+(|N|-1+S_BIT的位号)的位号)/8.除除8的余数的余数例如例如,如果,如果S_BIT为为V33.4,N为为14,则,则MSB.b为为MSB.b=V33+(|14|-1+4)/8 =V33+17/8 =V33+2(余数为(余数为1)=V35.17.5子程序子程序 与子程序有关的操作有:建立子程序、子程序的与子程序有关的操作有:建立子程序、子程序的调用和返回。调用和返回。创建子程序方式:打 开 程 序 编 辑 器,在“编 辑”菜 单 中 执 行 命 令“插入”“子程序”;在程序编辑器视窗中单击鼠标右键,在弹出菜单中执行命令“插入”“子程序”;用鼠标右键单击

    29、指令树上的“程序块”图标,在弹出菜单中执行命令“插入”“子程序”,程序编辑器将自动生成并打开新的子程序,在程序编辑器底部出现标有新的子程序的标签。创建好子程序后,在指令树窗口可以看到新建的创建好子程序后,在指令树窗口可以看到新建的子程序图标,子程序图标,默认的子程序名是默认的子程序名是SBR0-SBRn。编号。编号N从从0开始按递增顺序生成。开始按递增顺序生成。子程序重命名:子程序重命名:用鼠标右键单击指令树中子程序用鼠标右键单击指令树中子程序的图标,在弹出的出口中选择重命名,可以修改子程的图标,在弹出的出口中选择重命名,可以修改子程序的名称。也可以在图标上直接更改子程序的程序名,序的名称。也

    30、可以在图标上直接更改子程序的程序名,把它变为更能描述该子程序功能的名字。把它变为更能描述该子程序功能的名字。在指令树窗口双击子程序的图标就可以进入子程在指令树窗口双击子程序的图标就可以进入子程序,并对它进行编辑。序,并对它进行编辑。子程序调用指令子程序调用指令梯形图:梯形图:语句表:语句表:CALL SBR_n CALL SBR_n,IN,IN_OUT,OUT 功能功能:当当EN=1时,调用子程序时,调用子程序SBR_n,主程序把程序控制权主程序把程序控制权交给子程序。子程序的调用可以带参数,也可以不带参数。它交给子程序。子程序的调用可以带参数,也可以不带参数。它在梯形图中以功能框的形式编程。

    31、在梯形图中以功能框的形式编程。参数参数n:字型常数。对于:字型常数。对于CPU221、222、224,n为为0-63,最多有,最多有64个子程序。对于个子程序。对于226,n为为0-127,最多有,最多有128个子程序。个子程序。子程序返回指令子程序返回指令梯形图:梯形图:语句表:语句表:CRET CRET,子程序条件返回指令,子程序条件返回指令。在使能输入有效时,。在使能输入有效时,结束子程序的执行,返回主程序中(指向子程序调用结束子程序的执行,返回主程序中(指向子程序调用的下一条指令)。的下一条指令)。梯形图中以线圈的形式编程,指令梯形图中以线圈的形式编程,指令不带参数;不带参数;(RET

    32、)子程序结束要加上无条件返回指令子程序结束要加上无条件返回指令RET,但是软件会自动,但是软件会自动加入,不需要手工输入。加入,不需要手工输入。有条件返回指令多用于子程序内部,有条件返回指令多用于子程序内部,有判断条件决定是否结束子程序调用。有判断条件决定是否结束子程序调用。如果在子程序的内部又对另一个程序执行调用指令,则这如果在子程序的内部又对另一个程序执行调用指令,则这种调用称为子程序的嵌套。子程序嵌套的深度最多为种调用称为子程序的嵌套。子程序嵌套的深度最多为8级;级;当一个子程序被调用时,系统自动保存当前的逻辑堆栈数当一个子程序被调用时,系统自动保存当前的逻辑堆栈数据,并把栈顶置据,并把

    33、栈顶置1,堆栈中的其它位置设为,堆栈中的其它位置设为0,子程序占有控,子程序占有控制权。子程序执行结束,通过返回指令自动恢复原来的逻辑制权。子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权;堆栈值,调用程序又重新取得控制权;累加器可在调用程序和被调用子程序之间自由传递,所以累加器可在调用程序和被调用子程序之间自由传递,所以累加器的值在子程序调用时既不保存也不恢复。累加器的值在子程序调用时既不保存也不恢复。子程序调用使用说明:子程序调用使用说明:子程序可带参数调用,子程序可带参数调用,使得子程序调用更为灵活方便,程使得子程序调用更为灵活方便,程序结构更为紧凑清晰。子

    34、程序的调用过程如果存在数据的传递,序结构更为紧凑清晰。子程序的调用过程如果存在数据的传递,则在调用指令中应包含相应的参数。参数在子程序的局部变量则在调用指令中应包含相应的参数。参数在子程序的局部变量表中定义,最多可以传递表中定义,最多可以传递16个参数。个参数。子程序的参数在子程序的局部变量表中加以定义。子程序的参数在子程序的局部变量表中加以定义。参数包参数包含的信息有地址、变量名、变量类型和数据类型。子程序最多含的信息有地址、变量名、变量类型和数据类型。子程序最多可以传递可以传递16个参数。个参数。语句表:语句表:CALL SBR_n,IN,IN_OUT,OUT7.7 中断中断 中断是使系统

    35、暂时中断现在正在执行的程序,而转到中断服务子程序去处理那些急需处理的中断事件,处理后返回原程序时,恢复当时的程序执行状态并继续执行。中断事件往往是不能预测的事件,具有随机性,与用户程序的执行时序无关。中断程序又称中断服务子程序,是由用户编写处理中断事件的程序,但不是由用户程序调用,而是在中断事件发生时由操作系统调用。S7-200 CPU 最多可以使用最多可以使用128个中断程序,但中个中断程序,但中断程序不能再被中断。一旦中断开始执行,它会一直断程序不能再被中断。一旦中断开始执行,它会一直执行到结束,而且不会被别的中断程序(甚至是更高执行到结束,而且不会被别的中断程序(甚至是更高优先级的中断程

    36、序)打断。正在处理某中断程序时,优先级的中断程序)打断。正在处理某中断程序时,如果又有中断事件发生,新出现的中断事件需按时间如果又有中断事件发生,新出现的中断事件需按时间顺序和优先级排队等待,以待处理。顺序和优先级排队等待,以待处理。中断事件中断事件 S7-200 CPU 可处理的中断事件按优先级分为三类,并可处理的中断事件按优先级分为三类,并为每个中断分配唯一的事件号以标识不同的中断事件。为每个中断分配唯一的事件号以标识不同的中断事件。(1)通信口中断通信口中断 在自由端口模式下,报文接收、发送完成和字符接收、发送均可在自由端口模式下,报文接收、发送完成和字符接收、发送均可以产生中断事件。以

    37、产生中断事件。(2)I/O中断中断 包含上升沿或下降沿中断、高速计数器中断和脉冲串输出中断包含上升沿或下降沿中断、高速计数器中断和脉冲串输出中断(PTO)。)。(3)时基中断时基中断 包含定时中断和定时器包含定时中断和定时器T32/T96中断。中断。定时中断分为定时中断定时中断分为定时中断0和定时中断和定时中断1。按照指定的周期时间循环。按照指定的周期时间循环产生周期性中断事件,周期时间是产生周期性中断事件,周期时间是1-255ms。定时中断。定时中断0和定时中断和定时中断1的周期时间的周期时间1-255ms分别用特殊寄存器分别用特殊寄存器SMB34和和SMB35确定。确定。常用定常用定时中断

    38、以固定的时间间隔去控制模拟量的采集和执行时中断以固定的时间间隔去控制模拟量的采集和执行PID回路程序。回路程序。中断优先级中断优先级中断按以下固定的次序来决定优先级:通讯(最高优先级)I/O中断(中等优先级)时基中断(最低优先级)在各个优先级内,在各个优先级内,CPU按先来先服务的原则处理中断。按先来先服务的原则处理中断。中断程序不能被嵌套,任何时刻只能执行一个中断程序。中中断程序不能被嵌套,任何时刻只能执行一个中断程序。中断程序不能再被中断,一旦中断开始执行,它会一直执行到断程序不能再被中断,一旦中断开始执行,它会一直执行到结束,而且不会被别的中断程序(甚至是更高优先级的中断结束,而且不会被

    39、别的中断程序(甚至是更高优先级的中断程序)打断。正在处理某中断程序时,如果又有中断事件发程序)打断。正在处理某中断程序时,如果又有中断事件发生,新出现的中断事件需按时间顺序和优先级排队等待,以生,新出现的中断事件需按时间顺序和优先级排队等待,以待处理。待处理。中断指令中断指令中断连接指令中断连接指令梯形图:梯形图:语句表:语句表:ATCH INT,EVNT功能功能:当当EN=1时,建立中断事件时,建立中断事件EVNT和中断程序和中断程序INT之间的之间的联系,并允许这个中断事件联系,并允许这个中断事件。在调用一个中断程序前,必须用中断连接指令,建立某在调用一个中断程序前,必须用中断连接指令,建

    40、立某中断事件与中断程序的连接。中断事件与中断程序的连接。当把某个中断事件和中断程序当把某个中断事件和中断程序建立连接后,该中断事件发生时会自动开中断。建立连接后,该中断事件发生时会自动开中断。多个中断事多个中断事件可调用同一个中断程序,但一个中断事件不能同时与多个件可调用同一个中断程序,但一个中断事件不能同时与多个中断程序建立连接。中断程序建立连接。否则,在中断允许且某个中断事件发生否则,在中断允许且某个中断事件发生时,系统默认执行与该事件连接的最后一个中断程序。时,系统默认执行与该事件连接的最后一个中断程序。语句表:语句表:DTCH EVNT 功能功能:当当EN=1时,解除某个中断事件时,解

    41、除某个中断事件EVNT和中断和中断程序之间的联系程序之间的联系,并单独禁止该中断事件。并单独禁止该中断事件。DTCH指指令使中断回到不激活或无效状态。令使中断回到不激活或无效状态。中断分离指令中断分离指令梯形图:梯形图:中断指令中断指令-全局中断允许、禁止指令全局中断允许、禁止指令梯形图:梯形图:语句表:语句表:ENI DISI 功能功能:全局允许中断全局允许中断/全局禁止中断全局禁止中断。(ENI)(DISI)ENI,全局中断允许指令。全局性的允许所有被连接的中,全局中断允许指令。全局性的允许所有被连接的中断事件。断事件。DISI,全局中断禁止指令。全局性的禁止处理所有的中断,全局中断禁止指

    42、令。全局性的禁止处理所有的中断事件。执行事件。执行DISI指令后,出现的中断事件就进入中断队列指令后,出现的中断事件就进入中断队列排队等候,直到排队等候,直到ENI指令重新允许中断。指令重新允许中断。CPU进入进入RUN运行模式时自动禁止所有中断。在运行模式时自动禁止所有中断。在RUN运运行模式中执行行模式中执行ENI指令后,允许所有中断。指令后,允许所有中断。中断指令中断指令-中断返回指令中断返回指令(RETI)中断服务程序由标号开始,以无条件返回指令结束,该指令中断服务程序由标号开始,以无条件返回指令结束,该指令软件会自动加上,不需要用户在程序末尾添加。软件会自动加上,不需要用户在程序末尾

    43、添加。在中断服务程序中,用户亦可根据前面逻辑条件使用条件返在中断服务程序中,用户亦可根据前面逻辑条件使用条件返回指令,返回主程序。回指令,返回主程序。但中断服务程序必须以无条件返回指但中断服务程序必须以无条件返回指令作结束,由软件自动加上令作结束,由软件自动加上RETI指令,不需要用户自己添加。指令,不需要用户自己添加。中断服务程序中禁止使用以下指令:中断服务程序中禁止使用以下指令:DISI、ENI、CALL、HDEF、FOR/NEXT、LSCR、SCRE、SCRT、END。梯形图:梯形图:语句表语句表:CRETI功能:从中断程序中有条件返回功能:从中断程序中有条件返回。中断前后,系统保存和恢

    44、复逻辑堆栈、累加寄存器、中断前后,系统保存和恢复逻辑堆栈、累加寄存器、特殊存储器标志位(特殊存储器标志位(SM)。从而避免了中断服务返)。从而避免了中断服务返回后对主程序执行现场所造成的破坏。回后对主程序执行现场所造成的破坏。INT n,中断服务程序标号指令。中断服务程序标号,中断服务程序标号指令。中断服务程序标号INT标示标示n号中断服务程序的开始(入口)。号中断服务程序的开始(入口)。n的范围的范围是是0127(取决于(取决于CPU的型号)。的型号)。定时中断采集模拟量程序见下图。定时中断采集模拟量程序见下图。LD SM0.1 /首次扫描时SM0.1位打开,/用于调用初始化子例行程序CALL SBR_0 /调用子程序SBR_0LD SM0.0 /当系统处于RUN模式时,/SM0.0始终打开(即SM0.01)MOVB 100,SMB34 /100毫秒放入特 /殊内存字节SMB34(SMB34和SMB35控 /制中断0和中断1的时间间隔)ATCH INT_0,10 /调用中断程序ENI /全局性启用中断 LD SM0.0 /RUN模式下,SM0.01MOVW AIW2,VW100 /模拟量输入映 /像寄存器AIW2的值装入VW100定时中断采集模拟量程序定时中断采集模拟量程序

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:现代电气控制技术第7章课件.ppt
    链接地址:https://www.163wenku.com/p-3404660.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库