IO 결선 변경에 따라 Laser Ready 입력 판정을 ReadDI(12) && ReadDI(24) → ReadDI(11) && ReadDI(15)로 수정. 로직 동일. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
104 lines
7.3 KiB
Markdown
104 lines
7.3 KiB
Markdown
# 작업일지 — 2026-06-18
|
|
|
|
## 09:22
|
|
|
|
### 조명 컨트롤러 연결 완료 (아침)
|
|
|
|
- 조명 컨트롤러 연결을 완료했다.
|
|
|
|
**중요 사항 정리:**
|
|
|
|
- 조명 컨트롤러는 모델의 사양(스펙) 파라미터를 알고 있어야 한다.
|
|
- 사용 중인 모델은 EROOM E-MINI CONTROLLER 인데, AURORA에서 해당 모델 타입을 제공 중이라 그대로 활용했다.
|
|
- DEVICE에서 LIGHT1 과 Light 에 대한 파라미터 세팅을 동일하게 맞춰주고, 채널도 맞춰줘야 한다.
|
|
- 통신 파라미터: 정지 비트(stop bit), 패리티 비트(parity bit), 시작 비트(start bit), Baud 값, 그리고 어떤 COM 포트에 꽂혔는지만 정확히 알면 된다.
|
|
- **막혔던 부분 (해결):** 장치 관리자에서 COM1 포트 설정은 맞췄지만, 고급 설정에 들어가면 버퍼(buffer) 체크가 되어 있는 항목이 있다. 이걸 꼭 **해제**해줘야 리모트 모드로 조명 컨트롤러에 커맨드를 날릴 수 있다.
|
|
|
|
## 09:32
|
|
|
|
### 현장 update 파일 정리
|
|
|
|
- 어제(2026-06-17) 수정한 소스 파일들을 현장 소스에 옮기기 위해 `docs/현장update파일/` 폴더를 만들어 복사해두었다.
|
|
- 포함 파일:
|
|
- `SequenceSetting.cs` — Axis Position Interlock 파라미터 4개 추가 (수직/수평 기준값·허용오차, 커밋 `9543238`)
|
|
- `UCScannerObjectTeachingControlBoxViewModel.cs` — Laser Ready 판정을 `DI(9)` → `DI(12) && DI(24)` 동시 조건으로 변경 (커밋 `9aa1b2a`)
|
|
- `README.md` — 각 파일의 원본 위치 / 변경 부분(diff) / 적용 체크리스트 정리
|
|
|
|
### 현장 PC 원격 데스크톱 접속 가능하게 변경
|
|
|
|
- 금일 현장 PC가 방화벽 때문에 원격 데스크톱이 안 됐는데, **김남오 대리님**께서 세팅하신 뒤 PC를 재부팅해서 원격 접속이 가능하도록 변경해주셨다.
|
|
|
|
## 09:36
|
|
|
|
### 현장 소스 반영(옮기기) 완료
|
|
|
|
- `docs/현장update파일/`에 정리한 변경 내용을 현장 소스에 옮기기 완료했다.
|
|
- `SequenceSetting.cs` — Axis Position Interlock 파라미터 4개 추가 반영
|
|
- `UCScannerObjectTeachingControlBoxViewModel.cs` — Laser Ready 판정 `DI(12) && DI(24)` 변경 반영
|
|
|
|
## 10:02
|
|
|
|
### SeqScoutNormal moveSleepTime 50→100ms 변경
|
|
|
|
- `SeqScoutNormal.cs`의 Scanner Jump 후 `moveSleepTime`을 50 → 100ms로 변경했다.
|
|
- **이유:** 현장 PTOP의 경우 어제 Scout 이미지가 속도 때문에 제대로 안 됐는데, 현장 PTOP 상황에서 ScoutNormal의 FOV 거리가 멀어서 캡처가 흔들리는 부분 때문에 50에서 100으로 상향함.
|
|
- 커밋 `81fdf01`로 커밋·푸시 완료.
|
|
|
|
## 10:18
|
|
|
|
### [요청] 레이저 미발진 상태로 Analog만 살려 Power Cal 파일 생성 가능 여부
|
|
|
|
- **목적:** Laser Voltage를 1V 줬을 때 실제 몇 W가 나오는지 측정하는 **캘리브레이션(Cal) 파일**을 만들고 싶다.
|
|
- **핵심 요청:** 캘 파일을 만드는 동안 **레이저는 실제로 발진(발사)시키지 않고**, **아날로그 신호만 살려서** RTC5의 기록(로그/데이터)은 그대로 저장되도록 할 수 있는가?
|
|
- **상세:**
|
|
- 레시피(또는 메뉴얼) 화면 → **Manual Laser Power Control** 영역에서 레이저를 쏠지 안 쏠지 제어함.
|
|
- 보통은 **레이저 컨트롤러 IO를 살리지 않으면** 레이저가 실제로 나가지 않는다.
|
|
- 이때 **아날로그 신호만 활성화**해서, 레이저는 안 나가되 RTC5가 출력 기록은 정상적으로 남기도록(저장되도록) 만들 수 있는지 확인 필요.
|
|
- **정리:** Laser 발진 IO는 비활성(레이저 OFF) + Analog 출력은 활성 → RTC5 기록은 정상 저장. 이 구성이 가능한지 검토 요청.
|
|
|
|
## 11:27
|
|
|
|
### PTOP 네임스페이스/클래스 마이그레이션 적용 (Scanner → PTOP) + 머신 PTOP 단독화
|
|
|
|
- 프로젝트명만 PTOP로 바꾸고 Sequence만 손봤던 상태에서, `ILSOS_PrismaticScanner` 네임스페이스/using/클래스명/파일명이 남아있던 것을 참고본(`D:\Git\LGES-OC5-PtoP-Welder_정리후(빌드완)`)과 동일하게 정리.
|
|
- 분석 문서 기준으로 진행: `docs/분석/2026/06/18/111604_ptop_namespace_migration_guide.md`
|
|
- **적용 내역:**
|
|
- 파일 7개 git mv 리네임 (AlarmCode/AlarmManager/PAIX/EquipmentSpecificModel → _PTOP, RMSHandlerForScanner→ForPTOP, SettingUploadDataListForScanner→ForPTOP, SeqAutoRunPrismaticScanner→SeqAutoRunPrismatic)
|
|
- namespace `ILSOS_PrismaticScanner` → `ILSOS_PrismaticRD_PTOP` (전 .cs/.xaml)
|
|
- using 동일 변경, 클래스명 참조 전파 (PLCControllerPrismaticScanner→PLCControllerPTOP 등)
|
|
- ⚠ **PAIX_PrismaticScanner는 머신 참조만 PAIX_PTOP로 변경, WeldingCommon 공유 참조(SeqTestRun.cs)는 보존** — 빌드 깨짐 1순위 함정 회피
|
|
- XAML 3종(x:Class/clr-namespace/code-behind) 일치, csproj Compile Include 7줄 갱신
|
|
- csproj 빌드 경로 TDC→PTOP (`_out_prismatic_rd_ptop`)
|
|
- sln에서 Scanner/Gun/CleanLaser 제거, 해당 머신 소스 폴더 삭제, 비-PTOP `_out` 아티팩트 정리 → **Machines에 PTOP만 남김** (참고본과 동일 구조)
|
|
- **주의:** 이 환경에선 실제 MSBuild 검증 불가 → VS에서 Clean→Rebuild 권장(obj 비워둠).
|
|
|
|
## 11:34
|
|
|
|
### Manual Laser Power Control — Watt 입력 GroupBox 숨김(Collapsed)
|
|
|
|
- 마이그레이션 후 빌드 정상 확인 완료.
|
|
- `UCScannerLaserControl.xaml`(WeldingCommon)의 Manual Laser Power Control 2영역(%, W) 중 **W 입력 영역은 주로 안 쓰므로** Grid.Row="1"(Watt 기준) GroupBox에 `Visibility="Collapsed"` 추가로 숨김 처리.
|
|
- Percent(%) 영역만 노출, 공간도 미차지. ViewModel/바인딩(`CMD_LaserShotOnWatt` 등)은 변경 없음.
|
|
- 관련 분석: `docs/분석/2026/06/18/102847_manual_laser_power_control_groupbox_analysis.md`
|
|
- 커밋 `ad6cf68`로 커밋·푸시 완료.
|
|
|
|
## 12:12
|
|
|
|
### NoLaser 체크 — 레이저 컨트롤러(IO BIT9/13) 안 켜고 Laser On 가능
|
|
|
|
- 발진(lasing)을 막는 실제 지점은 `LaserSignalOn`(RTC5 게이트)이 아니라 **IO Control DO9(`CoreLaser_Control`)/DO13(`RingLaser_Control`)** 를 true로 주는 부분이었음.
|
|
- 위치: `UCScannerObjectTeachingControlBoxViewModel.PerformCmdLaserReadyCheck`(Laser Control GroupBox의 `Laser Ready` 버튼).
|
|
- 처음엔 `UCScannerLaserControl`에 Analog Only(IsAnalogOnly)로 `LaserSignalOn` 가드를 넣었으나, 실제 IO는 다른 소스(ObjectTeachingControlBox)라 **그 변경은 원복**하고(Watt 숨김은 유지), 정확한 지점에 다시 구현.
|
|
- 구현: ViewModel에 `IsNoLaser` 추가(기본 false). `Laser Ready` 버튼이 DO9/13을 켜는 분기에서 `ctrlOn = !IsNoLaser`로 적용 → **IsNoLaser=true면 DO9/13을 true로 안 켜고 false 유지** → 레이저 컨트롤러 OFF 상태로 Laser On 가능(Cal/전압 측정용).
|
|
- XAML: Laser Control GroupBox에 `No Laser (전압만, 발진 안 함)` 체크박스 추가.
|
|
- 디바이스 레이어(Scanner/RTC5) 무변경, IO 비트 9/13만 제어.
|
|
- 커밋·푸시 진행.
|
|
|
|
## 12:20
|
|
|
|
### Laser Ready 판정 DI 변경 — IO 결선 변경(12&24 → 11&15)
|
|
|
|
- IO 결선을 바꿔서, 레시피의 Laser Ready 판정 입력을 `ReadDI(12) && ReadDI(24)` → **`ReadDI(11) && ReadDI(15)`** 로 수정.
|
|
- 위치: `UCScannerObjectTeachingControlBoxViewModel`의 `OnMonitoring` Laser Ready 판정부.
|
|
- 변경된 결선에 맞춘 단순 입력 번호 교체(로직 동일).
|