nextstop 시그널을 bool변수에서 agv 으 ㅣspeed = 'L' 조건으로 변경

This commit is contained in:
ChiKyun Kim
2026-01-27 16:27:17 +09:00
parent b4d3cd8bb5
commit b0e75b351a
13 changed files with 76 additions and 41 deletions

View File

@@ -100,7 +100,7 @@ namespace AGVNavigationCore.Controls
}
//예측문자는 디버깅시에만 표시한다.
if (string.IsNullOrEmpty(PredictMessage) == false && System.Diagnostics.Debugger.IsAttached)
if (string.IsNullOrEmpty(PredictMessage) == false)
{
g.DrawString(this.PredictMessage, this.Font, Brushes.White, 10, 100);
}

View File

@@ -142,6 +142,7 @@ namespace AGVNavigationCore.Controls
_alertmesage = m;
showalert = !string.IsNullOrEmpty(m);
}
// 브러쉬 및 펜
private Brush _normalNodeBrush;

View File

@@ -347,12 +347,11 @@ namespace AGVNavigationCore.Models
var lastNode = _currentPath.DetailedPath.Last();
if (_currentPath.DetailedPath.Where(t => t.seq < lastNode.seq && t.IsPass == false).Any() == false)
{
// 마지막 노드에 도착했는지 확인 (현재 노드가 마지막 노드와 같은지)
if (_currentNode != null && _currentNode.Id == lastNode.NodeId)
// 마지막 노드에 도착했는지 확인 (현재 노드가 마지막 노드와 같은지) -
// 모터방향오 같아야한다. 간혹 방향전환 후 MARK STOP하는경우가있다. 260127
if (_currentNode != null && _currentNode.Id == lastNode.NodeId && lastNode.MotorDirection == CurrentDirection)
{
if (lastNode.IsPass) //이미완료되었다.
{
return new AGVCommand(
@@ -365,12 +364,20 @@ namespace AGVNavigationCore.Models
}
else
{
//도킹노드라면 markstop 을 나머지는 바로 스탑한다.
eAGVCommandReason reason = eAGVCommandReason.MarkStop;
if (_targetnode.StationType == StationType.Normal || _targetnode.StationType == StationType.Limit)
{
//일반노드는 마크스탑포인트가 없으니 바로 종료되도록 한다
reason = eAGVCommandReason.Complete;
}
//마지막노드는 일혔지만 완료되지 않았다. 마크스탑필요
return new AGVCommand(
MotorCommand.Stop,
MagnetPosition.S,
SpeedLevel.L,
eAGVCommandReason.MarkStop,
reason,
$"목적지 도착 전(MarkStop) - 최종:{CurrentNodeID2}"
);
}