您好,欢迎访问三七文档
1三菱PLC基础与应用三菱PLC自学2三菱PLC基础与应用第5章FX2N系列PLC的应用指令5.8方便指令5.5循环与移位指令5.4四则运算与逻辑运算指令5.3比较与传送指令5.2程序流程指令5.1应用指令概述5.6数据处理指令5.7高速处理指令5.9实训项目5.10习题3三菱PLC基础与应用5.1应用指令概述5.1.1应用指令的表达形式1.位元件与字元件★只处理ON/OFF状态的软元件称为位元件,如X、Y、M、S等;而处理数值的软元件则称为字元件,如T、C、D等,一个字元件由16位二进制数组成。★位元件组合使用也可处理数值,位元件每4位一组组合成一个单元,通常的表示方法是Kn加上首元件号组成,n为单元数。例如,K2X0表示由X0~X7组成的位元件组,这是一个8位数据,X0为最低位。16位数据时n=1~4,32位数据n=1~8。4三菱PLC基础与应用★当一个16位的数据传送到K1M0、K2M0、K3M0时,只能传送低位数据,较高位数据不传送,32位数据传送时也一样。在作16位数操作时,参与操作的位元件不足16位时,高位(不足部分)均作0处理,这就意味着只能处理正数(符号位为0),32位数据操作也一样。★被组合的位元件的首元件号可以是任意的,但为避免混乱,建议采用编号以0为结尾的元件,如X0、Y10、M20等。5三菱PLC基础与应用2.指令与操作数★应用指令用助记符表示,有些应用指令仅有指令段(助记符),但更多的有操作数。下面是指令中操作数符号表示方法及解释:★[S]:表示数据源。内容不随指令执行而变化的操作数称为源。在可变址修改软元件编号的情况下,加上“.”符号的[S.]表示。源的数量多时,以[S1.]、[S2.]等表示。★[D.]:表示目标操作数。内容随指令执行而改变的操作数被称作目标。可作变址修饰时,加上“.”符号的[D.]表示。目标数量多时,以[D1.]、[D2.]等表示。★[n.]、[m.]:以[m.]或[n.]表示既不作源,也不作目标的操作数。这样的操作数数量很多时,以[m1.]、[m2.]、[n1.]、[n2.]等表示。6三菱PLC基础与应用3.数据格式★在FX系列PLC内部,数据以二进制(BIN)补码的形式存储,所有的四则运算和加1/减1运算都使用二进制数。16位数据的二进制补码最高位(第15位)为符号位,正数的符号位为0,负数的符号位为1,最低为第0位。4.应用指令的表达形式★与基本指令不同,FX2N系列PLC的应用指令用编号FNC00~FNC246表示,采用计算机通用的助记符(英文名称或缩写)表示。例如,FNC45的助记符是MEAN(平均)。应用指令的表示格式如图5-1所示。7三菱PLC基础与应用★应用指令的指令段通常占1个程序步,16位操作数占2步,32位操作数占4步。MEAND0D10K3X0[S.][D.]n图5-1应用指令的表示格式8三菱PLC基础与应用5.1.2数据长度FX2N型PLC中的数据寄存器D为16位,用于存放16位二进制数。在应用指令的助记符前加“D”就变成32位指令。数据长度的表示格式如图5-2所示。D2X0MOVD0D2X1DMOVD0图5-2数据长度的表示9三菱PLC基础与应用5.1.3执行形式应用指令有连续执行和脉冲执行型两种执行形式。脉冲执行形式的使用如图5-3所示。D2X0MOVPD0D2X1DMOVPD0图5-3脉冲执行型的表示10三菱PLC基础与应用在应用指令助记符中标有“P”的表示该指令为脉冲执行型,在执行条件满足时仅执行一个扫描周期。如果指令格式没有“P”的表示该指令只能是连续执行型,在执行条件满足的每个扫描周期都要被执行。“P”和“D”可以同时使用。11三菱PLC基础与应用5.1.4变址寄存器FX2N有16个16位的变址寄存器,分别是V0~V7和Z0~Z7。在传送、比较指令中,变址寄存器V和Z用来修改操作对象的元件号,在循环程序中常使用变址寄存器。进行32位运算时,常用V和Z自动组对使用,分别组成(V0、Z0)、(V1、Z1)……、(V7、Z7)。V为高16位,Z为低16位,这时变址指令只需指定Z,Z就能代表V和Z的组合。12三菱PLC基础与应用5.2程序流程指令程序流程指令共有10条,应用指令的编号为FNC00~FNC09。5.2.1条件跳转指令条件跳转指令CJ(ConditionalJump)的功能编号为FNC00,操作数的指针标号P0~P127,其中P63即END所在步序,无需再标号。CJ和CJP都占3个程序步,指针标号占1个程序步。指针P(Point)用于分支和跳转步序,在梯形图中,指针放在左侧母线的左边,当CJ指令条件满足时,跳转到相应的标号处。13三菱PLC基础与应用X0CJ(P)P0X3Y2……P0图5-4跳转指令的使用14三菱PLC基础与应用使用跳转指令时应当注意事项如下:★1)CJP指令表示脉冲执行方式。★2)在一个程序中,一个指针标号只能出现一次,否则程序会出错。但是在同一个程序中两条跳转指令可以使用相同的指针标号。★3)跳转指令一般在CJ指令之后,但也可出现在跳转指令之前。★4)跳转执行期间,即使被跳过程序的驱动条件改变,但其线圈(或结果)仍保持跳转前的状态,因为跳转期间没有执行这段程序。★5)如果跳转开始时定时器和计数器已在工作,则跳转执行期间它们将停止工作,即T和C的当前值保持不变,直到跳转条件不满足后又继续工作(T和C接着以前的数值继续计时和计数)。但定时器T192~T199和高速计数器C235~C255在跳转后将继续动作,接点也动作。15三菱PLC基础与应用5.2.2子程序调用和子程序返回子程序调用指令CALL(SubRoutineCall)的功能编号为FNC01,操作数为P0~P127,CALL和CALLP指令都占3个程序步。子程序返回指令SRET(SubRoutineReturn)的功能编号为FNC02,无操作数,占用1个程序步。子程序是为一些特定的控制目的而编制的相对独立的程序。为了区别于主程序,规定在程序编排时,将主程序排在前面,子程序排在后面,以主程序结束指令FEND(FNC06)将它们隔开。16三菱PLC基础与应用子程序调用指令CALL的功能是当执行条件满足时,该指令使程序跳到标号处,执行该标号对应的子程序。子程序返回指令SRET的功能是返回到调用该子程序的CALL指令处的下一逻辑行。子程序调用和子程序返回指令的简单使用示例如图5-5所示。17三菱PLC基础与应用X0CALLP0X4Y3…P0X1Y0FENDSRET…主程序子程序图5-5子程序调用和返回指令的使用18三菱PLC基础与应用使用子程序调用和返回指令的注意事项:★1)同一标号在左母线前只能出现一次,但不同的CALL指令可调用同标号的子程序。★2)子程序中可再调用子程序,形成子程序嵌套,最多可有5级嵌套。★3)在调用子程序和中断子程序时,可采用T192~T199和T246~249作为定时器。19三菱PLC基础与应用【例5-1】用两个开关X1、X0控制一个信号灯Y0,当X1X0=00时灯灭;当X1X0=01时,灯以1s脉冲闪烁;当X1X0=10时,灯以2s脉冲闪烁;当X1X0=11时,灯常亮。用子程序调用来实现,则如图5-6所示。20三菱PLC基础与应用X0CALLP0M8013Y0……P0X1FENDSRET主程序1s闪烁子程序T0M8000Y0P2Y0SRETEND常亮子程序CALLP1CALLP2X0X1X0X1T0T1SRETP1T1K10K102s闪烁子程序图5-6子程序调用实例21三菱PLC基础与应用5.2.3中断指令中断返回指令IRET(InterruptReturn)的功能编号FNC03,无操作数,占1个程序步。中断允许指令EI(EnableInterrupt)的功能编号FNC04,无操作数,占1个程序步。中断禁止指令DI(DisableInterrupt)的功能编号FNC05,无操作数,占1个程序步。22三菱PLC基础与应用1.中断指针中断指针(I□□□~I8□□)是用来指示某一中断程序的入口位置的。执行中断后遇到IRET指令,则返回主程序。中断指针有以下三种类型:★1)输入中断指针(I00□~I50□):共6点,用来指示由特定输入端的输入信号而产生中断的中断服务程序的入口位置。这类中断不受PLC扫描周期的影响,可以及时处理外界信息。输入中断指针编号格式如下:★例如:I201是当输入X2从OFF→ON变化时,执行以I201为标号的中断程序,并根据IRET指令返回。I□0□0:下降沿中断1:上升沿中断输入号(0~5),对应输入X0~X5且每个只能用一次23三菱PLC基础与应用★2)定时器中断指针(I6□□~I8□□):共3点,用来指示周期定时中断的中断服务程序的入口位置。这类中断的作用是PLC以指定的周期定时执行中断服务程序,定时循环处理某些任务,处理的时间也不受PLC扫描周期的影响。定时器中断指针格式如下:★3)计数器中断指针(I010~I060):共6点,用于在PLC内置的高速计数器中。当高速计数器的当前值达到规定值,执行中断子程序。常用于利用高速计数器优先处理计数结果的场合。I□□□定时范围,00~99ms输入号(6~8)24三菱PLC基础与应用2.中断指令中断是指在执行主程序的过程中,中断主程序转而去执行中断服务子程序。PLC通常处于禁止中断状态,由EI和DI指令组成允许中断范围。在执行到该区间时,如果有中断源产生中断,CPU将暂停主程序而转去执行中断服务程序。当遇到IRET时返回断点继续执行主程序。中断指令的简单使用示例如图5-7所示。在图5-7中,如在允许中断范围内,如果外部中断源X1有一个下降沿,则转入I100为标号的中断服务程序。但X0能否引起中断还受M8050的控制,当X10为ON时,M8050=1,禁止I100中断。25三菱PLC基础与应用EIX20Y10…I100X10M8051DIIRET…允许中断范围中断服务程序FEND图5-7中断指令的使用26三菱PLC基础与应用表5-1中断类型及中断禁止特殊辅助继电器27三菱PLC基础与应用使用中断指令的注意事项:★1)如果有多个中断信号依次发出,则优先级按发生的先后顺序,即发生越早的优先级越高。若同时发生多个中断信号,则中断指针号小的优先级越高。★2)无需中断禁止时,可只用EI指令,不必用DI指令。★3)通过特殊辅助继电器M8050~M8058可实现中断的选择,它们分别与外部中断和定时器中断一一对应。当M8050~M8058为ON时,禁止执行相应I0□□~I8□□的中断,M8059为ON时,则禁止所有计数器中断。★4)FX2N系列PLC可实现不多于两级的中断嵌套,即在中断子程序中再使用一对EI和DI指令。28三菱PLC基础与应用【例5-2】三人智力抢答EIM8000Y0X10M8050DIIRET中断允许范围中断服务程序1FENDZRSTY0Y3Y0M8051Y1M8052Y2Y3M8000Y1IRETM8000Y2IRETEND中断服务程序2中断服务程序3禁止X0中断禁止X1中断禁止X2中断中断开始中断结束中断返回中断返回中断返回中断指针I001主程序结束(X0上升沿中断)中断指针I101(X1上升沿中断)中断指针I201(X2上升沿中断)+-12VSB4SB3SB2SB1X10X2X1X0COMCOM1Y0Y1Y2Y3主持人3#2#1#3#2#1#HAHL3HL2HL1(a)输入中断(抢答)梯形图(b)抢答器接线图图5-8输入中断(抢答电路)实例29三菱PLC基础与应用5.2.4主程序结束指令主程序结束指令FEND(FirstEnd)的功能编号为FNC06,无操作数,占用1个程序步。FEND表示主程序结束,当执行到FEND时,PLC执行输入/输出处理、监视定时器的刷新、返回0步程序。使用FEND指令的注意事项:★1)子程序和中断服务程序应放在FEND之
本文标题:PLC-三菱自学版
链接地址:https://www.777doc.com/doc-6340199 .html