第7章 PLC的功能指令课件.ppt

上传人:春哥&#****71; 文档编号:14874416 上传时间:2022-05-08 格式:PPT 页数:37 大小:824.50KB
返回 下载 相关 举报
第7章 PLC的功能指令课件.ppt_第1页
第1页 / 共37页
第7章 PLC的功能指令课件.ppt_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《第7章 PLC的功能指令课件.ppt》由会员分享,可在线阅读,更多相关《第7章 PLC的功能指令课件.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 前面学习的位逻辑指令、定时器与计数器指令是PLC最基本的和最常用的指令,一般的逻辑控制系统用软继电器、定时器和计数器等基本指令就可以实现。功能指令又称应用指令,一般是指上述指令之外的指令。 利用功能指令可以开发出更复杂的控制系统,以致构成网络控制系统。这些功能指令实际上是厂商为满足各种客户的特殊需要而开发的通用子程序。功能指令的丰富程度及其合用的方便程度是衡量PLC性能的一个重要指标。 S7-200的功能指令很丰富,大致包括这几方面:程序流控制、中断、高速计数、数据处理、PID指令、通信以及实时时钟等。7.1 数据处理指令数据处理指令 1数据传送指令数据传送指令如表7-1所示。表7-1 数据

2、传送指令5.2 STEP7-Micro/WIN32编程软件的主编程软件的主要功能要功能 BIW VB100,QB0 /立即将VB100的值写到QB0所对应的物理输出口,同时刷新输出映像区。 BMB VB200,VB100,5 /将VB200到VB204中的数据传送到VB100到VB104中 2四则运算指令 四则运算指令如表7-2所示。 表7-2 四则运算指令 ORW VW10,VW12 /将字VW10和VW12按位作逻辑与运算,结果存入VW12 INVD MD0 /将双字MD0按位取反结果送入MD0 4关系运算(比较指令) 比较指令是将两个操作数按规定的条件作比较,条件成立时,触点就闭合。比较

3、运算符有:=、=、和,在表7-4中我们用x代表它们。 表7-4 关系运算指令 5移位与循环移位指令 移位与循环移位指令如表7-5所示。 表7-5 移位与循环移位指令指令格式:NOPN例: NOP30/30为标号7.2.2 结束及暂停 1. 结束指令结束指令有两条:END和MEND。两条指令在梯形图中以线圈形式编程。 END,条件结束指令。使能输入有效时,终止用户主程序。MEND无条件结束指令。无条件终止用户程序的执行,返回主程序的第一条指令。用Micro/Win32编程时,编程人员不需手工输入MEND指令,而是由软件自动加在主程序结尾。指令格式:END(无操作数)2. 暂停指令STOP,暂停指

4、令。使能输入有效时,该指令使主机CPU的工作方式由RUN切换到STOP方式,从而立即终止用户程序的执行。STOP指令在梯形图中以线圈形式编程。指令不含操作数。指令的执行不考虑对特殊标志寄存器位和能流的影响。指令格式:STOP(无操作数) 看门狗 WDR,看门狗复位指令。当使能输入有效时,执行WDR指令,每执行一次,看门狗定时器就被复位一次。用本指令可用以延长扫描周期,从而可以有效避免看门狗超时错误。 指令格式:WDR(无操作数) 程序实例:指令STOP、END、WDR的应用如图7-2所示。跳转 1. 跳转指令与跳转相关的指令有下面两条:(1)跳转指令JMP,跳转指令。使能输入有效时,使程序流程

5、跳到同一程序中的指定标号n处执行。执行跳转指令时,逻辑堆栈的栈顶值总是1。(2)标号指令LBL,标号指令。标记程序段,作为跳转指令执行时跳转到的目的位置。操作数n为0255的字型数据。程序实例:如右图7-3所示。用增减计数器进行计数,如果当前值小于500,则程序按原顺序执行,若当前值超过500,则跳转到从标号10开始的程序执行。7.2.6 程序循环 如果需要重复执行若干次同样的任务时,可以使用循环指令。FOR语句表示循环开始,NEXT语句表示循环结束,并将堆栈的栈顶值设为1。驱动FOR指令的逻辑条件满足时,反复执行FOR与NEXT之间的指令。FOR指令必须与NEXT指令配套使用。在FOR指令中

6、,需要设置指针INDX(或称为当前循环次数计数器)、起始值INIT和结束值FINAL,它们的数据类型均为整数。INDX的值从INIT变到FINAL,执行次数为FINAL-INIT+1。例:在I1.0变为ON的上升沿,求VWl00VWl08中6个字的累加和。网络1LD I1.0EUMOVB 0,AC0MOVD &VB200,AClFOR VW0,l,6网络2 LD SM00 +I *ACl,AC0 +D 2,ACl 网络3 NEXT 网络4 LD SM0.0 MOVD AC0,VDl07.3特殊指令特殊指令 时钟指令 1. 读实时时钟 TODR,读实时时钟指令。当使能输入有效时,系统读当前时间和

7、日期,并把它装入一个8字节的缓冲区。 2. 写实时时钟 TODW,写实时时钟指令。用来设定实时时钟。当使能输入有效时,系统将包含当前时间和日期,一个8字节的缓冲区将装入时钟。 7.3.2 中断 1. 中断源(1)中断源及种类中断源,即中断事件发出中断请求的来源。S7-200可编程序控制器具有最多可达34个中断源,每个中断源都分配一个编号用以识别,称为中断事件号。这些中断源大致分为三大类:通信中断、输入输出中断和时基中断(定时中断)。在自由端口模式,PLC接收、发送字符可以产生中断事件,利用接收和发送中断可以由用户完成对通信的控制。可以用定时中断(Timed Interrupt)来执行一个周期性

8、的操作,以1ms为增量,周期的时间可以取l255ms。定时中断0和定时中断l的时间隔分别写入特殊存储器字节SMB34和SMB35。定时时间到时,执行相应的定时中断程序。如果定时中断事件己被连接到一个定时中断程序,为了改变定时中断的时间间隔,首先必须修改SMB34或SMB35的值,然后重新把中断程序连接到定时中断事件上。如果退出RUN状态或者定时中断被分离,定时中断被禁止。定时器T32、T96中断允许及时地响应一个给定的时间间隔,这些中断只支持1ms分辨率的定时器T32和T96。如果中断被允许,当定时器的当前值等于设定值时,在CPU的lms定时刷新中,执行被连接的中断程序。(2)中断优先级 中断

9、优先级由高到低依次是:通信中断、输入输出中断、时基中断。在上述3个优先级范围内,CPU按照先来先服务的原则处理中断,任何时刻只能执行一个用户中断程序。一旦一个中断程序开始执行,它要一直执行到完成,即使另一个中断程序的优先级较高,也不能中断正在执行的中断程序。正在处理其他中断时发生的中断事件则排队等待处理。如果中断事件的产生过于频繁,使中断产生的速率比可以处理的速率快,或者中断被DISI指令禁止,中断队列溢出状态位被置1。只应在中断程序中使用这些位,因为当队列变空或返回主程序时这些位被复位。主机中的所有中断事件及优先级如表7-11所示。 2中断指令中断允许指令ENI(Enable Interru

10、pt)全局性地允许所有被连接的中断事件(见表7-12)。禁止中断指令DISI(Disable Interrupt)全局性地禁止处理所有中断事件,允许中断排队等候,但是不允许执行中断程序,直到用全局中断允许指令ENI重新允许中断。进入RUN模式时自动禁止中断,在RUN模式执行全局中断允许指令后,各中断事件发生时是否会执行中断程序,取决于是否执行了该中断事件的中断连接指令。中断程序有条件返回指令CRETI在控制它的逻辑条件满足时从中断程序返回,编程软件自动地为各中断程序添加无条件返回指令。中断连接指令ATCH用来建立中断事件(EVNT)和处理此事件的中断程序(INT)之间的联系。中断事件由中断事件

11、号指定,中断程序由中断程序号指定。为某个中断事件指定中断程序后,该中断事件被自动地允许处理。中断分离指令DTCH(Detach Interrupt)用来断开中断事件(EVNT)与中断程序之间的联系,从而禁止单个中断事件。清除中断事件指令CEVNT(Clear Event)从中断队列中清除所有的中断事件,该指令可以用来清除不需要的中断事件。如果用来清除虚假的(Spurious)中断事件,首先应分离事件。否则,在执行该指令之后,新的事件将增加到队列中。在启动中断程序之前,应在中断事件和该事件发生时希望执行的中断程序之间,用ATCH指令建立联系,执行ATCH指令后,该中断程序在事件发生时被自动启动。

12、多个中断事件可以调用同一个中断程序,但是一个中断事件不能同时调用多个中断程序。中断被允许且中断事件发生时,将执行为该事件指定的最后一个中断程序。在中断程序中不能使用DISI、ENI、HDEF、LSCR和END指令。执行中断程序之前和执行之后,系统保存和恢复逻辑堆栈。累加寄存器和指示累加寄存器与指令操作状态的特殊存储器标志位(SM),避免了中断程序对主程序可能造成的影响。应在中断程序中尽量使用局部变量,并妥善分配各POU使用的全局变量,保证中断程序不会破坏别的POU使用的全局变量中的数据。3. 中断程序中断程序不是由程序调用,而是在中断事件发生时由操作系统调用,使系统对特殊的内部或外部事件作出响

13、应。系统响应中断时自动保存逻辑堆栈、累加器和某些特殊标志存储器位,即保护现场。中断处理完成时,又自动恢复这些单元原来的状态,即恢复现场。因为不能预知系统何时调用中断程序,在中断程序中不能改写其他程序使用的存储器,为此应在中断程序中尽量使用局部变量。在中断程序中可以调用一级子程序,累加器和逻辑堆栈在中断程序和被调用的子程序中是公用的。中断处理提供对特殊内部事件或外部事件的快速响应。中断程序越短越好,减少中断程序的执行时间,避免引起主程序控制的设备操作异常。4. 程序实例(1)在I00的上升沿通过中断使Q00立即置位。在I01的下降沿通过中断使Q00立即复位。/主程序OBlLD SM01ATCH INT_0,0 /I0.0上升沿时执行INT_0中断程序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁