MessageEventArgs.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using FluentResults;
  7. using OHV.Common.Model;
  8. namespace OHV.Common.Events
  9. {
  10. public class GUIMessageEventArgs : EventArgs
  11. {
  12. /// <summary>
  13. /// To GUI
  14. /// </summary>
  15. public enum eGUIMessageKind
  16. {
  17. ModelPropertyChange, //각 Model 마다 사용 할 예정.
  18. RspIOObject,
  19. RspIOMapList,
  20. RspCommandList,
  21. RspAutoModeChange,
  22. RspManualModeChange,
  23. RspAlarmReset,
  24. RspVehicleModeChange,
  25. RspEStop,
  26. RspVihicleState,
  27. }
  28. //Property 이름임.
  29. public string ModelPropertyName { get; set; }
  30. public eGUIMessageKind Kind { get; set; }
  31. public string MessageKey { get; set; }
  32. public string MessageText { get; set; }
  33. public Command Command { get; set; }
  34. public Dictionary<string, object> Dic { get; set; }
  35. public object Args { get; set; }
  36. public FluentResults.Result Result { get; set; }
  37. //public GUIMessageEventArgs(eGUIMessageKind kind, object args)
  38. //{
  39. // this.Kind = kind;
  40. // this.Args = args;
  41. //}
  42. }
  43. /// <summary>
  44. /// To Background
  45. /// </summary>
  46. public class VCSMessageEventArgs : EventArgs
  47. {
  48. public enum eVCSMessageKind
  49. {
  50. ModelPropertyChange,
  51. ReqIOObject,
  52. ReqIOMapList,
  53. ReqCommandList,
  54. ReqAutoModeChange,
  55. ReqManualModeChange,
  56. ReqAlarmReset,
  57. ReqVehicleModeChange,
  58. ReqEStop,
  59. }
  60. public eVCSMessageKind Kind { get; set; }
  61. public string MessageKey { get; set; }
  62. public string MessageText { get; set; }
  63. public Command Command { get; set; }
  64. public Dictionary<string, object> Args { get; set; }
  65. }
  66. public class AxisControlEventArgs : EventArgs
  67. {
  68. public enum eEventDir
  69. {
  70. ToBack,
  71. ToFront,
  72. }
  73. public enum eAxisControlKind
  74. {
  75. NONE = -1,
  76. OriginReturn,
  77. Stop,
  78. EStop,
  79. Move,
  80. Jog,
  81. ServoOn,
  82. ServoOff,
  83. ReqCurrentPosition,
  84. ReqStopCurrentPosition,
  85. FaultReset,
  86. AxisState,
  87. }
  88. public enum eJogMoveDir
  89. {
  90. Positive = 0,
  91. Negative,
  92. }
  93. public enum eAxises
  94. {
  95. LEFT = 0,
  96. RIGHT,
  97. LR_SYNC
  98. }
  99. /// <summary>
  100. /// ConveyorPopupView -> Move 하기 위해 구분용으로 생성함
  101. /// </summary>
  102. public enum ePosDir
  103. {
  104. Lock = 0,
  105. UnLock
  106. }
  107. public ePosDir PosDir { get; set; }
  108. public eAxises Axis { get; set; }
  109. public eEventDir Dir { get; set; }
  110. public eAxisControlKind Kind { get; set; }
  111. public eJogMoveDir JogDir { get; set; }
  112. public string AxisName { get; set; }
  113. public double CurrentPosition { get; set; }
  114. public Dictionary<string, object> Args { get; set; }
  115. public Result Result { get; set; }
  116. public class AxisState
  117. {
  118. public bool IsServoOn { get; set; }
  119. public bool IsOriginReturn { get; set; }
  120. public bool IsAmpFault { get; set; }
  121. public double CurrentPosition { get; set; }
  122. }
  123. }
  124. public class IOChangedMessageEventArgs: EventArgs
  125. {
  126. public object Args { get; set; }
  127. }
  128. public class HostConnectedEventArgs : EventArgs
  129. {
  130. public enum eConnectedState
  131. {
  132. Disconnected,
  133. Connected,
  134. }
  135. public eConnectedState State { get; set; }
  136. public HostConnectedEventArgs(eConnectedState state)
  137. {
  138. this.State = state;
  139. }
  140. }
  141. public class DriveControlEventArgs : EventArgs
  142. {
  143. public enum eEventDir
  144. {
  145. ToBack,
  146. ToFront,
  147. }
  148. public enum eControlKind
  149. {
  150. MOVE = 0,
  151. STOP,
  152. Steering,
  153. SteeringState,
  154. ReqCurrentPos,
  155. ReqStopCurrentPos,
  156. FaultReset,
  157. DriveON,
  158. DriveOFF,
  159. JOG,
  160. }
  161. public enum eJogMoveDir
  162. {
  163. Positive = 0,
  164. Negative,
  165. }
  166. public enum eMoveDir
  167. {
  168. LEFT = 0,
  169. RIGHT,
  170. }
  171. public double CurrentPosition { get; set; }
  172. public string PositionTag { get; set; }
  173. public eJogMoveDir JogDir { get; set; }
  174. public eEventDir EventDir { get; set; }
  175. public eControlKind ControlKind { get; set; }
  176. public eMoveDir MoveDir { get; set; }
  177. public object Args { get; set; }
  178. public FluentResults.Result Result { get; set; }
  179. }
  180. public class IOControlEventArgs
  181. {
  182. public enum eEventDir
  183. {
  184. ToBack,
  185. ToFront,
  186. }
  187. public enum eControlKind
  188. {
  189. USE,
  190. ON,
  191. OFF,
  192. STATE
  193. }
  194. public eControlKind ControlKind { get; set; }
  195. public string OutPutTag { get; set; }
  196. public eEventDir EventDir { get; set; }
  197. public object Args { get; set; }
  198. }
  199. }