namespace OldWorldData.CommonData.DeviceData
{
[DataContract]
[Serializable]
public class AITAPCData
{
[DataMember]
public string Module { get; set; }
[DataMember]
public string DeviceName { get; set; }
[DataMember]
public string DisplayName { get; set; }
[DataMember]
public string DeviceSchematicId { get; set; }
[DataMember]
public string UnitPosition { get; set; }
[DataMember]
public string UnitPressure { get; set; }
[DataMember]
public string Description { get; set; }
///
/// 量程
///
[DataMember]
public double MaxValuePosition { get; set; }
[DataMember]
public double MaxValuePressure { get; set; }
///
/// MFC,PC
///
[DataMember]
public string Type { get; set; }
[DataMember]
public int ModeFeedback { get; set; }
[DataMember]
public int ModeSetPoint { get; set; }
[DataMember]
public float PositionFeedback { get; set; }
[DataMember]
public float PressureFeedback { get; set; }
[DataMember]
public float Pressure1Feedback { get; set; }
[DataMember]
public float Pressure2Feedback { get; set; }
[DataMember]
public float PressureSetPoint { get; set; }//界面设定
[DataMember]
public float PositionSetPoint { get; set; }//界面设定
[DataMember]
public float SlowRateSetPoint { get; set; }//界面设定
[DataMember]
public float SlowTargetPressureSetPoint { get; set; }//界面设定
[DataMember]
public int State { get; set; }
[DataMember]
public int HomingStatus { get; set; }
[DataMember]
public int SelectedControllerFeedback { get; set; }
[DataMember]
public int SelectedControllerSetPoint { get; set; }//界面设定
[DataMember]
public string PIDTable//界面设定
{
get;
set;
}
[DataMember]
public string AlarmWatchTable
{
get;
set;
}
[DataMember]
public float SetPoint { get; set; }//界面设定
[DataMember]
public string CommandSetPoint { get; set; }//界面设定
[DataMember]
public string LowPressWaitSetPoint { get; set; }//界面设定
[DataMember]
public string HardError { get; set; }
[DataMember]
public string HomeStatusDisplay { get; set; }
public string TextModeSetPoint
{
get
{
return ModeSetPoint switch
{
(int)(PressureControlMode.PositionControl) => "Valve Angle",
(int)(PressureControlMode.Press1Control) => "Press1",
(int)(PressureControlMode.Press2Control) => "Press2",
(int)(PressureControlMode.Open) => "Full Open",
(int)(PressureControlMode.Close) => "Full Close",
(int)(PressureControlMode.SlowVacuum) => "Slow Vac",
(int)(PressureControlMode.Hold) => "Hold",
(int)(PressureControlMode.Homing) => "Homing",
_ => "Idle",
};
}
}
public string TextModeFeedback
{
get
{
return ModeFeedback switch
{
(int)(PressureControlMode.PositionControl) => "Valve Angle",
(int)(PressureControlMode.Press1Control) => "Press1",
(int)(PressureControlMode.Press2Control) => "Press2",
(int)(PressureControlMode.Open) => "Full Open",
(int)(PressureControlMode.Close) => "Full Close",
(int)(PressureControlMode.SlowVacuum) => "Slow Vac",
(int)(PressureControlMode.Hold) => "Hold",
(int)(PressureControlMode.Homing) => "Homing",
_ => "Idle",
};
}
}
public AITAPCData()
{
DisplayName = "Undefined";
UnitPosition = "%";
UnitPressure = "mTorr";
Type = "TV";
MaxValuePosition = 100;
MaxValuePressure = 1000;
}
public enum APCUnitEnum
{
Torr,
Pa
}
public enum APCModeTypeEnum
{
[Description("APCCKD")]
APCCKD,
[Description("VAT+GV")]
APCVATGV,
[Description("Dual APC")]
DUAL
}
}
}