h30631
級別: 略有小成
![]() |
各位前輩好 小弟寫了一段程序如下 ![]() M8002 模擬會不會停,所以先給值 M100 準(zhǔn)備啟動一個動作,M500 開始執(zhí)行動作 M2000 需要動作的位置,M802 動作完觸發(fā) 最後是定義位置範(fàn)圍 現(xiàn)在是因?yàn)槊孔魍暌淮蝿幼鲿裋0+1,如果M為0就繼續(xù)+1 M為1時停止+1並執(zhí)行動作,旦是這樣感覺很沒效率 有沒有方法,直接判斷有哪些M是ON的,直接讓他丟M是ON的索引值 這樣忽略M=0 ,可以提升效率 懇請前輩們指點(diǎn) |
---|---|
|
天空流星
SZ-CL
級別: 網(wǎng)絡(luò)英雄
![]() |
還是沒明白你到想要實(shí)現(xiàn)的動作,到底光處理數(shù)據(jù),還是選取動作 看下SUM這個指令對你有沒有用,配合ENCO也行 你所說的效率,其實(shí)也就PLC250個掃描周期,就是用1S也就1秒吧, 要是真的有影響,是不是考慮運(yùn)算和執(zhí)行同時走,第一個位置出來后,運(yùn)算繼續(xù)運(yùn)行把下一個的位置算出來, 或是一次性把M的地址都運(yùn)算出來,就是每個M的偏移值都取出來,執(zhí)行時直接使用 樓主留言:真誠感謝! |
---|---|
|
天空流星
SZ-CL
級別: 網(wǎng)絡(luò)英雄
![]() |
圖片:
![]()
圖片:
![]()
M0 開始運(yùn)算 M1 開始執(zhí)行 D100 需要執(zhí)行的編號 加D2不等于0的條件 就是沒有需要執(zhí)行的 樓主留言:真誠感謝! [ 此帖被king125在2013-12-19 14:06重新編輯 ] |
---|---|
|
天空流星
SZ-CL
級別: 網(wǎng)絡(luò)英雄
![]() |
從M1999開始是防止有編號1的時候出錯,而且D2是需要執(zhí)行的計(jì)數(shù),數(shù)量是從1開始的,不能從0開始,所以向前移動了一位 需要執(zhí)行的編號放到D1000中,放下一個需要執(zhí)行的編號時先把D1000原來的數(shù)據(jù)移到D1001 ,字左移指令 D2就是第一個記錄的最大那個地址的編號,所以執(zhí)行一次就減1,來執(zhí)行下一個,減到0就是完成 樓主留言:熱心助人! |
---|---|
|