工控网首页
>

应用设计

>

西门子PLC循环左、右移位指令的使用

西门子PLC循环左、右移位指令的使用

2015/3/11 10:05:02

       

循环移位将移位数据存储单元的首尾相连,同时又与溢出标志SM1.1连接,SM1.1用来存放被移出的位。指令格式见表6。

(1)循环左移位指令(ROL)

使能输入有效时,将IN输入无符号数(字节、字或双字)循环左移N位后,将结果输出到OUT所指定的存储单元中,移出的最后一位的数值送溢出标志位SM1.1。当需要移位的数值是零时,零标志位SM1.0为1。

(2)循环右移位指令(ROR)

使能输入有效时,将IN输入无符号数(字节、字或双字)循环右移N位后,将结果输出到OUT所指定的存储单元中,移出的最后一位的数值送溢出标志位SM1.1。当需要移位的数值是零时,零标志位SM1.0为1。

(3)移位次数N≥数据类型(B、W、D)时的移位位数的处理

如果操作数是字节,当移位次数N≥8时,则在执行循环移位前,先对N进行模8操作(N除以8后取余数),其结果0-7为实际移动位数。

如果操作数是字,当移位次数N≥16时,则在执行循环移位前,先对N进行模16操作(N除以16后取余数),其结果0-15为实际移动位数。

如果操作数是双字,当移位次数N≥32时,则在执行循环移位前,先对N进行模32操作(N除以32后取余数),其结果0-31为实际移动位数。

(4)使ENO = 0的错误条件:0006(间接寻址错误),SM4.3(运行时间)。

表6 循环左、右移位指令格式及功能

LAD

STL

RLB  OUT,N

RRB  OUT,N

RLW   OUT,N

RRW   OUT,N

RLD  OUT,N

RRD  OUT,N

操作数及数据类型

IN:VB, IB, QB, MB, SB, SMB, LB, AC, 常量。

OUT:VB, IB, QB, MB, SB, SMB, LB, AC。

数据类型:字节

IN:VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, AC, 常量。

OUT:VW, IW, QW, MW, SW, SMW, LW, T, C, AC。

数据类型:字

IN:VD, ID, QD, MD, SD, SMD, LD, AC, HC, 常量。

OUT:VD, ID, QD, MD, SD, SMD, LD, AC。

数据类型:双字

N:VB, IB, QB, MB, SB, SMB, LB, AC, 常量;数据类型:字节。

功能

ROL:字节、字、双字循环左移N位;ROR:字节、字、双字循环右移N位。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

说明:在STL指令中,若IN和OUT指定的存储器不同,则须首先使用数据传送指令MOV将IN中的数据送入OUT所指定的存储单元。如:MOVB   IN,OUT

SLB    OUT,N

 

投诉建议

提交

查看更多评论
其他资讯

查看更多

2025中欧绿色建筑工业化论坛9月北京启幕 全球智慧共推建筑产业“双碳”转型

喜讯!华强电子网荣获“2025年中国产业互联网创新企业”

深入实施“人工智能+”行动 浪潮软件集团看好人工智能+工业质检广阔前景,持续布局线缆行业智能质检

海尔新增2家卓越级智能工厂,总数品类行业双第一

深度剖析格力打破磁悬浮压缩机国外垄断,底气来自对自主创新的坚守!