| | |
| | | /// <summary> |
| | | /// åºåºçå± |
| | | /// </summary> |
| | | private static List<string> OutboundStationLayerNo = new List<string>() { "90100", "90200", "90300", "90400", "90500", "90600", "90700", "90800" }; |
| | | private static List<string> OutboundStationLayerNo = new List<string>() { "60100", "60200", "60300", "60400", "60500", "60600", "60700"}; |
| | | //å
¥åºæçç³è¯·ç«å° |
| | | private static string ReInboundRequestStationNo = "90101"; |
| | | //åºåºç«å°äº¤äº |
| | |
| | | try |
| | | { |
| | | //åºåºå®æ |
| | | OutboundCompleteAction(taskWCSinfoRepository, client); |
| | | //读åæåæºæ¯å¦æ£å¸¸ |
| | | //æ»ççº¿ç¶æ |
| | | string hoisterResult = client.ReadValue(CLineInfoDBName.R_Line_DeviceNormal.ToString(), hoisterResultNo).ToString(); |
| | | //æåæºç¶æ |
| | | string result = client.Read("DB506.36.0", "bool").ToString(); |
| | | if (!bool.Parse(hoisterResult) || !bool.Parse(result)) |
| | | return; |
| | | //å
¥åºç³è¯· |
| | | OutboundCompleteAction(taskWCSinfoRepository, client); //åè£
åºåºå£ä»»å¡å®æ |
| | | |
| | | |
| | | |
| | | //空æå
¥åºç³è¯· |
| | | InboundRequestAction(taskWCSinfoRepository, taskRGVinfoRepository, client); |
| | | |
| | | |
| | | //æµè¯é¶æ®µæ³¨éçå
容ï¼åç»éè¦ä½¿ç¨çï¼ |
| | | //å¢å è¡¥ä¸.å¢å 车åå¨ä¸æé®é¢.åå |
| | | int logicValue = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_Logic.ToString(), "OutboundArea").ToString()); |
| | | /*int logicValue = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_Logic.ToString(), "OutboundArea").ToString()); |
| | | if (logicValue == 4) |
| | | { |
| | | string rfidResult = client.ReadValue(CLineInfoDBName.W_Line_Barcode.ToString(), "OutboundArea").ToString(); |
| | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | flag = 0; |
| | | }*/ |
| | | |
| | | List<Dt_TaskWCSinfo> executingTask = taskWCSinfoRepository.Find(r => (r.wcstask_state == TaskState.TaskState_RGV_Received.ToString() |
| | | || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString()) |
| | | && (OutboundStationLayerNo.Contains(r.wcstask_startPoint) || OutboundStationLayerNo.Contains(r.wcstask_endPoint))); |
| | | if (executingTask.Count < 3) |
| | | |
| | | //æµè¯é¶æ®µæ³¨éçå
容*/ |
| | | |
| | | |
| | | |
| | | //æ¥è¯¢åºåºè³åè£
å°ç任塿å¤å°è¿è¡ä¸ |
| | | List<Dt_TaskWCSinfo> executingTask = taskWCSinfoRepository.Find(r => (r.wcstask_state != TaskState.TaskState_Assigned.ToString() |
| | | && (OutboundStationLayerNo.Contains(r.wcstask_startPoint) || OutboundStationLayerNo.Contains(r.wcstask_endPoint)))); |
| | | if (executingTask.Count < 4) |
| | | { |
| | | //ç´æ¥å°ä»»å¡æ·»å å°AGVä»»å¡ |
| | | Dt_TaskWCSinfo outboundTask = GetOutboundTask(taskWCSinfoRepository, client); |
| | | if (null != outboundTask) |
| | | { |
| | | //æ¥æ¾æ¯å¦æè¯¥æçæ¡ç ä»»å¡ï¼å¦ææ²¡æåè¿è¡æ·»å RGVä»»å¡ |
| | | Dt_TaskRGVinfo rgvInfo = taskRGVinfoRepository.FindFirst(r => r.rgvtask_barCode == outboundTask.wcstask_barcode |
| | | && r.rgvtask_wcsTaskNumber == outboundTask.wcstask_taskNumber); |
| | | |
| | | if (null == rgvInfo) |
| | | { |
| | | string rgvTaskType = RGVTaskType.RgvTaskType_Inbound.ToString(); |
| | |
| | | && (OutboundStationLayerNo.Contains(r.wcstask_startPoint) || OutboundStationLayerNo.Contains(r.wcstask_endPoint))); |
| | | if (null != hisTask) |
| | | { |
| | | //æåæºå± |
| | | string hoisterLayer = client.ReadValue(CLineInfoDBName.R_Line_Layer.ToString(), hoisterResultNo).ToString(); |
| | | string[] locationArray = null; |
| | | //空æçååº |
| | | if (hisTask.wcstask_type.Equals(TaskType.TaskType_Empty_Pallet_Inbound.ToString())) |
| | |
| | | return; |
| | | } |
| | | //è½´æ¿åºåº |
| | | else if (hisTask.wcstask_type.Equals(TaskType.TaskType_Box_Pallet_Outbound.ToString()) |
| | | || hisTask.wcstask_type.Equals(TaskType.TaskType_Empty_Pallet_Outbound.ToString())) |
| | | else if (hisTask.wcstask_type.Equals(TaskType.TaskType_Box_Pallet_Outbound.ToString()) || hisTask.wcstask_type.Equals(TaskType.TaskType_Empty_Pallet_Outbound.ToString())) |
| | | { |
| | | locationArray = hisTask.wcstask_startLocation.Split('-'); |
| | | //说ææåæºå°è¾¾äºç®æ å± |
| | | if (int.Parse(locationArray[0]).ToString() == hoisterLayer) |
| | | WriteRGVState(client, false);// åå
¥RGVå¼å§æ§è¡ |
| | | } |
| | | |
| | | |
| | | } |
| | | else |
| | | { |
| | |
| | | if (null != inboundTask) |
| | | ReInboundRequestStationAction(taskWCSinfoRepository, client, inboundTask); |
| | | else |
| | | OutboundRequestAction(taskWCSinfoRepository, client); |
| | | OutboundRequestAction(taskWCSinfoRepository, client); //æåæºåºåºçæµç¨ |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | |
| | | Dt_TaskWCSinfo wcsTask = item.OrderBy(r => r.wcstask_createTime).FirstOrDefault(); |
| | | if (null != wcsTask) |
| | | { |
| | | //夿åè£
å°æ¯å¦æè´§ |
| | | bool yzflag = bool.Parse(client.ReadValue(CLineInfoDBName.R_Line_LoadSleep.ToString(), wcsTask.wcstask_endPoint).ToString()); |
| | | bool yznoflag = bool.Parse(client.ReadValue(CLineInfoDBName.R_Line_NoLoadSleep.ToString(), wcsTask.wcstask_endPoint).ToString()); |
| | | if (!yzflag || yznoflag) |
| | | continue; |
| | | |
| | | //夿ç¼åæ¶æ¯å¦æè´§ |
| | | bool flag = bool.Parse(client.ReadValue(CLineInfoDBName.R_Line_LoadSleep.ToString(), wcsTask.wcstask_startPoint).ToString()); |
| | | bool noflag = bool.Parse(client.ReadValue(CLineInfoDBName.R_Line_NoLoadSleep.ToString(), wcsTask.wcstask_startPoint).ToString()); |
| | | if (!flag || noflag) |
| | | continue; |
| | | |
| | | |
| | | //åä¸å±ææ§è¡ä¸çä»»å¡ä¸æ·»å |
| | | Dt_TaskWCSinfo executingTask = taskWCSinfoRepository.FindFirst(r => (r.wcstask_startPoint == wcsTask.wcstask_startPoint || r.wcstask_endPoint == wcsTask.wcstask_endPoint) |
| | | && (r.wcstask_state == TaskState.TaskState_RGV_Received.ToString() || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString())); |
| | | if (null != executingTask) |
| | | continue; |
| | | |
| | | |
| | | List<Dt_TaskWCSinfo> listTarget = taskWCSinfoRepository.Find(r => r.wcstask_endPoint == wcsTask.wcstask_endPoint && |
| | | r.wcstask_state != TaskState.TaskState_Assigned.ToString()); |
| | | |