// WeldingCommon/Devices/ACS/ScannerACS.Parameter.cs // Gun(PrismaticGunACS.Parameter.cs) 기반으로 Scanner용으로 통합 // 26.04.06 NDY using AuroraACS; namespace WeldingCommon.Devices.ACS { // ── 레이저 출력 타입 ────────────────────────────────────── // Gun의 MainRecipe.eOutType과 동일 // partial class 밖에 정의 → IScannerACS 인터페이스에서도 참조 가능 public enum eOutType { Analog, // V Interval, // hz } public partial class ScannerACS { // ── 알람 ────────────────────────────────────────── // Gun과 동일 const string AlarmReset = "iAlarmreset"; const string HeavyAlarm = "iAlarm"; const string LightAlarm = "iLightAlarm"; const string AlarmCodes = "iPCAlarmNo"; // 10개 // ── 레이저 ─────────────────────────────────────── // Gun과 동일 const string IsLaserOn = "LCI_DEVICE.LaserEnabled"; const string iLaserUse = "iPCset_LASER_USE"; const string iAStageLCType = "iPCset_ALINE_LCTYPE"; // ── 홈 ─────────────────────────────────────────── // Gun과 동일 const string iAllAxisHomeComplete = "iPCget_ALLAXIS_HOMECOMP"; // ── 축 번호 ────────────────────────────────────── // Gun과 동일 const string iXAxisNumber = "iPCget_LCI_ASMASK_X"; const string iYAxisNumber = "iPCget_LCI_ASMASK_Y"; // ── 레이저 모드 ─────────────────────────────────── // Gun과 동일 const string iALaserShotMode = "iPCset_ALASER_SHOT_MODE"; // ── OneShot ─────────────────────────────────────── // Gun과 동일 const string rOneShotTime = "rPCset_ALINE_SHOT_TIME"; const string rOneShotCoreVoltage = "rPCset_ALINE_SHOT_CORE_VOLTAGE"; const string rOneShotRingVoltage = "rPCset_ALINE_SHOT_RING_VOLTAGE"; const string iOneShotComplete = "iPCget_ALINE_SHOT_COMP"; // ── LineShot ────────────────────────────────────── // Gun과 동일 const string rLineWeldingCoreVoltage = "rPCset_ALINE_LINE_CORE_VOLTAGE"; const string rLineWeldingRingVoltage = "rPCset_ALINE_LINE_RING_VOLTAGE"; const string rLineWeldingVel = "rPCset_ALINE_LINE_VEL"; const string rLineWeldingAcc = "rPCset_ALINE_LINE_ACC"; const string rLineWeldingLaserOnX = "rPCset_ALINE_LINE_LASERON_X"; const string rLineWeldingLaserOnY = "rPCset_ALINE_LINE_LASERON_Y"; const string rLineWeldingLaserOffX = "rPCset_ALINE_LINE_LASEROFF_X"; const string rLineWeldingLaserOffY = "rPCset_ALINE_LINE_LASEROFF_Y"; const string iLineWeldingComplete = "iPCget_ALINE_LINE_COMP"; // ── Welding Position 1~8 ────────────────────────── // Gun과 동일 const string rWeldingPosition1PosX = "rPCset_ALINE_WeldingPosition1_X"; const string rWeldingPosition1PosY = "rPCset_ALINE_WeldingPosition1_Y"; const string rWeldingPosition2PosX = "rPCset_ALINE_WeldingPosition2_X"; const string rWeldingPosition2PosY = "rPCset_ALINE_WeldingPosition2_Y"; const string rWeldingPosition3PosX = "rPCset_ALINE_WeldingPosition3_X"; const string rWeldingPosition3PosY = "rPCset_ALINE_WeldingPosition3_Y"; const string rWeldingPosition4PosX = "rPCset_ALINE_WeldingPosition4_X"; const string rWeldingPosition4PosY = "rPCset_ALINE_WeldingPosition4_Y"; const string rWeldingPosition5PosX = "rPCset_ALINE_WeldingPosition5_X"; const string rWeldingPosition5PosY = "rPCset_ALINE_WeldingPosition5_Y"; const string rWeldingPosition6PosX = "rPCset_ALINE_WeldingPosition6_X"; const string rWeldingPosition6PosY = "rPCset_ALINE_WeldingPosition6_Y"; const string rWeldingPosition7PosX = "rPCset_ALINE_WeldingPosition7_X"; const string rWeldingPosition7PosY = "rPCset_ALINE_WeldingPosition7_Y"; const string rWeldingPosition8PosX = "rPCset_ALINE_WeldingPosition8_X"; const string rWeldingPosition8PosY = "rPCset_ALINE_WeldingPosition8_Y"; // ── Welding Arc ─────────────────────────────────── // Gun과 동일 const string rWeldingEdgePointRad1 = "rPCset_ALINE_EdgePointRad1"; const string rWeldingEdgePointRad2 = "rPCset_ALINE_EdgePointRad2"; const string rWeldingEdgePointRad3 = "rPCset_ALINE_EdgePointRad3"; const string rWeldingEdgePointRad4 = "rPCset_ALINE_EdgePointRad4"; // ── Welding Power ───────────────────────────────── // Gun과 동일 const string rWeldingCorePowerMax = "rPCset_ALINE_WEL_COREPOWER_MAX"; const string rWeldingCorePowerMin = "rPCset_ALINE_WEL_COREPOWER_MIN"; const string rWeldingRingPowerMax = "rPCset_ALINE_WEL_RINGPOWER_MAX"; const string rWeldingRingPowerMin = "rPCset_ALINE_WEL_RINGPOWER_MIN"; // ── Welding Velocity ────────────────────────────── // Gun과 동일 const string rWeldingAcc = "rPCset_ALINE_WEL_ACC"; const string rWeldingSVel = "rPCset_ALINE_WEL_SVEL"; const string rWeldingCVel = "rPCset_ALINE_WEL_CVEL"; const string iWeldingComplete = "iPCget_ALINE_WEL_COMP"; // ── Welding Position ────────────────────────────── // Gun과 동일 const string rWeldingStartPosX = "rPCset_ALINE_WEL_ST_POS_X"; const string rWeldingStartPosY = "rPCset_ALINE_WEL_ST_POS_Y"; const string rWeldingEndPosX = "rPCset_ALINE_WEL_EN_POS_X"; const string rWeldingEndPosY = "rPCset_ALINE_WEL_EN_POS_Y"; // ── Laser ON/OFF Position ───────────────────────── // Gun과 동일 const string rLaserONPosX = "rPCset_ALINE_LASER_ONPOS_X"; const string rLaserONOffset = "rPCset_ALINE_LASER_ON_OFFSET"; const string rLaserOFFPosX = "rPCset_ALINE_LASER_OFFPOS_X"; const string rLaserOFFOffset = "rPCset_ALINE_LASER_OFF_OFFSET"; // ── Ramping ─────────────────────────────────────── // Gun과 동일 const string rRampingONOverlapDist = "rPCset_ALINE_RAMP_ON_OVERLAP_DIS"; const string rRampingONStartPower = "rPCset_ALINE_RAMP_ON_STARTPOWER"; const string rRampingOFFStartPosX = "rPCset_ALINE_RAMP_OFF_STPOS_X"; const string rRampingOFFOverlapDist = "rPCset_ALINE_RAMP_OFF_OVERLAP_DIS"; const string rRampingOFFEndPower = "rPCset_ALINE_RAMP_OFF_ENDPOWER"; // ── MOTF (Mark On The Fly) ──────────────────────── // Scanner 전용 추가 (Gun에 없음) // TODO: 이정인 선임 ACS 변수 맵 수신 후 실제 변수명으로 교체 const string iMOTFStart = "iPCset_SCANNER_MOTF_START"; // placeholder const string iMOTFComplete = "iPCget_SCANNER_MOTF_COMP"; // placeholder const string rMOTFVelocity = "rPCset_SCANNER_MOTF_VEL"; // placeholder const string rMOTFAcc = "rPCset_SCANNER_MOTF_ACC"; // placeholder // ── 버퍼 ───────────────────────────────────────── // Gun과 동일 + MOTF 추가 private enum eBuffer { All_Axis_Home = 0, AxisX1_Home = 1, AxisX2_Home = 2, AxisY1_Home = 3, AxisY2_Home = 4, AxisZ_Home = 5, Welding_Line = 11, Welding_AllRound = 12, Welding_OneShot = 13, // TODO: Scanner MOTF 버퍼 번호 확인 후 수정 MOTF_Start = 14, // placeholder } #region 변수 맵 받으면 작업 순서 // 1. ScannerACS.Parameter.cs // → iMOTFStart, iMOTFComplete, rMOTFVelocity, rMOTFAcc placeholder → 실제 변수명 교체 // → eBuffer.MOTF_Start 번호 교체 // 2. ScannerACS.cs // → 축 번호 검증 (ACSMotor 생성 시 넣은 번호) // 3. EquipDef.cs // → MotorIds의 eMotorIdx 번호 검증 // 4. SeqComponentTeachingRun.cs // → _ACS?.MOTFStart() 주석 해제 // → CheckMOTFComp() 주석 해제 // → CheckDeviceReady() DeviceIds.ACS 주석 해제 // 5. 빌드 후 실제 장비에서 동작 확인 #endregion } }