SilverSulfatePort.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using System;
  2. using SHJX.Service.Model.Control;
  3. using SHJX.Service.Common.Extend;
  4. using SHJX.Service.Common.ReadXML;
  5. using SHJX.Service.ServerClient.Interface;
  6. using SHJX.Service.ServerClient.TempController;
  7. using SHJX.Service.Common.Logging;
  8. using Microsoft.Extensions.Logging;
  9. namespace SHJX.Service.ServerClient.LiquidPump
  10. {
  11. /// 硫酸银
  12. /// </summary>
  13. public class SilverSulfatePort : SerialPortImp, PortControlImp
  14. {
  15. private static readonly ILogger logger = LogFactory.BuildLogger(typeof(SilverSulfatePort));
  16. /// <summary>
  17. /// <summary>
  18. /// 硫酸银
  19. /// </summary>
  20. /// <param name="config">配置</param>
  21. public SilverSulfatePort( ReadConfigUtil config) : base( config) { }
  22. public object Read(PortArgs args)
  23. {
  24. //return JudgeStorage(args.NodeId);
  25. object res = args.ReadWay switch
  26. {
  27. "OriginalPosition" => GetOriginalPosition(args),
  28. _ => JudgeStorage(args.NodeId),
  29. };
  30. return res;
  31. }
  32. public object GetOriginalPosition(PortArgs args)
  33. {
  34. var res = JudgeStorage(args.NodeId);
  35. if (res is null or { Length: 0 }) return false;
  36. return res[2].Equals('0');
  37. }
  38. public bool Write(PortArgs args)
  39. {
  40. var res = args.WriteWay switch
  41. {
  42. WriteWay.Normotopia => MotorStorage(args.NodeId, 1, "L"),
  43. WriteWay.Antiposition => MotorStorage(args.NodeId, 1, "H"),
  44. WriteWay.GoBack => MotorGoBackDissolvePort(args.NodeId, 3),
  45. WriteWay.Move => MotorMove(args.NodeId, args.Distance),
  46. WriteWay.Speed => MotorSpeed(args.NodeId, args.Distance),
  47. WriteWay.AcSpeed => MotorAcSpeed(args.NodeId, args.Distance),
  48. WriteWay.DeSpeed => MotorDeSpeed(args.NodeId, args.Distance),
  49. _ => throw new ArgumentNullException(args.WriteWay.GetEnumDesc<WriteWay>())
  50. };
  51. return res;
  52. }
  53. }
  54. }