請(qǐng)教PLC200編程思路
劉玉蓉
發(fā)布于2014-12-05 17:51
4
0
標(biāo)簽:
硬件:1*CPU224+2*EM222
實(shí)現(xiàn)功能:1~20個(gè)電磁閥,用戶可在UI界面設(shè)定第N1到第N2個(gè)電磁閥動(dòng)作,以及電磁閥動(dòng)作的時(shí)間T,且電磁閥動(dòng)作為輪流動(dòng)作。如假設(shè)用戶設(shè)定第N1=3至第N2=8號(hào)電磁閥動(dòng)作,動(dòng)作時(shí)間為T=1min,則上電后,第3號(hào)電磁閥開始動(dòng)作,動(dòng)作時(shí)間1min,依次動(dòng)作,至8號(hào)電磁閥動(dòng)作完成后,3號(hào)電磁閥工作,依次做下一周期循環(huán)。
其中:CPU224的輸出端是Q0.0~Q0.7、Q1.0~Q1.1(Q1.2~Q1.7為缺?。?,這樣我用循環(huán)左/右移指令時(shí),需要分區(qū)進(jìn)行循環(huán)掃描,且電磁閥動(dòng)作有BUG。
請(qǐng)教各位編程思路!
另附上有bug的編程(因水平有限,此程序中,沒有實(shí)現(xiàn)N1可修改,即默認(rèn)從一號(hào)電磁閥開始動(dòng)作),請(qǐng)指教!
問題補(bǔ)充:
您講的“解決你缺省值(Q1.2~Q1.7為缺?。┑膯栴}確實(shí)你可以先用中間變量地址(M),那樣就不需要考慮由于cpu輸出地址缺省值帶來的不便?!痹趺刺娲??還有,先不按用戶設(shè)置的循環(huán)時(shí)間移位是什么意思呢?
實(shí)在是水平太低,還請(qǐng)指教!
另,找答案是不是不支持回復(fù)功能???怎么回復(fù)呢?
圖片說明: 1,2 2,5 3,3 4,4 5,1
佳答案
用移位指令的方法在此是比較切合實(shí)際的,采用雙字移位指令解決。
解決你缺省值(Q1.2~Q1.7為缺?。┑膯栴}確實(shí)你可以先用中間變量地址(M),那樣就不需要考慮由于cpu輸出地址缺省值帶來的不便。
用戶需要從哪個(gè)閥(PLC輸出地址開始),可以在用戶設(shè)置N1數(shù)值后,可以先直接將前面的這些位復(fù)位,然后根據(jù)啟動(dòng)位命令移位(可以先不按用戶設(shè)置的循環(huán)時(shí)間移位,這樣就可以快速先移動(dòng)到準(zhǔn)備的地址上),當(dāng)用戶按啟動(dòng)后用用戶設(shè)置的N2時(shí)間移位。
看了你的程序,認(rèn)為你需要換一種方式思考這個(gè)問題,移位指令用雙字不要用字節(jié),其它的編程方式可以按你的方式也可以,關(guān)鍵是你需要換一種思路編程。希望這個(gè)思路能夠幫到你。