电器与可编程控制器应用技术第9章功能指令.ppt
《电器与可编程控制器应用技术第9章功能指令.ppt》由会员分享,可在线阅读,更多相关《电器与可编程控制器应用技术第9章功能指令.ppt(130页珍藏版)》请在三一办公上搜索。
1、1,9.1功能指令的基本形式功能指令的基本格式数据长度指令类型操作数的形式变址寄存器(V,Z)的应用9.2功能指令一览表9.3程序控制指令及应用条件跳转指令子程序调用与子程序返回指令与中断有关的指令9.3.4 主程序结束指令监视定时器指令循环指令9.4传送与比较指令比较指令,区间比较指令传送指令块传送指令 BCD/BIN指令 9.5四则运算与逻辑运算指令 加法指令 减法指令 乘法指令 除法指令 加1/减1指令逻辑运算指令 9.6循环与移位指令 位右移/位左移指令 FIFO写入/读出指令 9.7数据处理指令 区间复位指令 解码指令 编码指令,2,本章难点:功能指令的编程应用,功能指令是PLC数据
2、处理能力的重要标志,远比基本逻辑处理指令复杂,本章从功能指令的类型、表示形式和使用要素入手,介绍FX系列PLC常用功能指令的使用方法,并以实例的形式讨论其编程应用。,本章要点:,功能指令的基本形式功能指令简介功能指令的编程应用,3,在FX系列PLC中,功能指令是按功能号(FNC00FNC250)编排的,每条功能指令都有助记符,功能指令的表示格式如图9.1所示。,图9.1功能指令示意图,9.1功能指令的基本形式,功能指令的基本格式,4,大多数功能指令有1 4个操作数,有的功能指令没有操作数;S表示源操作数,D表示目标操作数;如果可使用变址功能,用S和D表示。用n和m表示其他操作数,它们常用来表示
3、常数K和H,或作为源和目标操作数的补充说明。上图含义为:当X10由OFFON时,D内(M0M15)各位数据连同S内(X0X1)2位数据向左移2位,(X0X1)2位数据从D低位端移入,(M14M15)2位数据从D高位端移出(溢出)。,9.1功能指令的基本形式,功能指令的基本格式,5,处理32位数据的指令是在助记符前加“D”标志,无此标志即为处理16位数据的指令。注意32位计数器(C200C255)的一个软元件为32位,不可作为处理16位数据指令的操作数使用。在使用32位数据时建议使用首编号为偶数的操作数。,9.1功能指令的基本形式,数据长度,上面传送指令的含义为:当X0由OFFON时,将D11和
4、D10的数据传送到D13和D12中(处理32位数据)。,6,9.1.2节例中“P”表示脉冲执行型,即该指令仅在X0由OFFON时,执行一次。而没有“P”则表示连续执行型,即在X0接通时的每一个扫描周期MOV指令都被重复执行。,9.1功能指令的基本形式,指令类型,7,1位元件与字元件 只处理ON/OFF信息的软元件称为位元件,如X、Y、M和S;可处理数值的软元件则称为字元件,如T、C、D等。但位元件也可以组合成字元件进行数据处理,4个位元件为一个单元,通用表示方法是由Kn加起始的软元件号组成,n为单元数。例如K2M0表示M0M7组成两个位元件组(K2表示2个单元),它是一个8位数据,M0为最低位
5、。,9.1功能指令的基本形式,操作数的形式,8,2数据格式 在FX系列PLC内部,数据是以二进制(BIN)补码的形式存储,所有的四则运算都使用二进制数。二进制补码的最高位为符号位,正数符号位为0,负数符号位为1。为更精确地进行运算,可采用浮点数运算。在FX系列PLC中提供了二进制浮点运算和十进制浮点运算。,9.1功能指令的基本形式,操作数的形式,9,变址寄存器在传送、比较等指令中用来修改操作元件的地址,其操作方式与普通数据寄存器一样。下面来看一个传送指令的例子:,9.1功能指令的基本形式,变址寄存器(V,Z)的应用,上面传送指令的例子中,当Z0=5时,(D10Z0)(D12)=(D15)(D1
6、2),10,FX系列不同型号的PLC,其功能指令的范围各不相同,表9.1列出了FX全系列使用的功能指令,具体某个型号的PLC哪些功能指令可用、哪些不可用,也可据此表查出。,9.2功能指令一览表,表9.1功能指令简表,11,9.2功能指令一览表,表9.1功能指令简表(续表),12,9.2功能指令一览表,表9.1功能指令简表(续表),13,9.2功能指令一览表,表9.1功能指令简表(续表),14,9.2功能指令一览表,表9.1功能指令简表(续表),15,9.2功能指令一览表,表9.1功能指令简表(续表),16,9.2功能指令一览表,表9.1功能指令简表(续表),17,9.2功能指令一览表,表9.1
7、功能指令简表(续表),18,9.2功能指令一览表,表9.1功能指令简表(续表),19,9.2功能指令一览表,表9.1功能指令简表(续表),20,9.2功能指令一览表,表9.1功能指令简表(续表),21,9.2功能指令一览表,表9.1功能指令简表(续表),22,9.2功能指令一览表,表9.1功能指令简表(续表),23,9.2功能指令一览表,表9.1功能指令简表(续表),24,9.2功能指令一览表,表9.1功能指令简表(续表),25,9.2功能指令一览表,表9.1功能指令简表(续表),26,9.2功能指令一览表,表9.1功能指令简表(续表),27,9.2功能指令一览表,表9.1功能指令简表(续表)
8、,28,9.2功能指令一览表,表9.1功能指令简表(续表),29,9.2功能指令一览表,表9.1功能指令简表(续表),30,9.2功能指令一览表,表9.1功能指令简表(续表),31,9.2功能指令一览表,表9.1功能指令简表(续表),32,9.3程序控制指令及应用,程序流向控制类指令(FNC00FN09),用于程序执行流程的控制。对一个扫描周期而言,跳转指令可以使程序出现跨越或跳跃以实现程序段的选择。子程序指令可调用某段子程序。循环指令可多次重复执行特定的程序段。中断指令则用于中断信号引起的中断子程序调用。程序控制类指令可以影响程序执行的流向及内容。对合理安排程序的结构、有效提高程序的功能、实
9、现某些技巧性运算,都有重要的意义。,33,9.3程序控制指令及应用,1CJ指令简介 该指令的助记符、指令代码、操作数、程序步如表9.2所示。,条件跳转指令,表9.2条件跳转指令要素,34,9.3程序控制指令及应用,条件跳转指令在梯形图中使用的情况如图9.2所示。图中跳转指针P5对应CJ P5跳转指令。跳转指令执行的意义为在满足跳转条件之后的各个扫描周期中,PLC将不再扫描执行跳转指令与跳转指针P间的程序,即跳到以指针P为入口的程序段中执行。直到跳转的条件不再满足,跳转停止进行。在图9.2中,当 X0为ON时,跳转指令CJ P5执行条件满足,程序将从CJ P5指令处跳至标号 P5处,接着往下执行
10、程序。,条件跳转指令,35,9.3程序控制指令及应用,2CJ指令的使用说明(1)由于跳转指令具有选择程序段的功能。在同一程序且位于因跳转而不会被同时执行程序段中的同一线圈不被视为双线圈。(2)可以有多条跳转指令使用同一标号。在图9.3中,如X0接通,第一条跳转指令有效,从这一步跳到标号P5处。如果X0断开,而X10接通,则第二条跳转指令生效,程序从第二条跳转指令处跳到 P5处。但不允许一个跳转指令对应两个标号的情况,即在同一程序中不允许存在两个相同的标号,否则将出错。(3)标号一般设在相关的跳转指令之后,也可以设在跳转指令之前。但要注意从程序执行顺序来看,如果由于标号在前造成该程序的执行时间超
11、过了警戒时钟设定值,则程序就会出错。,条件跳转指令,36,9.3程序控制指令及应用,(4)CJ(P)指令表示为脉冲执行方式,使用CJ(P)指令时,跳转只执行一个扫描周期,但若用辅助继电器M8000作为CJ指令的工作条件,跳转就成为无条件跳转。(5)即使被跳过程序的驱动条件改变,但其线圈(或结果)仍保持跳转前的状态。,条件跳转指令,图9.2CJ指令应用,图9.3两条CJ指令使用同一标号,37,9.3程序控制指令及应用,(6)在跳转执行期间定时器和计数器将停止工作,到跳转条件不满足后又继续工作。但对于正在以中断方式工作的定时器和计数器,如定时器T192T199和高速计数器C235C255不管有无跳
12、转仍连续工作。(7)若积分定时器和计数器的复位(RST)指令在跳转区外,即使它们的线圈被跳转,但对它们的复位仍然有效。3CJ指令的编程应用【例9-1】利用跳转指令来执行程序初始化工作。【解】如图9.4 所示,在PLC运行的第一个扫描周期中,跳转CJ P5不执行,程序执行初始化程序后执行工作程序。而从第二个扫描周期开始,初始化程序则被跨过,不再执行。,条件跳转指令,38,9.3程序控制指令及应用,【例9-2】利用跳转指令实现手动/自动程序的切换。【解】如图9.5所示为一段手动/自动程序切换的梯形图程序。当X1为ON时,程序跳过自动程序区域,由标号P0执行手动工作方式;当X1为OFF时,则执行自动
13、工作方式。,条件跳转指令,图9.4 CJ指令用于程序初始化,图9.5手动/自动切换程序,39,9.3程序控制指令及应用,该指令的助记符、指令代码、操作数、程序步如表9.3所示。,子程序调用与子程序返回指令,表9.3子程序指令要素,40,9.3程序控制指令及应用,子程序是为了一些特定的控制目的编制的相对独立的程序。为了区别于主程序,规定在程序编排时,将主程序排在前边,子程序排在后边,并以主程序结束指令FEND(FNC06)将这两部分分隔开。子程序指令在梯形图中使用的情况如图9.6所示。图中,子程序调用指令CALL安排在主程序段中,X0是子程序执行的条件,当X0为ON时,标号为P20的子程序得以执
14、行。子程序P20安排在主程序结束指令FEND之后,标号P20和子程序返回指令SRET间的程序构成了P20子程序的内容。当主程序带有多个子程序时,子程序可依次列在主程序结束之后。并以不同的标号相区别。,子程序调用与子程序返回指令,41,9.3程序控制指令及应用,注意:(1)转移标号不能重复,也不可与跳转指令的标号重复。(2)子程序可以嵌套调用,最多可5级嵌套。,子程序调用与子程序返回指令,图9.6子程序指令应用,图9.7中断指令应用,42,9.3程序控制指令及应用,该类指令的助记符、指令代码、操作数、程序步如表9.4所示。中断指令的梯形图表示如图9.7所示。从图中可以看出,中断程序作为一种子程序
15、安排在主程序结束指令FEND之后。主程序中允许中断指令EI及不允许中断指令DI之间的区间表示可以开放中断的程序段。主程序带多个中断子程序时,中断标号和距其最近的一处中断返回指令构成一个中断子程序。,与中断有关的指令,43,9.3程序控制指令及应用,与中断有关的指令,表9.4中断指令要素,44,9.3程序控制指令及应用,与中断有关的指令,注意:,(1)如果多个中断依次发生,则以发生先后为序,如果多个中断源同时发出信号,则中断指针号越小优先级越高。(2)当M8050M8058为ON时,禁止执行相应I0 I8的中断,M8059为ON时则禁止所有计数器中断。(3)无需中断禁止时,可只用EI指令,不必用
16、DI指令。(4)执行一个中断服务程序时,如果在中断服务程序中有EI和DI,可实现二级中断嵌套,否则禁止其他中断。,45,9.3程序控制指令及应用,主程序结束指令,该指令的助记符、指令代码、操作数、程序步如表9.5所示。,表9.5主程序结束指令要素,FEND表示主程序结束,当执行到FEND时,PLC进行输入/输出处理,监视定时器刷新,完成后返回起始步。注意:(1)子程序和中断服务程序应放在FEND之后。(2)子程序和中断服务程序必须写在FEND和END之 间,否则出错。,46,9.3程序控制指令及应用,监视定时器指令,该指令的助记符、指令代码、操作数、程序步如表9.6所示。,表 9.6监视定时器
17、指令要素,WDT指令是对PLC的监视定时器进行刷新,FX系列PLC的监视定时器默认值为200 ms(可用D8000来设定)。当PLC的扫描周期(0END或FEND指令执行时间)超过200 ms时,PLC的CPU-E指示灯亮、PLC停机,因此需在程序的中途插入WDT指令,使PLC的监视定时器刷新,如图9.8所示。,47,9.3程序控制指令及应用,监视定时器指令,图9.8WDT指令应用,(1)如果在后续的FOR-NEXT循环中,执行时间可能超过监视定时器的定时时间,可将WDT插入循环程序中。(2)当与条件跳转指令CJ对应的指针标号在CJ指令之前时(即程序往回跳)就有可能连续反复跳步使它们之间的程序
18、反复执行,使执行时间超过监控时间,可在CJ指令与对应标号之间插入WDT指令。,注意:,48,9.3程序控制指令及应用,循环指令,表9.7循环指令要素,该指令的助记符、指令代码、操作数、程序步如表9.7所示,49,9.3程序控制指令及应用,循环指令,表9.7循环指令要素,FOR和NEXT指令是成对出现的,如图9.9所示的梯形图中各有两条FOR和NEXT指令,构成二层循环。循环次数由FOR指令后的n值指定,n=132767,若n=-327670之间,则当作n=1处理。运行时,位于FORNEXT间的程序反复执行n次后再继续执行后续程序。,50,9.3程序控制指令及应用,循环指令,注意:(1)FOR和
19、NEXT必须成对使用。(2)FX2N系列PLC可循环嵌套5层。(3)在循环中可利用CJ指令在循环没结束时 跳出循环体。(4)FOR应放在NEXT之前,NEXT应在FEND和END之前,否则出错。循环指令用于某些需反复操作的场合,如对某一采样数据做一定次数的加权运算等。,51,9.3程序控制指令及应用,循环指令,注意:(1)FOR和NEXT必须成对使用。(2)FX2N系列PLC可循环嵌套5层。(3)在循环中可利用CJ指令在循环没结束时 跳出循环体。(4)FOR应放在NEXT之前,NEXT应在FEND和END之前,否则出错。循环指令用于某些需反复操作的场合,如对某一采样数据做一定次数的加权运算等。
20、,52,9.4传送与比较指令,比较指令,FX1N系列PLC有6条传送与比较指令,能实现单一数据或批数据的传送、数制变换与比较,下面择要介绍。,该指令的助记符、指令代码、操作数范围、程序步如表9.8所示。,表9.8比较指令的要素,53,9.4传送与比较指令,比较指令,比较指令CMP是将源操作数S1和源操作数S2的数据进行比较,比较结果用目标元件D的状态来表示,如图9.10所示。,图9.10CMP指令应用,在X1断开,即不执行CMP指令时,M0M2保持X1断开前的状态。数据比较是进行代数值大小比较(即带符号比较)。所有的源数据均按二进制处理。当比较指令的操作数不完整(若只指定一个或两个操作数),或
21、者指定的操作数不符合要求(例如把X、D、T、C指定为目标操作数),或者指定的操作数的元件号超出了允许范围等情况,比较指令就会出错。,54,9.4传送与比较指令,区间比较指令,该指令的助记符、指令代码、操作数范围、程序步如表9.9所示。,表9.9区间比较指令的要素,55,9.4传送与比较指令,区间比较指令,区间比较指令执行时,是将源操作数S与S1和S2的内容进行比较,并将比较的结果用目标操作数D 的状态来表示,如图9.11所示。,图9.11ZCP指令应用,56,9.4传送与比较指令,区间比较指令,在X0断开,即不执行ZCP指令时,M10M12保持X0断开前的状态。注意:(1)使用ZCP时,S2的
22、数值不能小于S1。(2)所有的源数据都被看成二进制值处理。(3)在不执行指令时,可用复位指令清除比较结果。,57,9.4传送与比较指令,传送指令,该指令的助记符、指令代码、操作数范围、程序步如表9.10所示。,表9.10传送指令的要素,58,9.4传送与比较指令,传送指令,MOV指令是将源操作数内的数据传送到指定的目标操作数内,即SD,如图9.12所示。,图9.12MOV指令应用,当X0=ON时,源操作数S中的常数K150传送到目标操作元件D20中。当指令执行时,常数K150自动转换成二进制数。当 X0 断开时,指令不执行,数据保持不变。,59,9.4传送与比较指令,块传送指令,该指令的助记符
23、、指令代码、操作数范围、程序步如表9.11所示。,表9.11移位传送指令的要素,60,9.4传送与比较指令,块传送指令,BMOV指令的功能是将源操作数指定元件开始的n个数据组成数据块传送到指定的目标,如图9.13所示。,图9.13BMOV指令应用,注意:如果元件号超出允许范围,数据则仅传送到允许范围内的元件。,61,9.4传送与比较指令,BCD/BIN指令,该类指令的助记符、指令代码、操作数范围、程序步如表9.12所示。,表9.12数据变换指令的要素,62,9.4传送与比较指令,BCD/BIN指令,BCD变换指令是将源元件中的二进制数转换成BCD码送到目标元件中。BIN变换指令是BCD变换指令
24、的逆变换,是将源元件中的BCD码转换成二进制数据送到目标元件中,如图9.14所示。,图9.14BCD/BIN指令应用,如果指令进行16位操作时,执行结果超出09999范围将会出错;当指令进行32位操作时,执行结果超过099999999范围也将出错。传送与比较指令在PLC控制程序中起如下用途。,63,9.4传送与比较指令,BCD/BIN指令,1)用以获得程序的初始工作数据 一个控制程序总是需要初始数据的。这些数据既可以从输入端口上连接的外部器件获得,运用传送指令读取这些器件上的数据并送到内部单元;也可以用程序设置,即向内部单元传送立即数;另外,某些运算数据存储在机内的某个地方,等程序开始运行时通
25、过初始化程序送到工作单元。2)机内数据的存取管理 在数据运算过程中,机内的数据传送是不可缺少的。运算可能要涉及不同的工作单元,数据需在它们之间传送;运算可能会产生一些中间数据,这需要传送到适当的地方暂时存放;有时机内的数据需要备份保存,这就要找地方把这些数据存储妥当。总之,对一个涉及数据运算的程序,数据管理是很重要的。此外,,64,9.4传送与比较指令,BCD/BIN指令,二进制和BCD码的转换在数据管理中也是很重要的。3)运算处理结果向输出端口传送 运算处理结果总是要通过输出实现对执行器件的控制,或者输出数据用于显示,或者作为其他设备的工作数据。对于输出口连接的离散执行器件,可成组处理后看做
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电器与可编程控制器应用技术第9章 功能指令 电器 可编程控制器 应用技术 功能 指令
链接地址:https://www.31ppt.com/p-6390518.html