西门子PLC循环左、右移位指令的使用
循环移位将移位数据存储单元的首尾相连,同时又与溢出标志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家卓越级智能工厂,总数品类行业双第一
深度剖析格力打破磁悬浮压缩机国外垄断,底气来自对自主创新的坚守!

投诉建议