Ejemplo n.º 1
0
 private bool FinishPut()
 {
     try
     {
         if (CurrentTask != null)
         {
             if (CurrentTask.NextPositionID == CurrentTask.EndPositionID)
             {
                 WriteFinishPutState(CurrentTask.NextPositionName, "0");
             }
             else
             {
                 TaskDal taskDal = new TaskDal();
                 string nextPositionName = taskDal.GetTaskNextTwoPosition(CurrentTask.ID);
                 WriteFinishPutState(CurrentTask.NextPositionName, nextPositionName);
             }
             return true;
         }
         return false;
     }
     catch (Exception ex)
     {
         Logger.Error("SRM.FinishPut 出错,原因:" + ex.Message + "/n" + ex.StackTrace);
     }
     return false;
 }
Ejemplo n.º 2
0
        private bool CheckPath()
        {
            if (Name == "SRM01" && CurrentTask.NextPositionName == "1005")
            {
                TaskDal taskDal = new TaskDal();
                string nextTwoPositionName = taskDal.GetTaskNextTwoPosition(CurrentTask.ID);
                int[] data = new int[] { Convert.ToInt32(nextTwoPositionName), 1 };

                object obj1 = Ops.Read(SrmInfo.PlcServiceName, "O_S01_Path_Request");
                if (obj1 is Array)
                {
                    Array arrayObj1 = (Array)obj1;
                    if (arrayObj1.Length == 2
                           && data[0] == Convert.ToInt32(arrayObj1.GetValue(0))
                           && data[1] == Convert.ToInt32(arrayObj1.GetValue(1)))
                    {
                        object obj2 = Ops.Read(SrmInfo.PlcServiceName, "I_S01_Path_Allow");
                        if (obj2 is Array)
                        {
                            Array arrayObj2 = (Array)obj2;
                            if (arrayObj2.Length == 2
                               && data[0] == Convert.ToInt32(arrayObj2.GetValue(0))
                               && data[1] == Convert.ToInt32(arrayObj2.GetValue(1)))
                            {
                                return true;
                            }
                        }
                    }
                    else if (arrayObj1.Length == 2
                           && 0 == Convert.ToInt32(arrayObj1.GetValue(0))
                           && 0 == Convert.ToInt32(arrayObj1.GetValue(1)))
                    {
                        if (Ops.Write(SrmInfo.PlcServiceName, "O_S01_Path_Request", data))
                        {
                            Thread.Sleep(1000);
                            object obj3 = Ops.Read(SrmInfo.PlcServiceName, SrmInfo.GetAllowName);
                            if (obj3 is Array)
                            {
                                Array arrayObj3 = (Array)obj3;
                                if (arrayObj3.Length == 2
                                   && data[0] == Convert.ToInt32(arrayObj3.GetValue(0))
                                   && data[1] == Convert.ToInt32(arrayObj3.GetValue(1)))
                                {
                                    return true;
                                }
                            }
                        }
                    }
                }
                return false;
            }
            else if (Name == "SRM03" && CurrentTask.NextPositionName == "1002")
            {
                TaskDal taskDal = new TaskDal();
                string nextTwoPositionName = taskDal.GetTaskNextTwoPosition(CurrentTask.ID);
                int[] data = new int[] { Convert.ToInt32(nextTwoPositionName), 1 };

                object obj1 = Ops.Read(SrmInfo.PlcServiceName, "O_S03_Path_Request");
                if (obj1 is Array)
                {
                    Array arrayObj1 = (Array)obj1;
                    if (arrayObj1.Length == 2
                           && data[0] == Convert.ToInt32(arrayObj1.GetValue(0))
                           && data[1] == Convert.ToInt32(arrayObj1.GetValue(1)))
                    {
                        object obj2 = Ops.Read(SrmInfo.PlcServiceName, "I_S03_Path_Allow");
                        if (obj2 is Array)
                        {
                            Array arrayObj2 = (Array)obj2;
                            if (arrayObj2.Length == 2
                               && data[0] == Convert.ToInt32(arrayObj2.GetValue(0))
                               && data[1] == Convert.ToInt32(arrayObj2.GetValue(1)))
                            {
                                return true;
                            }
                        }
                    }
                    else if (arrayObj1.Length == 2
                           && 0 == Convert.ToInt32(arrayObj1.GetValue(0))
                           && 0 == Convert.ToInt32(arrayObj1.GetValue(1)))
                    {
                        if (Ops.Write(SrmInfo.PlcServiceName, "O_S03_Path_Request", data))
                        {
                            Thread.Sleep(1000);
                            object obj3 = Ops.Read(SrmInfo.PlcServiceName, SrmInfo.GetAllowName);
                            if (obj3 is Array)
                            {
                                Array arrayObj3 = (Array)obj3;
                                if (arrayObj3.Length == 2
                                   && data[0] == Convert.ToInt32(arrayObj3.GetValue(0))
                                   && data[1] == Convert.ToInt32(arrayObj3.GetValue(1)))
                                {
                                    return true;
                                }
                            }
                        }
                    }
                }
                return false;
            }
            else
            {
                return true;
            }
        }