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; }
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; } }