基本信息
文件名称:可编程控制器应用(第三版)教学课件模块3-3:循环移位指令.ppt
文件大小:133.5 KB
总页数:19 页
更新时间:2025-06-08
总字数:约3.67千字
文档摘要

模块3-3:循环移位指令教学内容:主要讲授循环右移位指令、循环左移位指令、带进位循环右移位指令、带进位循环左移位指令、位右移位指令和位左移位指令等6条指令的格式、功能和使用方法。重点:讲授循环右移位指令、带进位循环右移位指令和位右移位指令的格式、功能和使用方法。难点;移位指令的操作运行与理解。课时:2学时。1、循环移位指令移位指令包含:循环右移位指令、循环左移位指令、带进位循环右移位指令、带进位循环左移位指令、位右移位指令和位左移位指令等6条指令。1、循环移位指令1)循环移位指令格式当执行循环右移位(或循环左移位)指令时,数据寄存器中各位数据向右(或向左)循环移动规定的n位,最后一次移位出来的那一位数据,同时存入进位标志M8022中。右、左循环移位指令格式为:ROR(P)+[D]+nROL(P)+[D]+n式中:ROR(P)、ROL(P):移位指令助记符,[D]:源数据数据寄存器,n:循环右移位或循环左移位的位数。1、循环移位指令2)循环移位指令的运用循环右移位及循环左移位的正确使用方法,如图3-19所示。循环右移位及循环左移位指令一般采用脉冲执行方式,否则,在每一次扫描周期都要交换一次。当X0(或X1)为ON时,D中数据循环向右(或向左)移动3位(即移位3次),最后移出的最低位(或最高位)存入进位标志寄存器中。2、带进位循环移位指令1)带进位循环移位指令的格式当执行带进位循环右移位(或带进位循环左移位)指令时,连同进位(M8022)在内的各位数据向右(或向左)循环移动规定n位。带进位循环右、左移位指令格式为:RCR(P)+[D]+nRCL(P)+[D]+n式中:ROR(P)、ROL(p):指令助记符,[D]:被移位目标数据寄存器,N:带进位循环右(或左)移位目标数据的位数。2、带进位循环移位指令2)带进位循环移位指令的运用带进位循环右(或左)移位指令的使用方法,如图3-22所示。带进位循环右移位及循环左移位指令采用脉冲执行方式,否则,在每一次扫描周期都要操作一次。2、带进位循环移位指令3)使用说明(1)目标操作数可取KnY,KnM,KnS,T,C,D,V和Z中的一种数据类型,目标元件中指定位元件的组合,只有在K4(16位)和K8(32位指令)时有效。2)处理16位数据,则指令占5个程序步,处理32位数据,则指令占9个程序步。3)若用连续指令执行时,循环移位操作每个周期只执行一次。3、位右移和位左移指令1)位右移和位左移指令格式位右(或位左)移指令是将位元件中的状态成组地向右(或向左)移动规定的位数。位右、位左移指令格式为:SFTR(P)+[S]+[D]+n1+n2SFTL(P)+[S]+[D]+n1+n2式中:SFTR(P)、SFTL(P):指令助记符,[S]:移位源数据,[D]:位元件目标数据,N1:位元件的数据长度,n2:移位数据的位数。3、位右移和位左移指令2)位右移、位左移指令的运用位右移、位左移指令的使用方法,如图3-21所示。3、位右移和位左移指令2)使用说明:(1)n1和n2的关系及范围因机型不同而有差异,一般为n2≤n1≤1024,位右移及位左位指令一般采用脉冲执行方式,否则,在每一次扫描周期都要交换一次。分析:在图3-21所示位右移(或位左移)指令操作后,在图3-21(a)中:当X0为ON时,则M7~M4→M3~M0、M11~M8→M7~M4、M15~M12→M11~M8、X3~X0→M15~M12,溢出:M3~M0。位左移指令操作运行与位右移指令操作运行相同,但数据的位移动方向相反,如图3-21(b)所示。当X1为ON时,则M11~M8→M15~M12、M7~M4→M11~M8、M3~M0→M7~M4、X3~X0→M3~M0,溢出:M15~M12。(2)源操作数可取X、Y、M、S,目标操作数可取Y、M、S;位右移、位左移指令只能进16位操作,占9个程序步。4、编程应用例1试设计一组8盏彩灯接于PLC端口Y7~Y0的循环控制。1)控制要求:当按下启动按钮SB1(接通X0)时,Y0~Y7按每隔1s的正序变化一次后,再按照Y7~Y0每隔1s反序变化一次,如此交替循环变化。2)项目分析:(1)用定时器按每隔1s执行一次乘法指令,即将操作数K2Y0×2时,相当于其二进制数码左移一位,实现Y0~Y7每隔1s正序变化一次。(2)用定时器每隔1s执行一次除法指令,即将操作数K2Y0÷2时,相当于其二进制数码右移一位,实现Y7~Y0每隔1s反序变化一次;