大家換個思路。不要糾結(jié)于工件本身整體的過程,把相鄰工位之間的區(qū)域看做一個buffer。buffer里面有n的數(shù)據(jù)段,這個n是在工作中會變動的,表示里面存了幾個東西。按照這種連續(xù)工位來看,n=1。那么當(dāng)上一工位完工后,就把狀態(tài)傳到buffer里面對應(yīng)的數(shù)據(jù)段中,這個對應(yīng)關(guān)系是根據(jù)里面存的數(shù)量n來的。同樣當(dāng)下一工位檢測到進(jìn)料了,從上一個buffer中取出最前面的一個數(shù)據(jù)段。同時使用大家都討論過的塊移動指令BMOV把buffer數(shù)據(jù)段整體移動一個段的位置。這樣就不需要關(guān)注整個線體是如何運(yùn)作的。每個工站只需要關(guān)注給我的料時什么狀態(tài),我出去時應(yīng)該改寫哪些狀態(tài)。采用這樣將工件看做對象的方式在不同的位置進(jìn)行傳遞并對部分屬性進(jìn)行操作會更簡單一些。