8 Commits

Author SHA1 Message Date
d19560b504 CellTracker에서 이미 셀정보를 넣어준 케이스에서 정지하면..
대기 셀(prefetch2)를 기준으로 지그번호를 유추해서 재시작 시, 보존하도록 한다.
2026-03-10 18:38:19 +09:00
f15800250e feat: LBAD AVG 타이밍 보장을 위한 4단계 파이프라인 적용 LBAD MES Report가 용접 완료 후 ~100ms 뒤에 수신되어 기존 3단계(Prefetch2→Prefetch1→Complete) 보고 시점에 데이터가 없던 문제를 파이프라인 확장으로 해결. ReportSlot 단계 추가 — 지그 1회전(~320ms) 경과 후 보고하므로 LBAD 데이터 수신 보장. 비동기 대기 없이 메인 시퀀스 타이밍 유지.
변경 내용:
  - CellInfoScheduler: ReportSlot 추가, 4단계 Shift()                                                                                                                                                                                                                                pending 슬롯을 _pendingFromReportSlot / _pendingFromComplete로 분리                                                                                                                                                                                                              TrySetLbadAvg(cellId, avg) 추가 — Complete→ReportSlot 순 폴백 탐색                                                                                                                                                                                                             - JigInfo: LbadAvg 필드 추가 (Clear/CopyFrom 포함)                                                                                                                                                                                                                               - StreamLightLBAD: MesReportReceived 이벤트 추가, 수신 시 발화                                                                                                                                                                                                                   - ProcessManager: RegisterLbadStream() / OnLbadMesReportReceived() 추가                                                                                                                                                                                                            LBAD 콜백 처리를 시퀀스가 아닌 ProcessManager에서 담당                                                                                                                                                                                                                         - SeqAutoRunCCWH52A: RegisterLbadStream 호출,                                                                                                                                                                                                                                      ReportCellResult에서 report.LbadAvg 직접 사용
2026-03-10 15:07:00 +09:00
45c1de6cc8 셀 파이프라인 3단계 구조화 및 보고 데이터 소스 명확화
[CellInfoScheduler]                                                                                                                                                                                                                                                              - ReportTarget 제거 → Complete 슬롯 추가
  - Shift()가 Complete ← Prefetch1 ← Prefetch2 3단계 자동 전진                                                                                                                                                                                                                     - Prefetch1 volatile 처리로 EncoderMonitor 스레드 가시성 보장
  - HasReport에 IsCanExist·WeldComplete 조건 추가

  [SeqAutoRunCCWH52A]
  - ReportCellResult: LotId/CellId/JigNo/WeldingSpanTime을
    ActiveReportSlot에서 직접 읽도록 변경 (wd 경유 제거)
  - ReportCellResult: 레시피·레이저 파라미터를
    Prefetch2.InnerCellInfo에서 읽도록 변경
  - GetUploadWeldingList_SeqResult: 업로드 성공 후
    InnerCellInfo 및 Status 한 번에 갱신 (ReadyScannerList 중복 제거)
  - UpdateProductCount/UpdateProductInfoForView 메서드 인라인화
  - _TodayProduct/_TotalProduct 멤버변수 제거
  - CheckCurrentEncoderAngle → CheckInsideWeldPosition 리네임 및 정리
  - EncoderMonitor: JigNo > 0 방어 가드 추가
  - _RecipeNo를 InitSequenceVariable에서 한 번만 설정
2026-03-10 00:40:19 +09:00
cb935e251e 레이스컨디션 발생으로 수정함 2026-03-06 15:27:49 +09:00
ACW
2bda9c5f9c Dummy data 생성 및 Callback 데이터 받을 때, \0,\n,\r등.. 삭제 2026-03-01 16:31:46 +09:00
ACW
0300cb6ee0 Log 안나오는 부분 수정
실제 용접 전, Prefetch2가 null이라 로그 못찍고 죽는거 주석
2026-03-01 11:46:08 +09:00
6279c02cd6 [bugfix] 재시작할때 미보고 발생하는 케이스 수정
- pending(보류) data 추가
- Reset을 해야하는 이유는 최초 2번의 WeldingListUpload를 하기 위해 필요함
- Reset을 하니까 pending data 영역이 필요해짐

자동 시퀀스 간소화
- Sub Sequence를 자동 시퀀스 내에 함수 단위로 변경함
 .receive / report..
2026-03-01 10:24:29 +09:00
614b5f1a5b CellInfoScheduler 프로그램 최초 업로드 2026-02-28 16:52:42 +09:00