MoveItem.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Runtime.Serialization;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using Aitex.Core.Common.DeviceData;
  8. using Aitex.Sorter.Common;
  9. using MECF.Framework.Common.Equipment;
  10. namespace MECF.Framework.Common.Schedulers
  11. {
  12. public enum EnumMoveType
  13. {
  14. Place,
  15. Pick,
  16. Move,
  17. }
  18. [DataContract]
  19. [Serializable]
  20. //helper class
  21. public class MoveItem : IDeviceData
  22. {
  23. [DataMember]
  24. public ModuleName SourceModule { get; set; }
  25. [DataMember]
  26. public int SourceSlot { get; set; }
  27. [DataMember]
  28. public ModuleName DestinationModule { get; set; }
  29. [DataMember]
  30. public int DestinationSlot { get; set; }
  31. [DataMember]
  32. public Hand RobotHand { get; set; }
  33. public ModuleName Module
  34. {
  35. get
  36. {
  37. return ModuleHelper.IsTMRobot(SourceModule) || ModuleHelper.IsEFEMRobot(SourceModule) ? DestinationModule : SourceModule;
  38. }
  39. }
  40. public EnumMoveType TransferType
  41. {
  42. get
  43. {
  44. if (ModuleHelper.IsTMRobot(SourceModule) || ModuleHelper.IsEFEMRobot(SourceModule))
  45. return EnumMoveType.Place;
  46. else if (ModuleHelper.IsTMRobot(DestinationModule) || ModuleHelper.IsEFEMRobot(DestinationModule))
  47. return EnumMoveType.Pick;
  48. else
  49. return EnumMoveType.Move;
  50. }
  51. }
  52. public MoveItem(ModuleName sourceModule, int sourceSlot, ModuleName destinationModule, int destinationSlot, Hand robotHand)
  53. {
  54. this.SourceModule = sourceModule;
  55. this.SourceSlot = sourceSlot;
  56. this.DestinationModule = destinationModule;
  57. this.DestinationSlot = destinationSlot;
  58. this.RobotHand = robotHand;
  59. }
  60. public void Update(IDeviceData data)
  61. {
  62. throw new NotImplementedException();
  63. }
  64. }
  65. }