# 레시피 재생성용 — 기존 용접 파라미터 정리 - 작성일: 2026-08-01 - 목적: 필드격자 배율 문제([FieldHelper 격자배율차이 분석](./FieldHelper_격자배율차이_용접위치오차_원인분석.md))로 레시피를 **신규 생성**할 때, 기존 레시피의 용접 파라미터를 그대로 옮기기 위한 값 정리 - 출처: `docs/현장 데이터_260801/_config_recipe/<레시피>/TeachingEditor.json` → `RecipeWeldingLines.WeldingParameters` - 범위: **실제 드로잉 객체가 참조하는 파라미터만** 추출 (파일에는 128개 슬롯이 있으나 대부분 미사용) --- ## 0. 대상 레시피와 사용 파라미터 | # | 설비 PC 경로 (`D:\ILSOSConfig\ILSOS_PrismaticRD_PTOP\_config_recipe\`) | 덤프 폴더명 | 사용 파라미터 (UI 번호) | |---|---|---|---| | 1 | `Bottom-Frame_Welding` | `Bottom-Frame_Welding` | **1** | | 2 | `Top-Frame_Welding` | `Top-Frame_Welding` | **1** | | 3 | `U-Frame_Welding` | `U-Frame_Welding` | **1** | | 4 | `U-Frame_Back_Welding` | `U-Frame_Back_Welding` | **1** | | 5 | `U-Frame_Pre_Back_Welding` | `U-Frame_Back_Pre_Welding` | **1, 4, 7** | | 6 | `U-Frame_Pre_Welding` | `U_Frame _pre welding` | **1, 2, 3** | > UI 번호 = `ScannerParamNo + 1`. 소스에서 `ScannerParamNo`는 0-base 배열 인덱스이고 로그·UI는 +1로 표시된다. > ⚠ 5·6번은 설비 PC 폴더명과 덤프 폴더명이 다르다. **동일 레시피가 맞는지 확인 필요.** --- ## 1. 그룹 A — 본접 4종 (1~4번 레시피) · 파라미터 1 **`Bottom-Frame_Welding` · `Top-Frame_Welding` · `U-Frame_Welding` · `U-Frame_Back_Welding` 네 개가 완전히 동일하다.** | 항목 | 값 | |---|---| | MarkSpeed | **100** | | JumpSpeed | 1000 | | SpotShotTime | 50 | | LaserOnDelay | 0 | | LaserOffDelay | 0 | | JumpDelay | 0 | | MarkDelay | 200 | | PolygonDelay | 0 | | LaserPower1 | **350** | | LaserPower2 | **700** | | LaserFrequency | 1000 | | LaserDuty | 100 | | LaserPulseDuration | 1000 | | LaserProgramNo | No0 | | WobbelEnable | False | | WobbelFrequency / Transversal / Longditudinal | 0 / 0 / 0 | | WobbelShape | ELLIPSE | | RampingStartPower / SlopeMode / Dist | **50 / True / 2** | | RampingEndPower / SlopeMode / Dist | **50 / True / 2** | | ArcRampingInterval | 0.1 | | Color | Red | | NumberOfCount | 0 | --- ## 2. `U-Frame_Pre_Back_Welding` (덤프: `U-Frame_Back_Pre_Welding`) | 항목 | **파라미터 1** | **파라미터 4** | **파라미터 7** | |---|---|---|---| | MarkSpeed | **50** | 100 | **150** | | JumpSpeed | 1000 | 1000 | **7760** | | SpotShotTime | 50 | 50 | **950** | | LaserOnDelay | 0 | **-400** | 200 | | LaserOffDelay | 0 | **1000** | 200 | | JumpDelay | **500** | **500** | 200 | | MarkDelay | 200 | 200 | **500** | | PolygonDelay | 0 | 0 | 0 | | LaserPower1 | **400** | **400** | **0** | | LaserPower2 | **800** | 0 | **0** | | LaserFrequency | 1000 | 1000 | **1** | | LaserDuty | 100 | 100 | 100 | | LaserPulseDuration | 1000 | 1000 | **1** | | LaserProgramNo | No0 | No0 | No0 | | WobbelEnable | False | False | False | | WobbelFreq / Trans / Long | 0 / 0 / 0 | 100 / 1 / 1 | 100 / 1 / 1 | | WobbelShape | ELLIPSE | ELLIPSE | ELLIPSE | | RampingStartPower / Slope / Dist | 0 / False / 0 | 0 / True / 0 | 0 / False / 0 | | RampingEndPower / Slope / Dist | 0 / False / 0 | 0 / True / 0 | **50 / False / 0.6** | | ArcRampingInterval | 0.1 | **0.025** | **0.025** | | Color | Red | `A=255, R=255, G=128, B=0` (주황) | Lime | | NumberOfCount | 0 | 1 | 1 | > **파라미터 7은 `LaserPower1 = LaserPower2 = 0`** 이다. 발진 없이 궤적만 도는 용도로 보인다(JumpSpeed 7760, LaserFrequency 1). 신규 레시피에 옮길 때 의도 확인 필요. > **파라미터 4의 `LaserOnDelay = -400`** — 음수 값이다. 의도된 선행 발진 보정인지 확인 필요. --- ## 3. `U-Frame_Pre_Welding` (덤프: `U_Frame _pre welding`) | 항목 | **파라미터 1** | **파라미터 2** | **파라미터 3** | |---|---|---|---| | MarkSpeed | 100 | 100 | 100 | | JumpSpeed | 1000 | 1000 | 1000 | | SpotShotTime | 50 | **300** | **100** | | LaserOnDelay | 1000 | 1000 | 1000 | | LaserOffDelay | 0 | 0 | 0 | | JumpDelay | 0 | 0 | 0 | | MarkDelay | 200 | 200 | 200 | | PolygonDelay | 0 | 0 | 0 | | LaserPower1 | **400** | **600** | **550** | | LaserPower2 | **0** | **1300** | **1250** | | LaserFrequency | 1000 | 1000 | 1000 | | LaserDuty | 100 | 100 | 100 | | LaserPulseDuration | 1000 | 1000 | 1000 | | LaserProgramNo | No0 | No0 | No0 | | WobbelEnable | False | False | False | | WobbelFreq / Trans / Long | 0 / 0 / 0 | 0 / 0 / 0 | 100 / 1 / 1 | | WobbelShape | ELLIPSE | ELLIPSE | ELLIPSE | | RampingStartPower / Slope / Dist | **50 / True / 3** | **50 / True / 3** | **50 / True / 3** | | RampingEndPower / Slope / Dist | **70 / True / 3** | **70 / True / 3** | **70 / True / 3** | | ArcRampingInterval | 0.1 | 0.1 | 0.1 | | Color | Red | Blue | Green | | NumberOfCount | 1 | 1 | 1 | --- ## 4. 공통 꼬리 값 — 위 10개 파라미터 전부 동일 아래 항목은 **모든 대상 파라미터에서 값이 같다.** 신규 레시피 기본값과 일치하면 손댈 필요 없다. ``` UsePowerProfile : False PowerProfileID : 0 SnowManEnable : False TiltingAngle : 0 HorizontalRadiusOfHead : 1 VerticalRadiusOfHead : 1 HorizontalRadiusOfBody : 1 VerticalRadiusOfBody : 1 HeadVelocity : 1 BodyVelocity : 1 ControlType : AngularSpeedControl DrawWay : Left VectorCount : 200 ZigzagWobbelEnable : False ZigzagWobbelAmplitude : 0.8 ZigzagWobbelPitch : 0.8 ZigzagWobbelRadius : 0.1 ZigzagWobbelLinearVelocity : 500 Description : NO DEFINE ``` (`Color`, `NumberOfCount` 만 파라미터별로 다르며, 위 표에 개별 기재) --- ## 5. 옮길 것 / 옮기면 안 되는 것 | 데이터 | 파일 | 신규 레시피로 | |---|---|---| | 용접 파라미터 | `TeachingEditor.json` → `WeldingParameters` | **옮김** (본 문서 값) | | 드로잉 좌표 | `TeachingEditor.json` → `DrawingObjects` | ❌ **재티칭** — 옛 배율로 찍힌 좌표 | | 필드스캔 격자 | `FieldHelper.json` | ❌ **절대 복사 금지** — 이번 문제의 원인 | | 비전 패턴 | `Pattern/` | 재티칭 권장 (스티칭 이미지 기준으로 잡혔을 수 있음) | | 빈 파일 | `PLCRecipe.json`, `LaserScannerTeaching.json`, `ScannerObjectTeaching.json` | 전 레시피 `{}` — 무관 | ### 검증 방법 신규 레시피 생성 후 `FieldHelper.json` 에서 Col3 X 값 확인: ``` ±9.6000 → 정상 (새 배율 0.015 mm/px) ±9.3744 → 옛 격자가 딸려옴 (재생성 실패) ``` --- ## 6. 주의 1. 본 값은 **2026-08-01 덤프 시점** 기준이다. 이후 현장에서 파라미터를 만졌다면 설비 PC에서 다시 뽑아야 한다. 2. 5·6번 레시피는 설비 PC 폴더명(`U-Frame_Pre_Back_Welding` / `U-Frame_Pre_Welding`)과 덤프 폴더명(`U-Frame_Back_Pre_Welding` / `U_Frame _pre welding`)이 달라 **동일 레시피 여부 확인 후 적용**할 것. 3. 파라미터는 이번 위치오차의 원인이 **아니다**(시도2에서 검증됨). 값 이관은 작업 편의 목적이며, 위치 정합은 신규 격자 + 재티칭으로 해결된다.