PLC解密网-PLC培训学习-工控自动化人才技术交流

超级管理员

453

帖子

1378

回复

3110

积分

楼主
发表于 2021-09-27 09:39:46 | 查看: 2650 | 回复: 1

指令解析

一、循环移位指令

1、右、左循环移位指令:

右、左循环移位指令(D)ROR(P)和(D)ROL(P)编号分别为FNC30和FNC31。执行这两条指令时,各位数据向右(或向左)循环移动n位,最后一次移出来的那一位同时存入进位标志M8022中,如图1所示。



超级管理员

453

帖子

1378

回复

3110

积分
沙发
发表于 2021-09-27 09:44:56

blob.png

图1  右、左循环移位指令的使用

2、带进位的循环移位指令:

   带进位的循环右、左移位指令(D) RCR(P)和(D) RCL(P)编号分别为FNC32和FNC33。执行这两条指令时,各位数据连同进位(M8022)向右(或向左)循环移动n位,如图2所示。

blob.png

图2  带进位右、左循环移位指令的使用


使用ROR/ROL/RCR/RCL指令时应该注意:


   1)目标操作数可取KnY,KnM,KnS,T,C,D,V和Z,目标元件中指定位元件的组合只有在K4(16位)和K8(32位指令)时有效。    


   2)16位指令占5个程序步,32位指令占9个程序步。    


   3)用连续指令执行时,循环移位操作每个周期执行一次。


二、先入先出写入和读出指令:


先入先出写入指令和先入先出写入读出指令SFWR(P)和SFRD(P)的编号分别为FNC38和FNC39。


先入先出写入指令SFWR的使用如图5所示, 当X0由OFF变为ON时,SFWR执行, D0中的数据写入D2,而D1变成指针,其值为1(D1必须先清0);当X0再次由OFF变为ON时,D0中的数据写入D3,D1变为2,依次类推,D0中的数据依次写入数据寄存器。D0中的数据从右边的D2顺序存入,源数据写入的次数放在D1中,当D1中的数达到n-1后不再执行上述操作,同时进位标志M8022置1。

blob.png

图5  先入先出写入指令的使用


 使用SFWR和SFRD指令时应注意:


 1)目标操作数可取KnY、KnM、KnS、T、C和D,源操数可取所有的数据类型。


2)指令只有16位运算,占7个程序步。


指令应用举例1控制要求

通电后数码管显示0。按下学习板上按钮区的SB0按钮,数码管显示从99开始进行倒计时,每过1秒显示的值自动减1,待显示的值减到0,则下一秒又从99开始倒计时,循环不断,直到按下SB1按钮停止,数码管显示0。要求用数据移位指令编写程序。

blob.png

blob.png

blob.png

4实物图5源程序

blob.png

blob.png

blob.png

6拓展训练

通电后数码管显示0。按下学习板上按钮区的SB0按钮,数码管显示从59开始进行倒计时,每过1秒显示的值自动减1,待显示的值减到0,则下一秒又从59开始倒计时,循环不断,直到按下SB1按钮停止,数码管显示0。



您需要登录后才可以回帖 登录 | 立即注册

技术支持 KZYPLC V2.1 © 2020-2027

欢迎光临昆山中宇工控PLC论坛!您是第 6608582 位访问者, 日访问量: 6932 总访问量: 16200077,当前 2024-05-03 06:55:32 在线人数:53

ICP备案证书号: 苏ICP备14003016-2号