sxbug
級別: 略有小成
|
把4個工位的執(zhí)行程序,分別做成4個FB,想實現(xiàn)靈活的執(zhí)行次序修改,請指教。我的想法: 1 用D0 D1 D2 D3 D4存放FB塊的優(yōu)先級,數(shù)字小的先執(zhí)行,大的后執(zhí)行。排序后將D對應(yīng)的序號,放在一個數(shù)組中,如果D0=7 D1=6 D2=11 D3=9 D4=0,排序后的數(shù)組就是:4,1,0,3,2 2 有辦法能讓M4 啟動FB4 ,接著 M1 ,M0, M3 ,M2 都依次對應(yīng)啟動FB嗎?對ST和FB不熟,望指教 3 還請問一下,在FB中 TON 里面的Q 和 ET 都是什么? 謝謝 |
---|---|
|
不小心遇見你
自動項目、PLC、視覺、通訊等工控軟件開發(fā)QQ3515716
級別: 工控俠客
|
圖片:
圖片:
參照此圖代碼 定義結(jié)構(gòu)體 用ST語音試試 |
|
---|---|---|
|
sxbug
級別: 略有小成
|
感謝。我感受到了C的味道 我先考慮一下,但將編號與M?對應(yīng)起來 這個功能不知道 PLC有不? 謝謝 |
---|---|
|
gxtmdb82164
級別: 論壇先鋒
|
不懂搞那么麻煩干啥... 主調(diào)度程序直接按照固定的D0,D1,D2,D3的順序去執(zhí)行不行嗎?調(diào)度只管按順序執(zhí)行調(diào)用,至于調(diào)用的是哪個完全可以通過工序編號去指定 這里還進行一次排序還是啥的,看不懂有啥必要性. D0~D3里面填各工序的序號,另外開辟一個空間存儲當前的步號,每個任務(wù)結(jié)束以后都將步號+1,執(zhí)行下一個D里面存儲的工序編號,整個系統(tǒng)不就串聯(lián)起來了 |
---|---|
|
sxbug
級別: 略有小成
|
根據(jù)高人們的建議做了一個多工位的程序,step1 step2 step3 就是隨便做了3個工位的動作,all_run就是處理一下各工位的優(yōu)先級(包括對各工位的優(yōu)先級單元賦值、根據(jù)優(yōu)先級確定執(zhí)行那個工位),主程序就負責初始化,循環(huán)執(zhí)行工位,在主程序POU_01中采用while的方式循環(huán)執(zhí)行,在循環(huán)體內(nèi)根據(jù)每個工位執(zhí)行完后觸發(fā)的ENO信號,啟動下一個工位的動作。現(xiàn)在的問題是:程序無法仿真,有錯誤。請高人指點。謝謝 |
---|---|
|
dgamen
歲月不饒人
級別: 略有小成
|
step2功能塊里面源代碼程序運算出錯。例如:執(zhí)行了被除數(shù)為0的運算 |
---|---|
|
木林森
級別: 工控俠客
|
用數(shù)組綁定功能塊的使能,用冒泡算法排序,再之后就按數(shù)組順序使能功能塊 |
---|---|
|
sxbug
級別: 略有小成
|
圖片:
@dgamen,step2就是幾個延時,我怕延時有問題,我都改成非零的數(shù)了,還是有問題 |
---|---|
|