580 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			580 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.ComponentModel;
 | |
| using System.Drawing.Design;
 | |
| using System.Linq;
 | |
| using System.Management;
 | |
| using System.Security.Policy;
 | |
| using System.Text;
 | |
| using System.Windows.Forms;
 | |
| 
 | |
| namespace AR
 | |
| {
 | |
|     public class CommonSetting : Setting
 | |
|     {
 | |
|         public CommonSetting()
 | |
|         {
 | |
|             this.filename = UTIL.MakePath("Data", "Setting.xml");
 | |
|         }
 | |
|   
 | |
| 
 | |
|         #region "log"
 | |
| 
 | |
|         [Category("System Log - Main")]
 | |
|         public Boolean Log_CameraConn { get; set; }
 | |
|         [Category("System Log - Main"), DisplayName("Digital Input"),
 | |
|         Description("Records status changes of input/output devices.")]
 | |
|         public Boolean Log_DI { get; set; }
 | |
|         [Category("System Log - Main"), DisplayName("Digital Output"),
 | |
|         Description("Records status changes of input/output devices.")]
 | |
|         public Boolean Log_DO { get; set; }
 | |
|         [Category("System Log - Main"), DisplayName("Network Alive Check(Ping)"),
 | |
|         Description("Use debug messages")]
 | |
|         public Boolean Log_Debug { get; set; }
 | |
|         [Category("System Log - Main"), DisplayName("S/M Step Change"),
 | |
|         Description("Records state machine transition status.")]
 | |
|         public Boolean Log_StepChange { get; set; }
 | |
|         [Category("System Log - Main"), DisplayName("Motion State Change"),
 | |
|         Description("Records motion state changes.")]
 | |
|         public Boolean Log_motState { get; set; }
 | |
|         [Category("System Log - Main")]
 | |
|         public Boolean Log_flag { get; set; }
 | |
|         [Category("System Log - Main")]
 | |
|         public Boolean Log_ILock { get; set; }
 | |
|         [Category("System Log - Function"), DisplayName("Inter Lock")]
 | |
|         public Boolean Enable_Log_ILock { get; set; }
 | |
|         [Category("System Log - Function"), DisplayName("Flag")]
 | |
|         public Boolean Enable_Log_Flag { get; set; }
 | |
|         [Category("System Log - Function"), DisplayName("Motor Stop Message")]
 | |
|         public Boolean Enable_Log_MotStopReason { get; set; }
 | |
| 
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region "Communication"
 | |
| 
 | |
| 
 | |
| 
 | |
|         [Category("Communication"), DisplayName("Keynece IP(Front)"), Description("Keyence Barcode IP Address")]
 | |
|         public string Keyence_IPF { get; set; }
 | |
|         [Category("Communication"), DisplayName("Keyence IP(Rear)"), Description("Keyence Barcode IP Address")]
 | |
|         public string Keyence_IPR { get; set; }
 | |
| 
 | |
|         [Category("Communication"), DisplayName("Keyence Port"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int Keyence_Port { get; set; }
 | |
| 
 | |
|         [Category("Communication"), DisplayName("Left Printer (Port)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string PrintL_Port { get; set; }
 | |
|         [Category("Communication"), DisplayName("Left Printer (Baud)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int PrintL_Baud { get; set; }
 | |
|         [Category("Communication"), DisplayName("Right Printer (Port)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string PrintR_Port { get; set; }
 | |
|         [Category("Communication"), DisplayName("Right Printer (Baud)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int PrintR_Baud { get; set; }
 | |
| 
 | |
| 
 | |
| 
 | |
|         [Category("Communication"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string Barcode_Port { get; set; }
 | |
|         [Category("Communication"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int Barcode_Baud { get; set; }
 | |
| 
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region "Time Out"
 | |
| 
 | |
|         [Category("Timeout Setting"), DisplayName(), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int Timeout_AutoConfirm { get; set; }
 | |
| 
 | |
|         [Category("Timeout Setting"), DisplayName("Job completion wait time (sec)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int Timeout_JOBEnd { get; set; }
 | |
| 
 | |
|         [Category("Timeout Setting"), DisplayName("Max vision analysis time (Loader)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int Timeout_VisionProcessL { get; set; }
 | |
| 
 | |
|         [Category("Timeout Setting"), DisplayName("Max vision analysis time (Unloader)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int Timeout_VisionProcessU { get; set; }
 | |
| 
 | |
|         [Category("Timeout Setting"), DisplayName("Equipment initialization wait time (sec)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int Timeout_HomeSearch { get; set; }
 | |
| 
 | |
|         [Category("Timeout Setting"), DisplayName("Individual operation wait time (sec)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public double Timeout_StepMaxTime { get; set; }
 | |
| 
 | |
|         [Category("Timeout Setting"), DisplayName("Max motion operation time (sec)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int Timeout_MotionCommand { get; set; }
 | |
| 
 | |
|         [Category("Timeout Setting"), DisplayName("Max DIO operation time (sec)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int Timeout_DIOCommand { get; set; }
 | |
| 
 | |
|         [Category("Timeout Setting"), DisplayName("Auto Conveyor output time (sec)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int Timeout_AutoOutConvSignal { get; set; }
 | |
| 
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         [Category("WMS")]
 | |
|         public bool WMS_DB_PROD { get; set; }
 | |
|         [Category("WMS")]
 | |
|         public string WMS_PROGRAM_ID { get; set; }
 | |
|         [Category("WMS")]
 | |
|         public string WMS_CENTER_CD { get; set; }
 | |
|         [Category("WMS")]
 | |
|         public string WMS_REG_USERID { get; set; }
 | |
| 
 | |
|         #region "Advanced Parameter"
 | |
| 
 | |
| 
 | |
|         [Category("Advanced Parameter"), DisplayName("Remote Controller Port"), Description("Debug port info (serial communication), Input example) COM1:9600"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string Serial_Remocon { get; set; }
 | |
| 
 | |
|         [Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int RetryPickOnMaxCount { get; set; }
 | |
|         [Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int RetryPickOnAngle { get; set; }
 | |
| 
 | |
| 
 | |
|         [Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public float JOG_Speed { get; set; }
 | |
|         [Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public float JOG_Acc { get; set; }
 | |
|         [Category("Advanced Parameter")]
 | |
|         public Boolean Disable_HomePortDown { get; set; }
 | |
| 
 | |
|         [Category("Advanced Parameter"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_PrinterL { get; set; }
 | |
|         [Category("Advanced Parameter"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_PrinterR { get; set; }
 | |
| 
 | |
|         [Category("Advanced Parameter"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_PLVac { get; set; }
 | |
|         [Category("Advanced Parameter"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_PRVac { get; set; }
 | |
|         [Category("Advanced Parameter"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_PKVac { get; set; }
 | |
| 
 | |
|         [Category("Advanced Parameter"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_PLAir { get; set; }
 | |
|         [Category("Advanced Parameter"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_PRAir { get; set; }
 | |
| 
 | |
|         [Category("Advanced Parameter"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_PortL { get; set; }
 | |
|         [Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_PortC { get; set; }
 | |
|         [Category("Advanced Parameter"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_PortR { get; set; }
 | |
| 
 | |
|         [Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_SIDReferenceCheck { get; set; }
 | |
| 
 | |
|         [Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_BottomAirBlow { get; set; }
 | |
| 
 | |
|         [Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Enable_ButtonStart { get; set; }
 | |
|         [Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_RequestJobSeqNo { get; set; }
 | |
|         [Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean DisableSensor_AIRCheck { get; set; }
 | |
| 
 | |
|         [Category("Advanced Parameter"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_TowerLamp { get; set; }
 | |
| 
 | |
|         [Category("Advanced Parameter"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_RoomLight { get; set; }
 | |
| 
 | |
| 
 | |
|         [Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public bool Disable_vacum { get; set; }
 | |
| 
 | |
|         [Category("Advanced Parameter"), DisplayName("*.Speed Limit")]
 | |
|         public Boolean Enable_SpeedLimit { get; set; }
 | |
|         [Category("Advanced Parameter"), DisplayName("*.Max Speed"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int LimitSpeed { get; set; }
 | |
| 
 | |
|         [Category("Advanced Parameter"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_SidQtyCheck { get; set; }
 | |
|         
 | |
|         [Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean EnableDebugMode { get; set; }
 | |
| 
 | |
|         //[Category("Advanced Parameter"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         //public int AutoConveyorReelOut { get; set; }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region "function"
 | |
|         [Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Force_JobEndBuzzer { get; set; }
 | |
| 
 | |
| 
 | |
|         [Browsable(false)]
 | |
|         public Boolean Disable_Buzzer { get; set; }
 | |
| 
 | |
|         [Browsable(false)]
 | |
|         public Boolean Enable_Magnet0 { get; set; }
 | |
| 
 | |
|         [Browsable(false)]
 | |
|         public Boolean Enable_Magnet1 { get; set; }
 | |
| 
 | |
|         [Browsable(false)]
 | |
|         public Boolean Enable_Magnet2 { get; set; }
 | |
|         [Browsable(false)]
 | |
|         public Boolean Enable_PickerCylinder { get; set; }
 | |
| 
 | |
| 
 | |
|         public string GetDataPath()
 | |
|         {
 | |
|             var di = new System.IO.DirectoryInfo(this.Path_Data);
 | |
|             return di.FullName;
 | |
|         }
 | |
| 
 | |
|         [Category("Function"), DisplayName("Label QR Code Verification"), Description("Verifies QR code of attached label with print data"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Enable_Unloader_QRValidation { get; set; }
 | |
| 
 | |
|         [Category("Function"), DisplayName("Save Captured Images"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Save_Image { get; set; }
 | |
| 
 | |
|         [Category("Function"), DisplayName("Picker Auto Move (Front Door)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean PickerAutoMoveForDoor { get; set; }
 | |
| 
 | |
|         [Category("Function"), DisplayName("Data Save Path"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string Path_Data { get; set; }
 | |
| 
 | |
|         [Category("Function"), Browsable(false), DisplayName("Room Light Auto Control"),
 | |
|         Description("Automatically turns room light ON/OFF according to door status"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Enable_AutoLight { get; set; }
 | |
| 
 | |
|         //[Category("Function"), DisplayName("AIR OFF Timer(ms)"),
 | |
|         //Description("공압 OFF시 유지 시간(ms), 지정 시간 동안 스위치를 ON 시켜야 공압이 OFF 됩니다.")]
 | |
|         //public int AirOFFTimer { get; set; }
 | |
| 
 | |
|         [Category("Function"), DisplayName("Buzzer Duration (ms)"),
 | |
|       Description("Buzzer sounds for specified duration (ms) when triggered"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int buzz_run_ms { get; set; }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region "Vision"
 | |
|         [Category("Vision"), DisplayName("13' Image Center Position"), Description("Keyence image rotation axis coordinates")]
 | |
|         public System.Drawing.Point CenterPosition13 { get; set; }
 | |
|         [Category("Vision"), DisplayName("7' Image Center Position"), Description("Keyence image rotation axis coordinates")]
 | |
|         public System.Drawing.Point CenterPosition7 { get; set; }
 | |
| 
 | |
|         [Category("Vision"), DisplayName("Disable Left Camera"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_Left { get; set; }
 | |
|         [Category("Vision"), DisplayName("Disable Right Camera"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Disable_Right { get; set; }
 | |
|         [Category("Vision"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string HostIPL { get; set; }
 | |
|         [Category("Vision"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string HostIPR { get; set; }
 | |
|         [Category("Vision"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int HostPortL { get; set; }
 | |
|         [Category("Vision"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int HostPortR { get; set; }
 | |
|         [Category("Vision"), DisplayName("Camera Filename"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string CameraLFile { get; set; }
 | |
|         [Category("Vision"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public float AngleOffsetL { get; set; }
 | |
|         [Category("Vision"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public float AngleOffsetR { get; set; }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region "Count Reset Setting"
 | |
| 
 | |
|         [Category("Count Reset Setting"), Browsable(false), DisplayName("A/M Clear Enable"),
 | |
|         Description("AM reset enabled\nSet to True to reset work count"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean datetime_Check_1 { get; set; }
 | |
|         [Category("Count Reset Setting"), Browsable(false), DisplayName("P/M Clear Enable"),
 | |
|         Description("PM reset enabled\nSet to True to reset work count"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean datetime_Check_2 { get; set; }
 | |
|         [Category("Count Reset Setting"), Browsable(false), DisplayName("A/M Clear Time(HH:mm)"),
 | |
|         Description("AM reset time(HH:mm)\nExample) 09:00"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string datetime_Reset_1 { get; set; }
 | |
|         [Category("Count Reset Setting"), Browsable(false), DisplayName("P/M Clear Time(HH:mm)"),
 | |
|         Description("PM reset time(HH:mm)\nExample) 19:00"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string datetime_Reset_2 { get; set; }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region "Sensitive"
 | |
|         [Category("Sensitive"), DisplayName("Un/Loader Port Detect (fall)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public ushort PortDetectFall { get; set; }
 | |
|         [Category("Sensitive"), DisplayName("Un/Loader Port Detect (rise)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public ushort PortDetectRise { get; set; }
 | |
|         [Category("Sensitive"), DisplayName("Door Detection Sensor (rise)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public ushort SaftyDetectRise { get; set; }
 | |
|         [Category("Sensitive"), DisplayName("Door Detection Sensor (fall)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public ushort SaftyDetectFall { get; set; }
 | |
|         [Category("Sensitive"), DisplayName("AIR Button (rise/fall)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public ushort AirChange { get; set; }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region "Operation Delay"
 | |
|         [Category("Operation Delay(ms)"), DisplayName("Wait time after label attach"), Description("PURGE wait time after label attachment"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int PrintVacOffPurgeMS { get; set; }
 | |
|         [Category("Operation Delay(sec)"), DisplayName("Cart detect wait time (Left)"), Description("Cart will be HELD after specified time - ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public ushort WaitTime_Magnet0 { get; set; }
 | |
|         [Category("Operation Delay(sec)"), DisplayName("Cart detect wait time (Center)"), Description("Cart will be HELD after specified time - ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public ushort WaitTime_Magnet1 { get; set; }
 | |
|         [Category("Operation Delay(sec)"), DisplayName("Cart detect wait time (Right)"), Description("Cart will be HELD after specified time - ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public ushort WaitTime_Magnet2 { get; set; }
 | |
|         [Category("Operation Delay(sec)"), DisplayName("Print wait time (Left)"), Description("Wait time after printer label output (Left) - ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int PrintLWaitMS { get; set; }
 | |
|         [Category("Operation Delay(sec)"), DisplayName("Print wait time (Right)"), Description("Wait time after printer label output (Right) - ms"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int PrintRWaitMS { get; set; }
 | |
|         [Category("Operation Delay(sec)"), DisplayName("Port Down Time (Unloader)"), Description("Port descends for specified time during alignment"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public float PortAlignDownTimeU { get; set; }
 | |
|         [Category("Operation Delay(sec)"), DisplayName("Port Down Time (Loader)"), Description("Port descends for specified time during alignment"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public float PortAlignDownTimeL { get; set; }
 | |
|         [Category("Operation Delay(sec)"), DisplayName("Loader Port Down Time (Finish)"), Description("Descends for specified time (ms) after job completion"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public ushort Port1FisnishDownTime { get; set; }
 | |
|         #endregion
 | |
| 
 | |
|         #region "GENERAL
 | |
|         [Category("General Setting"), DisplayName("Room Light Auto OFF Time (min)")]
 | |
|         public int AutoOffRoomLightMin { get; set; }
 | |
| 
 | |
|         [Category("General Setting"), DisplayName("Equipment Asset Number"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string Asset { get; set; }
 | |
| 
 | |
|         [Category("General Setting"), DisplayName("Equipment Name"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string McName { get; set; }
 | |
| 
 | |
|         [Category("General Setting"), DisplayName("Ignore Barcode"), Description("Ignores barcodes starting with entered value. Separate multiple entries with comma (,)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string IgnoreBarcode { get; set; }
 | |
| 
 | |
|         [Category("General Setting"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string ReelIdDeviceID { get; set; }
 | |
|         [Category("General Setting"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string ReelIdDeviceLoc { get; set; }
 | |
|         [Category("General Setting"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public bool Enable_AutoChangeModelbyHandBarcode { get; set; }
 | |
| 
 | |
|         #endregion
 | |
|         //public Boolean MoveYForPaperVaccume { get; set; }
 | |
|         [Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public float MoveYForPaperVaccumeValue { get; set; }
 | |
|         [Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public uint MoveYForPaperVaccumeVel { get; set; }
 | |
|         [Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public uint MoveYForPaperVaccumeAcc { get; set; }
 | |
|         [Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean OnlineMode { get; set; }
 | |
| 
 | |
|         //public Boolean STDLabelFormat7 { get; set; }
 | |
|         #region "Printer"
 | |
|         [Category("Printer"), DisplayName("Draw Barcode Outer Box"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean DrawOutbox { get; set; }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
| 
 | |
|         [DisplayName("Barcode Position Rotation (Rear)")]
 | |
|         public float RearBarcodeRotate { get; set; }
 | |
|         [DisplayName("Barcode Position Rotation (Front)")]
 | |
|         public float FrontBarcodeRotate { get; set; }
 | |
| 
 | |
|         [Browsable(false)]
 | |
|         public bool SystemBypass { get; set; }
 | |
| 
 | |
| 
 | |
|         #region "general"
 | |
| 
 | |
|         [Category("General Setting"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string Sidinfofilename { get; set; }
 | |
|         [Category("General Setting"), DisplayName("Bug Report Recipients"), Description("Bug report recipient list. Separate multiple recipients with semicolon"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string BugreportToList { get; set; }
 | |
| 
 | |
|         [Category("General Setting"), Browsable(false),
 | |
|         Description("Data auto-delete period (days) disabled=0"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int AutoDeleteDay { get; set; }
 | |
|         [Category("General Setting"), Browsable(false),
 | |
|        Description("Data auto-delete condition (remaining capacity %)"), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public int AutoDeleteThreshold { get; set; }
 | |
| 
 | |
|         [Category("General Setting"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string Password_Setup { get; set; }
 | |
| 
 | |
|         [Category("General Setting"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public string Language { get; set; }
 | |
| 
 | |
|         [Category("General Setting"), DisplayName("Full Screen Window State"),
 | |
|         Description("Use full screen mode."), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean FullScreen { get; set; }
 | |
| 
 | |
| 
 | |
|         #region "표시안함"
 | |
|         [Category("Sensor Detect"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Detect_CartL { get; set; }
 | |
|         [Category("Sensor Detect"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Detect_CartC { get; set; }
 | |
|         [Category("Sensor Detect"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Detect_CartR { get; set; }
 | |
|         [Category("Sensor Detect"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Detect_PrintL { get; set; }
 | |
|         [Category("Sensor Detect"), Browsable(false), Editor(typeof(MyUITypeEditor), typeof(UITypeEditor))]
 | |
|         public Boolean Detect_PrintR { get; set; }
 | |
|         //[Category("Sensor Detect"), Browsable(false)]
 | |
|         //public Boolean Detect_CenterSafty { get; set; }
 | |
|         #endregion
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region "Report"
 | |
|         [Category("Report"),
 | |
|         Description("Equipment identification code for status recording (4 digits)"),
 | |
|         DisplayName("M/C ID")]
 | |
|         public string MCID { get; set; }
 | |
| 
 | |
|         [Category("Report"),
 | |
|         Description("Saves work records to Equipment Engineering (EE) Database. Allows remote monitoring of equipment status"),
 | |
|         DisplayName("SAVE EE-DB")]
 | |
|         public Boolean Save_EEDatabase { get; set; }
 | |
|         [Category("Report"), Description("Status transmission interval (sec)")]
 | |
|         public int StatusInterval { get; set; }
 | |
|         #endregion
 | |
| 
 | |
|         #region "swplc"
 | |
|         public string swplc_name { get; set; }
 | |
|         public int swplc_size { get; set; }
 | |
|         #endregion
 | |
| 
 | |
|         [Category("Develop")]
 | |
|         public string Bugreport_mail { get; set; }
 | |
| 
 | |
|         public override void AfterLoad()
 | |
|         {
 | |
|             if (Timeout_AutoOutConvSignal < 1) Timeout_AutoOutConvSignal = 5;
 | |
|             if (WMS_CENTER_CD.isEmpty()) WMS_CENTER_CD = "V1";
 | |
|             if (WMS_PROGRAM_ID.isEmpty()) WMS_PROGRAM_ID = "LABEL ATTACH";
 | |
|             if (WMS_REG_USERID.isEmpty()) WMS_REG_USERID = "ATVLA1";
 | |
|             if (swplc_size < 1) swplc_size = 100;
 | |
|             if (swplc_name.isEmpty()) swplc_name = "swplc";
 | |
|             if (StatusInterval < 10) StatusInterval = 300; //5분간격
 | |
| 
 | |
|             var currentpath = AppDomain.CurrentDomain.BaseDirectory;
 | |
|             if (AutoOffRoomLightMin == 0) AutoOffRoomLightMin = 5;
 | |
| 
 | |
|             if (RetryPickOnAngle == 0) RetryPickOnAngle = 79;
 | |
| 
 | |
|             if (Barcode_Baud == 0) Barcode_Baud = 9600;
 | |
|             if (JOG_Speed < 1) JOG_Speed = 200;
 | |
|             if (JOG_Acc < 1) JOG_Acc = 500;
 | |
| 
 | |
|             if (PrintL_Baud == 0) PrintL_Baud = 115200;
 | |
|             if (PrintR_Baud == 0) PrintR_Baud = 115200;
 | |
| 
 | |
| 
 | |
|             if (BugreportToList.isEmpty()) BugreportToList = "chikyun.kim@amkor.co.kr";
 | |
|             if (HostIPL.isEmpty() && HostPortL < 1)
 | |
|             {
 | |
|                 HostIPL = "127.0.0.1";
 | |
|                 HostPortL = 7979;
 | |
|             }
 | |
|             if (HostIPR.isEmpty() && HostPortR < 1)
 | |
|             {
 | |
|                 HostIPR = "127.0.0.1";
 | |
|                 HostPortR = 7980;
 | |
|             }
 | |
|             if (ReelIdDeviceLoc.isEmpty()) ReelIdDeviceLoc = "4";
 | |
|             if (ReelIdDeviceID.isEmpty()) ReelIdDeviceID = "A";
 | |
|             if (IgnoreBarcode.isEmpty()) IgnoreBarcode = "{{{";
 | |
|             if (Timeout_AutoConfirm == 0) Timeout_AutoConfirm = 5;
 | |
|             //if (PrintVacOffPurgesec <= 0.0) PrintVacOffPurgesec = 1.1f;
 | |
|             if (PrintVacOffPurgeMS == 0) PrintVacOffPurgeMS = 500;
 | |
|             if (MoveYForPaperVaccumeVel == 0) MoveYForPaperVaccumeVel = 10;
 | |
|             if (MoveYForPaperVaccumeAcc == 0) MoveYForPaperVaccumeAcc = 1000;
 | |
| 
 | |
|             //포트얼라인시간 210401
 | |
|             if (PortAlignDownTimeU == 0f &&
 | |
|                 PortAlignDownTimeL == 0f)
 | |
|             {
 | |
|                 PortAlignDownTimeL = 1.5f;
 | |
|                 PortAlignDownTimeU = 1.0f;
 | |
|             }
 | |
| 
 | |
|             if (PrintLWaitMS == 0) PrintLWaitMS = 1500;
 | |
|             if (PrintRWaitMS == 0) PrintRWaitMS = 1500;
 | |
| 
 | |
|             if (WaitTime_Magnet0 == 0) WaitTime_Magnet0 = 3000;
 | |
|             if (WaitTime_Magnet1 == 0) WaitTime_Magnet1 = 3000;
 | |
|             if (WaitTime_Magnet2 == 0) WaitTime_Magnet2 = 3000;
 | |
| 
 | |
|             //if (PrintLeftName.isEmpty()) PrintLeftName = "PrinterL";
 | |
|             //if (PrintRightName.isEmpty()) PrintRightName = "PrinterR";
 | |
| 
 | |
|             if (SaftyDetectRise == 0) SaftyDetectRise = 20;
 | |
|             if (SaftyDetectFall == 0) SaftyDetectFall = 1000; //안전센서는 느리게 해제 한다
 | |
| 
 | |
|             if (Timeout_JOBEnd == 0) Timeout_JOBEnd = 10;
 | |
| 
 | |
|             if (Timeout_VisionProcessL == 0) Timeout_VisionProcessL = 10000;
 | |
|             if (Timeout_VisionProcessU == 0) Timeout_VisionProcessU = 10000;
 | |
|             if (PortDetectFall == 0) PortDetectFall = 50;
 | |
|             if (PortDetectRise == 0) PortDetectRise = 10;
 | |
| 
 | |
|             if (AirChange == 0) AirChange = 3000;
 | |
| 
 | |
|             if (Keyence_IPF.isEmpty()) Keyence_IPF = "192.168.100.100";
 | |
|             //if (Keyence_IPR.isEmpty()) Keyence_IPR = "192.168.100.101";
 | |
|             if (Keyence_Port == 0) Keyence_Port = 9004;
 | |
| 
 | |
|             //데이터베이스
 | |
|             //if (Keyence_IPL.isEmpty() == true) Keyence_IPL = "net.pipe://127.0.0.1/barcode";
 | |
|             //if (Keyence_IPR.isEmpty() == true) Keyence_IPR = "net.pipe://127.0.0.1/barcode";
 | |
| 
 | |
|             if (Timeout_MotionCommand == 0) Timeout_MotionCommand = 10;
 | |
|             if (Timeout_DIOCommand == 0) Timeout_DIOCommand = 10;
 | |
| 
 | |
|             if (AutoDeleteThreshold == 0) AutoDeleteThreshold = 20;
 | |
|             if (Timeout_HomeSearch == 0) Timeout_HomeSearch = 50;
 | |
|             //if (AirOFFTimer == 0) AirOFFTimer = 3000; //181226
 | |
|             if (Asset == "") Asset = "DEV_SPLIT";
 | |
|             if (Language.isEmpty()) Language = "Kor";
 | |
|             //if (Password_Setup.isEmpty()) Password_Setup = "0000";
 | |
| 
 | |
|             if (Path_Data == "") Path_Data = @".\SaveData";
 | |
|             try
 | |
|             {
 | |
|                 if (System.IO.Directory.Exists(GetDataPath()) == false)
 | |
|                     System.IO.Directory.CreateDirectory(GetDataPath());
 | |
|             }
 | |
|             catch
 | |
|             {
 | |
| 
 | |
|             }
 | |
|             //if (Password_User.isEmpty()) Password_User = "9999";
 | |
|         }
 | |
| 
 | |
|         public override void AfterSave()
 | |
|         {
 | |
|             //throw new NotImplementedException();
 | |
|         }
 | |
| 
 | |
|         public void CopyTo(CommonSetting dest)
 | |
|         {
 | |
|             //이곳의 모든 쓰기가능한 속성값을 대상에 써준다.
 | |
|             Type thClass = this.GetType();
 | |
|             foreach (var method in thClass.GetMethods())
 | |
|             {
 | |
|                 var parameters = method.GetParameters();
 | |
|                 if (!method.Name.StartsWith("get_")) continue;
 | |
| 
 | |
|                 string keyname = method.Name.Substring(4);
 | |
|                 string methodName = method.Name;
 | |
| 
 | |
|                 object odata = GetType().GetMethod(methodName).Invoke(this, null);
 | |
|                 var wMethod = dest.GetType().GetMethod(Convert.ToString("set_") + keyname);
 | |
|                 if (wMethod != null) wMethod.Invoke(dest, new object[] { odata });
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
| }
 | 
