diff --git a/Doc/LGPRI문서/유니셀 PtoP 단동기 Laser Interface_260730_레시피NUM변경.xlsx b/Doc/LGPRI문서/유니셀 PtoP 단동기 Laser Interface_260730_레시피NUM변경.xlsx new file mode 100644 index 0000000..6cf24a7 Binary files /dev/null and b/Doc/LGPRI문서/유니셀 PtoP 단동기 Laser Interface_260730_레시피NUM변경.xlsx differ diff --git a/Doc/산출물문서/23. SW 점검 결과_PTOP_UBISAM_260828_(IO Check 후 일일 결과진척도 공유).xlsx b/Doc/산출물문서/23. SW 점검 결과_PTOP_UBISAM_260828_(IO Check 후 일일 결과진척도 공유).xlsx new file mode 100644 index 0000000..1f7d0a5 Binary files /dev/null and b/Doc/산출물문서/23. SW 점검 결과_PTOP_UBISAM_260828_(IO Check 후 일일 결과진척도 공유).xlsx differ diff --git a/Doc/산출물문서/27. HMI Manual_UBISAM_260828_PTOP.pptx b/Doc/산출물문서/27. HMI Manual_UBISAM_260828_PTOP.pptx new file mode 100644 index 0000000..b375a08 Binary files /dev/null and b/Doc/산출물문서/27. HMI Manual_UBISAM_260828_PTOP.pptx differ diff --git a/Doc/산출물문서/27. HMI Manual_UBISAM_가접용접_매뉴얼_추가_260828_PTOP.pptx b/Doc/산출물문서/27. HMI Manual_UBISAM_가접용접_매뉴얼_추가_260828_PTOP.pptx new file mode 100644 index 0000000..41e4994 Binary files /dev/null and b/Doc/산출물문서/27. HMI Manual_UBISAM_가접용접_매뉴얼_추가_260828_PTOP.pptx differ diff --git a/Doc/인수인계/2026_08_28_레이저발진기교체_및_진행현황.md b/Doc/인수인계/2026_08_28_레이저발진기교체_및_진행현황.md new file mode 100644 index 0000000..407d703 --- /dev/null +++ b/Doc/인수인계/2026_08_28_레이저발진기교체_및_진행현황.md @@ -0,0 +1,347 @@ +# PTOP 단동기 SW — 레이저 발진기 교체 및 진행 현황 (2026-08-28 기준) + +> **목적** : LGES 오창 각형화 단동기 SW 개발/셋업 작업을 **다른 담당자가 이어받아 진행**할 수 있도록, +> 2026-08-28 시점의 현황과 그때까지 전달받은 현장 정보를 한 곳에 모은 문서. +> +> - 프로젝트 : LGES_오창_각형화 단동기 SW 개발 및 셋업 작업 +> - 대상 설비 : PtoP 각형화 단동 용접기 (유니셀) +> - SW 프로젝트 : `Machines/ILSOS_PrismaticRD_PTOP` (솔루션 내 유일한 장비 프로젝트) +> - 기준 커밋 : `2ef276e` + +**표기 규칙** — 근거를 구분해 둔다. 이어받는 사람이 "확인된 것"과 "전달받은 것"을 섞지 않도록. + +| 표기 | 의미 | +|---|---| +| 🟩 **소스확인** | PC 소스/도면에서 직접 대조해 확인한 사실 | +| 🟦 **현장기록** | 현장 시험 기록(엑셀 등)에 남아 있는 값 | +| 🟨 **미확보** | 아직 문서화되지 않음. 이어받는 사람이 채워야 할 항목 | + +--- + +## 1. 한 줄 요약 + +임시 레이저(Core/Ring 2대)로 진행하던 설비에 **본 레이저(단일 발진기)가 투입**되어, IO 인터페이스가 +8채널에서 4채널로 줄었고 PC 소스가 이에 맞춰 정리됐다. 레시피/페이지 번호 체계는 PLC가 지시하는 대로 +PC가 따라가는 구조라 PC 소스 변경은 없었다. 현재 현장은 **주로 수동 출사**로 운용 중이다. + +### 완료 항목 (2026-08-28 기준) + +- ✅ **레이저 발진기 교체 완료** +- ✅ **IO 확인 완료** — AJINEXTEK 보드, 본 레이저 기준 DI/DO CSV 생성 및 config 연결 +- ✅ **비전 캘리브레이션 완료** +- ✅ 260828 산출물 3건 갱신 (§4) + +### 바로 알아야 할 3가지 + +1. **출사 순서** : Key ON → Remote ON. 순서를 지켜야 번들 Start 가 점등된다 → **§2.5** +2. **인터락 판정** : PC 측은 `IsLaserReady`(DO `Laser_REMOTE` 되읽기)가 담당 → **§2.6** +3. **레시피 복사 주의** : 타 현장 캘판 기준 레시피를 그대로 쓰면 위치가 어긋난다 → **§3.4** + +--- + +## 2. 레이저 발진기 교체 + +### 2.1 사양 변경 🟩 + +근거 : `Doc/LGPRI문서/PtoP 각형화 단동 용접기_통신배선자료_PRI_Ver1_20260611.xlsx` 시트 `레이저 필요 전원` + +| 구분 | 교체 전 (임시) | 교체 후 (본 레이저) | +|---|---|---| +| 레이저 | **BFMC-3000/3000M** (Max) | **MFMC-2000/2000M** (Max) | +| 전원 | 3상 360-440V, **18kW** | 3상 360-440V, **10kW** | +| Chiller | CWFL-8000FNPTY (TEYU), 8.7kW | **CWFL-6000FNPTY** (TEYU), 9.78kW | +| 구성 | Core / Ring **2대** | **단일 발진기 1대** | +| 비고 | "제작현장 임시 사용" | 본 설비 구성 | + +> 임시 레이저는 제작 현장에서만 쓰던 것이고, 오창 현장 투입분이 본 레이저다. + +### 2.2 IO 보드 인터페이스 변경 🟩 + +Core/Ring 2대가 1대로 합쳐지면서 **상태 신호 8개 → 4개**로 줄었다. + +**채널 번호의 단일 소스는 소스 코드다.** +`WeldingComponents/WeldingCommon/Devices/Laser/LaserIOControl.cs:62-96` + +2026-08-28에 통신배선자료 `Digital_IO (본 레이저)` 시트와 **전 채널 대조 완료 — 번호 전부 일치**한다. +(임시 레이저 시절 도면이 실배선과 DI 기준 +1 어긋났던 전례가 있어 확인한 것이다.) + +#### DI (레이저 → PC) + +| ch | 이름 | 핀 | 의미 | +|---|---|---|---| +| 8 | `Laser_READY` | Pin21 | Power Supply ON & No error. 출사 가능 조건 | +| 9 | `Laser_ALARM` | Pin22 | ⚠ **Active-Low** — 정상 시 High, 알람 시 Low. 판정에 `!` 필수 | +| 10 | `Laser_EMISSION_ON` | Pin23 | Emission ON. DO `Laser_REMOTE` 의 에코 | +| 11 | `Laser_MAIN_PWR_STATE` | Pin24 | 전원 투입(Key Switch ON) 상태 | + +> DI 11 은 도면(엑셀)에 `Laser_FIRE` 로 적혀 있으나 **오기**다. 38핀 커넥터 매뉴얼 확인 결과 +> 발진 중 표시가 아니라 전원 투입 상태다. 소스는 정정된 이름을 쓴다. + +#### DO (PC → 레이저) + +| ch | 이름 | 핀 | 의미 | +|---|---|---|---| +| 8 | `Laser_AC_KEY` | Pin5,6 쇼트 | 외부 제어 키스위치. **소스가 쓰지 않는다**(전원 투입 계층). 단 **운용상 ON 이어야 출사된다** → §2.5 | +| 9 | **`Laser_REMOTE`** | Pin7,8 쇼트 | ⭐ **발진 ON/OFF 직접 제어.** 소스가 쓰는 유일한 DO | +| 10 | `Laser_GUIDE_BEAM_CONTROL` | Pin18 | 가이드 레이저 | +| 11 | `Laser_ALARM_RESET` | Pin20 | ⚠ **Water Flow Alarm 전용** 리셋. 다른 알람에는 무효 | + +> `Laser_REMOTE` 는 이름과 달리 모드 전환이 아니라 **Emission 을 직접 켜고 끈다.** 구 `Core/Ring_Control` 자리다. +> DI/DO 0~3 은 PLC Interface 용이고 그 외 채널은 미사용이다. + +### 2.3 PC 소스 변경분 🟩 + +커밋 `5be34e6` (2026-08-24) 「본 레이저 단일 발진기 전환 — IO 채널 재정의 및 enum 단일화」 + +| 변경 | 내용 | +|---|---| +| enum 단일화 | `PAIX_PTOP` · `SeqAutoRunPTOP` 에 중복 정의돼 있던 채널 enum 제거 → `LaserIOControl.cs` 한 곳만 참조 | +| 발진 제어 | `CoreLaser_Control` + `RingLaser_Control` **2발** → `Laser_REMOTE` **1발** (`SeqAutoRunPTOP.cs:1305` ON / `:1328` OFF / `:1786` 정지 시 OFF) | +| Ready 판정 | Core·Ring AND 판정 → `Laser_READY` 단독 (`LaserIOControl.cs:140-144`) | +| ⚠ DO8 충돌 제거 | 구 `eADOAddress.PCLBADReadyStatus` = **채널 8** = 본 레이저 `Laser_AC_KEY`. 그대로 두면 **Auto 시작이 레이저 AC 전원 릴레이를 켠다.** LBAD 는 미등록 디바이스라 의미도 없어 제거 (`SeqAutoRunPTOP.cs:1668-1674`) | +| IO 확인 화면 | Device 설정에서도 IO 상태 확인·DO 토글 가능하도록 `UCIOInterfaceView` 연결 (`EquipmentSetup.cs:159-160`). 배선 실측용, 제어 로직 변경 없음 | + +> 원복이 필요하면 소스 곳곳의 `260824 이전 원본` 주석 블록을 살리고 `using static` 을 제거하면 된다. + +### 2.4 발진 조건 — 교체 전후 비교 🟦 + +근거 : `Doc/현장자료/TalkFile_12_Laser_param_Shot비교_260825_레이저발진기교체.xlsx` 시트 `Laser_param_Shot비교_260825` + +**핵심 : 발진기를 바꾸자 기존 출력으로는 접합이 되지 않아 출력을 올려야 했다.** + +| 레시피/Page | 대상 | 교체 전 | 시험 경과 | 최종 적용 | +|---|---|---|---|---| +| 12_1page | CC Anode(음극) | **450 / 850 → 미접합** | 500/900·550/950 도 접합 X
600/1000 부터 접합 | **650 / 1050** (동일 조건 전체 출사) | +| 12_2page | SENSING | 480/800 ~ 600/1000 탐색 | **Start Ramping 50% → 70%** 로 변경 | **600 / 1000** | +| 12_3page | CC Cathode(양극) | 600 / 1300 | — | **600 / 1200** | + +표기는 `Core / Ring` (W). Ramping 변경이 함께 들어간 점에 유의. + +### 2.5 ⭐ 번들 프로그램(G3 시리즈)과 출사 조건 — 운용 필수 🟦 + +> **이 절이 현장 운용에서 가장 자주 걸리는 부분이다.** 순서를 틀리면 출사가 안 된다. + +#### 전원 투입 순서 — 반드시 지킬 것 + +``` +① Key ON → ② Remote ON +``` + +**이 순서를 지켜야 번들 프로그램의 Start 가 점등된다.** + +★ **발진기 장비의 Start 버튼은 항상 켜둘 것.** (번들 화면 상단 우측 Start 버튼이 점등 상태여야 한다) + +#### 레이저 업체 안내 — 출사에 관여하는 신호 + +| 신호 | 비고 | +|---|---| +| PWM 1, 2 (24V) | **미사용** | +| Enable (24V) | | +| AL | 아날로그 신호 | +| 번들 상단 우측 Start 버튼 | **점등 필요** | + +#### 당사 운용 방식 (현장 확인 완료) + +``` +Start 점등 + DO Laser_AC_KEY ON + DO Laser_REMOTE ON + → 출사 시 DI Laser_EMISSION_ON 점등되며 실제 출사 +``` + +`Laser_AC_KEY`(DO 8)는 **소스가 건드리지 않는다.** 전원 투입 계층이고, 반 하드와이어 여부가 아직 미확정이기 때문이다. +PC 에서 조작해야 하면 **Device > IODevice** 또는 **Monitoring > IO Interface** 화면에서 DO 행을 더블클릭해 토글한다. +(이 화면을 Device 설정에 붙인 이유가 바로 이 배선 실측·조작 때문이다.) + +### 2.6 ⭐ IsLaserReady — PC 측 인터락 판정 기준 🟩 + +**PC 측에서 발진 인터락을 담당하는 것은 `IsLaserReady` 다.** +위치 : `WeldingComponents/WeldingCommon/Views/Recipes/UCScannerObjectTeachingControlBoxViewModel.cs:316` + +2026-08-26 협의(이정인 선임)로 **DO `Laser_REMOTE` 를 되읽는 방식**으로 확정했다. 커밋 `2ef276e`. + +```csharp +IsLaserReady = _IODevice.ReadDO((int)ePrismaticDOAddress.Laser_REMOTE); +``` + +#### 왜 다른 신호를 쓰지 않았나 (소스 주석 :305-314 근거) + +| 후보 | 채택하지 않은 이유 | +|---|---| +| DI `Laser_READY` (Pin21) | "Power Supply ON & No error" 라 **전원만 들어오면 상시 High**. 버튼에 반응하지 않고, 발진 차단 인터락(`:476`)도 무력해진다 (현장 확인 260824) | +| DI `Laser_EMISSION_ON` | **출사 시점에만 점등**되어 인터락 판정에 부적합 | +| DO `Laser_REMOTE` ✅ | 버튼이 토글하는 대상과 동일한 비트 → **조작과 표시가 1:1** | + +#### Laser Ready 버튼 동작 + +버튼(`CMD_LaserReadyCheck`)은 **현재 DO 를 읽어 반전**한다 (`:661-662`). + +종전에는 VM 이 "다음에 쓸 값"(`toggleIO`)을 기억하는 방식이었는데, `SeqAutoRunPTOP` 가 같은 DO 를 쓰면서 +그 필드를 갱신하지 않아 실제 DO 와 어긋났다. 그래서 **버튼을 두 번 눌러야 반응**했다 (현장 확인 260826). +읽어서 반전하면 누가 중간에 건드려도 1회 입력에 정확히 반영된다. + +### 2.7 IO 보드 구성 🟩🟦 + +- 보드 : **AJINEXTEK** 확인 +- **본 레이저 기준으로 DI/DO 정의 파일(CSV)을 새로 생성 → config 에 연결** + (IO 화면의 Description 은 이 CSV 에서 읽어온다) +- `EquipmentSetup.cs` 에 IO 보드 View 추가 → Device 설정에서 DI/DO 확인·토글 가능 + - 수정 파일 : `Machines/ILSOS_PrismaticRD_PTOP/EquipmentSetup.cs` + - IODevice 등록부에 `settingUIFactory` 인자 추가 (`:159-160`) +- 소스 변경 **6개 파일** (임시레이저 채널 하드코딩 구간 포함) +- 변경 구간은 **주석으로 이력 보존** — `260824 이전 원본`, `260826 이전 원본` 마커로 검색하면 원복 지점을 찾을 수 있다 + +### 2.8 Laser 디바이스는 현재 Sim 처리 🟦 + +`GetLaserReady()` 가 **항상 true 를 반환**하는 상태다. +실제 인터락은 §2.6 의 `IsLaserReady`(DO 되읽기)가 담당하므로 혼동하지 말 것. + +> 참고 : `SeqAutoRunPTOP.LaserReadyResponse()`(`:1089-1094`)도 무조건 true 를 돌려주는 no-op 이며 호출부도 없다. + +--- + +## 3. 레시피 / 페이지 체계 + +### 3.1 구조 — PC 는 PLC 지시를 따라갈 뿐이다 🟩 + +**레시피 번호와 페이지 순서는 PLC 가 전부 지시한다. PC 소스에 하드코딩된 번호는 없다.** + +``` +PLC D70502 (RECIPE_NO) → PC: Recipes() 에서 .Id 일치 항목을 찾아 ActivateRecipe +PLC D70501 (PAGE_NO) → PC: Model.Layers[PageNo-1] 를 용접 대상 레이어로 선택 +PC D70002 / D70001 → 읽은 값을 그대로 에코. PLC 는 이 에코가 자기 값과 같아지는지 확인 +``` + +`SeqAutoRunPTOP.cs:526`(레시피 조회) · `:1009`(페이지 인덱스) · `:1110`(레이어 선택) + +> **따라서 레시피 번호가 바뀌거나 페이지 순서가 바뀌어도 PC 소스는 고칠 것이 없다.** +> 변경은 PLC 시퀀스와 레시피 데이터(운용) 쪽 사안이다. + +### 3.2 번호 변경 이력 🟦 + +기준 문서 : `Doc/LGPRI문서/유니셀 PtoP 단동기 Laser Interface_260730_레시피NUM변경.xlsx` (**PLC 협의 완료본**) +시트 `Recipe Number _renewal_260730` + +- 동탄 현장의 **11번** 레시피가 오창에서 **12번** 으로 변경됨 +- 12번은 페이지가 3개이며 **사용 순서는 2 → 1 → 3** + - 2page = 센싱플레이트 / 1page = 음극(Anode) / 3page = 양극(Cathode) +- 동탄에서는 11레시피 2페이지를 쏘던 것을, 오창에서는 12레시피 3페이지를 쏘는 것으로 변경 + +### 3.3 레시피 구성 🟦 + +시트 `오창_Recipe별 260805` 기준. + +| No | 레시피명 | Page | 용도 | +|---|---|---|---| +| 12 | CC_Welding_Renewal | 3 | CC & 센싱플레이트 | +| 21 | U-Frame_Pre_Welding | 6 | U-Frame 장변 **가접**(Pre) | +| 22 | U-Frame_Pre_Back_Welding | 6 | U-Frame 장변 가접 (Back) | +| 23 | U-Frame_Welding | 6 | U-Frame 장변 **본접** | +| 24 | U-Frame_Back_Welding | 6 | U-Frame 장변 본접 (Back) | +| 31 | Top-Frame_Welding | 2 | [수직] Top Welding | +| 32 | Bottom-Frame_Welding | 2 | [수직] Bottom Welding | + +Line 수 : 21/22 는 1·6page 가 13개, 2~5page 가 7개. 23/24 는 페이지당 2개. +소요 시간 🟦 : 13 line ≈ 0.54s, 7 line ≈ 0.24s. + +### 3.4 ⚠ 캘리브레이션 판 이력 주의 🟦 + +시트 `Laser_param_Shot비교_260731_1차` R20 기록. + +> 21레시피 6페이지에서 **동탄 현장 레시피를 그대로 쓰자 드로잉 위치와 용접 위치가 불일치**했다. +> 원인은 **동탄 캘판으로 만든 레시피의 motorPos 격자값이 오창 캘판 기준과 다르기 때문**이었다. +> 오창 현장에서 캘 후 새로 만든 레시피는 정상 동작했다. + +**다른 현장 레시피를 복사해 올 때는 캘판 기준이 같은지 반드시 확인할 것.** 파라미터만 맞다고 되는 문제가 아니다. + +### 3.5 Wobbel 파라미터 의미 🟦 + +| 항목 | 의미 | 효과 | +|---|---|---| +| Transversal | 진행 방향에 **수직**인 횡방향 진폭(mm) | 용접 폭 확대 — GAP 브리징에 유리 | +| Longitudinal | 진행 방향과 **나란한** 종방향 진폭(mm) | 입열 분포·키홀 안정화에 영향 | + +두 성분을 조합하면 원형·무한대 패턴이 된다. + +--- + +## 4. 2026-08-28 산출물 + +`Doc/산출물문서/` 에 260828 판을 새로 만들었다. **이전 판(260616/260622/260626)은 수정하지 않고 보존**했다. + +| 파일 | 주요 변경 | +|---|---| +| `23. SW 점검 결과_PTOP_UBISAM_260828_(...).xlsx` | `IO List` 에 본 레이저 DI/DO 8행 신설(구 Core/Ring 5행 제거) · PC→PLC 블록의 `M70515/PLC_WELD_READY_REQ` 오기를 `M70015/PC_WELD_READY_ACK` 로 정정 · `Device` 시트 레이저 모델 갱신 · `Sequence` 시트 Core/Ring 표현 및 Scout 서술 현행화 · 이력 5행 추가 · **Gantt 를 3~12월로 확장**하고 진행률·주말음영·월경계·상태 드롭다운·틀고정·월별그룹화·인쇄설정 적용 | +| `27. HMI Manual_UBISAM_260828_PTOP.pptx` | 15장 → **18장.** IO Interface 슬라이드에 본 레이저 채널표와 Device 화면 안내 추가, **Device / Setting / Alarm 3장 신설** | +| `27. HMI Manual_UBISAM_가접용접_매뉴얼_추가_260828_PTOP.pptx` | 「수동 출사로 작업하면 AutoRun 시퀀스를 타지 않아 용접 전/후 이미지가 저장되지 않는다」 안내 추가 | + +> `25~26. 셋팅 기준서(SOP)` 는 LG 원본 양식이 미작성 상태(협력사명·날짜 미기입, "예시(자체 작성 필요)" 플레이스홀더)이고 +> 내용 대부분이 기구·전장 셋팅이라 이번 SW 변경분과 접점이 없어 **대상에서 제외**했다. + +### ⚠ HMI 매뉴얼 신규 3장은 플레이스홀더다 + +Device / Setting / Alarm 화면은 `Aurora.exe`(Aurora.View)에 컴파일되어 있어 **repo 에 소스 XAML 이 없다.** +따라서 화면 도식을 만들 수 없어, "실행 화면 캡처 대기" 표식 + 소스로 확인된 구성 항목만 그려 넣었다. + +**실행 화면을 캡처해 이미지 도형만 교체하면 완성된다.** 콜아웃 번호와 설명문은 소스 기준으로 이미 작성돼 있다. +단, Device 화면의 핵심 내용인 IO 설정 UI(`UCIOInterfaceView`)는 소스가 있어 실제 도식이 들어가 있다. + +--- + +## 5. 이어받는 사람이 알아야 할 미결 사항 + +### 5.1 소스 결함 3건 (2026-08-28 정적분석, **수정하지 않음**) 🟩 + +현장 운영에 당장 지장이 없어 **의도적으로 손대지 않았다.** 상세는 +`docs/분석/2026/08/28/PTOP_시작프로그램_전체구조_분석_260828.md` (로컬 전용, git 미추적). + +| # | 내용 | 영향 | +|---|---|---| +| A1 | `SeqAutoRunPTOP.CheckCycleStop`(`:1379-1394`)이 무조건 `CheckPageNo` 로 되돌아가, 뒤의 `SaveResultData`·`WriteCompletionPLCBit`·`Complete` **3노드가 도달 불가** | 자동 운전 중 **스캐너 파형 미저장 · 생산 카운트 미증가 · PC 출력비트 일괄 리셋 미수행** | +| A2 | `AlarmManager_PTOP.cs:26` 이 `SequenceIds.SeqAutoRun`(= SeqAutoRunPrismatic)을 정지시킨다. 실제 운전은 `SeqAutoRunPTOP` | **중알람이 떠도 자동 운전이 멈추지 않는다.** 원인은 복사 잔재로 확정 — `SeqAutoRunPTOP` 으로 식별자 1개 교체하면 해결. 단 이때 `EquipmentSetup.OnSetAlarm` 의 `override` 누락도 함께 처리할 것 | +| A3 | `SeqAlarmMonitor.CheckDeviceIO()` 첫 줄이 `return false`(`:460-462`) | Laser IO · LBAD · OCT · LeakSensor · IOBoard **알람 전면 무력화**. 걷어내면 TruFiber 캐스팅 NRE 가능성이 함께 노출되므로 본 레이저 DI 재매핑이 선행돼야 함 | + +### 5.2 진단계측(임시 로그) 원복 대상 🟩 + +현장 이슈 추적용으로 넣은 임시 코드가 남아 있다. 마커와 원복 방법은 위 분석문서 §13 표에 정리돼 있다. + +- `[진단계측 2026-08-26]` — `SeqAutoRunPTOP.CheckPageNo` 핸드셰이크 스냅샷 (커밋 `18ca9bc`) +- `[진단계측 2026-08-13]` — `PLCController.Config.cs` 모드 3비트 전이 로그 + +### 5.3 PLC 확인 대기 🟦 + +- **page5 → page6 PAGE_CHANGE_REQ 미발행** : 레시피 23/24 에서 Resume 후 REQ 가 오지 않아 교착. + 로그 분석 결과 **PC 결함이 아니며** PLC 이동 스텝 미진입으로 판단, 문의 발송 상태. + 분석 : `docs/분석/2026/08/26/Page5_Page6_REQ_미발행_PLC문의_260826.md` +- **Scout 완료 비트** : PLC DeviceMap CSV 에는 `M70009`/`M70010`(Pre/PostWeld Scout Complete)이 정의돼 있으나 + **현 소스는 이 비트를 쓰지 않는다.** M70509(Scout Enable)를 레벨로 읽어 게이팅만 한다. + PLC 가 이 비트를 기다린다면 협의 필요. + +### 5.4 운용 현황 🟦 + +- 현재 현장은 **주로 수동 출사**로 진행 중이다. AutoRun 을 돌리지 않으므로 Scout(용접 전/후 이미지) 경로를 지나가지 않아 + **전/후 이미지가 저장되지 않는다.** 기능 자체는 정상이며 동탄에서 검증된 소스다. +- HMI 매뉴얼 Device/Setting/Alarm 3장 캡처 필요 (§4 참조) + +--- + +## 6. 참고 파일 위치 + +| 구분 | 경로 | +|---|---| +| IO 배선 기준 | `Doc/LGPRI문서/PtoP 각형화 단동 용접기_통신배선자료_PRI_Ver1_20260611.xlsx` → 시트 `Digital_IO (본 레이저)`, `레이저 필요 전원` | +| PLC 인터페이스 (최신) | `Doc/LGPRI문서/유니셀 PtoP 단동기 Laser Interface_260730_레시피NUM변경.xlsx` | +| PLC 인터페이스 (구본) | `Doc/LGPRI문서/유니셀 PtoP 단동기 Laser Interface_260622_변경.xlsx` | +| 발진 파라미터 시험 기록 | `Doc/현장자료/TalkFile_12_Laser_param_Shot비교_260825_레이저발진기교체.xlsx` | +| PLC DeviceMap CSV | `Doc/ILSOSConfig/PLC_DeviceMap_*.csv` | +| 산출물 | `Doc/산출물문서/` | +| IO 채널 enum (**단일 소스**) | `WeldingComponents/WeldingCommon/Devices/Laser/LaserIOControl.cs:62-96` | +| 메인 자동운전 시퀀스 | `Machines/ILSOS_PrismaticRD_PTOP/Sequences/SeqAutoRunPTOP.cs` | +| PLC 주소 enum | `Machines/ILSOS_PrismaticRD_PTOP/Device/PLC/PLCController.Address.cs` | + +--- + +## 변경 이력 + +| 일자 | 작성 | 내용 | +|---|---|---| +| 2026-08-28 | 노도연 | 최초 작성. 본 레이저 교체·IO 변경·레시피 체계·260828 산출물·미결사항 정리 | +| 2026-08-28 | 노도연 | §2.5 번들 G3 출사 조건 / §2.6 IsLaserReady 인터락 기준 / §2.7 IO 보드 구성 / §2.8 Laser Sim 상태 추가. 현장 전달 내용 반영 완료 |