RobotEnum.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668
  1. using System;
  2. using System.ComponentModel;
  3. namespace WCS.Entity.Protocol.Protocol.Robot
  4. {
  5. /// <summary>
  6. /// 机械手工位状态
  7. /// </summary>
  8. [Flags]
  9. public enum RobotState : ushort
  10. {
  11. /// <summary>
  12. /// 完成取货信号
  13. /// </summary>
  14. [Description("完成取货信号")]
  15. GetFinish = 1 << 0,
  16. /// <summary>
  17. /// 完成放货信号
  18. /// </summary>
  19. [Description("完成放货信号")]
  20. PutFinish = 1 << 1,
  21. /// <summary>
  22. /// 设备故障状态
  23. /// </summary>
  24. [Description("设备故障状态")]
  25. Alarm = 1 << 2,
  26. /// <summary>
  27. /// 当前任务完成
  28. /// </summary>
  29. [Description("当前任务完成")]
  30. TaskFinish = 1 << 3,
  31. /// <summary>
  32. /// 设备上有货
  33. /// </summary>
  34. [Description("设备上有货")]
  35. Loaded = 1 << 4,
  36. /// <summary>
  37. /// 机器人在原位
  38. /// </summary>
  39. [Description("机器人在原位")]
  40. ForkCenter = 1 << 5,
  41. /// <summary>
  42. /// 反馈WCS能否发任务,1:可以发任务 0:不能发任务
  43. /// </summary>
  44. [Description("反馈WCS能否发任务,1:可以发任务 0:不能发任务")]
  45. IssueTask = 1 << 6,
  46. /// <summary>
  47. /// 备用s
  48. /// </summary>
  49. [Description("备用")]
  50. Res = 1 << 7,
  51. /// <summary>
  52. /// 备用
  53. /// </summary>
  54. [Description("备用")]
  55. Res1 = 1 << 8,
  56. /// <summary>
  57. /// 备用
  58. /// </summary>
  59. [Description("备用")]
  60. Res2 = 1 << 9,
  61. /// <summary>
  62. /// 备用
  63. /// </summary>
  64. [Description("备用")]
  65. Res3 = 1 << 10,
  66. /// <summary>
  67. /// 备用
  68. /// </summary>
  69. [Description("备用")]
  70. Res4 = 1 << 11,
  71. /// <summary>
  72. /// 备用
  73. /// </summary>
  74. [Description("备用")]
  75. Res5 = 1 << 12,
  76. /// <summary>
  77. /// 备用
  78. /// </summary>
  79. [Description("备用")]
  80. Res6 = 1 << 13,
  81. /// <summary>
  82. /// 备用
  83. /// </summary>
  84. [Description("备用")]
  85. Res7 = 1 << 14,
  86. /// <summary>
  87. /// 备用
  88. /// </summary>
  89. [Description("备用")]
  90. Res8 = 1 << 15,
  91. }
  92. /// <summary>
  93. /// 机械臂模式
  94. /// </summary>
  95. public enum RobotMode : short
  96. {
  97. /// <summary>
  98. /// 自动
  99. /// </summary>
  100. [Description("自动")]
  101. Automatic = 1,
  102. /// <summary>
  103. /// 手动
  104. /// </summary>
  105. [Description("手动")]
  106. Manua = 2,
  107. /// <summary>
  108. /// 报警
  109. /// </summary>
  110. [Description("报警")]
  111. Alarm = 3
  112. }
  113. /// <summary>
  114. /// 机械臂运行状态
  115. /// </summary>
  116. public enum RobotRunStatus : short
  117. {
  118. /// <summary>
  119. /// 空闲
  120. /// </summary>
  121. [Description("空闲")]
  122. Idle = 1,
  123. /// <summary>
  124. /// 入库抓取中
  125. /// </summary>
  126. [Description("入库抓取中")]
  127. InboundCrawling = 2,
  128. /// <summary>
  129. /// 入库放置中
  130. /// </summary>
  131. [Description("入库放置中")]
  132. InStorage = 3,
  133. /// <summary>
  134. /// 出库抓取中
  135. /// </summary>
  136. [Description("出库抓取中")]
  137. OutBoundCrawling = 4,
  138. /// <summary>
  139. /// 出库放置中
  140. /// </summary>
  141. [Description("出库放置中")]
  142. OutStorage = 5,
  143. /// <summary>
  144. /// 维护
  145. /// </summary>
  146. [Description("维护")]
  147. Maintain = 99
  148. }
  149. /// <summary>
  150. /// 机械臂报警
  151. /// </summary>
  152. [Flags]
  153. public enum RobotAlarm : ulong
  154. {
  155. /// <summary>
  156. /// 无
  157. /// </summary>
  158. [Description("无")]
  159. 无 = 0,
  160. /// <summary>
  161. /// 入库货位有货
  162. /// </summary>
  163. [Description("入库货位有货")]
  164. 入库货位有货 = 1L << 0,
  165. /// <summary>
  166. /// 出库货位无货
  167. /// </summary>
  168. [Description("出库货位无货")]
  169. 出库货位无货 = 1L << 1,
  170. /// <summary>
  171. /// 库位任务超出范围报错
  172. /// </summary>
  173. [Description("库位任务超出范围报错")]
  174. 库位任务超出范围报错 = 1L << 2,
  175. /// <summary>
  176. /// 码垛任务超出范围报错
  177. /// </summary>
  178. [Description("码垛任务超出范围报错")]
  179. 码垛任务超出范围报错 = 1L << 3,
  180. /// <summary>
  181. /// 夹具1抓取货物报错
  182. /// </summary>
  183. [Description("夹具1抓取货物报错")]
  184. 夹具1抓取货物报错 = 1L << 4,
  185. /// <summary>
  186. /// 夹具2抓取货物报错
  187. /// </summary>
  188. [Description("夹具2抓取货物报错")]
  189. 夹具2抓取货物报错 = 1L << 5,
  190. /// <summary>
  191. /// 夹具1压货报警
  192. /// </summary>
  193. [Description("夹具1压货报警")]
  194. 夹具1压货报警 = 1L << 6,
  195. /// <summary>
  196. /// 夹具2压货报警
  197. /// </summary>
  198. [Description("夹具2压货报警")]
  199. 夹具2压货报警 = 1L << 7,
  200. /// <summary>
  201. /// 夹具1掉料报警
  202. /// </summary>
  203. [Description("夹具1掉料报警")]
  204. 夹具1掉料报警 = 1L << 8,
  205. /// <summary>
  206. /// 夹具2掉料报警
  207. /// </summary>
  208. [Description("夹具2掉料报警")]
  209. 夹具2掉料报警 = 1L << 9,
  210. /// <summary>
  211. /// 机器人限位报警
  212. /// </summary>
  213. [Description("机器人限位报警")]
  214. 机器人限位报警 = 1L << 10,
  215. /// <summary>
  216. /// 机器人充磁失败报警
  217. /// </summary>
  218. [Description("机器人充磁失败报警")]
  219. 机器人充磁失败报警 = 1L << 11,
  220. /// <summary>
  221. /// 安全门急停报警
  222. /// </summary>
  223. [Description("安全门急停报警")]
  224. 安全门急停报警 = 1L << 12,
  225. /// <summary>
  226. /// 光栅报警
  227. /// </summary>
  228. [Description("光栅报警")]
  229. 光栅报警 = 1L << 13,
  230. /// <summary>
  231. /// 光栅误触报警
  232. /// </summary>
  233. [Description("光栅误触报警")]
  234. 光栅误触报警 = 1L << 14,
  235. /// <summary>
  236. /// 托盘任务出错
  237. /// </summary>
  238. [Description("托盘任务出错")]
  239. 托盘任务出错 = 1L << 15,
  240. /// <summary>
  241. /// 抓深度2在深度1有货
  242. /// </summary>
  243. [Description("抓深度2在深度1有货")]
  244. 抓深度2在深度1有货 = 1L << 16,
  245. /// <summary>
  246. /// 抓深度3在深度1或者2有货
  247. /// </summary>
  248. [Description("抓深度3在深度1或者2有货")]
  249. 抓深度3在深度1或者2有货 = 1L << 17,
  250. /// <summary>
  251. /// 备用
  252. /// </summary>
  253. [Description("备用")]
  254. 备用2 = 1L << 18,
  255. /// <summary>
  256. /// 提升变频器报警
  257. /// </summary>
  258. [Description("提升变频器报警")]
  259. 备用3 = 1L << 19,
  260. /// <summary>
  261. /// 货叉变频器报警
  262. /// </summary>
  263. [Description("货叉变频器报警")]
  264. 备用4 = 1L << 20,
  265. /// <summary>
  266. /// 提升超速报警
  267. /// </summary>
  268. [Description("提升超速报警")]
  269. 备用5 = 1L << 21,
  270. /// <summary>
  271. /// 风扇灯插座空开
  272. /// </summary>
  273. [Description("风扇灯插座空开")]
  274. 备用6 = 1L << 22,
  275. /// <summary>
  276. /// 触摸屏光通讯激光测距空开
  277. /// </summary>
  278. [Description("触摸屏光通讯激光测距空开")]
  279. 备用7 = 1L << 23,
  280. /// <summary>
  281. /// 行走马达保护器
  282. /// </summary>
  283. [Description("行走马达保护器")]
  284. 备用8 = 1L << 24,
  285. /// <summary>
  286. /// 行走抱闸空开
  287. /// </summary>
  288. [Description("行走抱闸空开")]
  289. 备用9 = 1L << 25,
  290. /// <summary>
  291. /// 起升马达保护器
  292. /// </summary>
  293. [Description("起升马达保护器")]
  294. 备用10 = 1L << 26,
  295. /// <summary>
  296. /// 起升抱闸空开
  297. /// </summary>
  298. [Description("起升抱闸空开")]
  299. 备用11 = 1L << 27,
  300. /// <summary>
  301. /// 货叉马达保护器
  302. /// </summary>
  303. [Description("货叉马达保护器")]
  304. 备用12 = 1L << 28,
  305. /// <summary>
  306. /// 货叉抱闸空开
  307. /// </summary>
  308. [Description("货叉抱闸空开")]
  309. 备用13 = 1L << 29,
  310. /// <summary>
  311. /// 安全门打开
  312. /// </summary>
  313. [Description("安全门打开")]
  314. 备用14 = 1L << 30,
  315. /// <summary>
  316. /// 安全继电器报警
  317. /// </summary>
  318. [Description("安全继电器报警")]
  319. 备用15 = 1L << 31,
  320. /// <summary>
  321. /// 当前货位已禁用
  322. /// </summary>
  323. [Description("当前货位已禁用")]
  324. 备用16 = 1L << 32,
  325. /// <summary>
  326. /// 组态中断报警
  327. /// </summary>
  328. [Description("组态中断报警")]
  329. 备用17 = 1L << 33,
  330. /// <summary>
  331. /// 货物左前超出
  332. /// </summary>
  333. [Description("货物左前超出")]
  334. 备用18 = 1L << 34,
  335. /// <summary>
  336. /// 货物左后超出
  337. /// </summary>
  338. [Description("货物左后超出")]
  339. 备用19 = 1L << 35,
  340. /// <summary>
  341. /// 货物右前超出
  342. /// </summary>
  343. [Description("货物右前超出")]
  344. 备用20 = 1L << 36,
  345. /// <summary>
  346. /// 货物右后超出
  347. /// </summary>
  348. [Description("货物右后超出")]
  349. 备用21 = 1L << 37,
  350. /// <summary>
  351. /// 相序保护
  352. /// </summary>
  353. [Description("相序保护")]
  354. 备用22 = 1L << 38,
  355. /// <summary>
  356. /// 备用
  357. /// </summary>
  358. [Description("备用")]
  359. 备用23 = 1L << 39,
  360. /// <summary>
  361. /// 备用
  362. /// </summary>
  363. [Description("备用")]
  364. 备用24 = 1L << 40,
  365. /// <summary>
  366. /// 备用
  367. /// </summary>
  368. [Description("备用")]
  369. 备用25 = 1L << 41,
  370. /// <summary>
  371. /// 备用
  372. /// </summary>
  373. [Description("备用")]
  374. 备用26 = 1L << 42,
  375. /// <summary>
  376. /// 备用
  377. /// </summary>
  378. [Description("备用")]
  379. 备用27 = 1L << 43,
  380. /// <summary>
  381. /// 备用
  382. /// </summary>
  383. [Description("备用")]
  384. 备用28 = 1L << 44,
  385. /// <summary>
  386. /// 备用
  387. /// </summary>
  388. [Description("备用")]
  389. 备用29 = 1L << 45,
  390. /// <summary>
  391. /// 备用
  392. /// </summary>
  393. [Description("备用")]
  394. 备用30 = 1L << 46,
  395. /// <summary>
  396. /// 备用
  397. /// </summary>
  398. [Description("备用")]
  399. 备用31 = 1L << 47,
  400. /// <summary>
  401. /// 备用
  402. /// </summary>
  403. [Description("备用")]
  404. 备用32 = 1L << 48,
  405. /// <summary>
  406. /// 备用
  407. /// </summary>
  408. [Description("备用")]
  409. 备用33 = 1L << 49,
  410. /// <summary>
  411. /// 备用
  412. /// </summary>
  413. [Description("备用")]
  414. 备用34 = 1L << 50,
  415. /// <summary>
  416. /// 备用
  417. /// </summary>
  418. [Description("备用")]
  419. 备用35 = 1L << 51,
  420. /// <summary>
  421. /// 载货台电源空开
  422. /// </summary>
  423. [Description("备用")]
  424. 备用36 = 1L << 52,
  425. /// <summary>
  426. /// 备用
  427. /// </summary>
  428. [Description("备用")]
  429. 备用37 = 1L << 53,
  430. /// <summary>
  431. /// 备用
  432. /// </summary>
  433. [Description("备用")]
  434. 备用38 = 1L << 54,
  435. /// <summary>
  436. /// 备用
  437. /// </summary>
  438. [Description("备用")]
  439. 备用39 = 1L << 55,
  440. /// <summary>
  441. /// 备用
  442. /// </summary>
  443. [Description("备用")]
  444. 备用40 = 1L << 56,
  445. /// <summary>
  446. /// 备用
  447. /// </summary>
  448. [Description("备用")]
  449. 备用41 = 1L << 57,
  450. /// <summary>
  451. /// 备用
  452. /// </summary>
  453. [Description("备用")]
  454. 备用42 = 1L << 58,
  455. /// <summary>
  456. /// 备用
  457. /// </summary>
  458. [Description("备用")]
  459. 备用43 = 1L << 59,
  460. /// <summary>
  461. /// 备用
  462. /// </summary>
  463. [Description("备用")]
  464. 备用44 = 1L << 60,
  465. /// <summary>
  466. /// 备用
  467. /// </summary>
  468. [Description("备用")]
  469. 备用45 = 1L << 61,
  470. /// <summary>
  471. /// 备用
  472. /// </summary>
  473. [Description("备用")]
  474. 备用46 = 1L << 62,
  475. }
  476. /// <summary>
  477. /// 机械臂指令
  478. /// </summary>
  479. [Flags]
  480. public enum RobotCmdType : ushort
  481. {
  482. /// <summary>
  483. /// 码垛结束
  484. /// </summary>
  485. [Description("码垛结束")]
  486. End = 1 >> 0,
  487. /// <summary>
  488. /// 备用
  489. /// </summary>
  490. [Description("备用")]
  491. Res7 = 1 >> 1,
  492. /// <summary>
  493. /// 备用
  494. /// </summary>
  495. [Description("备用")]
  496. Res8 = 1 >> 2,
  497. /// <summary>
  498. /// 备用
  499. /// </summary>
  500. [Description("备用")]
  501. Res9 = 1 >> 3,
  502. /// <summary>
  503. /// 备用
  504. /// </summary>
  505. [Description("备用")]
  506. Res10 = 1 >> 4,
  507. /// <summary>
  508. /// 备用
  509. /// </summary>
  510. [Description("备用")]
  511. Res11 = 1 >> 5,
  512. /// <summary>
  513. /// 备用
  514. /// </summary>
  515. [Description("备用")]
  516. Res12 = 1 >> 6,
  517. /// <summary>
  518. /// 备用
  519. /// </summary>
  520. [Description("备用")]
  521. Res13 = 1 >> 7,
  522. /// <summary>
  523. /// 备用
  524. /// </summary>
  525. [Description("备用")]
  526. Res14 = 1 >> 8,
  527. /// <summary>
  528. /// 备用
  529. /// </summary>
  530. [Description("备用")]
  531. Res = 1 >> 9,
  532. /// <summary>
  533. /// 备用
  534. /// </summary>
  535. [Description("备用")]
  536. Res1 = 1 >> 10,
  537. /// <summary>
  538. /// 备用
  539. /// </summary>
  540. [Description("备用")]
  541. Res2 = 1 >> 11,
  542. /// <summary>
  543. /// 备用
  544. /// </summary>
  545. [Description("备用")]
  546. Res3 = 1 >> 12,
  547. /// <summary>
  548. /// 备用
  549. /// </summary>
  550. [Description("备用")]
  551. Res4 = 1 >> 13,
  552. /// <summary>
  553. /// 备用
  554. /// </summary>
  555. [Description("备用")]
  556. Res5 = 1 >> 14,
  557. /// <summary>
  558. /// 备用
  559. /// </summary>
  560. [Description("备用")]
  561. Res6 = 1 >> 15,
  562. }
  563. }