using System;
using System.CodeDom;
using System.Collections.Generic;
using System.ComponentModel;
using System.Globalization;
using System.Linq;
using System.Reflection;
using System.Runtime.Serialization;
using System.Text;
using System.Windows.Data;
using System.Windows.Input;
using Aitex.Core.UI.MVVM;
using MECF.Framework.Common.CommonData;
namespace Aitex.Core.Common.DeviceData
{
[DataContract]
[Serializable]
public class AITAPCData : NotifiableItem, IDeviceData
{
[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
{
switch (ModeSetPoint)
{
case (int)(PressureControlMode.PositionControl):
return "Valve Angle";
case (int)(PressureControlMode.Press1Control):
return "Press";
case (int)(PressureControlMode.Press2Control):
return "Press2";
case (int)(PressureControlMode.Open):
return "Full Open";
case (int)(PressureControlMode.Close):
return "Full Close";
case (int)(PressureControlMode.SlowVacuum):
return "Slow Vac";
case (int)(PressureControlMode.Hold):
return "Hold";
case (int)(PressureControlMode.Homing):
return "Homing";
default:
return "Idle";
}
}
}
public string TextModeFeedback
{
get
{
switch (ModeFeedback)
{
case (int)(PressureControlMode.PositionControl):
return "Valve Angle";
case (int)(PressureControlMode.Press1Control):
return "Press";
case (int)(PressureControlMode.Press2Control):
return "Press2";
case (int)(PressureControlMode.Open):
return "Full Open";
case (int)(PressureControlMode.Close):
return "Full Close";
case (int)(PressureControlMode.SlowVacuum):
return "Slow Vac";
case (int)(PressureControlMode.Hold):
return "Hold";
case (int)(PressureControlMode.Homing):
return "Homing";
default:
return "Idle";
}
}
}
public AITAPCData()
{
DisplayName = "Undefined";
UnitPosition = "%";
UnitPressure = "mTorr";
Type = "TV";
MaxValuePosition = 100;
MaxValuePressure = 1000;
}
public void Update(IDeviceData data)
{
throw new NotImplementedException();
}
}
}