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("标识距离偏差")]
|
|
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("使用测高数据补偿")]
|
|
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("使用单次拉直")]
|
|
public bool UseSingleStraighten
|
|
{
|
|
get { return _useSingleStraighten; }
|
|
set { SetAndNotify(ref _useSingleStraighten, value); }
|
|
}
|
|
|
|
|
|
private bool _straightAngleDirX = true;
|
|
[WatchValue("拉直方向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("使用单次芯片定位")]
|
|
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切换")]
|
|
public bool ChangePid
|
|
{
|
|
get { return _changePid; }
|
|
set { SetAndNotify(ref _changePid, value); }
|
|
}
|
|
|
|
private double _dieAngleThreshold = 3;
|
|
[WatchValue("晶粒角度阈值")]
|
|
public double DieAngleThreshold
|
|
{
|
|
get { return _dieAngleThreshold; }
|
|
set { SetAndNotify(ref _dieAngleThreshold, value); }
|
|
}
|
|
|
|
private WaferScanMode _waferScanMode = WaferScanMode.FullScan;
|
|
[WatchValue("芯片扫描模式")]
|
|
public WaferScanMode WaferScanMode
|
|
{
|
|
get { return _waferScanMode; }
|
|
set { SetAndNotify(ref _waferScanMode, value); }
|
|
}
|
|
|
|
}
|
|
|
|
public class BondingProcessParameter : RunProcessParameterItemBase
|
|
{
|
|
|
|
|
|
private bool _isNeedleUpWhenBonding;
|
|
[WatchValue("打件是否针抬高")]
|
|
public bool IsNeedleUpWhenBonding
|
|
{
|
|
get { return _isNeedleUpWhenBonding; }
|
|
set { SetAndNotify(ref _isNeedleUpWhenBonding, value); }
|
|
}
|
|
|
|
|
|
private bool _useAllDie;
|
|
[WatchValue("晶粒100%消耗")]
|
|
public bool UseAllDie
|
|
{
|
|
get { return _useAllDie; }
|
|
set { SetAndNotify(ref _useAllDie, value); }
|
|
}
|
|
|
|
private bool _useAirCoolAllProduce = true;
|
|
[WatchValue("全程气冷")]
|
|
public bool UseAirCoolAllProduce
|
|
{
|
|
get { return _useAirCoolAllProduce; }
|
|
set { SetAndNotify(ref _useAirCoolAllProduce, value); }
|
|
}
|
|
|
|
|
|
}
|
|
|
|
public class RecheckProcessParameter : RunProcessParameterItemBase
|
|
{
|
|
private bool _useIrregularRecheck;
|
|
[WatchValue("是否启用不规则复检")]
|
|
public bool UseIrregularRecheck
|
|
{
|
|
get { return _useIrregularRecheck; }
|
|
set { SetAndNotify(ref _useIrregularRecheck, value); }
|
|
}
|
|
}
|
|
|
|
public class GlobalRunParameter : RunProcessParameterItemBase
|
|
{
|
|
private int _needleCheckBondingGlassNum;
|
|
[WatchValue("对刀检查需要Bonding数量")]
|
|
public int NeedleCheckBondingGlassNum
|
|
{
|
|
get { return _needleCheckBondingGlassNum; }
|
|
set { SetAndNotify(ref _needleCheckBondingGlassNum, value); }
|
|
}
|
|
|
|
private bool _isUseMesLeiMan;
|
|
[WatchValue("是否启用MES-雷曼")]
|
|
public bool IsUseMesLeiMan
|
|
{
|
|
get { return _isUseMesLeiMan; }
|
|
set { SetAndNotify(ref _isUseMesLeiMan, value); }
|
|
}
|
|
|
|
private RunningMode _runningMode = RunningMode.生产检测;
|
|
[WatchValue("运行设置")]
|
|
public RunningMode RunningMode
|
|
{
|
|
get { return _runningMode; }
|
|
set { SetAndNotify(ref _runningMode, value); }
|
|
}
|
|
}
|
|
} |