private void AgvMissionSrv_AgvOutMissChangeEvent(AgvOutMisson mission, bool arg2) { if (arg2) { OutMissionItemAddEvent?.Invoke(OutMissions, new OutMissionItem { Id = mission.Id, ClientId = mission.ClientId, Type = mission.Type, Process = mission.Process, CarryProcess = mission.CarryProcess, CreateDateTime = mission.CreateDateTime, }); return; } var item = OutMissions.Where(x => x.Id == mission.Id && x.Process != AgvOutMissonProcessEnum.CLOSE).FirstOrDefault(); if (item != null) { item.Process = mission.Process; item.CarryProcess = mission.CarryProcess; item.CreateDateTime = mission.CreateDateTime; } }
private async void SendOutMission(AgvOutMisson mission) { SendStationClientStateMessage( new StationClientState { State = StationClientStateEnum.INFO, Message = "出库请求:" + mission.Type.EnumToString(), CreateDateTime = DateTime.Now }); await signalrService.Send(AgvSendActionEnum.SendOutMission.EnumToString(), mission); }
private void OnAgvOutMissonEvent(AgvOutMisson mission) { //毛坯输入 if (mission.Id.Equals(Station_Id + "_RAWIN")) { if (mission.Process > AgvOutMissonProcessEnum.AGVPLACEDANDLEAVE && mission.Process != AgvOutMissonProcessEnum.CANCEL & mission.Process != AgvOutMissonProcessEnum.CANCELED) { bool raw_in = false; var ret_raw_in = StationDevice.GetRawInRequireState(ref raw_in); if (ret_raw_in == true && raw_in == true) { StationDevice.SetRawInFin(true); bool raw_in_confirm = true; while (raw_in_confirm) { ret_raw_in = StationDevice.GetRawInRequireState(ref raw_in_confirm); if (ret_raw_in == true && raw_in_confirm == false) { StationDevice.SetRawInFin(false); } } } } } //成品空箱输入 if (mission.Id.Equals(Station_Id + "_EMPTYIN")) { if (mission.Process == AgvOutMissonProcessEnum.FINISHED) { bool empty_in = false; var ret_empty_in = StationDevice.GetEmptyInState(ref empty_in); if (ret_empty_in == true && empty_in == true) { StationDevice.SetEmptyInFin(true); bool empty_in_confirm = true; while (empty_in_confirm) { ret_empty_in = StationDevice.GetEmptyInState(ref empty_in_confirm); if (ret_empty_in == true && empty_in_confirm == false) { StationDevice.SetEmptyInFin(false); } } } } } }
public AgvOutMisson SendMissonOutOrder(AgvOutMisson message) { var hubContext2 = GlobalHost.ConnectionManager.GetHubContext <NoticeHub>(); try { var client = new Client(StaticData.AppHostConfig.AgvServiceUrl); string id = $"{message.Id}_{ message.TimeId}"; StaticData.OrderName.Add(id); client.TransportOrders2(id, message.AgvMissonToTransportOrder()); hubContext2.Clients.All.queryOrder(id); return(message); } catch (Exception ex) { hubContext2.Clients.All.pushSystemMessage($"AGV调度服务连接失败,异常信息:{ex.Message}", new { state = false }); return(message); } }
public static TransportOrder AgvMissonToTransportOrder(this AgvOutMisson agvInMisson, string name = "") { return(GetOrder(agvInMisson.Id, name)); }
public void SendOutMission(AgvOutMisson message) { Clients.All.receiveOutMissionMessage(message); }