134 lines
8.3 KiB
C#

// 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
{
// ── 알람 ──────────────────────────────────────────
const string AlarmReset = "iAlarmreset";
const string HeavyAlarm = "iAlarm";
const string LightAlarm = "iLightAlarm";
const string AlarmCodes = "iPCAlarmNo"; // 10개
// ── 레이저 ───────────────────────────────────────
const string IsLaserOn = "LCI_DEVICE.LaserEnabled";
const string iLaserUse = "iPCset_LASER_USE"; // 가공 모션 시 레이저 사용 유무
// ── 홈 ───────────────────────────────────────────
const string iAllAxisHomeComplete = "iPCget_ALLAXIS_HOMECOMP";
// ── 축 번호 ──────────────────────────────────────
const string iXAxisNumber = "iPCget_LCI_ASMASK_X"; // 가공 모션 이동 X축 번호
const string iYAxisNumber = "iPCget_LCI_ASMASK_Y"; // 가공 모션 이동 Y축 번호
// ── OneShot ───────────────────────────────────────
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 ──────────────────────────────────────
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 Teaching Position 1~8 ─────────────────
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 (R구간) ───────────────────────────
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 ─────────────────────────────────
const string rWeldingCorePowerMax = "rPCset_ALINE_WEL_COREPOWER_MAX"; // 직선구간
const string rWeldingCorePowerMin = "rPCset_ALINE_WEL_COREPOWER_MIN"; // R구간
const string rWeldingRingPowerMax = "rPCset_ALINE_WEL_RINGPOWER_MAX"; // 직선구간
const string rWeldingRingPowerMin = "rPCset_ALINE_WEL_RINGPOWER_MIN"; // R구간
// ── Welding Velocity ──────────────────────────────
const string rWeldingAcc = "rPCset_ALINE_WEL_ACC";
const string rWeldingSVel = "rPCset_ALINE_WEL_SVEL"; // 직선구간 속도
const string rWeldingCVel = "rPCset_ALINE_WEL_CVEL"; // R구간 속도
const string iWeldingComplete = "iPCget_ALINE_WEL_COMP";
// ── Welding Motion Position ───────────────────────
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 Position ─────────────────────────────
// rPCset_ALINE_LASER_ON_OFFSET / LASEROFF_X / LASEROFF_OFFSET 는
// xlsx 기준 "미사용" → 정의하지 않음
const string rLaserONPosX = "rPCset_ALINE_LASER_ONPOS_X";
// ── Ramping ───────────────────────────────────────
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 (Motion On The Fly) ──────────────────────
// 26.04.09 NDY xlsx 글로벌 변수 맵 기준 확정
// iMOTFStart 변수 없음 — 시작은 RunBuffer(eBuffer.MOTF_Start)로 처리
const string rMOTFPosX = "rPCset_MOF_WEL_PPOS_X"; // Stage X (+) 위치
const string rMOTFNegX = "rPCset_MOF_WEL_MPOS_X"; // Stage X (-) 위치
const string rMOTFVelocity = "rPCset_MOF_WEL_VEL"; // 이동 속도
const string rMOTFAcc = "rPCset_MOF_WEL_ACC"; // 이동 가속도
const string iMOTFInterval = "iPCset_MOF_WEL_MOTION_INTERVAL"; // 직선 모션 사이 Delay (msec)
const string iMOTFComplete = "iPCset_MOF_WEL_COMP"; // 용접모션 완료 bit
// ── 버퍼 ─────────────────────────────────────────
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,
// Ramping = 14, // ACS 내부 버퍼, PC에서 직접 실행 안 함
MOTF_Start = 17, // 26.04.09 NDY xlsx Buffer Info 기준 확정
}
}
}