docs: 260828 산출물 갱신 및 레이저 발진기 교체 인수인계 문서 추가

Doc/인수인계 신규 - 본 레이저 교체 현황 및 인수인계
- 발진기 사양(BFMC-3000/3000M -> MFMC-2000/2000M), IO 채널맵 DI/DO 8~11
- 번들 G3 출사 조건(Key ON -> Remote ON), Start 상시 점등
- IsLaserReady 인터락 기준을 DO Laser_REMOTE 되읽기로 확정한 경위
- 발진기 교체 후 출력 재조정 이력(12_1page 450/850 미접합 -> 650/1050)
- 레시피/페이지는 PLC 지시 추종 구조 (11->12 변경은 PC 소스 무관)
- 타 현장 캘판 레시피 복사 시 motorPos 격자 불일치 주의
- 미결사항: 소스결함 3건, 진단계측 원복, PLC 확인대기

Doc/산출물문서 260828판 3건 추가 (260616/260622/260626 원본 보존)
- 23. SW 점검 결과: IO List 본 레이저 DI/DO 반영, R13 오기 정정, Gantt 3~12월 확장
- 27. HMI Manual: 15 -> 18장, Device/Setting/Alarm 신규(캡처 대기 플레이스홀더)
- 27. 가접용접 매뉴얼: 수동 출사 시 전/후 이미지 미저장 안내 추가

Doc/LGPRI문서: 260730 레시피NUM변경(PLC 협의 완료본) 추적 추가

소스 변경 없음 - 분석 및 문서화만 수행
This commit is contained in:
노도연 2026-08-28 14:28:51 +09:00
parent 2ef276e093
commit 88fbdabdaa
5 changed files with 347 additions and 0 deletions

View File

@ -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<br>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 상태 추가. 현장 전달 내용 반영 완료 |