西门子PLC S7-200 移位指令SHL_W的用法

西门子PLC S7-200 移位指令SHL_W的用法,第1张

移位指令可以可以将累加器1的低字或整个累加器的内容进行左移或右移一定的位数。二进制数左移一位相当于将原数值乘以2。右移一位相当于将原数值除以2。

移位指令是根据PLC的扫描周期工作的。如果I00前不加P,I00动作一次则PLC扫描几百次,位移指令就执行几百次(QB0的状态已经移动完毕,换成循环位移则可以看到状态持续的变化)。如果加P,I00动作一次则QB0的状态移动一次。

扩展资料:

注意事项:

1、如果位数N大于或等于最大允许值(对于字节 *** 作为8,对于字 *** 作为16,对于双字 *** 作为32),那么移位 *** 作的次数为最大允许值如果移位次数大于0,溢出标志位(SM11)上就是最近移出的位值。

2、如果移位 *** 作的结果为0,零存储器位(SM10)置位,字节 *** 作是无符号的。对于字和双字 *** 作,当使用有符号数据类型时,符号位也被移动。

3、移位寄存器指令把输入的DATA数值移入移位寄存器。其中S_BIT指定移位寄存器的最低位,N指定移位寄存器的长度和移位方向(正向移位=N,反向移位=-N)。

参考资料来源:百度百科-移位指令

参考资料来源:百度百科-西门子S7-200系列PLC

参考资料来源:百度百科-西门子

这些是V寄存器中不同数据类型du表示方法:VB byte型,zhiVW word型,VD doubleword型,使用时按需要选择。例如VB0,VB1……或者shuVW0,VW2……或者VD0,VD4,VD8……(不能重复,即不能用VD0,VD2等等)。

vd :4个字节,那么vd0这个地址包含vb0,vb1,vb2,vb3,vd2则包含vb2,vb3,vb4,vb5四个字节,显然重复,微机原理有讲。传送时与传送指令配合即可(传送指令有数据类型的分别)。

在VB中,注释有2种方式。

1、以Rem关键字开头,并且Rem关键字与注释内容之间要加一个空格。注释可以是单独的一行,也可以写在其他语句行的后面。如果在其他语句行后使用Rem关键字,则必须使用冒号(:)与语句隔开。

2、使用一个撇号(')来代替Rem关键字。若使用撇号,则在其他语句行使用时不必加冒号。

百度百科-Visual Basic

移位寄存器位指令将 DATA 的位值移入移位寄存器。S_BIT
指定移位寄存器最低有效位的位置。N 指定移位寄存器的长度和移位方向(正向移位 = N,反向移位 = -N)。
将 SHRB 指令移出的每个位值复制到溢出存储器位 SM11 中。
移位寄存器位由最低有效位 S_BIT 位置和长度 N 指定的位数定义。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13256442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-27
下一篇 2023-06-27

发表评论

登录后才能评论

评论列表(0条)

保存