Merge branch 'ACW' into AddSlot

This commit is contained in:
최이근 2026-03-01 16:33:33 +09:00
commit b6c0b59a92
6 changed files with 42 additions and 25 deletions

View File

@ -146,5 +146,17 @@ namespace AuroraCellTracker
_CellTracker.SetIPConfig(); _CellTracker.SetIPConfig();
} }
public void getDummyData(out string lotId, out string cellId)
{
lotId = string.Empty;
cellId = string.Empty;
if (!IsActivated) {
return;
}
if (_CellTracker != null && _CellTracker is CellTrackerDaekhon core) {
core.CalcCellInfo("", out lotId, out cellId);
}
}
} }
} }

View File

@ -392,7 +392,7 @@ namespace AuroraCellTracker.DaekhonCoporation
/// Cell 추적 API에서 받은 문자열에서, Cell ID와 Lot ID를 Parsing 하는 함수 /// Cell 추적 API에서 받은 문자열에서, Cell ID와 Lot ID를 Parsing 하는 함수
/// </summary> /// </summary>
/// <param name="str">Cell 추적 API에서 받은 문자열. Callback 방식일 때와 Queue 방식일 때 각각 다르다</param> /// <param name="str">Cell 추적 API에서 받은 문자열. Callback 방식일 때와 Queue 방식일 때 각각 다르다</param>
private void CalcCellInfo(string str, out string lotId, out string cellId) public void CalcCellInfo(string str, out string lotId, out string cellId)
{ {
lotId = cellId = ""; lotId = cellId = "";

View File

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

View File

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

View File

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

View File

@ -734,6 +734,12 @@ namespace ILSOS_CCW_H52A.Sequences
_CellScheduler.Prefetch2.CellId = cell.CellId; _CellScheduler.Prefetch2.CellId = cell.CellId;
Status.GetProcessingWeldingData().WorkLotId = cell.LotId; Status.GetProcessingWeldingData().WorkLotId = cell.LotId;
Status.GetProcessingWeldingData().WorkCellId = cell.CellId; Status.GetProcessingWeldingData().WorkCellId = cell.CellId;
} else {
_CellTracker.getDummyData(out string lotId, out string cellId);
_CellScheduler.Prefetch2.LotId = lotId;
_CellScheduler.Prefetch2.CellId = cellId;
Status.GetProcessingWeldingData().WorkLotId = lotId;
Status.GetProcessingWeldingData().WorkCellId = cellId;
} }
if (_CellScheduler.Prefetch2 != null) if (_CellScheduler.Prefetch2 != null)
@ -1101,29 +1107,26 @@ namespace ILSOS_CCW_H52A.Sequences
return SequenceAction.Ok(); return SequenceAction.Ok();
} }
private SequenceActionResult SetReportCellResult_SeqParams(SequenceContext context, string id, SequenceActionResult param) //private SequenceActionResult SetReportCellResult_SeqParams(SequenceContext context, string id, SequenceActionResult param)
{ //{
Status.SetWorkingPosition(eWorkingPosition.REPORTING_RESULT); // Status.SetWorkingPosition(eWorkingPosition.REPORTING_RESULT);
SeqReportCellResult_InitParam seqParams = new SeqReportCellResult_InitParam() { // SeqReportCellResult_InitParam seqParams = new SeqReportCellResult_InitParam() {
EDC_Interface = new EDC(), // EDC_Interface = new EDC(),
}; // };
return SequenceAction.Ok(seqParams); // return SequenceAction.Ok(seqParams);
} //}
private SequenceActionResult GetReportCellResult_SeqResult(SequenceContext context, string id, SequenceActionResult param) //private SequenceActionResult GetReportCellResult_SeqResult(SequenceContext context, string id, SequenceActionResult param)
{ //{
var resultOutParam = param.Param as SeqReportCellResult_OutParam; // var resultOutParam = param.Param as SeqReportCellResult_OutParam;
if (resultOutParam.Success == false) { // if (resultOutParam.Success == false) {
return null; // return null;
} // }
// 보고 완료: ReportTarget.ReportComplete=true 설정 + pendingSlot 클리어 // return SequenceAction.Ok();
_CellScheduler.CompleteReport(); //}
return SequenceAction.Ok();
}
private static string CheckCycleStop(SequenceContext context, string id, ICollection<string> branches, SequenceActionResult param) private static string CheckCycleStop(SequenceContext context, string id, ICollection<string> branches, SequenceActionResult param)
{ {
@ -1297,7 +1300,7 @@ namespace ILSOS_CCW_H52A.Sequences
Status.EquipmentMode = eEquipmentMode.MANUAL; Status.EquipmentMode = eEquipmentMode.MANUAL;
foreach (var info in ProcessManager.Instance.ReceivedCellInfoQueue.Select((value, index) => (value, index))) { 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()})"); Log.I($"[{info.index}]Queue >> CellId({info.value.CellId}) LotId({info.value.LotId})");
} }
// 정지 시점 파이프라인 상태 로그 (재시작 후 복원 여부 사전 확인용) // 정지 시점 파이프라인 상태 로그 (재시작 후 복원 여부 사전 확인용)