XiaomiAGVMQTT_Loading.cs 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. using System;
  2. using System.Linq;
  3. using System.Text;
  4. namespace MainForm.ClassFile.XiaomiAPI_AGV
  5. {
  6. /// <summary>
  7. /// AGV向装备 发送 ⼊料指令(⼊料请求指令/⼊料完成指令)
  8. /// control/incoming ⼊料请求
  9. /// control/incoming/finish ⼊料完成
  10. /// </summary>
  11. public class XiaomiAGVMQTT_Loading
  12. {
  13. #region 接收报文
  14. /// <summary>
  15. /// AGV发送来的报文(⼊料请求指令、⼊料完成指令) - 实体
  16. /// iiot_tm_comm_control_down/tm/down/control/${portCode}
  17. /// </summary>
  18. public class IncomingFromAGV
  19. {
  20. /// <summary>
  21. /// 事件;非必填
  22. /// </summary>
  23. public string things { set; get; } = null;
  24. /// <summary>
  25. /// 服务内容
  26. /// </summary>
  27. public IncomingFromAGVService service { set; get; } = new IncomingFromAGVService();
  28. /// <summary>
  29. /// 时间戳;13位
  30. /// </summary>
  31. public string time { set; get; } = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
  32. /// <summary>
  33. /// 服务内容
  34. /// </summary>
  35. public class IncomingFromAGVService
  36. {
  37. /// <summary>
  38. /// Id 等于 时间戳time
  39. /// </summary>
  40. public string callId { set; get; } = string.Empty;
  41. /// <summary>
  42. /// 任务标识符
  43. /// control/incoming ⼊料请求
  44. /// control/incoming/finish ⼊料完成
  45. /// </summary>
  46. public string identifier { set; get; } = string.Empty;
  47. /// <summary>
  48. /// 接驳台信息
  49. /// </summary>
  50. public IncomingFromAGVInputItems inputItems { set; get; } = new IncomingFromAGVInputItems();
  51. }
  52. /// <summary>
  53. /// 接驳台信息
  54. /// </summary>
  55. public class IncomingFromAGVInputItems
  56. {
  57. /// <summary>
  58. /// 接驳⼝编码
  59. /// </summary>
  60. public string portCode { set; get; } = string.Empty;
  61. /// <summary>
  62. /// 送料数量;空箱传0
  63. /// </summary>
  64. public int quantity { set; get; }
  65. }
  66. }
  67. #endregion 接收报文
  68. #region 装备向AGV 回复‘⼊料请求指令’(SMT装备向AGV返回[允许或拒绝]⼊料请求)
  69. // 装备向AGV 回复‘⼊料请求指令’(SMT装备向AGV返回[允许或拒绝]⼊料请求)
  70. // iiot_tm_comm_control_up/tm/up/control/agv
  71. /// <summary>
  72. /// ⼊料请求指令 - 装备向AGV回复的报文
  73. /// </summary>
  74. public class IncomingToAGV
  75. {
  76. /// <summary>
  77. /// 时间戳;13位
  78. /// </summary>
  79. public string time { set; get; } = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
  80. /// <summary>
  81. /// 事件;非必填
  82. /// </summary>
  83. public string things { set; get; } = null;
  84. /// <summary>
  85. /// 服务内容
  86. /// </summary>
  87. public IncomingToAGVService service { set; get; } = new IncomingToAGVService();
  88. /// <summary>
  89. /// 服务内容
  90. /// </summary>
  91. public class IncomingToAGVService
  92. {
  93. /// <summary>
  94. /// Id 等于 时间戳time
  95. /// </summary>
  96. public string callId { set; get; } = string.Empty;
  97. /// <summary>
  98. /// 任务标识符
  99. /// control/incoming ⼊料请求
  100. /// </summary>
  101. public string identifier { set; get; } = "control/incoming";
  102. /// <summary>
  103. /// 状态信息
  104. /// </summary>
  105. public string executeStatus { set; get; } = "SUCCESS";
  106. /// <summary>
  107. /// 接驳台信息
  108. /// </summary>
  109. public IncomingToAGVOutputItems outputItems { set; get; } = new IncomingToAGVOutputItems();
  110. }
  111. /// <summary>
  112. /// 接驳台信息
  113. /// </summary>
  114. public class IncomingToAGVOutputItems
  115. {
  116. /// <summary>
  117. /// 接驳⼝编码
  118. /// </summary>
  119. public string portCode { set; get; } = string.Empty;
  120. /// <summary>
  121. /// 允许:agree
  122. /// 不允许:refuse
  123. /// </summary>
  124. public string message { set; get; } = "agree";
  125. }
  126. }
  127. #endregion 装备向AGV 回复‘⼊料请求指令’(SMT装备向AGV返回[允许或拒绝]⼊料请求)
  128. #region 装备向AGV 回复‘⼊料完成指令’(SMT装备向AGV返回⼊料完成)
  129. // 装备向AGV 回复‘⼊料完成指令’(SMT装备向AGV返回⼊料完成)
  130. // iiot_tm_comm_control_up/tm/up/control/agv
  131. /// <summary>
  132. /// ⼊料完成指令 - 装备向AGV回复的报文
  133. /// </summary>
  134. public class IncomingFinishToAGV
  135. {
  136. /// <summary>
  137. /// 时间戳;13位
  138. /// </summary>
  139. public string time { set; get; } = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
  140. /// <summary>
  141. /// 事件;非必填
  142. /// </summary>
  143. public string things { set; get; } = null;
  144. /// <summary>
  145. /// 服务内容
  146. /// </summary>
  147. public IncomingFinishToAGVService service { set; get; } = new IncomingFinishToAGVService();
  148. /// <summary>
  149. /// 服务内容
  150. /// </summary>
  151. public class IncomingFinishToAGVService
  152. {
  153. /// <summary>
  154. /// Id 等于 时间戳time
  155. /// </summary>
  156. public string callId { set; get; } = string.Empty;
  157. /// <summary>
  158. /// 任务标识符
  159. /// control/incoming/finish ⼊料完成
  160. /// </summary>
  161. public string identifier { set; get; } = "control/incoming/finish";
  162. /// <summary>
  163. /// 状态信息
  164. /// </summary>
  165. public string executeStatus { set; get; } = "SUCCESS";
  166. /// <summary>
  167. /// 接驳台信息
  168. /// </summary>
  169. public IncomingFinishToAGVOutputItems outputItems { set; get; } = new IncomingFinishToAGVOutputItems();
  170. }
  171. /// <summary>
  172. /// 接驳台信息
  173. /// </summary>
  174. public class IncomingFinishToAGVOutputItems
  175. {
  176. /// <summary>
  177. /// 接驳⼝编码
  178. /// </summary>
  179. public string portCode { set; get; } = string.Empty;
  180. /// <summary>
  181. /// 送料数量.空箱传0
  182. /// </summary>
  183. public int quantity { set; get; } = 0;
  184. }
  185. }
  186. #endregion 装备向AGV 回复‘⼊料完成指令’(SMT装备向AGV返回⼊料完成)
  187. }
  188. }