资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,第7章可编程控制器编程语言2,以梯形图为主的简明、易学的,工业控制编程方法,第7章可编程控制器编程语言2以梯形图为主的简明、易学的,1,7.6 数据处理指令,7.6.1 数据移位指令,移位寄存器SFT:图7-56,可逆移位寄存器SFTR/SFTR:图7-61,算术左移ASL/ASL:图7-64,算术右移ASR/ASR:图7-65,循环左移ROL/ROL:带进位CY图7-67,循环右移ROR/ROR:带进位CY图7-68,7.6 数据处理指令7.6.1 数据移位指令,2,数字左移SLD和SLD:左移一个BCD码的字(4位)图7-69,数字右移SRD和SRD:右左移一个BCD码的字(4位),字移位WSFT和WSFT:左移一个字(16位)图7-70,数字左移SLD和SLD:左移一个BCD码的字(4位)图7-,3,7.6.2 数据传送指令,数据传送MOV/MOV:图7-71,块设置BSET/BSET:图7-72,块传送XFER/XFER:图7-75,数据交换XCHG/XCHG:通道交换,位传送MOVB/MOVB:8位二进制,字传送MOVD/MOVD:四位BCD码,7.6.2 数据传送指令数据传送MOV/MOV:图7-71,4,7.6.3 数据比较指令,单字比较CMP/CMP:图7-80,比较结果通过GR、EQ和LE输出;,块比较BCMP/BCMP:图7-81,块表比较TCMP/TCMP:,7.6.3 数据比较指令单字比较CMP/CMP:图7-80,5,7.6.4 数制转换指令,BCD至两进制转换BIN(23)/BIN(23)图7-82 BIN指令,双通道BCD至两进制BIN(58)/BIN(58)图7-83 BINL指令,两进制至BCD转换BIN(24)/BIN(24)图7-48 BCD指令,双通道两进制至BCD转换BIN(24)/BIN(24)图7-85 BCDL指令,7.6.4 数制转换指令BCD至两进制转换BIN(23)/,6,7.6.5 BCD运行指令,递增指令INC(38)/INC(38),递减指令DEC(39)/DEC(39),进位标志CY置位STC(40)/清除CLC(41),BCD加法指令ADD(30)/ADD(30),双通道BCD加法ADDL(54)/ADDL(54),BCD减法指令SUB(31)/SUB(31)加减法时往往需要先清除进位标志CY,BCD运算例题见图7-86 7-91,7.6.5 BCD运行指令递增指令INC(38)/INC(,7,7.6.6 逻辑运算指令,求反指令COM(29)/COM(29),逻辑与指令ANDW(34)/ANDW(34),逻辑或指令ORW(35)/ORW(35),逻辑异或XORW(36)/XORW(36),逻辑同或XNRW(37)/XNRW(37),以上指令的例子见图7-92 图7-96,7.6.6 逻辑运算指令求反指令COM(29)/COM(2,8,7.7 子程序和中断控制程序,子程序是将大量的控制任务分离成许多小的控制任务,可以组合使用,也可以重复使用。当主程序调用一个子程序时,控制就转到子程序,子程序执行完毕,返回主程序的调用处的后一条指令。,中断和子程序的调用类似,中断使主程序停顿,完成中断任务后,再执行开始中断程序的后一条指令。,7.7 子程序和中断控制程序子程序是将大量的控制任务分离成许,9,中断可以是外部的输入信号产生,也可以是内部定时产生中断。,中断分为一般中断方式和高速中断方式,一般中断方式,CPU处理完当前程序后停止主程序响应中断,高速中断方式,CPU停止当前程序,立即响应中断。,宏指令MCRO(89)指令,宏指令以一个单独的子程序(格式)替代几个具有相同结构、不同操作数的子程序。,中断可以是外部的输入信号产生,也可以是内部定时产生中断。,10,7.7.1 中断指令,一般中断程序:中断控制字DM6620是全0000;,高速中断方式:中断控制字DM6620是首位是1,其余位任意 1-;,当中断响应时间精确到1ms时使用高速中断,定时中断时间间隔设置DM6622,可以设置10ms或1ms 的倍数。(图7-99),7.7.1 中断指令一般中断程序:中断控制字DM6620是全,11,7.2.2 子程序调用指令SBS(91),子程序编号00至15与中断同时使用,子程序编号99被用于定时中断;,主程序中将SBS放在要执行的子程序处,子程序编号表示要调用的子程序,当SBS为ON时,PLC根据子程序编号调用相同编号的SBN和RET之间的程序,完成后返回到SBS后的程序。,SBS可以多次调用,见图7-101、102、103,7.2.2 子程序调用指令SBS(91)子程序编号00至1,12,7.7.3子程序定义和返回SBNRET,在SBN(92)指令中,每个子程序编号只能使用一次;,SBN(92)表示一个子程序的开始;,RET(93)表示一个子程序的结束;,所有子程序都安排在主程序的结尾。,7.7.3子程序定义和返回SBNRET在SBN(92)指令中,13,7.7.4 宏指令MCRO(99),MCRO指令有4个输入字(SR290-293),4个输出字(SR294-297);,子程序执行时,将数据从这些输入、输出口中传输;,宏指令的应用见图7-106、107,7.7.4 宏指令MCRO(99)MCRO指令有4个输入,14,7.7.5 中断控制指令INT(89),INT(89)设置中断方式,表7-2,,表7-2中6种是输入中断,3种定时中断,2种屏蔽或非屏蔽所有中断。,中断应用见图7-109、7-110,7.7.5 中断控制指令INT(89)INT(89)设置,15,7.7.6 步指令,STEP(08)和SNXT(09)步指令成对使用,用步指令可以按照指定的顺序执行程序;,在步指令可以反复使用PLC的内部资源;,在步指令中不能使用IL(02)/ILC(03)、JMP(04)/JME(05)、SBN(92)和END(01)指令。,7.7.6 步指令STEP(08)和SNXT(09)步指令成,16,1.步定义和步起动STEP/SNXT,STEP(08)B定义一个程序段(一个步)的开始。STEP(08)B不需要执行条件,即其执行与否由控制位B来控制;,SNXT(09)B用来启动程序位B的程序段,在ON的条件下执行SNXT(09)B指令,具有相同控制位B的步被执行,若执行条件为OFF,则该步将不执行,SNXT(09)必须在STEP(08)之前。,1.步定义和步起动STEP/SNXTSTEP(08)B定义,17,步指令应用举例,顺序执行:图7-114;,分支执行:图7-117;,并行执行:图7-120。,步指令应用举例顺序执行:图7-114;,18,7.7.7 特殊指令,出错报警指令FAL(06)和严重故障报警指令FALS(07),信息显示MSG(46)/MSG(46),位计数指令FUN(67)/FUN(67),设置系统定时器WDT(94)/WDT(94),I/O刷新IORF(97)/IORF(97),7.7.7 特殊指令出错报警指令FAL(06)和严重故障,19,本章小结,本章主要介绍了PLC的指令系统和如何将继电器接触器电路转化为PLC控制的基本方法。,本章内容重要,希望同学们认真学习,做好实验。,本章小结本章主要介绍了PLC的指令系统和如何将继电器接触,20,练习题:,P279,习题6,习题7,习题8,练习题:P279,21,
展开阅读全文