您现在的位置是:首页 > PLC技术 > PLC技术
S7-300/400系列PLC移位和循环指令
来源:艾特贸易2018-01-24
简介LAD移位指令可以将输入参数IN中的内容向左或向右逐位移动。循环指令可以将输入参数IN中的全部内容循环地逐位左移或右移,空出的位用输入IN移出位的信号状态填充。 STL移位指令将累
LAD移位指令可以将输入参数IN中的内容向左或向右逐位移动。循环指令可以将输入参数IN中的全部内容循环地逐位左移或右移,空出的位用输入IN移出位的信号状态填充。
STL移位指令将累加器1的低字或者全部内容向左或向右逐位移动。循环指令将累加器1的全部内容循环地逐位左移或右移,空出的位用累加器1移出位的信号状态填充。移位和循环指令参数如表2-35所示。
表2-35 移位和循环指令
字移位指令移位的范围0~15,双字移位指令移位的范围0~31,对于字、双字移位指令,移出的位信号丢失,移空的位使用0补足,例如将一个字左移6位,移位前后位排列次序如图2-21所示。
图2-21左移6位示意图
带有符号位的整数移位范围为0~15,双整数移位范围为0~31,移位方向只能向右移,移出的位信号丢失,移空的位使用符号位补足,整数位负值,符号位为1,整数位正值,符号位为0。例如将一个整数右移4位,移位前后位排列次序如图2-22所示。
图2-22整数右移4位示意图
使用STL编程时,注意固定的格式,例如一个字左移5位的程序:
L 5 //移动的位数
LMW 120 //移位的变量
SLW
TMW 122 //移位结果
执行移位指令时,将累加器2中的值作为移动的位数,对累加器1中的值进行移位操作。
循环移位指令只能对字进行操作,移位范围为0—31,如果移位大于32,实际移位为
((N-1)modul0 32)+1,高位移出的位信号插入到低位移空的位中。例如将一个双字循环左移3位,移位前后位排列次序如图2-23所示。
图2-23循环移位示意图
STL编程语言中,RLDA与RRDA指令对双字进行循环移位操作,每次触发时循环左移或右移一位,将状态字中CC1的信号插入移空的位上。如果移出的位信号为1,置位状态字中CC1位,可以触发JP程序跳转指令进行逻辑判断。
使用移位和循环指令的示例程序如表2-36所示。
表2-36 移位和循环指令的示例程序
(作者稿费要求:需要高清无水印文章的读者3元每篇,请联系客服,谢谢!在线客服:)
点击排行
