private void refreshAgv() { if (_map != null) { foreach (AgvMarker marker in agvLayer.Children) { AgvInfo agv = marker.AgvInfo; if (agv.Online) { UInt16 cardId = agv.PositionCardId; Point position; if (_map.getCardPosition(cardId, out position)) { marker.SetValue(Canvas.LeftProperty, position.X - marker.OffsetX); marker.SetValue(Canvas.TopProperty, position.Y - marker.OffsetY); marker.Visibility = Visibility.Visible; } } else { marker.Visibility = Visibility.Collapsed; } } } }
private void agvListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { AgvInfo agvinfo = agvListView.SelectedItem as AgvInfo; AgvInfoManager.instance.SetCurrent(agvinfo.Id); currentAgvChanged(); }
private AgvInfoManager() { _agvs = new ObservableCollection <AgvInfo>(); List <Agv> agvs = getAgvs(); foreach (Agv agv in agvs) { AgvInfo info = new AgvInfo(); info.Id = agv.Id; info.Online = false; _agvs.Add(info); } }
public void AddOrUpdate(ushort agvId, AgvInfo info) { if (vehicleInited == false) { return; } if (agvId >= vehicles.Length) { Logs.Error("程序预设的agv数量少了"); return; } if (info == null) { return; } vehicles[(int)agvId].agvInfo = info; }
public void AddOrUpdate(ushort agvId, AgvInfo info) { if (vehicleInited == false) { return; } //if (agvId >= vehicles.Length) //{ // Logs.Error("程序预设的agv数量少了"); // return; //} if (info == null) { return; } // vehicles[(int)agvId].agvInfo = info; // Console.WriteLine(info.CurLocation.AgvAngle.Angle); }
protected override void Run() { try { if (sqlConn != null && sqlConn.State == ConnectionState.Open) { //if (CmdTxtQueue.Instance.IsHasData()) //{ // string cmdStr = CmdTxtQueue.Instance.Dequeue(); // SqlHelper.ExecNonQuery(sqlConn, cmdStr); //} ConcurrentDictionary <ushort, AgvInfo> agvInfo = AgvServerManager.Instance.GetAgvInfo; foreach (var key in agvInfo.Keys) { int id = key; AgvInfo info = null; agvInfo.TryGetValue(key, out info); if (info != null) { string str = string.Format("update Vehicle set CurX={0} ,CurY={1}, DesX={2}, DesY={3} where Id={4}", info.CurLocation.CurNode.X, info.CurLocation.CurNode.Y, info.CurLocation.DesNode.X, info.CurLocation.DesNode.Y, id); SqlHelper.ExecNonQuery(sqlConn, str); } } } else { Console.WriteLine("数据库未连接"); } Thread.Sleep(ConstDefine.UPDATA_SQL_TIME); } catch (Exception ex) { Logs.Error("更新小车信息到数据库异常,退出UpdatasqlThread线程,异常:" + ex.ToString()); } }
public AgvInfoPacket(byte[] data) : base("AgvInfoPacket", data) { this.info = new AgvInfo(data, 7); this.CheckSum = data[NeedLen() - 1]; }