Log 안나오는 부분 수정

실제 용접 전, Prefetch2가 null이라 로그 못찍고 죽는거 주석
This commit is contained in:
ACW 2026-03-01 11:46:08 +09:00
parent 6279c02cd6
commit 0300cb6ee0
4 changed files with 14 additions and 15 deletions

View File

@ -348,7 +348,7 @@ namespace AuroraLBAD.Service
}
string LotID_string = new string(LotID);
string CellID_string = new string(CellID);
Log.I($"StreamLight LBAD Report Data : LotID {LotID_string}");
Log.I($"StreamLight LBAD Report Data : LotID({LotID_string.Replace("\0", "").Trim()}) / LotID({CellID_string.Replace("\0", "").Trim()})");
Log.I($"StreamLight LBAD Report Data : HeadNum {replyParsed_LBAD.HeadNum}");
Log.I($"StreamLight LBAD Report Data : LaserPower_AVG {replyParsed_LBAD.AVG}");
if (replyParsed_LBAD.HeadNum > 0)

View File

@ -132,6 +132,7 @@ namespace ILSOS_CCW_H52A.Data
// GetReportCellResult_SeqResult 성공 시 호출.
public void CompleteReport()
{
_log.I($"Report >> CellId{ReportTarget.CellId}, JigNo{ReportTarget.JigNo}");
ReportTarget?.SetReportComplete(true);
ReportTarget = null;
_pendingSlot.Clear();

View File

@ -73,7 +73,7 @@ namespace ILSOS_CCW_H52A.Sequences.ProcessObjects
private void OnCellReceived(string lotId, string cellId)
{
ReceivedCellInfoQueue.Enqueue((lotId, cellId));
_log.I($"Cell Tracker CallBack Received >> LotId({lotId}) / CellId({cellId})");
_log.I($"Cell Tracker CallBack Received >> [LotId({lotId.Replace("\0", "").Trim()})] [CellId({cellId.Replace("\0", "").Trim()})]");
}
public IEnumerable<bool> CheckRotaryState()

View File

@ -450,7 +450,7 @@ namespace ILSOS_CCW_H52A.Sequences
_CellScheduler.SavePendingComplete();
if (_CellScheduler.HasPendingPrefetch)
Log.I("[PendingRestore] 미용접 셀 보존됨 — 재시작 후 JigNo 매칭 시 복원 예정");
Log.I("[PendingRestore] 미용접 셀 보존됨 >> 재시작 후 JigNo 매칭 시 복원 예정");
_CellScheduler.Reset();
// ─────────────────────────────────────────────────────────────────────────────
@ -733,13 +733,13 @@ namespace ILSOS_CCW_H52A.Sequences
Status.GetProcessingWeldingData().WorkCellId = cell.CellId;
}
Log.I($"상태 시프트(Rotate) >> 용접 전전셀({_CellScheduler.Prefetch2.CellId}) [CanExist({_CellScheduler.Prefetch2.IsCanExist})] [JigNo({_CellScheduler.Prefetch2.JigNo})] " +
$"[ListNo({_CellScheduler.Prefetch2.ListNo})] [WeldingCount({_CellScheduler.Prefetch2.WeldingCount})]" +
$"[StartAngle(Y)({_CellScheduler.Prefetch2.StartAngle})]");
//Log.I($"상태 시프트(Rotate) >> 용접 전전셀({_CellScheduler.Prefetch2.CellId}) [CanExist({_CellScheduler.Prefetch2.IsCanExist})] [JigNo({_CellScheduler.Prefetch2.JigNo})] " +
// $"[ListNo({_CellScheduler.Prefetch2.ListNo})] [WeldingCount({_CellScheduler.Prefetch2.WeldingCount})]" +
// $"[StartAngle(Y)({_CellScheduler.Prefetch2.StartAngle})]");
Log.I($"이번 용접대상 >> 용접 전셀({_CellScheduler.Prefetch1.CellId}) [CanExist({_CellScheduler.Prefetch1.IsCanExist})] [JigNo({_CellScheduler.Prefetch1.JigNo})] " +
$"[ListNo({_CellScheduler.Prefetch1.ListNo})] [WeldingCount({_CellScheduler.Prefetch1.WeldingCount})]" +
$"[StartAngle(Y)({_CellScheduler.Prefetch1.StartAngle})]");
//Log.I($"이번 용접대상 >> 용접 전셀({_CellScheduler.Prefetch1.CellId}) [CanExist({_CellScheduler.Prefetch1.IsCanExist})] [JigNo({_CellScheduler.Prefetch1.JigNo})] " +
// $"[ListNo({_CellScheduler.Prefetch1.ListNo})] [WeldingCount({_CellScheduler.Prefetch1.WeldingCount})]" +
// $"[StartAngle(Y)({_CellScheduler.Prefetch1.StartAngle})]");
if (canExist) {
#region 용접할 Objects 선택
@ -1072,7 +1072,8 @@ namespace ILSOS_CCW_H52A.Sequences
wd.RecipeNo, wd.LaserPowerCore, wd.MarkSpeed, wd.FocalLength,
wd.WeldingJigNo, wd.WeldingSpanTimeMilliseconds, wd.LaserPowerByLBAD,
wd.TodayProduct, wd.TotalProduct);
_CellTracker.SendEcsData(wd.CellId, strPath, strData);
_CellTracker.SendEcsData(wd.CellId, strPath, strData + "");
Log.I($"Report to CellTracker >> [LotID({wd.LotId.Replace("\0", "").Trim()})] [CellID({wd.CellId.Replace("\0", "").Trim()})]");
// 로컬 CSV 저장
string strItem = "//Date, Time, LotID, CellID, RecipeNo, LaserPower, MarkSpeed, FocalLength, HeadNo, WeldingTime, LaserPowerByLBAD, TodayCount, TotalCount";
@ -1284,11 +1285,8 @@ namespace ILSOS_CCW_H52A.Sequences
{
Status.EquipmentMode = eEquipmentMode.MANUAL;
if((_CellTracker._CellTracker as CellTrackerDaekhon) != null && _CellTracker._CellTracker is CellTrackerDaekhon tracker){
Log.I($"Stoped Seq >> CellTracker Recv Queue count ({tracker.CellInfoQueue.Count})");
foreach (var info in tracker.CellInfoQueue.Select((value, index) => (value, index))) {
Log.I($"[{info.index}]Queue >> CellId[{info.value.CellID}] / LotId[{info.value.LotID}]");
}
foreach (var info in ProcessManager.Instance.ReceivedCellInfoQueue.Select((value, index) => (value, index))) {
Log.I($"[{info.index}]Queue >> CellId({info.value.CellId.Replace("\0", "").Trim()}) LotId({info.value.LotId.Replace("\0", "").Trim()})");
}
// 정지 시점 파이프라인 상태 로그 (재시작 후 복원 여부 사전 확인용)