SimulatorMotionData.cs 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. using MECF.Framework.Common.CommonData;
  2. using System.Drawing;
  3. using System.Runtime.Serialization;
  4. namespace MECF.Framework.Common.Simulator
  5. {
  6. /// <summary>
  7. /// 电机运动阶段
  8. /// </summary>
  9. public enum MotionPhase
  10. {
  11. Accelerating,
  12. Decelerating,
  13. ConstantSpeed
  14. };
  15. [DataContract]
  16. public class SimulatorMotionData : NotifiableItem
  17. {
  18. #region 属性
  19. [DataMember]
  20. public bool SwitchSignal
  21. {
  22. get { return _switchSignal; }
  23. set { _switchSignal = value; InvokePropertyChanged(nameof(SwitchSignal)); }
  24. }
  25. [DataMember]
  26. public byte StopCode
  27. {
  28. get { return _stopCode; }
  29. set { _stopCode = value; InvokePropertyChanged(nameof(StopCode)); }
  30. }
  31. [DataMember]
  32. public int PositionError
  33. {
  34. get { return _positionError; }
  35. set { _positionError = value; InvokePropertyChanged(nameof(StopCode)); }
  36. }
  37. [DataMember]
  38. public int ActualPosition
  39. {
  40. get { return _actualPosition; }
  41. set { _actualPosition = value; InvokePropertyChanged(nameof(ActualPosition)); }
  42. }
  43. [DataMember]
  44. public int ActualVelocity
  45. {
  46. get { return _actualVelocity; }
  47. set { _actualVelocity = value; InvokePropertyChanged(nameof(ActualVelocity)); }
  48. }
  49. [DataMember]
  50. public int ActualAccel
  51. {
  52. get { return _actualAccel; }
  53. set { _actualAccel = value; InvokePropertyChanged(nameof(ActualAccel)); }
  54. }
  55. [DataMember]
  56. public int ActualDecel
  57. {
  58. get { return _actualDecel; }
  59. set { _actualDecel = value; InvokePropertyChanged(nameof(ActualDecel)); }
  60. }
  61. [DataMember]
  62. public short ActualTorque
  63. {
  64. get { return _actualTorque; }
  65. set { _actualTorque = value; InvokePropertyChanged(nameof(ActualTorque)); }
  66. }
  67. [DataMember]
  68. public int TargetPosition
  69. {
  70. get { return _targetPosition; }
  71. set { _targetPosition = value; InvokePropertyChanged(nameof(TargetPosition)); }
  72. }
  73. [DataMember]
  74. public int TargetVelocity
  75. {
  76. get { return _targetVelocity; }
  77. set { _targetVelocity = value; InvokePropertyChanged(nameof(TargetVelocity)); }
  78. }
  79. [DataMember]
  80. public int TargetAccel
  81. {
  82. get { return _targetAccel; }
  83. set { _targetAccel = value; InvokePropertyChanged(nameof(TargetAccel)); }
  84. }
  85. [DataMember]
  86. public int TargetDecel
  87. {
  88. get { return _targetDecel; }
  89. set { _targetDecel = value; InvokePropertyChanged(nameof(TargetDecel)); }
  90. }
  91. [DataMember]
  92. public short TargetTorque
  93. {
  94. get { return _targetTorque; }
  95. set { _targetTorque = value; InvokePropertyChanged(nameof(TargetTorque)); }
  96. }
  97. [DataMember]
  98. public int HomingVelocity
  99. {
  100. get { return _homingVelocity; }
  101. set { _homingVelocity = value; InvokePropertyChanged(nameof(HomingVelocity)); }
  102. }
  103. [DataMember]
  104. public int HomingOffSet
  105. {
  106. get { return _homingOffSet; }
  107. set { _homingOffSet = value; InvokePropertyChanged(nameof(HomingOffSet)); }
  108. }
  109. [DataMember]
  110. public int HomingTimeout
  111. {
  112. get { return _homingTimeOut; }
  113. set { _homingTimeOut = value; InvokePropertyChanged(nameof(HomingTimeout)); }
  114. }
  115. [DataMember]
  116. public int HomingAccel
  117. {
  118. get { return _homingAccel; }
  119. set { _homingAccel = value; InvokePropertyChanged(nameof(HomingAccel)); }
  120. }
  121. [DataMember]
  122. public int HomingDecel
  123. {
  124. get { return _homingDecel; }
  125. set { _homingDecel = value; InvokePropertyChanged(nameof(HomingDecel)); }
  126. }
  127. [DataMember]
  128. public int RevSoftLimit
  129. {
  130. get { return _revSoftLimit; }
  131. set { _revSoftLimit = value; InvokePropertyChanged(nameof(RevSoftLimit)); }
  132. }
  133. [DataMember]
  134. public int FwdSoftLimit
  135. {
  136. get { return _fwdSoftLimit; }
  137. set { _fwdSoftLimit = value; InvokePropertyChanged(nameof(FwdSoftLimit)); }
  138. }
  139. [DataMember]
  140. public int NegativeTorqueLimit
  141. {
  142. get { return _negativeTorqueLimit; }
  143. set { _negativeTorqueLimit = value; InvokePropertyChanged(nameof(NegativeTorqueLimit)); }
  144. }
  145. [DataMember]
  146. public int PositiveTorqueLimit
  147. {
  148. get { return _positiveTorqueLimit; }
  149. set { _positiveTorqueLimit = value; InvokePropertyChanged(nameof(PositiveTorqueLimit)); }
  150. }
  151. [DataMember]
  152. public bool HomingSignal
  153. {
  154. get { return _homingSignal; }
  155. set { _homingSignal = value; InvokePropertyChanged(nameof(HomingSignal)); }
  156. }
  157. [DataMember]
  158. public bool MotionSignal
  159. {
  160. get { return _motionSignal; }
  161. set { _motionSignal = value; InvokePropertyChanged(nameof(MotionSignal)); }
  162. }
  163. [DataMember]
  164. public MotionPhase MotionPhase
  165. {
  166. get { return _motionPhase; }
  167. set { _motionPhase = value; InvokePropertyChanged(nameof(MotionPhase)); }
  168. }
  169. [DataMember]
  170. public bool StopSignal
  171. {
  172. get { return _stopSignal; }
  173. set { _stopSignal = value; InvokePropertyChanged(nameof(StopSignal)); }
  174. }
  175. [DataMember]
  176. public string ModuleName
  177. {
  178. get { return _moduleName; }
  179. set { _moduleName = value; InvokePropertyChanged(nameof(ModuleName)); }
  180. }
  181. [DataMember]
  182. public bool ForwardLimit
  183. {
  184. get { return _forwardLimit; }
  185. set { _forwardLimit = value; InvokePropertyChanged(nameof(ForwardLimit)); }
  186. }
  187. [DataMember]
  188. public bool ReverseLimit
  189. {
  190. get { return _reverseLimit; }
  191. set { _reverseLimit = value; InvokePropertyChanged(nameof(ReverseLimit)); }
  192. }
  193. #endregion
  194. #region 内部变量
  195. #region Signal
  196. private bool _switchSignal;
  197. private bool _homingSignal;
  198. private bool _motionSignal;
  199. private bool _stopSignal;
  200. private MotionPhase _motionPhase;
  201. private bool _forwardLimit;
  202. private bool _reverseLimit;
  203. #endregion
  204. private byte _stopCode;
  205. private int _positionError;
  206. /// <summary>
  207. /// 实际参数
  208. /// </summary>
  209. private int _actualPosition;
  210. private int _actualVelocity;
  211. private int _actualAccel;
  212. private int _actualDecel;
  213. private short _actualTorque;
  214. /// <summary>
  215. /// 设定参数
  216. /// </summary>
  217. private int _targetPosition;
  218. private int _targetVelocity;
  219. private int _targetAccel;
  220. private int _targetDecel;
  221. private short _targetTorque;
  222. /// <summary>
  223. /// Home相关设定参数
  224. /// </summary>
  225. private int _homingVelocity;
  226. private int _homingOffSet;
  227. private int _homingTimeOut;
  228. private int _homingAccel;
  229. private int _homingDecel;
  230. private int _revSoftLimit;
  231. private int _fwdSoftLimit;
  232. private int _negativeTorqueLimit;
  233. private int _positiveTorqueLimit;
  234. private string _moduleName;
  235. #endregion
  236. }
  237. }