示例#1
0
文件: Simulator.cs 项目: k2un/k2un
        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");  // 피피아이디 삭제 보고
        }
示例#2
0
 public void subMapping(ProcessProgram type2)
 {
     if (type2.TYPE != PPIDType.TYPE_2)
     {
         return;
     }
     this.mappingPPID.Add(type2);
 }
示例#3
0
文件: Simulator.cs 项目: k2un/k2un
        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));
            }
        }
示例#4
0
 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);
         }
     }
 }
示例#5
0
 public RecipeEventArgs(ProcessProgram aProcessProgram, Action aAction)
 {
     this.pProcessProgram = aProcessProgram;
     this.pAction         = aAction;
 }