using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using AR; using arDev; using COMM; namespace Project { public partial class fMain { //private void PLC_DioChanged(object sender, arDev.FakePLC.IOValueEventArgs e) //{ // if (e.Direction == arDev.Arduino.IODirection.Input) // { // var diName = (arDev.FakePLC.DIName)e.ArrIDX; // Console.WriteLine(string.Format("[DI:{1}]{0}=>{2}", diName, e.ArrIDX, e.NewValue)); // if (diName == arDev.FakePLC.DIName.PINI_BTN_1) //reset // { // if (e.NewValue == true) // { // PUB.log.Add($"버튼({diName}) 눌림(AGV_RESET)"); // PUB.AGV.AGVErrorReset(); // //241203 // if(PUB.AGV.system1.agv_run || PUB.AGV.system1.agv_run_manual) // { // PUB.AGV.AGVMoveStop("button1"); // } // //PUB.XBE.NewMsgEvent('0', '1'); // } // } // else if (diName == arDev.FakePLC.DIName.PINI_BTN_2) //auto -> QC //230424 // { // if (e.NewValue == true) // { // PUB.log.Add($"버튼({diName}) 눌림"); // if (VAR.BOOL[eVarBool.FLAG_AUTORUN] == true) // { // if (PUB.sm.RunStep == StateMachine.ERunStep.GOUP) // { // //zup을 자동으로 해준다 // if (VAR.BOOL[eVarBool.WAIT_COVER_UP]) // { // PUB.log.Add($"버튼({diName}) 눌림"); // PUB.AGV.LiftControl(arDev.Narumi.LiftCommand.UP); // PUB.Result.NextPos = ePosition.QC; // } // else PUB.Speak(Lang.커버업대기상태가아닙니다); // } // else if (PUB.sm.RunStep == StateMachine.ERunStep.GODOWN) // { // //이미 하차진행중에 누른 경우이다 // PUB.Result.NextPos = ePosition.QC; // PUB.Result.TargetPos = ePosition.QC; // } // else // { // PUB.log.Add(Lang.QC이동버튼은상하차에서만사용가능합니다); // PUB.Speak(Lang.하차상태에서만사용가능합니다); // } // } // else PUB.Speak(Lang.자동운전상태가아닙니다); // //if (VAR.BOOL[eVarBool.FLAG_AUTORUN]==false) // //{ // // PUB.sm.ClearRunStep(); // // PUB.sm.SetNewRunStep(StateMachine.ERunStep.READY); // // PUB.sm.SetNewStep(StateMachine.eSMStep.RUN); // // PUB.Speak("자동 상태로 전환 합니다"); // //} // //else // //{ // // PUB.Speak("현재 자동 상태 입니다"); // //} // } // } // else if (diName == arDev.FakePLC.DIName.PINI_BTN_3) //z-down -> QA //230424 // { // if (e.NewValue == true) // { // //Z-dn기능으로 업데이트 230119 // PUB.log.Add($"버튼({diName}) 눌림"); // if (VAR.BOOL[eVarBool.FLAG_AUTORUN] == true) // { // if (PUB.sm.RunStep == StateMachine.ERunStep.GOUP) // { // //zup.을 자동으로 해준다 // if (VAR.BOOL[eVarBool.WAIT_COVER_UP]) // { // PUB.log.Add($"버튼({diName}) 눌림"); // PUB.AGV.LiftControl(arDev.Narumi.LiftCommand.UP); // PUB.Result.NextPos = ePosition.QA; // } // else PUB.Speak(Lang.커버업대기상태가아닙니다); // } // else if (PUB.sm.RunStep == StateMachine.ERunStep.GODOWN) // { // //이미 하차진행중에 누른 경우이다 // PUB.Result.NextPos = ePosition.QA; // PUB.Result.TargetPos = ePosition.QA; // } // else // { // PUB.log.Add($"QA이동 버튼은 상/하차에서만 사용 가능합니다"); // PUB.Speak(Lang.하차상태에서만사용가능합니다); // } // } // else PUB.Speak(Lang.자동운전상태가아닙니다); // //PUB.PLC.ZMot(FakePLC.ZMotDirection.Down); // } // } // else if (diName == arDev.FakePLC.DIName.PINI_BTN_4) //z-up // { // if (e.NewValue == true) // { // //Z-up기능으로 업데이트 230119 // PUB.log.Add($"버튼({diName}) 눌림"); // PUB.AGV.LiftControl(arDev.Narumi.LiftCommand.UP); // } // } // else if (diName == arDev.FakePLC.DIName.PINI_EMG) // { // if (e.NewValue == true) // { // PUB.log.Add($"버튼({diName}) 눌림"); // PUB.Speak(Lang.비상정지); // } // //else Pub.Speak("비상 정지 해제"); // } // else if (diName == arDev.FakePLC.DIName.PINI_OVERLOADL) // { // if (e.NewValue == true) // { // PUB.log.Add($"버튼({diName}) 눌림"); // PUB.Speak(Lang.오버로드감지); // } // VAR.BOOL[eVarBool.OVERLOADL] = e.NewValue; // } // else if (diName == arDev.FakePLC.DIName.PINI_OVERLOADR) // { // if (e.NewValue == true) // { // PUB.log.Add($"버튼({diName}) 눌림"); // PUB.Speak(Lang.오버로드감지); // } // VAR.BOOL[eVarBool.OVERLOADR] = e.NewValue; // } // //else if (diName == FakePLC.DIName.PINI_LIMIT_LU) // //{ // // PUB.flag.set(EFlag.FLAG_LIMITHIGHL, e.NewValue); // //} // //else if (diName == FakePLC.DIName.PINI_LIMIT_RU) // //{ // // PUB.flag.set(EFlag.FLAG_LIMITHIGHR, e.NewValue); // //} // //else if (diName == FakePLC.DIName.PINI_LIMIT_LD) // //{ // // PUB.flag.set(EFlag.FLAG_LIMITLOWL, e.NewValue); // //} // //else if (diName == FakePLC.DIName.PINI_LIMIT_RD) // //{ // // PUB.flag.set(EFlag.FLAG_LIMITLOWR, e.NewValue); // //} // //else // //{ // // //처리하지 않음 // //} // //PUB.flag.set(EFlag.FLAG_LIMITHIGH, (PUB.flag.get(EFlag.FLAG_LIMITHIGHL) && PUB.flag.get(EFlag.FLAG_LIMITHIGHR))); // //PUB.flag.set(EFlag.FLAG_LIMITLOW, (PUB.flag.get(EFlag.FLAG_LIMITLOWL) && PUB.flag.get(EFlag.FLAG_LIMITLOWR))); // VAR.BOOL[eVarBool.FLAG_LIMITHIGH] = false;// PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LU) || PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RU); // VAR.BOOL[eVarBool.FLAG_LIMITLOW] = false;//PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LD) || PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RD); // VAR.BOOL[eVarBool.OVERLOAD] = (VAR.BOOL[eVarBool.OVERLOADL] || VAR.BOOL[eVarBool.OVERLOADR]); // } // else // { // //출력포트값 변경 // var doName = (arDev.FakePLC.DOName)e.ArrIDX; // PUB.logplc.Add($"출력({doName}) {(e.NewValue ? "O" : "X")}"); // } //} //string oldflagmessage = string.Empty; // 사용하지 않는 필드들 제거 // private string logmessage; // private string lastplclogmessage; // private string logerror; } }