| | |
| | | } |
| | | } |
| | | |
| | | |
| | | WriteLog.Write_Log("å åæºå½åç¶æ", "å åæºå½åç¶æä¿¡æ¯", $"å åæºè®¾å¤å°å:ãDB105.2.0ã,读åçæ°æ®ï¼ã{commonStackerCrane.StackerCraneAutoStatusDes}ã\n" + |
| | | $"å åæºå·¥ä½æ¨¡å¼å°å:ãDB105.3.0ã,读åçæ°æ®ï¼ã{commonStackerCrane.StackerCraneStatusDes}ã\n" + |
| | | $"å åæºä½ä¸ç¶æå°å:ãDB105.22.0ã,读åçæ°æ®ï¼ã{commonStackerCrane.StackerCraneWorkStatusDes}ã\n" + |
| | | $"å åæºå½å任塿§è¡ä¸å°å:ãDB105.18.0ã,读åçæ°æ®ï¼ã{commonStackerCrane.CurrentTaskNum}ã\n"); |
| | | if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal) |
| | | { |
| | | WriteLog.Write_Log("å åæºè·åä»»å¡ç¶æ", "å åæºè·åä»»å¡ç¶æä¿¡æ¯", $"å åæºè®¾å¤å°å:ãDB105.2.0ã,读åçæ°æ®ï¼ã{commonStackerCrane.StackerCraneAutoStatusDes}ã\n" + |
| | | $"å åæºå·¥ä½æ¨¡å¼å°å:ãDB105.3.0ã,读åçæ°æ®ï¼ã{commonStackerCrane.StackerCraneStatusDes}ã\n" + |
| | | $"å åæºä½ä¸ç¶æå°å:ãDB105.22.0ã,读åçæ°æ®ï¼ã{commonStackerCrane.StackerCraneWorkStatusDes}ã\n" + |
| | | $"å åæºå½åä»»å¡å°å:ãDB105.18.0ã,读åçæ°æ®ï¼ã{commonStackerCrane.CurrentTaskNum}ã\n"); |
| | | |
| | | if (commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby) |
| | | { |
| | | |
| | |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine(nameof(CommonStackerCraneJob) + ":" + ex.ToString()); |
| | | WriteLog.Write_Log("å åæºæ¥éä¿¡æ¯", "å åæºæ¥éä¿¡æ¯", $"å åæºæ¥éä¿¡æ¯ï¼ã{ex.ToString()}ã"); |
| | | |
| | | } |
| | | return Task.CompletedTask; |
| | | } |
| | |
| | | } |
| | | else if (taskItem.TaskType == (int)TaskTypeEnum.Inbound || taskItem.TaskType == (int)TaskTypeEnum.Inventorybound) |
| | | { |
| | | InTaskStationIsOccupied(taskItem.SourceAddress, taskItem.Roadway); |
| | | return taskItem; |
| | | } |
| | | } |
| | |
| | | |
| | | int StationNum = conveyorLine.Communicator.Read<ushort>(deviceProDTO.DeviceProAddress); |
| | | int HandShake = conveyorLine.Communicator.Read<ushort>(HandShakeprodto.DeviceProAddress); |
| | | WriteLog.Write_Log("åºåºåºå£ç¶æä¿¡æ¯", "åºåºåºå£ç¶æä¿¡æ¯", $"åºå£æ¯ã{NextAddress}ãï¼ç³è¯·ç¶æå°åï¼ã{HandShakeprodto.DeviceProAddress}ã,读åçæ°æ®ï¼ã{HandShake}ãï¼åºå£æ¯å¦æè´§ç¶æå°åï¼ã{deviceProDTO.DeviceProAddress}ãï¼è¯»åçæ°æ®ã{StationNum}ã"); |
| | | WriteLog.Write_Log("åºåºåºå£ç¶æä¿¡æ¯", "åºåºåºå£ç¶æä¿¡æ¯", $"åºå£æ¯ã{NextAddress}ãï¼ç³è¯·ç¶æå°åï¼ã{HandShakeprodto.DeviceProAddress}ã\n" + |
| | | $"读åçæ°æ®ï¼ã{HandShake}ãï¼åºå£æ¯å¦æè´§ç¶æå°åï¼ã{deviceProDTO.DeviceProAddress}ãï¼è¯»åçæ°æ®ã{StationNum}ã"); |
| | | if (StationNum == 0 && HandShake == 0 && Roadway == "C") |
| | | { |
| | | return true; |
| | |
| | | |
| | | int StationNum = conveyorLine.Communicator.Read<ushort>(deviceProDTO.DeviceProAddress); |
| | | int HandShake = conveyorLine.Communicator.Read<ushort>(HandShakeprodto.DeviceProAddress); |
| | | WriteLog.Write_Log("åºåºåºå£ç¶æä¿¡æ¯", "åºåºåºå£ç¶æä¿¡æ¯", $"åºå£æ¯ã{NextAddress}ãï¼ç³è¯·ç¶æå°åï¼ã{HandShakeprodto.DeviceProAddress}ã,读åçæ°æ®ï¼ã{HandShake}ãï¼åºå£æ¯å¦æè´§ç¶æå°åï¼ã{deviceProDTO.DeviceProAddress}ãï¼è¯»åçæ°æ®ã{StationNum}ã"); |
| | | WriteLog.Write_Log("åºåºåºå£ç¶æä¿¡æ¯", "åºåºåºå£ç¶æä¿¡æ¯", $"åºå£æ¯ã{NextAddress}ãï¼ç³è¯·ç¶æå°åï¼ã{HandShakeprodto.DeviceProAddress}ã,读åçæ°æ®ï¼ã{HandShake}ã\n" + |
| | | $"åºå£æ¯å¦æè´§ç¶æå°åï¼ã{deviceProDTO.DeviceProAddress}ãï¼è¯»åçæ°æ®ã{StationNum}ã"); |
| | | |
| | | if ((StationNum == 1 && HandShake == 0 && Roadway == "B") || (StationNum == 0 && HandShake == 0 && Roadway != "B")) |
| | | { |
| | |
| | | |
| | | return false; |
| | | } |
| | | /// <summary> |
| | | /// å
¥åºä»»å¡åºå£æè´§æ è´§ç¶æ |
| | | /// </summary> |
| | | private void InTaskStationIsOccupied(string SourceAddress, string Roadway) |
| | | { |
| | | try |
| | | { |
| | | if (Roadway == "C") |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "1004"); |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)device; |
| | | DeviceProDTO? deviceProDTO = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == SourceAddress && x.DeviceProParamName == "StationNum"); |
| | | DeviceProDTO? HandShakeprodto = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == SourceAddress && x.DeviceProParamName == "HandShake"); |
| | | |
| | | int StationNum = conveyorLine.Communicator.Read<ushort>(deviceProDTO.DeviceProAddress); |
| | | int HandShake = conveyorLine.Communicator.Read<ushort>(HandShakeprodto.DeviceProAddress); |
| | | WriteLog.Write_Log("å
¥åºåºå£ç¶æä¿¡æ¯", "å
¥åºåºå£ç¶æä¿¡æ¯", $"åºå£æ¯ã{SourceAddress}ãï¼ç³è¯·ç¶æå°åï¼ã{HandShakeprodto.DeviceProAddress}ã,读åçæ°æ®ï¼ã{HandShake}ã\n" + |
| | | $"åºå£æ¯å¦æè´§ç¶æå°åï¼ã{deviceProDTO.DeviceProAddress}ãï¼è¯»åçæ°æ®ã{StationNum}ã"); |
| | | } |
| | | else |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "1003"); |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)device; |
| | | DeviceProDTO? deviceProDTO = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == SourceAddress && x.DeviceProParamName == "StationNum"); |
| | | DeviceProDTO? HandShakeprodto = conveyorLine.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == SourceAddress && x.DeviceProParamName == "HandShake"); |
| | | |
| | | int StationNum = conveyorLine.Communicator.Read<ushort>(deviceProDTO.DeviceProAddress); |
| | | int HandShake = conveyorLine.Communicator.Read<ushort>(HandShakeprodto.DeviceProAddress); |
| | | WriteLog.Write_Log("å
¥åºåºå£ç¶æä¿¡æ¯", "å
¥åºåºå£ç¶æä¿¡æ¯", $"åºå£æ¯ã{SourceAddress}ãï¼ç³è¯·ç¶æå°åï¼ã{HandShakeprodto.DeviceProAddress}ã,读åçæ°æ®ï¼ã{HandShake}ã\n" + |
| | | $"åºå£æ¯å¦æè´§ç¶æå°åï¼ã{deviceProDTO.DeviceProAddress}ãï¼è¯»åçæ°æ®ã{StationNum}ã"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine("读åç«å°ä¿¡æ¯é误ï¼" + ex.Message); |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡å®ä½è½¬æ¢æå½ä»¤Model |