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

2.6 KiB
Raw Blame History

작업일지 — 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 보드 쓰는 타 머신에도 영향(반전 정정이 올바른 방향)
  • 사용자 요청으로 빌드 검증 생략