[信捷] 信捷XDXL系列PLC数据移位指令

[复制链接]
查看74216 | 回复0 | 6 天前 | 显示全部楼层 |阅读模式
一.数据移位指令

指令助记符

指令功能

SHL

算术左移

SHR

算术右移

LSL

逻辑左移

LSR

逻辑右移

ROL

循环左移

ROR

循环右移

SFTL

位左移

SFTR

位右移

WSFL

字左移

WSFR

字右移

1.算术左移[SHL]、算术右移[SHR]

1)指令概述

将指定数据或软元件中的数据进行反相传送的指令。

算术左移[SHL]

16 位指令

SHL

32 位指令

DSHL

执行条件

边沿触发

适用机型

XD 全系列、XL 全系列

算术右移[SHR]

16 位指令

SHR

32 位指令

DSHR

执行条件

边沿触发

适用机型

XD 全系列、XL 全系列

2)操作数

操作数

作用

类型

S

指定源数据值或软元件地址编号

16 位/32 位,BIN

D

指定保存结果的软元件地址编号

16 位/32 位,BIN

3)功能和动作

l 执行 SHL 指令一次之后,下位补 0,最终位被存入进位标志中。

l 执行 SHR 指令一次之后,上位同移动前的最高位,最终位被存入进位标志中。

《算术左移》



《算术右移》



2.逻辑左移[LSL]、逻辑右移[LSR]

1)指令概述

将指定软元件中的数据进行逻辑左移、逻辑右移的指令。

逻辑左移[LSL]

16 位指令

LSL

32 位指令

DLSL

执行条件

边沿触发

适用机型

XD 全系列、XL 全系列

逻辑右移[LSR]

16 位指令

LSR

32 位指令

DLSR

执行条件

边沿触发

适用机型

XD 全系列、XL 全系列

2)操作数

操作数

作用

类型

n

指定算术左移/右移的次数

16 位/32 位,BIN

D

指定源数据的软元件地址编号

16 位/32 位,BIN

3)功能和动作

l 执行 LSL 指令一次之后,下位补 0,最终位被存入进位标志中。

l LSL 指令的意义和使用与 SHL 相同。

l 执行 LSR 指令一次之后,上位补 0,最终位被存入进位标志中。

l LSR 与 SHR 有所区别,前者在移位时,上位补 0;而后者在移位时,上位也参与移位。

《逻辑左移》



《逻辑右移》



3.循环左移[ROL]、循环右移[ROR]

1)指令概述

使 16 位或 32 位数据的各位信息循环左移/循环右移的指令。  

循环左移[ROL]

16 位指令

ROL

32 位指令

DROL

执行条件

边沿触发

适用机型

XD 全系列、XL 全系列

循环右移[ROR]

16 位指令

ROR

32 位指令

DROR

执行条件

边沿触发

适用机型

XD 全系列、XL 全系列

2)操作数

操作数

作用

类型

n

指定循环左移的次数

16 位/32 位,BIN

D

指定源数据的软元件地址编号

16 位/32 位,BIN

3)功能和动作

l 每一次 X0 从 OFF→ON 变化一次时,则进行 n 位循环左移或右移,最终位被存入进位标志中。

《循环左移》



《循环右移》



4.位左移[SFTL]

1)指令概述

将指定软元件中的数据进行位左移的指令。

位左移[SFTL]

16 位指令

SFTL

32 位指令


执行条件

边沿触发

适用机型

XD 全系列、XL 全系列

2)操作数

操作数

作用

类型

S

指定源数据的软元件首地址编号



D

指定目标软元件的首地址编号



n1

指定目标元件的个数(不超过 1024)

16 位,BIN

n2

指定位左移每次移动的位数(不超过 1024)

16 位,BIN

3)功能和动作

l 对于 n1 位(移动软元件的长度)的位元件进行 n2 的左移动的指令。(指令执行时执行 n2 位的移位)。

l 驱动输入 X0 由 OFF→ON 变化时,执行 n2 位移位。

l n2 为 K1 时,每执行一次移位指令,目标软元件左移 1 位。



5.位右移[SFTR]

1)指令概述

将指定软元件中的数据进行位右移的指令。

位右移[SFTR]

16 位指令

SFTR

32 位指令


执行条件

边沿触发

适用机型

XD 全系列、XL 全系列

2)操作数

操作数

作用

类型

S

指定源数据的软元件首地址编号



D

指定目标软元件的首地址编号



n1

指定目标元件的个数

16 位,BIN

n2

指定位右移每次移动的位数

16 位,BIN

3)功能和动作

l 对于 n1 位(移动寄存器的长度)的位元件进行 n2 的右移动的指令。(指令执行时执行 n2 位的移位)。

l 驱动输入 X0 由 OFF→ON 变化时,执行 n2 位移位。

l n2 为 K1 时,每执行一次移位指令,目标软元件右移 1 位。



6.字左移[WSFL]

1)指令概述

将指定软元件中的数据进行字左移的指令。

字左移[WSFL]

16 位指令

WSFL

32 位指令


执行条件

边沿触发

适用机型

XD 全系列、XL 全系列

2)操作数

操作数

作用

类型

S

指定源数据的软元件首地址编号



D

指定目标软元件的首地址编号



n1

指定目标软元件的个数(不超过 512)

16 位,BIN

n2

指定每次左移的字个数(不超过 512)

16 位,BIN

3)功能和动作

l 以字为单位,对 n1 个字的字软元件进行 n2 个字的左移的指令。

l 驱动输入 X0 从 OFF→ON 时就执行一次 n2 个字的移动。



l 上例中,D10~D25(共 16 个寄存器)用于接收从 D0~D3 传送过来的数值,每次 X0 上升沿来时,将D0~D3 的数值传送到 D10~D13,原 D0~D13 的数值左移到 D14~D17,原 D14~D17 的数值左移到D18~D21,……依次类推,原 D22~D25 的数值溢出。

7.字右移[WSFR]

1)指令概述

将指定软元件中的数据进行字右移的指令。

字右移[WSFR]



16 位指令

WSFR


32 位指令


执行条件

边沿触发

适用机型

XD 全系列、XL 全系列

2)操作数

操作数

作用

类型

S

指定源数据的软元件首地址编号



D

指定目标软元件的首地址编号



n1

指定目标软元件的个数(不超过 512)

16 位,BIN

n2

指定每次左移的字个数(不超过 512)

16 位,BIN

3)功能和动作

l 以字为单位,对 n1 个字的字软元件进行 n2 个字的右移的指令。

l 驱动输入 X0 从 OFF→ON 时就执行一次 n2 个字的移动。



l 上例中,D10~D25(共 16 个寄存器)用于接收从 D0~D3 传送过来的数值,每次 X0 上升沿来时,将D0~D3 的数值传送到 D22~D25,原 D22~D25 的数值右移到 D18~D21,原 D18~D21 的数值右移到D14~D17,……依次类推,原 D13~D10 的数值溢出。

—THE END—

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则