各位老師好,我剛學(xué)習(xí)plc,在看書的時候看見的這個程序,我把rol-b換成shl-b或把t37換成t33以后在在線試機的時候就不正常了,具體是:把rol-b換成shl-b:只能從q0.0到q0.7循環(huán)一次,把t37換成t33:就根本就不能循環(huán)點亮q0.0-q0.7, 請高手幫我解釋一下為什么會這樣!先謝謝了!
答: 1、rol-b 為循環(huán)左移指令,而shl-b 為左移指令。故原用rol-b(循環(huán)左移)指令編程編程,運行時當左移7此后,其 qb0=1000_0000,再循環(huán)左移 1 位,其qb0=0000_0001,即qb0最高位的“1”移到qb0的最低位,故程序會循環(huán)執(zhí)行的。而用shl-b (左移指令)代替rol-b(循環(huán)左移)指令,運行時,當左移7次后,其 qb0=1000_0000,再左移 1 位,其qb0=0000_0000,即最高位的“1”移出、使qb0=0,故程序只能執(zhí)行一次。
2、t33的分辨率為10ms, 而t37的分辨率為100ms, t37定時5實為500ms=0.5s,即左移間隔0.5s,人眼可以看到移動變化,而t33定時5實為50ms=0.05s,即左移間隔0.05s,移動間隔太短,人眼看不到移動變化。
t33設(shè)置5000,不是不行,而是定時時間太長(其定時為50秒):每左移一次qb0需等50秒后,qb0才可進行下一次左移,由于左移間隔時間太長,你沒有用幾分鐘的時間進行觀察它,是不會看到qb0左移的。正確的設(shè)置應(yīng)為:t33的pt應(yīng)設(shè)置50,其左移間隔才為0.5秒,即與用t37設(shè)置5時是一樣的。