| | |
| | | public partial class OutboundAreaDispatch |
| | | { |
| | | |
| | | public static void OutboundCZ_PLC(IDt_TaskWCSinfoRepository taskWCSinfoRepository,IDt_TaskRGVinfoRepository taskRGVinfoRepository, PLCClient client) |
| | | public static void OutboundCZ_PLC(IDt_TaskWCSinfoRepository taskWCSinfoRepository, IDt_TaskRGVinfoRepository taskRGVinfoRepository, PLCClient client) |
| | | { |
| | | Dt_TaskWCSinfo hisTask = taskWCSinfoRepository.Find(r => r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_Empty_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString()) |
| | | .Where(r => OutboundStationLayerNo.Contains(r.wcstask_startPoint) && (r.wcstask_type.Equals(TaskType.TaskType_Box_Pallet_Outbound.ToString()) || r.wcstask_type.Equals(TaskType.TaskType_Empty_Pallet_Outbound.ToString()))).OrderBy(x => x.wcstask_dispatcherTime).FirstOrDefault(); |
| | |
| | | //æ¥è¯¢åºåºå¾
ä»»å¡ |
| | | Dt_TaskWCSinfo wcsInfo = null; |
| | | if (!string.IsNullOrEmpty(rfidResult) && !"0".Equals(rfidResult)) |
| | | wcsInfo = taskWCSinfoRepository.FindFirst(r => r.wcstask_barcode == rfidResult && (r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString() |
| | | wcsInfo = taskWCSinfoRepository.FindFirst(r => r.wcstask_barcode == rfidResult && (r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString() |
| | | || r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_Empty_Out_RGV_Finished.ToString())); |
| | | //wcsInfo = taskWCSinfoRepository.FindFirst(r => r.wcstask_barcode == rfidResult && r.wcstask_state == TaskState.TaskState_Assigned.ToString()); |
| | | else |
| | | { |
| | | wcsInfo = taskWCSinfoRepository.Find(r => (r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_Empty_Out_RGV_Finished.ToString() |
| | | || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString()) && OutboundStationLayerNo.Contains(r.wcstask_startPoint)).OrderBy(r => r.wcstask_createTime).FirstOrDefault(); |
| | | wcsInfo = taskWCSinfoRepository.Find(r => |
| | | (r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString() |
| | | || r.wcstask_state == TaskState.TaskState_Empty_Out_RGV_Finished.ToString() |
| | | || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString()) |
| | | && OutboundStationLayerNo.Contains(r.wcstask_startPoint)).OrderBy(r => r.wcstask_createTime).FirstOrDefault(); |
| | | } |
| | | if (null == wcsInfo) |
| | | return false; |
| | | |
| | | // è¿éå ä¸ä¸ªå¤æ90201 夿æçæ¯å¦ä¸º0ï¼å¤ææ¯å¦ç©ºè½½ |
| | | |
| | | int Barcode = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_Barcode.ToString(), 90201.ToString()).ToString()); |
| | | bool LoadSleep = bool.Parse(client.ReadValue(CLineInfoDBName.R_Line_LoadSleep.ToString(), 90201.ToString()).ToString()); |
| | | if (Barcode != 0 || LoadSleep) |
| | | { |
| | | return false; |
| | | } |
| | | // è¿éè¦å ä¸ä¸ªå¤æ æå
å»70101ç è¯å®è¦å
åºå»ï¼åªæè¿ä¸ªå
çæçä»»å¡åæ¢å±çå½±å |
| | | |
| | | //读åé»è¾æ§å¶å¼ æ¥ç线ä½ç¶æï¼åå¤ç»çº¿ä½ä¸åä»»å¡ä¿¡æ¯ |
| | | int logicValue = int.Parse(client.ReadValue(CLineInfoDBName.R_Line_Logic.ToString(), lineCode).ToString()); |
| | |
| | | else if (logicValue == 3) |
| | | { |
| | | //å¯å¨ä»»å¡ |
| | | bool plclogicbool=client.WriteValue(CLineInfoDBName.W_Line_Logic.ToString(), lineCode, 1); |
| | | if(plclogicbool) |
| | | { |
| | | bool plclogicbool = client.WriteValue(CLineInfoDBName.W_Line_Logic.ToString(), lineCode, 1); |
| | | if (plclogicbool) |
| | | { |
| | | string state = TaskState.TaskState_HoisterExecuting.ToString(); |
| | | if (wcsInfo.wcstask_state == state) |
| | | return true; |
| | |
| | | else if (logicValue == 4 || logicValue == 5) |
| | | { |
| | | string taskplc_Result = client.ReadValue(CLineInfoDBName.W_Line_Barcode.ToString(), lineCode).ToString(); |
| | | if(taskplc_Result == wcsInfo.wcstask_barcode) |
| | | if (taskplc_Result == wcsInfo.wcstask_barcode) |
| | | { |
| | | string state = TaskState.TaskState_Box_Out_Line_Executing.ToString(); |
| | | if (wcsInfo.wcstask_type == TaskType.TaskType_Empty_Pallet_Outbound.ToString()) |
| | |
| | | state = TaskState.TaskState_Empty_Out_Line_Executing.ToString(); |
| | | } |
| | | |
| | | |
| | | |
| | | if (wcsInfoPLC.wcstask_state == state) |
| | | return true; |
| | | wcsInfoPLC.wcstask_state = state; |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | WriteLog.Info(lineCode).Write($"{ DateTime.Now }åºåºç«å°è°åº¦å¤±è´¥:{ex.Message}", lineCode); |
| | | WriteLog.Info(lineCode).Write($"{DateTime.Now}åºåºç«å°è°åº¦å¤±è´¥:{ex.Message}", lineCode); |
| | | } |
| | | return true; |
| | | } |