using System; using SHJX.Service.Model.Control; using SHJX.Service.Common.Extend; using SHJX.Service.Common.ReadXML; using SHJX.Service.ServerClient.Interface; using SHJX.Service.ServerClient.TempController; using SHJX.Service.Common.Logging; using Microsoft.Extensions.Logging; namespace SHJX.Service.ServerClient.LiquidPump { /// /// 硫酸亚铁铵 /// public class FASPort : SerialPortImp, PortControlImp { private static readonly ILogger logger = LogFactory.BuildLogger(typeof(SerialPortImp)); /// /// 硫酸亚铁铵 /// /// 日志 /// 配置 public FASPort( ReadConfigUtil config) : base( config) { } public object Read(PortArgs args) { return JudgeStorage(args.NodeId); } /// /// 写入 /// /// /// public bool Write(PortArgs args) { var res = args.WriteWay switch { WriteWay.Normotopia => MotorStorage(args.NodeId, 4, "L"), WriteWay.Antiposition => MotorStorage(args.NodeId, 4, "H"), WriteWay.Move => MotorMove(args.NodeId, args.Distance), WriteWay.GoBack => MotorGoBackDissolvePort(args.NodeId, 5), WriteWay.Speed => MotorSpeed(args.NodeId, args.Distance), WriteWay.AcSpeed => MotorAcSpeed(args.NodeId, args.Distance), WriteWay.DeSpeed => MotorDeSpeed(args.NodeId, args.Distance), _ => throw new ArgumentNullException(args.WriteWay.GetEnumDesc()) }; return res; } } }