AITCylinderData.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Linq;
  5. using System.Reflection;
  6. using System.Runtime.Serialization;
  7. using System.Text;
  8. using System.Windows.Input;
  9. using Aitex.Core.UI.MVVM;
  10. using MECF.Framework.Common.CommonData;
  11. namespace Aitex.Core.Common.DeviceData
  12. {
  13. public enum CylinderState
  14. {
  15. Close = 0,
  16. Open = 1,
  17. Unknown = 2,
  18. Error = 3,
  19. }
  20. [DataContract]
  21. [Serializable]
  22. public class AITCylinderData : NotifiableItem, IDeviceData
  23. {
  24. [DataMember]
  25. public string Module { get; set; }
  26. [DataMember]
  27. public string DeviceName { get; set; }
  28. [DataMember]
  29. public string DisplayName { get; set; }
  30. [DataMember]
  31. public string DeviceSchematicId { get; set; }
  32. [DataMember]
  33. public bool OpenFeedback { get; set; }
  34. [DataMember]
  35. public bool CloseFeedback { get; set; }
  36. [DataMember]
  37. public bool OpenSetPoint { get; set; }
  38. [DataMember]
  39. public bool CloseSetPoint { get; set; }
  40. [DataMember]
  41. public bool IsLoop { get; set; }
  42. public string StringStatus
  43. {
  44. get
  45. {
  46. if (OpenFeedback && !CloseFeedback) return CylinderState.Open.ToString();
  47. if (!OpenFeedback && CloseFeedback) return CylinderState.Close.ToString();
  48. if (OpenFeedback && CloseFeedback) return CylinderState.Error.ToString();
  49. if (!OpenFeedback && !CloseFeedback) return CylinderState.Unknown.ToString();
  50. return "Unknown";
  51. }
  52. }
  53. public string StringSetPoint
  54. {
  55. get
  56. {
  57. if (OpenSetPoint && !CloseSetPoint) return CylinderState.Open.ToString();
  58. if (!OpenSetPoint && CloseSetPoint) return CylinderState.Close.ToString();
  59. if (OpenSetPoint && CloseSetPoint) return CylinderState.Error.ToString();
  60. if (!OpenSetPoint && !CloseSetPoint) return CylinderState.Unknown.ToString();
  61. return "Unknown";
  62. }
  63. }
  64. public AITCylinderData()
  65. {
  66. DisplayName = "Undefined Cylinder";
  67. }
  68. public void Update(IDeviceData data)
  69. {
  70. }
  71. }
  72. public class AITCylinderOperation
  73. {
  74. public const string Open = "Open";
  75. public const string Close = "Close";
  76. }
  77. public class AITCylinderProperty
  78. {
  79. public const string OpenFeedback = "OpenFeedback";
  80. public const string CloseFeedback = "CloseFeedback";
  81. public const string OpenSetPoint = "OpenSetPoint";
  82. public const string CloseSetPoint = "CloseSetPoint";
  83. }
  84. }