86 lines
3.0 KiB
C#
86 lines
3.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using WeldingCommon.Data;
|
|
|
|
namespace WeldingCommon.Process
|
|
{
|
|
public enum JudgeType
|
|
{
|
|
NONE = 0,
|
|
CAP_PRESS = 1001,
|
|
HEIGHT_MEASURE = 1003,
|
|
STAGE_A_WELDING = 1004,
|
|
STAGE_B_WELDING = 1005,
|
|
OCT_MEASURE,
|
|
}
|
|
public class WeldingDataForPrismaticGun : WeldingData, ICloneable
|
|
{
|
|
public WeldingDataForPrismaticGun()
|
|
{
|
|
Clear();
|
|
}
|
|
public override void Clear()
|
|
{
|
|
base.Clear();
|
|
CellNo = -1;
|
|
IsCellExist = false;
|
|
IsLaserOn = false;
|
|
LaserWorkComplete = false;
|
|
IsRework = false;
|
|
IsAlreadyWelding = false;
|
|
NgJudge = (int)JudgeType.NONE;
|
|
HeightMeasurements.Clear();
|
|
}
|
|
public int CellNo { get; set; }
|
|
public bool IsCellExist { get; set; } = false;
|
|
public bool IsLaserOn { get; set; } = false;
|
|
public bool LaserWorkComplete { get; set; } = false;
|
|
public bool IsRework { get; set; } = false;
|
|
public bool IsAlreadyWelding { get; set; } = false;
|
|
public ObservableCollection<double> HeightMeasurements { get; set; } = new ObservableCollection<double>();
|
|
|
|
// PLC에서 정의되지 않은 정보를 줄 수도 있어서.. Enum으로 생성하지 않음
|
|
public int NgJudge { get => _NgJudge; set => SetProperty(ref _NgJudge, value); }
|
|
private int _NgJudge;
|
|
|
|
public string NgReason {
|
|
get {
|
|
if (Enum.IsDefined(typeof(JudgeType), NgJudge))
|
|
return Enum.GetName(typeof(JudgeType), NgJudge);
|
|
else
|
|
return $"{NgJudge}";
|
|
}
|
|
}
|
|
|
|
public object Clone()
|
|
{
|
|
var newItem = new WeldingDataForPrismaticGun();
|
|
|
|
newItem.CellNo = CellNo;
|
|
newItem.IsCellExist = IsCellExist;
|
|
newItem.IsLaserOn = IsLaserOn;
|
|
newItem.LaserWorkComplete = LaserWorkComplete;
|
|
newItem.IsRework = IsRework;
|
|
newItem.IsAlreadyWelding = IsAlreadyWelding;
|
|
newItem.NgJudge = NgJudge;
|
|
|
|
newItem.AutoRunStartTime = AutoRunStartTime;
|
|
newItem.LoadStartTime = LoadStartTime;
|
|
newItem.WeldingStartTime = WeldingStartTime;
|
|
newItem.WeldingEndTime = WeldingEndTime;
|
|
newItem.UnloadStartTime = UnloadStartTime;
|
|
newItem.WeldingSpanTimeMilliseconds = WeldingSpanTimeMilliseconds;
|
|
newItem.TodayProduct = TodayProduct;
|
|
newItem.TotalProduct = TotalProduct;
|
|
newItem.CellId = CellId;
|
|
newItem.LotId = LotId;
|
|
newItem.LBAD_Judge = LBAD_Judge;
|
|
newItem.LDD_Judge = LDD_Judge;
|
|
newItem.ScannerFiledImage = ScannerFiledImage;
|
|
UploadProcessDatas.ForEach(data => newItem.UploadProcessDatas.Add(data.Clone() as PLCReportData));
|
|
return newItem;
|
|
}
|
|
}
|
|
}
|