124 lines
5.4 KiB
C#
124 lines
5.4 KiB
C#
using Aurora.Api;
|
|
using PropertyTools.DataAnnotations;
|
|
|
|
namespace AuroraLaserScanner
|
|
{
|
|
public class ScannerConfig : IDeviceConfig
|
|
{
|
|
[Browsable(false)]
|
|
public IConnConfig ConnConfig { get; set; } = null;
|
|
[DisplayName("Simulation Mode (this device)")]
|
|
public bool IsDeviceSimul { get; set; } = false;
|
|
|
|
//RTC type도 Device로 빼자...
|
|
public eRTCType Type { get; set; }
|
|
[SelectorStyle(SelectorStyle.ComboBox)]
|
|
public eScannerNo ScannerId { get; set; } = eScannerNo.SCANNER_0;
|
|
|
|
[Category("Head")]
|
|
public uint PrimaryHeadNo { get; set; }
|
|
public uint SecondHeadNo { get; set; }
|
|
|
|
[Category("Mode")]
|
|
public uint ControlMode { get; set; }
|
|
public eLaserMode LaserMode { get; set; }
|
|
public uint LaserControl { get; set; }
|
|
|
|
[Category("Scanner Delay")]
|
|
public uint JumpDelay { get; set; }
|
|
public uint MarkDelay { get; set; }
|
|
public uint PolygonDelay { get; set; }
|
|
|
|
[Category("Laser Delay")]
|
|
public int LaserOnDelay { get; set; }
|
|
public uint LaserOffDelay { get; set; }
|
|
public uint LaserPeriod { get; set; }
|
|
public uint Laser1PulseWidth { get; set; }
|
|
|
|
[Category("Speed")]
|
|
public uint MarkSpeed { get; set; }
|
|
public uint JumpSpeed { get; set; }
|
|
public double ScaleXYFactor { get; set; }
|
|
public double ScaleZFactor { get; set; }
|
|
public uint FirstPulseKiller { get; set; }
|
|
public bool Use3DMode { get; set; }
|
|
|
|
[Category("File")]
|
|
[InputFilePath]
|
|
public string ProgramFile { get; set; }
|
|
[InputFilePath]
|
|
public string CorrectionFile { get; set; }
|
|
[InputFilePath]
|
|
public string LaserCorrectionFile { get; set; }
|
|
public bool UseEncoderFeedbackMode { get; set; }
|
|
|
|
[Category("Marking On The Fly(MOTF)")]
|
|
public bool UseMarkingOnTheFly { get; set; }
|
|
public double MarkingOnTheFlyEncoderResolutionX { get; set; }
|
|
public double MarkingOnTheFlyEncoderResolutionY { get; set; }
|
|
public double MarkingOnTheFlyEncoderResolutionRotate { get; set; }
|
|
public double MarkingOnTheFlyRotateCenterX { get; set; }
|
|
public double MarkingOnTheFlyRotateCenterY { get; set; }
|
|
public double MarkingStartEncoderPositionX { get; set; }
|
|
public double MarkingRangeMinX { get; set; }
|
|
public double MarkingRangeMaxX { get; set; }
|
|
public double MarkingRangeMaxY { get; set; }
|
|
public double MarkingRangeMinRotate { get; set; }
|
|
public double MarkingRangeMaxRotate { get; set; }
|
|
public double MarkingOntheFlyOffsetX { get; set; }
|
|
public double MarkingOntheFlyOffsetY { get; set; }
|
|
public double MarkingOntheFlyParkingPositionX { get; set; }
|
|
public double MarkingOntheFlyParkingPositionY { get; set; }
|
|
public eWaitEncoderMode MarkingStartWaitMode { get; set; }
|
|
public eOntheFlyCoordinate OnTheFlyCoordinate { get; set; }
|
|
public double FlySpeedInterlock { get; set; }
|
|
public double RotaryEncoderOffset { get; set; }
|
|
public double MOTFStageSpeed { get; set; }
|
|
|
|
#region 26.04.08 NDY MOTF Limit(추적 오차 한계) 변수 추가 --- RTC5에 있는 보드num 과 x,y,z에 대한 limit bit수를 입력하면 해당 오차 벗어나면 알려주는 메소드가 존재합니다. 현재는 stop을 직접하니깐 변수 추가하고 메소드 추가추가해서 사용하는 방식으로 확인 부탁드립니다.
|
|
[DisplayName("Tracking Error Limit X (mm)")]
|
|
public double FlyLimitXmm { get; set; } = 28.0; // 60 FOV 기준 약 90% 지점 - bit로 자동 변환되는지를 확인 해야함.
|
|
|
|
[DisplayName("Tracking Error Limit Y (mm)")]
|
|
public double FlyLimitYmm { get; set; } = 28.0;
|
|
|
|
[DisplayName("Tracking Error Limit Z (mm)")]
|
|
public double FlyLimitZmm { get; set; } = 10.0; // 3D 모드 사용 시
|
|
#endregion
|
|
|
|
|
|
[Category("Scan Area Size")]
|
|
public double ScanXSize { get; set; }
|
|
public double ScanYSize { get; set; }
|
|
public double ScanZSize { get; set; }
|
|
|
|
[Category("Scan Translation")]
|
|
public double TranslationXOffset { get; set; }
|
|
public double TranslationYOffset { get; set; }
|
|
public double TranslationAngle { get; set; }
|
|
|
|
[Category("Laser Signal")]
|
|
public eLaserSignal LaserSiganlPin2 { get; set; } = eLaserSignal.LASERON;
|
|
public eLaserSignal LaserSiganlPin1 { get; set; } = eLaserSignal.LASER1;
|
|
public eLaserSignal LaserSiganlPin9 { get; set; } = eLaserSignal.LASER2;
|
|
|
|
[Category("Record Siganl")]
|
|
public bool UseRecordSignal { get; set; } = false;
|
|
|
|
public eRecordSignal RecordSignalType1 { get; set; } = eRecordSignal.Encoder0;
|
|
public eRecordSignal RecordSignalType2 { get; set; } = eRecordSignal.Encoder1;
|
|
public eRecordSignal RecordSignalType3 { get; set; } = eRecordSignal.AnalogOut1;
|
|
public eRecordSignal RecordSignalType4 { get; set; } = eRecordSignal.AnalogOut2;
|
|
public uint RecordPeriod { get; set; } = 10;
|
|
|
|
[Category("Ethernet Connection")]
|
|
public eEthConfigLinkLossMode EthernetConfigLinkLoss { get; set; }
|
|
|
|
[Category("List Configuration")]
|
|
[DisplayName("List1 Memory Size")]
|
|
public uint memory1 { get; set; } = 800000;
|
|
[DisplayName("List2 Memory Size")]
|
|
public uint memory2 { get; set; } = 200000;
|
|
}
|
|
}
|