to3796zw 7fc11f2602 fix: AjinIO.IsConnected 반전 로직 정정
AxlGetBoardStatus가 SUCCESS일 때 미연결로 반환하던 반전 버그를
정정(실제 Ajin 연결 시 OnMonitoring 폴링이 스킵되던 원인).
연동해 OnMonitoring 미연결 가드를 앞으로 정리.
2026-06-20 10:14:18 +09:00

39 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 작업일지 — 2026-06-20
## 09:41 — Setting 정리: Axis Position Interlock 삭제 + Head Theta Interlock 영어화
### 변경 내용 (2파일)
- `WeldingComponents/WeldingCommon/Settings/SequenceSetting.cs`
- `[Category("Axis Position Interlock")]` 블록 **전체 삭제** (주석 + 속성 4개)
- 삭제 속성: `VerticalSector` / `VerticalTolerance` / `HorizontalSector` / `HorizontalTolerance`
- Serena `find_referencing_symbols` + grep 확인 결과 정의 파일 외 **참조처 없음** → 삭제 안전
- `Machines/ILSOS_PrismaticRD_PTOP/Settings/LaserInterlockSetting.cs`
- Head Theta Interlock 항목 `DisplayName` 5개 한글→영어화 (주석은 유지)
- `인터락 사용`→`Use Interlock` / `수평 각도(deg)`→`Horizontal Angle (deg)` / `수직 각도(deg)`→`Vertical Angle (deg)` / `허용 오차(±deg)`→`Tolerance (±deg)` / `PLC 스케일(deg×?)`→`PLC Scale (deg×?)`
- `[Category("Head Theta Interlock")]`는 기존부터 영어라 변경 없음
### 검증
- 서브에이전트로 MSBuild 빌드(Debug|x64) — **오류 0개**, 경고 655개(전부 기존·무관)
- 빌드 로그에 삭제 속성/변경 DisplayName 관련 오류·잔존 참조 없음
- 빌드 산출물: **WeldingCommon.dll**, **ILSOS_PrismaticRD_PTOP**
## 11:xx — AjinIO.IsConnected() 반전 로직 정정 + OnMonitoring 가드 정리
### 문제 (분석)
- 증상: `OnMonitoring()`의 `_IODevice.IsConnected()` 가드가 **시뮬에선 정상, 실제 Ajin 연결 시 동작 안 함**
- 원인: `AuroraDevices/AuroraIO/Vendor/AJINEXTEK/AjinIO.cs`의 `IsConnected()`가 **반대로 반환**
- `AxlGetBoardStatus(0)`이 `AXT_RT_SUCCESS`(정상)면 `false`, 에러면 `true` 반환 (파일 내 다른 호출부 관례와 정반대)
- 시뮬: 보드 없음 → 에러 → 우연히 `true` → 폴링 동작("정상"으로 보임)
- 실연결: 정상(SUCCESS) → `false` → 207줄 가드가 `return`으로 폴링 통째 스킵 → `IsGuidBeam`/`IsLaserReady` 미갱신
### 변경 내용 (2파일, 사용자 직접 수정)
- `AuroraDevices/AuroraIO/Vendor/AJINEXTEK/AjinIO.cs`
- `IsConnected()` → `return err == (int)AXT_FUNC_RESULT.AXT_RT_SUCCESS;` 로 정정 (SUCCESS=연결)
- `WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingControlBoxViewModel.cs`
- `OnMonitoring()` 정리: 미연결 시 `IsGuidBeam/IsLaserReady=false` 후 `return` 가드를 앞으로 이동
- 연결 시에만 `ReadDO(17)`·`ReadDI(11)&&ReadDI(15)` 수행 (LaserReady 한 줄로 정리)
### 비고
- `AjinIO.cs`는 공용(AuroraIO.dll) — Ajin 보드 쓰는 타 머신에도 영향(반전 정정이 올바른 방향)
- 사용자 요청으로 **빌드 검증 생략**