《电气控制与PLC》第六章应用指令应用指令有:数据比较、数据传送、数据移位、数据转换、数据运算、子程序控制、中断控制、高速计数/脉冲输出、步指令及特殊指令等。本章有选择地介绍部分常用的应用指令,并简单介绍高功能指令。内容提要《电气控制与PLC》第六章应用指令第一节数据比较指令第二节数据传送指令第三节数据移位指令第四节运算与转换指令第五节子程序指令第六节高功能指令系统《电气控制与PLC》第六章应用指令数据比较指令:四条指令无符号比较表格一致无符号表格比较区域比较第一节数据比较指令《电气控制与PLC》第六章应用指令无符号比较CMP(单字)无符号倍长比较CMPL(双字)1.比较指令结果标志=符号地址P_GTP_EQP_LT实际地址255.05255.06255.07对2组数据或常数进行比较,将比较结果反映到状态标志中CMPC1C2CMPLC1C2《电气控制与PLC》第六章应用指令例:DM1的数据大于20或者小于5时,10.01有输出问题:D1的数据大于5且小于20时呢?《电气控制与PLC》第六章应用指令2.块比较指令和表比较指令BCMPCDCBR块比较指令。当执行条件为ON时,将数据CD与每一个区域进行比较,若CD处在某个区域中,则与该区域对应的R通道的位置为ON,R的对应位如下:CB≤CD≤CB+1bit00CB+2≤CD≤CB+3bit01CB+30≤CD≤CB+31bit15《电气控制与PLC》第六章应用指令TCMPCDTBR表比较指令。当执行条件为ON时,将数据CD与比较表的数据进行比较,若CD与比较表中某个通道的数据相同,则与该通道对应的R通道的位为ON《电气控制与PLC》第六章应用指令第二节数据传送指令数据传送有9条指令:传送MOV取反传送MVN位传送MOVB数字传送MOVD块传送XFER块设置BSET数据交换XCHG单字分配DIST数据调用COLL《电气控制与PLC》第六章应用指令1.MOV和MVN指令基本格式传送指令应用将源通道(单字)数据或常数以二进制的形式输出到传送目的地通道《电气控制与PLC》第六章应用指令例:用MOV指令改变定时器的设定值《电气控制与PLC》第六章应用指令例:使输出通道10的8个输出点以2s的周期交替闪烁。《电气控制与PLC》第六章应用指令2.MOVB指令MOVB根据控制字C的控制,传送指定通道所指定的某个位到目的通道例《电气控制与PLC》第六章应用指令3.MOVD和XFER指令MOVD根据控制字C的内容,将源通道S指定位置、指定位数的数字(4位二进制数为1位数字)传送到目的通道D《电气控制与PLC》第六章应用指令块传送XFER指令能整体传送连续的多个通道数据#10SS+1S+N-1DD+1D+N-1XFERNSD《电气控制与PLC》第六章应用指令4.BSET和XCHG指令BSETSD1D2SD1D1+1D2XCHGE1E2《电气控制与PLC》第六章应用指令第三节数据移位指令常用:移位SFT左右移位SFTR字移位WSFT移位指令有10条:移位寄存器SFT左右移位寄存器SFTR非同步移位寄存器ASFT字移位WSFT左移1位ASL右移1位ASR带CY左循环1位ROL带CY右循环1位ROR左移1位SLD右移1位SRD《电气控制与PLC》第六章应用指令1.SFT指令移位SFT指令能将数据一位一位地从低位移向高位。IN:数据信号,SP:移位信号,R:复位信号,数据在D1到D2的通道范围内移位。功能:当执行条件SP由OFF→ON且R为OFF时,IN的数据移到D1和D2之间的移位寄存器的最右面位(最低位),寄存器的最左位(最高位)丢失。《电气控制与PLC》第六章应用指令例:有6个灯,启动后,从第1个灯开始点亮,每隔1s向前点亮一个灯,到第6个灯点亮后,又重复从第一个等点亮,不断循环。20001SFT2012012550220105INSPR2010020105KEEP20001RS201000100020101010012010201002201030100320104010042010520100KEEP20001RS20101201002550220001(常闭)2010220103201042010501005《电气控制与PLC》第六章应用指令2.SFTR指令移位方向数据输入移位脉冲复位0.02的微分信号作为移位脉冲,只有当0.02由OFF→ON时才移位一次。如果直接以0.02为移位脉冲,当0.02为ON时,每扫描一次,都要执行一次移位,移位次数将得不到控制。左右移位SFTR指令能将数据从低位移向高位,或反向移动。例《电气控制与PLC》第六章应用指令3.WSFT指令WSFT指令是字移位指令,从低位字D1逐字向高位字D2移位@WSFT是指令的微分形式,即只有在接点0.00闭合的第一个扫描周期才会字移位一次,以控制移位的时刻和速度。《电气控制与PLC》第六章应用指令第四节运算与转换指令1.十进制运算指令12条:加减乘除(单字/双字),自增/减运算,置位/复位。2.二进制运算指令9条:加减乘除,按位取反,逻辑与/或/异或/同或等。3.逻辑运算指令6条:有BCD→BIN变换BIN、BIN→BCD变换BCD、4→16译码MLPX、16→4编码DMPX、七段译码SDEC、ASCII码变换ASC等指令。第六章应用指令《电气控制与PLC》1.四则运算指令S1、S2是参与运算的数,D是结果,加减运算时,S1、S2、D所占的字数相同,乘除运算时,结果D所占的字数是S1或S2的两倍。a)BIN加法,D100和D110进行带符号BIN单字相加,和输出到D120;d)BIN除法,D100和D110进行带符号BIN单字除法运算,商输出到D120,余数输出到D121。《电气控制与PLC》第六章应用指令例:当结果大于FFFF时,将进位标志CV置1。采用二进制倍长加法更方便,这里只为展示运算过程。《电气控制与PLC》第六章应用指令(1).自增/自减INCSDECSSTCCLC进位标志位25504《电气控制与PLC》第六章应用指令ADDS1S2RSUBS1S2R(2).单/双字十进制加/减ADDLS1S2RSUBLS1S2R所有数据均为4位十进制BCD码表示《电气控制与PLC》第六章应用指令(3).单/双字十进制乘/除MULS1S2RMULLS1S2R《电气控制与PLC》第六章应用指令DIVS1S2RDIVLS1S2R第六章应用指令《电气控制与PLC》2.数据转换指令图中的“十六进制”表示以“十六进制监视”,并不是这个数是十六进制。(1)BIN、BCD指令如:使用BIN指令时,是将10进制数转换成16进制数。那么当D1=0010时,D2=000A第六章应用指令《电气控制与PLC》控制字K=0021其1表示解码时源通道的开始位,即从200通道的第1个数字位开始解码2位表示解码对象的位数,即表示对200通道的3个数据位解码例(2)MLPX、DMPX指令第六章应用指令《电气控制与PLC》控制字K=0000,源通道D1,目的通道100。表示对D1的第0个数字位开始解码,只对D1的1个数据位解码当D1分别等于0、1、2、3┄┄时,相应的100.00、100.01、100.02、100.03┄┄为1。例(2)MLPX、DMPX指令《电气控制与PLC》第六章应用指令3.逻辑运算指令梯形图符号ANDW的运算实例常用:字逻辑与ANDW、字逻辑或ORW、字异或XORW、字同或运算指令XNRW。第六章应用指令《电气控制与PLC》用八个起动按钮(0.00~0.07)、八个停止按钮(1.00~1.07)来分别控制八个输出线圈(10.00~10.07)从一个启动、一个停止、一个输出出发例:双按钮多位起动停止控制10.00=(0.00+10.00)1.0010CH=(0CH+10CH)1CH《电气控制与PLC》第六章应用指令第五节子程序指令子程序调用SBS子程序进入SBN子程序返回RET宏MCRO第五章简单逻辑控制与基本指令《电气控制与PLC》1.SBS、SBN、RET指令SBS010SBN010SBS011RETSBN011SBS012RETSBN012RET主程序SBS00主程序SBN00子程序RETSBN01子程序RETENDRETSBSNO.SBNNO.子程序的调用子程序的嵌套指令名称梯形图符号功能/有关标志SBS子程序调用调用指定的子程序NO.:00~49(CPM1A)SBN子程序进入子程序开始RET子程序返回子程序结束子程序将大的控制任务分成较小的控制任务,使用户能重复使用一给定的指令组。第六章应用指令《电气控制与PLC》子程序的工作过程0.010.02工作状态闭合闭合调用子程序,定时到100.00=1闭合断开调用子程序,但定时器不工作闭合闭合3s后断开调用子程序,定时器工作,3s后被复位闭合,3s后断开闭合开始调用子程序,定时器工作,3s后定时器继续工作,但定时到,100.00=0断开闭合不调用子程序《电气控制与PLC》第六章应用指令例:用子程序使输出通道10的8个输出点以2s的周期交替闪烁的功能运行开始的第一个扫描周期,将数据5555,即(0101010101010101)2传送到通道100每1s,调用1次子程序0子程序0将数据FFFF(二进制1111111111111111)和100通道的状态异或,即每秒钟改变一次输出点的状态。下面的方法更简单,左面只是说明子程序的用法。第五章简单逻辑控制与基本指令《电气控制与PLC》2.MCRO指令宏MCRO指令允许用一个单一子程序代替数个具有相同的结构但不同操作数的子程序。N:子程序号S:输入开始字CPM1A:232CH~235CHD:输出开始字CPM1A:236CH~239CH执行过程(CP1H)执行子程序232233234235《电气控制与PLC》第六章应用指令例:使用MCRO指令实例及等效梯形图200CH→232CH201CH→233CH202CH→234CH203CH→235CH210CH←236CH211CH←237CH212CH←238CH213CH←239CH202CH→232CH203CH→233CH204CH→234CH205CH→235CH215CH←236CH216CH←237CH217CH←238CH218CH←239CH使用MCRO指令第一次数据复制第二次数据复制使用基本指令《电气控制与PLC》第六章应用指令本章小结1.基本指令是位指令,而应用指令是字指令,其运算的对象是字(通道)。2.比较、传送、移位、四则运算和逻辑运算是常用的应用指令,这些指令的学习为今后复杂的控制程序编写打好基础。3.子程序在编写较大的控制程序时很有用。