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