AITRfPowerData.cs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. using System;
  2. using System.ComponentModel;
  3. using System.Reflection;
  4. using System.Runtime.Serialization;
  5. using System.Windows.Input;
  6. using Aitex.Core.UI.MVVM;
  7. using MECF.Framework.Common.CommonData;
  8. namespace Aitex.Core.Common.DeviceData
  9. {
  10. [Serializable]
  11. public enum EnumRfPowerRegulationMode
  12. {
  13. [EnumMember]
  14. Undefined = 0,
  15. [EnumMember]
  16. Forward = 1,
  17. [EnumMember]
  18. Load = 2,
  19. [EnumMember]
  20. DcBias = 3,
  21. [EnumMember]
  22. VALimit = 4,
  23. }
  24. [Serializable]
  25. public enum EnumRfPowerControlMode
  26. {
  27. [EnumMember]
  28. Forward = 6,
  29. [EnumMember]
  30. Load = 7,
  31. [EnumMember]
  32. DcBias = 8,
  33. }
  34. [Serializable]
  35. public enum EnumRfPowerPulsingMode
  36. {
  37. [EnumMember]
  38. Close = 0,
  39. [EnumMember]
  40. InnerPulsing = 1,
  41. [EnumMember]
  42. OuterPulsing = 2,
  43. [EnumMember]
  44. OuterPulsingReverse = 3,
  45. [EnumMember]
  46. InnerOuterPulsing = 4,
  47. }
  48. [Serializable]
  49. public enum EnumRfPowerWorkMode
  50. {
  51. [EnumMember]
  52. Undefined = 0,
  53. [EnumMember]
  54. ContinuousWaveMode = 1,
  55. [EnumMember]
  56. PulsingMode = 2,
  57. }
  58. [Serializable]
  59. public enum EnumRfPowerClockMode
  60. {
  61. [EnumMember]
  62. Undefined = 0,
  63. [EnumMember]
  64. Phase = 1,
  65. [EnumMember]
  66. FreqManual = 2,
  67. [EnumMember]
  68. FreqAuto = 3,
  69. }
  70. [DataContract]
  71. [Serializable]
  72. public class AITRfPowerData : NotifiableItem, IDeviceData
  73. {
  74. [DataMember]
  75. public string Module { get; set; }
  76. [DataMember]
  77. public string DeviceName { get; set; }
  78. /// <summary>
  79. /// 显示在界面上的名称
  80. /// </summary>
  81. [DataMember]
  82. public string DisplayName { get; set; }
  83. /// <summary>
  84. /// IO 表中定义的物理编号,物理追溯使用 比如: M122
  85. /// </summary>
  86. [DataMember]
  87. public string DeviceSchematicId { get; set; }
  88. [DataMember]
  89. public string Description { get; set; }
  90. [DataMember]
  91. public string UnitPower { get; set; }
  92. [DataMember]
  93. public string UnitFrequency { get; set; }
  94. [DataMember]
  95. public string UnitDuty { get; set; }
  96. [DataMember]
  97. public double ScalePower { get; set; }
  98. [DataMember]
  99. public double ScaleFrequency { get; set; }
  100. [DataMember]
  101. public double ScaleDuty { get; set; }
  102. [DataMember]
  103. public float PowerSetPoint { get; set; }
  104. [DataMember]
  105. public float FrequencySetPoint { get; set; }
  106. [DataMember]
  107. public float DutySetPoint { get; set; }
  108. [DataMember]
  109. public bool IsInterlockOk { get; set; }
  110. [DataMember]
  111. public bool IsRfOn { get; set; }
  112. [DataMember]
  113. public bool IsRfAlarm { get; set; }
  114. [DataMember]
  115. public float ForwardPower { get; set; }
  116. [DataMember]
  117. public float ReflectPower { get; set; }
  118. [DataMember]
  119. public float LoadPower { get; set; }
  120. [DataMember]
  121. public float Frequency { get; set; }
  122. [DataMember]
  123. public float PulsingFrequency { get; set; }
  124. [DataMember]
  125. public float PulsingDutyCycle { get; set; }
  126. public string TextOnOff
  127. {
  128. get
  129. {
  130. return IsRfOn ? "On" : "Off";
  131. }
  132. }
  133. [DataMember]
  134. public EnumRfPowerRegulationMode RegulationMode { get; set; }
  135. [DataMember]
  136. public EnumRfPowerControlMode ControlMode { get; set; }
  137. [DataMember]
  138. public EnumRfPowerPulsingMode PulsingMode { get; set; }
  139. public AITRfPowerData()
  140. {
  141. DisplayName = "Undefined";
  142. }
  143. public void Update(IDeviceData data)
  144. {
  145. }
  146. }
  147. public enum AITRfPowerOperation
  148. {
  149. SetPowerOnOff,
  150. SetMode,
  151. SetContinuousPower,
  152. SetPulsingPower,
  153. SetPower,
  154. SetPulsingFrequency,
  155. SetPulsingDuty,
  156. SetMatchMode,
  157. SetMatchProcessMode,
  158. SetMatchPosition, //同时设置2个
  159. SetMatchPositionC1,
  160. SetMatchPositionC2,
  161. }
  162. public class AITRfPowerProperty
  163. {
  164. public const string RFEnable = "RFEnable";
  165. public const string RFSetPoint = "RFSetPoint";
  166. public const string RFForwardPower = "RFForwardPower";
  167. public const string RFReflectPower = "RFReflectPower";
  168. public const string RFRatio = "RFRatio";
  169. public const string RFInterlock = "RFInterlock";
  170. public const string RFDuty = "RFDuty";
  171. public const string RFFrequency = "RFFrequency";
  172. public const string RFMode = "RFMode";
  173. public const string RFMatchPositionC1Feedback = "RFMatchPositionC1Feedback";
  174. public const string RFMatchPositionC2Feedback = "RFMatchPositionC2Feedback";
  175. public const string RFMatchPositionC1SetPoint = "RFMatchPositionC1SetPoint";
  176. public const string RFMatchPositionC2SetPoint = "RFMatchPositionC2SetPoint";
  177. public const string RFAlarm = "RFAlarm";
  178. public const string Voltage = "Voltage";
  179. public const string Current = "Current";
  180. public const string IsOverTemp = "IsOverTemp";
  181. }
  182. }