diff --git a/HMI/Project/StateMachine/Step/_SM_RUN.cs b/HMI/Project/StateMachine/Step/_SM_RUN.cs
index bbe0eb9..3741a0d 100644
--- a/HMI/Project/StateMachine/Step/_SM_RUN.cs
+++ b/HMI/Project/StateMachine/Step/_SM_RUN.cs
@@ -296,6 +296,12 @@ namespace Project
}
else PUB.XBE.StepMC = Device.eDocStep.EnterIng;
break;
+ case ERunStep.REMOTECONTROL:
+ if(isFirst)
+ {
+ PUB.log.AddE("Remote Control mode");
+ }
+ break;
}
}
diff --git a/HMI/Project/StateMachine/Step/_SM_RUN_READY.cs b/HMI/Project/StateMachine/Step/_SM_RUN_READY.cs
index 7d64044..2b1b86d 100644
--- a/HMI/Project/StateMachine/Step/_SM_RUN_READY.cs
+++ b/HMI/Project/StateMachine/Step/_SM_RUN_READY.cs
@@ -59,16 +59,16 @@ namespace Project
}
//대기모드에서는 움직이지 않게 한다
- //if(PUB.AGV.system1.agv_run)
- //{
- // var ts = VAR.TIME.RUN(eVarTime.IdleStopTime);
- // if(ts.TotalSeconds > 1)
- // {
- // PUB.log.Add($"대기상태에서는 정차");
- // PUB.AGV.AGVMoveStop("대기상태에서는 정차");
- // VAR.TIME.Update(eVarTime.IdleStopTime);
- // }
- //}
+ if (PUB.AGV.system1.agv_run)
+ {
+ var ts = VAR.TIME.RUN(eVarTime.IdleStopTime);
+ if (ts.TotalSeconds > 1)
+ {
+ PUB.log.Add($"대기상태에서는 정차");
+ PUB.AGV.AGVMoveStop("대기상태에서는 정차");
+ VAR.TIME.Update(eVarTime.IdleStopTime);
+ }
+ }
return false;
diff --git a/HMI/Project/StateMachine/_Xbee.cs b/HMI/Project/StateMachine/_Xbee.cs
index 6f8618d..2e5b050 100644
--- a/HMI/Project/StateMachine/_Xbee.cs
+++ b/HMI/Project/StateMachine/_Xbee.cs
@@ -266,19 +266,23 @@ namespace Project
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);
break;
case ENIGProtocol.AGVCommandHE.Stop: //stop
@@ -292,6 +296,7 @@ namespace Project
case ENIGProtocol.AGVCommandHE.Manual: //Manual Move (Direction, speed, runtime)
Resultclear();
+ 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
@@ -313,6 +318,7 @@ namespace Project
case ENIGProtocol.AGVCommandHE.AutoMove:
Resultclear();
+ PUB.sm.SetNewRunStep(ERunStep.REMOTECONTROL);
var MotDirection = data[1]; //0=back, 1=forward
var MagDirection = data[2]; //0=straight, 1=left, 2=right
var AutSpeed = data[3]; //0=slow, 1=normal, 2=fast
diff --git a/HMI/StateMachine/EnumStruct.cs b/HMI/StateMachine/EnumStruct.cs
index c1d1668..403f597 100644
--- a/HMI/StateMachine/EnumStruct.cs
+++ b/HMI/StateMachine/EnumStruct.cs
@@ -51,6 +51,11 @@ namespace Project.StateMachine
READY = 0,
GOHOME,
+
+ ///
+ /// XBEE에서 원격으로 명령을 내리면 이 상태로 임시 전환된다. 260209
+ ///
+ REMOTECONTROL,
///
/// 충전을 해제 함