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