83 lines
2.6 KiB
C#
83 lines
2.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using AR;
|
|
namespace Project
|
|
{
|
|
public partial class FMain
|
|
{
|
|
|
|
void _BUTTON_START()
|
|
{
|
|
if (PUB.sm.Step == eSMStep.RUN)
|
|
{
|
|
//아무것도 하지 않는다
|
|
PUB.log.Add("동작중에는 START 버튼이 사용되지 않습니다");
|
|
}
|
|
else if (PUB.sm.Step == eSMStep.IDLE) //일반대기상태
|
|
{
|
|
if (DIO.isVacOKL() > 0)
|
|
{
|
|
DIO.SetBuzzer(true);
|
|
PUB.popup.setMessage("PICKER ITEM DETECT\nPICKER 에서 아이템이 감지되었습니다\n[작업취소] 를 눌러서 아이템을 DROP 한 후 제거해주세요.");
|
|
return;
|
|
}
|
|
else if (DIO.getCartSize(1) == eCartSize.None)
|
|
{
|
|
DIO.SetBuzzer(true);
|
|
PUB.popup.setMessage("로더에 카트가 장착되지 않았습니다");
|
|
return;
|
|
}
|
|
else if (DIO.GetIOInput(eDIName.PORTC_LIM_DN) == true && DIO.GetIOInput(eDIName.PORTC_DET_UP) == true)
|
|
{
|
|
//하단리밋과, 자재감지가 동시에 들어오면 overload 이다
|
|
DIO.SetBuzzer(true);
|
|
PUB.popup.setMessage("로더에 너무 많은 릴이 적재 되어 있습니다\n" +
|
|
"하단 리밋 센서와 상단 릴 감지 센서가 동시에 확인 됩니다");
|
|
return;
|
|
}
|
|
//else if (Util_DO.getCartSize(0) == eCartSize.None && Util_DO.getCartSize(2) == eCartSize.None)
|
|
//{
|
|
// Util_DO.SetBuzzer(true);
|
|
// Pub.popup.setMessage("언로더에 카트가 장착되지 않았습니다");
|
|
// return;
|
|
//}
|
|
|
|
Func_start_job_select();
|
|
|
|
|
|
}
|
|
else if (PUB.sm.Step == eSMStep.WAITSTART) //시작대기상태
|
|
{
|
|
|
|
DIO.SetRoomLight(true);
|
|
|
|
//새로시작하면 포트 얼라인을 해제 해준다
|
|
PUB.flag.set(eVarBool.FG_RDY_PORT_PL, false, "SW_START");
|
|
PUB.flag.set(eVarBool.FG_RDY_PORT_PC, false, "SW_START");
|
|
PUB.flag.set(eVarBool.FG_RDY_PORT_PR, false, "SW_START");
|
|
|
|
//얼라인 상태를 모두 초기화 한다
|
|
//loader1.arVar_Port.ToList().ForEach(t => t.AlignOK = 0);
|
|
|
|
//언로더 체크작업은 항상 다시 시작한다
|
|
if (PUB.Result.UnloaderSeq > 1) PUB.Result.UnloaderSeq = 1;
|
|
|
|
//팝업메세지가 사라지도록 한다
|
|
PUB.popup.needClose = true;
|
|
PUB.sm.SetNewStep(eSMStep.RUN);
|
|
PUB.log.Add("[사용자 일시정지] 해제 => 작업이 계속됩니다");
|
|
}
|
|
else
|
|
{
|
|
//string msg = "SYSTEM {0}\n[RESET] 버튼을 누른 후 다시 시도하세요";
|
|
//msg = string.Format(msg, PUB.sm.Step);
|
|
//PUB.popup.setMessage(msg);
|
|
PUB.log.AddE($"[RESET] 버튼을 누른 후 다시 시도하세요");
|
|
}
|
|
}
|
|
}
|
|
}
|