using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using AR; using COMM; namespace Project { public partial class fMain { public Boolean _SM_RUN_POSCHK(bool isFirst, TimeSpan stepTime) { //현재위치가 설정되어있는지 확인한다, 현재위치값이 있는 경우 True 를 반환 if (PUB._virtualAGV.CurrentNode != null && PUB._virtualAGV.PrevNode != null) return true; //이동을 하지 않고있다면 전진을 진행한다 if (PUB.AGV.system1.agv_run == false) { var ts = VAR.TIME.RUN(eVarTime.LastRunCommandTime); if (ts.TotalSeconds > 5) { PUB.log.Add($"현재위치를 몰라 전진 이동 합니다"); var ret = PUB.AGV.AGVMoveSet(new arDev.Narumi.BunkiData { Bunki = arDev.Narumi.eBunki.Strate, Direction = arDev.Narumi.eMoveDir.Forward, PBSSensor = 2, Speed = arDev.Narumi.eMoveSpd.Low, }); if(ret == arDev.eNarumiCommandResult.Success) { PUB.AGV.AGVMoveRun(arDev.Narumi.eRunOpt.Forward); } VAR.TIME.Update(eVarTime.LastRunCommandTime); } } VAR.STR[eVarString.StatusMessage] = "현재 위치를 알 수 없습니다"; return false; } } }