- Laser On Display 타이밍을 맞추기 위해 PC_WELD_BUSY bit
기록 위치 변경 (SeqAutoRunPTOP)
- 레시피 Scanner Cam 팝업(WDScannerCamMotion)을 직접 실행
모드(publishMode:false)로 변경하고, 창 표시 시 모니터
타이머/Limit 초기화를 호출해 모션 미동작·좌표 0 고정 해소
- 작업일지 2026-06-26 추가, Laser Interface 문서 갱신
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Use Interlock ON 시 ① 안전구역 게이트(기존) 유지 + ② 레시피별 방향 차단(신규). Recipe 폴더의 Recipe_Laser_Interlock.json(Front/Down 0/1)에 저장하고, 경로는 FieldHelper.json과 동일 소스(DB.Dao.SystemRecipe.WorkRecipeFile) 사용. Auto/Manual 양쪽 적용(Manual은 ①+② 신규), VM 체크박스는 레시피 전환 시 Background 우선순위 재로드로 stale 방지.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
각도에 따라 발진 위치가 달라져, Front/Down angle 평균을 임계값으로
Front/Down offset을 자동 선택해 적용(자동·수동 발진 공통).
- LaserInterlock: Horizontal/Vertical → Front/Down angle 로 변경
- SystemParameter: CellCenterOffset X/Y → Front/Down offset X/Y (4개)
- LaserAngleOffsetSelector 헬퍼 신규 + 선택값 LOG
- PLC 미연결 시 Front offset fallback
주의: 설정 프로퍼티명 변경으로 기존 저장값 자동 이관 안 됨(재입력 필요)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Auto(SeqAutoRunPTOP)가 CellMeasureCenterOffset을 0으로 넘겨
매뉴얼(SeqComponentTeachingRun)과 발진 위치가 어긋남.
매뉴얼과 동일 수식(CellPosMeasureCenterOffset + CellCenterOffset)
으로 변경하여 자동/매뉴얼 발진 위치 정합.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Auto(SeqAutoRunPTOP.ExecuteWelding)가 발진 직전 보정테이블을 선택하지
않아 직전 상태로 발진 → 매뉴얼과 위치 어긋남. ExecuteList 직전
SelectCorrectionTable(1) 명시 추가(장비측 보정도 테이블 1 기준 정합).
2026-06-23 작업일지 추가.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
M70509(Scout Enable) 상시 ON 시, 용접 트리거(M70516) 감지 후 pre scout,
발진 완료 후 완료비트 송신 전 post scout 수행(각각 SeqScoutNormal 재사용,
0.1초 후 진행). M70509 OFF면 기존과 동일하게 용접만.
- eBitInput 0x09: PLC_RECIPE_CHANGE_REQ(미사용) → PLC_SCOUT_ENABLE 재정의
- 용접 완료비트(ACK off/BUSY off/COMPLETE on)를 WriteWeldComplete 노드로
분리해 post scout 뒤에 송신
- 이미지 파일명 접미어: {기존}_auto_{recipeNo}_{pageNo}_{pre|post}.PNG
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- 산출물 23. SW 점검결과 xlsx: SW Version 작업이력 추가(핸드셰이크/bit15 Resume/RecipeNo 등),
IO List bit15 신규(M70515 PLC_WELD_READY_REQ / M70015 PC_WELD_READY_ACK)·rename 반영
- architecture.md §8 용어 정리(가접 용접 = Tack Welding) 추가
- docs/분석 2026/06/22: AuroraUIComponent 재사용 UC·메인 View 도식 분석
- 기타 산출물 문서(DR 회의록·SOP·ILSOSConfig 등) 및 작업일지 포함
- SeqAutoRunPTOP.cs: 기존 로컬 변경 포함
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- CheckPageNoComp: PC_PAGE_NO 에코값과 현재 PLC_PAGE_NO 비교해
일치 시 PC_PAGE_CHANGE_COMPLETE=true, 불일치 시 false (기존 무조건 false)
→ 동일 Recipe/Page 반복 시 완료 ACK 전달
- SeqStatusMonitor: PLC/PC Auto State OFF 에지 감시 →
PC_RECIPE_NO/PC_PAGE_NO 0 초기화. 단 PC Auto OFF는
M70515(Weld_01 Ready) 살아있으면 보존(Resume 시나리오)
- ExecuteWelding: 완료비트 송신 간 딜레이 5→50ms 여유 확보
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- CheckRecipeNoComp: 동일레시피 시 PLC_RECIPE_NO 재폴링(늦은 갱신 대응),
recipe==null(0/미등록) 널 가드 추가, 에코는 활성 레시피 기준으로 null-safe 처리
- OnSeqActionStop: PC_ERROR_CODE 0 쓰기 삭제(WriteDWord가 인접 PC_PAGE_NO까지
0으로 덮던 버그 해소) → 정지 시 에코워드 보존
- CheckInitCondition: ResumeMode 핸드셰이크 스킵 제거(옵션A) → bit15 후 PLC가
주는 새 Recipe/Page를 정상 핸드셰이크로 처리. Resume 주석/로그도 정정
- 빌드 0오류
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- D70002(PC_RECIPE_NO): 동일 레시피여도 매 핸드셰이크 에코 유지
- 정지 시 에코워드(Page/Recipe No) 0 초기화 제거(보존)
- bit15 Manual 전환 시 레시피 활성화+로드, bit15 ON 중 AUTO_REQ 자동시작 무시
- [AutoRun Resume] PC bit15(0x0F) 1초 펄스 OFF
- 양극(P) 미사용: PC_AUTO_STATUS_P/양극 용접 핸드셰이크 제거, 용접 응답 음극 통일
- 공유 eCommon READY(0x0F) 제거(PTOP enum은 유지)
- SeqAutoRunPTOP 로그 설명형 개편(노드 Start/End 제거)
- 빌드 0오류. Recipe/Page 수정분은 현장 미적용(추후 검증 예정)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
PLC가 Page Change bit(0x08) 하나만 트리거로 보내면 Recipe No와
Page No를 함께 읽어 Recipe를 먼저 전환한 뒤 Page를 전환하도록 변경.
Recipe Change bit(0x09)는 트리거로 미사용(enum 정의는 보존).
- CheckRecipeNo Decision 제거, 흐름 재배선(CheckPageNo→Recipe→Page)
- Recipe No 1회 읽기, 0/음수/미등록/동일이면 전환 생략(정지 안 함)
- 실제 전환 시 ActivateRecipe 후 Dispatcher.Invoke(OnActiveReloaded)로
Model.Layers 동기 갱신 + 페이지 검증/레이어 선택을 UI 스레드 직렬화
(ActivateRecipe-Layers 비동기 race 차단)
- PC_RECIPE_CHANGE_COMPLETE 미사용 처리, PC_RECIPE_NO 에코는 유지
VS Rebuild(Debug|x64) EXITCODE=0 확인.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
현장 PLC 미연결로 임시 주석 처리했던 CheckCondition_Interlock()의
High(중대) 알람 인터락 블록을 원복. 현장 PLC 연결 완료에 따라 정상 동작.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 분석 문서 4종 추가 (docs/분석/2026/06/19):
알람부 종합 / MX Component PLC 연결 / AjinIO.ReadDoBit / 가이드빔 TruPulse(ExtPilotOnOff 미구현)
- AjinIO.ReadDoBit(int): 스텁(return true) 유지 + 구현(ReadDiBit 패턴) 주석 보존
- SeqComponentTeachingRun: 중알람 인터락 임시 주석 (현장 PLC 미연결 우회, 추후 원복)
- 레시피 Guide Beam: DO 17 read/write + IsConnected 가드 주석 (필요시 주석 토글 운용)
- 작업일지 2026-06-19 정리
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 작업일지: 레이저 미발진 + Analog만 살려 Power Cal 파일 생성 가능 여부 요청 기록
- docs PLC 인터페이스 폴더 정리(구 _260617 폴더 → 신규 폴더로 이동)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>