This commit is contained in:
backuppc
2026-01-27 14:01:30 +09:00
parent a04a0505d0
commit 9ee8295489
18 changed files with 644 additions and 1073 deletions

View File

@@ -115,10 +115,7 @@ namespace Project
var target = PUB._virtualAGV.TargetNode;
PUB.log.Add($"목적지({target.RfidId}) 도착완료 타입:{target.Type}, 출발지:{PUB._virtualAGV.StartNode.RfidId}");
PUB.XBE.StepLoader = Device.eDocStep.NotSet;
PUB.XBE.StepCleaner = Device.eDocStep.NotSet;
PUB.XBE.StepUnloader = Device.eDocStep.NotSet;
PUB.XBE.StepBuffer = Device.eDocStep.NotSet;
PUB.XBE.StepMC = Device.eDocStep.NotSet;
switch (target.StationType)
{
@@ -127,12 +124,12 @@ namespace Project
if (lastPath.NodeId.Equals(PUB._virtualAGV.CurrentNode.Id))
{
//버퍼진입전 노드에 도착완료했따
PUB.XBE.StepBuffer = Device.eDocStep.InReady;
PUB.XBE.StepMC = Device.eDocStep.ReadyForEnter;
}
else
{
//마지막위치가 아닌 다른 위치에 있으니 버퍼 작업을 할 수없다
PUB.XBE.StepBuffer = Device.eDocStep.NotSet;
PUB.XBE.StepMC = Device.eDocStep.NotSet;
PUB.log.AddE($"목적지가 버퍼이나 노드가 불일치 한다 오류사항");
PUB._mapCanvas.SetAlertMessage("목적지가 버퍼이나 노드 불일치 오류");
PUB.sm.SetNewRunStep(ERunStep.ERROR);
@@ -144,15 +141,15 @@ namespace Project
break;
case AGVNavigationCore.Models.StationType.Loader:
PUB.XBE.StepLoader = Device.eDocStep.InReady;
PUB.XBE.StepMC = Device.eDocStep.ReadyForEnter;
break;
case AGVNavigationCore.Models.StationType.Clearner:
PUB.XBE.StepCleaner = Device.eDocStep.InReady;
PUB.XBE.StepMC = Device.eDocStep.ReadyForEnter;
break;
case AGVNavigationCore.Models.StationType.UnLoader:
PUB.XBE.StepUnloader = Device.eDocStep.InReady;
PUB.XBE.StepMC = Device.eDocStep.ReadyForEnter;
break;
default:
@@ -230,69 +227,31 @@ namespace Project
}
}
break;
case ERunStep.LOADER_OUT: //로더아웃
if (_SM_RUN_LOADER_OUT(runStepisFirst, PUB.sm.GetRunSteptime))
{
PUB.Speak(Lang.);
//도킹완료상태를 업데이트한다.
PUB.XBE.StepLoader = Device.eDocStep.OutComplete;
//대기상태로 전환
PUB.sm.SetNewRunStep(ERunStep.READY);
return;
}
break;
case ERunStep.CLEANER_IN: //클리너도킹
case ERunStep.UNLOADER_IN: //언로더도킹
case ERunStep.LOADER_IN: //로더도킹
if (_SM_RUN_LOADER_IN(runStepisFirst, PUB.sm.GetRunSteptime))
{
PUB.Speak(Lang.);
//도킹완료상태를 업데이트한다.
PUB.XBE.StepLoader = Device.eDocStep.InComplete;
PUB.XBE.StepMC = Device.eDocStep.EnterComplete;
//대기상태로 전환
PUB.sm.SetNewRunStep(ERunStep.READY);
return;
}
break;
case ERunStep.UNLOADER_OUT: //언로더아웃
if (_SM_RUN_UNLOADER_OUT(runStepisFirst, PUB.sm.GetRunSteptime))
{
PUB.Speak(Lang.);
//도킹완료상태를 업데이트한다.
PUB.XBE.StepUnloader = Device.eDocStep.OutComplete;
//대기상태로 전환
PUB.sm.SetNewRunStep(ERunStep.READY);
return;
}
break;
case ERunStep.UNLOADER_IN: //언로더도킹
if (_SM_RUN_UNLOADER_IN(runStepisFirst, PUB.sm.GetRunSteptime))
{
PUB.Speak(Lang.);
//도킹완료상태를 업데이트한다.
PUB.XBE.StepUnloader = Device.eDocStep.InComplete;
//대기상태로 전환
PUB.sm.SetNewRunStep(ERunStep.READY);
return;
}
break;
case ERunStep.CLEANER_OUT: //클리너아웃
if (_SM_RUN_CLEANER_OUT(runStepisFirst, PUB.sm.GetRunSteptime))
case ERunStep.UNLOADER_OUT: //언로더아웃
case ERunStep.LOADER_OUT: //로더아웃
if (_SM_RUN_LOADER_OUT(runStepisFirst, PUB.sm.GetRunSteptime))
{
PUB.Speak(Lang.);
//도킹완료상태를 업데이트한다.
PUB.XBE.StepCleaner = Device.eDocStep.OutComplete;
PUB.XBE.StepMC = Device.eDocStep.ExitComplete;
//대기상태로 전환
PUB.sm.SetNewRunStep(ERunStep.READY);
@@ -300,33 +259,19 @@ namespace Project
}
break;
case ERunStep.CLEANER_IN: //클리너도킹
if (_SM_RUN_CLEANER_IN(runStepisFirst, PUB.sm.GetRunSteptime))
{
PUB.Speak(Lang.);
//도킹완료상태를 업데이트한다.
PUB.XBE.StepCleaner = Device.eDocStep.InComplete;
//클리너아웃으로 자동 진행하지 않음
PUB.sm.SetNewRunStep(ERunStep.READY);
return;
}
break;
case ERunStep.BUFFER_OUT: //버퍼아웃
if (_SM_RUN_BUFFER_OUT(runStepisFirst, PUB.sm.GetRunSteptime))
{
PUB.Speak(Lang.);
//도킹완료상태를 업데이트한다.
PUB.XBE.StepBuffer = Device.eDocStep.OutComplete;
PUB.XBE.StepMC = Device.eDocStep.ExitComplete;
//대기상태로 전환
PUB.sm.SetNewRunStep(ERunStep.READY);
return;
}
else PUB.XBE.StepBuffer = Device.eDocStep.OutIng;
else PUB.XBE.StepMC = Device.eDocStep.ExitIng;
break;
case ERunStep.BUFFER_IN: //버퍼도킹
@@ -335,13 +280,13 @@ namespace Project
PUB.Speak(Lang.);
//도킹완료상태를 업데이트한다.
PUB.XBE.StepBuffer = Device.eDocStep.InComplete;
PUB.XBE.StepMC = Device.eDocStep.EnterComplete;
//대기상태로 전환
PUB.sm.SetNewRunStep(ERunStep.READY);
return;
}
else PUB.XBE.StepBuffer = Device.eDocStep.InIng;
else PUB.XBE.StepMC = Device.eDocStep.EnterIng;
break;
}