CfqManager.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using Ips.DevAlgorithm;
  2. using Ips.Library.Basic;
  3. using Ips.Library.DxpLib;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace Ips.Sps.Cfqs
  10. {
  11. public class CfqManager
  12. {
  13. public static CfqManager Default = new CfqManager();
  14. public static string CfqCliPath = Path.Combine(IpsPath.CliRootDir, "bpq", "bpq.exe");
  15. public bool SetCfqList(IEnumerable<SetCfqItem> setCfqList, out string errMsg, CancellationToken token = default)
  16. {
  17. bool result = false;
  18. errMsg = "";
  19. if (CfqCliPath.IsNotNullOrWhitespace())
  20. {
  21. if (!CfqUtil.SetFreqByCli(CfqCliPath, setCfqList, out errMsg, token))
  22. {
  23. IpsLogger.Warn(errMsg);
  24. }
  25. else
  26. {
  27. IpsLogger.Info($"设置变频器成功,频点:{setCfqList.OrderBy(m => m.CfqAddr).Select(m => m.FreqPoint.E6m()).JoinAsString(",")}");
  28. result = true;
  29. }
  30. }
  31. return result;
  32. }
  33. }
  34. }