2026-01-26 14:51:28 +09:00

111 lines
4.5 KiB
C#

using Aurora.Api;
using PropertyTools.DataAnnotations;
namespace AuroraLaserScanner
{
public class ScannerConfig : IDeviceConfig
{
[Browsable(false)]
public IConnConfig ConnConfig { get; set; } = null;
//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; }
public bool Modulation { 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; }
[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;
}
}