buffer in 시퀀스 확인 완료

- 최초 위치확인이 좀 이상하다.
This commit is contained in:
backuppc
2026-01-29 17:15:08 +09:00
parent af0c32215b
commit 1dde80fa93
12 changed files with 2845 additions and 3450 deletions

View File

@@ -80,12 +80,12 @@ namespace Project
if (VAR.BOOL[eVarBool.AGV_ERROR] != (agv_err > 0))
{
VAR.BOOL[eVarBool.AGV_ERROR] = (agv_err > 0);
PUB.logagv.Add($"new AGV_ERROR ({PUB.AGV.error.Value})");
PUB.logagv.Add($"[_AGV] new AGV_ERROR ({PUB.AGV.error.Value})");
}
if (VAR.BOOL[eVarBool.EMERGENCY] != agv_emg)
{
VAR.BOOL[eVarBool.EMERGENCY] = agv_emg;
PUB.logagv.Add($"new EMERGENCY ({VAR.BOOL[eVarBool.EMERGENCY]})");
PUB.logagv.Add($"n[_AGV] ew EMERGENCY ({VAR.BOOL[eVarBool.EMERGENCY]})");
}
@@ -95,7 +95,7 @@ namespace Project
if (agv_chg)
{
VAR.TIME[eVarTime.ChargeStart] = DateTime.Now;
PUB.logagv.Add($"충전시작:{VAR.TIME[eVarTime.ChargeStart]}");
PUB.logagv.Add($"[_AGV] 충전시작:{VAR.TIME[eVarTime.ChargeStart]}");
}
_charging = agv_chg;
}
@@ -103,7 +103,7 @@ namespace Project
//배터리충전상태
if (VAR.BOOL[eVarBool.FLAG_CHARGEONA] != agv_chg)
{
PUB.log.Add($"충전상태전환 {agv_chg}");
PUB.log.Add($"[_AGV] 충전상태전환 {agv_chg}");
VAR.BOOL[eVarBool.FLAG_CHARGEONA] = agv_chg;
}
@@ -130,26 +130,24 @@ namespace Project
//마크센서 상태가 변경이 되었다면
if (VAR.BOOL[eVarBool.MARK_SENSOR] != PUB.AGV.signal1.mark_sensor)
{
PUB.logagv.Add($"MARK_SENSOR 변경({PUB.AGV.signal1.mark_sensor})");
PUB.logagv.Add($"[_AGV] MARK_SENSOR 변경({PUB.AGV.signal1.mark_sensor})");
VAR.BOOL[eVarBool.MARK_SENSOR] = PUB.AGV.signal1.mark_sensor;
//AGV가 멈췄고 마크센서가 ON되었다면 마지막 RFID 위치가 확정된경우이다
if (agv_stp && VAR.BOOL[eVarBool.MARK_SENSOR])
{
PUB.log.Add("마크스탑이 확인되어 최종위치를 PASS 처리 합니다");
var curnode = PUB._virtualAGV.SetCurrentNodeMarkStop();
if (curnode == true)
{
PUB.log.Add($"마크스탑으로 해당노드의 이동을 확정합니다");
PUB.log.Add($"[_AGV] 마크스탑이 확인되어 현재위치({PUB._virtualAGV.CurrentNode.ID2})를 PASS 처리 합니다");
}
else PUB.log.AddAT($"마크스탑이 확인되었으나 현재 노드가없어 PASS를 설정하지 못함");
}
}
if (VAR.BOOL[eVarBool.MARK_SENSOROFF] == VAR.BOOL[eVarBool.MARK_SENSOR])
{
VAR.BOOL[eVarBool.MARK_SENSOROFF] = !VAR.BOOL[eVarBool.MARK_SENSOR];
VAR.TIME[eVarTime.MarkSensorOff] = DateTime.Now;
PUB.log.Add($"MARK_SENSOROFF 변경({VAR.BOOL[eVarBool.MARK_SENSOROFF]})");
PUB.log.Add($"[_AGV] MARK_SENSOROFF 변경({VAR.BOOL[eVarBool.MARK_SENSOROFF]})");
}
}
@@ -159,11 +157,11 @@ namespace Project
//자동 실행 중이다.
PUB.Result.LastTAG = PUB.AGV.data.TagNo;//.ToString("0000");
PUB.log.Add($"AGV 태그수신 : {PUB.AGV.data.TagNo} LastTag:{PUB.Result.LastTAG}");
PUB.log.Add($"[_AGV] AGV 태그수신 : {PUB.AGV.data.TagNo} LastTag:{PUB.Result.LastTAG}");
//POT/NOT 보면 일단 바로 멈추게한다
if (PUB.Result.CurrentPos == ePosition.POT || PUB.Result.CurrentPos == ePosition.NOT)
{
var logEMsg = $"Stop by [POT/NOT]";
var logEMsg = $"[_AGV] Stop by [POT/NOT]";
PUB.AGV.AGVMoveStop(logEMsg);
PUB.log.AddE(logEMsg);
}
@@ -173,7 +171,7 @@ namespace Project
if (CurrentNode == null)
{
//없는 노드는 자동으로 추가한다
var newNodeId = $"AUTO_{PUB.Result.LastTAG}";
var newNodeId = $"[_AGV] AUTO_{PUB.Result.LastTAG}";
var newNode = new MapNode
{
Id = newNodeId,
@@ -188,7 +186,7 @@ namespace Project
PUB._mapCanvas.Nodes.Add(newNode);
// 로그 기록
PUB.log.AddI($"RFID:{PUB.Result.LastTAG} 노드를 자동 추가했습니다 (NodeId: {newNodeId})");
PUB.log.AddI($"[_AGV] RFID:{PUB.Result.LastTAG} 노드를 자동 추가했습니다 (NodeId: {newNodeId})");
// CurrentNode에 새로 생성한 노드 할당
CurrentNode = newNode;
@@ -208,10 +206,10 @@ namespace Project
}
break;
case arDev.Narumi.DataType.ACK:
PUB.logagv.Add($"AGV_[ACK]Receive : {PUB.AGV.ACKData}");
PUB.logagv.Add($"[_AGV] AGV_[ACK]Receive : {PUB.AGV.ACKData}");
break;
default:
PUB.logagv.Add($"AGV_DataReceive : {e.DataType}");
PUB.logagv.Add($"[_AGV] AGV_DataReceive : {e.DataType}");
break;
}
@@ -275,7 +273,7 @@ namespace Project
}
catch (Exception ex)
{
Console.WriteLine($"[AGV_DataReceive] {ex.Message}");
Console.WriteLine($"[_AGV] [AGV_DataReceive] {ex.Message}");
}
}
}