RGVSystems.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using ServiceCenter.Logs;
  2. using System.ComponentModel;
  3. using WCS.Core;
  4. using WCS.WorkEngineering.Extensions;
  5. using WCS.WorkEngineering.Protocol.RGV;
  6. using WCS.WorkEngineering.Worlds;
  7. namespace WCS.WorkEngineering.Systems
  8. {
  9. /// <summary>
  10. /// Agv交互系统
  11. /// </summary>
  12. [BelongTo(typeof(MainWorld))]
  13. [Description("RGV交互系统")]
  14. public class RGVSystems : DeviceSystem<RGV>
  15. {
  16. protected override bool ParallelDo => true;
  17. protected override bool SaveLogsToFile => true;
  18. public RGVSystems()
  19. {
  20. }
  21. public override void Do(RGV obj)
  22. {
  23. //if (obj.Data.VoucherNo != obj.Data2.VoucherNo) throw new KnownException($"凭证号不一致,DB520:{obj.Data.VoucherNo}-DB521:{obj.Data2.VoucherNo}", LogLevelEnum.High);
  24. //if (!obj.Data2.WorkMode.HasFlag(RGVWorkMode.Automatic)) return;
  25. //if (!obj.Data2.SystemStatus.HasFlag(RGVSystemStatus.空闲)) return;
  26. //if (obj.Data2.Status.HasFlag(RGVStatus.PH_Status)) throw new KnownException($"有光电", LogLevelEnum.High);
  27. //obj.Data.TaskNumber = 12345;
  28. //obj.Data.CmdType = RGVCmdType.PickPutGoods;
  29. //obj.Data.StartPosition = 1663;
  30. //obj.Data.DestPosition = 1672;
  31. //obj.Data.VoucherNo++;
  32. }
  33. public override bool Select(Device dev)
  34. {
  35. return dev.Code == "RGV1";
  36. //return dev.HasFlag(Extensions.DeviceFlags.RGV);
  37. }
  38. }
  39. }