Weld

 avatar
unknown
pascal
2 years ago
2.7 kB
7
Indexable
            //Finish if Plasmo cases finished (1 - W1&W2, 2 - W1&Plasmo, 3 - Plasmo)
            #txPlasmoCase1Finish := (#txPlasmoLevel0 OR #txPlasmoLevel1) AND (("DB_FG11StW1".ProArresterWeld[#tiIStOffset, #tiMapWeld1stW1].S.xFinishedAll OR "DB_FG11StW1".ProArresterWeld[#tiIStOffset, #tiMapWeld1stW1].S.xOff)
                AND ("DB_FG12StW2".ProArresterWeld[#tiIxArrSt, #tiMapWeld1stW2].S.xFinishedAll OR "DB_FG12StW2".ProArresterWeld[#tiIxArrSt, #tiMapWeld1stW2].S.xOff));
            
            #txPlasmoCase2Finish := (#txPlasmoLevel2 AND (("DB_FG11StW1".ProArresterWeld[#tiIStOffset, #tiMapWeld1stW1].S.xFinishedAll OR "DB_FG11StW1".ProArresterWeld[#tiIStOffset, #tiMapWeld1stW1].S.xOff)
                AND ((NOT #txRework AND "DB_10CSPartProcData".stCss01.stProRew.arudtRCV[1].arStZSAWeld[#tiIxArrSt, #tcOne] = 'N')
                OR (#txRework AND ("DB_10CSPartProcData".stCss01.stProRew.arudtRCV[1].arStZSAWeld[#tiIxArrSt, #tcOne] = 'N' AND "DB_10CSPartProcData".stCss01.stRework.arudtRCV[1].arStZSAWeldST2692[#tiIxArrSt, #tcOne] = 'N')))));
            
            #txPlasmoCase3Finish := (#txPlasmoLevel3 AND ((NOT #txRework AND "DB_10CSPartProcData".stCss01.stProRew.arudtRCV[1].arStZSAWeld[#tiIxArrSt, #tcOne] = 'N')
                OR (#txRework AND ("DB_10CSPartProcData".stCss01.stProRew.arudtRCV[1].arStZSAWeld[#tiIxArrSt, #tcOne] = 'N' AND "DB_10CSPartProcData".stCss01.stRework.arudtRCV[1].arStZSAWeldST2692[#tiIxArrSt, #tcOne] = 'N'))));
            
            #txCollectFinish := #txPlasmoCase1Finish OR #txPlasmoCase2Finish OR #txPlasmoCase3Finish;
            
            //Workers OK if Worker1 OK and Worker 2 OK
            #txWorkersOK := ("DB_FG11StW1".ProArresterWeld[#tiIStOffset, #tiMapWeld1stW1].S.xIO OR "DB_FG11StW1".ProArresterWeld[#tiIStOffset, #tiMapWeld1stW1].S.xOff) AND
                ("DB_FG12StW2".ProArresterWeld[#tiIxArrSt, #tiMapWeld1stW2].S.xIO OR "DB_FG12StW2".ProArresterWeld[#tiIxArrSt, #tiMapWeld1stW2].S.xOff);
            
            //Plasmo OK from Cell System
            #txPlasmoOK := ((NOT #txRework AND "DB_10CSPartProcData".stCss01.stProRew.arudtRCV[1].arStZSAWeld[#tiIxArrSt, #tcOne] = 'I')
                OR (#txRework AND ("DB_10CSPartProcData".stCss01.stProRew.arudtRCV[1].arStZSAWeld[#tiIxArrSt, #tcOne] = 'I' OR "DB_10CSPartProcData".stCss01.stRework.arudtRCV[1].arStZSAWeldST2692[#tiIxArrSt, #tcOne] = 'I')));
            
            //Collective OK:
            #txCollectOK := (#txPlasmoLevel0 AND #txWorkersOK) OR (#txPlasmoLevel1 AND #txWorkersOK) OR (#txPlasmoLevel2 AND #txPlasmoOK AND #txWorkersOK) OR (#txPlasmoLevel3 AND #txPlasmoOK);
            
            //Collective Off
            #txCollectOff := FALSE;