- WeldingCommon/Devices/ACS/ScannerACS.cs Gun(PrismaticGunACS) 기반 Scanner 전용 ACS 구현 (IScannerACS 인터페이스 + MOTF 3개 메서드 추가) - WeldingCommon/Devices/ACS/ScannerACS.Parameter.cs Gun Parameter 기반 변수명 통합 + eOutType enum 추가 (MOTF 변수명 placeholder - 변수 맵 수신 후 교체 필요) - WeldingCommon/Views/ACS/Stage/ UCStageManual, UCMotorAxses, UCStageMotorMoving Gun Stage View 기반 Scanner X축 전용으로 단순화 Manual 메뉴에 Stage Manual 서브메뉴 추가 - SeqComponentTeachingRun.cs _ACS(IScannerACS) 필드 선언 및 InitDev() 취득 MOTFStart() / CheckMOTFComp() 주석으로 자리 확보 TODO: 이정인 선임 ACS 변수 맵 수신 후 - ScannerACS.Parameter.cs 변수명/버퍼 번호 교체 - MOTFStart() / CheckMOTFComp() 주석 해제 - Stage Manual 시퀀스/설정 추가 여부 확인 - Y/Z축 제어 필요 여부 확인
168 lines
9.3 KiB
C#
168 lines
9.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
|
|
{
|
|
// ── 알람 ──────────────────────────────────────────
|
|
// 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
|
|
}
|
|
} |