资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第七章,PLC,传送比较指令及应用,内容提要,数据传送比较类指令含比较指令、区间比较指令、传送指令、块传送指令、多点传送指令、数据交换指令、,BCD,交换指令、,BIN,交换指令,是数据处理类程序中使用十分频繁的指令。,本章介绍传送比较指令的使用方法及应用,给出了一些实例。,1,7.1,传送、比较类功能指令说明,FX2N,系列可编程控制器数据传送、比较类指令包括比较指令、区间比较指令、传送与位传送指令、取反指令、块传送指令、多点传送指令、数据交换指令、,BCD,码变换指令、,BIN,码变换指令共十条,是数据处理类程序中使用十分频繁的指令,2,FNC NO,指令助记符,指令名称及功能,10,CMP,比较指令,11,ZCP,区间比较指令,12,MOV,传送指令,13,SMOV,位传送指令,14,CML,反相传送指令,15,BMOV,块传送指令,16,FMOV,多点传送指令,3,17,XCH,数据交换指令,18,BCD,BCD,码变换指令,19,BIN,BIN,码变换指令,4,1,比较指令,CMP,、,ZCP,、(,FNC10,、,FNC11,),(,1,)比较指令(,CMP,),比较指令是将源操作数,S1,、,S2,的数据进行比较,比较结果送到目标操作数,D,中,如图,6-10,所示。当,X0,为,OFF,时,不执行,CMP,指令,,M0,、,M1,、,M2,保持不变;当,X0,为,ON,时,,S1,、,S2,进行比较,即,C20,计数器值与,K100,(数值,100,)比较。若,C20,当前值小于,100,,则,M0=1,,,Y0=1,;若,C20,当前值等于,100,,则,M1=1,,,Y1=1,;若,C20,当前值大于,100,,则,M2=1,,,Y2=1,。,5,图,6-10,比较指令使用说明,6,比较指令的几点说明:,比较的数据为二进制数,且带符号位比较,如,-5,2,。,比较的结果影响目标操作数(,Y,、,M,、,S,)故目标操作数不能指定其他继电器(例如,X,、,D,、,T,、,C,)。,若要清除比较结果时,需要用,RST,和,ZRST,复位指令,如图,6-11,所示。,7,图,6-11,比较结果复位,8,(,2,)区间比较指令(,ZCP,),区间比较指令使用说明如图,6-12,所示。它是将一个数据,S,与两个源操作数,S1,、,S2,进行代数比较,比较结果影响目标操作数,D,。,X0,为,ON,,,C30,的当前值与,K100,和,K120,比较,若,C30,100,时,则,M3=1,;若,100C30120,时,则,M4=1,,,Y1=1,;若,C30,120,时,则,M5=1,,,Y2=1,。,区间比较指令,数据均为二进制数,且带符号位比较,9,图,6-12,区间比较指令使用说明,10,(,3,)应用举例,比较指令应用如图,6-13,所示。图,6-13,(,a,)是,CMP,指令的应用,当,X0=1,时,若,C0,计数器计数小于,10,时,即,C0,10,,,Y0=1,;计数器,C0=10,时,,Y1=1,;当计数器,C0,10,时,,Y2=1,。当计数器,C0,计数到,15,时,此时,Y3,为,ON,。,图,6-13,(,b,)为,ZCP,指令的应用。,X1,为,ON,,当计数器,C1,计数个数为如下数值时,,Y4,、,Y5,、,Y6,将有相应的状态。,C1,10,,,Y4=1,;,10C120,,,Y5=1,;,C1,20,,,Y6=1,。,Y11,为内部秒脉冲,M8013,的输出。当计数器,C1=30,时,,C1,清零,在下一个扫描周期,,PLC,又开始循环工作。,11,(,a,),CMP,指令的应用,12,(,b,),ZCP,指令的应用,13,2,传送指令,MOV,(,FNC12,),指令说明,如图,6-14,(,a,)所示为传送指令的基本格式,,MOV,指令的功能是将源操作数送到目标操作数中,即当,XO,为,ON,时,,SD,。,指令执行时,,K100,十进制常数自动转换成二进制数。当,XO,断开时,指令不执行,,D10,数据保持不变。,MOV,指令为连续执行型,,MOV,(,P,)指令为脉冲执行型。编程时若,S,源操作数是一个变数,则要用脉冲型传送指令,MOV,(,P,)。,对于,32,位数据的传送,需要用(,D,),MOV,指令,否则用,MOV,指令会出错,如图,6-14,(,b,)所示为一个,32,位数据传送指令。,14,图,6-14,传送指令的基本形式,15,当,X0,合上,则(,D1,,,D0,)(,D11,,,D10,);当,X1,合上,由(,C235,),32,位,D21,,,D20,。,(,3,)指令的应用举例,定时器、计数器当前值读出,如图,6-15,。图中,,X1=ON,时,(,C0,当前值)(,D20,)。,如图,6-16,是定时器、计数器的间接设定。在图中,,X2=ON,时,,K200,(,D12,),(,D12,)中的数值作为,T20,的时间设定常数,定时器延时,20s,。,16,图,6-15,计数器当前值读出,图,6-16,定时器、计数器设定值间接指定,17,位软元件的传送,可用图,6-17,中右图,MOV,指令来表示左图的顺控程序。,图,6-17,位软元件的传送,18,图,6-18,是,32,位数据的传送。,DMOV,指令常用于运算结果以,32,位传送的功能指令(如,MUL,等)以及,32,位的数值或,32,位的高速计数器的当前值等的传送。,图,6-18 32,位数据的传送,19,3,位传送指令,(,1,)位传送指令说明及梯形图表示方法,SMOV,指令是进行数据分配与合成的指令。该指令是将源操作数中二进制(,BIN,)码自动转换为,BCD,码,按源操作数中指定的起始位号,ml,和移位的位数,m2,向目标操作数中指定的起始位,n,进行传送,目标操作数中未被移位传送的,BCD,位,数值不变,然后再自动转换成二进制(,BIN,)码,如图,6-19,所示。,源操作数为负以及,BCD,码的值超过,9999,都将出现错误。,20,图,6-19,位传送指令的使用和移位说明删去移字,21,(,2,)位传送指令应用,图,6-20,是三位,BCD,码数字开关与不连续的输入端连接实现数据的组合。由图中程序可知,数字开关经,X20-X3,输入的,2,位,BCD,码自动以二进制形式存入,D2,中的低八位;而数字开关经,X0-X3,输入的,1,位,BCD,码自动以二进制存入,D1,中低四位。通过位传送指令将,D1,中最低位的,BCD,码传送到,D2,中的第,3,位,并自动以二进制存入,D2,,实现了数据组合。,22,图,6-20,数字开关的数据组合,23,24,4,反相传送指令,CML(FNC14),(,1,)指令格式,25,(,2,)指令说明,如上图所示为反相传送指令功能说明。当,X0,为,ON,时,将,S,的反相送,D,,即把操作数源数据(二进制数)每位取反后送到目标操作数中。若数据源为常数时,将自动地转换成二进制数。,26,CML,为连续执行型指令,,CML,(,P,)为脉冲执行型指令。,本指令可作为,PLC,的反相输入或反相输出指令,27,28,5,块传送指令,BMO,(,FNC15,),(,1,)指令格式,(,2,)指令说明,块传送指令是成批传送数据,将操作数中的源数据,S,传送到目标操作数,D,中,传送的长度由,n,指定。如下图所示,当,X0,为,ON,时,将,D7,、,D6,、,D5,的内容传送到,D12,、,D11,、,D10,中。在指令格式中操作数只写指定元件的最低位,如,D5,、,D10,。,29,30,若块传送指定的是位元件的话,则目标数与源操作数的位数要相同,31,在传送数据的源与目标地址号范围重叠时,为了防止输送源数据在未传输前被改写,,PLC,将自动地确定传送顺序,,如下图所示。,32,若特殊辅助继电器,M8024,置于,ON,时,,BMOV,指令的数据将从,D S,,若,M8024,为,OFF,时,块传送指令仍恢复到原来的功能。,33,34,6,多点传送指令,FMOV(FNC16),(,1,)指令格式,该指令的指令名称、助记符、功能号、操作数,(,2,)指令说明,多点传送指令的功能为数据多点传送指令,,如果元件号超出允许的元件号范围,数据仅传送到允许的范围内。,35,其功能说明如图,6-27,所示,当,X0,为,ON,时,将,K1,送至,D0-D9,(,n=K10,)。,36,7,数据交换指令,XCH,(,FNC17,),(,1,)指令格式,(,2,)指令说明,数据交换指令功能是将两个指定的目标操作数进行相互交换。如图,6-28,所示,当,X0,为,ON,时,,D10,与,D11,的内容进行交换。若执行前(,D10,),=100,、(,D11,),=150,,则执行该指令后,(,D10,),=150,,(,D11,),=100,。,37,38,该指令的执行可用脉冲执行型指令,XCH,(,P,),,才达到一次交换数据的效果。若采用连续执行型指令,XCH,,则每个扫描周期均在交换数据,这样最后的交换结果就不能确定,编程时要注意这一情况。,当特殊继电器,M8160,接通,若,D1,与,D2,为同一地址号时,则其低,8,位与 高,8,位进行交换,如图,6-29,所示。,32,位指令亦相同。,39,40,8,BCD,码变换指,BCD(FNC18),(,1,)指令格式,41,(,2,)指令说明,BCD,变换指令是将源操作数中的二进制数变换成,BCD,码送至目标操作数中,如图,6-30,所示。当,X0,为,ON,时,将,D12,中的二进制数转换成,BCD,码送到输出口,Y7-Y0,中。,使用,BCD,或,BCD,(,P,),16,位指令时,若,BCD,码转换结果超过,9999,的范围就会出错。使用(,D,),BCD,或(,D,),BCD,(,P,),32,位指令时,若,BCD,码转换结果超出,99999999,的范围,同样也会出错。,42,若将,PLC,的二进制数据转换成,BCD,码并用,LED,七段显示器显示,可用,BCD,码指令,如图。,43,9,二进制变换指令,BIN(FNC 19),(,1,)指令格式,(,2,)指令说明,BIN,指令与,BCD,指令相反,它是将,BCD,码转换成二进制数,即源操作数,S,中的,BCD,码转换成二进制数存入目标操作数,D,中。,如图,6-32,所示,当,X0,为,ON,时,源操作数,K2X0,中,BCD,码转换成二进制数送到目标操作单元,D13,中去。,44,45,BCD,码的数值范围:,16,位操作时为,0-9999,,,32,位操作时为,0-99999999,。,如果数据源不是,BCD,码,则,M8067,为,“,1,”,,表示运算错误,同时,运算错误锁存特殊辅助继电器,M8068,不工作。,常数,K,自动进行二进制变换处理。,46,7.2,传送比较类指令的基本用途及应用实例,比较、传送类指令是功能指令中使用最频繁的指令,其应用实例很多,这里仅举几个典型应用实例,以便读者掌握它的应用方法。,47,7.2.1,传送比较指令的基本用途,用于获得程序的初始工作数据,机内数据的存取管理,运算处理结果向输出端口传送,比较指令用于建立控制点,48,7.2.2,传送比较指令应用举例,1,电动机的,Y/,启动控制,大电机启动时先接成,Y,型,等电机速度升上来后,再换接成,。,49,50,设置启动按钮为,X0,,停止按钮为,X1,;控制电路主,接触器,KMI,接于输出口,Y0,,,Y,接法接触器,KM2,接于输出口,Y1,,接法接触器,KM3,接于输出口,Y2,。依电动机,Y,启动控制要求,启动时,应,Y0Y1,为,ON,(,H=3,)电动机,Y,形启动。当转速上升到一定程度,断开,Y1,,延时,1s,(防止,Y2Y1,同时通)后接通,Y0,、,Y2,(传送常数为,5,),电动机形运行。,停止时,传送常数应为,0,。另外,启动至正常运行状态间时间隔约为,6s,。,51,2,四路七段显示控制程序,本例是利用功能指令的功能,节省,PLC,的输出点数,而达到多位显示的目的。如图,6-34,(,a),所示,为,4,位显示(带译码器),,Y0-Y3,为,BCD,码,,Y4-Y7,为片选信号,显示的数据分别存放在数据寄存器,D0-D3,中。其中,D0,为千位,,D1,为百位,,D2,为十位,,D3,为个位。,X5,为运行、停止开关。,52,本例编程方法可以节省输出端,原来此显示需要,16,个输出,如用图,6-34,所示程序可以节省输出端,50%,。,53,54,4,彩灯的交替点亮控制程序,有一组灯,L1L8,,要求隔灯显示,每,2,变换一次,反复进行。用一个开关实现启停控制。,设置启停开关接于,X0,,灯,L1L8,接于,PLC,输出端,Y0Y7,。,55,控制梯形图如下图所示。这是以向输出口送数的方式来实现控制要求的。,56,习题及思考题,7-1 PLC,的数据传送比较指令有哪些?简述这些指令的编号、功能、操作数范围等。,7-2,用,CMP,指令实现下面功能:,X000,为脉冲输入,当脉冲数大于,5,时,,Y1,为,ON,;反之,,Y0,为,ON,。编写此梯形图。,7-3,三个电机相隔,5S,启动,各运行,10S,停止,循环往复。使用传输比较指令完成控制要求。,7-4,试用比较指令,设计一密码锁控制电路。密码锁为四键,若按,H65,对后,2S,,开照明;按,H87,57,对后,3S,,开空调。,7-5,设计一台计时精确到秒的闹钟,每天早上,6,点提醒你按时起床。,7-6,用传输比较指令作简易四层升降机的自动控制。要求:,只有在升降机停止时,才能呼叫升降机;,只能接受一层呼叫信号,先按者优先,后按者无效;,上升或下降或停止自动判断。,58,
展开阅读全文