MessageEventArgs.cs 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  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. RspMachineModeChg,
  28. RspAddCommand,
  29. RspConveyorMove,
  30. RspConveyorLoad,
  31. RspConveyorUnload,
  32. RspPIOConveyor,
  33. RspPIOBatteryCharge,
  34. RsqPIOBatteryChargeStop,
  35. RspObstaclePatternChg,
  36. RspObstaclePatternNo,
  37. RspBatteryState,
  38. RspRouteManager,
  39. ReqDirveSpeed,
  40. ReqSpeedProfile,
  41. ReqJogSpeed,
  42. }
  43. //Property 이름임.
  44. public string ModelPropertyName { get; set; }
  45. public eGUIMessageKind Kind { get; set; }
  46. public string MessageKey { get; set; }
  47. public string MessageText { get; set; }
  48. public Command Command { get; set; }
  49. public Dictionary<string , object> Dic { get; set; }
  50. public object Args { get; set; }
  51. public FluentResults.Result Result { get; set; }
  52. //public GUIMessageEventArgs(eGUIMessageKind kind, object args)
  53. //{
  54. // this.Kind = kind;
  55. // this.Args = args;
  56. //}
  57. }
  58. /// <summary>
  59. /// To Background
  60. /// </summary>
  61. public class VCSMessageEventArgs : EventArgs
  62. {
  63. public enum eVCSMessageKind
  64. {
  65. ModelPropertyChange,
  66. ReqIOObject,
  67. ReqIOMapList,
  68. ReqCommandList,
  69. ReqAutoModeChange,
  70. ReqManualModeChange,
  71. ReqAlarmReset,
  72. ReqVehicleModeChange,
  73. ReqEStop,
  74. ReqBuzzerStop,
  75. ReqMachineModeChg,
  76. ReqAddCommand,
  77. ReqTest,
  78. ReqConveyorMove,
  79. ReqConveyorLoad,
  80. ReqConveyorUnload,
  81. ReqPIOConveyor,
  82. ReqPIOBatteryCharge,
  83. ReqPIOBatteryChargeStop,
  84. ReqObstaclePatternChg,
  85. ReqObstaclePatternNo,
  86. ReqBatteryState,
  87. ReqRouteManager,
  88. ReqDirveSpeed,
  89. ReqSpeedProfile,
  90. ReqJogSpeed,
  91. }
  92. public eVCSMessageKind Kind { get; set; }
  93. public string MessageKey { get; set; }
  94. public string MessageText { get; set; }
  95. public Command Command { get; set; }
  96. public Dictionary<string , object> Args { get; set; }
  97. public object Arg { get; set; }
  98. }
  99. public class AxisControlEventArgs : EventArgs
  100. {
  101. public enum eEventDir
  102. {
  103. ToBack,
  104. ToFront,
  105. }
  106. public enum eAxisControlKind
  107. {
  108. NONE = -1,
  109. OriginReturn,
  110. AllOriginReturn,
  111. Stop,
  112. EStop,
  113. Move,
  114. Jog,
  115. ServoOn,
  116. ServoOff,
  117. ReqCurrentPosition,
  118. ReqStopCurrentPosition,
  119. FaultReset,
  120. AxisState,
  121. SyncMove,
  122. SyncState,
  123. }
  124. public enum eJogMoveDir
  125. {
  126. Positive = 0,
  127. Negative,
  128. }
  129. /// <summary>
  130. /// ConveyorPopupView -> Move 하기 위해 구분용으로 생성함
  131. /// </summary>
  132. public enum ePosDir
  133. {
  134. Lock = 0,
  135. UnLock
  136. }
  137. public ePosDir PosDir { get; set; }
  138. public eEventDir Dir { get; set; }
  139. public eAxisControlKind Kind { get; set; }
  140. public eJogMoveDir JogDir { get; set; }
  141. public int JogVelocity { get; set; }
  142. public string AxisName { get; set; }
  143. public double CurrentPosition { get; set; }
  144. public Dictionary<string , object> Args { get; set; }
  145. public Result Result { get; set; }
  146. public class AxisState
  147. {
  148. public bool IsServoOn { get; set; }
  149. public bool IsOriginReturn { get; set; }
  150. public bool IsAmpFault { get; set; }
  151. public double CurrentPosition { get; set; }
  152. }
  153. }
  154. public class IOChangedMessageEventArgs : EventArgs
  155. {
  156. public object Args { get; set; }
  157. }
  158. public class HostConnectedEventArgs : EventArgs
  159. {
  160. public enum eConnectedState
  161. {
  162. Disconnected,
  163. Connected,
  164. }
  165. public eConnectedState State { get; set; }
  166. public HostConnectedEventArgs( eConnectedState state )
  167. {
  168. this.State = state;
  169. }
  170. }
  171. public class DriveControlEventArgs : EventArgs
  172. {
  173. public enum eEventDir
  174. {
  175. ToBack,
  176. ToFront,
  177. }
  178. public enum eControlKind
  179. {
  180. MOVE = 0,
  181. STOP,
  182. Steering,
  183. SteeringState,
  184. ReqCurrentPos,
  185. ReqStopCurrentPos,
  186. FaultReset,
  187. DriveON,
  188. DriveOFF,
  189. JOG,
  190. VehicleState,
  191. }
  192. public enum eJogMoveDir
  193. {
  194. Positive = 0,
  195. Negative,
  196. }
  197. public enum eMoveDir
  198. {
  199. LEFT = 0,
  200. RIGHT,
  201. }
  202. public double CurrentPosition { get; set; }
  203. public int TargetRouteID { get; set; }
  204. public eJogMoveDir JogDir { get; set; }
  205. public eEventDir EventDir { get; set; }
  206. public eControlKind ControlKind { get; set; }
  207. public eMoveDir MoveDir { get; set; }
  208. public object Args { get; set; }
  209. public FluentResults.Result Result { get; set; }
  210. }
  211. public class IOControlEventArgs
  212. {
  213. public enum eEventDir
  214. {
  215. ToBack,
  216. ToFront,
  217. }
  218. public enum eControlKind
  219. {
  220. USE,
  221. ON,
  222. OFF,
  223. STATE
  224. }
  225. public eControlKind ControlKind { get; set; }
  226. public string OutPutTag { get; set; }
  227. public eEventDir EventDir { get; set; }
  228. public object Args { get; set; }
  229. }
  230. public class ObstacleControlEventArgs
  231. {
  232. public enum eEventDir
  233. {
  234. ToBack,
  235. ToFront,
  236. }
  237. public enum eControlKind
  238. {
  239. NONE = -1,
  240. DRIVE = 0,
  241. CURRENT,
  242. CURVE,
  243. STATE,
  244. INFO,
  245. SAVE
  246. }
  247. public int Drive { get; set; }
  248. public int Curve { get; set; }
  249. public int Current { get; set; }
  250. public string ObstacleState { get; set; }
  251. public FluentResults.Result Result { get; set; }
  252. public eControlKind ControlKind { get; set; }
  253. public eEventDir EventDir { get; set; }
  254. public object Args { get; set; }
  255. }
  256. }