AITThrottleValveData.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. using System;
  2. using System.CodeDom;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Linq;
  6. using System.Reflection;
  7. using System.Runtime.Serialization;
  8. using System.Text;
  9. using System.Windows.Input;
  10. using Aitex.Core.UI.MVVM;
  11. using MECF.Framework.Common.CommonData;
  12. namespace Aitex.Core.Common.DeviceData
  13. {
  14. [Serializable]
  15. [DataContract]
  16. public enum PressureCtrlMode
  17. {
  18. [EnumMember]
  19. Undefined = 0,
  20. [EnumMember]
  21. TVPressureCtrl = 1,
  22. [EnumMember]
  23. TVPositionCtrl = 2,
  24. [EnumMember]
  25. TVOpen = 3,
  26. [EnumMember]
  27. TVClose = 4,
  28. }
  29. [DataContract]
  30. [Serializable]
  31. public class AITThrottleValveData : NotifiableItem, IDeviceData
  32. {
  33. [DataMember]
  34. public string Module { get; set; }
  35. [DataMember]
  36. public string DeviceName { get; set; }
  37. [DataMember]
  38. public string DisplayName { get; set; }
  39. [DataMember]
  40. public string DeviceSchematicId { get; set; }
  41. [DataMember]
  42. public string UnitPosition { get; set; }
  43. [DataMember]
  44. public string UnitPressure { get; set; }
  45. [DataMember]
  46. public string Description { get; set; }
  47. /// <summary>
  48. /// 量程
  49. /// </summary>
  50. [DataMember]
  51. public double MaxValuePosition { get; set; }
  52. [DataMember]
  53. public double MaxValuePressure { get; set; }
  54. /// <summary>
  55. /// MFC,PC
  56. /// </summary>
  57. [DataMember]
  58. public string Type { get; set; }
  59. [DataMember]
  60. public double Factor { get; set; }
  61. [DataMember]
  62. public int Mode { get; set; }
  63. [DataMember]
  64. public float PositionFeedback { get; set; }
  65. [DataMember]
  66. public float PressureFeedback { get; set; }
  67. [DataMember]
  68. public float PressureSetPoint { get; set; }
  69. [DataMember]
  70. public float PositionSetPoint { get; set; }
  71. [DataMember]
  72. public int State { get; set; }
  73. public string TextMode
  74. {
  75. get
  76. {
  77. switch (Mode)
  78. {
  79. case (int)(PressureCtrlMode.TVPositionCtrl):
  80. return "Position";
  81. case (int)(PressureCtrlMode.TVPressureCtrl):
  82. return "Pressure";
  83. case (int)(PressureCtrlMode.TVOpen):
  84. return "Open";
  85. case (int)(PressureCtrlMode.TVClose):
  86. return "Close";
  87. default:
  88. return "Undefined";
  89. }
  90. }
  91. }
  92. public AITThrottleValveData()
  93. {
  94. DisplayName = "Undefined";
  95. Factor = 1.0;
  96. UnitPosition = "%";
  97. UnitPressure = "mTorr";
  98. Type = "TV";
  99. MaxValuePosition = 100;
  100. MaxValuePressure = 1000;
  101. }
  102. public void Update(IDeviceData data)
  103. {
  104. throw new NotImplementedException();
  105. }
  106. }
  107. public enum AITThrottleValveOperation
  108. {
  109. SetMode,
  110. SetPosition,
  111. SetPressure,
  112. }
  113. public class AITThrottleValvePropertyName
  114. {
  115. public const string TVPositionSetPoint = "TVPositionSetPoint";
  116. public const string TVPosition = "TVPosition";
  117. public const string TVPressureSetPoint = "TVPressureSetPoint";
  118. public const string TVPressure = "TVPressure";
  119. }
  120. }