태그 자동 추가 하는 작업 중

This commit is contained in:
backuppc
2025-11-14 17:31:00 +09:00
parent 0c2f00e79e
commit 4a992ea9c1
4 changed files with 150 additions and 55 deletions

View File

@@ -188,14 +188,41 @@ namespace Project
var CurrentNode = PUB._mapNodes.FirstOrDefault(t => t.RfidId.Equals(PUB.Result.LastTAG, StringComparison.OrdinalIgnoreCase));
if (CurrentNode == null)
{
PUB.log.AddE($"RFID:{PUB.Result.LastTAG} 의 노드를 찾을 수 없습니다");
return;
//없는 노드는 자동으로 추가한다
var newNodeId = $"AUTO_{PUB.Result.LastTAG}";
var newNode = new MapNode
{
NodeId = newNodeId,
RfidId = PUB.Result.LastTAG,
Name = $"자동추가_{PUB.Result.LastTAG}",
Type = NodeType.Normal,
Position = new Point(100, 100), // 기본 위치
IsActive = true,
DisplayColor = Color.Orange, // 자동 추가된 노드는 오렌지색으로 표시
CreatedDate = DateTime.Now,
ModifiedDate = DateTime.Now
};
// 맵 노드 리스트에 추가
PUB._mapNodes.Add(newNode);
// 캔버스에 노드 반영 (재설정)
PUB._mapCanvas.Nodes = PUB._mapNodes;
// 로그 기록
PUB.log.AddI($"RFID:{PUB.Result.LastTAG} 노드를 자동 추가했습니다 (NodeId: {newNodeId})");
// CurrentNode에 새로 생성한 노드 할당
CurrentNode = newNode;
}
//모터방향 확인해서 UI와 AGV클래스에 적용한다
var MotDireciton = PUB.AGV.data.Direction == 'B' ? AGVNavigationCore.Models.AgvDirection.Backward : AGVNavigationCore.Models.AgvDirection.Forward;
PUB._virtualAGV.SetPosition(CurrentNode, MotDireciton);
PUB._mapCanvas.SetAGVPosition(PUB.setting.MCID, CurrentNode, MotDireciton);
//태그를 읽었다면 상태를 바로 전송한다
PUB.XBE.SendStatus();
}
break;
case arDev.Narumi.DataType.ACK: