220 lines
6.1 KiB
C#
220 lines
6.1 KiB
C#
|
|
using MainShell.Common;
|
|||
|
|
using MwFramework.Controls.UIControl;
|
|||
|
|
using MwFramework.ManagerService;
|
|||
|
|
using Stylet;
|
|||
|
|
|
|||
|
|
namespace MainShell.ParaSetting.Model
|
|||
|
|
{
|
|||
|
|
public abstract class RunProcessParameterItemBase : PropertyChangedBase, IParameterItem
|
|||
|
|
{
|
|||
|
|
private bool _enableProcess;
|
|||
|
|
|
|||
|
|
public bool EnableProcess
|
|||
|
|
{
|
|||
|
|
get { return _enableProcess; }
|
|||
|
|
set { SetAndNotify(ref _enableProcess, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public IParameterItem Clone()
|
|||
|
|
{
|
|||
|
|
return this.MemberwiseClone() as IParameterItem;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class ProductLoadProcessParameter : RunProcessParameterItemBase
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class ProductUnloadProcessParameter : RunProcessParameterItemBase
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class ProductPositionProcessParameter : RunProcessParameterItemBase
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
private double _glassMarkDisMaxOffset = 0.01;
|
|||
|
|
[WatchValue("<22><>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>")]
|
|||
|
|
public double GlassMarkDisMaxOffset
|
|||
|
|
{
|
|||
|
|
get { return _glassMarkDisMaxOffset; }
|
|||
|
|
set { SetAndNotify(ref _glassMarkDisMaxOffset, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
private double _pcbLimitAngle = 0.5;
|
|||
|
|
|
|||
|
|
public double PcbLimitAngle
|
|||
|
|
{
|
|||
|
|
get { return _pcbLimitAngle; }
|
|||
|
|
set { SetAndNotify(ref _pcbLimitAngle, value); }
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class ProductHeightMeasureProcessParameter : RunProcessParameterItemBase
|
|||
|
|
{
|
|||
|
|
private double _heightMeasureLimit = 0.04;
|
|||
|
|
public double HeightMeasureLimit
|
|||
|
|
{
|
|||
|
|
get { return _heightMeasureLimit; }
|
|||
|
|
set { SetAndNotify(ref _heightMeasureLimit, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private bool _useHeightOffset = true;
|
|||
|
|
[WatchValue("ʹ<>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>")]
|
|||
|
|
public bool UseHeightOffset
|
|||
|
|
{
|
|||
|
|
get { return _useHeightOffset; }
|
|||
|
|
set { SetAndNotify(ref _useHeightOffset, value); }
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class WaferLoadProcessParameter : RunProcessParameterItemBase
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class WaferUnloadProcessParameter : RunProcessParameterItemBase
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class WaferStraightenProcessParameter : RunProcessParameterItemBase
|
|||
|
|
{
|
|||
|
|
private bool _useSingleStraighten;
|
|||
|
|
[WatchValue("ʹ<>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>ֱ")]
|
|||
|
|
public bool UseSingleStraighten
|
|||
|
|
{
|
|||
|
|
get { return _useSingleStraighten; }
|
|||
|
|
set { SetAndNotify(ref _useSingleStraighten, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
private bool _straightAngleDirX = true;
|
|||
|
|
[WatchValue("<22><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>X")]
|
|||
|
|
public bool StraightAngleDirX
|
|||
|
|
{
|
|||
|
|
get { return _straightAngleDirX; }
|
|||
|
|
set { SetAndNotify(ref _straightAngleDirX, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private int _maxBadDieCount = 100;
|
|||
|
|
|
|||
|
|
public int MaxBadDieCount
|
|||
|
|
{
|
|||
|
|
get { return _maxBadDieCount; }
|
|||
|
|
set { SetAndNotify(ref _maxBadDieCount, value); }
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class DieRecognizeProcessParameter : RunProcessParameterItemBase
|
|||
|
|
{
|
|||
|
|
private bool _useSingleWaferPosition;
|
|||
|
|
[WatchValue("ʹ<>õ<EFBFBD><C3B5><EFBFBD>оƬ<D0BE><C6AC>λ")]
|
|||
|
|
public bool UseSingleWaferPosition
|
|||
|
|
{
|
|||
|
|
get { return _useSingleWaferPosition; }
|
|||
|
|
set { SetAndNotify(ref _useSingleWaferPosition, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private bool _useWaferWaveCheck;
|
|||
|
|
public bool UseWaferWaveCheck
|
|||
|
|
{
|
|||
|
|
get { return _useWaferWaveCheck; }
|
|||
|
|
set { SetAndNotify(ref _useWaferWaveCheck, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private bool _changePid = true;
|
|||
|
|
[WatchValue("PID<49>л<EFBFBD>")]
|
|||
|
|
public bool ChangePid
|
|||
|
|
{
|
|||
|
|
get { return _changePid; }
|
|||
|
|
set { SetAndNotify(ref _changePid, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private double _dieAngleThreshold = 3;
|
|||
|
|
[WatchValue("<22><><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD>ֵ")]
|
|||
|
|
public double DieAngleThreshold
|
|||
|
|
{
|
|||
|
|
get { return _dieAngleThreshold; }
|
|||
|
|
set { SetAndNotify(ref _dieAngleThreshold, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private WaferScanMode _waferScanMode = WaferScanMode.FullScan;
|
|||
|
|
[WatchValue("оƬɨ<C6AC><C9A8>ģʽ")]
|
|||
|
|
public WaferScanMode WaferScanMode
|
|||
|
|
{
|
|||
|
|
get { return _waferScanMode; }
|
|||
|
|
set { SetAndNotify(ref _waferScanMode, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class BondingProcessParameter : RunProcessParameterItemBase
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
|
|||
|
|
private bool _isNeedleUpWhenBonding;
|
|||
|
|
[WatchValue("<22><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>̧<EFBFBD><CCA7>")]
|
|||
|
|
public bool IsNeedleUpWhenBonding
|
|||
|
|
{
|
|||
|
|
get { return _isNeedleUpWhenBonding; }
|
|||
|
|
set { SetAndNotify(ref _isNeedleUpWhenBonding, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
private bool _useAllDie;
|
|||
|
|
[WatchValue("<22><><EFBFBD><EFBFBD>100%<25><><EFBFBD><EFBFBD>")]
|
|||
|
|
public bool UseAllDie
|
|||
|
|
{
|
|||
|
|
get { return _useAllDie; }
|
|||
|
|
set { SetAndNotify(ref _useAllDie, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private bool _useAirCoolAllProduce = true;
|
|||
|
|
[WatchValue("ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")]
|
|||
|
|
public bool UseAirCoolAllProduce
|
|||
|
|
{
|
|||
|
|
get { return _useAirCoolAllProduce; }
|
|||
|
|
set { SetAndNotify(ref _useAirCoolAllProduce, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class RecheckProcessParameter : RunProcessParameterItemBase
|
|||
|
|
{
|
|||
|
|
private bool _useIrregularRecheck;
|
|||
|
|
[WatchValue("<22>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>")]
|
|||
|
|
public bool UseIrregularRecheck
|
|||
|
|
{
|
|||
|
|
get { return _useIrregularRecheck; }
|
|||
|
|
set { SetAndNotify(ref _useIrregularRecheck, value); }
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class GlobalRunParameter : RunProcessParameterItemBase
|
|||
|
|
{
|
|||
|
|
private int _needleCheckBondingGlassNum;
|
|||
|
|
[WatchValue("<22>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҪBonding<6E><67><EFBFBD><EFBFBD>")]
|
|||
|
|
public int NeedleCheckBondingGlassNum
|
|||
|
|
{
|
|||
|
|
get { return _needleCheckBondingGlassNum; }
|
|||
|
|
set { SetAndNotify(ref _needleCheckBondingGlassNum, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private bool _isUseMesLeiMan;
|
|||
|
|
[WatchValue("<22>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>MES-<2D><><EFBFBD><EFBFBD>")]
|
|||
|
|
public bool IsUseMesLeiMan
|
|||
|
|
{
|
|||
|
|
get { return _isUseMesLeiMan; }
|
|||
|
|
set { SetAndNotify(ref _isUseMesLeiMan, value); }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private RunningMode _runningMode = RunningMode.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
[WatchValue("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")]
|
|||
|
|
public RunningMode RunningMode
|
|||
|
|
{
|
|||
|
|
get { return _runningMode; }
|
|||
|
|
set { SetAndNotify(ref _runningMode, value); }
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|