123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- using System.Runtime.Serialization;
- namespace JetVirgoPM.PMs.RecipeExecutors
- {
- [DataContract]
- public enum AlgorithmType
- {
- [EnumMember]
- ALG_NONE, //非endpoint
- //level trigger, invaild time
- [EnumMember]
- ALG_FALL_VALUE, //"FallValue" ValidationTime,Threshold <
- [EnumMember]
- ALG_RISE_VALUE, //"RiseValue" ValidationTime,Threshold >
- [EnumMember]
- ALG_FALL_PERCENT, //"FallPecent" ValidationTime,Threshold, TimeWindow <
- [EnumMember]
- ALG_RISE_PERCENT, //"RisePecent" ValidationTime,Threshold, TimeWindow >
- [EnumMember]
- ALG_MIN_FALL_PERCENT, //"MinFallPecent" ValidationTime,Threshold, TimeWindow, BandTime
- [EnumMember]
- ALG_MAX_FALL_PERCENT, //"MaxFallPecent" ValidationTime,Threshold, TimeWindow, BandTime
- [EnumMember]
- ALG_MIN_RISE_PERCENT, //"MinRisePecent" ValidationTime,Threshold, TimeWindow, BandTime
- [EnumMember]
- ALG_MAX_RISE_PERCENT, //"MaxRisePecent" ValidationTime,Threshold, TimeWindow, BandTime
- //Edge Trigger
- [EnumMember]
- ALG_GRADIENT, //"Gradient" Threshold, TimeWindow
- [EnumMember]
- ALG_RANGE_IN, //"RangeIn" Threshold, TimeWindow
- [EnumMember]
- ALG_PEAK, //Peak Threshold, TimeWindow, ValidationTime
- [EnumMember]
- ALG_VALLEY, //Vallery Threshold, TimeWindow, ValidationTime
- [EnumMember]
- ALG_RISE_FALL, //"RiseFall" Threshold, ValidationTime,ValidationValue,
- [EnumMember]
- ALG_FALL_RISE, //"FallRise" Threshold, ValidationTime,ValidationValue,
- }
- [DataContract]
- public class EPDColumn
- {
- [DataMember]
- public bool bNormalization { get; set; }
- [DataMember]
- public bool bControl { get; set; }
- [DataMember]
- public bool bPostponePercent { get; set; }
- [DataMember]
- public bool bEvtTrigger { get; set; }
- [DataMember]
- public bool bCriteriaPercent { get; set; }
- [DataMember]
- public int nCCDExposureTime { get; set; }
- [DataMember]
- public int nPreFilterTime { get; set; }
- [DataMember]
- public int nPostFilterTime { get; set; }
- [DataMember]
- public AlgorithmType algorithmType { get; set; }
- [DataMember]
- public double nCriteria { get; set; }
- [DataMember]
- public int nDelayTime { get; set; }
- [DataMember]
- public int nValidationTime { get; set; }
- [DataMember]
- public int nTimeWindow { get; set; }
- [DataMember]
- public int nMinimalTime { get; set; } // Version 2
- [DataMember]
- public int nPostponeTime { get; set; } // Version 2
- [DataMember]
- public int nValidationValue { get; set; } // Used for rise / fall algorithm
- [DataMember]
- public int nRefractionIndex { get; set; }// Only for IEP, always zero
- [DataMember]
- public float fEtchAmount { get; set; } // Only for IEP, always zero
- [DataMember]
- public ushort[] nWaveLength { get; set; }
- [DataMember]
- public ushort[] nBinning { get; set; }
- [DataMember]
- public string cPSMode { get; set; } // Version 7
- [DataMember]
- public string cFunc { get; set; }
- public EPDColumn()
- {
- nWaveLength = new ushort[8];
- nBinning = new ushort[8];
- }
- }
- [DataContract]
- public class EPDConfig
- {
- [DataMember]
- public int nParameterCount { get; set; }
- [DataMember]
- public EPDColumn[] Columns;
- public bool FaultIfNoEPDTrigger { get; set; }
- [DataMember]
- public string cLogic { get; set; } // logic for multiple endpoints, resevered for future to support logic 'OR' Version 3
- public EPDConfig()
- {
- Columns = new EPDColumn[3];
- for (int i = 0; i < Columns.Length; i++)
- Columns[i] = new EPDColumn();
- }
- }
- }
|