PLC问答之四:移位指令分为几种?各有什么功能?-PLC技术网(www.plcjs.com)-可编程控制器技术门户


PLC问答之四:移位指令分为几种?各有什么功能?

 (点击题目可以在互联网中搜索该题目的相关内容)
日期:2007-4-17 18:18:00     来源:PLC之家   作者: 点击:
点击【  大  中   小 】,可以选择字体的大小,以便你阅读.
FX2 系列可编程控制器移位指令有移位、循环移位、字移位及先入先出 FIFO 指令等数种,其中循环移位分别带进位位循环及不带进位位的循环。移位有左移和右移之分。 FIFO 分为写入和读出。
从指令的功能来说,循环移位是指数据在本字节或双字内的移位,是一种环形移动。而非循环移位是线形的移位,数据移出部分会丢失,移入部分从其他数据获得。移位指令可用于数据的 2 倍乘处理,形成新数据,或形成某种控制开关。字移位和位移位不同,它可用于字数据在存储空间中的位置调整等功能。先入先出 FIFO 指令可用于数据的管理。现择要介绍如下。
( 1 )位右移指令
该指令的助记符、指令代码、操作数、程序步如表 8-11 所示。
表 8-11 位右移指令的要素
指令名称
助记符
指令代码位数
操作数范围
程序步
S(.)
D(.)
N1
N2
位右移
SFTR
SFTR(P)
FNC34 ◥
16
X 、 Y 、 M 、 S
Y 、 M 、 S
K 、 H
SFTR 、 SFTRP…9 步
               
位右移指令是对 n1 位 [D] 所指定的位元件进行 n2 位 [S] 所指定元件的位右移,其说明如图所示。
当 X0 由 OFF → ON 时, [D] 内( M0~M15 )各位数据连同 [S] 内( X0~X3 ) 4 位数据向右移 4 位,( X0~X3 ) 4 位数据从 [D] 高位端移入,( M0~M3 ) 4 位数据从 [D] 低位端移出(溢出)。当 X10 再次从 OFF → ON 时,( X0~X3 ) 4 位数据再次从 [D] 高位端移入,当前( M0~M3 ) 4 位数据从 [D] 低位端溢出。依次类推。
用脉冲执行型指令时,指令执行取决于 X10 由 OFF → ON 变化;而用连续指令执行时,移位操作是每个扫描周期执行一次,使用指令时必须注意。
( 2 ) 循环右移
该指令的助记符、指令代码、操作数、程序步如表 8-10 所示。
循环右移指令的要素表
指令名称
助记符
指令代码位数
操作数范围
程序步
D ( . )
n
循环右移
ROR
ROR ( P )
FNC30 ◥
(16/32)
KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
K 、 H 位移量
N ≤ 16 ( 16 位)
N ≤ 32 ( 32 位)
ROR 、 RORP…5 步
DROR 、 DRORP…9 步
循环右移指令可以使 16 位数据、 32 位数据向右循环移位,其说明如图所示。
当 X0 由 OFF → ON 时, [D] 内各位数据向右移 n 位,最后一次从最低位移出的状态也存于进位标志 M8022 中。
用连续指令执行时,循环移位操作每个周期执行一次。
在指定位软元件的场合下,只要 K4 ( 16 位指令)或 K8 ( 32 位指令)有效。
上一篇: PLC问答之五:数据处理指令有哪些?其功能是什么?
下一: PLC问答之三:什么是程序控制类指令?各起什么作用?