using System; using System.ComponentModel; using System.Reflection; using System.Runtime.Serialization; using System.Windows.Input; using Aitex.Core.UI.MVVM; using MECF.Framework.Common.CommonData; namespace Aitex.Core.Common.DeviceData { [Serializable] [DataContract] public enum RfMode { [EnumMember] ContinuousWaveMode = 1, [EnumMember] PulsingMode = 2, } public enum PatronRfMatchMode { Manual = 1, Auto = 2, } public enum TritonRfMatchMode { Manual = 0, Auto = 1, } public enum RfMatchModeProcess { TritonPresetMode = 0, TritonAutoMode = 1, } public enum BiasRfMatchMode { Hold = 0, Preset = 1, } [DataContract] [Serializable] public class AITRfData : NotifiableItem, IDeviceData { [DataMember] public string Module { get; set; } [DataMember] public string DeviceName { get; set; } /// /// 显示在界面上的名称 /// [DataMember] public string DisplayName { get; set; } /// /// IO 表中定义的物理编号,物理追溯使用 比如: M122 /// [DataMember] public string DeviceSchematicId { get; set; } [DataMember] public string Description { get; set; } [DataMember] public string UnitPower { get; set; } [DataMember] public string UnitFrequency { get; set; } [DataMember] public string UnitDuty { get; set; } [DataMember] public double ScalePower { get; set; } [DataMember] public double ScaleFrequency { get; set; } [DataMember] public double ScaleDuty { get; set; } [DataMember] public float PowerSetPoint { get; set; } [DataMember] public float FrequencySetPoint { get; set; } [DataMember] public float DutySetPoint { get; set; } [DataMember] public bool IsInterlockOk { get; set; } [DataMember] public bool IsRfOn { get; set; } [DataMember] public bool IsMatchOn { get; set; } [DataMember] public bool IsRfAlarm { get; set; } [DataMember] public float ForwardPower { get; set; } [DataMember] public float ReflectPower { get; set; } [DataMember] public int WorkMode { get; set; } [DataMember] public string PowerOnElapsedTime { get; set; } [DataMember] public bool EnablePulsing { get; set; } [DataMember] public bool EnableC1C2Position { get; set; } [DataMember] public bool EnableReflectPower { get; set; } [DataMember] public bool EnableVoltageCurrent { get; set; } [DataMember] public int MatchMode { get; set; } [DataMember] public int MatchPresetMode { get; set; } [DataMember] public float MatchPositionC1 { get; set; } [DataMember] public float MatchPositionC2 { get; set; } [DataMember] public float MatchPositionC1SetPoint { get; set; } [DataMember] public float MatchPositionC2SetPoint { get; set; } [DataMember] public float MatchVPP { get; set; } [DataMember] public float Voltage { get; set; } [DataMember] public float Current { get; set; } public string TextWorkMode { get { return WorkMode == (int) RfMode.ContinuousWaveMode ? "Continuous" : "Pulsing"; } } public string TextOnOff { get { return IsRfOn ? "On" : "Off"; } } public string PatronTextMatchMode { get { return MatchMode == (int)PatronRfMatchMode.Manual ? "Manual" : "Auto"; } } public string TritonTextMatchMode { get { return MatchMode == (int)TritonRfMatchMode.Manual ? "Manual" : "Auto"; } } public string TritonMatchProcessModeDisplay { get { return MatchPresetMode == (int)BiasRfMatchMode.Preset ? "Preset" : "Hold"; } } public AITRfData() { DisplayName = "Undefined"; } public void Update(IDeviceData data) { throw new NotImplementedException(); } } public enum AITRfOperation { SetPowerOnOff, SetMode, SetContinuousPower, SetPulsingPower, SetPower, SetPulsingFrequency, SetPulsingDuty, SetMatchMode, SetMatchProcessMode, SetMatchPosition, //同时设置2个 SetMatchPositionC1, SetMatchPositionC2, } public class AITRfProperty { public const string RFEnable = "RFEnable"; public const string RFSetPoint = "RFSetPoint"; public const string RFForwardPower = "RFForwardPower"; public const string RFReflectPower = "RFReflectPower"; public const string RFRatio = "RFRatio"; public const string RFInterlock = "RFInterlock"; public const string RFDuty = "RFDuty"; public const string RFFrequency = "RFFrequency"; public const string RFMode = "RFMode"; public const string RFMatchPositionC1Feedback = "RFMatchPositionC1Feedback"; public const string RFMatchPositionC2Feedback = "RFMatchPositionC2Feedback"; public const string RFMatchPositionC1SetPoint = "RFMatchPositionC1SetPoint"; public const string RFMatchPositionC2SetPoint = "RFMatchPositionC2SetPoint"; public const string RFMatchVPP = "RFMatchVPP"; public const string RFAlarm = "RFAlarm"; public const string Voltage = "Voltage"; public const string Current = "Current"; public const string IsOverTemp = "IsOverTemp"; } }