AITCylinderData.cs 2.6 KB

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