void recipeDeleted(Info.ProcessProgram recipe) { string dstrHostPpid = " "; string dstrEqpPpid = "0"; if (recipe.TYPE == Info.PPIDType.TYPE_1) { dstrEqpPpid = recipe.ID; } else if (recipe.TYPE == Info.PPIDType.TYPE_2) { dstrHostPpid = recipe.ID.PadRight(20, ' '); dstrEqpPpid = recipe.processCommands[0].CCODE[0].P_PARM; } string dstrType = ((int)recipe.TYPE).ToString(); this.eqpAct.funWordWrite("W26C0", dstrHostPpid, CommonAct.EnuEQP.PLCRWType.ASCII_Data); this.eqpAct.funWordWrite("W26CA", dstrEqpPpid, CommonAct.EnuEQP.PLCRWType.Int_Data); this.eqpAct.funWordWrite("W26CB", dstrType, CommonAct.EnuEQP.PLCRWType.Int_Data); int dintIndex = 0; if (recipe.TYPE != Info.PPIDType.TYPE_2) { foreach (Info.Parameter item in recipe.processCommands[0].CCODE) { this.eqpAct.funWordWrite(CommonAct.FunTypeConversion.funAddressAdd("W26CC", dintIndex++), CommonAct.FunStringH.funMakePLCData(item.P_PARM), CommonAct.EnuEQP.PLCRWType.Int_Data); } } this.eqpAct.funBitWrite("B1539", "1"); // 피피아이디 삭제 보고 }
public void subMapping(ProcessProgram type2) { if (type2.TYPE != PPIDType.TYPE_2) { return; } this.mappingPPID.Add(type2); }
void mainView_recipeStateChanged(Info.ProcessProgram recipe, Info.Action action) { System.Diagnostics.Debug.WriteLine(string.Format("체인지 이벤트 함수 : {0}", System.Threading.Thread.CurrentThread.GetHashCode())); System.Diagnostics.Debug.WriteLine(string.Format("체인지 이벤트 함수 : {0}", System.Threading.Thread.CurrentThread.Name)); System.Diagnostics.Debug.WriteLine(string.Format("mRecipeEventThread 상태 : {0}", this.mRecipeEventThread.ThreadState.ToString())); lock (this.mRecipeLock) { this.mRecipeQueue.Enqueue(new Info.RecipeEventArgs(recipe, action)); } }
public void subMappingDelete(ProcessProgram type2) { if (type2.TYPE != PPIDType.TYPE_2) { return; } foreach (ProcessProgram item in this.mappingPPID) { if (item.ID == type2.ID) { this.mappingPPID.Remove(type2); } } }
public RecipeEventArgs(ProcessProgram aProcessProgram, Action aAction) { this.pProcessProgram = aProcessProgram; this.pAction = aAction; }