FfuFanTask.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using Aitex.Core.RT.Device;
  2. using Aitex.Core.RT.Event;
  3. using Aitex.Sorter.Common;
  4. using Aitex.Sorter.RT.EFEMs.Servers;
  5. using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.FFUs.AAF;
  6. namespace Aitex.Sorter.RT.EFEMs.Tasks
  7. {
  8. class SetFfuFanTask : CheckImp, ITask
  9. {
  10. private FfuAAF _ffu;
  11. public SetFfuFanTask()
  12. {
  13. }
  14. public bool Execute(out string result, params string[] args)
  15. {
  16. string device = DeviceName.System;
  17. if (!args[0].StartsWith("FFU") || !float.TryParse(args[2], out float speed) || !int.TryParse(args[0].Replace("FFU",""), out int fanNumber))
  18. {
  19. result = PARAM_NG;
  20. return false;
  21. }
  22. if (fanNumber != 1 && fanNumber != 2)
  23. {
  24. EV.PostWarningLog("EFEM", $"Only support 2 FFUs, can not set {fanNumber}");
  25. result = PARAM_NG;
  26. return false;
  27. }
  28. if (!Check<NoReadyPolicy>(device, out result))
  29. {
  30. return false;
  31. }
  32. if (!Check<MaintenancePolicy>(device, out result))
  33. {
  34. return false;
  35. }
  36. //_ffu = DEVICE.GetDevice<FfuAAF>($"FFU.FfuAAF{fanNumber}");
  37. //_ffu.SetSpeed(speed);
  38. return true;
  39. }
  40. public bool? Monitor(out string result, params string[] args)
  41. {
  42. result = string.Empty;
  43. return true;
  44. }
  45. }
  46. }