NohDoyeon241104
c7f12b0bda
feat: Recipe/Page 핸드셰이크 에코 수렴 루프 적용
...
PLC가 PC 에코 넘버(PC_PAGE_NO/PC_RECIPE_NO) 일치를 상시 확인하는 것으로 확정(260806)됨에 따라, PC 책임을 검증에서 '정확히 읽고 → 내부 상태 갱신 → 에코'로 전환.
- CheckRecipeNoComp/CheckPageNoComp를 수렴 루프로 재작성 (에코 후 되읽어 일치 확인, 어긋나면 재읽기, 맞는 즉시 다음 노드로)
- 에코 없이 return 하던 경로 제거 (RecipeNo=0/미등록 → 에코 안 하고 재시도)
- 범위 밖 PageNo: 3초 무한대기 → 200ms 재읽기, 에코 안 함
- Page 3회 수집(600ms)·Recipe 800ms 재폴링 제거 → 정상 흐름 지연 0
- while 탈출 후 context.Stopped 가드 추가
- ReadOutWord(eWordOutput) 헬퍼 추가 (ReadOutBit 패턴 준용)
- 시뮬레이션 가드: IsSimul이면 수렴 생략 (PLC 워드가 항상 0이라 못 빠져나감)
구버전은 #region 260806 으로 전량 주석 보존 — 원복 시 블록 교체.
분석: docs/분석/2026/08/06/
2026-08-06 11:41:58 +09:00
..
2026-06-05 13:44:39 +09:00
2026-06-19 15:04:05 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-08-06 11:41:58 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-18 11:28:19 +09:00
2026-06-18 11:28:19 +09:00
2026-06-18 11:28:19 +09:00
2026-06-05 13:44:39 +09:00
2026-08-06 11:41:58 +09:00
2026-06-24 17:34:46 +09:00
2026-06-05 13:44:39 +09:00
2026-06-21 23:17:41 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-19 15:04:05 +09:00
2026-06-19 15:04:05 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-24 17:34:46 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00
2026-06-05 13:44:39 +09:00