| | |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | | { |
| | | // ä»ä¸ä¸æä¸è·å JobParams 并转æ¢ä¸º Roast ç±»å |
| | | //CommonElevator elevator = (CommonElevator)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | CommonRoast elevator = (CommonRoast)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | // åå§å AGV åé |
| | | AGV agv = null; |
| | | |
| | | if (elevator == null) |
| | | try |
| | | { |
| | | throw new Exception("æªæ¾å°æåæºè®¾å¤åæ°ã"); |
| | | // ä»ä¸ä¸æä¸è·å JobParams 并转æ¢ä¸º Roast ç±»å |
| | | //CommonElevator elevator = (CommonElevator)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | CommonRoast elevator = (CommonRoast)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | // åå§å AGV åé |
| | | AGV agv = null; |
| | | |
| | | if (elevator == null) |
| | | { |
| | | throw new Exception("æªæ¾å°æåæºè®¾å¤åæ°ã"); |
| | | } |
| | | |
| | | // è¿æ¥ AGV |
| | | // æ ¹æ®è®¾å¤åç§°å³å®æ¯æ£æè¿æ¯è´æ AGV |
| | | List<string> agvNames = new List<string>() { "æ£æAGV", "è´æAGV" }; //"æ£æAGV", |
| | | foreach (var agvName in agvNames) |
| | | { |
| | | // ä»åå¨ä¸æ¥æ¾æå®åç§°çè®¾å¤ |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == agvName); |
| | | if (device != null) |
| | | { |
| | | agv = (AGV)device; |
| | | } |
| | | else |
| | | { |
| | | ConsoleHelper.WriteErrorLine($"æªæ¾å°{agvName}设å¤åæ°ã"); |
| | | continue; |
| | | } |
| | | var elevatorNamesValues = GetDBElevatorNamesValues(agvName); |
| | | var agvNamesValues = GetDBAGVNamesValues(agvName); |
| | | DeviceInteraction(elevator, agv, elevatorNamesValues, agvNamesValues); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | throw; |
| | | } |
| | | |
| | | // è¿æ¥ AGV |
| | | // æ ¹æ®è®¾å¤åç§°å³å®æ¯æ£æè¿æ¯è´æ AGV |
| | | List<string> agvNames = new List<string>() { "è´æAGV" }; //"æ£æAGV", |
| | | foreach (var agvName in agvNames) |
| | | { |
| | | // ä»åå¨ä¸æ¥æ¾æå®åç§°çè®¾å¤ |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == agvName); |
| | | if (device != null) |
| | | { |
| | | agv = (AGV)device; |
| | | } |
| | | else |
| | | { |
| | | ConsoleHelper.WriteErrorLine($"æªæ¾å°{agvName}设å¤åæ°ã"); |
| | | continue; |
| | | } |
| | | var elevatorNamesValues = GetDBElevatorNamesValues(agvName); |
| | | var agvNamesValues = GetDBAGVNamesValues(agvName); |
| | | DeviceInteraction(elevator, agv, elevatorNamesValues, agvNamesValues); |
| | | } |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | |
| | | var agvSignal = agv.Communicator.Read(agvNames[1], 100); |
| | | |
| | | agv.Communicator.Write(agvNames[0], elevatorSignal); |
| | | elevator.Communicator.Write(agvNames[1], agvSignal); |
| | | elevator.Communicator.Write(elevatorNames[1], agvSignal); |
| | | |
| | | ConsoleHelper.WriteInfoLine($"æ£æAGV交äº: åå
¥çµæ¢¯ä¿¡å·[{elevatorSignal}]å°{agvNames[0]}ï¼" + |
| | | $"åå
¥AGVä¿¡å·[{agvSignal}]å°{agvNames[1]}"); |
| | |
| | | "DB1002.18600", |
| | | "DB1002.18500", |
| | | "DB1002.18700", |
| | | "DB1002.18000", |
| | | "DB1002.18800", |
| | | "DB1002.19000", |
| | | "DB1002.18200", |
| | | "DB1002.18000", |
| | | "DB1002.18900", |
| | | "DB1002.19100" |
| | | }; |