private byte[] ToBytes(agvTask task, agvStation_Info destination) { byte[] messageRAW = Encoding.ASCII.GetBytes(task.Id + destination.Name + destination.Face); byte[] message = new byte[4]; message[0] = messageRAW[0]; message[1] = messageRAW[1]; message[2] = messageRAW[2]; message[3] = messageRAW[3]; return(message); }
private string GetResult(agvStation_Info destination) { var isLocked = destination.Status.Equals("Locked", StringComparison.OrdinalIgnoreCase); var isBusy = destination.Status.Equals("Busy", StringComparison.OrdinalIgnoreCase); if (!isLocked && !isBusy) { return("Ready"); } return("In Queue"); }
public bool SendDequeueTaskCommand(agvTask task, agvStation_Info destination, int vcsPort = 26000) { try { byte[] message = ToBytes(task, destination); var messagetoSend = new Communication.Communication.IPandMessage(IP, message); Send(messagetoSend); return(true); } catch (Exception e) { e.WriteLog().SaveToDataBase(); } return(false); }
public agvTask CreateTask(agvModel_Info model, agvStation_Info currentStation, agvStation_Info destinationStation, string result) { var agvTask = new agvTask { ModelCode = model.Code, Current_Station = currentStation.Name, Dest_Station = destinationStation.Name, Result = result, StartTime = DateTime.Now }; dbContext.agvTask.Add(agvTask); if (SaveChanges() == 1) { dbContext.Entry(agvTask).Reload(); return(agvTask); } return(agvTask); }