木系掌門
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 39 個
工控威望: 176 點
下載積分: 106 分
在線時間: 30(小時)
注冊時間: 2024-04-03
最后登錄: 2024-10-17
查看木系掌門的 主題 / 回貼
樓主  發(fā)表于: 2024-05-10 09:36
現(xiàn)在取料倉有4個,觸摸屏可以設(shè)定料倉數(shù)量,最大可設(shè)4,因為只有4個料倉,步進電機控制位移
當(dāng)設(shè)定1個料倉,設(shè)定1倉數(shù)量:直接在1倉位置取料,當(dāng)?shù)竭_取料數(shù)量或取料探針感應(yīng)料倉無料,機器停止
當(dāng)設(shè)定2個料倉,各設(shè)數(shù)量:先取1倉,1倉取到設(shè)定數(shù)量或感應(yīng)探針感應(yīng)無料,切換2倉取料,2倉取到設(shè)定數(shù)量或探針感應(yīng)無料,機器停止
3倉4倉以此類推
要怎么寫比較簡潔,或者有什么指令可以簡結(jié),現(xiàn)在自己寫的自己都感覺又臭又長
gxtmdb82164
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 770 個
工控威望: 1148 點
下載積分: 399 分
在線時間: 604(小時)
注冊時間: 2019-09-22
最后登錄: 2024-12-20
查看gxtmdb82164的 主題 / 回貼
1樓  發(fā)表于: 2024-05-10 11:23
老生常談了,模塊化,分層,分層分完了自然知道怎寫~

這個需求里面料倉的狀態(tài)管理并不復(fù)雜,自己設(shè)計一個數(shù)據(jù)結(jié)構(gòu)(給人看的,比如Dn.0代表使能,Dn.1代表取料結(jié)束;Dn+1用于設(shè)置當(dāng)前倉位數(shù)量,Dn+2用于存儲當(dāng)前取料的數(shù)量,DDn+4用于存儲步進的位移量(XY桁架結(jié)構(gòu)就繼續(xù)往后加)),然后無論你有4個料倉還是400個料倉,在內(nèi)存里面把數(shù)據(jù)結(jié)構(gòu)鋪開,寫一個調(diào)度程序帶上偏移量就可以訪問所有的料倉數(shù)據(jù)結(jié)構(gòu),執(zhí)行過程種調(diào)用各種步進驅(qū)動等輸出也應(yīng)該是通過接口,去調(diào)用封裝好的驅(qū)動模塊。

寫完以后獨立成料倉控制模塊,抽象出最少的接口,比如說料倉啟動,料倉完成,料倉報錯,主程序里面調(diào)用這幾個接口就行了