to3796zw
25edd79325
feat: Page Change bit로 Recipe+Page 전환 통합
...
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>
2026-06-21 00:04:35 +09:00
to3796zw
0e73086b14
feat: 레이저 Head Theta 인터락 추가
...
발진(ExecuteWelding) 직전 PLC Head_Theta_Position(D70510)을 읽어
헤드 각도가 수평/수직 ±허용오차를 둘 다 벗어나면 알람 후 발진 차단.
- 세팅 메뉴 UI: 수평/수직/허용오차/PLC스케일 + 사용 체크박스
(LaserInterlockSetting, 기본 미사용)
- fail-closed: PLC 미연결/미활성·스케일0 시 차단, 알람 호출 try/catch
- eWordInput.HEAD_THETA_POSITION(=D70510), 알람코드 210620 추가
- 런타임 설정(CSV 주소맵 D70510, AlarmDescriptions.xlsm 210620 행)은 별도 필요
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 15:04:05 +09:00
42c5565249
feat: PLC Recipe Change 핸드셰이크 구현 (SeqAutoRunPTOP) + 주소 정합
...
근거: 가이드 + Excel 260618(빨간셀 M70509/M70009/D70502/D70002). Page Change 미러링.
- 주소 enum: PLC_RECIPE_CHANGE_REQ(0x09)/PC_RECIPE_CHANGE_COMPLETE(0x09)/
PLC_RECIPE_NO(idx2)/PC_RECIPE_NO(idx2). 공용 eCommonBitOutput 동기화.
충돌: SeqStatusMonitor RMS_USED 읽기 주석, SeqAutoRunPrismatic 참조 이름만 교체.
- 시퀀스: CheckRecipeNo(논블로킹 Decision) + CheckRecipeNoComp(.Id 1:1 조회/활성화/
반영폴링/에코·완료비트), Builder 흐름·엣지·루프백, 리셋 비트·워드, _RecipeManager Enter 확보.
- Page 검증 상한 하드코딩 제거 → 활성 Recipe Layers.Count() 가변.
- (별도) D:\ILSOSConfig\...\External\PLC CSV 디바이스맵 4종 라벨 정합(.bak260618 백업).
빌드는 VS Rebuild로 검증 필요(레거시 포함). STEP5 UI/PLC 사양 최종정합은 후속.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 15:31:43 +09:00
aa5928ce3e
refactor: PTOP 네임스페이스/클래스 정리(Scanner→PTOP) 및 머신 PTOP 단독화
...
- namespace/using ILSOS_PrismaticScanner → ILSOS_PrismaticRD_PTOP (전 .cs/.xaml)
- 파일/클래스 리네임 7개: AlarmCode/AlarmManager/PAIX/EquipmentSpecificModel→_PTOP,
RMSHandlerForScanner→ForPTOP, SettingUploadDataListForScanner→ForPTOP,
SeqAutoRunPrismaticScanner→SeqAutoRunPrismatic, PLCControllerPrismaticScanner→PLCControllerPTOP
- PAIX_PrismaticScanner: 머신 참조만 PAIX_PTOP로 변경, WeldingCommon 공유 참조(SeqTestRun)는 보존
- XAML 3종(x:Class/clr-namespace/code-behind) 일치, csproj Compile Include 갱신
- csproj 빌드 경로 TDC→PTOP(_out_prismatic_rd_ptop)
- sln에서 Scanner/Gun/CleanLaser 제거 및 해당 머신 소스 삭제 → Machines에 PTOP만
- 분석/작업일지 문서 추가 (참고본: 정리후(빌드완) 기준)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 11:28:19 +09:00
d28e76c2fe
file update
2026-06-05 13:44:39 +09:00