西门子PLC循环左、右移位指令的使用 | 您所在的位置:网站首页 › yorrol › 西门子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
|
CopyRight 2018-2019 实验室设备网 版权所有 |