This commit is contained in:
ChiKyun Kim
2025-09-09 08:25:50 +09:00
parent 9a7d1d27c7
commit adb66451ca
79 changed files with 4195 additions and 2213 deletions

View File

@@ -12,7 +12,7 @@ namespace Project
void _BUTTON_RESET()
{
//RESET 버튼 눌렸을때 공통 처리 사항
//Common processing when RESET button is pressed
DIO.SetBuzzer(false); //buzzer off
if (PUB.popup.Visible)
@@ -25,11 +25,11 @@ namespace Project
PUB.flag.set(eVarBool.FG_KEYENCE_OFFF, false, "USER");
PUB.flag.set(eVarBool.FG_KEYENCE_OFFR, false, "USER");
//팝업메세지가 제거가능한 메세지라면 없앤다.
//Remove popup message if it's a removable message.
if (hmi1.HasPopupMenu && hmi1.PopupMenuRequireInput == false)
hmi1.DelMenu();
//알람클리어작업(모션에 오류가 있는 경우에만)
//Alarm clear work (only when motion has error)
if (PUB.mot.IsInit && PUB.mot.HasServoAlarm)
{
PUB.mot.SetAlarmClearOn();
@@ -37,48 +37,48 @@ namespace Project
PUB.mot.SetAlarmClearOff();
}
//자재가 없고, 센서도 반응안하는데. 진공이 되어잇으면 off한다
//If there's no material and sensor doesn't respond but vacuum is on, turn it off
if (DIO.isVacOKL() == 0 && PUB.flag.get(eVarBool.FG_PK_ITEMON) == false && DIO.GetIOOutput(eDOName.PICK_VAC1) == false)
DIO.SetPickerVac(false, true);
//중단, 오류 모드일때에는 이 리셋이 의미가 있다.
//This reset is meaningful in stop and error mode.
if (PUB.sm.Step == eSMStep.RUN)
{
PUB.log.Add("동작중에는 [RESET] 버튼이 동작하지 않습니다");
PUB.log.Add("[RESET] button does not work during operation");
}
else if (PUB.sm.Step == eSMStep.PAUSE)
{
//시작대기상태로 전환(대기상태일때 시작키를 누르면 실행 됨)
//Switch to start waiting state (execution starts when start key is pressed in waiting state)
PUB.sm.SetNewStep(eSMStep.WAITSTART);
PUB.log.AddAT("Reset Clear System Resume & Pause ON");
}
else if (PUB.sm.Step == eSMStep.EMERGENCY)
{
PUB.popup.setMessage("EMERGENCY RESET\n" +
"[비상정지] 상태에는 [시스템초기화] 를 실행 해야 합니다\n" +
"상단메뉴 [초기화] 를 실행하세요");
"[Emergency Stop] state requires [System Initialization]\n" +
"Execute [Initialize] from the top menu");
PUB.log.Add("RESET버튼으로 인해 EMG 상황에서 IDLE전환");
PUB.log.Add("RESET button caused transition from EMG situation to IDLE");
PUB.sm.SetNewStep(eSMStep.IDLE);
}
else if (PUB.sm.Step == eSMStep.ERROR)
{
PUB.log.Add("RESET버튼으로 인해 ERR 상황에서 IDLE전환");
PUB.log.Add("RESET button caused transition from ERR situation to IDLE");
PUB.sm.SetNewStep(eSMStep.IDLE);
}
else if (PUB.sm.Step == eSMStep.WAITSTART)
{
//시작대기중일때에도 아무 처리안함
//Pub.log.Add("시작버튼대기중에는 [RESET] 버튼이 동작하지 않습니다");
//No processing even when waiting for start
//Pub.log.Add("[RESET] button does not work while waiting for start button");
}
else if (PUB.sm.Step == eSMStep.IDLE)
{
//Pub.log.Add("대기중에는 [RESET] 버튼이 동작하지 않습니다");
//Pub.log.Add("[RESET] button does not work during standby");
}
else
{
//Pub.log.AddE("정의되지 않은 상태에서의 REST 키 버튼 입력 - 대기상태로 전환합니다");
//Pub.log.AddE("REST key button input from undefined state - switching to standby state");
PUB.sm.SetNewStep(eSMStep.IDLE);
}
}