西门子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?请知道的朋友告诉我一下 展开
用一个开关控制三个照明灯,要求开关闭合时灯亮,开关断开时灯灭。如果再3s内每闭合一次开关,亮的灯数由1个到2个到3个再到2个、1个、0个循环;如果开关断开的时间超过3秒,再扳合开关时,重复上述过程。
书上的答案为:
我想问一下,m0.0在SHL_W命令左移后为什么会为1?请知道的朋友告诉我一下 展开
4个回答
展开全部
移位指令可以可以将累加器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
参考资料来源:百度百科-西门子
展开全部
因为西门子字的存储空间是高位低字节,低位高字节。在MW0中高位是MB0,低位是MB1。M1.7左移一位就是M0.0了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一次123-3210过后,再按灯就不亮了吧,无法一直123-3210的循环吧?有高手指点一下吗?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字节移位指令一共有四个
循环右移、循环左移、右移、左移
循环移位指令(左、右)八个位是循环移动的
也就是说循环左移1位就是向左移动1位 最高位移到最低位处
循环右移1位相应的位向右移动1位最低位移到最高位
例如:11000010 》》》循环右移1位》》》01100001
11000010 》》》循环左移1位》》》10000101
右移1位:也就是说相应的位都右移1位 最低位消失 最高位补0
左移1位:也就是说相应的位都左移1位 最高位消失 最低位补0
例如:11000010》》》左移》》》》》10000100
11000010》》》右移》》》》》01100001
循环右移、循环左移、右移、左移
循环移位指令(左、右)八个位是循环移动的
也就是说循环左移1位就是向左移动1位 最高位移到最低位处
循环右移1位相应的位向右移动1位最低位移到最高位
例如:11000010 》》》循环右移1位》》》01100001
11000010 》》》循环左移1位》》》10000101
右移1位:也就是说相应的位都右移1位 最低位消失 最高位补0
左移1位:也就是说相应的位都左移1位 最高位消失 最低位补0
例如:11000010》》》左移》》》》》10000100
11000010》》》右移》》》》》01100001
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询