AnalogDataItem.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Runtime.Serialization;
  6. using MECF.Framework.Common.CommonData;
  7. namespace Aitex.Core.UI.ControlDataContext
  8. {
  9. [DataContract]
  10. [Serializable]
  11. public class AnalogDeviceDataItem : NotifiableItem
  12. {
  13. /// <summary>
  14. /// 设备的唯一名称,UI与RT交互的ID
  15. /// </summary>
  16. [DataMember]
  17. public string DeviceName { get; set; }
  18. /// <summary>
  19. /// 显示在界面上的名称
  20. /// </summary>
  21. [DataMember]
  22. public string DisplayName { get; set; }
  23. /// <summary>
  24. /// IO 表中定义的物理编号,物理追溯使用 比如: M122
  25. /// </summary>
  26. [DataMember]
  27. public string DeviceId { get; set; }
  28. [DataMember]
  29. public string Unit { get; set; }
  30. [DataMember]
  31. public string Description { get; set; }
  32. /// <summary>
  33. /// 量程
  34. /// </summary>
  35. [DataMember]
  36. public double Scale { get; set; }
  37. private double _setPoint;
  38. /// <summary>
  39. /// 设定值
  40. /// </summary>
  41. [DataMember]
  42. public double SetPoint {
  43. get=>_setPoint;
  44. set
  45. {
  46. _setPoint = value;
  47. this.InvokePropertyChanged("SetPoint");
  48. } }
  49. [DataMember]
  50. public double SetValue { get; set; }
  51. [DataMember]
  52. public bool IsCharge { get; set; }
  53. private double _feedBack;
  54. /// <summary>
  55. /// 实际反馈值
  56. /// </summary>
  57. [DataMember]
  58. public double FeedBack
  59. {
  60. get => _feedBack;
  61. set
  62. {
  63. _feedBack = value;
  64. this.InvokePropertyChanged("FeedBack");
  65. }
  66. }
  67. /// <summary>
  68. /// 默认值
  69. /// </summary>
  70. [DataMember]
  71. public double DefaultValue { get; set; }
  72. /// <summary>
  73. /// 是否有报警
  74. /// </summary>
  75. [DataMember]
  76. public bool IsWarning { get; set; }
  77. /// <summary>
  78. /// alarm或是erro时显示的信息
  79. /// </summary>
  80. [DataMember]
  81. public string ErroMessage { get; set; }
  82. /// <summary>
  83. /// MFC,PC
  84. /// </summary>
  85. [DataMember]
  86. public string Type { get; set; }
  87. private double _factor = 1.0;
  88. [DataMember]
  89. public double Factor { get { return _factor; } set { _factor = value; } }
  90. private double _virtualFeedBack;
  91. [DataMember]
  92. public double VirtualFeedBack {
  93. get=> _virtualFeedBack;
  94. set
  95. {
  96. _virtualFeedBack = value;
  97. InvokePropertyChanged(nameof(VirtualFeedBack));
  98. } }
  99. /// <summary>
  100. /// 格式化显示
  101. /// </summary>
  102. [DataMember]
  103. public string FormatString { get; set; }
  104. [DataMember]
  105. public double RampValue { get; set; }
  106. [DataMember]
  107. public bool IsRampCharge { get; set; }
  108. [DataMember]
  109. public double SetRampValue { get; set; }
  110. [DataMember]
  111. public double RampMaxValue { get; set; } = 99999;
  112. [DataMember]
  113. public double RampMinValue { get; set; }
  114. public AnalogDeviceDataItem()
  115. {
  116. DisplayName = "未定义设备";
  117. FormatString = "F1";
  118. }
  119. }
  120. public class AnalogDeviceOperation
  121. {
  122. public const string Ramp = "Ramp";
  123. }
  124. }