![]() |
發(fā)布時間: 2020-3-25 17:25
正文摘要:現(xiàn)在功能:每個程序給一個信號,相關(guān)程序就會執(zhí)行. 問題: 各部件都是獨立運行(例如,我后面的程序還沒執(zhí)行完,只要控制電機(jī)的點有信號,電機(jī)還是會轉(zhuǎn),各部件之間無關(guān)聯(lián)性) 希望達(dá)到效果: 電機(jī)給信號后,后面各 ... |
game灬boy 發(fā)表于 2020-3-26 13:59 謝謝你詳細(xì)回答 |
定義三個標(biāo)志位如int a,b,c;初值為1,0,0。當(dāng)a=1;時執(zhí)行第一步執(zhí)行完第一步后將a置0并且將b置1;當(dāng)b=1時執(zhí)行第二步執(zhí)行完第二步后將b置0并且將c置1;當(dāng)c=1時執(zhí)行第二步執(zhí)行完第二步后將c置0并且將a置1;這樣就會按照第一第二第三步執(zhí)行了 例如: int a=1; int b=0; int c=0; if(a==1&&START==0) { P0=0x00; a=0; b=1; } if(b==1&&START==0) { P0=0x01; b=0; c=1; } if(c==1&&START==0) { P0=0x02; c=0; a=1; } 這段代碼在給相同信號START=0時;會因為abc的值執(zhí)行不同程序 |
參與人數(shù) 1 | 黑幣 +50 | 收起 理由 |
---|---|---|
![]() | + 50 | 回帖助人的獎勵! |
再寫一個GL程序,管理你的N個功能程序。 1、程序以GL運行為主,即只在GL中循環(huán)運行。 2、每個GL循環(huán)里依序執(zhí)行(調(diào)取)你的N個功能程序。 3、每個功能程序只請允許運行0.1秒或更短(越短越好。這就考驗?zāi)愕倪壿嬆芰α耍烙嬆銦o法做到),如果某個功能某個動作執(zhí)行超過0.1秒,就拆開某個動作(如何拆是關(guān)鍵)。再下一輪繼續(xù)完成。 如此就OK了。0.1秒只是個象征性的界限,實際會更短。因為0.1秒對于單片機(jī)來說,可運行數(shù)萬條指令了。 |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎勵! |
這種不考慮成本的話還是PLC方便,國產(chǎn)PLC100多些 |
Powered by 單片機(jī)教程網(wǎng)