SRMWork.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. using System;
  2. using WCS.Core;
  3. using WCS.Entity;
  4. using WCS.Entity.Protocol;
  5. using WCS.Service.Handlers;
  6. namespace WCS.Service.Works.SRM
  7. {
  8. [WorkTitle(typeof(SRMHandler), "堆垛机")]
  9. internal class SRMWork : DeviceWork<Device<ISRM520, ISRM521, ISRM537>>
  10. {
  11. protected override void Do(Device<ISRM520, ISRM521, ISRM537> obj)
  12. {
  13. if (obj.Data.VoucherNo_2 != obj.Data2.VoucherNo_2) throw new Exception("凭证号不一致");
  14. if (obj.Data2.TaskFinishiID_1 != 0 || obj.Data2.TaskFinishiID_2 != 0)
  15. {
  16. obj.Data.OK_ACK_1 = 1;
  17. obj.Data.OK_ACK_2 = 1;
  18. obj.Data.TaskID_1 = 123456;
  19. obj.Data.RowPos1_1 = 3;
  20. obj.Data.TravelPos1_1 = 9;
  21. obj.Data.LiftPos1_1 = 1;
  22. obj.Data.ForkStartPos1_1 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1;
  23. obj.Data.RowPos2_1 = 3;
  24. obj.Data.TravelPos2_1 = 1;
  25. obj.Data.LiftPos2_1 = 1;
  26. obj.Data.ForkDestPos2_1 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1;
  27. obj.Data.TaskType_1 = WCS.Entity.Protocol.SRM.SRMTaskType.取放货任务;
  28. obj.Data.TaskSum_2 = 1;
  29. var b = true;
  30. if (b)
  31. {
  32. obj.Data.TaskID_2 = 123456;
  33. obj.Data.RowPos1_2 = 3;
  34. obj.Data.Travelpos1_2 = 10;
  35. obj.Data.Liftpos1_2 = 1;
  36. obj.Data.ForkStartPos1_2 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1;
  37. obj.Data.RowPos2_2 = 3;
  38. obj.Data.Travelpos2_2 = 2;
  39. obj.Data.Liftpos2_2 = 1;
  40. obj.Data.ForkStartPos2_2 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1;
  41. obj.Data.TaskType_2 = WCS.Entity.Protocol.SRM.SRMTaskType.取放货任务;
  42. }
  43. obj.Data.VoucherNo_2++;
  44. return;
  45. }
  46. if (obj.Data2.SrmRunStatus != WCS.Entity.Protocol.SRM.SRMFRunStatus.空闲) throw new Exception("任务执行中");
  47. obj.Data.TaskID_1 = 123456;
  48. obj.Data.RowPos1_1 = 3;
  49. obj.Data.TravelPos1_1 = 1;
  50. obj.Data.LiftPos1_1 = 1;
  51. obj.Data.ForkStartPos1_1 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1;
  52. obj.Data.RowPos2_1 = 3;
  53. obj.Data.TravelPos2_1 = 9;
  54. obj.Data.LiftPos2_1 = 1;
  55. obj.Data.ForkDestPos2_1 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1;
  56. obj.Data.TaskType_1 = WCS.Entity.Protocol.SRM.SRMTaskType.取放货任务;
  57. obj.Data.TaskSum_2 = 1;
  58. var a = true;
  59. if (a)
  60. {
  61. obj.Data.TaskID_2 = 123456;
  62. obj.Data.RowPos1_2 = 3;
  63. obj.Data.Travelpos1_2 = 2;
  64. obj.Data.Liftpos1_2 = 1;
  65. obj.Data.ForkStartPos1_2 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1;
  66. obj.Data.RowPos2_2 = 3;
  67. obj.Data.Travelpos2_2 = 10;
  68. obj.Data.Liftpos2_2 = 1;
  69. obj.Data.ForkStartPos2_2 = WCS.Entity.Protocol.SRM.SRMForkPos.深度1;
  70. obj.Data.TaskType_2= WCS.Entity.Protocol.SRM.SRMTaskType.取放货任务;
  71. }
  72. obj.Data.VoucherNo_2++;
  73. }
  74. protected override bool SelectDevice(WCS_DEVICE dev)
  75. {
  76. return dev.CODE.Contains("SRM");
  77. }
  78. }
  79. }