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

题目为:用一个开关控制三个照明灯,要求开关闭合时灯亮,开关断开时灯灭。如果再3s内每闭合一次开关,亮的灯数由1个到2个到3个再到2个、1个、0个循环;如果开关断开的时间超... 题目为:
用一个开关控制三个照明灯,要求开关闭合时灯亮,开关断开时灯灭。如果再3s内每闭合一次开关,亮的灯数由1个到2个到3个再到2个、1个、0个循环;如果开关断开的时间超过3秒,再扳合开关时,重复上述过程。
书上的答案为:

我想问一下,m0.0在SHL_W命令左移后为什么会为1?请知道的朋友告诉我一下
展开
 我来答
生活畅谈者
高能答主

2019-08-14 · 生活新鲜事,看我就知道
生活畅谈者
采纳数:418 获赞数:344759

向TA提问 私信TA
展开全部

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

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

扩展资料:

注意事项:

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

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

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

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

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

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

儒雅的红尘一笑
2018-03-13
知道答主
回答量:1
采纳率:0%
帮助的人:889
展开全部
因为西门子字的存储空间是高位低字节,低位高字节。在MW0中高位是MB0,低位是MB1。M1.7左移一位就是M0.0了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友61011e9
推荐于2017-10-18
知道答主
回答量:5
采纳率:0%
帮助的人:2万
展开全部
一次123-3210过后,再按灯就不亮了吧,无法一直123-3210的循环吧?有高手指点一下吗?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liaobo199330
推荐于2017-05-21 · TA获得超过114个赞
知道答主
回答量:97
采纳率:0%
帮助的人:36万
展开全部
字节移位指令一共有四个
循环右移、循环左移、右移、左移
循环移位指令(左、右)八个位是循环移动的
也就是说循环左移1位就是向左移动1位 最高位移到最低位处
循环右移1位相应的位向右移动1位最低位移到最高位
例如:11000010 》》》循环右移1位》》》01100001
11000010 》》》循环左移1位》》》10000101

右移1位:也就是说相应的位都右移1位 最低位消失 最高位补0
左移1位:也就是说相应的位都左移1位 最高位消失 最低位补0
例如:11000010》》》左移》》》》》10000100
11000010》》》右移》》》》》01100001
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式