技术论坛

 SIMATIC S7-1500与TIA博途软件的使用---连载45

返回主题列表
作者 主题

至圣

经验值: 11072
发帖数: 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。

表6- 11 S7-1500 移位和循环移位指令

 

        字移位指令移位的范围为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中的值进行移位操作。

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。