using System;
|
|
namespace SHARP_CLAS_UI
|
{
|
public enum En_AOI_CW
|
{
|
CW_0,
|
CW_90,
|
CW_180,
|
}
|
|
public class Tray_Info_Recipe
|
{
|
#region Property
|
public string Name { get; set; }
|
public DateTime Create_Time { get; set; }
|
public bool Ld_Reverse { get; set; }
|
public bool Uld_Reverse { get; set; }
|
public En_AOI_CW Pre_Align_CW { get; set; }
|
public En_AOI_CW AOI_Before_CW { get; set; }
|
public En_AOI_CW AOI_After_CW { get; set; }
|
|
|
public int LD_Tray_Empty_Tray_Count { get; set; }
|
public double LD_Tray_Empty_Tray_Pitch { get; set; }
|
|
public int LD_Tray_In_Tray_Count { get; set; }
|
public double LD_Tray_In_Tray_Pitch { get; set; }
|
public int LD_Tray_In_Row { get; set; }
|
|
public Tray_Row_Info[] LD_Tray_In_Row_Data { get; set; }
|
public double LD_Tray_In_Cell_Pitch_X { get; set; }
|
public double LD_Tray_In_Cell_Pitch_Y { get; set; }
|
public double LD_Tray_In_BCR_X { get; set; }
|
public double LD_Tray_In_BCR_Y { get; set; }
|
|
public int ULD_Tray_Empty_Tray_Count { get; set; }
|
public double ULD_Tray_Empty_Tray_Pitch { get; set; }
|
|
public int ULD_Tray_Ok_Tray_Count { get; set; }
|
public double ULD_Tray_Ok_Tray_Pitch { get; set; }
|
public int ULD_Tray_Ok_Row { get; set; }
|
|
public Tray_Row_Info[] ULD_Tray_Ok_Row_Data { get; set; }
|
public double ULD_Tray_Ok_Cell_Pitch_X { get; set; }
|
public double ULD_Tray_Ok_Cell_Pitch_Y { get; set; }
|
public double ULD_Tray_Ok_BCR_X { get; set; }
|
public double ULD_Tray_Ok_BCR_Y { get; set; }
|
|
public int ULD_Tray_Ng_Tray_Count { get; set; }
|
public double ULD_Tray_Ng_Tray_Pitch { get; set; }
|
public int ULD_Tray_Ng_Row { get; set; }
|
|
public Tray_Row_Info[] ULD_Tray_Ng_Row_Data { get; set; }
|
public double ULD_Tray_Ng_Cell_Pitch_X { get; set; }
|
public double ULD_Tray_Ng_Cell_Pitch_Y { get; set; }
|
public double ULD_Tray_Ng_BCR_X { get; set; }
|
public double ULD_Tray_Ng_BCR_Y { get; set; }
|
|
public string Tray_Compare_ID { get; set; }
|
#endregion
|
|
#region Construct
|
public Tray_Info_Recipe()
|
{
|
Name = string.Empty;
|
Create_Time = DateTime.Now;
|
Ld_Reverse = false;
|
Uld_Reverse = false;
|
Pre_Align_CW = En_AOI_CW.CW_0;
|
AOI_Before_CW = En_AOI_CW.CW_0;
|
AOI_After_CW = En_AOI_CW.CW_0;
|
|
LD_Tray_Empty_Tray_Count = 0;
|
LD_Tray_Empty_Tray_Pitch = 0;
|
|
LD_Tray_In_Tray_Count = 0;
|
LD_Tray_In_Tray_Pitch = 0;
|
LD_Tray_In_Row = 0;
|
LD_Tray_In_Row_Data = new Tray_Row_Info[0];
|
LD_Tray_In_Cell_Pitch_X = 0;
|
LD_Tray_In_Cell_Pitch_Y = 0;
|
LD_Tray_In_BCR_X = 0;
|
LD_Tray_In_BCR_Y = 0;
|
|
ULD_Tray_Empty_Tray_Count = 0;
|
ULD_Tray_Empty_Tray_Pitch = 0;
|
|
ULD_Tray_Ok_Tray_Count = 0;
|
ULD_Tray_Ok_Tray_Pitch = 0;
|
ULD_Tray_Ok_Row = 0;
|
ULD_Tray_Ok_Row_Data = new Tray_Row_Info[0];
|
ULD_Tray_Ok_Cell_Pitch_X = 0;
|
ULD_Tray_Ok_Cell_Pitch_Y = 0;
|
ULD_Tray_Ok_BCR_X = 0;
|
ULD_Tray_Ok_BCR_Y = 0;
|
|
ULD_Tray_Ng_Tray_Count = 0;
|
ULD_Tray_Ng_Tray_Pitch = 0;
|
ULD_Tray_Ng_Row = 0;
|
ULD_Tray_Ng_Row_Data = new Tray_Row_Info[0];
|
ULD_Tray_Ng_Cell_Pitch_X = 0;
|
ULD_Tray_Ng_Cell_Pitch_Y = 0;
|
ULD_Tray_Ng_BCR_X = 0;
|
ULD_Tray_Ng_BCR_Y = 0;
|
|
Tray_Compare_ID = string.Empty;
|
}
|
#endregion
|
|
#region Function
|
public Tray_Info_Recipe Clone()
|
{
|
Tray_Info_Recipe info = new Tray_Info_Recipe();
|
|
info.Name = this.Name;
|
info.Create_Time = this.Create_Time;
|
info.Ld_Reverse = this.Ld_Reverse;
|
info.Uld_Reverse = this.Uld_Reverse;
|
info.Pre_Align_CW = this.Pre_Align_CW;
|
info.AOI_Before_CW = this.AOI_Before_CW;
|
info.AOI_After_CW = this.AOI_After_CW;
|
|
info.LD_Tray_Empty_Tray_Count = this.LD_Tray_Empty_Tray_Count;
|
info.LD_Tray_Empty_Tray_Pitch = this.LD_Tray_Empty_Tray_Pitch;
|
info.LD_Tray_In_Tray_Count = this.LD_Tray_In_Tray_Count;
|
info.LD_Tray_In_Tray_Pitch = this.LD_Tray_In_Tray_Pitch;
|
info.Set_LD_Tray_In_Row(LD_Tray_In_Row);
|
|
for(int i = 0; i < LD_Tray_In_Row; i++)
|
{
|
info.LD_Tray_In_Row_Data[i] = this.LD_Tray_In_Row_Data[i].Clone();
|
}
|
|
info.LD_Tray_In_Cell_Pitch_X = this.LD_Tray_In_Cell_Pitch_X;
|
info.LD_Tray_In_Cell_Pitch_Y = this.LD_Tray_In_Cell_Pitch_Y;
|
info.LD_Tray_In_BCR_X = this.LD_Tray_In_BCR_X;
|
info.LD_Tray_In_BCR_Y = this.LD_Tray_In_BCR_Y;
|
info.ULD_Tray_Empty_Tray_Count = this.ULD_Tray_Empty_Tray_Count;
|
info.ULD_Tray_Empty_Tray_Pitch = this.ULD_Tray_Empty_Tray_Pitch;
|
info.ULD_Tray_Ok_Tray_Count = this.ULD_Tray_Ok_Tray_Count;
|
info.ULD_Tray_Ok_Tray_Pitch = this.ULD_Tray_Ok_Tray_Pitch;
|
info.Set_ULD_Tray_Ok_Row(this.ULD_Tray_Ok_Row);
|
|
for (int i = 0; i < ULD_Tray_Ok_Row; i++)
|
{
|
info.ULD_Tray_Ok_Row_Data[i] = this.ULD_Tray_Ok_Row_Data[i].Clone();
|
}
|
|
info.ULD_Tray_Ok_Cell_Pitch_X = this.ULD_Tray_Ok_Cell_Pitch_X;
|
info.ULD_Tray_Ok_Cell_Pitch_Y = this.ULD_Tray_Ok_Cell_Pitch_Y;
|
info.ULD_Tray_Ok_BCR_X = this.ULD_Tray_Ok_BCR_X;
|
info.ULD_Tray_Ok_BCR_Y = this.ULD_Tray_Ok_BCR_Y;
|
info.ULD_Tray_Ng_Tray_Count = this.ULD_Tray_Ng_Tray_Count;
|
info.ULD_Tray_Ng_Tray_Pitch = this.ULD_Tray_Ng_Tray_Pitch;
|
info.Set_ULD_Tray_Ng_Row(this.ULD_Tray_Ng_Row);
|
|
for (int i = 0; i < ULD_Tray_Ng_Row; i++)
|
{
|
info.ULD_Tray_Ng_Row_Data[i] = this.ULD_Tray_Ng_Row_Data[i].Clone();
|
}
|
|
info.ULD_Tray_Ng_Cell_Pitch_X = this.ULD_Tray_Ng_Cell_Pitch_X;
|
info.ULD_Tray_Ng_Cell_Pitch_Y = this.ULD_Tray_Ng_Cell_Pitch_Y;
|
info.ULD_Tray_Ng_BCR_X = this.ULD_Tray_Ng_BCR_X;
|
info.ULD_Tray_Ng_BCR_Y = this.ULD_Tray_Ng_BCR_Y;
|
|
info.Tray_Compare_ID = this.Tray_Compare_ID;
|
return info;
|
}
|
|
public void Set_LD_Tray_In_Row(int row)
|
{
|
if (row < 0) return;
|
|
LD_Tray_In_Row = row;
|
|
if (LD_Tray_In_Row >= 0)
|
{
|
if (LD_Tray_In_Row_Data != null && LD_Tray_In_Row_Data.Length > 0)
|
{
|
Tray_Row_Info[] data = new Tray_Row_Info[LD_Tray_In_Row];
|
|
int length = data.Length > LD_Tray_In_Row_Data.Length ? LD_Tray_In_Row_Data.Length : data.Length;
|
Array.Copy(LD_Tray_In_Row_Data, data, length);
|
|
LD_Tray_In_Row_Data = new Tray_Row_Info[LD_Tray_In_Row];
|
|
for (int i = 0; i < LD_Tray_In_Row_Data.Length; i++)
|
{
|
LD_Tray_In_Row_Data[i] = new Tray_Row_Info();
|
LD_Tray_In_Row_Data[i].Row = i + 1;
|
|
if (i < data.Length && data[i] != null)
|
{
|
LD_Tray_In_Row_Data[i] = data[i].Clone();
|
}
|
}
|
}
|
else
|
{
|
LD_Tray_In_Row_Data = new Tray_Row_Info[LD_Tray_In_Row];
|
|
for (int i = 0; i < LD_Tray_In_Row_Data.Length; i++)
|
{
|
LD_Tray_In_Row_Data[i] = new Tray_Row_Info();
|
LD_Tray_In_Row_Data[i].Row = i + 1;
|
}
|
}
|
}
|
}
|
|
public void Set_ULD_Tray_Ok_Row(int row)
|
{
|
if (row < 0) return;
|
|
ULD_Tray_Ok_Row = row;
|
|
if (ULD_Tray_Ok_Row >= 0)
|
{
|
if (ULD_Tray_Ok_Row_Data != null && ULD_Tray_Ok_Row_Data.Length > 0)
|
{
|
Tray_Row_Info[] data = new Tray_Row_Info[ULD_Tray_Ok_Row];
|
|
int length = data.Length > ULD_Tray_Ok_Row_Data.Length ? ULD_Tray_Ok_Row_Data.Length : data.Length;
|
Array.Copy(ULD_Tray_Ok_Row_Data, data, length);
|
|
ULD_Tray_Ok_Row_Data = new Tray_Row_Info[ULD_Tray_Ok_Row];
|
|
for (int i = 0; i < ULD_Tray_Ok_Row_Data.Length; i++)
|
{
|
ULD_Tray_Ok_Row_Data[i] = new Tray_Row_Info();
|
ULD_Tray_Ok_Row_Data[i].Row = i + 1;
|
|
if (i < data.Length)
|
{
|
ULD_Tray_Ok_Row_Data[i] = data[i].Clone();
|
}
|
}
|
}
|
else
|
{
|
ULD_Tray_Ok_Row_Data = new Tray_Row_Info[ULD_Tray_Ok_Row];
|
|
for (int i = 0; i < ULD_Tray_Ok_Row_Data.Length; i++)
|
{
|
ULD_Tray_Ok_Row_Data[i] = new Tray_Row_Info();
|
ULD_Tray_Ok_Row_Data[i].Row = i + 1;
|
}
|
}
|
}
|
}
|
|
public void Set_ULD_Tray_Ng_Row(int row)
|
{
|
if (row < 0) return;
|
|
ULD_Tray_Ng_Row = row;
|
|
if (ULD_Tray_Ng_Row >= 0)
|
{
|
if (ULD_Tray_Ng_Row_Data != null && ULD_Tray_Ng_Row_Data.Length > 0)
|
{
|
Tray_Row_Info[] data = new Tray_Row_Info[ULD_Tray_Ng_Row];
|
|
int length = data.Length > ULD_Tray_Ng_Row_Data.Length ? ULD_Tray_Ng_Row_Data.Length : data.Length;
|
Array.Copy(ULD_Tray_Ng_Row_Data, data, length);
|
|
ULD_Tray_Ng_Row_Data = new Tray_Row_Info[ULD_Tray_Ng_Row];
|
|
for (int i = 0; i < ULD_Tray_Ng_Row_Data.Length; i++)
|
{
|
ULD_Tray_Ng_Row_Data[i] = new Tray_Row_Info();
|
ULD_Tray_Ng_Row_Data[i].Row = i + 1;
|
|
if (i < data.Length)
|
{
|
ULD_Tray_Ng_Row_Data[i] = data[i].Clone();
|
}
|
}
|
}
|
else
|
{
|
ULD_Tray_Ng_Row_Data = new Tray_Row_Info[ULD_Tray_Ng_Row];
|
|
for (int i = 0; i < ULD_Tray_Ng_Row_Data.Length; i++)
|
{
|
ULD_Tray_Ng_Row_Data[i] = new Tray_Row_Info();
|
ULD_Tray_Ng_Row_Data[i].Row = i + 1;
|
}
|
}
|
}
|
}
|
#endregion
|
}
|
}
|