속도레벨을 기본 m->l 로 변경, 턴이되어있다면 오류로 처리한다.
This commit is contained in:
@@ -178,6 +178,14 @@ namespace Project
|
||||
{
|
||||
Resultclear();
|
||||
PUB.log.AddI($"XBEE:충전명령수신");
|
||||
|
||||
// 버퍼 작업 중일 경우 충전 명령 거부
|
||||
if (PUB._virtualAGV.Turn != AGVTurn.None)
|
||||
{
|
||||
SetRunStepError(ENIGProtocol.AGVErrorCode.BUFFER_NOT_COMPLETE, $"[{logPrefix}-Charger] 버퍼 작업이 완료되지 않아 충전할 수 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
PUB.NextWorkCmd = ENIGProtocol.AGVCommandHE.Charger;
|
||||
PUB.sm.SetNewRunStep(ERunStep.GOCHARGE);
|
||||
}
|
||||
@@ -226,7 +234,7 @@ namespace Project
|
||||
//s/w턴이 걸려있다면 이동 불가로한다.(버퍼 작업중이다)
|
||||
if (PUB._virtualAGV.Turn != AGVTurn.None)
|
||||
{
|
||||
SetRunStepError(ENIGProtocol.AGVErrorCode.BUFFER_NOT_COMPLETE, $"[{logPrefix}-Goto] 버퍼작업이 완료되지 않았습니다");
|
||||
SetRunStepError(ENIGProtocol.AGVErrorCode.BUFFER_NOT_COMPLETE, $"[{logPrefix}-Goto] 버퍼 작업이 완료되지 않았습니다({PUB._virtualAGV.Turn})");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -265,25 +273,42 @@ namespace Project
|
||||
break;
|
||||
|
||||
case ENIGProtocol.AGVCommandHE.LTurn180:
|
||||
PUB.log.Add($"[{logPrefix}-LTurn180]");
|
||||
PUB.sm.SetNewRunStep(ERunStep.REMOTECONTROL);
|
||||
PUB.AGV.AGVMoveLeft180Turn();
|
||||
break;
|
||||
case ENIGProtocol.AGVCommandHE.RTurn180:
|
||||
PUB.log.Add($"[{logPrefix}-RTurn180]");
|
||||
PUB.sm.SetNewRunStep(ERunStep.REMOTECONTROL);
|
||||
PUB.AGV.AGVMoveRight180Turn();
|
||||
break;
|
||||
|
||||
case ENIGProtocol.AGVCommandHE.LTurn:
|
||||
PUB.log.Add($"[{logPrefix}-LTurn]");
|
||||
PUB.sm.SetNewRunStep(ERunStep.REMOTECONTROL);
|
||||
PUB.AGV.AGVMoveManual(arDev.Narumi.ManulOpt.LT, arDev.Narumi.Speed.Low, arDev.Narumi.Sensor.AllOn);
|
||||
break;
|
||||
case ENIGProtocol.AGVCommandHE.RTurn:
|
||||
PUB.log.Add($"[{logPrefix}-RTurn]");
|
||||
PUB.sm.SetNewRunStep(ERunStep.REMOTECONTROL);
|
||||
PUB.AGV.AGVMoveManual(arDev.Narumi.ManulOpt.RT, arDev.Narumi.Speed.Low, arDev.Narumi.Sensor.AllOn);
|
||||
{
|
||||
// 버퍼 작업 중일 경우 원격 턴 명령 거부
|
||||
if (PUB._virtualAGV.Turn != AGVTurn.None)
|
||||
{
|
||||
SetRunStepError(ENIGProtocol.AGVErrorCode.BUFFER_NOT_COMPLETE, $"[{logPrefix}-{cmd}] 버퍼 작업 중에는 턴 명령을 수행할 수 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (cmd == ENIGProtocol.AGVCommandHE.LTurn180)
|
||||
{
|
||||
PUB.log.Add($"[{logPrefix}-LTurn180]");
|
||||
PUB.sm.SetNewRunStep(ERunStep.REMOTECONTROL);
|
||||
PUB.AGV.AGVMoveLeft180Turn();
|
||||
}
|
||||
else if (cmd == ENIGProtocol.AGVCommandHE.RTurn180)
|
||||
{
|
||||
PUB.log.Add($"[{logPrefix}-RTurn180]");
|
||||
PUB.sm.SetNewRunStep(ERunStep.REMOTECONTROL);
|
||||
PUB.AGV.AGVMoveRight180Turn();
|
||||
}
|
||||
else if (cmd == ENIGProtocol.AGVCommandHE.LTurn)
|
||||
{
|
||||
PUB.log.Add($"[{logPrefix}-LTurn]");
|
||||
PUB.sm.SetNewRunStep(ERunStep.REMOTECONTROL);
|
||||
PUB.AGV.AGVMoveManual(arDev.Narumi.ManulOpt.LT, arDev.Narumi.Speed.Low, arDev.Narumi.Sensor.AllOn);
|
||||
}
|
||||
else if (cmd == ENIGProtocol.AGVCommandHE.RTurn)
|
||||
{
|
||||
PUB.log.Add($"[{logPrefix}-RTurn]");
|
||||
PUB.sm.SetNewRunStep(ERunStep.REMOTECONTROL);
|
||||
PUB.AGV.AGVMoveManual(arDev.Narumi.ManulOpt.RT, arDev.Narumi.Speed.Low, arDev.Narumi.Sensor.AllOn);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ENIGProtocol.AGVCommandHE.Stop: //stop
|
||||
PUB.log.Add($"[{logPrefix}-Stop]");
|
||||
@@ -296,6 +321,14 @@ namespace Project
|
||||
|
||||
case ENIGProtocol.AGVCommandHE.Manual: //Manual Move (Direction, speed, runtime)
|
||||
Resultclear();
|
||||
|
||||
// 버퍼 작업 중일 경우 수동 이동 거부
|
||||
if (PUB._virtualAGV.Turn != AGVTurn.None)
|
||||
{
|
||||
SetRunStepError(ENIGProtocol.AGVErrorCode.BUFFER_NOT_COMPLETE, $"[{logPrefix}-Manual] 버퍼 작업 중에는 수동 이동을 할 수 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
PUB.sm.SetNewRunStep(ERunStep.REMOTECONTROL);
|
||||
var Direction = data[1]; //0=back, 1=forward, 2=left, 3=right
|
||||
var Speed = data[2]; //0=slow, 1=normal, 2=fast
|
||||
@@ -318,6 +351,14 @@ namespace Project
|
||||
|
||||
case ENIGProtocol.AGVCommandHE.AutoMove:
|
||||
Resultclear();
|
||||
|
||||
// 버퍼 작업 중일 경우 자동 이동 거부
|
||||
if (PUB._virtualAGV.Turn != AGVTurn.None)
|
||||
{
|
||||
SetRunStepError(ENIGProtocol.AGVErrorCode.BUFFER_NOT_COMPLETE, $"[{logPrefix}-AutoMove] 버퍼 작업 중에는 이동할 수 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
PUB.sm.SetNewRunStep(ERunStep.REMOTECONTROL);
|
||||
var MotDirection = data[1]; //0=back, 1=forward
|
||||
var MagDirection = data[2]; //0=straight, 1=left, 2=right
|
||||
|
||||
@@ -323,11 +323,6 @@ namespace arDev
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#region [수신] TAG(태그정보) 분석
|
||||
|
||||
System.Text.Encoding encoding = System.Text.Encoding.Default;
|
||||
@@ -357,7 +352,6 @@ namespace arDev
|
||||
old_TagString = tagnostr;
|
||||
DataReceive?.Invoke(this, new DataEventArgs(DataType.TAG));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
WriteData(MakeCheckSum("ACKTAG"));
|
||||
|
||||
Reference in New Issue
Block a user