作者 | 主题 |
---|---|
菁 至圣 经验值: 11116 发帖数: 1023 精华帖: 21 |
楼主 2016-07-28 09:23:36
主题:SIMATIC S7-1500与TIA博途软件的使用---连载45 以下内容节选自机械工业出版社出版的西门子自动化技术丛书----《SIMATIC S7- 1500 与 TIA博途软件使用指南》, 作者崔坚。更多更详细的内容请您参考《SIMATIC S7- 1500 与 TIA博途软件使用指南》一书。
基本指令---移位和循环移位指令 6.2.10移位和循环移位指令 LAD移位指令可以将输入参数IN中的内容向左或向右逐位移动;循环指令可以将输入参数IN中的全部内容循环地逐位左移或右移,空出的位用输入IN移出位的信号状态填充。STL移位指令将累加器1的低字或全部内容向左或向右逐位移动;循环指令将累加器1的全部内容循环地逐位左移或右移,空出的位用累加器1移出位的信号状态填充。 LAD指令可以对8、16、32以及64位的字或整数进行操作,而STL指令只能对16和32位的字或整数进行操作。移位和循环指令参考表6- 11。
字移位指令移位的范围为0~15,双字移位指令移位的范围为0~31,长字移位指令移位的范围为0~63。对于字、双字和长字移位指令,移出的位信号丢失,移空的位使用0补足。例如将一个字左移6位,移位前后位排列次序如图6- 9所示。
带有符号位的整数移位范围为0~15;双整数移位范围为0~31;长整数移位指令移位的范围为0~63。移位方向只能向右移,移出的位信号丢失,移空的位使用符号位补足。如整数为负值,符号位为1;整数为正值,符号位为0。例如将一个整数右移4位,移位前后位排列次序如图6- 10所示。
使用STL编程时要注意固定的格式,例如一个字左移5位的程序: L 5 //移动的位数。 L %MW120 //移位的变量。 SLW T %MW122 //移位结果。 执行移位指令时,将累加器2中的值作为移动的位数,对累加器1中的值进行移位操作。 |