西门子s7-200左右移位问题

各位老师好,我刚学习plc,在看书的时候看见的这个程序,我把rol-b换成shl-b或把t37换成t33以后在在线试机的时候就不正常了,具体是:把rol-b换成shl-b:只能从q0.0到q0.7循环一次,把t37换成t33:就根本就不能循环点亮q0.0-q0.7, 请高手帮我解释一下为什么会这样!先谢谢了!
答: 1、rol-b 为循环左移指令,而shl-b 为左移指令。故原用rol-b(循环左移)指令编程编程,运行时当左移7此后,其 qb0=1000_0000,再循环左移 1 位,其qb0=0000_0001,即qb0最高位的“1”移到qb0的最低位,故程序会循环执行的。而用shl-b (左移指令)代替rol-b(循环左移)指令,运行时,当左移7次后,其 qb0=1000_0000,再左移 1 位,其qb0=0000_0000,即最高位的“1”移出、使qb0=0,故程序只能执行一次。
2、t33的分辨率为10ms, 而t37的分辨率为100ms, t37定时5实为500ms=0.5s,即左移间隔0.5s,人眼可以看到移动变化,而t33定时5实为50ms=0.05s,即左移间隔0.05s,移动间隔太短,人眼看不到移动变化。
t33设置5000,不是不行,而是定时时间太长(其定时为50秒):每左移一次qb0需等50秒后,qb0才可进行下一次左移,由于左移间隔时间太长,你没有用几分钟的时间进行观察它,是不会看到qb0左移的。正确的设置应为:t33的pt应设置50,其左移间隔才为0.5秒,即与用t37设置5时是一样的。