파일정리
This commit is contained in:
159
HMI/Project/StateMachine/Step/_SM_RUN_RESET.cs
Normal file
159
HMI/Project/StateMachine/Step/_SM_RUN_RESET.cs
Normal file
@@ -0,0 +1,159 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Project.StateMachine;
|
||||
using COMM;
|
||||
using AR;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
public partial class fMain
|
||||
{
|
||||
public Boolean _SM_RUN_RESET(bool isFirst, TimeSpan stepTime)
|
||||
{
|
||||
if (runStepisFirst)
|
||||
{
|
||||
PUB.Speak(Lang.장비상태초기화);
|
||||
|
||||
//충전기검색시퀀스 OFF
|
||||
//PUB.flag.set(EFlag.FLAG_GO_CHAGER_TEMP, false);
|
||||
}
|
||||
|
||||
var idx = 1;
|
||||
if (PUB.sm.RunStepSeq == idx++)
|
||||
{
|
||||
//충전중이라면 충전off코드를 넣는다
|
||||
PUB.AGV.AGVCharge(PUB.setting.ChargerID, false,PUB.setting.ChargetWaitSec);
|
||||
LastCommandTime = DateTime.Now;
|
||||
PUB.AddEEDB($"초기화");
|
||||
PUB.sm.UpdateRunStepSeq();
|
||||
return false;
|
||||
}
|
||||
else if (PUB.sm.RunStepSeq == idx++)
|
||||
{
|
||||
UpdateProgressStatus(stepTime.TotalSeconds, 5, "SYNC : 수동 모드 확인 중");
|
||||
if (VAR.BOOL[eVarBool.FLAG_AUTORUN] == false)
|
||||
PUB.sm.UpdateRunStepSeq();
|
||||
else
|
||||
{
|
||||
//일정시간동안 명령을 재전송한다
|
||||
var tsCmd = DateTime.Now - LastCommandTime;
|
||||
if (tsCmd.TotalMilliseconds >= 1999)
|
||||
{
|
||||
VAR.BOOL[eVarBool.FLAG_AUTORUN] = false;
|
||||
LastCommandTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
else if (PUB.sm.RunStepSeq == idx++)
|
||||
{
|
||||
//모션을 멈춥니다
|
||||
//PUB.PLC.Move(Device.PLC.Rundirection.Stop,"RESET");
|
||||
PUB.AGV.AGVMoveStop("_sm_run_reset");
|
||||
LastCommandTime = DateTime.Now;
|
||||
PUB.sm.UpdateRunStepSeq();
|
||||
return false;
|
||||
}
|
||||
else if (PUB.sm.RunStepSeq == idx++)
|
||||
{
|
||||
//모션이 멈출때까지 기다린다
|
||||
if (PUB.AGV.system1.agv_stop == false)
|
||||
{
|
||||
PUB.sm.UpdateRunStepSeq();
|
||||
}
|
||||
else
|
||||
{
|
||||
//모션이 멈추지 않는다면 멈춤코드를 계속 넣는다
|
||||
var tsCmd = DateTime.Now - LastCommandTime;
|
||||
if (tsCmd.TotalMilliseconds >= 1999)
|
||||
{
|
||||
//PUB.PLC.Move(Device.PLC.Rundirection.Stop,"RESET(Re)");
|
||||
PUB.AGV.AGVMoveStop("_sm_run_reset");
|
||||
LastCommandTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
else if (PUB.sm.RunStepSeq == idx++)
|
||||
{
|
||||
//대상위치 초기화
|
||||
PUB.Result.TargetPos = ePosition.NONE;
|
||||
PUB.Result.CurrentPos = ePosition.NONE;
|
||||
PUB.Result.CurrentPosCW = "0";
|
||||
PUB.sm.UpdateRunStepSeq();
|
||||
return false;
|
||||
}
|
||||
else if (PUB.sm.RunStepSeq == idx++)
|
||||
{
|
||||
//자동 스탑 플래그 해제
|
||||
//VAR.BOOL[eVarBool.FLAG_NEXTSTOP_ALIGN] = false;//"reset #6");
|
||||
VAR.BOOL[eVarBool.FLAG_NEXTSTOP_ALIGN] = false;
|
||||
|
||||
LastCommandTime = DateTime.Now;
|
||||
PUB.sm.UpdateRunStepSeq();
|
||||
return false;
|
||||
}
|
||||
else if (PUB.sm.RunStepSeq == idx++)
|
||||
{
|
||||
UpdateProgressStatus(stepTime.TotalSeconds, 5, "자동멈춤해제(ALIGN)");
|
||||
if (VAR.BOOL[eVarBool.FLAG_NEXTSTOP_ALIGN] == false)
|
||||
PUB.sm.UpdateRunStepSeq();
|
||||
else
|
||||
{
|
||||
//일정시간동안 명령을 재전송한다
|
||||
var tsCmd = DateTime.Now - LastCommandTime;
|
||||
if (tsCmd.TotalMilliseconds >= 1999)
|
||||
{
|
||||
VAR.BOOL[eVarBool.FLAG_NEXTSTOP_ALIGN] = false;// "reset #7");
|
||||
//VAR.BOOL[eVarBool.FLAG_NEXTSTOP_ALIGN] = false;//
|
||||
LastCommandTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
else if (PUB.sm.RunStepSeq == idx++)
|
||||
{
|
||||
//자동 스탑 플래그 해제
|
||||
//VAR.BOOL[eVarBool.FLAG_NEXTSTOP_MARK] = false;// "reset #8");
|
||||
|
||||
LastCommandTime = DateTime.Now;
|
||||
PUB.sm.UpdateRunStepSeq();
|
||||
return false;
|
||||
}
|
||||
else if (PUB.sm.RunStepSeq == idx++)
|
||||
{
|
||||
//설정모드가 되어있다면 해제 해준다
|
||||
VAR.BOOL[eVarBool.FLAG_SETUP] = false;
|
||||
VAR.BOOL[eVarBool.ITEMON] = false;
|
||||
VAR.BOOL[eVarBool.WAIT_COVER_DOWN] = false;
|
||||
VAR.BOOL[eVarBool.WAIT_COVER_UP] = false;
|
||||
|
||||
LastCommandTime = DateTime.Now;
|
||||
PUB.sm.UpdateRunStepSeq();
|
||||
return false;
|
||||
}
|
||||
else if (PUB.sm.RunStepSeq == idx++)
|
||||
{
|
||||
UpdateProgressStatus(stepTime.TotalSeconds, 5, "설정모드해제(MARK)");
|
||||
|
||||
if (VAR.BOOL[eVarBool.FLAG_SETUP] == false)
|
||||
PUB.sm.UpdateRunStepSeq();
|
||||
else
|
||||
{
|
||||
//일정시간동안 명령을 재전송한다
|
||||
var tsCmd = DateTime.Now - LastCommandTime;
|
||||
if (tsCmd.TotalMilliseconds >= 1999)
|
||||
{
|
||||
VAR.BOOL[eVarBool.FLAG_SETUP] = false;
|
||||
LastCommandTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user