第5章功能指令的应用_第1页
第5章功能指令的应用_第2页
第5章功能指令的应用_第3页
第5章功能指令的应用_第4页
第5章功能指令的应用_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章功能指令的应用早期的PLC大多用于开关量控制,基本指令和步进指令已经能满足控制要求。为适应控制系统的其他控制要求(如模拟量控制等),从20世纪80年代开始,PLC生产厂家就在小型PLC上增设了大量的功能指令(也称应用指令),功能指令的出现大大拓宽了PLC的应用范围,也给用户编制程序带来了极大方便。可编程控制器有3种类型指令主要用途:1.基本逻辑指令:主要用于逻辑功能处理,是基于各种继电器、定时器、计数器等软元件的逻辑电路控制。2.步进顺控指令:主要用于步进顺序逻辑控制。3.功能指令:主要用于数据的传送、运算、变换及程序控制等功能。第5章功能指令的应用5.1:功能指令的基本知识5.1.1功能指令的图形符号及指令5.1.2功能指令的格式及说明5.2程序流控制指令的应用5.2.1项目案例——三台电机多种工作方式控制5.2.2项目案例——信号灯的开关控制5.2.3项目案例——3人智力抢答5.3比较传送指令的应用5.3.1项目案例——密码锁控制5.3.2项目案例——8人智力抢答控制5.4四则运算指令的应用5.4.1项目案例——停车场停车位控制5.4.2项目案例——投币洗车机自动控制5.4.3项目案例——倒计时显示定时器指令5.4.4项目案例——六十秒钟倒计时钟5.5循环移位指令的应用5.5.1项目案例——4台水泵轮流运行控制5.5.2项目案例——按钮控制5条皮带传送机的顺序控制

5.5.3项目案例——霓虹灯控制5.6时钟区间比较指令与触点比较指令的项目案例——植物园定时灌溉控制5.7PLC温度模块的项目案例:FX2N-4AD-PT温度测量5.8本章技能检验5.1.1功能指令的图形符号及指令功能指令相当于基本指令中的逻辑线圈指令,用法基本相同,只是逻辑线圈指令所执行的功能比较单一,而功能指令类似一个子程序,可以完成一系列较完整的控制过程。FX2N型PLC功能指令的梯形图符号与基本指令中的逻辑线圈指令也基本相同,在梯形图使用方框表示。5.1.2功能指令的格式及说明

1.功能指令的表示格式功能指令表示格式与基本指令不同。功能指令用编号FNC00~FNC294表示,并给出对应的助记符(大多用英文名称或缩写表示)。例如FNC45的助记符是MEAN(平均),若使用简易编程器时键入FNC45,若采用智能编程器或在计算机上编程时也可键入助记符MEAN。有的功能指令没有操作数,而大多数功能指令有1至4个操作数。如图5-1所示为一个计算平均值指令,它有三个操作数,[S]表示源操作数,[D]表示目标操作数,如果使用变址功能,则可表示为[S·]和[D·]。当源或目标不止一个时,用[S1·]、[S2·]、[D1·]、[D2·]表示。用n和m表示其他操作数,它们常用来表示常数K和H,或作为源和目标操作数的补充说明,当这样的操作数多时可用n1、n2和m1、m2等来表示。5.1.2功能指令的格式及说明图5-1功能指令表示格式

图5-1中源操作数为D0、D1、D2,目标操作数为D4Z0(Z0为变址寄存器),K3表示有3个数,当X0接通时,执行的操作为[(D0)+(D1)+(D2)]÷3→(D4Z0),如果Z0的内容为20,则运算结果送入D24中。功能指令的指令段通常占1个程序步,16位操作数占2步,32位操作数占4步。5.1.2功能指令的格式及说明

2.功能指令的执行方式与数据长度(1)连续执行与脉冲执行功能指令有连续执行和脉冲执行两种类型。如图5-2所示,指令助记符MOV后面有“P”表示脉冲执行,即该指令仅在X1接通(由OFF到ON)时执行(将D10中的数据送到D12中)一次;如果没有“P”则表示连续执行,即该在X1接通(ON)的每一个扫描周期指令都要被执行。

图5-2功能指令的执行方式与数据长度的表示5.1.2功能指令的格式及说明(2)数据长度功能指令可处理16位数据或32位数据。处理32位数据的指令是在助记符前加“D”标志,无此标志即为处理16位数据的指令。注意32位计数器(C200~C255)的一个软元件为32位,不可作为处理16位数据指令的操作数使用。如图5-3所示,若MOV指令前面带“D”,则当X1接通时,执行D11D10→D13D12(32位)。在使用32位数据时建议使用首编号为偶数的操作数,不容易出错。5.1.2功能指令的格式及说明

3.功能指令的数据格式(1)位元件与字元件像X、Y、M、S等只处理ON/OFF信息的软元件称为位元件;而像T、C、D、V,Z、KnX、KnY、KnM等处理数值的软元件则称为字元件,一个字元件由16位二进制数组成。位元件可以通过组合使用,4个位元件为一个单元,通用表示方法是由Kn加起始的软元件号组成,n为单元数。例如K2M0表示M0~M7组成两个位元件组(K2表示2个单元),它是一个8位数据,M0为最低位。如果将16位数据传送到不足16位的位元件组合(n<4)时,只传送低位数据,多出的高位数据不传送,32位数据传送也一样。在操作16位操作数时,参与操作的位元件不足16位时,高位的不足部分均作0处理,这意味着只能处理正数(符号位为0),在作32位数处理时也一样。被组合的元件首位元件可以任意选择,但为避免混乱,建议采用编号以0结尾的元件,如S10,X0,X20等。5.1.2功能指令的格式及说明

(2)数据格式在FX系列PLC内部,数据是以二进制(BIN)补码的形式存储,所有的四则运算都使用二进制数。二进制补码的最高位为符号位,正数的符号位为0,负数的符号位为1。FX系列PLC可实现二进制码与BCD码的相互转换。为更精确地进行运算,可采用浮点数运算。在FX系列PLC中提供了二进制浮点运算和十进制浮点运算,设有将二进制浮点数与十进制浮点数相互转换的指令。二进制浮点数采用编号连续的一对数据寄存器表示,例D11和D10组成的32位寄存器中,D10的16位加上D11的低7位共23位为浮点数的尾数,而D11中除最高位的前8位是阶位,最高位是尾数的符号位(0为正,1是负)。10进制的浮点数也用一对数据寄存器表示,编号小数据寄存器为尾数段,编号大的为指数段,例如使用数据寄存器(D1,D0)时,表示数为10进制浮点数=〔尾数D0〕×10〔指数D1〕,其中:D0,D1的最高位是正负符号位。

5.2.1项目案例——三台电机多种工作方式控制

【项目描述】在高层楼房供水系统中有3台水泵电机,当水位最低时,三台电机均起动;正常运行时,水位在高水位,一台电机起动,每台电机循环工作30分钟。【相关知识】1.条件跳转指令格式条件跳转指令CJ(P)的编号为FNC00,操作数为指针标号P0~P127,其中P631步序,不需标记。指针标号允许用变址寄存器修改。CJ和CJP都占3个程序步,指针标号占1步。如图5-3所示,当X20接通时,则由CJP9指令跳到标号为P9的指令处开始执行,跳过了程序的一部分,减少了扫描周期。如果X20断开,跳转不会执行,则程序按原顺序执行。图5-3跳转指令的使用5.2.1项目案例——三台电机多种工作方式控制

2.指令说明:(1)CJP指令表示为脉冲执行方式;(2)在一个程序中一个标号只能出现一次,否则将出错;(3)在跳转执行期间,即使被跳过程序的驱动条件改变,但其线圈(或结果)仍保持跳转前的状态,因为跳转期间根本没有执行这段程序。(4)如果在跳转开始时定时器和计数器已在工作,则在跳转执行期间它们将停止工作,到跳转条件不满足后又继续工作。但对于正在工作的定时器T192~T199和高速计数器C235~C255不管有无跳转仍连续工作。(5)若积算定时器和计数器的复位(RST)指令在跳转区外,即使它们的线圈被跳转,但对它们的复位仍然有效。5.2.1项目案例——三台电机多种工作方式控制【项目实施】1.输入输出地址表,根据项目要求其I/O分配如表5-1所示。表5-1三台电机多种工作方式控制地址表5.2.1项目案例——三台电机多种工作方式控制2.梯形图设计如图5-4所示。图5-4三台电机多种工作方式控制5.2.1项目案例——三台电机多种工作方式控制如图5-4当水位下降到低水位时,即X0=1时M0=1置位,同时M1复位,跳到P0处,Y0、Y1、Y2同时有输出,程序在21条指令处执行CJP63跳到END,跳过了P1后的程序;当水位上升到高水位时,即X1=1时M1=1,同时M0复位,程序跳过P0程序段到P1处执行,Y0、Y1、Y2轮流输出30分钟。5.2.2项目案例—信号灯的开关控制

【项目描述】用两个开关X1和X0控制一个信号灯Y0,当X1、X0=00时灯灭,X1、X0=01时灯以1S脉冲闪,X1、X0=10时灯以2S脉冲闪,X1、X0=11时灯常亮。【相关知识】子程序调用指令CALL的编号为FNC01。操作数为P0~P127,此指令占用3个程序步。子程序返回指令SRET的编号为FNC02。无操作数,占用1个程序步。如图5-5所示,如果X0接通,则转到标号P10处去执行子程序。当执行SRET指令时,返回到CALL指令的下一步执行。5.2.2项目案例—信号灯的开关控制

图5-5子程序调用与返回指令的使用使用子程序调用与返回指令时应注意:1.转移标号不能重复,也不可与跳转指令的标号重复;2.子程序可以嵌套调用,最多可5级嵌套。【项目实施】1.输入输出地址表表5-2信号灯的开关控制地址表5.2.2项目案例—信号灯的开关控制

5.2.2项目案例—信号灯的开关控制

2.梯形图设计根据项目系统要求梯形图设计如图5-6所示图5-6信号灯控制当X1=X0=0时即常开点断开,常闭点闭合Y0复位,信号灯灭;当X1=0,X0=1时执行P0处的子程序;当X1=1,X0=0时执行P1处的子程序;当X1=1,X0=1时执行P2处的子程序,满足项目要求。5.2.3项目案例—3人智力抢答

【项目描述】有3个抢答者的用三个按钮和主持人的复位按钮,有三个信号灯及蜂蜜器1个,当有抢答者按按钮抢答时蜂鸣器和对应的信号灯亮。【相关知识】中断返回指令IRET,编号为FNC03;中断允许指令EI,编号为FNC04;中断禁止DI,编号为FNC05。它们均无操作数,占用1个程序步。PLC通常处于禁止中断状态,由EI和DI指令组成允许中断范围。在执行到该区间,如有中断源产生中断,CPU将暂停主程序执行转而执行中断服务程序。当遇到IRET时返回断点继续执行主程序。如图5-7所示,允许中断范围中若中断源X0有一个下降沿,则转入I000为标号的中断服务程序,但X0可否引起中断还受M8050控制,当X20有效时则M8050控制X0无法中断。5.2.3项目案例—3人智力抢答图5-7中断指令的使用使用中断相关指令时应注意:1.中断的优先级排队如下,如果多个中断依次发生,则以发生先后为序,即发生越早级别越高,如果多个中断源同时发出信号,则中断指针号越小优先级越高;2.当M8050~M8058为ON时,禁止执行相应I0□□~I8□□的中断,M8059为ON时则禁止所有计数器中断;3.无需中断禁止时,可只用EI指令,不必用DI指令;4.执行一个中断服务程序时,如果在中断服务程序中有EI和DI,可实现二级中断嵌套,否则禁止其他中断。5.2.3项目案例—3人智力抢答【项目实施】1.输入输出地址表如表5-3所示

输入输出输入元件输入端口作用输出设备输出端口作用按钮SB1X01号抢答者按钮信号灯HL1Y01号抢答者信号灯按钮SB2X12号抢答者按钮信号灯HL2Y12号抢答者信号灯按钮SB3X23号抢答者按钮信号灯HL3Y23号抢答者信号灯按钮SB4X10主持人按钮蜂鸣器HAY3抢答成功信号5.2.3项目案例—3人智力抢答图5-8三人智力抢答控制在梯形图图5-8中有3个抢答者的按钮X0、X1和X2,假如按钮X1先闭合,在X1的上升沿执行I101处的中断子程序2,使Y1输出继电器得电,信号灯HL2亮,在执行后面的IRET中断返回指令时,立即返回主程序,Y1接点闭合,使中断禁止特殊辅助继电器M8050~M8052得电,禁止了X0和X2的输入中断。同时Y3输出继电器得电,外接蜂鸣器响,表示抢答成功,抢答结束,主持人按下复位按钮X10,全部输出Y0~Y3复位。2.梯形图设计5.3.1项目案例——密码锁控制【项目描述】设置4位数字密码为8365。将数字开拨到8时按一下确认键,再分别拨到密码数3、6、5时按一下确认键,电磁锁得电开锁。【相关知识】1.比较指令比较指令包括CMP(比较)和ZCP(区间比较)二条。(1)比较指令CMP(D)CMP(P)指令的编号为FNC10,是将源操作数[S1.]和源操作数[S2.]的数据进行比较,比较结果用目标元件[D.]的状态来表示。5.3.1项目案例——密码锁控制

图5-9比较指令的使用如图5-9所示,当X1为接通时,把常数100与C20的当前值进行比较,比较的结果送入M0~M2中。X1为OFF时不执行,M0~M2的状态也保持不变。5.3.1项目案例——密码锁控制图5-10区间比较指令的使用(2)区间比较指令ZCP(D)ZCP(P)指令的编号为FNC11,指令执行时源操作数[S.]与[S1.]和[S2.]的内容进行比较,并比较结果送到目标操作数[D.]中。如图5-10所示,当X0为ON时,把C30当前值与K100和K120相比较,将结果送M3、M4、M5中。X0为OFF,则ZCP不执行,M3、M4、M5不变。5.3.1项目案例——密码锁控制使用比较指令CMP/ZCP时应注意:1)[S1.]、[S2.]可取任意数据格式,目标操作数[D.]可取Y、M和S。2)使用ZCP时,[S2.]的数值不能小于[S1.]3)所有的源数据都被看成二进制;5.3.1项目案例——密码锁控制【项目实施】1.输入输出地址表,根据项目要求其I/O如表5-4所示。表5-4密码锁控制地址表输入输出输入元件输入端口作用输出设备输出端口作用第1位密码X0第1位密码入口电磁锁Y0得电开锁第2位密码X1第2位密码入口第3位密码X2第3位密码入口第4位密码X3第4位密码入口按钮SB1X4确认键按钮SB2X5复位键5.3.1项目案例——密码锁控制3.梯形图设计根据项目系统要求,梯形图的设计如图5-11所示。图5-11密码锁控制密码锁控制梯形图采用CMP比较指令将数字开关的数与设定的密码数进行比较,当二者相等时,如第1个数为8时按下确认键X4,只执行第一个CMP指令,比较结果M1=1,断开第一个CMP指令,接通第二个CMP指令,当拨到第二个密码3时再按确认键X4,只执行第二个CMP指令,比较结果M4=1,断开第二个CMP指令……当最后一位密码确认后,M10=1,使Y0=1,电磁锁Y0得电开锁,2s后结束并全部结果复位。5.3.2项目案例—8人智力抢答控制

【项目描述】8个人参加智力抢答竞赛,用8个抢答按钮和8个指示灯。当主持人报完题目,按下开始答题按钮后,抢答者才可按按钮,先按按钮者的灯亮,同时蜂鸣器响,后者按按钮的灯不亮。【相关知识】传送指令MOV。将源数据传送到指定的目标。如图5-12所示,当X0为ON时,则将[S.]中的数据K100传送到目标操作元件[D.]即D10中。在指令执行时,常数K100会自动转换成二进制数。当X0为OFF时,则指令不执行,数据保持不变。5.3.2项目案例—8人智力抢答控制

图5-12传送指令的使用使用应用MOV指令时应注意:1.源操作数可取所有数据类型,标操作数可以是KnY、KnM、KnS、T、C、D、V、Z。2.16位运算时占5个程序步,32位运算时则占9个程序步。5.3.2项目案例—8人智力抢答控制

【【项目实施】1.输入输出地址表,根据项目要求其I/O分配如表5-5所示。表5-58人智力抢答控制地址表输入输出输入元件输入端口作用输出设备输出端口作用按钮SB0X01号抢答者按钮信号灯HL1Y01号抢答者信号灯按钮SB1X12号抢答者按钮信号灯HL2Y12号抢答者信号灯按钮SB2X23号抢答者按钮信号灯HL3Y23号抢答者信号灯按钮SB3X34号抢答者按钮信号灯HL4Y34号抢答者信号灯按钮SB4X45号抢答者按钮信号灯HL5Y45号抢答者信号灯按钮SB5X56号抢答者按钮信号灯HL6Y56号抢答者信号灯按钮SB6X67号抢答者按钮信号灯HL7Y67号抢答者信号灯按钮SB7X78号抢答者按钮信号灯HL8Y78号抢答者信号灯按钮SB10X10主持人执行按钮蜂鸣器HAY17抢答成功信号

5.3.2项目案例—8人智力抢答控制

2.梯形图设计,根据项目要求其梯形图如图5-13所示。图5-13八人智力抢答控制在主持人按钮X10未按下时,不在执行指令,按抢答按钮K2X0(X7~X0)无效。当主持人按下按钮X10时,由于抢答按钮均未按下,所以K2X0=0,由MOV指令将K2X0=的值0传送到K2Y0中,由CMP指令比较K2Y0和K0,由于K2Y0=K0,比较结果是M1=1。当按钮X10复位断开时,由M1接点接通MOV和CMP指令。当有人按下抢答按钮,如按钮X2先按下,则K2X0=00000100,经传送,则K2Y0=00000100,即Y2=1,对应的指示灯亮,经CMP指令比较,K2Y0=4>0,比较结果是M0=1,Y17得电,蜂鸣器响。M1=0,断开MOV和CMP指令,所以后者抢答无效。5.4.1项目案例——停车场停车位控制

【项目描述】有一汽车停车场,最大容量只能停车50辆,为了表示停车场是否有空位,用PLC来控制。【相关知识】加1和减1指令加1指令(D)INC(P)的编号为FNC24;减1指令(D)DEC(P)的编号为FNC25。INC和DEC指令分别是当条件满足则将指定元件的内容加1或减1。如图5-14所示,当X0为ON时,(D10)+1→(D10);当X1为ON时,(D11)-1→(D11)。若指令是连续指令,则每个扫描周期均作一次加1或减1运算。5.4.1项目案例——停车场停车位控制

图5-14加1和减1指令的使用使用加1和减1指令时应注意:1.指令的操作数可为KnY、KnM、KnS、T、C、D、V、Z;。2.当进行16位操作时为3个程序步,32位操作时为5个程序步。3.在INC运算时,如数据为16位,则由+32767再加1变为-32768,但标志不置位;同样,32位运算由+2147483647再加1就变为-2147483648时,标志也不置位。4.在DEC运算时,16位运算-32768减1变为+32767,且标志不置位;32位运算由-2147483648减1变为=2147483647,标志也不置位5.4.1项目案例——停车场停车位控制

【项目实施】1.输入输出地址表,根据项目要求其I/O分配如表5-6所示。表5-6停车场停车位控制地址表输入输出输入元件输入端口作用输出设备输出端口作用感应开关0X0车已进入停车场信号信号灯HL1Y0停车场有空位感应开关1X1车已离开停车场信号信号灯HL2Y1、Y2停车场已满D0停车场车辆数(50)5.4.1项目案例——停车场停车位控制

2.梯形图设计,根据项目要求梯形图设计如图5-15所示。图5-15停车位控制梯形图当停车场有车进来时,X0感应开关闭合,D0自动加1;当停车场有车出去时,X1感应开关闭合,D0自动减1,当D0<50,即车场里面有空车位时Y0得电,当D0>=50时,即车场已满位,Y1、Y2得电。5.4.2项目案例——投币洗车机自动控制

【项目描述】一台投币洗车机,用于司机清洗车辆,司机没投入1元可以使用10分钟时间,其中喷水时间为5分钟。【相关知识】加法指令ADD(D)ADD(P)指令的编号为FNC20。它是将指定的源元件中的二进制数相加结果送到指定的目标元件中去。如图5-16所示,当X0为ON时,执行(D10)+(D12)→(D14)。5.4.2项目案例——投币洗车机自动控制

图5-16加法指令的使用使用加法指令时应该注意:1.操作数可取所有数据类型,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z.。2.16位运算占7个程序步,32位运算占13个程序步。3.数据为有符号二进制数,最高位为符号位(0为正,1为负)。4.加法指令有三个标志:零标志(M8020)、借位标志(M8021)和进位标志(M8022)。当运算结果超过32767(16位运算)或2147483647(32位运算)则进位标志置1;当运算结果小于-32767(16位运算)或-2147483647(32位运算),借位标志就会置1。5.4.2项目案例——投币洗车机自动控制

【项目实施】1.输入输出地址表,根据项目要求其I/O分配表如表5-7所示。表5-7投币洗车机自动控制地址表输入输出输入元件输入端口作用输出设备输出端口作用检测开关X0投币检测继电器KMY0喷水阀喷水按钮X1喷水控制D0喷水时间复位按钮X2手动复位D1使用时间5.4.2项目案例——投币洗车机自动控制

2.梯形图设计,根据项目要求其梯形图如图5-17所示图5-17投币洗车机控制梯形图5.4.2项目案例——投币洗车机自动控制

用100ms累计型定时器T250来累计喷水时间,用D0存放喷水时间,用100ms通用型定时器T0来累计使用时间,用D1存放使用时间。PLC初次运行时用M8002执行ADDP指令将0和0相加,将结果0分别传送到D0和D1中,由于执行ADDP指令结果是0,所以M8020=1,M8020常闭接点断开,按喷水按钮无效。当投入一元硬币时,X0接点接通一次,向D0数据寄存器增加3000(5分钟)。作为喷水的时间设定值,同时向D1的值增加6000(10分钟)作为司机限时使用时间。由于此时执行ADDP的结果不为0,所以M8020=0,M8020常闭接点闭合,当司机按下喷水按钮X1时,T250开始计时。当司机松开喷水按钮时,T250保持当前值不变。当喷水按钮再次按下时,T250接着前一次计时时间继续计时,当累计达到D0中的设定值时,T250常闭接点断开喷水阀Y0,T250常开接点闭合,将D0、D1清0,M8020=1,M8020常开接点断开,同时对T250复位。当喷水按钮X1动作时,T0接通并由M0得电自锁,喷水累计时间未到5分钟,但达到使用时间10分钟,T0动作,将D0、D1清0,结束使用。注意:由于定时器最长可以设定3276.7s,约54分钟。因此每次最多只能投5枚硬币,如果要增加延时定时器。5.4.3项目案例——倒计时显示定时器指令

【项目描述】倒计时显示定时器TO的当前值,初始值为35s。【相关知识】1.减法指令SUB。(D)SUB(P)指令的编号为FNC21。它是将[S1.]指定元件中的内容以二进制形式减去[S2.]指定元件的内容,其结果存入由[D.]指定的元件中。如图5-18所示,当X0为ON时,执行(D10)-(D12)→(D14)。图5-18所示5.4.3项目案例——倒计时显示定时器指令

使用减法指令时应该注意:(1)操作数可取所有数据类型,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z.。(2)16位运算占7个程序步,32位运算占13个程序步。(3)数据为有符号二进制数,最高位为符号位(0为正,1为负)。(4)减法指令有三个标志:零标志(M8020)、借位标志(M8021)和进位标志(M8022)。当运算结果超过32767(16位运算)或2147483647(32位运算)则进位标志置1;当运算结果小于-32767(16位运算)或-2147483647(32位运算),借位标志就会置1。5.4.3项目案例——倒计时显示定时器指令

2.数据变换指令(1)BCD变换指令BCD。(D)BCD(P)指令的编号为FNC18。它是将源元件中的二进制数转换成BCD码送到目标元件中,如图3-41所示。如果指令进行16位操作时,执行结果超出0~9999范围将会出错;当指令进行32位操作时,执行结果超过0~99999999范围也将出错。PLC中内部的运算为二进制运算,可用BCD指令将二进制数变换为BCD码输出到七段显示器。(2)BIN变换指令BIN(D)BIN(P)指令的编号为FNC19。它是将源元件中的BCD数据转换成二进制数据送到目标元件中,如图5-19所示。常数K不能作为本指令的操作元件,因为在任何处理之前它们都会被转换成二进制数。5.4.3项目案例——倒计时显示定时器指令

图5-19数据变换指令的使用使用BCD/BIN指令时应注意:1)源操作数可取KnX、KnY、KnM、KnS、T、C、D、V和Z,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z;2)16位运算占5个程序步,32位运算占9个程序步。

5.4.3项目案例——倒计时显示定时器指令

【项目实施】1.输入输出地址表,根据项目要求其I/O分配表如表5-8所示表5-8倒计时显示定时器指令地址表。输入输出输入元件输入端口作用输出设备输出端口作用开关X0倒计时开始译码器A1Y0接译码器个位第1位译码器B1Y1接译码器个位第2位译码器C1Y2接译码器个位第3位译码器D1Y3接译码器个位第4位译码器A2Y4接译码器十位第1位译码器B2Y5接译码器十位第2位译码器C2Y6接译码器十位第3位译码器D2

Y7接译码器十位第4位5.4.3项目案例——倒计时显示定时器指令

2.梯形图设计,根据项目要求其梯形图如图5-20所示图5-20倒计时显示定时器梯形图定时器T0的设定值为35.0s,计时单位为0.1s,不显示小数位,所以用359-T0作为倒计时数,当T0=0时,D2=359,显示前两位数即为35;当T0=K350,D2=009,显示前两位数即为0。D2中的数为BIN码,由BCD指令将其变换成BCD码存放在K3M0中,其中K2M4中存放的是十位和个位数,将K2M4中的数传送到K2Y0,所以显示倒计时数35~0s。5.4.4项目案例——六十秒钟倒计时钟

5.4.4项目案例——六十秒钟倒计时钟【项目描述】设计一个六十秒钟倒计时钟,接通控制开关,数码管显示“59”,随后每隔1秒,显示数字减1,减到“00”时,起动蜂鸣器报警,断开控制开关停止显示。【相关知识】数字译码输出指令数字译码输出指令有七段译码指令SEGD(FNC73)七段译码指令SEGD(P)如图5-21所示,将[S·]指定元件的低4位所确定的十六进制数(0~F)经译码后存于[D·]指定的元件中,以驱动七段显示器,[D·]的高8位保持不变。如果要显示0,则应在D0中放入数据为3FH。图5-21七段译码指令的使用5.4.4项目案例——六十秒钟倒计时钟【项目实施】1.输入输出地址表,根据项目要求其I/O分配表如表5-9所示表5-9六十秒钟倒计时钟地址表输入输出输入元件输入端口作用输出设备输出端口

作用按钮SB1X0起动倒计时个位数码管A0Y0驱动个位数码管A0段

按钮SB2X1停止倒计时个位数码管A1Y1驱动个位数码管A1段

个位数码管A2Y2驱动个位数码管A2段

个位数码管A3Y3驱动个位数码管A3段

个位数码管A4Y4驱动个位数码管A4段

个位数码管A5Y5

驱动个位数码管A5段

5.4.4项目案例——六十秒钟倒计时钟

(续)输入输出输入元件输入端口作用输出设备输出端口

作用个位数码管A6

Y6

驱动十位数码管A6段

十位数码管B0Y10驱动十位数码管B0段

十位数码管B1

Y11

驱动十位数码管B1段

十位数码管B2

Y12

驱动十位数码管B2段

十位数码管B3

Y13

驱动十位数码管B3段

十位数码管B4

Y14

驱动十位数码管B4段

十位数码管B5

Y15

驱动十位数码管B5段

十位数码管B6

Y16

驱动十位数码管B6段

蜂蜜器

Y20

倒计时到00时报警

5.4.4项目案例——六十秒钟倒计时钟

2.梯形图设计,根据项目要求其梯形图如图5-22所示。图5-22六十秒钟倒计时钟梯形图运行初始化个位D0=9,D1=5,计数器C0=0、C1=0复位,起动按钮X0按下后由T0、T1组成的1s振荡电路使D0自动减1由DECP指令完成,同时计数器C0自动加1。当D0=0,C0=10时,十位数D1自动减1由DECP指令完成,计数器C1自动加1。当D1=0,C1=5时,自动复位,同时接通Y20报警,报警时间由T2设定1s。在运行过程中由数字译码输出七段译码指令SEGD(FNC73)将D0的低4位所确定的数经译码后存于K2Y0中,以驱动七段显示器;同理SEGD将D1的低4位所确定的数经译码后存于K2Y10中,以驱动七段显示器,当按下停止按钮X1后Y0~Y17同时复位,个位D0=9,十位D1=5,起动按钮X0按下后重复。5.5.1项目案例——4台水泵轮流运行控制

【项目描述】由4台三相异步电动机M1~M4驱动4台水泵。正常要求2台运行2台备用,为了防止备用水泵长时间不用造成锈蚀等问题,要求4台水泵中2台运行,并每隔8小时切换一台,使4台水泵轮流运行。【相关知识】位左移指令位左移指令SFTL(P)的功能指令编号为FNC35。它们使位元件中的状态成组地向左移动。n1指定位元件的长度,n2指定移位位数,n1和n2的关系及范围因机型不同而有差异,一般为n2≤n1≤1024。位左移指令使用如图5-23所示。5.5.1项目案例——4台水泵轮流运行控制

图5-23位左移指令的使用。5.5.1项目案例——4台水泵轮流运行控制

【项目实施】1.输入输出地址表,根据项目要求其I/O分配表如表5-10所示。表5-104台水泵轮流运行控制地址表。

输入输出输入元件输入端口作用输出设备输出端口作用开关SAX0起动运行接触器KM0Y0驱动第一台电机按钮SBX1停止运行接触器KM1Y1驱动第二台电机接触器KM2Y2驱动第三台电机接触器KM3Y3驱动第四台电机5.5.1项目案例——4台水泵轮流运行控制

2.梯形图设计,根据项目要求其梯形图如图5-24所示。图5-244台水泵轮流运行控制梯形图初始状态时Y3~Y0均为0,M0=1,当通断1次X0,时,M0的1移位到Y0,第一台水泵电机起动,当起动结束,再将X0闭合,又产生一次移位,这时Y0=Y1=1,M0=0,使第一、第二台水泵电机起动运行,计数器C0开始对分钟脉冲M8014计数,当计满480次即8小时,C0接通一个扫描周期,产生一次移位,使Y1=Y2=1,M0=0,使第二、第三台水泵电机起动运行。这样每8小时左移位一次,更换一台水泵,使每台水泵轮流工作。5.5.2项目案例——按钮控制5条皮带传送机的顺序控制5.5.2项目案例——按钮控制5条皮带传送机的顺序控制【项目描述】皮带传送机由5个三相异步电动机M1~M5控制。起动时,按下起动按钮,起动信号灯亮5s后,电动机按从M1~M5每隔5s起动一台,电动机全部起动后,起动信号灯灭。停止时,再按下停止按钮,停止信号灯亮,同时电动机按从M5~M1每隔3s停止一台,电动机全部停止后,停止信号灯灭。【相关知识】位右移指令位右移指令SFTR(P)的功能编号为FNC34。它们使位元件中的状态成组地向右移动。n1指定位元件的长度,n2指定移位位数,n1和n2的关系及范围因机型不同而有差异,一般为n2≤n1≤1024。位右移指令使用如图5-25所示。5.5.2项目案例——按钮控制5条皮带传送机的顺序控制图5-25位右移指令的使用使用位右移指令时应注意:1.源操作数可取X、Y、M、S,目标操作数可取Y、M、S。2.只有16位操作,占9个程序步。图5-25位右移指令的使用使用位右移指令时应注意:1.源操作数可取X、Y、M、S,目标操作数可取Y、M、S。2.只有16位操作,占9个程序步。5.5.2项目案例——按钮控制5条皮带传送机的顺序控制

【项目实施】1.输入输出地址表,根据项目要求其I/O分配表如表5-11所示。表5-115条皮带传送机的顺序控制地址表输入输出输入元件输入端口作用输出设备输出端口作用按钮SB0X0起动信号灯HL0Y0起动信号按钮SB1X1停止接触器KM0Y1驱动第一台电机按钮SB2X2急停接触器KM1Y2驱动第二台电机接触器KM2Y3驱动第三台电机接触器KM3Y4驱动第四台电机接触器KM4Y5驱动第五台电机信号灯HL1Y6停止信号5.5.2项目案例——按钮控制5条皮带传送机的顺序控制2.梯形图设计,根据项目要求其梯形图如图5-26所示图5-265条皮带传送机的顺序控制梯形图按下起动按钮后Y0起动信号得电并保持,定时器T0定时5s时间到执行SFTL指令Y0的值传给Y1,即开始Y5~Y0=000011,Y1=1第一台电机起动,再过5s,Y5~Y0=000111,Y1=1,Y2=1第一台电机运行,第二台电机起动,……再过5s后Y5得电同时起动信号Y0断开,即Y5~Y0=111110,起动完成。当按下停止按钮X1时停止信号灯Y6=1得电并保持,执行SFTR指令把Y0=0传给Y5,第五台电机停止,即Y5~Y0=011110,定时器T1计时3s后再次执行SFTR指令Y5~Y0=001110,第四台电机停止,……再过3S后Y5~Y0=000000,第一台停止Y1=0,停止信号灯Y6=0熄灭。当按下急停按钮X2时Y5~Y0=000000同时复位,所有的五台电机同时停止。5.5.3项目案例——霓虹灯控制

【项目描述】现有L1~L8共8盏霓虹灯,要求按启动按钮时,霓虹灯L1~L8以正序每隔1s轮流点亮,当L8亮后,停2s;然后,反向逆序每隔1s轮流点亮,当L1亮后,停5s,重复上述过程。当按停止按钮时,霓虹灯停止工作。【相关知识】1.循环移位指令右、左循环移位指令为(D)ROR(P)和(D)ROL(P)编号分别为FNC30和FNC31。执行这两条指令时,各位数据向右(或向左)循环移动n位,最后一次移出来的那一位同时存入进位标志M8022中,如图5-27所示。5.5.3项目案例——霓虹灯控制

图5-27右、左循环移位指令的使用5.5.3项目案例——霓虹灯控制

【项目实施】1.输入输出地址表,根据项目要求其I/O分配表如表5-12所示。表5-12霓虹灯控制地址表5.5.3项目案例——霓虹灯控制

2.梯形图设计,根据项目要求其梯形图如图5-28所示。图5-28霓虹灯梯形图当起动按钮X0被按下,霓虹灯L1~L8以正序点亮,此时Y7~Y0的状态依次00000001、00000010、…、01000000、10000000,通过循环左移位指令ROL指令实现,同样,停2秒后,霓虹灯逆序点亮,此时Y7~Y0的状态依次10000000、01000000、…、00000010、00000001通过循环右移位指令ROL指令实现。2秒钟后又重复正序点亮如此循环。5.6时钟区间比较指令与触点比较指令的项目案例—植物园定时灌溉控制

【项目描述】某植物园对A、B两种植物进行灌溉,控制要求如下:A类植物需要定时灌溉,要求在早上6:00-6:30之间,晚上32:00-23:30之间灌溉;B类植物需要每隔一天的晚上23:00灌溉,每次10分钟。【相关知识】

1.区间比较指令的格式及说明共有七条时钟运算类指令,指令的编号分布在FNC160~FNC169之间。时钟运算类指令是对时钟数据进行运算和比较,对PLC内置实时时钟进行时间校准和时钟数据格式化操作。5.6时钟区间比较指令与触点比较指令的项目案例—植物园定时灌溉控制

图5-29时钟数据比较指令的使用(1)时钟数据比较指令TCMP(FNC160)

TCMP(P)它的功能是用来比较指定时刻与时钟数据的大小。如图5-29所示,将源操作数[S1.]、[S2.]、[S3.]中的时间与[S.]起始的3点时间数据比较,根据它们的比较结果决定目标操作数[D.]中起始的3点单元中取ON或OFF的状态。该指令只有16位运算,占11个程序步。它的源操作数可取T、C和D,目标操作数可以是Y、M和S。5.6时钟区间比较指令与触点比较指令的项目案例—植物园定时灌溉控制

图5-30时钟数据加法运算指令的使用(2)时钟数据加法运算指令TADD(FNC162)

TADD(P)指令的功能是将两个源操作数的内容相加结果送入目标操作数。源操作数和目标操作数均可取T,C和D。TADD为16位运算,占7个程序步。如图5-30所示,将[S1.]指定的D10~D12和D20~D22中所放的时、分、秒相加,把结果送入[D.]指定的D30~D32中。当运算结果超过24小时时,进位标志位变为ON,将进行加法运算的结果减去24小时后作为结果进行保存。5.6时钟区间比较指令与触点比较指令的项目案例—植物园定时灌溉控制

图5-31时钟数据读取指令的使用(3)时钟数据读取指令TRD(FNC166)

TRD(P)指令为16位运算,占7个程序步。[D.]可取T,C和D。它的功能是读出内置的实时时钟的数据放入由[D.]开始的7个字内。如图5-31所示,当X1为ON时,将实时时钟(它们以年、月、日、时、分、秒、星期的顺序存放在特殊辅助寄存器D8013~8019之中)传送到D10~D16之中。5.6时钟区间比较指令与触点比较指令的项目案例—植物园定时灌溉控制

表5-13LD触点比较指令功能指令代码助记符导通条件非导通条件FNC224(D)LD=[S1.]=[S2.][S1.]≠[S2.]FNC225(D)LD>[S1]>[S2.][S1.]≤[S2.]FNC226(D)LD<[S1.]<[S2.][S1.]≥[S2.]FNC228(D)LD<>[S1.]≠[S2.][S1.]=[S2.]FNC229(D)LD≤[S1.]≤[S2.][S1.]>[S2.]FNC230(D)LD≥[S1.]≥[S2.][S1.]<[S2.]2.触点比较指令的格式及说明触点比较指令(FNC224~FNC246)触点比较指令共有18条(1)LD触点比较指令该类指令的助记符、代码、功能如表5-13所示。5.6时钟区间比较指令与触点比较指令的项目案例—植物园定时灌溉控制

如图5-32所示为LD=指令的使用,当计数器C10的当前值为200时驱动Y10。其他LD触点比较指令不在此一一说明。图5-32LD=指令的使用5.6时钟区间比较指令与触点比较指令的项目案例—植物园定时灌溉控制

(2)AND触点比较指令该类指令的的助记符、代码、功能如表5-14所示。表5-14AND触点比较指令。5.6时钟区间比较指令与触点比较指令的项目案例—植物园定时灌溉控制

如图5-33所示为AND=指令的使用,当X0为ON且计数器C10的当前值为200时,驱动Y10。图5-33AND=指令的使用5.6时钟区间比较指令与触点比较指令的项目案例—植物园定时灌溉控制

(3)OR触点比较指令该类指令的助记符、代码、功能列于下表5-15中。表5-15OR触点比较指令5.6时钟区间比较指令与触点比较指令的项目案例—植物园定时灌溉控制OR=指令的使用如图5-34所示,当X1处于ON或计数器的当前值为200时,驱动Y0。图5-34OR=指令的使用5.6时钟区间比较指令与触点比较指令的项目案例—植物园定时灌溉控制触点比较指令源操作数可取任意数据格式。16位运算占5个程序步,32位运算占9个程序步。(4)交替输出指令交替输出指令ALT(P)的编号为FNC66,用于实现由一个按钮控制负载的启动和停止。如图5-35所示,当X0由OFF到ON时,Y0的状态将改变一次。若用连续的ALT指令则每个扫描周期Y0均改变一次状态。[D.]可取Y、M和S。ALT为16为运算指令,占3个程序步。

图5-35交替输出指令的使用5.6时钟区间比较指令与触点比较指令的项目案例—植物园定时灌溉控制【项目实施】1.输入输出地址表,根据项目要求其I/O分配表如表5-16所示。表5-13植物园定时灌溉控制地址表5.6时钟区间比较指令与触点比较指令的项目案例—植物园定时灌溉控制2.梯形图设计,根据项目要求其梯形图如图5-36所示。图5-36定时灌溉梯形图5.6时钟区间比较指令与触点比较指令的项目案例—植物园定时灌溉控制

如图5-36梯形图,按SB1使X1接通,M100得电并保持,M100触点接通到Y001和Y002起到开关作用。D8015存放PLC时钟数据的“时”,D8014存放PLC时钟数据的“分”,当D5015=6时或D8015=23时,且D8014<30分,A类植物1#泵起动浇水。对于B类植物,用TRD读取时钟数据到D0~D6,分别载入时钟数据的D8018~D8013和D8019即年、月、日、时、分、秒、星期。时钟数据比较指令TCMP后的3个数据(K23、K0、K0)与连续3个数据寄存器(D3、D4、D5即时、分、秒)就行比较结果放到M0、M1、M2。当23:0:0=D3:D4:D5时M1=1接通;隔天浇水指令用交替输出指令ALT完成,当M1第1次通时M3=1接通,当M1第2次接通时M3=0断开,当M1第3次通时M3=1又接通如此循环,M1=M3=1时B类植物2#泵Y2得电起动并自锁,同时T0计时10分钟,10分钟到2#泵自动切断,达到项目要求。5.7PLC温度模块的项目案例—FX2N—4AD—PT温度测量

【项目描述】FX2N—4AD—PT温度测量的应用,其控制要求如下:比较FX2N—4AD—PT的CH1、CH2通道所采集的温度,当CH1通道所采集的温度低于CH2通道时,输出指示灯L1亮;当CH1通道所采集的温度高于CH2通道时,输出指示灯L2亮。【相关知识】模拟量处理模块FX系列PLC常用的模拟量控制设备有模FX系列系列PLC常用的模拟量控制设备有模拟量扩展板(FX1N-2AD-BD、FX1N-1DA拟量扩展板(FX1N-2AD-BD、FX1N-1DABD)、普通模拟量输入模块(FX2N-2AD、BD)、普通模拟量输入模块(FX2N-2AD)、普通模拟量输入模块FX2N-4AD、FX2NC-4AD、FX2N-8AD)、FX2N-4AD、FX2NC-4AD、FX2N-8AD)、模拟量输出模块(FX2N-2DA、FX2N-4DA、模拟量输出模块(FX2N-2DA、FX2N-4DA、FX2NC-4DA)、FX2NC-4DA)、模拟量输入输出混合模块)、模拟量输入输出混合模块FX0N-3A)、温度传感器用输入模块(FX0N-3A)、温度传感器用输入模块FX2N-4AD-PT、FX2N-4AD-TC、FX2N(FX2N-4AD-PT、FX2N-4AD-TC、FX2N8AD)、温度调节模块(FX2N-2LC)8AD)、温度调节模块(FX2N-2LC)等。本项目就FX2N-4AD-PT来说明功能模块的应用。1.温度A/D输入模块FX2N-4AD-PT概述温度A/D输入模块的功能是把现场的模拟温度信号转换成相应的数字信号传送给CPU。FX2N系列PLC有两类温度A/D输入模块,一种是热电偶传感器输入型;另一种是铂温度传感器输入型,但两类模块的基本原理相同,FX2N-4AD-PT模拟特殊模块将来自4个铂温度传感器(Pt100,3线,100Ω)的输入信号放大,并将其转换成12位的可读数据,存储在主处理单元(MPU)中,摄氏度和华氏度数据都可读取。它与PLC之间通过缓冲存储器交换数据,数据的读出和写入通过FROM/TO指令来进行。其技术指标如表5-17所示。5.7PLC温度模块的项目案例—FX2N—4AD—PT温度测量表5-17FX2N-4AD-PT的技术指标5.7PLC温度模块的项目案例—FX2N—4AD—PT温度测量

2.接线方式FX2N-4AD-PT的接线如图5-37所示,接线时注意以下事项:(1)FX2N-4AD-PT应使用PT100传感器的电缆或双绞屏蔽电缆作为模拟输入电缆,并且和电源线或其他可能产生电气干扰的电线隔开。(2)可以采用压降补偿的方式来提高传感器的精度。如果存在电气干扰,将电缆屏蔽层与外壳地线端子(FG)连接到FX2N-4AD-PT的接地端和主单元的接地端。如可行的话,可在主单元使用3级接地。(3)FX2N-4AD-PT可以使用可编程控制器的外部或内部的24V电源。图5-37FX2N-4AD-PT的接线图5.7PLC温度模块的项目案例—FX2N—4AD—PT温度测量

PLC为用户提供的继电器一般有:输入继电器、输出继电器、辅助继电器、特殊功能继电器、移位继电器、定时器/计数器等。其中,输入、输出继电器一般与外部输入输出继电器相连接,而其他继电器与外部设备没有直接联系。现在看一下图1-5的控制原理:当按下SB1时,输入继电器00000的线圈通电,00000常闭触点闭合,使输出继电器01000线圈得电,01000对应的硬输出触点闭合,KM1得电,M1开始运转。同时,01000的一个常开触点闭合并自锁,时间继电器TIM000的线圈通电开始延时,10s后TIM000的常开触点闭合,输出继电器01001的线圈得电,01001对应的硬输出触电闭合,KM2得电,M2开始运转。当按下SB2时,输入继电器00001的线圈通电,00001的常闭触电断开,01000、TIM000的线圈均断电,01001的线圈也断电,01000,01001的两个硬输出点随之断开,KM1、KM1断电,M1、M2停转。5.7PLC温度模块的项目案例—FX2N—4AD—PT温度测量

3.缓冲存储器(BFM)的分配FX2N-4AD-PT的BFM分配如表5-18所示。表5-18FX2N-4AD-PT的BFM分配5.7PLC温度模块的项目案例—FX2N—4AD—PT温度测量(1)缓冲存储器BFM#28BFM#28是数字范围错误锁存,它锁存每个通道的错误状态如表5-19所示,据此可用于检查热电偶是否断开。表5-19FX2N−4AD-PTBFM#28位信息注:“低”表示当测量温度下降,并低于最低可测量温度极限时,对应位为ON;“高”表示当测量温度升高,并高于最高可测量温度极限或者热电偶断开时,对应位为ON。如果出现错误,则在错误出现之前的温度数据被锁存。如果测量值返回到有效范围内,则温度数据返回正常运行,但错误状态仍然被锁存在BFM#28中。当错误消除后,可用TO指令向BFM#28写入K0或者关闭电源,以清除错误锁存。5.7PLC温度模块的项目案例—FX2N—4AD—PT温度测量(2)缓冲存储器BFM#29。BFM#29中各位的状态是FX2N-4AD-PT运行正常与否的信息,具体规定如表5-20所示.。表5-20FX2N-4AD-PTBFM#29位信息(3)缓冲存储器BFM#30。FX2N-4AD-PT的识别码为K2040,它就存放在缓冲存储器BFM#30中。在传输/接收数据之前,可以使用FROM指令读出特殊功能模块的识别码(或ID),以确认正在对此特殊功能模块进行操作。5.7PLC温度模块的项目案例—FX2N—4AD—PT温度测量4.相关指令(1)FROM指令(FNC78)FROM指令的功能是实现对特殊模块缓冲区BFM指定位的读取操作。指令格式如下:指令中各软元件、操作数代表的意义如下:Cc:FROM指令执行的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论